<?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>122566</bug_id>
          
          <creation_ts>2013-10-09 12:44:24 -0700</creation_ts>
          <short_desc>FTL: Soft-link LLVM as a workaround for LLVM&apos;s static initializers and exit-time destructors</short_desc>
          <delta_ts>2013-10-10 15:17:52 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>JavaScriptCore</component>
          <version>528+ (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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>112840</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Filip Pizlo">fpizlo</reporter>
          <assigned_to name="Filip Pizlo">fpizlo</assigned_to>
          <cc>atrick</cc>
    
    <cc>barraclough</cc>
    
    <cc>benjamin</cc>
    
    <cc>buildbot</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>commit-queue</cc>
    
    <cc>eflews.bot</cc>
    
    <cc>ggaren</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>mark.lam</cc>
    
    <cc>mhahnenberg</cc>
    
    <cc>mrowe</cc>
    
    <cc>msaboff</cc>
    
    <cc>nrotem</cc>
    
    <cc>oliver</cc>
    
    <cc>philn</cc>
    
    <cc>rego+ews</cc>
    
    <cc>rniwa</cc>
    
    <cc>sam</cc>
    
    <cc>xan.lopez</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>938023</commentid>
    <comment_count>0</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2013-10-09 12:44:24 -0700</bug_when>
    <thetext>Patch forthcoming.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>938024</commentid>
    <comment_count>1</comment_count>
      <attachid>213799</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2013-10-09 12:45:06 -0700</bug_when>
    <thetext>Created attachment 213799
work in progress</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>938123</commentid>
    <comment_count>2</comment_count>
      <attachid>213829</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2013-10-09 16:14:20 -0700</bug_when>
    <thetext>Created attachment 213829
almost done</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>938133</commentid>
    <comment_count>3</comment_count>
      <attachid>213834</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2013-10-09 16:51:43 -0700</bug_when>
    <thetext>Created attachment 213834
the patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>938134</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-10-09 16:53:50 -0700</bug_when>
    <thetext>Attachment 213834 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/JavaScriptCore/ChangeLog&apos;, u&apos;Source/JavaScriptCore/Configurations/JavaScriptCore.xcconfig&apos;, u&apos;Source/JavaScriptCore/Configurations/LLVMForJSC.xcconfig&apos;, u&apos;Source/JavaScriptCore/JavaScriptCore.xcodeproj/project.pbxproj&apos;, u&apos;Source/JavaScriptCore/config.h&apos;, u&apos;Source/JavaScriptCore/dfg/DFGPlan.cpp&apos;, u&apos;Source/JavaScriptCore/disassembler/LLVMDisassembler.cpp&apos;, u&apos;Source/JavaScriptCore/ftl/FTLAbbreviatedTypes.h&apos;, u&apos;Source/JavaScriptCore/ftl/FTLAbbreviations.h&apos;, u&apos;Source/JavaScriptCore/ftl/FTLCompile.cpp&apos;, u&apos;Source/JavaScriptCore/ftl/FTLFail.cpp&apos;, u&apos;Source/JavaScriptCore/ftl/FTLJITCode.h&apos;, u&apos;Source/JavaScriptCore/ftl/FTLJITFinalizer.h&apos;, u&apos;Source/JavaScriptCore/ftl/FTLLink.cpp&apos;, u&apos;Source/JavaScriptCore/ftl/FTLLowerDFGToLLVM.cpp&apos;, u&apos;Source/JavaScriptCore/ftl/FTLOutput.cpp&apos;, u&apos;Source/JavaScriptCore/ftl/FTLOutput.h&apos;, u&apos;Source/JavaScriptCore/ftl/FTLState.cpp&apos;, u&apos;Source/JavaScriptCore/ftl/WebKitLLVMLibraryAnchor.cpp&apos;, u&apos;Source/JavaScriptCore/jsc.cpp&apos;, u&apos;Source/JavaScriptCore/llvm/InitializeLLVM.cpp&apos;, u&apos;Source/JavaScriptCore/llvm/InitializeLLVM.h&apos;, u&apos;Source/JavaScriptCore/llvm/InitializeLLVMMac.mm&apos;, u&apos;Source/JavaScriptCore/llvm/InitializeLLVMPOSIX.cpp&apos;, u&apos;Source/JavaScriptCore/llvm/InitializeLLVMPOSIX.h&apos;, u&apos;Source/JavaScriptCore/llvm/LLVMAPI.cpp&apos;, u&apos;Source/JavaScriptCore/llvm/LLVMAPI.h&apos;, u&apos;Source/JavaScriptCore/llvm/LLVMAPIFunctions.h&apos;, u&apos;Source/JavaScriptCore/llvm/LLVMHeaders.h&apos;, u&apos;Source/JavaScriptCore/llvm/library/LLVMAnchor.cpp&apos;, u&apos;Source/JavaScriptCore/llvm/library/LLVMExports.cpp&apos;, u&apos;Source/JavaScriptCore/llvm/library/LLVMOverrides.cpp&apos;, u&apos;Source/JavaScriptCore/runtime/InitializeThreading.cpp&apos;, u&apos;Source/JavaScriptCore/runtime/Options.h&apos;, u&apos;Source/WTF/ChangeLog&apos;, u&apos;Source/WTF/WTF.xcodeproj/project.pbxproj&apos;, u&apos;Source/WTF/wtf/LLVMHeaders.h&apos;, u&apos;Source/WTF/wtf/text/CString.h&apos;]&quot; exit_code: 1
Source/JavaScriptCore/llvm/LLVMAPI.h:36:  Extra space before ( in function call  [whitespace/parens] [4]
Source/JavaScriptCore/llvm/LLVMAPIFunctions.h:125:  Extra space after ( in function call  [whitespace/parens] [4]
Source/JavaScriptCore/llvm/LLVMAPIFunctions.h:126:  Extra space after ( in function call  [whitespace/parens] [4]
Source/JavaScriptCore/llvm/LLVMAPIFunctions.h:127:  Extra space after ( in function call  [whitespace/parens] [4]
Source/JavaScriptCore/llvm/LLVMAPIFunctions.h:128:  Extra space after ( in function call  [whitespace/parens] [4]
Source/JavaScriptCore/llvm/LLVMAPIFunctions.h:129:  Extra space after ( in function call  [whitespace/parens] [4]
Source/JavaScriptCore/llvm/LLVMAPIFunctions.h:130:  Extra space after ( in function call  [whitespace/parens] [4]
Source/JavaScriptCore/llvm/LLVMAPIFunctions.h:131:  Extra space after ( in function call  [whitespace/parens] [4]
Source/JavaScriptCore/llvm/LLVMAPIFunctions.h:132:  Extra space after ( in function call  [whitespace/parens] [4]
Source/JavaScriptCore/llvm/LLVMAPIFunctions.h:133:  Extra space after ( in function call  [whitespace/parens] [4]
Source/JavaScriptCore/llvm/LLVMAPIFunctions.h:134:  Extra space after ( in function call  [whitespace/parens] [4]
Source/JavaScriptCore/llvm/LLVMAPIFunctions.h:135:  Extra space after ( in function call  [whitespace/parens] [4]
Source/JavaScriptCore/llvm/LLVMAPIFunctions.h:136:  Extra space after ( in function call  [whitespace/parens] [4]
Source/JavaScriptCore/llvm/LLVMAPIFunctions.h:137:  Extra space after ( in function call  [whitespace/parens] [4]
Source/JavaScriptCore/llvm/LLVMAPIFunctions.h:138:  Extra space after ( in function call  [whitespace/parens] [4]
Source/JavaScriptCore/llvm/LLVMAPIFunctions.h:139:  Extra space after ( in function call  [whitespace/parens] [4]
Source/JavaScriptCore/llvm/LLVMAPIFunctions.h:140:  Extra space after ( in function call  [whitespace/parens] [4]
Source/JavaScriptCore/llvm/LLVMAPIFunctions.h:141:  Extra space after ( in function call  [whitespace/parens] [4]
Source/JavaScriptCore/llvm/LLVMAPIFunctions.h:142:  Extra space after ( in function call  [whitespace/parens] [4]
Source/JavaScriptCore/llvm/LLVMAPIFunctions.h:143:  Extra space after ( in function call  [whitespace/parens] [4]
Source/JavaScriptCore/llvm/LLVMAPIFunctions.h:144:  Extra space after ( in function call  [whitespace/parens] [4]
Source/JavaScriptCore/llvm/LLVMAPIFunctions.h:145:  Extra space after ( in function call  [whitespace/parens] [4]
Source/JavaScriptCore/llvm/LLVMAPIFunctions.h:146:  Extra space after ( in function call  [whitespace/parens] [4]
Source/JavaScriptCore/llvm/LLVMAPIFunctions.h:147:  Extra space after ( in function call  [whitespace/parens] [4]
Source/JavaScriptCore/llvm/LLVMAPIFunctions.h:148:  Extra space after ( in function call  [whitespace/parens] [4]
Source/JavaScriptCore/llvm/LLVMAPIFunctions.h:149:  Extra space after ( in function call  [whitespace/parens] [4]
Source/JavaScriptCore/llvm/LLVMAPIFunctions.h:150:  Extra space after ( in function call  [whitespace/parens] [4]
Source/JavaScriptCore/llvm/LLVMAPIFunctions.h:151:  Extra space after ( in function call  [whitespace/parens] [4]
Source/JavaScriptCore/llvm/LLVMAPIFunctions.h:152:  Extra space after ( in function call  [whitespace/parens] [4]
Source/JavaScriptCore/llvm/LLVMAPIFunctions.h:153:  Extra space after ( in function call  [whitespace/parens] [4]
Source/JavaScriptCore/llvm/LLVMAPIFunctions.h:154:  Extra space after ( in function call  [whitespace/parens] [4]
Source/JavaScriptCore/llvm/LLVMAPIFunctions.h:155:  Extra space after ( in function call  [whitespace/parens] [4]
Source/JavaScriptCore/llvm/LLVMAPIFunctions.h:156:  Extra space after ( in function call  [whitespace/parens] [4]
Source/JavaScriptCore/llvm/LLVMAPIFunctions.h:157:  Extra space after ( in function call  [whitespace/parens] [4]
Source/JavaScriptCore/llvm/LLVMAPIFunctions.h:158:  Extra space after ( in function call  [whitespace/parens] [4]
Source/JavaScriptCore/llvm/LLVMAPIFunctions.h:159:  Extra space after ( in function call  [whitespace/parens] [4]
Source/JavaScriptCore/llvm/LLVMAPIFunctions.h:160:  Extra space after ( in function call  [whitespace/parens] [4]
Source/JavaScriptCore/llvm/LLVMAPIFunctions.h:161:  Extra space after ( in function call  [whitespace/parens] [4]
Source/JavaScriptCore/llvm/LLVMAPIFunctions.h:162:  Extra space after ( in function call  [whitespace/parens] [4]
Source/JavaScriptCore/llvm/LLVMAPIFunctions.h:163:  Extra space after ( in function call  [whitespace/parens] [4]
Source/JavaScriptCore/llvm/LLVMAPIFunctions.h:164:  Extra space after ( in function call  [whitespace/parens] [4]
Source/JavaScriptCore/llvm/LLVMAPIFunctions.h:165:  Extra space after ( in function call  [whitespace/parens] [4]
Source/JavaScriptCore/llvm/LLVMAPIFunctions.h:166:  Extra space after ( in function call  [whitespace/parens] [4]
Source/JavaScriptCore/llvm/LLVMAPIFunctions.h:167:  Extra space after ( in function call  [whitespace/parens] [4]
Source/JavaScriptCore/llvm/LLVMAPIFunctions.h:168:  Extra space after ( in function call  [whitespace/parens] [4]
Source/JavaScriptCore/llvm/LLVMAPIFunctions.h:169:  Extra space after ( in function call  [whitespace/parens] [4]
Source/JavaScriptCore/llvm/LLVMAPIFunctions.h:170:  Extra space after ( in function call  [whitespace/parens] [4]
Source/JavaScriptCore/llvm/LLVMAPIFunctions.h:171:  Extra space after ( in function call  [whitespace/parens] [4]
Source/JavaScriptCore/llvm/LLVMAPIFunctions.h:172:  Extra space after ( in function call  [whitespace/parens] [4]
Source/JavaScriptCore/llvm/LLVMAPIFunctions.h:173:  Extra space after ( in function call  [whitespace/parens] [4]
Source/JavaScriptCore/llvm/LLVMAPIFunctions.h:174:  Extra space after ( in function call  [whitespace/parens] [4]
Source/JavaScriptCore/llvm/LLVMAPIFunctions.h:175:  Extra space after ( in function call  [whitespace/parens] [4]
Source/JavaScriptCore/llvm/LLVMAPIFunctions.h:176:  Extra space after ( in function call  [whitespace/parens] [4]
Source/JavaScriptCore/llvm/LLVMAPIFunctions.h:177:  Extra space after ( in function call  [whitespace/parens] [4]
Source/JavaScriptCore/llvm/LLVMAPIFunctions.h:178:  Extra space after ( in function call  [whitespace/parens] [4]
Source/JavaScriptCore/llvm/LLVMAPIFunctions.h:179:  Extra space after ( in function call  [whitespace/parens] [4]
Source/JavaScriptCore/llvm/LLVMAPIFunctions.h:180:  Extra space after ( in function call  [whitespace/parens] [4]
Source/JavaScriptCore/llvm/LLVMAPIFunctions.h:181:  Extra space after ( in function call  [whitespace/parens] [4]
Source/JavaScriptCore/llvm/LLVMAPIFunctions.h:182:  Extra space after ( in function call  [whitespace/parens] [4]
Source/JavaScriptCore/llvm/LLVMAPIFunctions.h:183:  Extra space after ( in function call  [whitespace/parens] [4]
Source/JavaScriptCore/llvm/LLVMAPIFunctions.h:184:  Extra space after ( in function call  [whitespace/parens] [4]
Source/JavaScriptCore/llvm/LLVMAPIFunctions.h:185:  Extra space after ( in function call  [whitespace/parens] [4]
Source/JavaScriptCore/llvm/LLVMAPIFunctions.h:186:  Extra space after ( in function call  [whitespace/parens] [4]
Source/JavaScriptCore/llvm/LLVMAPIFunctions.h:187:  Extra space after ( in function call  [whitespace/parens] [4]
Source/JavaScriptCore/llvm/LLVMAPIFunctions.h:188:  Extra space after ( in function call  [whitespace/parens] [4]
Source/JavaScriptCore/llvm/LLVMAPIFunctions.h:189:  Extra space after ( in function call  [whitespace/parens] [4]
Source/JavaScriptCore/llvm/LLVMAPIFunctions.h:190:  Extra space after ( in function call  [whitespace/parens] [4]
Source/JavaScriptCore/llvm/LLVMAPIFunctions.h:191:  Extra space after ( in function call  [whitespace/parens] [4]
Source/JavaScriptCore/llvm/LLVMAPIFunctions.h:192:  Extra space after ( in function call  [whitespace/parens] [4]
Source/JavaScriptCore/llvm/LLVMAPIFunctions.h:491:  Missing space after ,  [whitespace/comma] [3]
Source/JavaScriptCore/llvm/LLVMAPIFunctions.h:559:  Extra space after (  [whitespace/parens] [2]
Source/JavaScriptCore/llvm/LLVMAPIFunctions.h:560:  Extra space after (  [whitespace/parens] [2]
Source/JavaScriptCore/llvm/LLVMAPIFunctions.h:579:  Extra space after (  [whitespace/parens] [2]
Source/JavaScriptCore/disassembler/LLVMDisassembler.cpp:33:  Alphabetical sorting problem.  [build/include_order] [4]
Source/JavaScriptCore/llvm/LLVMHeaders.h:48:  Alphabetical sorting problem.  [build/include_order] [4]
Total errors found: 75 in 35 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>938135</commentid>
    <comment_count>5</comment_count>
      <attachid>213834</attachid>
    <who name="EFL EWS Bot">eflews.bot</who>
    <bug_when>2013-10-09 17:00:02 -0700</bug_when>
    <thetext>Comment on attachment 213834
the patch

Attachment 213834 did not pass efl-ews (efl):
Output: http://webkit-queues.appspot.com/results/3837028</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>938140</commentid>
    <comment_count>6</comment_count>
      <attachid>213834</attachid>
    <who name="EFL EWS Bot">eflews.bot</who>
    <bug_when>2013-10-09 17:16:13 -0700</bug_when>
    <thetext>Comment on attachment 213834
the patch

Attachment 213834 did not pass efl-wk2-ews (efl-wk2):
Output: http://webkit-queues.appspot.com/results/3836036</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>938141</commentid>
    <comment_count>7</comment_count>
      <attachid>213834</attachid>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2013-10-09 17:20:50 -0700</bug_when>
    <thetext>Comment on attachment 213834
the patch

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

&gt; Source/JavaScriptCore/jsc.cpp:849
&gt; -    RefPtr&lt;VM&gt; vm = VM::create(LargeHeap);
&gt; +    VM* vm = VM::create(LargeHeap).leakRef();

Do we really have to leak the vm?

&gt;&gt; Source/JavaScriptCore/llvm/LLVMAPIFunctions.h:125
&gt;&gt; +    macro( LLVMValueRef , IsABasicBlock, (LLVMValueRef Val)) \
&gt; 
&gt; Extra space after ( in function call  [whitespace/parens] [4]

Please remove these extra spaces, also change &quot; , &quot; to &quot;, &quot;

&gt; Source/JavaScriptCore/llvm/library/LLVMOverrides.cpp:33
&gt; +extern &quot;C&quot; int __cxa_atexit() { return 0; }

mmmm, tasty</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>938142</commentid>
    <comment_count>8</comment_count>
      <attachid>213834</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2013-10-09 17:23:27 -0700</bug_when>
    <thetext>Comment on attachment 213834
the patch

Attachment 213834 did not pass mac-wk2-ews (mac-wk2):
Output: http://webkit-queues.appspot.com/results/3769049</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>938143</commentid>
    <comment_count>9</comment_count>
      <attachid>213834</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2013-10-09 17:26:27 -0700</bug_when>
    <thetext>Comment on attachment 213834
the patch

Attachment 213834 did not pass mac-ews (mac):
Output: http://webkit-queues.appspot.com/results/3836033</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>938147</commentid>
    <comment_count>10</comment_count>
      <attachid>213834</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2013-10-09 17:31:47 -0700</bug_when>
    <thetext>Comment on attachment 213834
the patch

Attachment 213834 did not pass win-ews (win):
Output: http://webkit-queues.appspot.com/results/3835039</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>938148</commentid>
    <comment_count>11</comment_count>
      <attachid>213834</attachid>
    <who name="Mark Rowe (bdash)">mrowe</who>
    <bug_when>2013-10-09 17:32:20 -0700</bug_when>
    <thetext>Comment on attachment 213834
the patch

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

&gt; Source/JavaScriptCore/config.h:57
&gt; +#if defined(__cplusplus) &amp;&amp; !defined(WTF_SUPPRESS_FAST_MALLOC)

Why is the LLVM stuff using this header at all? Can&apos;t it have its own config.h that just pulls in Platform.h if that&apos;s all it needs?

&gt; Source/JavaScriptCore/jsc.cpp:849
&gt; -    RefPtr&lt;VM&gt; vm = VM::create(LargeHeap);
&gt; +    VM* vm = VM::create(LargeHeap).leakRef();

This all looks unrelated to the rest of the patch?

&gt; Source/JavaScriptCore/Configurations/LLVMForJSC.xcconfig:1
&gt; +// Copyright (C) 2009 Apple Inc. All rights reserved.

You&apos;re living in the past!

&gt; Source/JavaScriptCore/Configurations/LLVMForJSC.xcconfig:40
&gt; +HEADER_SEARCH_PATHS = &quot;${BUILT_PRODUCTS_DIR}/DerivedSources/JavaScriptCore&quot; $(HEADER_SEARCH_PATHS);

Why is it necessary to have DerivedSources/JavaScriptCore on the header search path? If it is truly necessary, BUILT_PRODUCTS_DIR should be referenced using $() rather than ${}.

&gt; Source/JavaScriptCore/Configurations/LLVMForJSC.xcconfig:42
&gt; +PRODUCT_NAME = libllvmForJSC;

The product name should be just llvmForJSC. Settting EXECUTABLE_PREFIX set to &quot;lib&quot; will result in the binary having the correct name.

&gt; Source/JavaScriptCore/JavaScriptCore.xcodeproj/project.pbxproj:4853
&gt; +			shellScript = &quot;if [[ $ENABLE_FTL_JIT != \&quot;ENABLE_FTL_JIT\&quot; ]]\nthen\n    exit 0\nfi\n\n# Copy the llvmForJSC library into the framework.\nditto \&quot;${BUILT_PRODUCTS_DIR}/libllvmForJSC.dylib\&quot; \&quot;${BUILT_PRODUCTS_DIR}/JavaScriptCore.framework/Versions/A/Libraries/libllvmForJSC.dylib\&quot;\nln -fs \&quot;${BUILT_PRODUCTS_DIR}/JavaScriptCore.framework/Versions/A/Libraries\&quot; \&quot;${BUILT_PRODUCTS_DIR}/JavaScriptCore.framework/Libraries\&quot;&quot;;

The symlink should point to Versions/Current rather than Versions/A.  The destination of the symlink should also be a relative path rather than an absolute one. You can also take advantage of Xcode configuration settings like CONTENTS_FOLDER_PATH and WRAPPER_NAME to avoid hard-coding JavaScriptCore.framework/Versions/A and JavaScriptCore.framework in the script.

It may also be worth skipping the symlink step when SHALLOW_BUNDLE is equal to YES, since in that case the Versions hierarchy isn&apos;t used.

&gt; Source/JavaScriptCore/llvm/InitializeLLVM.cpp:31
&gt; +#include &lt;wtf/Threading.h&gt;

It doesn&apos;t look like you use anything from wtf/Threading.h.

&gt; Source/JavaScriptCore/llvm/InitializeLLVMMac.mm:34
&gt; +#import &lt;wtf/DataLog.h&gt;
&gt; +#import &lt;wtf/StringPrintStream.h&gt;

These don&apos;t seem necessary.

&gt; Source/JavaScriptCore/llvm/InitializeLLVMMac.mm:37
&gt; +@interface JSCLLVMDummy : NSObject

I&apos;d name this something like JavaScriptCoreBundleFinder to follow WebCore&apos;s lead.

&gt; Source/JavaScriptCore/llvm/InitializeLLVMMac.mm:41
&gt; +@implementation JSCLLVMDummy {
&gt; +}

These braces are not necessary.

&gt; Source/JavaScriptCore/llvm/InitializeLLVMMac.mm:51
&gt; +    NSBundle* myBundle = [NSBundle bundleForClass:[JSCLLVMDummy class]];
&gt; +    NSString* path = [myBundle bundlePath];
&gt; +    
&gt; +    initializeLLVMPOSIX(toCString([path UTF8String], &quot;/Libraries/libllvmForJSC.dylib&quot;).data());

Your *&apos;s are in the wrong place for Objective-C types. It seems weird to bother with toCString here when you could just build up the entire path as an NSString:

NSString *bundle = [NSBundle bundleForClass:[JavaScriptCoreBundleFinder class]];
NSString *path = [[bundle bundlePath] stringByAppendingPathComponent:@&quot;Libraries/libllvmForJSC.dylib&quot;];

initializeLLVMPOSIX([path UTF8String]);

&gt; Source/JavaScriptCore/llvm/InitializeLLVMPOSIX.cpp:44
&gt; +    InitializerFunction initializer = bitwise_cast&lt;InitializerFunction&gt;(
&gt; +        dlsym(library, &quot;initializeAndGetJSCLLVMAPI&quot;));

I&apos;m not sure it&apos;s necessary to wrap things like this. I think you&apos;ve been staring at LLVM code for too long :)

&gt; Source/JavaScriptCore/llvm/LLVMAPIFunctions.h:31
&gt; +#define FOR_EACH_LLVM_API_FUNCTION(macro) \

There are a lot of style issues pointed out by the style checker that it&apos;d be good to address.

&gt; Source/JavaScriptCore/llvm/LLVMHeaders.h:37
&gt; +#undef __STDC_LIMIT_MACROS
&gt; +#undef __STDC_CONSTANT_MACROS
&gt; +#define __STDC_LIMIT_MACROS
&gt; +#define __STDC_CONSTANT_MACROS

Should we be resetting these macros to their original state at the end of the header?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>938177</commentid>
    <comment_count>12</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2013-10-09 19:32:43 -0700</bug_when>
    <thetext>(In reply to comment #11)
&gt; (From update of attachment 213834 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=213834&amp;action=review
&gt; 
&gt; &gt; Source/JavaScriptCore/config.h:57
&gt; &gt; +#if defined(__cplusplus) &amp;&amp; !defined(WTF_SUPPRESS_FAST_MALLOC)
&gt; 
&gt; Why is the LLVM stuff using this header at all? Can&apos;t it have its own config.h that just pulls in Platform.h if that&apos;s all it needs?

I&apos;ll create a config_llvm.h.

&gt; 
&gt; &gt; Source/JavaScriptCore/jsc.cpp:849
&gt; &gt; -    RefPtr&lt;VM&gt; vm = VM::create(LargeHeap);
&gt; &gt; +    VM* vm = VM::create(LargeHeap).leakRef();
&gt; 
&gt; This all looks unrelated to the rest of the patch?

It&apos;s related.  The jsc command-line normally works the way that this patch makes it work: it leaks a VM.  We changed it to not leak a VM to work around exit-time destructors on LLVM: we would force a tidy VM shutdown to ensure that the FTL compiler thread wasn&apos;t running while LLVM&apos;s exit-time destructors ran.

This patch fixes exit-time destructors and static initializers in LLVM by doing soft linking.  Hence we can get rid of the hack in jsc.

&gt; 
&gt; &gt; Source/JavaScriptCore/Configurations/LLVMForJSC.xcconfig:1
&gt; &gt; +// Copyright (C) 2009 Apple Inc. All rights reserved.
&gt; 
&gt; You&apos;re living in the past!

Oops.

&gt; 
&gt; &gt; Source/JavaScriptCore/Configurations/LLVMForJSC.xcconfig:40
&gt; &gt; +HEADER_SEARCH_PATHS = &quot;${BUILT_PRODUCTS_DIR}/DerivedSources/JavaScriptCore&quot; $(HEADER_SEARCH_PATHS);
&gt; 
&gt; Why is it necessary to have DerivedSources/JavaScriptCore on the header search path? If it is truly necessary, BUILT_PRODUCTS_DIR should be referenced using $() rather than ${}.

It is necessary because JavaScriptCore.framework and llvmForJSC.dylib share the LLVMAPI.h, LLVMAPIFunctions.h, and LLVMHeaders.h files.

As for using $() versus ${}, I was just doing what the other xcconfig&apos;s do.

&gt; 
&gt; &gt; Source/JavaScriptCore/Configurations/LLVMForJSC.xcconfig:42
&gt; &gt; +PRODUCT_NAME = libllvmForJSC;
&gt; 
&gt; The product name should be just llvmForJSC. Settting EXECUTABLE_PREFIX set to &quot;lib&quot; will result in the binary having the correct name.

Interesting.  Xcode&apos;s default build settings used PRODUCT_NAME=libllvmForJSC, hence that&apos;s what I did here!  I can change to what you suggest, though.

&gt; 
&gt; &gt; Source/JavaScriptCore/JavaScriptCore.xcodeproj/project.pbxproj:4853
&gt; &gt; +			shellScript = &quot;if [[ $ENABLE_FTL_JIT != \&quot;ENABLE_FTL_JIT\&quot; ]]\nthen\n    exit 0\nfi\n\n# Copy the llvmForJSC library into the framework.\nditto \&quot;${BUILT_PRODUCTS_DIR}/libllvmForJSC.dylib\&quot; \&quot;${BUILT_PRODUCTS_DIR}/JavaScriptCore.framework/Versions/A/Libraries/libllvmForJSC.dylib\&quot;\nln -fs \&quot;${BUILT_PRODUCTS_DIR}/JavaScriptCore.framework/Versions/A/Libraries\&quot; \&quot;${BUILT_PRODUCTS_DIR}/JavaScriptCore.framework/Libraries\&quot;&quot;;
&gt; 
&gt; The symlink should point to Versions/Current rather than Versions/A.  The destination of the symlink should also be a relative path rather than an absolute one. You can also take advantage of Xcode configuration settings like CONTENTS_FOLDER_PATH and WRAPPER_NAME to avoid hard-coding JavaScriptCore.framework/Versions/A and JavaScriptCore.framework in the script.

OK, I&apos;ll investigate this.

&gt; 
&gt; It may also be worth skipping the symlink step when SHALLOW_BUNDLE is equal to YES, since in that case the Versions hierarchy isn&apos;t used.

Hmmm, that&apos;s an iOS only thing, right?  Seems best to skip this until we are building on iOS and can actually test it.

&gt; 
&gt; &gt; Source/JavaScriptCore/llvm/InitializeLLVM.cpp:31
&gt; &gt; +#include &lt;wtf/Threading.h&gt;
&gt; 
&gt; It doesn&apos;t look like you use anything from wtf/Threading.h.

pthread_once().

&gt; 
&gt; &gt; Source/JavaScriptCore/llvm/InitializeLLVMMac.mm:34
&gt; &gt; +#import &lt;wtf/DataLog.h&gt;
&gt; &gt; +#import &lt;wtf/StringPrintStream.h&gt;
&gt; 
&gt; These don&apos;t seem necessary.

StringPrintStream gives you toCString(), which this uses.  But I&apos;ll follow your suggestion and use NSString&apos;s APIs.

&gt; 
&gt; &gt; Source/JavaScriptCore/llvm/InitializeLLVMMac.mm:37
&gt; &gt; +@interface JSCLLVMDummy : NSObject
&gt; 
&gt; I&apos;d name this something like JavaScriptCoreBundleFinder to follow WebCore&apos;s lead.

OK.

&gt; 
&gt; &gt; Source/JavaScriptCore/llvm/InitializeLLVMMac.mm:41
&gt; &gt; +@implementation JSCLLVMDummy {
&gt; &gt; +}
&gt; 
&gt; These braces are not necessary.

Ok, I&apos;ll change it to:

@implementation Blah
@end

For appropriate &lt;Blah&gt;.

&gt; 
&gt; &gt; Source/JavaScriptCore/llvm/InitializeLLVMMac.mm:51
&gt; &gt; +    NSBundle* myBundle = [NSBundle bundleForClass:[JSCLLVMDummy class]];
&gt; &gt; +    NSString* path = [myBundle bundlePath];
&gt; &gt; +    
&gt; &gt; +    initializeLLVMPOSIX(toCString([path UTF8String], &quot;/Libraries/libllvmForJSC.dylib&quot;).data());
&gt; 
&gt; Your *&apos;s are in the wrong place for Objective-C types. It seems weird to bother with toCString here when you could just build up the entire path as an NSString:
&gt; 
&gt; NSString *bundle = [NSBundle bundleForClass:[JavaScriptCoreBundleFinder class]];
&gt; NSString *path = [[bundle bundlePath] stringByAppendingPathComponent:@&quot;Libraries/libllvmForJSC.dylib&quot;];
&gt; 
&gt; initializeLLVMPOSIX([path UTF8String]);

Groovy, I&apos;ll do that.

&gt; 
&gt; &gt; Source/JavaScriptCore/llvm/InitializeLLVMPOSIX.cpp:44
&gt; &gt; +    InitializerFunction initializer = bitwise_cast&lt;InitializerFunction&gt;(
&gt; &gt; +        dlsym(library, &quot;initializeAndGetJSCLLVMAPI&quot;));
&gt; 
&gt; I&apos;m not sure it&apos;s necessary to wrap things like this. I think you&apos;ve been staring at LLVM code for too long :)

I always wrap things because that&apos;s just how I roll.

&gt; 
&gt; &gt; Source/JavaScriptCore/llvm/LLVMAPIFunctions.h:31
&gt; &gt; +#define FOR_EACH_LLVM_API_FUNCTION(macro) \
&gt; 
&gt; There are a lot of style issues pointed out by the style checker that it&apos;d be good to address.

:-/

This part was auto-generated.  I&apos;ll address most of the issues but I&apos;m not sure to what extent it&apos;s worthwhile to be strict about this.  For example, LLVM uses a different parameter naming convention than we do and for this part it makes sense to just follow what the LLVM headers actually did rather than forcing WebKit convention.

&gt; 
&gt; &gt; Source/JavaScriptCore/llvm/LLVMHeaders.h:37
&gt; &gt; +#undef __STDC_LIMIT_MACROS
&gt; &gt; +#undef __STDC_CONSTANT_MACROS
&gt; &gt; +#define __STDC_LIMIT_MACROS
&gt; &gt; +#define __STDC_CONSTANT_MACROS
&gt; 
&gt; Should we be resetting these macros to their original state at the end of the header?

That&apos;s not a bad idea.  OTOH, these macros just mean that you get more C-isms; we don&apos;t use those C-isms (like INT64_C(...)) but having them defined doesn&apos;t actually hurt.  OTOH, I wouldn&apos;t mind having those C-isms available in WebKit; I&apos;ve definitely written some terrible code in the past just to get the equivalent of the C limit macros.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>938179</commentid>
    <comment_count>13</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2013-10-09 20:00:42 -0700</bug_when>
    <thetext>About to upload a new patch, comments below indicating what I fixed or didn&apos;t fix.

(In reply to comment #12)
&gt; (In reply to comment #11)
&gt; &gt; (From update of attachment 213834 [details] [details])
&gt; &gt; View in context: https://bugs.webkit.org/attachment.cgi?id=213834&amp;action=review
&gt; &gt; 
&gt; &gt; &gt; Source/JavaScriptCore/config.h:57
&gt; &gt; &gt; +#if defined(__cplusplus) &amp;&amp; !defined(WTF_SUPPRESS_FAST_MALLOC)
&gt; &gt; 
&gt; &gt; Why is the LLVM stuff using this header at all? Can&apos;t it have its own config.h that just pulls in Platform.h if that&apos;s all it needs?
&gt; 
&gt; I&apos;ll create a config_llvm.h.

Fixed.

&gt; 
&gt; &gt; 
&gt; &gt; &gt; Source/JavaScriptCore/jsc.cpp:849
&gt; &gt; &gt; -    RefPtr&lt;VM&gt; vm = VM::create(LargeHeap);
&gt; &gt; &gt; +    VM* vm = VM::create(LargeHeap).leakRef();
&gt; &gt; 
&gt; &gt; This all looks unrelated to the rest of the patch?
&gt; 
&gt; It&apos;s related.  The jsc command-line normally works the way that this patch makes it work: it leaks a VM.  We changed it to not leak a VM to work around exit-time destructors on LLVM: we would force a tidy VM shutdown to ensure that the FTL compiler thread wasn&apos;t running while LLVM&apos;s exit-time destructors ran.
&gt; 
&gt; This patch fixes exit-time destructors and static initializers in LLVM by doing soft linking.  Hence we can get rid of the hack in jsc.

I kept this.  It&apos;s related.

&gt; 
&gt; &gt; 
&gt; &gt; &gt; Source/JavaScriptCore/Configurations/LLVMForJSC.xcconfig:1
&gt; &gt; &gt; +// Copyright (C) 2009 Apple Inc. All rights reserved.
&gt; &gt; 
&gt; &gt; You&apos;re living in the past!
&gt; 
&gt; Oops.

Fixed.

&gt; 
&gt; &gt; 
&gt; &gt; &gt; Source/JavaScriptCore/Configurations/LLVMForJSC.xcconfig:40
&gt; &gt; &gt; +HEADER_SEARCH_PATHS = &quot;${BUILT_PRODUCTS_DIR}/DerivedSources/JavaScriptCore&quot; $(HEADER_SEARCH_PATHS);
&gt; &gt; 
&gt; &gt; Why is it necessary to have DerivedSources/JavaScriptCore on the header search path? If it is truly necessary, BUILT_PRODUCTS_DIR should be referenced using $() rather than ${}.
&gt; 
&gt; It is necessary because JavaScriptCore.framework and llvmForJSC.dylib share the LLVMAPI.h, LLVMAPIFunctions.h, and LLVMHeaders.h files.
&gt; 
&gt; As for using $() versus ${}, I was just doing what the other xcconfig&apos;s do.

Changed to use $().  There are still a bunch of places where our xcconfig&apos;s use ${}; I&apos;m not sure I understand what the difference is or which of those we should change.

&gt; 
&gt; &gt; 
&gt; &gt; &gt; Source/JavaScriptCore/Configurations/LLVMForJSC.xcconfig:42
&gt; &gt; &gt; +PRODUCT_NAME = libllvmForJSC;
&gt; &gt; 
&gt; &gt; The product name should be just llvmForJSC. Settting EXECUTABLE_PREFIX set to &quot;lib&quot; will result in the binary having the correct name.
&gt; 
&gt; Interesting.  Xcode&apos;s default build settings used PRODUCT_NAME=libllvmForJSC, hence that&apos;s what I did here!  I can change to what you suggest, though.

Fixed.

&gt; 
&gt; &gt; 
&gt; &gt; &gt; Source/JavaScriptCore/JavaScriptCore.xcodeproj/project.pbxproj:4853
&gt; &gt; &gt; +			shellScript = &quot;if [[ $ENABLE_FTL_JIT != \&quot;ENABLE_FTL_JIT\&quot; ]]\nthen\n    exit 0\nfi\n\n# Copy the llvmForJSC library into the framework.\nditto \&quot;${BUILT_PRODUCTS_DIR}/libllvmForJSC.dylib\&quot; \&quot;${BUILT_PRODUCTS_DIR}/JavaScriptCore.framework/Versions/A/Libraries/libllvmForJSC.dylib\&quot;\nln -fs \&quot;${BUILT_PRODUCTS_DIR}/JavaScriptCore.framework/Versions/A/Libraries\&quot; \&quot;${BUILT_PRODUCTS_DIR}/JavaScriptCore.framework/Libraries\&quot;&quot;;
&gt; &gt; 
&gt; &gt; The symlink should point to Versions/Current rather than Versions/A.  The destination of the symlink should also be a relative path rather than an absolute one. You can also take advantage of Xcode configuration settings like CONTENTS_FOLDER_PATH and WRAPPER_NAME to avoid hard-coding JavaScriptCore.framework/Versions/A and JavaScriptCore.framework in the script.
&gt; 
&gt; OK, I&apos;ll investigate this.

Fixed.

&gt; 
&gt; &gt; 
&gt; &gt; It may also be worth skipping the symlink step when SHALLOW_BUNDLE is equal to YES, since in that case the Versions hierarchy isn&apos;t used.
&gt; 
&gt; Hmmm, that&apos;s an iOS only thing, right?  Seems best to skip this until we are building on iOS and can actually test it.

I didn&apos;t do anything about this because I don&apos;t see how to test it right now.

&gt; 
&gt; &gt; 
&gt; &gt; &gt; Source/JavaScriptCore/llvm/InitializeLLVM.cpp:31
&gt; &gt; &gt; +#include &lt;wtf/Threading.h&gt;
&gt; &gt; 
&gt; &gt; It doesn&apos;t look like you use anything from wtf/Threading.h.
&gt; 
&gt; pthread_once().

Kept this the same.

&gt; 
&gt; &gt; 
&gt; &gt; &gt; Source/JavaScriptCore/llvm/InitializeLLVMMac.mm:34
&gt; &gt; &gt; +#import &lt;wtf/DataLog.h&gt;
&gt; &gt; &gt; +#import &lt;wtf/StringPrintStream.h&gt;
&gt; &gt; 
&gt; &gt; These don&apos;t seem necessary.
&gt; 
&gt; StringPrintStream gives you toCString(), which this uses.  But I&apos;ll follow your suggestion and use NSString&apos;s APIs.

Fixed.

&gt; 
&gt; &gt; 
&gt; &gt; &gt; Source/JavaScriptCore/llvm/InitializeLLVMMac.mm:37
&gt; &gt; &gt; +@interface JSCLLVMDummy : NSObject
&gt; &gt; 
&gt; &gt; I&apos;d name this something like JavaScriptCoreBundleFinder to follow WebCore&apos;s lead.
&gt; 
&gt; OK.

Changed it to JSJavaScriptCoreBundleFinder.  There&apos;s some script that checks for the JS prefix in all ObjC classes in JSC.framework, so I decided to appease that script.

&gt; 
&gt; &gt; 
&gt; &gt; &gt; Source/JavaScriptCore/llvm/InitializeLLVMMac.mm:41
&gt; &gt; &gt; +@implementation JSCLLVMDummy {
&gt; &gt; &gt; +}
&gt; &gt; 
&gt; &gt; These braces are not necessary.
&gt; 
&gt; Ok, I&apos;ll change it to:
&gt; 
&gt; @implementation Blah
&gt; @end
&gt; 
&gt; For appropriate &lt;Blah&gt;.

Fixed.

&gt; 
&gt; &gt; 
&gt; &gt; &gt; Source/JavaScriptCore/llvm/InitializeLLVMMac.mm:51
&gt; &gt; &gt; +    NSBundle* myBundle = [NSBundle bundleForClass:[JSCLLVMDummy class]];
&gt; &gt; &gt; +    NSString* path = [myBundle bundlePath];
&gt; &gt; &gt; +    
&gt; &gt; &gt; +    initializeLLVMPOSIX(toCString([path UTF8String], &quot;/Libraries/libllvmForJSC.dylib&quot;).data());
&gt; &gt; 
&gt; &gt; Your *&apos;s are in the wrong place for Objective-C types. It seems weird to bother with toCString here when you could just build up the entire path as an NSString:

Fixed.

&gt; &gt; 
&gt; &gt; NSString *bundle = [NSBundle bundleForClass:[JavaScriptCoreBundleFinder class]];
&gt; &gt; NSString *path = [[bundle bundlePath] stringByAppendingPathComponent:@&quot;Libraries/libllvmForJSC.dylib&quot;];
&gt; &gt; 
&gt; &gt; initializeLLVMPOSIX([path UTF8String]);
&gt; 
&gt; Groovy, I&apos;ll do that.

Fixed.

&gt; 
&gt; &gt; 
&gt; &gt; &gt; Source/JavaScriptCore/llvm/InitializeLLVMPOSIX.cpp:44
&gt; &gt; &gt; +    InitializerFunction initializer = bitwise_cast&lt;InitializerFunction&gt;(
&gt; &gt; &gt; +        dlsym(library, &quot;initializeAndGetJSCLLVMAPI&quot;));
&gt; &gt; 
&gt; &gt; I&apos;m not sure it&apos;s necessary to wrap things like this. I think you&apos;ve been staring at LLVM code for too long :)
&gt; 
&gt; I always wrap things because that&apos;s just how I roll.

Kept it as is.

&gt; 
&gt; &gt; 
&gt; &gt; &gt; Source/JavaScriptCore/llvm/LLVMAPIFunctions.h:31
&gt; &gt; &gt; +#define FOR_EACH_LLVM_API_FUNCTION(macro) \
&gt; &gt; 
&gt; &gt; There are a lot of style issues pointed out by the style checker that it&apos;d be good to address.
&gt; 
&gt; :-/
&gt; 
&gt; This part was auto-generated.  I&apos;ll address most of the issues but I&apos;m not sure to what extent it&apos;s worthwhile to be strict about this.  For example, LLVM uses a different parameter naming convention than we do and for this part it makes sense to just follow what the LLVM headers actually did rather than forcing WebKit convention.

Took care of obvious style faux pas but that list continues to use LLVM style conventions for these LLVM signatures.  I think it&apos;s the best way to go.

&gt; 
&gt; &gt; 
&gt; &gt; &gt; Source/JavaScriptCore/llvm/LLVMHeaders.h:37
&gt; &gt; &gt; +#undef __STDC_LIMIT_MACROS
&gt; &gt; &gt; +#undef __STDC_CONSTANT_MACROS
&gt; &gt; &gt; +#define __STDC_LIMIT_MACROS
&gt; &gt; &gt; +#define __STDC_CONSTANT_MACROS
&gt; &gt; 
&gt; &gt; Should we be resetting these macros to their original state at the end of the header?
&gt; 
&gt; That&apos;s not a bad idea.  OTOH, these macros just mean that you get more C-isms; we don&apos;t use those C-isms (like INT64_C(...)) but having them defined doesn&apos;t actually hurt.  OTOH, I wouldn&apos;t mind having those C-isms available in WebKit; I&apos;ve definitely written some terrible code in the past just to get the equivalent of the C limit macros.

Put some #undef&apos;s in there.  Also removed the #undef&apos;s at the top since it would be a bug for WebKit to have already defined those macros.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>938180</commentid>
    <comment_count>14</comment_count>
      <attachid>213842</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2013-10-09 20:03:28 -0700</bug_when>
    <thetext>Created attachment 213842
the patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>938181</commentid>
    <comment_count>15</comment_count>
      <attachid>213843</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2013-10-09 20:04:53 -0700</bug_when>
    <thetext>Created attachment 213843
the patch

Fix more style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>938182</commentid>
    <comment_count>16</comment_count>
      <attachid>213843</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2013-10-09 20:05:44 -0700</bug_when>
    <thetext>Comment on attachment 213843
the patch

Never mind, this still needs some love.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>938183</commentid>
    <comment_count>17</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-10-09 20:06:03 -0700</bug_when>
    <thetext>Attachment 213843 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/JavaScriptCore/ChangeLog&apos;, u&apos;Source/JavaScriptCore/Configurations/JavaScriptCore.xcconfig&apos;, u&apos;Source/JavaScriptCore/Configurations/LLVMForJSC.xcconfig&apos;, u&apos;Source/JavaScriptCore/JavaScriptCore.xcodeproj/project.pbxproj&apos;, u&apos;Source/JavaScriptCore/config.h&apos;, u&apos;Source/JavaScriptCore/dfg/DFGPlan.cpp&apos;, u&apos;Source/JavaScriptCore/disassembler/LLVMDisassembler.cpp&apos;, u&apos;Source/JavaScriptCore/ftl/FTLAbbreviatedTypes.h&apos;, u&apos;Source/JavaScriptCore/ftl/FTLAbbreviations.h&apos;, u&apos;Source/JavaScriptCore/ftl/FTLCompile.cpp&apos;, u&apos;Source/JavaScriptCore/ftl/FTLFail.cpp&apos;, u&apos;Source/JavaScriptCore/ftl/FTLJITCode.h&apos;, u&apos;Source/JavaScriptCore/ftl/FTLJITFinalizer.h&apos;, u&apos;Source/JavaScriptCore/ftl/FTLLink.cpp&apos;, u&apos;Source/JavaScriptCore/ftl/FTLLowerDFGToLLVM.cpp&apos;, u&apos;Source/JavaScriptCore/ftl/FTLOutput.cpp&apos;, u&apos;Source/JavaScriptCore/ftl/FTLOutput.h&apos;, u&apos;Source/JavaScriptCore/ftl/FTLState.cpp&apos;, u&apos;Source/JavaScriptCore/ftl/WebKitLLVMLibraryAnchor.cpp&apos;, u&apos;Source/JavaScriptCore/jsc.cpp&apos;, u&apos;Source/JavaScriptCore/llvm/InitializeLLVM.cpp&apos;, u&apos;Source/JavaScriptCore/llvm/InitializeLLVM.h&apos;, u&apos;Source/JavaScriptCore/llvm/InitializeLLVMMac.mm&apos;, u&apos;Source/JavaScriptCore/llvm/InitializeLLVMPOSIX.cpp&apos;, u&apos;Source/JavaScriptCore/llvm/InitializeLLVMPOSIX.h&apos;, u&apos;Source/JavaScriptCore/llvm/LLVMAPI.cpp&apos;, u&apos;Source/JavaScriptCore/llvm/LLVMAPI.h&apos;, u&apos;Source/JavaScriptCore/llvm/LLVMAPIFunctions.h&apos;, u&apos;Source/JavaScriptCore/llvm/LLVMHeaders.h&apos;, u&apos;Source/JavaScriptCore/llvm/library/LLVMAnchor.cpp&apos;, u&apos;Source/JavaScriptCore/llvm/library/LLVMExports.cpp&apos;, u&apos;Source/JavaScriptCore/llvm/library/LLVMOverrides.cpp&apos;, u&apos;Source/JavaScriptCore/llvm/library/config_llvm.h&apos;, u&apos;Source/JavaScriptCore/runtime/InitializeThreading.cpp&apos;, u&apos;Source/JavaScriptCore/runtime/Options.h&apos;, u&apos;Source/WTF/ChangeLog&apos;, u&apos;Source/WTF/WTF.xcodeproj/project.pbxproj&apos;, u&apos;Source/WTF/wtf/LLVMHeaders.h&apos;, u&apos;Source/WTF/wtf/text/CString.h&apos;]&quot; exit_code: 1
Source/JavaScriptCore/llvm/LLVMAPI.h:36:  Extra space before ( in function call  [whitespace/parens] [4]
Source/JavaScriptCore/llvm/library/config_llvm.h:26:  Alphabetical sorting problem.  [build/include_order] [4]
Source/JavaScriptCore/llvm/LLVMAPIFunctions.h:491:  Missing space after ,  [whitespace/comma] [3]
Total errors found: 3 in 36 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>938184</commentid>
    <comment_count>18</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2013-10-09 20:07:53 -0700</bug_when>
    <thetext>(In reply to comment #7)
&gt; (From update of attachment 213834 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=213834&amp;action=review
&gt; 
&gt; &gt; Source/JavaScriptCore/jsc.cpp:849
&gt; &gt; -    RefPtr&lt;VM&gt; vm = VM::create(LargeHeap);
&gt; &gt; +    VM* vm = VM::create(LargeHeap).leakRef();
&gt; 
&gt; Do we really have to leak the vm?

That&apos;s what the jsc shell used to do before I added a hack to not leak it.  I prefer for the jsc shell to leak the VM since that&apos;s what the browser - and probably most JSC clients - will do.

&gt; 
&gt; &gt;&gt; Source/JavaScriptCore/llvm/LLVMAPIFunctions.h:125
&gt; &gt;&gt; +    macro( LLVMValueRef , IsABasicBlock, (LLVMValueRef Val)) \
&gt; &gt; 
&gt; &gt; Extra space after ( in function call  [whitespace/parens] [4]
&gt; 
&gt; Please remove these extra spaces, also change &quot; , &quot; to &quot;, &quot;
&gt; 
&gt; &gt; Source/JavaScriptCore/llvm/library/LLVMOverrides.cpp:33
&gt; &gt; +extern &quot;C&quot; int __cxa_atexit() { return 0; }
&gt; 
&gt; mmmm, tasty</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>938185</commentid>
    <comment_count>19</comment_count>
      <attachid>213844</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2013-10-09 20:15:41 -0700</bug_when>
    <thetext>Created attachment 213844
the patch

OK, now I think it&apos;s ready.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>938187</commentid>
    <comment_count>20</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-10-09 20:16:57 -0700</bug_when>
    <thetext>Attachment 213844 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/JavaScriptCore/ChangeLog&apos;, u&apos;Source/JavaScriptCore/Configurations/JavaScriptCore.xcconfig&apos;, u&apos;Source/JavaScriptCore/Configurations/LLVMForJSC.xcconfig&apos;, u&apos;Source/JavaScriptCore/JavaScriptCore.xcodeproj/project.pbxproj&apos;, u&apos;Source/JavaScriptCore/dfg/DFGPlan.cpp&apos;, u&apos;Source/JavaScriptCore/disassembler/LLVMDisassembler.cpp&apos;, u&apos;Source/JavaScriptCore/ftl/FTLAbbreviatedTypes.h&apos;, u&apos;Source/JavaScriptCore/ftl/FTLAbbreviations.h&apos;, u&apos;Source/JavaScriptCore/ftl/FTLCompile.cpp&apos;, u&apos;Source/JavaScriptCore/ftl/FTLFail.cpp&apos;, u&apos;Source/JavaScriptCore/ftl/FTLJITCode.h&apos;, u&apos;Source/JavaScriptCore/ftl/FTLJITFinalizer.h&apos;, u&apos;Source/JavaScriptCore/ftl/FTLLink.cpp&apos;, u&apos;Source/JavaScriptCore/ftl/FTLLowerDFGToLLVM.cpp&apos;, u&apos;Source/JavaScriptCore/ftl/FTLOutput.cpp&apos;, u&apos;Source/JavaScriptCore/ftl/FTLOutput.h&apos;, u&apos;Source/JavaScriptCore/ftl/FTLState.cpp&apos;, u&apos;Source/JavaScriptCore/ftl/WebKitLLVMLibraryAnchor.cpp&apos;, u&apos;Source/JavaScriptCore/jsc.cpp&apos;, u&apos;Source/JavaScriptCore/llvm/InitializeLLVM.cpp&apos;, u&apos;Source/JavaScriptCore/llvm/InitializeLLVM.h&apos;, u&apos;Source/JavaScriptCore/llvm/InitializeLLVMMac.mm&apos;, u&apos;Source/JavaScriptCore/llvm/InitializeLLVMPOSIX.cpp&apos;, u&apos;Source/JavaScriptCore/llvm/InitializeLLVMPOSIX.h&apos;, u&apos;Source/JavaScriptCore/llvm/LLVMAPI.cpp&apos;, u&apos;Source/JavaScriptCore/llvm/LLVMAPI.h&apos;, u&apos;Source/JavaScriptCore/llvm/LLVMAPIFunctions.h&apos;, u&apos;Source/JavaScriptCore/llvm/LLVMHeaders.h&apos;, u&apos;Source/JavaScriptCore/llvm/library/LLVMAnchor.cpp&apos;, u&apos;Source/JavaScriptCore/llvm/library/LLVMExports.cpp&apos;, u&apos;Source/JavaScriptCore/llvm/library/LLVMOverrides.cpp&apos;, u&apos;Source/JavaScriptCore/llvm/library/config_llvm.h&apos;, u&apos;Source/JavaScriptCore/runtime/InitializeThreading.cpp&apos;, u&apos;Source/JavaScriptCore/runtime/Options.h&apos;, u&apos;Source/WTF/ChangeLog&apos;, u&apos;Source/WTF/WTF.xcodeproj/project.pbxproj&apos;, u&apos;Source/WTF/wtf/LLVMHeaders.h&apos;, u&apos;Source/WTF/wtf/text/CString.h&apos;]&quot; exit_code: 1
Source/JavaScriptCore/llvm/LLVMAPI.h:40:  Extra space before ( in function call  [whitespace/parens] [4]
Source/JavaScriptCore/llvm/library/config_llvm.h:26:  Alphabetical sorting problem.  [build/include_order] [4]
Total errors found: 2 in 35 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>938189</commentid>
    <comment_count>21</comment_count>
      <attachid>213845</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2013-10-09 20:21:27 -0700</bug_when>
    <thetext>Created attachment 213845
the patch

Fixed a goof in my use of ln -fs.  We were getting a Libraries/Libraries symlink.  This patch won&apos;t create a symlink if Libraries already exists.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>938192</commentid>
    <comment_count>22</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-10-09 20:23:42 -0700</bug_when>
    <thetext>Attachment 213845 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/JavaScriptCore/ChangeLog&apos;, u&apos;Source/JavaScriptCore/Configurations/JavaScriptCore.xcconfig&apos;, u&apos;Source/JavaScriptCore/Configurations/LLVMForJSC.xcconfig&apos;, u&apos;Source/JavaScriptCore/JavaScriptCore.xcodeproj/project.pbxproj&apos;, u&apos;Source/JavaScriptCore/dfg/DFGPlan.cpp&apos;, u&apos;Source/JavaScriptCore/disassembler/LLVMDisassembler.cpp&apos;, u&apos;Source/JavaScriptCore/ftl/FTLAbbreviatedTypes.h&apos;, u&apos;Source/JavaScriptCore/ftl/FTLAbbreviations.h&apos;, u&apos;Source/JavaScriptCore/ftl/FTLCompile.cpp&apos;, u&apos;Source/JavaScriptCore/ftl/FTLFail.cpp&apos;, u&apos;Source/JavaScriptCore/ftl/FTLJITCode.h&apos;, u&apos;Source/JavaScriptCore/ftl/FTLJITFinalizer.h&apos;, u&apos;Source/JavaScriptCore/ftl/FTLLink.cpp&apos;, u&apos;Source/JavaScriptCore/ftl/FTLLowerDFGToLLVM.cpp&apos;, u&apos;Source/JavaScriptCore/ftl/FTLOutput.cpp&apos;, u&apos;Source/JavaScriptCore/ftl/FTLOutput.h&apos;, u&apos;Source/JavaScriptCore/ftl/FTLState.cpp&apos;, u&apos;Source/JavaScriptCore/ftl/WebKitLLVMLibraryAnchor.cpp&apos;, u&apos;Source/JavaScriptCore/jsc.cpp&apos;, u&apos;Source/JavaScriptCore/llvm/InitializeLLVM.cpp&apos;, u&apos;Source/JavaScriptCore/llvm/InitializeLLVM.h&apos;, u&apos;Source/JavaScriptCore/llvm/InitializeLLVMMac.mm&apos;, u&apos;Source/JavaScriptCore/llvm/InitializeLLVMPOSIX.cpp&apos;, u&apos;Source/JavaScriptCore/llvm/InitializeLLVMPOSIX.h&apos;, u&apos;Source/JavaScriptCore/llvm/LLVMAPI.cpp&apos;, u&apos;Source/JavaScriptCore/llvm/LLVMAPI.h&apos;, u&apos;Source/JavaScriptCore/llvm/LLVMAPIFunctions.h&apos;, u&apos;Source/JavaScriptCore/llvm/LLVMHeaders.h&apos;, u&apos;Source/JavaScriptCore/llvm/library/LLVMAnchor.cpp&apos;, u&apos;Source/JavaScriptCore/llvm/library/LLVMExports.cpp&apos;, u&apos;Source/JavaScriptCore/llvm/library/LLVMOverrides.cpp&apos;, u&apos;Source/JavaScriptCore/llvm/library/config_llvm.h&apos;, u&apos;Source/JavaScriptCore/runtime/InitializeThreading.cpp&apos;, u&apos;Source/JavaScriptCore/runtime/Options.h&apos;, u&apos;Source/WTF/ChangeLog&apos;, u&apos;Source/WTF/WTF.xcodeproj/project.pbxproj&apos;, u&apos;Source/WTF/wtf/LLVMHeaders.h&apos;, u&apos;Source/WTF/wtf/text/CString.h&apos;]&quot; exit_code: 1
Source/JavaScriptCore/llvm/LLVMAPI.h:40:  Extra space before ( in function call  [whitespace/parens] [4]
Source/JavaScriptCore/llvm/library/config_llvm.h:26:  Alphabetical sorting problem.  [build/include_order] [4]
Total errors found: 2 in 35 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>938201</commentid>
    <comment_count>23</comment_count>
      <attachid>213845</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2013-10-09 21:01:09 -0700</bug_when>
    <thetext>Comment on attachment 213845
the patch

Attachment 213845 did not pass win-ews (win):
Output: http://webkit-queues.appspot.com/results/3580046</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>938360</commentid>
    <comment_count>24</comment_count>
      <attachid>213887</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2013-10-10 08:38:54 -0700</bug_when>
    <thetext>Created attachment 213887
the patch

Hopefully this breaks less things.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>938375</commentid>
    <comment_count>25</comment_count>
    <who name="Nadav Rotem">nrotem</who>
    <bug_when>2013-10-10 09:23:44 -0700</bug_when>
    <thetext>Looks good to me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>938470</commentid>
    <comment_count>26</comment_count>
    <who name="Mark Rowe (bdash)">mrowe</who>
    <bug_when>2013-10-10 12:07:18 -0700</bug_when>
    <thetext>(In reply to comment #12)
&gt; This patch fixes exit-time destructors and static initializers in LLVM by doing soft linking.  Hence we can get rid of the hack in jsc.

Ah, cool!

&gt; As for using $() versus ${}, I was just doing what the other xcconfig&apos;s do.

It looks like this mistake crept in to one place in one .xcconfig file long ago and has since spread to others. The fact that ${} works at all isn&apos;t something that&apos;s documented AFAICT.

&gt; Hmmm, that&apos;s an iOS only thing, right?  Seems best to skip this until we are building on iOS and can actually test it.

Ok, sounds reasonable.

&gt; &gt; &gt; Source/JavaScriptCore/llvm/InitializeLLVM.cpp:31
&gt; &gt; &gt; +#include &lt;wtf/Threading.h&gt;
&gt; &gt; 
&gt; &gt; It doesn&apos;t look like you use anything from wtf/Threading.h.
&gt; 
&gt; pthread_once().

That comes from pthread.h. You should just include it directly.

&gt; &gt; 
&gt; &gt; &gt; Source/JavaScriptCore/llvm/LLVMAPIFunctions.h:31
&gt; &gt; &gt; +#define FOR_EACH_LLVM_API_FUNCTION(macro) \
&gt; &gt; 
&gt; &gt; There are a lot of style issues pointed out by the style checker that it&apos;d be good to address.
&gt; 
&gt; :-/
&gt; 
&gt; This part was auto-generated.  I&apos;ll address most of the issues but I&apos;m not sure to what extent it&apos;s worthwhile to be strict about this.  For example, LLVM uses a different parameter naming convention than we do and for this part it makes sense to just follow what the LLVM headers actually did rather than forcing WebKit convention.

I&apos;m not too concerned about whether you address the naming issues, since as you mention it makes sense for this to be consistent with LLVM. A lot of warnings were about inconsistent whitespace. I think you&apos;ve fixed that in your latest patch though.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>938476</commentid>
    <comment_count>27</comment_count>
      <attachid>213887</attachid>
    <who name="Mark Rowe (bdash)">mrowe</who>
    <bug_when>2013-10-10 12:10:43 -0700</bug_when>
    <thetext>Comment on attachment 213887
the patch

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

&gt; Source/JavaScriptCore/llvm/InitializeLLVM.cpp:31
&gt; +#include &lt;wtf/Threading.h&gt;

This should be #include &lt;pthread.h&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>938477</commentid>
    <comment_count>28</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2013-10-10 12:11:43 -0700</bug_when>
    <thetext>(In reply to comment #27)
&gt; (From update of attachment 213887 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=213887&amp;action=review
&gt; 
&gt; &gt; Source/JavaScriptCore/llvm/InitializeLLVM.cpp:31
&gt; &gt; +#include &lt;wtf/Threading.h&gt;
&gt; 
&gt; This should be #include &lt;pthread.h&gt;

Yup, I&apos;ll fix.  Thanks for the reviews!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>938483</commentid>
    <comment_count>29</comment_count>
      <attachid>213912</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2013-10-10 12:24:44 -0700</bug_when>
    <thetext>Created attachment 213912
patch for ews

Should be all done, but I want to see what the bots say.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>938484</commentid>
    <comment_count>30</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-10-10 12:26:58 -0700</bug_when>
    <thetext>Attachment 213912 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/JavaScriptCore/ChangeLog&apos;, u&apos;Source/JavaScriptCore/Configurations/JavaScriptCore.xcconfig&apos;, u&apos;Source/JavaScriptCore/Configurations/LLVMForJSC.xcconfig&apos;, u&apos;Source/JavaScriptCore/JavaScriptCore.xcodeproj/project.pbxproj&apos;, u&apos;Source/JavaScriptCore/dfg/DFGPlan.cpp&apos;, u&apos;Source/JavaScriptCore/disassembler/LLVMDisassembler.cpp&apos;, u&apos;Source/JavaScriptCore/ftl/FTLAbbreviatedTypes.h&apos;, u&apos;Source/JavaScriptCore/ftl/FTLAbbreviations.h&apos;, u&apos;Source/JavaScriptCore/ftl/FTLCompile.cpp&apos;, u&apos;Source/JavaScriptCore/ftl/FTLFail.cpp&apos;, u&apos;Source/JavaScriptCore/ftl/FTLJITCode.h&apos;, u&apos;Source/JavaScriptCore/ftl/FTLJITFinalizer.h&apos;, u&apos;Source/JavaScriptCore/ftl/FTLLink.cpp&apos;, u&apos;Source/JavaScriptCore/ftl/FTLLowerDFGToLLVM.cpp&apos;, u&apos;Source/JavaScriptCore/ftl/FTLOutput.cpp&apos;, u&apos;Source/JavaScriptCore/ftl/FTLOutput.h&apos;, u&apos;Source/JavaScriptCore/ftl/FTLState.cpp&apos;, u&apos;Source/JavaScriptCore/ftl/WebKitLLVMLibraryAnchor.cpp&apos;, u&apos;Source/JavaScriptCore/jsc.cpp&apos;, u&apos;Source/JavaScriptCore/llvm/InitializeLLVM.cpp&apos;, u&apos;Source/JavaScriptCore/llvm/InitializeLLVM.h&apos;, u&apos;Source/JavaScriptCore/llvm/InitializeLLVMMac.mm&apos;, u&apos;Source/JavaScriptCore/llvm/InitializeLLVMPOSIX.cpp&apos;, u&apos;Source/JavaScriptCore/llvm/InitializeLLVMPOSIX.h&apos;, u&apos;Source/JavaScriptCore/llvm/LLVMAPI.cpp&apos;, u&apos;Source/JavaScriptCore/llvm/LLVMAPI.h&apos;, u&apos;Source/JavaScriptCore/llvm/LLVMAPIFunctions.h&apos;, u&apos;Source/JavaScriptCore/llvm/LLVMHeaders.h&apos;, u&apos;Source/JavaScriptCore/llvm/library/LLVMAnchor.cpp&apos;, u&apos;Source/JavaScriptCore/llvm/library/LLVMExports.cpp&apos;, u&apos;Source/JavaScriptCore/llvm/library/LLVMOverrides.cpp&apos;, u&apos;Source/JavaScriptCore/llvm/library/config_llvm.h&apos;, u&apos;Source/JavaScriptCore/runtime/InitializeThreading.cpp&apos;, u&apos;Source/JavaScriptCore/runtime/Options.h&apos;, u&apos;Source/WTF/ChangeLog&apos;, u&apos;Source/WTF/WTF.xcodeproj/project.pbxproj&apos;, u&apos;Source/WTF/wtf/LLVMHeaders.h&apos;, u&apos;Source/WTF/wtf/text/CString.h&apos;, u&apos;Tools/ChangeLog&apos;, u&apos;Tools/Scripts/configure-llvm&apos;]&quot; exit_code: 1
Source/JavaScriptCore/llvm/LLVMAPI.h:40:  Extra space before ( in function call  [whitespace/parens] [4]
Source/JavaScriptCore/llvm/library/config_llvm.h:26:  Alphabetical sorting problem.  [build/include_order] [4]
Total errors found: 2 in 36 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>938568</commentid>
    <comment_count>31</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2013-10-10 15:17:52 -0700</bug_when>
    <thetext>Landed in http://trac.webkit.org/changeset/157260</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>213799</attachid>
            <date>2013-10-09 12:45:06 -0700</date>
            <delta_ts>2013-10-09 16:14:20 -0700</delta_ts>
            <desc>work in progress</desc>
            <filename>blah.patch</filename>
            <type>text/plain</type>
            <size>128597</size>
            <attacher name="Filip Pizlo">fpizlo</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9Db25maWd1cmF0aW9ucy9KYXZhU2NyaXB0Q29y
ZS54Y2NvbmZpZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvQ29uZmlndXJh
dGlvbnMvSmF2YVNjcmlwdENvcmUueGNjb25maWcJKHJldmlzaW9uIDE1NzE3MikKKysrIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9Db25maWd1cmF0aW9ucy9KYXZhU2NyaXB0Q29yZS54Y2NvbmZpZwko
d29ya2luZyBjb3B5KQpAQCAtMzUsMTUgKzM1LDExIEBAIEpTVkFMVUVfTU9ERUxfeDg2XzY0ID0g
NjQ7CiAvLyBQcmV2ZW50IEMrKyBzdGFuZGFyZCBsaWJyYXJ5IG9wZXJhdG9yIG5ldywgZGVsZXRl
IGFuZCB0aGVpciByZWxhdGVkIGV4Y2VwdGlvbiB0eXBlcyBmcm9tIGJlaW5nIGV4cG9ydGVkIGFz
IHdlYWsgc3ltYm9scy4KIE9USEVSX0xERkxBR1NfSElERV9TWU1CT0xTID0gLVdsLC11bmV4cG9y
dGVkX3N5bWJvbCAtV2wsX19aVElTdDliYWRfYWxsb2MgLVdsLC11bmV4cG9ydGVkX3N5bWJvbCAt
V2wsX19aVElTdDlleGNlcHRpb24gLVdsLC11bmV4cG9ydGVkX3N5bWJvbCAtV2wsX19aVFNTdDli
YWRfYWxsb2MgLVdsLC11bmV4cG9ydGVkX3N5bWJvbCAtV2wsX19aVFNTdDlleGNlcHRpb24gLVds
LC11bmV4cG9ydGVkX3N5bWJvbCAtV2wsX19aZGxQdlNfIC1XbCwtdW5leHBvcnRlZF9zeW1ib2wg
LVdsLF9fWm53bVB2IC1XbCwtYWxsX2xvYWQ7CiAKLU9USEVSX0xERkxBR1NfTExWTSA9ICQoT1RI
RVJfTERGTEFHU19MTFZNXyQoRU5BQkxFX0ZUTF9KSVQpKTsKLU9USEVSX0xERkxBR1NfTExWTV8g
PSA7Ci1PVEhFUl9MREZMQUdTX0xMVk1fRU5BQkxFX0ZUTF9KSVQgPSAtbHB0aHJlYWQgLWxtIC1s
TExWTVRhYmxlR2VuIC1sTExWTURlYnVnSW5mbyAtbExMVk1PcHRpb24gLWxMTFZNWDg2RGlzYXNz
ZW1ibGVyIC1sTExWTVg4NkFzbVBhcnNlciAtbExMVk1YODZDb2RlR2VuIC1sTExWTVNlbGVjdGlv
bkRBRyAtbExMVk1Bc21QcmludGVyIC1sTExWTVg4NkRlc2MgLWxMTFZNWDg2SW5mbyAtbExMVk1Y
ODZBc21QcmludGVyIC1sTExWTVg4NlV0aWxzIC1sTExWTUlSUmVhZGVyIC1sTExWTUFzbVBhcnNl
ciAtbExMVk1NQ0Rpc2Fzc2VtYmxlciAtbExMVk1NQ1BhcnNlciAtbExMVk1JbnN0cnVtZW50YXRp
b24gLWxMTFZNQml0UmVhZGVyIC1sTExWTUludGVycHJldGVyIC1sTExWTWlwbyAtbExMVk1WZWN0
b3JpemUgLWxMTFZNTGlua2VyIC1sTExWTUJpdFdyaXRlciAtbExMVk1NQ0pJVCAtbExMVk1KSVQg
LWxMTFZNQ29kZUdlbiAtbExMVk1PYmpDQVJDT3B0cyAtbExMVk1TY2FsYXJPcHRzIC1sTExWTUlu
c3RDb21iaW5lIC1sTExWTVRyYW5zZm9ybVV0aWxzIC1sTExWTWlwYSAtbExMVk1BbmFseXNpcyAt
bExMVk1SdW50aW1lRHlsZCAtbExMVk1FeGVjdXRpb25FbmdpbmUgLWxMTFZNVGFyZ2V0IC1sTExW
TU1DIC1sTExWTU9iamVjdCAtbExMVk1Db3JlIC1sTExWTVN1cHBvcnQ7Ci0KIE9USEVSX0xERkxB
R1NfQkFTRSA9IC1sb2JqYyAtV2wsLVksMyAkKE9USEVSX0xERkxBR1NfSElERV9TWU1CT0xTKTsK
IE9USEVSX0xERkxBR1MgPSAkKGluaGVyaXRlZCkgJChPVEhFUl9MREZMQUdTXyQoUExBVEZPUk1f
TkFNRSkpOwogT1RIRVJfTERGTEFHU19pcGhvbmVvcyA9ICQoT1RIRVJfTERGTEFHU19CQVNFKTsK
IE9USEVSX0xERkxBR1NfaXBob25lc2ltdWxhdG9yID0gJChPVEhFUl9MREZMQUdTX2lwaG9uZW9z
KTsKLU9USEVSX0xERkxBR1NfbWFjb3N4ID0gJChPVEhFUl9MREZMQUdTX0JBU0UpICQoT1RIRVJf
TERGTEFHU19MTFZNKSAtc3ViX2xpYnJhcnkgbGlib2JqYyAtZnJhbWV3b3JrIENvcmVTZXJ2aWNl
czsKK09USEVSX0xERkxBR1NfbWFjb3N4ID0gJChPVEhFUl9MREZMQUdTX0JBU0UpIC1zdWJfbGli
cmFyeSBsaWJvYmpjIC1mcmFtZXdvcmsgQ29yZVNlcnZpY2VzOwogR0NDX1BSRUZJWF9IRUFERVIg
PSBKYXZhU2NyaXB0Q29yZVByZWZpeC5oOwogR0NDX1NZTUJPTFNfUFJJVkFURV9FWFRFUk4gPSBZ
RVM7CiBIRUFERVJfU0VBUkNIX1BBVEhTID0gIiR7QlVJTFRfUFJPRFVDVFNfRElSfS9EZXJpdmVk
U291cmNlcy9KYXZhU2NyaXB0Q29yZSIgJChIRUFERVJfU0VBUkNIX1BBVEhTKTsKSW5kZXg6IFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9Db25maWd1cmF0aW9ucy9MTFZNRm9ySlNDLnhjY29uZmlnCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9Db25maWd1cmF0aW9ucy9MTFZNRm9y
SlNDLnhjY29uZmlnCShyZXZpc2lvbiAwKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL0NvbmZp
Z3VyYXRpb25zL0xMVk1Gb3JKU0MueGNjb25maWcJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw0
MyBAQAorLy8gQ29weXJpZ2h0IChDKSAyMDA5IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKy8vCisvLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKKy8vIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworLy8gYXJlIG1ldDoKKy8vIDEuIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0CisvLyAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuCisvLyAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorLy8gICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorLy8gICAg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRp
c3RyaWJ1dGlvbi4KKy8vCisvLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElO
Qy4gYGBBUyBJUycnIEFORCBBTlkKKy8vIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisvLyBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKy8vIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisvLyBD
T05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwKKy8vIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKy8vIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorLy8gUFJPRklUUzsgT1Ig
QlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQor
Ly8gT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUCisvLyAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKy8vIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorCisjaW5jbHVkZSAiRmVh
dHVyZURlZmluZXMueGNjb25maWciCisjaW5jbHVkZSAiVmVyc2lvbi54Y2NvbmZpZyIKKworLy8g
UHJldmVudCBDKysgc3RhbmRhcmQgbGlicmFyeSBvcGVyYXRvciBuZXcsIGRlbGV0ZSBhbmQgdGhl
aXIgcmVsYXRlZCBleGNlcHRpb24gdHlwZXMgZnJvbSBiZWluZyBleHBvcnRlZCBhcyB3ZWFrIHN5
bWJvbHMuCitPVEhFUl9MREZMQUdTX0hJREVfU1lNQk9MUyA9IC1XbCwtdW5leHBvcnRlZF9zeW1i
b2wgLVdsLF9fWlRJU3Q5YmFkX2FsbG9jIC1XbCwtdW5leHBvcnRlZF9zeW1ib2wgLVdsLF9fWlRJ
U3Q5ZXhjZXB0aW9uIC1XbCwtdW5leHBvcnRlZF9zeW1ib2wgLVdsLF9fWlRTU3Q5YmFkX2FsbG9j
IC1XbCwtdW5leHBvcnRlZF9zeW1ib2wgLVdsLF9fWlRTU3Q5ZXhjZXB0aW9uIC1XbCwtdW5leHBv
cnRlZF9zeW1ib2wgLVdsLF9fWmRsUHZTXyAtV2wsLXVuZXhwb3J0ZWRfc3ltYm9sIC1XbCxfX1pu
d21QdiAtV2wsLWFsbF9sb2FkOworCitPVEhFUl9MREZMQUdTX0xMVk0gPSAkKE9USEVSX0xERkxB
R1NfTExWTV8kKEVOQUJMRV9GVExfSklUKSk7CitPVEhFUl9MREZMQUdTX0xMVk1fID0gOworT1RI
RVJfTERGTEFHU19MTFZNX0VOQUJMRV9GVExfSklUID0gLWxwdGhyZWFkIC1sbSAtbExMVk1UYWJs
ZUdlbiAtbExMVk1EZWJ1Z0luZm8gLWxMTFZNT3B0aW9uIC1sTExWTVg4NkRpc2Fzc2VtYmxlciAt
bExMVk1YODZBc21QYXJzZXIgLWxMTFZNWDg2Q29kZUdlbiAtbExMVk1TZWxlY3Rpb25EQUcgLWxM
TFZNQXNtUHJpbnRlciAtbExMVk1YODZEZXNjIC1sTExWTVg4NkluZm8gLWxMTFZNWDg2QXNtUHJp
bnRlciAtbExMVk1YODZVdGlscyAtbExMVk1JUlJlYWRlciAtbExMVk1Bc21QYXJzZXIgLWxMTFZN
TUNEaXNhc3NlbWJsZXIgLWxMTFZNTUNQYXJzZXIgLWxMTFZNSW5zdHJ1bWVudGF0aW9uIC1sTExW
TUJpdFJlYWRlciAtbExMVk1JbnRlcnByZXRlciAtbExMVk1pcG8gLWxMTFZNVmVjdG9yaXplIC1s
TExWTUxpbmtlciAtbExMVk1CaXRXcml0ZXIgLWxMTFZNTUNKSVQgLWxMTFZNSklUIC1sTExWTUNv
ZGVHZW4gLWxMTFZNT2JqQ0FSQ09wdHMgLWxMTFZNU2NhbGFyT3B0cyAtbExMVk1JbnN0Q29tYmlu
ZSAtbExMVk1UcmFuc2Zvcm1VdGlscyAtbExMVk1pcGEgLWxMTFZNQW5hbHlzaXMgLWxMTFZNUnVu
dGltZUR5bGQgLWxMTFZNRXhlY3V0aW9uRW5naW5lIC1sTExWTVRhcmdldCAtbExMVk1NQyAtbExM
Vk1PYmplY3QgLWxMTFZNQ29yZSAtbExMVk1TdXBwb3J0OworCitPVEhFUl9MREZMQUdTX0JBU0Ug
PSAtbG9iamMgLVdsLC1ZLDMgJChPVEhFUl9MREZMQUdTX0hJREVfU1lNQk9MUyk7CitPVEhFUl9M
REZMQUdTID0gJChpbmhlcml0ZWQpICQoT1RIRVJfTERGTEFHU18kKFBMQVRGT1JNX05BTUUpKTsK
K09USEVSX0xERkxBR1NfaXBob25lb3MgPSAkKE9USEVSX0xERkxBR1NfQkFTRSk7CitPVEhFUl9M
REZMQUdTX2lwaG9uZXNpbXVsYXRvciA9ICQoT1RIRVJfTERGTEFHU19pcGhvbmVvcyk7CitPVEhF
Ul9MREZMQUdTX21hY29zeCA9ICQoT1RIRVJfTERGTEFHU19CQVNFKSAkKE9USEVSX0xERkxBR1Nf
TExWTSkKK0dDQ19TWU1CT0xTX1BSSVZBVEVfRVhURVJOID0gWUVTOworSEVBREVSX1NFQVJDSF9Q
QVRIUyA9ICIke0JVSUxUX1BST0RVQ1RTX0RJUn0vRGVyaXZlZFNvdXJjZXMvSmF2YVNjcmlwdENv
cmUiICQoSEVBREVSX1NFQVJDSF9QQVRIUyk7CisKK0lOU1RBTExfUEFUSF9BQ1RVQUwgPSAkKEpB
VkFTQ1JJUFRDT1JFX1JFU09VUkNFU19ESVIpOworUFJPRFVDVF9OQU1FID0gbGx2bUZvckpTQzsK
SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2Ny
aXB0Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCShyZXZpc2lvbiAxNTcxNzIpCisrKyBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvagkod29ya2luZyBjb3B5KQpAQCAtMzcyLDYgKzM3MiwxOCBAQAogCQkwRkM4MTUxNTE0MDUx
MTlCMDBDRkE2MDMgLyogVlRhYmxlU3BlY3RydW0uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGQzgxNTE0MTQwNTExOEQwMENGQTYwMyAvKiBWVGFibGVT
cGVjdHJ1bS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07
CiAJCTBGQzgxNTE2MTQwNTExQjUwMENGQTYwMyAvKiBWVGFibGVTcGVjdHJ1bS5jcHAgaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRkM4MTUxMjE0MDUxMTg2
MDBDRkE2MDMgLyogVlRhYmxlU3BlY3RydW0uY3BwICovOyB9OwogCQkwRkNDQUU0NTE2RDBDRjc0
MDBEMEM2NUIgLyogUGFyc2VyRXJyb3IuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDBGQ0NBRTQzMTZEMENGNkUwMEQwQzY1QiAvKiBQYXJzZXJFcnJvci5o
ICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTBGQ0VG
QUIwMTgwNUNBNkQwMDQ3MkNFNCAvKiBJbml0aWFsaXplTExWTS5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZDRUZBQUUxODA1Q0E2RDAwNDcyQ0U0IC8q
IEluaXRpYWxpemVMTFZNLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwg
KTsgfTsgfTsKKwkJMEZDRUZBQjExODA1Q0E2RDAwNDcyQ0U0IC8qIEluaXRpYWxpemVMTFZNTWFj
Lm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZDRUZB
QUYxODA1Q0E2RDAwNDcyQ0U0IC8qIEluaXRpYWxpemVMTFZNTWFjLm1tICovOyB9OworCQkwRkNF
RkFDMTE4MDVEOTRFMDA0NzJDRTQgLyogTExWTU92ZXJyaWRlcy5jcHAgaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRkNFRkFDMDE4MDVEOTQxMDA0NzJDRTQg
LyogTExWTU92ZXJyaWRlcy5jcHAgKi87IH07CisJCTBGQ0VGQUMzMTgwNUU3NDAwMDQ3MkNFNCAv
KiBMTFZNRXhwb3J0cy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSAwRkNFRkFDMjE4MDVFNzQwMDA0NzJDRTQgLyogTExWTUV4cG9ydHMuY3BwICovOyB9
OworCQkwRkNFRkFDQTE4MDVFNzU1MDA0NzJDRTQgLyogSW5pdGlhbGl6ZUxMVk0uY3BwIGluIFNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZDRUZBQzQxODA1RTc1
NTAwNDcyQ0U0IC8qIEluaXRpYWxpemVMTFZNLmNwcCAqLzsgfTsKKwkJMEZDRUZBQ0IxODA1RTc1
NTAwNDcyQ0U0IC8qIEluaXRpYWxpemVMTFZNUE9TSVguY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZDRUZBQzUxODA1RTc1NTAwNDcyQ0U0IC8qIElu
aXRpYWxpemVMTFZNUE9TSVguY3BwICovOyB9OworCQkwRkNFRkFDQzE4MDVFNzU1MDA0NzJDRTQg
LyogSW5pdGlhbGl6ZUxMVk1QT1NJWC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gMEZDRUZBQzYxODA1RTc1NTAwNDcyQ0U0IC8qIEluaXRpYWxpemVMTFZN
UE9TSVguaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9Owor
CQkwRkNFRkFDRDE4MDVFNzU1MDA0NzJDRTQgLyogTExWTUFQSS5jcHAgaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRkNFRkFDNzE4MDVFNzU1MDA0NzJDRTQg
LyogTExWTUFQSS5jcHAgKi87IH07CisJCTBGQ0VGQUNFMTgwNUU3NTUwMDQ3MkNFNCAvKiBMTFZN
QVBJLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRkNF
RkFDODE4MDVFNzU1MDA0NzJDRTQgLyogTExWTUFQSS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJV
VEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTBGQ0VGQUNGMTgwNUU3NTUwMDQ3MkNFNCAvKiBM
TFZNQVBJRnVuY3Rpb25zLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSAwRkNFRkFDOTE4MDVFNzU1MDA0NzJDRTQgLyogTExWTUFQSUZ1bmN0aW9ucy5oICov
OyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTBGQ0VGQUQw
MTgwNUU3NzUwMDQ3MkNFNCAvKiBMTFZNQVBJLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSAwRkNFRkFDODE4MDVFNzU1MDA0NzJDRTQgLyogTExWTUFQSS5o
ICovOyB9OworCQkwRkNFRkFEMTE4MDVFNzc5MDA0NzJDRTQgLyogTExWTUFQSUZ1bmN0aW9ucy5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZDRUZBQzkx
ODA1RTc1NTAwNDcyQ0U0IC8qIExMVk1BUElGdW5jdGlvbnMuaCAqLzsgfTsKIAkJMEZEMkM5MjQx
NkQwMUVFOTAwQzc4MDNGIC8qIFN0cnVjdHVyZUlubGluZXMuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGRDJDOTIzMTZEMDFFRTkwMEM3ODAzRiAvKiBT
dHJ1Y3R1cmVJbmxpbmVzLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwg
KTsgfTsgfTsKIAkJMEZEM0M4MjYxNDExNUQ0MDAwRkQ4MUNCIC8qIERGR0RyaXZlci5jcHAgaW4g
U291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRkQzQzgyMDE0MTE1
Q0Y4MDBGRDgxQ0IgLyogREZHRHJpdmVyLmNwcCAqLzsgfTsKIAkJMEZEM0M4MjgxNDExNUQ0RjAw
RkQ4MUNCIC8qIERGR0RyaXZlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gMEZEM0M4MjIxNDExNUQwRTAwRkQ4MUNCIC8qIERGR0RyaXZlci5oICovOyB9
OwpAQCAtMTE4MSw2ICsxMTkzLDEzIEBACiAvKiBFbmQgUEJYQnVpbGRGaWxlIHNlY3Rpb24gKi8K
IAogLyogQmVnaW4gUEJYQ29udGFpbmVySXRlbVByb3h5IHNlY3Rpb24gKi8KKwkJMEZDRUZBQkMx
ODA1RDY2MzAwNDcyQ0U0IC8qIFBCWENvbnRhaW5lckl0ZW1Qcm94eSAqLyA9IHsKKwkJCWlzYSA9
IFBCWENvbnRhaW5lckl0ZW1Qcm94eTsKKwkJCWNvbnRhaW5lclBvcnRhbCA9IDA4NjdENjkwRkU4
NDAyOEZDMDJBQUMwNyAvKiBQcm9qZWN0IG9iamVjdCAqLzsKKwkJCXByb3h5VHlwZSA9IDE7CisJ
CQlyZW1vdGVHbG9iYWxJRFN0cmluZyA9IDBGQ0VGQUI1MTgwNUQ2MTYwMDQ3MkNFNDsKKwkJCXJl
bW90ZUluZm8gPSBsbHZtRm9ySlNDOworCQl9OwogCQkwRkY5MjJEMjE0RjQ2QjJGMDA0MUEyNEUg
LyogUEJYQ29udGFpbmVySXRlbVByb3h5ICovID0gewogCQkJaXNhID0gUEJYQ29udGFpbmVySXRl
bVByb3h5OwogCQkJY29udGFpbmVyUG9ydGFsID0gMDg2N0Q2OTBGRTg0MDI4RkMwMkFBQzA3IC8q
IFByb2plY3Qgb2JqZWN0ICovOwpAQCAtMTU5OCw2ICsxNjE3LDE4IEBACiAJCTBGQzgxNTE0MTQw
NTExOEQwMENGQTYwMyAvKiBWVGFibGVTcGVjdHJ1bS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBWVGFibGVTcGVjdHJ1bS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQkwRkNCNDA4NTE1QzBBM0MzMDA0ODkzMkIgLyogU2xvdFZpc2l0b3JJbmxpbmVzLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNsb3RWaXNpdG9ySW5saW5lcy5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQkwRkNDQUU0MzE2RDBDRjZFMDBEMEM2NUIgLyogUGFyc2Vy
RXJyb3IuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUGFyc2VyRXJyb3IuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEZDRUZBQUUxODA1Q0E2RDAwNDcyQ0U0IC8q
IEluaXRpYWxpemVMTFZNLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IEluaXRp
YWxpemVMTFZNLmg7IHBhdGggPSBsbHZtL0luaXRpYWxpemVMTFZNLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CisJCTBGQ0VGQUFGMTgwNUNBNkQwMDQ3MkNFNCAvKiBJbml0aWFsaXplTExW
TU1hYy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgbmFtZSA9IEluaXRpYWxp
emVMTFZNTWFjLm1tOyBwYXRoID0gbGx2bS9Jbml0aWFsaXplTExWTU1hYy5tbTsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEZDRUZBQjYxODA1RDYxNjAwNDcyQ0U0IC8qIGxpYmxsdm1G
b3JKU0MuZHlsaWIgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZXhwbGljaXRGaWxlVHlw
ZSA9ICJjb21waWxlZC5tYWNoLW8uZHlsaWIiOyBpbmNsdWRlSW5JbmRleCA9IDA7IHBhdGggPSBs
aWJsbHZtRm9ySlNDLmR5bGliOyBzb3VyY2VUcmVlID0gQlVJTFRfUFJPRFVDVFNfRElSOyB9Owor
CQkwRkNFRkFCRTE4MDVEODY5MDA0NzJDRTQgLyogTExWTUZvckpTQy54Y2NvbmZpZyAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQueGNjb25maWc7
IHBhdGggPSBMTFZNRm9ySlNDLnhjY29uZmlnOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQkwRkNFRkFDMDE4MDVEOTQxMDA0NzJDRTQgLyogTExWTU92ZXJyaWRlcy5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IHBhdGggPSBMTFZNT3ZlcnJpZGVzLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
KwkJMEZDRUZBQzIxODA1RTc0MDAwNDcyQ0U0IC8qIExMVk1FeHBvcnRzLmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IExMVk1FeHBvcnRzLmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJMEZDRUZBQzQxODA1RTc1NTAwNDcyQ0U0IC8qIEluaXRpYWxpemVM
TFZNLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IEluaXRpYWxpemVM
TFZNLmNwcDsgcGF0aCA9IGxsdm0vSW5pdGlhbGl6ZUxMVk0uY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQkwRkNFRkFDNTE4MDVFNzU1MDA0NzJDRTQgLyogSW5pdGlhbGl6ZUxMVk1Q
T1NJWC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBJbml0aWFsaXpl
TExWTVBPU0lYLmNwcDsgcGF0aCA9IGxsdm0vSW5pdGlhbGl6ZUxMVk1QT1NJWC5jcHA7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGQ0VGQUM2MTgwNUU3NTUwMDQ3MkNFNCAvKiBJbml0
aWFsaXplTExWTVBPU0lYLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IEluaXRp
YWxpemVMTFZNUE9TSVguaDsgcGF0aCA9IGxsdm0vSW5pdGlhbGl6ZUxMVk1QT1NJWC5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRkNFRkFDNzE4MDVFNzU1MDA0NzJDRTQgLyogTExW
TUFQSS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBMTFZNQVBJLmNw
cDsgcGF0aCA9IGxsdm0vTExWTUFQSS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CTBGQ0VGQUM4MTgwNUU3NTUwMDQ3MkNFNCAvKiBMTFZNQVBJLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgbmFtZSA9IExMVk1BUEkuaDsgcGF0aCA9IGxsdm0vTExWTUFQSS5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQkwRkNFRkFDOTE4MDVFNzU1MDA0NzJDRTQgLyogTExWTUFQ
SUZ1bmN0aW9ucy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBMTFZNQVBJRnVu
Y3Rpb25zLmg7IHBhdGggPSBsbHZtL0xMVk1BUElGdW5jdGlvbnMuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJMEZEMkM5MjMxNkQwMUVFOTAwQzc4MDNGIC8qIFN0cnVjdHVyZUlubGlu
ZXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU3RydWN0dXJlSW5saW5lcy5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkwRkQzQzgyMDE0MTE1Q0Y4MDBGRDgxQ0Ig
LyogREZHRHJpdmVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IERG
R0RyaXZlci5jcHA7IHBhdGggPSBkZmcvREZHRHJpdmVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJMEZEM0M4MjIxNDExNUQwRTAwRkQ4MUNCIC8qIERGR0RyaXZlci5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBERkdEcml2ZXIuaDsgcGF0aCA9IGRmZy9ERkdE
cml2ZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTI0MzEsNiArMjQ2MiwxMyBA
QAogLyogRW5kIFBCWEZpbGVSZWZlcmVuY2Ugc2VjdGlvbiAqLwogCiAvKiBCZWdpbiBQQlhGcmFt
ZXdvcmtzQnVpbGRQaGFzZSBzZWN0aW9uICovCisJCTBGQ0VGQUIzMTgwNUQ2MTYwMDQ3MkNFNCAv
KiBGcmFtZXdvcmtzICovID0geworCQkJaXNhID0gUEJYRnJhbWV3b3Jrc0J1aWxkUGhhc2U7CisJ
CQlidWlsZEFjdGlvbk1hc2sgPSAyMTQ3NDgzNjQ3OworCQkJZmlsZXMgPSAoCisJCQkpOworCQkJ
cnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CisJCX07CiAJCTBGRjkyMkM2
MTRGNDZCMTMwMDQxQTI0RSAvKiBGcmFtZXdvcmtzICovID0gewogCQkJaXNhID0gUEJYRnJhbWV3
b3Jrc0J1aWxkUGhhc2U7CiAJCQlidWlsZEFjdGlvbk1hc2sgPSAyMTQ3NDgzNjQ3OwpAQCAtMjQ5
OSw2ICsyNTM3LDcgQEAKIAkJCQkxNDEyMTEyMDBBNDg3OTNDMDA0ODAyNTUgLyogbWluaWRvbSAq
LywKIAkJCQkxNEJENTlCRjBBM0U4RjkwMDBCQUY1OUMgLyogdGVzdGFwaSAqLywKIAkJCQk2NTEx
MjMwNTE0MDQ2QTRDMDAyQjEwMUQgLyogdGVzdFJlZ0V4cCAqLywKKwkJCQkwRkNFRkFCNjE4MDVE
NjE2MDA0NzJDRTQgLyogbGlibGx2bUZvckpTQy5keWxpYiAqLywKIAkJCSk7CiAJCQluYW1lID0g
UHJvZHVjdHM7CiAJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOwpAQCAtMjUzMSw2ICsyNTcwLDcg
QEAKIAkJCQkxNDI5RDc3QTBFRDIwRDczMDBCODk2MTkgLyogaW50ZXJwcmV0ZXIgKi8sCiAJCQkJ
MTQyOUQ5MkMwRUQyMkQ3MDAwQjg5NjE5IC8qIGppdCAqLywKIAkJCQkwRjQ2ODA5QzE0QkE3RjRE
MDBCRkUyNzIgLyogbGxpbnQgKi8sCisJCQkJMEZDRUZBQUQxODA1Q0E0NDAwNDcyQ0U0IC8qIGxs
dm0gKi8sCiAJCQkJN0UzOUQ4MzcwRUMzQTM4ODAwM0FGMTFBIC8qIHBhcnNlciAqLywKIAkJCQkw
MzQ3NjhERkZGMzhBNTA0MTFEQjlDOEIgLyogUHJvZHVjdHMgKi8sCiAJCQkJOTVBQjgzMUEwREE0
MkM2OTAwQkM4M0YzIC8qIHByb2ZpbGVyICovLApAQCAtMjU4OCw2ICsyNjI4LDMyIEBACiAJCQlu
YW1lID0gbGxpbnQ7CiAJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOwogCQl9OworCQkwRkNFRkFB
RDE4MDVDQTQ0MDA0NzJDRTQgLyogbGx2bSAqLyA9IHsKKwkJCWlzYSA9IFBCWEdyb3VwOworCQkJ
Y2hpbGRyZW4gPSAoCisJCQkJMEZDRUZBQkYxODA1RDk0MTAwNDcyQ0U0IC8qIGxpYnJhcnkgKi8s
CisJCQkJMEZDRUZBQzQxODA1RTc1NTAwNDcyQ0U0IC8qIEluaXRpYWxpemVMTFZNLmNwcCAqLywK
KwkJCQkwRkNFRkFBRTE4MDVDQTZEMDA0NzJDRTQgLyogSW5pdGlhbGl6ZUxMVk0uaCAqLywKKwkJ
CQkwRkNFRkFBRjE4MDVDQTZEMDA0NzJDRTQgLyogSW5pdGlhbGl6ZUxMVk1NYWMubW0gKi8sCisJ
CQkJMEZDRUZBQzUxODA1RTc1NTAwNDcyQ0U0IC8qIEluaXRpYWxpemVMTFZNUE9TSVguY3BwICov
LAorCQkJCTBGQ0VGQUM2MTgwNUU3NTUwMDQ3MkNFNCAvKiBJbml0aWFsaXplTExWTVBPU0lYLmgg
Ki8sCisJCQkJMEZDRUZBQzcxODA1RTc1NTAwNDcyQ0U0IC8qIExMVk1BUEkuY3BwICovLAorCQkJ
CTBGQ0VGQUM4MTgwNUU3NTUwMDQ3MkNFNCAvKiBMTFZNQVBJLmggKi8sCisJCQkJMEZDRUZBQzkx
ODA1RTc1NTAwNDcyQ0U0IC8qIExMVk1BUElGdW5jdGlvbnMuaCAqLywKKwkJCSk7CisJCQluYW1l
ID0gbGx2bTsKKwkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CisJCX07CisJCTBGQ0VGQUJGMTgw
NUQ5NDEwMDQ3MkNFNCAvKiBsaWJyYXJ5ICovID0geworCQkJaXNhID0gUEJYR3JvdXA7CisJCQlj
aGlsZHJlbiA9ICgKKwkJCQkwRkNFRkFDMjE4MDVFNzQwMDA0NzJDRTQgLyogTExWTUV4cG9ydHMu
Y3BwICovLAorCQkJCTBGQ0VGQUMwMTgwNUQ5NDEwMDQ3MkNFNCAvKiBMTFZNT3ZlcnJpZGVzLmNw
cCAqLywKKwkJCSk7CisJCQluYW1lID0gbGlicmFyeTsKKwkJCXBhdGggPSBsbHZtL2xpYnJhcnk7
CisJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOworCQl9OwogCQkwRkVBMDlGQzE3MDUxMzdGMDBC
QjcyMkMgLyogZnRsICovID0gewogCQkJaXNhID0gUEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9ICgK
QEAgLTMwMDgsNiArMzA3NCw3IEBACiAJCTFDOTA1MTNFMEJBOUU4ODMwMDgxRTlEMCAvKiBDb25m
aWd1cmF0aW9ucyAqLyA9IHsKIAkJCWlzYSA9IFBCWEdyb3VwOwogCQkJY2hpbGRyZW4gPSAoCisJ
CQkJMEZDRUZBQkUxODA1RDg2OTAwNDcyQ0U0IC8qIExMVk1Gb3JKU0MueGNjb25maWcgKi8sCiAJ
CQkJMUM5MDUxNDUwQkE5RThBNzAwODFFOUQwIC8qIEJhc2UueGNjb25maWcgKi8sCiAJCQkJMUM5
MDUxNDQwQkE5RThBNzAwODFFOUQwIC8qIERlYnVnUmVsZWFzZS54Y2NvbmZpZyAqLywKIAkJCQk0
NDkwOTdFRTBGOEY4MUI1MDA3NkEzMjcgLyogRmVhdHVyZURlZmluZXMueGNjb25maWcgKi8sCkBA
IC0zODgyLDYgKzM5NDksMTUgQEAKIC8qIEVuZCBQQlhHcm91cCBzZWN0aW9uICovCiAKIC8qIEJl
Z2luIFBCWEhlYWRlcnNCdWlsZFBoYXNlIHNlY3Rpb24gKi8KKwkJMEZDRUZBQjQxODA1RDYxNjAw
NDcyQ0U0IC8qIEhlYWRlcnMgKi8gPSB7CisJCQlpc2EgPSBQQlhIZWFkZXJzQnVpbGRQaGFzZTsK
KwkJCWJ1aWxkQWN0aW9uTWFzayA9IDIxNDc0ODM2NDc7CisJCQlmaWxlcyA9ICgKKwkJCQkwRkNF
RkFEMTE4MDVFNzc5MDA0NzJDRTQgLyogTExWTUFQSUZ1bmN0aW9ucy5oIGluIEhlYWRlcnMgKi8s
CisJCQkJMEZDRUZBRDAxODA1RTc3NTAwNDcyQ0U0IC8qIExMVk1BUEkuaCBpbiBIZWFkZXJzICov
LAorCQkJKTsKKwkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOworCQl9
OwogCQkxNDQwMDVDNzBBNTMzOEM2MDAwNUYwNjEgLyogSGVhZGVycyAqLyA9IHsKIAkJCWlzYSA9
IFBCWEhlYWRlcnNCdWlsZFBoYXNlOwogCQkJYnVpbGRBY3Rpb25NYXNrID0gMjE0NzQ4MzY0NzsK
QEAgLTM5NzAsNiArNDA0Niw3IEBACiAJCQkJQzIyMzlEMTgxNjI2MkJERDAwNUFDNUZEIC8qIENv
cHlWaXNpdG9yLmggaW4gSGVhZGVycyAqLywKIAkJCQlDMjIzOUQxOTE2MjYyQkREMDA1QUM1RkQg
LyogQ29weVZpc2l0b3JJbmxpbmVzLmggaW4gSGVhZGVycyAqLywKIAkJCQlDMjE4RDE0MDE2NTVD
RkQ1MDA2MkJCODEgLyogQ29weVdvcmtMaXN0LmggaW4gSGVhZGVycyAqLywKKwkJCQkwRkNFRkFD
RjE4MDVFNzU1MDA0NzJDRTQgLyogTExWTUFQSUZ1bmN0aW9ucy5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJNURFNkU1QjMwRTE3MjhFQzAwMTgwNDA3IC8qIGNyZWF0ZV9oYXNoX3RhYmxlIGluIEhlYWRl
cnMgKi8sCiAJCQkJMEY0MjZBNEIxNDYwQ0Q2RTAwMTMxRjhGIC8qIERhdGFGb3JtYXQuaCBpbiBI
ZWFkZXJzICovLAogCQkJCTBGMkI2NkRGMTdCNkI1QUIwMEE3QUUzRiAvKiBEYXRhVmlldy5oIGlu
IEhlYWRlcnMgKi8sCkBAIC00MDg3LDYgKzQxNjQsNyBAQAogCQkJCTg2RUM5REQzMTMyOERGODIw
MDJCMkFENyAvKiBERkdTcGVjdWxhdGl2ZUpJVC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTdEODlE
MDAxN0EwQjhDQzAwNzczQUQ4IC8qIERGR1NTQUNvbnZlcnNpb25QaGFzZS5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJMEY2Mzk0NzgxNURDRTM0QjAwNkE1OTdDIC8qIERGR1N0cnVjdHVyZUFic3RyYWN0
VmFsdWUuaCBpbiBIZWFkZXJzICovLAorCQkJCTBGQ0VGQUNDMTgwNUU3NTUwMDQ3MkNFNCAvKiBJ
bml0aWFsaXplTExWTVBPU0lYLmggaW4gSGVhZGVycyAqLywKIAkJCQkwRkMwOTdBMjE0NkIyOEND
MDBDRjI0NDIgLyogREZHVGh1bmtzLmggaW4gSGVhZGVycyAqLywKIAkJCQkwRjYzOTQzRjE1Qzc1
RjE5MDA2QTU5N0MgLyogREZHVHlwZUNoZWNrSG9pc3RpbmdQaGFzZS5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJMEZCRTBGNzcxNkMxREIxMjAwODJDNUU4IC8qIERGR1VuaWZpY2F0aW9uUGhhc2UuaCBp
biBIZWFkZXJzICovLApAQCAtNDE5Myw2ICs0MjcxLDcgQEAKIAkJCQlBNzg4NTNGQTE3OTcyNjI5
MDAxNDQwRTQgLyogSW50ZW5kZWRTdHJ1Y3R1cmVDaGFpbi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
QkMxMTY2N0IwRTE5OUMwNTAwODA2NkREIC8qIEludGVybmFsRnVuY3Rpb24uaCBpbiBIZWFkZXJz
ICovLAogCQkJCTE0MjlENzdDMEVEMjBENzMwMEI4OTYxOSAvKiBJbnRlcnByZXRlci5oIGluIEhl
YWRlcnMgKi8sCisJCQkJMEZDRUZBQjAxODA1Q0E2RDAwNDcyQ0U0IC8qIEluaXRpYWxpemVMTFZN
LmggaW4gSGVhZGVycyAqLywKIAkJCQk4NjBCRDgwMTE0OEVBNkYyMDAxMTJCMkYgLyogSW50cmlu
c2ljLmggaW4gSGVhZGVycyAqLywKIAkJCQlCQzE4QzQxMzBFMTZGNUNEMDBCMzQ0NjAgLyogSmF2
YVNjcmlwdC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkMxOEM0MTQwRTE2RjVDRDAwQjM0NDYwIC8q
IEphdmFTY3JpcHRDb3JlLmggaW4gSGVhZGVycyAqLywKQEAgLTQyNDYsNiArNDMyNSw3IEBACiAJ
CQkJQTcyMDI4QjgxNzk3NjAxRTAwOTgwMjhDIC8qIEpTQ1Rlc3RSdW5uZXJVdGlscy5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJMEYyQjY2RUMxN0I2QjVBQjAwQTdBRTNGIC8qIEpTRGF0YVZpZXcuaCBp
biBIZWFkZXJzICovLAogCQkJCTBGMkI2NkVFMTdCNkI1QUIwMEE3QUUzRiAvKiBKU0RhdGFWaWV3
UHJvdG90eXBlLmggaW4gSGVhZGVycyAqLywKKwkJCQkwRkNFRkFDRTE4MDVFNzU1MDA0NzJDRTQg
LyogTExWTUFQSS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTc4ODAxNDExNDcxQUQ5MjAwNDFCMDE2
IC8qIEpTRGF0ZU1hdGguaCBpbiBIZWFkZXJzICovLAogCQkJCUMyQTdGNjg4MTYwNDMyRDQwMEY3
NkI5OCAvKiBKU0Rlc3RydWN0aWJsZU9iamVjdC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJODZFM0M2
MTQxNjdCQUJENzAwNkQ3NjBBIC8qIEpTRXhwb3J0LmggaW4gSGVhZGVycyAqLywKQEAgLTQ1NjMs
NiArNDY0MywyMyBAQAogLyogRW5kIFBCWEhlYWRlcnNCdWlsZFBoYXNlIHNlY3Rpb24gKi8KIAog
LyogQmVnaW4gUEJYTmF0aXZlVGFyZ2V0IHNlY3Rpb24gKi8KKwkJMEZDRUZBQjUxODA1RDYxNjAw
NDcyQ0U0IC8qIGxsdm1Gb3JKU0MgKi8gPSB7CisJCQlpc2EgPSBQQlhOYXRpdmVUYXJnZXQ7CisJ
CQlidWlsZENvbmZpZ3VyYXRpb25MaXN0ID0gMEZDRUZBQjcxODA1RDYxNjAwNDcyQ0U0IC8qIEJ1
aWxkIGNvbmZpZ3VyYXRpb24gbGlzdCBmb3IgUEJYTmF0aXZlVGFyZ2V0ICJsbHZtRm9ySlNDIiAq
LzsKKwkJCWJ1aWxkUGhhc2VzID0gKAorCQkJCTBGQ0VGQUIyMTgwNUQ2MTYwMDQ3MkNFNCAvKiBT
b3VyY2VzICovLAorCQkJCTBGQ0VGQUIzMTgwNUQ2MTYwMDQ3MkNFNCAvKiBGcmFtZXdvcmtzICov
LAorCQkJCTBGQ0VGQUI0MTgwNUQ2MTYwMDQ3MkNFNCAvKiBIZWFkZXJzICovLAorCQkJKTsKKwkJ
CWJ1aWxkUnVsZXMgPSAoCisJCQkpOworCQkJZGVwZW5kZW5jaWVzID0gKAorCQkJKTsKKwkJCW5h
bWUgPSBsbHZtRm9ySlNDOworCQkJcHJvZHVjdE5hbWUgPSBsbHZtRm9ySlNDOworCQkJcHJvZHVj
dFJlZmVyZW5jZSA9IDBGQ0VGQUI2MTgwNUQ2MTYwMDQ3MkNFNCAvKiBsaWJsbHZtRm9ySlNDLmR5
bGliICovOworCQkJcHJvZHVjdFR5cGUgPSAiY29tLmFwcGxlLnByb2R1Y3QtdHlwZS5saWJyYXJ5
LmR5bmFtaWMiOworCQl9OwogCQkwRkY5MjJDMzE0RjQ2QjEzMDA0MUEyNEUgLyogSlNDTExJbnRP
ZmZzZXRzRXh0cmFjdG9yICovID0gewogCQkJaXNhID0gUEJYTmF0aXZlVGFyZ2V0OwogCQkJYnVp
bGRDb25maWd1cmF0aW9uTGlzdCA9IDBGRjkyMkNBMTRGNDZCMTMwMDQxQTI0RSAvKiBCdWlsZCBj
b25maWd1cmF0aW9uIGxpc3QgZm9yIFBCWE5hdGl2ZVRhcmdldCAiSlNDTExJbnRPZmZzZXRzRXh0
cmFjdG9yIiAqLzsKQEAgLTQ2NTAsNiArNDc0Nyw3IEBACiAJCQlidWlsZFJ1bGVzID0gKAogCQkJ
KTsKIAkJCWRlcGVuZGVuY2llcyA9ICgKKwkJCQkwRkNFRkFCRDE4MDVENjYzMDA0NzJDRTQgLyog
UEJYVGFyZ2V0RGVwZW5kZW5jeSAqLywKIAkJCQk2NUZCM0Y3RTA5RDExRUYzMDBGNDlERUIgLyog
UEJYVGFyZ2V0RGVwZW5kZW5jeSAqLywKIAkJCSk7CiAJCQluYW1lID0gSmF2YVNjcmlwdENvcmU7
CkBAIC00NzEwLDYgKzQ4MDgsNyBAQAogCQkJCTBGNDY4MEE5MTRCQTdGRDkwMEJGRTI3MiAvKiBM
TEludCBPZmZzZXRzICovLAogCQkJCTBGRjkyMkMzMTRGNDZCMTMwMDQxQTI0RSAvKiBKU0NMTElu
dE9mZnNldHNFeHRyYWN0b3IgKi8sCiAJCQkJNUQ2QjJBNDcxNTJCOUUxNzAwNTIzMURFIC8qIFRl
c3QgVG9vbHMgKi8sCisJCQkJMEZDRUZBQjUxODA1RDYxNjAwNDcyQ0U0IC8qIGxsdm1Gb3JKU0Mg
Ki8sCiAJCQkpOwogCQl9OwogLyogRW5kIFBCWFByb2plY3Qgc2VjdGlvbiAqLwpAQCAtNDg3NSw2
ICs0OTc0LDE1IEBACiAvKiBFbmQgUEJYU2hlbGxTY3JpcHRCdWlsZFBoYXNlIHNlY3Rpb24gKi8K
IAogLyogQmVnaW4gUEJYU291cmNlc0J1aWxkUGhhc2Ugc2VjdGlvbiAqLworCQkwRkNFRkFCMjE4
MDVENjE2MDA0NzJDRTQgLyogU291cmNlcyAqLyA9IHsKKwkJCWlzYSA9IFBCWFNvdXJjZXNCdWls
ZFBoYXNlOworCQkJYnVpbGRBY3Rpb25NYXNrID0gMjE0NzQ4MzY0NzsKKwkJCWZpbGVzID0gKAor
CQkJCTBGQ0VGQUMzMTgwNUU3NDAwMDQ3MkNFNCAvKiBMTFZNRXhwb3J0cy5jcHAgaW4gU291cmNl
cyAqLywKKwkJCQkwRkNFRkFDMTE4MDVEOTRFMDA0NzJDRTQgLyogTExWTU92ZXJyaWRlcy5jcHAg
aW4gU291cmNlcyAqLywKKwkJCSk7CisJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNz
aW5nID0gMDsKKwkJfTsKIAkJMEZGOTIyQzQxNEY0NkIxMzAwNDFBMjRFIC8qIFNvdXJjZXMgKi8g
PSB7CiAJCQlpc2EgPSBQQlhTb3VyY2VzQnVpbGRQaGFzZTsKIAkJCWJ1aWxkQWN0aW9uTWFzayA9
IDIxNDc0ODM2NDc7CkBAIC00OTM1LDYgKzUwNDMsNyBAQAogCQkJCTE0MjgwODY1MTA3RUMxMUEw
MDEzRTdCMiAvKiBCb29sZWFuUHJvdG90eXBlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTE0OEYy
MUFBMTA3RUM1M0EwMDQyRUMyQyAvKiBCeXRlY29kZUdlbmVyYXRvci5jcHAgaW4gU291cmNlcyAq
LywKIAkJCQkxNDI4MDgyRDEwN0VDMDU3MDAxM0U3QjIgLyogQ2FsbERhdGEuY3BwIGluIFNvdXJj
ZXMgKi8sCisJCQkJMEZDRUZBQjExODA1Q0E2RDAwNDcyQ0U0IC8qIEluaXRpYWxpemVMTFZNTWFj
Lm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJMTQyOUQ4REQwRUQyMjA1QjAwQjg5NjE5IC8qIENhbGxG
cmFtZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkwRjBCODNCMDE0QkNGNzE2MDA4ODVCNEYgLyog
Q2FsbExpbmtJbmZvLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTBGOTMzMjlEMTRDQTdEQzMwMDg1
RjNDNiAvKiBDYWxsTGlua1N0YXR1cy5jcHAgaW4gU291cmNlcyAqLywKQEAgLTUwNzQsNiArNTE4
Myw3IEBACiAJCQkJMEYyMzVCRDExNzE3OEUxQzAwNjkwQzdGIC8qIEZUTENBcmd1bWVudEdldHRl
ci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkwRkVBMEEyNzE3MDk2MjNCMDBCQjcyMkMgLyogRlRM
Q29tbW9uVmFsdWVzLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTBGRUEwQTBCMTcwNTEzREIwMEJC
NzIyQyAvKiBGVExDb21waWxlLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTBGQ0VGQUNEMTgwNUU3
NTUwMDQ3MkNFNCAvKiBMTFZNQVBJLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTBGMjM1QkQzMTcx
NzhFMUMwMDY5MEM3RiAvKiBGVExFeGl0QXJndW1lbnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJ
MEYyMzVCRDUxNzE3OEUxQzAwNjkwQzdGIC8qIEZUTEV4aXRBcmd1bWVudEZvck9wZXJhbmQuY3Bw
IGluIFNvdXJjZXMgKi8sCiAJCQkJMEYyMzVCRDgxNzE3OEUxQzAwNjkwQzdGIC8qIEZUTEV4aXRU
aHVua0dlbmVyYXRvci5jcHAgaW4gU291cmNlcyAqLywKQEAgLTUwOTEsNiArNTIwMSw3IEBACiAJ
CQkJMEYyMzVCRTExNzE3OEUxQzAwNjkwQzdGIC8qIEZUTFRodW5rcy5jcHAgaW4gU291cmNlcyAq
LywKIAkJCQkwRjIzNUJFMzE3MTc4RTFDMDA2OTBDN0YgLyogRlRMVmFsdWVGb3JtYXQuY3BwIGlu
IFNvdXJjZXMgKi8sCiAJCQkJMEYyMzVCRTUxNzE3OEUxQzAwNjkwQzdGIC8qIEZUTFZhbHVlU291
cmNlLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTBGQ0VGQUNBMTgwNUU3NTUwMDQ3MkNFNCAvKiBJ
bml0aWFsaXplTExWTS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkxNDdGMzlDQjEwN0VDMzc2MDA0
MjdBNDggLyogRnVuY3Rpb25Db25zdHJ1Y3Rvci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkwRkYw
RjE5RjE2QjcyQTE3MDA1REY5NUIgLyogRnVuY3Rpb25FeGVjdXRhYmxlRHVtcC5jcHAgaW4gU291
cmNlcyAqLywKIAkJCQkxNDdGMzlDQzEwN0VDMzc2MDA0MjdBNDggLyogRnVuY3Rpb25Qcm90b3R5
cGUuY3BwIGluIFNvdXJjZXMgKi8sCkBAIC01MjU4LDYgKzUzNjksNyBAQAogCQkJCTk1QUI4MzU2
MERBNDNDMzAwMEJDODNGMyAvKiBQcm9maWxlTm9kZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkw
RkY3MjlBRDE2NkFEMzVDMDAwRjVCQTMgLyogUHJvZmlsZXJCeXRlY29kZS5jcHAgaW4gU291cmNl
cyAqLywKIAkJCQkwRkY3MjlBRTE2NkFEMzVDMDAwRjVCQTMgLyogUHJvZmlsZXJCeXRlY29kZXMu
Y3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMEZDRUZBQ0IxODA1RTc1NTAwNDcyQ0U0IC8qIEluaXRp
YWxpemVMTFZNUE9TSVguY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMEYxMzkxMjkxNjc3MUMzMzAw
OUNDQjA3IC8qIFByb2ZpbGVyQnl0ZWNvZGVTZXF1ZW5jZS5jcHAgaW4gU291cmNlcyAqLywKIAkJ
CQkwRkY3MjlBRjE2NkFEMzVDMDAwRjVCQTMgLyogUHJvZmlsZXJDb21waWxhdGlvbi5jcHAgaW4g
U291cmNlcyAqLywKIAkJCQkwRkY3MjlCMDE2NkFEMzVDMDAwRjVCQTMgLyogUHJvZmlsZXJDb21w
aWxhdGlvbktpbmQuY3BwIGluIFNvdXJjZXMgKi8sCkBAIC01MzYwLDYgKzU0NzIsMTEgQEAKIC8q
IEVuZCBQQlhTb3VyY2VzQnVpbGRQaGFzZSBzZWN0aW9uICovCiAKIC8qIEJlZ2luIFBCWFRhcmdl
dERlcGVuZGVuY3kgc2VjdGlvbiAqLworCQkwRkNFRkFCRDE4MDVENjYzMDA0NzJDRTQgLyogUEJY
VGFyZ2V0RGVwZW5kZW5jeSAqLyA9IHsKKwkJCWlzYSA9IFBCWFRhcmdldERlcGVuZGVuY3k7CisJ
CQl0YXJnZXQgPSAwRkNFRkFCNTE4MDVENjE2MDA0NzJDRTQgLyogbGx2bUZvckpTQyAqLzsKKwkJ
CXRhcmdldFByb3h5ID0gMEZDRUZBQkMxODA1RDY2MzAwNDcyQ0U0IC8qIFBCWENvbnRhaW5lckl0
ZW1Qcm94eSAqLzsKKwkJfTsKIAkJMEZGOTIyRDMxNEY0NkIyRjAwNDFBMjRFIC8qIFBCWFRhcmdl
dERlcGVuZGVuY3kgKi8gPSB7CiAJCQlpc2EgPSBQQlhUYXJnZXREZXBlbmRlbmN5OwogCQkJdGFy
Z2V0ID0gMEY0NjgwQTkxNEJBN0ZEOTAwQkZFMjcyIC8qIExMSW50IE9mZnNldHMgKi87CkBAIC01
NDM2LDYgKzU1NTMsMTUyIEBACiAJCQl9OwogCQkJbmFtZSA9IFByb2R1Y3Rpb247CiAJCX07CisJ
CTBGQ0VGQUI4MTgwNUQ2MTYwMDQ3MkNFNCAvKiBEZWJ1ZyAqLyA9IHsKKwkJCWlzYSA9IFhDQnVp
bGRDb25maWd1cmF0aW9uOworCQkJYmFzZUNvbmZpZ3VyYXRpb25SZWZlcmVuY2UgPSAwRkNFRkFC
RTE4MDVEODY5MDA0NzJDRTQgLyogTExWTUZvckpTQy54Y2NvbmZpZyAqLzsKKwkJCWJ1aWxkU2V0
dGluZ3MgPSB7CisJCQkJQUxXQVlTX1NFQVJDSF9VU0VSX1BBVEhTID0gTk87CisJCQkJQ0xBTkdf
Q1hYX0xBTkdVQUdFX1NUQU5EQVJEID0gImdudSsrMHgiOworCQkJCUNMQU5HX0NYWF9MSUJSQVJZ
ID0gImxpYmMrKyI7CisJCQkJQ0xBTkdfRU5BQkxFX01PRFVMRVMgPSBZRVM7CisJCQkJQ0xBTkdf
RU5BQkxFX09CSkNfQVJDID0gWUVTOworCQkJCUNMQU5HX1dBUk5fQk9PTF9DT05WRVJTSU9OID0g
WUVTOworCQkJCUNMQU5HX1dBUk5fQ09OU1RBTlRfQ09OVkVSU0lPTiA9IFlFUzsKKwkJCQlDTEFO
R19XQVJOX0RJUkVDVF9PQkpDX0lTQV9VU0FHRSA9IFlFU19FUlJPUjsKKwkJCQlDTEFOR19XQVJO
X0VNUFRZX0JPRFkgPSBZRVM7CisJCQkJQ0xBTkdfV0FSTl9FTlVNX0NPTlZFUlNJT04gPSBZRVM7
CisJCQkJQ0xBTkdfV0FSTl9JTlRfQ09OVkVSU0lPTiA9IFlFUzsKKwkJCQlDTEFOR19XQVJOX09C
SkNfUk9PVF9DTEFTUyA9IFlFU19FUlJPUjsKKwkJCQlDTEFOR19XQVJOX19EVVBMSUNBVEVfTUVU
SE9EX01BVENIID0gWUVTOworCQkJCUNPUFlfUEhBU0VfU1RSSVAgPSBOTzsKKwkJCQlFWEVDVVRB
QkxFX1BSRUZJWCA9IGxpYjsKKwkJCQlHQ0NfQ19MQU5HVUFHRV9TVEFOREFSRCA9IGdudTk5Owor
CQkJCUdDQ19EWU5BTUlDX05PX1BJQyA9IE5POworCQkJCUdDQ19FTkFCTEVfT0JKQ19FWENFUFRJ
T05TID0gWUVTOworCQkJCUdDQ19PUFRJTUlaQVRJT05fTEVWRUwgPSAwOworCQkJCUdDQ19QUkVQ
Uk9DRVNTT1JfREVGSU5JVElPTlMgPSAoCisJCQkJCSJERUJVRz0xIiwKKwkJCQkJIiQoaW5oZXJp
dGVkKSIsCisJCQkJKTsKKwkJCQlHQ0NfU1lNQk9MU19QUklWQVRFX0VYVEVSTiA9IE5POworCQkJ
CUdDQ19XQVJOXzY0X1RPXzMyX0JJVF9DT05WRVJTSU9OID0gWUVTOworCQkJCUdDQ19XQVJOX0FC
T1VUX1JFVFVSTl9UWVBFID0gWUVTX0VSUk9SOworCQkJCUdDQ19XQVJOX1VOREVDTEFSRURfU0VM
RUNUT1IgPSBZRVM7CisJCQkJR0NDX1dBUk5fVU5JTklUSUFMSVpFRF9BVVRPUyA9IFlFUzsKKwkJ
CQlHQ0NfV0FSTl9VTlVTRURfRlVOQ1RJT04gPSBZRVM7CisJCQkJR0NDX1dBUk5fVU5VU0VEX1ZB
UklBQkxFID0gWUVTOworCQkJCU1BQ09TWF9ERVBMT1lNRU5UX1RBUkdFVCA9IDEwLjk7CisJCQkJ
T05MWV9BQ1RJVkVfQVJDSCA9IFlFUzsKKwkJCQlQUk9EVUNUX05BTUUgPSAiJChUQVJHRVRfTkFN
RSkiOworCQkJCVNES1JPT1QgPSBtYWNvc3g7CisJCQl9OworCQkJbmFtZSA9IERlYnVnOworCQl9
OworCQkwRkNFRkFCOTE4MDVENjE2MDA0NzJDRTQgLyogUmVsZWFzZSAqLyA9IHsKKwkJCWlzYSA9
IFhDQnVpbGRDb25maWd1cmF0aW9uOworCQkJYmFzZUNvbmZpZ3VyYXRpb25SZWZlcmVuY2UgPSAw
RkNFRkFCRTE4MDVEODY5MDA0NzJDRTQgLyogTExWTUZvckpTQy54Y2NvbmZpZyAqLzsKKwkJCWJ1
aWxkU2V0dGluZ3MgPSB7CisJCQkJQUxXQVlTX1NFQVJDSF9VU0VSX1BBVEhTID0gTk87CisJCQkJ
Q0xBTkdfQ1hYX0xBTkdVQUdFX1NUQU5EQVJEID0gImdudSsrMHgiOworCQkJCUNMQU5HX0NYWF9M
SUJSQVJZID0gImxpYmMrKyI7CisJCQkJQ0xBTkdfRU5BQkxFX01PRFVMRVMgPSBZRVM7CisJCQkJ
Q0xBTkdfRU5BQkxFX09CSkNfQVJDID0gWUVTOworCQkJCUNMQU5HX1dBUk5fQk9PTF9DT05WRVJT
SU9OID0gWUVTOworCQkJCUNMQU5HX1dBUk5fQ09OU1RBTlRfQ09OVkVSU0lPTiA9IFlFUzsKKwkJ
CQlDTEFOR19XQVJOX0RJUkVDVF9PQkpDX0lTQV9VU0FHRSA9IFlFU19FUlJPUjsKKwkJCQlDTEFO
R19XQVJOX0VNUFRZX0JPRFkgPSBZRVM7CisJCQkJQ0xBTkdfV0FSTl9FTlVNX0NPTlZFUlNJT04g
PSBZRVM7CisJCQkJQ0xBTkdfV0FSTl9JTlRfQ09OVkVSU0lPTiA9IFlFUzsKKwkJCQlDTEFOR19X
QVJOX09CSkNfUk9PVF9DTEFTUyA9IFlFU19FUlJPUjsKKwkJCQlDTEFOR19XQVJOX19EVVBMSUNB
VEVfTUVUSE9EX01BVENIID0gWUVTOworCQkJCUNPUFlfUEhBU0VfU1RSSVAgPSBZRVM7CisJCQkJ
REVCVUdfSU5GT1JNQVRJT05fRk9STUFUID0gImR3YXJmLXdpdGgtZHN5bSI7CisJCQkJRU5BQkxF
X05TX0FTU0VSVElPTlMgPSBOTzsKKwkJCQlFWEVDVVRBQkxFX1BSRUZJWCA9IGxpYjsKKwkJCQlH
Q0NfQ19MQU5HVUFHRV9TVEFOREFSRCA9IGdudTk5OworCQkJCUdDQ19FTkFCTEVfT0JKQ19FWENF
UFRJT05TID0gWUVTOworCQkJCUdDQ19XQVJOXzY0X1RPXzMyX0JJVF9DT05WRVJTSU9OID0gWUVT
OworCQkJCUdDQ19XQVJOX0FCT1VUX1JFVFVSTl9UWVBFID0gWUVTX0VSUk9SOworCQkJCUdDQ19X
QVJOX1VOREVDTEFSRURfU0VMRUNUT1IgPSBZRVM7CisJCQkJR0NDX1dBUk5fVU5JTklUSUFMSVpF
RF9BVVRPUyA9IFlFUzsKKwkJCQlHQ0NfV0FSTl9VTlVTRURfRlVOQ1RJT04gPSBZRVM7CisJCQkJ
R0NDX1dBUk5fVU5VU0VEX1ZBUklBQkxFID0gWUVTOworCQkJCU1BQ09TWF9ERVBMT1lNRU5UX1RB
UkdFVCA9IDEwLjk7CisJCQkJUFJPRFVDVF9OQU1FID0gIiQoVEFSR0VUX05BTUUpIjsKKwkJCQlT
REtST09UID0gbWFjb3N4OworCQkJfTsKKwkJCW5hbWUgPSBSZWxlYXNlOworCQl9OworCQkwRkNF
RkFCQTE4MDVENjE2MDA0NzJDRTQgLyogUHJvZmlsaW5nICovID0geworCQkJaXNhID0gWENCdWls
ZENvbmZpZ3VyYXRpb247CisJCQliYXNlQ29uZmlndXJhdGlvblJlZmVyZW5jZSA9IDBGQ0VGQUJF
MTgwNUQ4NjkwMDQ3MkNFNCAvKiBMTFZNRm9ySlNDLnhjY29uZmlnICovOworCQkJYnVpbGRTZXR0
aW5ncyA9IHsKKwkJCQlBTFdBWVNfU0VBUkNIX1VTRVJfUEFUSFMgPSBOTzsKKwkJCQlDTEFOR19D
WFhfTEFOR1VBR0VfU1RBTkRBUkQgPSAiZ251KysweCI7CisJCQkJQ0xBTkdfQ1hYX0xJQlJBUlkg
PSAibGliYysrIjsKKwkJCQlDTEFOR19FTkFCTEVfTU9EVUxFUyA9IFlFUzsKKwkJCQlDTEFOR19F
TkFCTEVfT0JKQ19BUkMgPSBZRVM7CisJCQkJQ0xBTkdfV0FSTl9CT09MX0NPTlZFUlNJT04gPSBZ
RVM7CisJCQkJQ0xBTkdfV0FSTl9DT05TVEFOVF9DT05WRVJTSU9OID0gWUVTOworCQkJCUNMQU5H
X1dBUk5fRElSRUNUX09CSkNfSVNBX1VTQUdFID0gWUVTX0VSUk9SOworCQkJCUNMQU5HX1dBUk5f
RU1QVFlfQk9EWSA9IFlFUzsKKwkJCQlDTEFOR19XQVJOX0VOVU1fQ09OVkVSU0lPTiA9IFlFUzsK
KwkJCQlDTEFOR19XQVJOX0lOVF9DT05WRVJTSU9OID0gWUVTOworCQkJCUNMQU5HX1dBUk5fT0JK
Q19ST09UX0NMQVNTID0gWUVTX0VSUk9SOworCQkJCUNMQU5HX1dBUk5fX0RVUExJQ0FURV9NRVRI
T0RfTUFUQ0ggPSBZRVM7CisJCQkJQ09QWV9QSEFTRV9TVFJJUCA9IFlFUzsKKwkJCQlERUJVR19J
TkZPUk1BVElPTl9GT1JNQVQgPSAiZHdhcmYtd2l0aC1kc3ltIjsKKwkJCQlFTkFCTEVfTlNfQVNT
RVJUSU9OUyA9IE5POworCQkJCUVYRUNVVEFCTEVfUFJFRklYID0gbGliOworCQkJCUdDQ19DX0xB
TkdVQUdFX1NUQU5EQVJEID0gZ251OTk7CisJCQkJR0NDX0VOQUJMRV9PQkpDX0VYQ0VQVElPTlMg
PSBZRVM7CisJCQkJR0NDX1dBUk5fNjRfVE9fMzJfQklUX0NPTlZFUlNJT04gPSBZRVM7CisJCQkJ
R0NDX1dBUk5fQUJPVVRfUkVUVVJOX1RZUEUgPSBZRVNfRVJST1I7CisJCQkJR0NDX1dBUk5fVU5E
RUNMQVJFRF9TRUxFQ1RPUiA9IFlFUzsKKwkJCQlHQ0NfV0FSTl9VTklOSVRJQUxJWkVEX0FVVE9T
ID0gWUVTOworCQkJCUdDQ19XQVJOX1VOVVNFRF9GVU5DVElPTiA9IFlFUzsKKwkJCQlHQ0NfV0FS
Tl9VTlVTRURfVkFSSUFCTEUgPSBZRVM7CisJCQkJTUFDT1NYX0RFUExPWU1FTlRfVEFSR0VUID0g
MTAuOTsKKwkJCQlQUk9EVUNUX05BTUUgPSAiJChUQVJHRVRfTkFNRSkiOworCQkJCVNES1JPT1Qg
PSBtYWNvc3g7CisJCQl9OworCQkJbmFtZSA9IFByb2ZpbGluZzsKKwkJfTsKKwkJMEZDRUZBQkIx
ODA1RDYxNjAwNDcyQ0U0IC8qIFByb2R1Y3Rpb24gKi8gPSB7CisJCQlpc2EgPSBYQ0J1aWxkQ29u
ZmlndXJhdGlvbjsKKwkJCWJhc2VDb25maWd1cmF0aW9uUmVmZXJlbmNlID0gMEZDRUZBQkUxODA1
RDg2OTAwNDcyQ0U0IC8qIExMVk1Gb3JKU0MueGNjb25maWcgKi87CisJCQlidWlsZFNldHRpbmdz
ID0geworCQkJCUFMV0FZU19TRUFSQ0hfVVNFUl9QQVRIUyA9IE5POworCQkJCUNMQU5HX0NYWF9M
QU5HVUFHRV9TVEFOREFSRCA9ICJnbnUrKzB4IjsKKwkJCQlDTEFOR19DWFhfTElCUkFSWSA9ICJs
aWJjKysiOworCQkJCUNMQU5HX0VOQUJMRV9NT0RVTEVTID0gWUVTOworCQkJCUNMQU5HX0VOQUJM
RV9PQkpDX0FSQyA9IFlFUzsKKwkJCQlDTEFOR19XQVJOX0JPT0xfQ09OVkVSU0lPTiA9IFlFUzsK
KwkJCQlDTEFOR19XQVJOX0NPTlNUQU5UX0NPTlZFUlNJT04gPSBZRVM7CisJCQkJQ0xBTkdfV0FS
Tl9ESVJFQ1RfT0JKQ19JU0FfVVNBR0UgPSBZRVNfRVJST1I7CisJCQkJQ0xBTkdfV0FSTl9FTVBU
WV9CT0RZID0gWUVTOworCQkJCUNMQU5HX1dBUk5fRU5VTV9DT05WRVJTSU9OID0gWUVTOworCQkJ
CUNMQU5HX1dBUk5fSU5UX0NPTlZFUlNJT04gPSBZRVM7CisJCQkJQ0xBTkdfV0FSTl9PQkpDX1JP
T1RfQ0xBU1MgPSBZRVNfRVJST1I7CisJCQkJQ0xBTkdfV0FSTl9fRFVQTElDQVRFX01FVEhPRF9N
QVRDSCA9IFlFUzsKKwkJCQlDT1BZX1BIQVNFX1NUUklQID0gWUVTOworCQkJCURFQlVHX0lORk9S
TUFUSU9OX0ZPUk1BVCA9ICJkd2FyZi13aXRoLWRzeW0iOworCQkJCUVOQUJMRV9OU19BU1NFUlRJ
T05TID0gTk87CisJCQkJRVhFQ1VUQUJMRV9QUkVGSVggPSBsaWI7CisJCQkJR0NDX0NfTEFOR1VB
R0VfU1RBTkRBUkQgPSBnbnU5OTsKKwkJCQlHQ0NfRU5BQkxFX09CSkNfRVhDRVBUSU9OUyA9IFlF
UzsKKwkJCQlHQ0NfV0FSTl82NF9UT18zMl9CSVRfQ09OVkVSU0lPTiA9IFlFUzsKKwkJCQlHQ0Nf
V0FSTl9BQk9VVF9SRVRVUk5fVFlQRSA9IFlFU19FUlJPUjsKKwkJCQlHQ0NfV0FSTl9VTkRFQ0xB
UkVEX1NFTEVDVE9SID0gWUVTOworCQkJCUdDQ19XQVJOX1VOSU5JVElBTElaRURfQVVUT1MgPSBZ
RVM7CisJCQkJR0NDX1dBUk5fVU5VU0VEX0ZVTkNUSU9OID0gWUVTOworCQkJCUdDQ19XQVJOX1VO
VVNFRF9WQVJJQUJMRSA9IFlFUzsKKwkJCQlNQUNPU1hfREVQTE9ZTUVOVF9UQVJHRVQgPSAxMC45
OworCQkJCVBST0RVQ1RfTkFNRSA9ICIkKFRBUkdFVF9OQU1FKSI7CisJCQkJU0RLUk9PVCA9IG1h
Y29zeDsKKwkJCX07CisJCQluYW1lID0gUHJvZHVjdGlvbjsKKwkJfTsKIAkJMEZGOTIyQ0IxNEY0
NkIxMzAwNDFBMjRFIC8qIERlYnVnICovID0gewogCQkJaXNhID0gWENCdWlsZENvbmZpZ3VyYXRp
b247CiAJCQliYXNlQ29uZmlndXJhdGlvblJlZmVyZW5jZSA9IEJDMDIxQkYyMTM2OTAwQzMwMEZD
NTQ2NyAvKiBUb29sRXhlY3V0YWJsZS54Y2NvbmZpZyAqLzsKQEAgLTU3NDAsNiArNjAwMywxNiBA
QAogCQkJZGVmYXVsdENvbmZpZ3VyYXRpb25Jc1Zpc2libGUgPSAwOwogCQkJZGVmYXVsdENvbmZp
Z3VyYXRpb25OYW1lID0gUHJvZHVjdGlvbjsKIAkJfTsKKwkJMEZDRUZBQjcxODA1RDYxNjAwNDcy
Q0U0IC8qIEJ1aWxkIGNvbmZpZ3VyYXRpb24gbGlzdCBmb3IgUEJYTmF0aXZlVGFyZ2V0ICJsbHZt
Rm9ySlNDIiAqLyA9IHsKKwkJCWlzYSA9IFhDQ29uZmlndXJhdGlvbkxpc3Q7CisJCQlidWlsZENv
bmZpZ3VyYXRpb25zID0gKAorCQkJCTBGQ0VGQUI4MTgwNUQ2MTYwMDQ3MkNFNCAvKiBEZWJ1ZyAq
LywKKwkJCQkwRkNFRkFCOTE4MDVENjE2MDA0NzJDRTQgLyogUmVsZWFzZSAqLywKKwkJCQkwRkNF
RkFCQTE4MDVENjE2MDA0NzJDRTQgLyogUHJvZmlsaW5nICovLAorCQkJCTBGQ0VGQUJCMTgwNUQ2
MTYwMDQ3MkNFNCAvKiBQcm9kdWN0aW9uICovLAorCQkJKTsKKwkJCWRlZmF1bHRDb25maWd1cmF0
aW9uSXNWaXNpYmxlID0gMDsKKwkJfTsKIAkJMEZGOTIyQ0ExNEY0NkIxMzAwNDFBMjRFIC8qIEJ1
aWxkIGNvbmZpZ3VyYXRpb24gbGlzdCBmb3IgUEJYTmF0aXZlVGFyZ2V0ICJKU0NMTEludE9mZnNl
dHNFeHRyYWN0b3IiICovID0gewogCQkJaXNhID0gWENDb25maWd1cmF0aW9uTGlzdDsKIAkJCWJ1
aWxkQ29uZmlndXJhdGlvbnMgPSAoCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGlzYXNz
ZW1ibGVyL0xMVk1EaXNhc3NlbWJsZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9kaXNhc3NlbWJsZXIvTExWTURpc2Fzc2VtYmxlci5jcHAJKHJldmlzaW9uIDE1NzE3
MikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kaXNhc3NlbWJsZXIvTExWTURpc2Fzc2VtYmxl
ci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI5LDYgKzI5LDcgQEAKICNpZiBVU0UoTExWTV9ESVNB
U1NFTUJMRVIpCiAKICNpbmNsdWRlICJNYWNyb0Fzc2VtYmxlckNvZGVSZWYuaCIKKyNpbmNsdWRl
ICJMTFZNQVBJLmgiCiAjaW5jbHVkZSA8d3RmL0xMVk1IZWFkZXJzLmg+CiAKIG5hbWVzcGFjZSBK
U0MgewpAQCAtOTEsNyArOTIsNyBAQCBib29sIHRyeVRvRGlzYXNzZW1ibGVXaXRoTExWTSgKICAg
ICBjaGFyIHN5bWJvbFN0cmluZ1tzeW1ib2xTdHJpbmdTaXplXTsKICAgICAKICAgICBMTFZNRGlz
YXNtQ29udGV4dFJlZiBkaXNhc3NlbWJseUNvbnRleHQgPQotICAgICAgICBMTFZNQ3JlYXRlRGlz
YXNtKHRyaXBsZSwgc3ltYm9sU3RyaW5nLCAwLCAwLCBzeW1ib2xMb29rdXBDYWxsYmFjayk7Cisg
ICAgICAgIGxsdm0tPkNyZWF0ZURpc2FzbSh0cmlwbGUsIHN5bWJvbFN0cmluZywgMCwgMCwgc3lt
Ym9sTG9va3VwQ2FsbGJhY2spOwogICAgIFJFTEVBU0VfQVNTRVJUKGRpc2Fzc2VtYmx5Q29udGV4
dCk7CiAgICAgCiAgICAgY2hhciBwY1N0cmluZ1syMF07CkBAIC0xMDUsNyArMTA2LDcgQEAgYm9v
bCB0cnlUb0Rpc2Fzc2VtYmxlV2l0aExMVk0oCiAgICAgICAgICAgICBwY1N0cmluZywgc2l6ZW9m
KHBjU3RyaW5nKSwgIjB4JWx4IiwKICAgICAgICAgICAgIHN0YXRpY19jYXN0PHVuc2lnbmVkIGxv
bmc+KGJpdHdpc2VfY2FzdDx1aW50cHRyX3Q+KHBjKSkpOwogCi0gICAgICAgIHNpemVfdCBpbnN0
cnVjdGlvblNpemUgPSBMTFZNRGlzYXNtSW5zdHJ1Y3Rpb24oCisgICAgICAgIHNpemVfdCBpbnN0
cnVjdGlvblNpemUgPSBsbHZtLT5EaXNhc21JbnN0cnVjdGlvbigKICAgICAgICAgICAgIGRpc2Fz
c2VtYmx5Q29udGV4dCwgcGMsIGVuZCAtIHBjLCBiaXR3aXNlX2Nhc3Q8dWludHB0cl90PihwYyks
CiAgICAgICAgICAgICBpbnN0cnVjdGlvblN0cmluZywgc2l6ZW9mKGluc3RydWN0aW9uU3RyaW5n
KSk7CiAgICAgICAgIApAQCAtMTE3LDcgKzExOCw3IEBAIGJvb2wgdHJ5VG9EaXNhc3NlbWJsZVdp
dGhMTFZNKAogICAgICAgICBvdXQucHJpbnRmKCIlcyUxNnM6ICVzXG4iLCBwcmVmaXgsIHBjU3Ry
aW5nLCBpbnN0cnVjdGlvblN0cmluZyk7CiAgICAgfQogICAgIAotICAgIExMVk1EaXNhc21EaXNw
b3NlKGRpc2Fzc2VtYmx5Q29udGV4dCk7CisgICAgbGx2bS0+RGlzYXNtRGlzcG9zZShkaXNhc3Nl
bWJseUNvbnRleHQpOwogICAgIAogICAgIHJldHVybiB0cnVlOwogfQpJbmRleDogU291cmNlL0ph
dmFTY3JpcHRDb3JlL2Z0bC9GVExBYmJyZXZpYXRpb25zLmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L0phdmFTY3JpcHRDb3JlL2Z0bC9GVExBYmJyZXZpYXRpb25zLmgJKHJldmlzaW9uIDE1NzE3MikK
KysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMQWJicmV2aWF0aW9ucy5oCSh3b3JraW5n
IGNvcHkpCkBAIC0zMyw2ICszMyw3IEBACiAjaW5jbHVkZSAiRlRMQWJicmV2aWF0ZWRUeXBlcy5o
IgogI2luY2x1ZGUgIkZUTFN3aXRjaENhc2UuaCIKICNpbmNsdWRlICJGVExWYWx1ZUZyb21CbG9j
ay5oIgorI2luY2x1ZGUgIkxMVk1BUEkuaCIKICNpbmNsdWRlIDxjc3RyaW5nPgogCiBuYW1lc3Bh
Y2UgSlNDIHsgbmFtZXNwYWNlIEZUTCB7CkBAIC00NiwyMiArNDcsMjIgQEAgbmFtZXNwYWNlIEpT
QyB7IG5hbWVzcGFjZSBGVEwgewogI2Vycm9yICJUaGUgRlRMIGJhY2tlbmQgYXNzdW1lcyB0aGF0
IHBvaW50ZXJzIGFyZSA2NC1iaXQuIgogI2VuZGlmCiAKLXN0YXRpYyBpbmxpbmUgTFR5cGUgdm9p
ZFR5cGUoTENvbnRleHQgY29udGV4dCkgeyByZXR1cm4gTExWTVZvaWRUeXBlSW5Db250ZXh0KGNv
bnRleHQpOyB9Ci1zdGF0aWMgaW5saW5lIExUeXBlIGludDFUeXBlKExDb250ZXh0IGNvbnRleHQp
IHsgcmV0dXJuIExMVk1JbnQxVHlwZUluQ29udGV4dChjb250ZXh0KTsgfQotc3RhdGljIGlubGlu
ZSBMVHlwZSBpbnQ4VHlwZShMQ29udGV4dCBjb250ZXh0KSB7IHJldHVybiBMTFZNSW50OFR5cGVJ
bkNvbnRleHQoY29udGV4dCk7IH0KLXN0YXRpYyBpbmxpbmUgTFR5cGUgaW50MTZUeXBlKExDb250
ZXh0IGNvbnRleHQpIHsgcmV0dXJuIExMVk1JbnQxNlR5cGVJbkNvbnRleHQoY29udGV4dCk7IH0K
LXN0YXRpYyBpbmxpbmUgTFR5cGUgaW50MzJUeXBlKExDb250ZXh0IGNvbnRleHQpIHsgcmV0dXJu
IExMVk1JbnQzMlR5cGVJbkNvbnRleHQoY29udGV4dCk7IH0KLXN0YXRpYyBpbmxpbmUgTFR5cGUg
aW50NjRUeXBlKExDb250ZXh0IGNvbnRleHQpIHsgcmV0dXJuIExMVk1JbnQ2NFR5cGVJbkNvbnRl
eHQoY29udGV4dCk7IH0KLXN0YXRpYyBpbmxpbmUgTFR5cGUgaW50UHRyVHlwZShMQ29udGV4dCBj
b250ZXh0KSB7IHJldHVybiBMTFZNSW50NjRUeXBlSW5Db250ZXh0KGNvbnRleHQpOyB9Ci1zdGF0
aWMgaW5saW5lIExUeXBlIGZsb2F0VHlwZShMQ29udGV4dCBjb250ZXh0KSB7IHJldHVybiBMTFZN
RmxvYXRUeXBlSW5Db250ZXh0KGNvbnRleHQpOyB9Ci1zdGF0aWMgaW5saW5lIExUeXBlIGRvdWJs
ZVR5cGUoTENvbnRleHQgY29udGV4dCkgeyByZXR1cm4gTExWTURvdWJsZVR5cGVJbkNvbnRleHQo
Y29udGV4dCk7IH0KK3N0YXRpYyBpbmxpbmUgTFR5cGUgdm9pZFR5cGUoTENvbnRleHQgY29udGV4
dCkgeyByZXR1cm4gbGx2bS0+Vm9pZFR5cGVJbkNvbnRleHQoY29udGV4dCk7IH0KK3N0YXRpYyBp
bmxpbmUgTFR5cGUgaW50MVR5cGUoTENvbnRleHQgY29udGV4dCkgeyByZXR1cm4gbGx2bS0+SW50
MVR5cGVJbkNvbnRleHQoY29udGV4dCk7IH0KK3N0YXRpYyBpbmxpbmUgTFR5cGUgaW50OFR5cGUo
TENvbnRleHQgY29udGV4dCkgeyByZXR1cm4gbGx2bS0+SW50OFR5cGVJbkNvbnRleHQoY29udGV4
dCk7IH0KK3N0YXRpYyBpbmxpbmUgTFR5cGUgaW50MTZUeXBlKExDb250ZXh0IGNvbnRleHQpIHsg
cmV0dXJuIGxsdm0tPkludDE2VHlwZUluQ29udGV4dChjb250ZXh0KTsgfQorc3RhdGljIGlubGlu
ZSBMVHlwZSBpbnQzMlR5cGUoTENvbnRleHQgY29udGV4dCkgeyByZXR1cm4gbGx2bS0+SW50MzJU
eXBlSW5Db250ZXh0KGNvbnRleHQpOyB9CitzdGF0aWMgaW5saW5lIExUeXBlIGludDY0VHlwZShM
Q29udGV4dCBjb250ZXh0KSB7IHJldHVybiBsbHZtLT5JbnQ2NFR5cGVJbkNvbnRleHQoY29udGV4
dCk7IH0KK3N0YXRpYyBpbmxpbmUgTFR5cGUgaW50UHRyVHlwZShMQ29udGV4dCBjb250ZXh0KSB7
IHJldHVybiBsbHZtLT5JbnQ2NFR5cGVJbkNvbnRleHQoY29udGV4dCk7IH0KK3N0YXRpYyBpbmxp
bmUgTFR5cGUgZmxvYXRUeXBlKExDb250ZXh0IGNvbnRleHQpIHsgcmV0dXJuIGxsdm0tPkZsb2F0
VHlwZUluQ29udGV4dChjb250ZXh0KTsgfQorc3RhdGljIGlubGluZSBMVHlwZSBkb3VibGVUeXBl
KExDb250ZXh0IGNvbnRleHQpIHsgcmV0dXJuIGxsdm0tPkRvdWJsZVR5cGVJbkNvbnRleHQoY29u
dGV4dCk7IH0KIAotc3RhdGljIGlubGluZSBMVHlwZSBwb2ludGVyVHlwZShMVHlwZSB0eXBlKSB7
IHJldHVybiBMTFZNUG9pbnRlclR5cGUodHlwZSwgMCk7IH0KK3N0YXRpYyBpbmxpbmUgTFR5cGUg
cG9pbnRlclR5cGUoTFR5cGUgdHlwZSkgeyByZXR1cm4gbGx2bS0+UG9pbnRlclR5cGUodHlwZSwg
MCk7IH0KIAogZW51bSBQYWNraW5nTW9kZSB7IE5vdFBhY2tlZCwgUGFja2VkIH07CiBzdGF0aWMg
aW5saW5lIExUeXBlIHN0cnVjdFR5cGUoTENvbnRleHQgY29udGV4dCwgTFR5cGUqIGVsZW1lbnRU
eXBlcywgdW5zaWduZWQgZWxlbWVudENvdW50LCBQYWNraW5nTW9kZSBwYWNraW5nID0gTm90UGFj
a2VkKQogewotICAgIHJldHVybiBMTFZNU3RydWN0VHlwZUluQ29udGV4dChjb250ZXh0LCBlbGVt
ZW50VHlwZXMsIGVsZW1lbnRDb3VudCwgcGFja2luZyA9PSBQYWNrZWQpOworICAgIHJldHVybiBs
bHZtLT5TdHJ1Y3RUeXBlSW5Db250ZXh0KGNvbnRleHQsIGVsZW1lbnRUeXBlcywgZWxlbWVudENv
dW50LCBwYWNraW5nID09IFBhY2tlZCk7CiB9CiBzdGF0aWMgaW5saW5lIExUeXBlIHN0cnVjdFR5
cGUoTENvbnRleHQgY29udGV4dCwgUGFja2luZ01vZGUgcGFja2luZyA9IE5vdFBhY2tlZCkKIHsK
QEAgLTgwLDcgKzgxLDcgQEAgc3RhdGljIGlubGluZSBMVHlwZSBzdHJ1Y3RUeXBlKExDb250ZXh0
IAogZW51bSBWYXJpYWRpY2l0eSB7IE5vdFZhcmlhZGljLCBWYXJpYWRpYyB9Owogc3RhdGljIGlu
bGluZSBMVHlwZSBmdW5jdGlvblR5cGUoTFR5cGUgcmV0dXJuVHlwZSwgY29uc3QgTFR5cGUqIHBh
cmFtVHlwZXMsIHVuc2lnbmVkIHBhcmFtQ291bnQsIFZhcmlhZGljaXR5IHZhcmlhZGljaXR5KQog
ewotICAgIHJldHVybiBMTFZNRnVuY3Rpb25UeXBlKHJldHVyblR5cGUsIGNvbnN0X2Nhc3Q8TFR5
cGUqPihwYXJhbVR5cGVzKSwgcGFyYW1Db3VudCwgdmFyaWFkaWNpdHkgPT0gVmFyaWFkaWMpOwor
ICAgIHJldHVybiBsbHZtLT5GdW5jdGlvblR5cGUocmV0dXJuVHlwZSwgY29uc3RfY2FzdDxMVHlw
ZSo+KHBhcmFtVHlwZXMpLCBwYXJhbUNvdW50LCB2YXJpYWRpY2l0eSA9PSBWYXJpYWRpYyk7CiB9
CiB0ZW1wbGF0ZTx0eXBlbmFtZSBWZWN0b3JUeXBlPgogaW5saW5lIExUeXBlIGZ1bmN0aW9uVHlw
ZShMVHlwZSByZXR1cm5UeXBlLCBjb25zdCBWZWN0b3JUeXBlJiB2ZWN0b3IsIFZhcmlhZGljaXR5
IHZhcmlhZGljaXR5ID0gTm90VmFyaWFkaWMpCkBAIC0xMTEsMTIgKzExMiwxMiBAQCBzdGF0aWMg
aW5saW5lIExUeXBlIGZ1bmN0aW9uVHlwZShMVHlwZSByCiAgICAgcmV0dXJuIGZ1bmN0aW9uVHlw
ZShyZXR1cm5UeXBlLCBwYXJhbVR5cGVzLCA0LCB2YXJpYWRpY2l0eSk7CiB9CiAKLXN0YXRpYyBp
bmxpbmUgTFR5cGUgdHlwZU9mKExWYWx1ZSB2YWx1ZSkgeyByZXR1cm4gTExWTVR5cGVPZih2YWx1
ZSk7IH0KK3N0YXRpYyBpbmxpbmUgTFR5cGUgdHlwZU9mKExWYWx1ZSB2YWx1ZSkgeyByZXR1cm4g
bGx2bS0+VHlwZU9mKHZhbHVlKTsgfQogCi1zdGF0aWMgaW5saW5lIHVuc2lnbmVkIG1kS2luZElE
KExDb250ZXh0IGNvbnRleHQsIGNvbnN0IGNoYXIqIHN0cmluZykgeyByZXR1cm4gTExWTUdldE1E
S2luZElESW5Db250ZXh0KGNvbnRleHQsIHN0cmluZywgc3RkOjpzdHJsZW4oc3RyaW5nKSk7IH0K
LXN0YXRpYyBpbmxpbmUgTFZhbHVlIG1kU3RyaW5nKExDb250ZXh0IGNvbnRleHQsIGNvbnN0IGNo
YXIqIHN0cmluZywgdW5zaWduZWQgbGVuZ3RoKSB7IHJldHVybiBMTFZNTURTdHJpbmdJbkNvbnRl
eHQoY29udGV4dCwgc3RyaW5nLCBsZW5ndGgpOyB9CitzdGF0aWMgaW5saW5lIHVuc2lnbmVkIG1k
S2luZElEKExDb250ZXh0IGNvbnRleHQsIGNvbnN0IGNoYXIqIHN0cmluZykgeyByZXR1cm4gbGx2
bS0+R2V0TURLaW5kSURJbkNvbnRleHQoY29udGV4dCwgc3RyaW5nLCBzdGQ6OnN0cmxlbihzdHJp
bmcpKTsgfQorc3RhdGljIGlubGluZSBMVmFsdWUgbWRTdHJpbmcoTENvbnRleHQgY29udGV4dCwg
Y29uc3QgY2hhciogc3RyaW5nLCB1bnNpZ25lZCBsZW5ndGgpIHsgcmV0dXJuIGxsdm0tPk1EU3Ry
aW5nSW5Db250ZXh0KGNvbnRleHQsIHN0cmluZywgbGVuZ3RoKTsgfQogc3RhdGljIGlubGluZSBM
VmFsdWUgbWRTdHJpbmcoTENvbnRleHQgY29udGV4dCwgY29uc3QgY2hhciogc3RyaW5nKSB7IHJl
dHVybiBtZFN0cmluZyhjb250ZXh0LCBzdHJpbmcsIHN0ZDo6c3RybGVuKHN0cmluZykpOyB9Ci1z
dGF0aWMgaW5saW5lIExWYWx1ZSBtZE5vZGUoTENvbnRleHQgY29udGV4dCwgTFZhbHVlKiBhcmdz
LCB1bnNpZ25lZCBudW1BcmdzKSB7IHJldHVybiBMTFZNTUROb2RlSW5Db250ZXh0KGNvbnRleHQs
IGFyZ3MsIG51bUFyZ3MpOyB9CitzdGF0aWMgaW5saW5lIExWYWx1ZSBtZE5vZGUoTENvbnRleHQg
Y29udGV4dCwgTFZhbHVlKiBhcmdzLCB1bnNpZ25lZCBudW1BcmdzKSB7IHJldHVybiBsbHZtLT5N
RE5vZGVJbkNvbnRleHQoY29udGV4dCwgYXJncywgbnVtQXJncyk7IH0KIHN0YXRpYyBpbmxpbmUg
TFZhbHVlIG1kTm9kZShMQ29udGV4dCBjb250ZXh0KSB7IHJldHVybiBtZE5vZGUoY29udGV4dCwg
MCwgMCk7IH0KIHN0YXRpYyBpbmxpbmUgTFZhbHVlIG1kTm9kZShMQ29udGV4dCBjb250ZXh0LCBM
VmFsdWUgYXJnMSkgeyByZXR1cm4gbWROb2RlKGNvbnRleHQsICZhcmcxLCAxKTsgfQogc3RhdGlj
IGlubGluZSBMVmFsdWUgbWROb2RlKExDb250ZXh0IGNvbnRleHQsIExWYWx1ZSBhcmcxLCBMVmFs
dWUgYXJnMikKQEAgLTEyNSwxMSArMTI2LDExIEBAIHN0YXRpYyBpbmxpbmUgTFZhbHVlIG1kTm9k
ZShMQ29udGV4dCBjb24KICAgICByZXR1cm4gbWROb2RlKGNvbnRleHQsIGFyZ3MsIDIpOwogfQog
Ci1zdGF0aWMgaW5saW5lIHZvaWQgc2V0TWV0YWRhdGEoTFZhbHVlIGluc3RydWN0aW9uLCB1bnNp
Z25lZCBraW5kLCBMVmFsdWUgbWV0YWRhdGEpIHsgTExWTVNldE1ldGFkYXRhKGluc3RydWN0aW9u
LCBraW5kLCBtZXRhZGF0YSk7IH0KK3N0YXRpYyBpbmxpbmUgdm9pZCBzZXRNZXRhZGF0YShMVmFs
dWUgaW5zdHJ1Y3Rpb24sIHVuc2lnbmVkIGtpbmQsIExWYWx1ZSBtZXRhZGF0YSkgeyBsbHZtLT5T
ZXRNZXRhZGF0YShpbnN0cnVjdGlvbiwga2luZCwgbWV0YWRhdGEpOyB9CiAKLXN0YXRpYyBpbmxp
bmUgTFZhbHVlIGFkZEZ1bmN0aW9uKExNb2R1bGUgbW9kdWxlLCBjb25zdCBjaGFyKiBuYW1lLCBM
VHlwZSB0eXBlKSB7IHJldHVybiBMTFZNQWRkRnVuY3Rpb24obW9kdWxlLCBuYW1lLCB0eXBlKTsg
fQotc3RhdGljIGlubGluZSB2b2lkIHNldExpbmthZ2UoTFZhbHVlIGdsb2JhbCwgTExpbmthZ2Ug
bGlua2FnZSkgeyBMTFZNU2V0TGlua2FnZShnbG9iYWwsIGxpbmthZ2UpOyB9Ci1zdGF0aWMgaW5s
aW5lIHZvaWQgc2V0RnVuY3Rpb25DYWxsaW5nQ29udihMVmFsdWUgZnVuY3Rpb24sIExDYWxsQ29u
diBjb252ZW50aW9uKSB7IExMVk1TZXRGdW5jdGlvbkNhbGxDb252KGZ1bmN0aW9uLCBjb252ZW50
aW9uKTsgfQorc3RhdGljIGlubGluZSBMVmFsdWUgYWRkRnVuY3Rpb24oTE1vZHVsZSBtb2R1bGUs
IGNvbnN0IGNoYXIqIG5hbWUsIExUeXBlIHR5cGUpIHsgcmV0dXJuIGxsdm0tPkFkZEZ1bmN0aW9u
KG1vZHVsZSwgbmFtZSwgdHlwZSk7IH0KK3N0YXRpYyBpbmxpbmUgdm9pZCBzZXRMaW5rYWdlKExW
YWx1ZSBnbG9iYWwsIExMaW5rYWdlIGxpbmthZ2UpIHsgbGx2bS0+U2V0TGlua2FnZShnbG9iYWws
IGxpbmthZ2UpOyB9CitzdGF0aWMgaW5saW5lIHZvaWQgc2V0RnVuY3Rpb25DYWxsaW5nQ29udihM
VmFsdWUgZnVuY3Rpb24sIExDYWxsQ29udiBjb252ZW50aW9uKSB7IGxsdm0tPlNldEZ1bmN0aW9u
Q2FsbENvbnYoZnVuY3Rpb24sIGNvbnZlbnRpb24pOyB9CiAKIHN0YXRpYyBpbmxpbmUgTFZhbHVl
IGFkZEV4dGVybkZ1bmN0aW9uKExNb2R1bGUgbW9kdWxlLCBjb25zdCBjaGFyKiBuYW1lLCBMVHlw
ZSB0eXBlKQogewpAQCAtMTM4LDIxICsxMzksMjEgQEAgc3RhdGljIGlubGluZSBMVmFsdWUgYWRk
RXh0ZXJuRnVuY3Rpb24oTAogICAgIHJldHVybiByZXN1bHQ7CiB9CiAKLXN0YXRpYyBpbmxpbmUg
TFZhbHVlIGdldFBhcmFtKExWYWx1ZSBmdW5jdGlvbiwgdW5zaWduZWQgaW5kZXgpIHsgcmV0dXJu
IExMVk1HZXRQYXJhbShmdW5jdGlvbiwgaW5kZXgpOyB9CitzdGF0aWMgaW5saW5lIExWYWx1ZSBn
ZXRQYXJhbShMVmFsdWUgZnVuY3Rpb24sIHVuc2lnbmVkIGluZGV4KSB7IHJldHVybiBsbHZtLT5H
ZXRQYXJhbShmdW5jdGlvbiwgaW5kZXgpOyB9CiAKIGVudW0gQml0RXh0ZW5zaW9uIHsgWmVyb0V4
dGVuZCwgU2lnbkV4dGVuZCB9Owotc3RhdGljIGlubGluZSBMVmFsdWUgY29uc3RJbnQoTFR5cGUg
dHlwZSwgdW5zaWduZWQgbG9uZyBsb25nIHZhbHVlLCBCaXRFeHRlbnNpb24gZXh0ZW5zaW9uID0g
WmVyb0V4dGVuZCkgeyByZXR1cm4gTExWTUNvbnN0SW50KHR5cGUsIHZhbHVlLCBleHRlbnNpb24g
PT0gU2lnbkV4dGVuZCk7IH0KLXN0YXRpYyBpbmxpbmUgTFZhbHVlIGNvbnN0UmVhbChMVHlwZSB0
eXBlLCBkb3VibGUgdmFsdWUpIHsgcmV0dXJuIExMVk1Db25zdFJlYWwodHlwZSwgdmFsdWUpOyB9
Ci1zdGF0aWMgaW5saW5lIExWYWx1ZSBjb25zdEludFRvUHRyKExWYWx1ZSB2YWx1ZSwgTFR5cGUg
dHlwZSkgeyByZXR1cm4gTExWTUNvbnN0SW50VG9QdHIodmFsdWUsIHR5cGUpOyB9Ci1zdGF0aWMg
aW5saW5lIExWYWx1ZSBjb25zdEJpdENhc3QoTFZhbHVlIHZhbHVlLCBMVHlwZSB0eXBlKSB7IHJl
dHVybiBMTFZNQ29uc3RCaXRDYXN0KHZhbHVlLCB0eXBlKTsgfQorc3RhdGljIGlubGluZSBMVmFs
dWUgY29uc3RJbnQoTFR5cGUgdHlwZSwgdW5zaWduZWQgbG9uZyBsb25nIHZhbHVlLCBCaXRFeHRl
bnNpb24gZXh0ZW5zaW9uID0gWmVyb0V4dGVuZCkgeyByZXR1cm4gbGx2bS0+Q29uc3RJbnQodHlw
ZSwgdmFsdWUsIGV4dGVuc2lvbiA9PSBTaWduRXh0ZW5kKTsgfQorc3RhdGljIGlubGluZSBMVmFs
dWUgY29uc3RSZWFsKExUeXBlIHR5cGUsIGRvdWJsZSB2YWx1ZSkgeyByZXR1cm4gbGx2bS0+Q29u
c3RSZWFsKHR5cGUsIHZhbHVlKTsgfQorc3RhdGljIGlubGluZSBMVmFsdWUgY29uc3RJbnRUb1B0
cihMVmFsdWUgdmFsdWUsIExUeXBlIHR5cGUpIHsgcmV0dXJuIGxsdm0tPkNvbnN0SW50VG9QdHIo
dmFsdWUsIHR5cGUpOyB9CitzdGF0aWMgaW5saW5lIExWYWx1ZSBjb25zdEJpdENhc3QoTFZhbHVl
IHZhbHVlLCBMVHlwZSB0eXBlKSB7IHJldHVybiBsbHZtLT5Db25zdEJpdENhc3QodmFsdWUsIHR5
cGUpOyB9CiAKLXN0YXRpYyBpbmxpbmUgTEJhc2ljQmxvY2sgYXBwZW5kQmFzaWNCbG9jayhMQ29u
dGV4dCBjb250ZXh0LCBMVmFsdWUgZnVuY3Rpb24sIGNvbnN0IGNoYXIqIG5hbWUgPSAiIikgeyBy
ZXR1cm4gTExWTUFwcGVuZEJhc2ljQmxvY2tJbkNvbnRleHQoY29udGV4dCwgZnVuY3Rpb24sIG5h
bWUpOyB9Ci1zdGF0aWMgaW5saW5lIExCYXNpY0Jsb2NrIGluc2VydEJhc2ljQmxvY2soTENvbnRl
eHQgY29udGV4dCwgTEJhc2ljQmxvY2sgYmVmb3JlQmFzaWNCbG9jaywgY29uc3QgY2hhciogbmFt
ZSA9ICIiKSB7IHJldHVybiBMTFZNSW5zZXJ0QmFzaWNCbG9ja0luQ29udGV4dChjb250ZXh0LCBi
ZWZvcmVCYXNpY0Jsb2NrLCBuYW1lKTsgfQorc3RhdGljIGlubGluZSBMQmFzaWNCbG9jayBhcHBl
bmRCYXNpY0Jsb2NrKExDb250ZXh0IGNvbnRleHQsIExWYWx1ZSBmdW5jdGlvbiwgY29uc3QgY2hh
ciogbmFtZSA9ICIiKSB7IHJldHVybiBsbHZtLT5BcHBlbmRCYXNpY0Jsb2NrSW5Db250ZXh0KGNv
bnRleHQsIGZ1bmN0aW9uLCBuYW1lKTsgfQorc3RhdGljIGlubGluZSBMQmFzaWNCbG9jayBpbnNl
cnRCYXNpY0Jsb2NrKExDb250ZXh0IGNvbnRleHQsIExCYXNpY0Jsb2NrIGJlZm9yZUJhc2ljQmxv
Y2ssIGNvbnN0IGNoYXIqIG5hbWUgPSAiIikgeyByZXR1cm4gbGx2bS0+SW5zZXJ0QmFzaWNCbG9j
a0luQ29udGV4dChjb250ZXh0LCBiZWZvcmVCYXNpY0Jsb2NrLCBuYW1lKTsgfQogCi1zdGF0aWMg
aW5saW5lIExWYWx1ZSBidWlsZFBoaShMQnVpbGRlciBidWlsZGVyLCBMVHlwZSB0eXBlKSB7IHJl
dHVybiBMTFZNQnVpbGRQaGkoYnVpbGRlciwgdHlwZSwgIiIpOyB9CitzdGF0aWMgaW5saW5lIExW
YWx1ZSBidWlsZFBoaShMQnVpbGRlciBidWlsZGVyLCBMVHlwZSB0eXBlKSB7IHJldHVybiBsbHZt
LT5CdWlsZFBoaShidWlsZGVyLCB0eXBlLCAiIik7IH0KIHN0YXRpYyBpbmxpbmUgdm9pZCBhZGRJ
bmNvbWluZyhMVmFsdWUgcGhpLCBjb25zdCBMVmFsdWUqIHZhbHVlcywgY29uc3QgTEJhc2ljQmxv
Y2sqIGJsb2NrcywgdW5zaWduZWQgbnVtUHJlZGVjZXNzb3JzKQogewotICAgIExMVk1BZGRJbmNv
bWluZyhwaGksIGNvbnN0X2Nhc3Q8TFZhbHVlKj4odmFsdWVzKSwgY29uc3RfY2FzdDxMQmFzaWNC
bG9jayo+KGJsb2NrcyksIG51bVByZWRlY2Vzc29ycyk7CisgICAgbGx2bS0+QWRkSW5jb21pbmco
cGhpLCBjb25zdF9jYXN0PExWYWx1ZSo+KHZhbHVlcyksIGNvbnN0X2Nhc3Q8TEJhc2ljQmxvY2sq
PihibG9ja3MpLCBudW1QcmVkZWNlc3NvcnMpOwogfQogc3RhdGljIGlubGluZSB2b2lkIGFkZElu
Y29taW5nKExWYWx1ZSBwaGksIFZhbHVlRnJvbUJsb2NrIHZhbHVlMSkKIHsKQEAgLTE4MCw0NCAr
MTgxLDQ0IEBAIHN0YXRpYyBpbmxpbmUgTFZhbHVlIGJ1aWxkUGhpKAogICAgIHJldHVybiByZXN1
bHQ7CiB9CiAKLXN0YXRpYyBpbmxpbmUgTFZhbHVlIGJ1aWxkQWxsb2NhKExCdWlsZGVyIGJ1aWxk
ZXIsIExUeXBlIHR5cGUpIHsgcmV0dXJuIExMVk1CdWlsZEFsbG9jYShidWlsZGVyLCB0eXBlLCAi
Iik7IH0KLXN0YXRpYyBpbmxpbmUgTFZhbHVlIGJ1aWxkQWRkKExCdWlsZGVyIGJ1aWxkZXIsIExW
YWx1ZSBsZWZ0LCBMVmFsdWUgcmlnaHQpIHsgcmV0dXJuIExMVk1CdWlsZEFkZChidWlsZGVyLCBs
ZWZ0LCByaWdodCwgIiIpOyB9Ci1zdGF0aWMgaW5saW5lIExWYWx1ZSBidWlsZFN1YihMQnVpbGRl
ciBidWlsZGVyLCBMVmFsdWUgbGVmdCwgTFZhbHVlIHJpZ2h0KSB7IHJldHVybiBMTFZNQnVpbGRT
dWIoYnVpbGRlciwgbGVmdCwgcmlnaHQsICIiKTsgfQotc3RhdGljIGlubGluZSBMVmFsdWUgYnVp
bGRNdWwoTEJ1aWxkZXIgYnVpbGRlciwgTFZhbHVlIGxlZnQsIExWYWx1ZSByaWdodCkgeyByZXR1
cm4gTExWTUJ1aWxkTXVsKGJ1aWxkZXIsIGxlZnQsIHJpZ2h0LCAiIik7IH0KLXN0YXRpYyBpbmxp
bmUgTFZhbHVlIGJ1aWxkRGl2KExCdWlsZGVyIGJ1aWxkZXIsIExWYWx1ZSBsZWZ0LCBMVmFsdWUg
cmlnaHQpIHsgcmV0dXJuIExMVk1CdWlsZFNEaXYoYnVpbGRlciwgbGVmdCwgcmlnaHQsICIiKTsg
fQotc3RhdGljIGlubGluZSBMVmFsdWUgYnVpbGRSZW0oTEJ1aWxkZXIgYnVpbGRlciwgTFZhbHVl
IGxlZnQsIExWYWx1ZSByaWdodCkgeyByZXR1cm4gTExWTUJ1aWxkU1JlbShidWlsZGVyLCBsZWZ0
LCByaWdodCwgIiIpOyB9Ci1zdGF0aWMgaW5saW5lIExWYWx1ZSBidWlsZE5lZyhMQnVpbGRlciBi
dWlsZGVyLCBMVmFsdWUgdmFsdWUpIHsgcmV0dXJuIExMVk1CdWlsZE5lZyhidWlsZGVyLCB2YWx1
ZSwgIiIpOyB9Ci1zdGF0aWMgaW5saW5lIExWYWx1ZSBidWlsZEZBZGQoTEJ1aWxkZXIgYnVpbGRl
ciwgTFZhbHVlIGxlZnQsIExWYWx1ZSByaWdodCkgeyByZXR1cm4gTExWTUJ1aWxkRkFkZChidWls
ZGVyLCBsZWZ0LCByaWdodCwgIiIpOyB9Ci1zdGF0aWMgaW5saW5lIExWYWx1ZSBidWlsZEZTdWIo
TEJ1aWxkZXIgYnVpbGRlciwgTFZhbHVlIGxlZnQsIExWYWx1ZSByaWdodCkgeyByZXR1cm4gTExW
TUJ1aWxkRlN1YihidWlsZGVyLCBsZWZ0LCByaWdodCwgIiIpOyB9Ci1zdGF0aWMgaW5saW5lIExW
YWx1ZSBidWlsZEZNdWwoTEJ1aWxkZXIgYnVpbGRlciwgTFZhbHVlIGxlZnQsIExWYWx1ZSByaWdo
dCkgeyByZXR1cm4gTExWTUJ1aWxkRk11bChidWlsZGVyLCBsZWZ0LCByaWdodCwgIiIpOyB9Ci1z
dGF0aWMgaW5saW5lIExWYWx1ZSBidWlsZEZEaXYoTEJ1aWxkZXIgYnVpbGRlciwgTFZhbHVlIGxl
ZnQsIExWYWx1ZSByaWdodCkgeyByZXR1cm4gTExWTUJ1aWxkRkRpdihidWlsZGVyLCBsZWZ0LCBy
aWdodCwgIiIpOyB9Ci1zdGF0aWMgaW5saW5lIExWYWx1ZSBidWlsZEZSZW0oTEJ1aWxkZXIgYnVp
bGRlciwgTFZhbHVlIGxlZnQsIExWYWx1ZSByaWdodCkgeyByZXR1cm4gTExWTUJ1aWxkRlJlbShi
dWlsZGVyLCBsZWZ0LCByaWdodCwgIiIpOyB9Ci1zdGF0aWMgaW5saW5lIExWYWx1ZSBidWlsZEZO
ZWcoTEJ1aWxkZXIgYnVpbGRlciwgTFZhbHVlIHZhbHVlKSB7IHJldHVybiBMTFZNQnVpbGRGTmVn
KGJ1aWxkZXIsIHZhbHVlLCAiIik7IH0KLXN0YXRpYyBpbmxpbmUgTFZhbHVlIGJ1aWxkQW5kKExC
dWlsZGVyIGJ1aWxkZXIsIExWYWx1ZSBsZWZ0LCBMVmFsdWUgcmlnaHQpIHsgcmV0dXJuIExMVk1C
dWlsZEFuZChidWlsZGVyLCBsZWZ0LCByaWdodCwgIiIpOyB9Ci1zdGF0aWMgaW5saW5lIExWYWx1
ZSBidWlsZE9yKExCdWlsZGVyIGJ1aWxkZXIsIExWYWx1ZSBsZWZ0LCBMVmFsdWUgcmlnaHQpIHsg
cmV0dXJuIExMVk1CdWlsZE9yKGJ1aWxkZXIsIGxlZnQsIHJpZ2h0LCAiIik7IH0KLXN0YXRpYyBp
bmxpbmUgTFZhbHVlIGJ1aWxkWG9yKExCdWlsZGVyIGJ1aWxkZXIsIExWYWx1ZSBsZWZ0LCBMVmFs
dWUgcmlnaHQpIHsgcmV0dXJuIExMVk1CdWlsZFhvcihidWlsZGVyLCBsZWZ0LCByaWdodCwgIiIp
OyB9Ci1zdGF0aWMgaW5saW5lIExWYWx1ZSBidWlsZFNobChMQnVpbGRlciBidWlsZGVyLCBMVmFs
dWUgbGVmdCwgTFZhbHVlIHJpZ2h0KSB7IHJldHVybiBMTFZNQnVpbGRTaGwoYnVpbGRlciwgbGVm
dCwgcmlnaHQsICIiKTsgfQotc3RhdGljIGlubGluZSBMVmFsdWUgYnVpbGRBU2hyKExCdWlsZGVy
IGJ1aWxkZXIsIExWYWx1ZSBsZWZ0LCBMVmFsdWUgcmlnaHQpIHsgcmV0dXJuIExMVk1CdWlsZEFT
aHIoYnVpbGRlciwgbGVmdCwgcmlnaHQsICIiKTsgfQotc3RhdGljIGlubGluZSBMVmFsdWUgYnVp
bGRMU2hyKExCdWlsZGVyIGJ1aWxkZXIsIExWYWx1ZSBsZWZ0LCBMVmFsdWUgcmlnaHQpIHsgcmV0
dXJuIExMVk1CdWlsZExTaHIoYnVpbGRlciwgbGVmdCwgcmlnaHQsICIiKTsgfQotc3RhdGljIGlu
bGluZSBMVmFsdWUgYnVpbGROb3QoTEJ1aWxkZXIgYnVpbGRlciwgTFZhbHVlIHZhbHVlKSB7IHJl
dHVybiBMTFZNQnVpbGROb3QoYnVpbGRlciwgdmFsdWUsICIiKTsgfQotc3RhdGljIGlubGluZSBM
VmFsdWUgYnVpbGRMb2FkKExCdWlsZGVyIGJ1aWxkZXIsIExWYWx1ZSBwb2ludGVyKSB7IHJldHVy
biBMTFZNQnVpbGRMb2FkKGJ1aWxkZXIsIHBvaW50ZXIsICIiKTsgfQotc3RhdGljIGlubGluZSBM
VmFsdWUgYnVpbGRTdG9yZShMQnVpbGRlciBidWlsZGVyLCBMVmFsdWUgdmFsdWUsIExWYWx1ZSBw
b2ludGVyKSB7IHJldHVybiBMTFZNQnVpbGRTdG9yZShidWlsZGVyLCB2YWx1ZSwgcG9pbnRlcik7
IH0KLXN0YXRpYyBpbmxpbmUgTFZhbHVlIGJ1aWxkU0V4dChMQnVpbGRlciBidWlsZGVyLCBMVmFs
dWUgdmFsdWUsIExUeXBlIHR5cGUpIHsgcmV0dXJuIExMVk1CdWlsZFNFeHQoYnVpbGRlciwgdmFs
dWUsIHR5cGUsICIiKTsgfQotc3RhdGljIGlubGluZSBMVmFsdWUgYnVpbGRaRXh0KExCdWlsZGVy
IGJ1aWxkZXIsIExWYWx1ZSB2YWx1ZSwgTFR5cGUgdHlwZSkgeyByZXR1cm4gTExWTUJ1aWxkWkV4
dChidWlsZGVyLCB2YWx1ZSwgdHlwZSwgIiIpOyB9Ci1zdGF0aWMgaW5saW5lIExWYWx1ZSBidWls
ZEZQVG9TSShMQnVpbGRlciBidWlsZGVyLCBMVmFsdWUgdmFsdWUsIExUeXBlIHR5cGUpIHsgcmV0
dXJuIExMVk1CdWlsZEZQVG9TSShidWlsZGVyLCB2YWx1ZSwgdHlwZSwgIiIpOyB9Ci1zdGF0aWMg
aW5saW5lIExWYWx1ZSBidWlsZEZQVG9VSShMQnVpbGRlciBidWlsZGVyLCBMVmFsdWUgdmFsdWUs
IExUeXBlIHR5cGUpIHsgcmV0dXJuIExMVk1CdWlsZEZQVG9VSShidWlsZGVyLCB2YWx1ZSwgdHlw
ZSwgIiIpOyB9Ci1zdGF0aWMgaW5saW5lIExWYWx1ZSBidWlsZFNJVG9GUChMQnVpbGRlciBidWls
ZGVyLCBMVmFsdWUgdmFsdWUsIExUeXBlIHR5cGUpIHsgcmV0dXJuIExMVk1CdWlsZFNJVG9GUChi
dWlsZGVyLCB2YWx1ZSwgdHlwZSwgIiIpOyB9Ci1zdGF0aWMgaW5saW5lIExWYWx1ZSBidWlsZFVJ
VG9GUChMQnVpbGRlciBidWlsZGVyLCBMVmFsdWUgdmFsdWUsIExUeXBlIHR5cGUpIHsgcmV0dXJu
IExMVk1CdWlsZFVJVG9GUChidWlsZGVyLCB2YWx1ZSwgdHlwZSwgIiIpOyB9Ci1zdGF0aWMgaW5s
aW5lIExWYWx1ZSBidWlsZEludENhc3QoTEJ1aWxkZXIgYnVpbGRlciwgTFZhbHVlIHZhbHVlLCBM
VHlwZSB0eXBlKSB7IHJldHVybiBMTFZNQnVpbGRJbnRDYXN0KGJ1aWxkZXIsIHZhbHVlLCB0eXBl
LCAiIik7IH0KLXN0YXRpYyBpbmxpbmUgTFZhbHVlIGJ1aWxkRlBDYXN0KExCdWlsZGVyIGJ1aWxk
ZXIsIExWYWx1ZSB2YWx1ZSwgTFR5cGUgdHlwZSkgeyByZXR1cm4gTExWTUJ1aWxkRlBDYXN0KGJ1
aWxkZXIsIHZhbHVlLCB0eXBlLCAiIik7IH0KLXN0YXRpYyBpbmxpbmUgTFZhbHVlIGJ1aWxkSW50
VG9QdHIoTEJ1aWxkZXIgYnVpbGRlciwgTFZhbHVlIHZhbHVlLCBMVHlwZSB0eXBlKSB7IHJldHVy
biBMTFZNQnVpbGRJbnRUb1B0cihidWlsZGVyLCB2YWx1ZSwgdHlwZSwgIiIpOyB9Ci1zdGF0aWMg
aW5saW5lIExWYWx1ZSBidWlsZFB0clRvSW50KExCdWlsZGVyIGJ1aWxkZXIsIExWYWx1ZSB2YWx1
ZSwgTFR5cGUgdHlwZSkgeyByZXR1cm4gTExWTUJ1aWxkUHRyVG9JbnQoYnVpbGRlciwgdmFsdWUs
IHR5cGUsICIiKTsgfQotc3RhdGljIGlubGluZSBMVmFsdWUgYnVpbGRCaXRDYXN0KExCdWlsZGVy
IGJ1aWxkZXIsIExWYWx1ZSB2YWx1ZSwgTFR5cGUgdHlwZSkgeyByZXR1cm4gTExWTUJ1aWxkQml0
Q2FzdChidWlsZGVyLCB2YWx1ZSwgdHlwZSwgIiIpOyB9Ci1zdGF0aWMgaW5saW5lIExWYWx1ZSBi
dWlsZElDbXAoTEJ1aWxkZXIgYnVpbGRlciwgTEludFByZWRpY2F0ZSBjb25kLCBMVmFsdWUgbGVm
dCwgTFZhbHVlIHJpZ2h0KSB7IHJldHVybiBMTFZNQnVpbGRJQ21wKGJ1aWxkZXIsIGNvbmQsIGxl
ZnQsIHJpZ2h0LCAiIik7IH0KLXN0YXRpYyBpbmxpbmUgTFZhbHVlIGJ1aWxkRkNtcChMQnVpbGRl
ciBidWlsZGVyLCBMUmVhbFByZWRpY2F0ZSBjb25kLCBMVmFsdWUgbGVmdCwgTFZhbHVlIHJpZ2h0
KSB7IHJldHVybiBMTFZNQnVpbGRGQ21wKGJ1aWxkZXIsIGNvbmQsIGxlZnQsIHJpZ2h0LCAiIik7
IH0KK3N0YXRpYyBpbmxpbmUgTFZhbHVlIGJ1aWxkQWxsb2NhKExCdWlsZGVyIGJ1aWxkZXIsIExU
eXBlIHR5cGUpIHsgcmV0dXJuIGxsdm0tPkJ1aWxkQWxsb2NhKGJ1aWxkZXIsIHR5cGUsICIiKTsg
fQorc3RhdGljIGlubGluZSBMVmFsdWUgYnVpbGRBZGQoTEJ1aWxkZXIgYnVpbGRlciwgTFZhbHVl
IGxlZnQsIExWYWx1ZSByaWdodCkgeyByZXR1cm4gbGx2bS0+QnVpbGRBZGQoYnVpbGRlciwgbGVm
dCwgcmlnaHQsICIiKTsgfQorc3RhdGljIGlubGluZSBMVmFsdWUgYnVpbGRTdWIoTEJ1aWxkZXIg
YnVpbGRlciwgTFZhbHVlIGxlZnQsIExWYWx1ZSByaWdodCkgeyByZXR1cm4gbGx2bS0+QnVpbGRT
dWIoYnVpbGRlciwgbGVmdCwgcmlnaHQsICIiKTsgfQorc3RhdGljIGlubGluZSBMVmFsdWUgYnVp
bGRNdWwoTEJ1aWxkZXIgYnVpbGRlciwgTFZhbHVlIGxlZnQsIExWYWx1ZSByaWdodCkgeyByZXR1
cm4gbGx2bS0+QnVpbGRNdWwoYnVpbGRlciwgbGVmdCwgcmlnaHQsICIiKTsgfQorc3RhdGljIGlu
bGluZSBMVmFsdWUgYnVpbGREaXYoTEJ1aWxkZXIgYnVpbGRlciwgTFZhbHVlIGxlZnQsIExWYWx1
ZSByaWdodCkgeyByZXR1cm4gbGx2bS0+QnVpbGRTRGl2KGJ1aWxkZXIsIGxlZnQsIHJpZ2h0LCAi
Iik7IH0KK3N0YXRpYyBpbmxpbmUgTFZhbHVlIGJ1aWxkUmVtKExCdWlsZGVyIGJ1aWxkZXIsIExW
YWx1ZSBsZWZ0LCBMVmFsdWUgcmlnaHQpIHsgcmV0dXJuIGxsdm0tPkJ1aWxkU1JlbShidWlsZGVy
LCBsZWZ0LCByaWdodCwgIiIpOyB9CitzdGF0aWMgaW5saW5lIExWYWx1ZSBidWlsZE5lZyhMQnVp
bGRlciBidWlsZGVyLCBMVmFsdWUgdmFsdWUpIHsgcmV0dXJuIGxsdm0tPkJ1aWxkTmVnKGJ1aWxk
ZXIsIHZhbHVlLCAiIik7IH0KK3N0YXRpYyBpbmxpbmUgTFZhbHVlIGJ1aWxkRkFkZChMQnVpbGRl
ciBidWlsZGVyLCBMVmFsdWUgbGVmdCwgTFZhbHVlIHJpZ2h0KSB7IHJldHVybiBsbHZtLT5CdWls
ZEZBZGQoYnVpbGRlciwgbGVmdCwgcmlnaHQsICIiKTsgfQorc3RhdGljIGlubGluZSBMVmFsdWUg
YnVpbGRGU3ViKExCdWlsZGVyIGJ1aWxkZXIsIExWYWx1ZSBsZWZ0LCBMVmFsdWUgcmlnaHQpIHsg
cmV0dXJuIGxsdm0tPkJ1aWxkRlN1YihidWlsZGVyLCBsZWZ0LCByaWdodCwgIiIpOyB9CitzdGF0
aWMgaW5saW5lIExWYWx1ZSBidWlsZEZNdWwoTEJ1aWxkZXIgYnVpbGRlciwgTFZhbHVlIGxlZnQs
IExWYWx1ZSByaWdodCkgeyByZXR1cm4gbGx2bS0+QnVpbGRGTXVsKGJ1aWxkZXIsIGxlZnQsIHJp
Z2h0LCAiIik7IH0KK3N0YXRpYyBpbmxpbmUgTFZhbHVlIGJ1aWxkRkRpdihMQnVpbGRlciBidWls
ZGVyLCBMVmFsdWUgbGVmdCwgTFZhbHVlIHJpZ2h0KSB7IHJldHVybiBsbHZtLT5CdWlsZEZEaXYo
YnVpbGRlciwgbGVmdCwgcmlnaHQsICIiKTsgfQorc3RhdGljIGlubGluZSBMVmFsdWUgYnVpbGRG
UmVtKExCdWlsZGVyIGJ1aWxkZXIsIExWYWx1ZSBsZWZ0LCBMVmFsdWUgcmlnaHQpIHsgcmV0dXJu
IGxsdm0tPkJ1aWxkRlJlbShidWlsZGVyLCBsZWZ0LCByaWdodCwgIiIpOyB9CitzdGF0aWMgaW5s
aW5lIExWYWx1ZSBidWlsZEZOZWcoTEJ1aWxkZXIgYnVpbGRlciwgTFZhbHVlIHZhbHVlKSB7IHJl
dHVybiBsbHZtLT5CdWlsZEZOZWcoYnVpbGRlciwgdmFsdWUsICIiKTsgfQorc3RhdGljIGlubGlu
ZSBMVmFsdWUgYnVpbGRBbmQoTEJ1aWxkZXIgYnVpbGRlciwgTFZhbHVlIGxlZnQsIExWYWx1ZSBy
aWdodCkgeyByZXR1cm4gbGx2bS0+QnVpbGRBbmQoYnVpbGRlciwgbGVmdCwgcmlnaHQsICIiKTsg
fQorc3RhdGljIGlubGluZSBMVmFsdWUgYnVpbGRPcihMQnVpbGRlciBidWlsZGVyLCBMVmFsdWUg
bGVmdCwgTFZhbHVlIHJpZ2h0KSB7IHJldHVybiBsbHZtLT5CdWlsZE9yKGJ1aWxkZXIsIGxlZnQs
IHJpZ2h0LCAiIik7IH0KK3N0YXRpYyBpbmxpbmUgTFZhbHVlIGJ1aWxkWG9yKExCdWlsZGVyIGJ1
aWxkZXIsIExWYWx1ZSBsZWZ0LCBMVmFsdWUgcmlnaHQpIHsgcmV0dXJuIGxsdm0tPkJ1aWxkWG9y
KGJ1aWxkZXIsIGxlZnQsIHJpZ2h0LCAiIik7IH0KK3N0YXRpYyBpbmxpbmUgTFZhbHVlIGJ1aWxk
U2hsKExCdWlsZGVyIGJ1aWxkZXIsIExWYWx1ZSBsZWZ0LCBMVmFsdWUgcmlnaHQpIHsgcmV0dXJu
IGxsdm0tPkJ1aWxkU2hsKGJ1aWxkZXIsIGxlZnQsIHJpZ2h0LCAiIik7IH0KK3N0YXRpYyBpbmxp
bmUgTFZhbHVlIGJ1aWxkQVNocihMQnVpbGRlciBidWlsZGVyLCBMVmFsdWUgbGVmdCwgTFZhbHVl
IHJpZ2h0KSB7IHJldHVybiBsbHZtLT5CdWlsZEFTaHIoYnVpbGRlciwgbGVmdCwgcmlnaHQsICIi
KTsgfQorc3RhdGljIGlubGluZSBMVmFsdWUgYnVpbGRMU2hyKExCdWlsZGVyIGJ1aWxkZXIsIExW
YWx1ZSBsZWZ0LCBMVmFsdWUgcmlnaHQpIHsgcmV0dXJuIGxsdm0tPkJ1aWxkTFNocihidWlsZGVy
LCBsZWZ0LCByaWdodCwgIiIpOyB9CitzdGF0aWMgaW5saW5lIExWYWx1ZSBidWlsZE5vdChMQnVp
bGRlciBidWlsZGVyLCBMVmFsdWUgdmFsdWUpIHsgcmV0dXJuIGxsdm0tPkJ1aWxkTm90KGJ1aWxk
ZXIsIHZhbHVlLCAiIik7IH0KK3N0YXRpYyBpbmxpbmUgTFZhbHVlIGJ1aWxkTG9hZChMQnVpbGRl
ciBidWlsZGVyLCBMVmFsdWUgcG9pbnRlcikgeyByZXR1cm4gbGx2bS0+QnVpbGRMb2FkKGJ1aWxk
ZXIsIHBvaW50ZXIsICIiKTsgfQorc3RhdGljIGlubGluZSBMVmFsdWUgYnVpbGRTdG9yZShMQnVp
bGRlciBidWlsZGVyLCBMVmFsdWUgdmFsdWUsIExWYWx1ZSBwb2ludGVyKSB7IHJldHVybiBsbHZt
LT5CdWlsZFN0b3JlKGJ1aWxkZXIsIHZhbHVlLCBwb2ludGVyKTsgfQorc3RhdGljIGlubGluZSBM
VmFsdWUgYnVpbGRTRXh0KExCdWlsZGVyIGJ1aWxkZXIsIExWYWx1ZSB2YWx1ZSwgTFR5cGUgdHlw
ZSkgeyByZXR1cm4gbGx2bS0+QnVpbGRTRXh0KGJ1aWxkZXIsIHZhbHVlLCB0eXBlLCAiIik7IH0K
K3N0YXRpYyBpbmxpbmUgTFZhbHVlIGJ1aWxkWkV4dChMQnVpbGRlciBidWlsZGVyLCBMVmFsdWUg
dmFsdWUsIExUeXBlIHR5cGUpIHsgcmV0dXJuIGxsdm0tPkJ1aWxkWkV4dChidWlsZGVyLCB2YWx1
ZSwgdHlwZSwgIiIpOyB9CitzdGF0aWMgaW5saW5lIExWYWx1ZSBidWlsZEZQVG9TSShMQnVpbGRl
ciBidWlsZGVyLCBMVmFsdWUgdmFsdWUsIExUeXBlIHR5cGUpIHsgcmV0dXJuIGxsdm0tPkJ1aWxk
RlBUb1NJKGJ1aWxkZXIsIHZhbHVlLCB0eXBlLCAiIik7IH0KK3N0YXRpYyBpbmxpbmUgTFZhbHVl
IGJ1aWxkRlBUb1VJKExCdWlsZGVyIGJ1aWxkZXIsIExWYWx1ZSB2YWx1ZSwgTFR5cGUgdHlwZSkg
eyByZXR1cm4gbGx2bS0+QnVpbGRGUFRvVUkoYnVpbGRlciwgdmFsdWUsIHR5cGUsICIiKTsgfQor
c3RhdGljIGlubGluZSBMVmFsdWUgYnVpbGRTSVRvRlAoTEJ1aWxkZXIgYnVpbGRlciwgTFZhbHVl
IHZhbHVlLCBMVHlwZSB0eXBlKSB7IHJldHVybiBsbHZtLT5CdWlsZFNJVG9GUChidWlsZGVyLCB2
YWx1ZSwgdHlwZSwgIiIpOyB9CitzdGF0aWMgaW5saW5lIExWYWx1ZSBidWlsZFVJVG9GUChMQnVp
bGRlciBidWlsZGVyLCBMVmFsdWUgdmFsdWUsIExUeXBlIHR5cGUpIHsgcmV0dXJuIGxsdm0tPkJ1
aWxkVUlUb0ZQKGJ1aWxkZXIsIHZhbHVlLCB0eXBlLCAiIik7IH0KK3N0YXRpYyBpbmxpbmUgTFZh
bHVlIGJ1aWxkSW50Q2FzdChMQnVpbGRlciBidWlsZGVyLCBMVmFsdWUgdmFsdWUsIExUeXBlIHR5
cGUpIHsgcmV0dXJuIGxsdm0tPkJ1aWxkSW50Q2FzdChidWlsZGVyLCB2YWx1ZSwgdHlwZSwgIiIp
OyB9CitzdGF0aWMgaW5saW5lIExWYWx1ZSBidWlsZEZQQ2FzdChMQnVpbGRlciBidWlsZGVyLCBM
VmFsdWUgdmFsdWUsIExUeXBlIHR5cGUpIHsgcmV0dXJuIGxsdm0tPkJ1aWxkRlBDYXN0KGJ1aWxk
ZXIsIHZhbHVlLCB0eXBlLCAiIik7IH0KK3N0YXRpYyBpbmxpbmUgTFZhbHVlIGJ1aWxkSW50VG9Q
dHIoTEJ1aWxkZXIgYnVpbGRlciwgTFZhbHVlIHZhbHVlLCBMVHlwZSB0eXBlKSB7IHJldHVybiBs
bHZtLT5CdWlsZEludFRvUHRyKGJ1aWxkZXIsIHZhbHVlLCB0eXBlLCAiIik7IH0KK3N0YXRpYyBp
bmxpbmUgTFZhbHVlIGJ1aWxkUHRyVG9JbnQoTEJ1aWxkZXIgYnVpbGRlciwgTFZhbHVlIHZhbHVl
LCBMVHlwZSB0eXBlKSB7IHJldHVybiBsbHZtLT5CdWlsZFB0clRvSW50KGJ1aWxkZXIsIHZhbHVl
LCB0eXBlLCAiIik7IH0KK3N0YXRpYyBpbmxpbmUgTFZhbHVlIGJ1aWxkQml0Q2FzdChMQnVpbGRl
ciBidWlsZGVyLCBMVmFsdWUgdmFsdWUsIExUeXBlIHR5cGUpIHsgcmV0dXJuIGxsdm0tPkJ1aWxk
Qml0Q2FzdChidWlsZGVyLCB2YWx1ZSwgdHlwZSwgIiIpOyB9CitzdGF0aWMgaW5saW5lIExWYWx1
ZSBidWlsZElDbXAoTEJ1aWxkZXIgYnVpbGRlciwgTEludFByZWRpY2F0ZSBjb25kLCBMVmFsdWUg
bGVmdCwgTFZhbHVlIHJpZ2h0KSB7IHJldHVybiBsbHZtLT5CdWlsZElDbXAoYnVpbGRlciwgY29u
ZCwgbGVmdCwgcmlnaHQsICIiKTsgfQorc3RhdGljIGlubGluZSBMVmFsdWUgYnVpbGRGQ21wKExC
dWlsZGVyIGJ1aWxkZXIsIExSZWFsUHJlZGljYXRlIGNvbmQsIExWYWx1ZSBsZWZ0LCBMVmFsdWUg
cmlnaHQpIHsgcmV0dXJuIGxsdm0tPkJ1aWxkRkNtcChidWlsZGVyLCBjb25kLCBsZWZ0LCByaWdo
dCwgIiIpOyB9CiBzdGF0aWMgaW5saW5lIExWYWx1ZSBidWlsZENhbGwoTEJ1aWxkZXIgYnVpbGRl
ciwgTFZhbHVlIGZ1bmN0aW9uLCBjb25zdCBMVmFsdWUqIGFyZ3MsIHVuc2lnbmVkIG51bUFyZ3Mp
CiB7Ci0gICAgcmV0dXJuIExMVk1CdWlsZENhbGwoYnVpbGRlciwgZnVuY3Rpb24sIGNvbnN0X2Nh
c3Q8TFZhbHVlKj4oYXJncyksIG51bUFyZ3MsICIiKTsKKyAgICByZXR1cm4gbGx2bS0+QnVpbGRD
YWxsKGJ1aWxkZXIsIGZ1bmN0aW9uLCBjb25zdF9jYXN0PExWYWx1ZSo+KGFyZ3MpLCBudW1Bcmdz
LCAiIik7CiB9CiB0ZW1wbGF0ZTx0eXBlbmFtZSBWZWN0b3JUeXBlPgogaW5saW5lIExWYWx1ZSBi
dWlsZENhbGwoTEJ1aWxkZXIgYnVpbGRlciwgTFZhbHVlIGZ1bmN0aW9uLCBjb25zdCBWZWN0b3JU
eXBlJiB2ZWN0b3IpCkBAIC0yNDgsMTMgKzI0OSwxMyBAQCBzdGF0aWMgaW5saW5lIExWYWx1ZSBi
dWlsZENhbGwoTEJ1aWxkZXIgCiAgICAgcmV0dXJuIGJ1aWxkQ2FsbChidWlsZGVyLCBmdW5jdGlv
biwgYXJncywgNCk7CiB9CiBlbnVtIFRhaWxDYWxsTW9kZSB7IElzTm90VGFpbENhbGwsIElzVGFp
bENhbGwgfTsKLXN0YXRpYyBpbmxpbmUgdm9pZCBzZXRUYWlsQ2FsbChMVmFsdWUgY2FsbCwgVGFp
bENhbGxNb2RlIG1vZGUpIHsgTExWTVNldFRhaWxDYWxsKGNhbGwsIG1vZGUgPT0gSXNUYWlsQ2Fs
bCk7IH0KLXN0YXRpYyBpbmxpbmUgTFZhbHVlIGJ1aWxkRXh0cmFjdFZhbHVlKExCdWlsZGVyIGJ1
aWxkZXIsIExWYWx1ZSBhZ2dWYWwsIHVuc2lnbmVkIGluZGV4KSB7IHJldHVybiBMTFZNQnVpbGRF
eHRyYWN0VmFsdWUoYnVpbGRlciwgYWdnVmFsLCBpbmRleCwgIiIpOyB9Ci1zdGF0aWMgaW5saW5l
IExWYWx1ZSBidWlsZFNlbGVjdChMQnVpbGRlciBidWlsZGVyLCBMVmFsdWUgY29uZGl0aW9uLCBM
VmFsdWUgdGFrZW4sIExWYWx1ZSBub3RUYWtlbikgeyByZXR1cm4gTExWTUJ1aWxkU2VsZWN0KGJ1
aWxkZXIsIGNvbmRpdGlvbiwgdGFrZW4sIG5vdFRha2VuLCAiIik7IH0KLXN0YXRpYyBpbmxpbmUg
TFZhbHVlIGJ1aWxkQnIoTEJ1aWxkZXIgYnVpbGRlciwgTEJhc2ljQmxvY2sgZGVzdGluYXRpb24p
IHsgcmV0dXJuIExMVk1CdWlsZEJyKGJ1aWxkZXIsIGRlc3RpbmF0aW9uKTsgfQotc3RhdGljIGlu
bGluZSBMVmFsdWUgYnVpbGRDb25kQnIoTEJ1aWxkZXIgYnVpbGRlciwgTFZhbHVlIGNvbmRpdGlv
biwgTEJhc2ljQmxvY2sgdGFrZW4sIExCYXNpY0Jsb2NrIG5vdFRha2VuKSB7IHJldHVybiBMTFZN
QnVpbGRDb25kQnIoYnVpbGRlciwgY29uZGl0aW9uLCB0YWtlbiwgbm90VGFrZW4pOyB9Ci1zdGF0
aWMgaW5saW5lIExWYWx1ZSBidWlsZFN3aXRjaChMQnVpbGRlciBidWlsZGVyLCBMVmFsdWUgdmFs
dWUsIExCYXNpY0Jsb2NrIGZhbGxUaHJvdWdoLCB1bnNpZ25lZCBudW1DYXNlcykgeyByZXR1cm4g
TExWTUJ1aWxkU3dpdGNoKGJ1aWxkZXIsIHZhbHVlLCBmYWxsVGhyb3VnaCwgbnVtQ2FzZXMpOyB9
Ci1zdGF0aWMgaW5saW5lIHZvaWQgYWRkQ2FzZShMVmFsdWUgc3dpdGNoSW5zdCwgTFZhbHVlIHZh
bHVlLCBMQmFzaWNCbG9jayB0YXJnZXQpIHsgTExWTUFkZENhc2Uoc3dpdGNoSW5zdCwgdmFsdWUs
IHRhcmdldCk7IH0KK3N0YXRpYyBpbmxpbmUgdm9pZCBzZXRUYWlsQ2FsbChMVmFsdWUgY2FsbCwg
VGFpbENhbGxNb2RlIG1vZGUpIHsgbGx2bS0+U2V0VGFpbENhbGwoY2FsbCwgbW9kZSA9PSBJc1Rh
aWxDYWxsKTsgfQorc3RhdGljIGlubGluZSBMVmFsdWUgYnVpbGRFeHRyYWN0VmFsdWUoTEJ1aWxk
ZXIgYnVpbGRlciwgTFZhbHVlIGFnZ1ZhbCwgdW5zaWduZWQgaW5kZXgpIHsgcmV0dXJuIGxsdm0t
PkJ1aWxkRXh0cmFjdFZhbHVlKGJ1aWxkZXIsIGFnZ1ZhbCwgaW5kZXgsICIiKTsgfQorc3RhdGlj
IGlubGluZSBMVmFsdWUgYnVpbGRTZWxlY3QoTEJ1aWxkZXIgYnVpbGRlciwgTFZhbHVlIGNvbmRp
dGlvbiwgTFZhbHVlIHRha2VuLCBMVmFsdWUgbm90VGFrZW4pIHsgcmV0dXJuIGxsdm0tPkJ1aWxk
U2VsZWN0KGJ1aWxkZXIsIGNvbmRpdGlvbiwgdGFrZW4sIG5vdFRha2VuLCAiIik7IH0KK3N0YXRp
YyBpbmxpbmUgTFZhbHVlIGJ1aWxkQnIoTEJ1aWxkZXIgYnVpbGRlciwgTEJhc2ljQmxvY2sgZGVz
dGluYXRpb24pIHsgcmV0dXJuIGxsdm0tPkJ1aWxkQnIoYnVpbGRlciwgZGVzdGluYXRpb24pOyB9
CitzdGF0aWMgaW5saW5lIExWYWx1ZSBidWlsZENvbmRCcihMQnVpbGRlciBidWlsZGVyLCBMVmFs
dWUgY29uZGl0aW9uLCBMQmFzaWNCbG9jayB0YWtlbiwgTEJhc2ljQmxvY2sgbm90VGFrZW4pIHsg
cmV0dXJuIGxsdm0tPkJ1aWxkQ29uZEJyKGJ1aWxkZXIsIGNvbmRpdGlvbiwgdGFrZW4sIG5vdFRh
a2VuKTsgfQorc3RhdGljIGlubGluZSBMVmFsdWUgYnVpbGRTd2l0Y2goTEJ1aWxkZXIgYnVpbGRl
ciwgTFZhbHVlIHZhbHVlLCBMQmFzaWNCbG9jayBmYWxsVGhyb3VnaCwgdW5zaWduZWQgbnVtQ2Fz
ZXMpIHsgcmV0dXJuIGxsdm0tPkJ1aWxkU3dpdGNoKGJ1aWxkZXIsIHZhbHVlLCBmYWxsVGhyb3Vn
aCwgbnVtQ2FzZXMpOyB9CitzdGF0aWMgaW5saW5lIHZvaWQgYWRkQ2FzZShMVmFsdWUgc3dpdGNo
SW5zdCwgTFZhbHVlIHZhbHVlLCBMQmFzaWNCbG9jayB0YXJnZXQpIHsgbGx2bS0+QWRkQ2FzZShz
d2l0Y2hJbnN0LCB2YWx1ZSwgdGFyZ2V0KTsgfQogdGVtcGxhdGU8dHlwZW5hbWUgVmVjdG9yVHlw
ZT4KIHN0YXRpYyBpbmxpbmUgTFZhbHVlIGJ1aWxkU3dpdGNoKExCdWlsZGVyIGJ1aWxkZXIsIExW
YWx1ZSB2YWx1ZSwgY29uc3QgVmVjdG9yVHlwZSYgY2FzZXMsIExCYXNpY0Jsb2NrIGZhbGxUaHJv
dWdoKQogewpAQCAtMjYzLDE1ICsyNjQsMTUgQEAgc3RhdGljIGlubGluZSBMVmFsdWUgYnVpbGRT
d2l0Y2goTEJ1aWxkZQogICAgICAgICBhZGRDYXNlKHJlc3VsdCwgY2FzZXNbaV0udmFsdWUoKSwg
Y2FzZXNbaV0udGFyZ2V0KCkpOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1zdGF0aWMgaW5saW5l
IExWYWx1ZSBidWlsZFJldChMQnVpbGRlciBidWlsZGVyLCBMVmFsdWUgdmFsdWUpIHsgcmV0dXJu
IExMVk1CdWlsZFJldChidWlsZGVyLCB2YWx1ZSk7IH0KLXN0YXRpYyBpbmxpbmUgTFZhbHVlIGJ1
aWxkVW5yZWFjaGFibGUoTEJ1aWxkZXIgYnVpbGRlcikgeyByZXR1cm4gTExWTUJ1aWxkVW5yZWFj
aGFibGUoYnVpbGRlcik7IH0KK3N0YXRpYyBpbmxpbmUgTFZhbHVlIGJ1aWxkUmV0KExCdWlsZGVy
IGJ1aWxkZXIsIExWYWx1ZSB2YWx1ZSkgeyByZXR1cm4gbGx2bS0+QnVpbGRSZXQoYnVpbGRlciwg
dmFsdWUpOyB9CitzdGF0aWMgaW5saW5lIExWYWx1ZSBidWlsZFVucmVhY2hhYmxlKExCdWlsZGVy
IGJ1aWxkZXIpIHsgcmV0dXJuIGxsdm0tPkJ1aWxkVW5yZWFjaGFibGUoYnVpbGRlcik7IH0KIAot
c3RhdGljIGlubGluZSB2b2lkIGR1bXBNb2R1bGUoTE1vZHVsZSBtb2R1bGUpIHsgTExWTUR1bXBN
b2R1bGUobW9kdWxlKTsgfQorc3RhdGljIGlubGluZSB2b2lkIGR1bXBNb2R1bGUoTE1vZHVsZSBt
b2R1bGUpIHsgbGx2bS0+RHVtcE1vZHVsZShtb2R1bGUpOyB9CiBzdGF0aWMgaW5saW5lIHZvaWQg
dmVyaWZ5TW9kdWxlKExNb2R1bGUgbW9kdWxlKQogewogICAgIGNoYXIqIGVycm9yID0gMDsKLSAg
ICBMTFZNVmVyaWZ5TW9kdWxlKG1vZHVsZSwgTExWTUFib3J0UHJvY2Vzc0FjdGlvbiwgJmVycm9y
KTsKLSAgICBMTFZNRGlzcG9zZU1lc3NhZ2UoZXJyb3IpOworICAgIGxsdm0tPlZlcmlmeU1vZHVs
ZShtb2R1bGUsIExMVk1BYm9ydFByb2Nlc3NBY3Rpb24sICZlcnJvcik7CisgICAgbGx2bS0+RGlz
cG9zZU1lc3NhZ2UoZXJyb3IpOwogfQogCiB9IH0gLy8gbmFtZXNwYWNlIEpTQzo6RlRMCkluZGV4
OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTENvbXBpbGUuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMQ29tcGlsZS5jcHAJKHJldmlzaW9uIDE1NzE3
MikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMQ29tcGlsZS5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTk1LDUyICs5NSw1MiBAQCB2b2lkIGNvbXBpbGUoU3RhdGUmIHN0YXRlKQogICAg
IGNoYXIqIGVycm9yID0gMDsKICAgICAKICAgICBMTFZNTUNKSVRDb21waWxlck9wdGlvbnMgb3B0
aW9uczsKLSAgICBMTFZNSW5pdGlhbGl6ZU1DSklUQ29tcGlsZXJPcHRpb25zKCZvcHRpb25zLCBz
aXplb2Yob3B0aW9ucykpOworICAgIGxsdm0tPkluaXRpYWxpemVNQ0pJVENvbXBpbGVyT3B0aW9u
cygmb3B0aW9ucywgc2l6ZW9mKG9wdGlvbnMpKTsKICAgICBvcHRpb25zLk9wdExldmVsID0gT3B0
aW9uczo6bGx2bUJhY2tlbmRPcHRpbWl6YXRpb25MZXZlbCgpOwogICAgIG9wdGlvbnMuTm9GcmFt
ZVBvaW50ZXJFbGltID0gdHJ1ZTsKICAgICBpZiAoT3B0aW9uczo6dXNlTExWTVNtYWxsQ29kZU1v
ZGVsKCkpCiAgICAgICAgIG9wdGlvbnMuQ29kZU1vZGVsID0gTExWTUNvZGVNb2RlbFNtYWxsOwog
ICAgIG9wdGlvbnMuRW5hYmxlRmFzdElTZWwgPSBPcHRpb25zOjplbmFibGVMTFZNRmFzdElTZWwo
KTsKLSAgICBvcHRpb25zLk1DSk1NID0gTExWTUNyZWF0ZVNpbXBsZU1DSklUTWVtb3J5TWFuYWdl
cigKKyAgICBvcHRpb25zLk1DSk1NID0gbGx2bS0+Q3JlYXRlU2ltcGxlTUNKSVRNZW1vcnlNYW5h
Z2VyKAogICAgICAgICAmc3RhdGUsIG1tQWxsb2NhdGVDb2RlU2VjdGlvbiwgbW1BbGxvY2F0ZURh
dGFTZWN0aW9uLCBtbUFwcGx5UGVybWlzc2lvbnMsIG1tRGVzdHJveSk7CiAgICAgCiAgICAgTExW
TUV4ZWN1dGlvbkVuZ2luZVJlZiBlbmdpbmU7CiAgICAgCi0gICAgaWYgKExMVk1DcmVhdGVNQ0pJ
VENvbXBpbGVyRm9yTW9kdWxlKCZlbmdpbmUsIHN0YXRlLm1vZHVsZSwgJm9wdGlvbnMsIHNpemVv
ZihvcHRpb25zKSwgJmVycm9yKSkgeworICAgIGlmIChsbHZtLT5DcmVhdGVNQ0pJVENvbXBpbGVy
Rm9yTW9kdWxlKCZlbmdpbmUsIHN0YXRlLm1vZHVsZSwgJm9wdGlvbnMsIHNpemVvZihvcHRpb25z
KSwgJmVycm9yKSkgewogICAgICAgICBkYXRhTG9nKCJGQVRBTDogQ291bGQgbm90IGNyZWF0ZSBM
TFZNIGV4ZWN1dGlvbiBlbmdpbmU6ICIsIGVycm9yLCAiXG4iKTsKICAgICAgICAgQ1JBU0goKTsK
ICAgICB9CiAKLSAgICBMTFZNUGFzc01hbmFnZXJCdWlsZGVyUmVmIHBhc3NCdWlsZGVyID0gTExW
TVBhc3NNYW5hZ2VyQnVpbGRlckNyZWF0ZSgpOwotICAgIExMVk1QYXNzTWFuYWdlckJ1aWxkZXJT
ZXRPcHRMZXZlbChwYXNzQnVpbGRlciwgT3B0aW9uczo6bGx2bU9wdGltaXphdGlvbkxldmVsKCkp
OwotICAgIExMVk1QYXNzTWFuYWdlckJ1aWxkZXJTZXRTaXplTGV2ZWwocGFzc0J1aWxkZXIsIE9w
dGlvbnM6Omxsdm1TaXplTGV2ZWwoKSk7CisgICAgTExWTVBhc3NNYW5hZ2VyQnVpbGRlclJlZiBw
YXNzQnVpbGRlciA9IGxsdm0tPlBhc3NNYW5hZ2VyQnVpbGRlckNyZWF0ZSgpOworICAgIGxsdm0t
PlBhc3NNYW5hZ2VyQnVpbGRlclNldE9wdExldmVsKHBhc3NCdWlsZGVyLCBPcHRpb25zOjpsbHZt
T3B0aW1pemF0aW9uTGV2ZWwoKSk7CisgICAgbGx2bS0+UGFzc01hbmFnZXJCdWlsZGVyU2V0U2l6
ZUxldmVsKHBhc3NCdWlsZGVyLCBPcHRpb25zOjpsbHZtU2l6ZUxldmVsKCkpOwogICAgIAotICAg
IExMVk1QYXNzTWFuYWdlclJlZiBmdW5jdGlvblBhc3NlcyA9IExMVk1DcmVhdGVGdW5jdGlvblBh
c3NNYW5hZ2VyRm9yTW9kdWxlKHN0YXRlLm1vZHVsZSk7Ci0gICAgTExWTVBhc3NNYW5hZ2VyUmVm
IG1vZHVsZVBhc3NlcyA9IExMVk1DcmVhdGVQYXNzTWFuYWdlcigpOworICAgIExMVk1QYXNzTWFu
YWdlclJlZiBmdW5jdGlvblBhc3NlcyA9IGxsdm0tPkNyZWF0ZUZ1bmN0aW9uUGFzc01hbmFnZXJG
b3JNb2R1bGUoc3RhdGUubW9kdWxlKTsKKyAgICBMTFZNUGFzc01hbmFnZXJSZWYgbW9kdWxlUGFz
c2VzID0gbGx2bS0+Q3JlYXRlUGFzc01hbmFnZXIoKTsKICAgICAKLSAgICBMTFZNQWRkVGFyZ2V0
RGF0YShMTFZNR2V0RXhlY3V0aW9uRW5naW5lVGFyZ2V0RGF0YShlbmdpbmUpLCBtb2R1bGVQYXNz
ZXMpOworICAgIGxsdm0tPkFkZFRhcmdldERhdGEobGx2bS0+R2V0RXhlY3V0aW9uRW5naW5lVGFy
Z2V0RGF0YShlbmdpbmUpLCBtb2R1bGVQYXNzZXMpOwogICAgIAotICAgIExMVk1QYXNzTWFuYWdl
ckJ1aWxkZXJQb3B1bGF0ZUZ1bmN0aW9uUGFzc01hbmFnZXIocGFzc0J1aWxkZXIsIGZ1bmN0aW9u
UGFzc2VzKTsKLSAgICBMTFZNUGFzc01hbmFnZXJCdWlsZGVyUG9wdWxhdGVNb2R1bGVQYXNzTWFu
YWdlcihwYXNzQnVpbGRlciwgbW9kdWxlUGFzc2VzKTsKKyAgICBsbHZtLT5QYXNzTWFuYWdlckJ1
aWxkZXJQb3B1bGF0ZUZ1bmN0aW9uUGFzc01hbmFnZXIocGFzc0J1aWxkZXIsIGZ1bmN0aW9uUGFz
c2VzKTsKKyAgICBsbHZtLT5QYXNzTWFuYWdlckJ1aWxkZXJQb3B1bGF0ZU1vZHVsZVBhc3NNYW5h
Z2VyKHBhc3NCdWlsZGVyLCBtb2R1bGVQYXNzZXMpOwogICAgIAotICAgIExMVk1QYXNzTWFuYWdl
ckJ1aWxkZXJEaXNwb3NlKHBhc3NCdWlsZGVyKTsKKyAgICBsbHZtLT5QYXNzTWFuYWdlckJ1aWxk
ZXJEaXNwb3NlKHBhc3NCdWlsZGVyKTsKIAotICAgIExMVk1Jbml0aWFsaXplRnVuY3Rpb25QYXNz
TWFuYWdlcihmdW5jdGlvblBhc3Nlcyk7Ci0gICAgZm9yIChMVmFsdWUgZnVuY3Rpb24gPSBMTFZN
R2V0Rmlyc3RGdW5jdGlvbihzdGF0ZS5tb2R1bGUpOyBmdW5jdGlvbjsgZnVuY3Rpb24gPSBMTFZN
R2V0TmV4dEZ1bmN0aW9uKGZ1bmN0aW9uKSkKLSAgICAgICAgTExWTVJ1bkZ1bmN0aW9uUGFzc01h
bmFnZXIoZnVuY3Rpb25QYXNzZXMsIGZ1bmN0aW9uKTsKLSAgICBMTFZNRmluYWxpemVGdW5jdGlv
blBhc3NNYW5hZ2VyKGZ1bmN0aW9uUGFzc2VzKTsKKyAgICBsbHZtLT5Jbml0aWFsaXplRnVuY3Rp
b25QYXNzTWFuYWdlcihmdW5jdGlvblBhc3Nlcyk7CisgICAgZm9yIChMVmFsdWUgZnVuY3Rpb24g
PSBsbHZtLT5HZXRGaXJzdEZ1bmN0aW9uKHN0YXRlLm1vZHVsZSk7IGZ1bmN0aW9uOyBmdW5jdGlv
biA9IGxsdm0tPkdldE5leHRGdW5jdGlvbihmdW5jdGlvbikpCisgICAgICAgIGxsdm0tPlJ1bkZ1
bmN0aW9uUGFzc01hbmFnZXIoZnVuY3Rpb25QYXNzZXMsIGZ1bmN0aW9uKTsKKyAgICBsbHZtLT5G
aW5hbGl6ZUZ1bmN0aW9uUGFzc01hbmFnZXIoZnVuY3Rpb25QYXNzZXMpOwogICAgIAotICAgIExM
Vk1SdW5QYXNzTWFuYWdlcihtb2R1bGVQYXNzZXMsIHN0YXRlLm1vZHVsZSk7CisgICAgbGx2bS0+
UnVuUGFzc01hbmFnZXIobW9kdWxlUGFzc2VzLCBzdGF0ZS5tb2R1bGUpOwogCiAgICAgaWYgKERG
Rzo6c2hvdWxkU2hvd0Rpc2Fzc2VtYmx5KCkgfHwgREZHOjp2ZXJib3NlQ29tcGlsYXRpb25FbmFi
bGVkKCkpCiAgICAgICAgIHN0YXRlLmR1bXBTdGF0ZSgiYWZ0ZXIgb3B0aW1pemF0aW9uIik7CiAg
ICAgCiAgICAgLy8gRklYTUU6IE5lZWQgdG8gYWRkIHN1cHBvcnQgZm9yIHRoZSBjYXNlIHdoZXJl
IEpJVCBtZW1vcnkgYWxsb2NhdGlvbiBmYWlsZWQuCiAgICAgLy8gaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTExMzYyMAotICAgIHN0YXRlLmdlbmVyYXRlZEZ1bmN0aW9u
ID0gcmVpbnRlcnByZXRfY2FzdDxHZW5lcmF0ZWRGdW5jdGlvbj4oTExWTUdldFBvaW50ZXJUb0ds
b2JhbChlbmdpbmUsIHN0YXRlLmZ1bmN0aW9uKSk7Ci0gICAgTExWTURpc3Bvc2VQYXNzTWFuYWdl
cihmdW5jdGlvblBhc3Nlcyk7Ci0gICAgTExWTURpc3Bvc2VQYXNzTWFuYWdlcihtb2R1bGVQYXNz
ZXMpOwotICAgIExMVk1EaXNwb3NlRXhlY3V0aW9uRW5naW5lKGVuZ2luZSk7CisgICAgc3RhdGUu
Z2VuZXJhdGVkRnVuY3Rpb24gPSByZWludGVycHJldF9jYXN0PEdlbmVyYXRlZEZ1bmN0aW9uPihs
bHZtLT5HZXRQb2ludGVyVG9HbG9iYWwoZW5naW5lLCBzdGF0ZS5mdW5jdGlvbikpOworICAgIGxs
dm0tPkRpc3Bvc2VQYXNzTWFuYWdlcihmdW5jdGlvblBhc3Nlcyk7CisgICAgbGx2bS0+RGlzcG9z
ZVBhc3NNYW5hZ2VyKG1vZHVsZVBhc3Nlcyk7CisgICAgbGx2bS0+RGlzcG9zZUV4ZWN1dGlvbkVu
Z2luZShlbmdpbmUpOwogCiAgICAgaWYgKHNob3VsZFNob3dEaXNhc3NlbWJseSgpKSB7CiAgICAg
ICAgIC8vIEZJWE1FOiBmb3VydGhUaWVyOiBGVEwgbWVtb3J5IGFsbG9jYXRvciBzaG91bGQgYmUg
YWJsZSB0byB0ZWxsIHVzIHdoaWNoIG9mCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRs
L0ZUTExvd2VyREZHVG9MTFZNLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvZnRsL0ZUTExvd2VyREZHVG9MTFZNLmNwcAkocmV2aXNpb24gMTU3MTcyKQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL2Z0bC9GVExMb3dlckRGR1RvTExWTS5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTkxLDcgKzkxLDcgQEAgcHVibGljOgogICAgICAgICBtX2dyYXBoLm1fZG9taW5hdG9ycy5j
b21wdXRlSWZOZWNlc3NhcnkobV9ncmFwaCk7CiAgICAgICAgIAogICAgICAgICBtX2Z0bFN0YXRl
Lm1vZHVsZSA9Ci0gICAgICAgICAgICBMTFZNTW9kdWxlQ3JlYXRlV2l0aE5hbWVJbkNvbnRleHQo
bmFtZS5kYXRhKCksIG1fZnRsU3RhdGUuY29udGV4dCk7CisgICAgICAgICAgICBsbHZtLT5Nb2R1
bGVDcmVhdGVXaXRoTmFtZUluQ29udGV4dChuYW1lLmRhdGEoKSwgbV9mdGxTdGF0ZS5jb250ZXh0
KTsKICAgICAgICAgCiAgICAgICAgIG1fZnRsU3RhdGUuZnVuY3Rpb24gPSBhZGRGdW5jdGlvbigK
ICAgICAgICAgICAgIG1fZnRsU3RhdGUubW9kdWxlLCBuYW1lLmRhdGEoKSwgZnVuY3Rpb25UeXBl
KG1fb3V0LmludDY0LCBtX291dC5pbnRQdHIpKTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbHZtL0luaXRpYWxpemVMTFZNLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGx2bS9Jbml0aWFsaXplTExWTS5jcHAJKHJldmlzaW9uIDApCisrKyBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGx2bS9Jbml0aWFsaXplTExWTS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTAs
MCArMSw0NSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMyBBcHBsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6
CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
CisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5D
LiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBS
T0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkg
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKyAqLwor
CisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiSW5pdGlhbGl6ZUxMVk0uaCIKKworI2lm
IEhBVkUoTExWTSkKKworI2luY2x1ZGUgPHd0Zi9UaHJlYWRpbmcuaD4KKworbmFtZXNwYWNlIEpT
QyB7CisKK3N0YXRpYyBwdGhyZWFkX29uY2VfdCBpbml0aWFsaXplTExWTU9uY2VLZXkgPSBQVEhS
RUFEX09OQ0VfSU5JVDsKKwordm9pZCBpbml0aWFsaXplTExWTSgpCit7CisgICAgcHRocmVhZF9v
bmNlKCZpbml0aWFsaXplTExWTU9uY2VLZXksIGluaXRpYWxpemVMTFZNSW1wbCk7Cit9CisKK30g
Ly8gbmFtZXNwYWNlIEpTQworCisjZW5kaWYgLy8gSEFWRShMTFZNKQorCkluZGV4OiBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGx2bS9Jbml0aWFsaXplTExWTS5oCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbHZtL0luaXRpYWxpemVMTFZNLmgJKHJldmlzaW9uIDApCisrKyBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGx2bS9Jbml0aWFsaXplTExWTS5oCSh3b3JraW5nIGNvcHkp
CkBAIC0wLDAgKzEsNDQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTMgQXBwbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBh
cmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElN
UExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFS
VElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQ
UExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1F
TlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9S
CisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4g
CisgKi8KKworI2lmbmRlZiBJbml0aWFsaXplTExWTV9oCisjZGVmaW5lIEluaXRpYWxpemVMTFZN
X2gKKworI2luY2x1ZGUgPHd0Zi9QbGF0Zm9ybS5oPgorCisjaWYgSEFWRShMTFZNKQorCituYW1l
c3BhY2UgSlNDIHsKKwordm9pZCBpbml0aWFsaXplTExWTUltcGwoKTsKKwordm9pZCBpbml0aWFs
aXplTExWTSgpOyAvLyBJdCdzIHNhZmUgdG8gY2FsbCB0aGlzIG11bHRpcGxlIHRpbWVzLgorCit9
IC8vIG5hbWVzcGFjZSBKU0MKKworI2VuZGlmIC8vIEhBVkUoTExWTSkKKworI2VuZGlmIC8vIElu
aXRpYWxpemVMTFZNX2gKKwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2xsdm0vSW5pdGlh
bGl6ZUxMVk1NYWMubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2xsdm0v
SW5pdGlhbGl6ZUxMVk1NYWMubW0JKHJldmlzaW9uIDApCisrKyBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGx2bS9Jbml0aWFsaXplTExWTU1hYy5tbQkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDU0
IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEzIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEu
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICog
ICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
IGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExF
IElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBV
UlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisg
KiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsg
T1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9S
WQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYg
QURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorICovCisKKyNpbXBv
cnQgImNvbmZpZy5oIgorI2ltcG9ydCAiSW5pdGlhbGl6ZUxMVk0uaCIKKworI2lmIEhBVkUoTExW
TSkKKworI2ltcG9ydCA8Rm91bmRhdGlvbi9Gb3VuZGF0aW9uLmg+CisjaW1wb3J0IDx3dGYvRGF0
YUxvZy5oPgorI2ltcG9ydCA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CisKK0BpbnRlcmZhY2UgSlND
TExWTUR1bW15IDogTlNPYmplY3QKK0BlbmQKKworQGltcGxlbWVudGF0aW9uIEpTQ0xMVk1EdW1t
eSB7Cit9CitAZW5kCisKK25hbWVzcGFjZSBKU0MgeworCit2b2lkIGluaXRpYWxpemVMTFZNSW1w
bCgpCit7CisgICAgTlNCdW5kbGUqIG15QnVuZGxlID0gW05TQnVuZGxlIGJ1bmRsZUZvckNsYXNz
OltKU0NMTFZNRHVtbXkgY2xhc3NdXTsKKyAgICBOU1N0cmluZyogcmVzb3VyY2VQYXRoID0gW215
QnVuZGxlIHJlc291cmNlUGF0aF07CisKKyAgICBpbml0aWFsaXplTExWTVBPU0lYKFtyZXNvdXJj
ZVBhdGggVVRGOFN0cmluZ10pOworfQorCit9IC8vIG5hbWVzcGFjZSBKU0MKKworI2VuZGlmIC8v
IEhBVkUoTExWTSkKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbHZtL0luaXRpYWxpemVM
TFZNUE9TSVguY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbHZtL0lu
aXRpYWxpemVMTFZNUE9TSVguY3BwCShyZXZpc2lvbiAwKQorKysgU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsdm0vSW5pdGlhbGl6ZUxMVk1QT1NJWC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTAsMCAr
MSw1MyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMyBBcHBsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6Cisg
KiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUK
KyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBB
UFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisg
KiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBP
UgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJ
VFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBU
SEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKyAqLworCisj
aW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiSW5pdGlhbGl6ZUxMVk1QT1NJWC5oIgorCisj
aWYgSEFWRShMTFZNKQorCisjaW5jbHVkZSAiTExWTUFQSS5oIgorI2luY2x1ZGUgPGRsZmNuLmg+
CisKK25hbWVzcGFjZSBKU0MgeworCit0eXBlZGVmIExMVk1BUEkqICgqSW5pdGlhbGl6ZXJGdW5j
dGlvbikoKTsKKwordm9pZCBpbml0aWFsaXplTExWTVBPU0lYKGNvbnN0IGNoYXIqIGxpYnJhcnlO
YW1lKQoreworICAgIHZvaWQqIGxpYnJhcnkgPSBkbG9wZW4obGlicmFyeU5hbWUpOworICAgIEFT
U0VSVF9XSVRIX01FU1NBR0UobGlicmFyeSwgIiVzIiwgZGxlcnJvcigpKTsKKyAgICAKKyAgICBJ
bml0aWFsaXplckZ1bmN0aW9uIGluaXRpYWxpemVyID0gc3RhdGljX2Nhc3Q8SW5pdGlhbGl6ZXJG
dW5jdGlvbio+KAorICAgICAgICBkbHN5bShsaWJyYXJ5LCAiaW5pdGlhbGl6ZUFuZEdldEpTQ0xM
Vk1BUEkiKSk7CisgICAgQVNTRVJUX1dJVEhfTUVTU0FHRShpbml0aWFsaXplciwgIiVzIiwgZGxl
cnJvcigpKTsKKyAgICAKKyAgICBsbHZtID0gaW5pdGlhbGl6ZXIoKTsKK30KKworfSAvLyBuYW1l
c3BhY2UgSlNDCisKKyNlbmRpZiAvLyBIQVZFKExMVk0pCisKSW5kZXg6IFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbHZtL0luaXRpYWxpemVMTFZNUE9TSVguaAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGx2bS9Jbml0aWFsaXplTExWTVBPU0lYLmgJKHJldmlzaW9uIDApCisr
KyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvbGx2bS9Jbml0aWFsaXplTExWTVBPU0lYLmgJKHdvcmtp
bmcgY29weSkKQEAgLTAsMCArMSw0MiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMyBBcHBs
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNT
IE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRI
RQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBG
T1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQg
U0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQ
Uk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwg
REFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLiAKKyAqLworCisjaWZuZGVmIEluaXRpYWxpemVMTFZNX2gKKyNkZWZpbmUgSW5pdGlh
bGl6ZUxMVk1faAorCisjaW5jbHVkZSA8d3RmL1BsYXRmb3JtLmg+CisKKyNpZiBIQVZFKExMVk0p
CisKK25hbWVzcGFjZSBKU0MgeworCit2b2lkIGluaXRpYWxpemVMTFZNUE9TSVgoY29uc3QgY2hh
ciogbGlicmFyeU5hbWUpOworCit9IC8vIG5hbWVzcGFjZSBKU0MKKworI2VuZGlmIC8vIEhBVkUo
TExWTSkKKworI2VuZGlmIC8vIEluaXRpYWxpemVMTFZNX2gKKwpJbmRleDogU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsdm0vTExWTUFQSS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsdm0vTExWTUFQSS5jcHAJKHJldmlzaW9uIDApCisrKyBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGx2bS9MTFZNQVBJLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDM0IEBACisv
KgorICogQ29weXJpZ2h0IChDKSAyMDEzIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3Ry
aWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4g
YGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05U
UklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwg
U1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09P
RFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVT
SU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICog
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBU
T1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFO
WSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNF
RCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorICovCisKKyNpbmNsdWRlICJj
b25maWcuaCIKKyNpbmNsdWRlICJMTFZNQVBJLmgiCisKK25hbWVzcGFjZSBKU0MgeworCitMTFZN
QVBJKiBsbHZtOworCit9CisKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbHZtL0xMVk1B
UEkuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvbGx2bS9MTFZNQVBJLmgJ
KHJldmlzaW9uIDApCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvbGx2bS9MTFZNQVBJLmgJKHdv
cmtpbmcgY29weSkKQEAgLTAsMCArMSw0NiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMyBB
cHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZF
TlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9S
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisg
KiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLiAKKyAqLworCisjaWZuZGVmIExMVk1BUElfaAorI2RlZmluZSBMTFZNQVBJX0gK
KworI2luY2x1ZGUgIkxMVk1BUElGdW5jdGlvbnMuaCIKKyNpbmNsdWRlICJMTFZNSGVhZGVycy5o
IgorCituYW1lc3BhY2UgSlNDIHsKKworc3RydWN0IExMVk1BUEkgeworI2RlZmluZSBMTFZNX0FQ
SV9GVU5DVElPTl9ERUNMQVJBVElPTihyZXR1cm5UeXBlLCBuYW1lLCBzaWduYXR1cmUpIFwKKyAg
ICByZXR1cm5UeXBlICgqbmFtZSkgc2lnbmF0dXJlOworICAgIEZPUl9FQUNIX0xMVk1fQVBJX0ZV
TkNUSU9OKExMVk1fQVBJX0ZVTkNUSU9OX0RFQ0xBUkFUSU9OKQorI3VuZGVmIExMVk1fQVBJX0ZV
TkNUSU9OX0RFQ0xBUkFUSU9OCit9OworCitleHRlcm4gTExWTUFQSSogbGx2bTsKKworfSAvLyBu
YW1lc3BhY2UgSlNDCisKKyNlbmRpZiAvLyBMTFZNQVBJX2gKKwpJbmRleDogU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsdm0vTExWTUFQSUZ1bmN0aW9ucy5oCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbHZtL0xMVk1BUElGdW5jdGlvbnMuaAkocmV2aXNpb24gMCkKKysrIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbHZtL0xMVk1BUElGdW5jdGlvbnMuaAkod29ya2luZyBjb3B5
KQpAQCAtMCwwICsxLDYzNCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMyBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAq
IGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICog
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQ
QVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwg
QVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJF
TUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwg
T1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LiAKKyAqLworCisjaWZuZGVmIExMVk1BUElGdW5jdGlvbnNfaAorI2RlZmluZSBMTFZNQVBJRnVu
Y3Rpb25zX2gKKworI2RlZmluZSBGT1JfRUFDSF9MTFZNX0FQSV9GVU5DVElPTihtYWNybykgXAor
ICAgIG1hY3JvKHZvaWQgLCBJbml0aWFsaXplQ29yZSwgKExMVk1QYXNzUmVnaXN0cnlSZWYgUikp
IFwKKyAgICBtYWNybyh2b2lkICwgU2h1dGRvd24sICgpKSBcCisgICAgbWFjcm8oY2hhciAqLCBD
cmVhdGVNZXNzYWdlLCAoY29uc3QgY2hhciAqTWVzc2FnZSkpIFwKKyAgICBtYWNybyh2b2lkICwg
RGlzcG9zZU1lc3NhZ2UsIChjaGFyICpNZXNzYWdlKSkgXAorICAgIG1hY3JvKExMVk1Db250ZXh0
UmVmICwgQ29udGV4dENyZWF0ZSwgKHZvaWQpKSBcCisgICAgbWFjcm8oTExWTUNvbnRleHRSZWYg
LCBHZXRHbG9iYWxDb250ZXh0LCAodm9pZCkpIFwKKyAgICBtYWNybyh2b2lkICwgQ29udGV4dERp
c3Bvc2UsIChMTFZNQ29udGV4dFJlZiBDKSkgXAorICAgIG1hY3JvKHVuc2lnbmVkICwgR2V0TURL
aW5kSURJbkNvbnRleHQsIChMTFZNQ29udGV4dFJlZiBDLCBjb25zdCBjaGFyKiBOYW1lLCB1bnNp
Z25lZCBTTGVuKSkgXAorICAgIG1hY3JvKHVuc2lnbmVkICwgR2V0TURLaW5kSUQsIChjb25zdCBj
aGFyKiBOYW1lLCB1bnNpZ25lZCBTTGVuKSkgXAorICAgIG1hY3JvKExMVk1Nb2R1bGVSZWYgLCBN
b2R1bGVDcmVhdGVXaXRoTmFtZSwgKGNvbnN0IGNoYXIgKk1vZHVsZUlEKSkgXAorICAgIG1hY3Jv
KExMVk1Nb2R1bGVSZWYgLCBNb2R1bGVDcmVhdGVXaXRoTmFtZUluQ29udGV4dCwgKGNvbnN0IGNo
YXIgKk1vZHVsZUlELCBMTFZNQ29udGV4dFJlZiBDKSkgXAorICAgIG1hY3JvKHZvaWQgLCBEaXNw
b3NlTW9kdWxlLCAoTExWTU1vZHVsZVJlZiBNKSkgXAorICAgIG1hY3JvKGNvbnN0IGNoYXIgKiwg
R2V0RGF0YUxheW91dCwgKExMVk1Nb2R1bGVSZWYgTSkpIFwKKyAgICBtYWNybyh2b2lkICwgU2V0
RGF0YUxheW91dCwgKExMVk1Nb2R1bGVSZWYgTSwgY29uc3QgY2hhciAqVHJpcGxlKSkgXAorICAg
IG1hY3JvKGNvbnN0IGNoYXIgKiwgR2V0VGFyZ2V0LCAoTExWTU1vZHVsZVJlZiBNKSkgXAorICAg
IG1hY3JvKHZvaWQgLCBTZXRUYXJnZXQsIChMTFZNTW9kdWxlUmVmIE0sIGNvbnN0IGNoYXIgKlRy
aXBsZSkpIFwKKyAgICBtYWNybyh2b2lkICwgRHVtcE1vZHVsZSwgKExMVk1Nb2R1bGVSZWYgTSkp
IFwKKyAgICBtYWNybyhMTFZNQm9vbCAsIFByaW50TW9kdWxlVG9GaWxlLCAoTExWTU1vZHVsZVJl
ZiBNLCBjb25zdCBjaGFyICpGaWxlbmFtZSwgY2hhciAqKkVycm9yTWVzc2FnZSkpIFwKKyAgICBt
YWNybyh2b2lkICwgU2V0TW9kdWxlSW5saW5lQXNtLCAoTExWTU1vZHVsZVJlZiBNLCBjb25zdCBj
aGFyICpBc20pKSBcCisgICAgbWFjcm8oTExWTUNvbnRleHRSZWYgLCBHZXRNb2R1bGVDb250ZXh0
LCAoTExWTU1vZHVsZVJlZiBNKSkgXAorICAgIG1hY3JvKExMVk1UeXBlUmVmICwgR2V0VHlwZUJ5
TmFtZSwgKExMVk1Nb2R1bGVSZWYgTSwgY29uc3QgY2hhciAqTmFtZSkpIFwKKyAgICBtYWNybyh1
bnNpZ25lZCAsIEdldE5hbWVkTWV0YWRhdGFOdW1PcGVyYW5kcywgKExMVk1Nb2R1bGVSZWYgTSwg
Y29uc3QgY2hhciogbmFtZSkpIFwKKyAgICBtYWNybyh2b2lkICwgR2V0TmFtZWRNZXRhZGF0YU9w
ZXJhbmRzLCAoTExWTU1vZHVsZVJlZiBNLCBjb25zdCBjaGFyKiBuYW1lLCBMTFZNVmFsdWVSZWYg
KkRlc3QpKSBcCisgICAgbWFjcm8odm9pZCAsIEFkZE5hbWVkTWV0YWRhdGFPcGVyYW5kLCAoTExW
TU1vZHVsZVJlZiBNLCBjb25zdCBjaGFyKiBuYW1lLCBMTFZNVmFsdWVSZWYgVmFsKSkgXAorICAg
IG1hY3JvKExMVk1WYWx1ZVJlZiAsIEFkZEZ1bmN0aW9uLCAoTExWTU1vZHVsZVJlZiBNLCBjb25z
dCBjaGFyICpOYW1lLCBMTFZNVHlwZVJlZiBGdW5jdGlvblR5KSkgXAorICAgIG1hY3JvKExMVk1W
YWx1ZVJlZiAsIEdldE5hbWVkRnVuY3Rpb24sIChMTFZNTW9kdWxlUmVmIE0sIGNvbnN0IGNoYXIg
Kk5hbWUpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmICwgR2V0Rmlyc3RGdW5jdGlvbiwgKExM
Vk1Nb2R1bGVSZWYgTSkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYgLCBHZXRMYXN0RnVuY3Rp
b24sIChMTFZNTW9kdWxlUmVmIE0pKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmICwgR2V0TmV4
dEZ1bmN0aW9uLCAoTExWTVZhbHVlUmVmIEZuKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiAs
IEdldFByZXZpb3VzRnVuY3Rpb24sIChMTFZNVmFsdWVSZWYgRm4pKSBcCisgICAgbWFjcm8oTExW
TVR5cGVLaW5kICwgR2V0VHlwZUtpbmQsIChMTFZNVHlwZVJlZiBUeSkpIFwKKyAgICBtYWNybyhM
TFZNQm9vbCAsIFR5cGVJc1NpemVkLCAoTExWTVR5cGVSZWYgVHkpKSBcCisgICAgbWFjcm8oTExW
TUNvbnRleHRSZWYgLCBHZXRUeXBlQ29udGV4dCwgKExMVk1UeXBlUmVmIFR5KSkgXAorICAgIG1h
Y3JvKExMVk1UeXBlUmVmICwgSW50MVR5cGVJbkNvbnRleHQsIChMTFZNQ29udGV4dFJlZiBDKSkg
XAorICAgIG1hY3JvKExMVk1UeXBlUmVmICwgSW50OFR5cGVJbkNvbnRleHQsIChMTFZNQ29udGV4
dFJlZiBDKSkgXAorICAgIG1hY3JvKExMVk1UeXBlUmVmICwgSW50MTZUeXBlSW5Db250ZXh0LCAo
TExWTUNvbnRleHRSZWYgQykpIFwKKyAgICBtYWNybyhMTFZNVHlwZVJlZiAsIEludDMyVHlwZUlu
Q29udGV4dCwgKExMVk1Db250ZXh0UmVmIEMpKSBcCisgICAgbWFjcm8oTExWTVR5cGVSZWYgLCBJ
bnQ2NFR5cGVJbkNvbnRleHQsIChMTFZNQ29udGV4dFJlZiBDKSkgXAorICAgIG1hY3JvKExMVk1U
eXBlUmVmICwgSW50VHlwZUluQ29udGV4dCwgKExMVk1Db250ZXh0UmVmIEMsIHVuc2lnbmVkIE51
bUJpdHMpKSBcCisgICAgbWFjcm8oTExWTVR5cGVSZWYgLCBJbnQxVHlwZSwgKHZvaWQpKSBcCisg
ICAgbWFjcm8oTExWTVR5cGVSZWYgLCBJbnQ4VHlwZSwgKHZvaWQpKSBcCisgICAgbWFjcm8oTExW
TVR5cGVSZWYgLCBJbnQxNlR5cGUsICh2b2lkKSkgXAorICAgIG1hY3JvKExMVk1UeXBlUmVmICwg
SW50MzJUeXBlLCAodm9pZCkpIFwKKyAgICBtYWNybyhMTFZNVHlwZVJlZiAsIEludDY0VHlwZSwg
KHZvaWQpKSBcCisgICAgbWFjcm8oTExWTVR5cGVSZWYgLCBJbnRUeXBlLCAodW5zaWduZWQgTnVt
Qml0cykpIFwKKyAgICBtYWNybyh1bnNpZ25lZCAsIEdldEludFR5cGVXaWR0aCwgKExMVk1UeXBl
UmVmIEludGVnZXJUeSkpIFwKKyAgICBtYWNybyhMTFZNVHlwZVJlZiAsIEhhbGZUeXBlSW5Db250
ZXh0LCAoTExWTUNvbnRleHRSZWYgQykpIFwKKyAgICBtYWNybyhMTFZNVHlwZVJlZiAsIEZsb2F0
VHlwZUluQ29udGV4dCwgKExMVk1Db250ZXh0UmVmIEMpKSBcCisgICAgbWFjcm8oTExWTVR5cGVS
ZWYgLCBEb3VibGVUeXBlSW5Db250ZXh0LCAoTExWTUNvbnRleHRSZWYgQykpIFwKKyAgICBtYWNy
byhMTFZNVHlwZVJlZiAsIFg4NkZQODBUeXBlSW5Db250ZXh0LCAoTExWTUNvbnRleHRSZWYgQykp
IFwKKyAgICBtYWNybyhMTFZNVHlwZVJlZiAsIEZQMTI4VHlwZUluQ29udGV4dCwgKExMVk1Db250
ZXh0UmVmIEMpKSBcCisgICAgbWFjcm8oTExWTVR5cGVSZWYgLCBQUENGUDEyOFR5cGVJbkNvbnRl
eHQsIChMTFZNQ29udGV4dFJlZiBDKSkgXAorICAgIG1hY3JvKExMVk1UeXBlUmVmICwgSGFsZlR5
cGUsICh2b2lkKSkgXAorICAgIG1hY3JvKExMVk1UeXBlUmVmICwgRmxvYXRUeXBlLCAodm9pZCkp
IFwKKyAgICBtYWNybyhMTFZNVHlwZVJlZiAsIERvdWJsZVR5cGUsICh2b2lkKSkgXAorICAgIG1h
Y3JvKExMVk1UeXBlUmVmICwgWDg2RlA4MFR5cGUsICh2b2lkKSkgXAorICAgIG1hY3JvKExMVk1U
eXBlUmVmICwgRlAxMjhUeXBlLCAodm9pZCkpIFwKKyAgICBtYWNybyhMTFZNVHlwZVJlZiAsIFBQ
Q0ZQMTI4VHlwZSwgKHZvaWQpKSBcCisgICAgbWFjcm8oTExWTVR5cGVSZWYgLCBGdW5jdGlvblR5
cGUsIChMTFZNVHlwZVJlZiBSZXR1cm5UeXBlLCBMTFZNVHlwZVJlZiAqUGFyYW1UeXBlcywgdW5z
aWduZWQgUGFyYW1Db3VudCwgTExWTUJvb2wgSXNWYXJBcmcpKSBcCisgICAgbWFjcm8oTExWTUJv
b2wgLCBJc0Z1bmN0aW9uVmFyQXJnLCAoTExWTVR5cGVSZWYgRnVuY3Rpb25UeSkpIFwKKyAgICBt
YWNybyhMTFZNVHlwZVJlZiAsIEdldFJldHVyblR5cGUsIChMTFZNVHlwZVJlZiBGdW5jdGlvblR5
KSkgXAorICAgIG1hY3JvKHVuc2lnbmVkICwgQ291bnRQYXJhbVR5cGVzLCAoTExWTVR5cGVSZWYg
RnVuY3Rpb25UeSkpIFwKKyAgICBtYWNybyh2b2lkICwgR2V0UGFyYW1UeXBlcywgKExMVk1UeXBl
UmVmIEZ1bmN0aW9uVHksIExMVk1UeXBlUmVmICpEZXN0KSkgXAorICAgIG1hY3JvKExMVk1UeXBl
UmVmICwgU3RydWN0VHlwZUluQ29udGV4dCwgKExMVk1Db250ZXh0UmVmIEMsIExMVk1UeXBlUmVm
ICpFbGVtZW50VHlwZXMsIHVuc2lnbmVkIEVsZW1lbnRDb3VudCwgTExWTUJvb2wgUGFja2VkKSkg
XAorICAgIG1hY3JvKExMVk1UeXBlUmVmICwgU3RydWN0VHlwZSwgKExMVk1UeXBlUmVmICpFbGVt
ZW50VHlwZXMsIHVuc2lnbmVkIEVsZW1lbnRDb3VudCwgTExWTUJvb2wgUGFja2VkKSkgXAorICAg
IG1hY3JvKExMVk1UeXBlUmVmICwgU3RydWN0Q3JlYXRlTmFtZWQsIChMTFZNQ29udGV4dFJlZiBD
LCBjb25zdCBjaGFyICpOYW1lKSkgXAorICAgIG1hY3JvKGNvbnN0IGNoYXIgKiwgR2V0U3RydWN0
TmFtZSwgKExMVk1UeXBlUmVmIFR5KSkgXAorICAgIG1hY3JvKHZvaWQgLCBTdHJ1Y3RTZXRCb2R5
LCAoTExWTVR5cGVSZWYgU3RydWN0VHksIExMVk1UeXBlUmVmICpFbGVtZW50VHlwZXMsIHVuc2ln
bmVkIEVsZW1lbnRDb3VudCwgTExWTUJvb2wgUGFja2VkKSkgXAorICAgIG1hY3JvKHVuc2lnbmVk
ICwgQ291bnRTdHJ1Y3RFbGVtZW50VHlwZXMsIChMTFZNVHlwZVJlZiBTdHJ1Y3RUeSkpIFwKKyAg
ICBtYWNybyh2b2lkICwgR2V0U3RydWN0RWxlbWVudFR5cGVzLCAoTExWTVR5cGVSZWYgU3RydWN0
VHksIExMVk1UeXBlUmVmICpEZXN0KSkgXAorICAgIG1hY3JvKExMVk1Cb29sICwgSXNQYWNrZWRT
dHJ1Y3QsIChMTFZNVHlwZVJlZiBTdHJ1Y3RUeSkpIFwKKyAgICBtYWNybyhMTFZNQm9vbCAsIElz
T3BhcXVlU3RydWN0LCAoTExWTVR5cGVSZWYgU3RydWN0VHkpKSBcCisgICAgbWFjcm8oTExWTVR5
cGVSZWYgLCBHZXRFbGVtZW50VHlwZSwgKExMVk1UeXBlUmVmIFR5KSkgXAorICAgIG1hY3JvKExM
Vk1UeXBlUmVmICwgQXJyYXlUeXBlLCAoTExWTVR5cGVSZWYgRWxlbWVudFR5cGUsIHVuc2lnbmVk
IEVsZW1lbnRDb3VudCkpIFwKKyAgICBtYWNybyh1bnNpZ25lZCAsIEdldEFycmF5TGVuZ3RoLCAo
TExWTVR5cGVSZWYgQXJyYXlUeSkpIFwKKyAgICBtYWNybyhMTFZNVHlwZVJlZiAsIFBvaW50ZXJU
eXBlLCAoTExWTVR5cGVSZWYgRWxlbWVudFR5cGUsIHVuc2lnbmVkIEFkZHJlc3NTcGFjZSkpIFwK
KyAgICBtYWNybyh1bnNpZ25lZCAsIEdldFBvaW50ZXJBZGRyZXNzU3BhY2UsIChMTFZNVHlwZVJl
ZiBQb2ludGVyVHkpKSBcCisgICAgbWFjcm8oTExWTVR5cGVSZWYgLCBWZWN0b3JUeXBlLCAoTExW
TVR5cGVSZWYgRWxlbWVudFR5cGUsIHVuc2lnbmVkIEVsZW1lbnRDb3VudCkpIFwKKyAgICBtYWNy
byh1bnNpZ25lZCAsIEdldFZlY3RvclNpemUsIChMTFZNVHlwZVJlZiBWZWN0b3JUeSkpIFwKKyAg
ICBtYWNybyhMTFZNVHlwZVJlZiAsIFZvaWRUeXBlSW5Db250ZXh0LCAoTExWTUNvbnRleHRSZWYg
QykpIFwKKyAgICBtYWNybyhMTFZNVHlwZVJlZiAsIExhYmVsVHlwZUluQ29udGV4dCwgKExMVk1D
b250ZXh0UmVmIEMpKSBcCisgICAgbWFjcm8oTExWTVR5cGVSZWYgLCBYODZNTVhUeXBlSW5Db250
ZXh0LCAoTExWTUNvbnRleHRSZWYgQykpIFwKKyAgICBtYWNybyhMTFZNVHlwZVJlZiAsIFZvaWRU
eXBlLCAodm9pZCkpIFwKKyAgICBtYWNybyhMTFZNVHlwZVJlZiAsIExhYmVsVHlwZSwgKHZvaWQp
KSBcCisgICAgbWFjcm8oTExWTVR5cGVSZWYgLCBYODZNTVhUeXBlLCAodm9pZCkpIFwKKyAgICBt
YWNybyhMTFZNVHlwZVJlZiAsIFR5cGVPZiwgKExMVk1WYWx1ZVJlZiBWYWwpKSBcCisgICAgbWFj
cm8oY29uc3QgY2hhciAqLCBHZXRWYWx1ZU5hbWUsIChMTFZNVmFsdWVSZWYgVmFsKSkgXAorICAg
IG1hY3JvKHZvaWQgLCBTZXRWYWx1ZU5hbWUsIChMTFZNVmFsdWVSZWYgVmFsLCBjb25zdCBjaGFy
ICpOYW1lKSkgXAorICAgIG1hY3JvKHZvaWQgLCBEdW1wVmFsdWUsIChMTFZNVmFsdWVSZWYgVmFs
KSkgXAorICAgIG1hY3JvKHZvaWQgLCBSZXBsYWNlQWxsVXNlc1dpdGgsIChMTFZNVmFsdWVSZWYg
T2xkVmFsLCBMTFZNVmFsdWVSZWYgTmV3VmFsKSkgXAorICAgIG1hY3JvKExMVk1Cb29sICwgSXND
b25zdGFudCwgKExMVk1WYWx1ZVJlZiBWYWwpKSBcCisgICAgbWFjcm8oTExWTUJvb2wgLCBJc1Vu
ZGVmLCAoTExWTVZhbHVlUmVmIFZhbCkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYgLCBJc0FB
cmd1bWVudCwgKExMVk1WYWx1ZVJlZiBWYWwpKSBcCisgICAgbWFjcm8oIExMVk1WYWx1ZVJlZiAs
IElzQUJhc2ljQmxvY2ssIChMTFZNVmFsdWVSZWYgVmFsKSkgXAorICAgIG1hY3JvKCBMTFZNVmFs
dWVSZWYgLCBJc0FJbmxpbmVBc20sIChMTFZNVmFsdWVSZWYgVmFsKSkgXAorICAgIG1hY3JvKCBM
TFZNVmFsdWVSZWYgLCBJc0FNRE5vZGUsIChMTFZNVmFsdWVSZWYgVmFsKSkgXAorICAgIG1hY3Jv
KCBMTFZNVmFsdWVSZWYgLCBJc0FNRFN0cmluZywgKExMVk1WYWx1ZVJlZiBWYWwpKSBcCisgICAg
bWFjcm8oIExMVk1WYWx1ZVJlZiAsIElzQVVzZXIsIChMTFZNVmFsdWVSZWYgVmFsKSkgXAorICAg
IG1hY3JvKCBMTFZNVmFsdWVSZWYgLCBJc0FDb25zdGFudCwgKExMVk1WYWx1ZVJlZiBWYWwpKSBc
CisgICAgbWFjcm8oIExMVk1WYWx1ZVJlZiAsIElzQUJsb2NrQWRkcmVzcywgKExMVk1WYWx1ZVJl
ZiBWYWwpKSBcCisgICAgbWFjcm8oIExMVk1WYWx1ZVJlZiAsIElzQUNvbnN0YW50QWdncmVnYXRl
WmVybywgKExMVk1WYWx1ZVJlZiBWYWwpKSBcCisgICAgbWFjcm8oIExMVk1WYWx1ZVJlZiAsIElz
QUNvbnN0YW50QXJyYXksIChMTFZNVmFsdWVSZWYgVmFsKSkgXAorICAgIG1hY3JvKCBMTFZNVmFs
dWVSZWYgLCBJc0FDb25zdGFudEV4cHIsIChMTFZNVmFsdWVSZWYgVmFsKSkgXAorICAgIG1hY3Jv
KCBMTFZNVmFsdWVSZWYgLCBJc0FDb25zdGFudEZQLCAoTExWTVZhbHVlUmVmIFZhbCkpIFwKKyAg
ICBtYWNybyggTExWTVZhbHVlUmVmICwgSXNBQ29uc3RhbnRJbnQsIChMTFZNVmFsdWVSZWYgVmFs
KSkgXAorICAgIG1hY3JvKCBMTFZNVmFsdWVSZWYgLCBJc0FDb25zdGFudFBvaW50ZXJOdWxsLCAo
TExWTVZhbHVlUmVmIFZhbCkpIFwKKyAgICBtYWNybyggTExWTVZhbHVlUmVmICwgSXNBQ29uc3Rh
bnRTdHJ1Y3QsIChMTFZNVmFsdWVSZWYgVmFsKSkgXAorICAgIG1hY3JvKCBMTFZNVmFsdWVSZWYg
LCBJc0FDb25zdGFudFZlY3RvciwgKExMVk1WYWx1ZVJlZiBWYWwpKSBcCisgICAgbWFjcm8oIExM
Vk1WYWx1ZVJlZiAsIElzQUdsb2JhbFZhbHVlLCAoTExWTVZhbHVlUmVmIFZhbCkpIFwKKyAgICBt
YWNybyggTExWTVZhbHVlUmVmICwgSXNBRnVuY3Rpb24sIChMTFZNVmFsdWVSZWYgVmFsKSkgXAor
ICAgIG1hY3JvKCBMTFZNVmFsdWVSZWYgLCBJc0FHbG9iYWxBbGlhcywgKExMVk1WYWx1ZVJlZiBW
YWwpKSBcCisgICAgbWFjcm8oIExMVk1WYWx1ZVJlZiAsIElzQUdsb2JhbFZhcmlhYmxlLCAoTExW
TVZhbHVlUmVmIFZhbCkpIFwKKyAgICBtYWNybyggTExWTVZhbHVlUmVmICwgSXNBVW5kZWZWYWx1
ZSwgKExMVk1WYWx1ZVJlZiBWYWwpKSBcCisgICAgbWFjcm8oIExMVk1WYWx1ZVJlZiAsIElzQUlu
c3RydWN0aW9uLCAoTExWTVZhbHVlUmVmIFZhbCkpIFwKKyAgICBtYWNybyggTExWTVZhbHVlUmVm
ICwgSXNBQmluYXJ5T3BlcmF0b3IsIChMTFZNVmFsdWVSZWYgVmFsKSkgXAorICAgIG1hY3JvKCBM
TFZNVmFsdWVSZWYgLCBJc0FDYWxsSW5zdCwgKExMVk1WYWx1ZVJlZiBWYWwpKSBcCisgICAgbWFj
cm8oIExMVk1WYWx1ZVJlZiAsIElzQUludHJpbnNpY0luc3QsIChMTFZNVmFsdWVSZWYgVmFsKSkg
XAorICAgIG1hY3JvKCBMTFZNVmFsdWVSZWYgLCBJc0FEYmdJbmZvSW50cmluc2ljLCAoTExWTVZh
bHVlUmVmIFZhbCkpIFwKKyAgICBtYWNybyggTExWTVZhbHVlUmVmICwgSXNBRGJnRGVjbGFyZUlu
c3QsIChMTFZNVmFsdWVSZWYgVmFsKSkgXAorICAgIG1hY3JvKCBMTFZNVmFsdWVSZWYgLCBJc0FN
ZW1JbnRyaW5zaWMsIChMTFZNVmFsdWVSZWYgVmFsKSkgXAorICAgIG1hY3JvKCBMTFZNVmFsdWVS
ZWYgLCBJc0FNZW1DcHlJbnN0LCAoTExWTVZhbHVlUmVmIFZhbCkpIFwKKyAgICBtYWNybyggTExW
TVZhbHVlUmVmICwgSXNBTWVtTW92ZUluc3QsIChMTFZNVmFsdWVSZWYgVmFsKSkgXAorICAgIG1h
Y3JvKCBMTFZNVmFsdWVSZWYgLCBJc0FNZW1TZXRJbnN0LCAoTExWTVZhbHVlUmVmIFZhbCkpIFwK
KyAgICBtYWNybyggTExWTVZhbHVlUmVmICwgSXNBQ21wSW5zdCwgKExMVk1WYWx1ZVJlZiBWYWwp
KSBcCisgICAgbWFjcm8oIExMVk1WYWx1ZVJlZiAsIElzQUZDbXBJbnN0LCAoTExWTVZhbHVlUmVm
IFZhbCkpIFwKKyAgICBtYWNybyggTExWTVZhbHVlUmVmICwgSXNBSUNtcEluc3QsIChMTFZNVmFs
dWVSZWYgVmFsKSkgXAorICAgIG1hY3JvKCBMTFZNVmFsdWVSZWYgLCBJc0FFeHRyYWN0RWxlbWVu
dEluc3QsIChMTFZNVmFsdWVSZWYgVmFsKSkgXAorICAgIG1hY3JvKCBMTFZNVmFsdWVSZWYgLCBJ
c0FHZXRFbGVtZW50UHRySW5zdCwgKExMVk1WYWx1ZVJlZiBWYWwpKSBcCisgICAgbWFjcm8oIExM
Vk1WYWx1ZVJlZiAsIElzQUluc2VydEVsZW1lbnRJbnN0LCAoTExWTVZhbHVlUmVmIFZhbCkpIFwK
KyAgICBtYWNybyggTExWTVZhbHVlUmVmICwgSXNBSW5zZXJ0VmFsdWVJbnN0LCAoTExWTVZhbHVl
UmVmIFZhbCkpIFwKKyAgICBtYWNybyggTExWTVZhbHVlUmVmICwgSXNBTGFuZGluZ1BhZEluc3Qs
IChMTFZNVmFsdWVSZWYgVmFsKSkgXAorICAgIG1hY3JvKCBMTFZNVmFsdWVSZWYgLCBJc0FQSElO
b2RlLCAoTExWTVZhbHVlUmVmIFZhbCkpIFwKKyAgICBtYWNybyggTExWTVZhbHVlUmVmICwgSXNB
U2VsZWN0SW5zdCwgKExMVk1WYWx1ZVJlZiBWYWwpKSBcCisgICAgbWFjcm8oIExMVk1WYWx1ZVJl
ZiAsIElzQVNodWZmbGVWZWN0b3JJbnN0LCAoTExWTVZhbHVlUmVmIFZhbCkpIFwKKyAgICBtYWNy
byggTExWTVZhbHVlUmVmICwgSXNBU3RvcmVJbnN0LCAoTExWTVZhbHVlUmVmIFZhbCkpIFwKKyAg
ICBtYWNybyggTExWTVZhbHVlUmVmICwgSXNBVGVybWluYXRvckluc3QsIChMTFZNVmFsdWVSZWYg
VmFsKSkgXAorICAgIG1hY3JvKCBMTFZNVmFsdWVSZWYgLCBJc0FCcmFuY2hJbnN0LCAoTExWTVZh
bHVlUmVmIFZhbCkpIFwKKyAgICBtYWNybyggTExWTVZhbHVlUmVmICwgSXNBSW5kaXJlY3RCcklu
c3QsIChMTFZNVmFsdWVSZWYgVmFsKSkgXAorICAgIG1hY3JvKCBMTFZNVmFsdWVSZWYgLCBJc0FJ
bnZva2VJbnN0LCAoTExWTVZhbHVlUmVmIFZhbCkpIFwKKyAgICBtYWNybyggTExWTVZhbHVlUmVm
ICwgSXNBUmV0dXJuSW5zdCwgKExMVk1WYWx1ZVJlZiBWYWwpKSBcCisgICAgbWFjcm8oIExMVk1W
YWx1ZVJlZiAsIElzQVN3aXRjaEluc3QsIChMTFZNVmFsdWVSZWYgVmFsKSkgXAorICAgIG1hY3Jv
KCBMTFZNVmFsdWVSZWYgLCBJc0FVbnJlYWNoYWJsZUluc3QsIChMTFZNVmFsdWVSZWYgVmFsKSkg
XAorICAgIG1hY3JvKCBMTFZNVmFsdWVSZWYgLCBJc0FSZXN1bWVJbnN0LCAoTExWTVZhbHVlUmVm
IFZhbCkpIFwKKyAgICBtYWNybyggTExWTVZhbHVlUmVmICwgSXNBVW5hcnlJbnN0cnVjdGlvbiwg
KExMVk1WYWx1ZVJlZiBWYWwpKSBcCisgICAgbWFjcm8oIExMVk1WYWx1ZVJlZiAsIElzQUFsbG9j
YUluc3QsIChMTFZNVmFsdWVSZWYgVmFsKSkgXAorICAgIG1hY3JvKCBMTFZNVmFsdWVSZWYgLCBJ
c0FDYXN0SW5zdCwgKExMVk1WYWx1ZVJlZiBWYWwpKSBcCisgICAgbWFjcm8oIExMVk1WYWx1ZVJl
ZiAsIElzQUJpdENhc3RJbnN0LCAoTExWTVZhbHVlUmVmIFZhbCkpIFwKKyAgICBtYWNybyggTExW
TVZhbHVlUmVmICwgSXNBRlBFeHRJbnN0LCAoTExWTVZhbHVlUmVmIFZhbCkpIFwKKyAgICBtYWNy
byggTExWTVZhbHVlUmVmICwgSXNBRlBUb1NJSW5zdCwgKExMVk1WYWx1ZVJlZiBWYWwpKSBcCisg
ICAgbWFjcm8oIExMVk1WYWx1ZVJlZiAsIElzQUZQVG9VSUluc3QsIChMTFZNVmFsdWVSZWYgVmFs
KSkgXAorICAgIG1hY3JvKCBMTFZNVmFsdWVSZWYgLCBJc0FGUFRydW5jSW5zdCwgKExMVk1WYWx1
ZVJlZiBWYWwpKSBcCisgICAgbWFjcm8oIExMVk1WYWx1ZVJlZiAsIElzQUludFRvUHRySW5zdCwg
KExMVk1WYWx1ZVJlZiBWYWwpKSBcCisgICAgbWFjcm8oIExMVk1WYWx1ZVJlZiAsIElzQVB0clRv
SW50SW5zdCwgKExMVk1WYWx1ZVJlZiBWYWwpKSBcCisgICAgbWFjcm8oIExMVk1WYWx1ZVJlZiAs
IElzQVNFeHRJbnN0LCAoTExWTVZhbHVlUmVmIFZhbCkpIFwKKyAgICBtYWNybyggTExWTVZhbHVl
UmVmICwgSXNBU0lUb0ZQSW5zdCwgKExMVk1WYWx1ZVJlZiBWYWwpKSBcCisgICAgbWFjcm8oIExM
Vk1WYWx1ZVJlZiAsIElzQVRydW5jSW5zdCwgKExMVk1WYWx1ZVJlZiBWYWwpKSBcCisgICAgbWFj
cm8oIExMVk1WYWx1ZVJlZiAsIElzQVVJVG9GUEluc3QsIChMTFZNVmFsdWVSZWYgVmFsKSkgXAor
ICAgIG1hY3JvKCBMTFZNVmFsdWVSZWYgLCBJc0FaRXh0SW5zdCwgKExMVk1WYWx1ZVJlZiBWYWwp
KSBcCisgICAgbWFjcm8oIExMVk1WYWx1ZVJlZiAsIElzQUV4dHJhY3RWYWx1ZUluc3QsIChMTFZN
VmFsdWVSZWYgVmFsKSkgXAorICAgIG1hY3JvKCBMTFZNVmFsdWVSZWYgLCBJc0FMb2FkSW5zdCwg
KExMVk1WYWx1ZVJlZiBWYWwpKSBcCisgICAgbWFjcm8oIExMVk1WYWx1ZVJlZiAsIElzQVZBQXJn
SW5zdCwgKExMVk1WYWx1ZVJlZiBWYWwpKSBcCisgICAgbWFjcm8oTExWTVVzZVJlZiAsIEdldEZp
cnN0VXNlLCAoTExWTVZhbHVlUmVmIFZhbCkpIFwKKyAgICBtYWNybyhMTFZNVXNlUmVmICwgR2V0
TmV4dFVzZSwgKExMVk1Vc2VSZWYgVSkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYgLCBHZXRV
c2VyLCAoTExWTVVzZVJlZiBVKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiAsIEdldFVzZWRW
YWx1ZSwgKExMVk1Vc2VSZWYgVSkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYgLCBHZXRPcGVy
YW5kLCAoTExWTVZhbHVlUmVmIFZhbCwgdW5zaWduZWQgSW5kZXgpKSBcCisgICAgbWFjcm8odm9p
ZCAsIFNldE9wZXJhbmQsIChMTFZNVmFsdWVSZWYgVXNlciwgdW5zaWduZWQgSW5kZXgsIExMVk1W
YWx1ZVJlZiBWYWwpKSBcCisgICAgbWFjcm8oaW50ICwgR2V0TnVtT3BlcmFuZHMsIChMTFZNVmFs
dWVSZWYgVmFsKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiAsIENvbnN0TnVsbCwgKExMVk1U
eXBlUmVmIFR5KSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiAsIENvbnN0QWxsT25lcywgKExM
Vk1UeXBlUmVmIFR5KSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiAsIEdldFVuZGVmLCAoTExW
TVR5cGVSZWYgVHkpKSBcCisgICAgbWFjcm8oTExWTUJvb2wgLCBJc051bGwsIChMTFZNVmFsdWVS
ZWYgVmFsKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiAsIENvbnN0UG9pbnRlck51bGwsIChM
TFZNVHlwZVJlZiBUeSkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYgLCBDb25zdEludCwgKExM
Vk1UeXBlUmVmIEludFR5LCB1bnNpZ25lZCBsb25nIGxvbmcgTiwgTExWTUJvb2wgU2lnbkV4dGVu
ZCkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYgLCBDb25zdEludE9mQXJiaXRyYXJ5UHJlY2lz
aW9uLCAoTExWTVR5cGVSZWYgSW50VHksIHVuc2lnbmVkIE51bVdvcmRzLCBjb25zdCB1aW50NjRf
dCBXb3Jkc1tdKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiAsIENvbnN0SW50T2ZTdHJpbmcs
IChMTFZNVHlwZVJlZiBJbnRUeSwgY29uc3QgY2hhciAqVGV4dCwgdWludDhfdCBSYWRpeCkpIFwK
KyAgICBtYWNybyhMTFZNVmFsdWVSZWYgLCBDb25zdEludE9mU3RyaW5nQW5kU2l6ZSwgKExMVk1U
eXBlUmVmIEludFR5LCBjb25zdCBjaGFyICpUZXh0LCB1bnNpZ25lZCBTTGVuLCB1aW50OF90IFJh
ZGl4KSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiAsIENvbnN0UmVhbCwgKExMVk1UeXBlUmVm
IFJlYWxUeSwgZG91YmxlIE4pKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmICwgQ29uc3RSZWFs
T2ZTdHJpbmcsIChMTFZNVHlwZVJlZiBSZWFsVHksIGNvbnN0IGNoYXIgKlRleHQpKSBcCisgICAg
bWFjcm8oTExWTVZhbHVlUmVmICwgQ29uc3RSZWFsT2ZTdHJpbmdBbmRTaXplLCAoTExWTVR5cGVS
ZWYgUmVhbFR5LCBjb25zdCBjaGFyICpUZXh0LCB1bnNpZ25lZCBTTGVuKSkgXAorICAgIG1hY3Jv
KHVuc2lnbmVkIGxvbmcgbG9uZyAsIENvbnN0SW50R2V0WkV4dFZhbHVlLCAoTExWTVZhbHVlUmVm
IENvbnN0YW50VmFsKSkgXAorICAgIG1hY3JvKGxvbmcgbG9uZyAsIENvbnN0SW50R2V0U0V4dFZh
bHVlLCAoTExWTVZhbHVlUmVmIENvbnN0YW50VmFsKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJl
ZiAsIENvbnN0U3RyaW5nSW5Db250ZXh0LCAoTExWTUNvbnRleHRSZWYgQywgY29uc3QgY2hhciAq
U3RyLCB1bnNpZ25lZCBMZW5ndGgsIExMVk1Cb29sIERvbnROdWxsVGVybWluYXRlKSkgXAorICAg
IG1hY3JvKExMVk1WYWx1ZVJlZiAsIENvbnN0U3RyaW5nLCAoY29uc3QgY2hhciAqU3RyLCB1bnNp
Z25lZCBMZW5ndGgsIExMVk1Cb29sIERvbnROdWxsVGVybWluYXRlKSkgXAorICAgIG1hY3JvKExM
Vk1WYWx1ZVJlZiAsIENvbnN0U3RydWN0SW5Db250ZXh0LCAoTExWTUNvbnRleHRSZWYgQywgTExW
TVZhbHVlUmVmICpDb25zdGFudFZhbHMsIHVuc2lnbmVkIENvdW50LCBMTFZNQm9vbCBQYWNrZWQp
KSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmICwgQ29uc3RTdHJ1Y3QsIChMTFZNVmFsdWVSZWYg
KkNvbnN0YW50VmFscywgdW5zaWduZWQgQ291bnQsIExMVk1Cb29sIFBhY2tlZCkpIFwKKyAgICBt
YWNybyhMTFZNVmFsdWVSZWYgLCBDb25zdEFycmF5LCAoTExWTVR5cGVSZWYgRWxlbWVudFR5LCBM
TFZNVmFsdWVSZWYgKkNvbnN0YW50VmFscywgdW5zaWduZWQgTGVuZ3RoKSkgXAorICAgIG1hY3Jv
KExMVk1WYWx1ZVJlZiAsIENvbnN0TmFtZWRTdHJ1Y3QsIChMTFZNVHlwZVJlZiBTdHJ1Y3RUeSwg
TExWTVZhbHVlUmVmICpDb25zdGFudFZhbHMsIHVuc2lnbmVkIENvdW50KSkgXAorICAgIG1hY3Jv
KExMVk1WYWx1ZVJlZiAsIENvbnN0VmVjdG9yLCAoTExWTVZhbHVlUmVmICpTY2FsYXJDb25zdGFu
dFZhbHMsIHVuc2lnbmVkIFNpemUpKSBcCisgICAgbWFjcm8oTExWTU9wY29kZSAsIEdldENvbnN0
T3Bjb2RlLCAoTExWTVZhbHVlUmVmIENvbnN0YW50VmFsKSkgXAorICAgIG1hY3JvKExMVk1WYWx1
ZVJlZiAsIEFsaWduT2YsIChMTFZNVHlwZVJlZiBUeSkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVS
ZWYgLCBTaXplT2YsIChMTFZNVHlwZVJlZiBUeSkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYg
LCBDb25zdE5lZywgKExMVk1WYWx1ZVJlZiBDb25zdGFudFZhbCkpIFwKKyAgICBtYWNybyhMTFZN
VmFsdWVSZWYgLCBDb25zdE5TV05lZywgKExMVk1WYWx1ZVJlZiBDb25zdGFudFZhbCkpIFwKKyAg
ICBtYWNybyhMTFZNVmFsdWVSZWYgLCBDb25zdE5VV05lZywgKExMVk1WYWx1ZVJlZiBDb25zdGFu
dFZhbCkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYgLCBDb25zdEZOZWcsIChMTFZNVmFsdWVS
ZWYgQ29uc3RhbnRWYWwpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmICwgQ29uc3ROb3QsIChM
TFZNVmFsdWVSZWYgQ29uc3RhbnRWYWwpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmICwgQ29u
c3RBZGQsIChMTFZNVmFsdWVSZWYgTEhTQ29uc3RhbnQsIExMVk1WYWx1ZVJlZiBSSFNDb25zdGFu
dCkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYgLCBDb25zdE5TV0FkZCwgKExMVk1WYWx1ZVJl
ZiBMSFNDb25zdGFudCwgTExWTVZhbHVlUmVmIFJIU0NvbnN0YW50KSkgXAorICAgIG1hY3JvKExM
Vk1WYWx1ZVJlZiAsIENvbnN0TlVXQWRkLCAoTExWTVZhbHVlUmVmIExIU0NvbnN0YW50LCBMTFZN
VmFsdWVSZWYgUkhTQ29uc3RhbnQpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmICwgQ29uc3RG
QWRkLCAoTExWTVZhbHVlUmVmIExIU0NvbnN0YW50LCBMTFZNVmFsdWVSZWYgUkhTQ29uc3RhbnQp
KSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmICwgQ29uc3RTdWIsIChMTFZNVmFsdWVSZWYgTEhT
Q29uc3RhbnQsIExMVk1WYWx1ZVJlZiBSSFNDb25zdGFudCkpIFwKKyAgICBtYWNybyhMTFZNVmFs
dWVSZWYgLCBDb25zdE5TV1N1YiwgKExMVk1WYWx1ZVJlZiBMSFNDb25zdGFudCwgTExWTVZhbHVl
UmVmIFJIU0NvbnN0YW50KSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiAsIENvbnN0TlVXU3Vi
LCAoTExWTVZhbHVlUmVmIExIU0NvbnN0YW50LCBMTFZNVmFsdWVSZWYgUkhTQ29uc3RhbnQpKSBc
CisgICAgbWFjcm8oTExWTVZhbHVlUmVmICwgQ29uc3RGU3ViLCAoTExWTVZhbHVlUmVmIExIU0Nv
bnN0YW50LCBMTFZNVmFsdWVSZWYgUkhTQ29uc3RhbnQpKSBcCisgICAgbWFjcm8oTExWTVZhbHVl
UmVmICwgQ29uc3RNdWwsIChMTFZNVmFsdWVSZWYgTEhTQ29uc3RhbnQsIExMVk1WYWx1ZVJlZiBS
SFNDb25zdGFudCkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYgLCBDb25zdE5TV011bCwgKExM
Vk1WYWx1ZVJlZiBMSFNDb25zdGFudCwgTExWTVZhbHVlUmVmIFJIU0NvbnN0YW50KSkgXAorICAg
IG1hY3JvKExMVk1WYWx1ZVJlZiAsIENvbnN0TlVXTXVsLCAoTExWTVZhbHVlUmVmIExIU0NvbnN0
YW50LCBMTFZNVmFsdWVSZWYgUkhTQ29uc3RhbnQpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVm
ICwgQ29uc3RGTXVsLCAoTExWTVZhbHVlUmVmIExIU0NvbnN0YW50LCBMTFZNVmFsdWVSZWYgUkhT
Q29uc3RhbnQpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmICwgQ29uc3RVRGl2LCAoTExWTVZh
bHVlUmVmIExIU0NvbnN0YW50LCBMTFZNVmFsdWVSZWYgUkhTQ29uc3RhbnQpKSBcCisgICAgbWFj
cm8oTExWTVZhbHVlUmVmICwgQ29uc3RTRGl2LCAoTExWTVZhbHVlUmVmIExIU0NvbnN0YW50LCBM
TFZNVmFsdWVSZWYgUkhTQ29uc3RhbnQpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmICwgQ29u
c3RFeGFjdFNEaXYsIChMTFZNVmFsdWVSZWYgTEhTQ29uc3RhbnQsIExMVk1WYWx1ZVJlZiBSSFND
b25zdGFudCkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYgLCBDb25zdEZEaXYsIChMTFZNVmFs
dWVSZWYgTEhTQ29uc3RhbnQsIExMVk1WYWx1ZVJlZiBSSFNDb25zdGFudCkpIFwKKyAgICBtYWNy
byhMTFZNVmFsdWVSZWYgLCBDb25zdFVSZW0sIChMTFZNVmFsdWVSZWYgTEhTQ29uc3RhbnQsIExM
Vk1WYWx1ZVJlZiBSSFNDb25zdGFudCkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYgLCBDb25z
dFNSZW0sIChMTFZNVmFsdWVSZWYgTEhTQ29uc3RhbnQsIExMVk1WYWx1ZVJlZiBSSFNDb25zdGFu
dCkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYgLCBDb25zdEZSZW0sIChMTFZNVmFsdWVSZWYg
TEhTQ29uc3RhbnQsIExMVk1WYWx1ZVJlZiBSSFNDb25zdGFudCkpIFwKKyAgICBtYWNybyhMTFZN
VmFsdWVSZWYgLCBDb25zdEFuZCwgKExMVk1WYWx1ZVJlZiBMSFNDb25zdGFudCwgTExWTVZhbHVl
UmVmIFJIU0NvbnN0YW50KSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiAsIENvbnN0T3IsIChM
TFZNVmFsdWVSZWYgTEhTQ29uc3RhbnQsIExMVk1WYWx1ZVJlZiBSSFNDb25zdGFudCkpIFwKKyAg
ICBtYWNybyhMTFZNVmFsdWVSZWYgLCBDb25zdFhvciwgKExMVk1WYWx1ZVJlZiBMSFNDb25zdGFu
dCwgTExWTVZhbHVlUmVmIFJIU0NvbnN0YW50KSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiAs
IENvbnN0SUNtcCwgKExMVk1JbnRQcmVkaWNhdGUgUHJlZGljYXRlLCBMTFZNVmFsdWVSZWYgTEhT
Q29uc3RhbnQsIExMVk1WYWx1ZVJlZiBSSFNDb25zdGFudCkpIFwKKyAgICBtYWNybyhMTFZNVmFs
dWVSZWYgLCBDb25zdEZDbXAsIChMTFZNUmVhbFByZWRpY2F0ZSBQcmVkaWNhdGUsIExMVk1WYWx1
ZVJlZiBMSFNDb25zdGFudCwgTExWTVZhbHVlUmVmIFJIU0NvbnN0YW50KSkgXAorICAgIG1hY3Jv
KExMVk1WYWx1ZVJlZiAsIENvbnN0U2hsLCAoTExWTVZhbHVlUmVmIExIU0NvbnN0YW50LCBMTFZN
VmFsdWVSZWYgUkhTQ29uc3RhbnQpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmICwgQ29uc3RM
U2hyLCAoTExWTVZhbHVlUmVmIExIU0NvbnN0YW50LCBMTFZNVmFsdWVSZWYgUkhTQ29uc3RhbnQp
KSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmICwgQ29uc3RBU2hyLCAoTExWTVZhbHVlUmVmIExI
U0NvbnN0YW50LCBMTFZNVmFsdWVSZWYgUkhTQ29uc3RhbnQpKSBcCisgICAgbWFjcm8oTExWTVZh
bHVlUmVmICwgQ29uc3RHRVAsIChMTFZNVmFsdWVSZWYgQ29uc3RhbnRWYWwsIExMVk1WYWx1ZVJl
ZiAqQ29uc3RhbnRJbmRpY2VzLCB1bnNpZ25lZCBOdW1JbmRpY2VzKSkgXAorICAgIG1hY3JvKExM
Vk1WYWx1ZVJlZiAsIENvbnN0SW5Cb3VuZHNHRVAsIChMTFZNVmFsdWVSZWYgQ29uc3RhbnRWYWws
IExMVk1WYWx1ZVJlZiAqQ29uc3RhbnRJbmRpY2VzLCB1bnNpZ25lZCBOdW1JbmRpY2VzKSkgXAor
ICAgIG1hY3JvKExMVk1WYWx1ZVJlZiAsIENvbnN0VHJ1bmMsIChMTFZNVmFsdWVSZWYgQ29uc3Rh
bnRWYWwsIExMVk1UeXBlUmVmIFRvVHlwZSkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYgLCBD
b25zdFNFeHQsIChMTFZNVmFsdWVSZWYgQ29uc3RhbnRWYWwsIExMVk1UeXBlUmVmIFRvVHlwZSkp
IFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYgLCBDb25zdFpFeHQsIChMTFZNVmFsdWVSZWYgQ29u
c3RhbnRWYWwsIExMVk1UeXBlUmVmIFRvVHlwZSkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYg
LCBDb25zdEZQVHJ1bmMsIChMTFZNVmFsdWVSZWYgQ29uc3RhbnRWYWwsIExMVk1UeXBlUmVmIFRv
VHlwZSkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYgLCBDb25zdEZQRXh0LCAoTExWTVZhbHVl
UmVmIENvbnN0YW50VmFsLCBMTFZNVHlwZVJlZiBUb1R5cGUpKSBcCisgICAgbWFjcm8oTExWTVZh
bHVlUmVmICwgQ29uc3RVSVRvRlAsIChMTFZNVmFsdWVSZWYgQ29uc3RhbnRWYWwsIExMVk1UeXBl
UmVmIFRvVHlwZSkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYgLCBDb25zdFNJVG9GUCwgKExM
Vk1WYWx1ZVJlZiBDb25zdGFudFZhbCwgTExWTVR5cGVSZWYgVG9UeXBlKSkgXAorICAgIG1hY3Jv
KExMVk1WYWx1ZVJlZiAsIENvbnN0RlBUb1VJLCAoTExWTVZhbHVlUmVmIENvbnN0YW50VmFsLCBM
TFZNVHlwZVJlZiBUb1R5cGUpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmICwgQ29uc3RGUFRv
U0ksIChMTFZNVmFsdWVSZWYgQ29uc3RhbnRWYWwsIExMVk1UeXBlUmVmIFRvVHlwZSkpIFwKKyAg
ICBtYWNybyhMTFZNVmFsdWVSZWYgLCBDb25zdFB0clRvSW50LCAoTExWTVZhbHVlUmVmIENvbnN0
YW50VmFsLCBMTFZNVHlwZVJlZiBUb1R5cGUpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmICwg
Q29uc3RJbnRUb1B0ciwgKExMVk1WYWx1ZVJlZiBDb25zdGFudFZhbCwgTExWTVR5cGVSZWYgVG9U
eXBlKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiAsIENvbnN0Qml0Q2FzdCwgKExMVk1WYWx1
ZVJlZiBDb25zdGFudFZhbCwgTExWTVR5cGVSZWYgVG9UeXBlKSkgXAorICAgIG1hY3JvKExMVk1W
YWx1ZVJlZiAsIENvbnN0WkV4dE9yQml0Q2FzdCwgKExMVk1WYWx1ZVJlZiBDb25zdGFudFZhbCwg
TExWTVR5cGVSZWYgVG9UeXBlKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiAsIENvbnN0U0V4
dE9yQml0Q2FzdCwgKExMVk1WYWx1ZVJlZiBDb25zdGFudFZhbCwgTExWTVR5cGVSZWYgVG9UeXBl
KSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiAsIENvbnN0VHJ1bmNPckJpdENhc3QsIChMTFZN
VmFsdWVSZWYgQ29uc3RhbnRWYWwsIExMVk1UeXBlUmVmIFRvVHlwZSkpIFwKKyAgICBtYWNybyhM
TFZNVmFsdWVSZWYgLCBDb25zdFBvaW50ZXJDYXN0LCAoTExWTVZhbHVlUmVmIENvbnN0YW50VmFs
LCBMTFZNVHlwZVJlZiBUb1R5cGUpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmICwgQ29uc3RJ
bnRDYXN0LCAoTExWTVZhbHVlUmVmIENvbnN0YW50VmFsLCBMTFZNVHlwZVJlZiBUb1R5cGUsIExM
Vk1Cb29sIGlzU2lnbmVkKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiAsIENvbnN0RlBDYXN0
LCAoTExWTVZhbHVlUmVmIENvbnN0YW50VmFsLCBMTFZNVHlwZVJlZiBUb1R5cGUpKSBcCisgICAg
bWFjcm8oTExWTVZhbHVlUmVmICwgQ29uc3RTZWxlY3QsIChMTFZNVmFsdWVSZWYgQ29uc3RhbnRD
b25kaXRpb24sIExMVk1WYWx1ZVJlZiBDb25zdGFudElmVHJ1ZSwgTExWTVZhbHVlUmVmIENvbnN0
YW50SWZGYWxzZSkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYgLCBDb25zdEV4dHJhY3RFbGVt
ZW50LCAoTExWTVZhbHVlUmVmIFZlY3RvckNvbnN0YW50LCBMTFZNVmFsdWVSZWYgSW5kZXhDb25z
dGFudCkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYgLCBDb25zdEluc2VydEVsZW1lbnQsIChM
TFZNVmFsdWVSZWYgVmVjdG9yQ29uc3RhbnQsIExMVk1WYWx1ZVJlZiBFbGVtZW50VmFsdWVDb25z
dGFudCwgTExWTVZhbHVlUmVmIEluZGV4Q29uc3RhbnQpKSBcCisgICAgbWFjcm8oTExWTVZhbHVl
UmVmICwgQ29uc3RTaHVmZmxlVmVjdG9yLCAoTExWTVZhbHVlUmVmIFZlY3RvckFDb25zdGFudCwg
TExWTVZhbHVlUmVmIFZlY3RvckJDb25zdGFudCwgTExWTVZhbHVlUmVmIE1hc2tDb25zdGFudCkp
IFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYgLCBDb25zdEV4dHJhY3RWYWx1ZSwgKExMVk1WYWx1
ZVJlZiBBZ2dDb25zdGFudCwgdW5zaWduZWQgKklkeExpc3QsIHVuc2lnbmVkIE51bUlkeCkpIFwK
KyAgICBtYWNybyhMTFZNVmFsdWVSZWYgLCBDb25zdEluc2VydFZhbHVlLCAoTExWTVZhbHVlUmVm
IEFnZ0NvbnN0YW50LCBMTFZNVmFsdWVSZWYgRWxlbWVudFZhbHVlQ29uc3RhbnQsIHVuc2lnbmVk
ICpJZHhMaXN0LCB1bnNpZ25lZCBOdW1JZHgpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmICwg
Q29uc3RJbmxpbmVBc20sIChMTFZNVHlwZVJlZiBUeSwgY29uc3QgY2hhciAqQXNtU3RyaW5nLCBj
b25zdCBjaGFyICpDb25zdHJhaW50cywgTExWTUJvb2wgSGFzU2lkZUVmZmVjdHMsIExMVk1Cb29s
IElzQWxpZ25TdGFjaykpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYgLCBCbG9ja0FkZHJlc3Ms
IChMTFZNVmFsdWVSZWYgRiwgTExWTUJhc2ljQmxvY2tSZWYgQkIpKSBcCisgICAgbWFjcm8oTExW
TU1vZHVsZVJlZiAsIEdldEdsb2JhbFBhcmVudCwgKExMVk1WYWx1ZVJlZiBHbG9iYWwpKSBcCisg
ICAgbWFjcm8oTExWTUJvb2wgLCBJc0RlY2xhcmF0aW9uLCAoTExWTVZhbHVlUmVmIEdsb2JhbCkp
IFwKKyAgICBtYWNybyhMTFZNTGlua2FnZSAsIEdldExpbmthZ2UsIChMTFZNVmFsdWVSZWYgR2xv
YmFsKSkgXAorICAgIG1hY3JvKHZvaWQgLCBTZXRMaW5rYWdlLCAoTExWTVZhbHVlUmVmIEdsb2Jh
bCwgTExWTUxpbmthZ2UgTGlua2FnZSkpIFwKKyAgICBtYWNybyhjb25zdCBjaGFyICosIEdldFNl
Y3Rpb24sIChMTFZNVmFsdWVSZWYgR2xvYmFsKSkgXAorICAgIG1hY3JvKHZvaWQgLCBTZXRTZWN0
aW9uLCAoTExWTVZhbHVlUmVmIEdsb2JhbCwgY29uc3QgY2hhciAqU2VjdGlvbikpIFwKKyAgICBt
YWNybyhMTFZNVmlzaWJpbGl0eSAsIEdldFZpc2liaWxpdHksIChMTFZNVmFsdWVSZWYgR2xvYmFs
KSkgXAorICAgIG1hY3JvKHZvaWQgLCBTZXRWaXNpYmlsaXR5LCAoTExWTVZhbHVlUmVmIEdsb2Jh
bCwgTExWTVZpc2liaWxpdHkgVml6KSkgXAorICAgIG1hY3JvKHVuc2lnbmVkICwgR2V0QWxpZ25t
ZW50LCAoTExWTVZhbHVlUmVmIEdsb2JhbCkpIFwKKyAgICBtYWNybyh2b2lkICwgU2V0QWxpZ25t
ZW50LCAoTExWTVZhbHVlUmVmIEdsb2JhbCwgdW5zaWduZWQgQnl0ZXMpKSBcCisgICAgbWFjcm8o
TExWTVZhbHVlUmVmICwgQWRkR2xvYmFsLCAoTExWTU1vZHVsZVJlZiBNLCBMTFZNVHlwZVJlZiBU
eSwgY29uc3QgY2hhciAqTmFtZSkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYgLCBBZGRHbG9i
YWxJbkFkZHJlc3NTcGFjZSwgKExMVk1Nb2R1bGVSZWYgTSwgTExWTVR5cGVSZWYgVHksIGNvbnN0
IGNoYXIgKk5hbWUsIHVuc2lnbmVkIEFkZHJlc3NTcGFjZSkpIFwKKyAgICBtYWNybyhMTFZNVmFs
dWVSZWYgLCBHZXROYW1lZEdsb2JhbCwgKExMVk1Nb2R1bGVSZWYgTSwgY29uc3QgY2hhciAqTmFt
ZSkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYgLCBHZXRGaXJzdEdsb2JhbCwgKExMVk1Nb2R1
bGVSZWYgTSkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYgLCBHZXRMYXN0R2xvYmFsLCAoTExW
TU1vZHVsZVJlZiBNKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiAsIEdldE5leHRHbG9iYWws
IChMTFZNVmFsdWVSZWYgR2xvYmFsVmFyKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiAsIEdl
dFByZXZpb3VzR2xvYmFsLCAoTExWTVZhbHVlUmVmIEdsb2JhbFZhcikpIFwKKyAgICBtYWNybyh2
b2lkICwgRGVsZXRlR2xvYmFsLCAoTExWTVZhbHVlUmVmIEdsb2JhbFZhcikpIFwKKyAgICBtYWNy
byhMTFZNVmFsdWVSZWYgLCBHZXRJbml0aWFsaXplciwgKExMVk1WYWx1ZVJlZiBHbG9iYWxWYXIp
KSBcCisgICAgbWFjcm8odm9pZCAsIFNldEluaXRpYWxpemVyLCAoTExWTVZhbHVlUmVmIEdsb2Jh
bFZhciwgTExWTVZhbHVlUmVmIENvbnN0YW50VmFsKSkgXAorICAgIG1hY3JvKExMVk1Cb29sICwg
SXNUaHJlYWRMb2NhbCwgKExMVk1WYWx1ZVJlZiBHbG9iYWxWYXIpKSBcCisgICAgbWFjcm8odm9p
ZCAsIFNldFRocmVhZExvY2FsLCAoTExWTVZhbHVlUmVmIEdsb2JhbFZhciwgTExWTUJvb2wgSXNU
aHJlYWRMb2NhbCkpIFwKKyAgICBtYWNybyhMTFZNQm9vbCAsIElzR2xvYmFsQ29uc3RhbnQsIChM
TFZNVmFsdWVSZWYgR2xvYmFsVmFyKSkgXAorICAgIG1hY3JvKHZvaWQgLCBTZXRHbG9iYWxDb25z
dGFudCwgKExMVk1WYWx1ZVJlZiBHbG9iYWxWYXIsIExMVk1Cb29sIElzQ29uc3RhbnQpKSBcCisg
ICAgbWFjcm8oTExWTVRocmVhZExvY2FsTW9kZSAsIEdldFRocmVhZExvY2FsTW9kZSwgKExMVk1W
YWx1ZVJlZiBHbG9iYWxWYXIpKSBcCisgICAgbWFjcm8odm9pZCAsIFNldFRocmVhZExvY2FsTW9k
ZSwgKExMVk1WYWx1ZVJlZiBHbG9iYWxWYXIsIExMVk1UaHJlYWRMb2NhbE1vZGUgTW9kZSkpIFwK
KyAgICBtYWNybyhMTFZNQm9vbCAsIElzRXh0ZXJuYWxseUluaXRpYWxpemVkLCAoTExWTVZhbHVl
UmVmIEdsb2JhbFZhcikpIFwKKyAgICBtYWNybyh2b2lkICwgU2V0RXh0ZXJuYWxseUluaXRpYWxp
emVkLCAoTExWTVZhbHVlUmVmIEdsb2JhbFZhciwgTExWTUJvb2wgSXNFeHRJbml0KSkgXAorICAg
IG1hY3JvKExMVk1WYWx1ZVJlZiAsIEFkZEFsaWFzLCAoTExWTU1vZHVsZVJlZiBNLCBMTFZNVHlw
ZVJlZiBUeSwgTExWTVZhbHVlUmVmIEFsaWFzZWUsIGNvbnN0IGNoYXIgKk5hbWUpKSBcCisgICAg
bWFjcm8odm9pZCAsIERlbGV0ZUZ1bmN0aW9uLCAoTExWTVZhbHVlUmVmIEZuKSkgXAorICAgIG1h
Y3JvKHVuc2lnbmVkICwgR2V0SW50cmluc2ljSUQsIChMTFZNVmFsdWVSZWYgRm4pKSBcCisgICAg
bWFjcm8odW5zaWduZWQgLCBHZXRGdW5jdGlvbkNhbGxDb252LCAoTExWTVZhbHVlUmVmIEZuKSkg
XAorICAgIG1hY3JvKHZvaWQgLCBTZXRGdW5jdGlvbkNhbGxDb252LCAoTExWTVZhbHVlUmVmIEZu
LCB1bnNpZ25lZCBDQykpIFwKKyAgICBtYWNybyhjb25zdCBjaGFyICosIEdldEdDLCAoTExWTVZh
bHVlUmVmIEZuKSkgXAorICAgIG1hY3JvKHZvaWQgLCBTZXRHQywgKExMVk1WYWx1ZVJlZiBGbiwg
Y29uc3QgY2hhciAqTmFtZSkpIFwKKyAgICBtYWNybyh2b2lkICwgQWRkRnVuY3Rpb25BdHRyLCAo
TExWTVZhbHVlUmVmIEZuLCBMTFZNQXR0cmlidXRlIFBBKSkgXAorICAgIG1hY3JvKHZvaWQgLCBB
ZGRUYXJnZXREZXBlbmRlbnRGdW5jdGlvbkF0dHIsIChMTFZNVmFsdWVSZWYgRm4sIGNvbnN0IGNo
YXIgKkEsIGNvbnN0IGNoYXIgKlYpKSBcCisgICAgbWFjcm8oTExWTUF0dHJpYnV0ZSAsIEdldEZ1
bmN0aW9uQXR0ciwgKExMVk1WYWx1ZVJlZiBGbikpIFwKKyAgICBtYWNybyh2b2lkICwgUmVtb3Zl
RnVuY3Rpb25BdHRyLCAoTExWTVZhbHVlUmVmIEZuLCBMTFZNQXR0cmlidXRlIFBBKSkgXAorICAg
IG1hY3JvKHVuc2lnbmVkICwgQ291bnRQYXJhbXMsIChMTFZNVmFsdWVSZWYgRm4pKSBcCisgICAg
bWFjcm8odm9pZCAsIEdldFBhcmFtcywgKExMVk1WYWx1ZVJlZiBGbiwgTExWTVZhbHVlUmVmICpQ
YXJhbXMpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmICwgR2V0UGFyYW0sIChMTFZNVmFsdWVS
ZWYgRm4sIHVuc2lnbmVkIEluZGV4KSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiAsIEdldFBh
cmFtUGFyZW50LCAoTExWTVZhbHVlUmVmIEluc3QpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVm
ICwgR2V0Rmlyc3RQYXJhbSwgKExMVk1WYWx1ZVJlZiBGbikpIFwKKyAgICBtYWNybyhMTFZNVmFs
dWVSZWYgLCBHZXRMYXN0UGFyYW0sIChMTFZNVmFsdWVSZWYgRm4pKSBcCisgICAgbWFjcm8oTExW
TVZhbHVlUmVmICwgR2V0TmV4dFBhcmFtLCAoTExWTVZhbHVlUmVmIEFyZykpIFwKKyAgICBtYWNy
byhMTFZNVmFsdWVSZWYgLCBHZXRQcmV2aW91c1BhcmFtLCAoTExWTVZhbHVlUmVmIEFyZykpIFwK
KyAgICBtYWNybyh2b2lkICwgQWRkQXR0cmlidXRlLCAoTExWTVZhbHVlUmVmIEFyZywgTExWTUF0
dHJpYnV0ZSBQQSkpIFwKKyAgICBtYWNybyh2b2lkICwgUmVtb3ZlQXR0cmlidXRlLCAoTExWTVZh
bHVlUmVmIEFyZywgTExWTUF0dHJpYnV0ZSBQQSkpIFwKKyAgICBtYWNybyhMTFZNQXR0cmlidXRl
ICwgR2V0QXR0cmlidXRlLCAoTExWTVZhbHVlUmVmIEFyZykpIFwKKyAgICBtYWNybyh2b2lkICwg
U2V0UGFyYW1BbGlnbm1lbnQsIChMTFZNVmFsdWVSZWYgQXJnLCB1bnNpZ25lZCBhbGlnbikpIFwK
KyAgICBtYWNybyhMTFZNVmFsdWVSZWYgLCBNRFN0cmluZ0luQ29udGV4dCwgKExMVk1Db250ZXh0
UmVmIEMsIGNvbnN0IGNoYXIgKlN0ciwgdW5zaWduZWQgU0xlbikpIFwKKyAgICBtYWNybyhMTFZN
VmFsdWVSZWYgLCBNRFN0cmluZywgKGNvbnN0IGNoYXIgKlN0ciwgdW5zaWduZWQgU0xlbikpIFwK
KyAgICBtYWNybyhMTFZNVmFsdWVSZWYgLCBNRE5vZGVJbkNvbnRleHQsIChMTFZNQ29udGV4dFJl
ZiBDLCBMTFZNVmFsdWVSZWYgKlZhbHMsIHVuc2lnbmVkIENvdW50KSkgXAorICAgIG1hY3JvKExM
Vk1WYWx1ZVJlZiAsIE1ETm9kZSwgKExMVk1WYWx1ZVJlZiAqVmFscywgdW5zaWduZWQgQ291bnQp
KSBcCisgICAgbWFjcm8oY29uc3QgY2hhciAqLCBHZXRNRFN0cmluZywgKExMVk1WYWx1ZVJlZiBW
LCB1bnNpZ25lZCogTGVuKSkgXAorICAgIG1hY3JvKHVuc2lnbmVkICwgR2V0TUROb2RlTnVtT3Bl
cmFuZHMsIChMTFZNVmFsdWVSZWYgVikpIFwKKyAgICBtYWNybyh2b2lkICwgR2V0TUROb2RlT3Bl
cmFuZHMsIChMTFZNVmFsdWVSZWYgViwgTExWTVZhbHVlUmVmICpEZXN0KSkgXAorICAgIG1hY3Jv
KExMVk1WYWx1ZVJlZiAsIEJhc2ljQmxvY2tBc1ZhbHVlLCAoTExWTUJhc2ljQmxvY2tSZWYgQkIp
KSBcCisgICAgbWFjcm8oTExWTUJvb2wgLCBWYWx1ZUlzQmFzaWNCbG9jaywgKExMVk1WYWx1ZVJl
ZiBWYWwpKSBcCisgICAgbWFjcm8oTExWTUJhc2ljQmxvY2tSZWYgLCBWYWx1ZUFzQmFzaWNCbG9j
aywgKExMVk1WYWx1ZVJlZiBWYWwpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmICwgR2V0QmFz
aWNCbG9ja1BhcmVudCwgKExMVk1CYXNpY0Jsb2NrUmVmIEJCKSkgXAorICAgIG1hY3JvKExMVk1W
YWx1ZVJlZiAsIEdldEJhc2ljQmxvY2tUZXJtaW5hdG9yLCAoTExWTUJhc2ljQmxvY2tSZWYgQkIp
KSBcCisgICAgbWFjcm8odW5zaWduZWQgLCBDb3VudEJhc2ljQmxvY2tzLCAoTExWTVZhbHVlUmVm
IEZuKSkgXAorICAgIG1hY3JvKHZvaWQgLCBHZXRCYXNpY0Jsb2NrcywgKExMVk1WYWx1ZVJlZiBG
biwgTExWTUJhc2ljQmxvY2tSZWYgKkJhc2ljQmxvY2tzKSkgXAorICAgIG1hY3JvKExMVk1CYXNp
Y0Jsb2NrUmVmICwgR2V0Rmlyc3RCYXNpY0Jsb2NrLCAoTExWTVZhbHVlUmVmIEZuKSkgXAorICAg
IG1hY3JvKExMVk1CYXNpY0Jsb2NrUmVmICwgR2V0TGFzdEJhc2ljQmxvY2ssIChMTFZNVmFsdWVS
ZWYgRm4pKSBcCisgICAgbWFjcm8oTExWTUJhc2ljQmxvY2tSZWYgLCBHZXROZXh0QmFzaWNCbG9j
aywgKExMVk1CYXNpY0Jsb2NrUmVmIEJCKSkgXAorICAgIG1hY3JvKExMVk1CYXNpY0Jsb2NrUmVm
ICwgR2V0UHJldmlvdXNCYXNpY0Jsb2NrLCAoTExWTUJhc2ljQmxvY2tSZWYgQkIpKSBcCisgICAg
bWFjcm8oTExWTUJhc2ljQmxvY2tSZWYgLCBHZXRFbnRyeUJhc2ljQmxvY2ssIChMTFZNVmFsdWVS
ZWYgRm4pKSBcCisgICAgbWFjcm8oTExWTUJhc2ljQmxvY2tSZWYgLCBBcHBlbmRCYXNpY0Jsb2Nr
SW5Db250ZXh0LCAoTExWTUNvbnRleHRSZWYgQywgTExWTVZhbHVlUmVmIEZuLCBjb25zdCBjaGFy
ICpOYW1lKSkgXAorICAgIG1hY3JvKExMVk1CYXNpY0Jsb2NrUmVmICwgQXBwZW5kQmFzaWNCbG9j
aywgKExMVk1WYWx1ZVJlZiBGbiwgY29uc3QgY2hhciAqTmFtZSkpIFwKKyAgICBtYWNybyhMTFZN
QmFzaWNCbG9ja1JlZiAsIEluc2VydEJhc2ljQmxvY2tJbkNvbnRleHQsIChMTFZNQ29udGV4dFJl
ZiBDLCBMTFZNQmFzaWNCbG9ja1JlZiBCQiwgY29uc3QgY2hhciAqTmFtZSkpIFwKKyAgICBtYWNy
byhMTFZNQmFzaWNCbG9ja1JlZiAsIEluc2VydEJhc2ljQmxvY2ssIChMTFZNQmFzaWNCbG9ja1Jl
ZiBJbnNlcnRCZWZvcmVCQiwgY29uc3QgY2hhciAqTmFtZSkpIFwKKyAgICBtYWNybyh2b2lkICwg
RGVsZXRlQmFzaWNCbG9jaywgKExMVk1CYXNpY0Jsb2NrUmVmIEJCKSkgXAorICAgIG1hY3JvKHZv
aWQgLCBSZW1vdmVCYXNpY0Jsb2NrRnJvbVBhcmVudCwgKExMVk1CYXNpY0Jsb2NrUmVmIEJCKSkg
XAorICAgIG1hY3JvKHZvaWQgLCBNb3ZlQmFzaWNCbG9ja0JlZm9yZSwgKExMVk1CYXNpY0Jsb2Nr
UmVmIEJCLCBMTFZNQmFzaWNCbG9ja1JlZiBNb3ZlUG9zKSkgXAorICAgIG1hY3JvKHZvaWQgLCBN
b3ZlQmFzaWNCbG9ja0FmdGVyLCAoTExWTUJhc2ljQmxvY2tSZWYgQkIsIExMVk1CYXNpY0Jsb2Nr
UmVmIE1vdmVQb3MpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmICwgR2V0Rmlyc3RJbnN0cnVj
dGlvbiwgKExMVk1CYXNpY0Jsb2NrUmVmIEJCKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiAs
IEdldExhc3RJbnN0cnVjdGlvbiwgKExMVk1CYXNpY0Jsb2NrUmVmIEJCKSkgXAorICAgIG1hY3Jv
KGludCAsIEhhc01ldGFkYXRhLCAoTExWTVZhbHVlUmVmIFZhbCkpIFwKKyAgICBtYWNybyhMTFZN
VmFsdWVSZWYgLCBHZXRNZXRhZGF0YSwgKExMVk1WYWx1ZVJlZiBWYWwsIHVuc2lnbmVkIEtpbmRJ
RCkpIFwKKyAgICBtYWNybyh2b2lkICwgU2V0TWV0YWRhdGEsIChMTFZNVmFsdWVSZWYgVmFsLCB1
bnNpZ25lZCBLaW5kSUQsIExMVk1WYWx1ZVJlZiBOb2RlKSkgXAorICAgIG1hY3JvKExMVk1CYXNp
Y0Jsb2NrUmVmICwgR2V0SW5zdHJ1Y3Rpb25QYXJlbnQsIChMTFZNVmFsdWVSZWYgSW5zdCkpIFwK
KyAgICBtYWNybyhMTFZNVmFsdWVSZWYgLCBHZXROZXh0SW5zdHJ1Y3Rpb24sIChMTFZNVmFsdWVS
ZWYgSW5zdCkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYgLCBHZXRQcmV2aW91c0luc3RydWN0
aW9uLCAoTExWTVZhbHVlUmVmIEluc3QpKSBcCisgICAgbWFjcm8odm9pZCAsIEluc3RydWN0aW9u
RXJhc2VGcm9tUGFyZW50LCAoTExWTVZhbHVlUmVmIEluc3QpKSBcCisgICAgbWFjcm8oTExWTU9w
Y29kZSAsIEdldEluc3RydWN0aW9uT3Bjb2RlLCAoTExWTVZhbHVlUmVmIEluc3QpKSBcCisgICAg
bWFjcm8oTExWTUludFByZWRpY2F0ZSAsIEdldElDbXBQcmVkaWNhdGUsIChMTFZNVmFsdWVSZWYg
SW5zdCkpIFwKKyAgICBtYWNybyh2b2lkICwgU2V0SW5zdHJ1Y3Rpb25DYWxsQ29udiwgKExMVk1W
YWx1ZVJlZiBJbnN0ciwgdW5zaWduZWQgQ0MpKSBcCisgICAgbWFjcm8odW5zaWduZWQgLCBHZXRJ
bnN0cnVjdGlvbkNhbGxDb252LCAoTExWTVZhbHVlUmVmIEluc3RyKSkgXAorICAgIG1hY3JvKHZv
aWQgLCBBZGRJbnN0ckF0dHJpYnV0ZSwgKExMVk1WYWx1ZVJlZiBJbnN0ciwgdW5zaWduZWQgaW5k
ZXgsIExMVk1BdHRyaWJ1dGUpKSBcCisgICAgbWFjcm8odm9pZCAsIFJlbW92ZUluc3RyQXR0cmli
dXRlLCAoTExWTVZhbHVlUmVmIEluc3RyLCB1bnNpZ25lZCBpbmRleCwgTExWTUF0dHJpYnV0ZSkp
IFwKKyAgICBtYWNybyh2b2lkICwgU2V0SW5zdHJQYXJhbUFsaWdubWVudCwgKExMVk1WYWx1ZVJl
ZiBJbnN0ciwgdW5zaWduZWQgaW5kZXgsIHVuc2lnbmVkIGFsaWduKSkgXAorICAgIG1hY3JvKExM
Vk1Cb29sICwgSXNUYWlsQ2FsbCwgKExMVk1WYWx1ZVJlZiBDYWxsSW5zdCkpIFwKKyAgICBtYWNy
byh2b2lkICwgU2V0VGFpbENhbGwsIChMTFZNVmFsdWVSZWYgQ2FsbEluc3QsIExMVk1Cb29sIElz
VGFpbENhbGwpKSBcCisgICAgbWFjcm8oTExWTUJhc2ljQmxvY2tSZWYgLCBHZXRTd2l0Y2hEZWZh
dWx0RGVzdCwgKExMVk1WYWx1ZVJlZiBTd2l0Y2hJbnN0cikpIFwKKyAgICBtYWNybyh2b2lkICwg
QWRkSW5jb21pbmcsIChMTFZNVmFsdWVSZWYgUGhpTm9kZSwgTExWTVZhbHVlUmVmICpJbmNvbWlu
Z1ZhbHVlcywgTExWTUJhc2ljQmxvY2tSZWYgKkluY29taW5nQmxvY2tzLCB1bnNpZ25lZCBDb3Vu
dCkpIFwKKyAgICBtYWNybyh1bnNpZ25lZCAsIENvdW50SW5jb21pbmcsIChMTFZNVmFsdWVSZWYg
UGhpTm9kZSkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYgLCBHZXRJbmNvbWluZ1ZhbHVlLCAo
TExWTVZhbHVlUmVmIFBoaU5vZGUsIHVuc2lnbmVkIEluZGV4KSkgXAorICAgIG1hY3JvKExMVk1C
YXNpY0Jsb2NrUmVmICwgR2V0SW5jb21pbmdCbG9jaywgKExMVk1WYWx1ZVJlZiBQaGlOb2RlLCB1
bnNpZ25lZCBJbmRleCkpIFwKKyAgICBtYWNybyhMTFZNQnVpbGRlclJlZiAsIENyZWF0ZUJ1aWxk
ZXJJbkNvbnRleHQsIChMTFZNQ29udGV4dFJlZiBDKSkgXAorICAgIG1hY3JvKExMVk1CdWlsZGVy
UmVmICwgQ3JlYXRlQnVpbGRlciwgKHZvaWQpKSBcCisgICAgbWFjcm8odm9pZCAsIFBvc2l0aW9u
QnVpbGRlciwgKExMVk1CdWlsZGVyUmVmIEJ1aWxkZXIsIExMVk1CYXNpY0Jsb2NrUmVmIEJsb2Nr
LCBMTFZNVmFsdWVSZWYgSW5zdHIpKSBcCisgICAgbWFjcm8odm9pZCAsIFBvc2l0aW9uQnVpbGRl
ckJlZm9yZSwgKExMVk1CdWlsZGVyUmVmIEJ1aWxkZXIsIExMVk1WYWx1ZVJlZiBJbnN0cikpIFwK
KyAgICBtYWNybyh2b2lkICwgUG9zaXRpb25CdWlsZGVyQXRFbmQsIChMTFZNQnVpbGRlclJlZiBC
dWlsZGVyLCBMTFZNQmFzaWNCbG9ja1JlZiBCbG9jaykpIFwKKyAgICBtYWNybyhMTFZNQmFzaWNC
bG9ja1JlZiAsIEdldEluc2VydEJsb2NrLCAoTExWTUJ1aWxkZXJSZWYgQnVpbGRlcikpIFwKKyAg
ICBtYWNybyh2b2lkICwgQ2xlYXJJbnNlcnRpb25Qb3NpdGlvbiwgKExMVk1CdWlsZGVyUmVmIEJ1
aWxkZXIpKSBcCisgICAgbWFjcm8odm9pZCAsIEluc2VydEludG9CdWlsZGVyLCAoTExWTUJ1aWxk
ZXJSZWYgQnVpbGRlciwgTExWTVZhbHVlUmVmIEluc3RyKSkgXAorICAgIG1hY3JvKHZvaWQgLCBJ
bnNlcnRJbnRvQnVpbGRlcldpdGhOYW1lLCAoTExWTUJ1aWxkZXJSZWYgQnVpbGRlciwgTExWTVZh
bHVlUmVmIEluc3RyLCBjb25zdCBjaGFyICpOYW1lKSkgXAorICAgIG1hY3JvKHZvaWQgLCBEaXNw
b3NlQnVpbGRlciwgKExMVk1CdWlsZGVyUmVmIEJ1aWxkZXIpKSBcCisgICAgbWFjcm8odm9pZCAs
IFNldEN1cnJlbnREZWJ1Z0xvY2F0aW9uLCAoTExWTUJ1aWxkZXJSZWYgQnVpbGRlciwgTExWTVZh
bHVlUmVmIEwpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmICwgR2V0Q3VycmVudERlYnVnTG9j
YXRpb24sIChMTFZNQnVpbGRlclJlZiBCdWlsZGVyKSkgXAorICAgIG1hY3JvKHZvaWQgLCBTZXRJ
bnN0RGVidWdMb2NhdGlvbiwgKExMVk1CdWlsZGVyUmVmIEJ1aWxkZXIsIExMVk1WYWx1ZVJlZiBJ
bnN0KSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiAsIEJ1aWxkUmV0Vm9pZCwgKExMVk1CdWls
ZGVyUmVmKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiAsIEJ1aWxkUmV0LCAoTExWTUJ1aWxk
ZXJSZWYsIExMVk1WYWx1ZVJlZiBWKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiAsIEJ1aWxk
QWdncmVnYXRlUmV0LCAoTExWTUJ1aWxkZXJSZWYsIExMVk1WYWx1ZVJlZiAqUmV0VmFscywgdW5z
aWduZWQgTikpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYgLCBCdWlsZEJyLCAoTExWTUJ1aWxk
ZXJSZWYsIExMVk1CYXNpY0Jsb2NrUmVmIERlc3QpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVm
ICwgQnVpbGRDb25kQnIsIChMTFZNQnVpbGRlclJlZiwgTExWTVZhbHVlUmVmIElmLCBMTFZNQmFz
aWNCbG9ja1JlZiBUaGVuLCBMTFZNQmFzaWNCbG9ja1JlZiBFbHNlKSkgXAorICAgIG1hY3JvKExM
Vk1WYWx1ZVJlZiAsIEJ1aWxkU3dpdGNoLCAoTExWTUJ1aWxkZXJSZWYsIExMVk1WYWx1ZVJlZiBW
LCBMTFZNQmFzaWNCbG9ja1JlZiBFbHNlLCB1bnNpZ25lZCBOdW1DYXNlcykpIFwKKyAgICBtYWNy
byhMTFZNVmFsdWVSZWYgLCBCdWlsZEluZGlyZWN0QnIsIChMTFZNQnVpbGRlclJlZiBCLCBMTFZN
VmFsdWVSZWYgQWRkciwgdW5zaWduZWQgTnVtRGVzdHMpKSBcCisgICAgbWFjcm8oTExWTVZhbHVl
UmVmICwgQnVpbGRJbnZva2UsIChMTFZNQnVpbGRlclJlZiwgTExWTVZhbHVlUmVmIEZuLCBMTFZN
VmFsdWVSZWYgKkFyZ3MsIHVuc2lnbmVkIE51bUFyZ3MsIExMVk1CYXNpY0Jsb2NrUmVmIFRoZW4s
IExMVk1CYXNpY0Jsb2NrUmVmIENhdGNoLCBjb25zdCBjaGFyICpOYW1lKSkgXAorICAgIG1hY3Jv
KExMVk1WYWx1ZVJlZiAsIEJ1aWxkTGFuZGluZ1BhZCwgKExMVk1CdWlsZGVyUmVmIEIsIExMVk1U
eXBlUmVmIFR5LCBMTFZNVmFsdWVSZWYgUGVyc0ZuLCB1bnNpZ25lZCBOdW1DbGF1c2VzLCBjb25z
dCBjaGFyICpOYW1lKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiAsIEJ1aWxkUmVzdW1lLCAo
TExWTUJ1aWxkZXJSZWYgQiwgTExWTVZhbHVlUmVmIEV4bikpIFwKKyAgICBtYWNybyhMTFZNVmFs
dWVSZWYgLCBCdWlsZFVucmVhY2hhYmxlLCAoTExWTUJ1aWxkZXJSZWYpKSBcCisgICAgbWFjcm8o
dm9pZCAsIEFkZENhc2UsIChMTFZNVmFsdWVSZWYgU3dpdGNoLCBMTFZNVmFsdWVSZWYgT25WYWws
IExMVk1CYXNpY0Jsb2NrUmVmIERlc3QpKSBcCisgICAgbWFjcm8odm9pZCAsIEFkZERlc3RpbmF0
aW9uLCAoTExWTVZhbHVlUmVmIEluZGlyZWN0QnIsIExMVk1CYXNpY0Jsb2NrUmVmIERlc3QpKSBc
CisgICAgbWFjcm8odm9pZCAsIEFkZENsYXVzZSwgKExMVk1WYWx1ZVJlZiBMYW5kaW5nUGFkLCBM
TFZNVmFsdWVSZWYgQ2xhdXNlVmFsKSkgXAorICAgIG1hY3JvKHZvaWQgLCBTZXRDbGVhbnVwLCAo
TExWTVZhbHVlUmVmIExhbmRpbmdQYWQsIExMVk1Cb29sIFZhbCkpIFwKKyAgICBtYWNybyhMTFZN
VmFsdWVSZWYgLCBCdWlsZEFkZCwgKExMVk1CdWlsZGVyUmVmLCBMTFZNVmFsdWVSZWYgTEhTLCBM
TFZNVmFsdWVSZWYgUkhTLCBjb25zdCBjaGFyICpOYW1lKSkgXAorICAgIG1hY3JvKExMVk1WYWx1
ZVJlZiAsIEJ1aWxkTlNXQWRkLCAoTExWTUJ1aWxkZXJSZWYsIExMVk1WYWx1ZVJlZiBMSFMsIExM
Vk1WYWx1ZVJlZiBSSFMsIGNvbnN0IGNoYXIgKk5hbWUpKSBcCisgICAgbWFjcm8oTExWTVZhbHVl
UmVmICwgQnVpbGROVVdBZGQsIChMTFZNQnVpbGRlclJlZiwgTExWTVZhbHVlUmVmIExIUywgTExW
TVZhbHVlUmVmIFJIUywgY29uc3QgY2hhciAqTmFtZSkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVS
ZWYgLCBCdWlsZEZBZGQsIChMTFZNQnVpbGRlclJlZiwgTExWTVZhbHVlUmVmIExIUywgTExWTVZh
bHVlUmVmIFJIUywgY29uc3QgY2hhciAqTmFtZSkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYg
LCBCdWlsZFN1YiwgKExMVk1CdWlsZGVyUmVmLCBMTFZNVmFsdWVSZWYgTEhTLCBMTFZNVmFsdWVS
ZWYgUkhTLCBjb25zdCBjaGFyICpOYW1lKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiAsIEJ1
aWxkTlNXU3ViLCAoTExWTUJ1aWxkZXJSZWYsIExMVk1WYWx1ZVJlZiBMSFMsIExMVk1WYWx1ZVJl
ZiBSSFMsIGNvbnN0IGNoYXIgKk5hbWUpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmICwgQnVp
bGROVVdTdWIsIChMTFZNQnVpbGRlclJlZiwgTExWTVZhbHVlUmVmIExIUywgTExWTVZhbHVlUmVm
IFJIUywgY29uc3QgY2hhciAqTmFtZSkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYgLCBCdWls
ZEZTdWIsIChMTFZNQnVpbGRlclJlZiwgTExWTVZhbHVlUmVmIExIUywgTExWTVZhbHVlUmVmIFJI
UywgY29uc3QgY2hhciAqTmFtZSkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYgLCBCdWlsZE11
bCwgKExMVk1CdWlsZGVyUmVmLCBMTFZNVmFsdWVSZWYgTEhTLCBMTFZNVmFsdWVSZWYgUkhTLCBj
b25zdCBjaGFyICpOYW1lKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiAsIEJ1aWxkTlNXTXVs
LCAoTExWTUJ1aWxkZXJSZWYsIExMVk1WYWx1ZVJlZiBMSFMsIExMVk1WYWx1ZVJlZiBSSFMsIGNv
bnN0IGNoYXIgKk5hbWUpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmICwgQnVpbGROVVdNdWws
IChMTFZNQnVpbGRlclJlZiwgTExWTVZhbHVlUmVmIExIUywgTExWTVZhbHVlUmVmIFJIUywgY29u
c3QgY2hhciAqTmFtZSkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYgLCBCdWlsZEZNdWwsIChM
TFZNQnVpbGRlclJlZiwgTExWTVZhbHVlUmVmIExIUywgTExWTVZhbHVlUmVmIFJIUywgY29uc3Qg
Y2hhciAqTmFtZSkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYgLCBCdWlsZFVEaXYsIChMTFZN
QnVpbGRlclJlZiwgTExWTVZhbHVlUmVmIExIUywgTExWTVZhbHVlUmVmIFJIUywgY29uc3QgY2hh
ciAqTmFtZSkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYgLCBCdWlsZFNEaXYsIChMTFZNQnVp
bGRlclJlZiwgTExWTVZhbHVlUmVmIExIUywgTExWTVZhbHVlUmVmIFJIUywgY29uc3QgY2hhciAq
TmFtZSkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYgLCBCdWlsZEV4YWN0U0RpdiwgKExMVk1C
dWlsZGVyUmVmLCBMTFZNVmFsdWVSZWYgTEhTLCBMTFZNVmFsdWVSZWYgUkhTLCBjb25zdCBjaGFy
ICpOYW1lKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiAsIEJ1aWxkRkRpdiwgKExMVk1CdWls
ZGVyUmVmLCBMTFZNVmFsdWVSZWYgTEhTLCBMTFZNVmFsdWVSZWYgUkhTLCBjb25zdCBjaGFyICpO
YW1lKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiAsIEJ1aWxkVVJlbSwgKExMVk1CdWlsZGVy
UmVmLCBMTFZNVmFsdWVSZWYgTEhTLCBMTFZNVmFsdWVSZWYgUkhTLCBjb25zdCBjaGFyICpOYW1l
KSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiAsIEJ1aWxkU1JlbSwgKExMVk1CdWlsZGVyUmVm
LCBMTFZNVmFsdWVSZWYgTEhTLCBMTFZNVmFsdWVSZWYgUkhTLCBjb25zdCBjaGFyICpOYW1lKSkg
XAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiAsIEJ1aWxkRlJlbSwgKExMVk1CdWlsZGVyUmVmLCBM
TFZNVmFsdWVSZWYgTEhTLCBMTFZNVmFsdWVSZWYgUkhTLCBjb25zdCBjaGFyICpOYW1lKSkgXAor
ICAgIG1hY3JvKExMVk1WYWx1ZVJlZiAsIEJ1aWxkU2hsLCAoTExWTUJ1aWxkZXJSZWYsIExMVk1W
YWx1ZVJlZiBMSFMsIExMVk1WYWx1ZVJlZiBSSFMsIGNvbnN0IGNoYXIgKk5hbWUpKSBcCisgICAg
bWFjcm8oTExWTVZhbHVlUmVmICwgQnVpbGRMU2hyLCAoTExWTUJ1aWxkZXJSZWYsIExMVk1WYWx1
ZVJlZiBMSFMsIExMVk1WYWx1ZVJlZiBSSFMsIGNvbnN0IGNoYXIgKk5hbWUpKSBcCisgICAgbWFj
cm8oTExWTVZhbHVlUmVmICwgQnVpbGRBU2hyLCAoTExWTUJ1aWxkZXJSZWYsIExMVk1WYWx1ZVJl
ZiBMSFMsIExMVk1WYWx1ZVJlZiBSSFMsIGNvbnN0IGNoYXIgKk5hbWUpKSBcCisgICAgbWFjcm8o
TExWTVZhbHVlUmVmICwgQnVpbGRBbmQsIChMTFZNQnVpbGRlclJlZiwgTExWTVZhbHVlUmVmIExI
UywgTExWTVZhbHVlUmVmIFJIUywgY29uc3QgY2hhciAqTmFtZSkpIFwKKyAgICBtYWNybyhMTFZN
VmFsdWVSZWYgLCBCdWlsZE9yLCAoTExWTUJ1aWxkZXJSZWYsIExMVk1WYWx1ZVJlZiBMSFMsIExM
Vk1WYWx1ZVJlZiBSSFMsIGNvbnN0IGNoYXIgKk5hbWUpKSBcCisgICAgbWFjcm8oTExWTVZhbHVl
UmVmICwgQnVpbGRYb3IsIChMTFZNQnVpbGRlclJlZiwgTExWTVZhbHVlUmVmIExIUywgTExWTVZh
bHVlUmVmIFJIUywgY29uc3QgY2hhciAqTmFtZSkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYg
LCBCdWlsZEJpbk9wLCAoTExWTUJ1aWxkZXJSZWYgQiwgTExWTU9wY29kZSBPcCwgTExWTVZhbHVl
UmVmIExIUywgTExWTVZhbHVlUmVmIFJIUywgY29uc3QgY2hhciAqTmFtZSkpIFwKKyAgICBtYWNy
byhMTFZNVmFsdWVSZWYgLCBCdWlsZE5lZywgKExMVk1CdWlsZGVyUmVmLCBMTFZNVmFsdWVSZWYg
ViwgY29uc3QgY2hhciAqTmFtZSkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYgLCBCdWlsZE5T
V05lZywgKExMVk1CdWlsZGVyUmVmIEIsIExMVk1WYWx1ZVJlZiBWLCBjb25zdCBjaGFyICpOYW1l
KSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiAsIEJ1aWxkTlVXTmVnLCAoTExWTUJ1aWxkZXJS
ZWYgQiwgTExWTVZhbHVlUmVmIFYsIGNvbnN0IGNoYXIgKk5hbWUpKSBcCisgICAgbWFjcm8oTExW
TVZhbHVlUmVmICwgQnVpbGRGTmVnLCAoTExWTUJ1aWxkZXJSZWYsIExMVk1WYWx1ZVJlZiBWLCBj
b25zdCBjaGFyICpOYW1lKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiAsIEJ1aWxkTm90LCAo
TExWTUJ1aWxkZXJSZWYsIExMVk1WYWx1ZVJlZiBWLCBjb25zdCBjaGFyICpOYW1lKSkgXAorICAg
IG1hY3JvKExMVk1WYWx1ZVJlZiAsIEJ1aWxkTWFsbG9jLCAoTExWTUJ1aWxkZXJSZWYsIExMVk1U
eXBlUmVmIFR5LCBjb25zdCBjaGFyICpOYW1lKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiAs
IEJ1aWxkQXJyYXlNYWxsb2MsIChMTFZNQnVpbGRlclJlZiwgTExWTVR5cGVSZWYgVHksIExMVk1W
YWx1ZVJlZiBWYWwsIGNvbnN0IGNoYXIgKk5hbWUpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVm
ICwgQnVpbGRBbGxvY2EsIChMTFZNQnVpbGRlclJlZiwgTExWTVR5cGVSZWYgVHksIGNvbnN0IGNo
YXIgKk5hbWUpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmICwgQnVpbGRBcnJheUFsbG9jYSwg
KExMVk1CdWlsZGVyUmVmLCBMTFZNVHlwZVJlZiBUeSwgTExWTVZhbHVlUmVmIFZhbCwgY29uc3Qg
Y2hhciAqTmFtZSkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYgLCBCdWlsZEZyZWUsIChMTFZN
QnVpbGRlclJlZiwgTExWTVZhbHVlUmVmIFBvaW50ZXJWYWwpKSBcCisgICAgbWFjcm8oTExWTVZh
bHVlUmVmICwgQnVpbGRMb2FkLCAoTExWTUJ1aWxkZXJSZWYsIExMVk1WYWx1ZVJlZiBQb2ludGVy
VmFsLCBjb25zdCBjaGFyICpOYW1lKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiAsIEJ1aWxk
U3RvcmUsIChMTFZNQnVpbGRlclJlZiwgTExWTVZhbHVlUmVmIFZhbCwgTExWTVZhbHVlUmVmIFB0
cikpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYgLCBCdWlsZEdFUCwgKExMVk1CdWlsZGVyUmVm
IEIsIExMVk1WYWx1ZVJlZiBQb2ludGVyLCBMTFZNVmFsdWVSZWYgKkluZGljZXMsIHVuc2lnbmVk
IE51bUluZGljZXMsIGNvbnN0IGNoYXIgKk5hbWUpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVm
ICwgQnVpbGRJbkJvdW5kc0dFUCwgKExMVk1CdWlsZGVyUmVmIEIsIExMVk1WYWx1ZVJlZiBQb2lu
dGVyLCBMTFZNVmFsdWVSZWYgKkluZGljZXMsIHVuc2lnbmVkIE51bUluZGljZXMsIGNvbnN0IGNo
YXIgKk5hbWUpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmICwgQnVpbGRTdHJ1Y3RHRVAsIChM
TFZNQnVpbGRlclJlZiBCLCBMTFZNVmFsdWVSZWYgUG9pbnRlciwgdW5zaWduZWQgSWR4LCBjb25z
dCBjaGFyICpOYW1lKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiAsIEJ1aWxkR2xvYmFsU3Ry
aW5nLCAoTExWTUJ1aWxkZXJSZWYgQiwgY29uc3QgY2hhciAqU3RyLCBjb25zdCBjaGFyICpOYW1l
KSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiAsIEJ1aWxkR2xvYmFsU3RyaW5nUHRyLCAoTExW
TUJ1aWxkZXJSZWYgQiwgY29uc3QgY2hhciAqU3RyLCBjb25zdCBjaGFyICpOYW1lKSkgXAorICAg
IG1hY3JvKExMVk1Cb29sICwgR2V0Vm9sYXRpbGUsIChMTFZNVmFsdWVSZWYgTWVtb3J5QWNjZXNz
SW5zdCkpIFwKKyAgICBtYWNybyh2b2lkICwgU2V0Vm9sYXRpbGUsIChMTFZNVmFsdWVSZWYgTWVt
b3J5QWNjZXNzSW5zdCwgTExWTUJvb2wgSXNWb2xhdGlsZSkpIFwKKyAgICBtYWNybyhMTFZNVmFs
dWVSZWYgLCBCdWlsZFRydW5jLCAoTExWTUJ1aWxkZXJSZWYsIExMVk1WYWx1ZVJlZiBWYWwsIExM
Vk1UeXBlUmVmIERlc3RUeSwgY29uc3QgY2hhciAqTmFtZSkpIFwKKyAgICBtYWNybyhMTFZNVmFs
dWVSZWYgLCBCdWlsZFpFeHQsIChMTFZNQnVpbGRlclJlZiwgTExWTVZhbHVlUmVmIFZhbCwgTExW
TVR5cGVSZWYgRGVzdFR5LCBjb25zdCBjaGFyICpOYW1lKSkgXAorICAgIG1hY3JvKExMVk1WYWx1
ZVJlZiAsIEJ1aWxkU0V4dCwgKExMVk1CdWlsZGVyUmVmLCBMTFZNVmFsdWVSZWYgVmFsLCBMTFZN
VHlwZVJlZiBEZXN0VHksIGNvbnN0IGNoYXIgKk5hbWUpKSBcCisgICAgbWFjcm8oTExWTVZhbHVl
UmVmICwgQnVpbGRGUFRvVUksIChMTFZNQnVpbGRlclJlZiwgTExWTVZhbHVlUmVmIFZhbCwgTExW
TVR5cGVSZWYgRGVzdFR5LCBjb25zdCBjaGFyICpOYW1lKSkgXAorICAgIG1hY3JvKExMVk1WYWx1
ZVJlZiAsIEJ1aWxkRlBUb1NJLCAoTExWTUJ1aWxkZXJSZWYsIExMVk1WYWx1ZVJlZiBWYWwsIExM
Vk1UeXBlUmVmIERlc3RUeSwgY29uc3QgY2hhciAqTmFtZSkpIFwKKyAgICBtYWNybyhMTFZNVmFs
dWVSZWYgLCBCdWlsZFVJVG9GUCwgKExMVk1CdWlsZGVyUmVmLCBMTFZNVmFsdWVSZWYgVmFsLCBM
TFZNVHlwZVJlZiBEZXN0VHksIGNvbnN0IGNoYXIgKk5hbWUpKSBcCisgICAgbWFjcm8oTExWTVZh
bHVlUmVmICwgQnVpbGRTSVRvRlAsIChMTFZNQnVpbGRlclJlZiwgTExWTVZhbHVlUmVmIFZhbCwg
TExWTVR5cGVSZWYgRGVzdFR5LCBjb25zdCBjaGFyICpOYW1lKSkgXAorICAgIG1hY3JvKExMVk1W
YWx1ZVJlZiAsIEJ1aWxkRlBUcnVuYywgKExMVk1CdWlsZGVyUmVmLCBMTFZNVmFsdWVSZWYgVmFs
LCBMTFZNVHlwZVJlZiBEZXN0VHksIGNvbnN0IGNoYXIgKk5hbWUpKSBcCisgICAgbWFjcm8oTExW
TVZhbHVlUmVmICwgQnVpbGRGUEV4dCwgKExMVk1CdWlsZGVyUmVmLCBMTFZNVmFsdWVSZWYgVmFs
LCBMTFZNVHlwZVJlZiBEZXN0VHksIGNvbnN0IGNoYXIgKk5hbWUpKSBcCisgICAgbWFjcm8oTExW
TVZhbHVlUmVmICwgQnVpbGRQdHJUb0ludCwgKExMVk1CdWlsZGVyUmVmLCBMTFZNVmFsdWVSZWYg
VmFsLCBMTFZNVHlwZVJlZiBEZXN0VHksIGNvbnN0IGNoYXIgKk5hbWUpKSBcCisgICAgbWFjcm8o
TExWTVZhbHVlUmVmICwgQnVpbGRJbnRUb1B0ciwgKExMVk1CdWlsZGVyUmVmLCBMTFZNVmFsdWVS
ZWYgVmFsLCBMTFZNVHlwZVJlZiBEZXN0VHksIGNvbnN0IGNoYXIgKk5hbWUpKSBcCisgICAgbWFj
cm8oTExWTVZhbHVlUmVmICwgQnVpbGRCaXRDYXN0LCAoTExWTUJ1aWxkZXJSZWYsIExMVk1WYWx1
ZVJlZiBWYWwsIExMVk1UeXBlUmVmIERlc3RUeSwgY29uc3QgY2hhciAqTmFtZSkpIFwKKyAgICBt
YWNybyhMTFZNVmFsdWVSZWYgLCBCdWlsZFpFeHRPckJpdENhc3QsIChMTFZNQnVpbGRlclJlZiwg
TExWTVZhbHVlUmVmIFZhbCwgTExWTVR5cGVSZWYgRGVzdFR5LCBjb25zdCBjaGFyICpOYW1lKSkg
XAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiAsIEJ1aWxkU0V4dE9yQml0Q2FzdCwgKExMVk1CdWls
ZGVyUmVmLCBMTFZNVmFsdWVSZWYgVmFsLCBMTFZNVHlwZVJlZiBEZXN0VHksIGNvbnN0IGNoYXIg
Kk5hbWUpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmICwgQnVpbGRUcnVuY09yQml0Q2FzdCwg
KExMVk1CdWlsZGVyUmVmLCBMTFZNVmFsdWVSZWYgVmFsLCBMTFZNVHlwZVJlZiBEZXN0VHksIGNv
bnN0IGNoYXIgKk5hbWUpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmICwgQnVpbGRDYXN0LCAo
TExWTUJ1aWxkZXJSZWYgQiwgTExWTU9wY29kZSBPcCwgTExWTVZhbHVlUmVmIFZhbCwgTExWTVR5
cGVSZWYgRGVzdFR5LCBjb25zdCBjaGFyICpOYW1lKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJl
ZiAsIEJ1aWxkUG9pbnRlckNhc3QsIChMTFZNQnVpbGRlclJlZiwgTExWTVZhbHVlUmVmIFZhbCwg
TExWTVR5cGVSZWYgRGVzdFR5LCBjb25zdCBjaGFyICpOYW1lKSkgXAorICAgIG1hY3JvKExMVk1W
YWx1ZVJlZiAsIEJ1aWxkSW50Q2FzdCwgKExMVk1CdWlsZGVyUmVmLCBMTFZNVmFsdWVSZWYgVmFs
LCBMTFZNVHlwZVJlZiBEZXN0VHksIGNvbnN0IGNoYXIgKk5hbWUpKSBcCisgICAgbWFjcm8oTExW
TVZhbHVlUmVmICwgQnVpbGRGUENhc3QsIChMTFZNQnVpbGRlclJlZiwgTExWTVZhbHVlUmVmIFZh
bCwgTExWTVR5cGVSZWYgRGVzdFR5LCBjb25zdCBjaGFyICpOYW1lKSkgXAorICAgIG1hY3JvKExM
Vk1WYWx1ZVJlZiAsIEJ1aWxkSUNtcCwgKExMVk1CdWlsZGVyUmVmLCBMTFZNSW50UHJlZGljYXRl
IE9wLCBMTFZNVmFsdWVSZWYgTEhTLCBMTFZNVmFsdWVSZWYgUkhTLCBjb25zdCBjaGFyICpOYW1l
KSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiAsIEJ1aWxkRkNtcCwgKExMVk1CdWlsZGVyUmVm
LCBMTFZNUmVhbFByZWRpY2F0ZSBPcCwgTExWTVZhbHVlUmVmIExIUywgTExWTVZhbHVlUmVmIFJI
UywgY29uc3QgY2hhciAqTmFtZSkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYgLCBCdWlsZFBo
aSwgKExMVk1CdWlsZGVyUmVmLCBMTFZNVHlwZVJlZiBUeSwgY29uc3QgY2hhciAqTmFtZSkpIFwK
KyAgICBtYWNybyhMTFZNVmFsdWVSZWYgLCBCdWlsZENhbGwsIChMTFZNQnVpbGRlclJlZiwgTExW
TVZhbHVlUmVmIEZuLCBMTFZNVmFsdWVSZWYgKkFyZ3MsIHVuc2lnbmVkIE51bUFyZ3MsIGNvbnN0
IGNoYXIgKk5hbWUpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmICwgQnVpbGRTZWxlY3QsIChM
TFZNQnVpbGRlclJlZiwgTExWTVZhbHVlUmVmIElmLCBMTFZNVmFsdWVSZWYgVGhlbiwgTExWTVZh
bHVlUmVmIEVsc2UsIGNvbnN0IGNoYXIgKk5hbWUpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVm
ICwgQnVpbGRWQUFyZywgKExMVk1CdWlsZGVyUmVmLCBMTFZNVmFsdWVSZWYgTGlzdCwgTExWTVR5
cGVSZWYgVHksIGNvbnN0IGNoYXIgKk5hbWUpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmICwg
QnVpbGRFeHRyYWN0RWxlbWVudCwgKExMVk1CdWlsZGVyUmVmLCBMTFZNVmFsdWVSZWYgVmVjVmFs
LCBMTFZNVmFsdWVSZWYgSW5kZXgsIGNvbnN0IGNoYXIgKk5hbWUpKSBcCisgICAgbWFjcm8oTExW
TVZhbHVlUmVmICwgQnVpbGRJbnNlcnRFbGVtZW50LCAoTExWTUJ1aWxkZXJSZWYsIExMVk1WYWx1
ZVJlZiBWZWNWYWwsIExMVk1WYWx1ZVJlZiBFbHRWYWwsIExMVk1WYWx1ZVJlZiBJbmRleCwgY29u
c3QgY2hhciAqTmFtZSkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYgLCBCdWlsZFNodWZmbGVW
ZWN0b3IsIChMTFZNQnVpbGRlclJlZiwgTExWTVZhbHVlUmVmIFYxLCBMTFZNVmFsdWVSZWYgVjIs
IExMVk1WYWx1ZVJlZiBNYXNrLCBjb25zdCBjaGFyICpOYW1lKSkgXAorICAgIG1hY3JvKExMVk1W
YWx1ZVJlZiAsIEJ1aWxkRXh0cmFjdFZhbHVlLCAoTExWTUJ1aWxkZXJSZWYsIExMVk1WYWx1ZVJl
ZiBBZ2dWYWwsIHVuc2lnbmVkIEluZGV4LCBjb25zdCBjaGFyICpOYW1lKSkgXAorICAgIG1hY3Jv
KExMVk1WYWx1ZVJlZiAsIEJ1aWxkSW5zZXJ0VmFsdWUsIChMTFZNQnVpbGRlclJlZiwgTExWTVZh
bHVlUmVmIEFnZ1ZhbCwgTExWTVZhbHVlUmVmIEVsdFZhbCwgdW5zaWduZWQgSW5kZXgsIGNvbnN0
IGNoYXIgKk5hbWUpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmICwgQnVpbGRJc051bGwsIChM
TFZNQnVpbGRlclJlZiwgTExWTVZhbHVlUmVmIFZhbCwgY29uc3QgY2hhciAqTmFtZSkpIFwKKyAg
ICBtYWNybyhMTFZNVmFsdWVSZWYgLCBCdWlsZElzTm90TnVsbCwgKExMVk1CdWlsZGVyUmVmLCBM
TFZNVmFsdWVSZWYgVmFsLCBjb25zdCBjaGFyICpOYW1lKSkgXAorICAgIG1hY3JvKExMVk1WYWx1
ZVJlZiAsIEJ1aWxkUHRyRGlmZiwgKExMVk1CdWlsZGVyUmVmLCBMTFZNVmFsdWVSZWYgTEhTLCBM
TFZNVmFsdWVSZWYgUkhTLCBjb25zdCBjaGFyICpOYW1lKSkgXAorICAgIG1hY3JvKExMVk1WYWx1
ZVJlZiAsIEJ1aWxkQXRvbWljUk1XLCAoTExWTUJ1aWxkZXJSZWYgQixMTFZNQXRvbWljUk1XQmlu
T3Agb3AsIExMVk1WYWx1ZVJlZiBQVFIsIExMVk1WYWx1ZVJlZiBWYWwsIExMVk1BdG9taWNPcmRl
cmluZyBvcmRlcmluZywgTExWTUJvb2wgc2luZ2xlVGhyZWFkKSkgXAorICAgIG1hY3JvKCwgQ3Jl
YXRlTW9kdWxlUHJvdmlkZXJGb3JFeGlzdGluZ01vZHVsZSwgKExMVk1Nb2R1bGVSZWYgTSkpIFwK
KyAgICBtYWNybyh2b2lkICwgRGlzcG9zZU1vZHVsZVByb3ZpZGVyLCAoTExWTU1vZHVsZVByb3Zp
ZGVyUmVmIE0pKSBcCisgICAgbWFjcm8oTExWTUJvb2wgLCBDcmVhdGVNZW1vcnlCdWZmZXJXaXRo
Q29udGVudHNPZkZpbGUsIChjb25zdCBjaGFyICpQYXRoLCBMTFZNTWVtb3J5QnVmZmVyUmVmICpP
dXRNZW1CdWYsIGNoYXIgKipPdXRNZXNzYWdlKSkgXAorICAgIG1hY3JvKExMVk1Cb29sICwgQ3Jl
YXRlTWVtb3J5QnVmZmVyV2l0aFNURElOLCAoTExWTU1lbW9yeUJ1ZmZlclJlZiAqT3V0TWVtQnVm
LCBjaGFyICoqT3V0TWVzc2FnZSkpIFwKKyAgICBtYWNybyhMTFZNTWVtb3J5QnVmZmVyUmVmICwg
Q3JlYXRlTWVtb3J5QnVmZmVyV2l0aE1lbW9yeVJhbmdlLCAoY29uc3QgY2hhciAqSW5wdXREYXRh
LCBzaXplX3QgSW5wdXREYXRhTGVuZ3RoLCBjb25zdCBjaGFyICpCdWZmZXJOYW1lLCBMTFZNQm9v
bCBSZXF1aXJlc051bGxUZXJtaW5hdG9yKSkgXAorICAgIG1hY3JvKExMVk1NZW1vcnlCdWZmZXJS
ZWYgLCBDcmVhdGVNZW1vcnlCdWZmZXJXaXRoTWVtb3J5UmFuZ2VDb3B5LCAoY29uc3QgY2hhciAq
SW5wdXREYXRhLCBzaXplX3QgSW5wdXREYXRhTGVuZ3RoLCBjb25zdCBjaGFyICpCdWZmZXJOYW1l
KSkgXAorICAgIG1hY3JvKGNvbnN0IGNoYXIgKiwgR2V0QnVmZmVyU3RhcnQsIChMTFZNTWVtb3J5
QnVmZmVyUmVmIE1lbUJ1ZikpIFwKKyAgICBtYWNybyhzaXplX3QgLCBHZXRCdWZmZXJTaXplLCAo
TExWTU1lbW9yeUJ1ZmZlclJlZiBNZW1CdWYpKSBcCisgICAgbWFjcm8odm9pZCAsIERpc3Bvc2VN
ZW1vcnlCdWZmZXIsIChMTFZNTWVtb3J5QnVmZmVyUmVmIE1lbUJ1ZikpIFwKKyAgICBtYWNybyhM
TFZNUGFzc1JlZ2lzdHJ5UmVmICwgR2V0R2xvYmFsUGFzc1JlZ2lzdHJ5LCAodm9pZCkpIFwKKyAg
ICBtYWNybyhMTFZNUGFzc01hbmFnZXJSZWYgLCBDcmVhdGVQYXNzTWFuYWdlciwgKHZvaWQpKSBc
CisgICAgbWFjcm8oTExWTVBhc3NNYW5hZ2VyUmVmICwgQ3JlYXRlRnVuY3Rpb25QYXNzTWFuYWdl
ckZvck1vZHVsZSwgKExMVk1Nb2R1bGVSZWYgTSkpIFwKKyAgICBtYWNybyhMTFZNUGFzc01hbmFn
ZXJSZWYgLCBDcmVhdGVGdW5jdGlvblBhc3NNYW5hZ2VyLCAoTExWTU1vZHVsZVByb3ZpZGVyUmVm
IE1QKSkgXAorICAgIG1hY3JvKExMVk1Cb29sICwgUnVuUGFzc01hbmFnZXIsIChMTFZNUGFzc01h
bmFnZXJSZWYgUE0sIExMVk1Nb2R1bGVSZWYgTSkpIFwKKyAgICBtYWNybyhMTFZNQm9vbCAsIElu
aXRpYWxpemVGdW5jdGlvblBhc3NNYW5hZ2VyLCAoTExWTVBhc3NNYW5hZ2VyUmVmIEZQTSkpIFwK
KyAgICBtYWNybyhMTFZNQm9vbCAsIFJ1bkZ1bmN0aW9uUGFzc01hbmFnZXIsIChMTFZNUGFzc01h
bmFnZXJSZWYgRlBNLCBMTFZNVmFsdWVSZWYgRikpIFwKKyAgICBtYWNybyhMTFZNQm9vbCAsIEZp
bmFsaXplRnVuY3Rpb25QYXNzTWFuYWdlciwgKExMVk1QYXNzTWFuYWdlclJlZiBGUE0pKSBcCisg
ICAgbWFjcm8odm9pZCAsIERpc3Bvc2VQYXNzTWFuYWdlciwgKExMVk1QYXNzTWFuYWdlclJlZiBQ
TSkpIFwKKyAgICBtYWNybyhMTFZNQm9vbCAsIFN0YXJ0TXVsdGl0aHJlYWRlZCwgKCkpIFwKKyAg
ICBtYWNybyh2b2lkICwgU3RvcE11bHRpdGhyZWFkZWQsICgpKSBcCisgICAgbWFjcm8oTExWTUJv
b2wgLCBJc011bHRpdGhyZWFkZWQsICgpKSBcCisgICAgbWFjcm8oTExWTVRhcmdldERhdGFSZWYg
LCBDcmVhdGVUYXJnZXREYXRhLCAoY29uc3QgY2hhciAqU3RyaW5nUmVwKSkgXAorICAgIG1hY3Jv
KHZvaWQgLCBBZGRUYXJnZXREYXRhLCAoTExWTVRhcmdldERhdGFSZWYsIExMVk1QYXNzTWFuYWdl
clJlZikpIFwKKyAgICBtYWNybyh2b2lkICwgQWRkVGFyZ2V0TGlicmFyeUluZm8sIChMTFZNVGFy
Z2V0TGlicmFyeUluZm9SZWYsIExMVk1QYXNzTWFuYWdlclJlZikpIFwKKyAgICBtYWNybyhjaGFy
ICosIENvcHlTdHJpbmdSZXBPZlRhcmdldERhdGEsIChMTFZNVGFyZ2V0RGF0YVJlZikpIFwKKyAg
ICBtYWNybyhlbnVtIExMVk1CeXRlT3JkZXJpbmcgLCBCeXRlT3JkZXIsIChMTFZNVGFyZ2V0RGF0
YVJlZikpIFwKKyAgICBtYWNybyh1bnNpZ25lZCAsIFBvaW50ZXJTaXplLCAoTExWTVRhcmdldERh
dGFSZWYpKSBcCisgICAgbWFjcm8oTExWTVR5cGVSZWYgLCBJbnRQdHJUeXBlLCAoTExWTVRhcmdl
dERhdGFSZWYpKSBcCisgICAgbWFjcm8odW5zaWduZWQgbG9uZyBsb25nICwgU2l6ZU9mVHlwZUlu
Qml0cywgKExMVk1UYXJnZXREYXRhUmVmLCBMTFZNVHlwZVJlZikpIFwKKyAgICBtYWNybyh1bnNp
Z25lZCBsb25nIGxvbmcgLCBTdG9yZVNpemVPZlR5cGUsIChMTFZNVGFyZ2V0RGF0YVJlZiwgTExW
TVR5cGVSZWYpKSBcCisgICAgbWFjcm8odW5zaWduZWQgbG9uZyBsb25nICwgQUJJU2l6ZU9mVHlw
ZSwgKExMVk1UYXJnZXREYXRhUmVmLCBMTFZNVHlwZVJlZikpIFwKKyAgICBtYWNybyh1bnNpZ25l
ZCAsIEFCSUFsaWdubWVudE9mVHlwZSwgKExMVk1UYXJnZXREYXRhUmVmLCBMTFZNVHlwZVJlZikp
IFwKKyAgICBtYWNybyh1bnNpZ25lZCAsIENhbGxGcmFtZUFsaWdubWVudE9mVHlwZSwgKExMVk1U
YXJnZXREYXRhUmVmLCBMTFZNVHlwZVJlZikpIFwKKyAgICBtYWNybyh1bnNpZ25lZCAsIFByZWZl
cnJlZEFsaWdubWVudE9mVHlwZSwgKExMVk1UYXJnZXREYXRhUmVmLCBMTFZNVHlwZVJlZikpIFwK
KyAgICBtYWNybyh1bnNpZ25lZCAsIFByZWZlcnJlZEFsaWdubWVudE9mR2xvYmFsLCAoTExWTVRh
cmdldERhdGFSZWYsIExMVk1WYWx1ZVJlZiBHbG9iYWxWYXIpKSBcCisgICAgbWFjcm8odW5zaWdu
ZWQgLCBFbGVtZW50QXRPZmZzZXQsIChMTFZNVGFyZ2V0RGF0YVJlZiwgTExWTVR5cGVSZWYgU3Ry
dWN0VHksIHVuc2lnbmVkIGxvbmcgbG9uZyBPZmZzZXQpKSBcCisgICAgbWFjcm8odW5zaWduZWQg
bG9uZyBsb25nICwgT2Zmc2V0T2ZFbGVtZW50LCAoTExWTVRhcmdldERhdGFSZWYsIExMVk1UeXBl
UmVmIFN0cnVjdFR5LCB1bnNpZ25lZCBFbGVtZW50KSkgXAorICAgIG1hY3JvKHZvaWQgLCBEaXNw
b3NlVGFyZ2V0RGF0YSwgKExMVk1UYXJnZXREYXRhUmVmKSkgXAorICAgIG1hY3JvKExMVk1UYXJn
ZXRSZWYgLCBHZXRGaXJzdFRhcmdldCwgKCkpIFwKKyAgICBtYWNybyhMTFZNVGFyZ2V0UmVmICwg
R2V0TmV4dFRhcmdldCwgKExMVk1UYXJnZXRSZWYgVCkpIFwKKyAgICBtYWNybyhjb25zdCBjaGFy
ICosIEdldFRhcmdldE5hbWUsIChMTFZNVGFyZ2V0UmVmIFQpKSBcCisgICAgbWFjcm8oY29uc3Qg
Y2hhciAqLCBHZXRUYXJnZXREZXNjcmlwdGlvbiwgKExMVk1UYXJnZXRSZWYgVCkpIFwKKyAgICBt
YWNybyhMTFZNQm9vbCAsIFRhcmdldEhhc0pJVCwgKExMVk1UYXJnZXRSZWYgVCkpIFwKKyAgICBt
YWNybyhMTFZNQm9vbCAsIFRhcmdldEhhc1RhcmdldE1hY2hpbmUsIChMTFZNVGFyZ2V0UmVmIFQp
KSBcCisgICAgbWFjcm8oTExWTUJvb2wgLCBUYXJnZXRIYXNBc21CYWNrZW5kLCAoTExWTVRhcmdl
dFJlZiBUKSkgXAorICAgIG1hY3JvKExMVk1UYXJnZXRNYWNoaW5lUmVmICwgQ3JlYXRlVGFyZ2V0
TWFjaGluZSwgKExMVk1UYXJnZXRSZWYgVCwgY2hhciAqVHJpcGxlLCBjaGFyICpDUFUsIGNoYXIg
KkZlYXR1cmVzLCBMTFZNQ29kZUdlbk9wdExldmVsIExldmVsLCBMTFZNUmVsb2NNb2RlIFJlbG9j
LCBMTFZNQ29kZU1vZGVsIENvZGVNb2RlbCkpIFwKKyAgICBtYWNybyh2b2lkICwgRGlzcG9zZVRh
cmdldE1hY2hpbmUsIChMTFZNVGFyZ2V0TWFjaGluZVJlZiBUKSkgXAorICAgIG1hY3JvKExMVk1U
YXJnZXRSZWYgLCBHZXRUYXJnZXRNYWNoaW5lVGFyZ2V0LCAoTExWTVRhcmdldE1hY2hpbmVSZWYg
VCkpIFwKKyAgICBtYWNybyhjaGFyICosIEdldFRhcmdldE1hY2hpbmVUcmlwbGUsIChMTFZNVGFy
Z2V0TWFjaGluZVJlZiBUKSkgXAorICAgIG1hY3JvKGNoYXIgKiwgR2V0VGFyZ2V0TWFjaGluZUNQ
VSwgKExMVk1UYXJnZXRNYWNoaW5lUmVmIFQpKSBcCisgICAgbWFjcm8oY2hhciAqLCBHZXRUYXJn
ZXRNYWNoaW5lRmVhdHVyZVN0cmluZywgKExMVk1UYXJnZXRNYWNoaW5lUmVmIFQpKSBcCisgICAg
bWFjcm8oTExWTVRhcmdldERhdGFSZWYgLCBHZXRUYXJnZXRNYWNoaW5lRGF0YSwgKExMVk1UYXJn
ZXRNYWNoaW5lUmVmIFQpKSBcCisgICAgbWFjcm8oTExWTUJvb2wgLCBUYXJnZXRNYWNoaW5lRW1p
dFRvRmlsZSwgKExMVk1UYXJnZXRNYWNoaW5lUmVmIFQsIExMVk1Nb2R1bGVSZWYgTSwgY2hhciAq
RmlsZW5hbWUsIExMVk1Db2RlR2VuRmlsZVR5cGUgY29kZWdlbiwgY2hhciAqKkVycm9yTWVzc2Fn
ZSkpIFwKKyAgICBtYWNybyh2b2lkICwgTGlua0luSklULCAodm9pZCkpIFwKKyAgICBtYWNybyh2
b2lkICwgTGlua0luTUNKSVQsICh2b2lkKSkgXAorICAgIG1hY3JvKHZvaWQgLCBMaW5rSW5JbnRl
cnByZXRlciwgKHZvaWQpKSBcCisgICAgbWFjcm8oTExWTUdlbmVyaWNWYWx1ZVJlZiAsIENyZWF0
ZUdlbmVyaWNWYWx1ZU9mSW50LCAoTExWTVR5cGVSZWYgVHksIHVuc2lnbmVkIGxvbmcgbG9uZyBO
LCBMTFZNQm9vbCBJc1NpZ25lZCkpIFwKKyAgICBtYWNybyhMTFZNR2VuZXJpY1ZhbHVlUmVmICwg
Q3JlYXRlR2VuZXJpY1ZhbHVlT2ZQb2ludGVyLCAodm9pZCAqUCkpIFwKKyAgICBtYWNybyhMTFZN
R2VuZXJpY1ZhbHVlUmVmICwgQ3JlYXRlR2VuZXJpY1ZhbHVlT2ZGbG9hdCwgKExMVk1UeXBlUmVm
IFR5LCBkb3VibGUgTikpIFwKKyAgICBtYWNybyh1bnNpZ25lZCAsIEdlbmVyaWNWYWx1ZUludFdp
ZHRoLCAoTExWTUdlbmVyaWNWYWx1ZVJlZiBHZW5WYWxSZWYpKSBcCisgICAgbWFjcm8odW5zaWdu
ZWQgbG9uZyBsb25nICwgR2VuZXJpY1ZhbHVlVG9JbnQsIChMTFZNR2VuZXJpY1ZhbHVlUmVmIEdl
blZhbCwgTExWTUJvb2wgSXNTaWduZWQpKSBcCisgICAgbWFjcm8odm9pZCAqLCBHZW5lcmljVmFs
dWVUb1BvaW50ZXIsIChMTFZNR2VuZXJpY1ZhbHVlUmVmIEdlblZhbCkpIFwKKyAgICBtYWNybyhk
b3VibGUgLCBHZW5lcmljVmFsdWVUb0Zsb2F0LCAoTExWTVR5cGVSZWYgVHlSZWYsIExMVk1HZW5l
cmljVmFsdWVSZWYgR2VuVmFsKSkgXAorICAgIG1hY3JvKHZvaWQgLCBEaXNwb3NlR2VuZXJpY1Zh
bHVlLCAoTExWTUdlbmVyaWNWYWx1ZVJlZiBHZW5WYWwpKSBcCisgICAgbWFjcm8oTExWTUJvb2wg
LCBDcmVhdGVFeGVjdXRpb25FbmdpbmVGb3JNb2R1bGUsIChMTFZNRXhlY3V0aW9uRW5naW5lUmVm
ICpPdXRFRSwgTExWTU1vZHVsZVJlZiBNLCBjaGFyICoqT3V0RXJyb3IpKSBcCisgICAgbWFjcm8o
TExWTUJvb2wgLCBDcmVhdGVJbnRlcnByZXRlckZvck1vZHVsZSwgKExMVk1FeGVjdXRpb25Fbmdp
bmVSZWYgKk91dEludGVycCwgTExWTU1vZHVsZVJlZiBNLCBjaGFyICoqT3V0RXJyb3IpKSBcCisg
ICAgbWFjcm8oTExWTUJvb2wgLCBDcmVhdGVKSVRDb21waWxlckZvck1vZHVsZSwgKExMVk1FeGVj
dXRpb25FbmdpbmVSZWYgKk91dEpJVCwgTExWTU1vZHVsZVJlZiBNLCB1bnNpZ25lZCBPcHRMZXZl
bCwgY2hhciAqKk91dEVycm9yKSkgXAorICAgIG1hY3JvKHZvaWQgLCBJbml0aWFsaXplTUNKSVRD
b21waWxlck9wdGlvbnMsICggc3RydWN0IExMVk1NQ0pJVENvbXBpbGVyT3B0aW9ucyAqT3B0aW9u
cywgc2l6ZV90IFNpemVPZk9wdGlvbnMpKSBcCisgICAgbWFjcm8oTExWTUJvb2wgLCBDcmVhdGVN
Q0pJVENvbXBpbGVyRm9yTW9kdWxlLCAoIExMVk1FeGVjdXRpb25FbmdpbmVSZWYgKk91dEpJVCwg
TExWTU1vZHVsZVJlZiBNLCBzdHJ1Y3QgTExWTU1DSklUQ29tcGlsZXJPcHRpb25zICpPcHRpb25z
LCBzaXplX3QgU2l6ZU9mT3B0aW9ucywgY2hhciAqKk91dEVycm9yKSkgXAorICAgIG1hY3JvKExM
Vk1Cb29sICwgQ3JlYXRlRXhlY3V0aW9uRW5naW5lLCAoTExWTUV4ZWN1dGlvbkVuZ2luZVJlZiAq
T3V0RUUsIExMVk1Nb2R1bGVQcm92aWRlclJlZiBNUCwgY2hhciAqKk91dEVycm9yKSkgXAorICAg
IG1hY3JvKExMVk1Cb29sICwgQ3JlYXRlSW50ZXJwcmV0ZXIsIChMTFZNRXhlY3V0aW9uRW5naW5l
UmVmICpPdXRJbnRlcnAsIExMVk1Nb2R1bGVQcm92aWRlclJlZiBNUCwgY2hhciAqKk91dEVycm9y
KSkgXAorICAgIG1hY3JvKExMVk1Cb29sICwgQ3JlYXRlSklUQ29tcGlsZXIsIChMTFZNRXhlY3V0
aW9uRW5naW5lUmVmICpPdXRKSVQsIExMVk1Nb2R1bGVQcm92aWRlclJlZiBNUCwgdW5zaWduZWQg
T3B0TGV2ZWwsIGNoYXIgKipPdXRFcnJvcikpIFwKKyAgICBtYWNybyh2b2lkICwgRGlzcG9zZUV4
ZWN1dGlvbkVuZ2luZSwgKExMVk1FeGVjdXRpb25FbmdpbmVSZWYgRUUpKSBcCisgICAgbWFjcm8o
dm9pZCAsIFJ1blN0YXRpY0NvbnN0cnVjdG9ycywgKExMVk1FeGVjdXRpb25FbmdpbmVSZWYgRUUp
KSBcCisgICAgbWFjcm8odm9pZCAsIFJ1blN0YXRpY0Rlc3RydWN0b3JzLCAoTExWTUV4ZWN1dGlv
bkVuZ2luZVJlZiBFRSkpIFwKKyAgICBtYWNybyhpbnQgLCBSdW5GdW5jdGlvbkFzTWFpbiwgKExM
Vk1FeGVjdXRpb25FbmdpbmVSZWYgRUUsIExMVk1WYWx1ZVJlZiBGLCB1bnNpZ25lZCBBcmdDLCBj
b25zdCBjaGFyICogY29uc3QgKkFyZ1YsIGNvbnN0IGNoYXIgKiBjb25zdCAqRW52UCkpIFwKKyAg
ICBtYWNybyhMTFZNR2VuZXJpY1ZhbHVlUmVmICwgUnVuRnVuY3Rpb24sIChMTFZNRXhlY3V0aW9u
RW5naW5lUmVmIEVFLCBMTFZNVmFsdWVSZWYgRiwgdW5zaWduZWQgTnVtQXJncywgTExWTUdlbmVy
aWNWYWx1ZVJlZiAqQXJncykpIFwKKyAgICBtYWNybyh2b2lkICwgRnJlZU1hY2hpbmVDb2RlRm9y
RnVuY3Rpb24sIChMTFZNRXhlY3V0aW9uRW5naW5lUmVmIEVFLCBMTFZNVmFsdWVSZWYgRikpIFwK
KyAgICBtYWNybyh2b2lkICwgQWRkTW9kdWxlLCAoTExWTUV4ZWN1dGlvbkVuZ2luZVJlZiBFRSwg
TExWTU1vZHVsZVJlZiBNKSkgXAorICAgIG1hY3JvKHZvaWQgLCBBZGRNb2R1bGVQcm92aWRlciwg
KExMVk1FeGVjdXRpb25FbmdpbmVSZWYgRUUsIExMVk1Nb2R1bGVQcm92aWRlclJlZiBNUCkpIFwK
KyAgICBtYWNybyhMTFZNQm9vbCAsIFJlbW92ZU1vZHVsZSwgKExMVk1FeGVjdXRpb25FbmdpbmVS
ZWYgRUUsIExMVk1Nb2R1bGVSZWYgTSwgTExWTU1vZHVsZVJlZiAqT3V0TW9kLCBjaGFyICoqT3V0
RXJyb3IpKSBcCisgICAgbWFjcm8oTExWTUJvb2wgLCBSZW1vdmVNb2R1bGVQcm92aWRlciwgKExM
Vk1FeGVjdXRpb25FbmdpbmVSZWYgRUUsIExMVk1Nb2R1bGVQcm92aWRlclJlZiBNUCwgTExWTU1v
ZHVsZVJlZiAqT3V0TW9kLCBjaGFyICoqT3V0RXJyb3IpKSBcCisgICAgbWFjcm8oTExWTUJvb2wg
LCBGaW5kRnVuY3Rpb24sIChMTFZNRXhlY3V0aW9uRW5naW5lUmVmIEVFLCBjb25zdCBjaGFyICpO
YW1lLCBMTFZNVmFsdWVSZWYgKk91dEZuKSkgXAorICAgIG1hY3JvKHZvaWQgKiwgUmVjb21waWxl
QW5kUmVsaW5rRnVuY3Rpb24sIChMTFZNRXhlY3V0aW9uRW5naW5lUmVmIEVFLCBMTFZNVmFsdWVS
ZWYgRm4pKSBcCisgICAgbWFjcm8oTExWTVRhcmdldERhdGFSZWYgLCBHZXRFeGVjdXRpb25Fbmdp
bmVUYXJnZXREYXRhLCAoTExWTUV4ZWN1dGlvbkVuZ2luZVJlZiBFRSkpIFwKKyAgICBtYWNybyh2
b2lkICwgQWRkR2xvYmFsTWFwcGluZywgKExMVk1FeGVjdXRpb25FbmdpbmVSZWYgRUUsIExMVk1W
YWx1ZVJlZiBHbG9iYWwsIHZvaWQqIEFkZHIpKSBcCisgICAgbWFjcm8odm9pZCAqLCBHZXRQb2lu
dGVyVG9HbG9iYWwsIChMTFZNRXhlY3V0aW9uRW5naW5lUmVmIEVFLCBMTFZNVmFsdWVSZWYgR2xv
YmFsKSkgXAorICAgIG1hY3JvKExMVk1NQ0pJVE1lbW9yeU1hbmFnZXJSZWYgLCBDcmVhdGVTaW1w
bGVNQ0pJVE1lbW9yeU1hbmFnZXIsICggdm9pZCAqT3BhcXVlLCBMTFZNTWVtb3J5TWFuYWdlckFs
bG9jYXRlQ29kZVNlY3Rpb25DYWxsYmFjayBBbGxvY2F0ZUNvZGVTZWN0aW9uLCBMTFZNTWVtb3J5
TWFuYWdlckFsbG9jYXRlRGF0YVNlY3Rpb25DYWxsYmFjayBBbGxvY2F0ZURhdGFTZWN0aW9uLCBM
TFZNTWVtb3J5TWFuYWdlckZpbmFsaXplTWVtb3J5Q2FsbGJhY2sgRmluYWxpemVNZW1vcnksIExM
Vk1NZW1vcnlNYW5hZ2VyRGVzdHJveUNhbGxiYWNrIERlc3RvcnkpKSBcCisgICAgbWFjcm8odm9p
ZCAsIERpc3Bvc2VNQ0pJVE1lbW9yeU1hbmFnZXIsIChMTFZNTUNKSVRNZW1vcnlNYW5hZ2VyUmVm
IE1NKSkgXAorICAgIG1hY3JvKExMVk1Cb29sICwgVmVyaWZ5TW9kdWxlLCAoTExWTU1vZHVsZVJl
ZiBNLCBMTFZNVmVyaWZpZXJGYWlsdXJlQWN0aW9uIEFjdGlvbiwgY2hhciAqKk91dE1lc3NhZ2Up
KSBcCisgICAgbWFjcm8oTExWTUJvb2wgLCBWZXJpZnlGdW5jdGlvbiwgKExMVk1WYWx1ZVJlZiBG
biwgTExWTVZlcmlmaWVyRmFpbHVyZUFjdGlvbiBBY3Rpb24pKSBcCisgICAgbWFjcm8odm9pZCAs
IFZpZXdGdW5jdGlvbkNGRywgKExMVk1WYWx1ZVJlZiBGbikpIFwKKyAgICBtYWNybyh2b2lkICwg
Vmlld0Z1bmN0aW9uQ0ZHT25seSwgKExMVk1WYWx1ZVJlZiBGbikpIFwKKyAgICBtYWNybyhMTFZN
RGlzYXNtQ29udGV4dFJlZiAsIENyZWF0ZURpc2FzbSwgKGNvbnN0IGNoYXIgKlRyaXBsZU5hbWUs
IHZvaWQgKkRpc0luZm8sIGludCBUYWdUeXBlLCBMTFZNT3BJbmZvQ2FsbGJhY2sgR2V0T3BJbmZv
LCBMTFZNU3ltYm9sTG9va3VwQ2FsbGJhY2sgU3ltYm9sTG9va1VwKSkgXAorICAgIG1hY3JvKExM
Vk1EaXNhc21Db250ZXh0UmVmICwgQ3JlYXRlRGlzYXNtQ1BVLCAoY29uc3QgY2hhciAqVHJpcGxl
LCBjb25zdCBjaGFyICpDUFUsIHZvaWQgKkRpc0luZm8sIGludCBUYWdUeXBlLCBMTFZNT3BJbmZv
Q2FsbGJhY2sgR2V0T3BJbmZvLCBMTFZNU3ltYm9sTG9va3VwQ2FsbGJhY2sgU3ltYm9sTG9va1Vw
KSkgXAorICAgIG1hY3JvKGludCAsIFNldERpc2FzbU9wdGlvbnMsIChMTFZNRGlzYXNtQ29udGV4
dFJlZiBEQywgdWludDY0X3QgT3B0aW9ucykpIFwKKyAgICBtYWNybyh2b2lkICwgRGlzYXNtRGlz
cG9zZSwgKExMVk1EaXNhc21Db250ZXh0UmVmIERDKSkgXAorICAgIG1hY3JvKHNpemVfdCAsIERp
c2FzbUluc3RydWN0aW9uLCAoTExWTURpc2FzbUNvbnRleHRSZWYgREMsIHVpbnQ4X3QgKkJ5dGVz
LCB1aW50NjRfdCBCeXRlc1NpemUsIHVpbnQ2NF90IFBDLCBjaGFyICpPdXRTdHJpbmcsIHNpemVf
dCBPdXRTdHJpbmdTaXplKSkgXAorICAgIG1hY3JvKHVuc2lnbmVkICwgUG9pbnRlclNpemVGb3JB
UywgKExMVk1UYXJnZXREYXRhUmVmLCB1bnNpZ25lZCBBUykpIFwKKyAgICBtYWNybyhMTFZNVHlw
ZVJlZiAsIEludFB0clR5cGVGb3JBUywgKExMVk1UYXJnZXREYXRhUmVmLCB1bnNpZ25lZCBBUykp
IFwKKyAgICBtYWNybyhMTFZNUGFzc01hbmFnZXJCdWlsZGVyUmVmICwgUGFzc01hbmFnZXJCdWls
ZGVyQ3JlYXRlLCAodm9pZCkpIFwKKyAgICBtYWNybyh2b2lkICwgUGFzc01hbmFnZXJCdWlsZGVy
RGlzcG9zZSwgKExMVk1QYXNzTWFuYWdlckJ1aWxkZXJSZWYgUE1CKSkgXAorICAgIG1hY3JvKCwg
UGFzc01hbmFnZXJCdWlsZGVyU2V0T3B0TGV2ZWwsIChMTFZNUGFzc01hbmFnZXJCdWlsZGVyUmVm
IFBNQiwgdW5zaWduZWQgT3B0TGV2ZWwpKSBcCisgICAgbWFjcm8oLCBQYXNzTWFuYWdlckJ1aWxk
ZXJTZXRTaXplTGV2ZWwsIChMTFZNUGFzc01hbmFnZXJCdWlsZGVyUmVmIFBNQiwgdW5zaWduZWQg
U2l6ZUxldmVsKSkgXAorICAgIG1hY3JvKCwgUGFzc01hbmFnZXJCdWlsZGVyU2V0RGlzYWJsZVVu
aXRBdEFUaW1lLCAoTExWTVBhc3NNYW5hZ2VyQnVpbGRlclJlZiBQTUIsIExMVk1Cb29sIFZhbHVl
KSkgXAorICAgIG1hY3JvKCwgUGFzc01hbmFnZXJCdWlsZGVyU2V0RGlzYWJsZVVucm9sbExvb3Bz
LCAoTExWTVBhc3NNYW5hZ2VyQnVpbGRlclJlZiBQTUIsIExMVk1Cb29sIFZhbHVlKSkgXAorICAg
IG1hY3JvKCwgUGFzc01hbmFnZXJCdWlsZGVyU2V0RGlzYWJsZVNpbXBsaWZ5TGliQ2FsbHMsIChM
TFZNUGFzc01hbmFnZXJCdWlsZGVyUmVmIFBNQiwgTExWTUJvb2wgVmFsdWUpKSBcCisgICAgbWFj
cm8oLCBQYXNzTWFuYWdlckJ1aWxkZXJVc2VJbmxpbmVyV2l0aFRocmVzaG9sZCwgKExMVk1QYXNz
TWFuYWdlckJ1aWxkZXJSZWYgUE1CLCB1bnNpZ25lZCBUaHJlc2hvbGQpKSBcCisgICAgbWFjcm8o
LCBQYXNzTWFuYWdlckJ1aWxkZXJQb3B1bGF0ZUZ1bmN0aW9uUGFzc01hbmFnZXIsIChMTFZNUGFz
c01hbmFnZXJCdWlsZGVyUmVmIFBNQiwgTExWTVBhc3NNYW5hZ2VyUmVmIFBNKSkgXAorICAgIG1h
Y3JvKCwgUGFzc01hbmFnZXJCdWlsZGVyUG9wdWxhdGVNb2R1bGVQYXNzTWFuYWdlciwgKExMVk1Q
YXNzTWFuYWdlckJ1aWxkZXJSZWYgUE1CLCBMTFZNUGFzc01hbmFnZXJSZWYgUE0pKSBcCisgICAg
bWFjcm8odm9pZCAsIFBhc3NNYW5hZ2VyQnVpbGRlclBvcHVsYXRlTFRPUGFzc01hbmFnZXIsIChM
TFZNUGFzc01hbmFnZXJCdWlsZGVyUmVmIFBNQiwgTExWTVBhc3NNYW5hZ2VyUmVmIFBNLCBMTFZN
Qm9vbCBJbnRlcm5hbGl6ZSwgTExWTUJvb2wgUnVuSW5saW5lcikpIFwKKyAgICBtYWNybyh2b2lk
ICwgQWRkQWdncmVzc2l2ZURDRVBhc3MsIChMTFZNUGFzc01hbmFnZXJSZWYgUE0pKSBcCisgICAg
bWFjcm8odm9pZCAsIEFkZENGR1NpbXBsaWZpY2F0aW9uUGFzcywgKExMVk1QYXNzTWFuYWdlclJl
ZiBQTSkpIFwKKyAgICBtYWNybyh2b2lkICwgQWRkRGVhZFN0b3JlRWxpbWluYXRpb25QYXNzLCAo
TExWTVBhc3NNYW5hZ2VyUmVmIFBNKSkgXAorICAgIG1hY3JvKHZvaWQgLCBBZGRHVk5QYXNzLCAo
TExWTVBhc3NNYW5hZ2VyUmVmIFBNKSkgXAorICAgIG1hY3JvKHZvaWQgLCBBZGRJbmRWYXJTaW1w
bGlmeVBhc3MsIChMTFZNUGFzc01hbmFnZXJSZWYgUE0pKSBcCisgICAgbWFjcm8odm9pZCAsIEFk
ZEluc3RydWN0aW9uQ29tYmluaW5nUGFzcywgKExMVk1QYXNzTWFuYWdlclJlZiBQTSkpIFwKKyAg
ICBtYWNybyh2b2lkICwgQWRkSnVtcFRocmVhZGluZ1Bhc3MsIChMTFZNUGFzc01hbmFnZXJSZWYg
UE0pKSBcCisgICAgbWFjcm8odm9pZCAsIEFkZExJQ01QYXNzLCAoTExWTVBhc3NNYW5hZ2VyUmVm
IFBNKSkgXAorICAgIG1hY3JvKHZvaWQgLCBBZGRMb29wRGVsZXRpb25QYXNzLCAoTExWTVBhc3NN
YW5hZ2VyUmVmIFBNKSkgXAorICAgIG1hY3JvKHZvaWQgLCBBZGRMb29wSWRpb21QYXNzLCAoTExW
TVBhc3NNYW5hZ2VyUmVmIFBNKSkgXAorICAgIG1hY3JvKHZvaWQgLCBBZGRMb29wUm90YXRlUGFz
cywgKExMVk1QYXNzTWFuYWdlclJlZiBQTSkpIFwKKyAgICBtYWNybyh2b2lkICwgQWRkTG9vcFVu
cm9sbFBhc3MsIChMTFZNUGFzc01hbmFnZXJSZWYgUE0pKSBcCisgICAgbWFjcm8odm9pZCAsIEFk
ZExvb3BVbnN3aXRjaFBhc3MsIChMTFZNUGFzc01hbmFnZXJSZWYgUE0pKSBcCisgICAgbWFjcm8o
dm9pZCAsIEFkZE1lbUNweU9wdFBhc3MsIChMTFZNUGFzc01hbmFnZXJSZWYgUE0pKSBcCisgICAg
bWFjcm8odm9pZCAsIEFkZFBhcnRpYWxseUlubGluZUxpYkNhbGxzUGFzcywgKExMVk1QYXNzTWFu
YWdlclJlZiBQTSkpIFwKKyAgICBtYWNybyh2b2lkICwgQWRkUHJvbW90ZU1lbW9yeVRvUmVnaXN0
ZXJQYXNzLCAoTExWTVBhc3NNYW5hZ2VyUmVmIFBNKSkgXAorICAgIG1hY3JvKHZvaWQgLCBBZGRS
ZWFzc29jaWF0ZVBhc3MsIChMTFZNUGFzc01hbmFnZXJSZWYgUE0pKSBcCisgICAgbWFjcm8odm9p
ZCAsIEFkZFNDQ1BQYXNzLCAoTExWTVBhc3NNYW5hZ2VyUmVmIFBNKSkgXAorICAgIG1hY3JvKHZv
aWQgLCBBZGRTY2FsYXJSZXBsQWdncmVnYXRlc1Bhc3MsIChMTFZNUGFzc01hbmFnZXJSZWYgUE0p
KSBcCisgICAgbWFjcm8odm9pZCAsIEFkZFNjYWxhclJlcGxBZ2dyZWdhdGVzUGFzc1NTQSwgKExM
Vk1QYXNzTWFuYWdlclJlZiBQTSkpIFwKKyAgICBtYWNybyh2b2lkICwgQWRkU2NhbGFyUmVwbEFn
Z3JlZ2F0ZXNQYXNzV2l0aFRocmVzaG9sZCwgKExMVk1QYXNzTWFuYWdlclJlZiBQTSwgaW50IFRo
cmVzaG9sZCkpIFwKKyAgICBtYWNybyh2b2lkICwgQWRkU2ltcGxpZnlMaWJDYWxsc1Bhc3MsIChM
TFZNUGFzc01hbmFnZXJSZWYgUE0pKSBcCisgICAgbWFjcm8odm9pZCAsIEFkZFRhaWxDYWxsRWxp
bWluYXRpb25QYXNzLCAoTExWTVBhc3NNYW5hZ2VyUmVmIFBNKSkgXAorICAgIG1hY3JvKHZvaWQg
LCBBZGRDb25zdGFudFByb3BhZ2F0aW9uUGFzcywgKExMVk1QYXNzTWFuYWdlclJlZiBQTSkpIFwK
KyAgICBtYWNybyh2b2lkICwgQWRkRGVtb3RlTWVtb3J5VG9SZWdpc3RlclBhc3MsIChMTFZNUGFz
c01hbmFnZXJSZWYgUE0pKSBcCisgICAgbWFjcm8odm9pZCAsIEFkZFZlcmlmaWVyUGFzcywgKExM
Vk1QYXNzTWFuYWdlclJlZiBQTSkpIFwKKyAgICBtYWNybyh2b2lkICwgQWRkQ29ycmVsYXRlZFZh
bHVlUHJvcGFnYXRpb25QYXNzLCAoTExWTVBhc3NNYW5hZ2VyUmVmIFBNKSkgXAorICAgIG1hY3Jv
KHZvaWQgLCBBZGRFYXJseUNTRVBhc3MsIChMTFZNUGFzc01hbmFnZXJSZWYgUE0pKSBcCisgICAg
bWFjcm8odm9pZCAsIEFkZExvd2VyRXhwZWN0SW50cmluc2ljUGFzcywgKExMVk1QYXNzTWFuYWdl
clJlZiBQTSkpIFwKKyAgICBtYWNybyh2b2lkICwgQWRkVHlwZUJhc2VkQWxpYXNBbmFseXNpc1Bh
c3MsIChMTFZNUGFzc01hbmFnZXJSZWYgUE0pKSBcCisgICAgbWFjcm8odm9pZCAsIEFkZEJhc2lj
QWxpYXNBbmFseXNpc1Bhc3MsIChMTFZNUGFzc01hbmFnZXJSZWYgUE0pKQorCisjZW5kaWYgLy8g
TExWTUFQSUZ1bmN0aW9uc19oCisKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbHZtL2xp
YnJhcnkvTExWTUV4cG9ydHMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbHZtL2xpYnJhcnkvTExWTUV4cG9ydHMuY3BwCShyZXZpc2lvbiAwKQorKysgU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsdm0vbGlicmFyeS9MTFZNRXhwb3J0cy5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTAsMCArMSw0NyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMyBBcHBsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFy
ZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQ
TEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVO
VCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IK
KyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAK
KyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiTExWTUhlYWRlcnMuaCIKKwor
ZXh0ZXJuICJDIiBKU0M6OkxMVk1BUEkqIGluaXRpYWxpemVBbmRHZXRKU0NMTFZNQVBJKCk7CisK
K2V4dGVybiAiQyIgSlNDOjpMTFZNQVBJKiBpbml0aWFsaXplQW5kR2V0SlNDTExWTUFQSSgpCit7
CisgICAgTExWTUxpbmtJbk1DSklUKCk7CisgICAgTExWTUluaXRpYWxpemVOYXRpdmVUYXJnZXQo
KTsKKyAgICBMTFZNSW5pdGlhbGl6ZVg4NkFzbVByaW50ZXIoKTsKKyAgICBMTFZNSW5pdGlhbGl6
ZVg4NkRpc2Fzc2VtYmxlcigpOworICAgIAorICAgIEpTQzo6TExWTUFQSSogcmVzdWx0ID0gbmV3
IEpTQzo6TExWTUFQSTsKKyAgICAKKyNkZWZpbmUgTExWTV9BUElfRlVOQ1RJT05fQVNTSUdOTUVO
VChyZXR1cm5UeXBlLCBuYW1lLCBzaWduYXR1cmUpIFwKKyAgICByZXN1bHQtPm5hbWUgPSBMTFZN
IyNuYW1lOworICAgIEZPUl9FQUNIX0xMVk1fQVBJX0ZVTkNUSU9OKExMVk1fQVBJX0ZVTkNUSU9O
X0FTU0lHTk1FTlQpOworI3VuZGVmIExMVk1fQVBJX0ZVTkNUSU9OX0FTU0lHTk1FTlQKKyAgICAK
KyAgICByZXR1cm4gcmVzdWx0OworfQorCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvbGx2
bS9saWJyYXJ5L0xMVk1PdmVycmlkZXMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbHZtL2xpYnJhcnkvTExWTU92ZXJyaWRlcy5jcHAJKHJldmlzaW9uIDApCisrKyBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGx2bS9saWJyYXJ5L0xMVk1PdmVycmlkZXMuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC0wLDAgKzEsMzAgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTMgQXBw
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVT
UyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBU
SEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1Mg
Rk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5U
IFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBD
T05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICog
UFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
IERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4gCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorCitleHRlcm4gIkMiIGludCBf
X2N4YV9hdGV4aXQoKTsKK2V4dGVybiAiQyIgaW50IF9fY3hhX2F0ZXhpdCgpIHsgcmV0dXJuIDA7
IH0KKwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSW5pdGlhbGl6ZVRocmVh
ZGluZy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSW5p
dGlhbGl6ZVRocmVhZGluZy5jcHAJKHJldmlzaW9uIDE1NzE3MikKKysrIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0luaXRpYWxpemVUaHJlYWRpbmcuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC0zNCw2ICszNCw3IEBACiAjaW5jbHVkZSAiSGVhcFN0YXRpc3RpY3MuaCIKICNpbmNsdWRlICJP
cHRpb25zLmgiCiAjaW5jbHVkZSAiSWRlbnRpZmllci5oIgorI2luY2x1ZGUgIkluaXRpYWxpemVM
TFZNLmgiCiAjaW5jbHVkZSAiSlNEYXRlTWF0aC5oIgogI2luY2x1ZGUgIkpTR2xvYmFsT2JqZWN0
LmgiCiAjaW5jbHVkZSAiSlNMb2NrLmgiCkBAIC03MSwyMiArNzIsNyBAQCBzdGF0aWMgdm9pZCBp
bml0aWFsaXplVGhyZWFkaW5nT25jZSgpCiAgICAgTExJbnQ6OmluaXRpYWxpemUoKTsKICNlbmRp
ZgogI2lmIEhBVkUoTExWTSkKLSAgICBib29sIGZ0bCA9IGZhbHNlOwotICAgIGJvb2wgZGlzYXNz
ZW1ibGVyID0gZmFsc2U7Ci0jaWYgRU5BQkxFKEZUTF9KSVQpCi0gICAgZnRsID0gdHJ1ZTsKLSNl
bmRpZgotI2lmIFVTRShMTFZNX0RJU0FTU0VNQkxFUikKLSAgICBkaXNhc3NlbWJsZXIgPSB0cnVl
OwotI2VuZGlmCi0gICAgaWYgKGZ0bCkKLSAgICAgICAgTExWTUxpbmtJbk1DSklUKCk7Ci0gICAg
aWYgKGZ0bCB8fCBkaXNhc3NlbWJsZXIpCi0gICAgICAgIExMVk1Jbml0aWFsaXplTmF0aXZlVGFy
Z2V0KCk7Ci0gICAgaWYgKGZ0bCkKLSAgICAgICAgTExWTUluaXRpYWxpemVYODZBc21QcmludGVy
KCk7Ci0gICAgaWYgKGRpc2Fzc2VtYmxlcikKLSAgICAgICAgTExWTUluaXRpYWxpemVYODZEaXNh
c3NlbWJsZXIoKTsKKyAgICBpbml0aWFsaXplTExWTSgpOwogI2VuZGlmIC8vIEhBVkUoTExWTSkK
IH0KIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>213829</attachid>
            <date>2013-10-09 16:14:20 -0700</date>
            <delta_ts>2013-10-09 16:51:43 -0700</delta_ts>
            <desc>almost done</desc>
            <filename>blah.patch</filename>
            <type>text/plain</type>
            <size>153456</size>
            <attacher name="Filip Pizlo">fpizlo</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9Db25maWd1cmF0aW9ucy9KYXZhU2NyaXB0Q29y
ZS54Y2NvbmZpZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvQ29uZmlndXJh
dGlvbnMvSmF2YVNjcmlwdENvcmUueGNjb25maWcJKHJldmlzaW9uIDE1NzE3MikKKysrIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9Db25maWd1cmF0aW9ucy9KYXZhU2NyaXB0Q29yZS54Y2NvbmZpZwko
d29ya2luZyBjb3B5KQpAQCAtMzUsMTUgKzM1LDExIEBAIEpTVkFMVUVfTU9ERUxfeDg2XzY0ID0g
NjQ7CiAvLyBQcmV2ZW50IEMrKyBzdGFuZGFyZCBsaWJyYXJ5IG9wZXJhdG9yIG5ldywgZGVsZXRl
IGFuZCB0aGVpciByZWxhdGVkIGV4Y2VwdGlvbiB0eXBlcyBmcm9tIGJlaW5nIGV4cG9ydGVkIGFz
IHdlYWsgc3ltYm9scy4KIE9USEVSX0xERkxBR1NfSElERV9TWU1CT0xTID0gLVdsLC11bmV4cG9y
dGVkX3N5bWJvbCAtV2wsX19aVElTdDliYWRfYWxsb2MgLVdsLC11bmV4cG9ydGVkX3N5bWJvbCAt
V2wsX19aVElTdDlleGNlcHRpb24gLVdsLC11bmV4cG9ydGVkX3N5bWJvbCAtV2wsX19aVFNTdDli
YWRfYWxsb2MgLVdsLC11bmV4cG9ydGVkX3N5bWJvbCAtV2wsX19aVFNTdDlleGNlcHRpb24gLVds
LC11bmV4cG9ydGVkX3N5bWJvbCAtV2wsX19aZGxQdlNfIC1XbCwtdW5leHBvcnRlZF9zeW1ib2wg
LVdsLF9fWm53bVB2IC1XbCwtYWxsX2xvYWQ7CiAKLU9USEVSX0xERkxBR1NfTExWTSA9ICQoT1RI
RVJfTERGTEFHU19MTFZNXyQoRU5BQkxFX0ZUTF9KSVQpKTsKLU9USEVSX0xERkxBR1NfTExWTV8g
PSA7Ci1PVEhFUl9MREZMQUdTX0xMVk1fRU5BQkxFX0ZUTF9KSVQgPSAtbHB0aHJlYWQgLWxtIC1s
TExWTVRhYmxlR2VuIC1sTExWTURlYnVnSW5mbyAtbExMVk1PcHRpb24gLWxMTFZNWDg2RGlzYXNz
ZW1ibGVyIC1sTExWTVg4NkFzbVBhcnNlciAtbExMVk1YODZDb2RlR2VuIC1sTExWTVNlbGVjdGlv
bkRBRyAtbExMVk1Bc21QcmludGVyIC1sTExWTVg4NkRlc2MgLWxMTFZNWDg2SW5mbyAtbExMVk1Y
ODZBc21QcmludGVyIC1sTExWTVg4NlV0aWxzIC1sTExWTUlSUmVhZGVyIC1sTExWTUFzbVBhcnNl
ciAtbExMVk1NQ0Rpc2Fzc2VtYmxlciAtbExMVk1NQ1BhcnNlciAtbExMVk1JbnN0cnVtZW50YXRp
b24gLWxMTFZNQml0UmVhZGVyIC1sTExWTUludGVycHJldGVyIC1sTExWTWlwbyAtbExMVk1WZWN0
b3JpemUgLWxMTFZNTGlua2VyIC1sTExWTUJpdFdyaXRlciAtbExMVk1NQ0pJVCAtbExMVk1KSVQg
LWxMTFZNQ29kZUdlbiAtbExMVk1PYmpDQVJDT3B0cyAtbExMVk1TY2FsYXJPcHRzIC1sTExWTUlu
c3RDb21iaW5lIC1sTExWTVRyYW5zZm9ybVV0aWxzIC1sTExWTWlwYSAtbExMVk1BbmFseXNpcyAt
bExMVk1SdW50aW1lRHlsZCAtbExMVk1FeGVjdXRpb25FbmdpbmUgLWxMTFZNVGFyZ2V0IC1sTExW
TU1DIC1sTExWTU9iamVjdCAtbExMVk1Db3JlIC1sTExWTVN1cHBvcnQ7Ci0KIE9USEVSX0xERkxB
R1NfQkFTRSA9IC1sb2JqYyAtV2wsLVksMyAkKE9USEVSX0xERkxBR1NfSElERV9TWU1CT0xTKTsK
IE9USEVSX0xERkxBR1MgPSAkKGluaGVyaXRlZCkgJChPVEhFUl9MREZMQUdTXyQoUExBVEZPUk1f
TkFNRSkpOwogT1RIRVJfTERGTEFHU19pcGhvbmVvcyA9ICQoT1RIRVJfTERGTEFHU19CQVNFKTsK
IE9USEVSX0xERkxBR1NfaXBob25lc2ltdWxhdG9yID0gJChPVEhFUl9MREZMQUdTX2lwaG9uZW9z
KTsKLU9USEVSX0xERkxBR1NfbWFjb3N4ID0gJChPVEhFUl9MREZMQUdTX0JBU0UpICQoT1RIRVJf
TERGTEFHU19MTFZNKSAtc3ViX2xpYnJhcnkgbGlib2JqYyAtZnJhbWV3b3JrIENvcmVTZXJ2aWNl
czsKK09USEVSX0xERkxBR1NfbWFjb3N4ID0gJChPVEhFUl9MREZMQUdTX0JBU0UpIC1zdWJfbGli
cmFyeSBsaWJvYmpjIC1mcmFtZXdvcmsgQ29yZVNlcnZpY2VzOwogR0NDX1BSRUZJWF9IRUFERVIg
PSBKYXZhU2NyaXB0Q29yZVByZWZpeC5oOwogR0NDX1NZTUJPTFNfUFJJVkFURV9FWFRFUk4gPSBZ
RVM7CiBIRUFERVJfU0VBUkNIX1BBVEhTID0gIiR7QlVJTFRfUFJPRFVDVFNfRElSfS9EZXJpdmVk
U291cmNlcy9KYXZhU2NyaXB0Q29yZSIgJChIRUFERVJfU0VBUkNIX1BBVEhTKTsKSW5kZXg6IFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9Db25maWd1cmF0aW9ucy9MTFZNRm9ySlNDLnhjY29uZmlnCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9Db25maWd1cmF0aW9ucy9MTFZNRm9y
SlNDLnhjY29uZmlnCShyZXZpc2lvbiAwKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL0NvbmZp
Z3VyYXRpb25zL0xMVk1Gb3JKU0MueGNjb25maWcJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw0
MiBAQAorLy8gQ29weXJpZ2h0IChDKSAyMDA5IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKy8vCisvLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKKy8vIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworLy8gYXJlIG1ldDoKKy8vIDEuIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0CisvLyAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuCisvLyAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorLy8gICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorLy8gICAg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRp
c3RyaWJ1dGlvbi4KKy8vCisvLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElO
Qy4gYGBBUyBJUycnIEFORCBBTlkKKy8vIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisvLyBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKy8vIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisvLyBD
T05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwKKy8vIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKy8vIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorLy8gUFJPRklUUzsgT1Ig
QlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQor
Ly8gT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUCisvLyAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKy8vIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorCisjaW5jbHVkZSAiRmVh
dHVyZURlZmluZXMueGNjb25maWciCisjaW5jbHVkZSAiVmVyc2lvbi54Y2NvbmZpZyIKKworLy8g
UHJldmVudCBDKysgc3RhbmRhcmQgbGlicmFyeSBvcGVyYXRvciBuZXcsIGRlbGV0ZSBhbmQgdGhl
aXIgcmVsYXRlZCBleGNlcHRpb24gdHlwZXMgZnJvbSBiZWluZyBleHBvcnRlZCBhcyB3ZWFrIHN5
bWJvbHMuCitPVEhFUl9MREZMQUdTX0hJREVfU1lNQk9MUyA9IC1XbCwtdW5leHBvcnRlZF9zeW1i
b2wgLVdsLF9fWlRJU3Q5YmFkX2FsbG9jIC1XbCwtdW5leHBvcnRlZF9zeW1ib2wgLVdsLF9fWlRJ
U3Q5ZXhjZXB0aW9uIC1XbCwtdW5leHBvcnRlZF9zeW1ib2wgLVdsLF9fWlRTU3Q5YmFkX2FsbG9j
IC1XbCwtdW5leHBvcnRlZF9zeW1ib2wgLVdsLF9fWlRTU3Q5ZXhjZXB0aW9uIC1XbCwtdW5leHBv
cnRlZF9zeW1ib2wgLVdsLF9fWmRsUHZTXyAtV2wsLXVuZXhwb3J0ZWRfc3ltYm9sIC1XbCxfX1pu
d21QdiAtV2wsLWFsbF9sb2FkOworCitPVEhFUl9MREZMQUdTX0xMVk0gPSAkKE9USEVSX0xERkxB
R1NfTExWTV8kKEVOQUJMRV9GVExfSklUKSk7CitPVEhFUl9MREZMQUdTX0xMVk1fID0gOworT1RI
RVJfTERGTEFHU19MTFZNX0VOQUJMRV9GVExfSklUID0gLWxwdGhyZWFkIC1sbSAtbExMVk1UYWJs
ZUdlbiAtbExMVk1EZWJ1Z0luZm8gLWxMTFZNT3B0aW9uIC1sTExWTVg4NkRpc2Fzc2VtYmxlciAt
bExMVk1YODZBc21QYXJzZXIgLWxMTFZNWDg2Q29kZUdlbiAtbExMVk1TZWxlY3Rpb25EQUcgLWxM
TFZNQXNtUHJpbnRlciAtbExMVk1YODZEZXNjIC1sTExWTVg4NkluZm8gLWxMTFZNWDg2QXNtUHJp
bnRlciAtbExMVk1YODZVdGlscyAtbExMVk1JUlJlYWRlciAtbExMVk1Bc21QYXJzZXIgLWxMTFZN
TUNEaXNhc3NlbWJsZXIgLWxMTFZNTUNQYXJzZXIgLWxMTFZNSW5zdHJ1bWVudGF0aW9uIC1sTExW
TUJpdFJlYWRlciAtbExMVk1JbnRlcnByZXRlciAtbExMVk1pcG8gLWxMTFZNVmVjdG9yaXplIC1s
TExWTUxpbmtlciAtbExMVk1CaXRXcml0ZXIgLWxMTFZNTUNKSVQgLWxMTFZNSklUIC1sTExWTUNv
ZGVHZW4gLWxMTFZNT2JqQ0FSQ09wdHMgLWxMTFZNU2NhbGFyT3B0cyAtbExMVk1JbnN0Q29tYmlu
ZSAtbExMVk1UcmFuc2Zvcm1VdGlscyAtbExMVk1pcGEgLWxMTFZNQW5hbHlzaXMgLWxMTFZNUnVu
dGltZUR5bGQgLWxMTFZNRXhlY3V0aW9uRW5naW5lIC1sTExWTVRhcmdldCAtbExMVk1NQyAtbExM
Vk1PYmplY3QgLWxMTFZNQ29yZSAtbExMVk1TdXBwb3J0OworCitPVEhFUl9MREZMQUdTX0JBU0Ug
PSAtbG9iamMgLVdsLC1ZLDMgJChPVEhFUl9MREZMQUdTX0hJREVfU1lNQk9MUyk7CitPVEhFUl9M
REZMQUdTID0gJChpbmhlcml0ZWQpICQoT1RIRVJfTERGTEFHU18kKFBMQVRGT1JNX05BTUUpKTsK
K09USEVSX0xERkxBR1NfaXBob25lb3MgPSAkKE9USEVSX0xERkxBR1NfQkFTRSk7CitPVEhFUl9M
REZMQUdTX2lwaG9uZXNpbXVsYXRvciA9ICQoT1RIRVJfTERGTEFHU19pcGhvbmVvcyk7CitPVEhF
Ul9MREZMQUdTX21hY29zeCA9ICQoT1RIRVJfTERGTEFHU19CQVNFKSAkKE9USEVSX0xERkxBR1Nf
TExWTSkKK0dDQ19TWU1CT0xTX1BSSVZBVEVfRVhURVJOID0gWUVTOworSEVBREVSX1NFQVJDSF9Q
QVRIUyA9ICIke0JVSUxUX1BST0RVQ1RTX0RJUn0vRGVyaXZlZFNvdXJjZXMvSmF2YVNjcmlwdENv
cmUiICQoSEVBREVSX1NFQVJDSF9QQVRIUyk7CisKK1BST0RVQ1RfTkFNRSA9IGxsdm1Gb3JKU0M7
CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvago9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNj
cmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkocmV2aXNpb24gMTU3MTcyKQorKysg
U291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2oJKHdvcmtpbmcgY29weSkKQEAgLTI1Nyw3ICsyNTcsNiBAQAogCQkwRjYzOTQ4NTE1RTQ4
MTFCMDA2QTU5N0MgLyogREZHQXJyYXlNb2RlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSAwRjYzOTQ4MjE1RTQ4MTE0MDA2QTU5N0MgLyogREZHQXJyYXlN
b2RlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJ
MEY2NkUxNkIxNERGM0YxNjAwQjdCMkU0IC8qIERGR0FkamFjZW5jeUxpc3QuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGNjZFMTY4MTRERjNGMTMwMEI3
QjJFNCAvKiBERkdBZGphY2VuY3lMaXN0LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAo
UHJpdmF0ZSwgKTsgfTsgfTsKIAkJMEY2NkUxNkMxNERGM0YxNjAwQjdCMkU0IC8qIERGR0VkZ2Uu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGNjZFMTY5
MTRERjNGMTMwMEI3QjJFNCAvKiBERkdFZGdlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMg
PSAoUHJpdmF0ZSwgKTsgfTsgfTsKLQkJMEY2RTVDMTkxNzI0QUYzRDAwNUM1NzRGIC8qIFdlYktp
dExMVk1MaWJyYXJ5QW5jaG9yLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDBGNkU1QzE4MTcyNEFGM0QwMDVDNTc0RiAvKiBXZWJLaXRMTFZNTGlicmFy
eUFuY2hvci5jcHAgKi87IH07CiAJCTBGNzAyNUE5MTcxNEIwRkEwMDM4MkMwRSAvKiBERkdPU1JF
eGl0Q29tcGlsZXJDb21tb24uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gMEY3MDI1QTcxNzE0QjBGODAwMzgyQzBFIC8qIERGR09TUkV4aXRDb21waWxl
ckNvbW1vbi5jcHAgKi87IH07CiAJCTBGNzAyNUFBMTcxNEIwRkMwMDM4MkMwRSAvKiBERkdPU1JF
eGl0Q29tcGlsZXJDb21tb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDBGNzAyNUE4MTcxNEIwRjgwMDM4MkMwRSAvKiBERkdPU1JFeGl0Q29tcGlsZXJD
b21tb24uaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9Owog
CQkwRjcxNENBNDE2RUE5MkYwMDBGM0VCRUIgLyogREZHQmFja3dhcmRzUHJvcGFnYXRpb25QaGFz
ZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjcx
NENBMTE2RUE5MkVEMDBGM0VCRUIgLyogREZHQmFja3dhcmRzUHJvcGFnYXRpb25QaGFzZS5jcHAg
Ki87IH07CkBAIC0zNzIsNiArMzcxLDIwIEBACiAJCTBGQzgxNTE1MTQwNTExOUIwMENGQTYwMyAv
KiBWVGFibGVTcGVjdHJ1bS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gMEZDODE1MTQxNDA1MTE4RDAwQ0ZBNjAzIC8qIFZUYWJsZVNwZWN0cnVtLmggKi87
IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJMEZDODE1MTYx
NDA1MTFCNTAwQ0ZBNjAzIC8qIFZUYWJsZVNwZWN0cnVtLmNwcCBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGQzgxNTEyMTQwNTExODYwMENGQTYwMyAvKiBW
VGFibGVTcGVjdHJ1bS5jcHAgKi87IH07CiAJCTBGQ0NBRTQ1MTZEMENGNzQwMEQwQzY1QiAvKiBQ
YXJzZXJFcnJvci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gMEZDQ0FFNDMxNkQwQ0Y2RTAwRDBDNjVCIC8qIFBhcnNlckVycm9yLmggKi87IHNldHRpbmdz
ID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMEZDRUZBQjAxODA1Q0E2RDAw
NDcyQ0U0IC8qIEluaXRpYWxpemVMTFZNLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSAwRkNFRkFBRTE4MDVDQTZEMDA0NzJDRTQgLyogSW5pdGlhbGl6ZUxM
Vk0uaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQkw
RkNFRkFCMTE4MDVDQTZEMDA0NzJDRTQgLyogSW5pdGlhbGl6ZUxMVk1NYWMubW0gaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRkNFRkFBRjE4MDVDQTZEMDA0
NzJDRTQgLyogSW5pdGlhbGl6ZUxMVk1NYWMubW0gKi87IH07CisJCTBGQ0VGQUMxMTgwNUQ5NEUw
MDQ3MkNFNCAvKiBMTFZNT3ZlcnJpZGVzLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDBGQ0VGQUMwMTgwNUQ5NDEwMDQ3MkNFNCAvKiBMTFZNT3ZlcnJp
ZGVzLmNwcCAqLzsgfTsKKwkJMEZDRUZBQzMxODA1RTc0MDAwNDcyQ0U0IC8qIExMVk1FeHBvcnRz
LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGQ0VG
QUMyMTgwNUU3NDAwMDQ3MkNFNCAvKiBMTFZNRXhwb3J0cy5jcHAgKi87IH07CisJCTBGQ0VGQUNB
MTgwNUU3NTUwMDQ3MkNFNCAvKiBJbml0aWFsaXplTExWTS5jcHAgaW4gU291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRkNFRkFDNDE4MDVFNzU1MDA0NzJDRTQgLyog
SW5pdGlhbGl6ZUxMVk0uY3BwICovOyB9OworCQkwRkNFRkFDQjE4MDVFNzU1MDA0NzJDRTQgLyog
SW5pdGlhbGl6ZUxMVk1QT1NJWC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSAwRkNFRkFDNTE4MDVFNzU1MDA0NzJDRTQgLyogSW5pdGlhbGl6ZUxMVk1Q
T1NJWC5jcHAgKi87IH07CisJCTBGQ0VGQUNDMTgwNUU3NTUwMDQ3MkNFNCAvKiBJbml0aWFsaXpl
TExWTVBPU0lYLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSAwRkNFRkFDNjE4MDVFNzU1MDA0NzJDRTQgLyogSW5pdGlhbGl6ZUxMVk1QT1NJWC5oICovOyBz
ZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTBGQ0VGQUNEMTgw
NUU3NTUwMDQ3MkNFNCAvKiBMTFZNQVBJLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDBGQ0VGQUM3MTgwNUU3NTUwMDQ3MkNFNCAvKiBMTFZNQVBJLmNw
cCAqLzsgfTsKKwkJMEZDRUZBQ0UxODA1RTc1NTAwNDcyQ0U0IC8qIExMVk1BUEkuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGQ0VGQUM4MTgwNUU3NTUw
MDQ3MkNFNCAvKiBMTFZNQVBJLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0
ZSwgKTsgfTsgfTsKKwkJMEZDRUZBQ0YxODA1RTc1NTAwNDcyQ0U0IC8qIExMVk1BUElGdW5jdGlv
bnMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGQ0VG
QUM5MTgwNUU3NTUwMDQ3MkNFNCAvKiBMTFZNQVBJRnVuY3Rpb25zLmggKi87IHNldHRpbmdzID0g
e0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMEZDRUZBRDExODA1RTc3OTAwNDcy
Q0U0IC8qIExMVk1BUElGdW5jdGlvbnMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDBGQ0VGQUM5MTgwNUU3NTUwMDQ3MkNFNCAvKiBMTFZNQVBJRnVuY3Rp
b25zLmggKi87IH07CisJCTBGQ0VGQUQzMTgwNUVEQ0MwMDQ3MkNFNCAvKiBMTFZNSGVhZGVycy5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZDRUZBRDIx
ODA1RURDQzAwNDcyQ0U0IC8qIExMVk1IZWFkZXJzLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVU
RVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMEZDRUZBRDQxODA1RURDQzAwNDcyQ0U0IC8qIExM
Vk1IZWFkZXJzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSAwRkNFRkFEMjE4MDVFRENDMDA0NzJDRTQgLyogTExWTUhlYWRlcnMuaCAqLzsgfTsKKwkJMEZD
RUZBRDcxODA2MTc0NjAwNDcyQ0U0IC8qIExMVk1BbmNob3IuY3BwIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZDRUZBRDYxODA2MTc0NjAwNDcyQ0U0IC8q
IExMVk1BbmNob3IuY3BwICovOyB9OwogCQkwRkQyQzkyNDE2RDAxRUU5MDBDNzgwM0YgLyogU3Ry
dWN0dXJlSW5saW5lcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gMEZEMkM5MjMxNkQwMUVFOTAwQzc4MDNGIC8qIFN0cnVjdHVyZUlubGluZXMuaCAqLzsg
c2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQkwRkQzQzgyNjE0
MTE1RDQwMDBGRDgxQ0IgLyogREZHRHJpdmVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGRDNDODIwMTQxMTVDRjgwMEZEODFDQiAvKiBERkdEcml2
ZXIuY3BwICovOyB9OwogCQkwRkQzQzgyODE0MTE1RDRGMDBGRDgxQ0IgLyogREZHRHJpdmVyLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRkQzQzgyMjE0
MTE1RDBFMDBGRDgxQ0IgLyogREZHRHJpdmVyLmggKi87IH07CkBAIC0xMTgxLDYgKzExOTQsMTMg
QEAKIC8qIEVuZCBQQlhCdWlsZEZpbGUgc2VjdGlvbiAqLwogCiAvKiBCZWdpbiBQQlhDb250YWlu
ZXJJdGVtUHJveHkgc2VjdGlvbiAqLworCQkwRkNFRkFCQzE4MDVENjYzMDA0NzJDRTQgLyogUEJY
Q29udGFpbmVySXRlbVByb3h5ICovID0geworCQkJaXNhID0gUEJYQ29udGFpbmVySXRlbVByb3h5
OworCQkJY29udGFpbmVyUG9ydGFsID0gMDg2N0Q2OTBGRTg0MDI4RkMwMkFBQzA3IC8qIFByb2pl
Y3Qgb2JqZWN0ICovOworCQkJcHJveHlUeXBlID0gMTsKKwkJCXJlbW90ZUdsb2JhbElEU3RyaW5n
ID0gMEZDRUZBQjUxODA1RDYxNjAwNDcyQ0U0OworCQkJcmVtb3RlSW5mbyA9IGxsdm1Gb3JKU0M7
CisJCX07CiAJCTBGRjkyMkQyMTRGNDZCMkYwMDQxQTI0RSAvKiBQQlhDb250YWluZXJJdGVtUHJv
eHkgKi8gPSB7CiAJCQlpc2EgPSBQQlhDb250YWluZXJJdGVtUHJveHk7CiAJCQljb250YWluZXJQ
b3J0YWwgPSAwODY3RDY5MEZFODQwMjhGQzAyQUFDMDcgLyogUHJvamVjdCBvYmplY3QgKi87CkBA
IC0xNDcxLDcgKzE0OTEsNiBAQAogCQkwRjYzOTQ4MjE1RTQ4MTE0MDA2QTU5N0MgLyogREZHQXJy
YXlNb2RlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IERGR0FycmF5TW9kZS5o
OyBwYXRoID0gZGZnL0RGR0FycmF5TW9kZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQkwRjY2RTE2ODE0REYzRjEzMDBCN0IyRTQgLyogREZHQWRqYWNlbmN5TGlzdC5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBERkdBZGphY2VuY3lMaXN0Lmg7IHBhdGggPSBkZmcv
REZHQWRqYWNlbmN5TGlzdC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkwRjY2RTE2
OTE0REYzRjEzMDBCN0IyRTQgLyogREZHRWRnZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IG5hbWUgPSBERkdFZGdlLmg7IHBhdGggPSBkZmcvREZHRWRnZS5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwotCQkwRjZFNUMxODE3MjRBRjNEMDA1QzU3NEYgLyogV2ViS2l0TExWTUxpYnJh
cnlBbmNob3IuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gV2ViS2l0
TExWTUxpYnJhcnlBbmNob3IuY3BwOyBwYXRoID0gZnRsL1dlYktpdExMVk1MaWJyYXJ5QW5jaG9y
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMEY3MDI1QTcxNzE0QjBGODAwMzgy
QzBFIC8qIERGR09TUkV4aXRDb21waWxlckNvbW1vbi5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IG5hbWUgPSBERkdPU1JFeGl0Q29tcGlsZXJDb21tb24uY3BwOyBwYXRoID0gZGZn
L0RGR09TUkV4aXRDb21waWxlckNvbW1vbi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCTBGNzAyNUE4MTcxNEIwRjgwMDM4MkMwRSAvKiBERkdPU1JFeGl0Q29tcGlsZXJDb21tb24u
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gREZHT1NSRXhpdENvbXBpbGVyQ29t
bW9uLmg7IHBhdGggPSBkZmcvREZHT1NSRXhpdENvbXBpbGVyQ29tbW9uLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTBGNzE0Q0ExMTZFQTkyRUQwMEYzRUJFQiAvKiBERkdCYWNrd2Fy
ZHNQcm9wYWdhdGlvblBoYXNlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFt
ZSA9IERGR0JhY2t3YXJkc1Byb3BhZ2F0aW9uUGhhc2UuY3BwOyBwYXRoID0gZGZnL0RGR0JhY2t3
YXJkc1Byb3BhZ2F0aW9uUGhhc2UuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAt
MTU5OCw2ICsxNjE3LDIwIEBACiAJCTBGQzgxNTE0MTQwNTExOEQwMENGQTYwMyAvKiBWVGFibGVT
cGVjdHJ1bS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBWVGFibGVTcGVjdHJ1
bS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkwRkNCNDA4NTE1QzBBM0MzMDA0ODkz
MkIgLyogU2xvdFZpc2l0b3JJbmxpbmVzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IFNsb3RWaXNpdG9ySW5saW5lcy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkw
RkNDQUU0MzE2RDBDRjZFMDBEMEM2NUIgLyogUGFyc2VyRXJyb3IuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gUGFyc2VyRXJyb3IuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJMEZDRUZBQUUxODA1Q0E2RDAwNDcyQ0U0IC8qIEluaXRpYWxpemVMTFZNLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IEluaXRpYWxpemVMTFZNLmg7IHBhdGggPSBsbHZt
L0luaXRpYWxpemVMTFZNLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGQ0VGQUFG
MTgwNUNBNkQwMDQ3MkNFNCAvKiBJbml0aWFsaXplTExWTU1hYy5tbSAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLm9iamNwcDsgbmFtZSA9IEluaXRpYWxpemVMTFZNTWFjLm1tOyBwYXRoID0gbGx2
bS9Jbml0aWFsaXplTExWTU1hYy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEZD
RUZBQjYxODA1RDYxNjAwNDcyQ0U0IC8qIGxpYmxsdm1Gb3JKU0MuZHlsaWIgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZXhwbGljaXRGaWxlVHlwZSA9ICJjb21waWxlZC5tYWNoLW8uZHls
aWIiOyBpbmNsdWRlSW5JbmRleCA9IDA7IHBhdGggPSBsaWJsbHZtRm9ySlNDLmR5bGliOyBzb3Vy
Y2VUcmVlID0gQlVJTFRfUFJPRFVDVFNfRElSOyB9OworCQkwRkNFRkFCRTE4MDVEODY5MDA0NzJD
RTQgLyogTExWTUZvckpTQy54Y2NvbmZpZyAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBs
YXN0S25vd25GaWxlVHlwZSA9IHRleHQueGNjb25maWc7IHBhdGggPSBMTFZNRm9ySlNDLnhjY29u
ZmlnOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRkNFRkFDMDE4MDVEOTQxMDA0NzJD
RTQgLyogTExWTU92ZXJyaWRlcy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBMTFZNT3ZlcnJpZGVz
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEZDRUZBQzIxODA1RTc0MDAwNDcy
Q0U0IC8qIExMVk1FeHBvcnRzLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0
aCA9IExMVk1FeHBvcnRzLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEZDRUZB
QzQxODA1RTc1NTAwNDcyQ0U0IC8qIEluaXRpYWxpemVMTFZNLmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgbmFtZSA9IEluaXRpYWxpemVMTFZNLmNwcDsgcGF0aCA9IGxsdm0vSW5p
dGlhbGl6ZUxMVk0uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRkNFRkFDNTE4
MDVFNzU1MDA0NzJDRTQgLyogSW5pdGlhbGl6ZUxMVk1QT1NJWC5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBJbml0aWFsaXplTExWTVBPU0lYLmNwcDsgcGF0aCA9IGxs
dm0vSW5pdGlhbGl6ZUxMVk1QT1NJWC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CTBGQ0VGQUM2MTgwNUU3NTUwMDQ3MkNFNCAvKiBJbml0aWFsaXplTExWTVBPU0lYLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IEluaXRpYWxpemVMTFZNUE9TSVguaDsgcGF0aCA9
IGxsdm0vSW5pdGlhbGl6ZUxMVk1QT1NJWC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQkwRkNFRkFDNzE4MDVFNzU1MDA0NzJDRTQgLyogTExWTUFQSS5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBMTFZNQVBJLmNwcDsgcGF0aCA9IGxsdm0vTExWTUFQSS5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGQ0VGQUM4MTgwNUU3NTUwMDQ3MkNF
NCAvKiBMTFZNQVBJLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IExMVk1BUEku
aDsgcGF0aCA9IGxsdm0vTExWTUFQSS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkw
RkNFRkFDOTE4MDVFNzU1MDA0NzJDRTQgLyogTExWTUFQSUZ1bmN0aW9ucy5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IG5hbWUgPSBMTFZNQVBJRnVuY3Rpb25zLmg7IHBhdGggPSBsbHZtL0xM
Vk1BUElGdW5jdGlvbnMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEZDRUZBRDIx
ODA1RURDQzAwNDcyQ0U0IC8qIExMVk1IZWFkZXJzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgbmFtZSA9IExMVk1IZWFkZXJzLmg7IHBhdGggPSBsbHZtL0xMVk1IZWFkZXJzLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGQ0VGQUQ2MTgwNjE3NDYwMDQ3MkNFNCAvKiBMTFZN
QW5jaG9yLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IExMVk1BbmNo
b3IuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkwRkQyQzkyMzE2RDAxRUU5MDBD
NzgwM0YgLyogU3RydWN0dXJlSW5saW5lcy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBTdHJ1Y3R1cmVJbmxpbmVzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTBG
RDNDODIwMTQxMTVDRjgwMEZEODFDQiAvKiBERkdEcml2ZXIuY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBuYW1lID0gREZHRHJpdmVyLmNwcDsgcGF0aCA9IGRmZy9ERkdEcml2ZXIu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkwRkQzQzgyMjE0MTE1RDBFMDBGRDgx
Q0IgLyogREZHRHJpdmVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IERGR0Ry
aXZlci5oOyBwYXRoID0gZGZnL0RGR0RyaXZlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwpAQCAtMjQzMSw2ICsyNDY0LDEzIEBACiAvKiBFbmQgUEJYRmlsZVJlZmVyZW5jZSBzZWN0aW9u
ICovCiAKIC8qIEJlZ2luIFBCWEZyYW1ld29ya3NCdWlsZFBoYXNlIHNlY3Rpb24gKi8KKwkJMEZD
RUZBQjMxODA1RDYxNjAwNDcyQ0U0IC8qIEZyYW1ld29ya3MgKi8gPSB7CisJCQlpc2EgPSBQQlhG
cmFtZXdvcmtzQnVpbGRQaGFzZTsKKwkJCWJ1aWxkQWN0aW9uTWFzayA9IDIxNDc0ODM2NDc7CisJ
CQlmaWxlcyA9ICgKKwkJCSk7CisJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5n
ID0gMDsKKwkJfTsKIAkJMEZGOTIyQzYxNEY0NkIxMzAwNDFBMjRFIC8qIEZyYW1ld29ya3MgKi8g
PSB7CiAJCQlpc2EgPSBQQlhGcmFtZXdvcmtzQnVpbGRQaGFzZTsKIAkJCWJ1aWxkQWN0aW9uTWFz
ayA9IDIxNDc0ODM2NDc7CkBAIC0yNDk5LDYgKzI1MzksNyBAQAogCQkJCTE0MTIxMTIwMEE0ODc5
M0MwMDQ4MDI1NSAvKiBtaW5pZG9tICovLAogCQkJCTE0QkQ1OUJGMEEzRThGOTAwMEJBRjU5QyAv
KiB0ZXN0YXBpICovLAogCQkJCTY1MTEyMzA1MTQwNDZBNEMwMDJCMTAxRCAvKiB0ZXN0UmVnRXhw
ICovLAorCQkJCTBGQ0VGQUI2MTgwNUQ2MTYwMDQ3MkNFNCAvKiBsaWJsbHZtRm9ySlNDLmR5bGli
ICovLAogCQkJKTsKIAkJCW5hbWUgPSBQcm9kdWN0czsKIAkJCXNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7CkBAIC0yNTMxLDYgKzI1NzIsNyBAQAogCQkJCTE0MjlENzdBMEVEMjBENzMwMEI4OTYxOSAv
KiBpbnRlcnByZXRlciAqLywKIAkJCQkxNDI5RDkyQzBFRDIyRDcwMDBCODk2MTkgLyogaml0ICov
LAogCQkJCTBGNDY4MDlDMTRCQTdGNEQwMEJGRTI3MiAvKiBsbGludCAqLywKKwkJCQkwRkNFRkFB
RDE4MDVDQTQ0MDA0NzJDRTQgLyogbGx2bSAqLywKIAkJCQk3RTM5RDgzNzBFQzNBMzg4MDAzQUYx
MUEgLyogcGFyc2VyICovLAogCQkJCTAzNDc2OERGRkYzOEE1MDQxMURCOUM4QiAvKiBQcm9kdWN0
cyAqLywKIAkJCQk5NUFCODMxQTBEQTQyQzY5MDBCQzgzRjMgLyogcHJvZmlsZXIgKi8sCkBAIC0y
NTg4LDYgKzI2MzAsMzQgQEAKIAkJCW5hbWUgPSBsbGludDsKIAkJCXNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7CiAJCX07CisJCTBGQ0VGQUFEMTgwNUNBNDQwMDQ3MkNFNCAvKiBsbHZtICovID0gewor
CQkJaXNhID0gUEJYR3JvdXA7CisJCQljaGlsZHJlbiA9ICgKKwkJCQkwRkNFRkFCRjE4MDVEOTQx
MDA0NzJDRTQgLyogbGlicmFyeSAqLywKKwkJCQkwRkNFRkFDNDE4MDVFNzU1MDA0NzJDRTQgLyog
SW5pdGlhbGl6ZUxMVk0uY3BwICovLAorCQkJCTBGQ0VGQUFFMTgwNUNBNkQwMDQ3MkNFNCAvKiBJ
bml0aWFsaXplTExWTS5oICovLAorCQkJCTBGQ0VGQUFGMTgwNUNBNkQwMDQ3MkNFNCAvKiBJbml0
aWFsaXplTExWTU1hYy5tbSAqLywKKwkJCQkwRkNFRkFDNTE4MDVFNzU1MDA0NzJDRTQgLyogSW5p
dGlhbGl6ZUxMVk1QT1NJWC5jcHAgKi8sCisJCQkJMEZDRUZBQzYxODA1RTc1NTAwNDcyQ0U0IC8q
IEluaXRpYWxpemVMTFZNUE9TSVguaCAqLywKKwkJCQkwRkNFRkFDNzE4MDVFNzU1MDA0NzJDRTQg
LyogTExWTUFQSS5jcHAgKi8sCisJCQkJMEZDRUZBQzgxODA1RTc1NTAwNDcyQ0U0IC8qIExMVk1B
UEkuaCAqLywKKwkJCQkwRkNFRkFDOTE4MDVFNzU1MDA0NzJDRTQgLyogTExWTUFQSUZ1bmN0aW9u
cy5oICovLAorCQkJCTBGQ0VGQUQyMTgwNUVEQ0MwMDQ3MkNFNCAvKiBMTFZNSGVhZGVycy5oICov
LAorCQkJKTsKKwkJCW5hbWUgPSBsbHZtOworCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKKwkJ
fTsKKwkJMEZDRUZBQkYxODA1RDk0MTAwNDcyQ0U0IC8qIGxpYnJhcnkgKi8gPSB7CisJCQlpc2Eg
PSBQQlhHcm91cDsKKwkJCWNoaWxkcmVuID0gKAorCQkJCTBGQ0VGQUQ2MTgwNjE3NDYwMDQ3MkNF
NCAvKiBMTFZNQW5jaG9yLmNwcCAqLywKKwkJCQkwRkNFRkFDMjE4MDVFNzQwMDA0NzJDRTQgLyog
TExWTUV4cG9ydHMuY3BwICovLAorCQkJCTBGQ0VGQUMwMTgwNUQ5NDEwMDQ3MkNFNCAvKiBMTFZN
T3ZlcnJpZGVzLmNwcCAqLywKKwkJCSk7CisJCQluYW1lID0gbGlicmFyeTsKKwkJCXBhdGggPSBs
bHZtL2xpYnJhcnk7CisJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOworCQl9OwogCQkwRkVBMDlG
QzE3MDUxMzdGMDBCQjcyMkMgLyogZnRsICovID0gewogCQkJaXNhID0gUEJYR3JvdXA7CiAJCQlj
aGlsZHJlbiA9ICgKQEAgLTI2NTEsNyArMjcyMSw2IEBACiAJCQkJMEZEQjJDQzgxNzNEQTUxRTAw
N0IzQzFCIC8qIEZUTFZhbHVlRnJvbUJsb2NrLmggKi8sCiAJCQkJMEYyMzVCQ0YxNzE3OEUxQzAw
NjkwQzdGIC8qIEZUTFZhbHVlU291cmNlLmNwcCAqLywKIAkJCQkwRjIzNUJEMDE3MTc4RTFDMDA2
OTBDN0YgLyogRlRMVmFsdWVTb3VyY2UuaCAqLywKLQkJCQkwRjZFNUMxODE3MjRBRjNEMDA1QzU3
NEYgLyogV2ViS2l0TExWTUxpYnJhcnlBbmNob3IuY3BwICovLAogCQkJKTsKIAkJCW5hbWUgPSBm
dGw7CiAJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOwpAQCAtMzAwOCw2ICszMDc3LDcgQEAKIAkJ
MUM5MDUxM0UwQkE5RTg4MzAwODFFOUQwIC8qIENvbmZpZ3VyYXRpb25zICovID0gewogCQkJaXNh
ID0gUEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9ICgKKwkJCQkwRkNFRkFCRTE4MDVEODY5MDA0NzJD
RTQgLyogTExWTUZvckpTQy54Y2NvbmZpZyAqLywKIAkJCQkxQzkwNTE0NTBCQTlFOEE3MDA4MUU5
RDAgLyogQmFzZS54Y2NvbmZpZyAqLywKIAkJCQkxQzkwNTE0NDBCQTlFOEE3MDA4MUU5RDAgLyog
RGVidWdSZWxlYXNlLnhjY29uZmlnICovLAogCQkJCTQ0OTA5N0VFMEY4RjgxQjUwMDc2QTMyNyAv
KiBGZWF0dXJlRGVmaW5lcy54Y2NvbmZpZyAqLywKQEAgLTM4ODIsNiArMzk1MiwxNSBAQAogLyog
RW5kIFBCWEdyb3VwIHNlY3Rpb24gKi8KIAogLyogQmVnaW4gUEJYSGVhZGVyc0J1aWxkUGhhc2Ug
c2VjdGlvbiAqLworCQkwRkNFRkFCNDE4MDVENjE2MDA0NzJDRTQgLyogSGVhZGVycyAqLyA9IHsK
KwkJCWlzYSA9IFBCWEhlYWRlcnNCdWlsZFBoYXNlOworCQkJYnVpbGRBY3Rpb25NYXNrID0gMjE0
NzQ4MzY0NzsKKwkJCWZpbGVzID0gKAorCQkJCTBGQ0VGQUQ0MTgwNUVEQ0MwMDQ3MkNFNCAvKiBM
TFZNSGVhZGVycy5oIGluIEhlYWRlcnMgKi8sCisJCQkJMEZDRUZBRDExODA1RTc3OTAwNDcyQ0U0
IC8qIExMVk1BUElGdW5jdGlvbnMuaCBpbiBIZWFkZXJzICovLAorCQkJKTsKKwkJCXJ1bk9ubHlG
b3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOworCQl9OwogCQkxNDQwMDVDNzBBNTMzOEM2
MDAwNUYwNjEgLyogSGVhZGVycyAqLyA9IHsKIAkJCWlzYSA9IFBCWEhlYWRlcnNCdWlsZFBoYXNl
OwogCQkJYnVpbGRBY3Rpb25NYXNrID0gMjE0NzQ4MzY0NzsKQEAgLTM5NDAsNiArNDAxOSw3IEBA
CiAJCQkJMEYwQjgzQjExNEJDRjcxODAwODg1QjRGIC8qIENhbGxMaW5rSW5mby5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJMEY5MzMyOUUxNENBN0RDNTAwODVGM0M2IC8qIENhbGxMaW5rU3RhdHVzLmgg
aW4gSGVhZGVycyAqLywKIAkJCQkwRjBCODNCOTE0QkNGOTVGMDA4ODVCNEYgLyogQ2FsbFJldHVy
bk9mZnNldFRvQnl0ZWNvZGVPZmZzZXQuaCBpbiBIZWFkZXJzICovLAorCQkJCTBGQ0VGQUQzMTgw
NUVEQ0MwMDQ3MkNFNCAvKiBMTFZNSGVhZGVycy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkM2QUFB
RTUwRTFGNDI2NTAwQUQ4N0Q4IC8qIENsYXNzSW5mby5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEY3
M0Q3QUYxNjVBMTQzMDAwQUNBQjcxIC8qIENsb3N1cmVDYWxsU3R1YlJvdXRpbmUuaCBpbiBIZWFk
ZXJzICovLAogCQkJCTk2OUEwNzk3MEVEMUQzQUUwMEYxRjY4MSAvKiBDb2RlQmxvY2suaCBpbiBI
ZWFkZXJzICovLApAQCAtMzk3MCw2ICs0MDUwLDcgQEAKIAkJCQlDMjIzOUQxODE2MjYyQkREMDA1
QUM1RkQgLyogQ29weVZpc2l0b3IuaCBpbiBIZWFkZXJzICovLAogCQkJCUMyMjM5RDE5MTYyNjJC
REQwMDVBQzVGRCAvKiBDb3B5VmlzaXRvcklubGluZXMuaCBpbiBIZWFkZXJzICovLAogCQkJCUMy
MThEMTQwMTY1NUNGRDUwMDYyQkI4MSAvKiBDb3B5V29ya0xpc3QuaCBpbiBIZWFkZXJzICovLAor
CQkJCTBGQ0VGQUNGMTgwNUU3NTUwMDQ3MkNFNCAvKiBMTFZNQVBJRnVuY3Rpb25zLmggaW4gSGVh
ZGVycyAqLywKIAkJCQk1REU2RTVCMzBFMTcyOEVDMDAxODA0MDcgLyogY3JlYXRlX2hhc2hfdGFi
bGUgaW4gSGVhZGVycyAqLywKIAkJCQkwRjQyNkE0QjE0NjBDRDZFMDAxMzFGOEYgLyogRGF0YUZv
cm1hdC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEYyQjY2REYxN0I2QjVBQjAwQTdBRTNGIC8qIERh
dGFWaWV3LmggaW4gSGVhZGVycyAqLywKQEAgLTQwODcsNiArNDE2OCw3IEBACiAJCQkJODZFQzlE
RDMxMzI4REY4MjAwMkIyQUQ3IC8qIERGR1NwZWN1bGF0aXZlSklULmggaW4gSGVhZGVycyAqLywK
IAkJCQlBN0Q4OUQwMDE3QTBCOENDMDA3NzNBRDggLyogREZHU1NBQ29udmVyc2lvblBoYXNlLmgg
aW4gSGVhZGVycyAqLywKIAkJCQkwRjYzOTQ3ODE1RENFMzRCMDA2QTU5N0MgLyogREZHU3RydWN0
dXJlQWJzdHJhY3RWYWx1ZS5oIGluIEhlYWRlcnMgKi8sCisJCQkJMEZDRUZBQ0MxODA1RTc1NTAw
NDcyQ0U0IC8qIEluaXRpYWxpemVMTFZNUE9TSVguaCBpbiBIZWFkZXJzICovLAogCQkJCTBGQzA5
N0EyMTQ2QjI4Q0MwMENGMjQ0MiAvKiBERkdUaHVua3MuaCBpbiBIZWFkZXJzICovLAogCQkJCTBG
NjM5NDNGMTVDNzVGMTkwMDZBNTk3QyAvKiBERkdUeXBlQ2hlY2tIb2lzdGluZ1BoYXNlLmggaW4g
SGVhZGVycyAqLywKIAkJCQkwRkJFMEY3NzE2QzFEQjEyMDA4MkM1RTggLyogREZHVW5pZmljYXRp
b25QaGFzZS5oIGluIEhlYWRlcnMgKi8sCkBAIC00MTkzLDYgKzQyNzUsNyBAQAogCQkJCUE3ODg1
M0ZBMTc5NzI2MjkwMDE0NDBFNCAvKiBJbnRlbmRlZFN0cnVjdHVyZUNoYWluLmggaW4gSGVhZGVy
cyAqLywKIAkJCQlCQzExNjY3QjBFMTk5QzA1MDA4MDY2REQgLyogSW50ZXJuYWxGdW5jdGlvbi5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJMTQyOUQ3N0MwRUQyMEQ3MzAwQjg5NjE5IC8qIEludGVycHJl
dGVyLmggaW4gSGVhZGVycyAqLywKKwkJCQkwRkNFRkFCMDE4MDVDQTZEMDA0NzJDRTQgLyogSW5p
dGlhbGl6ZUxMVk0uaCBpbiBIZWFkZXJzICovLAogCQkJCTg2MEJEODAxMTQ4RUE2RjIwMDExMkIy
RiAvKiBJbnRyaW5zaWMuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDMThDNDEzMEUxNkY1Q0QwMEIz
NDQ2MCAvKiBKYXZhU2NyaXB0LmggaW4gSGVhZGVycyAqLywKIAkJCQlCQzE4QzQxNDBFMTZGNUNE
MDBCMzQ0NjAgLyogSmF2YVNjcmlwdENvcmUuaCBpbiBIZWFkZXJzICovLApAQCAtNDI0Niw2ICs0
MzI5LDcgQEAKIAkJCQlBNzIwMjhCODE3OTc2MDFFMDA5ODAyOEMgLyogSlNDVGVzdFJ1bm5lclV0
aWxzLmggaW4gSGVhZGVycyAqLywKIAkJCQkwRjJCNjZFQzE3QjZCNUFCMDBBN0FFM0YgLyogSlNE
YXRhVmlldy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEYyQjY2RUUxN0I2QjVBQjAwQTdBRTNGIC8q
IEpTRGF0YVZpZXdQcm90b3R5cGUuaCBpbiBIZWFkZXJzICovLAorCQkJCTBGQ0VGQUNFMTgwNUU3
NTUwMDQ3MkNFNCAvKiBMTFZNQVBJLmggaW4gSGVhZGVycyAqLywKIAkJCQk5Nzg4MDE0MTE0NzFB
RDkyMDA0MUIwMTYgLyogSlNEYXRlTWF0aC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQzJBN0Y2ODgx
NjA0MzJENDAwRjc2Qjk4IC8qIEpTRGVzdHJ1Y3RpYmxlT2JqZWN0LmggaW4gSGVhZGVycyAqLywK
IAkJCQk4NkUzQzYxNDE2N0JBQkQ3MDA2RDc2MEEgLyogSlNFeHBvcnQuaCBpbiBIZWFkZXJzICov
LApAQCAtNDU2Myw2ICs0NjQ3LDIzIEBACiAvKiBFbmQgUEJYSGVhZGVyc0J1aWxkUGhhc2Ugc2Vj
dGlvbiAqLwogCiAvKiBCZWdpbiBQQlhOYXRpdmVUYXJnZXQgc2VjdGlvbiAqLworCQkwRkNFRkFC
NTE4MDVENjE2MDA0NzJDRTQgLyogbGx2bUZvckpTQyAqLyA9IHsKKwkJCWlzYSA9IFBCWE5hdGl2
ZVRhcmdldDsKKwkJCWJ1aWxkQ29uZmlndXJhdGlvbkxpc3QgPSAwRkNFRkFCNzE4MDVENjE2MDA0
NzJDRTQgLyogQnVpbGQgY29uZmlndXJhdGlvbiBsaXN0IGZvciBQQlhOYXRpdmVUYXJnZXQgImxs
dm1Gb3JKU0MiICovOworCQkJYnVpbGRQaGFzZXMgPSAoCisJCQkJMEZDRUZBQjIxODA1RDYxNjAw
NDcyQ0U0IC8qIFNvdXJjZXMgKi8sCisJCQkJMEZDRUZBQjMxODA1RDYxNjAwNDcyQ0U0IC8qIEZy
YW1ld29ya3MgKi8sCisJCQkJMEZDRUZBQjQxODA1RDYxNjAwNDcyQ0U0IC8qIEhlYWRlcnMgKi8s
CisJCQkpOworCQkJYnVpbGRSdWxlcyA9ICgKKwkJCSk7CisJCQlkZXBlbmRlbmNpZXMgPSAoCisJ
CQkpOworCQkJbmFtZSA9IGxsdm1Gb3JKU0M7CisJCQlwcm9kdWN0TmFtZSA9IGxsdm1Gb3JKU0M7
CisJCQlwcm9kdWN0UmVmZXJlbmNlID0gMEZDRUZBQjYxODA1RDYxNjAwNDcyQ0U0IC8qIGxpYmxs
dm1Gb3JKU0MuZHlsaWIgKi87CisJCQlwcm9kdWN0VHlwZSA9ICJjb20uYXBwbGUucHJvZHVjdC10
eXBlLmxpYnJhcnkuZHluYW1pYyI7CisJCX07CiAJCTBGRjkyMkMzMTRGNDZCMTMwMDQxQTI0RSAv
KiBKU0NMTEludE9mZnNldHNFeHRyYWN0b3IgKi8gPSB7CiAJCQlpc2EgPSBQQlhOYXRpdmVUYXJn
ZXQ7CiAJCQlidWlsZENvbmZpZ3VyYXRpb25MaXN0ID0gMEZGOTIyQ0ExNEY0NkIxMzAwNDFBMjRF
IC8qIEJ1aWxkIGNvbmZpZ3VyYXRpb24gbGlzdCBmb3IgUEJYTmF0aXZlVGFyZ2V0ICJKU0NMTElu
dE9mZnNldHNFeHRyYWN0b3IiICovOwpAQCAtNDY0Myw2ICs0NzQ0LDcgQEAKIAkJCQkzNzMyODEx
QTE3RkNEMjM1MDA0QUQ1MTkgLyogUG9zdHByb2Nlc3MgSGVhZGVycyAqLywKIAkJCQk5MzJGNUI5
MTA4MjJBMUM3MDA3MzY5NzUgLyogU291cmNlcyAqLywKIAkJCQk5MzJGNUJEMjA4MjJBMUM3MDA3
MzY5NzUgLyogRnJhbWV3b3JrcyAqLywKKwkJCQkwRkNFRkFEOTE4MDYxOTE4MDA0NzJDRTQgLyog
Q29weSBMTFZNIExpYnJhcnkgSW50byBGcmFtZXdvcmsgKi8sCiAJCQkJNUQyOUQ4QkUwRTk4NjBC
NDAwQzNEMkQwIC8qIENoZWNrIEZvciBXZWFrIFZUYWJsZXMgYW5kIEV4dGVybmFscyAqLywKIAkJ
CQkzNzEzRjAxNDE0MjkwNTI0MDAzNjM4N0YgLyogQ2hlY2sgRm9yIEluYXBwcm9wcmlhdGUgT2Jq
ZWN0aXZlLUMgQ2xhc3MgTmFtZXMgKi8sCiAJCQkJQTU1REVBQTQxNjcwM0RGNzAwM0RCODQxIC8q
IENoZWNrIEZvciBJbmFwcHJvcHJpYXRlIE1hY3JvcyBpbiBFeHRlcm5hbCBIZWFkZXJzICovLApA
QCAtNDY1MCw2ICs0NzUyLDcgQEAKIAkJCWJ1aWxkUnVsZXMgPSAoCiAJCQkpOwogCQkJZGVwZW5k
ZW5jaWVzID0gKAorCQkJCTBGQ0VGQUJEMTgwNUQ2NjMwMDQ3MkNFNCAvKiBQQlhUYXJnZXREZXBl
bmRlbmN5ICovLAogCQkJCTY1RkIzRjdFMDlEMTFFRjMwMEY0OURFQiAvKiBQQlhUYXJnZXREZXBl
bmRlbmN5ICovLAogCQkJKTsKIAkJCW5hbWUgPSBKYXZhU2NyaXB0Q29yZTsKQEAgLTQ3MTAsNiAr
NDgxMyw3IEBACiAJCQkJMEY0NjgwQTkxNEJBN0ZEOTAwQkZFMjcyIC8qIExMSW50IE9mZnNldHMg
Ki8sCiAJCQkJMEZGOTIyQzMxNEY0NkIxMzAwNDFBMjRFIC8qIEpTQ0xMSW50T2Zmc2V0c0V4dHJh
Y3RvciAqLywKIAkJCQk1RDZCMkE0NzE1MkI5RTE3MDA1MjMxREUgLyogVGVzdCBUb29scyAqLywK
KwkJCQkwRkNFRkFCNTE4MDVENjE2MDA0NzJDRTQgLyogbGx2bUZvckpTQyAqLywKIAkJCSk7CiAJ
CX07CiAvKiBFbmQgUEJYUHJvamVjdCBzZWN0aW9uICovCkBAIC00NzMxLDYgKzQ4MzUsMjEgQEAK
IAkJCXNoZWxsUGF0aCA9IC9iaW4vc2g7CiAJCQlzaGVsbFNjcmlwdCA9ICJta2RpciAtcCBcIiR7
QlVJTFRfUFJPRFVDVFNfRElSfS9MTEludE9mZnNldHMvXCJcblxuL3Vzci9iaW4vZW52IHJ1Ynkg
XCIke1NSQ1JPT1R9L29mZmxpbmVhc20vZ2VuZXJhdGVfb2Zmc2V0X2V4dHJhY3Rvci5yYlwiIFwi
JHtTUkNST09UfS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbVwiIFwiJHtCVUlMVF9QUk9E
VUNUU19ESVJ9L0xMSW50T2Zmc2V0cy9MTEludERlc2lyZWRPZmZzZXRzLmhcIlxuIjsKIAkJfTsK
KwkJMEZDRUZBRDkxODA2MTkxODAwNDcyQ0U0IC8qIENvcHkgTExWTSBMaWJyYXJ5IEludG8gRnJh
bWV3b3JrICovID0geworCQkJaXNhID0gUEJYU2hlbGxTY3JpcHRCdWlsZFBoYXNlOworCQkJYnVp
bGRBY3Rpb25NYXNrID0gMjE0NzQ4MzY0NzsKKwkJCWZpbGVzID0gKAorCQkJKTsKKwkJCWlucHV0
UGF0aHMgPSAoCisJCQkJIiQoQlVJTFRfUFJPRFVDVFNfRElSKS9saWJsbHZtRm9ySlNDLmR5bGli
IiwKKwkJCSk7CisJCQluYW1lID0gIkNvcHkgTExWTSBMaWJyYXJ5IEludG8gRnJhbWV3b3JrIjsK
KwkJCW91dHB1dFBhdGhzID0gKAorCQkJKTsKKwkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHBy
b2Nlc3NpbmcgPSAwOworCQkJc2hlbGxQYXRoID0gL2Jpbi9zaDsKKwkJCXNoZWxsU2NyaXB0ID0g
IiMgQ29weSB0aGUgbGx2bUZvckpTQyBsaWJyYXJ5IGludG8gdGhlIGZyYW1ld29yay5cbmRpdHRv
IFwiJHtCVUlMVF9QUk9EVUNUU19ESVJ9L2xpYmxsdm1Gb3JKU0MuZHlsaWJcIiBcIiR7QlVJTFRf
UFJPRFVDVFNfRElSfS9KYXZhU2NyaXB0Q29yZS5mcmFtZXdvcmsvVmVyc2lvbnMvQS9MaWJyYXJp
ZXMvbGlibGx2bUZvckpTQy5keWxpYlwiXG5sbiAtZnMgXCIke0JVSUxUX1BST0RVQ1RTX0RJUn0v
SmF2YVNjcmlwdENvcmUuZnJhbWV3b3JrL1ZlcnNpb25zL0EvTGlicmFyaWVzXCIgXCIke0JVSUxU
X1BST0RVQ1RTX0RJUn0vSmF2YVNjcmlwdENvcmUuZnJhbWV3b3JrL0xpYnJhcmllc1wiIjsKKwkJ
fTsKIAkJMzcxM0YwMTQxNDI5MDUyNDAwMzYzODdGIC8qIENoZWNrIEZvciBJbmFwcHJvcHJpYXRl
IE9iamVjdGl2ZS1DIENsYXNzIE5hbWVzICovID0gewogCQkJaXNhID0gUEJYU2hlbGxTY3JpcHRC
dWlsZFBoYXNlOwogCQkJYnVpbGRBY3Rpb25NYXNrID0gMjE0NzQ4MzY0NzsKQEAgLTQ3NzgsNyAr
NDg5Nyw3IEBACiAJCQkpOwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9
IDA7CiAJCQlzaGVsbFBhdGggPSAvYmluL3NoOwotCQkJc2hlbGxTY3JpcHQgPSAiIyBGSVhNRTog
PHJkYXI6Ly9wcm9ibGVtLzEzNTM5ODg4PiBMTFZNIGxpYnJhcmllcyBzaG91bGRuJ3QgaGF2ZSB3
ZWFrIHZ0YWJsZXNcbmV4aXQgMFxuXG5pZiBbIC1mIC4uLy4uL1Rvb2xzL1NjcmlwdHMvY2hlY2st
Zm9yLXdlYWstdnRhYmxlcy1hbmQtZXh0ZXJuYWxzIF07IHRoZW5cbiAgICAuLi8uLi9Ub29scy9T
Y3JpcHRzL2NoZWNrLWZvci13ZWFrLXZ0YWJsZXMtYW5kLWV4dGVybmFscyB8fCBleGl0ICQ/XG5m
aSI7CisJCQlzaGVsbFNjcmlwdCA9ICJpZiBbIC1mIC4uLy4uL1Rvb2xzL1NjcmlwdHMvY2hlY2st
Zm9yLXdlYWstdnRhYmxlcy1hbmQtZXh0ZXJuYWxzIF07IHRoZW5cbiAgICAuLi8uLi9Ub29scy9T
Y3JpcHRzL2NoZWNrLWZvci13ZWFrLXZ0YWJsZXMtYW5kLWV4dGVybmFscyB8fCBleGl0ICQ/XG5m
aSI7CiAJCX07CiAJCTVEMkY3Q0Y5MEM2ODc1QkIwMEI1QjcyQiAvKiBVcGRhdGUgSW5mby5wbGlz
dCB3aXRoIHZlcnNpb24gaW5mb3JtYXRpb24gKi8gPSB7CiAJCQlpc2EgPSBQQlhTaGVsbFNjcmlw
dEJ1aWxkUGhhc2U7CkBAIC00ODc1LDYgKzQ5OTQsMTYgQEAKIC8qIEVuZCBQQlhTaGVsbFNjcmlw
dEJ1aWxkUGhhc2Ugc2VjdGlvbiAqLwogCiAvKiBCZWdpbiBQQlhTb3VyY2VzQnVpbGRQaGFzZSBz
ZWN0aW9uICovCisJCTBGQ0VGQUIyMTgwNUQ2MTYwMDQ3MkNFNCAvKiBTb3VyY2VzICovID0gewor
CQkJaXNhID0gUEJYU291cmNlc0J1aWxkUGhhc2U7CisJCQlidWlsZEFjdGlvbk1hc2sgPSAyMTQ3
NDgzNjQ3OworCQkJZmlsZXMgPSAoCisJCQkJMEZDRUZBQzMxODA1RTc0MDAwNDcyQ0U0IC8qIExM
Vk1FeHBvcnRzLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTBGQ0VGQUQ3MTgwNjE3NDYwMDQ3MkNF
NCAvKiBMTFZNQW5jaG9yLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTBGQ0VGQUMxMTgwNUQ5NEUw
MDQ3MkNFNCAvKiBMTFZNT3ZlcnJpZGVzLmNwcCBpbiBTb3VyY2VzICovLAorCQkJKTsKKwkJCXJ1
bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOworCQl9OwogCQkwRkY5MjJDNDE0
RjQ2QjEzMDA0MUEyNEUgLyogU291cmNlcyAqLyA9IHsKIAkJCWlzYSA9IFBCWFNvdXJjZXNCdWls
ZFBoYXNlOwogCQkJYnVpbGRBY3Rpb25NYXNrID0gMjE0NzQ4MzY0NzsKQEAgLTQ5MzUsNiArNTA2
NCw3IEBACiAJCQkJMTQyODA4NjUxMDdFQzExQTAwMTNFN0IyIC8qIEJvb2xlYW5Qcm90b3R5cGUu
Y3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMTQ4RjIxQUExMDdFQzUzQTAwNDJFQzJDIC8qIEJ5dGVj
b2RlR2VuZXJhdG9yLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTE0MjgwODJEMTA3RUMwNTcwMDEz
RTdCMiAvKiBDYWxsRGF0YS5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkwRkNFRkFCMTE4MDVDQTZE
MDA0NzJDRTQgLyogSW5pdGlhbGl6ZUxMVk1NYWMubW0gaW4gU291cmNlcyAqLywKIAkJCQkxNDI5
RDhERDBFRDIyMDVCMDBCODk2MTkgLyogQ2FsbEZyYW1lLmNwcCBpbiBTb3VyY2VzICovLAogCQkJ
CTBGMEI4M0IwMTRCQ0Y3MTYwMDg4NUI0RiAvKiBDYWxsTGlua0luZm8uY3BwIGluIFNvdXJjZXMg
Ki8sCiAJCQkJMEY5MzMyOUQxNENBN0RDMzAwODVGM0M2IC8qIENhbGxMaW5rU3RhdHVzLmNwcCBp
biBTb3VyY2VzICovLApAQCAtNTA3NCw2ICs1MjA0LDcgQEAKIAkJCQkwRjIzNUJEMTE3MTc4RTFD
MDA2OTBDN0YgLyogRlRMQ0FyZ3VtZW50R2V0dGVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTBG
RUEwQTI3MTcwOTYyM0IwMEJCNzIyQyAvKiBGVExDb21tb25WYWx1ZXMuY3BwIGluIFNvdXJjZXMg
Ki8sCiAJCQkJMEZFQTBBMEIxNzA1MTNEQjAwQkI3MjJDIC8qIEZUTENvbXBpbGUuY3BwIGluIFNv
dXJjZXMgKi8sCisJCQkJMEZDRUZBQ0QxODA1RTc1NTAwNDcyQ0U0IC8qIExMVk1BUEkuY3BwIGlu
IFNvdXJjZXMgKi8sCiAJCQkJMEYyMzVCRDMxNzE3OEUxQzAwNjkwQzdGIC8qIEZUTEV4aXRBcmd1
bWVudC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkwRjIzNUJENTE3MTc4RTFDMDA2OTBDN0YgLyog
RlRMRXhpdEFyZ3VtZW50Rm9yT3BlcmFuZC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkwRjIzNUJE
ODE3MTc4RTFDMDA2OTBDN0YgLyogRlRMRXhpdFRodW5rR2VuZXJhdG9yLmNwcCBpbiBTb3VyY2Vz
ICovLApAQCAtNTA5MSw2ICs1MjIyLDcgQEAKIAkJCQkwRjIzNUJFMTE3MTc4RTFDMDA2OTBDN0Yg
LyogRlRMVGh1bmtzLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTBGMjM1QkUzMTcxNzhFMUMwMDY5
MEM3RiAvKiBGVExWYWx1ZUZvcm1hdC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkwRjIzNUJFNTE3
MTc4RTFDMDA2OTBDN0YgLyogRlRMVmFsdWVTb3VyY2UuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJ
MEZDRUZBQ0ExODA1RTc1NTAwNDcyQ0U0IC8qIEluaXRpYWxpemVMTFZNLmNwcCBpbiBTb3VyY2Vz
ICovLAogCQkJCTE0N0YzOUNCMTA3RUMzNzYwMDQyN0E0OCAvKiBGdW5jdGlvbkNvbnN0cnVjdG9y
LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTBGRjBGMTlGMTZCNzJBMTcwMDVERjk1QiAvKiBGdW5j
dGlvbkV4ZWN1dGFibGVEdW1wLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTE0N0YzOUNDMTA3RUMz
NzYwMDQyN0E0OCAvKiBGdW5jdGlvblByb3RvdHlwZS5jcHAgaW4gU291cmNlcyAqLywKQEAgLTUy
NTgsNiArNTM5MCw3IEBACiAJCQkJOTVBQjgzNTYwREE0M0MzMDAwQkM4M0YzIC8qIFByb2ZpbGVO
b2RlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTBGRjcyOUFEMTY2QUQzNUMwMDBGNUJBMyAvKiBQ
cm9maWxlckJ5dGVjb2RlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTBGRjcyOUFFMTY2QUQzNUMw
MDBGNUJBMyAvKiBQcm9maWxlckJ5dGVjb2Rlcy5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkwRkNF
RkFDQjE4MDVFNzU1MDA0NzJDRTQgLyogSW5pdGlhbGl6ZUxMVk1QT1NJWC5jcHAgaW4gU291cmNl
cyAqLywKIAkJCQkwRjEzOTEyOTE2NzcxQzMzMDA5Q0NCMDcgLyogUHJvZmlsZXJCeXRlY29kZVNl
cXVlbmNlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTBGRjcyOUFGMTY2QUQzNUMwMDBGNUJBMyAv
KiBQcm9maWxlckNvbXBpbGF0aW9uLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTBGRjcyOUIwMTY2
QUQzNUMwMDBGNUJBMyAvKiBQcm9maWxlckNvbXBpbGF0aW9uS2luZC5jcHAgaW4gU291cmNlcyAq
LywKQEAgLTUzMzcsNyArNTQ3MCw2IEBACiAJCQkJMTRFODRGOUUxNEVFMUFDQzAwRDZENUQ0IC8q
IFdlYWtCbG9jay5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkxNEY3MjU2NTE0RUUyNjVFMDBCMTY1
MkIgLyogV2Vha0hhbmRsZU93bmVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTE0RTg0RkEwMTRF
RTFBQ0MwMEQ2RDVENCAvKiBXZWFrU2V0LmNwcCBpbiBTb3VyY2VzICovLAotCQkJCTBGNkU1QzE5
MTcyNEFGM0QwMDVDNTc0RiAvKiBXZWJLaXRMTFZNTGlicmFyeUFuY2hvci5jcHAgaW4gU291cmNl
cyAqLywKIAkJCQkwRkM4MTUwQjE0MDQzQzBFMDBDRkE2MDMgLyogV3JpdGVCYXJyaWVyU3VwcG9y
dC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkwRjI0RTU1ODE3Rjc0RURCMDBBQkIyMTcgLyogVmFs
dWVSZWNvdmVyeS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlBN0U1QUIzQTE3OTlFNEIyMDBEMjgz
M0QgLyogWDg2RGlzYXNzZW1ibGVyLmNwcCBpbiBTb3VyY2VzICovLApAQCAtNTM2MCw2ICs1NDky
LDExIEBACiAvKiBFbmQgUEJYU291cmNlc0J1aWxkUGhhc2Ugc2VjdGlvbiAqLwogCiAvKiBCZWdp
biBQQlhUYXJnZXREZXBlbmRlbmN5IHNlY3Rpb24gKi8KKwkJMEZDRUZBQkQxODA1RDY2MzAwNDcy
Q0U0IC8qIFBCWFRhcmdldERlcGVuZGVuY3kgKi8gPSB7CisJCQlpc2EgPSBQQlhUYXJnZXREZXBl
bmRlbmN5OworCQkJdGFyZ2V0ID0gMEZDRUZBQjUxODA1RDYxNjAwNDcyQ0U0IC8qIGxsdm1Gb3JK
U0MgKi87CisJCQl0YXJnZXRQcm94eSA9IDBGQ0VGQUJDMTgwNUQ2NjMwMDQ3MkNFNCAvKiBQQlhD
b250YWluZXJJdGVtUHJveHkgKi87CisJCX07CiAJCTBGRjkyMkQzMTRGNDZCMkYwMDQxQTI0RSAv
KiBQQlhUYXJnZXREZXBlbmRlbmN5ICovID0gewogCQkJaXNhID0gUEJYVGFyZ2V0RGVwZW5kZW5j
eTsKIAkJCXRhcmdldCA9IDBGNDY4MEE5MTRCQTdGRDkwMEJGRTI3MiAvKiBMTEludCBPZmZzZXRz
ICovOwpAQCAtNTQzNiw2ICs1NTczLDE1MiBAQAogCQkJfTsKIAkJCW5hbWUgPSBQcm9kdWN0aW9u
OwogCQl9OworCQkwRkNFRkFCODE4MDVENjE2MDA0NzJDRTQgLyogRGVidWcgKi8gPSB7CisJCQlp
c2EgPSBYQ0J1aWxkQ29uZmlndXJhdGlvbjsKKwkJCWJhc2VDb25maWd1cmF0aW9uUmVmZXJlbmNl
ID0gMEZDRUZBQkUxODA1RDg2OTAwNDcyQ0U0IC8qIExMVk1Gb3JKU0MueGNjb25maWcgKi87CisJ
CQlidWlsZFNldHRpbmdzID0geworCQkJCUFMV0FZU19TRUFSQ0hfVVNFUl9QQVRIUyA9IE5POwor
CQkJCUNMQU5HX0NYWF9MQU5HVUFHRV9TVEFOREFSRCA9ICJnbnUrKzB4IjsKKwkJCQlDTEFOR19D
WFhfTElCUkFSWSA9ICJsaWJjKysiOworCQkJCUNMQU5HX0VOQUJMRV9NT0RVTEVTID0gWUVTOwor
CQkJCUNMQU5HX0VOQUJMRV9PQkpDX0FSQyA9IFlFUzsKKwkJCQlDTEFOR19XQVJOX0JPT0xfQ09O
VkVSU0lPTiA9IFlFUzsKKwkJCQlDTEFOR19XQVJOX0NPTlNUQU5UX0NPTlZFUlNJT04gPSBZRVM7
CisJCQkJQ0xBTkdfV0FSTl9ESVJFQ1RfT0JKQ19JU0FfVVNBR0UgPSBZRVNfRVJST1I7CisJCQkJ
Q0xBTkdfV0FSTl9FTVBUWV9CT0RZID0gWUVTOworCQkJCUNMQU5HX1dBUk5fRU5VTV9DT05WRVJT
SU9OID0gWUVTOworCQkJCUNMQU5HX1dBUk5fSU5UX0NPTlZFUlNJT04gPSBZRVM7CisJCQkJQ0xB
TkdfV0FSTl9PQkpDX1JPT1RfQ0xBU1MgPSBZRVNfRVJST1I7CisJCQkJQ0xBTkdfV0FSTl9fRFVQ
TElDQVRFX01FVEhPRF9NQVRDSCA9IFlFUzsKKwkJCQlDT1BZX1BIQVNFX1NUUklQID0gTk87CisJ
CQkJRVhFQ1VUQUJMRV9QUkVGSVggPSBsaWI7CisJCQkJR0NDX0NfTEFOR1VBR0VfU1RBTkRBUkQg
PSBnbnU5OTsKKwkJCQlHQ0NfRFlOQU1JQ19OT19QSUMgPSBOTzsKKwkJCQlHQ0NfRU5BQkxFX09C
SkNfRVhDRVBUSU9OUyA9IFlFUzsKKwkJCQlHQ0NfT1BUSU1JWkFUSU9OX0xFVkVMID0gMDsKKwkJ
CQlHQ0NfUFJFUFJPQ0VTU09SX0RFRklOSVRJT05TID0gKAorCQkJCQkiREVCVUc9MSIsCisJCQkJ
CSIkKGluaGVyaXRlZCkiLAorCQkJCSk7CisJCQkJR0NDX1NZTUJPTFNfUFJJVkFURV9FWFRFUk4g
PSBOTzsKKwkJCQlHQ0NfV0FSTl82NF9UT18zMl9CSVRfQ09OVkVSU0lPTiA9IFlFUzsKKwkJCQlH
Q0NfV0FSTl9BQk9VVF9SRVRVUk5fVFlQRSA9IFlFU19FUlJPUjsKKwkJCQlHQ0NfV0FSTl9VTkRF
Q0xBUkVEX1NFTEVDVE9SID0gWUVTOworCQkJCUdDQ19XQVJOX1VOSU5JVElBTElaRURfQVVUT1Mg
PSBZRVM7CisJCQkJR0NDX1dBUk5fVU5VU0VEX0ZVTkNUSU9OID0gWUVTOworCQkJCUdDQ19XQVJO
X1VOVVNFRF9WQVJJQUJMRSA9IFlFUzsKKwkJCQlNQUNPU1hfREVQTE9ZTUVOVF9UQVJHRVQgPSAx
MC45OworCQkJCU9OTFlfQUNUSVZFX0FSQ0ggPSBZRVM7CisJCQkJUFJPRFVDVF9OQU1FID0gIiQo
VEFSR0VUX05BTUUpIjsKKwkJCQlTREtST09UID0gbWFjb3N4OworCQkJfTsKKwkJCW5hbWUgPSBE
ZWJ1ZzsKKwkJfTsKKwkJMEZDRUZBQjkxODA1RDYxNjAwNDcyQ0U0IC8qIFJlbGVhc2UgKi8gPSB7
CisJCQlpc2EgPSBYQ0J1aWxkQ29uZmlndXJhdGlvbjsKKwkJCWJhc2VDb25maWd1cmF0aW9uUmVm
ZXJlbmNlID0gMEZDRUZBQkUxODA1RDg2OTAwNDcyQ0U0IC8qIExMVk1Gb3JKU0MueGNjb25maWcg
Ki87CisJCQlidWlsZFNldHRpbmdzID0geworCQkJCUFMV0FZU19TRUFSQ0hfVVNFUl9QQVRIUyA9
IE5POworCQkJCUNMQU5HX0NYWF9MQU5HVUFHRV9TVEFOREFSRCA9ICJnbnUrKzB4IjsKKwkJCQlD
TEFOR19DWFhfTElCUkFSWSA9ICJsaWJjKysiOworCQkJCUNMQU5HX0VOQUJMRV9NT0RVTEVTID0g
WUVTOworCQkJCUNMQU5HX0VOQUJMRV9PQkpDX0FSQyA9IFlFUzsKKwkJCQlDTEFOR19XQVJOX0JP
T0xfQ09OVkVSU0lPTiA9IFlFUzsKKwkJCQlDTEFOR19XQVJOX0NPTlNUQU5UX0NPTlZFUlNJT04g
PSBZRVM7CisJCQkJQ0xBTkdfV0FSTl9ESVJFQ1RfT0JKQ19JU0FfVVNBR0UgPSBZRVNfRVJST1I7
CisJCQkJQ0xBTkdfV0FSTl9FTVBUWV9CT0RZID0gWUVTOworCQkJCUNMQU5HX1dBUk5fRU5VTV9D
T05WRVJTSU9OID0gWUVTOworCQkJCUNMQU5HX1dBUk5fSU5UX0NPTlZFUlNJT04gPSBZRVM7CisJ
CQkJQ0xBTkdfV0FSTl9PQkpDX1JPT1RfQ0xBU1MgPSBZRVNfRVJST1I7CisJCQkJQ0xBTkdfV0FS
Tl9fRFVQTElDQVRFX01FVEhPRF9NQVRDSCA9IFlFUzsKKwkJCQlDT1BZX1BIQVNFX1NUUklQID0g
WUVTOworCQkJCURFQlVHX0lORk9STUFUSU9OX0ZPUk1BVCA9ICJkd2FyZi13aXRoLWRzeW0iOwor
CQkJCUVOQUJMRV9OU19BU1NFUlRJT05TID0gTk87CisJCQkJRVhFQ1VUQUJMRV9QUkVGSVggPSBs
aWI7CisJCQkJR0NDX0NfTEFOR1VBR0VfU1RBTkRBUkQgPSBnbnU5OTsKKwkJCQlHQ0NfRU5BQkxF
X09CSkNfRVhDRVBUSU9OUyA9IFlFUzsKKwkJCQlHQ0NfV0FSTl82NF9UT18zMl9CSVRfQ09OVkVS
U0lPTiA9IFlFUzsKKwkJCQlHQ0NfV0FSTl9BQk9VVF9SRVRVUk5fVFlQRSA9IFlFU19FUlJPUjsK
KwkJCQlHQ0NfV0FSTl9VTkRFQ0xBUkVEX1NFTEVDVE9SID0gWUVTOworCQkJCUdDQ19XQVJOX1VO
SU5JVElBTElaRURfQVVUT1MgPSBZRVM7CisJCQkJR0NDX1dBUk5fVU5VU0VEX0ZVTkNUSU9OID0g
WUVTOworCQkJCUdDQ19XQVJOX1VOVVNFRF9WQVJJQUJMRSA9IFlFUzsKKwkJCQlNQUNPU1hfREVQ
TE9ZTUVOVF9UQVJHRVQgPSAxMC45OworCQkJCVBST0RVQ1RfTkFNRSA9ICIkKFRBUkdFVF9OQU1F
KSI7CisJCQkJU0RLUk9PVCA9IG1hY29zeDsKKwkJCX07CisJCQluYW1lID0gUmVsZWFzZTsKKwkJ
fTsKKwkJMEZDRUZBQkExODA1RDYxNjAwNDcyQ0U0IC8qIFByb2ZpbGluZyAqLyA9IHsKKwkJCWlz
YSA9IFhDQnVpbGRDb25maWd1cmF0aW9uOworCQkJYmFzZUNvbmZpZ3VyYXRpb25SZWZlcmVuY2Ug
PSAwRkNFRkFCRTE4MDVEODY5MDA0NzJDRTQgLyogTExWTUZvckpTQy54Y2NvbmZpZyAqLzsKKwkJ
CWJ1aWxkU2V0dGluZ3MgPSB7CisJCQkJQUxXQVlTX1NFQVJDSF9VU0VSX1BBVEhTID0gTk87CisJ
CQkJQ0xBTkdfQ1hYX0xBTkdVQUdFX1NUQU5EQVJEID0gImdudSsrMHgiOworCQkJCUNMQU5HX0NY
WF9MSUJSQVJZID0gImxpYmMrKyI7CisJCQkJQ0xBTkdfRU5BQkxFX01PRFVMRVMgPSBZRVM7CisJ
CQkJQ0xBTkdfRU5BQkxFX09CSkNfQVJDID0gWUVTOworCQkJCUNMQU5HX1dBUk5fQk9PTF9DT05W
RVJTSU9OID0gWUVTOworCQkJCUNMQU5HX1dBUk5fQ09OU1RBTlRfQ09OVkVSU0lPTiA9IFlFUzsK
KwkJCQlDTEFOR19XQVJOX0RJUkVDVF9PQkpDX0lTQV9VU0FHRSA9IFlFU19FUlJPUjsKKwkJCQlD
TEFOR19XQVJOX0VNUFRZX0JPRFkgPSBZRVM7CisJCQkJQ0xBTkdfV0FSTl9FTlVNX0NPTlZFUlNJ
T04gPSBZRVM7CisJCQkJQ0xBTkdfV0FSTl9JTlRfQ09OVkVSU0lPTiA9IFlFUzsKKwkJCQlDTEFO
R19XQVJOX09CSkNfUk9PVF9DTEFTUyA9IFlFU19FUlJPUjsKKwkJCQlDTEFOR19XQVJOX19EVVBM
SUNBVEVfTUVUSE9EX01BVENIID0gWUVTOworCQkJCUNPUFlfUEhBU0VfU1RSSVAgPSBZRVM7CisJ
CQkJREVCVUdfSU5GT1JNQVRJT05fRk9STUFUID0gImR3YXJmLXdpdGgtZHN5bSI7CisJCQkJRU5B
QkxFX05TX0FTU0VSVElPTlMgPSBOTzsKKwkJCQlFWEVDVVRBQkxFX1BSRUZJWCA9IGxpYjsKKwkJ
CQlHQ0NfQ19MQU5HVUFHRV9TVEFOREFSRCA9IGdudTk5OworCQkJCUdDQ19FTkFCTEVfT0JKQ19F
WENFUFRJT05TID0gWUVTOworCQkJCUdDQ19XQVJOXzY0X1RPXzMyX0JJVF9DT05WRVJTSU9OID0g
WUVTOworCQkJCUdDQ19XQVJOX0FCT1VUX1JFVFVSTl9UWVBFID0gWUVTX0VSUk9SOworCQkJCUdD
Q19XQVJOX1VOREVDTEFSRURfU0VMRUNUT1IgPSBZRVM7CisJCQkJR0NDX1dBUk5fVU5JTklUSUFM
SVpFRF9BVVRPUyA9IFlFUzsKKwkJCQlHQ0NfV0FSTl9VTlVTRURfRlVOQ1RJT04gPSBZRVM7CisJ
CQkJR0NDX1dBUk5fVU5VU0VEX1ZBUklBQkxFID0gWUVTOworCQkJCU1BQ09TWF9ERVBMT1lNRU5U
X1RBUkdFVCA9IDEwLjk7CisJCQkJUFJPRFVDVF9OQU1FID0gIiQoVEFSR0VUX05BTUUpIjsKKwkJ
CQlTREtST09UID0gbWFjb3N4OworCQkJfTsKKwkJCW5hbWUgPSBQcm9maWxpbmc7CisJCX07CisJ
CTBGQ0VGQUJCMTgwNUQ2MTYwMDQ3MkNFNCAvKiBQcm9kdWN0aW9uICovID0geworCQkJaXNhID0g
WENCdWlsZENvbmZpZ3VyYXRpb247CisJCQliYXNlQ29uZmlndXJhdGlvblJlZmVyZW5jZSA9IDBG
Q0VGQUJFMTgwNUQ4NjkwMDQ3MkNFNCAvKiBMTFZNRm9ySlNDLnhjY29uZmlnICovOworCQkJYnVp
bGRTZXR0aW5ncyA9IHsKKwkJCQlBTFdBWVNfU0VBUkNIX1VTRVJfUEFUSFMgPSBOTzsKKwkJCQlD
TEFOR19DWFhfTEFOR1VBR0VfU1RBTkRBUkQgPSAiZ251KysweCI7CisJCQkJQ0xBTkdfQ1hYX0xJ
QlJBUlkgPSAibGliYysrIjsKKwkJCQlDTEFOR19FTkFCTEVfTU9EVUxFUyA9IFlFUzsKKwkJCQlD
TEFOR19FTkFCTEVfT0JKQ19BUkMgPSBZRVM7CisJCQkJQ0xBTkdfV0FSTl9CT09MX0NPTlZFUlNJ
T04gPSBZRVM7CisJCQkJQ0xBTkdfV0FSTl9DT05TVEFOVF9DT05WRVJTSU9OID0gWUVTOworCQkJ
CUNMQU5HX1dBUk5fRElSRUNUX09CSkNfSVNBX1VTQUdFID0gWUVTX0VSUk9SOworCQkJCUNMQU5H
X1dBUk5fRU1QVFlfQk9EWSA9IFlFUzsKKwkJCQlDTEFOR19XQVJOX0VOVU1fQ09OVkVSU0lPTiA9
IFlFUzsKKwkJCQlDTEFOR19XQVJOX0lOVF9DT05WRVJTSU9OID0gWUVTOworCQkJCUNMQU5HX1dB
Uk5fT0JKQ19ST09UX0NMQVNTID0gWUVTX0VSUk9SOworCQkJCUNMQU5HX1dBUk5fX0RVUExJQ0FU
RV9NRVRIT0RfTUFUQ0ggPSBZRVM7CisJCQkJQ09QWV9QSEFTRV9TVFJJUCA9IFlFUzsKKwkJCQlE
RUJVR19JTkZPUk1BVElPTl9GT1JNQVQgPSAiZHdhcmYtd2l0aC1kc3ltIjsKKwkJCQlFTkFCTEVf
TlNfQVNTRVJUSU9OUyA9IE5POworCQkJCUVYRUNVVEFCTEVfUFJFRklYID0gbGliOworCQkJCUdD
Q19DX0xBTkdVQUdFX1NUQU5EQVJEID0gZ251OTk7CisJCQkJR0NDX0VOQUJMRV9PQkpDX0VYQ0VQ
VElPTlMgPSBZRVM7CisJCQkJR0NDX1dBUk5fNjRfVE9fMzJfQklUX0NPTlZFUlNJT04gPSBZRVM7
CisJCQkJR0NDX1dBUk5fQUJPVVRfUkVUVVJOX1RZUEUgPSBZRVNfRVJST1I7CisJCQkJR0NDX1dB
Uk5fVU5ERUNMQVJFRF9TRUxFQ1RPUiA9IFlFUzsKKwkJCQlHQ0NfV0FSTl9VTklOSVRJQUxJWkVE
X0FVVE9TID0gWUVTOworCQkJCUdDQ19XQVJOX1VOVVNFRF9GVU5DVElPTiA9IFlFUzsKKwkJCQlH
Q0NfV0FSTl9VTlVTRURfVkFSSUFCTEUgPSBZRVM7CisJCQkJTUFDT1NYX0RFUExPWU1FTlRfVEFS
R0VUID0gMTAuOTsKKwkJCQlQUk9EVUNUX05BTUUgPSAiJChUQVJHRVRfTkFNRSkiOworCQkJCVNE
S1JPT1QgPSBtYWNvc3g7CisJCQl9OworCQkJbmFtZSA9IFByb2R1Y3Rpb247CisJCX07CiAJCTBG
RjkyMkNCMTRGNDZCMTMwMDQxQTI0RSAvKiBEZWJ1ZyAqLyA9IHsKIAkJCWlzYSA9IFhDQnVpbGRD
b25maWd1cmF0aW9uOwogCQkJYmFzZUNvbmZpZ3VyYXRpb25SZWZlcmVuY2UgPSBCQzAyMUJGMjEz
NjkwMEMzMDBGQzU0NjcgLyogVG9vbEV4ZWN1dGFibGUueGNjb25maWcgKi87CkBAIC01NzQwLDYg
KzYwMjMsMTYgQEAKIAkJCWRlZmF1bHRDb25maWd1cmF0aW9uSXNWaXNpYmxlID0gMDsKIAkJCWRl
ZmF1bHRDb25maWd1cmF0aW9uTmFtZSA9IFByb2R1Y3Rpb247CiAJCX07CisJCTBGQ0VGQUI3MTgw
NUQ2MTYwMDQ3MkNFNCAvKiBCdWlsZCBjb25maWd1cmF0aW9uIGxpc3QgZm9yIFBCWE5hdGl2ZVRh
cmdldCAibGx2bUZvckpTQyIgKi8gPSB7CisJCQlpc2EgPSBYQ0NvbmZpZ3VyYXRpb25MaXN0Owor
CQkJYnVpbGRDb25maWd1cmF0aW9ucyA9ICgKKwkJCQkwRkNFRkFCODE4MDVENjE2MDA0NzJDRTQg
LyogRGVidWcgKi8sCisJCQkJMEZDRUZBQjkxODA1RDYxNjAwNDcyQ0U0IC8qIFJlbGVhc2UgKi8s
CisJCQkJMEZDRUZBQkExODA1RDYxNjAwNDcyQ0U0IC8qIFByb2ZpbGluZyAqLywKKwkJCQkwRkNF
RkFCQjE4MDVENjE2MDA0NzJDRTQgLyogUHJvZHVjdGlvbiAqLywKKwkJCSk7CisJCQlkZWZhdWx0
Q29uZmlndXJhdGlvbklzVmlzaWJsZSA9IDA7CisJCX07CiAJCTBGRjkyMkNBMTRGNDZCMTMwMDQx
QTI0RSAvKiBCdWlsZCBjb25maWd1cmF0aW9uIGxpc3QgZm9yIFBCWE5hdGl2ZVRhcmdldCAiSlND
TExJbnRPZmZzZXRzRXh0cmFjdG9yIiAqLyA9IHsKIAkJCWlzYSA9IFhDQ29uZmlndXJhdGlvbkxp
c3Q7CiAJCQlidWlsZENvbmZpZ3VyYXRpb25zID0gKApJbmRleDogU291cmNlL0phdmFTY3JpcHRD
b3JlL2RmZy9ERkdQbGFuLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
ZGZnL0RGR1BsYW4uY3BwCShyZXZpc2lvbiAxNTcxNzIpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvZGZnL0RGR1BsYW4uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC02Nyw2ICs2Nyw3IEBACiAjaW5j
bHVkZSAiRlRMTGluay5oIgogI2luY2x1ZGUgIkZUTExvd2VyREZHVG9MTFZNLmgiCiAjaW5jbHVk
ZSAiRlRMU3RhdGUuaCIKKyNpbmNsdWRlICJJbml0aWFsaXplTExWTS5oIgogI2VuZGlmCiAKIG5h
bWVzcGFjZSBKU0MgeyBuYW1lc3BhY2UgREZHIHsKQEAgLTI1NSw4ICsyNTYsNyBAQCBQbGFuOjpD
b21waWxhdGlvblBhdGggUGxhbjo6Y29tcGlsZUluVGhyCiAgICAgICAgIAogICAgICAgICBkdW1w
QW5kVmVyaWZ5R3JhcGgoZGZnLCAiR3JhcGgganVzdCBiZWZvcmUgRlRMIGxvd2VyaW5nOiIpOwog
ICAgICAgICAKLSAgICAgICAgLy8gRklYTUU6IFN1cHBvcnQgT1NSIGVudHJ5LgotICAgICAgICAv
LyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTEzNjI1CisgICAgICAg
IGluaXRpYWxpemVMTFZNKCk7CiAgICAgICAgIAogICAgICAgICBGVEw6OlN0YXRlIHN0YXRlKGRm
Zyk7CiAgICAgICAgIEZUTDo6bG93ZXJERkdUb0xMVk0oc3RhdGUpOwpJbmRleDogU291cmNlL0ph
dmFTY3JpcHRDb3JlL2Rpc2Fzc2VtYmxlci9MTFZNRGlzYXNzZW1ibGVyLmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGlzYXNzZW1ibGVyL0xMVk1EaXNhc3NlbWJsZXIu
Y3BwCShyZXZpc2lvbiAxNTcxNzIpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGlzYXNzZW1i
bGVyL0xMVk1EaXNhc3NlbWJsZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yOCw4ICsyOCw5IEBA
CiAKICNpZiBVU0UoTExWTV9ESVNBU1NFTUJMRVIpCiAKKyNpbmNsdWRlICJJbml0aWFsaXplTExW
TS5oIgogI2luY2x1ZGUgIk1hY3JvQXNzZW1ibGVyQ29kZVJlZi5oIgotI2luY2x1ZGUgPHd0Zi9M
TFZNSGVhZGVycy5oPgorI2luY2x1ZGUgIkxMVk1BUEkuaCIKIAogbmFtZXNwYWNlIEpTQyB7CiAK
QEAgLTc5LDYgKzgwLDggQEAgYm9vbCB0cnlUb0Rpc2Fzc2VtYmxlV2l0aExMVk0oCiAgICAgY29u
c3QgTWFjcm9Bc3NlbWJsZXJDb2RlUHRyJiBjb2RlUHRyLCBzaXplX3Qgc2l6ZSwgY29uc3QgY2hh
ciogcHJlZml4LCBQcmludFN0cmVhbSYgb3V0LAogICAgIEluc3RydWN0aW9uU3Vic2V0SGludCkK
IHsKKyAgICBpbml0aWFsaXplTExWTSgpOworICAgIAogICAgIGNvbnN0IGNoYXIqIHRyaXBsZTsK
ICNpZiBDUFUoWDg2XzY0KQogICAgIHRyaXBsZSA9ICJ4ODZfNjQtYXBwbGUtZGFyd2luIjsKQEAg
LTkxLDcgKzk0LDcgQEAgYm9vbCB0cnlUb0Rpc2Fzc2VtYmxlV2l0aExMVk0oCiAgICAgY2hhciBz
eW1ib2xTdHJpbmdbc3ltYm9sU3RyaW5nU2l6ZV07CiAgICAgCiAgICAgTExWTURpc2FzbUNvbnRl
eHRSZWYgZGlzYXNzZW1ibHlDb250ZXh0ID0KLSAgICAgICAgTExWTUNyZWF0ZURpc2FzbSh0cmlw
bGUsIHN5bWJvbFN0cmluZywgMCwgMCwgc3ltYm9sTG9va3VwQ2FsbGJhY2spOworICAgICAgICBs
bHZtLT5DcmVhdGVEaXNhc20odHJpcGxlLCBzeW1ib2xTdHJpbmcsIDAsIDAsIHN5bWJvbExvb2t1
cENhbGxiYWNrKTsKICAgICBSRUxFQVNFX0FTU0VSVChkaXNhc3NlbWJseUNvbnRleHQpOwogICAg
IAogICAgIGNoYXIgcGNTdHJpbmdbMjBdOwpAQCAtMTA1LDcgKzEwOCw3IEBAIGJvb2wgdHJ5VG9E
aXNhc3NlbWJsZVdpdGhMTFZNKAogICAgICAgICAgICAgcGNTdHJpbmcsIHNpemVvZihwY1N0cmlu
ZyksICIweCVseCIsCiAgICAgICAgICAgICBzdGF0aWNfY2FzdDx1bnNpZ25lZCBsb25nPihiaXR3
aXNlX2Nhc3Q8dWludHB0cl90PihwYykpKTsKIAotICAgICAgICBzaXplX3QgaW5zdHJ1Y3Rpb25T
aXplID0gTExWTURpc2FzbUluc3RydWN0aW9uKAorICAgICAgICBzaXplX3QgaW5zdHJ1Y3Rpb25T
aXplID0gbGx2bS0+RGlzYXNtSW5zdHJ1Y3Rpb24oCiAgICAgICAgICAgICBkaXNhc3NlbWJseUNv
bnRleHQsIHBjLCBlbmQgLSBwYywgYml0d2lzZV9jYXN0PHVpbnRwdHJfdD4ocGMpLAogICAgICAg
ICAgICAgaW5zdHJ1Y3Rpb25TdHJpbmcsIHNpemVvZihpbnN0cnVjdGlvblN0cmluZykpOwogICAg
ICAgICAKQEAgLTExNyw3ICsxMjAsNyBAQCBib29sIHRyeVRvRGlzYXNzZW1ibGVXaXRoTExWTSgK
ICAgICAgICAgb3V0LnByaW50ZigiJXMlMTZzOiAlc1xuIiwgcHJlZml4LCBwY1N0cmluZywgaW5z
dHJ1Y3Rpb25TdHJpbmcpOwogICAgIH0KICAgICAKLSAgICBMTFZNRGlzYXNtRGlzcG9zZShkaXNh
c3NlbWJseUNvbnRleHQpOworICAgIGxsdm0tPkRpc2FzbURpc3Bvc2UoZGlzYXNzZW1ibHlDb250
ZXh0KTsKICAgICAKICAgICByZXR1cm4gdHJ1ZTsKIH0KSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9mdGwvRlRMQWJicmV2aWF0ZWRUeXBlcy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9mdGwvRlRMQWJicmV2aWF0ZWRUeXBlcy5oCShyZXZpc2lvbiAxNTcxNzIpCisr
KyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTEFiYnJldmlhdGVkVHlwZXMuaAkod29ya2lu
ZyBjb3B5KQpAQCAtMzAsNyArMzAsNyBAQAogCiAjaWYgRU5BQkxFKEZUTF9KSVQpCiAKLSNpbmNs
dWRlIDx3dGYvTExWTUhlYWRlcnMuaD4KKyNpbmNsdWRlICJMTFZNQVBJLmgiCiAKIG5hbWVzcGFj
ZSBKU0MgeyBuYW1lc3BhY2UgRlRMIHsKIApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0
bC9GVExBYmJyZXZpYXRpb25zLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3Jl
L2Z0bC9GVExBYmJyZXZpYXRpb25zLmgJKHJldmlzaW9uIDE1NzE3MikKKysrIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9mdGwvRlRMQWJicmV2aWF0aW9ucy5oCSh3b3JraW5nIGNvcHkpCkBAIC0zMyw2
ICszMyw3IEBACiAjaW5jbHVkZSAiRlRMQWJicmV2aWF0ZWRUeXBlcy5oIgogI2luY2x1ZGUgIkZU
TFN3aXRjaENhc2UuaCIKICNpbmNsdWRlICJGVExWYWx1ZUZyb21CbG9jay5oIgorI2luY2x1ZGUg
IkxMVk1BUEkuaCIKICNpbmNsdWRlIDxjc3RyaW5nPgogCiBuYW1lc3BhY2UgSlNDIHsgbmFtZXNw
YWNlIEZUTCB7CkBAIC00NiwyMiArNDcsMjIgQEAgbmFtZXNwYWNlIEpTQyB7IG5hbWVzcGFjZSBG
VEwgewogI2Vycm9yICJUaGUgRlRMIGJhY2tlbmQgYXNzdW1lcyB0aGF0IHBvaW50ZXJzIGFyZSA2
NC1iaXQuIgogI2VuZGlmCiAKLXN0YXRpYyBpbmxpbmUgTFR5cGUgdm9pZFR5cGUoTENvbnRleHQg
Y29udGV4dCkgeyByZXR1cm4gTExWTVZvaWRUeXBlSW5Db250ZXh0KGNvbnRleHQpOyB9Ci1zdGF0
aWMgaW5saW5lIExUeXBlIGludDFUeXBlKExDb250ZXh0IGNvbnRleHQpIHsgcmV0dXJuIExMVk1J
bnQxVHlwZUluQ29udGV4dChjb250ZXh0KTsgfQotc3RhdGljIGlubGluZSBMVHlwZSBpbnQ4VHlw
ZShMQ29udGV4dCBjb250ZXh0KSB7IHJldHVybiBMTFZNSW50OFR5cGVJbkNvbnRleHQoY29udGV4
dCk7IH0KLXN0YXRpYyBpbmxpbmUgTFR5cGUgaW50MTZUeXBlKExDb250ZXh0IGNvbnRleHQpIHsg
cmV0dXJuIExMVk1JbnQxNlR5cGVJbkNvbnRleHQoY29udGV4dCk7IH0KLXN0YXRpYyBpbmxpbmUg
TFR5cGUgaW50MzJUeXBlKExDb250ZXh0IGNvbnRleHQpIHsgcmV0dXJuIExMVk1JbnQzMlR5cGVJ
bkNvbnRleHQoY29udGV4dCk7IH0KLXN0YXRpYyBpbmxpbmUgTFR5cGUgaW50NjRUeXBlKExDb250
ZXh0IGNvbnRleHQpIHsgcmV0dXJuIExMVk1JbnQ2NFR5cGVJbkNvbnRleHQoY29udGV4dCk7IH0K
LXN0YXRpYyBpbmxpbmUgTFR5cGUgaW50UHRyVHlwZShMQ29udGV4dCBjb250ZXh0KSB7IHJldHVy
biBMTFZNSW50NjRUeXBlSW5Db250ZXh0KGNvbnRleHQpOyB9Ci1zdGF0aWMgaW5saW5lIExUeXBl
IGZsb2F0VHlwZShMQ29udGV4dCBjb250ZXh0KSB7IHJldHVybiBMTFZNRmxvYXRUeXBlSW5Db250
ZXh0KGNvbnRleHQpOyB9Ci1zdGF0aWMgaW5saW5lIExUeXBlIGRvdWJsZVR5cGUoTENvbnRleHQg
Y29udGV4dCkgeyByZXR1cm4gTExWTURvdWJsZVR5cGVJbkNvbnRleHQoY29udGV4dCk7IH0KK3N0
YXRpYyBpbmxpbmUgTFR5cGUgdm9pZFR5cGUoTENvbnRleHQgY29udGV4dCkgeyByZXR1cm4gbGx2
bS0+Vm9pZFR5cGVJbkNvbnRleHQoY29udGV4dCk7IH0KK3N0YXRpYyBpbmxpbmUgTFR5cGUgaW50
MVR5cGUoTENvbnRleHQgY29udGV4dCkgeyByZXR1cm4gbGx2bS0+SW50MVR5cGVJbkNvbnRleHQo
Y29udGV4dCk7IH0KK3N0YXRpYyBpbmxpbmUgTFR5cGUgaW50OFR5cGUoTENvbnRleHQgY29udGV4
dCkgeyByZXR1cm4gbGx2bS0+SW50OFR5cGVJbkNvbnRleHQoY29udGV4dCk7IH0KK3N0YXRpYyBp
bmxpbmUgTFR5cGUgaW50MTZUeXBlKExDb250ZXh0IGNvbnRleHQpIHsgcmV0dXJuIGxsdm0tPklu
dDE2VHlwZUluQ29udGV4dChjb250ZXh0KTsgfQorc3RhdGljIGlubGluZSBMVHlwZSBpbnQzMlR5
cGUoTENvbnRleHQgY29udGV4dCkgeyByZXR1cm4gbGx2bS0+SW50MzJUeXBlSW5Db250ZXh0KGNv
bnRleHQpOyB9CitzdGF0aWMgaW5saW5lIExUeXBlIGludDY0VHlwZShMQ29udGV4dCBjb250ZXh0
KSB7IHJldHVybiBsbHZtLT5JbnQ2NFR5cGVJbkNvbnRleHQoY29udGV4dCk7IH0KK3N0YXRpYyBp
bmxpbmUgTFR5cGUgaW50UHRyVHlwZShMQ29udGV4dCBjb250ZXh0KSB7IHJldHVybiBsbHZtLT5J
bnQ2NFR5cGVJbkNvbnRleHQoY29udGV4dCk7IH0KK3N0YXRpYyBpbmxpbmUgTFR5cGUgZmxvYXRU
eXBlKExDb250ZXh0IGNvbnRleHQpIHsgcmV0dXJuIGxsdm0tPkZsb2F0VHlwZUluQ29udGV4dChj
b250ZXh0KTsgfQorc3RhdGljIGlubGluZSBMVHlwZSBkb3VibGVUeXBlKExDb250ZXh0IGNvbnRl
eHQpIHsgcmV0dXJuIGxsdm0tPkRvdWJsZVR5cGVJbkNvbnRleHQoY29udGV4dCk7IH0KIAotc3Rh
dGljIGlubGluZSBMVHlwZSBwb2ludGVyVHlwZShMVHlwZSB0eXBlKSB7IHJldHVybiBMTFZNUG9p
bnRlclR5cGUodHlwZSwgMCk7IH0KK3N0YXRpYyBpbmxpbmUgTFR5cGUgcG9pbnRlclR5cGUoTFR5
cGUgdHlwZSkgeyByZXR1cm4gbGx2bS0+UG9pbnRlclR5cGUodHlwZSwgMCk7IH0KIAogZW51bSBQ
YWNraW5nTW9kZSB7IE5vdFBhY2tlZCwgUGFja2VkIH07CiBzdGF0aWMgaW5saW5lIExUeXBlIHN0
cnVjdFR5cGUoTENvbnRleHQgY29udGV4dCwgTFR5cGUqIGVsZW1lbnRUeXBlcywgdW5zaWduZWQg
ZWxlbWVudENvdW50LCBQYWNraW5nTW9kZSBwYWNraW5nID0gTm90UGFja2VkKQogewotICAgIHJl
dHVybiBMTFZNU3RydWN0VHlwZUluQ29udGV4dChjb250ZXh0LCBlbGVtZW50VHlwZXMsIGVsZW1l
bnRDb3VudCwgcGFja2luZyA9PSBQYWNrZWQpOworICAgIHJldHVybiBsbHZtLT5TdHJ1Y3RUeXBl
SW5Db250ZXh0KGNvbnRleHQsIGVsZW1lbnRUeXBlcywgZWxlbWVudENvdW50LCBwYWNraW5nID09
IFBhY2tlZCk7CiB9CiBzdGF0aWMgaW5saW5lIExUeXBlIHN0cnVjdFR5cGUoTENvbnRleHQgY29u
dGV4dCwgUGFja2luZ01vZGUgcGFja2luZyA9IE5vdFBhY2tlZCkKIHsKQEAgLTgwLDcgKzgxLDcg
QEAgc3RhdGljIGlubGluZSBMVHlwZSBzdHJ1Y3RUeXBlKExDb250ZXh0IAogZW51bSBWYXJpYWRp
Y2l0eSB7IE5vdFZhcmlhZGljLCBWYXJpYWRpYyB9Owogc3RhdGljIGlubGluZSBMVHlwZSBmdW5j
dGlvblR5cGUoTFR5cGUgcmV0dXJuVHlwZSwgY29uc3QgTFR5cGUqIHBhcmFtVHlwZXMsIHVuc2ln
bmVkIHBhcmFtQ291bnQsIFZhcmlhZGljaXR5IHZhcmlhZGljaXR5KQogewotICAgIHJldHVybiBM
TFZNRnVuY3Rpb25UeXBlKHJldHVyblR5cGUsIGNvbnN0X2Nhc3Q8TFR5cGUqPihwYXJhbVR5cGVz
KSwgcGFyYW1Db3VudCwgdmFyaWFkaWNpdHkgPT0gVmFyaWFkaWMpOworICAgIHJldHVybiBsbHZt
LT5GdW5jdGlvblR5cGUocmV0dXJuVHlwZSwgY29uc3RfY2FzdDxMVHlwZSo+KHBhcmFtVHlwZXMp
LCBwYXJhbUNvdW50LCB2YXJpYWRpY2l0eSA9PSBWYXJpYWRpYyk7CiB9CiB0ZW1wbGF0ZTx0eXBl
bmFtZSBWZWN0b3JUeXBlPgogaW5saW5lIExUeXBlIGZ1bmN0aW9uVHlwZShMVHlwZSByZXR1cm5U
eXBlLCBjb25zdCBWZWN0b3JUeXBlJiB2ZWN0b3IsIFZhcmlhZGljaXR5IHZhcmlhZGljaXR5ID0g
Tm90VmFyaWFkaWMpCkBAIC0xMTEsMTIgKzExMiwxMiBAQCBzdGF0aWMgaW5saW5lIExUeXBlIGZ1
bmN0aW9uVHlwZShMVHlwZSByCiAgICAgcmV0dXJuIGZ1bmN0aW9uVHlwZShyZXR1cm5UeXBlLCBw
YXJhbVR5cGVzLCA0LCB2YXJpYWRpY2l0eSk7CiB9CiAKLXN0YXRpYyBpbmxpbmUgTFR5cGUgdHlw
ZU9mKExWYWx1ZSB2YWx1ZSkgeyByZXR1cm4gTExWTVR5cGVPZih2YWx1ZSk7IH0KK3N0YXRpYyBp
bmxpbmUgTFR5cGUgdHlwZU9mKExWYWx1ZSB2YWx1ZSkgeyByZXR1cm4gbGx2bS0+VHlwZU9mKHZh
bHVlKTsgfQogCi1zdGF0aWMgaW5saW5lIHVuc2lnbmVkIG1kS2luZElEKExDb250ZXh0IGNvbnRl
eHQsIGNvbnN0IGNoYXIqIHN0cmluZykgeyByZXR1cm4gTExWTUdldE1ES2luZElESW5Db250ZXh0
KGNvbnRleHQsIHN0cmluZywgc3RkOjpzdHJsZW4oc3RyaW5nKSk7IH0KLXN0YXRpYyBpbmxpbmUg
TFZhbHVlIG1kU3RyaW5nKExDb250ZXh0IGNvbnRleHQsIGNvbnN0IGNoYXIqIHN0cmluZywgdW5z
aWduZWQgbGVuZ3RoKSB7IHJldHVybiBMTFZNTURTdHJpbmdJbkNvbnRleHQoY29udGV4dCwgc3Ry
aW5nLCBsZW5ndGgpOyB9CitzdGF0aWMgaW5saW5lIHVuc2lnbmVkIG1kS2luZElEKExDb250ZXh0
IGNvbnRleHQsIGNvbnN0IGNoYXIqIHN0cmluZykgeyByZXR1cm4gbGx2bS0+R2V0TURLaW5kSURJ
bkNvbnRleHQoY29udGV4dCwgc3RyaW5nLCBzdGQ6OnN0cmxlbihzdHJpbmcpKTsgfQorc3RhdGlj
IGlubGluZSBMVmFsdWUgbWRTdHJpbmcoTENvbnRleHQgY29udGV4dCwgY29uc3QgY2hhciogc3Ry
aW5nLCB1bnNpZ25lZCBsZW5ndGgpIHsgcmV0dXJuIGxsdm0tPk1EU3RyaW5nSW5Db250ZXh0KGNv
bnRleHQsIHN0cmluZywgbGVuZ3RoKTsgfQogc3RhdGljIGlubGluZSBMVmFsdWUgbWRTdHJpbmco
TENvbnRleHQgY29udGV4dCwgY29uc3QgY2hhciogc3RyaW5nKSB7IHJldHVybiBtZFN0cmluZyhj
b250ZXh0LCBzdHJpbmcsIHN0ZDo6c3RybGVuKHN0cmluZykpOyB9Ci1zdGF0aWMgaW5saW5lIExW
YWx1ZSBtZE5vZGUoTENvbnRleHQgY29udGV4dCwgTFZhbHVlKiBhcmdzLCB1bnNpZ25lZCBudW1B
cmdzKSB7IHJldHVybiBMTFZNTUROb2RlSW5Db250ZXh0KGNvbnRleHQsIGFyZ3MsIG51bUFyZ3Mp
OyB9CitzdGF0aWMgaW5saW5lIExWYWx1ZSBtZE5vZGUoTENvbnRleHQgY29udGV4dCwgTFZhbHVl
KiBhcmdzLCB1bnNpZ25lZCBudW1BcmdzKSB7IHJldHVybiBsbHZtLT5NRE5vZGVJbkNvbnRleHQo
Y29udGV4dCwgYXJncywgbnVtQXJncyk7IH0KIHN0YXRpYyBpbmxpbmUgTFZhbHVlIG1kTm9kZShM
Q29udGV4dCBjb250ZXh0KSB7IHJldHVybiBtZE5vZGUoY29udGV4dCwgMCwgMCk7IH0KIHN0YXRp
YyBpbmxpbmUgTFZhbHVlIG1kTm9kZShMQ29udGV4dCBjb250ZXh0LCBMVmFsdWUgYXJnMSkgeyBy
ZXR1cm4gbWROb2RlKGNvbnRleHQsICZhcmcxLCAxKTsgfQogc3RhdGljIGlubGluZSBMVmFsdWUg
bWROb2RlKExDb250ZXh0IGNvbnRleHQsIExWYWx1ZSBhcmcxLCBMVmFsdWUgYXJnMikKQEAgLTEy
NSwxMSArMTI2LDExIEBAIHN0YXRpYyBpbmxpbmUgTFZhbHVlIG1kTm9kZShMQ29udGV4dCBjb24K
ICAgICByZXR1cm4gbWROb2RlKGNvbnRleHQsIGFyZ3MsIDIpOwogfQogCi1zdGF0aWMgaW5saW5l
IHZvaWQgc2V0TWV0YWRhdGEoTFZhbHVlIGluc3RydWN0aW9uLCB1bnNpZ25lZCBraW5kLCBMVmFs
dWUgbWV0YWRhdGEpIHsgTExWTVNldE1ldGFkYXRhKGluc3RydWN0aW9uLCBraW5kLCBtZXRhZGF0
YSk7IH0KK3N0YXRpYyBpbmxpbmUgdm9pZCBzZXRNZXRhZGF0YShMVmFsdWUgaW5zdHJ1Y3Rpb24s
IHVuc2lnbmVkIGtpbmQsIExWYWx1ZSBtZXRhZGF0YSkgeyBsbHZtLT5TZXRNZXRhZGF0YShpbnN0
cnVjdGlvbiwga2luZCwgbWV0YWRhdGEpOyB9CiAKLXN0YXRpYyBpbmxpbmUgTFZhbHVlIGFkZEZ1
bmN0aW9uKExNb2R1bGUgbW9kdWxlLCBjb25zdCBjaGFyKiBuYW1lLCBMVHlwZSB0eXBlKSB7IHJl
dHVybiBMTFZNQWRkRnVuY3Rpb24obW9kdWxlLCBuYW1lLCB0eXBlKTsgfQotc3RhdGljIGlubGlu
ZSB2b2lkIHNldExpbmthZ2UoTFZhbHVlIGdsb2JhbCwgTExpbmthZ2UgbGlua2FnZSkgeyBMTFZN
U2V0TGlua2FnZShnbG9iYWwsIGxpbmthZ2UpOyB9Ci1zdGF0aWMgaW5saW5lIHZvaWQgc2V0RnVu
Y3Rpb25DYWxsaW5nQ29udihMVmFsdWUgZnVuY3Rpb24sIExDYWxsQ29udiBjb252ZW50aW9uKSB7
IExMVk1TZXRGdW5jdGlvbkNhbGxDb252KGZ1bmN0aW9uLCBjb252ZW50aW9uKTsgfQorc3RhdGlj
IGlubGluZSBMVmFsdWUgYWRkRnVuY3Rpb24oTE1vZHVsZSBtb2R1bGUsIGNvbnN0IGNoYXIqIG5h
bWUsIExUeXBlIHR5cGUpIHsgcmV0dXJuIGxsdm0tPkFkZEZ1bmN0aW9uKG1vZHVsZSwgbmFtZSwg
dHlwZSk7IH0KK3N0YXRpYyBpbmxpbmUgdm9pZCBzZXRMaW5rYWdlKExWYWx1ZSBnbG9iYWwsIExM
aW5rYWdlIGxpbmthZ2UpIHsgbGx2bS0+U2V0TGlua2FnZShnbG9iYWwsIGxpbmthZ2UpOyB9Citz
dGF0aWMgaW5saW5lIHZvaWQgc2V0RnVuY3Rpb25DYWxsaW5nQ29udihMVmFsdWUgZnVuY3Rpb24s
IExDYWxsQ29udiBjb252ZW50aW9uKSB7IGxsdm0tPlNldEZ1bmN0aW9uQ2FsbENvbnYoZnVuY3Rp
b24sIGNvbnZlbnRpb24pOyB9CiAKIHN0YXRpYyBpbmxpbmUgTFZhbHVlIGFkZEV4dGVybkZ1bmN0
aW9uKExNb2R1bGUgbW9kdWxlLCBjb25zdCBjaGFyKiBuYW1lLCBMVHlwZSB0eXBlKQogewpAQCAt
MTM4LDIxICsxMzksMjEgQEAgc3RhdGljIGlubGluZSBMVmFsdWUgYWRkRXh0ZXJuRnVuY3Rpb24o
TAogICAgIHJldHVybiByZXN1bHQ7CiB9CiAKLXN0YXRpYyBpbmxpbmUgTFZhbHVlIGdldFBhcmFt
KExWYWx1ZSBmdW5jdGlvbiwgdW5zaWduZWQgaW5kZXgpIHsgcmV0dXJuIExMVk1HZXRQYXJhbShm
dW5jdGlvbiwgaW5kZXgpOyB9CitzdGF0aWMgaW5saW5lIExWYWx1ZSBnZXRQYXJhbShMVmFsdWUg
ZnVuY3Rpb24sIHVuc2lnbmVkIGluZGV4KSB7IHJldHVybiBsbHZtLT5HZXRQYXJhbShmdW5jdGlv
biwgaW5kZXgpOyB9CiAKIGVudW0gQml0RXh0ZW5zaW9uIHsgWmVyb0V4dGVuZCwgU2lnbkV4dGVu
ZCB9Owotc3RhdGljIGlubGluZSBMVmFsdWUgY29uc3RJbnQoTFR5cGUgdHlwZSwgdW5zaWduZWQg
bG9uZyBsb25nIHZhbHVlLCBCaXRFeHRlbnNpb24gZXh0ZW5zaW9uID0gWmVyb0V4dGVuZCkgeyBy
ZXR1cm4gTExWTUNvbnN0SW50KHR5cGUsIHZhbHVlLCBleHRlbnNpb24gPT0gU2lnbkV4dGVuZCk7
IH0KLXN0YXRpYyBpbmxpbmUgTFZhbHVlIGNvbnN0UmVhbChMVHlwZSB0eXBlLCBkb3VibGUgdmFs
dWUpIHsgcmV0dXJuIExMVk1Db25zdFJlYWwodHlwZSwgdmFsdWUpOyB9Ci1zdGF0aWMgaW5saW5l
IExWYWx1ZSBjb25zdEludFRvUHRyKExWYWx1ZSB2YWx1ZSwgTFR5cGUgdHlwZSkgeyByZXR1cm4g
TExWTUNvbnN0SW50VG9QdHIodmFsdWUsIHR5cGUpOyB9Ci1zdGF0aWMgaW5saW5lIExWYWx1ZSBj
b25zdEJpdENhc3QoTFZhbHVlIHZhbHVlLCBMVHlwZSB0eXBlKSB7IHJldHVybiBMTFZNQ29uc3RC
aXRDYXN0KHZhbHVlLCB0eXBlKTsgfQorc3RhdGljIGlubGluZSBMVmFsdWUgY29uc3RJbnQoTFR5
cGUgdHlwZSwgdW5zaWduZWQgbG9uZyBsb25nIHZhbHVlLCBCaXRFeHRlbnNpb24gZXh0ZW5zaW9u
ID0gWmVyb0V4dGVuZCkgeyByZXR1cm4gbGx2bS0+Q29uc3RJbnQodHlwZSwgdmFsdWUsIGV4dGVu
c2lvbiA9PSBTaWduRXh0ZW5kKTsgfQorc3RhdGljIGlubGluZSBMVmFsdWUgY29uc3RSZWFsKExU
eXBlIHR5cGUsIGRvdWJsZSB2YWx1ZSkgeyByZXR1cm4gbGx2bS0+Q29uc3RSZWFsKHR5cGUsIHZh
bHVlKTsgfQorc3RhdGljIGlubGluZSBMVmFsdWUgY29uc3RJbnRUb1B0cihMVmFsdWUgdmFsdWUs
IExUeXBlIHR5cGUpIHsgcmV0dXJuIGxsdm0tPkNvbnN0SW50VG9QdHIodmFsdWUsIHR5cGUpOyB9
CitzdGF0aWMgaW5saW5lIExWYWx1ZSBjb25zdEJpdENhc3QoTFZhbHVlIHZhbHVlLCBMVHlwZSB0
eXBlKSB7IHJldHVybiBsbHZtLT5Db25zdEJpdENhc3QodmFsdWUsIHR5cGUpOyB9CiAKLXN0YXRp
YyBpbmxpbmUgTEJhc2ljQmxvY2sgYXBwZW5kQmFzaWNCbG9jayhMQ29udGV4dCBjb250ZXh0LCBM
VmFsdWUgZnVuY3Rpb24sIGNvbnN0IGNoYXIqIG5hbWUgPSAiIikgeyByZXR1cm4gTExWTUFwcGVu
ZEJhc2ljQmxvY2tJbkNvbnRleHQoY29udGV4dCwgZnVuY3Rpb24sIG5hbWUpOyB9Ci1zdGF0aWMg
aW5saW5lIExCYXNpY0Jsb2NrIGluc2VydEJhc2ljQmxvY2soTENvbnRleHQgY29udGV4dCwgTEJh
c2ljQmxvY2sgYmVmb3JlQmFzaWNCbG9jaywgY29uc3QgY2hhciogbmFtZSA9ICIiKSB7IHJldHVy
biBMTFZNSW5zZXJ0QmFzaWNCbG9ja0luQ29udGV4dChjb250ZXh0LCBiZWZvcmVCYXNpY0Jsb2Nr
LCBuYW1lKTsgfQorc3RhdGljIGlubGluZSBMQmFzaWNCbG9jayBhcHBlbmRCYXNpY0Jsb2NrKExD
b250ZXh0IGNvbnRleHQsIExWYWx1ZSBmdW5jdGlvbiwgY29uc3QgY2hhciogbmFtZSA9ICIiKSB7
IHJldHVybiBsbHZtLT5BcHBlbmRCYXNpY0Jsb2NrSW5Db250ZXh0KGNvbnRleHQsIGZ1bmN0aW9u
LCBuYW1lKTsgfQorc3RhdGljIGlubGluZSBMQmFzaWNCbG9jayBpbnNlcnRCYXNpY0Jsb2NrKExD
b250ZXh0IGNvbnRleHQsIExCYXNpY0Jsb2NrIGJlZm9yZUJhc2ljQmxvY2ssIGNvbnN0IGNoYXIq
IG5hbWUgPSAiIikgeyByZXR1cm4gbGx2bS0+SW5zZXJ0QmFzaWNCbG9ja0luQ29udGV4dChjb250
ZXh0LCBiZWZvcmVCYXNpY0Jsb2NrLCBuYW1lKTsgfQogCi1zdGF0aWMgaW5saW5lIExWYWx1ZSBi
dWlsZFBoaShMQnVpbGRlciBidWlsZGVyLCBMVHlwZSB0eXBlKSB7IHJldHVybiBMTFZNQnVpbGRQ
aGkoYnVpbGRlciwgdHlwZSwgIiIpOyB9CitzdGF0aWMgaW5saW5lIExWYWx1ZSBidWlsZFBoaShM
QnVpbGRlciBidWlsZGVyLCBMVHlwZSB0eXBlKSB7IHJldHVybiBsbHZtLT5CdWlsZFBoaShidWls
ZGVyLCB0eXBlLCAiIik7IH0KIHN0YXRpYyBpbmxpbmUgdm9pZCBhZGRJbmNvbWluZyhMVmFsdWUg
cGhpLCBjb25zdCBMVmFsdWUqIHZhbHVlcywgY29uc3QgTEJhc2ljQmxvY2sqIGJsb2NrcywgdW5z
aWduZWQgbnVtUHJlZGVjZXNzb3JzKQogewotICAgIExMVk1BZGRJbmNvbWluZyhwaGksIGNvbnN0
X2Nhc3Q8TFZhbHVlKj4odmFsdWVzKSwgY29uc3RfY2FzdDxMQmFzaWNCbG9jayo+KGJsb2Nrcyks
IG51bVByZWRlY2Vzc29ycyk7CisgICAgbGx2bS0+QWRkSW5jb21pbmcocGhpLCBjb25zdF9jYXN0
PExWYWx1ZSo+KHZhbHVlcyksIGNvbnN0X2Nhc3Q8TEJhc2ljQmxvY2sqPihibG9ja3MpLCBudW1Q
cmVkZWNlc3NvcnMpOwogfQogc3RhdGljIGlubGluZSB2b2lkIGFkZEluY29taW5nKExWYWx1ZSBw
aGksIFZhbHVlRnJvbUJsb2NrIHZhbHVlMSkKIHsKQEAgLTE4MCw0NCArMTgxLDQ0IEBAIHN0YXRp
YyBpbmxpbmUgTFZhbHVlIGJ1aWxkUGhpKAogICAgIHJldHVybiByZXN1bHQ7CiB9CiAKLXN0YXRp
YyBpbmxpbmUgTFZhbHVlIGJ1aWxkQWxsb2NhKExCdWlsZGVyIGJ1aWxkZXIsIExUeXBlIHR5cGUp
IHsgcmV0dXJuIExMVk1CdWlsZEFsbG9jYShidWlsZGVyLCB0eXBlLCAiIik7IH0KLXN0YXRpYyBp
bmxpbmUgTFZhbHVlIGJ1aWxkQWRkKExCdWlsZGVyIGJ1aWxkZXIsIExWYWx1ZSBsZWZ0LCBMVmFs
dWUgcmlnaHQpIHsgcmV0dXJuIExMVk1CdWlsZEFkZChidWlsZGVyLCBsZWZ0LCByaWdodCwgIiIp
OyB9Ci1zdGF0aWMgaW5saW5lIExWYWx1ZSBidWlsZFN1YihMQnVpbGRlciBidWlsZGVyLCBMVmFs
dWUgbGVmdCwgTFZhbHVlIHJpZ2h0KSB7IHJldHVybiBMTFZNQnVpbGRTdWIoYnVpbGRlciwgbGVm
dCwgcmlnaHQsICIiKTsgfQotc3RhdGljIGlubGluZSBMVmFsdWUgYnVpbGRNdWwoTEJ1aWxkZXIg
YnVpbGRlciwgTFZhbHVlIGxlZnQsIExWYWx1ZSByaWdodCkgeyByZXR1cm4gTExWTUJ1aWxkTXVs
KGJ1aWxkZXIsIGxlZnQsIHJpZ2h0LCAiIik7IH0KLXN0YXRpYyBpbmxpbmUgTFZhbHVlIGJ1aWxk
RGl2KExCdWlsZGVyIGJ1aWxkZXIsIExWYWx1ZSBsZWZ0LCBMVmFsdWUgcmlnaHQpIHsgcmV0dXJu
IExMVk1CdWlsZFNEaXYoYnVpbGRlciwgbGVmdCwgcmlnaHQsICIiKTsgfQotc3RhdGljIGlubGlu
ZSBMVmFsdWUgYnVpbGRSZW0oTEJ1aWxkZXIgYnVpbGRlciwgTFZhbHVlIGxlZnQsIExWYWx1ZSBy
aWdodCkgeyByZXR1cm4gTExWTUJ1aWxkU1JlbShidWlsZGVyLCBsZWZ0LCByaWdodCwgIiIpOyB9
Ci1zdGF0aWMgaW5saW5lIExWYWx1ZSBidWlsZE5lZyhMQnVpbGRlciBidWlsZGVyLCBMVmFsdWUg
dmFsdWUpIHsgcmV0dXJuIExMVk1CdWlsZE5lZyhidWlsZGVyLCB2YWx1ZSwgIiIpOyB9Ci1zdGF0
aWMgaW5saW5lIExWYWx1ZSBidWlsZEZBZGQoTEJ1aWxkZXIgYnVpbGRlciwgTFZhbHVlIGxlZnQs
IExWYWx1ZSByaWdodCkgeyByZXR1cm4gTExWTUJ1aWxkRkFkZChidWlsZGVyLCBsZWZ0LCByaWdo
dCwgIiIpOyB9Ci1zdGF0aWMgaW5saW5lIExWYWx1ZSBidWlsZEZTdWIoTEJ1aWxkZXIgYnVpbGRl
ciwgTFZhbHVlIGxlZnQsIExWYWx1ZSByaWdodCkgeyByZXR1cm4gTExWTUJ1aWxkRlN1YihidWls
ZGVyLCBsZWZ0LCByaWdodCwgIiIpOyB9Ci1zdGF0aWMgaW5saW5lIExWYWx1ZSBidWlsZEZNdWwo
TEJ1aWxkZXIgYnVpbGRlciwgTFZhbHVlIGxlZnQsIExWYWx1ZSByaWdodCkgeyByZXR1cm4gTExW
TUJ1aWxkRk11bChidWlsZGVyLCBsZWZ0LCByaWdodCwgIiIpOyB9Ci1zdGF0aWMgaW5saW5lIExW
YWx1ZSBidWlsZEZEaXYoTEJ1aWxkZXIgYnVpbGRlciwgTFZhbHVlIGxlZnQsIExWYWx1ZSByaWdo
dCkgeyByZXR1cm4gTExWTUJ1aWxkRkRpdihidWlsZGVyLCBsZWZ0LCByaWdodCwgIiIpOyB9Ci1z
dGF0aWMgaW5saW5lIExWYWx1ZSBidWlsZEZSZW0oTEJ1aWxkZXIgYnVpbGRlciwgTFZhbHVlIGxl
ZnQsIExWYWx1ZSByaWdodCkgeyByZXR1cm4gTExWTUJ1aWxkRlJlbShidWlsZGVyLCBsZWZ0LCBy
aWdodCwgIiIpOyB9Ci1zdGF0aWMgaW5saW5lIExWYWx1ZSBidWlsZEZOZWcoTEJ1aWxkZXIgYnVp
bGRlciwgTFZhbHVlIHZhbHVlKSB7IHJldHVybiBMTFZNQnVpbGRGTmVnKGJ1aWxkZXIsIHZhbHVl
LCAiIik7IH0KLXN0YXRpYyBpbmxpbmUgTFZhbHVlIGJ1aWxkQW5kKExCdWlsZGVyIGJ1aWxkZXIs
IExWYWx1ZSBsZWZ0LCBMVmFsdWUgcmlnaHQpIHsgcmV0dXJuIExMVk1CdWlsZEFuZChidWlsZGVy
LCBsZWZ0LCByaWdodCwgIiIpOyB9Ci1zdGF0aWMgaW5saW5lIExWYWx1ZSBidWlsZE9yKExCdWls
ZGVyIGJ1aWxkZXIsIExWYWx1ZSBsZWZ0LCBMVmFsdWUgcmlnaHQpIHsgcmV0dXJuIExMVk1CdWls
ZE9yKGJ1aWxkZXIsIGxlZnQsIHJpZ2h0LCAiIik7IH0KLXN0YXRpYyBpbmxpbmUgTFZhbHVlIGJ1
aWxkWG9yKExCdWlsZGVyIGJ1aWxkZXIsIExWYWx1ZSBsZWZ0LCBMVmFsdWUgcmlnaHQpIHsgcmV0
dXJuIExMVk1CdWlsZFhvcihidWlsZGVyLCBsZWZ0LCByaWdodCwgIiIpOyB9Ci1zdGF0aWMgaW5s
aW5lIExWYWx1ZSBidWlsZFNobChMQnVpbGRlciBidWlsZGVyLCBMVmFsdWUgbGVmdCwgTFZhbHVl
IHJpZ2h0KSB7IHJldHVybiBMTFZNQnVpbGRTaGwoYnVpbGRlciwgbGVmdCwgcmlnaHQsICIiKTsg
fQotc3RhdGljIGlubGluZSBMVmFsdWUgYnVpbGRBU2hyKExCdWlsZGVyIGJ1aWxkZXIsIExWYWx1
ZSBsZWZ0LCBMVmFsdWUgcmlnaHQpIHsgcmV0dXJuIExMVk1CdWlsZEFTaHIoYnVpbGRlciwgbGVm
dCwgcmlnaHQsICIiKTsgfQotc3RhdGljIGlubGluZSBMVmFsdWUgYnVpbGRMU2hyKExCdWlsZGVy
IGJ1aWxkZXIsIExWYWx1ZSBsZWZ0LCBMVmFsdWUgcmlnaHQpIHsgcmV0dXJuIExMVk1CdWlsZExT
aHIoYnVpbGRlciwgbGVmdCwgcmlnaHQsICIiKTsgfQotc3RhdGljIGlubGluZSBMVmFsdWUgYnVp
bGROb3QoTEJ1aWxkZXIgYnVpbGRlciwgTFZhbHVlIHZhbHVlKSB7IHJldHVybiBMTFZNQnVpbGRO
b3QoYnVpbGRlciwgdmFsdWUsICIiKTsgfQotc3RhdGljIGlubGluZSBMVmFsdWUgYnVpbGRMb2Fk
KExCdWlsZGVyIGJ1aWxkZXIsIExWYWx1ZSBwb2ludGVyKSB7IHJldHVybiBMTFZNQnVpbGRMb2Fk
KGJ1aWxkZXIsIHBvaW50ZXIsICIiKTsgfQotc3RhdGljIGlubGluZSBMVmFsdWUgYnVpbGRTdG9y
ZShMQnVpbGRlciBidWlsZGVyLCBMVmFsdWUgdmFsdWUsIExWYWx1ZSBwb2ludGVyKSB7IHJldHVy
biBMTFZNQnVpbGRTdG9yZShidWlsZGVyLCB2YWx1ZSwgcG9pbnRlcik7IH0KLXN0YXRpYyBpbmxp
bmUgTFZhbHVlIGJ1aWxkU0V4dChMQnVpbGRlciBidWlsZGVyLCBMVmFsdWUgdmFsdWUsIExUeXBl
IHR5cGUpIHsgcmV0dXJuIExMVk1CdWlsZFNFeHQoYnVpbGRlciwgdmFsdWUsIHR5cGUsICIiKTsg
fQotc3RhdGljIGlubGluZSBMVmFsdWUgYnVpbGRaRXh0KExCdWlsZGVyIGJ1aWxkZXIsIExWYWx1
ZSB2YWx1ZSwgTFR5cGUgdHlwZSkgeyByZXR1cm4gTExWTUJ1aWxkWkV4dChidWlsZGVyLCB2YWx1
ZSwgdHlwZSwgIiIpOyB9Ci1zdGF0aWMgaW5saW5lIExWYWx1ZSBidWlsZEZQVG9TSShMQnVpbGRl
ciBidWlsZGVyLCBMVmFsdWUgdmFsdWUsIExUeXBlIHR5cGUpIHsgcmV0dXJuIExMVk1CdWlsZEZQ
VG9TSShidWlsZGVyLCB2YWx1ZSwgdHlwZSwgIiIpOyB9Ci1zdGF0aWMgaW5saW5lIExWYWx1ZSBi
dWlsZEZQVG9VSShMQnVpbGRlciBidWlsZGVyLCBMVmFsdWUgdmFsdWUsIExUeXBlIHR5cGUpIHsg
cmV0dXJuIExMVk1CdWlsZEZQVG9VSShidWlsZGVyLCB2YWx1ZSwgdHlwZSwgIiIpOyB9Ci1zdGF0
aWMgaW5saW5lIExWYWx1ZSBidWlsZFNJVG9GUChMQnVpbGRlciBidWlsZGVyLCBMVmFsdWUgdmFs
dWUsIExUeXBlIHR5cGUpIHsgcmV0dXJuIExMVk1CdWlsZFNJVG9GUChidWlsZGVyLCB2YWx1ZSwg
dHlwZSwgIiIpOyB9Ci1zdGF0aWMgaW5saW5lIExWYWx1ZSBidWlsZFVJVG9GUChMQnVpbGRlciBi
dWlsZGVyLCBMVmFsdWUgdmFsdWUsIExUeXBlIHR5cGUpIHsgcmV0dXJuIExMVk1CdWlsZFVJVG9G
UChidWlsZGVyLCB2YWx1ZSwgdHlwZSwgIiIpOyB9Ci1zdGF0aWMgaW5saW5lIExWYWx1ZSBidWls
ZEludENhc3QoTEJ1aWxkZXIgYnVpbGRlciwgTFZhbHVlIHZhbHVlLCBMVHlwZSB0eXBlKSB7IHJl
dHVybiBMTFZNQnVpbGRJbnRDYXN0KGJ1aWxkZXIsIHZhbHVlLCB0eXBlLCAiIik7IH0KLXN0YXRp
YyBpbmxpbmUgTFZhbHVlIGJ1aWxkRlBDYXN0KExCdWlsZGVyIGJ1aWxkZXIsIExWYWx1ZSB2YWx1
ZSwgTFR5cGUgdHlwZSkgeyByZXR1cm4gTExWTUJ1aWxkRlBDYXN0KGJ1aWxkZXIsIHZhbHVlLCB0
eXBlLCAiIik7IH0KLXN0YXRpYyBpbmxpbmUgTFZhbHVlIGJ1aWxkSW50VG9QdHIoTEJ1aWxkZXIg
YnVpbGRlciwgTFZhbHVlIHZhbHVlLCBMVHlwZSB0eXBlKSB7IHJldHVybiBMTFZNQnVpbGRJbnRU
b1B0cihidWlsZGVyLCB2YWx1ZSwgdHlwZSwgIiIpOyB9Ci1zdGF0aWMgaW5saW5lIExWYWx1ZSBi
dWlsZFB0clRvSW50KExCdWlsZGVyIGJ1aWxkZXIsIExWYWx1ZSB2YWx1ZSwgTFR5cGUgdHlwZSkg
eyByZXR1cm4gTExWTUJ1aWxkUHRyVG9JbnQoYnVpbGRlciwgdmFsdWUsIHR5cGUsICIiKTsgfQot
c3RhdGljIGlubGluZSBMVmFsdWUgYnVpbGRCaXRDYXN0KExCdWlsZGVyIGJ1aWxkZXIsIExWYWx1
ZSB2YWx1ZSwgTFR5cGUgdHlwZSkgeyByZXR1cm4gTExWTUJ1aWxkQml0Q2FzdChidWlsZGVyLCB2
YWx1ZSwgdHlwZSwgIiIpOyB9Ci1zdGF0aWMgaW5saW5lIExWYWx1ZSBidWlsZElDbXAoTEJ1aWxk
ZXIgYnVpbGRlciwgTEludFByZWRpY2F0ZSBjb25kLCBMVmFsdWUgbGVmdCwgTFZhbHVlIHJpZ2h0
KSB7IHJldHVybiBMTFZNQnVpbGRJQ21wKGJ1aWxkZXIsIGNvbmQsIGxlZnQsIHJpZ2h0LCAiIik7
IH0KLXN0YXRpYyBpbmxpbmUgTFZhbHVlIGJ1aWxkRkNtcChMQnVpbGRlciBidWlsZGVyLCBMUmVh
bFByZWRpY2F0ZSBjb25kLCBMVmFsdWUgbGVmdCwgTFZhbHVlIHJpZ2h0KSB7IHJldHVybiBMTFZN
QnVpbGRGQ21wKGJ1aWxkZXIsIGNvbmQsIGxlZnQsIHJpZ2h0LCAiIik7IH0KK3N0YXRpYyBpbmxp
bmUgTFZhbHVlIGJ1aWxkQWxsb2NhKExCdWlsZGVyIGJ1aWxkZXIsIExUeXBlIHR5cGUpIHsgcmV0
dXJuIGxsdm0tPkJ1aWxkQWxsb2NhKGJ1aWxkZXIsIHR5cGUsICIiKTsgfQorc3RhdGljIGlubGlu
ZSBMVmFsdWUgYnVpbGRBZGQoTEJ1aWxkZXIgYnVpbGRlciwgTFZhbHVlIGxlZnQsIExWYWx1ZSBy
aWdodCkgeyByZXR1cm4gbGx2bS0+QnVpbGRBZGQoYnVpbGRlciwgbGVmdCwgcmlnaHQsICIiKTsg
fQorc3RhdGljIGlubGluZSBMVmFsdWUgYnVpbGRTdWIoTEJ1aWxkZXIgYnVpbGRlciwgTFZhbHVl
IGxlZnQsIExWYWx1ZSByaWdodCkgeyByZXR1cm4gbGx2bS0+QnVpbGRTdWIoYnVpbGRlciwgbGVm
dCwgcmlnaHQsICIiKTsgfQorc3RhdGljIGlubGluZSBMVmFsdWUgYnVpbGRNdWwoTEJ1aWxkZXIg
YnVpbGRlciwgTFZhbHVlIGxlZnQsIExWYWx1ZSByaWdodCkgeyByZXR1cm4gbGx2bS0+QnVpbGRN
dWwoYnVpbGRlciwgbGVmdCwgcmlnaHQsICIiKTsgfQorc3RhdGljIGlubGluZSBMVmFsdWUgYnVp
bGREaXYoTEJ1aWxkZXIgYnVpbGRlciwgTFZhbHVlIGxlZnQsIExWYWx1ZSByaWdodCkgeyByZXR1
cm4gbGx2bS0+QnVpbGRTRGl2KGJ1aWxkZXIsIGxlZnQsIHJpZ2h0LCAiIik7IH0KK3N0YXRpYyBp
bmxpbmUgTFZhbHVlIGJ1aWxkUmVtKExCdWlsZGVyIGJ1aWxkZXIsIExWYWx1ZSBsZWZ0LCBMVmFs
dWUgcmlnaHQpIHsgcmV0dXJuIGxsdm0tPkJ1aWxkU1JlbShidWlsZGVyLCBsZWZ0LCByaWdodCwg
IiIpOyB9CitzdGF0aWMgaW5saW5lIExWYWx1ZSBidWlsZE5lZyhMQnVpbGRlciBidWlsZGVyLCBM
VmFsdWUgdmFsdWUpIHsgcmV0dXJuIGxsdm0tPkJ1aWxkTmVnKGJ1aWxkZXIsIHZhbHVlLCAiIik7
IH0KK3N0YXRpYyBpbmxpbmUgTFZhbHVlIGJ1aWxkRkFkZChMQnVpbGRlciBidWlsZGVyLCBMVmFs
dWUgbGVmdCwgTFZhbHVlIHJpZ2h0KSB7IHJldHVybiBsbHZtLT5CdWlsZEZBZGQoYnVpbGRlciwg
bGVmdCwgcmlnaHQsICIiKTsgfQorc3RhdGljIGlubGluZSBMVmFsdWUgYnVpbGRGU3ViKExCdWls
ZGVyIGJ1aWxkZXIsIExWYWx1ZSBsZWZ0LCBMVmFsdWUgcmlnaHQpIHsgcmV0dXJuIGxsdm0tPkJ1
aWxkRlN1YihidWlsZGVyLCBsZWZ0LCByaWdodCwgIiIpOyB9CitzdGF0aWMgaW5saW5lIExWYWx1
ZSBidWlsZEZNdWwoTEJ1aWxkZXIgYnVpbGRlciwgTFZhbHVlIGxlZnQsIExWYWx1ZSByaWdodCkg
eyByZXR1cm4gbGx2bS0+QnVpbGRGTXVsKGJ1aWxkZXIsIGxlZnQsIHJpZ2h0LCAiIik7IH0KK3N0
YXRpYyBpbmxpbmUgTFZhbHVlIGJ1aWxkRkRpdihMQnVpbGRlciBidWlsZGVyLCBMVmFsdWUgbGVm
dCwgTFZhbHVlIHJpZ2h0KSB7IHJldHVybiBsbHZtLT5CdWlsZEZEaXYoYnVpbGRlciwgbGVmdCwg
cmlnaHQsICIiKTsgfQorc3RhdGljIGlubGluZSBMVmFsdWUgYnVpbGRGUmVtKExCdWlsZGVyIGJ1
aWxkZXIsIExWYWx1ZSBsZWZ0LCBMVmFsdWUgcmlnaHQpIHsgcmV0dXJuIGxsdm0tPkJ1aWxkRlJl
bShidWlsZGVyLCBsZWZ0LCByaWdodCwgIiIpOyB9CitzdGF0aWMgaW5saW5lIExWYWx1ZSBidWls
ZEZOZWcoTEJ1aWxkZXIgYnVpbGRlciwgTFZhbHVlIHZhbHVlKSB7IHJldHVybiBsbHZtLT5CdWls
ZEZOZWcoYnVpbGRlciwgdmFsdWUsICIiKTsgfQorc3RhdGljIGlubGluZSBMVmFsdWUgYnVpbGRB
bmQoTEJ1aWxkZXIgYnVpbGRlciwgTFZhbHVlIGxlZnQsIExWYWx1ZSByaWdodCkgeyByZXR1cm4g
bGx2bS0+QnVpbGRBbmQoYnVpbGRlciwgbGVmdCwgcmlnaHQsICIiKTsgfQorc3RhdGljIGlubGlu
ZSBMVmFsdWUgYnVpbGRPcihMQnVpbGRlciBidWlsZGVyLCBMVmFsdWUgbGVmdCwgTFZhbHVlIHJp
Z2h0KSB7IHJldHVybiBsbHZtLT5CdWlsZE9yKGJ1aWxkZXIsIGxlZnQsIHJpZ2h0LCAiIik7IH0K
K3N0YXRpYyBpbmxpbmUgTFZhbHVlIGJ1aWxkWG9yKExCdWlsZGVyIGJ1aWxkZXIsIExWYWx1ZSBs
ZWZ0LCBMVmFsdWUgcmlnaHQpIHsgcmV0dXJuIGxsdm0tPkJ1aWxkWG9yKGJ1aWxkZXIsIGxlZnQs
IHJpZ2h0LCAiIik7IH0KK3N0YXRpYyBpbmxpbmUgTFZhbHVlIGJ1aWxkU2hsKExCdWlsZGVyIGJ1
aWxkZXIsIExWYWx1ZSBsZWZ0LCBMVmFsdWUgcmlnaHQpIHsgcmV0dXJuIGxsdm0tPkJ1aWxkU2hs
KGJ1aWxkZXIsIGxlZnQsIHJpZ2h0LCAiIik7IH0KK3N0YXRpYyBpbmxpbmUgTFZhbHVlIGJ1aWxk
QVNocihMQnVpbGRlciBidWlsZGVyLCBMVmFsdWUgbGVmdCwgTFZhbHVlIHJpZ2h0KSB7IHJldHVy
biBsbHZtLT5CdWlsZEFTaHIoYnVpbGRlciwgbGVmdCwgcmlnaHQsICIiKTsgfQorc3RhdGljIGlu
bGluZSBMVmFsdWUgYnVpbGRMU2hyKExCdWlsZGVyIGJ1aWxkZXIsIExWYWx1ZSBsZWZ0LCBMVmFs
dWUgcmlnaHQpIHsgcmV0dXJuIGxsdm0tPkJ1aWxkTFNocihidWlsZGVyLCBsZWZ0LCByaWdodCwg
IiIpOyB9CitzdGF0aWMgaW5saW5lIExWYWx1ZSBidWlsZE5vdChMQnVpbGRlciBidWlsZGVyLCBM
VmFsdWUgdmFsdWUpIHsgcmV0dXJuIGxsdm0tPkJ1aWxkTm90KGJ1aWxkZXIsIHZhbHVlLCAiIik7
IH0KK3N0YXRpYyBpbmxpbmUgTFZhbHVlIGJ1aWxkTG9hZChMQnVpbGRlciBidWlsZGVyLCBMVmFs
dWUgcG9pbnRlcikgeyByZXR1cm4gbGx2bS0+QnVpbGRMb2FkKGJ1aWxkZXIsIHBvaW50ZXIsICIi
KTsgfQorc3RhdGljIGlubGluZSBMVmFsdWUgYnVpbGRTdG9yZShMQnVpbGRlciBidWlsZGVyLCBM
VmFsdWUgdmFsdWUsIExWYWx1ZSBwb2ludGVyKSB7IHJldHVybiBsbHZtLT5CdWlsZFN0b3JlKGJ1
aWxkZXIsIHZhbHVlLCBwb2ludGVyKTsgfQorc3RhdGljIGlubGluZSBMVmFsdWUgYnVpbGRTRXh0
KExCdWlsZGVyIGJ1aWxkZXIsIExWYWx1ZSB2YWx1ZSwgTFR5cGUgdHlwZSkgeyByZXR1cm4gbGx2
bS0+QnVpbGRTRXh0KGJ1aWxkZXIsIHZhbHVlLCB0eXBlLCAiIik7IH0KK3N0YXRpYyBpbmxpbmUg
TFZhbHVlIGJ1aWxkWkV4dChMQnVpbGRlciBidWlsZGVyLCBMVmFsdWUgdmFsdWUsIExUeXBlIHR5
cGUpIHsgcmV0dXJuIGxsdm0tPkJ1aWxkWkV4dChidWlsZGVyLCB2YWx1ZSwgdHlwZSwgIiIpOyB9
CitzdGF0aWMgaW5saW5lIExWYWx1ZSBidWlsZEZQVG9TSShMQnVpbGRlciBidWlsZGVyLCBMVmFs
dWUgdmFsdWUsIExUeXBlIHR5cGUpIHsgcmV0dXJuIGxsdm0tPkJ1aWxkRlBUb1NJKGJ1aWxkZXIs
IHZhbHVlLCB0eXBlLCAiIik7IH0KK3N0YXRpYyBpbmxpbmUgTFZhbHVlIGJ1aWxkRlBUb1VJKExC
dWlsZGVyIGJ1aWxkZXIsIExWYWx1ZSB2YWx1ZSwgTFR5cGUgdHlwZSkgeyByZXR1cm4gbGx2bS0+
QnVpbGRGUFRvVUkoYnVpbGRlciwgdmFsdWUsIHR5cGUsICIiKTsgfQorc3RhdGljIGlubGluZSBM
VmFsdWUgYnVpbGRTSVRvRlAoTEJ1aWxkZXIgYnVpbGRlciwgTFZhbHVlIHZhbHVlLCBMVHlwZSB0
eXBlKSB7IHJldHVybiBsbHZtLT5CdWlsZFNJVG9GUChidWlsZGVyLCB2YWx1ZSwgdHlwZSwgIiIp
OyB9CitzdGF0aWMgaW5saW5lIExWYWx1ZSBidWlsZFVJVG9GUChMQnVpbGRlciBidWlsZGVyLCBM
VmFsdWUgdmFsdWUsIExUeXBlIHR5cGUpIHsgcmV0dXJuIGxsdm0tPkJ1aWxkVUlUb0ZQKGJ1aWxk
ZXIsIHZhbHVlLCB0eXBlLCAiIik7IH0KK3N0YXRpYyBpbmxpbmUgTFZhbHVlIGJ1aWxkSW50Q2Fz
dChMQnVpbGRlciBidWlsZGVyLCBMVmFsdWUgdmFsdWUsIExUeXBlIHR5cGUpIHsgcmV0dXJuIGxs
dm0tPkJ1aWxkSW50Q2FzdChidWlsZGVyLCB2YWx1ZSwgdHlwZSwgIiIpOyB9CitzdGF0aWMgaW5s
aW5lIExWYWx1ZSBidWlsZEZQQ2FzdChMQnVpbGRlciBidWlsZGVyLCBMVmFsdWUgdmFsdWUsIExU
eXBlIHR5cGUpIHsgcmV0dXJuIGxsdm0tPkJ1aWxkRlBDYXN0KGJ1aWxkZXIsIHZhbHVlLCB0eXBl
LCAiIik7IH0KK3N0YXRpYyBpbmxpbmUgTFZhbHVlIGJ1aWxkSW50VG9QdHIoTEJ1aWxkZXIgYnVp
bGRlciwgTFZhbHVlIHZhbHVlLCBMVHlwZSB0eXBlKSB7IHJldHVybiBsbHZtLT5CdWlsZEludFRv
UHRyKGJ1aWxkZXIsIHZhbHVlLCB0eXBlLCAiIik7IH0KK3N0YXRpYyBpbmxpbmUgTFZhbHVlIGJ1
aWxkUHRyVG9JbnQoTEJ1aWxkZXIgYnVpbGRlciwgTFZhbHVlIHZhbHVlLCBMVHlwZSB0eXBlKSB7
IHJldHVybiBsbHZtLT5CdWlsZFB0clRvSW50KGJ1aWxkZXIsIHZhbHVlLCB0eXBlLCAiIik7IH0K
K3N0YXRpYyBpbmxpbmUgTFZhbHVlIGJ1aWxkQml0Q2FzdChMQnVpbGRlciBidWlsZGVyLCBMVmFs
dWUgdmFsdWUsIExUeXBlIHR5cGUpIHsgcmV0dXJuIGxsdm0tPkJ1aWxkQml0Q2FzdChidWlsZGVy
LCB2YWx1ZSwgdHlwZSwgIiIpOyB9CitzdGF0aWMgaW5saW5lIExWYWx1ZSBidWlsZElDbXAoTEJ1
aWxkZXIgYnVpbGRlciwgTEludFByZWRpY2F0ZSBjb25kLCBMVmFsdWUgbGVmdCwgTFZhbHVlIHJp
Z2h0KSB7IHJldHVybiBsbHZtLT5CdWlsZElDbXAoYnVpbGRlciwgY29uZCwgbGVmdCwgcmlnaHQs
ICIiKTsgfQorc3RhdGljIGlubGluZSBMVmFsdWUgYnVpbGRGQ21wKExCdWlsZGVyIGJ1aWxkZXIs
IExSZWFsUHJlZGljYXRlIGNvbmQsIExWYWx1ZSBsZWZ0LCBMVmFsdWUgcmlnaHQpIHsgcmV0dXJu
IGxsdm0tPkJ1aWxkRkNtcChidWlsZGVyLCBjb25kLCBsZWZ0LCByaWdodCwgIiIpOyB9CiBzdGF0
aWMgaW5saW5lIExWYWx1ZSBidWlsZENhbGwoTEJ1aWxkZXIgYnVpbGRlciwgTFZhbHVlIGZ1bmN0
aW9uLCBjb25zdCBMVmFsdWUqIGFyZ3MsIHVuc2lnbmVkIG51bUFyZ3MpCiB7Ci0gICAgcmV0dXJu
IExMVk1CdWlsZENhbGwoYnVpbGRlciwgZnVuY3Rpb24sIGNvbnN0X2Nhc3Q8TFZhbHVlKj4oYXJn
cyksIG51bUFyZ3MsICIiKTsKKyAgICByZXR1cm4gbGx2bS0+QnVpbGRDYWxsKGJ1aWxkZXIsIGZ1
bmN0aW9uLCBjb25zdF9jYXN0PExWYWx1ZSo+KGFyZ3MpLCBudW1BcmdzLCAiIik7CiB9CiB0ZW1w
bGF0ZTx0eXBlbmFtZSBWZWN0b3JUeXBlPgogaW5saW5lIExWYWx1ZSBidWlsZENhbGwoTEJ1aWxk
ZXIgYnVpbGRlciwgTFZhbHVlIGZ1bmN0aW9uLCBjb25zdCBWZWN0b3JUeXBlJiB2ZWN0b3IpCkBA
IC0yNDgsMTMgKzI0OSwxMyBAQCBzdGF0aWMgaW5saW5lIExWYWx1ZSBidWlsZENhbGwoTEJ1aWxk
ZXIgCiAgICAgcmV0dXJuIGJ1aWxkQ2FsbChidWlsZGVyLCBmdW5jdGlvbiwgYXJncywgNCk7CiB9
CiBlbnVtIFRhaWxDYWxsTW9kZSB7IElzTm90VGFpbENhbGwsIElzVGFpbENhbGwgfTsKLXN0YXRp
YyBpbmxpbmUgdm9pZCBzZXRUYWlsQ2FsbChMVmFsdWUgY2FsbCwgVGFpbENhbGxNb2RlIG1vZGUp
IHsgTExWTVNldFRhaWxDYWxsKGNhbGwsIG1vZGUgPT0gSXNUYWlsQ2FsbCk7IH0KLXN0YXRpYyBp
bmxpbmUgTFZhbHVlIGJ1aWxkRXh0cmFjdFZhbHVlKExCdWlsZGVyIGJ1aWxkZXIsIExWYWx1ZSBh
Z2dWYWwsIHVuc2lnbmVkIGluZGV4KSB7IHJldHVybiBMTFZNQnVpbGRFeHRyYWN0VmFsdWUoYnVp
bGRlciwgYWdnVmFsLCBpbmRleCwgIiIpOyB9Ci1zdGF0aWMgaW5saW5lIExWYWx1ZSBidWlsZFNl
bGVjdChMQnVpbGRlciBidWlsZGVyLCBMVmFsdWUgY29uZGl0aW9uLCBMVmFsdWUgdGFrZW4sIExW
YWx1ZSBub3RUYWtlbikgeyByZXR1cm4gTExWTUJ1aWxkU2VsZWN0KGJ1aWxkZXIsIGNvbmRpdGlv
biwgdGFrZW4sIG5vdFRha2VuLCAiIik7IH0KLXN0YXRpYyBpbmxpbmUgTFZhbHVlIGJ1aWxkQnIo
TEJ1aWxkZXIgYnVpbGRlciwgTEJhc2ljQmxvY2sgZGVzdGluYXRpb24pIHsgcmV0dXJuIExMVk1C
dWlsZEJyKGJ1aWxkZXIsIGRlc3RpbmF0aW9uKTsgfQotc3RhdGljIGlubGluZSBMVmFsdWUgYnVp
bGRDb25kQnIoTEJ1aWxkZXIgYnVpbGRlciwgTFZhbHVlIGNvbmRpdGlvbiwgTEJhc2ljQmxvY2sg
dGFrZW4sIExCYXNpY0Jsb2NrIG5vdFRha2VuKSB7IHJldHVybiBMTFZNQnVpbGRDb25kQnIoYnVp
bGRlciwgY29uZGl0aW9uLCB0YWtlbiwgbm90VGFrZW4pOyB9Ci1zdGF0aWMgaW5saW5lIExWYWx1
ZSBidWlsZFN3aXRjaChMQnVpbGRlciBidWlsZGVyLCBMVmFsdWUgdmFsdWUsIExCYXNpY0Jsb2Nr
IGZhbGxUaHJvdWdoLCB1bnNpZ25lZCBudW1DYXNlcykgeyByZXR1cm4gTExWTUJ1aWxkU3dpdGNo
KGJ1aWxkZXIsIHZhbHVlLCBmYWxsVGhyb3VnaCwgbnVtQ2FzZXMpOyB9Ci1zdGF0aWMgaW5saW5l
IHZvaWQgYWRkQ2FzZShMVmFsdWUgc3dpdGNoSW5zdCwgTFZhbHVlIHZhbHVlLCBMQmFzaWNCbG9j
ayB0YXJnZXQpIHsgTExWTUFkZENhc2Uoc3dpdGNoSW5zdCwgdmFsdWUsIHRhcmdldCk7IH0KK3N0
YXRpYyBpbmxpbmUgdm9pZCBzZXRUYWlsQ2FsbChMVmFsdWUgY2FsbCwgVGFpbENhbGxNb2RlIG1v
ZGUpIHsgbGx2bS0+U2V0VGFpbENhbGwoY2FsbCwgbW9kZSA9PSBJc1RhaWxDYWxsKTsgfQorc3Rh
dGljIGlubGluZSBMVmFsdWUgYnVpbGRFeHRyYWN0VmFsdWUoTEJ1aWxkZXIgYnVpbGRlciwgTFZh
bHVlIGFnZ1ZhbCwgdW5zaWduZWQgaW5kZXgpIHsgcmV0dXJuIGxsdm0tPkJ1aWxkRXh0cmFjdFZh
bHVlKGJ1aWxkZXIsIGFnZ1ZhbCwgaW5kZXgsICIiKTsgfQorc3RhdGljIGlubGluZSBMVmFsdWUg
YnVpbGRTZWxlY3QoTEJ1aWxkZXIgYnVpbGRlciwgTFZhbHVlIGNvbmRpdGlvbiwgTFZhbHVlIHRh
a2VuLCBMVmFsdWUgbm90VGFrZW4pIHsgcmV0dXJuIGxsdm0tPkJ1aWxkU2VsZWN0KGJ1aWxkZXIs
IGNvbmRpdGlvbiwgdGFrZW4sIG5vdFRha2VuLCAiIik7IH0KK3N0YXRpYyBpbmxpbmUgTFZhbHVl
IGJ1aWxkQnIoTEJ1aWxkZXIgYnVpbGRlciwgTEJhc2ljQmxvY2sgZGVzdGluYXRpb24pIHsgcmV0
dXJuIGxsdm0tPkJ1aWxkQnIoYnVpbGRlciwgZGVzdGluYXRpb24pOyB9CitzdGF0aWMgaW5saW5l
IExWYWx1ZSBidWlsZENvbmRCcihMQnVpbGRlciBidWlsZGVyLCBMVmFsdWUgY29uZGl0aW9uLCBM
QmFzaWNCbG9jayB0YWtlbiwgTEJhc2ljQmxvY2sgbm90VGFrZW4pIHsgcmV0dXJuIGxsdm0tPkJ1
aWxkQ29uZEJyKGJ1aWxkZXIsIGNvbmRpdGlvbiwgdGFrZW4sIG5vdFRha2VuKTsgfQorc3RhdGlj
IGlubGluZSBMVmFsdWUgYnVpbGRTd2l0Y2goTEJ1aWxkZXIgYnVpbGRlciwgTFZhbHVlIHZhbHVl
LCBMQmFzaWNCbG9jayBmYWxsVGhyb3VnaCwgdW5zaWduZWQgbnVtQ2FzZXMpIHsgcmV0dXJuIGxs
dm0tPkJ1aWxkU3dpdGNoKGJ1aWxkZXIsIHZhbHVlLCBmYWxsVGhyb3VnaCwgbnVtQ2FzZXMpOyB9
CitzdGF0aWMgaW5saW5lIHZvaWQgYWRkQ2FzZShMVmFsdWUgc3dpdGNoSW5zdCwgTFZhbHVlIHZh
bHVlLCBMQmFzaWNCbG9jayB0YXJnZXQpIHsgbGx2bS0+QWRkQ2FzZShzd2l0Y2hJbnN0LCB2YWx1
ZSwgdGFyZ2V0KTsgfQogdGVtcGxhdGU8dHlwZW5hbWUgVmVjdG9yVHlwZT4KIHN0YXRpYyBpbmxp
bmUgTFZhbHVlIGJ1aWxkU3dpdGNoKExCdWlsZGVyIGJ1aWxkZXIsIExWYWx1ZSB2YWx1ZSwgY29u
c3QgVmVjdG9yVHlwZSYgY2FzZXMsIExCYXNpY0Jsb2NrIGZhbGxUaHJvdWdoKQogewpAQCAtMjYz
LDE1ICsyNjQsMTUgQEAgc3RhdGljIGlubGluZSBMVmFsdWUgYnVpbGRTd2l0Y2goTEJ1aWxkZQog
ICAgICAgICBhZGRDYXNlKHJlc3VsdCwgY2FzZXNbaV0udmFsdWUoKSwgY2FzZXNbaV0udGFyZ2V0
KCkpOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci1zdGF0aWMgaW5saW5lIExWYWx1ZSBidWlsZFJl
dChMQnVpbGRlciBidWlsZGVyLCBMVmFsdWUgdmFsdWUpIHsgcmV0dXJuIExMVk1CdWlsZFJldChi
dWlsZGVyLCB2YWx1ZSk7IH0KLXN0YXRpYyBpbmxpbmUgTFZhbHVlIGJ1aWxkVW5yZWFjaGFibGUo
TEJ1aWxkZXIgYnVpbGRlcikgeyByZXR1cm4gTExWTUJ1aWxkVW5yZWFjaGFibGUoYnVpbGRlcik7
IH0KK3N0YXRpYyBpbmxpbmUgTFZhbHVlIGJ1aWxkUmV0KExCdWlsZGVyIGJ1aWxkZXIsIExWYWx1
ZSB2YWx1ZSkgeyByZXR1cm4gbGx2bS0+QnVpbGRSZXQoYnVpbGRlciwgdmFsdWUpOyB9CitzdGF0
aWMgaW5saW5lIExWYWx1ZSBidWlsZFVucmVhY2hhYmxlKExCdWlsZGVyIGJ1aWxkZXIpIHsgcmV0
dXJuIGxsdm0tPkJ1aWxkVW5yZWFjaGFibGUoYnVpbGRlcik7IH0KIAotc3RhdGljIGlubGluZSB2
b2lkIGR1bXBNb2R1bGUoTE1vZHVsZSBtb2R1bGUpIHsgTExWTUR1bXBNb2R1bGUobW9kdWxlKTsg
fQorc3RhdGljIGlubGluZSB2b2lkIGR1bXBNb2R1bGUoTE1vZHVsZSBtb2R1bGUpIHsgbGx2bS0+
RHVtcE1vZHVsZShtb2R1bGUpOyB9CiBzdGF0aWMgaW5saW5lIHZvaWQgdmVyaWZ5TW9kdWxlKExN
b2R1bGUgbW9kdWxlKQogewogICAgIGNoYXIqIGVycm9yID0gMDsKLSAgICBMTFZNVmVyaWZ5TW9k
dWxlKG1vZHVsZSwgTExWTUFib3J0UHJvY2Vzc0FjdGlvbiwgJmVycm9yKTsKLSAgICBMTFZNRGlz
cG9zZU1lc3NhZ2UoZXJyb3IpOworICAgIGxsdm0tPlZlcmlmeU1vZHVsZShtb2R1bGUsIExMVk1B
Ym9ydFByb2Nlc3NBY3Rpb24sICZlcnJvcik7CisgICAgbGx2bS0+RGlzcG9zZU1lc3NhZ2UoZXJy
b3IpOwogfQogCiB9IH0gLy8gbmFtZXNwYWNlIEpTQzo6RlRMCkluZGV4OiBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvZnRsL0ZUTENvbXBpbGUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9mdGwvRlRMQ29tcGlsZS5jcHAJKHJldmlzaW9uIDE1NzE3MikKKysrIFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9mdGwvRlRMQ29tcGlsZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM0LDgg
KzM0LDggQEAKICNpbmNsdWRlICJEaXNhc3NlbWJsZXIuaCIKICNpbmNsdWRlICJGVExKSVRDb2Rl
LmgiCiAjaW5jbHVkZSAiSklUU3R1YnMuaCIKKyNpbmNsdWRlICJMTFZNQVBJLmgiCiAjaW5jbHVk
ZSAiTGlua0J1ZmZlci5oIgotI2luY2x1ZGUgPHd0Zi9MTFZNSGVhZGVycy5oPgogCiBuYW1lc3Bh
Y2UgSlNDIHsgbmFtZXNwYWNlIEZUTCB7CiAKQEAgLTk1LDUyICs5NSw1MiBAQCB2b2lkIGNvbXBp
bGUoU3RhdGUmIHN0YXRlKQogICAgIGNoYXIqIGVycm9yID0gMDsKICAgICAKICAgICBMTFZNTUNK
SVRDb21waWxlck9wdGlvbnMgb3B0aW9uczsKLSAgICBMTFZNSW5pdGlhbGl6ZU1DSklUQ29tcGls
ZXJPcHRpb25zKCZvcHRpb25zLCBzaXplb2Yob3B0aW9ucykpOworICAgIGxsdm0tPkluaXRpYWxp
emVNQ0pJVENvbXBpbGVyT3B0aW9ucygmb3B0aW9ucywgc2l6ZW9mKG9wdGlvbnMpKTsKICAgICBv
cHRpb25zLk9wdExldmVsID0gT3B0aW9uczo6bGx2bUJhY2tlbmRPcHRpbWl6YXRpb25MZXZlbCgp
OwogICAgIG9wdGlvbnMuTm9GcmFtZVBvaW50ZXJFbGltID0gdHJ1ZTsKICAgICBpZiAoT3B0aW9u
czo6dXNlTExWTVNtYWxsQ29kZU1vZGVsKCkpCiAgICAgICAgIG9wdGlvbnMuQ29kZU1vZGVsID0g
TExWTUNvZGVNb2RlbFNtYWxsOwogICAgIG9wdGlvbnMuRW5hYmxlRmFzdElTZWwgPSBPcHRpb25z
OjplbmFibGVMTFZNRmFzdElTZWwoKTsKLSAgICBvcHRpb25zLk1DSk1NID0gTExWTUNyZWF0ZVNp
bXBsZU1DSklUTWVtb3J5TWFuYWdlcigKKyAgICBvcHRpb25zLk1DSk1NID0gbGx2bS0+Q3JlYXRl
U2ltcGxlTUNKSVRNZW1vcnlNYW5hZ2VyKAogICAgICAgICAmc3RhdGUsIG1tQWxsb2NhdGVDb2Rl
U2VjdGlvbiwgbW1BbGxvY2F0ZURhdGFTZWN0aW9uLCBtbUFwcGx5UGVybWlzc2lvbnMsIG1tRGVz
dHJveSk7CiAgICAgCiAgICAgTExWTUV4ZWN1dGlvbkVuZ2luZVJlZiBlbmdpbmU7CiAgICAgCi0g
ICAgaWYgKExMVk1DcmVhdGVNQ0pJVENvbXBpbGVyRm9yTW9kdWxlKCZlbmdpbmUsIHN0YXRlLm1v
ZHVsZSwgJm9wdGlvbnMsIHNpemVvZihvcHRpb25zKSwgJmVycm9yKSkgeworICAgIGlmIChsbHZt
LT5DcmVhdGVNQ0pJVENvbXBpbGVyRm9yTW9kdWxlKCZlbmdpbmUsIHN0YXRlLm1vZHVsZSwgJm9w
dGlvbnMsIHNpemVvZihvcHRpb25zKSwgJmVycm9yKSkgewogICAgICAgICBkYXRhTG9nKCJGQVRB
TDogQ291bGQgbm90IGNyZWF0ZSBMTFZNIGV4ZWN1dGlvbiBlbmdpbmU6ICIsIGVycm9yLCAiXG4i
KTsKICAgICAgICAgQ1JBU0goKTsKICAgICB9CiAKLSAgICBMTFZNUGFzc01hbmFnZXJCdWlsZGVy
UmVmIHBhc3NCdWlsZGVyID0gTExWTVBhc3NNYW5hZ2VyQnVpbGRlckNyZWF0ZSgpOwotICAgIExM
Vk1QYXNzTWFuYWdlckJ1aWxkZXJTZXRPcHRMZXZlbChwYXNzQnVpbGRlciwgT3B0aW9uczo6bGx2
bU9wdGltaXphdGlvbkxldmVsKCkpOwotICAgIExMVk1QYXNzTWFuYWdlckJ1aWxkZXJTZXRTaXpl
TGV2ZWwocGFzc0J1aWxkZXIsIE9wdGlvbnM6Omxsdm1TaXplTGV2ZWwoKSk7CisgICAgTExWTVBh
c3NNYW5hZ2VyQnVpbGRlclJlZiBwYXNzQnVpbGRlciA9IGxsdm0tPlBhc3NNYW5hZ2VyQnVpbGRl
ckNyZWF0ZSgpOworICAgIGxsdm0tPlBhc3NNYW5hZ2VyQnVpbGRlclNldE9wdExldmVsKHBhc3NC
dWlsZGVyLCBPcHRpb25zOjpsbHZtT3B0aW1pemF0aW9uTGV2ZWwoKSk7CisgICAgbGx2bS0+UGFz
c01hbmFnZXJCdWlsZGVyU2V0U2l6ZUxldmVsKHBhc3NCdWlsZGVyLCBPcHRpb25zOjpsbHZtU2l6
ZUxldmVsKCkpOwogICAgIAotICAgIExMVk1QYXNzTWFuYWdlclJlZiBmdW5jdGlvblBhc3NlcyA9
IExMVk1DcmVhdGVGdW5jdGlvblBhc3NNYW5hZ2VyRm9yTW9kdWxlKHN0YXRlLm1vZHVsZSk7Ci0g
ICAgTExWTVBhc3NNYW5hZ2VyUmVmIG1vZHVsZVBhc3NlcyA9IExMVk1DcmVhdGVQYXNzTWFuYWdl
cigpOworICAgIExMVk1QYXNzTWFuYWdlclJlZiBmdW5jdGlvblBhc3NlcyA9IGxsdm0tPkNyZWF0
ZUZ1bmN0aW9uUGFzc01hbmFnZXJGb3JNb2R1bGUoc3RhdGUubW9kdWxlKTsKKyAgICBMTFZNUGFz
c01hbmFnZXJSZWYgbW9kdWxlUGFzc2VzID0gbGx2bS0+Q3JlYXRlUGFzc01hbmFnZXIoKTsKICAg
ICAKLSAgICBMTFZNQWRkVGFyZ2V0RGF0YShMTFZNR2V0RXhlY3V0aW9uRW5naW5lVGFyZ2V0RGF0
YShlbmdpbmUpLCBtb2R1bGVQYXNzZXMpOworICAgIGxsdm0tPkFkZFRhcmdldERhdGEobGx2bS0+
R2V0RXhlY3V0aW9uRW5naW5lVGFyZ2V0RGF0YShlbmdpbmUpLCBtb2R1bGVQYXNzZXMpOwogICAg
IAotICAgIExMVk1QYXNzTWFuYWdlckJ1aWxkZXJQb3B1bGF0ZUZ1bmN0aW9uUGFzc01hbmFnZXIo
cGFzc0J1aWxkZXIsIGZ1bmN0aW9uUGFzc2VzKTsKLSAgICBMTFZNUGFzc01hbmFnZXJCdWlsZGVy
UG9wdWxhdGVNb2R1bGVQYXNzTWFuYWdlcihwYXNzQnVpbGRlciwgbW9kdWxlUGFzc2VzKTsKKyAg
ICBsbHZtLT5QYXNzTWFuYWdlckJ1aWxkZXJQb3B1bGF0ZUZ1bmN0aW9uUGFzc01hbmFnZXIocGFz
c0J1aWxkZXIsIGZ1bmN0aW9uUGFzc2VzKTsKKyAgICBsbHZtLT5QYXNzTWFuYWdlckJ1aWxkZXJQ
b3B1bGF0ZU1vZHVsZVBhc3NNYW5hZ2VyKHBhc3NCdWlsZGVyLCBtb2R1bGVQYXNzZXMpOwogICAg
IAotICAgIExMVk1QYXNzTWFuYWdlckJ1aWxkZXJEaXNwb3NlKHBhc3NCdWlsZGVyKTsKKyAgICBs
bHZtLT5QYXNzTWFuYWdlckJ1aWxkZXJEaXNwb3NlKHBhc3NCdWlsZGVyKTsKIAotICAgIExMVk1J
bml0aWFsaXplRnVuY3Rpb25QYXNzTWFuYWdlcihmdW5jdGlvblBhc3Nlcyk7Ci0gICAgZm9yIChM
VmFsdWUgZnVuY3Rpb24gPSBMTFZNR2V0Rmlyc3RGdW5jdGlvbihzdGF0ZS5tb2R1bGUpOyBmdW5j
dGlvbjsgZnVuY3Rpb24gPSBMTFZNR2V0TmV4dEZ1bmN0aW9uKGZ1bmN0aW9uKSkKLSAgICAgICAg
TExWTVJ1bkZ1bmN0aW9uUGFzc01hbmFnZXIoZnVuY3Rpb25QYXNzZXMsIGZ1bmN0aW9uKTsKLSAg
ICBMTFZNRmluYWxpemVGdW5jdGlvblBhc3NNYW5hZ2VyKGZ1bmN0aW9uUGFzc2VzKTsKKyAgICBs
bHZtLT5Jbml0aWFsaXplRnVuY3Rpb25QYXNzTWFuYWdlcihmdW5jdGlvblBhc3Nlcyk7CisgICAg
Zm9yIChMVmFsdWUgZnVuY3Rpb24gPSBsbHZtLT5HZXRGaXJzdEZ1bmN0aW9uKHN0YXRlLm1vZHVs
ZSk7IGZ1bmN0aW9uOyBmdW5jdGlvbiA9IGxsdm0tPkdldE5leHRGdW5jdGlvbihmdW5jdGlvbikp
CisgICAgICAgIGxsdm0tPlJ1bkZ1bmN0aW9uUGFzc01hbmFnZXIoZnVuY3Rpb25QYXNzZXMsIGZ1
bmN0aW9uKTsKKyAgICBsbHZtLT5GaW5hbGl6ZUZ1bmN0aW9uUGFzc01hbmFnZXIoZnVuY3Rpb25Q
YXNzZXMpOwogICAgIAotICAgIExMVk1SdW5QYXNzTWFuYWdlcihtb2R1bGVQYXNzZXMsIHN0YXRl
Lm1vZHVsZSk7CisgICAgbGx2bS0+UnVuUGFzc01hbmFnZXIobW9kdWxlUGFzc2VzLCBzdGF0ZS5t
b2R1bGUpOwogCiAgICAgaWYgKERGRzo6c2hvdWxkU2hvd0Rpc2Fzc2VtYmx5KCkgfHwgREZHOjp2
ZXJib3NlQ29tcGlsYXRpb25FbmFibGVkKCkpCiAgICAgICAgIHN0YXRlLmR1bXBTdGF0ZSgiYWZ0
ZXIgb3B0aW1pemF0aW9uIik7CiAgICAgCiAgICAgLy8gRklYTUU6IE5lZWQgdG8gYWRkIHN1cHBv
cnQgZm9yIHRoZSBjYXNlIHdoZXJlIEpJVCBtZW1vcnkgYWxsb2NhdGlvbiBmYWlsZWQuCiAgICAg
Ly8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTExMzYyMAotICAgIHN0
YXRlLmdlbmVyYXRlZEZ1bmN0aW9uID0gcmVpbnRlcnByZXRfY2FzdDxHZW5lcmF0ZWRGdW5jdGlv
bj4oTExWTUdldFBvaW50ZXJUb0dsb2JhbChlbmdpbmUsIHN0YXRlLmZ1bmN0aW9uKSk7Ci0gICAg
TExWTURpc3Bvc2VQYXNzTWFuYWdlcihmdW5jdGlvblBhc3Nlcyk7Ci0gICAgTExWTURpc3Bvc2VQ
YXNzTWFuYWdlcihtb2R1bGVQYXNzZXMpOwotICAgIExMVk1EaXNwb3NlRXhlY3V0aW9uRW5naW5l
KGVuZ2luZSk7CisgICAgc3RhdGUuZ2VuZXJhdGVkRnVuY3Rpb24gPSByZWludGVycHJldF9jYXN0
PEdlbmVyYXRlZEZ1bmN0aW9uPihsbHZtLT5HZXRQb2ludGVyVG9HbG9iYWwoZW5naW5lLCBzdGF0
ZS5mdW5jdGlvbikpOworICAgIGxsdm0tPkRpc3Bvc2VQYXNzTWFuYWdlcihmdW5jdGlvblBhc3Nl
cyk7CisgICAgbGx2bS0+RGlzcG9zZVBhc3NNYW5hZ2VyKG1vZHVsZVBhc3Nlcyk7CisgICAgbGx2
bS0+RGlzcG9zZUV4ZWN1dGlvbkVuZ2luZShlbmdpbmUpOwogCiAgICAgaWYgKHNob3VsZFNob3dE
aXNhc3NlbWJseSgpKSB7CiAgICAgICAgIC8vIEZJWE1FOiBmb3VydGhUaWVyOiBGVEwgbWVtb3J5
IGFsbG9jYXRvciBzaG91bGQgYmUgYWJsZSB0byB0ZWxsIHVzIHdoaWNoIG9mCkluZGV4OiBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTEZhaWwuY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9mdGwvRlRMRmFpbC5jcHAJKHJldmlzaW9uIDE1NzE3MikKKysrIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMRmFpbC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMwLDcg
KzMwLDcgQEAKIAogI2luY2x1ZGUgIkRGR0ZhaWxlZEZpbmFsaXplci5oIgogI2luY2x1ZGUgIkZU
TEpJVENvZGUuaCIKLSNpbmNsdWRlIDx3dGYvTExWTUhlYWRlcnMuaD4KKyNpbmNsdWRlICJMTFZN
QVBJLmgiCiAKIG5hbWVzcGFjZSBKU0MgeyBuYW1lc3BhY2UgRlRMIHsKIApAQCAtNDAsNyArNDAs
NyBAQCB2b2lkIGZhaWwoU3RhdGUmIHN0YXRlKQogewogICAgIHN0YXRlLmdyYXBoLm1fcGxhbi5m
aW5hbGl6ZXIgPSBhZG9wdFB0cihuZXcgRmFpbGVkRmluYWxpemVyKHN0YXRlLmdyYXBoLm1fcGxh
bikpOwogICAgIAotICAgIExMVk1EaXNwb3NlTW9kdWxlKHN0YXRlLm1vZHVsZSk7CisgICAgbGx2
bS0+RGlzcG9zZU1vZHVsZShzdGF0ZS5tb2R1bGUpOwogfQogCiB9IH0gLy8gbmFtZXNwYWNlIEpT
Qzo6RlRMCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTEpJVENvZGUuaAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTEpJVENvZGUuaAkocmV2aXNp
b24gMTU3MTcyKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExKSVRDb2RlLmgJKHdv
cmtpbmcgY29weSkKQEAgLTMzLDcgKzMzLDcgQEAKICNpbmNsdWRlICJERkdDb21tb25EYXRhLmgi
CiAjaW5jbHVkZSAiRlRMT1NSRXhpdC5oIgogI2luY2x1ZGUgIkpJVENvZGUuaCIKLSNpbmNsdWRl
IDx3dGYvTExWTUhlYWRlcnMuaD4KKyNpbmNsdWRlICJMTFZNQVBJLmgiCiAjaW5jbHVkZSA8d3Rm
L1JlZkNvdW50ZWRBcnJheS5oPgogCiBuYW1lc3BhY2UgSlNDIHsgbmFtZXNwYWNlIEZUTCB7Cklu
ZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTEpJVEZpbmFsaXplci5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMSklURmluYWxpemVyLmgJKHJldmlz
aW9uIDE1NzE3MikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMSklURmluYWxpemVy
LmgJKHdvcmtpbmcgY29weSkKQEAgLTMzLDkgKzMzLDkgQEAKICNpbmNsdWRlICJERkdGaW5hbGl6
ZXIuaCIKICNpbmNsdWRlICJGVExHZW5lcmF0ZWRGdW5jdGlvbi5oIgogI2luY2x1ZGUgIkZUTEpJ
VENvZGUuaCIKKyNpbmNsdWRlICJMTFZNQVBJLmgiCiAjaW5jbHVkZSAiTGlua0J1ZmZlci5oIgog
I2luY2x1ZGUgIk1hY3JvQXNzZW1ibGVyLmgiCi0jaW5jbHVkZSA8d3RmL0xMVk1IZWFkZXJzLmg+
CiAKIG5hbWVzcGFjZSBKU0MgeyBuYW1lc3BhY2UgRlRMIHsKIApJbmRleDogU291cmNlL0phdmFT
Y3JpcHRDb3JlL2Z0bC9GVExMaW5rLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvZnRsL0ZUTExpbmsuY3BwCShyZXZpc2lvbiAxNTcxNzIpCisrKyBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvZnRsL0ZUTExpbmsuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zNSw5ICszNSw5IEBA
CiAjaW5jbHVkZSAiRlRMSklUQ29kZS5oIgogI2luY2x1ZGUgIkpJVE9wZXJhdGlvbnMuaCIKICNp
bmNsdWRlICJKSVRTdHVicy5oIgorI2luY2x1ZGUgIkxMVk1BUEkuaCIKICNpbmNsdWRlICJMaW5r
QnVmZmVyLmgiCiAjaW5jbHVkZSAiVmlydHVhbFJlZ2lzdGVyLmgiCi0jaW5jbHVkZSA8d3RmL0xM
Vk1IZWFkZXJzLmg+CiAKIG5hbWVzcGFjZSBKU0MgeyBuYW1lc3BhY2UgRlRMIHsKIApJbmRleDog
U291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExMb3dlckRGR1RvTExWTS5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExMb3dlckRGR1RvTExWTS5jcHAJKHJl
dmlzaW9uIDE1NzE3MikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMTG93ZXJERkdU
b0xMVk0uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC05MSw3ICs5MSw3IEBAIHB1YmxpYzoKICAgICAg
ICAgbV9ncmFwaC5tX2RvbWluYXRvcnMuY29tcHV0ZUlmTmVjZXNzYXJ5KG1fZ3JhcGgpOwogICAg
ICAgICAKICAgICAgICAgbV9mdGxTdGF0ZS5tb2R1bGUgPQotICAgICAgICAgICAgTExWTU1vZHVs
ZUNyZWF0ZVdpdGhOYW1lSW5Db250ZXh0KG5hbWUuZGF0YSgpLCBtX2Z0bFN0YXRlLmNvbnRleHQp
OworICAgICAgICAgICAgbGx2bS0+TW9kdWxlQ3JlYXRlV2l0aE5hbWVJbkNvbnRleHQobmFtZS5k
YXRhKCksIG1fZnRsU3RhdGUuY29udGV4dCk7CiAgICAgICAgIAogICAgICAgICBtX2Z0bFN0YXRl
LmZ1bmN0aW9uID0gYWRkRnVuY3Rpb24oCiAgICAgICAgICAgICBtX2Z0bFN0YXRlLm1vZHVsZSwg
bmFtZS5kYXRhKCksIGZ1bmN0aW9uVHlwZShtX291dC5pbnQ2NCwgbV9vdXQuaW50UHRyKSk7Cklu
ZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTE91dHB1dC5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExPdXRwdXQuY3BwCShyZXZpc2lvbiAxNTcx
NzIpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTE91dHB1dC5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTM0LDcgKzM0LDcgQEAgT3V0cHV0OjpPdXRwdXQoTENvbnRleHQgY29udGV4dCkK
ICAgICA6IEludHJpbnNpY1JlcG9zaXRvcnkoY29udGV4dCkKICAgICAsIG1fZnVuY3Rpb24oMCkK
ICAgICAsIG1faGVhcHMoMCkKLSAgICAsIG1fYnVpbGRlcihMTFZNQ3JlYXRlQnVpbGRlckluQ29u
dGV4dChtX2NvbnRleHQpKQorICAgICwgbV9idWlsZGVyKGxsdm0tPkNyZWF0ZUJ1aWxkZXJJbkNv
bnRleHQobV9jb250ZXh0KSkKICAgICAsIG1fYmxvY2soMCkKICAgICAsIG1fbmV4dEJsb2NrKDAp
CiB7CkBAIC00Miw3ICs0Miw3IEBAIE91dHB1dDo6T3V0cHV0KExDb250ZXh0IGNvbnRleHQpCiAK
IE91dHB1dDo6fk91dHB1dCgpCiB7Ci0gICAgTExWTURpc3Bvc2VCdWlsZGVyKG1fYnVpbGRlcik7
CisgICAgbGx2bS0+RGlzcG9zZUJ1aWxkZXIobV9idWlsZGVyKTsKIH0KIAogfSB9IC8vIG5hbWVz
cGFjZSBKU0M6OkZUTApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExPdXRwdXQu
aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTE91dHB1dC5oCShy
ZXZpc2lvbiAxNTcxNzIpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTE91dHB1dC5o
CSh3b3JraW5nIGNvcHkpCkBAIC05NCw3ICs5NCw3IEBAIHB1YmxpYzoKICAgICB7CiAgICAgICAg
IG1fYmxvY2sgPSBibG9jazsKICAgICAgICAgCi0gICAgICAgIExMVk1Qb3NpdGlvbkJ1aWxkZXJB
dEVuZChtX2J1aWxkZXIsIGJsb2NrKTsKKyAgICAgICAgbGx2bS0+UG9zaXRpb25CdWlsZGVyQXRF
bmQobV9idWlsZGVyLCBibG9jayk7CiAgICAgfQogICAgIExCYXNpY0Jsb2NrIG5ld0Jsb2NrKGNv
bnN0IGNoYXIqIG5hbWUgPSAiIikKICAgICB7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
ZnRsL0ZUTFN0YXRlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRs
L0ZUTFN0YXRlLmNwcAkocmV2aXNpb24gMTU3MTcyKQorKysgU291cmNlL0phdmFTY3JpcHRDb3Jl
L2Z0bC9GVExTdGF0ZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM5LDcgKzM5LDcgQEAgdXNpbmcg
bmFtZXNwYWNlIERGRzsKIAogU3RhdGU6OlN0YXRlKEdyYXBoJiBncmFwaCkKICAgICA6IGdyYXBo
KGdyYXBoKQotICAgICwgY29udGV4dChMTFZNQ29udGV4dENyZWF0ZSgpKQorICAgICwgY29udGV4
dChsbHZtLT5Db250ZXh0Q3JlYXRlKCkpCiAgICAgLCBtb2R1bGUoMCkKICAgICAsIGZ1bmN0aW9u
KDApCiAgICAgLCBnZW5lcmF0ZWRGdW5jdGlvbigwKQpAQCAtNjcsNyArNjcsNyBAQCBTdGF0ZTo6
U3RhdGUoR3JhcGgmIGdyYXBoKQogCiBTdGF0ZTo6flN0YXRlKCkKIHsKLSAgICBMTFZNQ29udGV4
dERpc3Bvc2UoY29udGV4dCk7CisgICAgbGx2bS0+Q29udGV4dERpc3Bvc2UoY29udGV4dCk7CiB9
CiAKIHZvaWQgU3RhdGU6OmR1bXBTdGF0ZShjb25zdCBjaGFyKiB3aGVuKQpJbmRleDogU291cmNl
L0phdmFTY3JpcHRDb3JlL2Z0bC9XZWJLaXRMTFZNTGlicmFyeUFuY2hvci5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9XZWJLaXRMTFZNTGlicmFyeUFuY2hvci5j
cHAJKHJldmlzaW9uIDE1NzE3MikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvV2ViS2l0
TExWTUxpYnJhcnlBbmNob3IuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xLDM0ICswLDAgQEAKLS8q
Ci0gKiBDb3B5cmlnaHQgKEMpIDIwMTMgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgot
ICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQK
LSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJp
YnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBg
YEFTIElTJycgQU5EIEFOWQotICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKLSAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBB
UkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKLSAqIENPTlRS
SUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT
UEVDSUFMLAotICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCi0gKiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCi0gKiBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRP
UlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCi0gKi8KLQotI2luY2x1ZGUgImNv
bmZpZy5oIgotCi0jaWYgRU5BQkxFKEZUTF9KSVQpCi0vLyBUaGlzIGlzIGEgaGFjayBmb3IgZW5z
dXJpbmcgdGhhdCB0aGUgYnVpbGQgc3lzdGVtIHJlbGlua3MgSmF2YVNjcmlwdENvcmUgaWYgYW55
Ci0vLyBvZiB0aGUgTExWTSBsaWJyYXJpZXMgYXJlIGtub3duIHRvIGhhdmUgY2hhbmdlZC4KLSNp
bmNsdWRlICJXZWJLaXRMTFZNTGlicmFyeVRva2VuLmgiCi0KLSNlbmRpZgotCkluZGV4OiBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGx2bS9Jbml0aWFsaXplTExWTS5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsdm0vSW5pdGlhbGl6ZUxMVk0uY3BwCShyZXZpc2lvbiAw
KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2xsdm0vSW5pdGlhbGl6ZUxMVk0uY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC0wLDAgKzEsNDUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTMgQXBw
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVT
UyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBU
SEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1Mg
Rk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5U
IFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBD
T05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICog
UFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
IERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4gCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIkluaXRpYWxp
emVMTFZNLmgiCisKKyNpZiBIQVZFKExMVk0pCisKKyNpbmNsdWRlIDx3dGYvVGhyZWFkaW5nLmg+
CisKK25hbWVzcGFjZSBKU0MgeworCitzdGF0aWMgcHRocmVhZF9vbmNlX3QgaW5pdGlhbGl6ZUxM
Vk1PbmNlS2V5ID0gUFRIUkVBRF9PTkNFX0lOSVQ7CisKK3ZvaWQgaW5pdGlhbGl6ZUxMVk0oKQor
eworICAgIHB0aHJlYWRfb25jZSgmaW5pdGlhbGl6ZUxMVk1PbmNlS2V5LCBpbml0aWFsaXplTExW
TUltcGwpOworfQorCit9IC8vIG5hbWVzcGFjZSBKU0MKKworI2VuZGlmIC8vIEhBVkUoTExWTSkK
KwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2xsdm0vSW5pdGlhbGl6ZUxMVk0uaAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvbGx2bS9Jbml0aWFsaXplTExWTS5oCShy
ZXZpc2lvbiAwKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2xsdm0vSW5pdGlhbGl6ZUxMVk0u
aAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDQ0IEBACisvKgorICogQ29weXJpZ2h0IChDKSAy
MDEzIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAq
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBO
TyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFS
WSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UK
KyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuIAorICovCisKKyNpZm5kZWYgSW5pdGlhbGl6ZUxMVk1faAorI2RlZmlu
ZSBJbml0aWFsaXplTExWTV9oCisKKyNpbmNsdWRlIDx3dGYvUGxhdGZvcm0uaD4KKworI2lmIEhB
VkUoTExWTSkKKworbmFtZXNwYWNlIEpTQyB7CisKK3ZvaWQgaW5pdGlhbGl6ZUxMVk1JbXBsKCk7
CisKK3ZvaWQgaW5pdGlhbGl6ZUxMVk0oKTsgLy8gSXQncyBzYWZlIHRvIGNhbGwgdGhpcyBtdWx0
aXBsZSB0aW1lcy4KKworfSAvLyBuYW1lc3BhY2UgSlNDCisKKyNlbmRpZiAvLyBIQVZFKExMVk0p
CisKKyNlbmRpZiAvLyBJbml0aWFsaXplTExWTV9oCisKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbHZtL0luaXRpYWxpemVMTFZNTWFjLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbHZtL0luaXRpYWxpemVMTFZNTWFjLm1tCShyZXZpc2lvbiAwKQorKysgU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsdm0vSW5pdGlhbGl6ZUxMVk1NYWMubW0JKHdvcmtpbmcgY29w
eSkKQEAgLTAsMCArMSw1NiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMyBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAq
IGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICog
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQ
QVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwg
QVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJF
TUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwg
T1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LiAKKyAqLworCisjaW1wb3J0ICJjb25maWcuaCIKKyNpbXBvcnQgIkluaXRpYWxpemVMTFZNLmgi
CisKKyNpZiBIQVZFKExMVk0pCisKKyNpbXBvcnQgIkluaXRpYWxpemVMTFZNUE9TSVguaCIKKyNp
bXBvcnQgPEZvdW5kYXRpb24vRm91bmRhdGlvbi5oPgorI2ltcG9ydCA8d3RmL0RhdGFMb2cuaD4K
KyNpbXBvcnQgPHd0Zi9TdHJpbmdQcmludFN0cmVhbS5oPgorI2ltcG9ydCA8d3RmL3RleHQvV1RG
U3RyaW5nLmg+CisKK0BpbnRlcmZhY2UgSlNDTExWTUR1bW15IDogTlNPYmplY3QKK0BlbmQKKwor
QGltcGxlbWVudGF0aW9uIEpTQ0xMVk1EdW1teSB7Cit9CitAZW5kCisKK25hbWVzcGFjZSBKU0Mg
eworCit2b2lkIGluaXRpYWxpemVMTFZNSW1wbCgpCit7CisgICAgTlNCdW5kbGUqIG15QnVuZGxl
ID0gW05TQnVuZGxlIGJ1bmRsZUZvckNsYXNzOltKU0NMTFZNRHVtbXkgY2xhc3NdXTsKKyAgICBO
U1N0cmluZyogcGF0aCA9IFtteUJ1bmRsZSBidW5kbGVQYXRoXTsKKyAgICAKKyAgICBpbml0aWFs
aXplTExWTVBPU0lYKHRvQ1N0cmluZyhbcGF0aCBVVEY4U3RyaW5nXSwgIi9MaWJyYXJpZXMvbGli
bGx2bUZvckpTQy5keWxpYiIpLmRhdGEoKSk7Cit9CisKK30gLy8gbmFtZXNwYWNlIEpTQworCisj
ZW5kaWYgLy8gSEFWRShMTFZNKQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2xsdm0vSW5p
dGlhbGl6ZUxMVk1QT1NJWC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsdm0vSW5pdGlhbGl6ZUxMVk1QT1NJWC5jcHAJKHJldmlzaW9uIDApCisrKyBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGx2bS9Jbml0aWFsaXplTExWTVBPU0lYLmNwcAkod29ya2luZyBjb3B5KQpA
QCAtMCwwICsxLDUzIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEzIEFwcGxlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJl
IG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJ
Q1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBM
RSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElB
TCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5U
IE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgor
ICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAor
ICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJJbml0aWFsaXplTExWTVBPU0lY
LmgiCisKKyNpZiBIQVZFKExMVk0pCisKKyNpbmNsdWRlICJMTFZNQVBJLmgiCisjaW5jbHVkZSA8
ZGxmY24uaD4KKworbmFtZXNwYWNlIEpTQyB7CisKK3R5cGVkZWYgTExWTUFQSSogKCpJbml0aWFs
aXplckZ1bmN0aW9uKSgpOworCit2b2lkIGluaXRpYWxpemVMTFZNUE9TSVgoY29uc3QgY2hhciog
bGlicmFyeU5hbWUpCit7CisgICAgdm9pZCogbGlicmFyeSA9IGRsb3BlbihsaWJyYXJ5TmFtZSwg
UlRMRF9OT1cpOworICAgIEFTU0VSVF9XSVRIX01FU1NBR0UobGlicmFyeSwgIiVzIiwgZGxlcnJv
cigpKTsKKyAgICAKKyAgICBJbml0aWFsaXplckZ1bmN0aW9uIGluaXRpYWxpemVyID0gYml0d2lz
ZV9jYXN0PEluaXRpYWxpemVyRnVuY3Rpb24+KAorICAgICAgICBkbHN5bShsaWJyYXJ5LCAiaW5p
dGlhbGl6ZUFuZEdldEpTQ0xMVk1BUEkiKSk7CisgICAgQVNTRVJUX1dJVEhfTUVTU0FHRShpbml0
aWFsaXplciwgIiVzIiwgZGxlcnJvcigpKTsKKyAgICAKKyAgICBsbHZtID0gaW5pdGlhbGl6ZXIo
KTsKK30KKworfSAvLyBuYW1lc3BhY2UgSlNDCisKKyNlbmRpZiAvLyBIQVZFKExMVk0pCisKSW5k
ZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbHZtL0luaXRpYWxpemVMTFZNUE9TSVguaAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvbGx2bS9Jbml0aWFsaXplTExWTVBPU0lY
LmgJKHJldmlzaW9uIDApCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvbGx2bS9Jbml0aWFsaXpl
TExWTVBPU0lYLmgJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw0MiBAQAorLyoKKyAqIENvcHly
aWdodCAoQykgMjAxMyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisg
KgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBB
TkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJF
IExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisg
KiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKyAqLworCisjaWZuZGVmIEluaXRpYWxpemVMTFZN
UE9TSVhfaAorI2RlZmluZSBJbml0aWFsaXplTExWTVBPU0lYX2gKKworI2luY2x1ZGUgPHd0Zi9Q
bGF0Zm9ybS5oPgorCisjaWYgSEFWRShMTFZNKQorCituYW1lc3BhY2UgSlNDIHsKKwordm9pZCBp
bml0aWFsaXplTExWTVBPU0lYKGNvbnN0IGNoYXIqIGxpYnJhcnlOYW1lKTsKKworfSAvLyBuYW1l
c3BhY2UgSlNDCisKKyNlbmRpZiAvLyBIQVZFKExMVk0pCisKKyNlbmRpZiAvLyBJbml0aWFsaXpl
TExWTVBPU0lYX2gKKwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2xsdm0vTExWTUFQSS5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2xsdm0vTExWTUFQSS5jcHAJ
KHJldmlzaW9uIDApCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvbGx2bS9MTFZNQVBJLmNwcAko
d29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDM0IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEz
IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29k
ZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRp
c3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIg
bWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNP
RlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBF
VkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBB
TlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwg
T1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywK
KyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0Yg
VVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
IENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAq
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuIAorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJMTFZN
QVBJLmgiCisKK25hbWVzcGFjZSBKU0MgeworCitMTFZNQVBJKiBsbHZtOworCit9CisKSW5kZXg6
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbHZtL0xMVk1BUEkuaAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGx2bS9MTFZNQVBJLmgJKHJldmlzaW9uIDApCisrKyBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGx2bS9MTFZNQVBJLmgJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw0
NiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAx
LiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAq
ICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBM
RSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgor
ICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7
IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVP
UlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKyAqLworCisjaWZu
ZGVmIExMVk1BUElfaAorI2RlZmluZSBMTFZNQVBJX2gKKworI2luY2x1ZGUgIkxMVk1BUElGdW5j
dGlvbnMuaCIKKyNpbmNsdWRlICJMTFZNSGVhZGVycy5oIgorCituYW1lc3BhY2UgSlNDIHsKKwor
c3RydWN0IExMVk1BUEkgeworI2RlZmluZSBMTFZNX0FQSV9GVU5DVElPTl9ERUNMQVJBVElPTihy
ZXR1cm5UeXBlLCBuYW1lLCBzaWduYXR1cmUpIFwKKyAgICByZXR1cm5UeXBlICgqbmFtZSkgc2ln
bmF0dXJlOworICAgIEZPUl9FQUNIX0xMVk1fQVBJX0ZVTkNUSU9OKExMVk1fQVBJX0ZVTkNUSU9O
X0RFQ0xBUkFUSU9OKQorI3VuZGVmIExMVk1fQVBJX0ZVTkNUSU9OX0RFQ0xBUkFUSU9OCit9Owor
CitleHRlcm4gTExWTUFQSSogbGx2bTsKKworfSAvLyBuYW1lc3BhY2UgSlNDCisKKyNlbmRpZiAv
LyBMTFZNQVBJX2gKKwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2xsdm0vTExWTUFQSUZ1
bmN0aW9ucy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbHZtL0xMVk1B
UElGdW5jdGlvbnMuaAkocmV2aXNpb24gMCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbHZt
L0xMVk1BUElGdW5jdGlvbnMuaAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDYzNiBAQAorLyoK
KyAqIENvcHlyaWdodCAoQykgMjAxMyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisg
KgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBg
QVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1F
UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFS
RSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJ
QlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQ
RUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lO
RVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9S
VAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKyAqLworCisjaWZuZGVmIExMVk1B
UElGdW5jdGlvbnNfaAorI2RlZmluZSBMTFZNQVBJRnVuY3Rpb25zX2gKKworI2luY2x1ZGUgIkxM
Vk1IZWFkZXJzLmgiCisKKyNkZWZpbmUgRk9SX0VBQ0hfTExWTV9BUElfRlVOQ1RJT04obWFjcm8p
IFwKKyAgICBtYWNybyh2b2lkICwgSW5pdGlhbGl6ZUNvcmUsIChMTFZNUGFzc1JlZ2lzdHJ5UmVm
IFIpKSBcCisgICAgbWFjcm8odm9pZCAsIFNodXRkb3duLCAoKSkgXAorICAgIG1hY3JvKGNoYXIg
KiwgQ3JlYXRlTWVzc2FnZSwgKGNvbnN0IGNoYXIgKk1lc3NhZ2UpKSBcCisgICAgbWFjcm8odm9p
ZCAsIERpc3Bvc2VNZXNzYWdlLCAoY2hhciAqTWVzc2FnZSkpIFwKKyAgICBtYWNybyhMTFZNQ29u
dGV4dFJlZiAsIENvbnRleHRDcmVhdGUsICh2b2lkKSkgXAorICAgIG1hY3JvKExMVk1Db250ZXh0
UmVmICwgR2V0R2xvYmFsQ29udGV4dCwgKHZvaWQpKSBcCisgICAgbWFjcm8odm9pZCAsIENvbnRl
eHREaXNwb3NlLCAoTExWTUNvbnRleHRSZWYgQykpIFwKKyAgICBtYWNybyh1bnNpZ25lZCAsIEdl
dE1ES2luZElESW5Db250ZXh0LCAoTExWTUNvbnRleHRSZWYgQywgY29uc3QgY2hhciogTmFtZSwg
dW5zaWduZWQgU0xlbikpIFwKKyAgICBtYWNybyh1bnNpZ25lZCAsIEdldE1ES2luZElELCAoY29u
c3QgY2hhciogTmFtZSwgdW5zaWduZWQgU0xlbikpIFwKKyAgICBtYWNybyhMTFZNTW9kdWxlUmVm
ICwgTW9kdWxlQ3JlYXRlV2l0aE5hbWUsIChjb25zdCBjaGFyICpNb2R1bGVJRCkpIFwKKyAgICBt
YWNybyhMTFZNTW9kdWxlUmVmICwgTW9kdWxlQ3JlYXRlV2l0aE5hbWVJbkNvbnRleHQsIChjb25z
dCBjaGFyICpNb2R1bGVJRCwgTExWTUNvbnRleHRSZWYgQykpIFwKKyAgICBtYWNybyh2b2lkICwg
RGlzcG9zZU1vZHVsZSwgKExMVk1Nb2R1bGVSZWYgTSkpIFwKKyAgICBtYWNybyhjb25zdCBjaGFy
ICosIEdldERhdGFMYXlvdXQsIChMTFZNTW9kdWxlUmVmIE0pKSBcCisgICAgbWFjcm8odm9pZCAs
IFNldERhdGFMYXlvdXQsIChMTFZNTW9kdWxlUmVmIE0sIGNvbnN0IGNoYXIgKlRyaXBsZSkpIFwK
KyAgICBtYWNybyhjb25zdCBjaGFyICosIEdldFRhcmdldCwgKExMVk1Nb2R1bGVSZWYgTSkpIFwK
KyAgICBtYWNybyh2b2lkICwgU2V0VGFyZ2V0LCAoTExWTU1vZHVsZVJlZiBNLCBjb25zdCBjaGFy
ICpUcmlwbGUpKSBcCisgICAgbWFjcm8odm9pZCAsIER1bXBNb2R1bGUsIChMTFZNTW9kdWxlUmVm
IE0pKSBcCisgICAgbWFjcm8oTExWTUJvb2wgLCBQcmludE1vZHVsZVRvRmlsZSwgKExMVk1Nb2R1
bGVSZWYgTSwgY29uc3QgY2hhciAqRmlsZW5hbWUsIGNoYXIgKipFcnJvck1lc3NhZ2UpKSBcCisg
ICAgbWFjcm8odm9pZCAsIFNldE1vZHVsZUlubGluZUFzbSwgKExMVk1Nb2R1bGVSZWYgTSwgY29u
c3QgY2hhciAqQXNtKSkgXAorICAgIG1hY3JvKExMVk1Db250ZXh0UmVmICwgR2V0TW9kdWxlQ29u
dGV4dCwgKExMVk1Nb2R1bGVSZWYgTSkpIFwKKyAgICBtYWNybyhMTFZNVHlwZVJlZiAsIEdldFR5
cGVCeU5hbWUsIChMTFZNTW9kdWxlUmVmIE0sIGNvbnN0IGNoYXIgKk5hbWUpKSBcCisgICAgbWFj
cm8odW5zaWduZWQgLCBHZXROYW1lZE1ldGFkYXRhTnVtT3BlcmFuZHMsIChMTFZNTW9kdWxlUmVm
IE0sIGNvbnN0IGNoYXIqIG5hbWUpKSBcCisgICAgbWFjcm8odm9pZCAsIEdldE5hbWVkTWV0YWRh
dGFPcGVyYW5kcywgKExMVk1Nb2R1bGVSZWYgTSwgY29uc3QgY2hhciogbmFtZSwgTExWTVZhbHVl
UmVmICpEZXN0KSkgXAorICAgIG1hY3JvKHZvaWQgLCBBZGROYW1lZE1ldGFkYXRhT3BlcmFuZCwg
KExMVk1Nb2R1bGVSZWYgTSwgY29uc3QgY2hhciogbmFtZSwgTExWTVZhbHVlUmVmIFZhbCkpIFwK
KyAgICBtYWNybyhMTFZNVmFsdWVSZWYgLCBBZGRGdW5jdGlvbiwgKExMVk1Nb2R1bGVSZWYgTSwg
Y29uc3QgY2hhciAqTmFtZSwgTExWTVR5cGVSZWYgRnVuY3Rpb25UeSkpIFwKKyAgICBtYWNybyhM
TFZNVmFsdWVSZWYgLCBHZXROYW1lZEZ1bmN0aW9uLCAoTExWTU1vZHVsZVJlZiBNLCBjb25zdCBj
aGFyICpOYW1lKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiAsIEdldEZpcnN0RnVuY3Rpb24s
IChMTFZNTW9kdWxlUmVmIE0pKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmICwgR2V0TGFzdEZ1
bmN0aW9uLCAoTExWTU1vZHVsZVJlZiBNKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiAsIEdl
dE5leHRGdW5jdGlvbiwgKExMVk1WYWx1ZVJlZiBGbikpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVS
ZWYgLCBHZXRQcmV2aW91c0Z1bmN0aW9uLCAoTExWTVZhbHVlUmVmIEZuKSkgXAorICAgIG1hY3Jv
KExMVk1UeXBlS2luZCAsIEdldFR5cGVLaW5kLCAoTExWTVR5cGVSZWYgVHkpKSBcCisgICAgbWFj
cm8oTExWTUJvb2wgLCBUeXBlSXNTaXplZCwgKExMVk1UeXBlUmVmIFR5KSkgXAorICAgIG1hY3Jv
KExMVk1Db250ZXh0UmVmICwgR2V0VHlwZUNvbnRleHQsIChMTFZNVHlwZVJlZiBUeSkpIFwKKyAg
ICBtYWNybyhMTFZNVHlwZVJlZiAsIEludDFUeXBlSW5Db250ZXh0LCAoTExWTUNvbnRleHRSZWYg
QykpIFwKKyAgICBtYWNybyhMTFZNVHlwZVJlZiAsIEludDhUeXBlSW5Db250ZXh0LCAoTExWTUNv
bnRleHRSZWYgQykpIFwKKyAgICBtYWNybyhMTFZNVHlwZVJlZiAsIEludDE2VHlwZUluQ29udGV4
dCwgKExMVk1Db250ZXh0UmVmIEMpKSBcCisgICAgbWFjcm8oTExWTVR5cGVSZWYgLCBJbnQzMlR5
cGVJbkNvbnRleHQsIChMTFZNQ29udGV4dFJlZiBDKSkgXAorICAgIG1hY3JvKExMVk1UeXBlUmVm
ICwgSW50NjRUeXBlSW5Db250ZXh0LCAoTExWTUNvbnRleHRSZWYgQykpIFwKKyAgICBtYWNybyhM
TFZNVHlwZVJlZiAsIEludFR5cGVJbkNvbnRleHQsIChMTFZNQ29udGV4dFJlZiBDLCB1bnNpZ25l
ZCBOdW1CaXRzKSkgXAorICAgIG1hY3JvKExMVk1UeXBlUmVmICwgSW50MVR5cGUsICh2b2lkKSkg
XAorICAgIG1hY3JvKExMVk1UeXBlUmVmICwgSW50OFR5cGUsICh2b2lkKSkgXAorICAgIG1hY3Jv
KExMVk1UeXBlUmVmICwgSW50MTZUeXBlLCAodm9pZCkpIFwKKyAgICBtYWNybyhMTFZNVHlwZVJl
ZiAsIEludDMyVHlwZSwgKHZvaWQpKSBcCisgICAgbWFjcm8oTExWTVR5cGVSZWYgLCBJbnQ2NFR5
cGUsICh2b2lkKSkgXAorICAgIG1hY3JvKExMVk1UeXBlUmVmICwgSW50VHlwZSwgKHVuc2lnbmVk
IE51bUJpdHMpKSBcCisgICAgbWFjcm8odW5zaWduZWQgLCBHZXRJbnRUeXBlV2lkdGgsIChMTFZN
VHlwZVJlZiBJbnRlZ2VyVHkpKSBcCisgICAgbWFjcm8oTExWTVR5cGVSZWYgLCBIYWxmVHlwZUlu
Q29udGV4dCwgKExMVk1Db250ZXh0UmVmIEMpKSBcCisgICAgbWFjcm8oTExWTVR5cGVSZWYgLCBG
bG9hdFR5cGVJbkNvbnRleHQsIChMTFZNQ29udGV4dFJlZiBDKSkgXAorICAgIG1hY3JvKExMVk1U
eXBlUmVmICwgRG91YmxlVHlwZUluQ29udGV4dCwgKExMVk1Db250ZXh0UmVmIEMpKSBcCisgICAg
bWFjcm8oTExWTVR5cGVSZWYgLCBYODZGUDgwVHlwZUluQ29udGV4dCwgKExMVk1Db250ZXh0UmVm
IEMpKSBcCisgICAgbWFjcm8oTExWTVR5cGVSZWYgLCBGUDEyOFR5cGVJbkNvbnRleHQsIChMTFZN
Q29udGV4dFJlZiBDKSkgXAorICAgIG1hY3JvKExMVk1UeXBlUmVmICwgUFBDRlAxMjhUeXBlSW5D
b250ZXh0LCAoTExWTUNvbnRleHRSZWYgQykpIFwKKyAgICBtYWNybyhMTFZNVHlwZVJlZiAsIEhh
bGZUeXBlLCAodm9pZCkpIFwKKyAgICBtYWNybyhMTFZNVHlwZVJlZiAsIEZsb2F0VHlwZSwgKHZv
aWQpKSBcCisgICAgbWFjcm8oTExWTVR5cGVSZWYgLCBEb3VibGVUeXBlLCAodm9pZCkpIFwKKyAg
ICBtYWNybyhMTFZNVHlwZVJlZiAsIFg4NkZQODBUeXBlLCAodm9pZCkpIFwKKyAgICBtYWNybyhM
TFZNVHlwZVJlZiAsIEZQMTI4VHlwZSwgKHZvaWQpKSBcCisgICAgbWFjcm8oTExWTVR5cGVSZWYg
LCBQUENGUDEyOFR5cGUsICh2b2lkKSkgXAorICAgIG1hY3JvKExMVk1UeXBlUmVmICwgRnVuY3Rp
b25UeXBlLCAoTExWTVR5cGVSZWYgUmV0dXJuVHlwZSwgTExWTVR5cGVSZWYgKlBhcmFtVHlwZXMs
IHVuc2lnbmVkIFBhcmFtQ291bnQsIExMVk1Cb29sIElzVmFyQXJnKSkgXAorICAgIG1hY3JvKExM
Vk1Cb29sICwgSXNGdW5jdGlvblZhckFyZywgKExMVk1UeXBlUmVmIEZ1bmN0aW9uVHkpKSBcCisg
ICAgbWFjcm8oTExWTVR5cGVSZWYgLCBHZXRSZXR1cm5UeXBlLCAoTExWTVR5cGVSZWYgRnVuY3Rp
b25UeSkpIFwKKyAgICBtYWNybyh1bnNpZ25lZCAsIENvdW50UGFyYW1UeXBlcywgKExMVk1UeXBl
UmVmIEZ1bmN0aW9uVHkpKSBcCisgICAgbWFjcm8odm9pZCAsIEdldFBhcmFtVHlwZXMsIChMTFZN
VHlwZVJlZiBGdW5jdGlvblR5LCBMTFZNVHlwZVJlZiAqRGVzdCkpIFwKKyAgICBtYWNybyhMTFZN
VHlwZVJlZiAsIFN0cnVjdFR5cGVJbkNvbnRleHQsIChMTFZNQ29udGV4dFJlZiBDLCBMTFZNVHlw
ZVJlZiAqRWxlbWVudFR5cGVzLCB1bnNpZ25lZCBFbGVtZW50Q291bnQsIExMVk1Cb29sIFBhY2tl
ZCkpIFwKKyAgICBtYWNybyhMTFZNVHlwZVJlZiAsIFN0cnVjdFR5cGUsIChMTFZNVHlwZVJlZiAq
RWxlbWVudFR5cGVzLCB1bnNpZ25lZCBFbGVtZW50Q291bnQsIExMVk1Cb29sIFBhY2tlZCkpIFwK
KyAgICBtYWNybyhMTFZNVHlwZVJlZiAsIFN0cnVjdENyZWF0ZU5hbWVkLCAoTExWTUNvbnRleHRS
ZWYgQywgY29uc3QgY2hhciAqTmFtZSkpIFwKKyAgICBtYWNybyhjb25zdCBjaGFyICosIEdldFN0
cnVjdE5hbWUsIChMTFZNVHlwZVJlZiBUeSkpIFwKKyAgICBtYWNybyh2b2lkICwgU3RydWN0U2V0
Qm9keSwgKExMVk1UeXBlUmVmIFN0cnVjdFR5LCBMTFZNVHlwZVJlZiAqRWxlbWVudFR5cGVzLCB1
bnNpZ25lZCBFbGVtZW50Q291bnQsIExMVk1Cb29sIFBhY2tlZCkpIFwKKyAgICBtYWNybyh1bnNp
Z25lZCAsIENvdW50U3RydWN0RWxlbWVudFR5cGVzLCAoTExWTVR5cGVSZWYgU3RydWN0VHkpKSBc
CisgICAgbWFjcm8odm9pZCAsIEdldFN0cnVjdEVsZW1lbnRUeXBlcywgKExMVk1UeXBlUmVmIFN0
cnVjdFR5LCBMTFZNVHlwZVJlZiAqRGVzdCkpIFwKKyAgICBtYWNybyhMTFZNQm9vbCAsIElzUGFj
a2VkU3RydWN0LCAoTExWTVR5cGVSZWYgU3RydWN0VHkpKSBcCisgICAgbWFjcm8oTExWTUJvb2wg
LCBJc09wYXF1ZVN0cnVjdCwgKExMVk1UeXBlUmVmIFN0cnVjdFR5KSkgXAorICAgIG1hY3JvKExM
Vk1UeXBlUmVmICwgR2V0RWxlbWVudFR5cGUsIChMTFZNVHlwZVJlZiBUeSkpIFwKKyAgICBtYWNy
byhMTFZNVHlwZVJlZiAsIEFycmF5VHlwZSwgKExMVk1UeXBlUmVmIEVsZW1lbnRUeXBlLCB1bnNp
Z25lZCBFbGVtZW50Q291bnQpKSBcCisgICAgbWFjcm8odW5zaWduZWQgLCBHZXRBcnJheUxlbmd0
aCwgKExMVk1UeXBlUmVmIEFycmF5VHkpKSBcCisgICAgbWFjcm8oTExWTVR5cGVSZWYgLCBQb2lu
dGVyVHlwZSwgKExMVk1UeXBlUmVmIEVsZW1lbnRUeXBlLCB1bnNpZ25lZCBBZGRyZXNzU3BhY2Up
KSBcCisgICAgbWFjcm8odW5zaWduZWQgLCBHZXRQb2ludGVyQWRkcmVzc1NwYWNlLCAoTExWTVR5
cGVSZWYgUG9pbnRlclR5KSkgXAorICAgIG1hY3JvKExMVk1UeXBlUmVmICwgVmVjdG9yVHlwZSwg
KExMVk1UeXBlUmVmIEVsZW1lbnRUeXBlLCB1bnNpZ25lZCBFbGVtZW50Q291bnQpKSBcCisgICAg
bWFjcm8odW5zaWduZWQgLCBHZXRWZWN0b3JTaXplLCAoTExWTVR5cGVSZWYgVmVjdG9yVHkpKSBc
CisgICAgbWFjcm8oTExWTVR5cGVSZWYgLCBWb2lkVHlwZUluQ29udGV4dCwgKExMVk1Db250ZXh0
UmVmIEMpKSBcCisgICAgbWFjcm8oTExWTVR5cGVSZWYgLCBMYWJlbFR5cGVJbkNvbnRleHQsIChM
TFZNQ29udGV4dFJlZiBDKSkgXAorICAgIG1hY3JvKExMVk1UeXBlUmVmICwgWDg2TU1YVHlwZUlu
Q29udGV4dCwgKExMVk1Db250ZXh0UmVmIEMpKSBcCisgICAgbWFjcm8oTExWTVR5cGVSZWYgLCBW
b2lkVHlwZSwgKHZvaWQpKSBcCisgICAgbWFjcm8oTExWTVR5cGVSZWYgLCBMYWJlbFR5cGUsICh2
b2lkKSkgXAorICAgIG1hY3JvKExMVk1UeXBlUmVmICwgWDg2TU1YVHlwZSwgKHZvaWQpKSBcCisg
ICAgbWFjcm8oTExWTVR5cGVSZWYgLCBUeXBlT2YsIChMTFZNVmFsdWVSZWYgVmFsKSkgXAorICAg
IG1hY3JvKGNvbnN0IGNoYXIgKiwgR2V0VmFsdWVOYW1lLCAoTExWTVZhbHVlUmVmIFZhbCkpIFwK
KyAgICBtYWNybyh2b2lkICwgU2V0VmFsdWVOYW1lLCAoTExWTVZhbHVlUmVmIFZhbCwgY29uc3Qg
Y2hhciAqTmFtZSkpIFwKKyAgICBtYWNybyh2b2lkICwgRHVtcFZhbHVlLCAoTExWTVZhbHVlUmVm
IFZhbCkpIFwKKyAgICBtYWNybyh2b2lkICwgUmVwbGFjZUFsbFVzZXNXaXRoLCAoTExWTVZhbHVl
UmVmIE9sZFZhbCwgTExWTVZhbHVlUmVmIE5ld1ZhbCkpIFwKKyAgICBtYWNybyhMTFZNQm9vbCAs
IElzQ29uc3RhbnQsIChMTFZNVmFsdWVSZWYgVmFsKSkgXAorICAgIG1hY3JvKExMVk1Cb29sICwg
SXNVbmRlZiwgKExMVk1WYWx1ZVJlZiBWYWwpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmICwg
SXNBQXJndW1lbnQsIChMTFZNVmFsdWVSZWYgVmFsKSkgXAorICAgIG1hY3JvKCBMTFZNVmFsdWVS
ZWYgLCBJc0FCYXNpY0Jsb2NrLCAoTExWTVZhbHVlUmVmIFZhbCkpIFwKKyAgICBtYWNybyggTExW
TVZhbHVlUmVmICwgSXNBSW5saW5lQXNtLCAoTExWTVZhbHVlUmVmIFZhbCkpIFwKKyAgICBtYWNy
byggTExWTVZhbHVlUmVmICwgSXNBTUROb2RlLCAoTExWTVZhbHVlUmVmIFZhbCkpIFwKKyAgICBt
YWNybyggTExWTVZhbHVlUmVmICwgSXNBTURTdHJpbmcsIChMTFZNVmFsdWVSZWYgVmFsKSkgXAor
ICAgIG1hY3JvKCBMTFZNVmFsdWVSZWYgLCBJc0FVc2VyLCAoTExWTVZhbHVlUmVmIFZhbCkpIFwK
KyAgICBtYWNybyggTExWTVZhbHVlUmVmICwgSXNBQ29uc3RhbnQsIChMTFZNVmFsdWVSZWYgVmFs
KSkgXAorICAgIG1hY3JvKCBMTFZNVmFsdWVSZWYgLCBJc0FCbG9ja0FkZHJlc3MsIChMTFZNVmFs
dWVSZWYgVmFsKSkgXAorICAgIG1hY3JvKCBMTFZNVmFsdWVSZWYgLCBJc0FDb25zdGFudEFnZ3Jl
Z2F0ZVplcm8sIChMTFZNVmFsdWVSZWYgVmFsKSkgXAorICAgIG1hY3JvKCBMTFZNVmFsdWVSZWYg
LCBJc0FDb25zdGFudEFycmF5LCAoTExWTVZhbHVlUmVmIFZhbCkpIFwKKyAgICBtYWNybyggTExW
TVZhbHVlUmVmICwgSXNBQ29uc3RhbnRFeHByLCAoTExWTVZhbHVlUmVmIFZhbCkpIFwKKyAgICBt
YWNybyggTExWTVZhbHVlUmVmICwgSXNBQ29uc3RhbnRGUCwgKExMVk1WYWx1ZVJlZiBWYWwpKSBc
CisgICAgbWFjcm8oIExMVk1WYWx1ZVJlZiAsIElzQUNvbnN0YW50SW50LCAoTExWTVZhbHVlUmVm
IFZhbCkpIFwKKyAgICBtYWNybyggTExWTVZhbHVlUmVmICwgSXNBQ29uc3RhbnRQb2ludGVyTnVs
bCwgKExMVk1WYWx1ZVJlZiBWYWwpKSBcCisgICAgbWFjcm8oIExMVk1WYWx1ZVJlZiAsIElzQUNv
bnN0YW50U3RydWN0LCAoTExWTVZhbHVlUmVmIFZhbCkpIFwKKyAgICBtYWNybyggTExWTVZhbHVl
UmVmICwgSXNBQ29uc3RhbnRWZWN0b3IsIChMTFZNVmFsdWVSZWYgVmFsKSkgXAorICAgIG1hY3Jv
KCBMTFZNVmFsdWVSZWYgLCBJc0FHbG9iYWxWYWx1ZSwgKExMVk1WYWx1ZVJlZiBWYWwpKSBcCisg
ICAgbWFjcm8oIExMVk1WYWx1ZVJlZiAsIElzQUZ1bmN0aW9uLCAoTExWTVZhbHVlUmVmIFZhbCkp
IFwKKyAgICBtYWNybyggTExWTVZhbHVlUmVmICwgSXNBR2xvYmFsQWxpYXMsIChMTFZNVmFsdWVS
ZWYgVmFsKSkgXAorICAgIG1hY3JvKCBMTFZNVmFsdWVSZWYgLCBJc0FHbG9iYWxWYXJpYWJsZSwg
KExMVk1WYWx1ZVJlZiBWYWwpKSBcCisgICAgbWFjcm8oIExMVk1WYWx1ZVJlZiAsIElzQVVuZGVm
VmFsdWUsIChMTFZNVmFsdWVSZWYgVmFsKSkgXAorICAgIG1hY3JvKCBMTFZNVmFsdWVSZWYgLCBJ
c0FJbnN0cnVjdGlvbiwgKExMVk1WYWx1ZVJlZiBWYWwpKSBcCisgICAgbWFjcm8oIExMVk1WYWx1
ZVJlZiAsIElzQUJpbmFyeU9wZXJhdG9yLCAoTExWTVZhbHVlUmVmIFZhbCkpIFwKKyAgICBtYWNy
byggTExWTVZhbHVlUmVmICwgSXNBQ2FsbEluc3QsIChMTFZNVmFsdWVSZWYgVmFsKSkgXAorICAg
IG1hY3JvKCBMTFZNVmFsdWVSZWYgLCBJc0FJbnRyaW5zaWNJbnN0LCAoTExWTVZhbHVlUmVmIFZh
bCkpIFwKKyAgICBtYWNybyggTExWTVZhbHVlUmVmICwgSXNBRGJnSW5mb0ludHJpbnNpYywgKExM
Vk1WYWx1ZVJlZiBWYWwpKSBcCisgICAgbWFjcm8oIExMVk1WYWx1ZVJlZiAsIElzQURiZ0RlY2xh
cmVJbnN0LCAoTExWTVZhbHVlUmVmIFZhbCkpIFwKKyAgICBtYWNybyggTExWTVZhbHVlUmVmICwg
SXNBTWVtSW50cmluc2ljLCAoTExWTVZhbHVlUmVmIFZhbCkpIFwKKyAgICBtYWNybyggTExWTVZh
bHVlUmVmICwgSXNBTWVtQ3B5SW5zdCwgKExMVk1WYWx1ZVJlZiBWYWwpKSBcCisgICAgbWFjcm8o
IExMVk1WYWx1ZVJlZiAsIElzQU1lbU1vdmVJbnN0LCAoTExWTVZhbHVlUmVmIFZhbCkpIFwKKyAg
ICBtYWNybyggTExWTVZhbHVlUmVmICwgSXNBTWVtU2V0SW5zdCwgKExMVk1WYWx1ZVJlZiBWYWwp
KSBcCisgICAgbWFjcm8oIExMVk1WYWx1ZVJlZiAsIElzQUNtcEluc3QsIChMTFZNVmFsdWVSZWYg
VmFsKSkgXAorICAgIG1hY3JvKCBMTFZNVmFsdWVSZWYgLCBJc0FGQ21wSW5zdCwgKExMVk1WYWx1
ZVJlZiBWYWwpKSBcCisgICAgbWFjcm8oIExMVk1WYWx1ZVJlZiAsIElzQUlDbXBJbnN0LCAoTExW
TVZhbHVlUmVmIFZhbCkpIFwKKyAgICBtYWNybyggTExWTVZhbHVlUmVmICwgSXNBRXh0cmFjdEVs
ZW1lbnRJbnN0LCAoTExWTVZhbHVlUmVmIFZhbCkpIFwKKyAgICBtYWNybyggTExWTVZhbHVlUmVm
ICwgSXNBR2V0RWxlbWVudFB0ckluc3QsIChMTFZNVmFsdWVSZWYgVmFsKSkgXAorICAgIG1hY3Jv
KCBMTFZNVmFsdWVSZWYgLCBJc0FJbnNlcnRFbGVtZW50SW5zdCwgKExMVk1WYWx1ZVJlZiBWYWwp
KSBcCisgICAgbWFjcm8oIExMVk1WYWx1ZVJlZiAsIElzQUluc2VydFZhbHVlSW5zdCwgKExMVk1W
YWx1ZVJlZiBWYWwpKSBcCisgICAgbWFjcm8oIExMVk1WYWx1ZVJlZiAsIElzQUxhbmRpbmdQYWRJ
bnN0LCAoTExWTVZhbHVlUmVmIFZhbCkpIFwKKyAgICBtYWNybyggTExWTVZhbHVlUmVmICwgSXNB
UEhJTm9kZSwgKExMVk1WYWx1ZVJlZiBWYWwpKSBcCisgICAgbWFjcm8oIExMVk1WYWx1ZVJlZiAs
IElzQVNlbGVjdEluc3QsIChMTFZNVmFsdWVSZWYgVmFsKSkgXAorICAgIG1hY3JvKCBMTFZNVmFs
dWVSZWYgLCBJc0FTaHVmZmxlVmVjdG9ySW5zdCwgKExMVk1WYWx1ZVJlZiBWYWwpKSBcCisgICAg
bWFjcm8oIExMVk1WYWx1ZVJlZiAsIElzQVN0b3JlSW5zdCwgKExMVk1WYWx1ZVJlZiBWYWwpKSBc
CisgICAgbWFjcm8oIExMVk1WYWx1ZVJlZiAsIElzQVRlcm1pbmF0b3JJbnN0LCAoTExWTVZhbHVl
UmVmIFZhbCkpIFwKKyAgICBtYWNybyggTExWTVZhbHVlUmVmICwgSXNBQnJhbmNoSW5zdCwgKExM
Vk1WYWx1ZVJlZiBWYWwpKSBcCisgICAgbWFjcm8oIExMVk1WYWx1ZVJlZiAsIElzQUluZGlyZWN0
QnJJbnN0LCAoTExWTVZhbHVlUmVmIFZhbCkpIFwKKyAgICBtYWNybyggTExWTVZhbHVlUmVmICwg
SXNBSW52b2tlSW5zdCwgKExMVk1WYWx1ZVJlZiBWYWwpKSBcCisgICAgbWFjcm8oIExMVk1WYWx1
ZVJlZiAsIElzQVJldHVybkluc3QsIChMTFZNVmFsdWVSZWYgVmFsKSkgXAorICAgIG1hY3JvKCBM
TFZNVmFsdWVSZWYgLCBJc0FTd2l0Y2hJbnN0LCAoTExWTVZhbHVlUmVmIFZhbCkpIFwKKyAgICBt
YWNybyggTExWTVZhbHVlUmVmICwgSXNBVW5yZWFjaGFibGVJbnN0LCAoTExWTVZhbHVlUmVmIFZh
bCkpIFwKKyAgICBtYWNybyggTExWTVZhbHVlUmVmICwgSXNBUmVzdW1lSW5zdCwgKExMVk1WYWx1
ZVJlZiBWYWwpKSBcCisgICAgbWFjcm8oIExMVk1WYWx1ZVJlZiAsIElzQVVuYXJ5SW5zdHJ1Y3Rp
b24sIChMTFZNVmFsdWVSZWYgVmFsKSkgXAorICAgIG1hY3JvKCBMTFZNVmFsdWVSZWYgLCBJc0FB
bGxvY2FJbnN0LCAoTExWTVZhbHVlUmVmIFZhbCkpIFwKKyAgICBtYWNybyggTExWTVZhbHVlUmVm
ICwgSXNBQ2FzdEluc3QsIChMTFZNVmFsdWVSZWYgVmFsKSkgXAorICAgIG1hY3JvKCBMTFZNVmFs
dWVSZWYgLCBJc0FCaXRDYXN0SW5zdCwgKExMVk1WYWx1ZVJlZiBWYWwpKSBcCisgICAgbWFjcm8o
IExMVk1WYWx1ZVJlZiAsIElzQUZQRXh0SW5zdCwgKExMVk1WYWx1ZVJlZiBWYWwpKSBcCisgICAg
bWFjcm8oIExMVk1WYWx1ZVJlZiAsIElzQUZQVG9TSUluc3QsIChMTFZNVmFsdWVSZWYgVmFsKSkg
XAorICAgIG1hY3JvKCBMTFZNVmFsdWVSZWYgLCBJc0FGUFRvVUlJbnN0LCAoTExWTVZhbHVlUmVm
IFZhbCkpIFwKKyAgICBtYWNybyggTExWTVZhbHVlUmVmICwgSXNBRlBUcnVuY0luc3QsIChMTFZN
VmFsdWVSZWYgVmFsKSkgXAorICAgIG1hY3JvKCBMTFZNVmFsdWVSZWYgLCBJc0FJbnRUb1B0cklu
c3QsIChMTFZNVmFsdWVSZWYgVmFsKSkgXAorICAgIG1hY3JvKCBMTFZNVmFsdWVSZWYgLCBJc0FQ
dHJUb0ludEluc3QsIChMTFZNVmFsdWVSZWYgVmFsKSkgXAorICAgIG1hY3JvKCBMTFZNVmFsdWVS
ZWYgLCBJc0FTRXh0SW5zdCwgKExMVk1WYWx1ZVJlZiBWYWwpKSBcCisgICAgbWFjcm8oIExMVk1W
YWx1ZVJlZiAsIElzQVNJVG9GUEluc3QsIChMTFZNVmFsdWVSZWYgVmFsKSkgXAorICAgIG1hY3Jv
KCBMTFZNVmFsdWVSZWYgLCBJc0FUcnVuY0luc3QsIChMTFZNVmFsdWVSZWYgVmFsKSkgXAorICAg
IG1hY3JvKCBMTFZNVmFsdWVSZWYgLCBJc0FVSVRvRlBJbnN0LCAoTExWTVZhbHVlUmVmIFZhbCkp
IFwKKyAgICBtYWNybyggTExWTVZhbHVlUmVmICwgSXNBWkV4dEluc3QsIChMTFZNVmFsdWVSZWYg
VmFsKSkgXAorICAgIG1hY3JvKCBMTFZNVmFsdWVSZWYgLCBJc0FFeHRyYWN0VmFsdWVJbnN0LCAo
TExWTVZhbHVlUmVmIFZhbCkpIFwKKyAgICBtYWNybyggTExWTVZhbHVlUmVmICwgSXNBTG9hZElu
c3QsIChMTFZNVmFsdWVSZWYgVmFsKSkgXAorICAgIG1hY3JvKCBMTFZNVmFsdWVSZWYgLCBJc0FW
QUFyZ0luc3QsIChMTFZNVmFsdWVSZWYgVmFsKSkgXAorICAgIG1hY3JvKExMVk1Vc2VSZWYgLCBH
ZXRGaXJzdFVzZSwgKExMVk1WYWx1ZVJlZiBWYWwpKSBcCisgICAgbWFjcm8oTExWTVVzZVJlZiAs
IEdldE5leHRVc2UsIChMTFZNVXNlUmVmIFUpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmICwg
R2V0VXNlciwgKExMVk1Vc2VSZWYgVSkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYgLCBHZXRV
c2VkVmFsdWUsIChMTFZNVXNlUmVmIFUpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmICwgR2V0
T3BlcmFuZCwgKExMVk1WYWx1ZVJlZiBWYWwsIHVuc2lnbmVkIEluZGV4KSkgXAorICAgIG1hY3Jv
KHZvaWQgLCBTZXRPcGVyYW5kLCAoTExWTVZhbHVlUmVmIFVzZXIsIHVuc2lnbmVkIEluZGV4LCBM
TFZNVmFsdWVSZWYgVmFsKSkgXAorICAgIG1hY3JvKGludCAsIEdldE51bU9wZXJhbmRzLCAoTExW
TVZhbHVlUmVmIFZhbCkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYgLCBDb25zdE51bGwsIChM
TFZNVHlwZVJlZiBUeSkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYgLCBDb25zdEFsbE9uZXMs
IChMTFZNVHlwZVJlZiBUeSkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYgLCBHZXRVbmRlZiwg
KExMVk1UeXBlUmVmIFR5KSkgXAorICAgIG1hY3JvKExMVk1Cb29sICwgSXNOdWxsLCAoTExWTVZh
bHVlUmVmIFZhbCkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYgLCBDb25zdFBvaW50ZXJOdWxs
LCAoTExWTVR5cGVSZWYgVHkpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmICwgQ29uc3RJbnQs
IChMTFZNVHlwZVJlZiBJbnRUeSwgdW5zaWduZWQgbG9uZyBsb25nIE4sIExMVk1Cb29sIFNpZ25F
eHRlbmQpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmICwgQ29uc3RJbnRPZkFyYml0cmFyeVBy
ZWNpc2lvbiwgKExMVk1UeXBlUmVmIEludFR5LCB1bnNpZ25lZCBOdW1Xb3JkcywgY29uc3QgdWlu
dDY0X3QgV29yZHNbXSkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYgLCBDb25zdEludE9mU3Ry
aW5nLCAoTExWTVR5cGVSZWYgSW50VHksIGNvbnN0IGNoYXIgKlRleHQsIHVpbnQ4X3QgUmFkaXgp
KSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmICwgQ29uc3RJbnRPZlN0cmluZ0FuZFNpemUsIChM
TFZNVHlwZVJlZiBJbnRUeSwgY29uc3QgY2hhciAqVGV4dCwgdW5zaWduZWQgU0xlbiwgdWludDhf
dCBSYWRpeCkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYgLCBDb25zdFJlYWwsIChMTFZNVHlw
ZVJlZiBSZWFsVHksIGRvdWJsZSBOKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiAsIENvbnN0
UmVhbE9mU3RyaW5nLCAoTExWTVR5cGVSZWYgUmVhbFR5LCBjb25zdCBjaGFyICpUZXh0KSkgXAor
ICAgIG1hY3JvKExMVk1WYWx1ZVJlZiAsIENvbnN0UmVhbE9mU3RyaW5nQW5kU2l6ZSwgKExMVk1U
eXBlUmVmIFJlYWxUeSwgY29uc3QgY2hhciAqVGV4dCwgdW5zaWduZWQgU0xlbikpIFwKKyAgICBt
YWNybyh1bnNpZ25lZCBsb25nIGxvbmcgLCBDb25zdEludEdldFpFeHRWYWx1ZSwgKExMVk1WYWx1
ZVJlZiBDb25zdGFudFZhbCkpIFwKKyAgICBtYWNybyhsb25nIGxvbmcgLCBDb25zdEludEdldFNF
eHRWYWx1ZSwgKExMVk1WYWx1ZVJlZiBDb25zdGFudFZhbCkpIFwKKyAgICBtYWNybyhMTFZNVmFs
dWVSZWYgLCBDb25zdFN0cmluZ0luQ29udGV4dCwgKExMVk1Db250ZXh0UmVmIEMsIGNvbnN0IGNo
YXIgKlN0ciwgdW5zaWduZWQgTGVuZ3RoLCBMTFZNQm9vbCBEb250TnVsbFRlcm1pbmF0ZSkpIFwK
KyAgICBtYWNybyhMTFZNVmFsdWVSZWYgLCBDb25zdFN0cmluZywgKGNvbnN0IGNoYXIgKlN0ciwg
dW5zaWduZWQgTGVuZ3RoLCBMTFZNQm9vbCBEb250TnVsbFRlcm1pbmF0ZSkpIFwKKyAgICBtYWNy
byhMTFZNVmFsdWVSZWYgLCBDb25zdFN0cnVjdEluQ29udGV4dCwgKExMVk1Db250ZXh0UmVmIEMs
IExMVk1WYWx1ZVJlZiAqQ29uc3RhbnRWYWxzLCB1bnNpZ25lZCBDb3VudCwgTExWTUJvb2wgUGFj
a2VkKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiAsIENvbnN0U3RydWN0LCAoTExWTVZhbHVl
UmVmICpDb25zdGFudFZhbHMsIHVuc2lnbmVkIENvdW50LCBMTFZNQm9vbCBQYWNrZWQpKSBcCisg
ICAgbWFjcm8oTExWTVZhbHVlUmVmICwgQ29uc3RBcnJheSwgKExMVk1UeXBlUmVmIEVsZW1lbnRU
eSwgTExWTVZhbHVlUmVmICpDb25zdGFudFZhbHMsIHVuc2lnbmVkIExlbmd0aCkpIFwKKyAgICBt
YWNybyhMTFZNVmFsdWVSZWYgLCBDb25zdE5hbWVkU3RydWN0LCAoTExWTVR5cGVSZWYgU3RydWN0
VHksIExMVk1WYWx1ZVJlZiAqQ29uc3RhbnRWYWxzLCB1bnNpZ25lZCBDb3VudCkpIFwKKyAgICBt
YWNybyhMTFZNVmFsdWVSZWYgLCBDb25zdFZlY3RvciwgKExMVk1WYWx1ZVJlZiAqU2NhbGFyQ29u
c3RhbnRWYWxzLCB1bnNpZ25lZCBTaXplKSkgXAorICAgIG1hY3JvKExMVk1PcGNvZGUgLCBHZXRD
b25zdE9wY29kZSwgKExMVk1WYWx1ZVJlZiBDb25zdGFudFZhbCkpIFwKKyAgICBtYWNybyhMTFZN
VmFsdWVSZWYgLCBBbGlnbk9mLCAoTExWTVR5cGVSZWYgVHkpKSBcCisgICAgbWFjcm8oTExWTVZh
bHVlUmVmICwgU2l6ZU9mLCAoTExWTVR5cGVSZWYgVHkpKSBcCisgICAgbWFjcm8oTExWTVZhbHVl
UmVmICwgQ29uc3ROZWcsIChMTFZNVmFsdWVSZWYgQ29uc3RhbnRWYWwpKSBcCisgICAgbWFjcm8o
TExWTVZhbHVlUmVmICwgQ29uc3ROU1dOZWcsIChMTFZNVmFsdWVSZWYgQ29uc3RhbnRWYWwpKSBc
CisgICAgbWFjcm8oTExWTVZhbHVlUmVmICwgQ29uc3ROVVdOZWcsIChMTFZNVmFsdWVSZWYgQ29u
c3RhbnRWYWwpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmICwgQ29uc3RGTmVnLCAoTExWTVZh
bHVlUmVmIENvbnN0YW50VmFsKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiAsIENvbnN0Tm90
LCAoTExWTVZhbHVlUmVmIENvbnN0YW50VmFsKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiAs
IENvbnN0QWRkLCAoTExWTVZhbHVlUmVmIExIU0NvbnN0YW50LCBMTFZNVmFsdWVSZWYgUkhTQ29u
c3RhbnQpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmICwgQ29uc3ROU1dBZGQsIChMTFZNVmFs
dWVSZWYgTEhTQ29uc3RhbnQsIExMVk1WYWx1ZVJlZiBSSFNDb25zdGFudCkpIFwKKyAgICBtYWNy
byhMTFZNVmFsdWVSZWYgLCBDb25zdE5VV0FkZCwgKExMVk1WYWx1ZVJlZiBMSFNDb25zdGFudCwg
TExWTVZhbHVlUmVmIFJIU0NvbnN0YW50KSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiAsIENv
bnN0RkFkZCwgKExMVk1WYWx1ZVJlZiBMSFNDb25zdGFudCwgTExWTVZhbHVlUmVmIFJIU0NvbnN0
YW50KSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiAsIENvbnN0U3ViLCAoTExWTVZhbHVlUmVm
IExIU0NvbnN0YW50LCBMTFZNVmFsdWVSZWYgUkhTQ29uc3RhbnQpKSBcCisgICAgbWFjcm8oTExW
TVZhbHVlUmVmICwgQ29uc3ROU1dTdWIsIChMTFZNVmFsdWVSZWYgTEhTQ29uc3RhbnQsIExMVk1W
YWx1ZVJlZiBSSFNDb25zdGFudCkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYgLCBDb25zdE5V
V1N1YiwgKExMVk1WYWx1ZVJlZiBMSFNDb25zdGFudCwgTExWTVZhbHVlUmVmIFJIU0NvbnN0YW50
KSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiAsIENvbnN0RlN1YiwgKExMVk1WYWx1ZVJlZiBM
SFNDb25zdGFudCwgTExWTVZhbHVlUmVmIFJIU0NvbnN0YW50KSkgXAorICAgIG1hY3JvKExMVk1W
YWx1ZVJlZiAsIENvbnN0TXVsLCAoTExWTVZhbHVlUmVmIExIU0NvbnN0YW50LCBMTFZNVmFsdWVS
ZWYgUkhTQ29uc3RhbnQpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmICwgQ29uc3ROU1dNdWws
IChMTFZNVmFsdWVSZWYgTEhTQ29uc3RhbnQsIExMVk1WYWx1ZVJlZiBSSFNDb25zdGFudCkpIFwK
KyAgICBtYWNybyhMTFZNVmFsdWVSZWYgLCBDb25zdE5VV011bCwgKExMVk1WYWx1ZVJlZiBMSFND
b25zdGFudCwgTExWTVZhbHVlUmVmIFJIU0NvbnN0YW50KSkgXAorICAgIG1hY3JvKExMVk1WYWx1
ZVJlZiAsIENvbnN0Rk11bCwgKExMVk1WYWx1ZVJlZiBMSFNDb25zdGFudCwgTExWTVZhbHVlUmVm
IFJIU0NvbnN0YW50KSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiAsIENvbnN0VURpdiwgKExM
Vk1WYWx1ZVJlZiBMSFNDb25zdGFudCwgTExWTVZhbHVlUmVmIFJIU0NvbnN0YW50KSkgXAorICAg
IG1hY3JvKExMVk1WYWx1ZVJlZiAsIENvbnN0U0RpdiwgKExMVk1WYWx1ZVJlZiBMSFNDb25zdGFu
dCwgTExWTVZhbHVlUmVmIFJIU0NvbnN0YW50KSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiAs
IENvbnN0RXhhY3RTRGl2LCAoTExWTVZhbHVlUmVmIExIU0NvbnN0YW50LCBMTFZNVmFsdWVSZWYg
UkhTQ29uc3RhbnQpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmICwgQ29uc3RGRGl2LCAoTExW
TVZhbHVlUmVmIExIU0NvbnN0YW50LCBMTFZNVmFsdWVSZWYgUkhTQ29uc3RhbnQpKSBcCisgICAg
bWFjcm8oTExWTVZhbHVlUmVmICwgQ29uc3RVUmVtLCAoTExWTVZhbHVlUmVmIExIU0NvbnN0YW50
LCBMTFZNVmFsdWVSZWYgUkhTQ29uc3RhbnQpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmICwg
Q29uc3RTUmVtLCAoTExWTVZhbHVlUmVmIExIU0NvbnN0YW50LCBMTFZNVmFsdWVSZWYgUkhTQ29u
c3RhbnQpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmICwgQ29uc3RGUmVtLCAoTExWTVZhbHVl
UmVmIExIU0NvbnN0YW50LCBMTFZNVmFsdWVSZWYgUkhTQ29uc3RhbnQpKSBcCisgICAgbWFjcm8o
TExWTVZhbHVlUmVmICwgQ29uc3RBbmQsIChMTFZNVmFsdWVSZWYgTEhTQ29uc3RhbnQsIExMVk1W
YWx1ZVJlZiBSSFNDb25zdGFudCkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYgLCBDb25zdE9y
LCAoTExWTVZhbHVlUmVmIExIU0NvbnN0YW50LCBMTFZNVmFsdWVSZWYgUkhTQ29uc3RhbnQpKSBc
CisgICAgbWFjcm8oTExWTVZhbHVlUmVmICwgQ29uc3RYb3IsIChMTFZNVmFsdWVSZWYgTEhTQ29u
c3RhbnQsIExMVk1WYWx1ZVJlZiBSSFNDb25zdGFudCkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVS
ZWYgLCBDb25zdElDbXAsIChMTFZNSW50UHJlZGljYXRlIFByZWRpY2F0ZSwgTExWTVZhbHVlUmVm
IExIU0NvbnN0YW50LCBMTFZNVmFsdWVSZWYgUkhTQ29uc3RhbnQpKSBcCisgICAgbWFjcm8oTExW
TVZhbHVlUmVmICwgQ29uc3RGQ21wLCAoTExWTVJlYWxQcmVkaWNhdGUgUHJlZGljYXRlLCBMTFZN
VmFsdWVSZWYgTEhTQ29uc3RhbnQsIExMVk1WYWx1ZVJlZiBSSFNDb25zdGFudCkpIFwKKyAgICBt
YWNybyhMTFZNVmFsdWVSZWYgLCBDb25zdFNobCwgKExMVk1WYWx1ZVJlZiBMSFNDb25zdGFudCwg
TExWTVZhbHVlUmVmIFJIU0NvbnN0YW50KSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiAsIENv
bnN0TFNociwgKExMVk1WYWx1ZVJlZiBMSFNDb25zdGFudCwgTExWTVZhbHVlUmVmIFJIU0NvbnN0
YW50KSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiAsIENvbnN0QVNociwgKExMVk1WYWx1ZVJl
ZiBMSFNDb25zdGFudCwgTExWTVZhbHVlUmVmIFJIU0NvbnN0YW50KSkgXAorICAgIG1hY3JvKExM
Vk1WYWx1ZVJlZiAsIENvbnN0R0VQLCAoTExWTVZhbHVlUmVmIENvbnN0YW50VmFsLCBMTFZNVmFs
dWVSZWYgKkNvbnN0YW50SW5kaWNlcywgdW5zaWduZWQgTnVtSW5kaWNlcykpIFwKKyAgICBtYWNy
byhMTFZNVmFsdWVSZWYgLCBDb25zdEluQm91bmRzR0VQLCAoTExWTVZhbHVlUmVmIENvbnN0YW50
VmFsLCBMTFZNVmFsdWVSZWYgKkNvbnN0YW50SW5kaWNlcywgdW5zaWduZWQgTnVtSW5kaWNlcykp
IFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYgLCBDb25zdFRydW5jLCAoTExWTVZhbHVlUmVmIENv
bnN0YW50VmFsLCBMTFZNVHlwZVJlZiBUb1R5cGUpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVm
ICwgQ29uc3RTRXh0LCAoTExWTVZhbHVlUmVmIENvbnN0YW50VmFsLCBMTFZNVHlwZVJlZiBUb1R5
cGUpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmICwgQ29uc3RaRXh0LCAoTExWTVZhbHVlUmVm
IENvbnN0YW50VmFsLCBMTFZNVHlwZVJlZiBUb1R5cGUpKSBcCisgICAgbWFjcm8oTExWTVZhbHVl
UmVmICwgQ29uc3RGUFRydW5jLCAoTExWTVZhbHVlUmVmIENvbnN0YW50VmFsLCBMTFZNVHlwZVJl
ZiBUb1R5cGUpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmICwgQ29uc3RGUEV4dCwgKExMVk1W
YWx1ZVJlZiBDb25zdGFudFZhbCwgTExWTVR5cGVSZWYgVG9UeXBlKSkgXAorICAgIG1hY3JvKExM
Vk1WYWx1ZVJlZiAsIENvbnN0VUlUb0ZQLCAoTExWTVZhbHVlUmVmIENvbnN0YW50VmFsLCBMTFZN
VHlwZVJlZiBUb1R5cGUpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmICwgQ29uc3RTSVRvRlAs
IChMTFZNVmFsdWVSZWYgQ29uc3RhbnRWYWwsIExMVk1UeXBlUmVmIFRvVHlwZSkpIFwKKyAgICBt
YWNybyhMTFZNVmFsdWVSZWYgLCBDb25zdEZQVG9VSSwgKExMVk1WYWx1ZVJlZiBDb25zdGFudFZh
bCwgTExWTVR5cGVSZWYgVG9UeXBlKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiAsIENvbnN0
RlBUb1NJLCAoTExWTVZhbHVlUmVmIENvbnN0YW50VmFsLCBMTFZNVHlwZVJlZiBUb1R5cGUpKSBc
CisgICAgbWFjcm8oTExWTVZhbHVlUmVmICwgQ29uc3RQdHJUb0ludCwgKExMVk1WYWx1ZVJlZiBD
b25zdGFudFZhbCwgTExWTVR5cGVSZWYgVG9UeXBlKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJl
ZiAsIENvbnN0SW50VG9QdHIsIChMTFZNVmFsdWVSZWYgQ29uc3RhbnRWYWwsIExMVk1UeXBlUmVm
IFRvVHlwZSkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYgLCBDb25zdEJpdENhc3QsIChMTFZN
VmFsdWVSZWYgQ29uc3RhbnRWYWwsIExMVk1UeXBlUmVmIFRvVHlwZSkpIFwKKyAgICBtYWNybyhM
TFZNVmFsdWVSZWYgLCBDb25zdFpFeHRPckJpdENhc3QsIChMTFZNVmFsdWVSZWYgQ29uc3RhbnRW
YWwsIExMVk1UeXBlUmVmIFRvVHlwZSkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYgLCBDb25z
dFNFeHRPckJpdENhc3QsIChMTFZNVmFsdWVSZWYgQ29uc3RhbnRWYWwsIExMVk1UeXBlUmVmIFRv
VHlwZSkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYgLCBDb25zdFRydW5jT3JCaXRDYXN0LCAo
TExWTVZhbHVlUmVmIENvbnN0YW50VmFsLCBMTFZNVHlwZVJlZiBUb1R5cGUpKSBcCisgICAgbWFj
cm8oTExWTVZhbHVlUmVmICwgQ29uc3RQb2ludGVyQ2FzdCwgKExMVk1WYWx1ZVJlZiBDb25zdGFu
dFZhbCwgTExWTVR5cGVSZWYgVG9UeXBlKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiAsIENv
bnN0SW50Q2FzdCwgKExMVk1WYWx1ZVJlZiBDb25zdGFudFZhbCwgTExWTVR5cGVSZWYgVG9UeXBl
LCBMTFZNQm9vbCBpc1NpZ25lZCkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYgLCBDb25zdEZQ
Q2FzdCwgKExMVk1WYWx1ZVJlZiBDb25zdGFudFZhbCwgTExWTVR5cGVSZWYgVG9UeXBlKSkgXAor
ICAgIG1hY3JvKExMVk1WYWx1ZVJlZiAsIENvbnN0U2VsZWN0LCAoTExWTVZhbHVlUmVmIENvbnN0
YW50Q29uZGl0aW9uLCBMTFZNVmFsdWVSZWYgQ29uc3RhbnRJZlRydWUsIExMVk1WYWx1ZVJlZiBD
b25zdGFudElmRmFsc2UpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmICwgQ29uc3RFeHRyYWN0
RWxlbWVudCwgKExMVk1WYWx1ZVJlZiBWZWN0b3JDb25zdGFudCwgTExWTVZhbHVlUmVmIEluZGV4
Q29uc3RhbnQpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmICwgQ29uc3RJbnNlcnRFbGVtZW50
LCAoTExWTVZhbHVlUmVmIFZlY3RvckNvbnN0YW50LCBMTFZNVmFsdWVSZWYgRWxlbWVudFZhbHVl
Q29uc3RhbnQsIExMVk1WYWx1ZVJlZiBJbmRleENvbnN0YW50KSkgXAorICAgIG1hY3JvKExMVk1W
YWx1ZVJlZiAsIENvbnN0U2h1ZmZsZVZlY3RvciwgKExMVk1WYWx1ZVJlZiBWZWN0b3JBQ29uc3Rh
bnQsIExMVk1WYWx1ZVJlZiBWZWN0b3JCQ29uc3RhbnQsIExMVk1WYWx1ZVJlZiBNYXNrQ29uc3Rh
bnQpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmICwgQ29uc3RFeHRyYWN0VmFsdWUsIChMTFZN
VmFsdWVSZWYgQWdnQ29uc3RhbnQsIHVuc2lnbmVkICpJZHhMaXN0LCB1bnNpZ25lZCBOdW1JZHgp
KSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmICwgQ29uc3RJbnNlcnRWYWx1ZSwgKExMVk1WYWx1
ZVJlZiBBZ2dDb25zdGFudCwgTExWTVZhbHVlUmVmIEVsZW1lbnRWYWx1ZUNvbnN0YW50LCB1bnNp
Z25lZCAqSWR4TGlzdCwgdW5zaWduZWQgTnVtSWR4KSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJl
ZiAsIENvbnN0SW5saW5lQXNtLCAoTExWTVR5cGVSZWYgVHksIGNvbnN0IGNoYXIgKkFzbVN0cmlu
ZywgY29uc3QgY2hhciAqQ29uc3RyYWludHMsIExMVk1Cb29sIEhhc1NpZGVFZmZlY3RzLCBMTFZN
Qm9vbCBJc0FsaWduU3RhY2spKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmICwgQmxvY2tBZGRy
ZXNzLCAoTExWTVZhbHVlUmVmIEYsIExMVk1CYXNpY0Jsb2NrUmVmIEJCKSkgXAorICAgIG1hY3Jv
KExMVk1Nb2R1bGVSZWYgLCBHZXRHbG9iYWxQYXJlbnQsIChMTFZNVmFsdWVSZWYgR2xvYmFsKSkg
XAorICAgIG1hY3JvKExMVk1Cb29sICwgSXNEZWNsYXJhdGlvbiwgKExMVk1WYWx1ZVJlZiBHbG9i
YWwpKSBcCisgICAgbWFjcm8oTExWTUxpbmthZ2UgLCBHZXRMaW5rYWdlLCAoTExWTVZhbHVlUmVm
IEdsb2JhbCkpIFwKKyAgICBtYWNybyh2b2lkICwgU2V0TGlua2FnZSwgKExMVk1WYWx1ZVJlZiBH
bG9iYWwsIExMVk1MaW5rYWdlIExpbmthZ2UpKSBcCisgICAgbWFjcm8oY29uc3QgY2hhciAqLCBH
ZXRTZWN0aW9uLCAoTExWTVZhbHVlUmVmIEdsb2JhbCkpIFwKKyAgICBtYWNybyh2b2lkICwgU2V0
U2VjdGlvbiwgKExMVk1WYWx1ZVJlZiBHbG9iYWwsIGNvbnN0IGNoYXIgKlNlY3Rpb24pKSBcCisg
ICAgbWFjcm8oTExWTVZpc2liaWxpdHkgLCBHZXRWaXNpYmlsaXR5LCAoTExWTVZhbHVlUmVmIEds
b2JhbCkpIFwKKyAgICBtYWNybyh2b2lkICwgU2V0VmlzaWJpbGl0eSwgKExMVk1WYWx1ZVJlZiBH
bG9iYWwsIExMVk1WaXNpYmlsaXR5IFZpeikpIFwKKyAgICBtYWNybyh1bnNpZ25lZCAsIEdldEFs
aWdubWVudCwgKExMVk1WYWx1ZVJlZiBHbG9iYWwpKSBcCisgICAgbWFjcm8odm9pZCAsIFNldEFs
aWdubWVudCwgKExMVk1WYWx1ZVJlZiBHbG9iYWwsIHVuc2lnbmVkIEJ5dGVzKSkgXAorICAgIG1h
Y3JvKExMVk1WYWx1ZVJlZiAsIEFkZEdsb2JhbCwgKExMVk1Nb2R1bGVSZWYgTSwgTExWTVR5cGVS
ZWYgVHksIGNvbnN0IGNoYXIgKk5hbWUpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmICwgQWRk
R2xvYmFsSW5BZGRyZXNzU3BhY2UsIChMTFZNTW9kdWxlUmVmIE0sIExMVk1UeXBlUmVmIFR5LCBj
b25zdCBjaGFyICpOYW1lLCB1bnNpZ25lZCBBZGRyZXNzU3BhY2UpKSBcCisgICAgbWFjcm8oTExW
TVZhbHVlUmVmICwgR2V0TmFtZWRHbG9iYWwsIChMTFZNTW9kdWxlUmVmIE0sIGNvbnN0IGNoYXIg
Kk5hbWUpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmICwgR2V0Rmlyc3RHbG9iYWwsIChMTFZN
TW9kdWxlUmVmIE0pKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmICwgR2V0TGFzdEdsb2JhbCwg
KExMVk1Nb2R1bGVSZWYgTSkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYgLCBHZXROZXh0R2xv
YmFsLCAoTExWTVZhbHVlUmVmIEdsb2JhbFZhcikpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYg
LCBHZXRQcmV2aW91c0dsb2JhbCwgKExMVk1WYWx1ZVJlZiBHbG9iYWxWYXIpKSBcCisgICAgbWFj
cm8odm9pZCAsIERlbGV0ZUdsb2JhbCwgKExMVk1WYWx1ZVJlZiBHbG9iYWxWYXIpKSBcCisgICAg
bWFjcm8oTExWTVZhbHVlUmVmICwgR2V0SW5pdGlhbGl6ZXIsIChMTFZNVmFsdWVSZWYgR2xvYmFs
VmFyKSkgXAorICAgIG1hY3JvKHZvaWQgLCBTZXRJbml0aWFsaXplciwgKExMVk1WYWx1ZVJlZiBH
bG9iYWxWYXIsIExMVk1WYWx1ZVJlZiBDb25zdGFudFZhbCkpIFwKKyAgICBtYWNybyhMTFZNQm9v
bCAsIElzVGhyZWFkTG9jYWwsIChMTFZNVmFsdWVSZWYgR2xvYmFsVmFyKSkgXAorICAgIG1hY3Jv
KHZvaWQgLCBTZXRUaHJlYWRMb2NhbCwgKExMVk1WYWx1ZVJlZiBHbG9iYWxWYXIsIExMVk1Cb29s
IElzVGhyZWFkTG9jYWwpKSBcCisgICAgbWFjcm8oTExWTUJvb2wgLCBJc0dsb2JhbENvbnN0YW50
LCAoTExWTVZhbHVlUmVmIEdsb2JhbFZhcikpIFwKKyAgICBtYWNybyh2b2lkICwgU2V0R2xvYmFs
Q29uc3RhbnQsIChMTFZNVmFsdWVSZWYgR2xvYmFsVmFyLCBMTFZNQm9vbCBJc0NvbnN0YW50KSkg
XAorICAgIG1hY3JvKExMVk1UaHJlYWRMb2NhbE1vZGUgLCBHZXRUaHJlYWRMb2NhbE1vZGUsIChM
TFZNVmFsdWVSZWYgR2xvYmFsVmFyKSkgXAorICAgIG1hY3JvKHZvaWQgLCBTZXRUaHJlYWRMb2Nh
bE1vZGUsIChMTFZNVmFsdWVSZWYgR2xvYmFsVmFyLCBMTFZNVGhyZWFkTG9jYWxNb2RlIE1vZGUp
KSBcCisgICAgbWFjcm8oTExWTUJvb2wgLCBJc0V4dGVybmFsbHlJbml0aWFsaXplZCwgKExMVk1W
YWx1ZVJlZiBHbG9iYWxWYXIpKSBcCisgICAgbWFjcm8odm9pZCAsIFNldEV4dGVybmFsbHlJbml0
aWFsaXplZCwgKExMVk1WYWx1ZVJlZiBHbG9iYWxWYXIsIExMVk1Cb29sIElzRXh0SW5pdCkpIFwK
KyAgICBtYWNybyhMTFZNVmFsdWVSZWYgLCBBZGRBbGlhcywgKExMVk1Nb2R1bGVSZWYgTSwgTExW
TVR5cGVSZWYgVHksIExMVk1WYWx1ZVJlZiBBbGlhc2VlLCBjb25zdCBjaGFyICpOYW1lKSkgXAor
ICAgIG1hY3JvKHZvaWQgLCBEZWxldGVGdW5jdGlvbiwgKExMVk1WYWx1ZVJlZiBGbikpIFwKKyAg
ICBtYWNybyh1bnNpZ25lZCAsIEdldEludHJpbnNpY0lELCAoTExWTVZhbHVlUmVmIEZuKSkgXAor
ICAgIG1hY3JvKHVuc2lnbmVkICwgR2V0RnVuY3Rpb25DYWxsQ29udiwgKExMVk1WYWx1ZVJlZiBG
bikpIFwKKyAgICBtYWNybyh2b2lkICwgU2V0RnVuY3Rpb25DYWxsQ29udiwgKExMVk1WYWx1ZVJl
ZiBGbiwgdW5zaWduZWQgQ0MpKSBcCisgICAgbWFjcm8oY29uc3QgY2hhciAqLCBHZXRHQywgKExM
Vk1WYWx1ZVJlZiBGbikpIFwKKyAgICBtYWNybyh2b2lkICwgU2V0R0MsIChMTFZNVmFsdWVSZWYg
Rm4sIGNvbnN0IGNoYXIgKk5hbWUpKSBcCisgICAgbWFjcm8odm9pZCAsIEFkZEZ1bmN0aW9uQXR0
ciwgKExMVk1WYWx1ZVJlZiBGbiwgTExWTUF0dHJpYnV0ZSBQQSkpIFwKKyAgICBtYWNybyh2b2lk
ICwgQWRkVGFyZ2V0RGVwZW5kZW50RnVuY3Rpb25BdHRyLCAoTExWTVZhbHVlUmVmIEZuLCBjb25z
dCBjaGFyICpBLCBjb25zdCBjaGFyICpWKSkgXAorICAgIG1hY3JvKExMVk1BdHRyaWJ1dGUgLCBH
ZXRGdW5jdGlvbkF0dHIsIChMTFZNVmFsdWVSZWYgRm4pKSBcCisgICAgbWFjcm8odm9pZCAsIFJl
bW92ZUZ1bmN0aW9uQXR0ciwgKExMVk1WYWx1ZVJlZiBGbiwgTExWTUF0dHJpYnV0ZSBQQSkpIFwK
KyAgICBtYWNybyh1bnNpZ25lZCAsIENvdW50UGFyYW1zLCAoTExWTVZhbHVlUmVmIEZuKSkgXAor
ICAgIG1hY3JvKHZvaWQgLCBHZXRQYXJhbXMsIChMTFZNVmFsdWVSZWYgRm4sIExMVk1WYWx1ZVJl
ZiAqUGFyYW1zKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiAsIEdldFBhcmFtLCAoTExWTVZh
bHVlUmVmIEZuLCB1bnNpZ25lZCBJbmRleCkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYgLCBH
ZXRQYXJhbVBhcmVudCwgKExMVk1WYWx1ZVJlZiBJbnN0KSkgXAorICAgIG1hY3JvKExMVk1WYWx1
ZVJlZiAsIEdldEZpcnN0UGFyYW0sIChMTFZNVmFsdWVSZWYgRm4pKSBcCisgICAgbWFjcm8oTExW
TVZhbHVlUmVmICwgR2V0TGFzdFBhcmFtLCAoTExWTVZhbHVlUmVmIEZuKSkgXAorICAgIG1hY3Jv
KExMVk1WYWx1ZVJlZiAsIEdldE5leHRQYXJhbSwgKExMVk1WYWx1ZVJlZiBBcmcpKSBcCisgICAg
bWFjcm8oTExWTVZhbHVlUmVmICwgR2V0UHJldmlvdXNQYXJhbSwgKExMVk1WYWx1ZVJlZiBBcmcp
KSBcCisgICAgbWFjcm8odm9pZCAsIEFkZEF0dHJpYnV0ZSwgKExMVk1WYWx1ZVJlZiBBcmcsIExM
Vk1BdHRyaWJ1dGUgUEEpKSBcCisgICAgbWFjcm8odm9pZCAsIFJlbW92ZUF0dHJpYnV0ZSwgKExM
Vk1WYWx1ZVJlZiBBcmcsIExMVk1BdHRyaWJ1dGUgUEEpKSBcCisgICAgbWFjcm8oTExWTUF0dHJp
YnV0ZSAsIEdldEF0dHJpYnV0ZSwgKExMVk1WYWx1ZVJlZiBBcmcpKSBcCisgICAgbWFjcm8odm9p
ZCAsIFNldFBhcmFtQWxpZ25tZW50LCAoTExWTVZhbHVlUmVmIEFyZywgdW5zaWduZWQgYWxpZ24p
KSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmICwgTURTdHJpbmdJbkNvbnRleHQsIChMTFZNQ29u
dGV4dFJlZiBDLCBjb25zdCBjaGFyICpTdHIsIHVuc2lnbmVkIFNMZW4pKSBcCisgICAgbWFjcm8o
TExWTVZhbHVlUmVmICwgTURTdHJpbmcsIChjb25zdCBjaGFyICpTdHIsIHVuc2lnbmVkIFNMZW4p
KSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmICwgTUROb2RlSW5Db250ZXh0LCAoTExWTUNvbnRl
eHRSZWYgQywgTExWTVZhbHVlUmVmICpWYWxzLCB1bnNpZ25lZCBDb3VudCkpIFwKKyAgICBtYWNy
byhMTFZNVmFsdWVSZWYgLCBNRE5vZGUsIChMTFZNVmFsdWVSZWYgKlZhbHMsIHVuc2lnbmVkIENv
dW50KSkgXAorICAgIG1hY3JvKGNvbnN0IGNoYXIgKiwgR2V0TURTdHJpbmcsIChMTFZNVmFsdWVS
ZWYgViwgdW5zaWduZWQqIExlbikpIFwKKyAgICBtYWNybyh1bnNpZ25lZCAsIEdldE1ETm9kZU51
bU9wZXJhbmRzLCAoTExWTVZhbHVlUmVmIFYpKSBcCisgICAgbWFjcm8odm9pZCAsIEdldE1ETm9k
ZU9wZXJhbmRzLCAoTExWTVZhbHVlUmVmIFYsIExMVk1WYWx1ZVJlZiAqRGVzdCkpIFwKKyAgICBt
YWNybyhMTFZNVmFsdWVSZWYgLCBCYXNpY0Jsb2NrQXNWYWx1ZSwgKExMVk1CYXNpY0Jsb2NrUmVm
IEJCKSkgXAorICAgIG1hY3JvKExMVk1Cb29sICwgVmFsdWVJc0Jhc2ljQmxvY2ssIChMTFZNVmFs
dWVSZWYgVmFsKSkgXAorICAgIG1hY3JvKExMVk1CYXNpY0Jsb2NrUmVmICwgVmFsdWVBc0Jhc2lj
QmxvY2ssIChMTFZNVmFsdWVSZWYgVmFsKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiAsIEdl
dEJhc2ljQmxvY2tQYXJlbnQsIChMTFZNQmFzaWNCbG9ja1JlZiBCQikpIFwKKyAgICBtYWNybyhM
TFZNVmFsdWVSZWYgLCBHZXRCYXNpY0Jsb2NrVGVybWluYXRvciwgKExMVk1CYXNpY0Jsb2NrUmVm
IEJCKSkgXAorICAgIG1hY3JvKHVuc2lnbmVkICwgQ291bnRCYXNpY0Jsb2NrcywgKExMVk1WYWx1
ZVJlZiBGbikpIFwKKyAgICBtYWNybyh2b2lkICwgR2V0QmFzaWNCbG9ja3MsIChMTFZNVmFsdWVS
ZWYgRm4sIExMVk1CYXNpY0Jsb2NrUmVmICpCYXNpY0Jsb2NrcykpIFwKKyAgICBtYWNybyhMTFZN
QmFzaWNCbG9ja1JlZiAsIEdldEZpcnN0QmFzaWNCbG9jaywgKExMVk1WYWx1ZVJlZiBGbikpIFwK
KyAgICBtYWNybyhMTFZNQmFzaWNCbG9ja1JlZiAsIEdldExhc3RCYXNpY0Jsb2NrLCAoTExWTVZh
bHVlUmVmIEZuKSkgXAorICAgIG1hY3JvKExMVk1CYXNpY0Jsb2NrUmVmICwgR2V0TmV4dEJhc2lj
QmxvY2ssIChMTFZNQmFzaWNCbG9ja1JlZiBCQikpIFwKKyAgICBtYWNybyhMTFZNQmFzaWNCbG9j
a1JlZiAsIEdldFByZXZpb3VzQmFzaWNCbG9jaywgKExMVk1CYXNpY0Jsb2NrUmVmIEJCKSkgXAor
ICAgIG1hY3JvKExMVk1CYXNpY0Jsb2NrUmVmICwgR2V0RW50cnlCYXNpY0Jsb2NrLCAoTExWTVZh
bHVlUmVmIEZuKSkgXAorICAgIG1hY3JvKExMVk1CYXNpY0Jsb2NrUmVmICwgQXBwZW5kQmFzaWNC
bG9ja0luQ29udGV4dCwgKExMVk1Db250ZXh0UmVmIEMsIExMVk1WYWx1ZVJlZiBGbiwgY29uc3Qg
Y2hhciAqTmFtZSkpIFwKKyAgICBtYWNybyhMTFZNQmFzaWNCbG9ja1JlZiAsIEFwcGVuZEJhc2lj
QmxvY2ssIChMTFZNVmFsdWVSZWYgRm4sIGNvbnN0IGNoYXIgKk5hbWUpKSBcCisgICAgbWFjcm8o
TExWTUJhc2ljQmxvY2tSZWYgLCBJbnNlcnRCYXNpY0Jsb2NrSW5Db250ZXh0LCAoTExWTUNvbnRl
eHRSZWYgQywgTExWTUJhc2ljQmxvY2tSZWYgQkIsIGNvbnN0IGNoYXIgKk5hbWUpKSBcCisgICAg
bWFjcm8oTExWTUJhc2ljQmxvY2tSZWYgLCBJbnNlcnRCYXNpY0Jsb2NrLCAoTExWTUJhc2ljQmxv
Y2tSZWYgSW5zZXJ0QmVmb3JlQkIsIGNvbnN0IGNoYXIgKk5hbWUpKSBcCisgICAgbWFjcm8odm9p
ZCAsIERlbGV0ZUJhc2ljQmxvY2ssIChMTFZNQmFzaWNCbG9ja1JlZiBCQikpIFwKKyAgICBtYWNy
byh2b2lkICwgUmVtb3ZlQmFzaWNCbG9ja0Zyb21QYXJlbnQsIChMTFZNQmFzaWNCbG9ja1JlZiBC
QikpIFwKKyAgICBtYWNybyh2b2lkICwgTW92ZUJhc2ljQmxvY2tCZWZvcmUsIChMTFZNQmFzaWNC
bG9ja1JlZiBCQiwgTExWTUJhc2ljQmxvY2tSZWYgTW92ZVBvcykpIFwKKyAgICBtYWNybyh2b2lk
ICwgTW92ZUJhc2ljQmxvY2tBZnRlciwgKExMVk1CYXNpY0Jsb2NrUmVmIEJCLCBMTFZNQmFzaWNC
bG9ja1JlZiBNb3ZlUG9zKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiAsIEdldEZpcnN0SW5z
dHJ1Y3Rpb24sIChMTFZNQmFzaWNCbG9ja1JlZiBCQikpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVS
ZWYgLCBHZXRMYXN0SW5zdHJ1Y3Rpb24sIChMTFZNQmFzaWNCbG9ja1JlZiBCQikpIFwKKyAgICBt
YWNybyhpbnQgLCBIYXNNZXRhZGF0YSwgKExMVk1WYWx1ZVJlZiBWYWwpKSBcCisgICAgbWFjcm8o
TExWTVZhbHVlUmVmICwgR2V0TWV0YWRhdGEsIChMTFZNVmFsdWVSZWYgVmFsLCB1bnNpZ25lZCBL
aW5kSUQpKSBcCisgICAgbWFjcm8odm9pZCAsIFNldE1ldGFkYXRhLCAoTExWTVZhbHVlUmVmIFZh
bCwgdW5zaWduZWQgS2luZElELCBMTFZNVmFsdWVSZWYgTm9kZSkpIFwKKyAgICBtYWNybyhMTFZN
QmFzaWNCbG9ja1JlZiAsIEdldEluc3RydWN0aW9uUGFyZW50LCAoTExWTVZhbHVlUmVmIEluc3Qp
KSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmICwgR2V0TmV4dEluc3RydWN0aW9uLCAoTExWTVZh
bHVlUmVmIEluc3QpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmICwgR2V0UHJldmlvdXNJbnN0
cnVjdGlvbiwgKExMVk1WYWx1ZVJlZiBJbnN0KSkgXAorICAgIG1hY3JvKHZvaWQgLCBJbnN0cnVj
dGlvbkVyYXNlRnJvbVBhcmVudCwgKExMVk1WYWx1ZVJlZiBJbnN0KSkgXAorICAgIG1hY3JvKExM
Vk1PcGNvZGUgLCBHZXRJbnN0cnVjdGlvbk9wY29kZSwgKExMVk1WYWx1ZVJlZiBJbnN0KSkgXAor
ICAgIG1hY3JvKExMVk1JbnRQcmVkaWNhdGUgLCBHZXRJQ21wUHJlZGljYXRlLCAoTExWTVZhbHVl
UmVmIEluc3QpKSBcCisgICAgbWFjcm8odm9pZCAsIFNldEluc3RydWN0aW9uQ2FsbENvbnYsIChM
TFZNVmFsdWVSZWYgSW5zdHIsIHVuc2lnbmVkIENDKSkgXAorICAgIG1hY3JvKHVuc2lnbmVkICwg
R2V0SW5zdHJ1Y3Rpb25DYWxsQ29udiwgKExMVk1WYWx1ZVJlZiBJbnN0cikpIFwKKyAgICBtYWNy
byh2b2lkICwgQWRkSW5zdHJBdHRyaWJ1dGUsIChMTFZNVmFsdWVSZWYgSW5zdHIsIHVuc2lnbmVk
IGluZGV4LCBMTFZNQXR0cmlidXRlKSkgXAorICAgIG1hY3JvKHZvaWQgLCBSZW1vdmVJbnN0ckF0
dHJpYnV0ZSwgKExMVk1WYWx1ZVJlZiBJbnN0ciwgdW5zaWduZWQgaW5kZXgsIExMVk1BdHRyaWJ1
dGUpKSBcCisgICAgbWFjcm8odm9pZCAsIFNldEluc3RyUGFyYW1BbGlnbm1lbnQsIChMTFZNVmFs
dWVSZWYgSW5zdHIsIHVuc2lnbmVkIGluZGV4LCB1bnNpZ25lZCBhbGlnbikpIFwKKyAgICBtYWNy
byhMTFZNQm9vbCAsIElzVGFpbENhbGwsIChMTFZNVmFsdWVSZWYgQ2FsbEluc3QpKSBcCisgICAg
bWFjcm8odm9pZCAsIFNldFRhaWxDYWxsLCAoTExWTVZhbHVlUmVmIENhbGxJbnN0LCBMTFZNQm9v
bCBJc1RhaWxDYWxsKSkgXAorICAgIG1hY3JvKExMVk1CYXNpY0Jsb2NrUmVmICwgR2V0U3dpdGNo
RGVmYXVsdERlc3QsIChMTFZNVmFsdWVSZWYgU3dpdGNoSW5zdHIpKSBcCisgICAgbWFjcm8odm9p
ZCAsIEFkZEluY29taW5nLCAoTExWTVZhbHVlUmVmIFBoaU5vZGUsIExMVk1WYWx1ZVJlZiAqSW5j
b21pbmdWYWx1ZXMsIExMVk1CYXNpY0Jsb2NrUmVmICpJbmNvbWluZ0Jsb2NrcywgdW5zaWduZWQg
Q291bnQpKSBcCisgICAgbWFjcm8odW5zaWduZWQgLCBDb3VudEluY29taW5nLCAoTExWTVZhbHVl
UmVmIFBoaU5vZGUpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmICwgR2V0SW5jb21pbmdWYWx1
ZSwgKExMVk1WYWx1ZVJlZiBQaGlOb2RlLCB1bnNpZ25lZCBJbmRleCkpIFwKKyAgICBtYWNybyhM
TFZNQmFzaWNCbG9ja1JlZiAsIEdldEluY29taW5nQmxvY2ssIChMTFZNVmFsdWVSZWYgUGhpTm9k
ZSwgdW5zaWduZWQgSW5kZXgpKSBcCisgICAgbWFjcm8oTExWTUJ1aWxkZXJSZWYgLCBDcmVhdGVC
dWlsZGVySW5Db250ZXh0LCAoTExWTUNvbnRleHRSZWYgQykpIFwKKyAgICBtYWNybyhMTFZNQnVp
bGRlclJlZiAsIENyZWF0ZUJ1aWxkZXIsICh2b2lkKSkgXAorICAgIG1hY3JvKHZvaWQgLCBQb3Np
dGlvbkJ1aWxkZXIsIChMTFZNQnVpbGRlclJlZiBCdWlsZGVyLCBMTFZNQmFzaWNCbG9ja1JlZiBC
bG9jaywgTExWTVZhbHVlUmVmIEluc3RyKSkgXAorICAgIG1hY3JvKHZvaWQgLCBQb3NpdGlvbkJ1
aWxkZXJCZWZvcmUsIChMTFZNQnVpbGRlclJlZiBCdWlsZGVyLCBMTFZNVmFsdWVSZWYgSW5zdHIp
KSBcCisgICAgbWFjcm8odm9pZCAsIFBvc2l0aW9uQnVpbGRlckF0RW5kLCAoTExWTUJ1aWxkZXJS
ZWYgQnVpbGRlciwgTExWTUJhc2ljQmxvY2tSZWYgQmxvY2spKSBcCisgICAgbWFjcm8oTExWTUJh
c2ljQmxvY2tSZWYgLCBHZXRJbnNlcnRCbG9jaywgKExMVk1CdWlsZGVyUmVmIEJ1aWxkZXIpKSBc
CisgICAgbWFjcm8odm9pZCAsIENsZWFySW5zZXJ0aW9uUG9zaXRpb24sIChMTFZNQnVpbGRlclJl
ZiBCdWlsZGVyKSkgXAorICAgIG1hY3JvKHZvaWQgLCBJbnNlcnRJbnRvQnVpbGRlciwgKExMVk1C
dWlsZGVyUmVmIEJ1aWxkZXIsIExMVk1WYWx1ZVJlZiBJbnN0cikpIFwKKyAgICBtYWNybyh2b2lk
ICwgSW5zZXJ0SW50b0J1aWxkZXJXaXRoTmFtZSwgKExMVk1CdWlsZGVyUmVmIEJ1aWxkZXIsIExM
Vk1WYWx1ZVJlZiBJbnN0ciwgY29uc3QgY2hhciAqTmFtZSkpIFwKKyAgICBtYWNybyh2b2lkICwg
RGlzcG9zZUJ1aWxkZXIsIChMTFZNQnVpbGRlclJlZiBCdWlsZGVyKSkgXAorICAgIG1hY3JvKHZv
aWQgLCBTZXRDdXJyZW50RGVidWdMb2NhdGlvbiwgKExMVk1CdWlsZGVyUmVmIEJ1aWxkZXIsIExM
Vk1WYWx1ZVJlZiBMKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiAsIEdldEN1cnJlbnREZWJ1
Z0xvY2F0aW9uLCAoTExWTUJ1aWxkZXJSZWYgQnVpbGRlcikpIFwKKyAgICBtYWNybyh2b2lkICwg
U2V0SW5zdERlYnVnTG9jYXRpb24sIChMTFZNQnVpbGRlclJlZiBCdWlsZGVyLCBMTFZNVmFsdWVS
ZWYgSW5zdCkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYgLCBCdWlsZFJldFZvaWQsIChMTFZN
QnVpbGRlclJlZikpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYgLCBCdWlsZFJldCwgKExMVk1C
dWlsZGVyUmVmLCBMTFZNVmFsdWVSZWYgVikpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYgLCBC
dWlsZEFnZ3JlZ2F0ZVJldCwgKExMVk1CdWlsZGVyUmVmLCBMTFZNVmFsdWVSZWYgKlJldFZhbHMs
IHVuc2lnbmVkIE4pKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmICwgQnVpbGRCciwgKExMVk1C
dWlsZGVyUmVmLCBMTFZNQmFzaWNCbG9ja1JlZiBEZXN0KSkgXAorICAgIG1hY3JvKExMVk1WYWx1
ZVJlZiAsIEJ1aWxkQ29uZEJyLCAoTExWTUJ1aWxkZXJSZWYsIExMVk1WYWx1ZVJlZiBJZiwgTExW
TUJhc2ljQmxvY2tSZWYgVGhlbiwgTExWTUJhc2ljQmxvY2tSZWYgRWxzZSkpIFwKKyAgICBtYWNy
byhMTFZNVmFsdWVSZWYgLCBCdWlsZFN3aXRjaCwgKExMVk1CdWlsZGVyUmVmLCBMTFZNVmFsdWVS
ZWYgViwgTExWTUJhc2ljQmxvY2tSZWYgRWxzZSwgdW5zaWduZWQgTnVtQ2FzZXMpKSBcCisgICAg
bWFjcm8oTExWTVZhbHVlUmVmICwgQnVpbGRJbmRpcmVjdEJyLCAoTExWTUJ1aWxkZXJSZWYgQiwg
TExWTVZhbHVlUmVmIEFkZHIsIHVuc2lnbmVkIE51bURlc3RzKSkgXAorICAgIG1hY3JvKExMVk1W
YWx1ZVJlZiAsIEJ1aWxkSW52b2tlLCAoTExWTUJ1aWxkZXJSZWYsIExMVk1WYWx1ZVJlZiBGbiwg
TExWTVZhbHVlUmVmICpBcmdzLCB1bnNpZ25lZCBOdW1BcmdzLCBMTFZNQmFzaWNCbG9ja1JlZiBU
aGVuLCBMTFZNQmFzaWNCbG9ja1JlZiBDYXRjaCwgY29uc3QgY2hhciAqTmFtZSkpIFwKKyAgICBt
YWNybyhMTFZNVmFsdWVSZWYgLCBCdWlsZExhbmRpbmdQYWQsIChMTFZNQnVpbGRlclJlZiBCLCBM
TFZNVHlwZVJlZiBUeSwgTExWTVZhbHVlUmVmIFBlcnNGbiwgdW5zaWduZWQgTnVtQ2xhdXNlcywg
Y29uc3QgY2hhciAqTmFtZSkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYgLCBCdWlsZFJlc3Vt
ZSwgKExMVk1CdWlsZGVyUmVmIEIsIExMVk1WYWx1ZVJlZiBFeG4pKSBcCisgICAgbWFjcm8oTExW
TVZhbHVlUmVmICwgQnVpbGRVbnJlYWNoYWJsZSwgKExMVk1CdWlsZGVyUmVmKSkgXAorICAgIG1h
Y3JvKHZvaWQgLCBBZGRDYXNlLCAoTExWTVZhbHVlUmVmIFN3aXRjaCwgTExWTVZhbHVlUmVmIE9u
VmFsLCBMTFZNQmFzaWNCbG9ja1JlZiBEZXN0KSkgXAorICAgIG1hY3JvKHZvaWQgLCBBZGREZXN0
aW5hdGlvbiwgKExMVk1WYWx1ZVJlZiBJbmRpcmVjdEJyLCBMTFZNQmFzaWNCbG9ja1JlZiBEZXN0
KSkgXAorICAgIG1hY3JvKHZvaWQgLCBBZGRDbGF1c2UsIChMTFZNVmFsdWVSZWYgTGFuZGluZ1Bh
ZCwgTExWTVZhbHVlUmVmIENsYXVzZVZhbCkpIFwKKyAgICBtYWNybyh2b2lkICwgU2V0Q2xlYW51
cCwgKExMVk1WYWx1ZVJlZiBMYW5kaW5nUGFkLCBMTFZNQm9vbCBWYWwpKSBcCisgICAgbWFjcm8o
TExWTVZhbHVlUmVmICwgQnVpbGRBZGQsIChMTFZNQnVpbGRlclJlZiwgTExWTVZhbHVlUmVmIExI
UywgTExWTVZhbHVlUmVmIFJIUywgY29uc3QgY2hhciAqTmFtZSkpIFwKKyAgICBtYWNybyhMTFZN
VmFsdWVSZWYgLCBCdWlsZE5TV0FkZCwgKExMVk1CdWlsZGVyUmVmLCBMTFZNVmFsdWVSZWYgTEhT
LCBMTFZNVmFsdWVSZWYgUkhTLCBjb25zdCBjaGFyICpOYW1lKSkgXAorICAgIG1hY3JvKExMVk1W
YWx1ZVJlZiAsIEJ1aWxkTlVXQWRkLCAoTExWTUJ1aWxkZXJSZWYsIExMVk1WYWx1ZVJlZiBMSFMs
IExMVk1WYWx1ZVJlZiBSSFMsIGNvbnN0IGNoYXIgKk5hbWUpKSBcCisgICAgbWFjcm8oTExWTVZh
bHVlUmVmICwgQnVpbGRGQWRkLCAoTExWTUJ1aWxkZXJSZWYsIExMVk1WYWx1ZVJlZiBMSFMsIExM
Vk1WYWx1ZVJlZiBSSFMsIGNvbnN0IGNoYXIgKk5hbWUpKSBcCisgICAgbWFjcm8oTExWTVZhbHVl
UmVmICwgQnVpbGRTdWIsIChMTFZNQnVpbGRlclJlZiwgTExWTVZhbHVlUmVmIExIUywgTExWTVZh
bHVlUmVmIFJIUywgY29uc3QgY2hhciAqTmFtZSkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYg
LCBCdWlsZE5TV1N1YiwgKExMVk1CdWlsZGVyUmVmLCBMTFZNVmFsdWVSZWYgTEhTLCBMTFZNVmFs
dWVSZWYgUkhTLCBjb25zdCBjaGFyICpOYW1lKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiAs
IEJ1aWxkTlVXU3ViLCAoTExWTUJ1aWxkZXJSZWYsIExMVk1WYWx1ZVJlZiBMSFMsIExMVk1WYWx1
ZVJlZiBSSFMsIGNvbnN0IGNoYXIgKk5hbWUpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmICwg
QnVpbGRGU3ViLCAoTExWTUJ1aWxkZXJSZWYsIExMVk1WYWx1ZVJlZiBMSFMsIExMVk1WYWx1ZVJl
ZiBSSFMsIGNvbnN0IGNoYXIgKk5hbWUpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmICwgQnVp
bGRNdWwsIChMTFZNQnVpbGRlclJlZiwgTExWTVZhbHVlUmVmIExIUywgTExWTVZhbHVlUmVmIFJI
UywgY29uc3QgY2hhciAqTmFtZSkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYgLCBCdWlsZE5T
V011bCwgKExMVk1CdWlsZGVyUmVmLCBMTFZNVmFsdWVSZWYgTEhTLCBMTFZNVmFsdWVSZWYgUkhT
LCBjb25zdCBjaGFyICpOYW1lKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiAsIEJ1aWxkTlVX
TXVsLCAoTExWTUJ1aWxkZXJSZWYsIExMVk1WYWx1ZVJlZiBMSFMsIExMVk1WYWx1ZVJlZiBSSFMs
IGNvbnN0IGNoYXIgKk5hbWUpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmICwgQnVpbGRGTXVs
LCAoTExWTUJ1aWxkZXJSZWYsIExMVk1WYWx1ZVJlZiBMSFMsIExMVk1WYWx1ZVJlZiBSSFMsIGNv
bnN0IGNoYXIgKk5hbWUpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmICwgQnVpbGRVRGl2LCAo
TExWTUJ1aWxkZXJSZWYsIExMVk1WYWx1ZVJlZiBMSFMsIExMVk1WYWx1ZVJlZiBSSFMsIGNvbnN0
IGNoYXIgKk5hbWUpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmICwgQnVpbGRTRGl2LCAoTExW
TUJ1aWxkZXJSZWYsIExMVk1WYWx1ZVJlZiBMSFMsIExMVk1WYWx1ZVJlZiBSSFMsIGNvbnN0IGNo
YXIgKk5hbWUpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmICwgQnVpbGRFeGFjdFNEaXYsIChM
TFZNQnVpbGRlclJlZiwgTExWTVZhbHVlUmVmIExIUywgTExWTVZhbHVlUmVmIFJIUywgY29uc3Qg
Y2hhciAqTmFtZSkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYgLCBCdWlsZEZEaXYsIChMTFZN
QnVpbGRlclJlZiwgTExWTVZhbHVlUmVmIExIUywgTExWTVZhbHVlUmVmIFJIUywgY29uc3QgY2hh
ciAqTmFtZSkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYgLCBCdWlsZFVSZW0sIChMTFZNQnVp
bGRlclJlZiwgTExWTVZhbHVlUmVmIExIUywgTExWTVZhbHVlUmVmIFJIUywgY29uc3QgY2hhciAq
TmFtZSkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYgLCBCdWlsZFNSZW0sIChMTFZNQnVpbGRl
clJlZiwgTExWTVZhbHVlUmVmIExIUywgTExWTVZhbHVlUmVmIFJIUywgY29uc3QgY2hhciAqTmFt
ZSkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYgLCBCdWlsZEZSZW0sIChMTFZNQnVpbGRlclJl
ZiwgTExWTVZhbHVlUmVmIExIUywgTExWTVZhbHVlUmVmIFJIUywgY29uc3QgY2hhciAqTmFtZSkp
IFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYgLCBCdWlsZFNobCwgKExMVk1CdWlsZGVyUmVmLCBM
TFZNVmFsdWVSZWYgTEhTLCBMTFZNVmFsdWVSZWYgUkhTLCBjb25zdCBjaGFyICpOYW1lKSkgXAor
ICAgIG1hY3JvKExMVk1WYWx1ZVJlZiAsIEJ1aWxkTFNociwgKExMVk1CdWlsZGVyUmVmLCBMTFZN
VmFsdWVSZWYgTEhTLCBMTFZNVmFsdWVSZWYgUkhTLCBjb25zdCBjaGFyICpOYW1lKSkgXAorICAg
IG1hY3JvKExMVk1WYWx1ZVJlZiAsIEJ1aWxkQVNociwgKExMVk1CdWlsZGVyUmVmLCBMTFZNVmFs
dWVSZWYgTEhTLCBMTFZNVmFsdWVSZWYgUkhTLCBjb25zdCBjaGFyICpOYW1lKSkgXAorICAgIG1h
Y3JvKExMVk1WYWx1ZVJlZiAsIEJ1aWxkQW5kLCAoTExWTUJ1aWxkZXJSZWYsIExMVk1WYWx1ZVJl
ZiBMSFMsIExMVk1WYWx1ZVJlZiBSSFMsIGNvbnN0IGNoYXIgKk5hbWUpKSBcCisgICAgbWFjcm8o
TExWTVZhbHVlUmVmICwgQnVpbGRPciwgKExMVk1CdWlsZGVyUmVmLCBMTFZNVmFsdWVSZWYgTEhT
LCBMTFZNVmFsdWVSZWYgUkhTLCBjb25zdCBjaGFyICpOYW1lKSkgXAorICAgIG1hY3JvKExMVk1W
YWx1ZVJlZiAsIEJ1aWxkWG9yLCAoTExWTUJ1aWxkZXJSZWYsIExMVk1WYWx1ZVJlZiBMSFMsIExM
Vk1WYWx1ZVJlZiBSSFMsIGNvbnN0IGNoYXIgKk5hbWUpKSBcCisgICAgbWFjcm8oTExWTVZhbHVl
UmVmICwgQnVpbGRCaW5PcCwgKExMVk1CdWlsZGVyUmVmIEIsIExMVk1PcGNvZGUgT3AsIExMVk1W
YWx1ZVJlZiBMSFMsIExMVk1WYWx1ZVJlZiBSSFMsIGNvbnN0IGNoYXIgKk5hbWUpKSBcCisgICAg
bWFjcm8oTExWTVZhbHVlUmVmICwgQnVpbGROZWcsIChMTFZNQnVpbGRlclJlZiwgTExWTVZhbHVl
UmVmIFYsIGNvbnN0IGNoYXIgKk5hbWUpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmICwgQnVp
bGROU1dOZWcsIChMTFZNQnVpbGRlclJlZiBCLCBMTFZNVmFsdWVSZWYgViwgY29uc3QgY2hhciAq
TmFtZSkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYgLCBCdWlsZE5VV05lZywgKExMVk1CdWls
ZGVyUmVmIEIsIExMVk1WYWx1ZVJlZiBWLCBjb25zdCBjaGFyICpOYW1lKSkgXAorICAgIG1hY3Jv
KExMVk1WYWx1ZVJlZiAsIEJ1aWxkRk5lZywgKExMVk1CdWlsZGVyUmVmLCBMTFZNVmFsdWVSZWYg
ViwgY29uc3QgY2hhciAqTmFtZSkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYgLCBCdWlsZE5v
dCwgKExMVk1CdWlsZGVyUmVmLCBMTFZNVmFsdWVSZWYgViwgY29uc3QgY2hhciAqTmFtZSkpIFwK
KyAgICBtYWNybyhMTFZNVmFsdWVSZWYgLCBCdWlsZE1hbGxvYywgKExMVk1CdWlsZGVyUmVmLCBM
TFZNVHlwZVJlZiBUeSwgY29uc3QgY2hhciAqTmFtZSkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVS
ZWYgLCBCdWlsZEFycmF5TWFsbG9jLCAoTExWTUJ1aWxkZXJSZWYsIExMVk1UeXBlUmVmIFR5LCBM
TFZNVmFsdWVSZWYgVmFsLCBjb25zdCBjaGFyICpOYW1lKSkgXAorICAgIG1hY3JvKExMVk1WYWx1
ZVJlZiAsIEJ1aWxkQWxsb2NhLCAoTExWTUJ1aWxkZXJSZWYsIExMVk1UeXBlUmVmIFR5LCBjb25z
dCBjaGFyICpOYW1lKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiAsIEJ1aWxkQXJyYXlBbGxv
Y2EsIChMTFZNQnVpbGRlclJlZiwgTExWTVR5cGVSZWYgVHksIExMVk1WYWx1ZVJlZiBWYWwsIGNv
bnN0IGNoYXIgKk5hbWUpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmICwgQnVpbGRGcmVlLCAo
TExWTUJ1aWxkZXJSZWYsIExMVk1WYWx1ZVJlZiBQb2ludGVyVmFsKSkgXAorICAgIG1hY3JvKExM
Vk1WYWx1ZVJlZiAsIEJ1aWxkTG9hZCwgKExMVk1CdWlsZGVyUmVmLCBMTFZNVmFsdWVSZWYgUG9p
bnRlclZhbCwgY29uc3QgY2hhciAqTmFtZSkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYgLCBC
dWlsZFN0b3JlLCAoTExWTUJ1aWxkZXJSZWYsIExMVk1WYWx1ZVJlZiBWYWwsIExMVk1WYWx1ZVJl
ZiBQdHIpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmICwgQnVpbGRHRVAsIChMTFZNQnVpbGRl
clJlZiBCLCBMTFZNVmFsdWVSZWYgUG9pbnRlciwgTExWTVZhbHVlUmVmICpJbmRpY2VzLCB1bnNp
Z25lZCBOdW1JbmRpY2VzLCBjb25zdCBjaGFyICpOYW1lKSkgXAorICAgIG1hY3JvKExMVk1WYWx1
ZVJlZiAsIEJ1aWxkSW5Cb3VuZHNHRVAsIChMTFZNQnVpbGRlclJlZiBCLCBMTFZNVmFsdWVSZWYg
UG9pbnRlciwgTExWTVZhbHVlUmVmICpJbmRpY2VzLCB1bnNpZ25lZCBOdW1JbmRpY2VzLCBjb25z
dCBjaGFyICpOYW1lKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiAsIEJ1aWxkU3RydWN0R0VQ
LCAoTExWTUJ1aWxkZXJSZWYgQiwgTExWTVZhbHVlUmVmIFBvaW50ZXIsIHVuc2lnbmVkIElkeCwg
Y29uc3QgY2hhciAqTmFtZSkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYgLCBCdWlsZEdsb2Jh
bFN0cmluZywgKExMVk1CdWlsZGVyUmVmIEIsIGNvbnN0IGNoYXIgKlN0ciwgY29uc3QgY2hhciAq
TmFtZSkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYgLCBCdWlsZEdsb2JhbFN0cmluZ1B0ciwg
KExMVk1CdWlsZGVyUmVmIEIsIGNvbnN0IGNoYXIgKlN0ciwgY29uc3QgY2hhciAqTmFtZSkpIFwK
KyAgICBtYWNybyhMTFZNQm9vbCAsIEdldFZvbGF0aWxlLCAoTExWTVZhbHVlUmVmIE1lbW9yeUFj
Y2Vzc0luc3QpKSBcCisgICAgbWFjcm8odm9pZCAsIFNldFZvbGF0aWxlLCAoTExWTVZhbHVlUmVm
IE1lbW9yeUFjY2Vzc0luc3QsIExMVk1Cb29sIElzVm9sYXRpbGUpKSBcCisgICAgbWFjcm8oTExW
TVZhbHVlUmVmICwgQnVpbGRUcnVuYywgKExMVk1CdWlsZGVyUmVmLCBMTFZNVmFsdWVSZWYgVmFs
LCBMTFZNVHlwZVJlZiBEZXN0VHksIGNvbnN0IGNoYXIgKk5hbWUpKSBcCisgICAgbWFjcm8oTExW
TVZhbHVlUmVmICwgQnVpbGRaRXh0LCAoTExWTUJ1aWxkZXJSZWYsIExMVk1WYWx1ZVJlZiBWYWws
IExMVk1UeXBlUmVmIERlc3RUeSwgY29uc3QgY2hhciAqTmFtZSkpIFwKKyAgICBtYWNybyhMTFZN
VmFsdWVSZWYgLCBCdWlsZFNFeHQsIChMTFZNQnVpbGRlclJlZiwgTExWTVZhbHVlUmVmIFZhbCwg
TExWTVR5cGVSZWYgRGVzdFR5LCBjb25zdCBjaGFyICpOYW1lKSkgXAorICAgIG1hY3JvKExMVk1W
YWx1ZVJlZiAsIEJ1aWxkRlBUb1VJLCAoTExWTUJ1aWxkZXJSZWYsIExMVk1WYWx1ZVJlZiBWYWws
IExMVk1UeXBlUmVmIERlc3RUeSwgY29uc3QgY2hhciAqTmFtZSkpIFwKKyAgICBtYWNybyhMTFZN
VmFsdWVSZWYgLCBCdWlsZEZQVG9TSSwgKExMVk1CdWlsZGVyUmVmLCBMTFZNVmFsdWVSZWYgVmFs
LCBMTFZNVHlwZVJlZiBEZXN0VHksIGNvbnN0IGNoYXIgKk5hbWUpKSBcCisgICAgbWFjcm8oTExW
TVZhbHVlUmVmICwgQnVpbGRVSVRvRlAsIChMTFZNQnVpbGRlclJlZiwgTExWTVZhbHVlUmVmIFZh
bCwgTExWTVR5cGVSZWYgRGVzdFR5LCBjb25zdCBjaGFyICpOYW1lKSkgXAorICAgIG1hY3JvKExM
Vk1WYWx1ZVJlZiAsIEJ1aWxkU0lUb0ZQLCAoTExWTUJ1aWxkZXJSZWYsIExMVk1WYWx1ZVJlZiBW
YWwsIExMVk1UeXBlUmVmIERlc3RUeSwgY29uc3QgY2hhciAqTmFtZSkpIFwKKyAgICBtYWNybyhM
TFZNVmFsdWVSZWYgLCBCdWlsZEZQVHJ1bmMsIChMTFZNQnVpbGRlclJlZiwgTExWTVZhbHVlUmVm
IFZhbCwgTExWTVR5cGVSZWYgRGVzdFR5LCBjb25zdCBjaGFyICpOYW1lKSkgXAorICAgIG1hY3Jv
KExMVk1WYWx1ZVJlZiAsIEJ1aWxkRlBFeHQsIChMTFZNQnVpbGRlclJlZiwgTExWTVZhbHVlUmVm
IFZhbCwgTExWTVR5cGVSZWYgRGVzdFR5LCBjb25zdCBjaGFyICpOYW1lKSkgXAorICAgIG1hY3Jv
KExMVk1WYWx1ZVJlZiAsIEJ1aWxkUHRyVG9JbnQsIChMTFZNQnVpbGRlclJlZiwgTExWTVZhbHVl
UmVmIFZhbCwgTExWTVR5cGVSZWYgRGVzdFR5LCBjb25zdCBjaGFyICpOYW1lKSkgXAorICAgIG1h
Y3JvKExMVk1WYWx1ZVJlZiAsIEJ1aWxkSW50VG9QdHIsIChMTFZNQnVpbGRlclJlZiwgTExWTVZh
bHVlUmVmIFZhbCwgTExWTVR5cGVSZWYgRGVzdFR5LCBjb25zdCBjaGFyICpOYW1lKSkgXAorICAg
IG1hY3JvKExMVk1WYWx1ZVJlZiAsIEJ1aWxkQml0Q2FzdCwgKExMVk1CdWlsZGVyUmVmLCBMTFZN
VmFsdWVSZWYgVmFsLCBMTFZNVHlwZVJlZiBEZXN0VHksIGNvbnN0IGNoYXIgKk5hbWUpKSBcCisg
ICAgbWFjcm8oTExWTVZhbHVlUmVmICwgQnVpbGRaRXh0T3JCaXRDYXN0LCAoTExWTUJ1aWxkZXJS
ZWYsIExMVk1WYWx1ZVJlZiBWYWwsIExMVk1UeXBlUmVmIERlc3RUeSwgY29uc3QgY2hhciAqTmFt
ZSkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYgLCBCdWlsZFNFeHRPckJpdENhc3QsIChMTFZN
QnVpbGRlclJlZiwgTExWTVZhbHVlUmVmIFZhbCwgTExWTVR5cGVSZWYgRGVzdFR5LCBjb25zdCBj
aGFyICpOYW1lKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiAsIEJ1aWxkVHJ1bmNPckJpdENh
c3QsIChMTFZNQnVpbGRlclJlZiwgTExWTVZhbHVlUmVmIFZhbCwgTExWTVR5cGVSZWYgRGVzdFR5
LCBjb25zdCBjaGFyICpOYW1lKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiAsIEJ1aWxkQ2Fz
dCwgKExMVk1CdWlsZGVyUmVmIEIsIExMVk1PcGNvZGUgT3AsIExMVk1WYWx1ZVJlZiBWYWwsIExM
Vk1UeXBlUmVmIERlc3RUeSwgY29uc3QgY2hhciAqTmFtZSkpIFwKKyAgICBtYWNybyhMTFZNVmFs
dWVSZWYgLCBCdWlsZFBvaW50ZXJDYXN0LCAoTExWTUJ1aWxkZXJSZWYsIExMVk1WYWx1ZVJlZiBW
YWwsIExMVk1UeXBlUmVmIERlc3RUeSwgY29uc3QgY2hhciAqTmFtZSkpIFwKKyAgICBtYWNybyhM
TFZNVmFsdWVSZWYgLCBCdWlsZEludENhc3QsIChMTFZNQnVpbGRlclJlZiwgTExWTVZhbHVlUmVm
IFZhbCwgTExWTVR5cGVSZWYgRGVzdFR5LCBjb25zdCBjaGFyICpOYW1lKSkgXAorICAgIG1hY3Jv
KExMVk1WYWx1ZVJlZiAsIEJ1aWxkRlBDYXN0LCAoTExWTUJ1aWxkZXJSZWYsIExMVk1WYWx1ZVJl
ZiBWYWwsIExMVk1UeXBlUmVmIERlc3RUeSwgY29uc3QgY2hhciAqTmFtZSkpIFwKKyAgICBtYWNy
byhMTFZNVmFsdWVSZWYgLCBCdWlsZElDbXAsIChMTFZNQnVpbGRlclJlZiwgTExWTUludFByZWRp
Y2F0ZSBPcCwgTExWTVZhbHVlUmVmIExIUywgTExWTVZhbHVlUmVmIFJIUywgY29uc3QgY2hhciAq
TmFtZSkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYgLCBCdWlsZEZDbXAsIChMTFZNQnVpbGRl
clJlZiwgTExWTVJlYWxQcmVkaWNhdGUgT3AsIExMVk1WYWx1ZVJlZiBMSFMsIExMVk1WYWx1ZVJl
ZiBSSFMsIGNvbnN0IGNoYXIgKk5hbWUpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmICwgQnVp
bGRQaGksIChMTFZNQnVpbGRlclJlZiwgTExWTVR5cGVSZWYgVHksIGNvbnN0IGNoYXIgKk5hbWUp
KSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmICwgQnVpbGRDYWxsLCAoTExWTUJ1aWxkZXJSZWYs
IExMVk1WYWx1ZVJlZiBGbiwgTExWTVZhbHVlUmVmICpBcmdzLCB1bnNpZ25lZCBOdW1BcmdzLCBj
b25zdCBjaGFyICpOYW1lKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiAsIEJ1aWxkU2VsZWN0
LCAoTExWTUJ1aWxkZXJSZWYsIExMVk1WYWx1ZVJlZiBJZiwgTExWTVZhbHVlUmVmIFRoZW4sIExM
Vk1WYWx1ZVJlZiBFbHNlLCBjb25zdCBjaGFyICpOYW1lKSkgXAorICAgIG1hY3JvKExMVk1WYWx1
ZVJlZiAsIEJ1aWxkVkFBcmcsIChMTFZNQnVpbGRlclJlZiwgTExWTVZhbHVlUmVmIExpc3QsIExM
Vk1UeXBlUmVmIFR5LCBjb25zdCBjaGFyICpOYW1lKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJl
ZiAsIEJ1aWxkRXh0cmFjdEVsZW1lbnQsIChMTFZNQnVpbGRlclJlZiwgTExWTVZhbHVlUmVmIFZl
Y1ZhbCwgTExWTVZhbHVlUmVmIEluZGV4LCBjb25zdCBjaGFyICpOYW1lKSkgXAorICAgIG1hY3Jv
KExMVk1WYWx1ZVJlZiAsIEJ1aWxkSW5zZXJ0RWxlbWVudCwgKExMVk1CdWlsZGVyUmVmLCBMTFZN
VmFsdWVSZWYgVmVjVmFsLCBMTFZNVmFsdWVSZWYgRWx0VmFsLCBMTFZNVmFsdWVSZWYgSW5kZXgs
IGNvbnN0IGNoYXIgKk5hbWUpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmICwgQnVpbGRTaHVm
ZmxlVmVjdG9yLCAoTExWTUJ1aWxkZXJSZWYsIExMVk1WYWx1ZVJlZiBWMSwgTExWTVZhbHVlUmVm
IFYyLCBMTFZNVmFsdWVSZWYgTWFzaywgY29uc3QgY2hhciAqTmFtZSkpIFwKKyAgICBtYWNybyhM
TFZNVmFsdWVSZWYgLCBCdWlsZEV4dHJhY3RWYWx1ZSwgKExMVk1CdWlsZGVyUmVmLCBMTFZNVmFs
dWVSZWYgQWdnVmFsLCB1bnNpZ25lZCBJbmRleCwgY29uc3QgY2hhciAqTmFtZSkpIFwKKyAgICBt
YWNybyhMTFZNVmFsdWVSZWYgLCBCdWlsZEluc2VydFZhbHVlLCAoTExWTUJ1aWxkZXJSZWYsIExM
Vk1WYWx1ZVJlZiBBZ2dWYWwsIExMVk1WYWx1ZVJlZiBFbHRWYWwsIHVuc2lnbmVkIEluZGV4LCBj
b25zdCBjaGFyICpOYW1lKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiAsIEJ1aWxkSXNOdWxs
LCAoTExWTUJ1aWxkZXJSZWYsIExMVk1WYWx1ZVJlZiBWYWwsIGNvbnN0IGNoYXIgKk5hbWUpKSBc
CisgICAgbWFjcm8oTExWTVZhbHVlUmVmICwgQnVpbGRJc05vdE51bGwsIChMTFZNQnVpbGRlclJl
ZiwgTExWTVZhbHVlUmVmIFZhbCwgY29uc3QgY2hhciAqTmFtZSkpIFwKKyAgICBtYWNybyhMTFZN
VmFsdWVSZWYgLCBCdWlsZFB0ckRpZmYsIChMTFZNQnVpbGRlclJlZiwgTExWTVZhbHVlUmVmIExI
UywgTExWTVZhbHVlUmVmIFJIUywgY29uc3QgY2hhciAqTmFtZSkpIFwKKyAgICBtYWNybyhMTFZN
VmFsdWVSZWYgLCBCdWlsZEF0b21pY1JNVywgKExMVk1CdWlsZGVyUmVmIEIsTExWTUF0b21pY1JN
V0Jpbk9wIG9wLCBMTFZNVmFsdWVSZWYgUFRSLCBMTFZNVmFsdWVSZWYgVmFsLCBMTFZNQXRvbWlj
T3JkZXJpbmcgb3JkZXJpbmcsIExMVk1Cb29sIHNpbmdsZVRocmVhZCkpIFwKKyAgICBtYWNybyhM
TFZNTW9kdWxlUHJvdmlkZXJSZWYsIENyZWF0ZU1vZHVsZVByb3ZpZGVyRm9yRXhpc3RpbmdNb2R1
bGUsIChMTFZNTW9kdWxlUmVmIE0pKSBcCisgICAgbWFjcm8odm9pZCAsIERpc3Bvc2VNb2R1bGVQ
cm92aWRlciwgKExMVk1Nb2R1bGVQcm92aWRlclJlZiBNKSkgXAorICAgIG1hY3JvKExMVk1Cb29s
ICwgQ3JlYXRlTWVtb3J5QnVmZmVyV2l0aENvbnRlbnRzT2ZGaWxlLCAoY29uc3QgY2hhciAqUGF0
aCwgTExWTU1lbW9yeUJ1ZmZlclJlZiAqT3V0TWVtQnVmLCBjaGFyICoqT3V0TWVzc2FnZSkpIFwK
KyAgICBtYWNybyhMTFZNQm9vbCAsIENyZWF0ZU1lbW9yeUJ1ZmZlcldpdGhTVERJTiwgKExMVk1N
ZW1vcnlCdWZmZXJSZWYgKk91dE1lbUJ1ZiwgY2hhciAqKk91dE1lc3NhZ2UpKSBcCisgICAgbWFj
cm8oTExWTU1lbW9yeUJ1ZmZlclJlZiAsIENyZWF0ZU1lbW9yeUJ1ZmZlcldpdGhNZW1vcnlSYW5n
ZSwgKGNvbnN0IGNoYXIgKklucHV0RGF0YSwgc2l6ZV90IElucHV0RGF0YUxlbmd0aCwgY29uc3Qg
Y2hhciAqQnVmZmVyTmFtZSwgTExWTUJvb2wgUmVxdWlyZXNOdWxsVGVybWluYXRvcikpIFwKKyAg
ICBtYWNybyhMTFZNTWVtb3J5QnVmZmVyUmVmICwgQ3JlYXRlTWVtb3J5QnVmZmVyV2l0aE1lbW9y
eVJhbmdlQ29weSwgKGNvbnN0IGNoYXIgKklucHV0RGF0YSwgc2l6ZV90IElucHV0RGF0YUxlbmd0
aCwgY29uc3QgY2hhciAqQnVmZmVyTmFtZSkpIFwKKyAgICBtYWNybyhjb25zdCBjaGFyICosIEdl
dEJ1ZmZlclN0YXJ0LCAoTExWTU1lbW9yeUJ1ZmZlclJlZiBNZW1CdWYpKSBcCisgICAgbWFjcm8o
c2l6ZV90ICwgR2V0QnVmZmVyU2l6ZSwgKExMVk1NZW1vcnlCdWZmZXJSZWYgTWVtQnVmKSkgXAor
ICAgIG1hY3JvKHZvaWQgLCBEaXNwb3NlTWVtb3J5QnVmZmVyLCAoTExWTU1lbW9yeUJ1ZmZlclJl
ZiBNZW1CdWYpKSBcCisgICAgbWFjcm8oTExWTVBhc3NSZWdpc3RyeVJlZiAsIEdldEdsb2JhbFBh
c3NSZWdpc3RyeSwgKHZvaWQpKSBcCisgICAgbWFjcm8oTExWTVBhc3NNYW5hZ2VyUmVmICwgQ3Jl
YXRlUGFzc01hbmFnZXIsICh2b2lkKSkgXAorICAgIG1hY3JvKExMVk1QYXNzTWFuYWdlclJlZiAs
IENyZWF0ZUZ1bmN0aW9uUGFzc01hbmFnZXJGb3JNb2R1bGUsIChMTFZNTW9kdWxlUmVmIE0pKSBc
CisgICAgbWFjcm8oTExWTVBhc3NNYW5hZ2VyUmVmICwgQ3JlYXRlRnVuY3Rpb25QYXNzTWFuYWdl
ciwgKExMVk1Nb2R1bGVQcm92aWRlclJlZiBNUCkpIFwKKyAgICBtYWNybyhMTFZNQm9vbCAsIFJ1
blBhc3NNYW5hZ2VyLCAoTExWTVBhc3NNYW5hZ2VyUmVmIFBNLCBMTFZNTW9kdWxlUmVmIE0pKSBc
CisgICAgbWFjcm8oTExWTUJvb2wgLCBJbml0aWFsaXplRnVuY3Rpb25QYXNzTWFuYWdlciwgKExM
Vk1QYXNzTWFuYWdlclJlZiBGUE0pKSBcCisgICAgbWFjcm8oTExWTUJvb2wgLCBSdW5GdW5jdGlv
blBhc3NNYW5hZ2VyLCAoTExWTVBhc3NNYW5hZ2VyUmVmIEZQTSwgTExWTVZhbHVlUmVmIEYpKSBc
CisgICAgbWFjcm8oTExWTUJvb2wgLCBGaW5hbGl6ZUZ1bmN0aW9uUGFzc01hbmFnZXIsIChMTFZN
UGFzc01hbmFnZXJSZWYgRlBNKSkgXAorICAgIG1hY3JvKHZvaWQgLCBEaXNwb3NlUGFzc01hbmFn
ZXIsIChMTFZNUGFzc01hbmFnZXJSZWYgUE0pKSBcCisgICAgbWFjcm8oTExWTUJvb2wgLCBTdGFy
dE11bHRpdGhyZWFkZWQsICgpKSBcCisgICAgbWFjcm8odm9pZCAsIFN0b3BNdWx0aXRocmVhZGVk
LCAoKSkgXAorICAgIG1hY3JvKExMVk1Cb29sICwgSXNNdWx0aXRocmVhZGVkLCAoKSkgXAorICAg
IG1hY3JvKExMVk1UYXJnZXREYXRhUmVmICwgQ3JlYXRlVGFyZ2V0RGF0YSwgKGNvbnN0IGNoYXIg
KlN0cmluZ1JlcCkpIFwKKyAgICBtYWNybyh2b2lkICwgQWRkVGFyZ2V0RGF0YSwgKExMVk1UYXJn
ZXREYXRhUmVmLCBMTFZNUGFzc01hbmFnZXJSZWYpKSBcCisgICAgbWFjcm8odm9pZCAsIEFkZFRh
cmdldExpYnJhcnlJbmZvLCAoTExWTVRhcmdldExpYnJhcnlJbmZvUmVmLCBMTFZNUGFzc01hbmFn
ZXJSZWYpKSBcCisgICAgbWFjcm8oY2hhciAqLCBDb3B5U3RyaW5nUmVwT2ZUYXJnZXREYXRhLCAo
TExWTVRhcmdldERhdGFSZWYpKSBcCisgICAgbWFjcm8oZW51bSBMTFZNQnl0ZU9yZGVyaW5nICwg
Qnl0ZU9yZGVyLCAoTExWTVRhcmdldERhdGFSZWYpKSBcCisgICAgbWFjcm8odW5zaWduZWQgLCBQ
b2ludGVyU2l6ZSwgKExMVk1UYXJnZXREYXRhUmVmKSkgXAorICAgIG1hY3JvKExMVk1UeXBlUmVm
ICwgSW50UHRyVHlwZSwgKExMVk1UYXJnZXREYXRhUmVmKSkgXAorICAgIG1hY3JvKHVuc2lnbmVk
IGxvbmcgbG9uZyAsIFNpemVPZlR5cGVJbkJpdHMsIChMTFZNVGFyZ2V0RGF0YVJlZiwgTExWTVR5
cGVSZWYpKSBcCisgICAgbWFjcm8odW5zaWduZWQgbG9uZyBsb25nICwgU3RvcmVTaXplT2ZUeXBl
LCAoTExWTVRhcmdldERhdGFSZWYsIExMVk1UeXBlUmVmKSkgXAorICAgIG1hY3JvKHVuc2lnbmVk
IGxvbmcgbG9uZyAsIEFCSVNpemVPZlR5cGUsIChMTFZNVGFyZ2V0RGF0YVJlZiwgTExWTVR5cGVS
ZWYpKSBcCisgICAgbWFjcm8odW5zaWduZWQgLCBBQklBbGlnbm1lbnRPZlR5cGUsIChMTFZNVGFy
Z2V0RGF0YVJlZiwgTExWTVR5cGVSZWYpKSBcCisgICAgbWFjcm8odW5zaWduZWQgLCBDYWxsRnJh
bWVBbGlnbm1lbnRPZlR5cGUsIChMTFZNVGFyZ2V0RGF0YVJlZiwgTExWTVR5cGVSZWYpKSBcCisg
ICAgbWFjcm8odW5zaWduZWQgLCBQcmVmZXJyZWRBbGlnbm1lbnRPZlR5cGUsIChMTFZNVGFyZ2V0
RGF0YVJlZiwgTExWTVR5cGVSZWYpKSBcCisgICAgbWFjcm8odW5zaWduZWQgLCBQcmVmZXJyZWRB
bGlnbm1lbnRPZkdsb2JhbCwgKExMVk1UYXJnZXREYXRhUmVmLCBMTFZNVmFsdWVSZWYgR2xvYmFs
VmFyKSkgXAorICAgIG1hY3JvKHVuc2lnbmVkICwgRWxlbWVudEF0T2Zmc2V0LCAoTExWTVRhcmdl
dERhdGFSZWYsIExMVk1UeXBlUmVmIFN0cnVjdFR5LCB1bnNpZ25lZCBsb25nIGxvbmcgT2Zmc2V0
KSkgXAorICAgIG1hY3JvKHVuc2lnbmVkIGxvbmcgbG9uZyAsIE9mZnNldE9mRWxlbWVudCwgKExM
Vk1UYXJnZXREYXRhUmVmLCBMTFZNVHlwZVJlZiBTdHJ1Y3RUeSwgdW5zaWduZWQgRWxlbWVudCkp
IFwKKyAgICBtYWNybyh2b2lkICwgRGlzcG9zZVRhcmdldERhdGEsIChMTFZNVGFyZ2V0RGF0YVJl
ZikpIFwKKyAgICBtYWNybyhMTFZNVGFyZ2V0UmVmICwgR2V0Rmlyc3RUYXJnZXQsICgpKSBcCisg
ICAgbWFjcm8oTExWTVRhcmdldFJlZiAsIEdldE5leHRUYXJnZXQsIChMTFZNVGFyZ2V0UmVmIFQp
KSBcCisgICAgbWFjcm8oY29uc3QgY2hhciAqLCBHZXRUYXJnZXROYW1lLCAoTExWTVRhcmdldFJl
ZiBUKSkgXAorICAgIG1hY3JvKGNvbnN0IGNoYXIgKiwgR2V0VGFyZ2V0RGVzY3JpcHRpb24sIChM
TFZNVGFyZ2V0UmVmIFQpKSBcCisgICAgbWFjcm8oTExWTUJvb2wgLCBUYXJnZXRIYXNKSVQsIChM
TFZNVGFyZ2V0UmVmIFQpKSBcCisgICAgbWFjcm8oTExWTUJvb2wgLCBUYXJnZXRIYXNUYXJnZXRN
YWNoaW5lLCAoTExWTVRhcmdldFJlZiBUKSkgXAorICAgIG1hY3JvKExMVk1Cb29sICwgVGFyZ2V0
SGFzQXNtQmFja2VuZCwgKExMVk1UYXJnZXRSZWYgVCkpIFwKKyAgICBtYWNybyhMTFZNVGFyZ2V0
TWFjaGluZVJlZiAsIENyZWF0ZVRhcmdldE1hY2hpbmUsIChMTFZNVGFyZ2V0UmVmIFQsIGNoYXIg
KlRyaXBsZSwgY2hhciAqQ1BVLCBjaGFyICpGZWF0dXJlcywgTExWTUNvZGVHZW5PcHRMZXZlbCBM
ZXZlbCwgTExWTVJlbG9jTW9kZSBSZWxvYywgTExWTUNvZGVNb2RlbCBDb2RlTW9kZWwpKSBcCisg
ICAgbWFjcm8odm9pZCAsIERpc3Bvc2VUYXJnZXRNYWNoaW5lLCAoTExWTVRhcmdldE1hY2hpbmVS
ZWYgVCkpIFwKKyAgICBtYWNybyhMTFZNVGFyZ2V0UmVmICwgR2V0VGFyZ2V0TWFjaGluZVRhcmdl
dCwgKExMVk1UYXJnZXRNYWNoaW5lUmVmIFQpKSBcCisgICAgbWFjcm8oY2hhciAqLCBHZXRUYXJn
ZXRNYWNoaW5lVHJpcGxlLCAoTExWTVRhcmdldE1hY2hpbmVSZWYgVCkpIFwKKyAgICBtYWNybyhj
aGFyICosIEdldFRhcmdldE1hY2hpbmVDUFUsIChMTFZNVGFyZ2V0TWFjaGluZVJlZiBUKSkgXAor
ICAgIG1hY3JvKGNoYXIgKiwgR2V0VGFyZ2V0TWFjaGluZUZlYXR1cmVTdHJpbmcsIChMTFZNVGFy
Z2V0TWFjaGluZVJlZiBUKSkgXAorICAgIG1hY3JvKExMVk1UYXJnZXREYXRhUmVmICwgR2V0VGFy
Z2V0TWFjaGluZURhdGEsIChMTFZNVGFyZ2V0TWFjaGluZVJlZiBUKSkgXAorICAgIG1hY3JvKExM
Vk1Cb29sICwgVGFyZ2V0TWFjaGluZUVtaXRUb0ZpbGUsIChMTFZNVGFyZ2V0TWFjaGluZVJlZiBU
LCBMTFZNTW9kdWxlUmVmIE0sIGNoYXIgKkZpbGVuYW1lLCBMTFZNQ29kZUdlbkZpbGVUeXBlIGNv
ZGVnZW4sIGNoYXIgKipFcnJvck1lc3NhZ2UpKSBcCisgICAgbWFjcm8odm9pZCAsIExpbmtJbkpJ
VCwgKHZvaWQpKSBcCisgICAgbWFjcm8odm9pZCAsIExpbmtJbk1DSklULCAodm9pZCkpIFwKKyAg
ICBtYWNybyh2b2lkICwgTGlua0luSW50ZXJwcmV0ZXIsICh2b2lkKSkgXAorICAgIG1hY3JvKExM
Vk1HZW5lcmljVmFsdWVSZWYgLCBDcmVhdGVHZW5lcmljVmFsdWVPZkludCwgKExMVk1UeXBlUmVm
IFR5LCB1bnNpZ25lZCBsb25nIGxvbmcgTiwgTExWTUJvb2wgSXNTaWduZWQpKSBcCisgICAgbWFj
cm8oTExWTUdlbmVyaWNWYWx1ZVJlZiAsIENyZWF0ZUdlbmVyaWNWYWx1ZU9mUG9pbnRlciwgKHZv
aWQgKlApKSBcCisgICAgbWFjcm8oTExWTUdlbmVyaWNWYWx1ZVJlZiAsIENyZWF0ZUdlbmVyaWNW
YWx1ZU9mRmxvYXQsIChMTFZNVHlwZVJlZiBUeSwgZG91YmxlIE4pKSBcCisgICAgbWFjcm8odW5z
aWduZWQgLCBHZW5lcmljVmFsdWVJbnRXaWR0aCwgKExMVk1HZW5lcmljVmFsdWVSZWYgR2VuVmFs
UmVmKSkgXAorICAgIG1hY3JvKHVuc2lnbmVkIGxvbmcgbG9uZyAsIEdlbmVyaWNWYWx1ZVRvSW50
LCAoTExWTUdlbmVyaWNWYWx1ZVJlZiBHZW5WYWwsIExMVk1Cb29sIElzU2lnbmVkKSkgXAorICAg
IG1hY3JvKHZvaWQgKiwgR2VuZXJpY1ZhbHVlVG9Qb2ludGVyLCAoTExWTUdlbmVyaWNWYWx1ZVJl
ZiBHZW5WYWwpKSBcCisgICAgbWFjcm8oZG91YmxlICwgR2VuZXJpY1ZhbHVlVG9GbG9hdCwgKExM
Vk1UeXBlUmVmIFR5UmVmLCBMTFZNR2VuZXJpY1ZhbHVlUmVmIEdlblZhbCkpIFwKKyAgICBtYWNy
byh2b2lkICwgRGlzcG9zZUdlbmVyaWNWYWx1ZSwgKExMVk1HZW5lcmljVmFsdWVSZWYgR2VuVmFs
KSkgXAorICAgIG1hY3JvKExMVk1Cb29sICwgQ3JlYXRlRXhlY3V0aW9uRW5naW5lRm9yTW9kdWxl
LCAoTExWTUV4ZWN1dGlvbkVuZ2luZVJlZiAqT3V0RUUsIExMVk1Nb2R1bGVSZWYgTSwgY2hhciAq
Kk91dEVycm9yKSkgXAorICAgIG1hY3JvKExMVk1Cb29sICwgQ3JlYXRlSW50ZXJwcmV0ZXJGb3JN
b2R1bGUsIChMTFZNRXhlY3V0aW9uRW5naW5lUmVmICpPdXRJbnRlcnAsIExMVk1Nb2R1bGVSZWYg
TSwgY2hhciAqKk91dEVycm9yKSkgXAorICAgIG1hY3JvKExMVk1Cb29sICwgQ3JlYXRlSklUQ29t
cGlsZXJGb3JNb2R1bGUsIChMTFZNRXhlY3V0aW9uRW5naW5lUmVmICpPdXRKSVQsIExMVk1Nb2R1
bGVSZWYgTSwgdW5zaWduZWQgT3B0TGV2ZWwsIGNoYXIgKipPdXRFcnJvcikpIFwKKyAgICBtYWNy
byh2b2lkICwgSW5pdGlhbGl6ZU1DSklUQ29tcGlsZXJPcHRpb25zLCAoIHN0cnVjdCBMTFZNTUNK
SVRDb21waWxlck9wdGlvbnMgKk9wdGlvbnMsIHNpemVfdCBTaXplT2ZPcHRpb25zKSkgXAorICAg
IG1hY3JvKExMVk1Cb29sICwgQ3JlYXRlTUNKSVRDb21waWxlckZvck1vZHVsZSwgKCBMTFZNRXhl
Y3V0aW9uRW5naW5lUmVmICpPdXRKSVQsIExMVk1Nb2R1bGVSZWYgTSwgc3RydWN0IExMVk1NQ0pJ
VENvbXBpbGVyT3B0aW9ucyAqT3B0aW9ucywgc2l6ZV90IFNpemVPZk9wdGlvbnMsIGNoYXIgKipP
dXRFcnJvcikpIFwKKyAgICBtYWNybyhMTFZNQm9vbCAsIENyZWF0ZUV4ZWN1dGlvbkVuZ2luZSwg
KExMVk1FeGVjdXRpb25FbmdpbmVSZWYgKk91dEVFLCBMTFZNTW9kdWxlUHJvdmlkZXJSZWYgTVAs
IGNoYXIgKipPdXRFcnJvcikpIFwKKyAgICBtYWNybyhMTFZNQm9vbCAsIENyZWF0ZUludGVycHJl
dGVyLCAoTExWTUV4ZWN1dGlvbkVuZ2luZVJlZiAqT3V0SW50ZXJwLCBMTFZNTW9kdWxlUHJvdmlk
ZXJSZWYgTVAsIGNoYXIgKipPdXRFcnJvcikpIFwKKyAgICBtYWNybyhMTFZNQm9vbCAsIENyZWF0
ZUpJVENvbXBpbGVyLCAoTExWTUV4ZWN1dGlvbkVuZ2luZVJlZiAqT3V0SklULCBMTFZNTW9kdWxl
UHJvdmlkZXJSZWYgTVAsIHVuc2lnbmVkIE9wdExldmVsLCBjaGFyICoqT3V0RXJyb3IpKSBcCisg
ICAgbWFjcm8odm9pZCAsIERpc3Bvc2VFeGVjdXRpb25FbmdpbmUsIChMTFZNRXhlY3V0aW9uRW5n
aW5lUmVmIEVFKSkgXAorICAgIG1hY3JvKHZvaWQgLCBSdW5TdGF0aWNDb25zdHJ1Y3RvcnMsIChM
TFZNRXhlY3V0aW9uRW5naW5lUmVmIEVFKSkgXAorICAgIG1hY3JvKHZvaWQgLCBSdW5TdGF0aWNE
ZXN0cnVjdG9ycywgKExMVk1FeGVjdXRpb25FbmdpbmVSZWYgRUUpKSBcCisgICAgbWFjcm8oaW50
ICwgUnVuRnVuY3Rpb25Bc01haW4sIChMTFZNRXhlY3V0aW9uRW5naW5lUmVmIEVFLCBMTFZNVmFs
dWVSZWYgRiwgdW5zaWduZWQgQXJnQywgY29uc3QgY2hhciAqIGNvbnN0ICpBcmdWLCBjb25zdCBj
aGFyICogY29uc3QgKkVudlApKSBcCisgICAgbWFjcm8oTExWTUdlbmVyaWNWYWx1ZVJlZiAsIFJ1
bkZ1bmN0aW9uLCAoTExWTUV4ZWN1dGlvbkVuZ2luZVJlZiBFRSwgTExWTVZhbHVlUmVmIEYsIHVu
c2lnbmVkIE51bUFyZ3MsIExMVk1HZW5lcmljVmFsdWVSZWYgKkFyZ3MpKSBcCisgICAgbWFjcm8o
dm9pZCAsIEZyZWVNYWNoaW5lQ29kZUZvckZ1bmN0aW9uLCAoTExWTUV4ZWN1dGlvbkVuZ2luZVJl
ZiBFRSwgTExWTVZhbHVlUmVmIEYpKSBcCisgICAgbWFjcm8odm9pZCAsIEFkZE1vZHVsZSwgKExM
Vk1FeGVjdXRpb25FbmdpbmVSZWYgRUUsIExMVk1Nb2R1bGVSZWYgTSkpIFwKKyAgICBtYWNybyh2
b2lkICwgQWRkTW9kdWxlUHJvdmlkZXIsIChMTFZNRXhlY3V0aW9uRW5naW5lUmVmIEVFLCBMTFZN
TW9kdWxlUHJvdmlkZXJSZWYgTVApKSBcCisgICAgbWFjcm8oTExWTUJvb2wgLCBSZW1vdmVNb2R1
bGUsIChMTFZNRXhlY3V0aW9uRW5naW5lUmVmIEVFLCBMTFZNTW9kdWxlUmVmIE0sIExMVk1Nb2R1
bGVSZWYgKk91dE1vZCwgY2hhciAqKk91dEVycm9yKSkgXAorICAgIG1hY3JvKExMVk1Cb29sICwg
UmVtb3ZlTW9kdWxlUHJvdmlkZXIsIChMTFZNRXhlY3V0aW9uRW5naW5lUmVmIEVFLCBMTFZNTW9k
dWxlUHJvdmlkZXJSZWYgTVAsIExMVk1Nb2R1bGVSZWYgKk91dE1vZCwgY2hhciAqKk91dEVycm9y
KSkgXAorICAgIG1hY3JvKExMVk1Cb29sICwgRmluZEZ1bmN0aW9uLCAoTExWTUV4ZWN1dGlvbkVu
Z2luZVJlZiBFRSwgY29uc3QgY2hhciAqTmFtZSwgTExWTVZhbHVlUmVmICpPdXRGbikpIFwKKyAg
ICBtYWNybyh2b2lkICosIFJlY29tcGlsZUFuZFJlbGlua0Z1bmN0aW9uLCAoTExWTUV4ZWN1dGlv
bkVuZ2luZVJlZiBFRSwgTExWTVZhbHVlUmVmIEZuKSkgXAorICAgIG1hY3JvKExMVk1UYXJnZXRE
YXRhUmVmICwgR2V0RXhlY3V0aW9uRW5naW5lVGFyZ2V0RGF0YSwgKExMVk1FeGVjdXRpb25Fbmdp
bmVSZWYgRUUpKSBcCisgICAgbWFjcm8odm9pZCAsIEFkZEdsb2JhbE1hcHBpbmcsIChMTFZNRXhl
Y3V0aW9uRW5naW5lUmVmIEVFLCBMTFZNVmFsdWVSZWYgR2xvYmFsLCB2b2lkKiBBZGRyKSkgXAor
ICAgIG1hY3JvKHZvaWQgKiwgR2V0UG9pbnRlclRvR2xvYmFsLCAoTExWTUV4ZWN1dGlvbkVuZ2lu
ZVJlZiBFRSwgTExWTVZhbHVlUmVmIEdsb2JhbCkpIFwKKyAgICBtYWNybyhMTFZNTUNKSVRNZW1v
cnlNYW5hZ2VyUmVmICwgQ3JlYXRlU2ltcGxlTUNKSVRNZW1vcnlNYW5hZ2VyLCAoIHZvaWQgKk9w
YXF1ZSwgTExWTU1lbW9yeU1hbmFnZXJBbGxvY2F0ZUNvZGVTZWN0aW9uQ2FsbGJhY2sgQWxsb2Nh
dGVDb2RlU2VjdGlvbiwgTExWTU1lbW9yeU1hbmFnZXJBbGxvY2F0ZURhdGFTZWN0aW9uQ2FsbGJh
Y2sgQWxsb2NhdGVEYXRhU2VjdGlvbiwgTExWTU1lbW9yeU1hbmFnZXJGaW5hbGl6ZU1lbW9yeUNh
bGxiYWNrIEZpbmFsaXplTWVtb3J5LCBMTFZNTWVtb3J5TWFuYWdlckRlc3Ryb3lDYWxsYmFjayBE
ZXN0b3J5KSkgXAorICAgIG1hY3JvKHZvaWQgLCBEaXNwb3NlTUNKSVRNZW1vcnlNYW5hZ2VyLCAo
TExWTU1DSklUTWVtb3J5TWFuYWdlclJlZiBNTSkpIFwKKyAgICBtYWNybyhMTFZNQm9vbCAsIFZl
cmlmeU1vZHVsZSwgKExMVk1Nb2R1bGVSZWYgTSwgTExWTVZlcmlmaWVyRmFpbHVyZUFjdGlvbiBB
Y3Rpb24sIGNoYXIgKipPdXRNZXNzYWdlKSkgXAorICAgIG1hY3JvKExMVk1Cb29sICwgVmVyaWZ5
RnVuY3Rpb24sIChMTFZNVmFsdWVSZWYgRm4sIExMVk1WZXJpZmllckZhaWx1cmVBY3Rpb24gQWN0
aW9uKSkgXAorICAgIG1hY3JvKHZvaWQgLCBWaWV3RnVuY3Rpb25DRkcsIChMTFZNVmFsdWVSZWYg
Rm4pKSBcCisgICAgbWFjcm8odm9pZCAsIFZpZXdGdW5jdGlvbkNGR09ubHksIChMTFZNVmFsdWVS
ZWYgRm4pKSBcCisgICAgbWFjcm8oTExWTURpc2FzbUNvbnRleHRSZWYgLCBDcmVhdGVEaXNhc20s
IChjb25zdCBjaGFyICpUcmlwbGVOYW1lLCB2b2lkICpEaXNJbmZvLCBpbnQgVGFnVHlwZSwgTExW
TU9wSW5mb0NhbGxiYWNrIEdldE9wSW5mbywgTExWTVN5bWJvbExvb2t1cENhbGxiYWNrIFN5bWJv
bExvb2tVcCkpIFwKKyAgICBtYWNybyhMTFZNRGlzYXNtQ29udGV4dFJlZiAsIENyZWF0ZURpc2Fz
bUNQVSwgKGNvbnN0IGNoYXIgKlRyaXBsZSwgY29uc3QgY2hhciAqQ1BVLCB2b2lkICpEaXNJbmZv
LCBpbnQgVGFnVHlwZSwgTExWTU9wSW5mb0NhbGxiYWNrIEdldE9wSW5mbywgTExWTVN5bWJvbExv
b2t1cENhbGxiYWNrIFN5bWJvbExvb2tVcCkpIFwKKyAgICBtYWNybyhpbnQgLCBTZXREaXNhc21P
cHRpb25zLCAoTExWTURpc2FzbUNvbnRleHRSZWYgREMsIHVpbnQ2NF90IE9wdGlvbnMpKSBcCisg
ICAgbWFjcm8odm9pZCAsIERpc2FzbURpc3Bvc2UsIChMTFZNRGlzYXNtQ29udGV4dFJlZiBEQykp
IFwKKyAgICBtYWNybyhzaXplX3QgLCBEaXNhc21JbnN0cnVjdGlvbiwgKExMVk1EaXNhc21Db250
ZXh0UmVmIERDLCB1aW50OF90ICpCeXRlcywgdWludDY0X3QgQnl0ZXNTaXplLCB1aW50NjRfdCBQ
QywgY2hhciAqT3V0U3RyaW5nLCBzaXplX3QgT3V0U3RyaW5nU2l6ZSkpIFwKKyAgICBtYWNybyh1
bnNpZ25lZCAsIFBvaW50ZXJTaXplRm9yQVMsIChMTFZNVGFyZ2V0RGF0YVJlZiwgdW5zaWduZWQg
QVMpKSBcCisgICAgbWFjcm8oTExWTVR5cGVSZWYgLCBJbnRQdHJUeXBlRm9yQVMsIChMTFZNVGFy
Z2V0RGF0YVJlZiwgdW5zaWduZWQgQVMpKSBcCisgICAgbWFjcm8oTExWTVBhc3NNYW5hZ2VyQnVp
bGRlclJlZiAsIFBhc3NNYW5hZ2VyQnVpbGRlckNyZWF0ZSwgKHZvaWQpKSBcCisgICAgbWFjcm8o
dm9pZCAsIFBhc3NNYW5hZ2VyQnVpbGRlckRpc3Bvc2UsIChMTFZNUGFzc01hbmFnZXJCdWlsZGVy
UmVmIFBNQikpIFwKKyAgICBtYWNybyh2b2lkLCBQYXNzTWFuYWdlckJ1aWxkZXJTZXRPcHRMZXZl
bCwgKExMVk1QYXNzTWFuYWdlckJ1aWxkZXJSZWYgUE1CLCB1bnNpZ25lZCBPcHRMZXZlbCkpIFwK
KyAgICBtYWNybyh2b2lkLCBQYXNzTWFuYWdlckJ1aWxkZXJTZXRTaXplTGV2ZWwsIChMTFZNUGFz
c01hbmFnZXJCdWlsZGVyUmVmIFBNQiwgdW5zaWduZWQgU2l6ZUxldmVsKSkgXAorICAgIG1hY3Jv
KHZvaWQsIFBhc3NNYW5hZ2VyQnVpbGRlclNldERpc2FibGVVbml0QXRBVGltZSwgKExMVk1QYXNz
TWFuYWdlckJ1aWxkZXJSZWYgUE1CLCBMTFZNQm9vbCBWYWx1ZSkpIFwKKyAgICBtYWNybyh2b2lk
LCBQYXNzTWFuYWdlckJ1aWxkZXJTZXREaXNhYmxlVW5yb2xsTG9vcHMsIChMTFZNUGFzc01hbmFn
ZXJCdWlsZGVyUmVmIFBNQiwgTExWTUJvb2wgVmFsdWUpKSBcCisgICAgbWFjcm8odm9pZCwgUGFz
c01hbmFnZXJCdWlsZGVyU2V0RGlzYWJsZVNpbXBsaWZ5TGliQ2FsbHMsIChMTFZNUGFzc01hbmFn
ZXJCdWlsZGVyUmVmIFBNQiwgTExWTUJvb2wgVmFsdWUpKSBcCisgICAgbWFjcm8odm9pZCwgUGFz
c01hbmFnZXJCdWlsZGVyVXNlSW5saW5lcldpdGhUaHJlc2hvbGQsIChMTFZNUGFzc01hbmFnZXJC
dWlsZGVyUmVmIFBNQiwgdW5zaWduZWQgVGhyZXNob2xkKSkgXAorICAgIG1hY3JvKHZvaWQsIFBh
c3NNYW5hZ2VyQnVpbGRlclBvcHVsYXRlRnVuY3Rpb25QYXNzTWFuYWdlciwgKExMVk1QYXNzTWFu
YWdlckJ1aWxkZXJSZWYgUE1CLCBMTFZNUGFzc01hbmFnZXJSZWYgUE0pKSBcCisgICAgbWFjcm8o
dm9pZCwgUGFzc01hbmFnZXJCdWlsZGVyUG9wdWxhdGVNb2R1bGVQYXNzTWFuYWdlciwgKExMVk1Q
YXNzTWFuYWdlckJ1aWxkZXJSZWYgUE1CLCBMTFZNUGFzc01hbmFnZXJSZWYgUE0pKSBcCisgICAg
bWFjcm8odm9pZCAsIFBhc3NNYW5hZ2VyQnVpbGRlclBvcHVsYXRlTFRPUGFzc01hbmFnZXIsIChM
TFZNUGFzc01hbmFnZXJCdWlsZGVyUmVmIFBNQiwgTExWTVBhc3NNYW5hZ2VyUmVmIFBNLCBMTFZN
Qm9vbCBJbnRlcm5hbGl6ZSwgTExWTUJvb2wgUnVuSW5saW5lcikpIFwKKyAgICBtYWNybyh2b2lk
ICwgQWRkQWdncmVzc2l2ZURDRVBhc3MsIChMTFZNUGFzc01hbmFnZXJSZWYgUE0pKSBcCisgICAg
bWFjcm8odm9pZCAsIEFkZENGR1NpbXBsaWZpY2F0aW9uUGFzcywgKExMVk1QYXNzTWFuYWdlclJl
ZiBQTSkpIFwKKyAgICBtYWNybyh2b2lkICwgQWRkRGVhZFN0b3JlRWxpbWluYXRpb25QYXNzLCAo
TExWTVBhc3NNYW5hZ2VyUmVmIFBNKSkgXAorICAgIG1hY3JvKHZvaWQgLCBBZGRHVk5QYXNzLCAo
TExWTVBhc3NNYW5hZ2VyUmVmIFBNKSkgXAorICAgIG1hY3JvKHZvaWQgLCBBZGRJbmRWYXJTaW1w
bGlmeVBhc3MsIChMTFZNUGFzc01hbmFnZXJSZWYgUE0pKSBcCisgICAgbWFjcm8odm9pZCAsIEFk
ZEluc3RydWN0aW9uQ29tYmluaW5nUGFzcywgKExMVk1QYXNzTWFuYWdlclJlZiBQTSkpIFwKKyAg
ICBtYWNybyh2b2lkICwgQWRkSnVtcFRocmVhZGluZ1Bhc3MsIChMTFZNUGFzc01hbmFnZXJSZWYg
UE0pKSBcCisgICAgbWFjcm8odm9pZCAsIEFkZExJQ01QYXNzLCAoTExWTVBhc3NNYW5hZ2VyUmVm
IFBNKSkgXAorICAgIG1hY3JvKHZvaWQgLCBBZGRMb29wRGVsZXRpb25QYXNzLCAoTExWTVBhc3NN
YW5hZ2VyUmVmIFBNKSkgXAorICAgIG1hY3JvKHZvaWQgLCBBZGRMb29wSWRpb21QYXNzLCAoTExW
TVBhc3NNYW5hZ2VyUmVmIFBNKSkgXAorICAgIG1hY3JvKHZvaWQgLCBBZGRMb29wUm90YXRlUGFz
cywgKExMVk1QYXNzTWFuYWdlclJlZiBQTSkpIFwKKyAgICBtYWNybyh2b2lkICwgQWRkTG9vcFVu
cm9sbFBhc3MsIChMTFZNUGFzc01hbmFnZXJSZWYgUE0pKSBcCisgICAgbWFjcm8odm9pZCAsIEFk
ZExvb3BVbnN3aXRjaFBhc3MsIChMTFZNUGFzc01hbmFnZXJSZWYgUE0pKSBcCisgICAgbWFjcm8o
dm9pZCAsIEFkZE1lbUNweU9wdFBhc3MsIChMTFZNUGFzc01hbmFnZXJSZWYgUE0pKSBcCisgICAg
bWFjcm8odm9pZCAsIEFkZFBhcnRpYWxseUlubGluZUxpYkNhbGxzUGFzcywgKExMVk1QYXNzTWFu
YWdlclJlZiBQTSkpIFwKKyAgICBtYWNybyh2b2lkICwgQWRkUHJvbW90ZU1lbW9yeVRvUmVnaXN0
ZXJQYXNzLCAoTExWTVBhc3NNYW5hZ2VyUmVmIFBNKSkgXAorICAgIG1hY3JvKHZvaWQgLCBBZGRS
ZWFzc29jaWF0ZVBhc3MsIChMTFZNUGFzc01hbmFnZXJSZWYgUE0pKSBcCisgICAgbWFjcm8odm9p
ZCAsIEFkZFNDQ1BQYXNzLCAoTExWTVBhc3NNYW5hZ2VyUmVmIFBNKSkgXAorICAgIG1hY3JvKHZv
aWQgLCBBZGRTY2FsYXJSZXBsQWdncmVnYXRlc1Bhc3MsIChMTFZNUGFzc01hbmFnZXJSZWYgUE0p
KSBcCisgICAgbWFjcm8odm9pZCAsIEFkZFNjYWxhclJlcGxBZ2dyZWdhdGVzUGFzc1NTQSwgKExM
Vk1QYXNzTWFuYWdlclJlZiBQTSkpIFwKKyAgICBtYWNybyh2b2lkICwgQWRkU2NhbGFyUmVwbEFn
Z3JlZ2F0ZXNQYXNzV2l0aFRocmVzaG9sZCwgKExMVk1QYXNzTWFuYWdlclJlZiBQTSwgaW50IFRo
cmVzaG9sZCkpIFwKKyAgICBtYWNybyh2b2lkICwgQWRkU2ltcGxpZnlMaWJDYWxsc1Bhc3MsIChM
TFZNUGFzc01hbmFnZXJSZWYgUE0pKSBcCisgICAgbWFjcm8odm9pZCAsIEFkZFRhaWxDYWxsRWxp
bWluYXRpb25QYXNzLCAoTExWTVBhc3NNYW5hZ2VyUmVmIFBNKSkgXAorICAgIG1hY3JvKHZvaWQg
LCBBZGRDb25zdGFudFByb3BhZ2F0aW9uUGFzcywgKExMVk1QYXNzTWFuYWdlclJlZiBQTSkpIFwK
KyAgICBtYWNybyh2b2lkICwgQWRkRGVtb3RlTWVtb3J5VG9SZWdpc3RlclBhc3MsIChMTFZNUGFz
c01hbmFnZXJSZWYgUE0pKSBcCisgICAgbWFjcm8odm9pZCAsIEFkZFZlcmlmaWVyUGFzcywgKExM
Vk1QYXNzTWFuYWdlclJlZiBQTSkpIFwKKyAgICBtYWNybyh2b2lkICwgQWRkQ29ycmVsYXRlZFZh
bHVlUHJvcGFnYXRpb25QYXNzLCAoTExWTVBhc3NNYW5hZ2VyUmVmIFBNKSkgXAorICAgIG1hY3Jv
KHZvaWQgLCBBZGRFYXJseUNTRVBhc3MsIChMTFZNUGFzc01hbmFnZXJSZWYgUE0pKSBcCisgICAg
bWFjcm8odm9pZCAsIEFkZExvd2VyRXhwZWN0SW50cmluc2ljUGFzcywgKExMVk1QYXNzTWFuYWdl
clJlZiBQTSkpIFwKKyAgICBtYWNybyh2b2lkICwgQWRkVHlwZUJhc2VkQWxpYXNBbmFseXNpc1Bh
c3MsIChMTFZNUGFzc01hbmFnZXJSZWYgUE0pKSBcCisgICAgbWFjcm8odm9pZCAsIEFkZEJhc2lj
QWxpYXNBbmFseXNpc1Bhc3MsIChMTFZNUGFzc01hbmFnZXJSZWYgUE0pKQorCisjZW5kaWYgLy8g
TExWTUFQSUZ1bmN0aW9uc19oCisKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbHZtL0xM
Vk1IZWFkZXJzLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2xsdm0vTExW
TUhlYWRlcnMuaAkocmV2aXNpb24gMCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbHZtL0xM
Vk1IZWFkZXJzLmgJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw1NSBAQAorLyoKKyAqIENvcHly
aWdodCAoQykgMjAxMyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisg
KgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBB
TkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJF
IExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisg
KiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKyAqLworCisjaWZuZGVmIExMVk1IZWFkZXJzX2gK
KyNkZWZpbmUgTExWTUhlYWRlcnNfaAorCisvLyBJdCBpcyBuZWNlc3NhcnkgdG8gaW5jbHVkZSBM
TFZNIGhlYWRlcnMgdmlhIHRoaXMgZmlsZSwgYmVjYXVzZToKKy8vIC0gTExWTSByZXF1aXJlcyBk
ZWZpbmluZyB0aGluZ3MgdGhhdCB3ZSBkb24ndCBub3JtYWxseSBkZWZpbmUsIGFuZAorLy8gLSBM
TFZNIGluY2x1ZGVzIGl0cyBDKysgaGVhZGVycyBmcm9tIGl0cyBDIGhlYWRlcnMsIGFuZCBpdHMg
QysrCisvLyAgIGhlYWRlcnMgZG9uJ3QgY29tcGlsZSBjbGVhbmx5IHdpdGggb3VyIHdhcm5pbmdz
LgorCisjdW5kZWYgX19TVERDX0xJTUlUX01BQ1JPUworI3VuZGVmIF9fU1REQ19DT05TVEFOVF9N
QUNST1MKKyNkZWZpbmUgX19TVERDX0xJTUlUX01BQ1JPUworI2RlZmluZSBfX1NURENfQ09OU1RB
TlRfTUFDUk9TCisKKyNwcmFnbWEgY2xhbmcgZGlhZ25vc3RpYyBwdXNoCisjcHJhZ21hIGNsYW5n
IGRpYWdub3N0aWMgaWdub3JlZCAiLVdtaXNzaW5nLW5vcmV0dXJuIgorI3ByYWdtYSBjbGFuZyBk
aWFnbm9zdGljIGlnbm9yZWQgIi1XdW51c2VkLXBhcmFtZXRlciIKKworI2luY2x1ZGUgPGxsdm0t
Yy9BbmFseXNpcy5oPgorI2luY2x1ZGUgPGxsdm0tYy9Db3JlLmg+CisjaW5jbHVkZSA8bGx2bS1j
L0Rpc2Fzc2VtYmxlci5oPgorI2luY2x1ZGUgPGxsdm0tYy9FeGVjdXRpb25FbmdpbmUuaD4KKyNp
bmNsdWRlIDxsbHZtLWMvVGFyZ2V0Lmg+CisjaW5jbHVkZSA8bGx2bS1jL1RyYW5zZm9ybXMvU2Nh
bGFyLmg+CisjaW5jbHVkZSA8bGx2bS1jL1RyYW5zZm9ybXMvUGFzc01hbmFnZXJCdWlsZGVyLmg+
CisKKyNwcmFnbWEgY2xhbmcgZGlhZ25vc3RpYyBwb3AKKworI2VuZGlmIC8vIExMVk1IZWFkZXJz
X2gKKworCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvbGx2bS9saWJyYXJ5L0xMVk1BbmNo
b3IuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbHZtL2xpYnJhcnkv
TExWTUFuY2hvci5jcHAJKHJldmlzaW9uIDApCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvbGx2
bS9saWJyYXJ5L0xMVk1BbmNob3IuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMjkgQEAK
Ky8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTMgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5D
LiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENP
TlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBC
VVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisg
KiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9S
IFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisgKi8KKworLy8gVGhpcyBp
cyBhIGhhY2sgZm9yIGVuc3VyaW5nIHRoYXQgdGhlIGJ1aWxkIHN5c3RlbSByZWxpbmtzIEphdmFT
Y3JpcHRDb3JlIGlmIGFueQorLy8gb2YgdGhlIExMVk0gbGlicmFyaWVzIGFyZSBrbm93biB0byBo
YXZlIGNoYW5nZWQuCisjaW5jbHVkZSAiV2ViS2l0TExWTUxpYnJhcnlUb2tlbi5oIgorCkluZGV4
OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvbGx2bS9saWJyYXJ5L0xMVk1FeHBvcnRzLmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvbGx2bS9saWJyYXJ5L0xMVk1FeHBvcnRz
LmNwcAkocmV2aXNpb24gMCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbHZtL2xpYnJhcnkv
TExWTUV4cG9ydHMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNTcgQEAKKy8qCisgKiBD
b3B5cmlnaHQgKEMpIDIwMTMgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9u
LgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElT
JycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9S
UyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFM
LAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAq
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisgKi8KKworI2luY2x1ZGUgIkxMVk1BUElG
dW5jdGlvbnMuaCIKKworbmFtZXNwYWNlIEpTQyB7CisKK3N0cnVjdCBMTFZNQVBJIHsKKyNkZWZp
bmUgTExWTV9BUElfRlVOQ1RJT05fREVDTEFSQVRJT04ocmV0dXJuVHlwZSwgbmFtZSwgc2lnbmF0
dXJlKSBcCisgICAgcmV0dXJuVHlwZSAoKm5hbWUpIHNpZ25hdHVyZTsKKyAgICBGT1JfRUFDSF9M
TFZNX0FQSV9GVU5DVElPTihMTFZNX0FQSV9GVU5DVElPTl9ERUNMQVJBVElPTikKKyN1bmRlZiBM
TFZNX0FQSV9GVU5DVElPTl9ERUNMQVJBVElPTgorfTsKKworfSAvLyBuYW1lc3BhY2UgSlNDCisK
K2V4dGVybiAiQyIgSlNDOjpMTFZNQVBJKiBpbml0aWFsaXplQW5kR2V0SlNDTExWTUFQSSgpOwor
CitleHRlcm4gIkMiIEpTQzo6TExWTUFQSSogaW5pdGlhbGl6ZUFuZEdldEpTQ0xMVk1BUEkoKQor
eworICAgIExMVk1MaW5rSW5NQ0pJVCgpOworICAgIExMVk1Jbml0aWFsaXplTmF0aXZlVGFyZ2V0
KCk7CisgICAgTExWTUluaXRpYWxpemVYODZBc21QcmludGVyKCk7CisgICAgTExWTUluaXRpYWxp
emVYODZEaXNhc3NlbWJsZXIoKTsKKyAgICAKKyAgICBKU0M6OkxMVk1BUEkqIHJlc3VsdCA9IG5l
dyBKU0M6OkxMVk1BUEk7CisgICAgCisjZGVmaW5lIExMVk1fQVBJX0ZVTkNUSU9OX0FTU0lHTk1F
TlQocmV0dXJuVHlwZSwgbmFtZSwgc2lnbmF0dXJlKSBcCisgICAgcmVzdWx0LT5uYW1lID0gTExW
TSMjbmFtZTsKKyAgICBGT1JfRUFDSF9MTFZNX0FQSV9GVU5DVElPTihMTFZNX0FQSV9GVU5DVElP
Tl9BU1NJR05NRU5UKTsKKyN1bmRlZiBMTFZNX0FQSV9GVU5DVElPTl9BU1NJR05NRU5UCisgICAg
CisgICAgcmV0dXJuIHJlc3VsdDsKK30KKwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
dm0vbGlicmFyeS9MTFZNT3ZlcnJpZGVzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGx2bS9saWJyYXJ5L0xMVk1PdmVycmlkZXMuY3BwCShyZXZpc2lvbiAwKQorKysg
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsdm0vbGlicmFyeS9MTFZNT3ZlcnJpZGVzLmNwcAkod29y
a2luZyBjb3B5KQpAQCAtMCwwICsxLDI4IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEzIEFw
cGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJF
U1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywg
VEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
IEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVO
VCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkg
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1Ig
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAq
IFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNF
LCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuIAorICovCisKK2V4dGVybiAiQyIgaW50IF9fY3hhX2F0ZXhpdCgpOworZXh0ZXJu
ICJDIiBpbnQgX19jeGFfYXRleGl0KCkgeyByZXR1cm4gMDsgfQorCkluZGV4OiBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9Jbml0aWFsaXplVGhyZWFkaW5nLmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Jbml0aWFsaXplVGhyZWFkaW5nLmNwcAko
cmV2aXNpb24gMTU3MTcyKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSW5pdGlh
bGl6ZVRocmVhZGluZy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM0LDEzICszNCwxMyBAQAogI2lu
Y2x1ZGUgIkhlYXBTdGF0aXN0aWNzLmgiCiAjaW5jbHVkZSAiT3B0aW9ucy5oIgogI2luY2x1ZGUg
IklkZW50aWZpZXIuaCIKKyNpbmNsdWRlICJJbml0aWFsaXplTExWTS5oIgogI2luY2x1ZGUgIkpT
RGF0ZU1hdGguaCIKICNpbmNsdWRlICJKU0dsb2JhbE9iamVjdC5oIgogI2luY2x1ZGUgIkpTTG9j
ay5oIgogI2luY2x1ZGUgIkxMSW50RGF0YS5oIgogI2luY2x1ZGUgIldyaXRlQmFycmllci5oIgog
I2luY2x1ZGUgPHd0Zi9kdG9hLmg+Ci0jaW5jbHVkZSA8d3RmL0xMVk1IZWFkZXJzLmg+CiAjaW5j
bHVkZSA8d3RmL1RocmVhZGluZy5oPgogI2luY2x1ZGUgPHd0Zi9kdG9hL2NhY2hlZC1wb3dlcnMu
aD4KIApAQCAtNzAsMjQgKzcwLDYgQEAgc3RhdGljIHZvaWQgaW5pdGlhbGl6ZVRocmVhZGluZ09u
Y2UoKQogI2lmIEVOQUJMRShMTElOVCkKICAgICBMTEludDo6aW5pdGlhbGl6ZSgpOwogI2VuZGlm
Ci0jaWYgSEFWRShMTFZNKQotICAgIGJvb2wgZnRsID0gZmFsc2U7Ci0gICAgYm9vbCBkaXNhc3Nl
bWJsZXIgPSBmYWxzZTsKLSNpZiBFTkFCTEUoRlRMX0pJVCkKLSAgICBmdGwgPSB0cnVlOwotI2Vu
ZGlmCi0jaWYgVVNFKExMVk1fRElTQVNTRU1CTEVSKQotICAgIGRpc2Fzc2VtYmxlciA9IHRydWU7
Ci0jZW5kaWYKLSAgICBpZiAoZnRsKQotICAgICAgICBMTFZNTGlua0luTUNKSVQoKTsKLSAgICBp
ZiAoZnRsIHx8IGRpc2Fzc2VtYmxlcikKLSAgICAgICAgTExWTUluaXRpYWxpemVOYXRpdmVUYXJn
ZXQoKTsKLSAgICBpZiAoZnRsKQotICAgICAgICBMTFZNSW5pdGlhbGl6ZVg4NkFzbVByaW50ZXIo
KTsKLSAgICBpZiAoZGlzYXNzZW1ibGVyKQotICAgICAgICBMTFZNSW5pdGlhbGl6ZVg4NkRpc2Fz
c2VtYmxlcigpOwotI2VuZGlmIC8vIEhBVkUoTExWTSkKIH0KIAogdm9pZCBpbml0aWFsaXplVGhy
ZWFkaW5nKCkKSW5kZXg6IFNvdXJjZS9XVEYvV1RGLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dURi9XVEYueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagko
cmV2aXNpb24gMTU3MTcyKQorKysgU291cmNlL1dURi9XVEYueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvagkod29ya2luZyBjb3B5KQpAQCAtMzMwLDcgKzMzMCw2IEBACiAJCTlCRDhGNDBBMTc2QzJB
RDgwMDAyRDg2NSAvKiBBdG9taWNTdHJpbmdUYWJsZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBBdG9taWNT
dHJpbmdUYWJsZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBNzBEQTA4MjE3OTlG
MDREMDA1MjlBOUIgLyogSW5zZXJ0aW9uLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IEluc2VydGlvbi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBNzBEQTA4MzE3
OTlGMDREMDA1MjlBOUIgLyogTGlzdER1bXAuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gTGlzdER1bXAuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJQTczNkIzNTgx
Nzk5RTExQTAwQzZGMDVFIC8qIExMVk1IZWFkZXJzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IExMVk1IZWFk
ZXJzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUE3NDg3NDRGMTdBMEJEQUUwMEZB
MDRDQiAvKiBTaXhDaGFyYWN0ZXJIYXNoLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgcGF0aCA9IFNpeENoYXJhY3Rlckhhc2guY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQlBNzQ4NzQ1MDE3QTBCREFFMDBGQTA0Q0IgLyogU2l4Q2hhcmFjdGVySGFzaC5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTaXhDaGFyYWN0ZXJIYXNoLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCUE3NDg3NDUxMTdBMEJEQUUwMEZBMDRDQiAvKiBTdHJpbmdI
YXNoRHVtcENvbnRleHQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU3RyaW5n
SGFzaER1bXBDb250ZXh0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC02NzIsNyAr
NjcxLDYgQEAKIAkJCQlBNzBEQTA4MjE3OTlGMDREMDA1MjlBOUIgLyogSW5zZXJ0aW9uLmggKi8s
CiAJCQkJQTcwREEwODMxNzk5RjA0RDAwNTI5QTlCIC8qIExpc3REdW1wLmggKi8sCiAJCQkJQThB
NDcyQzExNTFBODI1QTAwNDEyM0ZGIC8qIExpc3RIYXNoU2V0LmggKi8sCi0JCQkJQTczNkIzNTgx
Nzk5RTExQTAwQzZGMDVFIC8qIExMVk1IZWFkZXJzLmggKi8sCiAJCQkJQThBNDcyQzMxNTFBODI1
QTAwNDEyM0ZGIC8qIExvY2tlci5oICovLAogCQkJCUE4QTQ3MkNBMTUxQTgyNUIwMDQxMjNGRiAv
KiBNRDUuY3BwICovLAogCQkJCUE4QTQ3MkNCMTUxQTgyNUIwMDQxMjNGRiAvKiBNRDUuaCAqLywK
SW5kZXg6IFNvdXJjZS9XVEYvd3RmL0xMVk1IZWFkZXJzLmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dURi93dGYvTExWTUhlYWRlcnMuaAkocmV2aXNpb24gMTU3MTcyKQorKysgU291cmNlL1dURi93
dGYvTExWTUhlYWRlcnMuaAkod29ya2luZyBjb3B5KQpAQCAtMSw2MiArMCwwIEBACi0vKgotICog
Q29weXJpZ2h0IChDKSAyMDEzIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0g
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlv
bi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJ
UycnIEFORCBBTlkKLSAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCi0gKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCi0gKiBDT05UUklCVVRP
UlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwKLSAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywKLSAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgotICogUFJPRklUUzsgT1IgQlVTSU5FU1Mg
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQotICogT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0g
KiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAotICovCi0KLSNpZm5kZWYgTExWTUhlYWRl
cnNfaAotI2RlZmluZSBMTFZNSGVhZGVyc19oCi0KLSNpbmNsdWRlIDx3dGYvUGxhdGZvcm0uaD4K
LQotI2lmIEhBVkUoTExWTSkKLQotLy8gSXQgaXMgbmVjZXNzYXJ5IHRvIGluY2x1ZGUgTExWTSBo
ZWFkZXJzIHZpYSB0aGlzIGZpbGUsIGJlY2F1c2U6Ci0vLyAtIExMVk0gcmVxdWlyZXMgZGVmaW5p
bmcgdGhpbmdzIHRoYXQgd2UgZG9uJ3Qgbm9ybWFsbHkgZGVmaW5lLCBhbmQKLS8vIC0gTExWTSBp
bmNsdWRlcyBpdHMgQysrIGhlYWRlcnMgZnJvbSBpdHMgQyBoZWFkZXJzLCBhbmQgaXRzIEMrKwot
Ly8gICBoZWFkZXJzIGRvbid0IGNvbXBpbGUgY2xlYW5seSB3aXRoIG91ciB3YXJuaW5ncy4KLQot
I3VuZGVmIF9fU1REQ19MSU1JVF9NQUNST1MKLSN1bmRlZiBfX1NURENfQ09OU1RBTlRfTUFDUk9T
Ci0jZGVmaW5lIF9fU1REQ19MSU1JVF9NQUNST1MKLSNkZWZpbmUgX19TVERDX0NPTlNUQU5UX01B
Q1JPUwotCi0jaWYgQ09NUElMRVIoQ0xBTkcpCi0jcHJhZ21hIGNsYW5nIGRpYWdub3N0aWMgcHVz
aAotI3ByYWdtYSBjbGFuZyBkaWFnbm9zdGljIGlnbm9yZWQgIi1XbWlzc2luZy1ub3JldHVybiIK
LSNwcmFnbWEgY2xhbmcgZGlhZ25vc3RpYyBpZ25vcmVkICItV3VudXNlZC1wYXJhbWV0ZXIiCi0j
ZW5kaWYKLQotI2luY2x1ZGUgPGxsdm0tYy9BbmFseXNpcy5oPgotI2luY2x1ZGUgPGxsdm0tYy9D
b3JlLmg+Ci0jaW5jbHVkZSA8bGx2bS1jL0Rpc2Fzc2VtYmxlci5oPgotI2luY2x1ZGUgPGxsdm0t
Yy9FeGVjdXRpb25FbmdpbmUuaD4KLSNpbmNsdWRlIDxsbHZtLWMvVGFyZ2V0Lmg+Ci0jaW5jbHVk
ZSA8bGx2bS1jL1RyYW5zZm9ybXMvUGFzc01hbmFnZXJCdWlsZGVyLmg+Ci0KLSNpZiBDT01QSUxF
UihDTEFORykKLSNwcmFnbWEgY2xhbmcgZGlhZ25vc3RpYyBwb3AKLSNlbmRpZgotCi0jZW5kaWYg
Ly8gSEFWRShMTFZNKQotCi0jZW5kaWYgLy8gTExWTUhlYWRlcnNfaApJbmRleDogU291cmNlL1dU
Ri93dGYvdGV4dC9DU3RyaW5nLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dURi93dGYvdGV4dC9D
U3RyaW5nLmgJKHJldmlzaW9uIDE1NzE3MikKKysrIFNvdXJjZS9XVEYvd3RmL3RleHQvQ1N0cmlu
Zy5oCSh3b3JraW5nIGNvcHkpCkBAIC05NCw3ICs5NCw3IEBAIGlubGluZSBib29sIG9wZXJhdG9y
IT0oY29uc3QgQ1N0cmluZyYgYSwKIGJvb2wgb3BlcmF0b3I8KGNvbnN0IENTdHJpbmcmIGEsIGNv
bnN0IENTdHJpbmcmIGIpOwogCiBzdHJ1Y3QgQ1N0cmluZ0hhc2ggewotICAgIFdURl9FWFBPUlRf
UFJJVkFURSBzdGF0aWMgdW5zaWduZWQgaGFzaChjb25zdCBDU3RyaW5nJiBzdHJpbmcpIHsgcmV0
dXJuIHN0cmluZy5oYXNoKCk7IH0KKyAgICBzdGF0aWMgdW5zaWduZWQgaGFzaChjb25zdCBDU3Ry
aW5nJiBzdHJpbmcpIHsgcmV0dXJuIHN0cmluZy5oYXNoKCk7IH0KICAgICBXVEZfRVhQT1JUX1BS
SVZBVEUgc3RhdGljIGJvb2wgZXF1YWwoY29uc3QgQ1N0cmluZyYgYSwgY29uc3QgQ1N0cmluZyYg
Yik7CiAgICAgc3RhdGljIGNvbnN0IGJvb2wgc2FmZVRvQ29tcGFyZVRvRW1wdHlPckRlbGV0ZWQg
PSB0cnVlOwogfTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>213834</attachid>
            <date>2013-10-09 16:51:43 -0700</date>
            <delta_ts>2013-10-09 20:03:28 -0700</delta_ts>
            <desc>the patch</desc>
            <filename>blah.patch</filename>
            <type>text/plain</type>
            <size>157958</size>
            <attacher name="Filip Pizlo">fpizlo</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTU3MTk1KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE1MCBA
QAorMjAxMy0xMC0wOSAgRmlsaXAgUGl6bG8gIDxmcGl6bG9AYXBwbGUuY29tPgorCisgICAgICAg
IEZUTDogU29mdC1saW5rIExMVk0gYXMgYSB3b3JrYXJvdW5kIGZvciBMTFZNJ3Mgc3RhdGljIGlu
aXRpYWxpemVycyBhbmQgZXhpdC10aW1lIGRlc3RydWN0b3JzCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjI1NjYKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKyAgICAgICAgCisgICAgICAgIFRoZSBKU0MgcHJvamVjdCBub3cg
YnVpbGRzIGEgbGlibGx2bUZvckpTQy5keWxpYi4gSWYgRlRMIGlzIGVuYWJsZWQsIHRoaXMKKyAg
ICAgICAgZ2V0cyBjb3BpZWQgaW50byBKYXZhU2NyaXB0Q29yZS5mcmFtZXdvcmsvVmVyc2lvbnMv
QS9MaWJyYXJpZXMuIEpTQyB3aWxsCisgICAgICAgIGxvYWQgdGhlIGR5bGliIGJ5IGZpbmRpbmcg
aXQgdXNpbmcgTlNCdW5kbGUgQVBJcyBhbmQgdGhlbiBkb2luZyBkbG9wZW4oKS4KKyAgICAgICAg
VGhhdCB3aWxsIG9ubHkgaGFwcGVuIGxhemlseSwgd2hlbiBzb21ldGhpbmcgaGFwcGVucyB0aGF0
IHJlcXVpcmVzIExMVk0uCisgICAgICAgIAorICAgICAgICBUaGlzIG1vc3RseSB0YWtlcyBjYXJl
IG9mIExMVk0gc3RhdGljIGluaXRpYWxpemF0aW9uIG92ZXJoZWFkIGJ5IGRlZmVycmluZworICAg
ICAgICBpdCB1bnRpbCBpdCdzIHJlYWxseSBuZWVkZWQuCisgICAgICAgIAorICAgICAgICBUaGlz
IHRha2VzIGNhcmUgb2YgTExWTSdzIGV4aXQtdGltZSBkZXN0cnVjdG9ycyBiZWNhdXNlIGluc2lk
ZQorICAgICAgICBsaWJsbHZtRm9ySlNDLmR5bGliLCB3ZSBvdmVycmlkZSBfX2N4YV9hdGV4aXQu
CisgICAgICAgIAorICAgICAgICAqIENvbmZpZ3VyYXRpb25zL0phdmFTY3JpcHRDb3JlLnhjY29u
ZmlnOgorICAgICAgICAqIENvbmZpZ3VyYXRpb25zL0xMVk1Gb3JKU0MueGNjb25maWc6IEFkZGVk
LgorICAgICAgICAqIEphdmFTY3JpcHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6Cisg
ICAgICAgICogY29uZmlnLmg6CisgICAgICAgICogZGZnL0RGR1BsYW4uY3BwOgorICAgICAgICAo
SlNDOjpERkc6OlBsYW46OmNvbXBpbGVJblRocmVhZEltcGwpOgorICAgICAgICAqIGRpc2Fzc2Vt
Ymxlci9MTFZNRGlzYXNzZW1ibGVyLmNwcDoKKyAgICAgICAgKEpTQzo6dHJ5VG9EaXNhc3NlbWJs
ZVdpdGhMTFZNKToKKyAgICAgICAgKiBmdGwvRlRMQWJicmV2aWF0ZWRUeXBlcy5oOgorICAgICAg
ICAqIGZ0bC9GVExBYmJyZXZpYXRpb25zLmg6CisgICAgICAgIChKU0M6OkZUTDo6dm9pZFR5cGUp
OgorICAgICAgICAoSlNDOjpGVEw6OmludDFUeXBlKToKKyAgICAgICAgKEpTQzo6RlRMOjppbnQ4
VHlwZSk6CisgICAgICAgIChKU0M6OkZUTDo6aW50MTZUeXBlKToKKyAgICAgICAgKEpTQzo6RlRM
OjppbnQzMlR5cGUpOgorICAgICAgICAoSlNDOjpGVEw6OmludDY0VHlwZSk6CisgICAgICAgIChK
U0M6OkZUTDo6aW50UHRyVHlwZSk6CisgICAgICAgIChKU0M6OkZUTDo6ZmxvYXRUeXBlKToKKyAg
ICAgICAgKEpTQzo6RlRMOjpkb3VibGVUeXBlKToKKyAgICAgICAgKEpTQzo6RlRMOjpwb2ludGVy
VHlwZSk6CisgICAgICAgIChKU0M6OkZUTDo6c3RydWN0VHlwZSk6CisgICAgICAgIChKU0M6OkZU
TDo6ZnVuY3Rpb25UeXBlKToKKyAgICAgICAgKEpTQzo6RlRMOjp0eXBlT2YpOgorICAgICAgICAo
SlNDOjpGVEw6Om1kS2luZElEKToKKyAgICAgICAgKEpTQzo6RlRMOjptZFN0cmluZyk6CisgICAg
ICAgIChKU0M6OkZUTDo6bWROb2RlKToKKyAgICAgICAgKEpTQzo6RlRMOjpzZXRNZXRhZGF0YSk6
CisgICAgICAgIChKU0M6OkZUTDo6YWRkRnVuY3Rpb24pOgorICAgICAgICAoSlNDOjpGVEw6OnNl
dExpbmthZ2UpOgorICAgICAgICAoSlNDOjpGVEw6OnNldEZ1bmN0aW9uQ2FsbGluZ0NvbnYpOgor
ICAgICAgICAoSlNDOjpGVEw6OmdldFBhcmFtKToKKyAgICAgICAgKEpTQzo6RlRMOjpjb25zdElu
dCk6CisgICAgICAgIChKU0M6OkZUTDo6Y29uc3RSZWFsKToKKyAgICAgICAgKEpTQzo6RlRMOjpj
b25zdEludFRvUHRyKToKKyAgICAgICAgKEpTQzo6RlRMOjpjb25zdEJpdENhc3QpOgorICAgICAg
ICAoSlNDOjpGVEw6OmFwcGVuZEJhc2ljQmxvY2spOgorICAgICAgICAoSlNDOjpGVEw6Omluc2Vy
dEJhc2ljQmxvY2spOgorICAgICAgICAoSlNDOjpGVEw6OmJ1aWxkUGhpKToKKyAgICAgICAgKEpT
Qzo6RlRMOjphZGRJbmNvbWluZyk6CisgICAgICAgIChKU0M6OkZUTDo6YnVpbGRBbGxvY2EpOgor
ICAgICAgICAoSlNDOjpGVEw6OmJ1aWxkQWRkKToKKyAgICAgICAgKEpTQzo6RlRMOjpidWlsZFN1
Yik6CisgICAgICAgIChKU0M6OkZUTDo6YnVpbGRNdWwpOgorICAgICAgICAoSlNDOjpGVEw6OmJ1
aWxkRGl2KToKKyAgICAgICAgKEpTQzo6RlRMOjpidWlsZFJlbSk6CisgICAgICAgIChKU0M6OkZU
TDo6YnVpbGROZWcpOgorICAgICAgICAoSlNDOjpGVEw6OmJ1aWxkRkFkZCk6CisgICAgICAgIChK
U0M6OkZUTDo6YnVpbGRGU3ViKToKKyAgICAgICAgKEpTQzo6RlRMOjpidWlsZEZNdWwpOgorICAg
ICAgICAoSlNDOjpGVEw6OmJ1aWxkRkRpdik6CisgICAgICAgIChKU0M6OkZUTDo6YnVpbGRGUmVt
KToKKyAgICAgICAgKEpTQzo6RlRMOjpidWlsZEZOZWcpOgorICAgICAgICAoSlNDOjpGVEw6OmJ1
aWxkQW5kKToKKyAgICAgICAgKEpTQzo6RlRMOjpidWlsZE9yKToKKyAgICAgICAgKEpTQzo6RlRM
OjpidWlsZFhvcik6CisgICAgICAgIChKU0M6OkZUTDo6YnVpbGRTaGwpOgorICAgICAgICAoSlND
OjpGVEw6OmJ1aWxkQVNocik6CisgICAgICAgIChKU0M6OkZUTDo6YnVpbGRMU2hyKToKKyAgICAg
ICAgKEpTQzo6RlRMOjpidWlsZE5vdCk6CisgICAgICAgIChKU0M6OkZUTDo6YnVpbGRMb2FkKToK
KyAgICAgICAgKEpTQzo6RlRMOjpidWlsZFN0b3JlKToKKyAgICAgICAgKEpTQzo6RlRMOjpidWls
ZFNFeHQpOgorICAgICAgICAoSlNDOjpGVEw6OmJ1aWxkWkV4dCk6CisgICAgICAgIChKU0M6OkZU
TDo6YnVpbGRGUFRvU0kpOgorICAgICAgICAoSlNDOjpGVEw6OmJ1aWxkRlBUb1VJKToKKyAgICAg
ICAgKEpTQzo6RlRMOjpidWlsZFNJVG9GUCk6CisgICAgICAgIChKU0M6OkZUTDo6YnVpbGRVSVRv
RlApOgorICAgICAgICAoSlNDOjpGVEw6OmJ1aWxkSW50Q2FzdCk6CisgICAgICAgIChKU0M6OkZU
TDo6YnVpbGRGUENhc3QpOgorICAgICAgICAoSlNDOjpGVEw6OmJ1aWxkSW50VG9QdHIpOgorICAg
ICAgICAoSlNDOjpGVEw6OmJ1aWxkUHRyVG9JbnQpOgorICAgICAgICAoSlNDOjpGVEw6OmJ1aWxk
Qml0Q2FzdCk6CisgICAgICAgIChKU0M6OkZUTDo6YnVpbGRJQ21wKToKKyAgICAgICAgKEpTQzo6
RlRMOjpidWlsZEZDbXApOgorICAgICAgICAoSlNDOjpGVEw6OmJ1aWxkQ2FsbCk6CisgICAgICAg
IChKU0M6OkZUTDo6c2V0VGFpbENhbGwpOgorICAgICAgICAoSlNDOjpGVEw6OmJ1aWxkRXh0cmFj
dFZhbHVlKToKKyAgICAgICAgKEpTQzo6RlRMOjpidWlsZFNlbGVjdCk6CisgICAgICAgIChKU0M6
OkZUTDo6YnVpbGRCcik6CisgICAgICAgIChKU0M6OkZUTDo6YnVpbGRDb25kQnIpOgorICAgICAg
ICAoSlNDOjpGVEw6OmJ1aWxkU3dpdGNoKToKKyAgICAgICAgKEpTQzo6RlRMOjphZGRDYXNlKToK
KyAgICAgICAgKEpTQzo6RlRMOjpidWlsZFJldCk6CisgICAgICAgIChKU0M6OkZUTDo6YnVpbGRV
bnJlYWNoYWJsZSk6CisgICAgICAgIChKU0M6OkZUTDo6ZHVtcE1vZHVsZSk6CisgICAgICAgIChK
U0M6OkZUTDo6dmVyaWZ5TW9kdWxlKToKKyAgICAgICAgKiBmdGwvRlRMQ29tcGlsZS5jcHA6Cisg
ICAgICAgIChKU0M6OkZUTDo6Y29tcGlsZSk6CisgICAgICAgICogZnRsL0ZUTEZhaWwuY3BwOgor
ICAgICAgICAoSlNDOjpGVEw6OmZhaWwpOgorICAgICAgICAqIGZ0bC9GVExKSVRDb2RlLmg6Cisg
ICAgICAgICogZnRsL0ZUTEpJVEZpbmFsaXplci5oOgorICAgICAgICAqIGZ0bC9GVExMaW5rLmNw
cDoKKyAgICAgICAgKiBmdGwvRlRMTG93ZXJERkdUb0xMVk0uY3BwOgorICAgICAgICAoSlNDOjpG
VEw6Okxvd2VyREZHVG9MTFZNOjpsb3dlcik6CisgICAgICAgICogZnRsL0ZUTE91dHB1dC5jcHA6
CisgICAgICAgIChKU0M6OkZUTDo6T3V0cHV0OjpPdXRwdXQpOgorICAgICAgICAoSlNDOjpGVEw6
Ok91dHB1dDo6fk91dHB1dCk6CisgICAgICAgICogZnRsL0ZUTE91dHB1dC5oOgorICAgICAgICAo
SlNDOjpGVEw6Ok91dHB1dDo6YXBwZW5kVG8pOgorICAgICAgICAqIGZ0bC9GVExTdGF0ZS5jcHA6
CisgICAgICAgIChKU0M6OkZUTDo6U3RhdGU6OlN0YXRlKToKKyAgICAgICAgKEpTQzo6RlRMOjpT
dGF0ZTo6flN0YXRlKToKKyAgICAgICAgKiBmdGwvV2ViS2l0TExWTUxpYnJhcnlBbmNob3IuY3Bw
OiBSZW1vdmVkLgorICAgICAgICAqIGpzYy5jcHA6CisgICAgICAgIChqc2NtYWluKToKKyAgICAg
ICAgKiBsbHZtOiBBZGRlZC4KKyAgICAgICAgKiBsbHZtL0luaXRpYWxpemVMTFZNLmNwcDogQWRk
ZWQuCisgICAgICAgIChKU0M6OmluaXRpYWxpemVMTFZNKToKKyAgICAgICAgKiBsbHZtL0luaXRp
YWxpemVMTFZNLmg6IEFkZGVkLgorICAgICAgICAqIGxsdm0vSW5pdGlhbGl6ZUxMVk1NYWMubW06
IEFkZGVkLgorICAgICAgICAoSlNDOjppbml0aWFsaXplTExWTUltcGwpOgorICAgICAgICAqIGxs
dm0vSW5pdGlhbGl6ZUxMVk1QT1NJWC5jcHA6IEFkZGVkLgorICAgICAgICAoSlNDOjppbml0aWFs
aXplTExWTVBPU0lYKToKKyAgICAgICAgKiBsbHZtL0luaXRpYWxpemVMTFZNUE9TSVguaDogQWRk
ZWQuCisgICAgICAgICogbGx2bS9MTFZNQVBJLmNwcDogQWRkZWQuCisgICAgICAgICogbGx2bS9M
TFZNQVBJLmg6IEFkZGVkLgorICAgICAgICAqIGxsdm0vTExWTUFQSUZ1bmN0aW9ucy5oOiBBZGRl
ZC4KKyAgICAgICAgKiBsbHZtL0xMVk1IZWFkZXJzLmg6IEFkZGVkLgorICAgICAgICAqIGxsdm0v
bGlicmFyeTogQWRkZWQuCisgICAgICAgICogbGx2bS9saWJyYXJ5L0xMVk1BbmNob3IuY3BwOiBB
ZGRlZC4KKyAgICAgICAgKiBsbHZtL2xpYnJhcnkvTExWTUV4cG9ydHMuY3BwOiBBZGRlZC4KKyAg
ICAgICAgKGluaXRpYWxpemVBbmRHZXRKU0NMTFZNQVBJKToKKyAgICAgICAgKiBsbHZtL2xpYnJh
cnkvTExWTU92ZXJyaWRlcy5jcHA6IEFkZGVkLgorICAgICAgICAoX19jeGFfYXRleGl0KToKKyAg
ICAgICAgKiBydW50aW1lL0luaXRpYWxpemVUaHJlYWRpbmcuY3BwOgorICAgICAgICAoSlNDOjpp
bml0aWFsaXplVGhyZWFkaW5nT25jZSk6CisgICAgICAgICogcnVudGltZS9PcHRpb25zLmg6CisK
IDIwMTMtMTAtMDkgIEZpbGlwIFBpemxvICA8ZnBpemxvQGFwcGxlLmNvbT4KIAogICAgICAgICBN
aW5vciBjbGVhbi11cHMgaW4gdGhlIEpTQyBYY29kZSBwcm9qZWN0LgpJbmRleDogU291cmNlL0ph
dmFTY3JpcHRDb3JlL2NvbmZpZy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9jb25maWcuaAkocmV2aXNpb24gMTU3MTcyKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2Nv
bmZpZy5oCSh3b3JraW5nIGNvcHkpCkBAIC01NCw3ICs1NCw3IEBACiAKICNkZWZpbmUgV1RGX0NI
QU5HRVMgMQogCi0jaWZkZWYgX19jcGx1c3BsdXMKKyNpZiBkZWZpbmVkKF9fY3BsdXNwbHVzKSAm
JiAhZGVmaW5lZChXVEZfU1VQUFJFU1NfRkFTVF9NQUxMT0MpCiAjdW5kZWYgbmV3CiAjdW5kZWYg
ZGVsZXRlCiAjaW5jbHVkZSA8d3RmL0Zhc3RNYWxsb2MuaD4KSW5kZXg6IFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9qc2MuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qc2Mu
Y3BwCShyZXZpc2lvbiAxNTcxNzIpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvanNjLmNwcAko
d29ya2luZyBjb3B5KQpAQCAtODQ2LDEwICs4NDYsMTAgQEAgaW50IGpzY21haW4oaW50IGFyZ2Ms
IGNoYXIqKiBhcmd2KQogICAgIC8vIE5vdGUgdGhhdCB0aGUgb3B0aW9ucyBwYXJzaW5nIGNhbiBh
ZmZlY3QgVk0gY3JlYXRpb24sIGFuZCB0aHVzCiAgICAgLy8gY29tZXMgZmlyc3QuCiAgICAgQ29t
bWFuZExpbmUgb3B0aW9ucyhhcmdjLCBhcmd2KTsKLSAgICBSZWZQdHI8Vk0+IHZtID0gVk06OmNy
ZWF0ZShMYXJnZUhlYXApOworICAgIFZNKiB2bSA9IFZNOjpjcmVhdGUoTGFyZ2VIZWFwKS5sZWFr
UmVmKCk7CiAgICAgaW50IHJlc3VsdDsKICAgICB7Ci0gICAgICAgIEFQSUVudHJ5U2hpbSBzaGlt
KHZtLmdldCgpKTsKKyAgICAgICAgQVBJRW50cnlTaGltIHNoaW0odm0pOwogCiAgICAgICAgIGlm
IChvcHRpb25zLm1fcHJvZmlsZSAmJiAhdm0tPm1fcGVyQnl0ZWNvZGVQcm9maWxlcikKICAgICAg
ICAgICAgIHZtLT5tX3BlckJ5dGVjb2RlUHJvZmlsZXIgPSBhZG9wdFB0cihuZXcgUHJvZmlsZXI6
OkRhdGFiYXNlKCp2bSkpOwpAQCAtODcwLDE0ICs4NzAsNiBAQCBpbnQganNjbWFpbihpbnQgYXJn
YywgY2hhcioqIGFyZ3YpCiAgICAgICAgIH0KICAgICB9CiAgICAgCi0gICAgaWYgKE9wdGlvbnM6
Om5ldmVyRGVsZXRlVk1JbkNvbW1hbmRMaW5lKCkpIHsKLSAgICAgICAgSlNDOjpWTSogdGVtcCA9
IHZtLnJlbGVhc2UoKS5sZWFrUmVmKCk7Ci0gICAgICAgIFVOVVNFRF9QQVJBTSh0ZW1wKTsKLSAg
ICB9IGVsc2UgewotICAgICAgICBKU0xvY2tIb2xkZXIgbG9jaygqdm0pOwotICAgICAgICB2bS5j
bGVhcigpOwotICAgIH0KLSAgICAKICAgICByZXR1cm4gcmVzdWx0OwogfQogCkluZGV4OiBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvQ29uZmlndXJhdGlvbnMvSmF2YVNjcmlwdENvcmUueGNjb25maWcK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL0NvbmZpZ3VyYXRpb25zL0phdmFT
Y3JpcHRDb3JlLnhjY29uZmlnCShyZXZpc2lvbiAxNTcxNzIpCisrKyBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ29uZmlndXJhdGlvbnMvSmF2YVNjcmlwdENvcmUueGNjb25maWcJKHdvcmtpbmcgY29w
eSkKQEAgLTM1LDE1ICszNSwxMSBAQCBKU1ZBTFVFX01PREVMX3g4Nl82NCA9IDY0OwogLy8gUHJl
dmVudCBDKysgc3RhbmRhcmQgbGlicmFyeSBvcGVyYXRvciBuZXcsIGRlbGV0ZSBhbmQgdGhlaXIg
cmVsYXRlZCBleGNlcHRpb24gdHlwZXMgZnJvbSBiZWluZyBleHBvcnRlZCBhcyB3ZWFrIHN5bWJv
bHMuCiBPVEhFUl9MREZMQUdTX0hJREVfU1lNQk9MUyA9IC1XbCwtdW5leHBvcnRlZF9zeW1ib2wg
LVdsLF9fWlRJU3Q5YmFkX2FsbG9jIC1XbCwtdW5leHBvcnRlZF9zeW1ib2wgLVdsLF9fWlRJU3Q5
ZXhjZXB0aW9uIC1XbCwtdW5leHBvcnRlZF9zeW1ib2wgLVdsLF9fWlRTU3Q5YmFkX2FsbG9jIC1X
bCwtdW5leHBvcnRlZF9zeW1ib2wgLVdsLF9fWlRTU3Q5ZXhjZXB0aW9uIC1XbCwtdW5leHBvcnRl
ZF9zeW1ib2wgLVdsLF9fWmRsUHZTXyAtV2wsLXVuZXhwb3J0ZWRfc3ltYm9sIC1XbCxfX1pud21Q
diAtV2wsLWFsbF9sb2FkOwogCi1PVEhFUl9MREZMQUdTX0xMVk0gPSAkKE9USEVSX0xERkxBR1Nf
TExWTV8kKEVOQUJMRV9GVExfSklUKSk7Ci1PVEhFUl9MREZMQUdTX0xMVk1fID0gOwotT1RIRVJf
TERGTEFHU19MTFZNX0VOQUJMRV9GVExfSklUID0gLWxwdGhyZWFkIC1sbSAtbExMVk1UYWJsZUdl
biAtbExMVk1EZWJ1Z0luZm8gLWxMTFZNT3B0aW9uIC1sTExWTVg4NkRpc2Fzc2VtYmxlciAtbExM
Vk1YODZBc21QYXJzZXIgLWxMTFZNWDg2Q29kZUdlbiAtbExMVk1TZWxlY3Rpb25EQUcgLWxMTFZN
QXNtUHJpbnRlciAtbExMVk1YODZEZXNjIC1sTExWTVg4NkluZm8gLWxMTFZNWDg2QXNtUHJpbnRl
ciAtbExMVk1YODZVdGlscyAtbExMVk1JUlJlYWRlciAtbExMVk1Bc21QYXJzZXIgLWxMTFZNTUNE
aXNhc3NlbWJsZXIgLWxMTFZNTUNQYXJzZXIgLWxMTFZNSW5zdHJ1bWVudGF0aW9uIC1sTExWTUJp
dFJlYWRlciAtbExMVk1JbnRlcnByZXRlciAtbExMVk1pcG8gLWxMTFZNVmVjdG9yaXplIC1sTExW
TUxpbmtlciAtbExMVk1CaXRXcml0ZXIgLWxMTFZNTUNKSVQgLWxMTFZNSklUIC1sTExWTUNvZGVH
ZW4gLWxMTFZNT2JqQ0FSQ09wdHMgLWxMTFZNU2NhbGFyT3B0cyAtbExMVk1JbnN0Q29tYmluZSAt
bExMVk1UcmFuc2Zvcm1VdGlscyAtbExMVk1pcGEgLWxMTFZNQW5hbHlzaXMgLWxMTFZNUnVudGlt
ZUR5bGQgLWxMTFZNRXhlY3V0aW9uRW5naW5lIC1sTExWTVRhcmdldCAtbExMVk1NQyAtbExMVk1P
YmplY3QgLWxMTFZNQ29yZSAtbExMVk1TdXBwb3J0OwotCiBPVEhFUl9MREZMQUdTX0JBU0UgPSAt
bG9iamMgLVdsLC1ZLDMgJChPVEhFUl9MREZMQUdTX0hJREVfU1lNQk9MUyk7CiBPVEhFUl9MREZM
QUdTID0gJChpbmhlcml0ZWQpICQoT1RIRVJfTERGTEFHU18kKFBMQVRGT1JNX05BTUUpKTsKIE9U
SEVSX0xERkxBR1NfaXBob25lb3MgPSAkKE9USEVSX0xERkxBR1NfQkFTRSk7CiBPVEhFUl9MREZM
QUdTX2lwaG9uZXNpbXVsYXRvciA9ICQoT1RIRVJfTERGTEFHU19pcGhvbmVvcyk7Ci1PVEhFUl9M
REZMQUdTX21hY29zeCA9ICQoT1RIRVJfTERGTEFHU19CQVNFKSAkKE9USEVSX0xERkxBR1NfTExW
TSkgLXN1Yl9saWJyYXJ5IGxpYm9iamMgLWZyYW1ld29yayBDb3JlU2VydmljZXM7CitPVEhFUl9M
REZMQUdTX21hY29zeCA9ICQoT1RIRVJfTERGTEFHU19CQVNFKSAtc3ViX2xpYnJhcnkgbGlib2Jq
YyAtZnJhbWV3b3JrIENvcmVTZXJ2aWNlczsKIEdDQ19QUkVGSVhfSEVBREVSID0gSmF2YVNjcmlw
dENvcmVQcmVmaXguaDsKIEdDQ19TWU1CT0xTX1BSSVZBVEVfRVhURVJOID0gWUVTOwogSEVBREVS
X1NFQVJDSF9QQVRIUyA9ICIke0JVSUxUX1BST0RVQ1RTX0RJUn0vRGVyaXZlZFNvdXJjZXMvSmF2
YVNjcmlwdENvcmUiICQoSEVBREVSX1NFQVJDSF9QQVRIUyk7CkluZGV4OiBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvQ29uZmlndXJhdGlvbnMvTExWTUZvckpTQy54Y2NvbmZpZwo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvQ29uZmlndXJhdGlvbnMvTExWTUZvckpTQy54Y2NvbmZp
ZwkocmV2aXNpb24gMCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9Db25maWd1cmF0aW9ucy9M
TFZNRm9ySlNDLnhjY29uZmlnCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNDIgQEAKKy8vIENv
cHlyaWdodCAoQykgMjAwOSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLworLy8g
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0CisvLyBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKy8vIGFyZSBtZXQ6CisvLyAxLiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorLy8gICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLgorLy8gMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKy8vICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKy8vICAgIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24u
CisvLworLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMn
JyBBTkQgQU5ZCisvLyBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFRIRQorLy8gSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisvLyBQVVJQT1NFIEFSRSBESVND
TEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorLy8gQ09OVFJJQlVUT1JT
IEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUws
CisvLyBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sCisvLyBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKy8vIFBST0ZJVFM7IE9SIEJVU0lORVNTIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKy8vIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorLy8g
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFCisvLyBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKworI2luY2x1ZGUgIkZlYXR1cmVEZWZpbmVz
LnhjY29uZmlnIgorI2luY2x1ZGUgIlZlcnNpb24ueGNjb25maWciCisKKy8vIFByZXZlbnQgQysr
IHN0YW5kYXJkIGxpYnJhcnkgb3BlcmF0b3IgbmV3LCBkZWxldGUgYW5kIHRoZWlyIHJlbGF0ZWQg
ZXhjZXB0aW9uIHR5cGVzIGZyb20gYmVpbmcgZXhwb3J0ZWQgYXMgd2VhayBzeW1ib2xzLgorT1RI
RVJfTERGTEFHU19ISURFX1NZTUJPTFMgPSAtV2wsLXVuZXhwb3J0ZWRfc3ltYm9sIC1XbCxfX1pU
SVN0OWJhZF9hbGxvYyAtV2wsLXVuZXhwb3J0ZWRfc3ltYm9sIC1XbCxfX1pUSVN0OWV4Y2VwdGlv
biAtV2wsLXVuZXhwb3J0ZWRfc3ltYm9sIC1XbCxfX1pUU1N0OWJhZF9hbGxvYyAtV2wsLXVuZXhw
b3J0ZWRfc3ltYm9sIC1XbCxfX1pUU1N0OWV4Y2VwdGlvbiAtV2wsLXVuZXhwb3J0ZWRfc3ltYm9s
IC1XbCxfX1pkbFB2U18gLVdsLC11bmV4cG9ydGVkX3N5bWJvbCAtV2wsX19abndtUHYgLVdsLC1h
bGxfbG9hZDsKKworT1RIRVJfTERGTEFHU19MTFZNID0gJChPVEhFUl9MREZMQUdTX0xMVk1fJChF
TkFCTEVfRlRMX0pJVCkpOworT1RIRVJfTERGTEFHU19MTFZNXyA9IDsKK09USEVSX0xERkxBR1Nf
TExWTV9FTkFCTEVfRlRMX0pJVCA9IC1scHRocmVhZCAtbG0gLWxMTFZNVGFibGVHZW4gLWxMTFZN
RGVidWdJbmZvIC1sTExWTU9wdGlvbiAtbExMVk1YODZEaXNhc3NlbWJsZXIgLWxMTFZNWDg2QXNt
UGFyc2VyIC1sTExWTVg4NkNvZGVHZW4gLWxMTFZNU2VsZWN0aW9uREFHIC1sTExWTUFzbVByaW50
ZXIgLWxMTFZNWDg2RGVzYyAtbExMVk1YODZJbmZvIC1sTExWTVg4NkFzbVByaW50ZXIgLWxMTFZN
WDg2VXRpbHMgLWxMTFZNSVJSZWFkZXIgLWxMTFZNQXNtUGFyc2VyIC1sTExWTU1DRGlzYXNzZW1i
bGVyIC1sTExWTU1DUGFyc2VyIC1sTExWTUluc3RydW1lbnRhdGlvbiAtbExMVk1CaXRSZWFkZXIg
LWxMTFZNSW50ZXJwcmV0ZXIgLWxMTFZNaXBvIC1sTExWTVZlY3Rvcml6ZSAtbExMVk1MaW5rZXIg
LWxMTFZNQml0V3JpdGVyIC1sTExWTU1DSklUIC1sTExWTUpJVCAtbExMVk1Db2RlR2VuIC1sTExW
TU9iakNBUkNPcHRzIC1sTExWTVNjYWxhck9wdHMgLWxMTFZNSW5zdENvbWJpbmUgLWxMTFZNVHJh
bnNmb3JtVXRpbHMgLWxMTFZNaXBhIC1sTExWTUFuYWx5c2lzIC1sTExWTVJ1bnRpbWVEeWxkIC1s
TExWTUV4ZWN1dGlvbkVuZ2luZSAtbExMVk1UYXJnZXQgLWxMTFZNTUMgLWxMTFZNT2JqZWN0IC1s
TExWTUNvcmUgLWxMTFZNU3VwcG9ydDsKKworT1RIRVJfTERGTEFHU19CQVNFID0gLWxvYmpjIC1X
bCwtWSwzICQoT1RIRVJfTERGTEFHU19ISURFX1NZTUJPTFMpOworT1RIRVJfTERGTEFHUyA9ICQo
aW5oZXJpdGVkKSAkKE9USEVSX0xERkxBR1NfJChQTEFURk9STV9OQU1FKSk7CitPVEhFUl9MREZM
QUdTX2lwaG9uZW9zID0gJChPVEhFUl9MREZMQUdTX0JBU0UpOworT1RIRVJfTERGTEFHU19pcGhv
bmVzaW11bGF0b3IgPSAkKE9USEVSX0xERkxBR1NfaXBob25lb3MpOworT1RIRVJfTERGTEFHU19t
YWNvc3ggPSAkKE9USEVSX0xERkxBR1NfQkFTRSkgJChPVEhFUl9MREZMQUdTX0xMVk0pCitHQ0Nf
U1lNQk9MU19QUklWQVRFX0VYVEVSTiA9IFlFUzsKK0hFQURFUl9TRUFSQ0hfUEFUSFMgPSAiJHtC
VUlMVF9QUk9EVUNUU19ESVJ9L0Rlcml2ZWRTb3VyY2VzL0phdmFTY3JpcHRDb3JlIiAkKEhFQURF
Ul9TRUFSQ0hfUEFUSFMpOworCitQUk9EVUNUX05BTUUgPSBsaWJsbHZtRm9ySlNDOwpJbmRleDog
U291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2oKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3Jl
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHJldmlzaW9uIDE1NzE3MikKKysrIFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCSh3
b3JraW5nIGNvcHkpCkBAIC0yNTcsNyArMjU3LDYgQEAKIAkJMEY2Mzk0ODUxNUU0ODExQjAwNkE1
OTdDIC8qIERGR0FycmF5TW9kZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gMEY2Mzk0ODIxNUU0ODExNDAwNkE1OTdDIC8qIERGR0FycmF5TW9kZS5oICov
OyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTBGNjZFMTZC
MTRERjNGMTYwMEI3QjJFNCAvKiBERkdBZGphY2VuY3lMaXN0LmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjY2RTE2ODE0REYzRjEzMDBCN0IyRTQgLyog
REZHQWRqYWNlbmN5TGlzdC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUs
ICk7IH07IH07CiAJCTBGNjZFMTZDMTRERjNGMTYwMEI3QjJFNCAvKiBERkdFZGdlLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjY2RTE2OTE0REYzRjEz
MDBCN0IyRTQgLyogREZHRWRnZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZh
dGUsICk7IH07IH07Ci0JCTBGNkU1QzE5MTcyNEFGM0QwMDVDNTc0RiAvKiBXZWJLaXRMTFZNTGli
cmFyeUFuY2hvci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSAwRjZFNUMxODE3MjRBRjNEMDA1QzU3NEYgLyogV2ViS2l0TExWTUxpYnJhcnlBbmNob3Iu
Y3BwICovOyB9OwogCQkwRjcwMjVBOTE3MTRCMEZBMDAzODJDMEUgLyogREZHT1NSRXhpdENvbXBp
bGVyQ29tbW9uLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDBGNzAyNUE3MTcxNEIwRjgwMDM4MkMwRSAvKiBERkdPU1JFeGl0Q29tcGlsZXJDb21tb24u
Y3BwICovOyB9OwogCQkwRjcwMjVBQTE3MTRCMEZDMDAzODJDMEUgLyogREZHT1NSRXhpdENvbXBp
bGVyQ29tbW9uLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSAwRjcwMjVBODE3MTRCMEY4MDAzODJDMEUgLyogREZHT1NSRXhpdENvbXBpbGVyQ29tbW9uLmgg
Ki87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJMEY3MTRD
QTQxNkVBOTJGMDAwRjNFQkVCIC8qIERGR0JhY2t3YXJkc1Byb3BhZ2F0aW9uUGhhc2UuY3BwIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEY3MTRDQTExNkVB
OTJFRDAwRjNFQkVCIC8qIERGR0JhY2t3YXJkc1Byb3BhZ2F0aW9uUGhhc2UuY3BwICovOyB9OwpA
QCAtMzcyLDYgKzM3MSwyMSBAQAogCQkwRkM4MTUxNTE0MDUxMTlCMDBDRkE2MDMgLyogVlRhYmxl
U3BlY3RydW0uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDBGQzgxNTE0MTQwNTExOEQwMENGQTYwMyAvKiBWVGFibGVTcGVjdHJ1bS5oICovOyBzZXR0aW5n
cyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTBGQzgxNTE2MTQwNTExQjUw
MENGQTYwMyAvKiBWVGFibGVTcGVjdHJ1bS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSAwRkM4MTUxMjE0MDUxMTg2MDBDRkE2MDMgLyogVlRhYmxlU3Bl
Y3RydW0uY3BwICovOyB9OwogCQkwRkNDQUU0NTE2RDBDRjc0MDBEMEM2NUIgLyogUGFyc2VyRXJy
b3IuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGQ0NB
RTQzMTZEMENGNkUwMEQwQzY1QiAvKiBQYXJzZXJFcnJvci5oICovOyBzZXR0aW5ncyA9IHtBVFRS
SUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTBGQ0VGQUIwMTgwNUNBNkQwMDQ3MkNFNCAv
KiBJbml0aWFsaXplTExWTS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gMEZDRUZBQUUxODA1Q0E2RDAwNDcyQ0U0IC8qIEluaXRpYWxpemVMTFZNLmggKi87
IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMEZDRUZBQjEx
ODA1Q0E2RDAwNDcyQ0U0IC8qIEluaXRpYWxpemVMTFZNTWFjLm1tIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZDRUZBQUYxODA1Q0E2RDAwNDcyQ0U0IC8q
IEluaXRpYWxpemVMTFZNTWFjLm1tICovOyB9OworCQkwRkNFRkFDMTE4MDVEOTRFMDA0NzJDRTQg
LyogTExWTU92ZXJyaWRlcy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSAwRkNFRkFDMDE4MDVEOTQxMDA0NzJDRTQgLyogTExWTU92ZXJyaWRlcy5jcHAg
Ki87IH07CisJCTBGQ0VGQUMzMTgwNUU3NDAwMDQ3MkNFNCAvKiBMTFZNRXhwb3J0cy5jcHAgaW4g
U291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRkNFRkFDMjE4MDVF
NzQwMDA0NzJDRTQgLyogTExWTUV4cG9ydHMuY3BwICovOyB9OworCQkwRkNFRkFDQTE4MDVFNzU1
MDA0NzJDRTQgLyogSW5pdGlhbGl6ZUxMVk0uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gMEZDRUZBQzQxODA1RTc1NTAwNDcyQ0U0IC8qIEluaXRpYWxp
emVMTFZNLmNwcCAqLzsgfTsKKwkJMEZDRUZBQ0IxODA1RTc1NTAwNDcyQ0U0IC8qIEluaXRpYWxp
emVMTFZNUE9TSVguY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gMEZDRUZBQzUxODA1RTc1NTAwNDcyQ0U0IC8qIEluaXRpYWxpemVMTFZNUE9TSVguY3Bw
ICovOyB9OworCQkwRkNFRkFDQzE4MDVFNzU1MDA0NzJDRTQgLyogSW5pdGlhbGl6ZUxMVk1QT1NJ
WC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZDRUZB
QzYxODA1RTc1NTAwNDcyQ0U0IC8qIEluaXRpYWxpemVMTFZNUE9TSVguaCAqLzsgc2V0dGluZ3Mg
PSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQkwRkNFRkFDRDE4MDVFNzU1MDA0
NzJDRTQgLyogTExWTUFQSS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSAwRkNFRkFDNzE4MDVFNzU1MDA0NzJDRTQgLyogTExWTUFQSS5jcHAgKi87IH07
CisJCTBGQ0VGQUNFMTgwNUU3NTUwMDQ3MkNFNCAvKiBMTFZNQVBJLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRkNFRkFDODE4MDVFNzU1MDA0NzJDRTQg
LyogTExWTUFQSS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07
IH07CisJCTBGQ0VGQUNGMTgwNUU3NTUwMDQ3MkNFNCAvKiBMTFZNQVBJRnVuY3Rpb25zLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRkNFRkFDOTE4MDVF
NzU1MDA0NzJDRTQgLyogTExWTUFQSUZ1bmN0aW9ucy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJV
VEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTBGQ0VGQUQxMTgwNUU3NzkwMDQ3MkNFNCAvKiBM
TFZNQVBJRnVuY3Rpb25zLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSAwRkNFRkFDOTE4MDVFNzU1MDA0NzJDRTQgLyogTExWTUFQSUZ1bmN0aW9ucy5oICov
OyB9OworCQkwRkNFRkFEMzE4MDVFRENDMDA0NzJDRTQgLyogTExWTUhlYWRlcnMuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGQ0VGQUQyMTgwNUVEQ0Mw
MDQ3MkNFNCAvKiBMTFZNSGVhZGVycy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFBy
aXZhdGUsICk7IH07IH07CisJCTBGQ0VGQUQ0MTgwNUVEQ0MwMDQ3MkNFNCAvKiBMTFZNSGVhZGVy
cy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZDRUZB
RDIxODA1RURDQzAwNDcyQ0U0IC8qIExMVk1IZWFkZXJzLmggKi87IH07CisJCTBGQ0VGQUQ3MTgw
NjE3NDYwMDQ3MkNFNCAvKiBMTFZNQW5jaG9yLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGQ0VGQUQ2MTgwNjE3NDYwMDQ3MkNFNCAvKiBMTFZNQW5j
aG9yLmNwcCAqLzsgfTsKKwkJMEZDRUZBREExODA2MjBEQTAwNDcyQ0U0IC8qIExMVk1BUEkuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGQ0VGQUM4MTgw
NUU3NTUwMDQ3MkNFNCAvKiBMTFZNQVBJLmggKi87IH07CiAJCTBGRDJDOTI0MTZEMDFFRTkwMEM3
ODAzRiAvKiBTdHJ1Y3R1cmVJbmxpbmVzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSAwRkQyQzkyMzE2RDAxRUU5MDBDNzgwM0YgLyogU3RydWN0dXJlSW5s
aW5lcy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJ
CTBGRDNDODI2MTQxMTVENDAwMEZEODFDQiAvKiBERkdEcml2ZXIuY3BwIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZEM0M4MjAxNDExNUNGODAwRkQ4MUNC
IC8qIERGR0RyaXZlci5jcHAgKi87IH07CiAJCTBGRDNDODI4MTQxMTVENEYwMEZEODFDQiAvKiBE
RkdEcml2ZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDBGRDNDODIyMTQxMTVEMEUwMEZEODFDQiAvKiBERkdEcml2ZXIuaCAqLzsgfTsKQEAgLTExODEs
NiArMTE5NSwxMyBAQAogLyogRW5kIFBCWEJ1aWxkRmlsZSBzZWN0aW9uICovCiAKIC8qIEJlZ2lu
IFBCWENvbnRhaW5lckl0ZW1Qcm94eSBzZWN0aW9uICovCisJCTBGQ0VGQUJDMTgwNUQ2NjMwMDQ3
MkNFNCAvKiBQQlhDb250YWluZXJJdGVtUHJveHkgKi8gPSB7CisJCQlpc2EgPSBQQlhDb250YWlu
ZXJJdGVtUHJveHk7CisJCQljb250YWluZXJQb3J0YWwgPSAwODY3RDY5MEZFODQwMjhGQzAyQUFD
MDcgLyogUHJvamVjdCBvYmplY3QgKi87CisJCQlwcm94eVR5cGUgPSAxOworCQkJcmVtb3RlR2xv
YmFsSURTdHJpbmcgPSAwRkNFRkFCNTE4MDVENjE2MDA0NzJDRTQ7CisJCQlyZW1vdGVJbmZvID0g
bGx2bUZvckpTQzsKKwkJfTsKIAkJMEZGOTIyRDIxNEY0NkIyRjAwNDFBMjRFIC8qIFBCWENvbnRh
aW5lckl0ZW1Qcm94eSAqLyA9IHsKIAkJCWlzYSA9IFBCWENvbnRhaW5lckl0ZW1Qcm94eTsKIAkJ
CWNvbnRhaW5lclBvcnRhbCA9IDA4NjdENjkwRkU4NDAyOEZDMDJBQUMwNyAvKiBQcm9qZWN0IG9i
amVjdCAqLzsKQEAgLTE0NzEsNyArMTQ5Miw2IEBACiAJCTBGNjM5NDgyMTVFNDgxMTQwMDZBNTk3
QyAvKiBERkdBcnJheU1vZGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gREZH
QXJyYXlNb2RlLmg7IHBhdGggPSBkZmcvREZHQXJyYXlNb2RlLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCTBGNjZFMTY4MTRERjNGMTMwMEI3QjJFNCAvKiBERkdBZGphY2VuY3lMaXN0
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IERGR0FkamFjZW5jeUxpc3QuaDsg
cGF0aCA9IGRmZy9ERkdBZGphY2VuY3lMaXN0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCTBGNjZFMTY5MTRERjNGMTMwMEI3QjJFNCAvKiBERkdFZGdlLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgbmFtZSA9IERGR0VkZ2UuaDsgcGF0aCA9IGRmZy9ERkdFZGdlLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTBGNkU1QzE4MTcyNEFGM0QwMDVDNTc0RiAvKiBXZWJL
aXRMTFZNTGlicmFyeUFuY2hvci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5h
bWUgPSBXZWJLaXRMTFZNTGlicmFyeUFuY2hvci5jcHA7IHBhdGggPSBmdGwvV2ViS2l0TExWTUxp
YnJhcnlBbmNob3IuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkwRjcwMjVBNzE3
MTRCMEY4MDAzODJDMEUgLyogREZHT1NSRXhpdENvbXBpbGVyQ29tbW9uLmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IERGR09TUkV4aXRDb21waWxlckNvbW1vbi5jcHA7
IHBhdGggPSBkZmcvREZHT1NSRXhpdENvbXBpbGVyQ29tbW9uLmNwcDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJMEY3MDI1QTgxNzE0QjBGODAwMzgyQzBFIC8qIERGR09TUkV4aXRDb21w
aWxlckNvbW1vbi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBERkdPU1JFeGl0
Q29tcGlsZXJDb21tb24uaDsgcGF0aCA9IGRmZy9ERkdPU1JFeGl0Q29tcGlsZXJDb21tb24uaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMEY3MTRDQTExNkVBOTJFRDAwRjNFQkVCIC8q
IERGR0JhY2t3YXJkc1Byb3BhZ2F0aW9uUGhhc2UuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAuY3BwOyBuYW1lID0gREZHQmFja3dhcmRzUHJvcGFnYXRpb25QaGFzZS5jcHA7IHBhdGggPSBk
ZmcvREZHQmFja3dhcmRzUHJvcGFnYXRpb25QaGFzZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CkBAIC0xNTk4LDYgKzE2MTgsMjAgQEAKIAkJMEZDODE1MTQxNDA1MTE4RDAwQ0ZBNjAz
IC8qIFZUYWJsZVNwZWN0cnVtLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFZU
YWJsZVNwZWN0cnVtLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTBGQ0I0MDg1MTVD
MEEzQzMwMDQ4OTMyQiAvKiBTbG90VmlzaXRvcklubGluZXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gU2xvdFZpc2l0b3JJbmxpbmVzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTBGQ0NBRTQzMTZEMENGNkUwMEQwQzY1QiAvKiBQYXJzZXJFcnJvci5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQYXJzZXJFcnJvci5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQkwRkNFRkFBRTE4MDVDQTZEMDA0NzJDRTQgLyogSW5pdGlhbGl6ZUxM
Vk0uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gSW5pdGlhbGl6ZUxMVk0uaDsg
cGF0aCA9IGxsdm0vSW5pdGlhbGl6ZUxMVk0uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
KwkJMEZDRUZBQUYxODA1Q0E2RDAwNDcyQ0U0IC8qIEluaXRpYWxpemVMTFZNTWFjLm1tICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBuYW1lID0gSW5pdGlhbGl6ZUxMVk1NYWMubW07
IHBhdGggPSBsbHZtL0luaXRpYWxpemVMTFZNTWFjLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OworCQkwRkNFRkFCNjE4MDVENjE2MDA0NzJDRTQgLyogbGlibGx2bUZvckpTQy5keWxpYiAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBleHBsaWNpdEZpbGVUeXBlID0gImNvbXBpbGVk
Lm1hY2gtby5keWxpYiI7IGluY2x1ZGVJbkluZGV4ID0gMDsgcGF0aCA9IGxpYmxsdm1Gb3JKU0Mu
ZHlsaWI7IHNvdXJjZVRyZWUgPSBCVUlMVF9QUk9EVUNUU19ESVI7IH07CisJCTBGQ0VGQUJFMTgw
NUQ4NjkwMDQ3MkNFNCAvKiBMTFZNRm9ySlNDLnhjY29uZmlnICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dC54Y2NvbmZpZzsgcGF0aCA9IExMVk1G
b3JKU0MueGNjb25maWc7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGQ0VGQUMwMTgw
NUQ5NDEwMDQ3MkNFNCAvKiBMTFZNT3ZlcnJpZGVzLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IExM
Vk1PdmVycmlkZXMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRkNFRkFDMjE4
MDVFNzQwMDA0NzJDRTQgLyogTExWTUV4cG9ydHMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAuY3BwOyBwYXRoID0gTExWTUV4cG9ydHMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OworCQkwRkNFRkFDNDE4MDVFNzU1MDA0NzJDRTQgLyogSW5pdGlhbGl6ZUxMVk0uY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gSW5pdGlhbGl6ZUxMVk0uY3BwOyBwYXRo
ID0gbGx2bS9Jbml0aWFsaXplTExWTS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CTBGQ0VGQUM1MTgwNUU3NTUwMDQ3MkNFNCAvKiBJbml0aWFsaXplTExWTVBPU0lYLmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IEluaXRpYWxpemVMTFZNUE9TSVguY3Bw
OyBwYXRoID0gbGx2bS9Jbml0aWFsaXplTExWTVBPU0lYLmNwcDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKKwkJMEZDRUZBQzYxODA1RTc1NTAwNDcyQ0U0IC8qIEluaXRpYWxpemVMTFZNUE9T
SVguaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gSW5pdGlhbGl6ZUxMVk1QT1NJ
WC5oOyBwYXRoID0gbGx2bS9Jbml0aWFsaXplTExWTVBPU0lYLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCTBGQ0VGQUM3MTgwNUU3NTUwMDQ3MkNFNCAvKiBMTFZNQVBJLmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IExMVk1BUEkuY3BwOyBwYXRoID0gbGx2
bS9MTFZNQVBJLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEZDRUZBQzgxODA1
RTc1NTAwNDcyQ0U0IC8qIExMVk1BUEkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1l
ID0gTExWTUFQSS5oOyBwYXRoID0gbGx2bS9MTFZNQVBJLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCTBGQ0VGQUM5MTgwNUU3NTUwMDQ3MkNFNCAvKiBMTFZNQVBJRnVuY3Rpb25zLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IExMVk1BUElGdW5jdGlvbnMuaDsgcGF0
aCA9IGxsdm0vTExWTUFQSUZ1bmN0aW9ucy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQkwRkNFRkFEMjE4MDVFRENDMDA0NzJDRTQgLyogTExWTUhlYWRlcnMuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBuYW1lID0gTExWTUhlYWRlcnMuaDsgcGF0aCA9IGxsdm0vTExWTUhlYWRl
cnMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEZDRUZBRDYxODA2MTc0NjAwNDcy
Q0U0IC8qIExMVk1BbmNob3IuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRo
ID0gTExWTUFuY2hvci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTBGRDJDOTIz
MTZEMDFFRTkwMEM3ODAzRiAvKiBTdHJ1Y3R1cmVJbmxpbmVzLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IFN0cnVjdHVyZUlubGluZXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJMEZEM0M4MjAxNDExNUNGODAwRkQ4MUNCIC8qIERGR0RyaXZlci5jcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBERkdEcml2ZXIuY3BwOyBwYXRoID0gZGZn
L0RGR0RyaXZlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTBGRDNDODIyMTQx
MTVEMEUwMEZEODFDQiAvKiBERkdEcml2ZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBu
YW1lID0gREZHRHJpdmVyLmg7IHBhdGggPSBkZmcvREZHRHJpdmVyLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CkBAIC0yNDMxLDYgKzI0NjUsMTMgQEAKIC8qIEVuZCBQQlhGaWxlUmVmZXJl
bmNlIHNlY3Rpb24gKi8KIAogLyogQmVnaW4gUEJYRnJhbWV3b3Jrc0J1aWxkUGhhc2Ugc2VjdGlv
biAqLworCQkwRkNFRkFCMzE4MDVENjE2MDA0NzJDRTQgLyogRnJhbWV3b3JrcyAqLyA9IHsKKwkJ
CWlzYSA9IFBCWEZyYW1ld29ya3NCdWlsZFBoYXNlOworCQkJYnVpbGRBY3Rpb25NYXNrID0gMjE0
NzQ4MzY0NzsKKwkJCWZpbGVzID0gKAorCQkJKTsKKwkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9z
dHByb2Nlc3NpbmcgPSAwOworCQl9OwogCQkwRkY5MjJDNjE0RjQ2QjEzMDA0MUEyNEUgLyogRnJh
bWV3b3JrcyAqLyA9IHsKIAkJCWlzYSA9IFBCWEZyYW1ld29ya3NCdWlsZFBoYXNlOwogCQkJYnVp
bGRBY3Rpb25NYXNrID0gMjE0NzQ4MzY0NzsKQEAgLTI0OTksNiArMjU0MCw3IEBACiAJCQkJMTQx
MjExMjAwQTQ4NzkzQzAwNDgwMjU1IC8qIG1pbmlkb20gKi8sCiAJCQkJMTRCRDU5QkYwQTNFOEY5
MDAwQkFGNTlDIC8qIHRlc3RhcGkgKi8sCiAJCQkJNjUxMTIzMDUxNDA0NkE0QzAwMkIxMDFEIC8q
IHRlc3RSZWdFeHAgKi8sCisJCQkJMEZDRUZBQjYxODA1RDYxNjAwNDcyQ0U0IC8qIGxpYmxsdm1G
b3JKU0MuZHlsaWIgKi8sCiAJCQkpOwogCQkJbmFtZSA9IFByb2R1Y3RzOwogCQkJc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsKQEAgLTI1MzEsNiArMjU3Myw3IEBACiAJCQkJMTQyOUQ3N0EwRUQyMEQ3
MzAwQjg5NjE5IC8qIGludGVycHJldGVyICovLAogCQkJCTE0MjlEOTJDMEVEMjJENzAwMEI4OTYx
OSAvKiBqaXQgKi8sCiAJCQkJMEY0NjgwOUMxNEJBN0Y0RDAwQkZFMjcyIC8qIGxsaW50ICovLAor
CQkJCTBGQ0VGQUFEMTgwNUNBNDQwMDQ3MkNFNCAvKiBsbHZtICovLAogCQkJCTdFMzlEODM3MEVD
M0EzODgwMDNBRjExQSAvKiBwYXJzZXIgKi8sCiAJCQkJMDM0NzY4REZGRjM4QTUwNDExREI5QzhC
IC8qIFByb2R1Y3RzICovLAogCQkJCTk1QUI4MzFBMERBNDJDNjkwMEJDODNGMyAvKiBwcm9maWxl
ciAqLywKQEAgLTI1ODgsNiArMjYzMSwzNCBAQAogCQkJbmFtZSA9IGxsaW50OwogCQkJc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsKIAkJfTsKKwkJMEZDRUZBQUQxODA1Q0E0NDAwNDcyQ0U0IC8qIGxs
dm0gKi8gPSB7CisJCQlpc2EgPSBQQlhHcm91cDsKKwkJCWNoaWxkcmVuID0gKAorCQkJCTBGQ0VG
QUJGMTgwNUQ5NDEwMDQ3MkNFNCAvKiBsaWJyYXJ5ICovLAorCQkJCTBGQ0VGQUM0MTgwNUU3NTUw
MDQ3MkNFNCAvKiBJbml0aWFsaXplTExWTS5jcHAgKi8sCisJCQkJMEZDRUZBQUUxODA1Q0E2RDAw
NDcyQ0U0IC8qIEluaXRpYWxpemVMTFZNLmggKi8sCisJCQkJMEZDRUZBQUYxODA1Q0E2RDAwNDcy
Q0U0IC8qIEluaXRpYWxpemVMTFZNTWFjLm1tICovLAorCQkJCTBGQ0VGQUM1MTgwNUU3NTUwMDQ3
MkNFNCAvKiBJbml0aWFsaXplTExWTVBPU0lYLmNwcCAqLywKKwkJCQkwRkNFRkFDNjE4MDVFNzU1
MDA0NzJDRTQgLyogSW5pdGlhbGl6ZUxMVk1QT1NJWC5oICovLAorCQkJCTBGQ0VGQUM3MTgwNUU3
NTUwMDQ3MkNFNCAvKiBMTFZNQVBJLmNwcCAqLywKKwkJCQkwRkNFRkFDODE4MDVFNzU1MDA0NzJD
RTQgLyogTExWTUFQSS5oICovLAorCQkJCTBGQ0VGQUM5MTgwNUU3NTUwMDQ3MkNFNCAvKiBMTFZN
QVBJRnVuY3Rpb25zLmggKi8sCisJCQkJMEZDRUZBRDIxODA1RURDQzAwNDcyQ0U0IC8qIExMVk1I
ZWFkZXJzLmggKi8sCisJCQkpOworCQkJbmFtZSA9IGxsdm07CisJCQlzb3VyY2VUcmVlID0gIjxn
cm91cD4iOworCQl9OworCQkwRkNFRkFCRjE4MDVEOTQxMDA0NzJDRTQgLyogbGlicmFyeSAqLyA9
IHsKKwkJCWlzYSA9IFBCWEdyb3VwOworCQkJY2hpbGRyZW4gPSAoCisJCQkJMEZDRUZBRDYxODA2
MTc0NjAwNDcyQ0U0IC8qIExMVk1BbmNob3IuY3BwICovLAorCQkJCTBGQ0VGQUMyMTgwNUU3NDAw
MDQ3MkNFNCAvKiBMTFZNRXhwb3J0cy5jcHAgKi8sCisJCQkJMEZDRUZBQzAxODA1RDk0MTAwNDcy
Q0U0IC8qIExMVk1PdmVycmlkZXMuY3BwICovLAorCQkJKTsKKwkJCW5hbWUgPSBsaWJyYXJ5Owor
CQkJcGF0aCA9IGxsdm0vbGlicmFyeTsKKwkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CisJCX07
CiAJCTBGRUEwOUZDMTcwNTEzN0YwMEJCNzIyQyAvKiBmdGwgKi8gPSB7CiAJCQlpc2EgPSBQQlhH
cm91cDsKIAkJCWNoaWxkcmVuID0gKApAQCAtMjY1MSw3ICsyNzIyLDYgQEAKIAkJCQkwRkRCMkND
ODE3M0RBNTFFMDA3QjNDMUIgLyogRlRMVmFsdWVGcm9tQmxvY2suaCAqLywKIAkJCQkwRjIzNUJD
RjE3MTc4RTFDMDA2OTBDN0YgLyogRlRMVmFsdWVTb3VyY2UuY3BwICovLAogCQkJCTBGMjM1QkQw
MTcxNzhFMUMwMDY5MEM3RiAvKiBGVExWYWx1ZVNvdXJjZS5oICovLAotCQkJCTBGNkU1QzE4MTcy
NEFGM0QwMDVDNTc0RiAvKiBXZWJLaXRMTFZNTGlicmFyeUFuY2hvci5jcHAgKi8sCiAJCQkpOwog
CQkJbmFtZSA9IGZ0bDsKIAkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CkBAIC0zMDA4LDYgKzMw
NzgsNyBAQAogCQkxQzkwNTEzRTBCQTlFODgzMDA4MUU5RDAgLyogQ29uZmlndXJhdGlvbnMgKi8g
PSB7CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKAorCQkJCTBGQ0VGQUJFMTgw
NUQ4NjkwMDQ3MkNFNCAvKiBMTFZNRm9ySlNDLnhjY29uZmlnICovLAogCQkJCTFDOTA1MTQ1MEJB
OUU4QTcwMDgxRTlEMCAvKiBCYXNlLnhjY29uZmlnICovLAogCQkJCTFDOTA1MTQ0MEJBOUU4QTcw
MDgxRTlEMCAvKiBEZWJ1Z1JlbGVhc2UueGNjb25maWcgKi8sCiAJCQkJNDQ5MDk3RUUwRjhGODFC
NTAwNzZBMzI3IC8qIEZlYXR1cmVEZWZpbmVzLnhjY29uZmlnICovLApAQCAtMzg4Miw2ICszOTUz
LDE2IEBACiAvKiBFbmQgUEJYR3JvdXAgc2VjdGlvbiAqLwogCiAvKiBCZWdpbiBQQlhIZWFkZXJz
QnVpbGRQaGFzZSBzZWN0aW9uICovCisJCTBGQ0VGQUI0MTgwNUQ2MTYwMDQ3MkNFNCAvKiBIZWFk
ZXJzICovID0geworCQkJaXNhID0gUEJYSGVhZGVyc0J1aWxkUGhhc2U7CisJCQlidWlsZEFjdGlv
bk1hc2sgPSAyMTQ3NDgzNjQ3OworCQkJZmlsZXMgPSAoCisJCQkJMEZDRUZBRDQxODA1RURDQzAw
NDcyQ0U0IC8qIExMVk1IZWFkZXJzLmggaW4gSGVhZGVycyAqLywKKwkJCQkwRkNFRkFEQTE4MDYy
MERBMDA0NzJDRTQgLyogTExWTUFQSS5oIGluIEhlYWRlcnMgKi8sCisJCQkJMEZDRUZBRDExODA1
RTc3OTAwNDcyQ0U0IC8qIExMVk1BUElGdW5jdGlvbnMuaCBpbiBIZWFkZXJzICovLAorCQkJKTsK
KwkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOworCQl9OwogCQkxNDQw
MDVDNzBBNTMzOEM2MDAwNUYwNjEgLyogSGVhZGVycyAqLyA9IHsKIAkJCWlzYSA9IFBCWEhlYWRl
cnNCdWlsZFBoYXNlOwogCQkJYnVpbGRBY3Rpb25NYXNrID0gMjE0NzQ4MzY0NzsKQEAgLTM5NDAs
NiArNDAyMSw3IEBACiAJCQkJMEYwQjgzQjExNEJDRjcxODAwODg1QjRGIC8qIENhbGxMaW5rSW5m
by5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEY5MzMyOUUxNENBN0RDNTAwODVGM0M2IC8qIENhbGxM
aW5rU3RhdHVzLmggaW4gSGVhZGVycyAqLywKIAkJCQkwRjBCODNCOTE0QkNGOTVGMDA4ODVCNEYg
LyogQ2FsbFJldHVybk9mZnNldFRvQnl0ZWNvZGVPZmZzZXQuaCBpbiBIZWFkZXJzICovLAorCQkJ
CTBGQ0VGQUQzMTgwNUVEQ0MwMDQ3MkNFNCAvKiBMTFZNSGVhZGVycy5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJQkM2QUFBRTUwRTFGNDI2NTAwQUQ4N0Q4IC8qIENsYXNzSW5mby5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJMEY3M0Q3QUYxNjVBMTQzMDAwQUNBQjcxIC8qIENsb3N1cmVDYWxsU3R1YlJvdXRp
bmUuaCBpbiBIZWFkZXJzICovLAogCQkJCTk2OUEwNzk3MEVEMUQzQUUwMEYxRjY4MSAvKiBDb2Rl
QmxvY2suaCBpbiBIZWFkZXJzICovLApAQCAtMzk3MCw2ICs0MDUyLDcgQEAKIAkJCQlDMjIzOUQx
ODE2MjYyQkREMDA1QUM1RkQgLyogQ29weVZpc2l0b3IuaCBpbiBIZWFkZXJzICovLAogCQkJCUMy
MjM5RDE5MTYyNjJCREQwMDVBQzVGRCAvKiBDb3B5VmlzaXRvcklubGluZXMuaCBpbiBIZWFkZXJz
ICovLAogCQkJCUMyMThEMTQwMTY1NUNGRDUwMDYyQkI4MSAvKiBDb3B5V29ya0xpc3QuaCBpbiBI
ZWFkZXJzICovLAorCQkJCTBGQ0VGQUNGMTgwNUU3NTUwMDQ3MkNFNCAvKiBMTFZNQVBJRnVuY3Rp
b25zLmggaW4gSGVhZGVycyAqLywKIAkJCQk1REU2RTVCMzBFMTcyOEVDMDAxODA0MDcgLyogY3Jl
YXRlX2hhc2hfdGFibGUgaW4gSGVhZGVycyAqLywKIAkJCQkwRjQyNkE0QjE0NjBDRDZFMDAxMzFG
OEYgLyogRGF0YUZvcm1hdC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEYyQjY2REYxN0I2QjVBQjAw
QTdBRTNGIC8qIERhdGFWaWV3LmggaW4gSGVhZGVycyAqLywKQEAgLTQwODcsNiArNDE3MCw3IEBA
CiAJCQkJODZFQzlERDMxMzI4REY4MjAwMkIyQUQ3IC8qIERGR1NwZWN1bGF0aXZlSklULmggaW4g
SGVhZGVycyAqLywKIAkJCQlBN0Q4OUQwMDE3QTBCOENDMDA3NzNBRDggLyogREZHU1NBQ29udmVy
c2lvblBoYXNlLmggaW4gSGVhZGVycyAqLywKIAkJCQkwRjYzOTQ3ODE1RENFMzRCMDA2QTU5N0Mg
LyogREZHU3RydWN0dXJlQWJzdHJhY3RWYWx1ZS5oIGluIEhlYWRlcnMgKi8sCisJCQkJMEZDRUZB
Q0MxODA1RTc1NTAwNDcyQ0U0IC8qIEluaXRpYWxpemVMTFZNUE9TSVguaCBpbiBIZWFkZXJzICov
LAogCQkJCTBGQzA5N0EyMTQ2QjI4Q0MwMENGMjQ0MiAvKiBERkdUaHVua3MuaCBpbiBIZWFkZXJz
ICovLAogCQkJCTBGNjM5NDNGMTVDNzVGMTkwMDZBNTk3QyAvKiBERkdUeXBlQ2hlY2tIb2lzdGlu
Z1BoYXNlLmggaW4gSGVhZGVycyAqLywKIAkJCQkwRkJFMEY3NzE2QzFEQjEyMDA4MkM1RTggLyog
REZHVW5pZmljYXRpb25QaGFzZS5oIGluIEhlYWRlcnMgKi8sCkBAIC00MTkzLDYgKzQyNzcsNyBA
QAogCQkJCUE3ODg1M0ZBMTc5NzI2MjkwMDE0NDBFNCAvKiBJbnRlbmRlZFN0cnVjdHVyZUNoYWlu
LmggaW4gSGVhZGVycyAqLywKIAkJCQlCQzExNjY3QjBFMTk5QzA1MDA4MDY2REQgLyogSW50ZXJu
YWxGdW5jdGlvbi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMTQyOUQ3N0MwRUQyMEQ3MzAwQjg5NjE5
IC8qIEludGVycHJldGVyLmggaW4gSGVhZGVycyAqLywKKwkJCQkwRkNFRkFCMDE4MDVDQTZEMDA0
NzJDRTQgLyogSW5pdGlhbGl6ZUxMVk0uaCBpbiBIZWFkZXJzICovLAogCQkJCTg2MEJEODAxMTQ4
RUE2RjIwMDExMkIyRiAvKiBJbnRyaW5zaWMuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDMThDNDEz
MEUxNkY1Q0QwMEIzNDQ2MCAvKiBKYXZhU2NyaXB0LmggaW4gSGVhZGVycyAqLywKIAkJCQlCQzE4
QzQxNDBFMTZGNUNEMDBCMzQ0NjAgLyogSmF2YVNjcmlwdENvcmUuaCBpbiBIZWFkZXJzICovLApA
QCAtNDI0Niw2ICs0MzMxLDcgQEAKIAkJCQlBNzIwMjhCODE3OTc2MDFFMDA5ODAyOEMgLyogSlND
VGVzdFJ1bm5lclV0aWxzLmggaW4gSGVhZGVycyAqLywKIAkJCQkwRjJCNjZFQzE3QjZCNUFCMDBB
N0FFM0YgLyogSlNEYXRhVmlldy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEYyQjY2RUUxN0I2QjVB
QjAwQTdBRTNGIC8qIEpTRGF0YVZpZXdQcm90b3R5cGUuaCBpbiBIZWFkZXJzICovLAorCQkJCTBG
Q0VGQUNFMTgwNUU3NTUwMDQ3MkNFNCAvKiBMTFZNQVBJLmggaW4gSGVhZGVycyAqLywKIAkJCQk5
Nzg4MDE0MTE0NzFBRDkyMDA0MUIwMTYgLyogSlNEYXRlTWF0aC5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJQzJBN0Y2ODgxNjA0MzJENDAwRjc2Qjk4IC8qIEpTRGVzdHJ1Y3RpYmxlT2JqZWN0LmggaW4g
SGVhZGVycyAqLywKIAkJCQk4NkUzQzYxNDE2N0JBQkQ3MDA2RDc2MEEgLyogSlNFeHBvcnQuaCBp
biBIZWFkZXJzICovLApAQCAtNDU2Myw2ICs0NjQ5LDIzIEBACiAvKiBFbmQgUEJYSGVhZGVyc0J1
aWxkUGhhc2Ugc2VjdGlvbiAqLwogCiAvKiBCZWdpbiBQQlhOYXRpdmVUYXJnZXQgc2VjdGlvbiAq
LworCQkwRkNFRkFCNTE4MDVENjE2MDA0NzJDRTQgLyogbGx2bUZvckpTQyAqLyA9IHsKKwkJCWlz
YSA9IFBCWE5hdGl2ZVRhcmdldDsKKwkJCWJ1aWxkQ29uZmlndXJhdGlvbkxpc3QgPSAwRkNFRkFC
NzE4MDVENjE2MDA0NzJDRTQgLyogQnVpbGQgY29uZmlndXJhdGlvbiBsaXN0IGZvciBQQlhOYXRp
dmVUYXJnZXQgImxsdm1Gb3JKU0MiICovOworCQkJYnVpbGRQaGFzZXMgPSAoCisJCQkJMEZDRUZB
QjIxODA1RDYxNjAwNDcyQ0U0IC8qIFNvdXJjZXMgKi8sCisJCQkJMEZDRUZBQjMxODA1RDYxNjAw
NDcyQ0U0IC8qIEZyYW1ld29ya3MgKi8sCisJCQkJMEZDRUZBQjQxODA1RDYxNjAwNDcyQ0U0IC8q
IEhlYWRlcnMgKi8sCisJCQkpOworCQkJYnVpbGRSdWxlcyA9ICgKKwkJCSk7CisJCQlkZXBlbmRl
bmNpZXMgPSAoCisJCQkpOworCQkJbmFtZSA9IGxsdm1Gb3JKU0M7CisJCQlwcm9kdWN0TmFtZSA9
IGxsdm1Gb3JKU0M7CisJCQlwcm9kdWN0UmVmZXJlbmNlID0gMEZDRUZBQjYxODA1RDYxNjAwNDcy
Q0U0IC8qIGxpYmxsdm1Gb3JKU0MuZHlsaWIgKi87CisJCQlwcm9kdWN0VHlwZSA9ICJjb20uYXBw
bGUucHJvZHVjdC10eXBlLmxpYnJhcnkuZHluYW1pYyI7CisJCX07CiAJCTBGRjkyMkMzMTRGNDZC
MTMwMDQxQTI0RSAvKiBKU0NMTEludE9mZnNldHNFeHRyYWN0b3IgKi8gPSB7CiAJCQlpc2EgPSBQ
QlhOYXRpdmVUYXJnZXQ7CiAJCQlidWlsZENvbmZpZ3VyYXRpb25MaXN0ID0gMEZGOTIyQ0ExNEY0
NkIxMzAwNDFBMjRFIC8qIEJ1aWxkIGNvbmZpZ3VyYXRpb24gbGlzdCBmb3IgUEJYTmF0aXZlVGFy
Z2V0ICJKU0NMTEludE9mZnNldHNFeHRyYWN0b3IiICovOwpAQCAtNDY0Myw2ICs0NzQ2LDcgQEAK
IAkJCQkzNzMyODExQTE3RkNEMjM1MDA0QUQ1MTkgLyogUG9zdHByb2Nlc3MgSGVhZGVycyAqLywK
IAkJCQk5MzJGNUI5MTA4MjJBMUM3MDA3MzY5NzUgLyogU291cmNlcyAqLywKIAkJCQk5MzJGNUJE
MjA4MjJBMUM3MDA3MzY5NzUgLyogRnJhbWV3b3JrcyAqLywKKwkJCQkwRkNFRkFEOTE4MDYxOTE4
MDA0NzJDRTQgLyogQ29weSBMTFZNIExpYnJhcnkgSW50byBGcmFtZXdvcmsgKi8sCiAJCQkJNUQy
OUQ4QkUwRTk4NjBCNDAwQzNEMkQwIC8qIENoZWNrIEZvciBXZWFrIFZUYWJsZXMgYW5kIEV4dGVy
bmFscyAqLywKIAkJCQkzNzEzRjAxNDE0MjkwNTI0MDAzNjM4N0YgLyogQ2hlY2sgRm9yIEluYXBw
cm9wcmlhdGUgT2JqZWN0aXZlLUMgQ2xhc3MgTmFtZXMgKi8sCiAJCQkJQTU1REVBQTQxNjcwM0RG
NzAwM0RCODQxIC8qIENoZWNrIEZvciBJbmFwcHJvcHJpYXRlIE1hY3JvcyBpbiBFeHRlcm5hbCBI
ZWFkZXJzICovLApAQCAtNDY1MCw2ICs0NzU0LDcgQEAKIAkJCWJ1aWxkUnVsZXMgPSAoCiAJCQkp
OwogCQkJZGVwZW5kZW5jaWVzID0gKAorCQkJCTBGQ0VGQUJEMTgwNUQ2NjMwMDQ3MkNFNCAvKiBQ
QlhUYXJnZXREZXBlbmRlbmN5ICovLAogCQkJCTY1RkIzRjdFMDlEMTFFRjMwMEY0OURFQiAvKiBQ
QlhUYXJnZXREZXBlbmRlbmN5ICovLAogCQkJKTsKIAkJCW5hbWUgPSBKYXZhU2NyaXB0Q29yZTsK
QEAgLTQ3MTAsNiArNDgxNSw3IEBACiAJCQkJMEY0NjgwQTkxNEJBN0ZEOTAwQkZFMjcyIC8qIExM
SW50IE9mZnNldHMgKi8sCiAJCQkJMEZGOTIyQzMxNEY0NkIxMzAwNDFBMjRFIC8qIEpTQ0xMSW50
T2Zmc2V0c0V4dHJhY3RvciAqLywKIAkJCQk1RDZCMkE0NzE1MkI5RTE3MDA1MjMxREUgLyogVGVz
dCBUb29scyAqLywKKwkJCQkwRkNFRkFCNTE4MDVENjE2MDA0NzJDRTQgLyogbGx2bUZvckpTQyAq
LywKIAkJCSk7CiAJCX07CiAvKiBFbmQgUEJYUHJvamVjdCBzZWN0aW9uICovCkBAIC00NzMxLDYg
KzQ4MzcsMjEgQEAKIAkJCXNoZWxsUGF0aCA9IC9iaW4vc2g7CiAJCQlzaGVsbFNjcmlwdCA9ICJt
a2RpciAtcCBcIiR7QlVJTFRfUFJPRFVDVFNfRElSfS9MTEludE9mZnNldHMvXCJcblxuL3Vzci9i
aW4vZW52IHJ1YnkgXCIke1NSQ1JPT1R9L29mZmxpbmVhc20vZ2VuZXJhdGVfb2Zmc2V0X2V4dHJh
Y3Rvci5yYlwiIFwiJHtTUkNST09UfS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbVwiIFwi
JHtCVUlMVF9QUk9EVUNUU19ESVJ9L0xMSW50T2Zmc2V0cy9MTEludERlc2lyZWRPZmZzZXRzLmhc
IlxuIjsKIAkJfTsKKwkJMEZDRUZBRDkxODA2MTkxODAwNDcyQ0U0IC8qIENvcHkgTExWTSBMaWJy
YXJ5IEludG8gRnJhbWV3b3JrICovID0geworCQkJaXNhID0gUEJYU2hlbGxTY3JpcHRCdWlsZFBo
YXNlOworCQkJYnVpbGRBY3Rpb25NYXNrID0gMjE0NzQ4MzY0NzsKKwkJCWZpbGVzID0gKAorCQkJ
KTsKKwkJCWlucHV0UGF0aHMgPSAoCisJCQkJIiQoQlVJTFRfUFJPRFVDVFNfRElSKS9saWJsbHZt
Rm9ySlNDLmR5bGliIiwKKwkJCSk7CisJCQluYW1lID0gIkNvcHkgTExWTSBMaWJyYXJ5IEludG8g
RnJhbWV3b3JrIjsKKwkJCW91dHB1dFBhdGhzID0gKAorCQkJKTsKKwkJCXJ1bk9ubHlGb3JEZXBs
b3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOworCQkJc2hlbGxQYXRoID0gL2Jpbi9zaDsKKwkJCXNo
ZWxsU2NyaXB0ID0gImlmIFtbICRFTkFCTEVfRlRMX0pJVCAhPSBcIkVOQUJMRV9GVExfSklUXCIg
XV1cbnRoZW5cbiAgICBleGl0IDBcbmZpXG5cbiMgQ29weSB0aGUgbGx2bUZvckpTQyBsaWJyYXJ5
IGludG8gdGhlIGZyYW1ld29yay5cbmRpdHRvIFwiJHtCVUlMVF9QUk9EVUNUU19ESVJ9L2xpYmxs
dm1Gb3JKU0MuZHlsaWJcIiBcIiR7QlVJTFRfUFJPRFVDVFNfRElSfS9KYXZhU2NyaXB0Q29yZS5m
cmFtZXdvcmsvVmVyc2lvbnMvQS9MaWJyYXJpZXMvbGlibGx2bUZvckpTQy5keWxpYlwiXG5sbiAt
ZnMgXCIke0JVSUxUX1BST0RVQ1RTX0RJUn0vSmF2YVNjcmlwdENvcmUuZnJhbWV3b3JrL1ZlcnNp
b25zL0EvTGlicmFyaWVzXCIgXCIke0JVSUxUX1BST0RVQ1RTX0RJUn0vSmF2YVNjcmlwdENvcmUu
ZnJhbWV3b3JrL0xpYnJhcmllc1wiIjsKKwkJfTsKIAkJMzcxM0YwMTQxNDI5MDUyNDAwMzYzODdG
IC8qIENoZWNrIEZvciBJbmFwcHJvcHJpYXRlIE9iamVjdGl2ZS1DIENsYXNzIE5hbWVzICovID0g
ewogCQkJaXNhID0gUEJYU2hlbGxTY3JpcHRCdWlsZFBoYXNlOwogCQkJYnVpbGRBY3Rpb25NYXNr
ID0gMjE0NzQ4MzY0NzsKQEAgLTQ3NzgsNyArNDg5OSw3IEBACiAJCQkpOwogCQkJcnVuT25seUZv
ckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CiAJCQlzaGVsbFBhdGggPSAvYmluL3NoOwot
CQkJc2hlbGxTY3JpcHQgPSAiIyBGSVhNRTogPHJkYXI6Ly9wcm9ibGVtLzEzNTM5ODg4PiBMTFZN
IGxpYnJhcmllcyBzaG91bGRuJ3QgaGF2ZSB3ZWFrIHZ0YWJsZXNcbmV4aXQgMFxuXG5pZiBbIC1m
IC4uLy4uL1Rvb2xzL1NjcmlwdHMvY2hlY2stZm9yLXdlYWstdnRhYmxlcy1hbmQtZXh0ZXJuYWxz
IF07IHRoZW5cbiAgICAuLi8uLi9Ub29scy9TY3JpcHRzL2NoZWNrLWZvci13ZWFrLXZ0YWJsZXMt
YW5kLWV4dGVybmFscyB8fCBleGl0ICQ/XG5maSI7CisJCQlzaGVsbFNjcmlwdCA9ICJpZiBbIC1m
IC4uLy4uL1Rvb2xzL1NjcmlwdHMvY2hlY2stZm9yLXdlYWstdnRhYmxlcy1hbmQtZXh0ZXJuYWxz
IF07IHRoZW5cbiAgICAuLi8uLi9Ub29scy9TY3JpcHRzL2NoZWNrLWZvci13ZWFrLXZ0YWJsZXMt
YW5kLWV4dGVybmFscyB8fCBleGl0ICQ/XG5maSI7CiAJCX07CiAJCTVEMkY3Q0Y5MEM2ODc1QkIw
MEI1QjcyQiAvKiBVcGRhdGUgSW5mby5wbGlzdCB3aXRoIHZlcnNpb24gaW5mb3JtYXRpb24gKi8g
PSB7CiAJCQlpc2EgPSBQQlhTaGVsbFNjcmlwdEJ1aWxkUGhhc2U7CkBAIC00ODc1LDYgKzQ5OTYs
MTYgQEAKIC8qIEVuZCBQQlhTaGVsbFNjcmlwdEJ1aWxkUGhhc2Ugc2VjdGlvbiAqLwogCiAvKiBC
ZWdpbiBQQlhTb3VyY2VzQnVpbGRQaGFzZSBzZWN0aW9uICovCisJCTBGQ0VGQUIyMTgwNUQ2MTYw
MDQ3MkNFNCAvKiBTb3VyY2VzICovID0geworCQkJaXNhID0gUEJYU291cmNlc0J1aWxkUGhhc2U7
CisJCQlidWlsZEFjdGlvbk1hc2sgPSAyMTQ3NDgzNjQ3OworCQkJZmlsZXMgPSAoCisJCQkJMEZD
RUZBQzMxODA1RTc0MDAwNDcyQ0U0IC8qIExMVk1FeHBvcnRzLmNwcCBpbiBTb3VyY2VzICovLAor
CQkJCTBGQ0VGQUQ3MTgwNjE3NDYwMDQ3MkNFNCAvKiBMTFZNQW5jaG9yLmNwcCBpbiBTb3VyY2Vz
ICovLAorCQkJCTBGQ0VGQUMxMTgwNUQ5NEUwMDQ3MkNFNCAvKiBMTFZNT3ZlcnJpZGVzLmNwcCBp
biBTb3VyY2VzICovLAorCQkJKTsKKwkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3Np
bmcgPSAwOworCQl9OwogCQkwRkY5MjJDNDE0RjQ2QjEzMDA0MUEyNEUgLyogU291cmNlcyAqLyA9
IHsKIAkJCWlzYSA9IFBCWFNvdXJjZXNCdWlsZFBoYXNlOwogCQkJYnVpbGRBY3Rpb25NYXNrID0g
MjE0NzQ4MzY0NzsKQEAgLTQ5MzUsNiArNTA2Niw3IEBACiAJCQkJMTQyODA4NjUxMDdFQzExQTAw
MTNFN0IyIC8qIEJvb2xlYW5Qcm90b3R5cGUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMTQ4RjIx
QUExMDdFQzUzQTAwNDJFQzJDIC8qIEJ5dGVjb2RlR2VuZXJhdG9yLmNwcCBpbiBTb3VyY2VzICov
LAogCQkJCTE0MjgwODJEMTA3RUMwNTcwMDEzRTdCMiAvKiBDYWxsRGF0YS5jcHAgaW4gU291cmNl
cyAqLywKKwkJCQkwRkNFRkFCMTE4MDVDQTZEMDA0NzJDRTQgLyogSW5pdGlhbGl6ZUxMVk1NYWMu
bW0gaW4gU291cmNlcyAqLywKIAkJCQkxNDI5RDhERDBFRDIyMDVCMDBCODk2MTkgLyogQ2FsbEZy
YW1lLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTBGMEI4M0IwMTRCQ0Y3MTYwMDg4NUI0RiAvKiBD
YWxsTGlua0luZm8uY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMEY5MzMyOUQxNENBN0RDMzAwODVG
M0M2IC8qIENhbGxMaW5rU3RhdHVzLmNwcCBpbiBTb3VyY2VzICovLApAQCAtNTA3NCw2ICs1MjA2
LDcgQEAKIAkJCQkwRjIzNUJEMTE3MTc4RTFDMDA2OTBDN0YgLyogRlRMQ0FyZ3VtZW50R2V0dGVy
LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTBGRUEwQTI3MTcwOTYyM0IwMEJCNzIyQyAvKiBGVExD
b21tb25WYWx1ZXMuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMEZFQTBBMEIxNzA1MTNEQjAwQkI3
MjJDIC8qIEZUTENvbXBpbGUuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMEZDRUZBQ0QxODA1RTc1
NTAwNDcyQ0U0IC8qIExMVk1BUEkuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMEYyMzVCRDMxNzE3
OEUxQzAwNjkwQzdGIC8qIEZUTEV4aXRBcmd1bWVudC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkw
RjIzNUJENTE3MTc4RTFDMDA2OTBDN0YgLyogRlRMRXhpdEFyZ3VtZW50Rm9yT3BlcmFuZC5jcHAg
aW4gU291cmNlcyAqLywKIAkJCQkwRjIzNUJEODE3MTc4RTFDMDA2OTBDN0YgLyogRlRMRXhpdFRo
dW5rR2VuZXJhdG9yLmNwcCBpbiBTb3VyY2VzICovLApAQCAtNTA5MSw2ICs1MjI0LDcgQEAKIAkJ
CQkwRjIzNUJFMTE3MTc4RTFDMDA2OTBDN0YgLyogRlRMVGh1bmtzLmNwcCBpbiBTb3VyY2VzICov
LAogCQkJCTBGMjM1QkUzMTcxNzhFMUMwMDY5MEM3RiAvKiBGVExWYWx1ZUZvcm1hdC5jcHAgaW4g
U291cmNlcyAqLywKIAkJCQkwRjIzNUJFNTE3MTc4RTFDMDA2OTBDN0YgLyogRlRMVmFsdWVTb3Vy
Y2UuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMEZDRUZBQ0ExODA1RTc1NTAwNDcyQ0U0IC8qIElu
aXRpYWxpemVMTFZNLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTE0N0YzOUNCMTA3RUMzNzYwMDQy
N0E0OCAvKiBGdW5jdGlvbkNvbnN0cnVjdG9yLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTBGRjBG
MTlGMTZCNzJBMTcwMDVERjk1QiAvKiBGdW5jdGlvbkV4ZWN1dGFibGVEdW1wLmNwcCBpbiBTb3Vy
Y2VzICovLAogCQkJCTE0N0YzOUNDMTA3RUMzNzYwMDQyN0E0OCAvKiBGdW5jdGlvblByb3RvdHlw
ZS5jcHAgaW4gU291cmNlcyAqLywKQEAgLTUyNTgsNiArNTM5Miw3IEBACiAJCQkJOTVBQjgzNTYw
REE0M0MzMDAwQkM4M0YzIC8qIFByb2ZpbGVOb2RlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTBG
RjcyOUFEMTY2QUQzNUMwMDBGNUJBMyAvKiBQcm9maWxlckJ5dGVjb2RlLmNwcCBpbiBTb3VyY2Vz
ICovLAogCQkJCTBGRjcyOUFFMTY2QUQzNUMwMDBGNUJBMyAvKiBQcm9maWxlckJ5dGVjb2Rlcy5j
cHAgaW4gU291cmNlcyAqLywKKwkJCQkwRkNFRkFDQjE4MDVFNzU1MDA0NzJDRTQgLyogSW5pdGlh
bGl6ZUxMVk1QT1NJWC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkwRjEzOTEyOTE2NzcxQzMzMDA5
Q0NCMDcgLyogUHJvZmlsZXJCeXRlY29kZVNlcXVlbmNlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJ
CTBGRjcyOUFGMTY2QUQzNUMwMDBGNUJBMyAvKiBQcm9maWxlckNvbXBpbGF0aW9uLmNwcCBpbiBT
b3VyY2VzICovLAogCQkJCTBGRjcyOUIwMTY2QUQzNUMwMDBGNUJBMyAvKiBQcm9maWxlckNvbXBp
bGF0aW9uS2luZC5jcHAgaW4gU291cmNlcyAqLywKQEAgLTUzMzcsNyArNTQ3Miw2IEBACiAJCQkJ
MTRFODRGOUUxNEVFMUFDQzAwRDZENUQ0IC8qIFdlYWtCbG9jay5jcHAgaW4gU291cmNlcyAqLywK
IAkJCQkxNEY3MjU2NTE0RUUyNjVFMDBCMTY1MkIgLyogV2Vha0hhbmRsZU93bmVyLmNwcCBpbiBT
b3VyY2VzICovLAogCQkJCTE0RTg0RkEwMTRFRTFBQ0MwMEQ2RDVENCAvKiBXZWFrU2V0LmNwcCBp
biBTb3VyY2VzICovLAotCQkJCTBGNkU1QzE5MTcyNEFGM0QwMDVDNTc0RiAvKiBXZWJLaXRMTFZN
TGlicmFyeUFuY2hvci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkwRkM4MTUwQjE0MDQzQzBFMDBD
RkE2MDMgLyogV3JpdGVCYXJyaWVyU3VwcG9ydC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkwRjI0
RTU1ODE3Rjc0RURCMDBBQkIyMTcgLyogVmFsdWVSZWNvdmVyeS5jcHAgaW4gU291cmNlcyAqLywK
IAkJCQlBN0U1QUIzQTE3OTlFNEIyMDBEMjgzM0QgLyogWDg2RGlzYXNzZW1ibGVyLmNwcCBpbiBT
b3VyY2VzICovLApAQCAtNTM2MCw2ICs1NDk0LDExIEBACiAvKiBFbmQgUEJYU291cmNlc0J1aWxk
UGhhc2Ugc2VjdGlvbiAqLwogCiAvKiBCZWdpbiBQQlhUYXJnZXREZXBlbmRlbmN5IHNlY3Rpb24g
Ki8KKwkJMEZDRUZBQkQxODA1RDY2MzAwNDcyQ0U0IC8qIFBCWFRhcmdldERlcGVuZGVuY3kgKi8g
PSB7CisJCQlpc2EgPSBQQlhUYXJnZXREZXBlbmRlbmN5OworCQkJdGFyZ2V0ID0gMEZDRUZBQjUx
ODA1RDYxNjAwNDcyQ0U0IC8qIGxsdm1Gb3JKU0MgKi87CisJCQl0YXJnZXRQcm94eSA9IDBGQ0VG
QUJDMTgwNUQ2NjMwMDQ3MkNFNCAvKiBQQlhDb250YWluZXJJdGVtUHJveHkgKi87CisJCX07CiAJ
CTBGRjkyMkQzMTRGNDZCMkYwMDQxQTI0RSAvKiBQQlhUYXJnZXREZXBlbmRlbmN5ICovID0gewog
CQkJaXNhID0gUEJYVGFyZ2V0RGVwZW5kZW5jeTsKIAkJCXRhcmdldCA9IDBGNDY4MEE5MTRCQTdG
RDkwMEJGRTI3MiAvKiBMTEludCBPZmZzZXRzICovOwpAQCAtNTQzNiw2ICs1NTc1LDM0IEBACiAJ
CQl9OwogCQkJbmFtZSA9IFByb2R1Y3Rpb247CiAJCX07CisJCTBGQ0VGQUI4MTgwNUQ2MTYwMDQ3
MkNFNCAvKiBEZWJ1ZyAqLyA9IHsKKwkJCWlzYSA9IFhDQnVpbGRDb25maWd1cmF0aW9uOworCQkJ
YmFzZUNvbmZpZ3VyYXRpb25SZWZlcmVuY2UgPSAwRkNFRkFCRTE4MDVEODY5MDA0NzJDRTQgLyog
TExWTUZvckpTQy54Y2NvbmZpZyAqLzsKKwkJCWJ1aWxkU2V0dGluZ3MgPSB7CisJCQl9OworCQkJ
bmFtZSA9IERlYnVnOworCQl9OworCQkwRkNFRkFCOTE4MDVENjE2MDA0NzJDRTQgLyogUmVsZWFz
ZSAqLyA9IHsKKwkJCWlzYSA9IFhDQnVpbGRDb25maWd1cmF0aW9uOworCQkJYmFzZUNvbmZpZ3Vy
YXRpb25SZWZlcmVuY2UgPSAwRkNFRkFCRTE4MDVEODY5MDA0NzJDRTQgLyogTExWTUZvckpTQy54
Y2NvbmZpZyAqLzsKKwkJCWJ1aWxkU2V0dGluZ3MgPSB7CisJCQl9OworCQkJbmFtZSA9IFJlbGVh
c2U7CisJCX07CisJCTBGQ0VGQUJBMTgwNUQ2MTYwMDQ3MkNFNCAvKiBQcm9maWxpbmcgKi8gPSB7
CisJCQlpc2EgPSBYQ0J1aWxkQ29uZmlndXJhdGlvbjsKKwkJCWJhc2VDb25maWd1cmF0aW9uUmVm
ZXJlbmNlID0gMEZDRUZBQkUxODA1RDg2OTAwNDcyQ0U0IC8qIExMVk1Gb3JKU0MueGNjb25maWcg
Ki87CisJCQlidWlsZFNldHRpbmdzID0geworCQkJfTsKKwkJCW5hbWUgPSBQcm9maWxpbmc7CisJ
CX07CisJCTBGQ0VGQUJCMTgwNUQ2MTYwMDQ3MkNFNCAvKiBQcm9kdWN0aW9uICovID0geworCQkJ
aXNhID0gWENCdWlsZENvbmZpZ3VyYXRpb247CisJCQliYXNlQ29uZmlndXJhdGlvblJlZmVyZW5j
ZSA9IDBGQ0VGQUJFMTgwNUQ4NjkwMDQ3MkNFNCAvKiBMTFZNRm9ySlNDLnhjY29uZmlnICovOwor
CQkJYnVpbGRTZXR0aW5ncyA9IHsKKwkJCX07CisJCQluYW1lID0gUHJvZHVjdGlvbjsKKwkJfTsK
IAkJMEZGOTIyQ0IxNEY0NkIxMzAwNDFBMjRFIC8qIERlYnVnICovID0gewogCQkJaXNhID0gWENC
dWlsZENvbmZpZ3VyYXRpb247CiAJCQliYXNlQ29uZmlndXJhdGlvblJlZmVyZW5jZSA9IEJDMDIx
QkYyMTM2OTAwQzMwMEZDNTQ2NyAvKiBUb29sRXhlY3V0YWJsZS54Y2NvbmZpZyAqLzsKQEAgLTU3
NDAsNiArNTkwNywxNyBAQAogCQkJZGVmYXVsdENvbmZpZ3VyYXRpb25Jc1Zpc2libGUgPSAwOwog
CQkJZGVmYXVsdENvbmZpZ3VyYXRpb25OYW1lID0gUHJvZHVjdGlvbjsKIAkJfTsKKwkJMEZDRUZB
QjcxODA1RDYxNjAwNDcyQ0U0IC8qIEJ1aWxkIGNvbmZpZ3VyYXRpb24gbGlzdCBmb3IgUEJYTmF0
aXZlVGFyZ2V0ICJsbHZtRm9ySlNDIiAqLyA9IHsKKwkJCWlzYSA9IFhDQ29uZmlndXJhdGlvbkxp
c3Q7CisJCQlidWlsZENvbmZpZ3VyYXRpb25zID0gKAorCQkJCTBGQ0VGQUI4MTgwNUQ2MTYwMDQ3
MkNFNCAvKiBEZWJ1ZyAqLywKKwkJCQkwRkNFRkFCOTE4MDVENjE2MDA0NzJDRTQgLyogUmVsZWFz
ZSAqLywKKwkJCQkwRkNFRkFCQTE4MDVENjE2MDA0NzJDRTQgLyogUHJvZmlsaW5nICovLAorCQkJ
CTBGQ0VGQUJCMTgwNUQ2MTYwMDQ3MkNFNCAvKiBQcm9kdWN0aW9uICovLAorCQkJKTsKKwkJCWRl
ZmF1bHRDb25maWd1cmF0aW9uSXNWaXNpYmxlID0gMDsKKwkJCWRlZmF1bHRDb25maWd1cmF0aW9u
TmFtZSA9IFByb2R1Y3Rpb247CisJCX07CiAJCTBGRjkyMkNBMTRGNDZCMTMwMDQxQTI0RSAvKiBC
dWlsZCBjb25maWd1cmF0aW9uIGxpc3QgZm9yIFBCWE5hdGl2ZVRhcmdldCAiSlNDTExJbnRPZmZz
ZXRzRXh0cmFjdG9yIiAqLyA9IHsKIAkJCWlzYSA9IFhDQ29uZmlndXJhdGlvbkxpc3Q7CiAJCQli
dWlsZENvbmZpZ3VyYXRpb25zID0gKApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9E
RkdQbGFuLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1Bs
YW4uY3BwCShyZXZpc2lvbiAxNTcxNzIpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RG
R1BsYW4uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC02Nyw2ICs2Nyw3IEBACiAjaW5jbHVkZSAiRlRM
TGluay5oIgogI2luY2x1ZGUgIkZUTExvd2VyREZHVG9MTFZNLmgiCiAjaW5jbHVkZSAiRlRMU3Rh
dGUuaCIKKyNpbmNsdWRlICJJbml0aWFsaXplTExWTS5oIgogI2VuZGlmCiAKIG5hbWVzcGFjZSBK
U0MgeyBuYW1lc3BhY2UgREZHIHsKQEAgLTI1NSw4ICsyNTYsNyBAQCBQbGFuOjpDb21waWxhdGlv
blBhdGggUGxhbjo6Y29tcGlsZUluVGhyCiAgICAgICAgIAogICAgICAgICBkdW1wQW5kVmVyaWZ5
R3JhcGgoZGZnLCAiR3JhcGgganVzdCBiZWZvcmUgRlRMIGxvd2VyaW5nOiIpOwogICAgICAgICAK
LSAgICAgICAgLy8gRklYTUU6IFN1cHBvcnQgT1NSIGVudHJ5LgotICAgICAgICAvLyBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTEzNjI1CisgICAgICAgIGluaXRpYWxp
emVMTFZNKCk7CiAgICAgICAgIAogICAgICAgICBGVEw6OlN0YXRlIHN0YXRlKGRmZyk7CiAgICAg
ICAgIEZUTDo6bG93ZXJERkdUb0xMVk0oc3RhdGUpOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRD
b3JlL2Rpc2Fzc2VtYmxlci9MTFZNRGlzYXNzZW1ibGVyLmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvZGlzYXNzZW1ibGVyL0xMVk1EaXNhc3NlbWJsZXIuY3BwCShyZXZp
c2lvbiAxNTcxNzIpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGlzYXNzZW1ibGVyL0xMVk1E
aXNhc3NlbWJsZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yOCw4ICsyOCw5IEBACiAKICNpZiBV
U0UoTExWTV9ESVNBU1NFTUJMRVIpCiAKKyNpbmNsdWRlICJJbml0aWFsaXplTExWTS5oIgogI2lu
Y2x1ZGUgIk1hY3JvQXNzZW1ibGVyQ29kZVJlZi5oIgotI2luY2x1ZGUgPHd0Zi9MTFZNSGVhZGVy
cy5oPgorI2luY2x1ZGUgIkxMVk1BUEkuaCIKIAogbmFtZXNwYWNlIEpTQyB7CiAKQEAgLTc5LDYg
KzgwLDggQEAgYm9vbCB0cnlUb0Rpc2Fzc2VtYmxlV2l0aExMVk0oCiAgICAgY29uc3QgTWFjcm9B
c3NlbWJsZXJDb2RlUHRyJiBjb2RlUHRyLCBzaXplX3Qgc2l6ZSwgY29uc3QgY2hhciogcHJlZml4
LCBQcmludFN0cmVhbSYgb3V0LAogICAgIEluc3RydWN0aW9uU3Vic2V0SGludCkKIHsKKyAgICBp
bml0aWFsaXplTExWTSgpOworICAgIAogICAgIGNvbnN0IGNoYXIqIHRyaXBsZTsKICNpZiBDUFUo
WDg2XzY0KQogICAgIHRyaXBsZSA9ICJ4ODZfNjQtYXBwbGUtZGFyd2luIjsKQEAgLTkxLDcgKzk0
LDcgQEAgYm9vbCB0cnlUb0Rpc2Fzc2VtYmxlV2l0aExMVk0oCiAgICAgY2hhciBzeW1ib2xTdHJp
bmdbc3ltYm9sU3RyaW5nU2l6ZV07CiAgICAgCiAgICAgTExWTURpc2FzbUNvbnRleHRSZWYgZGlz
YXNzZW1ibHlDb250ZXh0ID0KLSAgICAgICAgTExWTUNyZWF0ZURpc2FzbSh0cmlwbGUsIHN5bWJv
bFN0cmluZywgMCwgMCwgc3ltYm9sTG9va3VwQ2FsbGJhY2spOworICAgICAgICBsbHZtLT5DcmVh
dGVEaXNhc20odHJpcGxlLCBzeW1ib2xTdHJpbmcsIDAsIDAsIHN5bWJvbExvb2t1cENhbGxiYWNr
KTsKICAgICBSRUxFQVNFX0FTU0VSVChkaXNhc3NlbWJseUNvbnRleHQpOwogICAgIAogICAgIGNo
YXIgcGNTdHJpbmdbMjBdOwpAQCAtMTA1LDcgKzEwOCw3IEBAIGJvb2wgdHJ5VG9EaXNhc3NlbWJs
ZVdpdGhMTFZNKAogICAgICAgICAgICAgcGNTdHJpbmcsIHNpemVvZihwY1N0cmluZyksICIweCVs
eCIsCiAgICAgICAgICAgICBzdGF0aWNfY2FzdDx1bnNpZ25lZCBsb25nPihiaXR3aXNlX2Nhc3Q8
dWludHB0cl90PihwYykpKTsKIAotICAgICAgICBzaXplX3QgaW5zdHJ1Y3Rpb25TaXplID0gTExW
TURpc2FzbUluc3RydWN0aW9uKAorICAgICAgICBzaXplX3QgaW5zdHJ1Y3Rpb25TaXplID0gbGx2
bS0+RGlzYXNtSW5zdHJ1Y3Rpb24oCiAgICAgICAgICAgICBkaXNhc3NlbWJseUNvbnRleHQsIHBj
LCBlbmQgLSBwYywgYml0d2lzZV9jYXN0PHVpbnRwdHJfdD4ocGMpLAogICAgICAgICAgICAgaW5z
dHJ1Y3Rpb25TdHJpbmcsIHNpemVvZihpbnN0cnVjdGlvblN0cmluZykpOwogICAgICAgICAKQEAg
LTExNyw3ICsxMjAsNyBAQCBib29sIHRyeVRvRGlzYXNzZW1ibGVXaXRoTExWTSgKICAgICAgICAg
b3V0LnByaW50ZigiJXMlMTZzOiAlc1xuIiwgcHJlZml4LCBwY1N0cmluZywgaW5zdHJ1Y3Rpb25T
dHJpbmcpOwogICAgIH0KICAgICAKLSAgICBMTFZNRGlzYXNtRGlzcG9zZShkaXNhc3NlbWJseUNv
bnRleHQpOworICAgIGxsdm0tPkRpc2FzbURpc3Bvc2UoZGlzYXNzZW1ibHlDb250ZXh0KTsKICAg
ICAKICAgICByZXR1cm4gdHJ1ZTsKIH0KSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwv
RlRMQWJicmV2aWF0ZWRUeXBlcy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9mdGwvRlRMQWJicmV2aWF0ZWRUeXBlcy5oCShyZXZpc2lvbiAxNTcxNzIpCisrKyBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvZnRsL0ZUTEFiYnJldmlhdGVkVHlwZXMuaAkod29ya2luZyBjb3B5KQpA
QCAtMzAsNyArMzAsNyBAQAogCiAjaWYgRU5BQkxFKEZUTF9KSVQpCiAKLSNpbmNsdWRlIDx3dGYv
TExWTUhlYWRlcnMuaD4KKyNpbmNsdWRlICJMTFZNQVBJLmgiCiAKIG5hbWVzcGFjZSBKU0MgeyBu
YW1lc3BhY2UgRlRMIHsKIApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExBYmJy
ZXZpYXRpb25zLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExB
YmJyZXZpYXRpb25zLmgJKHJldmlzaW9uIDE1NzE3MikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9mdGwvRlRMQWJicmV2aWF0aW9ucy5oCSh3b3JraW5nIGNvcHkpCkBAIC0zMyw2ICszMyw3IEBA
CiAjaW5jbHVkZSAiRlRMQWJicmV2aWF0ZWRUeXBlcy5oIgogI2luY2x1ZGUgIkZUTFN3aXRjaENh
c2UuaCIKICNpbmNsdWRlICJGVExWYWx1ZUZyb21CbG9jay5oIgorI2luY2x1ZGUgIkxMVk1BUEku
aCIKICNpbmNsdWRlIDxjc3RyaW5nPgogCiBuYW1lc3BhY2UgSlNDIHsgbmFtZXNwYWNlIEZUTCB7
CkBAIC00NiwyMiArNDcsMjIgQEAgbmFtZXNwYWNlIEpTQyB7IG5hbWVzcGFjZSBGVEwgewogI2Vy
cm9yICJUaGUgRlRMIGJhY2tlbmQgYXNzdW1lcyB0aGF0IHBvaW50ZXJzIGFyZSA2NC1iaXQuIgog
I2VuZGlmCiAKLXN0YXRpYyBpbmxpbmUgTFR5cGUgdm9pZFR5cGUoTENvbnRleHQgY29udGV4dCkg
eyByZXR1cm4gTExWTVZvaWRUeXBlSW5Db250ZXh0KGNvbnRleHQpOyB9Ci1zdGF0aWMgaW5saW5l
IExUeXBlIGludDFUeXBlKExDb250ZXh0IGNvbnRleHQpIHsgcmV0dXJuIExMVk1JbnQxVHlwZUlu
Q29udGV4dChjb250ZXh0KTsgfQotc3RhdGljIGlubGluZSBMVHlwZSBpbnQ4VHlwZShMQ29udGV4
dCBjb250ZXh0KSB7IHJldHVybiBMTFZNSW50OFR5cGVJbkNvbnRleHQoY29udGV4dCk7IH0KLXN0
YXRpYyBpbmxpbmUgTFR5cGUgaW50MTZUeXBlKExDb250ZXh0IGNvbnRleHQpIHsgcmV0dXJuIExM
Vk1JbnQxNlR5cGVJbkNvbnRleHQoY29udGV4dCk7IH0KLXN0YXRpYyBpbmxpbmUgTFR5cGUgaW50
MzJUeXBlKExDb250ZXh0IGNvbnRleHQpIHsgcmV0dXJuIExMVk1JbnQzMlR5cGVJbkNvbnRleHQo
Y29udGV4dCk7IH0KLXN0YXRpYyBpbmxpbmUgTFR5cGUgaW50NjRUeXBlKExDb250ZXh0IGNvbnRl
eHQpIHsgcmV0dXJuIExMVk1JbnQ2NFR5cGVJbkNvbnRleHQoY29udGV4dCk7IH0KLXN0YXRpYyBp
bmxpbmUgTFR5cGUgaW50UHRyVHlwZShMQ29udGV4dCBjb250ZXh0KSB7IHJldHVybiBMTFZNSW50
NjRUeXBlSW5Db250ZXh0KGNvbnRleHQpOyB9Ci1zdGF0aWMgaW5saW5lIExUeXBlIGZsb2F0VHlw
ZShMQ29udGV4dCBjb250ZXh0KSB7IHJldHVybiBMTFZNRmxvYXRUeXBlSW5Db250ZXh0KGNvbnRl
eHQpOyB9Ci1zdGF0aWMgaW5saW5lIExUeXBlIGRvdWJsZVR5cGUoTENvbnRleHQgY29udGV4dCkg
eyByZXR1cm4gTExWTURvdWJsZVR5cGVJbkNvbnRleHQoY29udGV4dCk7IH0KK3N0YXRpYyBpbmxp
bmUgTFR5cGUgdm9pZFR5cGUoTENvbnRleHQgY29udGV4dCkgeyByZXR1cm4gbGx2bS0+Vm9pZFR5
cGVJbkNvbnRleHQoY29udGV4dCk7IH0KK3N0YXRpYyBpbmxpbmUgTFR5cGUgaW50MVR5cGUoTENv
bnRleHQgY29udGV4dCkgeyByZXR1cm4gbGx2bS0+SW50MVR5cGVJbkNvbnRleHQoY29udGV4dCk7
IH0KK3N0YXRpYyBpbmxpbmUgTFR5cGUgaW50OFR5cGUoTENvbnRleHQgY29udGV4dCkgeyByZXR1
cm4gbGx2bS0+SW50OFR5cGVJbkNvbnRleHQoY29udGV4dCk7IH0KK3N0YXRpYyBpbmxpbmUgTFR5
cGUgaW50MTZUeXBlKExDb250ZXh0IGNvbnRleHQpIHsgcmV0dXJuIGxsdm0tPkludDE2VHlwZUlu
Q29udGV4dChjb250ZXh0KTsgfQorc3RhdGljIGlubGluZSBMVHlwZSBpbnQzMlR5cGUoTENvbnRl
eHQgY29udGV4dCkgeyByZXR1cm4gbGx2bS0+SW50MzJUeXBlSW5Db250ZXh0KGNvbnRleHQpOyB9
CitzdGF0aWMgaW5saW5lIExUeXBlIGludDY0VHlwZShMQ29udGV4dCBjb250ZXh0KSB7IHJldHVy
biBsbHZtLT5JbnQ2NFR5cGVJbkNvbnRleHQoY29udGV4dCk7IH0KK3N0YXRpYyBpbmxpbmUgTFR5
cGUgaW50UHRyVHlwZShMQ29udGV4dCBjb250ZXh0KSB7IHJldHVybiBsbHZtLT5JbnQ2NFR5cGVJ
bkNvbnRleHQoY29udGV4dCk7IH0KK3N0YXRpYyBpbmxpbmUgTFR5cGUgZmxvYXRUeXBlKExDb250
ZXh0IGNvbnRleHQpIHsgcmV0dXJuIGxsdm0tPkZsb2F0VHlwZUluQ29udGV4dChjb250ZXh0KTsg
fQorc3RhdGljIGlubGluZSBMVHlwZSBkb3VibGVUeXBlKExDb250ZXh0IGNvbnRleHQpIHsgcmV0
dXJuIGxsdm0tPkRvdWJsZVR5cGVJbkNvbnRleHQoY29udGV4dCk7IH0KIAotc3RhdGljIGlubGlu
ZSBMVHlwZSBwb2ludGVyVHlwZShMVHlwZSB0eXBlKSB7IHJldHVybiBMTFZNUG9pbnRlclR5cGUo
dHlwZSwgMCk7IH0KK3N0YXRpYyBpbmxpbmUgTFR5cGUgcG9pbnRlclR5cGUoTFR5cGUgdHlwZSkg
eyByZXR1cm4gbGx2bS0+UG9pbnRlclR5cGUodHlwZSwgMCk7IH0KIAogZW51bSBQYWNraW5nTW9k
ZSB7IE5vdFBhY2tlZCwgUGFja2VkIH07CiBzdGF0aWMgaW5saW5lIExUeXBlIHN0cnVjdFR5cGUo
TENvbnRleHQgY29udGV4dCwgTFR5cGUqIGVsZW1lbnRUeXBlcywgdW5zaWduZWQgZWxlbWVudENv
dW50LCBQYWNraW5nTW9kZSBwYWNraW5nID0gTm90UGFja2VkKQogewotICAgIHJldHVybiBMTFZN
U3RydWN0VHlwZUluQ29udGV4dChjb250ZXh0LCBlbGVtZW50VHlwZXMsIGVsZW1lbnRDb3VudCwg
cGFja2luZyA9PSBQYWNrZWQpOworICAgIHJldHVybiBsbHZtLT5TdHJ1Y3RUeXBlSW5Db250ZXh0
KGNvbnRleHQsIGVsZW1lbnRUeXBlcywgZWxlbWVudENvdW50LCBwYWNraW5nID09IFBhY2tlZCk7
CiB9CiBzdGF0aWMgaW5saW5lIExUeXBlIHN0cnVjdFR5cGUoTENvbnRleHQgY29udGV4dCwgUGFj
a2luZ01vZGUgcGFja2luZyA9IE5vdFBhY2tlZCkKIHsKQEAgLTgwLDcgKzgxLDcgQEAgc3RhdGlj
IGlubGluZSBMVHlwZSBzdHJ1Y3RUeXBlKExDb250ZXh0IAogZW51bSBWYXJpYWRpY2l0eSB7IE5v
dFZhcmlhZGljLCBWYXJpYWRpYyB9Owogc3RhdGljIGlubGluZSBMVHlwZSBmdW5jdGlvblR5cGUo
TFR5cGUgcmV0dXJuVHlwZSwgY29uc3QgTFR5cGUqIHBhcmFtVHlwZXMsIHVuc2lnbmVkIHBhcmFt
Q291bnQsIFZhcmlhZGljaXR5IHZhcmlhZGljaXR5KQogewotICAgIHJldHVybiBMTFZNRnVuY3Rp
b25UeXBlKHJldHVyblR5cGUsIGNvbnN0X2Nhc3Q8TFR5cGUqPihwYXJhbVR5cGVzKSwgcGFyYW1D
b3VudCwgdmFyaWFkaWNpdHkgPT0gVmFyaWFkaWMpOworICAgIHJldHVybiBsbHZtLT5GdW5jdGlv
blR5cGUocmV0dXJuVHlwZSwgY29uc3RfY2FzdDxMVHlwZSo+KHBhcmFtVHlwZXMpLCBwYXJhbUNv
dW50LCB2YXJpYWRpY2l0eSA9PSBWYXJpYWRpYyk7CiB9CiB0ZW1wbGF0ZTx0eXBlbmFtZSBWZWN0
b3JUeXBlPgogaW5saW5lIExUeXBlIGZ1bmN0aW9uVHlwZShMVHlwZSByZXR1cm5UeXBlLCBjb25z
dCBWZWN0b3JUeXBlJiB2ZWN0b3IsIFZhcmlhZGljaXR5IHZhcmlhZGljaXR5ID0gTm90VmFyaWFk
aWMpCkBAIC0xMTEsMTIgKzExMiwxMiBAQCBzdGF0aWMgaW5saW5lIExUeXBlIGZ1bmN0aW9uVHlw
ZShMVHlwZSByCiAgICAgcmV0dXJuIGZ1bmN0aW9uVHlwZShyZXR1cm5UeXBlLCBwYXJhbVR5cGVz
LCA0LCB2YXJpYWRpY2l0eSk7CiB9CiAKLXN0YXRpYyBpbmxpbmUgTFR5cGUgdHlwZU9mKExWYWx1
ZSB2YWx1ZSkgeyByZXR1cm4gTExWTVR5cGVPZih2YWx1ZSk7IH0KK3N0YXRpYyBpbmxpbmUgTFR5
cGUgdHlwZU9mKExWYWx1ZSB2YWx1ZSkgeyByZXR1cm4gbGx2bS0+VHlwZU9mKHZhbHVlKTsgfQog
Ci1zdGF0aWMgaW5saW5lIHVuc2lnbmVkIG1kS2luZElEKExDb250ZXh0IGNvbnRleHQsIGNvbnN0
IGNoYXIqIHN0cmluZykgeyByZXR1cm4gTExWTUdldE1ES2luZElESW5Db250ZXh0KGNvbnRleHQs
IHN0cmluZywgc3RkOjpzdHJsZW4oc3RyaW5nKSk7IH0KLXN0YXRpYyBpbmxpbmUgTFZhbHVlIG1k
U3RyaW5nKExDb250ZXh0IGNvbnRleHQsIGNvbnN0IGNoYXIqIHN0cmluZywgdW5zaWduZWQgbGVu
Z3RoKSB7IHJldHVybiBMTFZNTURTdHJpbmdJbkNvbnRleHQoY29udGV4dCwgc3RyaW5nLCBsZW5n
dGgpOyB9CitzdGF0aWMgaW5saW5lIHVuc2lnbmVkIG1kS2luZElEKExDb250ZXh0IGNvbnRleHQs
IGNvbnN0IGNoYXIqIHN0cmluZykgeyByZXR1cm4gbGx2bS0+R2V0TURLaW5kSURJbkNvbnRleHQo
Y29udGV4dCwgc3RyaW5nLCBzdGQ6OnN0cmxlbihzdHJpbmcpKTsgfQorc3RhdGljIGlubGluZSBM
VmFsdWUgbWRTdHJpbmcoTENvbnRleHQgY29udGV4dCwgY29uc3QgY2hhciogc3RyaW5nLCB1bnNp
Z25lZCBsZW5ndGgpIHsgcmV0dXJuIGxsdm0tPk1EU3RyaW5nSW5Db250ZXh0KGNvbnRleHQsIHN0
cmluZywgbGVuZ3RoKTsgfQogc3RhdGljIGlubGluZSBMVmFsdWUgbWRTdHJpbmcoTENvbnRleHQg
Y29udGV4dCwgY29uc3QgY2hhciogc3RyaW5nKSB7IHJldHVybiBtZFN0cmluZyhjb250ZXh0LCBz
dHJpbmcsIHN0ZDo6c3RybGVuKHN0cmluZykpOyB9Ci1zdGF0aWMgaW5saW5lIExWYWx1ZSBtZE5v
ZGUoTENvbnRleHQgY29udGV4dCwgTFZhbHVlKiBhcmdzLCB1bnNpZ25lZCBudW1BcmdzKSB7IHJl
dHVybiBMTFZNTUROb2RlSW5Db250ZXh0KGNvbnRleHQsIGFyZ3MsIG51bUFyZ3MpOyB9CitzdGF0
aWMgaW5saW5lIExWYWx1ZSBtZE5vZGUoTENvbnRleHQgY29udGV4dCwgTFZhbHVlKiBhcmdzLCB1
bnNpZ25lZCBudW1BcmdzKSB7IHJldHVybiBsbHZtLT5NRE5vZGVJbkNvbnRleHQoY29udGV4dCwg
YXJncywgbnVtQXJncyk7IH0KIHN0YXRpYyBpbmxpbmUgTFZhbHVlIG1kTm9kZShMQ29udGV4dCBj
b250ZXh0KSB7IHJldHVybiBtZE5vZGUoY29udGV4dCwgMCwgMCk7IH0KIHN0YXRpYyBpbmxpbmUg
TFZhbHVlIG1kTm9kZShMQ29udGV4dCBjb250ZXh0LCBMVmFsdWUgYXJnMSkgeyByZXR1cm4gbWRO
b2RlKGNvbnRleHQsICZhcmcxLCAxKTsgfQogc3RhdGljIGlubGluZSBMVmFsdWUgbWROb2RlKExD
b250ZXh0IGNvbnRleHQsIExWYWx1ZSBhcmcxLCBMVmFsdWUgYXJnMikKQEAgLTEyNSwxMSArMTI2
LDExIEBAIHN0YXRpYyBpbmxpbmUgTFZhbHVlIG1kTm9kZShMQ29udGV4dCBjb24KICAgICByZXR1
cm4gbWROb2RlKGNvbnRleHQsIGFyZ3MsIDIpOwogfQogCi1zdGF0aWMgaW5saW5lIHZvaWQgc2V0
TWV0YWRhdGEoTFZhbHVlIGluc3RydWN0aW9uLCB1bnNpZ25lZCBraW5kLCBMVmFsdWUgbWV0YWRh
dGEpIHsgTExWTVNldE1ldGFkYXRhKGluc3RydWN0aW9uLCBraW5kLCBtZXRhZGF0YSk7IH0KK3N0
YXRpYyBpbmxpbmUgdm9pZCBzZXRNZXRhZGF0YShMVmFsdWUgaW5zdHJ1Y3Rpb24sIHVuc2lnbmVk
IGtpbmQsIExWYWx1ZSBtZXRhZGF0YSkgeyBsbHZtLT5TZXRNZXRhZGF0YShpbnN0cnVjdGlvbiwg
a2luZCwgbWV0YWRhdGEpOyB9CiAKLXN0YXRpYyBpbmxpbmUgTFZhbHVlIGFkZEZ1bmN0aW9uKExN
b2R1bGUgbW9kdWxlLCBjb25zdCBjaGFyKiBuYW1lLCBMVHlwZSB0eXBlKSB7IHJldHVybiBMTFZN
QWRkRnVuY3Rpb24obW9kdWxlLCBuYW1lLCB0eXBlKTsgfQotc3RhdGljIGlubGluZSB2b2lkIHNl
dExpbmthZ2UoTFZhbHVlIGdsb2JhbCwgTExpbmthZ2UgbGlua2FnZSkgeyBMTFZNU2V0TGlua2Fn
ZShnbG9iYWwsIGxpbmthZ2UpOyB9Ci1zdGF0aWMgaW5saW5lIHZvaWQgc2V0RnVuY3Rpb25DYWxs
aW5nQ29udihMVmFsdWUgZnVuY3Rpb24sIExDYWxsQ29udiBjb252ZW50aW9uKSB7IExMVk1TZXRG
dW5jdGlvbkNhbGxDb252KGZ1bmN0aW9uLCBjb252ZW50aW9uKTsgfQorc3RhdGljIGlubGluZSBM
VmFsdWUgYWRkRnVuY3Rpb24oTE1vZHVsZSBtb2R1bGUsIGNvbnN0IGNoYXIqIG5hbWUsIExUeXBl
IHR5cGUpIHsgcmV0dXJuIGxsdm0tPkFkZEZ1bmN0aW9uKG1vZHVsZSwgbmFtZSwgdHlwZSk7IH0K
K3N0YXRpYyBpbmxpbmUgdm9pZCBzZXRMaW5rYWdlKExWYWx1ZSBnbG9iYWwsIExMaW5rYWdlIGxp
bmthZ2UpIHsgbGx2bS0+U2V0TGlua2FnZShnbG9iYWwsIGxpbmthZ2UpOyB9CitzdGF0aWMgaW5s
aW5lIHZvaWQgc2V0RnVuY3Rpb25DYWxsaW5nQ29udihMVmFsdWUgZnVuY3Rpb24sIExDYWxsQ29u
diBjb252ZW50aW9uKSB7IGxsdm0tPlNldEZ1bmN0aW9uQ2FsbENvbnYoZnVuY3Rpb24sIGNvbnZl
bnRpb24pOyB9CiAKIHN0YXRpYyBpbmxpbmUgTFZhbHVlIGFkZEV4dGVybkZ1bmN0aW9uKExNb2R1
bGUgbW9kdWxlLCBjb25zdCBjaGFyKiBuYW1lLCBMVHlwZSB0eXBlKQogewpAQCAtMTM4LDIxICsx
MzksMjEgQEAgc3RhdGljIGlubGluZSBMVmFsdWUgYWRkRXh0ZXJuRnVuY3Rpb24oTAogICAgIHJl
dHVybiByZXN1bHQ7CiB9CiAKLXN0YXRpYyBpbmxpbmUgTFZhbHVlIGdldFBhcmFtKExWYWx1ZSBm
dW5jdGlvbiwgdW5zaWduZWQgaW5kZXgpIHsgcmV0dXJuIExMVk1HZXRQYXJhbShmdW5jdGlvbiwg
aW5kZXgpOyB9CitzdGF0aWMgaW5saW5lIExWYWx1ZSBnZXRQYXJhbShMVmFsdWUgZnVuY3Rpb24s
IHVuc2lnbmVkIGluZGV4KSB7IHJldHVybiBsbHZtLT5HZXRQYXJhbShmdW5jdGlvbiwgaW5kZXgp
OyB9CiAKIGVudW0gQml0RXh0ZW5zaW9uIHsgWmVyb0V4dGVuZCwgU2lnbkV4dGVuZCB9Owotc3Rh
dGljIGlubGluZSBMVmFsdWUgY29uc3RJbnQoTFR5cGUgdHlwZSwgdW5zaWduZWQgbG9uZyBsb25n
IHZhbHVlLCBCaXRFeHRlbnNpb24gZXh0ZW5zaW9uID0gWmVyb0V4dGVuZCkgeyByZXR1cm4gTExW
TUNvbnN0SW50KHR5cGUsIHZhbHVlLCBleHRlbnNpb24gPT0gU2lnbkV4dGVuZCk7IH0KLXN0YXRp
YyBpbmxpbmUgTFZhbHVlIGNvbnN0UmVhbChMVHlwZSB0eXBlLCBkb3VibGUgdmFsdWUpIHsgcmV0
dXJuIExMVk1Db25zdFJlYWwodHlwZSwgdmFsdWUpOyB9Ci1zdGF0aWMgaW5saW5lIExWYWx1ZSBj
b25zdEludFRvUHRyKExWYWx1ZSB2YWx1ZSwgTFR5cGUgdHlwZSkgeyByZXR1cm4gTExWTUNvbnN0
SW50VG9QdHIodmFsdWUsIHR5cGUpOyB9Ci1zdGF0aWMgaW5saW5lIExWYWx1ZSBjb25zdEJpdENh
c3QoTFZhbHVlIHZhbHVlLCBMVHlwZSB0eXBlKSB7IHJldHVybiBMTFZNQ29uc3RCaXRDYXN0KHZh
bHVlLCB0eXBlKTsgfQorc3RhdGljIGlubGluZSBMVmFsdWUgY29uc3RJbnQoTFR5cGUgdHlwZSwg
dW5zaWduZWQgbG9uZyBsb25nIHZhbHVlLCBCaXRFeHRlbnNpb24gZXh0ZW5zaW9uID0gWmVyb0V4
dGVuZCkgeyByZXR1cm4gbGx2bS0+Q29uc3RJbnQodHlwZSwgdmFsdWUsIGV4dGVuc2lvbiA9PSBT
aWduRXh0ZW5kKTsgfQorc3RhdGljIGlubGluZSBMVmFsdWUgY29uc3RSZWFsKExUeXBlIHR5cGUs
IGRvdWJsZSB2YWx1ZSkgeyByZXR1cm4gbGx2bS0+Q29uc3RSZWFsKHR5cGUsIHZhbHVlKTsgfQor
c3RhdGljIGlubGluZSBMVmFsdWUgY29uc3RJbnRUb1B0cihMVmFsdWUgdmFsdWUsIExUeXBlIHR5
cGUpIHsgcmV0dXJuIGxsdm0tPkNvbnN0SW50VG9QdHIodmFsdWUsIHR5cGUpOyB9CitzdGF0aWMg
aW5saW5lIExWYWx1ZSBjb25zdEJpdENhc3QoTFZhbHVlIHZhbHVlLCBMVHlwZSB0eXBlKSB7IHJl
dHVybiBsbHZtLT5Db25zdEJpdENhc3QodmFsdWUsIHR5cGUpOyB9CiAKLXN0YXRpYyBpbmxpbmUg
TEJhc2ljQmxvY2sgYXBwZW5kQmFzaWNCbG9jayhMQ29udGV4dCBjb250ZXh0LCBMVmFsdWUgZnVu
Y3Rpb24sIGNvbnN0IGNoYXIqIG5hbWUgPSAiIikgeyByZXR1cm4gTExWTUFwcGVuZEJhc2ljQmxv
Y2tJbkNvbnRleHQoY29udGV4dCwgZnVuY3Rpb24sIG5hbWUpOyB9Ci1zdGF0aWMgaW5saW5lIExC
YXNpY0Jsb2NrIGluc2VydEJhc2ljQmxvY2soTENvbnRleHQgY29udGV4dCwgTEJhc2ljQmxvY2sg
YmVmb3JlQmFzaWNCbG9jaywgY29uc3QgY2hhciogbmFtZSA9ICIiKSB7IHJldHVybiBMTFZNSW5z
ZXJ0QmFzaWNCbG9ja0luQ29udGV4dChjb250ZXh0LCBiZWZvcmVCYXNpY0Jsb2NrLCBuYW1lKTsg
fQorc3RhdGljIGlubGluZSBMQmFzaWNCbG9jayBhcHBlbmRCYXNpY0Jsb2NrKExDb250ZXh0IGNv
bnRleHQsIExWYWx1ZSBmdW5jdGlvbiwgY29uc3QgY2hhciogbmFtZSA9ICIiKSB7IHJldHVybiBs
bHZtLT5BcHBlbmRCYXNpY0Jsb2NrSW5Db250ZXh0KGNvbnRleHQsIGZ1bmN0aW9uLCBuYW1lKTsg
fQorc3RhdGljIGlubGluZSBMQmFzaWNCbG9jayBpbnNlcnRCYXNpY0Jsb2NrKExDb250ZXh0IGNv
bnRleHQsIExCYXNpY0Jsb2NrIGJlZm9yZUJhc2ljQmxvY2ssIGNvbnN0IGNoYXIqIG5hbWUgPSAi
IikgeyByZXR1cm4gbGx2bS0+SW5zZXJ0QmFzaWNCbG9ja0luQ29udGV4dChjb250ZXh0LCBiZWZv
cmVCYXNpY0Jsb2NrLCBuYW1lKTsgfQogCi1zdGF0aWMgaW5saW5lIExWYWx1ZSBidWlsZFBoaShM
QnVpbGRlciBidWlsZGVyLCBMVHlwZSB0eXBlKSB7IHJldHVybiBMTFZNQnVpbGRQaGkoYnVpbGRl
ciwgdHlwZSwgIiIpOyB9CitzdGF0aWMgaW5saW5lIExWYWx1ZSBidWlsZFBoaShMQnVpbGRlciBi
dWlsZGVyLCBMVHlwZSB0eXBlKSB7IHJldHVybiBsbHZtLT5CdWlsZFBoaShidWlsZGVyLCB0eXBl
LCAiIik7IH0KIHN0YXRpYyBpbmxpbmUgdm9pZCBhZGRJbmNvbWluZyhMVmFsdWUgcGhpLCBjb25z
dCBMVmFsdWUqIHZhbHVlcywgY29uc3QgTEJhc2ljQmxvY2sqIGJsb2NrcywgdW5zaWduZWQgbnVt
UHJlZGVjZXNzb3JzKQogewotICAgIExMVk1BZGRJbmNvbWluZyhwaGksIGNvbnN0X2Nhc3Q8TFZh
bHVlKj4odmFsdWVzKSwgY29uc3RfY2FzdDxMQmFzaWNCbG9jayo+KGJsb2NrcyksIG51bVByZWRl
Y2Vzc29ycyk7CisgICAgbGx2bS0+QWRkSW5jb21pbmcocGhpLCBjb25zdF9jYXN0PExWYWx1ZSo+
KHZhbHVlcyksIGNvbnN0X2Nhc3Q8TEJhc2ljQmxvY2sqPihibG9ja3MpLCBudW1QcmVkZWNlc3Nv
cnMpOwogfQogc3RhdGljIGlubGluZSB2b2lkIGFkZEluY29taW5nKExWYWx1ZSBwaGksIFZhbHVl
RnJvbUJsb2NrIHZhbHVlMSkKIHsKQEAgLTE4MCw0NCArMTgxLDQ0IEBAIHN0YXRpYyBpbmxpbmUg
TFZhbHVlIGJ1aWxkUGhpKAogICAgIHJldHVybiByZXN1bHQ7CiB9CiAKLXN0YXRpYyBpbmxpbmUg
TFZhbHVlIGJ1aWxkQWxsb2NhKExCdWlsZGVyIGJ1aWxkZXIsIExUeXBlIHR5cGUpIHsgcmV0dXJu
IExMVk1CdWlsZEFsbG9jYShidWlsZGVyLCB0eXBlLCAiIik7IH0KLXN0YXRpYyBpbmxpbmUgTFZh
bHVlIGJ1aWxkQWRkKExCdWlsZGVyIGJ1aWxkZXIsIExWYWx1ZSBsZWZ0LCBMVmFsdWUgcmlnaHQp
IHsgcmV0dXJuIExMVk1CdWlsZEFkZChidWlsZGVyLCBsZWZ0LCByaWdodCwgIiIpOyB9Ci1zdGF0
aWMgaW5saW5lIExWYWx1ZSBidWlsZFN1YihMQnVpbGRlciBidWlsZGVyLCBMVmFsdWUgbGVmdCwg
TFZhbHVlIHJpZ2h0KSB7IHJldHVybiBMTFZNQnVpbGRTdWIoYnVpbGRlciwgbGVmdCwgcmlnaHQs
ICIiKTsgfQotc3RhdGljIGlubGluZSBMVmFsdWUgYnVpbGRNdWwoTEJ1aWxkZXIgYnVpbGRlciwg
TFZhbHVlIGxlZnQsIExWYWx1ZSByaWdodCkgeyByZXR1cm4gTExWTUJ1aWxkTXVsKGJ1aWxkZXIs
IGxlZnQsIHJpZ2h0LCAiIik7IH0KLXN0YXRpYyBpbmxpbmUgTFZhbHVlIGJ1aWxkRGl2KExCdWls
ZGVyIGJ1aWxkZXIsIExWYWx1ZSBsZWZ0LCBMVmFsdWUgcmlnaHQpIHsgcmV0dXJuIExMVk1CdWls
ZFNEaXYoYnVpbGRlciwgbGVmdCwgcmlnaHQsICIiKTsgfQotc3RhdGljIGlubGluZSBMVmFsdWUg
YnVpbGRSZW0oTEJ1aWxkZXIgYnVpbGRlciwgTFZhbHVlIGxlZnQsIExWYWx1ZSByaWdodCkgeyBy
ZXR1cm4gTExWTUJ1aWxkU1JlbShidWlsZGVyLCBsZWZ0LCByaWdodCwgIiIpOyB9Ci1zdGF0aWMg
aW5saW5lIExWYWx1ZSBidWlsZE5lZyhMQnVpbGRlciBidWlsZGVyLCBMVmFsdWUgdmFsdWUpIHsg
cmV0dXJuIExMVk1CdWlsZE5lZyhidWlsZGVyLCB2YWx1ZSwgIiIpOyB9Ci1zdGF0aWMgaW5saW5l
IExWYWx1ZSBidWlsZEZBZGQoTEJ1aWxkZXIgYnVpbGRlciwgTFZhbHVlIGxlZnQsIExWYWx1ZSBy
aWdodCkgeyByZXR1cm4gTExWTUJ1aWxkRkFkZChidWlsZGVyLCBsZWZ0LCByaWdodCwgIiIpOyB9
Ci1zdGF0aWMgaW5saW5lIExWYWx1ZSBidWlsZEZTdWIoTEJ1aWxkZXIgYnVpbGRlciwgTFZhbHVl
IGxlZnQsIExWYWx1ZSByaWdodCkgeyByZXR1cm4gTExWTUJ1aWxkRlN1YihidWlsZGVyLCBsZWZ0
LCByaWdodCwgIiIpOyB9Ci1zdGF0aWMgaW5saW5lIExWYWx1ZSBidWlsZEZNdWwoTEJ1aWxkZXIg
YnVpbGRlciwgTFZhbHVlIGxlZnQsIExWYWx1ZSByaWdodCkgeyByZXR1cm4gTExWTUJ1aWxkRk11
bChidWlsZGVyLCBsZWZ0LCByaWdodCwgIiIpOyB9Ci1zdGF0aWMgaW5saW5lIExWYWx1ZSBidWls
ZEZEaXYoTEJ1aWxkZXIgYnVpbGRlciwgTFZhbHVlIGxlZnQsIExWYWx1ZSByaWdodCkgeyByZXR1
cm4gTExWTUJ1aWxkRkRpdihidWlsZGVyLCBsZWZ0LCByaWdodCwgIiIpOyB9Ci1zdGF0aWMgaW5s
aW5lIExWYWx1ZSBidWlsZEZSZW0oTEJ1aWxkZXIgYnVpbGRlciwgTFZhbHVlIGxlZnQsIExWYWx1
ZSByaWdodCkgeyByZXR1cm4gTExWTUJ1aWxkRlJlbShidWlsZGVyLCBsZWZ0LCByaWdodCwgIiIp
OyB9Ci1zdGF0aWMgaW5saW5lIExWYWx1ZSBidWlsZEZOZWcoTEJ1aWxkZXIgYnVpbGRlciwgTFZh
bHVlIHZhbHVlKSB7IHJldHVybiBMTFZNQnVpbGRGTmVnKGJ1aWxkZXIsIHZhbHVlLCAiIik7IH0K
LXN0YXRpYyBpbmxpbmUgTFZhbHVlIGJ1aWxkQW5kKExCdWlsZGVyIGJ1aWxkZXIsIExWYWx1ZSBs
ZWZ0LCBMVmFsdWUgcmlnaHQpIHsgcmV0dXJuIExMVk1CdWlsZEFuZChidWlsZGVyLCBsZWZ0LCBy
aWdodCwgIiIpOyB9Ci1zdGF0aWMgaW5saW5lIExWYWx1ZSBidWlsZE9yKExCdWlsZGVyIGJ1aWxk
ZXIsIExWYWx1ZSBsZWZ0LCBMVmFsdWUgcmlnaHQpIHsgcmV0dXJuIExMVk1CdWlsZE9yKGJ1aWxk
ZXIsIGxlZnQsIHJpZ2h0LCAiIik7IH0KLXN0YXRpYyBpbmxpbmUgTFZhbHVlIGJ1aWxkWG9yKExC
dWlsZGVyIGJ1aWxkZXIsIExWYWx1ZSBsZWZ0LCBMVmFsdWUgcmlnaHQpIHsgcmV0dXJuIExMVk1C
dWlsZFhvcihidWlsZGVyLCBsZWZ0LCByaWdodCwgIiIpOyB9Ci1zdGF0aWMgaW5saW5lIExWYWx1
ZSBidWlsZFNobChMQnVpbGRlciBidWlsZGVyLCBMVmFsdWUgbGVmdCwgTFZhbHVlIHJpZ2h0KSB7
IHJldHVybiBMTFZNQnVpbGRTaGwoYnVpbGRlciwgbGVmdCwgcmlnaHQsICIiKTsgfQotc3RhdGlj
IGlubGluZSBMVmFsdWUgYnVpbGRBU2hyKExCdWlsZGVyIGJ1aWxkZXIsIExWYWx1ZSBsZWZ0LCBM
VmFsdWUgcmlnaHQpIHsgcmV0dXJuIExMVk1CdWlsZEFTaHIoYnVpbGRlciwgbGVmdCwgcmlnaHQs
ICIiKTsgfQotc3RhdGljIGlubGluZSBMVmFsdWUgYnVpbGRMU2hyKExCdWlsZGVyIGJ1aWxkZXIs
IExWYWx1ZSBsZWZ0LCBMVmFsdWUgcmlnaHQpIHsgcmV0dXJuIExMVk1CdWlsZExTaHIoYnVpbGRl
ciwgbGVmdCwgcmlnaHQsICIiKTsgfQotc3RhdGljIGlubGluZSBMVmFsdWUgYnVpbGROb3QoTEJ1
aWxkZXIgYnVpbGRlciwgTFZhbHVlIHZhbHVlKSB7IHJldHVybiBMTFZNQnVpbGROb3QoYnVpbGRl
ciwgdmFsdWUsICIiKTsgfQotc3RhdGljIGlubGluZSBMVmFsdWUgYnVpbGRMb2FkKExCdWlsZGVy
IGJ1aWxkZXIsIExWYWx1ZSBwb2ludGVyKSB7IHJldHVybiBMTFZNQnVpbGRMb2FkKGJ1aWxkZXIs
IHBvaW50ZXIsICIiKTsgfQotc3RhdGljIGlubGluZSBMVmFsdWUgYnVpbGRTdG9yZShMQnVpbGRl
ciBidWlsZGVyLCBMVmFsdWUgdmFsdWUsIExWYWx1ZSBwb2ludGVyKSB7IHJldHVybiBMTFZNQnVp
bGRTdG9yZShidWlsZGVyLCB2YWx1ZSwgcG9pbnRlcik7IH0KLXN0YXRpYyBpbmxpbmUgTFZhbHVl
IGJ1aWxkU0V4dChMQnVpbGRlciBidWlsZGVyLCBMVmFsdWUgdmFsdWUsIExUeXBlIHR5cGUpIHsg
cmV0dXJuIExMVk1CdWlsZFNFeHQoYnVpbGRlciwgdmFsdWUsIHR5cGUsICIiKTsgfQotc3RhdGlj
IGlubGluZSBMVmFsdWUgYnVpbGRaRXh0KExCdWlsZGVyIGJ1aWxkZXIsIExWYWx1ZSB2YWx1ZSwg
TFR5cGUgdHlwZSkgeyByZXR1cm4gTExWTUJ1aWxkWkV4dChidWlsZGVyLCB2YWx1ZSwgdHlwZSwg
IiIpOyB9Ci1zdGF0aWMgaW5saW5lIExWYWx1ZSBidWlsZEZQVG9TSShMQnVpbGRlciBidWlsZGVy
LCBMVmFsdWUgdmFsdWUsIExUeXBlIHR5cGUpIHsgcmV0dXJuIExMVk1CdWlsZEZQVG9TSShidWls
ZGVyLCB2YWx1ZSwgdHlwZSwgIiIpOyB9Ci1zdGF0aWMgaW5saW5lIExWYWx1ZSBidWlsZEZQVG9V
SShMQnVpbGRlciBidWlsZGVyLCBMVmFsdWUgdmFsdWUsIExUeXBlIHR5cGUpIHsgcmV0dXJuIExM
Vk1CdWlsZEZQVG9VSShidWlsZGVyLCB2YWx1ZSwgdHlwZSwgIiIpOyB9Ci1zdGF0aWMgaW5saW5l
IExWYWx1ZSBidWlsZFNJVG9GUChMQnVpbGRlciBidWlsZGVyLCBMVmFsdWUgdmFsdWUsIExUeXBl
IHR5cGUpIHsgcmV0dXJuIExMVk1CdWlsZFNJVG9GUChidWlsZGVyLCB2YWx1ZSwgdHlwZSwgIiIp
OyB9Ci1zdGF0aWMgaW5saW5lIExWYWx1ZSBidWlsZFVJVG9GUChMQnVpbGRlciBidWlsZGVyLCBM
VmFsdWUgdmFsdWUsIExUeXBlIHR5cGUpIHsgcmV0dXJuIExMVk1CdWlsZFVJVG9GUChidWlsZGVy
LCB2YWx1ZSwgdHlwZSwgIiIpOyB9Ci1zdGF0aWMgaW5saW5lIExWYWx1ZSBidWlsZEludENhc3Qo
TEJ1aWxkZXIgYnVpbGRlciwgTFZhbHVlIHZhbHVlLCBMVHlwZSB0eXBlKSB7IHJldHVybiBMTFZN
QnVpbGRJbnRDYXN0KGJ1aWxkZXIsIHZhbHVlLCB0eXBlLCAiIik7IH0KLXN0YXRpYyBpbmxpbmUg
TFZhbHVlIGJ1aWxkRlBDYXN0KExCdWlsZGVyIGJ1aWxkZXIsIExWYWx1ZSB2YWx1ZSwgTFR5cGUg
dHlwZSkgeyByZXR1cm4gTExWTUJ1aWxkRlBDYXN0KGJ1aWxkZXIsIHZhbHVlLCB0eXBlLCAiIik7
IH0KLXN0YXRpYyBpbmxpbmUgTFZhbHVlIGJ1aWxkSW50VG9QdHIoTEJ1aWxkZXIgYnVpbGRlciwg
TFZhbHVlIHZhbHVlLCBMVHlwZSB0eXBlKSB7IHJldHVybiBMTFZNQnVpbGRJbnRUb1B0cihidWls
ZGVyLCB2YWx1ZSwgdHlwZSwgIiIpOyB9Ci1zdGF0aWMgaW5saW5lIExWYWx1ZSBidWlsZFB0clRv
SW50KExCdWlsZGVyIGJ1aWxkZXIsIExWYWx1ZSB2YWx1ZSwgTFR5cGUgdHlwZSkgeyByZXR1cm4g
TExWTUJ1aWxkUHRyVG9JbnQoYnVpbGRlciwgdmFsdWUsIHR5cGUsICIiKTsgfQotc3RhdGljIGlu
bGluZSBMVmFsdWUgYnVpbGRCaXRDYXN0KExCdWlsZGVyIGJ1aWxkZXIsIExWYWx1ZSB2YWx1ZSwg
TFR5cGUgdHlwZSkgeyByZXR1cm4gTExWTUJ1aWxkQml0Q2FzdChidWlsZGVyLCB2YWx1ZSwgdHlw
ZSwgIiIpOyB9Ci1zdGF0aWMgaW5saW5lIExWYWx1ZSBidWlsZElDbXAoTEJ1aWxkZXIgYnVpbGRl
ciwgTEludFByZWRpY2F0ZSBjb25kLCBMVmFsdWUgbGVmdCwgTFZhbHVlIHJpZ2h0KSB7IHJldHVy
biBMTFZNQnVpbGRJQ21wKGJ1aWxkZXIsIGNvbmQsIGxlZnQsIHJpZ2h0LCAiIik7IH0KLXN0YXRp
YyBpbmxpbmUgTFZhbHVlIGJ1aWxkRkNtcChMQnVpbGRlciBidWlsZGVyLCBMUmVhbFByZWRpY2F0
ZSBjb25kLCBMVmFsdWUgbGVmdCwgTFZhbHVlIHJpZ2h0KSB7IHJldHVybiBMTFZNQnVpbGRGQ21w
KGJ1aWxkZXIsIGNvbmQsIGxlZnQsIHJpZ2h0LCAiIik7IH0KK3N0YXRpYyBpbmxpbmUgTFZhbHVl
IGJ1aWxkQWxsb2NhKExCdWlsZGVyIGJ1aWxkZXIsIExUeXBlIHR5cGUpIHsgcmV0dXJuIGxsdm0t
PkJ1aWxkQWxsb2NhKGJ1aWxkZXIsIHR5cGUsICIiKTsgfQorc3RhdGljIGlubGluZSBMVmFsdWUg
YnVpbGRBZGQoTEJ1aWxkZXIgYnVpbGRlciwgTFZhbHVlIGxlZnQsIExWYWx1ZSByaWdodCkgeyBy
ZXR1cm4gbGx2bS0+QnVpbGRBZGQoYnVpbGRlciwgbGVmdCwgcmlnaHQsICIiKTsgfQorc3RhdGlj
IGlubGluZSBMVmFsdWUgYnVpbGRTdWIoTEJ1aWxkZXIgYnVpbGRlciwgTFZhbHVlIGxlZnQsIExW
YWx1ZSByaWdodCkgeyByZXR1cm4gbGx2bS0+QnVpbGRTdWIoYnVpbGRlciwgbGVmdCwgcmlnaHQs
ICIiKTsgfQorc3RhdGljIGlubGluZSBMVmFsdWUgYnVpbGRNdWwoTEJ1aWxkZXIgYnVpbGRlciwg
TFZhbHVlIGxlZnQsIExWYWx1ZSByaWdodCkgeyByZXR1cm4gbGx2bS0+QnVpbGRNdWwoYnVpbGRl
ciwgbGVmdCwgcmlnaHQsICIiKTsgfQorc3RhdGljIGlubGluZSBMVmFsdWUgYnVpbGREaXYoTEJ1
aWxkZXIgYnVpbGRlciwgTFZhbHVlIGxlZnQsIExWYWx1ZSByaWdodCkgeyByZXR1cm4gbGx2bS0+
QnVpbGRTRGl2KGJ1aWxkZXIsIGxlZnQsIHJpZ2h0LCAiIik7IH0KK3N0YXRpYyBpbmxpbmUgTFZh
bHVlIGJ1aWxkUmVtKExCdWlsZGVyIGJ1aWxkZXIsIExWYWx1ZSBsZWZ0LCBMVmFsdWUgcmlnaHQp
IHsgcmV0dXJuIGxsdm0tPkJ1aWxkU1JlbShidWlsZGVyLCBsZWZ0LCByaWdodCwgIiIpOyB9Citz
dGF0aWMgaW5saW5lIExWYWx1ZSBidWlsZE5lZyhMQnVpbGRlciBidWlsZGVyLCBMVmFsdWUgdmFs
dWUpIHsgcmV0dXJuIGxsdm0tPkJ1aWxkTmVnKGJ1aWxkZXIsIHZhbHVlLCAiIik7IH0KK3N0YXRp
YyBpbmxpbmUgTFZhbHVlIGJ1aWxkRkFkZChMQnVpbGRlciBidWlsZGVyLCBMVmFsdWUgbGVmdCwg
TFZhbHVlIHJpZ2h0KSB7IHJldHVybiBsbHZtLT5CdWlsZEZBZGQoYnVpbGRlciwgbGVmdCwgcmln
aHQsICIiKTsgfQorc3RhdGljIGlubGluZSBMVmFsdWUgYnVpbGRGU3ViKExCdWlsZGVyIGJ1aWxk
ZXIsIExWYWx1ZSBsZWZ0LCBMVmFsdWUgcmlnaHQpIHsgcmV0dXJuIGxsdm0tPkJ1aWxkRlN1Yihi
dWlsZGVyLCBsZWZ0LCByaWdodCwgIiIpOyB9CitzdGF0aWMgaW5saW5lIExWYWx1ZSBidWlsZEZN
dWwoTEJ1aWxkZXIgYnVpbGRlciwgTFZhbHVlIGxlZnQsIExWYWx1ZSByaWdodCkgeyByZXR1cm4g
bGx2bS0+QnVpbGRGTXVsKGJ1aWxkZXIsIGxlZnQsIHJpZ2h0LCAiIik7IH0KK3N0YXRpYyBpbmxp
bmUgTFZhbHVlIGJ1aWxkRkRpdihMQnVpbGRlciBidWlsZGVyLCBMVmFsdWUgbGVmdCwgTFZhbHVl
IHJpZ2h0KSB7IHJldHVybiBsbHZtLT5CdWlsZEZEaXYoYnVpbGRlciwgbGVmdCwgcmlnaHQsICIi
KTsgfQorc3RhdGljIGlubGluZSBMVmFsdWUgYnVpbGRGUmVtKExCdWlsZGVyIGJ1aWxkZXIsIExW
YWx1ZSBsZWZ0LCBMVmFsdWUgcmlnaHQpIHsgcmV0dXJuIGxsdm0tPkJ1aWxkRlJlbShidWlsZGVy
LCBsZWZ0LCByaWdodCwgIiIpOyB9CitzdGF0aWMgaW5saW5lIExWYWx1ZSBidWlsZEZOZWcoTEJ1
aWxkZXIgYnVpbGRlciwgTFZhbHVlIHZhbHVlKSB7IHJldHVybiBsbHZtLT5CdWlsZEZOZWcoYnVp
bGRlciwgdmFsdWUsICIiKTsgfQorc3RhdGljIGlubGluZSBMVmFsdWUgYnVpbGRBbmQoTEJ1aWxk
ZXIgYnVpbGRlciwgTFZhbHVlIGxlZnQsIExWYWx1ZSByaWdodCkgeyByZXR1cm4gbGx2bS0+QnVp
bGRBbmQoYnVpbGRlciwgbGVmdCwgcmlnaHQsICIiKTsgfQorc3RhdGljIGlubGluZSBMVmFsdWUg
YnVpbGRPcihMQnVpbGRlciBidWlsZGVyLCBMVmFsdWUgbGVmdCwgTFZhbHVlIHJpZ2h0KSB7IHJl
dHVybiBsbHZtLT5CdWlsZE9yKGJ1aWxkZXIsIGxlZnQsIHJpZ2h0LCAiIik7IH0KK3N0YXRpYyBp
bmxpbmUgTFZhbHVlIGJ1aWxkWG9yKExCdWlsZGVyIGJ1aWxkZXIsIExWYWx1ZSBsZWZ0LCBMVmFs
dWUgcmlnaHQpIHsgcmV0dXJuIGxsdm0tPkJ1aWxkWG9yKGJ1aWxkZXIsIGxlZnQsIHJpZ2h0LCAi
Iik7IH0KK3N0YXRpYyBpbmxpbmUgTFZhbHVlIGJ1aWxkU2hsKExCdWlsZGVyIGJ1aWxkZXIsIExW
YWx1ZSBsZWZ0LCBMVmFsdWUgcmlnaHQpIHsgcmV0dXJuIGxsdm0tPkJ1aWxkU2hsKGJ1aWxkZXIs
IGxlZnQsIHJpZ2h0LCAiIik7IH0KK3N0YXRpYyBpbmxpbmUgTFZhbHVlIGJ1aWxkQVNocihMQnVp
bGRlciBidWlsZGVyLCBMVmFsdWUgbGVmdCwgTFZhbHVlIHJpZ2h0KSB7IHJldHVybiBsbHZtLT5C
dWlsZEFTaHIoYnVpbGRlciwgbGVmdCwgcmlnaHQsICIiKTsgfQorc3RhdGljIGlubGluZSBMVmFs
dWUgYnVpbGRMU2hyKExCdWlsZGVyIGJ1aWxkZXIsIExWYWx1ZSBsZWZ0LCBMVmFsdWUgcmlnaHQp
IHsgcmV0dXJuIGxsdm0tPkJ1aWxkTFNocihidWlsZGVyLCBsZWZ0LCByaWdodCwgIiIpOyB9Citz
dGF0aWMgaW5saW5lIExWYWx1ZSBidWlsZE5vdChMQnVpbGRlciBidWlsZGVyLCBMVmFsdWUgdmFs
dWUpIHsgcmV0dXJuIGxsdm0tPkJ1aWxkTm90KGJ1aWxkZXIsIHZhbHVlLCAiIik7IH0KK3N0YXRp
YyBpbmxpbmUgTFZhbHVlIGJ1aWxkTG9hZChMQnVpbGRlciBidWlsZGVyLCBMVmFsdWUgcG9pbnRl
cikgeyByZXR1cm4gbGx2bS0+QnVpbGRMb2FkKGJ1aWxkZXIsIHBvaW50ZXIsICIiKTsgfQorc3Rh
dGljIGlubGluZSBMVmFsdWUgYnVpbGRTdG9yZShMQnVpbGRlciBidWlsZGVyLCBMVmFsdWUgdmFs
dWUsIExWYWx1ZSBwb2ludGVyKSB7IHJldHVybiBsbHZtLT5CdWlsZFN0b3JlKGJ1aWxkZXIsIHZh
bHVlLCBwb2ludGVyKTsgfQorc3RhdGljIGlubGluZSBMVmFsdWUgYnVpbGRTRXh0KExCdWlsZGVy
IGJ1aWxkZXIsIExWYWx1ZSB2YWx1ZSwgTFR5cGUgdHlwZSkgeyByZXR1cm4gbGx2bS0+QnVpbGRT
RXh0KGJ1aWxkZXIsIHZhbHVlLCB0eXBlLCAiIik7IH0KK3N0YXRpYyBpbmxpbmUgTFZhbHVlIGJ1
aWxkWkV4dChMQnVpbGRlciBidWlsZGVyLCBMVmFsdWUgdmFsdWUsIExUeXBlIHR5cGUpIHsgcmV0
dXJuIGxsdm0tPkJ1aWxkWkV4dChidWlsZGVyLCB2YWx1ZSwgdHlwZSwgIiIpOyB9CitzdGF0aWMg
aW5saW5lIExWYWx1ZSBidWlsZEZQVG9TSShMQnVpbGRlciBidWlsZGVyLCBMVmFsdWUgdmFsdWUs
IExUeXBlIHR5cGUpIHsgcmV0dXJuIGxsdm0tPkJ1aWxkRlBUb1NJKGJ1aWxkZXIsIHZhbHVlLCB0
eXBlLCAiIik7IH0KK3N0YXRpYyBpbmxpbmUgTFZhbHVlIGJ1aWxkRlBUb1VJKExCdWlsZGVyIGJ1
aWxkZXIsIExWYWx1ZSB2YWx1ZSwgTFR5cGUgdHlwZSkgeyByZXR1cm4gbGx2bS0+QnVpbGRGUFRv
VUkoYnVpbGRlciwgdmFsdWUsIHR5cGUsICIiKTsgfQorc3RhdGljIGlubGluZSBMVmFsdWUgYnVp
bGRTSVRvRlAoTEJ1aWxkZXIgYnVpbGRlciwgTFZhbHVlIHZhbHVlLCBMVHlwZSB0eXBlKSB7IHJl
dHVybiBsbHZtLT5CdWlsZFNJVG9GUChidWlsZGVyLCB2YWx1ZSwgdHlwZSwgIiIpOyB9CitzdGF0
aWMgaW5saW5lIExWYWx1ZSBidWlsZFVJVG9GUChMQnVpbGRlciBidWlsZGVyLCBMVmFsdWUgdmFs
dWUsIExUeXBlIHR5cGUpIHsgcmV0dXJuIGxsdm0tPkJ1aWxkVUlUb0ZQKGJ1aWxkZXIsIHZhbHVl
LCB0eXBlLCAiIik7IH0KK3N0YXRpYyBpbmxpbmUgTFZhbHVlIGJ1aWxkSW50Q2FzdChMQnVpbGRl
ciBidWlsZGVyLCBMVmFsdWUgdmFsdWUsIExUeXBlIHR5cGUpIHsgcmV0dXJuIGxsdm0tPkJ1aWxk
SW50Q2FzdChidWlsZGVyLCB2YWx1ZSwgdHlwZSwgIiIpOyB9CitzdGF0aWMgaW5saW5lIExWYWx1
ZSBidWlsZEZQQ2FzdChMQnVpbGRlciBidWlsZGVyLCBMVmFsdWUgdmFsdWUsIExUeXBlIHR5cGUp
IHsgcmV0dXJuIGxsdm0tPkJ1aWxkRlBDYXN0KGJ1aWxkZXIsIHZhbHVlLCB0eXBlLCAiIik7IH0K
K3N0YXRpYyBpbmxpbmUgTFZhbHVlIGJ1aWxkSW50VG9QdHIoTEJ1aWxkZXIgYnVpbGRlciwgTFZh
bHVlIHZhbHVlLCBMVHlwZSB0eXBlKSB7IHJldHVybiBsbHZtLT5CdWlsZEludFRvUHRyKGJ1aWxk
ZXIsIHZhbHVlLCB0eXBlLCAiIik7IH0KK3N0YXRpYyBpbmxpbmUgTFZhbHVlIGJ1aWxkUHRyVG9J
bnQoTEJ1aWxkZXIgYnVpbGRlciwgTFZhbHVlIHZhbHVlLCBMVHlwZSB0eXBlKSB7IHJldHVybiBs
bHZtLT5CdWlsZFB0clRvSW50KGJ1aWxkZXIsIHZhbHVlLCB0eXBlLCAiIik7IH0KK3N0YXRpYyBp
bmxpbmUgTFZhbHVlIGJ1aWxkQml0Q2FzdChMQnVpbGRlciBidWlsZGVyLCBMVmFsdWUgdmFsdWUs
IExUeXBlIHR5cGUpIHsgcmV0dXJuIGxsdm0tPkJ1aWxkQml0Q2FzdChidWlsZGVyLCB2YWx1ZSwg
dHlwZSwgIiIpOyB9CitzdGF0aWMgaW5saW5lIExWYWx1ZSBidWlsZElDbXAoTEJ1aWxkZXIgYnVp
bGRlciwgTEludFByZWRpY2F0ZSBjb25kLCBMVmFsdWUgbGVmdCwgTFZhbHVlIHJpZ2h0KSB7IHJl
dHVybiBsbHZtLT5CdWlsZElDbXAoYnVpbGRlciwgY29uZCwgbGVmdCwgcmlnaHQsICIiKTsgfQor
c3RhdGljIGlubGluZSBMVmFsdWUgYnVpbGRGQ21wKExCdWlsZGVyIGJ1aWxkZXIsIExSZWFsUHJl
ZGljYXRlIGNvbmQsIExWYWx1ZSBsZWZ0LCBMVmFsdWUgcmlnaHQpIHsgcmV0dXJuIGxsdm0tPkJ1
aWxkRkNtcChidWlsZGVyLCBjb25kLCBsZWZ0LCByaWdodCwgIiIpOyB9CiBzdGF0aWMgaW5saW5l
IExWYWx1ZSBidWlsZENhbGwoTEJ1aWxkZXIgYnVpbGRlciwgTFZhbHVlIGZ1bmN0aW9uLCBjb25z
dCBMVmFsdWUqIGFyZ3MsIHVuc2lnbmVkIG51bUFyZ3MpCiB7Ci0gICAgcmV0dXJuIExMVk1CdWls
ZENhbGwoYnVpbGRlciwgZnVuY3Rpb24sIGNvbnN0X2Nhc3Q8TFZhbHVlKj4oYXJncyksIG51bUFy
Z3MsICIiKTsKKyAgICByZXR1cm4gbGx2bS0+QnVpbGRDYWxsKGJ1aWxkZXIsIGZ1bmN0aW9uLCBj
b25zdF9jYXN0PExWYWx1ZSo+KGFyZ3MpLCBudW1BcmdzLCAiIik7CiB9CiB0ZW1wbGF0ZTx0eXBl
bmFtZSBWZWN0b3JUeXBlPgogaW5saW5lIExWYWx1ZSBidWlsZENhbGwoTEJ1aWxkZXIgYnVpbGRl
ciwgTFZhbHVlIGZ1bmN0aW9uLCBjb25zdCBWZWN0b3JUeXBlJiB2ZWN0b3IpCkBAIC0yNDgsMTMg
KzI0OSwxMyBAQCBzdGF0aWMgaW5saW5lIExWYWx1ZSBidWlsZENhbGwoTEJ1aWxkZXIgCiAgICAg
cmV0dXJuIGJ1aWxkQ2FsbChidWlsZGVyLCBmdW5jdGlvbiwgYXJncywgNCk7CiB9CiBlbnVtIFRh
aWxDYWxsTW9kZSB7IElzTm90VGFpbENhbGwsIElzVGFpbENhbGwgfTsKLXN0YXRpYyBpbmxpbmUg
dm9pZCBzZXRUYWlsQ2FsbChMVmFsdWUgY2FsbCwgVGFpbENhbGxNb2RlIG1vZGUpIHsgTExWTVNl
dFRhaWxDYWxsKGNhbGwsIG1vZGUgPT0gSXNUYWlsQ2FsbCk7IH0KLXN0YXRpYyBpbmxpbmUgTFZh
bHVlIGJ1aWxkRXh0cmFjdFZhbHVlKExCdWlsZGVyIGJ1aWxkZXIsIExWYWx1ZSBhZ2dWYWwsIHVu
c2lnbmVkIGluZGV4KSB7IHJldHVybiBMTFZNQnVpbGRFeHRyYWN0VmFsdWUoYnVpbGRlciwgYWdn
VmFsLCBpbmRleCwgIiIpOyB9Ci1zdGF0aWMgaW5saW5lIExWYWx1ZSBidWlsZFNlbGVjdChMQnVp
bGRlciBidWlsZGVyLCBMVmFsdWUgY29uZGl0aW9uLCBMVmFsdWUgdGFrZW4sIExWYWx1ZSBub3RU
YWtlbikgeyByZXR1cm4gTExWTUJ1aWxkU2VsZWN0KGJ1aWxkZXIsIGNvbmRpdGlvbiwgdGFrZW4s
IG5vdFRha2VuLCAiIik7IH0KLXN0YXRpYyBpbmxpbmUgTFZhbHVlIGJ1aWxkQnIoTEJ1aWxkZXIg
YnVpbGRlciwgTEJhc2ljQmxvY2sgZGVzdGluYXRpb24pIHsgcmV0dXJuIExMVk1CdWlsZEJyKGJ1
aWxkZXIsIGRlc3RpbmF0aW9uKTsgfQotc3RhdGljIGlubGluZSBMVmFsdWUgYnVpbGRDb25kQnIo
TEJ1aWxkZXIgYnVpbGRlciwgTFZhbHVlIGNvbmRpdGlvbiwgTEJhc2ljQmxvY2sgdGFrZW4sIExC
YXNpY0Jsb2NrIG5vdFRha2VuKSB7IHJldHVybiBMTFZNQnVpbGRDb25kQnIoYnVpbGRlciwgY29u
ZGl0aW9uLCB0YWtlbiwgbm90VGFrZW4pOyB9Ci1zdGF0aWMgaW5saW5lIExWYWx1ZSBidWlsZFN3
aXRjaChMQnVpbGRlciBidWlsZGVyLCBMVmFsdWUgdmFsdWUsIExCYXNpY0Jsb2NrIGZhbGxUaHJv
dWdoLCB1bnNpZ25lZCBudW1DYXNlcykgeyByZXR1cm4gTExWTUJ1aWxkU3dpdGNoKGJ1aWxkZXIs
IHZhbHVlLCBmYWxsVGhyb3VnaCwgbnVtQ2FzZXMpOyB9Ci1zdGF0aWMgaW5saW5lIHZvaWQgYWRk
Q2FzZShMVmFsdWUgc3dpdGNoSW5zdCwgTFZhbHVlIHZhbHVlLCBMQmFzaWNCbG9jayB0YXJnZXQp
IHsgTExWTUFkZENhc2Uoc3dpdGNoSW5zdCwgdmFsdWUsIHRhcmdldCk7IH0KK3N0YXRpYyBpbmxp
bmUgdm9pZCBzZXRUYWlsQ2FsbChMVmFsdWUgY2FsbCwgVGFpbENhbGxNb2RlIG1vZGUpIHsgbGx2
bS0+U2V0VGFpbENhbGwoY2FsbCwgbW9kZSA9PSBJc1RhaWxDYWxsKTsgfQorc3RhdGljIGlubGlu
ZSBMVmFsdWUgYnVpbGRFeHRyYWN0VmFsdWUoTEJ1aWxkZXIgYnVpbGRlciwgTFZhbHVlIGFnZ1Zh
bCwgdW5zaWduZWQgaW5kZXgpIHsgcmV0dXJuIGxsdm0tPkJ1aWxkRXh0cmFjdFZhbHVlKGJ1aWxk
ZXIsIGFnZ1ZhbCwgaW5kZXgsICIiKTsgfQorc3RhdGljIGlubGluZSBMVmFsdWUgYnVpbGRTZWxl
Y3QoTEJ1aWxkZXIgYnVpbGRlciwgTFZhbHVlIGNvbmRpdGlvbiwgTFZhbHVlIHRha2VuLCBMVmFs
dWUgbm90VGFrZW4pIHsgcmV0dXJuIGxsdm0tPkJ1aWxkU2VsZWN0KGJ1aWxkZXIsIGNvbmRpdGlv
biwgdGFrZW4sIG5vdFRha2VuLCAiIik7IH0KK3N0YXRpYyBpbmxpbmUgTFZhbHVlIGJ1aWxkQnIo
TEJ1aWxkZXIgYnVpbGRlciwgTEJhc2ljQmxvY2sgZGVzdGluYXRpb24pIHsgcmV0dXJuIGxsdm0t
PkJ1aWxkQnIoYnVpbGRlciwgZGVzdGluYXRpb24pOyB9CitzdGF0aWMgaW5saW5lIExWYWx1ZSBi
dWlsZENvbmRCcihMQnVpbGRlciBidWlsZGVyLCBMVmFsdWUgY29uZGl0aW9uLCBMQmFzaWNCbG9j
ayB0YWtlbiwgTEJhc2ljQmxvY2sgbm90VGFrZW4pIHsgcmV0dXJuIGxsdm0tPkJ1aWxkQ29uZEJy
KGJ1aWxkZXIsIGNvbmRpdGlvbiwgdGFrZW4sIG5vdFRha2VuKTsgfQorc3RhdGljIGlubGluZSBM
VmFsdWUgYnVpbGRTd2l0Y2goTEJ1aWxkZXIgYnVpbGRlciwgTFZhbHVlIHZhbHVlLCBMQmFzaWNC
bG9jayBmYWxsVGhyb3VnaCwgdW5zaWduZWQgbnVtQ2FzZXMpIHsgcmV0dXJuIGxsdm0tPkJ1aWxk
U3dpdGNoKGJ1aWxkZXIsIHZhbHVlLCBmYWxsVGhyb3VnaCwgbnVtQ2FzZXMpOyB9CitzdGF0aWMg
aW5saW5lIHZvaWQgYWRkQ2FzZShMVmFsdWUgc3dpdGNoSW5zdCwgTFZhbHVlIHZhbHVlLCBMQmFz
aWNCbG9jayB0YXJnZXQpIHsgbGx2bS0+QWRkQ2FzZShzd2l0Y2hJbnN0LCB2YWx1ZSwgdGFyZ2V0
KTsgfQogdGVtcGxhdGU8dHlwZW5hbWUgVmVjdG9yVHlwZT4KIHN0YXRpYyBpbmxpbmUgTFZhbHVl
IGJ1aWxkU3dpdGNoKExCdWlsZGVyIGJ1aWxkZXIsIExWYWx1ZSB2YWx1ZSwgY29uc3QgVmVjdG9y
VHlwZSYgY2FzZXMsIExCYXNpY0Jsb2NrIGZhbGxUaHJvdWdoKQogewpAQCAtMjYzLDE1ICsyNjQs
MTUgQEAgc3RhdGljIGlubGluZSBMVmFsdWUgYnVpbGRTd2l0Y2goTEJ1aWxkZQogICAgICAgICBh
ZGRDYXNlKHJlc3VsdCwgY2FzZXNbaV0udmFsdWUoKSwgY2FzZXNbaV0udGFyZ2V0KCkpOwogICAg
IHJldHVybiByZXN1bHQ7CiB9Ci1zdGF0aWMgaW5saW5lIExWYWx1ZSBidWlsZFJldChMQnVpbGRl
ciBidWlsZGVyLCBMVmFsdWUgdmFsdWUpIHsgcmV0dXJuIExMVk1CdWlsZFJldChidWlsZGVyLCB2
YWx1ZSk7IH0KLXN0YXRpYyBpbmxpbmUgTFZhbHVlIGJ1aWxkVW5yZWFjaGFibGUoTEJ1aWxkZXIg
YnVpbGRlcikgeyByZXR1cm4gTExWTUJ1aWxkVW5yZWFjaGFibGUoYnVpbGRlcik7IH0KK3N0YXRp
YyBpbmxpbmUgTFZhbHVlIGJ1aWxkUmV0KExCdWlsZGVyIGJ1aWxkZXIsIExWYWx1ZSB2YWx1ZSkg
eyByZXR1cm4gbGx2bS0+QnVpbGRSZXQoYnVpbGRlciwgdmFsdWUpOyB9CitzdGF0aWMgaW5saW5l
IExWYWx1ZSBidWlsZFVucmVhY2hhYmxlKExCdWlsZGVyIGJ1aWxkZXIpIHsgcmV0dXJuIGxsdm0t
PkJ1aWxkVW5yZWFjaGFibGUoYnVpbGRlcik7IH0KIAotc3RhdGljIGlubGluZSB2b2lkIGR1bXBN
b2R1bGUoTE1vZHVsZSBtb2R1bGUpIHsgTExWTUR1bXBNb2R1bGUobW9kdWxlKTsgfQorc3RhdGlj
IGlubGluZSB2b2lkIGR1bXBNb2R1bGUoTE1vZHVsZSBtb2R1bGUpIHsgbGx2bS0+RHVtcE1vZHVs
ZShtb2R1bGUpOyB9CiBzdGF0aWMgaW5saW5lIHZvaWQgdmVyaWZ5TW9kdWxlKExNb2R1bGUgbW9k
dWxlKQogewogICAgIGNoYXIqIGVycm9yID0gMDsKLSAgICBMTFZNVmVyaWZ5TW9kdWxlKG1vZHVs
ZSwgTExWTUFib3J0UHJvY2Vzc0FjdGlvbiwgJmVycm9yKTsKLSAgICBMTFZNRGlzcG9zZU1lc3Nh
Z2UoZXJyb3IpOworICAgIGxsdm0tPlZlcmlmeU1vZHVsZShtb2R1bGUsIExMVk1BYm9ydFByb2Nl
c3NBY3Rpb24sICZlcnJvcik7CisgICAgbGx2bS0+RGlzcG9zZU1lc3NhZ2UoZXJyb3IpOwogfQog
CiB9IH0gLy8gbmFtZXNwYWNlIEpTQzo6RlRMCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
ZnRsL0ZUTENvbXBpbGUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9m
dGwvRlRMQ29tcGlsZS5jcHAJKHJldmlzaW9uIDE1NzE3MikKKysrIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9mdGwvRlRMQ29tcGlsZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM0LDggKzM0LDggQEAK
ICNpbmNsdWRlICJEaXNhc3NlbWJsZXIuaCIKICNpbmNsdWRlICJGVExKSVRDb2RlLmgiCiAjaW5j
bHVkZSAiSklUU3R1YnMuaCIKKyNpbmNsdWRlICJMTFZNQVBJLmgiCiAjaW5jbHVkZSAiTGlua0J1
ZmZlci5oIgotI2luY2x1ZGUgPHd0Zi9MTFZNSGVhZGVycy5oPgogCiBuYW1lc3BhY2UgSlNDIHsg
bmFtZXNwYWNlIEZUTCB7CiAKQEAgLTk1LDUyICs5NSw1MiBAQCB2b2lkIGNvbXBpbGUoU3RhdGUm
IHN0YXRlKQogICAgIGNoYXIqIGVycm9yID0gMDsKICAgICAKICAgICBMTFZNTUNKSVRDb21waWxl
ck9wdGlvbnMgb3B0aW9uczsKLSAgICBMTFZNSW5pdGlhbGl6ZU1DSklUQ29tcGlsZXJPcHRpb25z
KCZvcHRpb25zLCBzaXplb2Yob3B0aW9ucykpOworICAgIGxsdm0tPkluaXRpYWxpemVNQ0pJVENv
bXBpbGVyT3B0aW9ucygmb3B0aW9ucywgc2l6ZW9mKG9wdGlvbnMpKTsKICAgICBvcHRpb25zLk9w
dExldmVsID0gT3B0aW9uczo6bGx2bUJhY2tlbmRPcHRpbWl6YXRpb25MZXZlbCgpOwogICAgIG9w
dGlvbnMuTm9GcmFtZVBvaW50ZXJFbGltID0gdHJ1ZTsKICAgICBpZiAoT3B0aW9uczo6dXNlTExW
TVNtYWxsQ29kZU1vZGVsKCkpCiAgICAgICAgIG9wdGlvbnMuQ29kZU1vZGVsID0gTExWTUNvZGVN
b2RlbFNtYWxsOwogICAgIG9wdGlvbnMuRW5hYmxlRmFzdElTZWwgPSBPcHRpb25zOjplbmFibGVM
TFZNRmFzdElTZWwoKTsKLSAgICBvcHRpb25zLk1DSk1NID0gTExWTUNyZWF0ZVNpbXBsZU1DSklU
TWVtb3J5TWFuYWdlcigKKyAgICBvcHRpb25zLk1DSk1NID0gbGx2bS0+Q3JlYXRlU2ltcGxlTUNK
SVRNZW1vcnlNYW5hZ2VyKAogICAgICAgICAmc3RhdGUsIG1tQWxsb2NhdGVDb2RlU2VjdGlvbiwg
bW1BbGxvY2F0ZURhdGFTZWN0aW9uLCBtbUFwcGx5UGVybWlzc2lvbnMsIG1tRGVzdHJveSk7CiAg
ICAgCiAgICAgTExWTUV4ZWN1dGlvbkVuZ2luZVJlZiBlbmdpbmU7CiAgICAgCi0gICAgaWYgKExM
Vk1DcmVhdGVNQ0pJVENvbXBpbGVyRm9yTW9kdWxlKCZlbmdpbmUsIHN0YXRlLm1vZHVsZSwgJm9w
dGlvbnMsIHNpemVvZihvcHRpb25zKSwgJmVycm9yKSkgeworICAgIGlmIChsbHZtLT5DcmVhdGVN
Q0pJVENvbXBpbGVyRm9yTW9kdWxlKCZlbmdpbmUsIHN0YXRlLm1vZHVsZSwgJm9wdGlvbnMsIHNp
emVvZihvcHRpb25zKSwgJmVycm9yKSkgewogICAgICAgICBkYXRhTG9nKCJGQVRBTDogQ291bGQg
bm90IGNyZWF0ZSBMTFZNIGV4ZWN1dGlvbiBlbmdpbmU6ICIsIGVycm9yLCAiXG4iKTsKICAgICAg
ICAgQ1JBU0goKTsKICAgICB9CiAKLSAgICBMTFZNUGFzc01hbmFnZXJCdWlsZGVyUmVmIHBhc3NC
dWlsZGVyID0gTExWTVBhc3NNYW5hZ2VyQnVpbGRlckNyZWF0ZSgpOwotICAgIExMVk1QYXNzTWFu
YWdlckJ1aWxkZXJTZXRPcHRMZXZlbChwYXNzQnVpbGRlciwgT3B0aW9uczo6bGx2bU9wdGltaXph
dGlvbkxldmVsKCkpOwotICAgIExMVk1QYXNzTWFuYWdlckJ1aWxkZXJTZXRTaXplTGV2ZWwocGFz
c0J1aWxkZXIsIE9wdGlvbnM6Omxsdm1TaXplTGV2ZWwoKSk7CisgICAgTExWTVBhc3NNYW5hZ2Vy
QnVpbGRlclJlZiBwYXNzQnVpbGRlciA9IGxsdm0tPlBhc3NNYW5hZ2VyQnVpbGRlckNyZWF0ZSgp
OworICAgIGxsdm0tPlBhc3NNYW5hZ2VyQnVpbGRlclNldE9wdExldmVsKHBhc3NCdWlsZGVyLCBP
cHRpb25zOjpsbHZtT3B0aW1pemF0aW9uTGV2ZWwoKSk7CisgICAgbGx2bS0+UGFzc01hbmFnZXJC
dWlsZGVyU2V0U2l6ZUxldmVsKHBhc3NCdWlsZGVyLCBPcHRpb25zOjpsbHZtU2l6ZUxldmVsKCkp
OwogICAgIAotICAgIExMVk1QYXNzTWFuYWdlclJlZiBmdW5jdGlvblBhc3NlcyA9IExMVk1DcmVh
dGVGdW5jdGlvblBhc3NNYW5hZ2VyRm9yTW9kdWxlKHN0YXRlLm1vZHVsZSk7Ci0gICAgTExWTVBh
c3NNYW5hZ2VyUmVmIG1vZHVsZVBhc3NlcyA9IExMVk1DcmVhdGVQYXNzTWFuYWdlcigpOworICAg
IExMVk1QYXNzTWFuYWdlclJlZiBmdW5jdGlvblBhc3NlcyA9IGxsdm0tPkNyZWF0ZUZ1bmN0aW9u
UGFzc01hbmFnZXJGb3JNb2R1bGUoc3RhdGUubW9kdWxlKTsKKyAgICBMTFZNUGFzc01hbmFnZXJS
ZWYgbW9kdWxlUGFzc2VzID0gbGx2bS0+Q3JlYXRlUGFzc01hbmFnZXIoKTsKICAgICAKLSAgICBM
TFZNQWRkVGFyZ2V0RGF0YShMTFZNR2V0RXhlY3V0aW9uRW5naW5lVGFyZ2V0RGF0YShlbmdpbmUp
LCBtb2R1bGVQYXNzZXMpOworICAgIGxsdm0tPkFkZFRhcmdldERhdGEobGx2bS0+R2V0RXhlY3V0
aW9uRW5naW5lVGFyZ2V0RGF0YShlbmdpbmUpLCBtb2R1bGVQYXNzZXMpOwogICAgIAotICAgIExM
Vk1QYXNzTWFuYWdlckJ1aWxkZXJQb3B1bGF0ZUZ1bmN0aW9uUGFzc01hbmFnZXIocGFzc0J1aWxk
ZXIsIGZ1bmN0aW9uUGFzc2VzKTsKLSAgICBMTFZNUGFzc01hbmFnZXJCdWlsZGVyUG9wdWxhdGVN
b2R1bGVQYXNzTWFuYWdlcihwYXNzQnVpbGRlciwgbW9kdWxlUGFzc2VzKTsKKyAgICBsbHZtLT5Q
YXNzTWFuYWdlckJ1aWxkZXJQb3B1bGF0ZUZ1bmN0aW9uUGFzc01hbmFnZXIocGFzc0J1aWxkZXIs
IGZ1bmN0aW9uUGFzc2VzKTsKKyAgICBsbHZtLT5QYXNzTWFuYWdlckJ1aWxkZXJQb3B1bGF0ZU1v
ZHVsZVBhc3NNYW5hZ2VyKHBhc3NCdWlsZGVyLCBtb2R1bGVQYXNzZXMpOwogICAgIAotICAgIExM
Vk1QYXNzTWFuYWdlckJ1aWxkZXJEaXNwb3NlKHBhc3NCdWlsZGVyKTsKKyAgICBsbHZtLT5QYXNz
TWFuYWdlckJ1aWxkZXJEaXNwb3NlKHBhc3NCdWlsZGVyKTsKIAotICAgIExMVk1Jbml0aWFsaXpl
RnVuY3Rpb25QYXNzTWFuYWdlcihmdW5jdGlvblBhc3Nlcyk7Ci0gICAgZm9yIChMVmFsdWUgZnVu
Y3Rpb24gPSBMTFZNR2V0Rmlyc3RGdW5jdGlvbihzdGF0ZS5tb2R1bGUpOyBmdW5jdGlvbjsgZnVu
Y3Rpb24gPSBMTFZNR2V0TmV4dEZ1bmN0aW9uKGZ1bmN0aW9uKSkKLSAgICAgICAgTExWTVJ1bkZ1
bmN0aW9uUGFzc01hbmFnZXIoZnVuY3Rpb25QYXNzZXMsIGZ1bmN0aW9uKTsKLSAgICBMTFZNRmlu
YWxpemVGdW5jdGlvblBhc3NNYW5hZ2VyKGZ1bmN0aW9uUGFzc2VzKTsKKyAgICBsbHZtLT5Jbml0
aWFsaXplRnVuY3Rpb25QYXNzTWFuYWdlcihmdW5jdGlvblBhc3Nlcyk7CisgICAgZm9yIChMVmFs
dWUgZnVuY3Rpb24gPSBsbHZtLT5HZXRGaXJzdEZ1bmN0aW9uKHN0YXRlLm1vZHVsZSk7IGZ1bmN0
aW9uOyBmdW5jdGlvbiA9IGxsdm0tPkdldE5leHRGdW5jdGlvbihmdW5jdGlvbikpCisgICAgICAg
IGxsdm0tPlJ1bkZ1bmN0aW9uUGFzc01hbmFnZXIoZnVuY3Rpb25QYXNzZXMsIGZ1bmN0aW9uKTsK
KyAgICBsbHZtLT5GaW5hbGl6ZUZ1bmN0aW9uUGFzc01hbmFnZXIoZnVuY3Rpb25QYXNzZXMpOwog
ICAgIAotICAgIExMVk1SdW5QYXNzTWFuYWdlcihtb2R1bGVQYXNzZXMsIHN0YXRlLm1vZHVsZSk7
CisgICAgbGx2bS0+UnVuUGFzc01hbmFnZXIobW9kdWxlUGFzc2VzLCBzdGF0ZS5tb2R1bGUpOwog
CiAgICAgaWYgKERGRzo6c2hvdWxkU2hvd0Rpc2Fzc2VtYmx5KCkgfHwgREZHOjp2ZXJib3NlQ29t
cGlsYXRpb25FbmFibGVkKCkpCiAgICAgICAgIHN0YXRlLmR1bXBTdGF0ZSgiYWZ0ZXIgb3B0aW1p
emF0aW9uIik7CiAgICAgCiAgICAgLy8gRklYTUU6IE5lZWQgdG8gYWRkIHN1cHBvcnQgZm9yIHRo
ZSBjYXNlIHdoZXJlIEpJVCBtZW1vcnkgYWxsb2NhdGlvbiBmYWlsZWQuCiAgICAgLy8gaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTExMzYyMAotICAgIHN0YXRlLmdlbmVy
YXRlZEZ1bmN0aW9uID0gcmVpbnRlcnByZXRfY2FzdDxHZW5lcmF0ZWRGdW5jdGlvbj4oTExWTUdl
dFBvaW50ZXJUb0dsb2JhbChlbmdpbmUsIHN0YXRlLmZ1bmN0aW9uKSk7Ci0gICAgTExWTURpc3Bv
c2VQYXNzTWFuYWdlcihmdW5jdGlvblBhc3Nlcyk7Ci0gICAgTExWTURpc3Bvc2VQYXNzTWFuYWdl
cihtb2R1bGVQYXNzZXMpOwotICAgIExMVk1EaXNwb3NlRXhlY3V0aW9uRW5naW5lKGVuZ2luZSk7
CisgICAgc3RhdGUuZ2VuZXJhdGVkRnVuY3Rpb24gPSByZWludGVycHJldF9jYXN0PEdlbmVyYXRl
ZEZ1bmN0aW9uPihsbHZtLT5HZXRQb2ludGVyVG9HbG9iYWwoZW5naW5lLCBzdGF0ZS5mdW5jdGlv
bikpOworICAgIGxsdm0tPkRpc3Bvc2VQYXNzTWFuYWdlcihmdW5jdGlvblBhc3Nlcyk7CisgICAg
bGx2bS0+RGlzcG9zZVBhc3NNYW5hZ2VyKG1vZHVsZVBhc3Nlcyk7CisgICAgbGx2bS0+RGlzcG9z
ZUV4ZWN1dGlvbkVuZ2luZShlbmdpbmUpOwogCiAgICAgaWYgKHNob3VsZFNob3dEaXNhc3NlbWJs
eSgpKSB7CiAgICAgICAgIC8vIEZJWE1FOiBmb3VydGhUaWVyOiBGVEwgbWVtb3J5IGFsbG9jYXRv
ciBzaG91bGQgYmUgYWJsZSB0byB0ZWxsIHVzIHdoaWNoIG9mCkluZGV4OiBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvZnRsL0ZUTEZhaWwuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9mdGwvRlRMRmFpbC5jcHAJKHJldmlzaW9uIDE1NzE3MikKKysrIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9mdGwvRlRMRmFpbC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMwLDcgKzMwLDcgQEAK
IAogI2luY2x1ZGUgIkRGR0ZhaWxlZEZpbmFsaXplci5oIgogI2luY2x1ZGUgIkZUTEpJVENvZGUu
aCIKLSNpbmNsdWRlIDx3dGYvTExWTUhlYWRlcnMuaD4KKyNpbmNsdWRlICJMTFZNQVBJLmgiCiAK
IG5hbWVzcGFjZSBKU0MgeyBuYW1lc3BhY2UgRlRMIHsKIApAQCAtNDAsNyArNDAsNyBAQCB2b2lk
IGZhaWwoU3RhdGUmIHN0YXRlKQogewogICAgIHN0YXRlLmdyYXBoLm1fcGxhbi5maW5hbGl6ZXIg
PSBhZG9wdFB0cihuZXcgRmFpbGVkRmluYWxpemVyKHN0YXRlLmdyYXBoLm1fcGxhbikpOwogICAg
IAotICAgIExMVk1EaXNwb3NlTW9kdWxlKHN0YXRlLm1vZHVsZSk7CisgICAgbGx2bS0+RGlzcG9z
ZU1vZHVsZShzdGF0ZS5tb2R1bGUpOwogfQogCiB9IH0gLy8gbmFtZXNwYWNlIEpTQzo6RlRMCklu
ZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTEpJVENvZGUuaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTEpJVENvZGUuaAkocmV2aXNpb24gMTU3MTcy
KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExKSVRDb2RlLmgJKHdvcmtpbmcgY29w
eSkKQEAgLTMzLDcgKzMzLDcgQEAKICNpbmNsdWRlICJERkdDb21tb25EYXRhLmgiCiAjaW5jbHVk
ZSAiRlRMT1NSRXhpdC5oIgogI2luY2x1ZGUgIkpJVENvZGUuaCIKLSNpbmNsdWRlIDx3dGYvTExW
TUhlYWRlcnMuaD4KKyNpbmNsdWRlICJMTFZNQVBJLmgiCiAjaW5jbHVkZSA8d3RmL1JlZkNvdW50
ZWRBcnJheS5oPgogCiBuYW1lc3BhY2UgSlNDIHsgbmFtZXNwYWNlIEZUTCB7CkluZGV4OiBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTEpJVEZpbmFsaXplci5oCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMSklURmluYWxpemVyLmgJKHJldmlzaW9uIDE1NzE3
MikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMSklURmluYWxpemVyLmgJKHdvcmtp
bmcgY29weSkKQEAgLTMzLDkgKzMzLDkgQEAKICNpbmNsdWRlICJERkdGaW5hbGl6ZXIuaCIKICNp
bmNsdWRlICJGVExHZW5lcmF0ZWRGdW5jdGlvbi5oIgogI2luY2x1ZGUgIkZUTEpJVENvZGUuaCIK
KyNpbmNsdWRlICJMTFZNQVBJLmgiCiAjaW5jbHVkZSAiTGlua0J1ZmZlci5oIgogI2luY2x1ZGUg
Ik1hY3JvQXNzZW1ibGVyLmgiCi0jaW5jbHVkZSA8d3RmL0xMVk1IZWFkZXJzLmg+CiAKIG5hbWVz
cGFjZSBKU0MgeyBuYW1lc3BhY2UgRlRMIHsKIApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3Jl
L2Z0bC9GVExMaW5rLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRs
L0ZUTExpbmsuY3BwCShyZXZpc2lvbiAxNTcxNzIpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
ZnRsL0ZUTExpbmsuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zNSw5ICszNSw5IEBACiAjaW5jbHVk
ZSAiRlRMSklUQ29kZS5oIgogI2luY2x1ZGUgIkpJVE9wZXJhdGlvbnMuaCIKICNpbmNsdWRlICJK
SVRTdHVicy5oIgorI2luY2x1ZGUgIkxMVk1BUEkuaCIKICNpbmNsdWRlICJMaW5rQnVmZmVyLmgi
CiAjaW5jbHVkZSAiVmlydHVhbFJlZ2lzdGVyLmgiCi0jaW5jbHVkZSA8d3RmL0xMVk1IZWFkZXJz
Lmg+CiAKIG5hbWVzcGFjZSBKU0MgeyBuYW1lc3BhY2UgRlRMIHsKIApJbmRleDogU291cmNlL0ph
dmFTY3JpcHRDb3JlL2Z0bC9GVExMb3dlckRGR1RvTExWTS5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExMb3dlckRGR1RvTExWTS5jcHAJKHJldmlzaW9uIDE1
NzE3MikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMTG93ZXJERkdUb0xMVk0uY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC05MSw3ICs5MSw3IEBAIHB1YmxpYzoKICAgICAgICAgbV9ncmFw
aC5tX2RvbWluYXRvcnMuY29tcHV0ZUlmTmVjZXNzYXJ5KG1fZ3JhcGgpOwogICAgICAgICAKICAg
ICAgICAgbV9mdGxTdGF0ZS5tb2R1bGUgPQotICAgICAgICAgICAgTExWTU1vZHVsZUNyZWF0ZVdp
dGhOYW1lSW5Db250ZXh0KG5hbWUuZGF0YSgpLCBtX2Z0bFN0YXRlLmNvbnRleHQpOworICAgICAg
ICAgICAgbGx2bS0+TW9kdWxlQ3JlYXRlV2l0aE5hbWVJbkNvbnRleHQobmFtZS5kYXRhKCksIG1f
ZnRsU3RhdGUuY29udGV4dCk7CiAgICAgICAgIAogICAgICAgICBtX2Z0bFN0YXRlLmZ1bmN0aW9u
ID0gYWRkRnVuY3Rpb24oCiAgICAgICAgICAgICBtX2Z0bFN0YXRlLm1vZHVsZSwgbmFtZS5kYXRh
KCksIGZ1bmN0aW9uVHlwZShtX291dC5pbnQ2NCwgbV9vdXQuaW50UHRyKSk7CkluZGV4OiBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTE91dHB1dC5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L0phdmFTY3JpcHRDb3JlL2Z0bC9GVExPdXRwdXQuY3BwCShyZXZpc2lvbiAxNTcxNzIpCisrKyBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTE91dHB1dC5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTM0LDcgKzM0LDcgQEAgT3V0cHV0OjpPdXRwdXQoTENvbnRleHQgY29udGV4dCkKICAgICA6IElu
dHJpbnNpY1JlcG9zaXRvcnkoY29udGV4dCkKICAgICAsIG1fZnVuY3Rpb24oMCkKICAgICAsIG1f
aGVhcHMoMCkKLSAgICAsIG1fYnVpbGRlcihMTFZNQ3JlYXRlQnVpbGRlckluQ29udGV4dChtX2Nv
bnRleHQpKQorICAgICwgbV9idWlsZGVyKGxsdm0tPkNyZWF0ZUJ1aWxkZXJJbkNvbnRleHQobV9j
b250ZXh0KSkKICAgICAsIG1fYmxvY2soMCkKICAgICAsIG1fbmV4dEJsb2NrKDApCiB7CkBAIC00
Miw3ICs0Miw3IEBAIE91dHB1dDo6T3V0cHV0KExDb250ZXh0IGNvbnRleHQpCiAKIE91dHB1dDo6
fk91dHB1dCgpCiB7Ci0gICAgTExWTURpc3Bvc2VCdWlsZGVyKG1fYnVpbGRlcik7CisgICAgbGx2
bS0+RGlzcG9zZUJ1aWxkZXIobV9idWlsZGVyKTsKIH0KIAogfSB9IC8vIG5hbWVzcGFjZSBKU0M6
OkZUTApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExPdXRwdXQuaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTE91dHB1dC5oCShyZXZpc2lvbiAx
NTcxNzIpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTE91dHB1dC5oCSh3b3JraW5n
IGNvcHkpCkBAIC05NCw3ICs5NCw3IEBAIHB1YmxpYzoKICAgICB7CiAgICAgICAgIG1fYmxvY2sg
PSBibG9jazsKICAgICAgICAgCi0gICAgICAgIExMVk1Qb3NpdGlvbkJ1aWxkZXJBdEVuZChtX2J1
aWxkZXIsIGJsb2NrKTsKKyAgICAgICAgbGx2bS0+UG9zaXRpb25CdWlsZGVyQXRFbmQobV9idWls
ZGVyLCBibG9jayk7CiAgICAgfQogICAgIExCYXNpY0Jsb2NrIG5ld0Jsb2NrKGNvbnN0IGNoYXIq
IG5hbWUgPSAiIikKICAgICB7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTFN0
YXRlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTFN0YXRl
LmNwcAkocmV2aXNpb24gMTU3MTcyKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExT
dGF0ZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM5LDcgKzM5LDcgQEAgdXNpbmcgbmFtZXNwYWNl
IERGRzsKIAogU3RhdGU6OlN0YXRlKEdyYXBoJiBncmFwaCkKICAgICA6IGdyYXBoKGdyYXBoKQot
ICAgICwgY29udGV4dChMTFZNQ29udGV4dENyZWF0ZSgpKQorICAgICwgY29udGV4dChsbHZtLT5D
b250ZXh0Q3JlYXRlKCkpCiAgICAgLCBtb2R1bGUoMCkKICAgICAsIGZ1bmN0aW9uKDApCiAgICAg
LCBnZW5lcmF0ZWRGdW5jdGlvbigwKQpAQCAtNjcsNyArNjcsNyBAQCBTdGF0ZTo6U3RhdGUoR3Jh
cGgmIGdyYXBoKQogCiBTdGF0ZTo6flN0YXRlKCkKIHsKLSAgICBMTFZNQ29udGV4dERpc3Bvc2Uo
Y29udGV4dCk7CisgICAgbGx2bS0+Q29udGV4dERpc3Bvc2UoY29udGV4dCk7CiB9CiAKIHZvaWQg
U3RhdGU6OmR1bXBTdGF0ZShjb25zdCBjaGFyKiB3aGVuKQpJbmRleDogU291cmNlL0phdmFTY3Jp
cHRDb3JlL2Z0bC9XZWJLaXRMTFZNTGlicmFyeUFuY2hvci5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9XZWJLaXRMTFZNTGlicmFyeUFuY2hvci5jcHAJKHJldmlz
aW9uIDE1NzE3MikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvV2ViS2l0TExWTUxpYnJh
cnlBbmNob3IuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xLDM0ICswLDAgQEAKLS8qCi0gKiBDb3B5
cmlnaHQgKEMpIDIwMTMgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25z
IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgot
ICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycg
QU5EIEFOWQotICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLCBUSEUKLSAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKLSAqIENPTlRSSUJVVE9SUyBC
RSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAot
ICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLAotICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCi0gKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCi0gKiBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCi0gKi8KLQotI2luY2x1ZGUgImNvbmZpZy5oIgot
Ci0jaWYgRU5BQkxFKEZUTF9KSVQpCi0vLyBUaGlzIGlzIGEgaGFjayBmb3IgZW5zdXJpbmcgdGhh
dCB0aGUgYnVpbGQgc3lzdGVtIHJlbGlua3MgSmF2YVNjcmlwdENvcmUgaWYgYW55Ci0vLyBvZiB0
aGUgTExWTSBsaWJyYXJpZXMgYXJlIGtub3duIHRvIGhhdmUgY2hhbmdlZC4KLSNpbmNsdWRlICJX
ZWJLaXRMTFZNTGlicmFyeVRva2VuLmgiCi0KLSNlbmRpZgotCkluZGV4OiBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGx2bS9Jbml0aWFsaXplTExWTS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsdm0vSW5pdGlhbGl6ZUxMVk0uY3BwCShyZXZpc2lvbiAwKQorKysgU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsdm0vSW5pdGlhbGl6ZUxMVk0uY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC0wLDAgKzEsNDUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTMgQXBwbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBh
cmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElN
UExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFS
VElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQ
UExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1F
TlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9S
CisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4g
CisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIkluaXRpYWxpemVMTFZNLmgi
CisKKyNpZiBIQVZFKExMVk0pCisKKyNpbmNsdWRlIDx3dGYvVGhyZWFkaW5nLmg+CisKK25hbWVz
cGFjZSBKU0MgeworCitzdGF0aWMgcHRocmVhZF9vbmNlX3QgaW5pdGlhbGl6ZUxMVk1PbmNlS2V5
ID0gUFRIUkVBRF9PTkNFX0lOSVQ7CisKK3ZvaWQgaW5pdGlhbGl6ZUxMVk0oKQoreworICAgIHB0
aHJlYWRfb25jZSgmaW5pdGlhbGl6ZUxMVk1PbmNlS2V5LCBpbml0aWFsaXplTExWTUltcGwpOwor
fQorCit9IC8vIG5hbWVzcGFjZSBKU0MKKworI2VuZGlmIC8vIEhBVkUoTExWTSkKKwpJbmRleDog
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsdm0vSW5pdGlhbGl6ZUxMVk0uaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvbGx2bS9Jbml0aWFsaXplTExWTS5oCShyZXZpc2lvbiAw
KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2xsdm0vSW5pdGlhbGl6ZUxMVk0uaAkod29ya2lu
ZyBjb3B5KQpAQCAtMCwwICsxLDQ0IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEzIEFwcGxl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1Mg
T1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhF
CisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZP
UiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBT
SEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBS
T0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBE
QVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuIAorICovCisKKyNpZm5kZWYgSW5pdGlhbGl6ZUxMVk1faAorI2RlZmluZSBJbml0aWFs
aXplTExWTV9oCisKKyNpbmNsdWRlIDx3dGYvUGxhdGZvcm0uaD4KKworI2lmIEhBVkUoTExWTSkK
KworbmFtZXNwYWNlIEpTQyB7CisKK3ZvaWQgaW5pdGlhbGl6ZUxMVk1JbXBsKCk7CisKK3ZvaWQg
aW5pdGlhbGl6ZUxMVk0oKTsgLy8gSXQncyBzYWZlIHRvIGNhbGwgdGhpcyBtdWx0aXBsZSB0aW1l
cy4KKworfSAvLyBuYW1lc3BhY2UgSlNDCisKKyNlbmRpZiAvLyBIQVZFKExMVk0pCisKKyNlbmRp
ZiAvLyBJbml0aWFsaXplTExWTV9oCisKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbHZt
L0luaXRpYWxpemVMTFZNTWFjLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbHZtL0luaXRpYWxpemVMTFZNTWFjLm1tCShyZXZpc2lvbiAwKQorKysgU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsdm0vSW5pdGlhbGl6ZUxMVk1NYWMubW0JKHdvcmtpbmcgY29weSkKQEAgLTAs
MCArMSw1NiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMyBBcHBsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6
CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
CisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5D
LiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBS
T0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkg
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKyAqLwor
CisjaW1wb3J0ICJjb25maWcuaCIKKyNpbXBvcnQgIkluaXRpYWxpemVMTFZNLmgiCisKKyNpZiBI
QVZFKExMVk0pCisKKyNpbXBvcnQgIkluaXRpYWxpemVMTFZNUE9TSVguaCIKKyNpbXBvcnQgPEZv
dW5kYXRpb24vRm91bmRhdGlvbi5oPgorI2ltcG9ydCA8d3RmL0RhdGFMb2cuaD4KKyNpbXBvcnQg
PHd0Zi9TdHJpbmdQcmludFN0cmVhbS5oPgorI2ltcG9ydCA8d3RmL3RleHQvV1RGU3RyaW5nLmg+
CisKK0BpbnRlcmZhY2UgSlNDTExWTUR1bW15IDogTlNPYmplY3QKK0BlbmQKKworQGltcGxlbWVu
dGF0aW9uIEpTQ0xMVk1EdW1teSB7Cit9CitAZW5kCisKK25hbWVzcGFjZSBKU0MgeworCit2b2lk
IGluaXRpYWxpemVMTFZNSW1wbCgpCit7CisgICAgTlNCdW5kbGUqIG15QnVuZGxlID0gW05TQnVu
ZGxlIGJ1bmRsZUZvckNsYXNzOltKU0NMTFZNRHVtbXkgY2xhc3NdXTsKKyAgICBOU1N0cmluZyog
cGF0aCA9IFtteUJ1bmRsZSBidW5kbGVQYXRoXTsKKyAgICAKKyAgICBpbml0aWFsaXplTExWTVBP
U0lYKHRvQ1N0cmluZyhbcGF0aCBVVEY4U3RyaW5nXSwgIi9MaWJyYXJpZXMvbGlibGx2bUZvckpT
Qy5keWxpYiIpLmRhdGEoKSk7Cit9CisKK30gLy8gbmFtZXNwYWNlIEpTQworCisjZW5kaWYgLy8g
SEFWRShMTFZNKQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2xsdm0vSW5pdGlhbGl6ZUxM
Vk1QT1NJWC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2xsdm0vSW5p
dGlhbGl6ZUxMVk1QT1NJWC5jcHAJKHJldmlzaW9uIDApCisrKyBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGx2bS9Jbml0aWFsaXplTExWTVBPU0lYLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsx
LDUzIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEzIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAq
IDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQor
ICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQ
UExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAq
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9S
CisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklU
UzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRI
RU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorICovCisKKyNp
bmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJJbml0aWFsaXplTExWTVBPU0lYLmgiCisKKyNp
ZiBIQVZFKExMVk0pCisKKyNpbmNsdWRlICJMTFZNQVBJLmgiCisjaW5jbHVkZSA8ZGxmY24uaD4K
KworbmFtZXNwYWNlIEpTQyB7CisKK3R5cGVkZWYgTExWTUFQSSogKCpJbml0aWFsaXplckZ1bmN0
aW9uKSgpOworCit2b2lkIGluaXRpYWxpemVMTFZNUE9TSVgoY29uc3QgY2hhciogbGlicmFyeU5h
bWUpCit7CisgICAgdm9pZCogbGlicmFyeSA9IGRsb3BlbihsaWJyYXJ5TmFtZSwgUlRMRF9OT1cp
OworICAgIEFTU0VSVF9XSVRIX01FU1NBR0UobGlicmFyeSwgIiVzIiwgZGxlcnJvcigpKTsKKyAg
ICAKKyAgICBJbml0aWFsaXplckZ1bmN0aW9uIGluaXRpYWxpemVyID0gYml0d2lzZV9jYXN0PElu
aXRpYWxpemVyRnVuY3Rpb24+KAorICAgICAgICBkbHN5bShsaWJyYXJ5LCAiaW5pdGlhbGl6ZUFu
ZEdldEpTQ0xMVk1BUEkiKSk7CisgICAgQVNTRVJUX1dJVEhfTUVTU0FHRShpbml0aWFsaXplciwg
IiVzIiwgZGxlcnJvcigpKTsKKyAgICAKKyAgICBsbHZtID0gaW5pdGlhbGl6ZXIoKTsKK30KKwor
fSAvLyBuYW1lc3BhY2UgSlNDCisKKyNlbmRpZiAvLyBIQVZFKExMVk0pCisKSW5kZXg6IFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbHZtL0luaXRpYWxpemVMTFZNUE9TSVguaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvbGx2bS9Jbml0aWFsaXplTExWTVBPU0lYLmgJKHJldmlz
aW9uIDApCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvbGx2bS9Jbml0aWFsaXplTExWTVBPU0lY
LmgJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw0MiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykg
MjAxMyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cisg
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4g
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisg
KiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4g
Tk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExB
UlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
CisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLiAKKyAqLworCisjaWZuZGVmIEluaXRpYWxpemVMTFZNUE9TSVhfaAor
I2RlZmluZSBJbml0aWFsaXplTExWTVBPU0lYX2gKKworI2luY2x1ZGUgPHd0Zi9QbGF0Zm9ybS5o
PgorCisjaWYgSEFWRShMTFZNKQorCituYW1lc3BhY2UgSlNDIHsKKwordm9pZCBpbml0aWFsaXpl
TExWTVBPU0lYKGNvbnN0IGNoYXIqIGxpYnJhcnlOYW1lKTsKKworfSAvLyBuYW1lc3BhY2UgSlND
CisKKyNlbmRpZiAvLyBIQVZFKExMVk0pCisKKyNlbmRpZiAvLyBJbml0aWFsaXplTExWTVBPU0lY
X2gKKwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2xsdm0vTExWTUFQSS5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2xsdm0vTExWTUFQSS5jcHAJKHJldmlzaW9u
IDApCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvbGx2bS9MTFZNQVBJLmNwcAkod29ya2luZyBj
b3B5KQpAQCAtMCwwICsxLDM0IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEzIEFwcGxlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwor
ICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1Ig
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisg
KiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBB
IFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFM
TCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VR
VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NV
UkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRB
LCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuIAorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJMTFZNQVBJLmgiCisK
K25hbWVzcGFjZSBKU0MgeworCitMTFZNQVBJKiBsbHZtOworCit9CisKSW5kZXg6IFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbHZtL0xMVk1BUEkuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGx2bS9MTFZNQVBJLmgJKHJldmlzaW9uIDApCisrKyBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGx2bS9MTFZNQVBJLmgJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw0NiBAQAorLyoK
KyAqIENvcHlyaWdodCAoQykgMjAxMyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisg
KgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBg
QVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1F
UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFS
RSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJ
QlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQ
RUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lO
RVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9S
VAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKyAqLworCisjaWZuZGVmIExMVk1B
UElfaAorI2RlZmluZSBMTFZNQVBJX2gKKworI2luY2x1ZGUgIkxMVk1BUElGdW5jdGlvbnMuaCIK
KyNpbmNsdWRlICJMTFZNSGVhZGVycy5oIgorCituYW1lc3BhY2UgSlNDIHsKKworc3RydWN0IExM
Vk1BUEkgeworI2RlZmluZSBMTFZNX0FQSV9GVU5DVElPTl9ERUNMQVJBVElPTihyZXR1cm5UeXBl
LCBuYW1lLCBzaWduYXR1cmUpIFwKKyAgICByZXR1cm5UeXBlICgqbmFtZSkgc2lnbmF0dXJlOwor
ICAgIEZPUl9FQUNIX0xMVk1fQVBJX0ZVTkNUSU9OKExMVk1fQVBJX0ZVTkNUSU9OX0RFQ0xBUkFU
SU9OKQorI3VuZGVmIExMVk1fQVBJX0ZVTkNUSU9OX0RFQ0xBUkFUSU9OCit9OworCitleHRlcm4g
TExWTUFQSSogbGx2bTsKKworfSAvLyBuYW1lc3BhY2UgSlNDCisKKyNlbmRpZiAvLyBMTFZNQVBJ
X2gKKwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2xsdm0vTExWTUFQSUZ1bmN0aW9ucy5o
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbHZtL0xMVk1BUElGdW5jdGlv
bnMuaAkocmV2aXNpb24gMCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbHZtL0xMVk1BUElG
dW5jdGlvbnMuaAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDYzNiBAQAorLyoKKyAqIENvcHly
aWdodCAoQykgMjAxMyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisg
KgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBB
TkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJF
IExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisg
KiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKyAqLworCisjaWZuZGVmIExMVk1BUElGdW5jdGlv
bnNfaAorI2RlZmluZSBMTFZNQVBJRnVuY3Rpb25zX2gKKworI2luY2x1ZGUgIkxMVk1IZWFkZXJz
LmgiCisKKyNkZWZpbmUgRk9SX0VBQ0hfTExWTV9BUElfRlVOQ1RJT04obWFjcm8pIFwKKyAgICBt
YWNybyh2b2lkICwgSW5pdGlhbGl6ZUNvcmUsIChMTFZNUGFzc1JlZ2lzdHJ5UmVmIFIpKSBcCisg
ICAgbWFjcm8odm9pZCAsIFNodXRkb3duLCAoKSkgXAorICAgIG1hY3JvKGNoYXIgKiwgQ3JlYXRl
TWVzc2FnZSwgKGNvbnN0IGNoYXIgKk1lc3NhZ2UpKSBcCisgICAgbWFjcm8odm9pZCAsIERpc3Bv
c2VNZXNzYWdlLCAoY2hhciAqTWVzc2FnZSkpIFwKKyAgICBtYWNybyhMTFZNQ29udGV4dFJlZiAs
IENvbnRleHRDcmVhdGUsICh2b2lkKSkgXAorICAgIG1hY3JvKExMVk1Db250ZXh0UmVmICwgR2V0
R2xvYmFsQ29udGV4dCwgKHZvaWQpKSBcCisgICAgbWFjcm8odm9pZCAsIENvbnRleHREaXNwb3Nl
LCAoTExWTUNvbnRleHRSZWYgQykpIFwKKyAgICBtYWNybyh1bnNpZ25lZCAsIEdldE1ES2luZElE
SW5Db250ZXh0LCAoTExWTUNvbnRleHRSZWYgQywgY29uc3QgY2hhciogTmFtZSwgdW5zaWduZWQg
U0xlbikpIFwKKyAgICBtYWNybyh1bnNpZ25lZCAsIEdldE1ES2luZElELCAoY29uc3QgY2hhciog
TmFtZSwgdW5zaWduZWQgU0xlbikpIFwKKyAgICBtYWNybyhMTFZNTW9kdWxlUmVmICwgTW9kdWxl
Q3JlYXRlV2l0aE5hbWUsIChjb25zdCBjaGFyICpNb2R1bGVJRCkpIFwKKyAgICBtYWNybyhMTFZN
TW9kdWxlUmVmICwgTW9kdWxlQ3JlYXRlV2l0aE5hbWVJbkNvbnRleHQsIChjb25zdCBjaGFyICpN
b2R1bGVJRCwgTExWTUNvbnRleHRSZWYgQykpIFwKKyAgICBtYWNybyh2b2lkICwgRGlzcG9zZU1v
ZHVsZSwgKExMVk1Nb2R1bGVSZWYgTSkpIFwKKyAgICBtYWNybyhjb25zdCBjaGFyICosIEdldERh
dGFMYXlvdXQsIChMTFZNTW9kdWxlUmVmIE0pKSBcCisgICAgbWFjcm8odm9pZCAsIFNldERhdGFM
YXlvdXQsIChMTFZNTW9kdWxlUmVmIE0sIGNvbnN0IGNoYXIgKlRyaXBsZSkpIFwKKyAgICBtYWNy
byhjb25zdCBjaGFyICosIEdldFRhcmdldCwgKExMVk1Nb2R1bGVSZWYgTSkpIFwKKyAgICBtYWNy
byh2b2lkICwgU2V0VGFyZ2V0LCAoTExWTU1vZHVsZVJlZiBNLCBjb25zdCBjaGFyICpUcmlwbGUp
KSBcCisgICAgbWFjcm8odm9pZCAsIER1bXBNb2R1bGUsIChMTFZNTW9kdWxlUmVmIE0pKSBcCisg
ICAgbWFjcm8oTExWTUJvb2wgLCBQcmludE1vZHVsZVRvRmlsZSwgKExMVk1Nb2R1bGVSZWYgTSwg
Y29uc3QgY2hhciAqRmlsZW5hbWUsIGNoYXIgKipFcnJvck1lc3NhZ2UpKSBcCisgICAgbWFjcm8o
dm9pZCAsIFNldE1vZHVsZUlubGluZUFzbSwgKExMVk1Nb2R1bGVSZWYgTSwgY29uc3QgY2hhciAq
QXNtKSkgXAorICAgIG1hY3JvKExMVk1Db250ZXh0UmVmICwgR2V0TW9kdWxlQ29udGV4dCwgKExM
Vk1Nb2R1bGVSZWYgTSkpIFwKKyAgICBtYWNybyhMTFZNVHlwZVJlZiAsIEdldFR5cGVCeU5hbWUs
IChMTFZNTW9kdWxlUmVmIE0sIGNvbnN0IGNoYXIgKk5hbWUpKSBcCisgICAgbWFjcm8odW5zaWdu
ZWQgLCBHZXROYW1lZE1ldGFkYXRhTnVtT3BlcmFuZHMsIChMTFZNTW9kdWxlUmVmIE0sIGNvbnN0
IGNoYXIqIG5hbWUpKSBcCisgICAgbWFjcm8odm9pZCAsIEdldE5hbWVkTWV0YWRhdGFPcGVyYW5k
cywgKExMVk1Nb2R1bGVSZWYgTSwgY29uc3QgY2hhciogbmFtZSwgTExWTVZhbHVlUmVmICpEZXN0
KSkgXAorICAgIG1hY3JvKHZvaWQgLCBBZGROYW1lZE1ldGFkYXRhT3BlcmFuZCwgKExMVk1Nb2R1
bGVSZWYgTSwgY29uc3QgY2hhciogbmFtZSwgTExWTVZhbHVlUmVmIFZhbCkpIFwKKyAgICBtYWNy
byhMTFZNVmFsdWVSZWYgLCBBZGRGdW5jdGlvbiwgKExMVk1Nb2R1bGVSZWYgTSwgY29uc3QgY2hh
ciAqTmFtZSwgTExWTVR5cGVSZWYgRnVuY3Rpb25UeSkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVS
ZWYgLCBHZXROYW1lZEZ1bmN0aW9uLCAoTExWTU1vZHVsZVJlZiBNLCBjb25zdCBjaGFyICpOYW1l
KSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiAsIEdldEZpcnN0RnVuY3Rpb24sIChMTFZNTW9k
dWxlUmVmIE0pKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmICwgR2V0TGFzdEZ1bmN0aW9uLCAo
TExWTU1vZHVsZVJlZiBNKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiAsIEdldE5leHRGdW5j
dGlvbiwgKExMVk1WYWx1ZVJlZiBGbikpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYgLCBHZXRQ
cmV2aW91c0Z1bmN0aW9uLCAoTExWTVZhbHVlUmVmIEZuKSkgXAorICAgIG1hY3JvKExMVk1UeXBl
S2luZCAsIEdldFR5cGVLaW5kLCAoTExWTVR5cGVSZWYgVHkpKSBcCisgICAgbWFjcm8oTExWTUJv
b2wgLCBUeXBlSXNTaXplZCwgKExMVk1UeXBlUmVmIFR5KSkgXAorICAgIG1hY3JvKExMVk1Db250
ZXh0UmVmICwgR2V0VHlwZUNvbnRleHQsIChMTFZNVHlwZVJlZiBUeSkpIFwKKyAgICBtYWNybyhM
TFZNVHlwZVJlZiAsIEludDFUeXBlSW5Db250ZXh0LCAoTExWTUNvbnRleHRSZWYgQykpIFwKKyAg
ICBtYWNybyhMTFZNVHlwZVJlZiAsIEludDhUeXBlSW5Db250ZXh0LCAoTExWTUNvbnRleHRSZWYg
QykpIFwKKyAgICBtYWNybyhMTFZNVHlwZVJlZiAsIEludDE2VHlwZUluQ29udGV4dCwgKExMVk1D
b250ZXh0UmVmIEMpKSBcCisgICAgbWFjcm8oTExWTVR5cGVSZWYgLCBJbnQzMlR5cGVJbkNvbnRl
eHQsIChMTFZNQ29udGV4dFJlZiBDKSkgXAorICAgIG1hY3JvKExMVk1UeXBlUmVmICwgSW50NjRU
eXBlSW5Db250ZXh0LCAoTExWTUNvbnRleHRSZWYgQykpIFwKKyAgICBtYWNybyhMTFZNVHlwZVJl
ZiAsIEludFR5cGVJbkNvbnRleHQsIChMTFZNQ29udGV4dFJlZiBDLCB1bnNpZ25lZCBOdW1CaXRz
KSkgXAorICAgIG1hY3JvKExMVk1UeXBlUmVmICwgSW50MVR5cGUsICh2b2lkKSkgXAorICAgIG1h
Y3JvKExMVk1UeXBlUmVmICwgSW50OFR5cGUsICh2b2lkKSkgXAorICAgIG1hY3JvKExMVk1UeXBl
UmVmICwgSW50MTZUeXBlLCAodm9pZCkpIFwKKyAgICBtYWNybyhMTFZNVHlwZVJlZiAsIEludDMy
VHlwZSwgKHZvaWQpKSBcCisgICAgbWFjcm8oTExWTVR5cGVSZWYgLCBJbnQ2NFR5cGUsICh2b2lk
KSkgXAorICAgIG1hY3JvKExMVk1UeXBlUmVmICwgSW50VHlwZSwgKHVuc2lnbmVkIE51bUJpdHMp
KSBcCisgICAgbWFjcm8odW5zaWduZWQgLCBHZXRJbnRUeXBlV2lkdGgsIChMTFZNVHlwZVJlZiBJ
bnRlZ2VyVHkpKSBcCisgICAgbWFjcm8oTExWTVR5cGVSZWYgLCBIYWxmVHlwZUluQ29udGV4dCwg
KExMVk1Db250ZXh0UmVmIEMpKSBcCisgICAgbWFjcm8oTExWTVR5cGVSZWYgLCBGbG9hdFR5cGVJ
bkNvbnRleHQsIChMTFZNQ29udGV4dFJlZiBDKSkgXAorICAgIG1hY3JvKExMVk1UeXBlUmVmICwg
RG91YmxlVHlwZUluQ29udGV4dCwgKExMVk1Db250ZXh0UmVmIEMpKSBcCisgICAgbWFjcm8oTExW
TVR5cGVSZWYgLCBYODZGUDgwVHlwZUluQ29udGV4dCwgKExMVk1Db250ZXh0UmVmIEMpKSBcCisg
ICAgbWFjcm8oTExWTVR5cGVSZWYgLCBGUDEyOFR5cGVJbkNvbnRleHQsIChMTFZNQ29udGV4dFJl
ZiBDKSkgXAorICAgIG1hY3JvKExMVk1UeXBlUmVmICwgUFBDRlAxMjhUeXBlSW5Db250ZXh0LCAo
TExWTUNvbnRleHRSZWYgQykpIFwKKyAgICBtYWNybyhMTFZNVHlwZVJlZiAsIEhhbGZUeXBlLCAo
dm9pZCkpIFwKKyAgICBtYWNybyhMTFZNVHlwZVJlZiAsIEZsb2F0VHlwZSwgKHZvaWQpKSBcCisg
ICAgbWFjcm8oTExWTVR5cGVSZWYgLCBEb3VibGVUeXBlLCAodm9pZCkpIFwKKyAgICBtYWNybyhM
TFZNVHlwZVJlZiAsIFg4NkZQODBUeXBlLCAodm9pZCkpIFwKKyAgICBtYWNybyhMTFZNVHlwZVJl
ZiAsIEZQMTI4VHlwZSwgKHZvaWQpKSBcCisgICAgbWFjcm8oTExWTVR5cGVSZWYgLCBQUENGUDEy
OFR5cGUsICh2b2lkKSkgXAorICAgIG1hY3JvKExMVk1UeXBlUmVmICwgRnVuY3Rpb25UeXBlLCAo
TExWTVR5cGVSZWYgUmV0dXJuVHlwZSwgTExWTVR5cGVSZWYgKlBhcmFtVHlwZXMsIHVuc2lnbmVk
IFBhcmFtQ291bnQsIExMVk1Cb29sIElzVmFyQXJnKSkgXAorICAgIG1hY3JvKExMVk1Cb29sICwg
SXNGdW5jdGlvblZhckFyZywgKExMVk1UeXBlUmVmIEZ1bmN0aW9uVHkpKSBcCisgICAgbWFjcm8o
TExWTVR5cGVSZWYgLCBHZXRSZXR1cm5UeXBlLCAoTExWTVR5cGVSZWYgRnVuY3Rpb25UeSkpIFwK
KyAgICBtYWNybyh1bnNpZ25lZCAsIENvdW50UGFyYW1UeXBlcywgKExMVk1UeXBlUmVmIEZ1bmN0
aW9uVHkpKSBcCisgICAgbWFjcm8odm9pZCAsIEdldFBhcmFtVHlwZXMsIChMTFZNVHlwZVJlZiBG
dW5jdGlvblR5LCBMTFZNVHlwZVJlZiAqRGVzdCkpIFwKKyAgICBtYWNybyhMTFZNVHlwZVJlZiAs
IFN0cnVjdFR5cGVJbkNvbnRleHQsIChMTFZNQ29udGV4dFJlZiBDLCBMTFZNVHlwZVJlZiAqRWxl
bWVudFR5cGVzLCB1bnNpZ25lZCBFbGVtZW50Q291bnQsIExMVk1Cb29sIFBhY2tlZCkpIFwKKyAg
ICBtYWNybyhMTFZNVHlwZVJlZiAsIFN0cnVjdFR5cGUsIChMTFZNVHlwZVJlZiAqRWxlbWVudFR5
cGVzLCB1bnNpZ25lZCBFbGVtZW50Q291bnQsIExMVk1Cb29sIFBhY2tlZCkpIFwKKyAgICBtYWNy
byhMTFZNVHlwZVJlZiAsIFN0cnVjdENyZWF0ZU5hbWVkLCAoTExWTUNvbnRleHRSZWYgQywgY29u
c3QgY2hhciAqTmFtZSkpIFwKKyAgICBtYWNybyhjb25zdCBjaGFyICosIEdldFN0cnVjdE5hbWUs
IChMTFZNVHlwZVJlZiBUeSkpIFwKKyAgICBtYWNybyh2b2lkICwgU3RydWN0U2V0Qm9keSwgKExM
Vk1UeXBlUmVmIFN0cnVjdFR5LCBMTFZNVHlwZVJlZiAqRWxlbWVudFR5cGVzLCB1bnNpZ25lZCBF
bGVtZW50Q291bnQsIExMVk1Cb29sIFBhY2tlZCkpIFwKKyAgICBtYWNybyh1bnNpZ25lZCAsIENv
dW50U3RydWN0RWxlbWVudFR5cGVzLCAoTExWTVR5cGVSZWYgU3RydWN0VHkpKSBcCisgICAgbWFj
cm8odm9pZCAsIEdldFN0cnVjdEVsZW1lbnRUeXBlcywgKExMVk1UeXBlUmVmIFN0cnVjdFR5LCBM
TFZNVHlwZVJlZiAqRGVzdCkpIFwKKyAgICBtYWNybyhMTFZNQm9vbCAsIElzUGFja2VkU3RydWN0
LCAoTExWTVR5cGVSZWYgU3RydWN0VHkpKSBcCisgICAgbWFjcm8oTExWTUJvb2wgLCBJc09wYXF1
ZVN0cnVjdCwgKExMVk1UeXBlUmVmIFN0cnVjdFR5KSkgXAorICAgIG1hY3JvKExMVk1UeXBlUmVm
ICwgR2V0RWxlbWVudFR5cGUsIChMTFZNVHlwZVJlZiBUeSkpIFwKKyAgICBtYWNybyhMTFZNVHlw
ZVJlZiAsIEFycmF5VHlwZSwgKExMVk1UeXBlUmVmIEVsZW1lbnRUeXBlLCB1bnNpZ25lZCBFbGVt
ZW50Q291bnQpKSBcCisgICAgbWFjcm8odW5zaWduZWQgLCBHZXRBcnJheUxlbmd0aCwgKExMVk1U
eXBlUmVmIEFycmF5VHkpKSBcCisgICAgbWFjcm8oTExWTVR5cGVSZWYgLCBQb2ludGVyVHlwZSwg
KExMVk1UeXBlUmVmIEVsZW1lbnRUeXBlLCB1bnNpZ25lZCBBZGRyZXNzU3BhY2UpKSBcCisgICAg
bWFjcm8odW5zaWduZWQgLCBHZXRQb2ludGVyQWRkcmVzc1NwYWNlLCAoTExWTVR5cGVSZWYgUG9p
bnRlclR5KSkgXAorICAgIG1hY3JvKExMVk1UeXBlUmVmICwgVmVjdG9yVHlwZSwgKExMVk1UeXBl
UmVmIEVsZW1lbnRUeXBlLCB1bnNpZ25lZCBFbGVtZW50Q291bnQpKSBcCisgICAgbWFjcm8odW5z
aWduZWQgLCBHZXRWZWN0b3JTaXplLCAoTExWTVR5cGVSZWYgVmVjdG9yVHkpKSBcCisgICAgbWFj
cm8oTExWTVR5cGVSZWYgLCBWb2lkVHlwZUluQ29udGV4dCwgKExMVk1Db250ZXh0UmVmIEMpKSBc
CisgICAgbWFjcm8oTExWTVR5cGVSZWYgLCBMYWJlbFR5cGVJbkNvbnRleHQsIChMTFZNQ29udGV4
dFJlZiBDKSkgXAorICAgIG1hY3JvKExMVk1UeXBlUmVmICwgWDg2TU1YVHlwZUluQ29udGV4dCwg
KExMVk1Db250ZXh0UmVmIEMpKSBcCisgICAgbWFjcm8oTExWTVR5cGVSZWYgLCBWb2lkVHlwZSwg
KHZvaWQpKSBcCisgICAgbWFjcm8oTExWTVR5cGVSZWYgLCBMYWJlbFR5cGUsICh2b2lkKSkgXAor
ICAgIG1hY3JvKExMVk1UeXBlUmVmICwgWDg2TU1YVHlwZSwgKHZvaWQpKSBcCisgICAgbWFjcm8o
TExWTVR5cGVSZWYgLCBUeXBlT2YsIChMTFZNVmFsdWVSZWYgVmFsKSkgXAorICAgIG1hY3JvKGNv
bnN0IGNoYXIgKiwgR2V0VmFsdWVOYW1lLCAoTExWTVZhbHVlUmVmIFZhbCkpIFwKKyAgICBtYWNy
byh2b2lkICwgU2V0VmFsdWVOYW1lLCAoTExWTVZhbHVlUmVmIFZhbCwgY29uc3QgY2hhciAqTmFt
ZSkpIFwKKyAgICBtYWNybyh2b2lkICwgRHVtcFZhbHVlLCAoTExWTVZhbHVlUmVmIFZhbCkpIFwK
KyAgICBtYWNybyh2b2lkICwgUmVwbGFjZUFsbFVzZXNXaXRoLCAoTExWTVZhbHVlUmVmIE9sZFZh
bCwgTExWTVZhbHVlUmVmIE5ld1ZhbCkpIFwKKyAgICBtYWNybyhMTFZNQm9vbCAsIElzQ29uc3Rh
bnQsIChMTFZNVmFsdWVSZWYgVmFsKSkgXAorICAgIG1hY3JvKExMVk1Cb29sICwgSXNVbmRlZiwg
KExMVk1WYWx1ZVJlZiBWYWwpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmICwgSXNBQXJndW1l
bnQsIChMTFZNVmFsdWVSZWYgVmFsKSkgXAorICAgIG1hY3JvKCBMTFZNVmFsdWVSZWYgLCBJc0FC
YXNpY0Jsb2NrLCAoTExWTVZhbHVlUmVmIFZhbCkpIFwKKyAgICBtYWNybyggTExWTVZhbHVlUmVm
ICwgSXNBSW5saW5lQXNtLCAoTExWTVZhbHVlUmVmIFZhbCkpIFwKKyAgICBtYWNybyggTExWTVZh
bHVlUmVmICwgSXNBTUROb2RlLCAoTExWTVZhbHVlUmVmIFZhbCkpIFwKKyAgICBtYWNybyggTExW
TVZhbHVlUmVmICwgSXNBTURTdHJpbmcsIChMTFZNVmFsdWVSZWYgVmFsKSkgXAorICAgIG1hY3Jv
KCBMTFZNVmFsdWVSZWYgLCBJc0FVc2VyLCAoTExWTVZhbHVlUmVmIFZhbCkpIFwKKyAgICBtYWNy
byggTExWTVZhbHVlUmVmICwgSXNBQ29uc3RhbnQsIChMTFZNVmFsdWVSZWYgVmFsKSkgXAorICAg
IG1hY3JvKCBMTFZNVmFsdWVSZWYgLCBJc0FCbG9ja0FkZHJlc3MsIChMTFZNVmFsdWVSZWYgVmFs
KSkgXAorICAgIG1hY3JvKCBMTFZNVmFsdWVSZWYgLCBJc0FDb25zdGFudEFnZ3JlZ2F0ZVplcm8s
IChMTFZNVmFsdWVSZWYgVmFsKSkgXAorICAgIG1hY3JvKCBMTFZNVmFsdWVSZWYgLCBJc0FDb25z
dGFudEFycmF5LCAoTExWTVZhbHVlUmVmIFZhbCkpIFwKKyAgICBtYWNybyggTExWTVZhbHVlUmVm
ICwgSXNBQ29uc3RhbnRFeHByLCAoTExWTVZhbHVlUmVmIFZhbCkpIFwKKyAgICBtYWNybyggTExW
TVZhbHVlUmVmICwgSXNBQ29uc3RhbnRGUCwgKExMVk1WYWx1ZVJlZiBWYWwpKSBcCisgICAgbWFj
cm8oIExMVk1WYWx1ZVJlZiAsIElzQUNvbnN0YW50SW50LCAoTExWTVZhbHVlUmVmIFZhbCkpIFwK
KyAgICBtYWNybyggTExWTVZhbHVlUmVmICwgSXNBQ29uc3RhbnRQb2ludGVyTnVsbCwgKExMVk1W
YWx1ZVJlZiBWYWwpKSBcCisgICAgbWFjcm8oIExMVk1WYWx1ZVJlZiAsIElzQUNvbnN0YW50U3Ry
dWN0LCAoTExWTVZhbHVlUmVmIFZhbCkpIFwKKyAgICBtYWNybyggTExWTVZhbHVlUmVmICwgSXNB
Q29uc3RhbnRWZWN0b3IsIChMTFZNVmFsdWVSZWYgVmFsKSkgXAorICAgIG1hY3JvKCBMTFZNVmFs
dWVSZWYgLCBJc0FHbG9iYWxWYWx1ZSwgKExMVk1WYWx1ZVJlZiBWYWwpKSBcCisgICAgbWFjcm8o
IExMVk1WYWx1ZVJlZiAsIElzQUZ1bmN0aW9uLCAoTExWTVZhbHVlUmVmIFZhbCkpIFwKKyAgICBt
YWNybyggTExWTVZhbHVlUmVmICwgSXNBR2xvYmFsQWxpYXMsIChMTFZNVmFsdWVSZWYgVmFsKSkg
XAorICAgIG1hY3JvKCBMTFZNVmFsdWVSZWYgLCBJc0FHbG9iYWxWYXJpYWJsZSwgKExMVk1WYWx1
ZVJlZiBWYWwpKSBcCisgICAgbWFjcm8oIExMVk1WYWx1ZVJlZiAsIElzQVVuZGVmVmFsdWUsIChM
TFZNVmFsdWVSZWYgVmFsKSkgXAorICAgIG1hY3JvKCBMTFZNVmFsdWVSZWYgLCBJc0FJbnN0cnVj
dGlvbiwgKExMVk1WYWx1ZVJlZiBWYWwpKSBcCisgICAgbWFjcm8oIExMVk1WYWx1ZVJlZiAsIElz
QUJpbmFyeU9wZXJhdG9yLCAoTExWTVZhbHVlUmVmIFZhbCkpIFwKKyAgICBtYWNybyggTExWTVZh
bHVlUmVmICwgSXNBQ2FsbEluc3QsIChMTFZNVmFsdWVSZWYgVmFsKSkgXAorICAgIG1hY3JvKCBM
TFZNVmFsdWVSZWYgLCBJc0FJbnRyaW5zaWNJbnN0LCAoTExWTVZhbHVlUmVmIFZhbCkpIFwKKyAg
ICBtYWNybyggTExWTVZhbHVlUmVmICwgSXNBRGJnSW5mb0ludHJpbnNpYywgKExMVk1WYWx1ZVJl
ZiBWYWwpKSBcCisgICAgbWFjcm8oIExMVk1WYWx1ZVJlZiAsIElzQURiZ0RlY2xhcmVJbnN0LCAo
TExWTVZhbHVlUmVmIFZhbCkpIFwKKyAgICBtYWNybyggTExWTVZhbHVlUmVmICwgSXNBTWVtSW50
cmluc2ljLCAoTExWTVZhbHVlUmVmIFZhbCkpIFwKKyAgICBtYWNybyggTExWTVZhbHVlUmVmICwg
SXNBTWVtQ3B5SW5zdCwgKExMVk1WYWx1ZVJlZiBWYWwpKSBcCisgICAgbWFjcm8oIExMVk1WYWx1
ZVJlZiAsIElzQU1lbU1vdmVJbnN0LCAoTExWTVZhbHVlUmVmIFZhbCkpIFwKKyAgICBtYWNybygg
TExWTVZhbHVlUmVmICwgSXNBTWVtU2V0SW5zdCwgKExMVk1WYWx1ZVJlZiBWYWwpKSBcCisgICAg
bWFjcm8oIExMVk1WYWx1ZVJlZiAsIElzQUNtcEluc3QsIChMTFZNVmFsdWVSZWYgVmFsKSkgXAor
ICAgIG1hY3JvKCBMTFZNVmFsdWVSZWYgLCBJc0FGQ21wSW5zdCwgKExMVk1WYWx1ZVJlZiBWYWwp
KSBcCisgICAgbWFjcm8oIExMVk1WYWx1ZVJlZiAsIElzQUlDbXBJbnN0LCAoTExWTVZhbHVlUmVm
IFZhbCkpIFwKKyAgICBtYWNybyggTExWTVZhbHVlUmVmICwgSXNBRXh0cmFjdEVsZW1lbnRJbnN0
LCAoTExWTVZhbHVlUmVmIFZhbCkpIFwKKyAgICBtYWNybyggTExWTVZhbHVlUmVmICwgSXNBR2V0
RWxlbWVudFB0ckluc3QsIChMTFZNVmFsdWVSZWYgVmFsKSkgXAorICAgIG1hY3JvKCBMTFZNVmFs
dWVSZWYgLCBJc0FJbnNlcnRFbGVtZW50SW5zdCwgKExMVk1WYWx1ZVJlZiBWYWwpKSBcCisgICAg
bWFjcm8oIExMVk1WYWx1ZVJlZiAsIElzQUluc2VydFZhbHVlSW5zdCwgKExMVk1WYWx1ZVJlZiBW
YWwpKSBcCisgICAgbWFjcm8oIExMVk1WYWx1ZVJlZiAsIElzQUxhbmRpbmdQYWRJbnN0LCAoTExW
TVZhbHVlUmVmIFZhbCkpIFwKKyAgICBtYWNybyggTExWTVZhbHVlUmVmICwgSXNBUEhJTm9kZSwg
KExMVk1WYWx1ZVJlZiBWYWwpKSBcCisgICAgbWFjcm8oIExMVk1WYWx1ZVJlZiAsIElzQVNlbGVj
dEluc3QsIChMTFZNVmFsdWVSZWYgVmFsKSkgXAorICAgIG1hY3JvKCBMTFZNVmFsdWVSZWYgLCBJ
c0FTaHVmZmxlVmVjdG9ySW5zdCwgKExMVk1WYWx1ZVJlZiBWYWwpKSBcCisgICAgbWFjcm8oIExM
Vk1WYWx1ZVJlZiAsIElzQVN0b3JlSW5zdCwgKExMVk1WYWx1ZVJlZiBWYWwpKSBcCisgICAgbWFj
cm8oIExMVk1WYWx1ZVJlZiAsIElzQVRlcm1pbmF0b3JJbnN0LCAoTExWTVZhbHVlUmVmIFZhbCkp
IFwKKyAgICBtYWNybyggTExWTVZhbHVlUmVmICwgSXNBQnJhbmNoSW5zdCwgKExMVk1WYWx1ZVJl
ZiBWYWwpKSBcCisgICAgbWFjcm8oIExMVk1WYWx1ZVJlZiAsIElzQUluZGlyZWN0QnJJbnN0LCAo
TExWTVZhbHVlUmVmIFZhbCkpIFwKKyAgICBtYWNybyggTExWTVZhbHVlUmVmICwgSXNBSW52b2tl
SW5zdCwgKExMVk1WYWx1ZVJlZiBWYWwpKSBcCisgICAgbWFjcm8oIExMVk1WYWx1ZVJlZiAsIElz
QVJldHVybkluc3QsIChMTFZNVmFsdWVSZWYgVmFsKSkgXAorICAgIG1hY3JvKCBMTFZNVmFsdWVS
ZWYgLCBJc0FTd2l0Y2hJbnN0LCAoTExWTVZhbHVlUmVmIFZhbCkpIFwKKyAgICBtYWNybyggTExW
TVZhbHVlUmVmICwgSXNBVW5yZWFjaGFibGVJbnN0LCAoTExWTVZhbHVlUmVmIFZhbCkpIFwKKyAg
ICBtYWNybyggTExWTVZhbHVlUmVmICwgSXNBUmVzdW1lSW5zdCwgKExMVk1WYWx1ZVJlZiBWYWwp
KSBcCisgICAgbWFjcm8oIExMVk1WYWx1ZVJlZiAsIElzQVVuYXJ5SW5zdHJ1Y3Rpb24sIChMTFZN
VmFsdWVSZWYgVmFsKSkgXAorICAgIG1hY3JvKCBMTFZNVmFsdWVSZWYgLCBJc0FBbGxvY2FJbnN0
LCAoTExWTVZhbHVlUmVmIFZhbCkpIFwKKyAgICBtYWNybyggTExWTVZhbHVlUmVmICwgSXNBQ2Fz
dEluc3QsIChMTFZNVmFsdWVSZWYgVmFsKSkgXAorICAgIG1hY3JvKCBMTFZNVmFsdWVSZWYgLCBJ
c0FCaXRDYXN0SW5zdCwgKExMVk1WYWx1ZVJlZiBWYWwpKSBcCisgICAgbWFjcm8oIExMVk1WYWx1
ZVJlZiAsIElzQUZQRXh0SW5zdCwgKExMVk1WYWx1ZVJlZiBWYWwpKSBcCisgICAgbWFjcm8oIExM
Vk1WYWx1ZVJlZiAsIElzQUZQVG9TSUluc3QsIChMTFZNVmFsdWVSZWYgVmFsKSkgXAorICAgIG1h
Y3JvKCBMTFZNVmFsdWVSZWYgLCBJc0FGUFRvVUlJbnN0LCAoTExWTVZhbHVlUmVmIFZhbCkpIFwK
KyAgICBtYWNybyggTExWTVZhbHVlUmVmICwgSXNBRlBUcnVuY0luc3QsIChMTFZNVmFsdWVSZWYg
VmFsKSkgXAorICAgIG1hY3JvKCBMTFZNVmFsdWVSZWYgLCBJc0FJbnRUb1B0ckluc3QsIChMTFZN
VmFsdWVSZWYgVmFsKSkgXAorICAgIG1hY3JvKCBMTFZNVmFsdWVSZWYgLCBJc0FQdHJUb0ludElu
c3QsIChMTFZNVmFsdWVSZWYgVmFsKSkgXAorICAgIG1hY3JvKCBMTFZNVmFsdWVSZWYgLCBJc0FT
RXh0SW5zdCwgKExMVk1WYWx1ZVJlZiBWYWwpKSBcCisgICAgbWFjcm8oIExMVk1WYWx1ZVJlZiAs
IElzQVNJVG9GUEluc3QsIChMTFZNVmFsdWVSZWYgVmFsKSkgXAorICAgIG1hY3JvKCBMTFZNVmFs
dWVSZWYgLCBJc0FUcnVuY0luc3QsIChMTFZNVmFsdWVSZWYgVmFsKSkgXAorICAgIG1hY3JvKCBM
TFZNVmFsdWVSZWYgLCBJc0FVSVRvRlBJbnN0LCAoTExWTVZhbHVlUmVmIFZhbCkpIFwKKyAgICBt
YWNybyggTExWTVZhbHVlUmVmICwgSXNBWkV4dEluc3QsIChMTFZNVmFsdWVSZWYgVmFsKSkgXAor
ICAgIG1hY3JvKCBMTFZNVmFsdWVSZWYgLCBJc0FFeHRyYWN0VmFsdWVJbnN0LCAoTExWTVZhbHVl
UmVmIFZhbCkpIFwKKyAgICBtYWNybyggTExWTVZhbHVlUmVmICwgSXNBTG9hZEluc3QsIChMTFZN
VmFsdWVSZWYgVmFsKSkgXAorICAgIG1hY3JvKCBMTFZNVmFsdWVSZWYgLCBJc0FWQUFyZ0luc3Qs
IChMTFZNVmFsdWVSZWYgVmFsKSkgXAorICAgIG1hY3JvKExMVk1Vc2VSZWYgLCBHZXRGaXJzdFVz
ZSwgKExMVk1WYWx1ZVJlZiBWYWwpKSBcCisgICAgbWFjcm8oTExWTVVzZVJlZiAsIEdldE5leHRV
c2UsIChMTFZNVXNlUmVmIFUpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmICwgR2V0VXNlciwg
KExMVk1Vc2VSZWYgVSkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYgLCBHZXRVc2VkVmFsdWUs
IChMTFZNVXNlUmVmIFUpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmICwgR2V0T3BlcmFuZCwg
KExMVk1WYWx1ZVJlZiBWYWwsIHVuc2lnbmVkIEluZGV4KSkgXAorICAgIG1hY3JvKHZvaWQgLCBT
ZXRPcGVyYW5kLCAoTExWTVZhbHVlUmVmIFVzZXIsIHVuc2lnbmVkIEluZGV4LCBMTFZNVmFsdWVS
ZWYgVmFsKSkgXAorICAgIG1hY3JvKGludCAsIEdldE51bU9wZXJhbmRzLCAoTExWTVZhbHVlUmVm
IFZhbCkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYgLCBDb25zdE51bGwsIChMTFZNVHlwZVJl
ZiBUeSkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYgLCBDb25zdEFsbE9uZXMsIChMTFZNVHlw
ZVJlZiBUeSkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYgLCBHZXRVbmRlZiwgKExMVk1UeXBl
UmVmIFR5KSkgXAorICAgIG1hY3JvKExMVk1Cb29sICwgSXNOdWxsLCAoTExWTVZhbHVlUmVmIFZh
bCkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYgLCBDb25zdFBvaW50ZXJOdWxsLCAoTExWTVR5
cGVSZWYgVHkpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmICwgQ29uc3RJbnQsIChMTFZNVHlw
ZVJlZiBJbnRUeSwgdW5zaWduZWQgbG9uZyBsb25nIE4sIExMVk1Cb29sIFNpZ25FeHRlbmQpKSBc
CisgICAgbWFjcm8oTExWTVZhbHVlUmVmICwgQ29uc3RJbnRPZkFyYml0cmFyeVByZWNpc2lvbiwg
KExMVk1UeXBlUmVmIEludFR5LCB1bnNpZ25lZCBOdW1Xb3JkcywgY29uc3QgdWludDY0X3QgV29y
ZHNbXSkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYgLCBDb25zdEludE9mU3RyaW5nLCAoTExW
TVR5cGVSZWYgSW50VHksIGNvbnN0IGNoYXIgKlRleHQsIHVpbnQ4X3QgUmFkaXgpKSBcCisgICAg
bWFjcm8oTExWTVZhbHVlUmVmICwgQ29uc3RJbnRPZlN0cmluZ0FuZFNpemUsIChMTFZNVHlwZVJl
ZiBJbnRUeSwgY29uc3QgY2hhciAqVGV4dCwgdW5zaWduZWQgU0xlbiwgdWludDhfdCBSYWRpeCkp
IFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYgLCBDb25zdFJlYWwsIChMTFZNVHlwZVJlZiBSZWFs
VHksIGRvdWJsZSBOKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiAsIENvbnN0UmVhbE9mU3Ry
aW5nLCAoTExWTVR5cGVSZWYgUmVhbFR5LCBjb25zdCBjaGFyICpUZXh0KSkgXAorICAgIG1hY3Jv
KExMVk1WYWx1ZVJlZiAsIENvbnN0UmVhbE9mU3RyaW5nQW5kU2l6ZSwgKExMVk1UeXBlUmVmIFJl
YWxUeSwgY29uc3QgY2hhciAqVGV4dCwgdW5zaWduZWQgU0xlbikpIFwKKyAgICBtYWNybyh1bnNp
Z25lZCBsb25nIGxvbmcgLCBDb25zdEludEdldFpFeHRWYWx1ZSwgKExMVk1WYWx1ZVJlZiBDb25z
dGFudFZhbCkpIFwKKyAgICBtYWNybyhsb25nIGxvbmcgLCBDb25zdEludEdldFNFeHRWYWx1ZSwg
KExMVk1WYWx1ZVJlZiBDb25zdGFudFZhbCkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYgLCBD
b25zdFN0cmluZ0luQ29udGV4dCwgKExMVk1Db250ZXh0UmVmIEMsIGNvbnN0IGNoYXIgKlN0ciwg
dW5zaWduZWQgTGVuZ3RoLCBMTFZNQm9vbCBEb250TnVsbFRlcm1pbmF0ZSkpIFwKKyAgICBtYWNy
byhMTFZNVmFsdWVSZWYgLCBDb25zdFN0cmluZywgKGNvbnN0IGNoYXIgKlN0ciwgdW5zaWduZWQg
TGVuZ3RoLCBMTFZNQm9vbCBEb250TnVsbFRlcm1pbmF0ZSkpIFwKKyAgICBtYWNybyhMTFZNVmFs
dWVSZWYgLCBDb25zdFN0cnVjdEluQ29udGV4dCwgKExMVk1Db250ZXh0UmVmIEMsIExMVk1WYWx1
ZVJlZiAqQ29uc3RhbnRWYWxzLCB1bnNpZ25lZCBDb3VudCwgTExWTUJvb2wgUGFja2VkKSkgXAor
ICAgIG1hY3JvKExMVk1WYWx1ZVJlZiAsIENvbnN0U3RydWN0LCAoTExWTVZhbHVlUmVmICpDb25z
dGFudFZhbHMsIHVuc2lnbmVkIENvdW50LCBMTFZNQm9vbCBQYWNrZWQpKSBcCisgICAgbWFjcm8o
TExWTVZhbHVlUmVmICwgQ29uc3RBcnJheSwgKExMVk1UeXBlUmVmIEVsZW1lbnRUeSwgTExWTVZh
bHVlUmVmICpDb25zdGFudFZhbHMsIHVuc2lnbmVkIExlbmd0aCkpIFwKKyAgICBtYWNybyhMTFZN
VmFsdWVSZWYgLCBDb25zdE5hbWVkU3RydWN0LCAoTExWTVR5cGVSZWYgU3RydWN0VHksIExMVk1W
YWx1ZVJlZiAqQ29uc3RhbnRWYWxzLCB1bnNpZ25lZCBDb3VudCkpIFwKKyAgICBtYWNybyhMTFZN
VmFsdWVSZWYgLCBDb25zdFZlY3RvciwgKExMVk1WYWx1ZVJlZiAqU2NhbGFyQ29uc3RhbnRWYWxz
LCB1bnNpZ25lZCBTaXplKSkgXAorICAgIG1hY3JvKExMVk1PcGNvZGUgLCBHZXRDb25zdE9wY29k
ZSwgKExMVk1WYWx1ZVJlZiBDb25zdGFudFZhbCkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYg
LCBBbGlnbk9mLCAoTExWTVR5cGVSZWYgVHkpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmICwg
U2l6ZU9mLCAoTExWTVR5cGVSZWYgVHkpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmICwgQ29u
c3ROZWcsIChMTFZNVmFsdWVSZWYgQ29uc3RhbnRWYWwpKSBcCisgICAgbWFjcm8oTExWTVZhbHVl
UmVmICwgQ29uc3ROU1dOZWcsIChMTFZNVmFsdWVSZWYgQ29uc3RhbnRWYWwpKSBcCisgICAgbWFj
cm8oTExWTVZhbHVlUmVmICwgQ29uc3ROVVdOZWcsIChMTFZNVmFsdWVSZWYgQ29uc3RhbnRWYWwp
KSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmICwgQ29uc3RGTmVnLCAoTExWTVZhbHVlUmVmIENv
bnN0YW50VmFsKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiAsIENvbnN0Tm90LCAoTExWTVZh
bHVlUmVmIENvbnN0YW50VmFsKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiAsIENvbnN0QWRk
LCAoTExWTVZhbHVlUmVmIExIU0NvbnN0YW50LCBMTFZNVmFsdWVSZWYgUkhTQ29uc3RhbnQpKSBc
CisgICAgbWFjcm8oTExWTVZhbHVlUmVmICwgQ29uc3ROU1dBZGQsIChMTFZNVmFsdWVSZWYgTEhT
Q29uc3RhbnQsIExMVk1WYWx1ZVJlZiBSSFNDb25zdGFudCkpIFwKKyAgICBtYWNybyhMTFZNVmFs
dWVSZWYgLCBDb25zdE5VV0FkZCwgKExMVk1WYWx1ZVJlZiBMSFNDb25zdGFudCwgTExWTVZhbHVl
UmVmIFJIU0NvbnN0YW50KSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiAsIENvbnN0RkFkZCwg
KExMVk1WYWx1ZVJlZiBMSFNDb25zdGFudCwgTExWTVZhbHVlUmVmIFJIU0NvbnN0YW50KSkgXAor
ICAgIG1hY3JvKExMVk1WYWx1ZVJlZiAsIENvbnN0U3ViLCAoTExWTVZhbHVlUmVmIExIU0NvbnN0
YW50LCBMTFZNVmFsdWVSZWYgUkhTQ29uc3RhbnQpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVm
ICwgQ29uc3ROU1dTdWIsIChMTFZNVmFsdWVSZWYgTEhTQ29uc3RhbnQsIExMVk1WYWx1ZVJlZiBS
SFNDb25zdGFudCkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYgLCBDb25zdE5VV1N1YiwgKExM
Vk1WYWx1ZVJlZiBMSFNDb25zdGFudCwgTExWTVZhbHVlUmVmIFJIU0NvbnN0YW50KSkgXAorICAg
IG1hY3JvKExMVk1WYWx1ZVJlZiAsIENvbnN0RlN1YiwgKExMVk1WYWx1ZVJlZiBMSFNDb25zdGFu
dCwgTExWTVZhbHVlUmVmIFJIU0NvbnN0YW50KSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiAs
IENvbnN0TXVsLCAoTExWTVZhbHVlUmVmIExIU0NvbnN0YW50LCBMTFZNVmFsdWVSZWYgUkhTQ29u
c3RhbnQpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmICwgQ29uc3ROU1dNdWwsIChMTFZNVmFs
dWVSZWYgTEhTQ29uc3RhbnQsIExMVk1WYWx1ZVJlZiBSSFNDb25zdGFudCkpIFwKKyAgICBtYWNy
byhMTFZNVmFsdWVSZWYgLCBDb25zdE5VV011bCwgKExMVk1WYWx1ZVJlZiBMSFNDb25zdGFudCwg
TExWTVZhbHVlUmVmIFJIU0NvbnN0YW50KSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiAsIENv
bnN0Rk11bCwgKExMVk1WYWx1ZVJlZiBMSFNDb25zdGFudCwgTExWTVZhbHVlUmVmIFJIU0NvbnN0
YW50KSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiAsIENvbnN0VURpdiwgKExMVk1WYWx1ZVJl
ZiBMSFNDb25zdGFudCwgTExWTVZhbHVlUmVmIFJIU0NvbnN0YW50KSkgXAorICAgIG1hY3JvKExM
Vk1WYWx1ZVJlZiAsIENvbnN0U0RpdiwgKExMVk1WYWx1ZVJlZiBMSFNDb25zdGFudCwgTExWTVZh
bHVlUmVmIFJIU0NvbnN0YW50KSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiAsIENvbnN0RXhh
Y3RTRGl2LCAoTExWTVZhbHVlUmVmIExIU0NvbnN0YW50LCBMTFZNVmFsdWVSZWYgUkhTQ29uc3Rh
bnQpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmICwgQ29uc3RGRGl2LCAoTExWTVZhbHVlUmVm
IExIU0NvbnN0YW50LCBMTFZNVmFsdWVSZWYgUkhTQ29uc3RhbnQpKSBcCisgICAgbWFjcm8oTExW
TVZhbHVlUmVmICwgQ29uc3RVUmVtLCAoTExWTVZhbHVlUmVmIExIU0NvbnN0YW50LCBMTFZNVmFs
dWVSZWYgUkhTQ29uc3RhbnQpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmICwgQ29uc3RTUmVt
LCAoTExWTVZhbHVlUmVmIExIU0NvbnN0YW50LCBMTFZNVmFsdWVSZWYgUkhTQ29uc3RhbnQpKSBc
CisgICAgbWFjcm8oTExWTVZhbHVlUmVmICwgQ29uc3RGUmVtLCAoTExWTVZhbHVlUmVmIExIU0Nv
bnN0YW50LCBMTFZNVmFsdWVSZWYgUkhTQ29uc3RhbnQpKSBcCisgICAgbWFjcm8oTExWTVZhbHVl
UmVmICwgQ29uc3RBbmQsIChMTFZNVmFsdWVSZWYgTEhTQ29uc3RhbnQsIExMVk1WYWx1ZVJlZiBS
SFNDb25zdGFudCkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYgLCBDb25zdE9yLCAoTExWTVZh
bHVlUmVmIExIU0NvbnN0YW50LCBMTFZNVmFsdWVSZWYgUkhTQ29uc3RhbnQpKSBcCisgICAgbWFj
cm8oTExWTVZhbHVlUmVmICwgQ29uc3RYb3IsIChMTFZNVmFsdWVSZWYgTEhTQ29uc3RhbnQsIExM
Vk1WYWx1ZVJlZiBSSFNDb25zdGFudCkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYgLCBDb25z
dElDbXAsIChMTFZNSW50UHJlZGljYXRlIFByZWRpY2F0ZSwgTExWTVZhbHVlUmVmIExIU0NvbnN0
YW50LCBMTFZNVmFsdWVSZWYgUkhTQ29uc3RhbnQpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVm
ICwgQ29uc3RGQ21wLCAoTExWTVJlYWxQcmVkaWNhdGUgUHJlZGljYXRlLCBMTFZNVmFsdWVSZWYg
TEhTQ29uc3RhbnQsIExMVk1WYWx1ZVJlZiBSSFNDb25zdGFudCkpIFwKKyAgICBtYWNybyhMTFZN
VmFsdWVSZWYgLCBDb25zdFNobCwgKExMVk1WYWx1ZVJlZiBMSFNDb25zdGFudCwgTExWTVZhbHVl
UmVmIFJIU0NvbnN0YW50KSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiAsIENvbnN0TFNociwg
KExMVk1WYWx1ZVJlZiBMSFNDb25zdGFudCwgTExWTVZhbHVlUmVmIFJIU0NvbnN0YW50KSkgXAor
ICAgIG1hY3JvKExMVk1WYWx1ZVJlZiAsIENvbnN0QVNociwgKExMVk1WYWx1ZVJlZiBMSFNDb25z
dGFudCwgTExWTVZhbHVlUmVmIFJIU0NvbnN0YW50KSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJl
ZiAsIENvbnN0R0VQLCAoTExWTVZhbHVlUmVmIENvbnN0YW50VmFsLCBMTFZNVmFsdWVSZWYgKkNv
bnN0YW50SW5kaWNlcywgdW5zaWduZWQgTnVtSW5kaWNlcykpIFwKKyAgICBtYWNybyhMTFZNVmFs
dWVSZWYgLCBDb25zdEluQm91bmRzR0VQLCAoTExWTVZhbHVlUmVmIENvbnN0YW50VmFsLCBMTFZN
VmFsdWVSZWYgKkNvbnN0YW50SW5kaWNlcywgdW5zaWduZWQgTnVtSW5kaWNlcykpIFwKKyAgICBt
YWNybyhMTFZNVmFsdWVSZWYgLCBDb25zdFRydW5jLCAoTExWTVZhbHVlUmVmIENvbnN0YW50VmFs
LCBMTFZNVHlwZVJlZiBUb1R5cGUpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmICwgQ29uc3RT
RXh0LCAoTExWTVZhbHVlUmVmIENvbnN0YW50VmFsLCBMTFZNVHlwZVJlZiBUb1R5cGUpKSBcCisg
ICAgbWFjcm8oTExWTVZhbHVlUmVmICwgQ29uc3RaRXh0LCAoTExWTVZhbHVlUmVmIENvbnN0YW50
VmFsLCBMTFZNVHlwZVJlZiBUb1R5cGUpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmICwgQ29u
c3RGUFRydW5jLCAoTExWTVZhbHVlUmVmIENvbnN0YW50VmFsLCBMTFZNVHlwZVJlZiBUb1R5cGUp
KSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmICwgQ29uc3RGUEV4dCwgKExMVk1WYWx1ZVJlZiBD
b25zdGFudFZhbCwgTExWTVR5cGVSZWYgVG9UeXBlKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJl
ZiAsIENvbnN0VUlUb0ZQLCAoTExWTVZhbHVlUmVmIENvbnN0YW50VmFsLCBMTFZNVHlwZVJlZiBU
b1R5cGUpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmICwgQ29uc3RTSVRvRlAsIChMTFZNVmFs
dWVSZWYgQ29uc3RhbnRWYWwsIExMVk1UeXBlUmVmIFRvVHlwZSkpIFwKKyAgICBtYWNybyhMTFZN
VmFsdWVSZWYgLCBDb25zdEZQVG9VSSwgKExMVk1WYWx1ZVJlZiBDb25zdGFudFZhbCwgTExWTVR5
cGVSZWYgVG9UeXBlKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiAsIENvbnN0RlBUb1NJLCAo
TExWTVZhbHVlUmVmIENvbnN0YW50VmFsLCBMTFZNVHlwZVJlZiBUb1R5cGUpKSBcCisgICAgbWFj
cm8oTExWTVZhbHVlUmVmICwgQ29uc3RQdHJUb0ludCwgKExMVk1WYWx1ZVJlZiBDb25zdGFudFZh
bCwgTExWTVR5cGVSZWYgVG9UeXBlKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiAsIENvbnN0
SW50VG9QdHIsIChMTFZNVmFsdWVSZWYgQ29uc3RhbnRWYWwsIExMVk1UeXBlUmVmIFRvVHlwZSkp
IFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYgLCBDb25zdEJpdENhc3QsIChMTFZNVmFsdWVSZWYg
Q29uc3RhbnRWYWwsIExMVk1UeXBlUmVmIFRvVHlwZSkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVS
ZWYgLCBDb25zdFpFeHRPckJpdENhc3QsIChMTFZNVmFsdWVSZWYgQ29uc3RhbnRWYWwsIExMVk1U
eXBlUmVmIFRvVHlwZSkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYgLCBDb25zdFNFeHRPckJp
dENhc3QsIChMTFZNVmFsdWVSZWYgQ29uc3RhbnRWYWwsIExMVk1UeXBlUmVmIFRvVHlwZSkpIFwK
KyAgICBtYWNybyhMTFZNVmFsdWVSZWYgLCBDb25zdFRydW5jT3JCaXRDYXN0LCAoTExWTVZhbHVl
UmVmIENvbnN0YW50VmFsLCBMTFZNVHlwZVJlZiBUb1R5cGUpKSBcCisgICAgbWFjcm8oTExWTVZh
bHVlUmVmICwgQ29uc3RQb2ludGVyQ2FzdCwgKExMVk1WYWx1ZVJlZiBDb25zdGFudFZhbCwgTExW
TVR5cGVSZWYgVG9UeXBlKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiAsIENvbnN0SW50Q2Fz
dCwgKExMVk1WYWx1ZVJlZiBDb25zdGFudFZhbCwgTExWTVR5cGVSZWYgVG9UeXBlLCBMTFZNQm9v
bCBpc1NpZ25lZCkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYgLCBDb25zdEZQQ2FzdCwgKExM
Vk1WYWx1ZVJlZiBDb25zdGFudFZhbCwgTExWTVR5cGVSZWYgVG9UeXBlKSkgXAorICAgIG1hY3Jv
KExMVk1WYWx1ZVJlZiAsIENvbnN0U2VsZWN0LCAoTExWTVZhbHVlUmVmIENvbnN0YW50Q29uZGl0
aW9uLCBMTFZNVmFsdWVSZWYgQ29uc3RhbnRJZlRydWUsIExMVk1WYWx1ZVJlZiBDb25zdGFudElm
RmFsc2UpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmICwgQ29uc3RFeHRyYWN0RWxlbWVudCwg
KExMVk1WYWx1ZVJlZiBWZWN0b3JDb25zdGFudCwgTExWTVZhbHVlUmVmIEluZGV4Q29uc3RhbnQp
KSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmICwgQ29uc3RJbnNlcnRFbGVtZW50LCAoTExWTVZh
bHVlUmVmIFZlY3RvckNvbnN0YW50LCBMTFZNVmFsdWVSZWYgRWxlbWVudFZhbHVlQ29uc3RhbnQs
IExMVk1WYWx1ZVJlZiBJbmRleENvbnN0YW50KSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiAs
IENvbnN0U2h1ZmZsZVZlY3RvciwgKExMVk1WYWx1ZVJlZiBWZWN0b3JBQ29uc3RhbnQsIExMVk1W
YWx1ZVJlZiBWZWN0b3JCQ29uc3RhbnQsIExMVk1WYWx1ZVJlZiBNYXNrQ29uc3RhbnQpKSBcCisg
ICAgbWFjcm8oTExWTVZhbHVlUmVmICwgQ29uc3RFeHRyYWN0VmFsdWUsIChMTFZNVmFsdWVSZWYg
QWdnQ29uc3RhbnQsIHVuc2lnbmVkICpJZHhMaXN0LCB1bnNpZ25lZCBOdW1JZHgpKSBcCisgICAg
bWFjcm8oTExWTVZhbHVlUmVmICwgQ29uc3RJbnNlcnRWYWx1ZSwgKExMVk1WYWx1ZVJlZiBBZ2dD
b25zdGFudCwgTExWTVZhbHVlUmVmIEVsZW1lbnRWYWx1ZUNvbnN0YW50LCB1bnNpZ25lZCAqSWR4
TGlzdCwgdW5zaWduZWQgTnVtSWR4KSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiAsIENvbnN0
SW5saW5lQXNtLCAoTExWTVR5cGVSZWYgVHksIGNvbnN0IGNoYXIgKkFzbVN0cmluZywgY29uc3Qg
Y2hhciAqQ29uc3RyYWludHMsIExMVk1Cb29sIEhhc1NpZGVFZmZlY3RzLCBMTFZNQm9vbCBJc0Fs
aWduU3RhY2spKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmICwgQmxvY2tBZGRyZXNzLCAoTExW
TVZhbHVlUmVmIEYsIExMVk1CYXNpY0Jsb2NrUmVmIEJCKSkgXAorICAgIG1hY3JvKExMVk1Nb2R1
bGVSZWYgLCBHZXRHbG9iYWxQYXJlbnQsIChMTFZNVmFsdWVSZWYgR2xvYmFsKSkgXAorICAgIG1h
Y3JvKExMVk1Cb29sICwgSXNEZWNsYXJhdGlvbiwgKExMVk1WYWx1ZVJlZiBHbG9iYWwpKSBcCisg
ICAgbWFjcm8oTExWTUxpbmthZ2UgLCBHZXRMaW5rYWdlLCAoTExWTVZhbHVlUmVmIEdsb2JhbCkp
IFwKKyAgICBtYWNybyh2b2lkICwgU2V0TGlua2FnZSwgKExMVk1WYWx1ZVJlZiBHbG9iYWwsIExM
Vk1MaW5rYWdlIExpbmthZ2UpKSBcCisgICAgbWFjcm8oY29uc3QgY2hhciAqLCBHZXRTZWN0aW9u
LCAoTExWTVZhbHVlUmVmIEdsb2JhbCkpIFwKKyAgICBtYWNybyh2b2lkICwgU2V0U2VjdGlvbiwg
KExMVk1WYWx1ZVJlZiBHbG9iYWwsIGNvbnN0IGNoYXIgKlNlY3Rpb24pKSBcCisgICAgbWFjcm8o
TExWTVZpc2liaWxpdHkgLCBHZXRWaXNpYmlsaXR5LCAoTExWTVZhbHVlUmVmIEdsb2JhbCkpIFwK
KyAgICBtYWNybyh2b2lkICwgU2V0VmlzaWJpbGl0eSwgKExMVk1WYWx1ZVJlZiBHbG9iYWwsIExM
Vk1WaXNpYmlsaXR5IFZpeikpIFwKKyAgICBtYWNybyh1bnNpZ25lZCAsIEdldEFsaWdubWVudCwg
KExMVk1WYWx1ZVJlZiBHbG9iYWwpKSBcCisgICAgbWFjcm8odm9pZCAsIFNldEFsaWdubWVudCwg
KExMVk1WYWx1ZVJlZiBHbG9iYWwsIHVuc2lnbmVkIEJ5dGVzKSkgXAorICAgIG1hY3JvKExMVk1W
YWx1ZVJlZiAsIEFkZEdsb2JhbCwgKExMVk1Nb2R1bGVSZWYgTSwgTExWTVR5cGVSZWYgVHksIGNv
bnN0IGNoYXIgKk5hbWUpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmICwgQWRkR2xvYmFsSW5B
ZGRyZXNzU3BhY2UsIChMTFZNTW9kdWxlUmVmIE0sIExMVk1UeXBlUmVmIFR5LCBjb25zdCBjaGFy
ICpOYW1lLCB1bnNpZ25lZCBBZGRyZXNzU3BhY2UpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVm
ICwgR2V0TmFtZWRHbG9iYWwsIChMTFZNTW9kdWxlUmVmIE0sIGNvbnN0IGNoYXIgKk5hbWUpKSBc
CisgICAgbWFjcm8oTExWTVZhbHVlUmVmICwgR2V0Rmlyc3RHbG9iYWwsIChMTFZNTW9kdWxlUmVm
IE0pKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmICwgR2V0TGFzdEdsb2JhbCwgKExMVk1Nb2R1
bGVSZWYgTSkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYgLCBHZXROZXh0R2xvYmFsLCAoTExW
TVZhbHVlUmVmIEdsb2JhbFZhcikpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYgLCBHZXRQcmV2
aW91c0dsb2JhbCwgKExMVk1WYWx1ZVJlZiBHbG9iYWxWYXIpKSBcCisgICAgbWFjcm8odm9pZCAs
IERlbGV0ZUdsb2JhbCwgKExMVk1WYWx1ZVJlZiBHbG9iYWxWYXIpKSBcCisgICAgbWFjcm8oTExW
TVZhbHVlUmVmICwgR2V0SW5pdGlhbGl6ZXIsIChMTFZNVmFsdWVSZWYgR2xvYmFsVmFyKSkgXAor
ICAgIG1hY3JvKHZvaWQgLCBTZXRJbml0aWFsaXplciwgKExMVk1WYWx1ZVJlZiBHbG9iYWxWYXIs
IExMVk1WYWx1ZVJlZiBDb25zdGFudFZhbCkpIFwKKyAgICBtYWNybyhMTFZNQm9vbCAsIElzVGhy
ZWFkTG9jYWwsIChMTFZNVmFsdWVSZWYgR2xvYmFsVmFyKSkgXAorICAgIG1hY3JvKHZvaWQgLCBT
ZXRUaHJlYWRMb2NhbCwgKExMVk1WYWx1ZVJlZiBHbG9iYWxWYXIsIExMVk1Cb29sIElzVGhyZWFk
TG9jYWwpKSBcCisgICAgbWFjcm8oTExWTUJvb2wgLCBJc0dsb2JhbENvbnN0YW50LCAoTExWTVZh
bHVlUmVmIEdsb2JhbFZhcikpIFwKKyAgICBtYWNybyh2b2lkICwgU2V0R2xvYmFsQ29uc3RhbnQs
IChMTFZNVmFsdWVSZWYgR2xvYmFsVmFyLCBMTFZNQm9vbCBJc0NvbnN0YW50KSkgXAorICAgIG1h
Y3JvKExMVk1UaHJlYWRMb2NhbE1vZGUgLCBHZXRUaHJlYWRMb2NhbE1vZGUsIChMTFZNVmFsdWVS
ZWYgR2xvYmFsVmFyKSkgXAorICAgIG1hY3JvKHZvaWQgLCBTZXRUaHJlYWRMb2NhbE1vZGUsIChM
TFZNVmFsdWVSZWYgR2xvYmFsVmFyLCBMTFZNVGhyZWFkTG9jYWxNb2RlIE1vZGUpKSBcCisgICAg
bWFjcm8oTExWTUJvb2wgLCBJc0V4dGVybmFsbHlJbml0aWFsaXplZCwgKExMVk1WYWx1ZVJlZiBH
bG9iYWxWYXIpKSBcCisgICAgbWFjcm8odm9pZCAsIFNldEV4dGVybmFsbHlJbml0aWFsaXplZCwg
KExMVk1WYWx1ZVJlZiBHbG9iYWxWYXIsIExMVk1Cb29sIElzRXh0SW5pdCkpIFwKKyAgICBtYWNy
byhMTFZNVmFsdWVSZWYgLCBBZGRBbGlhcywgKExMVk1Nb2R1bGVSZWYgTSwgTExWTVR5cGVSZWYg
VHksIExMVk1WYWx1ZVJlZiBBbGlhc2VlLCBjb25zdCBjaGFyICpOYW1lKSkgXAorICAgIG1hY3Jv
KHZvaWQgLCBEZWxldGVGdW5jdGlvbiwgKExMVk1WYWx1ZVJlZiBGbikpIFwKKyAgICBtYWNybyh1
bnNpZ25lZCAsIEdldEludHJpbnNpY0lELCAoTExWTVZhbHVlUmVmIEZuKSkgXAorICAgIG1hY3Jv
KHVuc2lnbmVkICwgR2V0RnVuY3Rpb25DYWxsQ29udiwgKExMVk1WYWx1ZVJlZiBGbikpIFwKKyAg
ICBtYWNybyh2b2lkICwgU2V0RnVuY3Rpb25DYWxsQ29udiwgKExMVk1WYWx1ZVJlZiBGbiwgdW5z
aWduZWQgQ0MpKSBcCisgICAgbWFjcm8oY29uc3QgY2hhciAqLCBHZXRHQywgKExMVk1WYWx1ZVJl
ZiBGbikpIFwKKyAgICBtYWNybyh2b2lkICwgU2V0R0MsIChMTFZNVmFsdWVSZWYgRm4sIGNvbnN0
IGNoYXIgKk5hbWUpKSBcCisgICAgbWFjcm8odm9pZCAsIEFkZEZ1bmN0aW9uQXR0ciwgKExMVk1W
YWx1ZVJlZiBGbiwgTExWTUF0dHJpYnV0ZSBQQSkpIFwKKyAgICBtYWNybyh2b2lkICwgQWRkVGFy
Z2V0RGVwZW5kZW50RnVuY3Rpb25BdHRyLCAoTExWTVZhbHVlUmVmIEZuLCBjb25zdCBjaGFyICpB
LCBjb25zdCBjaGFyICpWKSkgXAorICAgIG1hY3JvKExMVk1BdHRyaWJ1dGUgLCBHZXRGdW5jdGlv
bkF0dHIsIChMTFZNVmFsdWVSZWYgRm4pKSBcCisgICAgbWFjcm8odm9pZCAsIFJlbW92ZUZ1bmN0
aW9uQXR0ciwgKExMVk1WYWx1ZVJlZiBGbiwgTExWTUF0dHJpYnV0ZSBQQSkpIFwKKyAgICBtYWNy
byh1bnNpZ25lZCAsIENvdW50UGFyYW1zLCAoTExWTVZhbHVlUmVmIEZuKSkgXAorICAgIG1hY3Jv
KHZvaWQgLCBHZXRQYXJhbXMsIChMTFZNVmFsdWVSZWYgRm4sIExMVk1WYWx1ZVJlZiAqUGFyYW1z
KSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiAsIEdldFBhcmFtLCAoTExWTVZhbHVlUmVmIEZu
LCB1bnNpZ25lZCBJbmRleCkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYgLCBHZXRQYXJhbVBh
cmVudCwgKExMVk1WYWx1ZVJlZiBJbnN0KSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiAsIEdl
dEZpcnN0UGFyYW0sIChMTFZNVmFsdWVSZWYgRm4pKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVm
ICwgR2V0TGFzdFBhcmFtLCAoTExWTVZhbHVlUmVmIEZuKSkgXAorICAgIG1hY3JvKExMVk1WYWx1
ZVJlZiAsIEdldE5leHRQYXJhbSwgKExMVk1WYWx1ZVJlZiBBcmcpKSBcCisgICAgbWFjcm8oTExW
TVZhbHVlUmVmICwgR2V0UHJldmlvdXNQYXJhbSwgKExMVk1WYWx1ZVJlZiBBcmcpKSBcCisgICAg
bWFjcm8odm9pZCAsIEFkZEF0dHJpYnV0ZSwgKExMVk1WYWx1ZVJlZiBBcmcsIExMVk1BdHRyaWJ1
dGUgUEEpKSBcCisgICAgbWFjcm8odm9pZCAsIFJlbW92ZUF0dHJpYnV0ZSwgKExMVk1WYWx1ZVJl
ZiBBcmcsIExMVk1BdHRyaWJ1dGUgUEEpKSBcCisgICAgbWFjcm8oTExWTUF0dHJpYnV0ZSAsIEdl
dEF0dHJpYnV0ZSwgKExMVk1WYWx1ZVJlZiBBcmcpKSBcCisgICAgbWFjcm8odm9pZCAsIFNldFBh
cmFtQWxpZ25tZW50LCAoTExWTVZhbHVlUmVmIEFyZywgdW5zaWduZWQgYWxpZ24pKSBcCisgICAg
bWFjcm8oTExWTVZhbHVlUmVmICwgTURTdHJpbmdJbkNvbnRleHQsIChMTFZNQ29udGV4dFJlZiBD
LCBjb25zdCBjaGFyICpTdHIsIHVuc2lnbmVkIFNMZW4pKSBcCisgICAgbWFjcm8oTExWTVZhbHVl
UmVmICwgTURTdHJpbmcsIChjb25zdCBjaGFyICpTdHIsIHVuc2lnbmVkIFNMZW4pKSBcCisgICAg
bWFjcm8oTExWTVZhbHVlUmVmICwgTUROb2RlSW5Db250ZXh0LCAoTExWTUNvbnRleHRSZWYgQywg
TExWTVZhbHVlUmVmICpWYWxzLCB1bnNpZ25lZCBDb3VudCkpIFwKKyAgICBtYWNybyhMTFZNVmFs
dWVSZWYgLCBNRE5vZGUsIChMTFZNVmFsdWVSZWYgKlZhbHMsIHVuc2lnbmVkIENvdW50KSkgXAor
ICAgIG1hY3JvKGNvbnN0IGNoYXIgKiwgR2V0TURTdHJpbmcsIChMTFZNVmFsdWVSZWYgViwgdW5z
aWduZWQqIExlbikpIFwKKyAgICBtYWNybyh1bnNpZ25lZCAsIEdldE1ETm9kZU51bU9wZXJhbmRz
LCAoTExWTVZhbHVlUmVmIFYpKSBcCisgICAgbWFjcm8odm9pZCAsIEdldE1ETm9kZU9wZXJhbmRz
LCAoTExWTVZhbHVlUmVmIFYsIExMVk1WYWx1ZVJlZiAqRGVzdCkpIFwKKyAgICBtYWNybyhMTFZN
VmFsdWVSZWYgLCBCYXNpY0Jsb2NrQXNWYWx1ZSwgKExMVk1CYXNpY0Jsb2NrUmVmIEJCKSkgXAor
ICAgIG1hY3JvKExMVk1Cb29sICwgVmFsdWVJc0Jhc2ljQmxvY2ssIChMTFZNVmFsdWVSZWYgVmFs
KSkgXAorICAgIG1hY3JvKExMVk1CYXNpY0Jsb2NrUmVmICwgVmFsdWVBc0Jhc2ljQmxvY2ssIChM
TFZNVmFsdWVSZWYgVmFsKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiAsIEdldEJhc2ljQmxv
Y2tQYXJlbnQsIChMTFZNQmFzaWNCbG9ja1JlZiBCQikpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVS
ZWYgLCBHZXRCYXNpY0Jsb2NrVGVybWluYXRvciwgKExMVk1CYXNpY0Jsb2NrUmVmIEJCKSkgXAor
ICAgIG1hY3JvKHVuc2lnbmVkICwgQ291bnRCYXNpY0Jsb2NrcywgKExMVk1WYWx1ZVJlZiBGbikp
IFwKKyAgICBtYWNybyh2b2lkICwgR2V0QmFzaWNCbG9ja3MsIChMTFZNVmFsdWVSZWYgRm4sIExM
Vk1CYXNpY0Jsb2NrUmVmICpCYXNpY0Jsb2NrcykpIFwKKyAgICBtYWNybyhMTFZNQmFzaWNCbG9j
a1JlZiAsIEdldEZpcnN0QmFzaWNCbG9jaywgKExMVk1WYWx1ZVJlZiBGbikpIFwKKyAgICBtYWNy
byhMTFZNQmFzaWNCbG9ja1JlZiAsIEdldExhc3RCYXNpY0Jsb2NrLCAoTExWTVZhbHVlUmVmIEZu
KSkgXAorICAgIG1hY3JvKExMVk1CYXNpY0Jsb2NrUmVmICwgR2V0TmV4dEJhc2ljQmxvY2ssIChM
TFZNQmFzaWNCbG9ja1JlZiBCQikpIFwKKyAgICBtYWNybyhMTFZNQmFzaWNCbG9ja1JlZiAsIEdl
dFByZXZpb3VzQmFzaWNCbG9jaywgKExMVk1CYXNpY0Jsb2NrUmVmIEJCKSkgXAorICAgIG1hY3Jv
KExMVk1CYXNpY0Jsb2NrUmVmICwgR2V0RW50cnlCYXNpY0Jsb2NrLCAoTExWTVZhbHVlUmVmIEZu
KSkgXAorICAgIG1hY3JvKExMVk1CYXNpY0Jsb2NrUmVmICwgQXBwZW5kQmFzaWNCbG9ja0luQ29u
dGV4dCwgKExMVk1Db250ZXh0UmVmIEMsIExMVk1WYWx1ZVJlZiBGbiwgY29uc3QgY2hhciAqTmFt
ZSkpIFwKKyAgICBtYWNybyhMTFZNQmFzaWNCbG9ja1JlZiAsIEFwcGVuZEJhc2ljQmxvY2ssIChM
TFZNVmFsdWVSZWYgRm4sIGNvbnN0IGNoYXIgKk5hbWUpKSBcCisgICAgbWFjcm8oTExWTUJhc2lj
QmxvY2tSZWYgLCBJbnNlcnRCYXNpY0Jsb2NrSW5Db250ZXh0LCAoTExWTUNvbnRleHRSZWYgQywg
TExWTUJhc2ljQmxvY2tSZWYgQkIsIGNvbnN0IGNoYXIgKk5hbWUpKSBcCisgICAgbWFjcm8oTExW
TUJhc2ljQmxvY2tSZWYgLCBJbnNlcnRCYXNpY0Jsb2NrLCAoTExWTUJhc2ljQmxvY2tSZWYgSW5z
ZXJ0QmVmb3JlQkIsIGNvbnN0IGNoYXIgKk5hbWUpKSBcCisgICAgbWFjcm8odm9pZCAsIERlbGV0
ZUJhc2ljQmxvY2ssIChMTFZNQmFzaWNCbG9ja1JlZiBCQikpIFwKKyAgICBtYWNybyh2b2lkICwg
UmVtb3ZlQmFzaWNCbG9ja0Zyb21QYXJlbnQsIChMTFZNQmFzaWNCbG9ja1JlZiBCQikpIFwKKyAg
ICBtYWNybyh2b2lkICwgTW92ZUJhc2ljQmxvY2tCZWZvcmUsIChMTFZNQmFzaWNCbG9ja1JlZiBC
QiwgTExWTUJhc2ljQmxvY2tSZWYgTW92ZVBvcykpIFwKKyAgICBtYWNybyh2b2lkICwgTW92ZUJh
c2ljQmxvY2tBZnRlciwgKExMVk1CYXNpY0Jsb2NrUmVmIEJCLCBMTFZNQmFzaWNCbG9ja1JlZiBN
b3ZlUG9zKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiAsIEdldEZpcnN0SW5zdHJ1Y3Rpb24s
IChMTFZNQmFzaWNCbG9ja1JlZiBCQikpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYgLCBHZXRM
YXN0SW5zdHJ1Y3Rpb24sIChMTFZNQmFzaWNCbG9ja1JlZiBCQikpIFwKKyAgICBtYWNybyhpbnQg
LCBIYXNNZXRhZGF0YSwgKExMVk1WYWx1ZVJlZiBWYWwpKSBcCisgICAgbWFjcm8oTExWTVZhbHVl
UmVmICwgR2V0TWV0YWRhdGEsIChMTFZNVmFsdWVSZWYgVmFsLCB1bnNpZ25lZCBLaW5kSUQpKSBc
CisgICAgbWFjcm8odm9pZCAsIFNldE1ldGFkYXRhLCAoTExWTVZhbHVlUmVmIFZhbCwgdW5zaWdu
ZWQgS2luZElELCBMTFZNVmFsdWVSZWYgTm9kZSkpIFwKKyAgICBtYWNybyhMTFZNQmFzaWNCbG9j
a1JlZiAsIEdldEluc3RydWN0aW9uUGFyZW50LCAoTExWTVZhbHVlUmVmIEluc3QpKSBcCisgICAg
bWFjcm8oTExWTVZhbHVlUmVmICwgR2V0TmV4dEluc3RydWN0aW9uLCAoTExWTVZhbHVlUmVmIElu
c3QpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmICwgR2V0UHJldmlvdXNJbnN0cnVjdGlvbiwg
KExMVk1WYWx1ZVJlZiBJbnN0KSkgXAorICAgIG1hY3JvKHZvaWQgLCBJbnN0cnVjdGlvbkVyYXNl
RnJvbVBhcmVudCwgKExMVk1WYWx1ZVJlZiBJbnN0KSkgXAorICAgIG1hY3JvKExMVk1PcGNvZGUg
LCBHZXRJbnN0cnVjdGlvbk9wY29kZSwgKExMVk1WYWx1ZVJlZiBJbnN0KSkgXAorICAgIG1hY3Jv
KExMVk1JbnRQcmVkaWNhdGUgLCBHZXRJQ21wUHJlZGljYXRlLCAoTExWTVZhbHVlUmVmIEluc3Qp
KSBcCisgICAgbWFjcm8odm9pZCAsIFNldEluc3RydWN0aW9uQ2FsbENvbnYsIChMTFZNVmFsdWVS
ZWYgSW5zdHIsIHVuc2lnbmVkIENDKSkgXAorICAgIG1hY3JvKHVuc2lnbmVkICwgR2V0SW5zdHJ1
Y3Rpb25DYWxsQ29udiwgKExMVk1WYWx1ZVJlZiBJbnN0cikpIFwKKyAgICBtYWNybyh2b2lkICwg
QWRkSW5zdHJBdHRyaWJ1dGUsIChMTFZNVmFsdWVSZWYgSW5zdHIsIHVuc2lnbmVkIGluZGV4LCBM
TFZNQXR0cmlidXRlKSkgXAorICAgIG1hY3JvKHZvaWQgLCBSZW1vdmVJbnN0ckF0dHJpYnV0ZSwg
KExMVk1WYWx1ZVJlZiBJbnN0ciwgdW5zaWduZWQgaW5kZXgsIExMVk1BdHRyaWJ1dGUpKSBcCisg
ICAgbWFjcm8odm9pZCAsIFNldEluc3RyUGFyYW1BbGlnbm1lbnQsIChMTFZNVmFsdWVSZWYgSW5z
dHIsIHVuc2lnbmVkIGluZGV4LCB1bnNpZ25lZCBhbGlnbikpIFwKKyAgICBtYWNybyhMTFZNQm9v
bCAsIElzVGFpbENhbGwsIChMTFZNVmFsdWVSZWYgQ2FsbEluc3QpKSBcCisgICAgbWFjcm8odm9p
ZCAsIFNldFRhaWxDYWxsLCAoTExWTVZhbHVlUmVmIENhbGxJbnN0LCBMTFZNQm9vbCBJc1RhaWxD
YWxsKSkgXAorICAgIG1hY3JvKExMVk1CYXNpY0Jsb2NrUmVmICwgR2V0U3dpdGNoRGVmYXVsdERl
c3QsIChMTFZNVmFsdWVSZWYgU3dpdGNoSW5zdHIpKSBcCisgICAgbWFjcm8odm9pZCAsIEFkZElu
Y29taW5nLCAoTExWTVZhbHVlUmVmIFBoaU5vZGUsIExMVk1WYWx1ZVJlZiAqSW5jb21pbmdWYWx1
ZXMsIExMVk1CYXNpY0Jsb2NrUmVmICpJbmNvbWluZ0Jsb2NrcywgdW5zaWduZWQgQ291bnQpKSBc
CisgICAgbWFjcm8odW5zaWduZWQgLCBDb3VudEluY29taW5nLCAoTExWTVZhbHVlUmVmIFBoaU5v
ZGUpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmICwgR2V0SW5jb21pbmdWYWx1ZSwgKExMVk1W
YWx1ZVJlZiBQaGlOb2RlLCB1bnNpZ25lZCBJbmRleCkpIFwKKyAgICBtYWNybyhMTFZNQmFzaWNC
bG9ja1JlZiAsIEdldEluY29taW5nQmxvY2ssIChMTFZNVmFsdWVSZWYgUGhpTm9kZSwgdW5zaWdu
ZWQgSW5kZXgpKSBcCisgICAgbWFjcm8oTExWTUJ1aWxkZXJSZWYgLCBDcmVhdGVCdWlsZGVySW5D
b250ZXh0LCAoTExWTUNvbnRleHRSZWYgQykpIFwKKyAgICBtYWNybyhMTFZNQnVpbGRlclJlZiAs
IENyZWF0ZUJ1aWxkZXIsICh2b2lkKSkgXAorICAgIG1hY3JvKHZvaWQgLCBQb3NpdGlvbkJ1aWxk
ZXIsIChMTFZNQnVpbGRlclJlZiBCdWlsZGVyLCBMTFZNQmFzaWNCbG9ja1JlZiBCbG9jaywgTExW
TVZhbHVlUmVmIEluc3RyKSkgXAorICAgIG1hY3JvKHZvaWQgLCBQb3NpdGlvbkJ1aWxkZXJCZWZv
cmUsIChMTFZNQnVpbGRlclJlZiBCdWlsZGVyLCBMTFZNVmFsdWVSZWYgSW5zdHIpKSBcCisgICAg
bWFjcm8odm9pZCAsIFBvc2l0aW9uQnVpbGRlckF0RW5kLCAoTExWTUJ1aWxkZXJSZWYgQnVpbGRl
ciwgTExWTUJhc2ljQmxvY2tSZWYgQmxvY2spKSBcCisgICAgbWFjcm8oTExWTUJhc2ljQmxvY2tS
ZWYgLCBHZXRJbnNlcnRCbG9jaywgKExMVk1CdWlsZGVyUmVmIEJ1aWxkZXIpKSBcCisgICAgbWFj
cm8odm9pZCAsIENsZWFySW5zZXJ0aW9uUG9zaXRpb24sIChMTFZNQnVpbGRlclJlZiBCdWlsZGVy
KSkgXAorICAgIG1hY3JvKHZvaWQgLCBJbnNlcnRJbnRvQnVpbGRlciwgKExMVk1CdWlsZGVyUmVm
IEJ1aWxkZXIsIExMVk1WYWx1ZVJlZiBJbnN0cikpIFwKKyAgICBtYWNybyh2b2lkICwgSW5zZXJ0
SW50b0J1aWxkZXJXaXRoTmFtZSwgKExMVk1CdWlsZGVyUmVmIEJ1aWxkZXIsIExMVk1WYWx1ZVJl
ZiBJbnN0ciwgY29uc3QgY2hhciAqTmFtZSkpIFwKKyAgICBtYWNybyh2b2lkICwgRGlzcG9zZUJ1
aWxkZXIsIChMTFZNQnVpbGRlclJlZiBCdWlsZGVyKSkgXAorICAgIG1hY3JvKHZvaWQgLCBTZXRD
dXJyZW50RGVidWdMb2NhdGlvbiwgKExMVk1CdWlsZGVyUmVmIEJ1aWxkZXIsIExMVk1WYWx1ZVJl
ZiBMKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiAsIEdldEN1cnJlbnREZWJ1Z0xvY2F0aW9u
LCAoTExWTUJ1aWxkZXJSZWYgQnVpbGRlcikpIFwKKyAgICBtYWNybyh2b2lkICwgU2V0SW5zdERl
YnVnTG9jYXRpb24sIChMTFZNQnVpbGRlclJlZiBCdWlsZGVyLCBMTFZNVmFsdWVSZWYgSW5zdCkp
IFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYgLCBCdWlsZFJldFZvaWQsIChMTFZNQnVpbGRlclJl
ZikpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYgLCBCdWlsZFJldCwgKExMVk1CdWlsZGVyUmVm
LCBMTFZNVmFsdWVSZWYgVikpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYgLCBCdWlsZEFnZ3Jl
Z2F0ZVJldCwgKExMVk1CdWlsZGVyUmVmLCBMTFZNVmFsdWVSZWYgKlJldFZhbHMsIHVuc2lnbmVk
IE4pKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmICwgQnVpbGRCciwgKExMVk1CdWlsZGVyUmVm
LCBMTFZNQmFzaWNCbG9ja1JlZiBEZXN0KSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiAsIEJ1
aWxkQ29uZEJyLCAoTExWTUJ1aWxkZXJSZWYsIExMVk1WYWx1ZVJlZiBJZiwgTExWTUJhc2ljQmxv
Y2tSZWYgVGhlbiwgTExWTUJhc2ljQmxvY2tSZWYgRWxzZSkpIFwKKyAgICBtYWNybyhMTFZNVmFs
dWVSZWYgLCBCdWlsZFN3aXRjaCwgKExMVk1CdWlsZGVyUmVmLCBMTFZNVmFsdWVSZWYgViwgTExW
TUJhc2ljQmxvY2tSZWYgRWxzZSwgdW5zaWduZWQgTnVtQ2FzZXMpKSBcCisgICAgbWFjcm8oTExW
TVZhbHVlUmVmICwgQnVpbGRJbmRpcmVjdEJyLCAoTExWTUJ1aWxkZXJSZWYgQiwgTExWTVZhbHVl
UmVmIEFkZHIsIHVuc2lnbmVkIE51bURlc3RzKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiAs
IEJ1aWxkSW52b2tlLCAoTExWTUJ1aWxkZXJSZWYsIExMVk1WYWx1ZVJlZiBGbiwgTExWTVZhbHVl
UmVmICpBcmdzLCB1bnNpZ25lZCBOdW1BcmdzLCBMTFZNQmFzaWNCbG9ja1JlZiBUaGVuLCBMTFZN
QmFzaWNCbG9ja1JlZiBDYXRjaCwgY29uc3QgY2hhciAqTmFtZSkpIFwKKyAgICBtYWNybyhMTFZN
VmFsdWVSZWYgLCBCdWlsZExhbmRpbmdQYWQsIChMTFZNQnVpbGRlclJlZiBCLCBMTFZNVHlwZVJl
ZiBUeSwgTExWTVZhbHVlUmVmIFBlcnNGbiwgdW5zaWduZWQgTnVtQ2xhdXNlcywgY29uc3QgY2hh
ciAqTmFtZSkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYgLCBCdWlsZFJlc3VtZSwgKExMVk1C
dWlsZGVyUmVmIEIsIExMVk1WYWx1ZVJlZiBFeG4pKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVm
ICwgQnVpbGRVbnJlYWNoYWJsZSwgKExMVk1CdWlsZGVyUmVmKSkgXAorICAgIG1hY3JvKHZvaWQg
LCBBZGRDYXNlLCAoTExWTVZhbHVlUmVmIFN3aXRjaCwgTExWTVZhbHVlUmVmIE9uVmFsLCBMTFZN
QmFzaWNCbG9ja1JlZiBEZXN0KSkgXAorICAgIG1hY3JvKHZvaWQgLCBBZGREZXN0aW5hdGlvbiwg
KExMVk1WYWx1ZVJlZiBJbmRpcmVjdEJyLCBMTFZNQmFzaWNCbG9ja1JlZiBEZXN0KSkgXAorICAg
IG1hY3JvKHZvaWQgLCBBZGRDbGF1c2UsIChMTFZNVmFsdWVSZWYgTGFuZGluZ1BhZCwgTExWTVZh
bHVlUmVmIENsYXVzZVZhbCkpIFwKKyAgICBtYWNybyh2b2lkICwgU2V0Q2xlYW51cCwgKExMVk1W
YWx1ZVJlZiBMYW5kaW5nUGFkLCBMTFZNQm9vbCBWYWwpKSBcCisgICAgbWFjcm8oTExWTVZhbHVl
UmVmICwgQnVpbGRBZGQsIChMTFZNQnVpbGRlclJlZiwgTExWTVZhbHVlUmVmIExIUywgTExWTVZh
bHVlUmVmIFJIUywgY29uc3QgY2hhciAqTmFtZSkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYg
LCBCdWlsZE5TV0FkZCwgKExMVk1CdWlsZGVyUmVmLCBMTFZNVmFsdWVSZWYgTEhTLCBMTFZNVmFs
dWVSZWYgUkhTLCBjb25zdCBjaGFyICpOYW1lKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiAs
IEJ1aWxkTlVXQWRkLCAoTExWTUJ1aWxkZXJSZWYsIExMVk1WYWx1ZVJlZiBMSFMsIExMVk1WYWx1
ZVJlZiBSSFMsIGNvbnN0IGNoYXIgKk5hbWUpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmICwg
QnVpbGRGQWRkLCAoTExWTUJ1aWxkZXJSZWYsIExMVk1WYWx1ZVJlZiBMSFMsIExMVk1WYWx1ZVJl
ZiBSSFMsIGNvbnN0IGNoYXIgKk5hbWUpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmICwgQnVp
bGRTdWIsIChMTFZNQnVpbGRlclJlZiwgTExWTVZhbHVlUmVmIExIUywgTExWTVZhbHVlUmVmIFJI
UywgY29uc3QgY2hhciAqTmFtZSkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYgLCBCdWlsZE5T
V1N1YiwgKExMVk1CdWlsZGVyUmVmLCBMTFZNVmFsdWVSZWYgTEhTLCBMTFZNVmFsdWVSZWYgUkhT
LCBjb25zdCBjaGFyICpOYW1lKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiAsIEJ1aWxkTlVX
U3ViLCAoTExWTUJ1aWxkZXJSZWYsIExMVk1WYWx1ZVJlZiBMSFMsIExMVk1WYWx1ZVJlZiBSSFMs
IGNvbnN0IGNoYXIgKk5hbWUpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmICwgQnVpbGRGU3Vi
LCAoTExWTUJ1aWxkZXJSZWYsIExMVk1WYWx1ZVJlZiBMSFMsIExMVk1WYWx1ZVJlZiBSSFMsIGNv
bnN0IGNoYXIgKk5hbWUpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmICwgQnVpbGRNdWwsIChM
TFZNQnVpbGRlclJlZiwgTExWTVZhbHVlUmVmIExIUywgTExWTVZhbHVlUmVmIFJIUywgY29uc3Qg
Y2hhciAqTmFtZSkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYgLCBCdWlsZE5TV011bCwgKExM
Vk1CdWlsZGVyUmVmLCBMTFZNVmFsdWVSZWYgTEhTLCBMTFZNVmFsdWVSZWYgUkhTLCBjb25zdCBj
aGFyICpOYW1lKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiAsIEJ1aWxkTlVXTXVsLCAoTExW
TUJ1aWxkZXJSZWYsIExMVk1WYWx1ZVJlZiBMSFMsIExMVk1WYWx1ZVJlZiBSSFMsIGNvbnN0IGNo
YXIgKk5hbWUpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmICwgQnVpbGRGTXVsLCAoTExWTUJ1
aWxkZXJSZWYsIExMVk1WYWx1ZVJlZiBMSFMsIExMVk1WYWx1ZVJlZiBSSFMsIGNvbnN0IGNoYXIg
Kk5hbWUpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmICwgQnVpbGRVRGl2LCAoTExWTUJ1aWxk
ZXJSZWYsIExMVk1WYWx1ZVJlZiBMSFMsIExMVk1WYWx1ZVJlZiBSSFMsIGNvbnN0IGNoYXIgKk5h
bWUpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmICwgQnVpbGRTRGl2LCAoTExWTUJ1aWxkZXJS
ZWYsIExMVk1WYWx1ZVJlZiBMSFMsIExMVk1WYWx1ZVJlZiBSSFMsIGNvbnN0IGNoYXIgKk5hbWUp
KSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmICwgQnVpbGRFeGFjdFNEaXYsIChMTFZNQnVpbGRl
clJlZiwgTExWTVZhbHVlUmVmIExIUywgTExWTVZhbHVlUmVmIFJIUywgY29uc3QgY2hhciAqTmFt
ZSkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYgLCBCdWlsZEZEaXYsIChMTFZNQnVpbGRlclJl
ZiwgTExWTVZhbHVlUmVmIExIUywgTExWTVZhbHVlUmVmIFJIUywgY29uc3QgY2hhciAqTmFtZSkp
IFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYgLCBCdWlsZFVSZW0sIChMTFZNQnVpbGRlclJlZiwg
TExWTVZhbHVlUmVmIExIUywgTExWTVZhbHVlUmVmIFJIUywgY29uc3QgY2hhciAqTmFtZSkpIFwK
KyAgICBtYWNybyhMTFZNVmFsdWVSZWYgLCBCdWlsZFNSZW0sIChMTFZNQnVpbGRlclJlZiwgTExW
TVZhbHVlUmVmIExIUywgTExWTVZhbHVlUmVmIFJIUywgY29uc3QgY2hhciAqTmFtZSkpIFwKKyAg
ICBtYWNybyhMTFZNVmFsdWVSZWYgLCBCdWlsZEZSZW0sIChMTFZNQnVpbGRlclJlZiwgTExWTVZh
bHVlUmVmIExIUywgTExWTVZhbHVlUmVmIFJIUywgY29uc3QgY2hhciAqTmFtZSkpIFwKKyAgICBt
YWNybyhMTFZNVmFsdWVSZWYgLCBCdWlsZFNobCwgKExMVk1CdWlsZGVyUmVmLCBMTFZNVmFsdWVS
ZWYgTEhTLCBMTFZNVmFsdWVSZWYgUkhTLCBjb25zdCBjaGFyICpOYW1lKSkgXAorICAgIG1hY3Jv
KExMVk1WYWx1ZVJlZiAsIEJ1aWxkTFNociwgKExMVk1CdWlsZGVyUmVmLCBMTFZNVmFsdWVSZWYg
TEhTLCBMTFZNVmFsdWVSZWYgUkhTLCBjb25zdCBjaGFyICpOYW1lKSkgXAorICAgIG1hY3JvKExM
Vk1WYWx1ZVJlZiAsIEJ1aWxkQVNociwgKExMVk1CdWlsZGVyUmVmLCBMTFZNVmFsdWVSZWYgTEhT
LCBMTFZNVmFsdWVSZWYgUkhTLCBjb25zdCBjaGFyICpOYW1lKSkgXAorICAgIG1hY3JvKExMVk1W
YWx1ZVJlZiAsIEJ1aWxkQW5kLCAoTExWTUJ1aWxkZXJSZWYsIExMVk1WYWx1ZVJlZiBMSFMsIExM
Vk1WYWx1ZVJlZiBSSFMsIGNvbnN0IGNoYXIgKk5hbWUpKSBcCisgICAgbWFjcm8oTExWTVZhbHVl
UmVmICwgQnVpbGRPciwgKExMVk1CdWlsZGVyUmVmLCBMTFZNVmFsdWVSZWYgTEhTLCBMTFZNVmFs
dWVSZWYgUkhTLCBjb25zdCBjaGFyICpOYW1lKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiAs
IEJ1aWxkWG9yLCAoTExWTUJ1aWxkZXJSZWYsIExMVk1WYWx1ZVJlZiBMSFMsIExMVk1WYWx1ZVJl
ZiBSSFMsIGNvbnN0IGNoYXIgKk5hbWUpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmICwgQnVp
bGRCaW5PcCwgKExMVk1CdWlsZGVyUmVmIEIsIExMVk1PcGNvZGUgT3AsIExMVk1WYWx1ZVJlZiBM
SFMsIExMVk1WYWx1ZVJlZiBSSFMsIGNvbnN0IGNoYXIgKk5hbWUpKSBcCisgICAgbWFjcm8oTExW
TVZhbHVlUmVmICwgQnVpbGROZWcsIChMTFZNQnVpbGRlclJlZiwgTExWTVZhbHVlUmVmIFYsIGNv
bnN0IGNoYXIgKk5hbWUpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmICwgQnVpbGROU1dOZWcs
IChMTFZNQnVpbGRlclJlZiBCLCBMTFZNVmFsdWVSZWYgViwgY29uc3QgY2hhciAqTmFtZSkpIFwK
KyAgICBtYWNybyhMTFZNVmFsdWVSZWYgLCBCdWlsZE5VV05lZywgKExMVk1CdWlsZGVyUmVmIEIs
IExMVk1WYWx1ZVJlZiBWLCBjb25zdCBjaGFyICpOYW1lKSkgXAorICAgIG1hY3JvKExMVk1WYWx1
ZVJlZiAsIEJ1aWxkRk5lZywgKExMVk1CdWlsZGVyUmVmLCBMTFZNVmFsdWVSZWYgViwgY29uc3Qg
Y2hhciAqTmFtZSkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYgLCBCdWlsZE5vdCwgKExMVk1C
dWlsZGVyUmVmLCBMTFZNVmFsdWVSZWYgViwgY29uc3QgY2hhciAqTmFtZSkpIFwKKyAgICBtYWNy
byhMTFZNVmFsdWVSZWYgLCBCdWlsZE1hbGxvYywgKExMVk1CdWlsZGVyUmVmLCBMTFZNVHlwZVJl
ZiBUeSwgY29uc3QgY2hhciAqTmFtZSkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYgLCBCdWls
ZEFycmF5TWFsbG9jLCAoTExWTUJ1aWxkZXJSZWYsIExMVk1UeXBlUmVmIFR5LCBMTFZNVmFsdWVS
ZWYgVmFsLCBjb25zdCBjaGFyICpOYW1lKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiAsIEJ1
aWxkQWxsb2NhLCAoTExWTUJ1aWxkZXJSZWYsIExMVk1UeXBlUmVmIFR5LCBjb25zdCBjaGFyICpO
YW1lKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiAsIEJ1aWxkQXJyYXlBbGxvY2EsIChMTFZN
QnVpbGRlclJlZiwgTExWTVR5cGVSZWYgVHksIExMVk1WYWx1ZVJlZiBWYWwsIGNvbnN0IGNoYXIg
Kk5hbWUpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmICwgQnVpbGRGcmVlLCAoTExWTUJ1aWxk
ZXJSZWYsIExMVk1WYWx1ZVJlZiBQb2ludGVyVmFsKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJl
ZiAsIEJ1aWxkTG9hZCwgKExMVk1CdWlsZGVyUmVmLCBMTFZNVmFsdWVSZWYgUG9pbnRlclZhbCwg
Y29uc3QgY2hhciAqTmFtZSkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYgLCBCdWlsZFN0b3Jl
LCAoTExWTUJ1aWxkZXJSZWYsIExMVk1WYWx1ZVJlZiBWYWwsIExMVk1WYWx1ZVJlZiBQdHIpKSBc
CisgICAgbWFjcm8oTExWTVZhbHVlUmVmICwgQnVpbGRHRVAsIChMTFZNQnVpbGRlclJlZiBCLCBM
TFZNVmFsdWVSZWYgUG9pbnRlciwgTExWTVZhbHVlUmVmICpJbmRpY2VzLCB1bnNpZ25lZCBOdW1J
bmRpY2VzLCBjb25zdCBjaGFyICpOYW1lKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiAsIEJ1
aWxkSW5Cb3VuZHNHRVAsIChMTFZNQnVpbGRlclJlZiBCLCBMTFZNVmFsdWVSZWYgUG9pbnRlciwg
TExWTVZhbHVlUmVmICpJbmRpY2VzLCB1bnNpZ25lZCBOdW1JbmRpY2VzLCBjb25zdCBjaGFyICpO
YW1lKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiAsIEJ1aWxkU3RydWN0R0VQLCAoTExWTUJ1
aWxkZXJSZWYgQiwgTExWTVZhbHVlUmVmIFBvaW50ZXIsIHVuc2lnbmVkIElkeCwgY29uc3QgY2hh
ciAqTmFtZSkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYgLCBCdWlsZEdsb2JhbFN0cmluZywg
KExMVk1CdWlsZGVyUmVmIEIsIGNvbnN0IGNoYXIgKlN0ciwgY29uc3QgY2hhciAqTmFtZSkpIFwK
KyAgICBtYWNybyhMTFZNVmFsdWVSZWYgLCBCdWlsZEdsb2JhbFN0cmluZ1B0ciwgKExMVk1CdWls
ZGVyUmVmIEIsIGNvbnN0IGNoYXIgKlN0ciwgY29uc3QgY2hhciAqTmFtZSkpIFwKKyAgICBtYWNy
byhMTFZNQm9vbCAsIEdldFZvbGF0aWxlLCAoTExWTVZhbHVlUmVmIE1lbW9yeUFjY2Vzc0luc3Qp
KSBcCisgICAgbWFjcm8odm9pZCAsIFNldFZvbGF0aWxlLCAoTExWTVZhbHVlUmVmIE1lbW9yeUFj
Y2Vzc0luc3QsIExMVk1Cb29sIElzVm9sYXRpbGUpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVm
ICwgQnVpbGRUcnVuYywgKExMVk1CdWlsZGVyUmVmLCBMTFZNVmFsdWVSZWYgVmFsLCBMTFZNVHlw
ZVJlZiBEZXN0VHksIGNvbnN0IGNoYXIgKk5hbWUpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVm
ICwgQnVpbGRaRXh0LCAoTExWTUJ1aWxkZXJSZWYsIExMVk1WYWx1ZVJlZiBWYWwsIExMVk1UeXBl
UmVmIERlc3RUeSwgY29uc3QgY2hhciAqTmFtZSkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYg
LCBCdWlsZFNFeHQsIChMTFZNQnVpbGRlclJlZiwgTExWTVZhbHVlUmVmIFZhbCwgTExWTVR5cGVS
ZWYgRGVzdFR5LCBjb25zdCBjaGFyICpOYW1lKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiAs
IEJ1aWxkRlBUb1VJLCAoTExWTUJ1aWxkZXJSZWYsIExMVk1WYWx1ZVJlZiBWYWwsIExMVk1UeXBl
UmVmIERlc3RUeSwgY29uc3QgY2hhciAqTmFtZSkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYg
LCBCdWlsZEZQVG9TSSwgKExMVk1CdWlsZGVyUmVmLCBMTFZNVmFsdWVSZWYgVmFsLCBMTFZNVHlw
ZVJlZiBEZXN0VHksIGNvbnN0IGNoYXIgKk5hbWUpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVm
ICwgQnVpbGRVSVRvRlAsIChMTFZNQnVpbGRlclJlZiwgTExWTVZhbHVlUmVmIFZhbCwgTExWTVR5
cGVSZWYgRGVzdFR5LCBjb25zdCBjaGFyICpOYW1lKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJl
ZiAsIEJ1aWxkU0lUb0ZQLCAoTExWTUJ1aWxkZXJSZWYsIExMVk1WYWx1ZVJlZiBWYWwsIExMVk1U
eXBlUmVmIERlc3RUeSwgY29uc3QgY2hhciAqTmFtZSkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVS
ZWYgLCBCdWlsZEZQVHJ1bmMsIChMTFZNQnVpbGRlclJlZiwgTExWTVZhbHVlUmVmIFZhbCwgTExW
TVR5cGVSZWYgRGVzdFR5LCBjb25zdCBjaGFyICpOYW1lKSkgXAorICAgIG1hY3JvKExMVk1WYWx1
ZVJlZiAsIEJ1aWxkRlBFeHQsIChMTFZNQnVpbGRlclJlZiwgTExWTVZhbHVlUmVmIFZhbCwgTExW
TVR5cGVSZWYgRGVzdFR5LCBjb25zdCBjaGFyICpOYW1lKSkgXAorICAgIG1hY3JvKExMVk1WYWx1
ZVJlZiAsIEJ1aWxkUHRyVG9JbnQsIChMTFZNQnVpbGRlclJlZiwgTExWTVZhbHVlUmVmIFZhbCwg
TExWTVR5cGVSZWYgRGVzdFR5LCBjb25zdCBjaGFyICpOYW1lKSkgXAorICAgIG1hY3JvKExMVk1W
YWx1ZVJlZiAsIEJ1aWxkSW50VG9QdHIsIChMTFZNQnVpbGRlclJlZiwgTExWTVZhbHVlUmVmIFZh
bCwgTExWTVR5cGVSZWYgRGVzdFR5LCBjb25zdCBjaGFyICpOYW1lKSkgXAorICAgIG1hY3JvKExM
Vk1WYWx1ZVJlZiAsIEJ1aWxkQml0Q2FzdCwgKExMVk1CdWlsZGVyUmVmLCBMTFZNVmFsdWVSZWYg
VmFsLCBMTFZNVHlwZVJlZiBEZXN0VHksIGNvbnN0IGNoYXIgKk5hbWUpKSBcCisgICAgbWFjcm8o
TExWTVZhbHVlUmVmICwgQnVpbGRaRXh0T3JCaXRDYXN0LCAoTExWTUJ1aWxkZXJSZWYsIExMVk1W
YWx1ZVJlZiBWYWwsIExMVk1UeXBlUmVmIERlc3RUeSwgY29uc3QgY2hhciAqTmFtZSkpIFwKKyAg
ICBtYWNybyhMTFZNVmFsdWVSZWYgLCBCdWlsZFNFeHRPckJpdENhc3QsIChMTFZNQnVpbGRlclJl
ZiwgTExWTVZhbHVlUmVmIFZhbCwgTExWTVR5cGVSZWYgRGVzdFR5LCBjb25zdCBjaGFyICpOYW1l
KSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiAsIEJ1aWxkVHJ1bmNPckJpdENhc3QsIChMTFZN
QnVpbGRlclJlZiwgTExWTVZhbHVlUmVmIFZhbCwgTExWTVR5cGVSZWYgRGVzdFR5LCBjb25zdCBj
aGFyICpOYW1lKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiAsIEJ1aWxkQ2FzdCwgKExMVk1C
dWlsZGVyUmVmIEIsIExMVk1PcGNvZGUgT3AsIExMVk1WYWx1ZVJlZiBWYWwsIExMVk1UeXBlUmVm
IERlc3RUeSwgY29uc3QgY2hhciAqTmFtZSkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYgLCBC
dWlsZFBvaW50ZXJDYXN0LCAoTExWTUJ1aWxkZXJSZWYsIExMVk1WYWx1ZVJlZiBWYWwsIExMVk1U
eXBlUmVmIERlc3RUeSwgY29uc3QgY2hhciAqTmFtZSkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVS
ZWYgLCBCdWlsZEludENhc3QsIChMTFZNQnVpbGRlclJlZiwgTExWTVZhbHVlUmVmIFZhbCwgTExW
TVR5cGVSZWYgRGVzdFR5LCBjb25zdCBjaGFyICpOYW1lKSkgXAorICAgIG1hY3JvKExMVk1WYWx1
ZVJlZiAsIEJ1aWxkRlBDYXN0LCAoTExWTUJ1aWxkZXJSZWYsIExMVk1WYWx1ZVJlZiBWYWwsIExM
Vk1UeXBlUmVmIERlc3RUeSwgY29uc3QgY2hhciAqTmFtZSkpIFwKKyAgICBtYWNybyhMTFZNVmFs
dWVSZWYgLCBCdWlsZElDbXAsIChMTFZNQnVpbGRlclJlZiwgTExWTUludFByZWRpY2F0ZSBPcCwg
TExWTVZhbHVlUmVmIExIUywgTExWTVZhbHVlUmVmIFJIUywgY29uc3QgY2hhciAqTmFtZSkpIFwK
KyAgICBtYWNybyhMTFZNVmFsdWVSZWYgLCBCdWlsZEZDbXAsIChMTFZNQnVpbGRlclJlZiwgTExW
TVJlYWxQcmVkaWNhdGUgT3AsIExMVk1WYWx1ZVJlZiBMSFMsIExMVk1WYWx1ZVJlZiBSSFMsIGNv
bnN0IGNoYXIgKk5hbWUpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmICwgQnVpbGRQaGksIChM
TFZNQnVpbGRlclJlZiwgTExWTVR5cGVSZWYgVHksIGNvbnN0IGNoYXIgKk5hbWUpKSBcCisgICAg
bWFjcm8oTExWTVZhbHVlUmVmICwgQnVpbGRDYWxsLCAoTExWTUJ1aWxkZXJSZWYsIExMVk1WYWx1
ZVJlZiBGbiwgTExWTVZhbHVlUmVmICpBcmdzLCB1bnNpZ25lZCBOdW1BcmdzLCBjb25zdCBjaGFy
ICpOYW1lKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiAsIEJ1aWxkU2VsZWN0LCAoTExWTUJ1
aWxkZXJSZWYsIExMVk1WYWx1ZVJlZiBJZiwgTExWTVZhbHVlUmVmIFRoZW4sIExMVk1WYWx1ZVJl
ZiBFbHNlLCBjb25zdCBjaGFyICpOYW1lKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiAsIEJ1
aWxkVkFBcmcsIChMTFZNQnVpbGRlclJlZiwgTExWTVZhbHVlUmVmIExpc3QsIExMVk1UeXBlUmVm
IFR5LCBjb25zdCBjaGFyICpOYW1lKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiAsIEJ1aWxk
RXh0cmFjdEVsZW1lbnQsIChMTFZNQnVpbGRlclJlZiwgTExWTVZhbHVlUmVmIFZlY1ZhbCwgTExW
TVZhbHVlUmVmIEluZGV4LCBjb25zdCBjaGFyICpOYW1lKSkgXAorICAgIG1hY3JvKExMVk1WYWx1
ZVJlZiAsIEJ1aWxkSW5zZXJ0RWxlbWVudCwgKExMVk1CdWlsZGVyUmVmLCBMTFZNVmFsdWVSZWYg
VmVjVmFsLCBMTFZNVmFsdWVSZWYgRWx0VmFsLCBMTFZNVmFsdWVSZWYgSW5kZXgsIGNvbnN0IGNo
YXIgKk5hbWUpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmICwgQnVpbGRTaHVmZmxlVmVjdG9y
LCAoTExWTUJ1aWxkZXJSZWYsIExMVk1WYWx1ZVJlZiBWMSwgTExWTVZhbHVlUmVmIFYyLCBMTFZN
VmFsdWVSZWYgTWFzaywgY29uc3QgY2hhciAqTmFtZSkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVS
ZWYgLCBCdWlsZEV4dHJhY3RWYWx1ZSwgKExMVk1CdWlsZGVyUmVmLCBMTFZNVmFsdWVSZWYgQWdn
VmFsLCB1bnNpZ25lZCBJbmRleCwgY29uc3QgY2hhciAqTmFtZSkpIFwKKyAgICBtYWNybyhMTFZN
VmFsdWVSZWYgLCBCdWlsZEluc2VydFZhbHVlLCAoTExWTUJ1aWxkZXJSZWYsIExMVk1WYWx1ZVJl
ZiBBZ2dWYWwsIExMVk1WYWx1ZVJlZiBFbHRWYWwsIHVuc2lnbmVkIEluZGV4LCBjb25zdCBjaGFy
ICpOYW1lKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiAsIEJ1aWxkSXNOdWxsLCAoTExWTUJ1
aWxkZXJSZWYsIExMVk1WYWx1ZVJlZiBWYWwsIGNvbnN0IGNoYXIgKk5hbWUpKSBcCisgICAgbWFj
cm8oTExWTVZhbHVlUmVmICwgQnVpbGRJc05vdE51bGwsIChMTFZNQnVpbGRlclJlZiwgTExWTVZh
bHVlUmVmIFZhbCwgY29uc3QgY2hhciAqTmFtZSkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYg
LCBCdWlsZFB0ckRpZmYsIChMTFZNQnVpbGRlclJlZiwgTExWTVZhbHVlUmVmIExIUywgTExWTVZh
bHVlUmVmIFJIUywgY29uc3QgY2hhciAqTmFtZSkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYg
LCBCdWlsZEF0b21pY1JNVywgKExMVk1CdWlsZGVyUmVmIEIsTExWTUF0b21pY1JNV0Jpbk9wIG9w
LCBMTFZNVmFsdWVSZWYgUFRSLCBMTFZNVmFsdWVSZWYgVmFsLCBMTFZNQXRvbWljT3JkZXJpbmcg
b3JkZXJpbmcsIExMVk1Cb29sIHNpbmdsZVRocmVhZCkpIFwKKyAgICBtYWNybyhMTFZNTW9kdWxl
UHJvdmlkZXJSZWYsIENyZWF0ZU1vZHVsZVByb3ZpZGVyRm9yRXhpc3RpbmdNb2R1bGUsIChMTFZN
TW9kdWxlUmVmIE0pKSBcCisgICAgbWFjcm8odm9pZCAsIERpc3Bvc2VNb2R1bGVQcm92aWRlciwg
KExMVk1Nb2R1bGVQcm92aWRlclJlZiBNKSkgXAorICAgIG1hY3JvKExMVk1Cb29sICwgQ3JlYXRl
TWVtb3J5QnVmZmVyV2l0aENvbnRlbnRzT2ZGaWxlLCAoY29uc3QgY2hhciAqUGF0aCwgTExWTU1l
bW9yeUJ1ZmZlclJlZiAqT3V0TWVtQnVmLCBjaGFyICoqT3V0TWVzc2FnZSkpIFwKKyAgICBtYWNy
byhMTFZNQm9vbCAsIENyZWF0ZU1lbW9yeUJ1ZmZlcldpdGhTVERJTiwgKExMVk1NZW1vcnlCdWZm
ZXJSZWYgKk91dE1lbUJ1ZiwgY2hhciAqKk91dE1lc3NhZ2UpKSBcCisgICAgbWFjcm8oTExWTU1l
bW9yeUJ1ZmZlclJlZiAsIENyZWF0ZU1lbW9yeUJ1ZmZlcldpdGhNZW1vcnlSYW5nZSwgKGNvbnN0
IGNoYXIgKklucHV0RGF0YSwgc2l6ZV90IElucHV0RGF0YUxlbmd0aCwgY29uc3QgY2hhciAqQnVm
ZmVyTmFtZSwgTExWTUJvb2wgUmVxdWlyZXNOdWxsVGVybWluYXRvcikpIFwKKyAgICBtYWNybyhM
TFZNTWVtb3J5QnVmZmVyUmVmICwgQ3JlYXRlTWVtb3J5QnVmZmVyV2l0aE1lbW9yeVJhbmdlQ29w
eSwgKGNvbnN0IGNoYXIgKklucHV0RGF0YSwgc2l6ZV90IElucHV0RGF0YUxlbmd0aCwgY29uc3Qg
Y2hhciAqQnVmZmVyTmFtZSkpIFwKKyAgICBtYWNybyhjb25zdCBjaGFyICosIEdldEJ1ZmZlclN0
YXJ0LCAoTExWTU1lbW9yeUJ1ZmZlclJlZiBNZW1CdWYpKSBcCisgICAgbWFjcm8oc2l6ZV90ICwg
R2V0QnVmZmVyU2l6ZSwgKExMVk1NZW1vcnlCdWZmZXJSZWYgTWVtQnVmKSkgXAorICAgIG1hY3Jv
KHZvaWQgLCBEaXNwb3NlTWVtb3J5QnVmZmVyLCAoTExWTU1lbW9yeUJ1ZmZlclJlZiBNZW1CdWYp
KSBcCisgICAgbWFjcm8oTExWTVBhc3NSZWdpc3RyeVJlZiAsIEdldEdsb2JhbFBhc3NSZWdpc3Ry
eSwgKHZvaWQpKSBcCisgICAgbWFjcm8oTExWTVBhc3NNYW5hZ2VyUmVmICwgQ3JlYXRlUGFzc01h
bmFnZXIsICh2b2lkKSkgXAorICAgIG1hY3JvKExMVk1QYXNzTWFuYWdlclJlZiAsIENyZWF0ZUZ1
bmN0aW9uUGFzc01hbmFnZXJGb3JNb2R1bGUsIChMTFZNTW9kdWxlUmVmIE0pKSBcCisgICAgbWFj
cm8oTExWTVBhc3NNYW5hZ2VyUmVmICwgQ3JlYXRlRnVuY3Rpb25QYXNzTWFuYWdlciwgKExMVk1N
b2R1bGVQcm92aWRlclJlZiBNUCkpIFwKKyAgICBtYWNybyhMTFZNQm9vbCAsIFJ1blBhc3NNYW5h
Z2VyLCAoTExWTVBhc3NNYW5hZ2VyUmVmIFBNLCBMTFZNTW9kdWxlUmVmIE0pKSBcCisgICAgbWFj
cm8oTExWTUJvb2wgLCBJbml0aWFsaXplRnVuY3Rpb25QYXNzTWFuYWdlciwgKExMVk1QYXNzTWFu
YWdlclJlZiBGUE0pKSBcCisgICAgbWFjcm8oTExWTUJvb2wgLCBSdW5GdW5jdGlvblBhc3NNYW5h
Z2VyLCAoTExWTVBhc3NNYW5hZ2VyUmVmIEZQTSwgTExWTVZhbHVlUmVmIEYpKSBcCisgICAgbWFj
cm8oTExWTUJvb2wgLCBGaW5hbGl6ZUZ1bmN0aW9uUGFzc01hbmFnZXIsIChMTFZNUGFzc01hbmFn
ZXJSZWYgRlBNKSkgXAorICAgIG1hY3JvKHZvaWQgLCBEaXNwb3NlUGFzc01hbmFnZXIsIChMTFZN
UGFzc01hbmFnZXJSZWYgUE0pKSBcCisgICAgbWFjcm8oTExWTUJvb2wgLCBTdGFydE11bHRpdGhy
ZWFkZWQsICgpKSBcCisgICAgbWFjcm8odm9pZCAsIFN0b3BNdWx0aXRocmVhZGVkLCAoKSkgXAor
ICAgIG1hY3JvKExMVk1Cb29sICwgSXNNdWx0aXRocmVhZGVkLCAoKSkgXAorICAgIG1hY3JvKExM
Vk1UYXJnZXREYXRhUmVmICwgQ3JlYXRlVGFyZ2V0RGF0YSwgKGNvbnN0IGNoYXIgKlN0cmluZ1Jl
cCkpIFwKKyAgICBtYWNybyh2b2lkICwgQWRkVGFyZ2V0RGF0YSwgKExMVk1UYXJnZXREYXRhUmVm
LCBMTFZNUGFzc01hbmFnZXJSZWYpKSBcCisgICAgbWFjcm8odm9pZCAsIEFkZFRhcmdldExpYnJh
cnlJbmZvLCAoTExWTVRhcmdldExpYnJhcnlJbmZvUmVmLCBMTFZNUGFzc01hbmFnZXJSZWYpKSBc
CisgICAgbWFjcm8oY2hhciAqLCBDb3B5U3RyaW5nUmVwT2ZUYXJnZXREYXRhLCAoTExWTVRhcmdl
dERhdGFSZWYpKSBcCisgICAgbWFjcm8oZW51bSBMTFZNQnl0ZU9yZGVyaW5nICwgQnl0ZU9yZGVy
LCAoTExWTVRhcmdldERhdGFSZWYpKSBcCisgICAgbWFjcm8odW5zaWduZWQgLCBQb2ludGVyU2l6
ZSwgKExMVk1UYXJnZXREYXRhUmVmKSkgXAorICAgIG1hY3JvKExMVk1UeXBlUmVmICwgSW50UHRy
VHlwZSwgKExMVk1UYXJnZXREYXRhUmVmKSkgXAorICAgIG1hY3JvKHVuc2lnbmVkIGxvbmcgbG9u
ZyAsIFNpemVPZlR5cGVJbkJpdHMsIChMTFZNVGFyZ2V0RGF0YVJlZiwgTExWTVR5cGVSZWYpKSBc
CisgICAgbWFjcm8odW5zaWduZWQgbG9uZyBsb25nICwgU3RvcmVTaXplT2ZUeXBlLCAoTExWTVRh
cmdldERhdGFSZWYsIExMVk1UeXBlUmVmKSkgXAorICAgIG1hY3JvKHVuc2lnbmVkIGxvbmcgbG9u
ZyAsIEFCSVNpemVPZlR5cGUsIChMTFZNVGFyZ2V0RGF0YVJlZiwgTExWTVR5cGVSZWYpKSBcCisg
ICAgbWFjcm8odW5zaWduZWQgLCBBQklBbGlnbm1lbnRPZlR5cGUsIChMTFZNVGFyZ2V0RGF0YVJl
ZiwgTExWTVR5cGVSZWYpKSBcCisgICAgbWFjcm8odW5zaWduZWQgLCBDYWxsRnJhbWVBbGlnbm1l
bnRPZlR5cGUsIChMTFZNVGFyZ2V0RGF0YVJlZiwgTExWTVR5cGVSZWYpKSBcCisgICAgbWFjcm8o
dW5zaWduZWQgLCBQcmVmZXJyZWRBbGlnbm1lbnRPZlR5cGUsIChMTFZNVGFyZ2V0RGF0YVJlZiwg
TExWTVR5cGVSZWYpKSBcCisgICAgbWFjcm8odW5zaWduZWQgLCBQcmVmZXJyZWRBbGlnbm1lbnRP
Zkdsb2JhbCwgKExMVk1UYXJnZXREYXRhUmVmLCBMTFZNVmFsdWVSZWYgR2xvYmFsVmFyKSkgXAor
ICAgIG1hY3JvKHVuc2lnbmVkICwgRWxlbWVudEF0T2Zmc2V0LCAoTExWTVRhcmdldERhdGFSZWYs
IExMVk1UeXBlUmVmIFN0cnVjdFR5LCB1bnNpZ25lZCBsb25nIGxvbmcgT2Zmc2V0KSkgXAorICAg
IG1hY3JvKHVuc2lnbmVkIGxvbmcgbG9uZyAsIE9mZnNldE9mRWxlbWVudCwgKExMVk1UYXJnZXRE
YXRhUmVmLCBMTFZNVHlwZVJlZiBTdHJ1Y3RUeSwgdW5zaWduZWQgRWxlbWVudCkpIFwKKyAgICBt
YWNybyh2b2lkICwgRGlzcG9zZVRhcmdldERhdGEsIChMTFZNVGFyZ2V0RGF0YVJlZikpIFwKKyAg
ICBtYWNybyhMTFZNVGFyZ2V0UmVmICwgR2V0Rmlyc3RUYXJnZXQsICgpKSBcCisgICAgbWFjcm8o
TExWTVRhcmdldFJlZiAsIEdldE5leHRUYXJnZXQsIChMTFZNVGFyZ2V0UmVmIFQpKSBcCisgICAg
bWFjcm8oY29uc3QgY2hhciAqLCBHZXRUYXJnZXROYW1lLCAoTExWTVRhcmdldFJlZiBUKSkgXAor
ICAgIG1hY3JvKGNvbnN0IGNoYXIgKiwgR2V0VGFyZ2V0RGVzY3JpcHRpb24sIChMTFZNVGFyZ2V0
UmVmIFQpKSBcCisgICAgbWFjcm8oTExWTUJvb2wgLCBUYXJnZXRIYXNKSVQsIChMTFZNVGFyZ2V0
UmVmIFQpKSBcCisgICAgbWFjcm8oTExWTUJvb2wgLCBUYXJnZXRIYXNUYXJnZXRNYWNoaW5lLCAo
TExWTVRhcmdldFJlZiBUKSkgXAorICAgIG1hY3JvKExMVk1Cb29sICwgVGFyZ2V0SGFzQXNtQmFj
a2VuZCwgKExMVk1UYXJnZXRSZWYgVCkpIFwKKyAgICBtYWNybyhMTFZNVGFyZ2V0TWFjaGluZVJl
ZiAsIENyZWF0ZVRhcmdldE1hY2hpbmUsIChMTFZNVGFyZ2V0UmVmIFQsIGNoYXIgKlRyaXBsZSwg
Y2hhciAqQ1BVLCBjaGFyICpGZWF0dXJlcywgTExWTUNvZGVHZW5PcHRMZXZlbCBMZXZlbCwgTExW
TVJlbG9jTW9kZSBSZWxvYywgTExWTUNvZGVNb2RlbCBDb2RlTW9kZWwpKSBcCisgICAgbWFjcm8o
dm9pZCAsIERpc3Bvc2VUYXJnZXRNYWNoaW5lLCAoTExWTVRhcmdldE1hY2hpbmVSZWYgVCkpIFwK
KyAgICBtYWNybyhMTFZNVGFyZ2V0UmVmICwgR2V0VGFyZ2V0TWFjaGluZVRhcmdldCwgKExMVk1U
YXJnZXRNYWNoaW5lUmVmIFQpKSBcCisgICAgbWFjcm8oY2hhciAqLCBHZXRUYXJnZXRNYWNoaW5l
VHJpcGxlLCAoTExWTVRhcmdldE1hY2hpbmVSZWYgVCkpIFwKKyAgICBtYWNybyhjaGFyICosIEdl
dFRhcmdldE1hY2hpbmVDUFUsIChMTFZNVGFyZ2V0TWFjaGluZVJlZiBUKSkgXAorICAgIG1hY3Jv
KGNoYXIgKiwgR2V0VGFyZ2V0TWFjaGluZUZlYXR1cmVTdHJpbmcsIChMTFZNVGFyZ2V0TWFjaGlu
ZVJlZiBUKSkgXAorICAgIG1hY3JvKExMVk1UYXJnZXREYXRhUmVmICwgR2V0VGFyZ2V0TWFjaGlu
ZURhdGEsIChMTFZNVGFyZ2V0TWFjaGluZVJlZiBUKSkgXAorICAgIG1hY3JvKExMVk1Cb29sICwg
VGFyZ2V0TWFjaGluZUVtaXRUb0ZpbGUsIChMTFZNVGFyZ2V0TWFjaGluZVJlZiBULCBMTFZNTW9k
dWxlUmVmIE0sIGNoYXIgKkZpbGVuYW1lLCBMTFZNQ29kZUdlbkZpbGVUeXBlIGNvZGVnZW4sIGNo
YXIgKipFcnJvck1lc3NhZ2UpKSBcCisgICAgbWFjcm8odm9pZCAsIExpbmtJbkpJVCwgKHZvaWQp
KSBcCisgICAgbWFjcm8odm9pZCAsIExpbmtJbk1DSklULCAodm9pZCkpIFwKKyAgICBtYWNybyh2
b2lkICwgTGlua0luSW50ZXJwcmV0ZXIsICh2b2lkKSkgXAorICAgIG1hY3JvKExMVk1HZW5lcmlj
VmFsdWVSZWYgLCBDcmVhdGVHZW5lcmljVmFsdWVPZkludCwgKExMVk1UeXBlUmVmIFR5LCB1bnNp
Z25lZCBsb25nIGxvbmcgTiwgTExWTUJvb2wgSXNTaWduZWQpKSBcCisgICAgbWFjcm8oTExWTUdl
bmVyaWNWYWx1ZVJlZiAsIENyZWF0ZUdlbmVyaWNWYWx1ZU9mUG9pbnRlciwgKHZvaWQgKlApKSBc
CisgICAgbWFjcm8oTExWTUdlbmVyaWNWYWx1ZVJlZiAsIENyZWF0ZUdlbmVyaWNWYWx1ZU9mRmxv
YXQsIChMTFZNVHlwZVJlZiBUeSwgZG91YmxlIE4pKSBcCisgICAgbWFjcm8odW5zaWduZWQgLCBH
ZW5lcmljVmFsdWVJbnRXaWR0aCwgKExMVk1HZW5lcmljVmFsdWVSZWYgR2VuVmFsUmVmKSkgXAor
ICAgIG1hY3JvKHVuc2lnbmVkIGxvbmcgbG9uZyAsIEdlbmVyaWNWYWx1ZVRvSW50LCAoTExWTUdl
bmVyaWNWYWx1ZVJlZiBHZW5WYWwsIExMVk1Cb29sIElzU2lnbmVkKSkgXAorICAgIG1hY3JvKHZv
aWQgKiwgR2VuZXJpY1ZhbHVlVG9Qb2ludGVyLCAoTExWTUdlbmVyaWNWYWx1ZVJlZiBHZW5WYWwp
KSBcCisgICAgbWFjcm8oZG91YmxlICwgR2VuZXJpY1ZhbHVlVG9GbG9hdCwgKExMVk1UeXBlUmVm
IFR5UmVmLCBMTFZNR2VuZXJpY1ZhbHVlUmVmIEdlblZhbCkpIFwKKyAgICBtYWNybyh2b2lkICwg
RGlzcG9zZUdlbmVyaWNWYWx1ZSwgKExMVk1HZW5lcmljVmFsdWVSZWYgR2VuVmFsKSkgXAorICAg
IG1hY3JvKExMVk1Cb29sICwgQ3JlYXRlRXhlY3V0aW9uRW5naW5lRm9yTW9kdWxlLCAoTExWTUV4
ZWN1dGlvbkVuZ2luZVJlZiAqT3V0RUUsIExMVk1Nb2R1bGVSZWYgTSwgY2hhciAqKk91dEVycm9y
KSkgXAorICAgIG1hY3JvKExMVk1Cb29sICwgQ3JlYXRlSW50ZXJwcmV0ZXJGb3JNb2R1bGUsIChM
TFZNRXhlY3V0aW9uRW5naW5lUmVmICpPdXRJbnRlcnAsIExMVk1Nb2R1bGVSZWYgTSwgY2hhciAq
Kk91dEVycm9yKSkgXAorICAgIG1hY3JvKExMVk1Cb29sICwgQ3JlYXRlSklUQ29tcGlsZXJGb3JN
b2R1bGUsIChMTFZNRXhlY3V0aW9uRW5naW5lUmVmICpPdXRKSVQsIExMVk1Nb2R1bGVSZWYgTSwg
dW5zaWduZWQgT3B0TGV2ZWwsIGNoYXIgKipPdXRFcnJvcikpIFwKKyAgICBtYWNybyh2b2lkICwg
SW5pdGlhbGl6ZU1DSklUQ29tcGlsZXJPcHRpb25zLCAoIHN0cnVjdCBMTFZNTUNKSVRDb21waWxl
ck9wdGlvbnMgKk9wdGlvbnMsIHNpemVfdCBTaXplT2ZPcHRpb25zKSkgXAorICAgIG1hY3JvKExM
Vk1Cb29sICwgQ3JlYXRlTUNKSVRDb21waWxlckZvck1vZHVsZSwgKCBMTFZNRXhlY3V0aW9uRW5n
aW5lUmVmICpPdXRKSVQsIExMVk1Nb2R1bGVSZWYgTSwgc3RydWN0IExMVk1NQ0pJVENvbXBpbGVy
T3B0aW9ucyAqT3B0aW9ucywgc2l6ZV90IFNpemVPZk9wdGlvbnMsIGNoYXIgKipPdXRFcnJvcikp
IFwKKyAgICBtYWNybyhMTFZNQm9vbCAsIENyZWF0ZUV4ZWN1dGlvbkVuZ2luZSwgKExMVk1FeGVj
dXRpb25FbmdpbmVSZWYgKk91dEVFLCBMTFZNTW9kdWxlUHJvdmlkZXJSZWYgTVAsIGNoYXIgKipP
dXRFcnJvcikpIFwKKyAgICBtYWNybyhMTFZNQm9vbCAsIENyZWF0ZUludGVycHJldGVyLCAoTExW
TUV4ZWN1dGlvbkVuZ2luZVJlZiAqT3V0SW50ZXJwLCBMTFZNTW9kdWxlUHJvdmlkZXJSZWYgTVAs
IGNoYXIgKipPdXRFcnJvcikpIFwKKyAgICBtYWNybyhMTFZNQm9vbCAsIENyZWF0ZUpJVENvbXBp
bGVyLCAoTExWTUV4ZWN1dGlvbkVuZ2luZVJlZiAqT3V0SklULCBMTFZNTW9kdWxlUHJvdmlkZXJS
ZWYgTVAsIHVuc2lnbmVkIE9wdExldmVsLCBjaGFyICoqT3V0RXJyb3IpKSBcCisgICAgbWFjcm8o
dm9pZCAsIERpc3Bvc2VFeGVjdXRpb25FbmdpbmUsIChMTFZNRXhlY3V0aW9uRW5naW5lUmVmIEVF
KSkgXAorICAgIG1hY3JvKHZvaWQgLCBSdW5TdGF0aWNDb25zdHJ1Y3RvcnMsIChMTFZNRXhlY3V0
aW9uRW5naW5lUmVmIEVFKSkgXAorICAgIG1hY3JvKHZvaWQgLCBSdW5TdGF0aWNEZXN0cnVjdG9y
cywgKExMVk1FeGVjdXRpb25FbmdpbmVSZWYgRUUpKSBcCisgICAgbWFjcm8oaW50ICwgUnVuRnVu
Y3Rpb25Bc01haW4sIChMTFZNRXhlY3V0aW9uRW5naW5lUmVmIEVFLCBMTFZNVmFsdWVSZWYgRiwg
dW5zaWduZWQgQXJnQywgY29uc3QgY2hhciAqIGNvbnN0ICpBcmdWLCBjb25zdCBjaGFyICogY29u
c3QgKkVudlApKSBcCisgICAgbWFjcm8oTExWTUdlbmVyaWNWYWx1ZVJlZiAsIFJ1bkZ1bmN0aW9u
LCAoTExWTUV4ZWN1dGlvbkVuZ2luZVJlZiBFRSwgTExWTVZhbHVlUmVmIEYsIHVuc2lnbmVkIE51
bUFyZ3MsIExMVk1HZW5lcmljVmFsdWVSZWYgKkFyZ3MpKSBcCisgICAgbWFjcm8odm9pZCAsIEZy
ZWVNYWNoaW5lQ29kZUZvckZ1bmN0aW9uLCAoTExWTUV4ZWN1dGlvbkVuZ2luZVJlZiBFRSwgTExW
TVZhbHVlUmVmIEYpKSBcCisgICAgbWFjcm8odm9pZCAsIEFkZE1vZHVsZSwgKExMVk1FeGVjdXRp
b25FbmdpbmVSZWYgRUUsIExMVk1Nb2R1bGVSZWYgTSkpIFwKKyAgICBtYWNybyh2b2lkICwgQWRk
TW9kdWxlUHJvdmlkZXIsIChMTFZNRXhlY3V0aW9uRW5naW5lUmVmIEVFLCBMTFZNTW9kdWxlUHJv
dmlkZXJSZWYgTVApKSBcCisgICAgbWFjcm8oTExWTUJvb2wgLCBSZW1vdmVNb2R1bGUsIChMTFZN
RXhlY3V0aW9uRW5naW5lUmVmIEVFLCBMTFZNTW9kdWxlUmVmIE0sIExMVk1Nb2R1bGVSZWYgKk91
dE1vZCwgY2hhciAqKk91dEVycm9yKSkgXAorICAgIG1hY3JvKExMVk1Cb29sICwgUmVtb3ZlTW9k
dWxlUHJvdmlkZXIsIChMTFZNRXhlY3V0aW9uRW5naW5lUmVmIEVFLCBMTFZNTW9kdWxlUHJvdmlk
ZXJSZWYgTVAsIExMVk1Nb2R1bGVSZWYgKk91dE1vZCwgY2hhciAqKk91dEVycm9yKSkgXAorICAg
IG1hY3JvKExMVk1Cb29sICwgRmluZEZ1bmN0aW9uLCAoTExWTUV4ZWN1dGlvbkVuZ2luZVJlZiBF
RSwgY29uc3QgY2hhciAqTmFtZSwgTExWTVZhbHVlUmVmICpPdXRGbikpIFwKKyAgICBtYWNybyh2
b2lkICosIFJlY29tcGlsZUFuZFJlbGlua0Z1bmN0aW9uLCAoTExWTUV4ZWN1dGlvbkVuZ2luZVJl
ZiBFRSwgTExWTVZhbHVlUmVmIEZuKSkgXAorICAgIG1hY3JvKExMVk1UYXJnZXREYXRhUmVmICwg
R2V0RXhlY3V0aW9uRW5naW5lVGFyZ2V0RGF0YSwgKExMVk1FeGVjdXRpb25FbmdpbmVSZWYgRUUp
KSBcCisgICAgbWFjcm8odm9pZCAsIEFkZEdsb2JhbE1hcHBpbmcsIChMTFZNRXhlY3V0aW9uRW5n
aW5lUmVmIEVFLCBMTFZNVmFsdWVSZWYgR2xvYmFsLCB2b2lkKiBBZGRyKSkgXAorICAgIG1hY3Jv
KHZvaWQgKiwgR2V0UG9pbnRlclRvR2xvYmFsLCAoTExWTUV4ZWN1dGlvbkVuZ2luZVJlZiBFRSwg
TExWTVZhbHVlUmVmIEdsb2JhbCkpIFwKKyAgICBtYWNybyhMTFZNTUNKSVRNZW1vcnlNYW5hZ2Vy
UmVmICwgQ3JlYXRlU2ltcGxlTUNKSVRNZW1vcnlNYW5hZ2VyLCAoIHZvaWQgKk9wYXF1ZSwgTExW
TU1lbW9yeU1hbmFnZXJBbGxvY2F0ZUNvZGVTZWN0aW9uQ2FsbGJhY2sgQWxsb2NhdGVDb2RlU2Vj
dGlvbiwgTExWTU1lbW9yeU1hbmFnZXJBbGxvY2F0ZURhdGFTZWN0aW9uQ2FsbGJhY2sgQWxsb2Nh
dGVEYXRhU2VjdGlvbiwgTExWTU1lbW9yeU1hbmFnZXJGaW5hbGl6ZU1lbW9yeUNhbGxiYWNrIEZp
bmFsaXplTWVtb3J5LCBMTFZNTWVtb3J5TWFuYWdlckRlc3Ryb3lDYWxsYmFjayBEZXN0b3J5KSkg
XAorICAgIG1hY3JvKHZvaWQgLCBEaXNwb3NlTUNKSVRNZW1vcnlNYW5hZ2VyLCAoTExWTU1DSklU
TWVtb3J5TWFuYWdlclJlZiBNTSkpIFwKKyAgICBtYWNybyhMTFZNQm9vbCAsIFZlcmlmeU1vZHVs
ZSwgKExMVk1Nb2R1bGVSZWYgTSwgTExWTVZlcmlmaWVyRmFpbHVyZUFjdGlvbiBBY3Rpb24sIGNo
YXIgKipPdXRNZXNzYWdlKSkgXAorICAgIG1hY3JvKExMVk1Cb29sICwgVmVyaWZ5RnVuY3Rpb24s
IChMTFZNVmFsdWVSZWYgRm4sIExMVk1WZXJpZmllckZhaWx1cmVBY3Rpb24gQWN0aW9uKSkgXAor
ICAgIG1hY3JvKHZvaWQgLCBWaWV3RnVuY3Rpb25DRkcsIChMTFZNVmFsdWVSZWYgRm4pKSBcCisg
ICAgbWFjcm8odm9pZCAsIFZpZXdGdW5jdGlvbkNGR09ubHksIChMTFZNVmFsdWVSZWYgRm4pKSBc
CisgICAgbWFjcm8oTExWTURpc2FzbUNvbnRleHRSZWYgLCBDcmVhdGVEaXNhc20sIChjb25zdCBj
aGFyICpUcmlwbGVOYW1lLCB2b2lkICpEaXNJbmZvLCBpbnQgVGFnVHlwZSwgTExWTU9wSW5mb0Nh
bGxiYWNrIEdldE9wSW5mbywgTExWTVN5bWJvbExvb2t1cENhbGxiYWNrIFN5bWJvbExvb2tVcCkp
IFwKKyAgICBtYWNybyhMTFZNRGlzYXNtQ29udGV4dFJlZiAsIENyZWF0ZURpc2FzbUNQVSwgKGNv
bnN0IGNoYXIgKlRyaXBsZSwgY29uc3QgY2hhciAqQ1BVLCB2b2lkICpEaXNJbmZvLCBpbnQgVGFn
VHlwZSwgTExWTU9wSW5mb0NhbGxiYWNrIEdldE9wSW5mbywgTExWTVN5bWJvbExvb2t1cENhbGxi
YWNrIFN5bWJvbExvb2tVcCkpIFwKKyAgICBtYWNybyhpbnQgLCBTZXREaXNhc21PcHRpb25zLCAo
TExWTURpc2FzbUNvbnRleHRSZWYgREMsIHVpbnQ2NF90IE9wdGlvbnMpKSBcCisgICAgbWFjcm8o
dm9pZCAsIERpc2FzbURpc3Bvc2UsIChMTFZNRGlzYXNtQ29udGV4dFJlZiBEQykpIFwKKyAgICBt
YWNybyhzaXplX3QgLCBEaXNhc21JbnN0cnVjdGlvbiwgKExMVk1EaXNhc21Db250ZXh0UmVmIERD
LCB1aW50OF90ICpCeXRlcywgdWludDY0X3QgQnl0ZXNTaXplLCB1aW50NjRfdCBQQywgY2hhciAq
T3V0U3RyaW5nLCBzaXplX3QgT3V0U3RyaW5nU2l6ZSkpIFwKKyAgICBtYWNybyh1bnNpZ25lZCAs
IFBvaW50ZXJTaXplRm9yQVMsIChMTFZNVGFyZ2V0RGF0YVJlZiwgdW5zaWduZWQgQVMpKSBcCisg
ICAgbWFjcm8oTExWTVR5cGVSZWYgLCBJbnRQdHJUeXBlRm9yQVMsIChMTFZNVGFyZ2V0RGF0YVJl
ZiwgdW5zaWduZWQgQVMpKSBcCisgICAgbWFjcm8oTExWTVBhc3NNYW5hZ2VyQnVpbGRlclJlZiAs
IFBhc3NNYW5hZ2VyQnVpbGRlckNyZWF0ZSwgKHZvaWQpKSBcCisgICAgbWFjcm8odm9pZCAsIFBh
c3NNYW5hZ2VyQnVpbGRlckRpc3Bvc2UsIChMTFZNUGFzc01hbmFnZXJCdWlsZGVyUmVmIFBNQikp
IFwKKyAgICBtYWNybyh2b2lkLCBQYXNzTWFuYWdlckJ1aWxkZXJTZXRPcHRMZXZlbCwgKExMVk1Q
YXNzTWFuYWdlckJ1aWxkZXJSZWYgUE1CLCB1bnNpZ25lZCBPcHRMZXZlbCkpIFwKKyAgICBtYWNy
byh2b2lkLCBQYXNzTWFuYWdlckJ1aWxkZXJTZXRTaXplTGV2ZWwsIChMTFZNUGFzc01hbmFnZXJC
dWlsZGVyUmVmIFBNQiwgdW5zaWduZWQgU2l6ZUxldmVsKSkgXAorICAgIG1hY3JvKHZvaWQsIFBh
c3NNYW5hZ2VyQnVpbGRlclNldERpc2FibGVVbml0QXRBVGltZSwgKExMVk1QYXNzTWFuYWdlckJ1
aWxkZXJSZWYgUE1CLCBMTFZNQm9vbCBWYWx1ZSkpIFwKKyAgICBtYWNybyh2b2lkLCBQYXNzTWFu
YWdlckJ1aWxkZXJTZXREaXNhYmxlVW5yb2xsTG9vcHMsIChMTFZNUGFzc01hbmFnZXJCdWlsZGVy
UmVmIFBNQiwgTExWTUJvb2wgVmFsdWUpKSBcCisgICAgbWFjcm8odm9pZCwgUGFzc01hbmFnZXJC
dWlsZGVyU2V0RGlzYWJsZVNpbXBsaWZ5TGliQ2FsbHMsIChMTFZNUGFzc01hbmFnZXJCdWlsZGVy
UmVmIFBNQiwgTExWTUJvb2wgVmFsdWUpKSBcCisgICAgbWFjcm8odm9pZCwgUGFzc01hbmFnZXJC
dWlsZGVyVXNlSW5saW5lcldpdGhUaHJlc2hvbGQsIChMTFZNUGFzc01hbmFnZXJCdWlsZGVyUmVm
IFBNQiwgdW5zaWduZWQgVGhyZXNob2xkKSkgXAorICAgIG1hY3JvKHZvaWQsIFBhc3NNYW5hZ2Vy
QnVpbGRlclBvcHVsYXRlRnVuY3Rpb25QYXNzTWFuYWdlciwgKExMVk1QYXNzTWFuYWdlckJ1aWxk
ZXJSZWYgUE1CLCBMTFZNUGFzc01hbmFnZXJSZWYgUE0pKSBcCisgICAgbWFjcm8odm9pZCwgUGFz
c01hbmFnZXJCdWlsZGVyUG9wdWxhdGVNb2R1bGVQYXNzTWFuYWdlciwgKExMVk1QYXNzTWFuYWdl
ckJ1aWxkZXJSZWYgUE1CLCBMTFZNUGFzc01hbmFnZXJSZWYgUE0pKSBcCisgICAgbWFjcm8odm9p
ZCAsIFBhc3NNYW5hZ2VyQnVpbGRlclBvcHVsYXRlTFRPUGFzc01hbmFnZXIsIChMTFZNUGFzc01h
bmFnZXJCdWlsZGVyUmVmIFBNQiwgTExWTVBhc3NNYW5hZ2VyUmVmIFBNLCBMTFZNQm9vbCBJbnRl
cm5hbGl6ZSwgTExWTUJvb2wgUnVuSW5saW5lcikpIFwKKyAgICBtYWNybyh2b2lkICwgQWRkQWdn
cmVzc2l2ZURDRVBhc3MsIChMTFZNUGFzc01hbmFnZXJSZWYgUE0pKSBcCisgICAgbWFjcm8odm9p
ZCAsIEFkZENGR1NpbXBsaWZpY2F0aW9uUGFzcywgKExMVk1QYXNzTWFuYWdlclJlZiBQTSkpIFwK
KyAgICBtYWNybyh2b2lkICwgQWRkRGVhZFN0b3JlRWxpbWluYXRpb25QYXNzLCAoTExWTVBhc3NN
YW5hZ2VyUmVmIFBNKSkgXAorICAgIG1hY3JvKHZvaWQgLCBBZGRHVk5QYXNzLCAoTExWTVBhc3NN
YW5hZ2VyUmVmIFBNKSkgXAorICAgIG1hY3JvKHZvaWQgLCBBZGRJbmRWYXJTaW1wbGlmeVBhc3Ms
IChMTFZNUGFzc01hbmFnZXJSZWYgUE0pKSBcCisgICAgbWFjcm8odm9pZCAsIEFkZEluc3RydWN0
aW9uQ29tYmluaW5nUGFzcywgKExMVk1QYXNzTWFuYWdlclJlZiBQTSkpIFwKKyAgICBtYWNybyh2
b2lkICwgQWRkSnVtcFRocmVhZGluZ1Bhc3MsIChMTFZNUGFzc01hbmFnZXJSZWYgUE0pKSBcCisg
ICAgbWFjcm8odm9pZCAsIEFkZExJQ01QYXNzLCAoTExWTVBhc3NNYW5hZ2VyUmVmIFBNKSkgXAor
ICAgIG1hY3JvKHZvaWQgLCBBZGRMb29wRGVsZXRpb25QYXNzLCAoTExWTVBhc3NNYW5hZ2VyUmVm
IFBNKSkgXAorICAgIG1hY3JvKHZvaWQgLCBBZGRMb29wSWRpb21QYXNzLCAoTExWTVBhc3NNYW5h
Z2VyUmVmIFBNKSkgXAorICAgIG1hY3JvKHZvaWQgLCBBZGRMb29wUm90YXRlUGFzcywgKExMVk1Q
YXNzTWFuYWdlclJlZiBQTSkpIFwKKyAgICBtYWNybyh2b2lkICwgQWRkTG9vcFVucm9sbFBhc3Ms
IChMTFZNUGFzc01hbmFnZXJSZWYgUE0pKSBcCisgICAgbWFjcm8odm9pZCAsIEFkZExvb3BVbnN3
aXRjaFBhc3MsIChMTFZNUGFzc01hbmFnZXJSZWYgUE0pKSBcCisgICAgbWFjcm8odm9pZCAsIEFk
ZE1lbUNweU9wdFBhc3MsIChMTFZNUGFzc01hbmFnZXJSZWYgUE0pKSBcCisgICAgbWFjcm8odm9p
ZCAsIEFkZFBhcnRpYWxseUlubGluZUxpYkNhbGxzUGFzcywgKExMVk1QYXNzTWFuYWdlclJlZiBQ
TSkpIFwKKyAgICBtYWNybyh2b2lkICwgQWRkUHJvbW90ZU1lbW9yeVRvUmVnaXN0ZXJQYXNzLCAo
TExWTVBhc3NNYW5hZ2VyUmVmIFBNKSkgXAorICAgIG1hY3JvKHZvaWQgLCBBZGRSZWFzc29jaWF0
ZVBhc3MsIChMTFZNUGFzc01hbmFnZXJSZWYgUE0pKSBcCisgICAgbWFjcm8odm9pZCAsIEFkZFND
Q1BQYXNzLCAoTExWTVBhc3NNYW5hZ2VyUmVmIFBNKSkgXAorICAgIG1hY3JvKHZvaWQgLCBBZGRT
Y2FsYXJSZXBsQWdncmVnYXRlc1Bhc3MsIChMTFZNUGFzc01hbmFnZXJSZWYgUE0pKSBcCisgICAg
bWFjcm8odm9pZCAsIEFkZFNjYWxhclJlcGxBZ2dyZWdhdGVzUGFzc1NTQSwgKExMVk1QYXNzTWFu
YWdlclJlZiBQTSkpIFwKKyAgICBtYWNybyh2b2lkICwgQWRkU2NhbGFyUmVwbEFnZ3JlZ2F0ZXNQ
YXNzV2l0aFRocmVzaG9sZCwgKExMVk1QYXNzTWFuYWdlclJlZiBQTSwgaW50IFRocmVzaG9sZCkp
IFwKKyAgICBtYWNybyh2b2lkICwgQWRkU2ltcGxpZnlMaWJDYWxsc1Bhc3MsIChMTFZNUGFzc01h
bmFnZXJSZWYgUE0pKSBcCisgICAgbWFjcm8odm9pZCAsIEFkZFRhaWxDYWxsRWxpbWluYXRpb25Q
YXNzLCAoTExWTVBhc3NNYW5hZ2VyUmVmIFBNKSkgXAorICAgIG1hY3JvKHZvaWQgLCBBZGRDb25z
dGFudFByb3BhZ2F0aW9uUGFzcywgKExMVk1QYXNzTWFuYWdlclJlZiBQTSkpIFwKKyAgICBtYWNy
byh2b2lkICwgQWRkRGVtb3RlTWVtb3J5VG9SZWdpc3RlclBhc3MsIChMTFZNUGFzc01hbmFnZXJS
ZWYgUE0pKSBcCisgICAgbWFjcm8odm9pZCAsIEFkZFZlcmlmaWVyUGFzcywgKExMVk1QYXNzTWFu
YWdlclJlZiBQTSkpIFwKKyAgICBtYWNybyh2b2lkICwgQWRkQ29ycmVsYXRlZFZhbHVlUHJvcGFn
YXRpb25QYXNzLCAoTExWTVBhc3NNYW5hZ2VyUmVmIFBNKSkgXAorICAgIG1hY3JvKHZvaWQgLCBB
ZGRFYXJseUNTRVBhc3MsIChMTFZNUGFzc01hbmFnZXJSZWYgUE0pKSBcCisgICAgbWFjcm8odm9p
ZCAsIEFkZExvd2VyRXhwZWN0SW50cmluc2ljUGFzcywgKExMVk1QYXNzTWFuYWdlclJlZiBQTSkp
IFwKKyAgICBtYWNybyh2b2lkICwgQWRkVHlwZUJhc2VkQWxpYXNBbmFseXNpc1Bhc3MsIChMTFZN
UGFzc01hbmFnZXJSZWYgUE0pKSBcCisgICAgbWFjcm8odm9pZCAsIEFkZEJhc2ljQWxpYXNBbmFs
eXNpc1Bhc3MsIChMTFZNUGFzc01hbmFnZXJSZWYgUE0pKQorCisjZW5kaWYgLy8gTExWTUFQSUZ1
bmN0aW9uc19oCisKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbHZtL0xMVk1IZWFkZXJz
LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2xsdm0vTExWTUhlYWRlcnMu
aAkocmV2aXNpb24gMCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbHZtL0xMVk1IZWFkZXJz
LmgJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw1NSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykg
MjAxMyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cisg
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4g
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisg
KiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4g
Tk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExB
UlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
CisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLiAKKyAqLworCisjaWZuZGVmIExMVk1IZWFkZXJzX2gKKyNkZWZpbmUg
TExWTUhlYWRlcnNfaAorCisvLyBJdCBpcyBuZWNlc3NhcnkgdG8gaW5jbHVkZSBMTFZNIGhlYWRl
cnMgdmlhIHRoaXMgZmlsZSwgYmVjYXVzZToKKy8vIC0gTExWTSByZXF1aXJlcyBkZWZpbmluZyB0
aGluZ3MgdGhhdCB3ZSBkb24ndCBub3JtYWxseSBkZWZpbmUsIGFuZAorLy8gLSBMTFZNIGluY2x1
ZGVzIGl0cyBDKysgaGVhZGVycyBmcm9tIGl0cyBDIGhlYWRlcnMsIGFuZCBpdHMgQysrCisvLyAg
IGhlYWRlcnMgZG9uJ3QgY29tcGlsZSBjbGVhbmx5IHdpdGggb3VyIHdhcm5pbmdzLgorCisjdW5k
ZWYgX19TVERDX0xJTUlUX01BQ1JPUworI3VuZGVmIF9fU1REQ19DT05TVEFOVF9NQUNST1MKKyNk
ZWZpbmUgX19TVERDX0xJTUlUX01BQ1JPUworI2RlZmluZSBfX1NURENfQ09OU1RBTlRfTUFDUk9T
CisKKyNwcmFnbWEgY2xhbmcgZGlhZ25vc3RpYyBwdXNoCisjcHJhZ21hIGNsYW5nIGRpYWdub3N0
aWMgaWdub3JlZCAiLVdtaXNzaW5nLW5vcmV0dXJuIgorI3ByYWdtYSBjbGFuZyBkaWFnbm9zdGlj
IGlnbm9yZWQgIi1XdW51c2VkLXBhcmFtZXRlciIKKworI2luY2x1ZGUgPGxsdm0tYy9BbmFseXNp
cy5oPgorI2luY2x1ZGUgPGxsdm0tYy9Db3JlLmg+CisjaW5jbHVkZSA8bGx2bS1jL0Rpc2Fzc2Vt
Ymxlci5oPgorI2luY2x1ZGUgPGxsdm0tYy9FeGVjdXRpb25FbmdpbmUuaD4KKyNpbmNsdWRlIDxs
bHZtLWMvVGFyZ2V0Lmg+CisjaW5jbHVkZSA8bGx2bS1jL1RyYW5zZm9ybXMvU2NhbGFyLmg+Cisj
aW5jbHVkZSA8bGx2bS1jL1RyYW5zZm9ybXMvUGFzc01hbmFnZXJCdWlsZGVyLmg+CisKKyNwcmFn
bWEgY2xhbmcgZGlhZ25vc3RpYyBwb3AKKworI2VuZGlmIC8vIExMVk1IZWFkZXJzX2gKKworCklu
ZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvbGx2bS9saWJyYXJ5L0xMVk1BbmNob3IuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbHZtL2xpYnJhcnkvTExWTUFuY2hv
ci5jcHAJKHJldmlzaW9uIDApCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvbGx2bS9saWJyYXJ5
L0xMVk1BbmNob3IuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMzcgQEAKKy8qCisgKiBD
b3B5cmlnaHQgKEMpIDIwMTMgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9u
LgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElT
JycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9S
UyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFM
LAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAq
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisgKi8KKworI2RlZmluZSBXVEZfU1VQUFJF
U1NfRkFTVF9NQUxMT0MgMQorCisjaW5jbHVkZSAiY29uZmlnLmgiCisKKyNpZiBIQVZFKExMVk0p
CisKKy8vIFRoaXMgaXMgYSBoYWNrIGZvciBlbnN1cmluZyB0aGF0IHRoZSBidWlsZCBzeXN0ZW0g
cmVsaW5rcyBKYXZhU2NyaXB0Q29yZSBpZiBhbnkKKy8vIG9mIHRoZSBMTFZNIGxpYnJhcmllcyBh
cmUga25vd24gdG8gaGF2ZSBjaGFuZ2VkLgorI2luY2x1ZGUgIldlYktpdExMVk1MaWJyYXJ5VG9r
ZW4uaCIKKworI2VuZGlmIC8vIEhBVkUoTExWTSkKKwpJbmRleDogU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsdm0vbGlicmFyeS9MTFZNRXhwb3J0cy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsdm0vbGlicmFyeS9MTFZNRXhwb3J0cy5jcHAJKHJldmlzaW9uIDApCisr
KyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvbGx2bS9saWJyYXJ5L0xMVk1FeHBvcnRzLmNwcAkod29y
a2luZyBjb3B5KQpAQCAtMCwwICsxLDUzIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEzIEFw
cGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJF
U1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywg
VEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
IEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVO
VCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkg
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1Ig
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAq
IFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNF
LCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuIAorICovCisKKyNkZWZpbmUgV1RGX1NVUFBSRVNTX0ZBU1RfTUFMTE9DIDEKKwor
I2luY2x1ZGUgImNvbmZpZy5oIgorCisjaWYgSEFWRShMTFZNKQorCisjaW5jbHVkZSAiTExWTUFQ
SS5oIgorCitleHRlcm4gIkMiIFdURl9FWFBPUlRfUFJJVkFURSBKU0M6OkxMVk1BUEkqIGluaXRp
YWxpemVBbmRHZXRKU0NMTFZNQVBJKCk7CisKK2V4dGVybiAiQyIgSlNDOjpMTFZNQVBJKiBpbml0
aWFsaXplQW5kR2V0SlNDTExWTUFQSSgpCit7CisgICAgTExWTUxpbmtJbk1DSklUKCk7CisgICAg
TExWTUluaXRpYWxpemVOYXRpdmVUYXJnZXQoKTsKKyAgICBMTFZNSW5pdGlhbGl6ZVg4NkFzbVBy
aW50ZXIoKTsKKyAgICBMTFZNSW5pdGlhbGl6ZVg4NkRpc2Fzc2VtYmxlcigpOworICAgIAorICAg
IEpTQzo6TExWTUFQSSogcmVzdWx0ID0gbmV3IEpTQzo6TExWTUFQSTsKKyAgICAKKyNkZWZpbmUg
TExWTV9BUElfRlVOQ1RJT05fQVNTSUdOTUVOVChyZXR1cm5UeXBlLCBuYW1lLCBzaWduYXR1cmUp
IFwKKyAgICByZXN1bHQtPm5hbWUgPSBMTFZNIyNuYW1lOworICAgIEZPUl9FQUNIX0xMVk1fQVBJ
X0ZVTkNUSU9OKExMVk1fQVBJX0ZVTkNUSU9OX0FTU0lHTk1FTlQpOworI3VuZGVmIExMVk1fQVBJ
X0ZVTkNUSU9OX0FTU0lHTk1FTlQKKyAgICAKKyAgICByZXR1cm4gcmVzdWx0OworfQorCisjZW5k
aWYgLy8gSEFWRShMTFZNKQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2xsdm0vbGlicmFy
eS9MTFZNT3ZlcnJpZGVzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGx2bS9saWJyYXJ5L0xMVk1PdmVycmlkZXMuY3BwCShyZXZpc2lvbiAwKQorKysgU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsdm0vbGlicmFyeS9MTFZNT3ZlcnJpZGVzLmNwcAkod29ya2luZyBjb3B5
KQpAQCAtMCwwICsxLDM1IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEzIEFwcGxlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICog
YXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBB
UFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVN
RU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBP
UgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
IAorICovCisKKyNkZWZpbmUgV1RGX1NVUFBSRVNTX0ZBU1RfTUFMTE9DIDEKKworI2luY2x1ZGUg
ImNvbmZpZy5oIgorCisjaWYgSEFWRShMTFZNKQorCitleHRlcm4gIkMiIGludCBfX2N4YV9hdGV4
aXQoKTsKK2V4dGVybiAiQyIgaW50IF9fY3hhX2F0ZXhpdCgpIHsgcmV0dXJuIDA7IH0KKworI2Vu
ZGlmIC8vIEhBVkUoTExWTSkKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0lu
aXRpYWxpemVUaHJlYWRpbmcuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0luaXRpYWxpemVUaHJlYWRpbmcuY3BwCShyZXZpc2lvbiAxNTcxNzIpCisrKyBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Jbml0aWFsaXplVGhyZWFkaW5nLmNwcAkod29y
a2luZyBjb3B5KQpAQCAtMzQsMTMgKzM0LDEzIEBACiAjaW5jbHVkZSAiSGVhcFN0YXRpc3RpY3Mu
aCIKICNpbmNsdWRlICJPcHRpb25zLmgiCiAjaW5jbHVkZSAiSWRlbnRpZmllci5oIgorI2luY2x1
ZGUgIkluaXRpYWxpemVMTFZNLmgiCiAjaW5jbHVkZSAiSlNEYXRlTWF0aC5oIgogI2luY2x1ZGUg
IkpTR2xvYmFsT2JqZWN0LmgiCiAjaW5jbHVkZSAiSlNMb2NrLmgiCiAjaW5jbHVkZSAiTExJbnRE
YXRhLmgiCiAjaW5jbHVkZSAiV3JpdGVCYXJyaWVyLmgiCiAjaW5jbHVkZSA8d3RmL2R0b2EuaD4K
LSNpbmNsdWRlIDx3dGYvTExWTUhlYWRlcnMuaD4KICNpbmNsdWRlIDx3dGYvVGhyZWFkaW5nLmg+
CiAjaW5jbHVkZSA8d3RmL2R0b2EvY2FjaGVkLXBvd2Vycy5oPgogCkBAIC03MCwyNCArNzAsNiBA
QCBzdGF0aWMgdm9pZCBpbml0aWFsaXplVGhyZWFkaW5nT25jZSgpCiAjaWYgRU5BQkxFKExMSU5U
KQogICAgIExMSW50Ojppbml0aWFsaXplKCk7CiAjZW5kaWYKLSNpZiBIQVZFKExMVk0pCi0gICAg
Ym9vbCBmdGwgPSBmYWxzZTsKLSAgICBib29sIGRpc2Fzc2VtYmxlciA9IGZhbHNlOwotI2lmIEVO
QUJMRShGVExfSklUKQotICAgIGZ0bCA9IHRydWU7Ci0jZW5kaWYKLSNpZiBVU0UoTExWTV9ESVNB
U1NFTUJMRVIpCi0gICAgZGlzYXNzZW1ibGVyID0gdHJ1ZTsKLSNlbmRpZgotICAgIGlmIChmdGwp
Ci0gICAgICAgIExMVk1MaW5rSW5NQ0pJVCgpOwotICAgIGlmIChmdGwgfHwgZGlzYXNzZW1ibGVy
KQotICAgICAgICBMTFZNSW5pdGlhbGl6ZU5hdGl2ZVRhcmdldCgpOwotICAgIGlmIChmdGwpCi0g
ICAgICAgIExMVk1Jbml0aWFsaXplWDg2QXNtUHJpbnRlcigpOwotICAgIGlmIChkaXNhc3NlbWJs
ZXIpCi0gICAgICAgIExMVk1Jbml0aWFsaXplWDg2RGlzYXNzZW1ibGVyKCk7Ci0jZW5kaWYgLy8g
SEFWRShMTFZNKQogfQogCiB2b2lkIGluaXRpYWxpemVUaHJlYWRpbmcoKQpJbmRleDogU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvT3B0aW9ucy5oCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL09wdGlvbnMuaAkocmV2aXNpb24gMTU3MTcyKQorKysgU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvT3B0aW9ucy5oCSh3b3JraW5nIGNvcHkpCkBAIC0y
MDUsOSArMjA1LDcgQEAgdHlwZWRlZiBPcHRpb25SYW5nZSBvcHRpb25SYW5nZTsKICAgICB2KGJv
b2wsIGxvZ0dDLCBmYWxzZSkgXAogICAgIHYodW5zaWduZWQsIGdjTWF4SGVhcFNpemUsIDApIFwK
ICAgICB2KGJvb2wsIHJlY29yZEdDUGF1c2VUaW1lcywgZmFsc2UpIFwKLSAgICB2KGJvb2wsIGxv
Z0hlYXBTdGF0aXN0aWNzQXRFeGl0LCBmYWxzZSkgXAotICAgIFwKLSAgICB2KGJvb2wsIG5ldmVy
RGVsZXRlVk1JbkNvbW1hbmRMaW5lLCBmYWxzZSkKKyAgICB2KGJvb2wsIGxvZ0hlYXBTdGF0aXN0
aWNzQXRFeGl0LCBmYWxzZSkKIAogY2xhc3MgT3B0aW9ucyB7CiBwdWJsaWM6CkluZGV4OiBTb3Vy
Y2UvV1RGL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV1RGL0NoYW5nZUxvZwkocmV2
aXNpb24gMTU3MTk0KQorKysgU291cmNlL1dURi9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAg
LTEsMyArMSwyMCBAQAorMjAxMy0xMC0wOSAgRmlsaXAgUGl6bG8gIDxmcGl6bG9AYXBwbGUuY29t
PgorCisgICAgICAgIEZUTDogU29mdC1saW5rIExMVk0gYXMgYSB3b3JrYXJvdW5kIGZvciBMTFZN
J3Mgc3RhdGljIGluaXRpYWxpemVycyBhbmQgZXhpdC10aW1lIGRlc3RydWN0b3JzCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjI1NjYKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKyAgICAgICAgCisgICAgICAgIFJlbW92ZSBh
bGwgTExWTSBzdHVmZiBmcm9tIFdURiBzaW5jZSB0byBnZXQgTExWTSB5b3UgbmVlZCB0byBzb2Z0
LWxpbmsgYW5kIGl0J3MKKyAgICAgICAgZW50aXJlbHkgdGhlIHJlc3BvbnNpYmlsaXR5IG9mIEpT
QyB0byBkbyB0aGF0LgorICAgICAgICAKKyAgICAgICAgQWxzbyBmaXhlZCBhbiBleHBvcnQgZ29v
ZiB0aGF0IEkgZm91bmQgYWZ0ZXIgZml4aW5nIHRoZSB3ZWFrIHRoaW5neSBzY3JpcHQgaW4gSlND
LgorCisgICAgICAgICogV1RGLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICog
d3RmL0xMVk1IZWFkZXJzLmg6IFJlbW92ZWQuCisgICAgICAgICogd3RmL3RleHQvQ1N0cmluZy5o
OgorICAgICAgICAoV1RGOjpDU3RyaW5nSGFzaDo6aGFzaCk6CisKIDIwMTMtMTAtMDkgIE1pY2hh
ZWwgU2Fib2ZmICA8bXNhYm9mZkBhcHBsZS5jb20+CiAKICAgICAgICAgQ2hhbmdlIHRvIHN0ZDo6
dW5pcXVlX3B0ciBicmVha3Mgd3RmL0RhdGFMb2cuY3BwIHdoZW4gREFUQV9MT0dfVE9fRklMRSBz
ZXQgdG8gMQpJbmRleDogU291cmNlL1dURi9XVEYueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvago9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV1RGL1dURi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCShy
ZXZpc2lvbiAxNTcxNzIpCisrKyBTb3VyY2UvV1RGL1dURi54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qCSh3b3JraW5nIGNvcHkpCkBAIC0zMzAsNyArMzMwLDYgQEAKIAkJOUJEOEY0MEExNzZDMkFE
ODAwMDJEODY1IC8qIEF0b21pY1N0cmluZ1RhYmxlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEF0b21pY1N0
cmluZ1RhYmxlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUE3MERBMDgyMTc5OUYw
NEQwMDUyOUE5QiAvKiBJbnNlcnRpb24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gSW5zZXJ0aW9uLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUE3MERBMDgzMTc5
OUYwNEQwMDUyOUE5QiAvKiBMaXN0RHVtcC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBMaXN0RHVtcC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQlBNzM2QjM1ODE3
OTlFMTFBMDBDNkYwNUUgLyogTExWTUhlYWRlcnMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTExWTUhlYWRl
cnMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTc0ODc0NEYxN0EwQkRBRTAwRkEw
NENCIC8qIFNpeENoYXJhY3Rlckhhc2guY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBwYXRoID0gU2l4Q2hhcmFjdGVySGFzaC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCUE3NDg3NDUwMTdBMEJEQUUwMEZBMDRDQiAvKiBTaXhDaGFyYWN0ZXJIYXNoLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNpeENoYXJhY3Rlckhhc2guaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTc0ODc0NTExN0EwQkRBRTAwRkEwNENCIC8qIFN0cmluZ0hh
c2hEdW1wQ29udGV4dC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTdHJpbmdI
YXNoRHVtcENvbnRleHQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTY3Miw3ICs2
NzEsNiBAQAogCQkJCUE3MERBMDgyMTc5OUYwNEQwMDUyOUE5QiAvKiBJbnNlcnRpb24uaCAqLywK
IAkJCQlBNzBEQTA4MzE3OTlGMDREMDA1MjlBOUIgLyogTGlzdER1bXAuaCAqLywKIAkJCQlBOEE0
NzJDMTE1MUE4MjVBMDA0MTIzRkYgLyogTGlzdEhhc2hTZXQuaCAqLywKLQkJCQlBNzM2QjM1ODE3
OTlFMTFBMDBDNkYwNUUgLyogTExWTUhlYWRlcnMuaCAqLywKIAkJCQlBOEE0NzJDMzE1MUE4MjVB
MDA0MTIzRkYgLyogTG9ja2VyLmggKi8sCiAJCQkJQThBNDcyQ0ExNTFBODI1QjAwNDEyM0ZGIC8q
IE1ENS5jcHAgKi8sCiAJCQkJQThBNDcyQ0IxNTFBODI1QjAwNDEyM0ZGIC8qIE1ENS5oICovLApJ
bmRleDogU291cmNlL1dURi93dGYvTExWTUhlYWRlcnMuaAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V1RGL3d0Zi9MTFZNSGVhZGVycy5oCShyZXZpc2lvbiAxNTcxNzIpCisrKyBTb3VyY2UvV1RGL3d0
Zi9MTFZNSGVhZGVycy5oCSh3b3JraW5nIGNvcHkpCkBAIC0xLDYyICswLDAgQEAKLS8qCi0gKiBD
b3B5cmlnaHQgKEMpIDIwMTMgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9u
LgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElT
JycgQU5EIEFOWQotICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKLSAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKLSAqIENPTlRSSUJVVE9S
UyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFM
LAotICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLAotICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCi0gKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCi0gKiBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAq
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCi0gKi8KLQotI2lmbmRlZiBMTFZNSGVhZGVy
c19oCi0jZGVmaW5lIExMVk1IZWFkZXJzX2gKLQotI2luY2x1ZGUgPHd0Zi9QbGF0Zm9ybS5oPgot
Ci0jaWYgSEFWRShMTFZNKQotCi0vLyBJdCBpcyBuZWNlc3NhcnkgdG8gaW5jbHVkZSBMTFZNIGhl
YWRlcnMgdmlhIHRoaXMgZmlsZSwgYmVjYXVzZToKLS8vIC0gTExWTSByZXF1aXJlcyBkZWZpbmlu
ZyB0aGluZ3MgdGhhdCB3ZSBkb24ndCBub3JtYWxseSBkZWZpbmUsIGFuZAotLy8gLSBMTFZNIGlu
Y2x1ZGVzIGl0cyBDKysgaGVhZGVycyBmcm9tIGl0cyBDIGhlYWRlcnMsIGFuZCBpdHMgQysrCi0v
LyAgIGhlYWRlcnMgZG9uJ3QgY29tcGlsZSBjbGVhbmx5IHdpdGggb3VyIHdhcm5pbmdzLgotCi0j
dW5kZWYgX19TVERDX0xJTUlUX01BQ1JPUwotI3VuZGVmIF9fU1REQ19DT05TVEFOVF9NQUNST1MK
LSNkZWZpbmUgX19TVERDX0xJTUlUX01BQ1JPUwotI2RlZmluZSBfX1NURENfQ09OU1RBTlRfTUFD
Uk9TCi0KLSNpZiBDT01QSUxFUihDTEFORykKLSNwcmFnbWEgY2xhbmcgZGlhZ25vc3RpYyBwdXNo
Ci0jcHJhZ21hIGNsYW5nIGRpYWdub3N0aWMgaWdub3JlZCAiLVdtaXNzaW5nLW5vcmV0dXJuIgot
I3ByYWdtYSBjbGFuZyBkaWFnbm9zdGljIGlnbm9yZWQgIi1XdW51c2VkLXBhcmFtZXRlciIKLSNl
bmRpZgotCi0jaW5jbHVkZSA8bGx2bS1jL0FuYWx5c2lzLmg+Ci0jaW5jbHVkZSA8bGx2bS1jL0Nv
cmUuaD4KLSNpbmNsdWRlIDxsbHZtLWMvRGlzYXNzZW1ibGVyLmg+Ci0jaW5jbHVkZSA8bGx2bS1j
L0V4ZWN1dGlvbkVuZ2luZS5oPgotI2luY2x1ZGUgPGxsdm0tYy9UYXJnZXQuaD4KLSNpbmNsdWRl
IDxsbHZtLWMvVHJhbnNmb3Jtcy9QYXNzTWFuYWdlckJ1aWxkZXIuaD4KLQotI2lmIENPTVBJTEVS
KENMQU5HKQotI3ByYWdtYSBjbGFuZyBkaWFnbm9zdGljIHBvcAotI2VuZGlmCi0KLSNlbmRpZiAv
LyBIQVZFKExMVk0pCi0KLSNlbmRpZiAvLyBMTFZNSGVhZGVyc19oCkluZGV4OiBTb3VyY2UvV1RG
L3d0Zi90ZXh0L0NTdHJpbmcuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV1RGL3d0Zi90ZXh0L0NT
dHJpbmcuaAkocmV2aXNpb24gMTU3MTcyKQorKysgU291cmNlL1dURi93dGYvdGV4dC9DU3RyaW5n
LmgJKHdvcmtpbmcgY29weSkKQEAgLTk0LDcgKzk0LDcgQEAgaW5saW5lIGJvb2wgb3BlcmF0b3Ih
PShjb25zdCBDU3RyaW5nJiBhLAogYm9vbCBvcGVyYXRvcjwoY29uc3QgQ1N0cmluZyYgYSwgY29u
c3QgQ1N0cmluZyYgYik7CiAKIHN0cnVjdCBDU3RyaW5nSGFzaCB7Ci0gICAgV1RGX0VYUE9SVF9Q
UklWQVRFIHN0YXRpYyB1bnNpZ25lZCBoYXNoKGNvbnN0IENTdHJpbmcmIHN0cmluZykgeyByZXR1
cm4gc3RyaW5nLmhhc2goKTsgfQorICAgIHN0YXRpYyB1bnNpZ25lZCBoYXNoKGNvbnN0IENTdHJp
bmcmIHN0cmluZykgeyByZXR1cm4gc3RyaW5nLmhhc2goKTsgfQogICAgIFdURl9FWFBPUlRfUFJJ
VkFURSBzdGF0aWMgYm9vbCBlcXVhbChjb25zdCBDU3RyaW5nJiBhLCBjb25zdCBDU3RyaW5nJiBi
KTsKICAgICBzdGF0aWMgY29uc3QgYm9vbCBzYWZlVG9Db21wYXJlVG9FbXB0eU9yRGVsZXRlZCA9
IHRydWU7CiB9Owo=
</data>
<flag name="review"
          id="236257"
          type_id="1"
          status="-"
          setter="mrowe"
    />
    <flag name="commit-queue"
          id="236258"
          type_id="3"
          status="-"
          setter="eflews.bot"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>213842</attachid>
            <date>2013-10-09 20:03:28 -0700</date>
            <delta_ts>2013-10-09 20:04:53 -0700</delta_ts>
            <desc>the patch</desc>
            <filename>blah.patch</filename>
            <type>text/plain</type>
            <size>159658</size>
            <attacher name="Filip Pizlo">fpizlo</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTU3MjA1KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE1MSBA
QAorMjAxMy0xMC0wOSAgRmlsaXAgUGl6bG8gIDxmcGl6bG9AYXBwbGUuY29tPgorCisgICAgICAg
IEZUTDogU29mdC1saW5rIExMVk0gYXMgYSB3b3JrYXJvdW5kIGZvciBMTFZNJ3Mgc3RhdGljIGlu
aXRpYWxpemVycyBhbmQgZXhpdC10aW1lIGRlc3RydWN0b3JzCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjI1NjYKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKyAgICAgICAgCisgICAgICAgIFRoZSBKU0MgcHJvamVjdCBub3cg
YnVpbGRzIGEgbGlibGx2bUZvckpTQy5keWxpYi4gSWYgRlRMIGlzIGVuYWJsZWQsIHRoaXMKKyAg
ICAgICAgZ2V0cyBjb3BpZWQgaW50byBKYXZhU2NyaXB0Q29yZS5mcmFtZXdvcmsvVmVyc2lvbnMv
QS9MaWJyYXJpZXMuIEpTQyB3aWxsCisgICAgICAgIGxvYWQgdGhlIGR5bGliIGJ5IGZpbmRpbmcg
aXQgdXNpbmcgTlNCdW5kbGUgQVBJcyBhbmQgdGhlbiBkb2luZyBkbG9wZW4oKS4KKyAgICAgICAg
VGhhdCB3aWxsIG9ubHkgaGFwcGVuIGxhemlseSwgd2hlbiBzb21ldGhpbmcgaGFwcGVucyB0aGF0
IHJlcXVpcmVzIExMVk0uCisgICAgICAgIAorICAgICAgICBUaGlzIG1vc3RseSB0YWtlcyBjYXJl
IG9mIExMVk0gc3RhdGljIGluaXRpYWxpemF0aW9uIG92ZXJoZWFkIGJ5IGRlZmVycmluZworICAg
ICAgICBpdCB1bnRpbCBpdCdzIHJlYWxseSBuZWVkZWQuCisgICAgICAgIAorICAgICAgICBUaGlz
IHRha2VzIGNhcmUgb2YgTExWTSdzIGV4aXQtdGltZSBkZXN0cnVjdG9ycyBiZWNhdXNlIGluc2lk
ZQorICAgICAgICBsaWJsbHZtRm9ySlNDLmR5bGliLCB3ZSBvdmVycmlkZSBfX2N4YV9hdGV4aXQu
CisgICAgICAgIAorICAgICAgICAqIENvbmZpZ3VyYXRpb25zL0phdmFTY3JpcHRDb3JlLnhjY29u
ZmlnOgorICAgICAgICAqIENvbmZpZ3VyYXRpb25zL0xMVk1Gb3JKU0MueGNjb25maWc6IEFkZGVk
LgorICAgICAgICAqIEphdmFTY3JpcHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6Cisg
ICAgICAgICogY29uZmlnLmg6CisgICAgICAgICogZGZnL0RGR1BsYW4uY3BwOgorICAgICAgICAo
SlNDOjpERkc6OlBsYW46OmNvbXBpbGVJblRocmVhZEltcGwpOgorICAgICAgICAqIGRpc2Fzc2Vt
Ymxlci9MTFZNRGlzYXNzZW1ibGVyLmNwcDoKKyAgICAgICAgKEpTQzo6dHJ5VG9EaXNhc3NlbWJs
ZVdpdGhMTFZNKToKKyAgICAgICAgKiBmdGwvRlRMQWJicmV2aWF0ZWRUeXBlcy5oOgorICAgICAg
ICAqIGZ0bC9GVExBYmJyZXZpYXRpb25zLmg6CisgICAgICAgIChKU0M6OkZUTDo6dm9pZFR5cGUp
OgorICAgICAgICAoSlNDOjpGVEw6OmludDFUeXBlKToKKyAgICAgICAgKEpTQzo6RlRMOjppbnQ4
VHlwZSk6CisgICAgICAgIChKU0M6OkZUTDo6aW50MTZUeXBlKToKKyAgICAgICAgKEpTQzo6RlRM
OjppbnQzMlR5cGUpOgorICAgICAgICAoSlNDOjpGVEw6OmludDY0VHlwZSk6CisgICAgICAgIChK
U0M6OkZUTDo6aW50UHRyVHlwZSk6CisgICAgICAgIChKU0M6OkZUTDo6ZmxvYXRUeXBlKToKKyAg
ICAgICAgKEpTQzo6RlRMOjpkb3VibGVUeXBlKToKKyAgICAgICAgKEpTQzo6RlRMOjpwb2ludGVy
VHlwZSk6CisgICAgICAgIChKU0M6OkZUTDo6c3RydWN0VHlwZSk6CisgICAgICAgIChKU0M6OkZU
TDo6ZnVuY3Rpb25UeXBlKToKKyAgICAgICAgKEpTQzo6RlRMOjp0eXBlT2YpOgorICAgICAgICAo
SlNDOjpGVEw6Om1kS2luZElEKToKKyAgICAgICAgKEpTQzo6RlRMOjptZFN0cmluZyk6CisgICAg
ICAgIChKU0M6OkZUTDo6bWROb2RlKToKKyAgICAgICAgKEpTQzo6RlRMOjpzZXRNZXRhZGF0YSk6
CisgICAgICAgIChKU0M6OkZUTDo6YWRkRnVuY3Rpb24pOgorICAgICAgICAoSlNDOjpGVEw6OnNl
dExpbmthZ2UpOgorICAgICAgICAoSlNDOjpGVEw6OnNldEZ1bmN0aW9uQ2FsbGluZ0NvbnYpOgor
ICAgICAgICAoSlNDOjpGVEw6OmdldFBhcmFtKToKKyAgICAgICAgKEpTQzo6RlRMOjpjb25zdElu
dCk6CisgICAgICAgIChKU0M6OkZUTDo6Y29uc3RSZWFsKToKKyAgICAgICAgKEpTQzo6RlRMOjpj
b25zdEludFRvUHRyKToKKyAgICAgICAgKEpTQzo6RlRMOjpjb25zdEJpdENhc3QpOgorICAgICAg
ICAoSlNDOjpGVEw6OmFwcGVuZEJhc2ljQmxvY2spOgorICAgICAgICAoSlNDOjpGVEw6Omluc2Vy
dEJhc2ljQmxvY2spOgorICAgICAgICAoSlNDOjpGVEw6OmJ1aWxkUGhpKToKKyAgICAgICAgKEpT
Qzo6RlRMOjphZGRJbmNvbWluZyk6CisgICAgICAgIChKU0M6OkZUTDo6YnVpbGRBbGxvY2EpOgor
ICAgICAgICAoSlNDOjpGVEw6OmJ1aWxkQWRkKToKKyAgICAgICAgKEpTQzo6RlRMOjpidWlsZFN1
Yik6CisgICAgICAgIChKU0M6OkZUTDo6YnVpbGRNdWwpOgorICAgICAgICAoSlNDOjpGVEw6OmJ1
aWxkRGl2KToKKyAgICAgICAgKEpTQzo6RlRMOjpidWlsZFJlbSk6CisgICAgICAgIChKU0M6OkZU
TDo6YnVpbGROZWcpOgorICAgICAgICAoSlNDOjpGVEw6OmJ1aWxkRkFkZCk6CisgICAgICAgIChK
U0M6OkZUTDo6YnVpbGRGU3ViKToKKyAgICAgICAgKEpTQzo6RlRMOjpidWlsZEZNdWwpOgorICAg
ICAgICAoSlNDOjpGVEw6OmJ1aWxkRkRpdik6CisgICAgICAgIChKU0M6OkZUTDo6YnVpbGRGUmVt
KToKKyAgICAgICAgKEpTQzo6RlRMOjpidWlsZEZOZWcpOgorICAgICAgICAoSlNDOjpGVEw6OmJ1
aWxkQW5kKToKKyAgICAgICAgKEpTQzo6RlRMOjpidWlsZE9yKToKKyAgICAgICAgKEpTQzo6RlRM
OjpidWlsZFhvcik6CisgICAgICAgIChKU0M6OkZUTDo6YnVpbGRTaGwpOgorICAgICAgICAoSlND
OjpGVEw6OmJ1aWxkQVNocik6CisgICAgICAgIChKU0M6OkZUTDo6YnVpbGRMU2hyKToKKyAgICAg
ICAgKEpTQzo6RlRMOjpidWlsZE5vdCk6CisgICAgICAgIChKU0M6OkZUTDo6YnVpbGRMb2FkKToK
KyAgICAgICAgKEpTQzo6RlRMOjpidWlsZFN0b3JlKToKKyAgICAgICAgKEpTQzo6RlRMOjpidWls
ZFNFeHQpOgorICAgICAgICAoSlNDOjpGVEw6OmJ1aWxkWkV4dCk6CisgICAgICAgIChKU0M6OkZU
TDo6YnVpbGRGUFRvU0kpOgorICAgICAgICAoSlNDOjpGVEw6OmJ1aWxkRlBUb1VJKToKKyAgICAg
ICAgKEpTQzo6RlRMOjpidWlsZFNJVG9GUCk6CisgICAgICAgIChKU0M6OkZUTDo6YnVpbGRVSVRv
RlApOgorICAgICAgICAoSlNDOjpGVEw6OmJ1aWxkSW50Q2FzdCk6CisgICAgICAgIChKU0M6OkZU
TDo6YnVpbGRGUENhc3QpOgorICAgICAgICAoSlNDOjpGVEw6OmJ1aWxkSW50VG9QdHIpOgorICAg
ICAgICAoSlNDOjpGVEw6OmJ1aWxkUHRyVG9JbnQpOgorICAgICAgICAoSlNDOjpGVEw6OmJ1aWxk
Qml0Q2FzdCk6CisgICAgICAgIChKU0M6OkZUTDo6YnVpbGRJQ21wKToKKyAgICAgICAgKEpTQzo6
RlRMOjpidWlsZEZDbXApOgorICAgICAgICAoSlNDOjpGVEw6OmJ1aWxkQ2FsbCk6CisgICAgICAg
IChKU0M6OkZUTDo6c2V0VGFpbENhbGwpOgorICAgICAgICAoSlNDOjpGVEw6OmJ1aWxkRXh0cmFj
dFZhbHVlKToKKyAgICAgICAgKEpTQzo6RlRMOjpidWlsZFNlbGVjdCk6CisgICAgICAgIChKU0M6
OkZUTDo6YnVpbGRCcik6CisgICAgICAgIChKU0M6OkZUTDo6YnVpbGRDb25kQnIpOgorICAgICAg
ICAoSlNDOjpGVEw6OmJ1aWxkU3dpdGNoKToKKyAgICAgICAgKEpTQzo6RlRMOjphZGRDYXNlKToK
KyAgICAgICAgKEpTQzo6RlRMOjpidWlsZFJldCk6CisgICAgICAgIChKU0M6OkZUTDo6YnVpbGRV
bnJlYWNoYWJsZSk6CisgICAgICAgIChKU0M6OkZUTDo6ZHVtcE1vZHVsZSk6CisgICAgICAgIChK
U0M6OkZUTDo6dmVyaWZ5TW9kdWxlKToKKyAgICAgICAgKiBmdGwvRlRMQ29tcGlsZS5jcHA6Cisg
ICAgICAgIChKU0M6OkZUTDo6Y29tcGlsZSk6CisgICAgICAgICogZnRsL0ZUTEZhaWwuY3BwOgor
ICAgICAgICAoSlNDOjpGVEw6OmZhaWwpOgorICAgICAgICAqIGZ0bC9GVExKSVRDb2RlLmg6Cisg
ICAgICAgICogZnRsL0ZUTEpJVEZpbmFsaXplci5oOgorICAgICAgICAqIGZ0bC9GVExMaW5rLmNw
cDoKKyAgICAgICAgKiBmdGwvRlRMTG93ZXJERkdUb0xMVk0uY3BwOgorICAgICAgICAoSlNDOjpG
VEw6Okxvd2VyREZHVG9MTFZNOjpsb3dlcik6CisgICAgICAgICogZnRsL0ZUTE91dHB1dC5jcHA6
CisgICAgICAgIChKU0M6OkZUTDo6T3V0cHV0OjpPdXRwdXQpOgorICAgICAgICAoSlNDOjpGVEw6
Ok91dHB1dDo6fk91dHB1dCk6CisgICAgICAgICogZnRsL0ZUTE91dHB1dC5oOgorICAgICAgICAo
SlNDOjpGVEw6Ok91dHB1dDo6YXBwZW5kVG8pOgorICAgICAgICAqIGZ0bC9GVExTdGF0ZS5jcHA6
CisgICAgICAgIChKU0M6OkZUTDo6U3RhdGU6OlN0YXRlKToKKyAgICAgICAgKEpTQzo6RlRMOjpT
dGF0ZTo6flN0YXRlKToKKyAgICAgICAgKiBmdGwvV2ViS2l0TExWTUxpYnJhcnlBbmNob3IuY3Bw
OiBSZW1vdmVkLgorICAgICAgICAqIGpzYy5jcHA6CisgICAgICAgIChqc2NtYWluKToKKyAgICAg
ICAgKiBsbHZtOiBBZGRlZC4KKyAgICAgICAgKiBsbHZtL0luaXRpYWxpemVMTFZNLmNwcDogQWRk
ZWQuCisgICAgICAgIChKU0M6OmluaXRpYWxpemVMTFZNKToKKyAgICAgICAgKiBsbHZtL0luaXRp
YWxpemVMTFZNLmg6IEFkZGVkLgorICAgICAgICAqIGxsdm0vSW5pdGlhbGl6ZUxMVk1NYWMubW06
IEFkZGVkLgorICAgICAgICAoSlNDOjppbml0aWFsaXplTExWTUltcGwpOgorICAgICAgICAqIGxs
dm0vSW5pdGlhbGl6ZUxMVk1QT1NJWC5jcHA6IEFkZGVkLgorICAgICAgICAoSlNDOjppbml0aWFs
aXplTExWTVBPU0lYKToKKyAgICAgICAgKiBsbHZtL0luaXRpYWxpemVMTFZNUE9TSVguaDogQWRk
ZWQuCisgICAgICAgICogbGx2bS9MTFZNQVBJLmNwcDogQWRkZWQuCisgICAgICAgICogbGx2bS9M
TFZNQVBJLmg6IEFkZGVkLgorICAgICAgICAqIGxsdm0vTExWTUFQSUZ1bmN0aW9ucy5oOiBBZGRl
ZC4KKyAgICAgICAgKiBsbHZtL0xMVk1IZWFkZXJzLmg6IEFkZGVkLgorICAgICAgICAqIGxsdm0v
bGlicmFyeTogQWRkZWQuCisgICAgICAgICogbGx2bS9saWJyYXJ5L0xMVk1BbmNob3IuY3BwOiBB
ZGRlZC4KKyAgICAgICAgKiBsbHZtL2xpYnJhcnkvTExWTUV4cG9ydHMuY3BwOiBBZGRlZC4KKyAg
ICAgICAgKGluaXRpYWxpemVBbmRHZXRKU0NMTFZNQVBJKToKKyAgICAgICAgKiBsbHZtL2xpYnJh
cnkvTExWTU92ZXJyaWRlcy5jcHA6IEFkZGVkLgorICAgICAgICAoX19jeGFfYXRleGl0KToKKyAg
ICAgICAgKiBsbHZtL2xpYnJhcnkvY29uZmlnX2xsdm0uaDogQWRkZWQuCisgICAgICAgICogcnVu
dGltZS9Jbml0aWFsaXplVGhyZWFkaW5nLmNwcDoKKyAgICAgICAgKEpTQzo6aW5pdGlhbGl6ZVRo
cmVhZGluZ09uY2UpOgorICAgICAgICAqIHJ1bnRpbWUvT3B0aW9ucy5oOgorCiAyMDEzLTEwLTA5
ICBGaWxpcCBQaXpsbyAgPGZwaXpsb0BhcHBsZS5jb20+CiAKICAgICAgICAgTWlub3IgY2xlYW4t
dXBzIGluIHRoZSBKU0MgWGNvZGUgcHJvamVjdC4KSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9jb25maWcuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvY29uZmlnLmgJ
KHJldmlzaW9uIDE1NzIwNCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9jb25maWcuaAkod29y
a2luZyBjb3B5KQpAQCAtNTQsNyArNTQsNyBAQAogCiAjZGVmaW5lIFdURl9DSEFOR0VTIDEKIAot
I2lmZGVmIF9fY3BsdXNwbHVzCisjaWYgZGVmaW5lZChfX2NwbHVzcGx1cykgJiYgIWRlZmluZWQo
V1RGX1NVUFBSRVNTX0ZBU1RfTUFMTE9DKQogI3VuZGVmIG5ldwogI3VuZGVmIGRlbGV0ZQogI2lu
Y2x1ZGUgPHd0Zi9GYXN0TWFsbG9jLmg+CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvanNj
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvanNjLmNwcAkocmV2aXNp
b24gMTU3MjA0KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2pzYy5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTg0NiwxMCArODQ2LDEwIEBAIGludCBqc2NtYWluKGludCBhcmdjLCBjaGFyKiogYXJn
dikKICAgICAvLyBOb3RlIHRoYXQgdGhlIG9wdGlvbnMgcGFyc2luZyBjYW4gYWZmZWN0IFZNIGNy
ZWF0aW9uLCBhbmQgdGh1cwogICAgIC8vIGNvbWVzIGZpcnN0LgogICAgIENvbW1hbmRMaW5lIG9w
dGlvbnMoYXJnYywgYXJndik7Ci0gICAgUmVmUHRyPFZNPiB2bSA9IFZNOjpjcmVhdGUoTGFyZ2VI
ZWFwKTsKKyAgICBWTSogdm0gPSBWTTo6Y3JlYXRlKExhcmdlSGVhcCkubGVha1JlZigpOwogICAg
IGludCByZXN1bHQ7CiAgICAgewotICAgICAgICBBUElFbnRyeVNoaW0gc2hpbSh2bS5nZXQoKSk7
CisgICAgICAgIEFQSUVudHJ5U2hpbSBzaGltKHZtKTsKIAogICAgICAgICBpZiAob3B0aW9ucy5t
X3Byb2ZpbGUgJiYgIXZtLT5tX3BlckJ5dGVjb2RlUHJvZmlsZXIpCiAgICAgICAgICAgICB2bS0+
bV9wZXJCeXRlY29kZVByb2ZpbGVyID0gYWRvcHRQdHIobmV3IFByb2ZpbGVyOjpEYXRhYmFzZSgq
dm0pKTsKQEAgLTg3MCwxNCArODcwLDYgQEAgaW50IGpzY21haW4oaW50IGFyZ2MsIGNoYXIqKiBh
cmd2KQogICAgICAgICB9CiAgICAgfQogICAgIAotICAgIGlmIChPcHRpb25zOjpuZXZlckRlbGV0
ZVZNSW5Db21tYW5kTGluZSgpKSB7Ci0gICAgICAgIEpTQzo6Vk0qIHRlbXAgPSB2bS5yZWxlYXNl
KCkubGVha1JlZigpOwotICAgICAgICBVTlVTRURfUEFSQU0odGVtcCk7Ci0gICAgfSBlbHNlIHsK
LSAgICAgICAgSlNMb2NrSG9sZGVyIGxvY2soKnZtKTsKLSAgICAgICAgdm0uY2xlYXIoKTsKLSAg
ICB9Ci0gICAgCiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIApJbmRleDogU291cmNlL0phdmFTY3Jp
cHRDb3JlL0NvbmZpZ3VyYXRpb25zL0phdmFTY3JpcHRDb3JlLnhjY29uZmlnCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9Db25maWd1cmF0aW9ucy9KYXZhU2NyaXB0Q29yZS54
Y2NvbmZpZwkocmV2aXNpb24gMTU3MjA0KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL0NvbmZp
Z3VyYXRpb25zL0phdmFTY3JpcHRDb3JlLnhjY29uZmlnCSh3b3JraW5nIGNvcHkpCkBAIC0zNSwx
NSArMzUsMTEgQEAgSlNWQUxVRV9NT0RFTF94ODZfNjQgPSA2NDsKIC8vIFByZXZlbnQgQysrIHN0
YW5kYXJkIGxpYnJhcnkgb3BlcmF0b3IgbmV3LCBkZWxldGUgYW5kIHRoZWlyIHJlbGF0ZWQgZXhj
ZXB0aW9uIHR5cGVzIGZyb20gYmVpbmcgZXhwb3J0ZWQgYXMgd2VhayBzeW1ib2xzLgogT1RIRVJf
TERGTEFHU19ISURFX1NZTUJPTFMgPSAtV2wsLXVuZXhwb3J0ZWRfc3ltYm9sIC1XbCxfX1pUSVN0
OWJhZF9hbGxvYyAtV2wsLXVuZXhwb3J0ZWRfc3ltYm9sIC1XbCxfX1pUSVN0OWV4Y2VwdGlvbiAt
V2wsLXVuZXhwb3J0ZWRfc3ltYm9sIC1XbCxfX1pUU1N0OWJhZF9hbGxvYyAtV2wsLXVuZXhwb3J0
ZWRfc3ltYm9sIC1XbCxfX1pUU1N0OWV4Y2VwdGlvbiAtV2wsLXVuZXhwb3J0ZWRfc3ltYm9sIC1X
bCxfX1pkbFB2U18gLVdsLC11bmV4cG9ydGVkX3N5bWJvbCAtV2wsX19abndtUHYgLVdsLC1hbGxf
bG9hZDsKIAotT1RIRVJfTERGTEFHU19MTFZNID0gJChPVEhFUl9MREZMQUdTX0xMVk1fJChFTkFC
TEVfRlRMX0pJVCkpOwotT1RIRVJfTERGTEFHU19MTFZNXyA9IDsKLU9USEVSX0xERkxBR1NfTExW
TV9FTkFCTEVfRlRMX0pJVCA9IC1scHRocmVhZCAtbG0gLWxMTFZNVGFibGVHZW4gLWxMTFZNRGVi
dWdJbmZvIC1sTExWTU9wdGlvbiAtbExMVk1YODZEaXNhc3NlbWJsZXIgLWxMTFZNWDg2QXNtUGFy
c2VyIC1sTExWTVg4NkNvZGVHZW4gLWxMTFZNU2VsZWN0aW9uREFHIC1sTExWTUFzbVByaW50ZXIg
LWxMTFZNWDg2RGVzYyAtbExMVk1YODZJbmZvIC1sTExWTVg4NkFzbVByaW50ZXIgLWxMTFZNWDg2
VXRpbHMgLWxMTFZNSVJSZWFkZXIgLWxMTFZNQXNtUGFyc2VyIC1sTExWTU1DRGlzYXNzZW1ibGVy
IC1sTExWTU1DUGFyc2VyIC1sTExWTUluc3RydW1lbnRhdGlvbiAtbExMVk1CaXRSZWFkZXIgLWxM
TFZNSW50ZXJwcmV0ZXIgLWxMTFZNaXBvIC1sTExWTVZlY3Rvcml6ZSAtbExMVk1MaW5rZXIgLWxM
TFZNQml0V3JpdGVyIC1sTExWTU1DSklUIC1sTExWTUpJVCAtbExMVk1Db2RlR2VuIC1sTExWTU9i
akNBUkNPcHRzIC1sTExWTVNjYWxhck9wdHMgLWxMTFZNSW5zdENvbWJpbmUgLWxMTFZNVHJhbnNm
b3JtVXRpbHMgLWxMTFZNaXBhIC1sTExWTUFuYWx5c2lzIC1sTExWTVJ1bnRpbWVEeWxkIC1sTExW
TUV4ZWN1dGlvbkVuZ2luZSAtbExMVk1UYXJnZXQgLWxMTFZNTUMgLWxMTFZNT2JqZWN0IC1sTExW
TUNvcmUgLWxMTFZNU3VwcG9ydDsKLQogT1RIRVJfTERGTEFHU19CQVNFID0gLWxvYmpjIC1XbCwt
WSwzICQoT1RIRVJfTERGTEFHU19ISURFX1NZTUJPTFMpOwogT1RIRVJfTERGTEFHUyA9ICQoaW5o
ZXJpdGVkKSAkKE9USEVSX0xERkxBR1NfJChQTEFURk9STV9OQU1FKSk7CiBPVEhFUl9MREZMQUdT
X2lwaG9uZW9zID0gJChPVEhFUl9MREZMQUdTX0JBU0UpOwogT1RIRVJfTERGTEFHU19pcGhvbmVz
aW11bGF0b3IgPSAkKE9USEVSX0xERkxBR1NfaXBob25lb3MpOwotT1RIRVJfTERGTEFHU19tYWNv
c3ggPSAkKE9USEVSX0xERkxBR1NfQkFTRSkgJChPVEhFUl9MREZMQUdTX0xMVk0pIC1zdWJfbGli
cmFyeSBsaWJvYmpjIC1mcmFtZXdvcmsgQ29yZVNlcnZpY2VzOworT1RIRVJfTERGTEFHU19tYWNv
c3ggPSAkKE9USEVSX0xERkxBR1NfQkFTRSkgLXN1Yl9saWJyYXJ5IGxpYm9iamMgLWZyYW1ld29y
ayBDb3JlU2VydmljZXM7CiBHQ0NfUFJFRklYX0hFQURFUiA9IEphdmFTY3JpcHRDb3JlUHJlZml4
Lmg7CiBHQ0NfU1lNQk9MU19QUklWQVRFX0VYVEVSTiA9IFlFUzsKIEhFQURFUl9TRUFSQ0hfUEFU
SFMgPSAiJHtCVUlMVF9QUk9EVUNUU19ESVJ9L0Rlcml2ZWRTb3VyY2VzL0phdmFTY3JpcHRDb3Jl
IiAkKEhFQURFUl9TRUFSQ0hfUEFUSFMpOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL0Nv
bmZpZ3VyYXRpb25zL0xMVk1Gb3JKU0MueGNjb25maWcKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0ph
dmFTY3JpcHRDb3JlL0NvbmZpZ3VyYXRpb25zL0xMVk1Gb3JKU0MueGNjb25maWcJKHJldmlzaW9u
IDApCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvQ29uZmlndXJhdGlvbnMvTExWTUZvckpTQy54
Y2NvbmZpZwkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDQ0IEBACisvLyBDb3B5cmlnaHQgKEMp
IDIwMTMgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8KKy8vIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAor
Ly8gbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zCisvLyBhcmUgbWV0OgorLy8gMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKy8vICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKy8vIDIu
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUg
Y29weXJpZ2h0CisvLyAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisvLyAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorLy8KKy8vIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQor
Ly8gRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBUSEUKKy8vIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorLy8gUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElO
IE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKy8vIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUg
Rk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorLy8gRVhFTVBM
QVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLAorLy8gUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9T
UyBPRiBVU0UsIERBVEEsIE9SCisvLyBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04p
IEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisvLyBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKy8vIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RQorLy8gT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4gCisKKyNpbmNsdWRlICJGZWF0dXJlRGVmaW5lcy54Y2NvbmZpZyIK
KyNpbmNsdWRlICJWZXJzaW9uLnhjY29uZmlnIgorCisvLyBQcmV2ZW50IEMrKyBzdGFuZGFyZCBs
aWJyYXJ5IG9wZXJhdG9yIG5ldywgZGVsZXRlIGFuZCB0aGVpciByZWxhdGVkIGV4Y2VwdGlvbiB0
eXBlcyBmcm9tIGJlaW5nIGV4cG9ydGVkIGFzIHdlYWsgc3ltYm9scy4KK09USEVSX0xERkxBR1Nf
SElERV9TWU1CT0xTID0gLVdsLC11bmV4cG9ydGVkX3N5bWJvbCAtV2wsX19aVElTdDliYWRfYWxs
b2MgLVdsLC11bmV4cG9ydGVkX3N5bWJvbCAtV2wsX19aVElTdDlleGNlcHRpb24gLVdsLC11bmV4
cG9ydGVkX3N5bWJvbCAtV2wsX19aVFNTdDliYWRfYWxsb2MgLVdsLC11bmV4cG9ydGVkX3N5bWJv
bCAtV2wsX19aVFNTdDlleGNlcHRpb24gLVdsLC11bmV4cG9ydGVkX3N5bWJvbCAtV2wsX19aZGxQ
dlNfIC1XbCwtdW5leHBvcnRlZF9zeW1ib2wgLVdsLF9fWm53bVB2IC1XbCwtYWxsX2xvYWQ7CisK
K09USEVSX0xERkxBR1NfTExWTSA9ICQoT1RIRVJfTERGTEFHU19MTFZNXyQoRU5BQkxFX0ZUTF9K
SVQpKTsKK09USEVSX0xERkxBR1NfTExWTV8gPSA7CitPVEhFUl9MREZMQUdTX0xMVk1fRU5BQkxF
X0ZUTF9KSVQgPSAtbHB0aHJlYWQgLWxtIC1sTExWTVRhYmxlR2VuIC1sTExWTURlYnVnSW5mbyAt
bExMVk1PcHRpb24gLWxMTFZNWDg2RGlzYXNzZW1ibGVyIC1sTExWTVg4NkFzbVBhcnNlciAtbExM
Vk1YODZDb2RlR2VuIC1sTExWTVNlbGVjdGlvbkRBRyAtbExMVk1Bc21QcmludGVyIC1sTExWTVg4
NkRlc2MgLWxMTFZNWDg2SW5mbyAtbExMVk1YODZBc21QcmludGVyIC1sTExWTVg4NlV0aWxzIC1s
TExWTUlSUmVhZGVyIC1sTExWTUFzbVBhcnNlciAtbExMVk1NQ0Rpc2Fzc2VtYmxlciAtbExMVk1N
Q1BhcnNlciAtbExMVk1JbnN0cnVtZW50YXRpb24gLWxMTFZNQml0UmVhZGVyIC1sTExWTUludGVy
cHJldGVyIC1sTExWTWlwbyAtbExMVk1WZWN0b3JpemUgLWxMTFZNTGlua2VyIC1sTExWTUJpdFdy
aXRlciAtbExMVk1NQ0pJVCAtbExMVk1KSVQgLWxMTFZNQ29kZUdlbiAtbExMVk1PYmpDQVJDT3B0
cyAtbExMVk1TY2FsYXJPcHRzIC1sTExWTUluc3RDb21iaW5lIC1sTExWTVRyYW5zZm9ybVV0aWxz
IC1sTExWTWlwYSAtbExMVk1BbmFseXNpcyAtbExMVk1SdW50aW1lRHlsZCAtbExMVk1FeGVjdXRp
b25FbmdpbmUgLWxMTFZNVGFyZ2V0IC1sTExWTU1DIC1sTExWTU9iamVjdCAtbExMVk1Db3JlIC1s
TExWTVN1cHBvcnQ7CisKK09USEVSX0xERkxBR1NfQkFTRSA9IC1sb2JqYyAtV2wsLVksMyAkKE9U
SEVSX0xERkxBR1NfSElERV9TWU1CT0xTKTsKK09USEVSX0xERkxBR1MgPSAkKGluaGVyaXRlZCkg
JChPVEhFUl9MREZMQUdTXyQoUExBVEZPUk1fTkFNRSkpOworT1RIRVJfTERGTEFHU19pcGhvbmVv
cyA9ICQoT1RIRVJfTERGTEFHU19CQVNFKTsKK09USEVSX0xERkxBR1NfaXBob25lc2ltdWxhdG9y
ID0gJChPVEhFUl9MREZMQUdTX2lwaG9uZW9zKTsKK09USEVSX0xERkxBR1NfbWFjb3N4ID0gJChP
VEhFUl9MREZMQUdTX0JBU0UpICQoT1RIRVJfTERGTEFHU19MTFZNKQorR0NDX1NZTUJPTFNfUFJJ
VkFURV9FWFRFUk4gPSBZRVM7CitIRUFERVJfU0VBUkNIX1BBVEhTID0gIiQoQlVJTFRfUFJPRFVD
VFNfRElSKS9EZXJpdmVkU291cmNlcy9KYXZhU2NyaXB0Q29yZSIgJChIRUFERVJfU0VBUkNIX1BB
VEhTKTsKKworUFJPRFVDVF9OQU1FID0gbGx2bUZvckpTQzsKK0VYRUNVVEFCTEVfUFJFRklYID0g
bGliOworCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvago9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
SmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkocmV2aXNpb24gMTU3MjA0
KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2oJKHdvcmtpbmcgY29weSkKQEAgLTI1Nyw3ICsyNTcsNiBAQAogCQkwRjYzOTQ4
NTE1RTQ4MTFCMDA2QTU5N0MgLyogREZHQXJyYXlNb2RlLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjYzOTQ4MjE1RTQ4MTE0MDA2QTU5N0MgLyogREZH
QXJyYXlNb2RlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsg
fTsKIAkJMEY2NkUxNkIxNERGM0YxNjAwQjdCMkU0IC8qIERGR0FkamFjZW5jeUxpc3QuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGNjZFMTY4MTRERjNG
MTMwMEI3QjJFNCAvKiBERkdBZGphY2VuY3lMaXN0LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVU
RVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJMEY2NkUxNkMxNERGM0YxNjAwQjdCMkU0IC8qIERG
R0VkZ2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBG
NjZFMTY5MTRERjNGMTMwMEI3QjJFNCAvKiBERkdFZGdlLmggKi87IHNldHRpbmdzID0ge0FUVFJJ
QlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKLQkJMEY2RTVDMTkxNzI0QUYzRDAwNUM1NzRGIC8q
IFdlYktpdExMVk1MaWJyYXJ5QW5jaG9yLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDBGNkU1QzE4MTcyNEFGM0QwMDVDNTc0RiAvKiBXZWJLaXRMTFZN
TGlicmFyeUFuY2hvci5jcHAgKi87IH07CiAJCTBGNzAyNUE5MTcxNEIwRkEwMDM4MkMwRSAvKiBE
RkdPU1JFeGl0Q29tcGlsZXJDb21tb24uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gMEY3MDI1QTcxNzE0QjBGODAwMzgyQzBFIC8qIERGR09TUkV4aXRD
b21waWxlckNvbW1vbi5jcHAgKi87IH07CiAJCTBGNzAyNUFBMTcxNEIwRkMwMDM4MkMwRSAvKiBE
RkdPU1JFeGl0Q29tcGlsZXJDb21tb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDBGNzAyNUE4MTcxNEIwRjgwMDM4MkMwRSAvKiBERkdPU1JFeGl0Q29t
cGlsZXJDb21tb24uaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9
OyB9OwogCQkwRjcxNENBNDE2RUE5MkYwMDBGM0VCRUIgLyogREZHQmFja3dhcmRzUHJvcGFnYXRp
b25QaGFzZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSAwRjcxNENBMTE2RUE5MkVEMDBGM0VCRUIgLyogREZHQmFja3dhcmRzUHJvcGFnYXRpb25QaGFz
ZS5jcHAgKi87IH07CkBAIC0zNzIsNiArMzcxLDIyIEBACiAJCTBGQzgxNTE1MTQwNTExOUIwMENG
QTYwMyAvKiBWVGFibGVTcGVjdHJ1bS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gMEZDODE1MTQxNDA1MTE4RDAwQ0ZBNjAzIC8qIFZUYWJsZVNwZWN0cnVt
LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJMEZD
ODE1MTYxNDA1MTFCNTAwQ0ZBNjAzIC8qIFZUYWJsZVNwZWN0cnVtLmNwcCBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGQzgxNTEyMTQwNTExODYwMENGQTYw
MyAvKiBWVGFibGVTcGVjdHJ1bS5jcHAgKi87IH07CiAJCTBGQ0NBRTQ1MTZEMENGNzQwMEQwQzY1
QiAvKiBQYXJzZXJFcnJvci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gMEZDQ0FFNDMxNkQwQ0Y2RTAwRDBDNjVCIC8qIFBhcnNlckVycm9yLmggKi87IHNl
dHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMEZDRUZBQjAxODA1
Q0E2RDAwNDcyQ0U0IC8qIEluaXRpYWxpemVMTFZNLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRkNFRkFBRTE4MDVDQTZEMDA0NzJDRTQgLyogSW5pdGlh
bGl6ZUxMVk0uaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9
OworCQkwRkNFRkFCMTE4MDVDQTZEMDA0NzJDRTQgLyogSW5pdGlhbGl6ZUxMVk1NYWMubW0gaW4g
U291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRkNFRkFBRjE4MDVD
QTZEMDA0NzJDRTQgLyogSW5pdGlhbGl6ZUxMVk1NYWMubW0gKi87IH07CisJCTBGQ0VGQUMxMTgw
NUQ5NEUwMDQ3MkNFNCAvKiBMTFZNT3ZlcnJpZGVzLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGQ0VGQUMwMTgwNUQ5NDEwMDQ3MkNFNCAvKiBMTFZN
T3ZlcnJpZGVzLmNwcCAqLzsgfTsKKwkJMEZDRUZBQzMxODA1RTc0MDAwNDcyQ0U0IC8qIExMVk1F
eHBvcnRzLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDBGQ0VGQUMyMTgwNUU3NDAwMDQ3MkNFNCAvKiBMTFZNRXhwb3J0cy5jcHAgKi87IH07CisJCTBG
Q0VGQUNBMTgwNUU3NTUwMDQ3MkNFNCAvKiBJbml0aWFsaXplTExWTS5jcHAgaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRkNFRkFDNDE4MDVFNzU1MDA0NzJD
RTQgLyogSW5pdGlhbGl6ZUxMVk0uY3BwICovOyB9OworCQkwRkNFRkFDQjE4MDVFNzU1MDA0NzJD
RTQgLyogSW5pdGlhbGl6ZUxMVk1QT1NJWC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSAwRkNFRkFDNTE4MDVFNzU1MDA0NzJDRTQgLyogSW5pdGlhbGl6
ZUxMVk1QT1NJWC5jcHAgKi87IH07CisJCTBGQ0VGQUNDMTgwNUU3NTUwMDQ3MkNFNCAvKiBJbml0
aWFsaXplTExWTVBPU0lYLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSAwRkNFRkFDNjE4MDVFNzU1MDA0NzJDRTQgLyogSW5pdGlhbGl6ZUxMVk1QT1NJWC5o
ICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTBGQ0VG
QUNEMTgwNUU3NTUwMDQ3MkNFNCAvKiBMTFZNQVBJLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGQ0VGQUM3MTgwNUU3NTUwMDQ3MkNFNCAvKiBMTFZN
QVBJLmNwcCAqLzsgfTsKKwkJMEZDRUZBQ0UxODA1RTc1NTAwNDcyQ0U0IC8qIExMVk1BUEkuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGQ0VGQUM4MTgw
NUU3NTUwMDQ3MkNFNCAvKiBMTFZNQVBJLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAo
UHJpdmF0ZSwgKTsgfTsgfTsKKwkJMEZDRUZBQ0YxODA1RTc1NTAwNDcyQ0U0IC8qIExMVk1BUElG
dW5jdGlvbnMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDBGQ0VGQUM5MTgwNUU3NTUwMDQ3MkNFNCAvKiBMTFZNQVBJRnVuY3Rpb25zLmggKi87IHNldHRp
bmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMEZDRUZBRDExODA1RTc3
OTAwNDcyQ0U0IC8qIExMVk1BUElGdW5jdGlvbnMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGQ0VGQUM5MTgwNUU3NTUwMDQ3MkNFNCAvKiBMTFZNQVBJ
RnVuY3Rpb25zLmggKi87IH07CisJCTBGQ0VGQUQzMTgwNUVEQ0MwMDQ3MkNFNCAvKiBMTFZNSGVh
ZGVycy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZD
RUZBRDIxODA1RURDQzAwNDcyQ0U0IC8qIExMVk1IZWFkZXJzLmggKi87IHNldHRpbmdzID0ge0FU
VFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMEZDRUZBRDQxODA1RURDQzAwNDcyQ0U0
IC8qIExMVk1IZWFkZXJzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSAwRkNFRkFEMjE4MDVFRENDMDA0NzJDRTQgLyogTExWTUhlYWRlcnMuaCAqLzsgfTsK
KwkJMEZDRUZBRDcxODA2MTc0NjAwNDcyQ0U0IC8qIExMVk1BbmNob3IuY3BwIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZDRUZBRDYxODA2MTc0NjAwNDcy
Q0U0IC8qIExMVk1BbmNob3IuY3BwICovOyB9OworCQkwRkNFRkFEQTE4MDYyMERBMDA0NzJDRTQg
LyogTExWTUFQSS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gMEZDRUZBQzgxODA1RTc1NTAwNDcyQ0U0IC8qIExMVk1BUEkuaCAqLzsgfTsKKwkJMEZDRUZB
REMxODA2NEExNDAwNDcyQ0U0IC8qIGNvbmZpZ19sbHZtLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRkNFRkFEQjE4MDY0QTE0MDA0NzJDRTQgLyogY29u
ZmlnX2xsdm0uaCAqLzsgfTsKIAkJMEZEMkM5MjQxNkQwMUVFOTAwQzc4MDNGIC8qIFN0cnVjdHVy
ZUlubGluZXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDBGRDJDOTIzMTZEMDFFRTkwMEM3ODAzRiAvKiBTdHJ1Y3R1cmVJbmxpbmVzLmggKi87IHNldHRp
bmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJMEZEM0M4MjYxNDExNUQ0
MDAwRkQ4MUNCIC8qIERGR0RyaXZlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSAwRkQzQzgyMDE0MTE1Q0Y4MDBGRDgxQ0IgLyogREZHRHJpdmVyLmNw
cCAqLzsgfTsKIAkJMEZEM0M4MjgxNDExNUQ0RjAwRkQ4MUNCIC8qIERGR0RyaXZlci5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZEM0M4MjIxNDExNUQw
RTAwRkQ4MUNCIC8qIERGR0RyaXZlci5oICovOyB9OwpAQCAtMTE4MSw2ICsxMTk2LDEzIEBACiAv
KiBFbmQgUEJYQnVpbGRGaWxlIHNlY3Rpb24gKi8KIAogLyogQmVnaW4gUEJYQ29udGFpbmVySXRl
bVByb3h5IHNlY3Rpb24gKi8KKwkJMEZDRUZBQkMxODA1RDY2MzAwNDcyQ0U0IC8qIFBCWENvbnRh
aW5lckl0ZW1Qcm94eSAqLyA9IHsKKwkJCWlzYSA9IFBCWENvbnRhaW5lckl0ZW1Qcm94eTsKKwkJ
CWNvbnRhaW5lclBvcnRhbCA9IDA4NjdENjkwRkU4NDAyOEZDMDJBQUMwNyAvKiBQcm9qZWN0IG9i
amVjdCAqLzsKKwkJCXByb3h5VHlwZSA9IDE7CisJCQlyZW1vdGVHbG9iYWxJRFN0cmluZyA9IDBG
Q0VGQUI1MTgwNUQ2MTYwMDQ3MkNFNDsKKwkJCXJlbW90ZUluZm8gPSBsbHZtRm9ySlNDOworCQl9
OwogCQkwRkY5MjJEMjE0RjQ2QjJGMDA0MUEyNEUgLyogUEJYQ29udGFpbmVySXRlbVByb3h5ICov
ID0gewogCQkJaXNhID0gUEJYQ29udGFpbmVySXRlbVByb3h5OwogCQkJY29udGFpbmVyUG9ydGFs
ID0gMDg2N0Q2OTBGRTg0MDI4RkMwMkFBQzA3IC8qIFByb2plY3Qgb2JqZWN0ICovOwpAQCAtMTQ3
MSw3ICsxNDkzLDYgQEAKIAkJMEY2Mzk0ODIxNUU0ODExNDAwNkE1OTdDIC8qIERGR0FycmF5TW9k
ZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBERkdBcnJheU1vZGUuaDsgcGF0
aCA9IGRmZy9ERkdBcnJheU1vZGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMEY2
NkUxNjgxNERGM0YxMzAwQjdCMkU0IC8qIERGR0FkamFjZW5jeUxpc3QuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBuYW1lID0gREZHQWRqYWNlbmN5TGlzdC5oOyBwYXRoID0gZGZnL0RGR0Fk
amFjZW5jeUxpc3QuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMEY2NkUxNjkxNERG
M0YxMzAwQjdCMkU0IC8qIERGR0VkZ2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1l
ID0gREZHRWRnZS5oOyBwYXRoID0gZGZnL0RGR0VkZ2UuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKLQkJMEY2RTVDMTgxNzI0QUYzRDAwNUM1NzRGIC8qIFdlYktpdExMVk1MaWJyYXJ5QW5j
aG9yLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IFdlYktpdExMVk1M
aWJyYXJ5QW5jaG9yLmNwcDsgcGF0aCA9IGZ0bC9XZWJLaXRMTFZNTGlicmFyeUFuY2hvci5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTBGNzAyNUE3MTcxNEIwRjgwMDM4MkMwRSAv
KiBERkdPU1JFeGl0Q29tcGlsZXJDb21tb24uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
Y3BwOyBuYW1lID0gREZHT1NSRXhpdENvbXBpbGVyQ29tbW9uLmNwcDsgcGF0aCA9IGRmZy9ERkdP
U1JFeGl0Q29tcGlsZXJDb21tb24uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkw
RjcwMjVBODE3MTRCMEY4MDAzODJDMEUgLyogREZHT1NSRXhpdENvbXBpbGVyQ29tbW9uLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IERGR09TUkV4aXRDb21waWxlckNvbW1vbi5o
OyBwYXRoID0gZGZnL0RGR09TUkV4aXRDb21waWxlckNvbW1vbi5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQkwRjcxNENBMTE2RUE5MkVEMDBGM0VCRUIgLyogREZHQmFja3dhcmRzUHJv
cGFnYXRpb25QaGFzZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBE
RkdCYWNrd2FyZHNQcm9wYWdhdGlvblBoYXNlLmNwcDsgcGF0aCA9IGRmZy9ERkdCYWNrd2FyZHNQ
cm9wYWdhdGlvblBoYXNlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTE1OTgs
NiArMTYxOSwyMSBAQAogCQkwRkM4MTUxNDE0MDUxMThEMDBDRkE2MDMgLyogVlRhYmxlU3BlY3Ry
dW0uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gVlRhYmxlU3BlY3RydW0uaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMEZDQjQwODUxNUMwQTNDMzAwNDg5MzJCIC8q
IFNsb3RWaXNpdG9ySW5saW5lcy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBT
bG90VmlzaXRvcklubGluZXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMEZDQ0FF
NDMxNkQwQ0Y2RTAwRDBDNjVCIC8qIFBhcnNlckVycm9yLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IFBhcnNlckVycm9yLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CTBGQ0VGQUFFMTgwNUNBNkQwMDQ3MkNFNCAvKiBJbml0aWFsaXplTExWTS5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IG5hbWUgPSBJbml0aWFsaXplTExWTS5oOyBwYXRoID0gbGx2bS9Jbml0
aWFsaXplTExWTS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRkNFRkFBRjE4MDVD
QTZEMDA0NzJDRTQgLyogSW5pdGlhbGl6ZUxMVk1NYWMubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5vYmpjcHA7IG5hbWUgPSBJbml0aWFsaXplTExWTU1hYy5tbTsgcGF0aCA9IGxsdm0vSW5p
dGlhbGl6ZUxMVk1NYWMubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGQ0VGQUI2
MTgwNUQ2MTYwMDQ3MkNFNCAvKiBsaWJsbHZtRm9ySlNDLmR5bGliICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGV4cGxpY2l0RmlsZVR5cGUgPSAiY29tcGlsZWQubWFjaC1vLmR5bGliIjsg
aW5jbHVkZUluSW5kZXggPSAwOyBwYXRoID0gbGlibGx2bUZvckpTQy5keWxpYjsgc291cmNlVHJl
ZSA9IEJVSUxUX1BST0RVQ1RTX0RJUjsgfTsKKwkJMEZDRUZBQkUxODA1RDg2OTAwNDcyQ0U0IC8q
IExMVk1Gb3JKU0MueGNjb25maWcgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtu
b3duRmlsZVR5cGUgPSB0ZXh0LnhjY29uZmlnOyBwYXRoID0gTExWTUZvckpTQy54Y2NvbmZpZzsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEZDRUZBQzAxODA1RDk0MTAwNDcyQ0U0IC8q
IExMVk1PdmVycmlkZXMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gTExWTU92ZXJyaWRlcy5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGQ0VGQUMyMTgwNUU3NDAwMDQ3MkNFNCAv
KiBMTFZNRXhwb3J0cy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBM
TFZNRXhwb3J0cy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGQ0VGQUM0MTgw
NUU3NTUwMDQ3MkNFNCAvKiBJbml0aWFsaXplTExWTS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IG5hbWUgPSBJbml0aWFsaXplTExWTS5jcHA7IHBhdGggPSBsbHZtL0luaXRpYWxp
emVMTFZNLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEZDRUZBQzUxODA1RTc1
NTAwNDcyQ0U0IC8qIEluaXRpYWxpemVMTFZNUE9TSVguY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBuYW1lID0gSW5pdGlhbGl6ZUxMVk1QT1NJWC5jcHA7IHBhdGggPSBsbHZtL0lu
aXRpYWxpemVMTFZNUE9TSVguY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRkNF
RkFDNjE4MDVFNzU1MDA0NzJDRTQgLyogSW5pdGlhbGl6ZUxMVk1QT1NJWC5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IG5hbWUgPSBJbml0aWFsaXplTExWTVBPU0lYLmg7IHBhdGggPSBsbHZt
L0luaXRpYWxpemVMTFZNUE9TSVguaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEZD
RUZBQzcxODA1RTc1NTAwNDcyQ0U0IC8qIExMVk1BUEkuY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBuYW1lID0gTExWTUFQSS5jcHA7IHBhdGggPSBsbHZtL0xMVk1BUEkuY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRkNFRkFDODE4MDVFNzU1MDA0NzJDRTQgLyog
TExWTUFQSS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBMTFZNQVBJLmg7IHBh
dGggPSBsbHZtL0xMVk1BUEkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEZDRUZB
QzkxODA1RTc1NTAwNDcyQ0U0IC8qIExMVk1BUElGdW5jdGlvbnMuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBuYW1lID0gTExWTUFQSUZ1bmN0aW9ucy5oOyBwYXRoID0gbGx2bS9MTFZNQVBJ
RnVuY3Rpb25zLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGQ0VGQUQyMTgwNUVE
Q0MwMDQ3MkNFNCAvKiBMTFZNSGVhZGVycy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5h
bWUgPSBMTFZNSGVhZGVycy5oOyBwYXRoID0gbGx2bS9MTFZNSGVhZGVycy5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQkwRkNFRkFENjE4MDYxNzQ2MDA0NzJDRTQgLyogTExWTUFuY2hv
ci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBMTFZNQW5jaG9yLmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEZDRUZBREIxODA2NEExNDAwNDcyQ0U0
IC8qIGNvbmZpZ19sbHZtLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IGNvbmZp
Z19sbHZtLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTBGRDJDOTIzMTZEMDFFRTkw
MEM3ODAzRiAvKiBTdHJ1Y3R1cmVJbmxpbmVzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IFN0cnVjdHVyZUlubGluZXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
MEZEM0M4MjAxNDExNUNGODAwRkQ4MUNCIC8qIERGR0RyaXZlci5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBERkdEcml2ZXIuY3BwOyBwYXRoID0gZGZnL0RGR0RyaXZl
ci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTBGRDNDODIyMTQxMTVEMEUwMEZE
ODFDQiAvKiBERkdEcml2ZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gREZH
RHJpdmVyLmg7IHBhdGggPSBkZmcvREZHRHJpdmVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CkBAIC0yNDMxLDYgKzI0NjcsMTMgQEAKIC8qIEVuZCBQQlhGaWxlUmVmZXJlbmNlIHNlY3Rp
b24gKi8KIAogLyogQmVnaW4gUEJYRnJhbWV3b3Jrc0J1aWxkUGhhc2Ugc2VjdGlvbiAqLworCQkw
RkNFRkFCMzE4MDVENjE2MDA0NzJDRTQgLyogRnJhbWV3b3JrcyAqLyA9IHsKKwkJCWlzYSA9IFBC
WEZyYW1ld29ya3NCdWlsZFBoYXNlOworCQkJYnVpbGRBY3Rpb25NYXNrID0gMjE0NzQ4MzY0NzsK
KwkJCWZpbGVzID0gKAorCQkJKTsKKwkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3Np
bmcgPSAwOworCQl9OwogCQkwRkY5MjJDNjE0RjQ2QjEzMDA0MUEyNEUgLyogRnJhbWV3b3JrcyAq
LyA9IHsKIAkJCWlzYSA9IFBCWEZyYW1ld29ya3NCdWlsZFBoYXNlOwogCQkJYnVpbGRBY3Rpb25N
YXNrID0gMjE0NzQ4MzY0NzsKQEAgLTI0OTksNiArMjU0Miw3IEBACiAJCQkJMTQxMjExMjAwQTQ4
NzkzQzAwNDgwMjU1IC8qIG1pbmlkb20gKi8sCiAJCQkJMTRCRDU5QkYwQTNFOEY5MDAwQkFGNTlD
IC8qIHRlc3RhcGkgKi8sCiAJCQkJNjUxMTIzMDUxNDA0NkE0QzAwMkIxMDFEIC8qIHRlc3RSZWdF
eHAgKi8sCisJCQkJMEZDRUZBQjYxODA1RDYxNjAwNDcyQ0U0IC8qIGxpYmxsdm1Gb3JKU0MuZHls
aWIgKi8sCiAJCQkpOwogCQkJbmFtZSA9IFByb2R1Y3RzOwogCQkJc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsKQEAgLTI1MzEsNiArMjU3NSw3IEBACiAJCQkJMTQyOUQ3N0EwRUQyMEQ3MzAwQjg5NjE5
IC8qIGludGVycHJldGVyICovLAogCQkJCTE0MjlEOTJDMEVEMjJENzAwMEI4OTYxOSAvKiBqaXQg
Ki8sCiAJCQkJMEY0NjgwOUMxNEJBN0Y0RDAwQkZFMjcyIC8qIGxsaW50ICovLAorCQkJCTBGQ0VG
QUFEMTgwNUNBNDQwMDQ3MkNFNCAvKiBsbHZtICovLAogCQkJCTdFMzlEODM3MEVDM0EzODgwMDNB
RjExQSAvKiBwYXJzZXIgKi8sCiAJCQkJMDM0NzY4REZGRjM4QTUwNDExREI5QzhCIC8qIFByb2R1
Y3RzICovLAogCQkJCTk1QUI4MzFBMERBNDJDNjkwMEJDODNGMyAvKiBwcm9maWxlciAqLywKQEAg
LTI1ODgsNiArMjYzMywzNSBAQAogCQkJbmFtZSA9IGxsaW50OwogCQkJc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsKIAkJfTsKKwkJMEZDRUZBQUQxODA1Q0E0NDAwNDcyQ0U0IC8qIGxsdm0gKi8gPSB7
CisJCQlpc2EgPSBQQlhHcm91cDsKKwkJCWNoaWxkcmVuID0gKAorCQkJCTBGQ0VGQUJGMTgwNUQ5
NDEwMDQ3MkNFNCAvKiBsaWJyYXJ5ICovLAorCQkJCTBGQ0VGQUM0MTgwNUU3NTUwMDQ3MkNFNCAv
KiBJbml0aWFsaXplTExWTS5jcHAgKi8sCisJCQkJMEZDRUZBQUUxODA1Q0E2RDAwNDcyQ0U0IC8q
IEluaXRpYWxpemVMTFZNLmggKi8sCisJCQkJMEZDRUZBQUYxODA1Q0E2RDAwNDcyQ0U0IC8qIElu
aXRpYWxpemVMTFZNTWFjLm1tICovLAorCQkJCTBGQ0VGQUM1MTgwNUU3NTUwMDQ3MkNFNCAvKiBJ
bml0aWFsaXplTExWTVBPU0lYLmNwcCAqLywKKwkJCQkwRkNFRkFDNjE4MDVFNzU1MDA0NzJDRTQg
LyogSW5pdGlhbGl6ZUxMVk1QT1NJWC5oICovLAorCQkJCTBGQ0VGQUM3MTgwNUU3NTUwMDQ3MkNF
NCAvKiBMTFZNQVBJLmNwcCAqLywKKwkJCQkwRkNFRkFDODE4MDVFNzU1MDA0NzJDRTQgLyogTExW
TUFQSS5oICovLAorCQkJCTBGQ0VGQUM5MTgwNUU3NTUwMDQ3MkNFNCAvKiBMTFZNQVBJRnVuY3Rp
b25zLmggKi8sCisJCQkJMEZDRUZBRDIxODA1RURDQzAwNDcyQ0U0IC8qIExMVk1IZWFkZXJzLmgg
Ki8sCisJCQkpOworCQkJbmFtZSA9IGxsdm07CisJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOwor
CQl9OworCQkwRkNFRkFCRjE4MDVEOTQxMDA0NzJDRTQgLyogbGlicmFyeSAqLyA9IHsKKwkJCWlz
YSA9IFBCWEdyb3VwOworCQkJY2hpbGRyZW4gPSAoCisJCQkJMEZDRUZBREIxODA2NEExNDAwNDcy
Q0U0IC8qIGNvbmZpZ19sbHZtLmggKi8sCisJCQkJMEZDRUZBRDYxODA2MTc0NjAwNDcyQ0U0IC8q
IExMVk1BbmNob3IuY3BwICovLAorCQkJCTBGQ0VGQUMyMTgwNUU3NDAwMDQ3MkNFNCAvKiBMTFZN
RXhwb3J0cy5jcHAgKi8sCisJCQkJMEZDRUZBQzAxODA1RDk0MTAwNDcyQ0U0IC8qIExMVk1PdmVy
cmlkZXMuY3BwICovLAorCQkJKTsKKwkJCW5hbWUgPSBsaWJyYXJ5OworCQkJcGF0aCA9IGxsdm0v
bGlicmFyeTsKKwkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CisJCX07CiAJCTBGRUEwOUZDMTcw
NTEzN0YwMEJCNzIyQyAvKiBmdGwgKi8gPSB7CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxk
cmVuID0gKApAQCAtMjY1MSw3ICsyNzI1LDYgQEAKIAkJCQkwRkRCMkNDODE3M0RBNTFFMDA3QjND
MUIgLyogRlRMVmFsdWVGcm9tQmxvY2suaCAqLywKIAkJCQkwRjIzNUJDRjE3MTc4RTFDMDA2OTBD
N0YgLyogRlRMVmFsdWVTb3VyY2UuY3BwICovLAogCQkJCTBGMjM1QkQwMTcxNzhFMUMwMDY5MEM3
RiAvKiBGVExWYWx1ZVNvdXJjZS5oICovLAotCQkJCTBGNkU1QzE4MTcyNEFGM0QwMDVDNTc0RiAv
KiBXZWJLaXRMTFZNTGlicmFyeUFuY2hvci5jcHAgKi8sCiAJCQkpOwogCQkJbmFtZSA9IGZ0bDsK
IAkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CkBAIC0zMDA4LDYgKzMwODEsNyBAQAogCQkxQzkw
NTEzRTBCQTlFODgzMDA4MUU5RDAgLyogQ29uZmlndXJhdGlvbnMgKi8gPSB7CiAJCQlpc2EgPSBQ
QlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKAorCQkJCTBGQ0VGQUJFMTgwNUQ4NjkwMDQ3MkNFNCAv
KiBMTFZNRm9ySlNDLnhjY29uZmlnICovLAogCQkJCTFDOTA1MTQ1MEJBOUU4QTcwMDgxRTlEMCAv
KiBCYXNlLnhjY29uZmlnICovLAogCQkJCTFDOTA1MTQ0MEJBOUU4QTcwMDgxRTlEMCAvKiBEZWJ1
Z1JlbGVhc2UueGNjb25maWcgKi8sCiAJCQkJNDQ5MDk3RUUwRjhGODFCNTAwNzZBMzI3IC8qIEZl
YXR1cmVEZWZpbmVzLnhjY29uZmlnICovLApAQCAtMzg4Miw2ICszOTU2LDE3IEBACiAvKiBFbmQg
UEJYR3JvdXAgc2VjdGlvbiAqLwogCiAvKiBCZWdpbiBQQlhIZWFkZXJzQnVpbGRQaGFzZSBzZWN0
aW9uICovCisJCTBGQ0VGQUI0MTgwNUQ2MTYwMDQ3MkNFNCAvKiBIZWFkZXJzICovID0geworCQkJ
aXNhID0gUEJYSGVhZGVyc0J1aWxkUGhhc2U7CisJCQlidWlsZEFjdGlvbk1hc2sgPSAyMTQ3NDgz
NjQ3OworCQkJZmlsZXMgPSAoCisJCQkJMEZDRUZBRDQxODA1RURDQzAwNDcyQ0U0IC8qIExMVk1I
ZWFkZXJzLmggaW4gSGVhZGVycyAqLywKKwkJCQkwRkNFRkFEQTE4MDYyMERBMDA0NzJDRTQgLyog
TExWTUFQSS5oIGluIEhlYWRlcnMgKi8sCisJCQkJMEZDRUZBRDExODA1RTc3OTAwNDcyQ0U0IC8q
IExMVk1BUElGdW5jdGlvbnMuaCBpbiBIZWFkZXJzICovLAorCQkJCTBGQ0VGQURDMTgwNjRBMTQw
MDQ3MkNFNCAvKiBjb25maWdfbGx2bS5oIGluIEhlYWRlcnMgKi8sCisJCQkpOworCQkJcnVuT25s
eUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CisJCX07CiAJCTE0NDAwNUM3MEE1MzM4
QzYwMDA1RjA2MSAvKiBIZWFkZXJzICovID0gewogCQkJaXNhID0gUEJYSGVhZGVyc0J1aWxkUGhh
c2U7CiAJCQlidWlsZEFjdGlvbk1hc2sgPSAyMTQ3NDgzNjQ3OwpAQCAtMzk0MCw2ICs0MDI1LDcg
QEAKIAkJCQkwRjBCODNCMTE0QkNGNzE4MDA4ODVCNEYgLyogQ2FsbExpbmtJbmZvLmggaW4gSGVh
ZGVycyAqLywKIAkJCQkwRjkzMzI5RTE0Q0E3REM1MDA4NUYzQzYgLyogQ2FsbExpbmtTdGF0dXMu
aCBpbiBIZWFkZXJzICovLAogCQkJCTBGMEI4M0I5MTRCQ0Y5NUYwMDg4NUI0RiAvKiBDYWxsUmV0
dXJuT2Zmc2V0VG9CeXRlY29kZU9mZnNldC5oIGluIEhlYWRlcnMgKi8sCisJCQkJMEZDRUZBRDMx
ODA1RURDQzAwNDcyQ0U0IC8qIExMVk1IZWFkZXJzLmggaW4gSGVhZGVycyAqLywKIAkJCQlCQzZB
QUFFNTBFMUY0MjY1MDBBRDg3RDggLyogQ2xhc3NJbmZvLmggaW4gSGVhZGVycyAqLywKIAkJCQkw
RjczRDdBRjE2NUExNDMwMDBBQ0FCNzEgLyogQ2xvc3VyZUNhbGxTdHViUm91dGluZS5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJOTY5QTA3OTcwRUQxRDNBRTAwRjFGNjgxIC8qIENvZGVCbG9jay5oIGlu
IEhlYWRlcnMgKi8sCkBAIC0zOTcwLDYgKzQwNTYsNyBAQAogCQkJCUMyMjM5RDE4MTYyNjJCREQw
MDVBQzVGRCAvKiBDb3B5VmlzaXRvci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQzIyMzlEMTkxNjI2
MkJERDAwNUFDNUZEIC8qIENvcHlWaXNpdG9ySW5saW5lcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
QzIxOEQxNDAxNjU1Q0ZENTAwNjJCQjgxIC8qIENvcHlXb3JrTGlzdC5oIGluIEhlYWRlcnMgKi8s
CisJCQkJMEZDRUZBQ0YxODA1RTc1NTAwNDcyQ0U0IC8qIExMVk1BUElGdW5jdGlvbnMuaCBpbiBI
ZWFkZXJzICovLAogCQkJCTVERTZFNUIzMEUxNzI4RUMwMDE4MDQwNyAvKiBjcmVhdGVfaGFzaF90
YWJsZSBpbiBIZWFkZXJzICovLAogCQkJCTBGNDI2QTRCMTQ2MENENkUwMDEzMUY4RiAvKiBEYXRh
Rm9ybWF0LmggaW4gSGVhZGVycyAqLywKIAkJCQkwRjJCNjZERjE3QjZCNUFCMDBBN0FFM0YgLyog
RGF0YVZpZXcuaCBpbiBIZWFkZXJzICovLApAQCAtNDA4Nyw2ICs0MTc0LDcgQEAKIAkJCQk4NkVD
OUREMzEzMjhERjgyMDAyQjJBRDcgLyogREZHU3BlY3VsYXRpdmVKSVQuaCBpbiBIZWFkZXJzICov
LAogCQkJCUE3RDg5RDAwMTdBMEI4Q0MwMDc3M0FEOCAvKiBERkdTU0FDb252ZXJzaW9uUGhhc2Uu
aCBpbiBIZWFkZXJzICovLAogCQkJCTBGNjM5NDc4MTVEQ0UzNEIwMDZBNTk3QyAvKiBERkdTdHJ1
Y3R1cmVBYnN0cmFjdFZhbHVlLmggaW4gSGVhZGVycyAqLywKKwkJCQkwRkNFRkFDQzE4MDVFNzU1
MDA0NzJDRTQgLyogSW5pdGlhbGl6ZUxMVk1QT1NJWC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEZD
MDk3QTIxNDZCMjhDQzAwQ0YyNDQyIC8qIERGR1RodW5rcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
MEY2Mzk0M0YxNUM3NUYxOTAwNkE1OTdDIC8qIERGR1R5cGVDaGVja0hvaXN0aW5nUGhhc2UuaCBp
biBIZWFkZXJzICovLAogCQkJCTBGQkUwRjc3MTZDMURCMTIwMDgyQzVFOCAvKiBERkdVbmlmaWNh
dGlvblBoYXNlLmggaW4gSGVhZGVycyAqLywKQEAgLTQxOTMsNiArNDI4MSw3IEBACiAJCQkJQTc4
ODUzRkExNzk3MjYyOTAwMTQ0MEU0IC8qIEludGVuZGVkU3RydWN0dXJlQ2hhaW4uaCBpbiBIZWFk
ZXJzICovLAogCQkJCUJDMTE2NjdCMEUxOTlDMDUwMDgwNjZERCAvKiBJbnRlcm5hbEZ1bmN0aW9u
LmggaW4gSGVhZGVycyAqLywKIAkJCQkxNDI5RDc3QzBFRDIwRDczMDBCODk2MTkgLyogSW50ZXJw
cmV0ZXIuaCBpbiBIZWFkZXJzICovLAorCQkJCTBGQ0VGQUIwMTgwNUNBNkQwMDQ3MkNFNCAvKiBJ
bml0aWFsaXplTExWTS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJODYwQkQ4MDExNDhFQTZGMjAwMTEy
QjJGIC8qIEludHJpbnNpYy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkMxOEM0MTMwRTE2RjVDRDAw
QjM0NDYwIC8qIEphdmFTY3JpcHQuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDMThDNDE0MEUxNkY1
Q0QwMEIzNDQ2MCAvKiBKYXZhU2NyaXB0Q29yZS5oIGluIEhlYWRlcnMgKi8sCkBAIC00MjQ2LDYg
KzQzMzUsNyBAQAogCQkJCUE3MjAyOEI4MTc5NzYwMUUwMDk4MDI4QyAvKiBKU0NUZXN0UnVubmVy
VXRpbHMuaCBpbiBIZWFkZXJzICovLAogCQkJCTBGMkI2NkVDMTdCNkI1QUIwMEE3QUUzRiAvKiBK
U0RhdGFWaWV3LmggaW4gSGVhZGVycyAqLywKIAkJCQkwRjJCNjZFRTE3QjZCNUFCMDBBN0FFM0Yg
LyogSlNEYXRhVmlld1Byb3RvdHlwZS5oIGluIEhlYWRlcnMgKi8sCisJCQkJMEZDRUZBQ0UxODA1
RTc1NTAwNDcyQ0U0IC8qIExMVk1BUEkuaCBpbiBIZWFkZXJzICovLAogCQkJCTk3ODgwMTQxMTQ3
MUFEOTIwMDQxQjAxNiAvKiBKU0RhdGVNYXRoLmggaW4gSGVhZGVycyAqLywKIAkJCQlDMkE3RjY4
ODE2MDQzMkQ0MDBGNzZCOTggLyogSlNEZXN0cnVjdGlibGVPYmplY3QuaCBpbiBIZWFkZXJzICov
LAogCQkJCTg2RTNDNjE0MTY3QkFCRDcwMDZENzYwQSAvKiBKU0V4cG9ydC5oIGluIEhlYWRlcnMg
Ki8sCkBAIC00NTYzLDYgKzQ2NTMsMjMgQEAKIC8qIEVuZCBQQlhIZWFkZXJzQnVpbGRQaGFzZSBz
ZWN0aW9uICovCiAKIC8qIEJlZ2luIFBCWE5hdGl2ZVRhcmdldCBzZWN0aW9uICovCisJCTBGQ0VG
QUI1MTgwNUQ2MTYwMDQ3MkNFNCAvKiBsbHZtRm9ySlNDICovID0geworCQkJaXNhID0gUEJYTmF0
aXZlVGFyZ2V0OworCQkJYnVpbGRDb25maWd1cmF0aW9uTGlzdCA9IDBGQ0VGQUI3MTgwNUQ2MTYw
MDQ3MkNFNCAvKiBCdWlsZCBjb25maWd1cmF0aW9uIGxpc3QgZm9yIFBCWE5hdGl2ZVRhcmdldCAi
bGx2bUZvckpTQyIgKi87CisJCQlidWlsZFBoYXNlcyA9ICgKKwkJCQkwRkNFRkFCMjE4MDVENjE2
MDA0NzJDRTQgLyogU291cmNlcyAqLywKKwkJCQkwRkNFRkFCMzE4MDVENjE2MDA0NzJDRTQgLyog
RnJhbWV3b3JrcyAqLywKKwkJCQkwRkNFRkFCNDE4MDVENjE2MDA0NzJDRTQgLyogSGVhZGVycyAq
LywKKwkJCSk7CisJCQlidWlsZFJ1bGVzID0gKAorCQkJKTsKKwkJCWRlcGVuZGVuY2llcyA9ICgK
KwkJCSk7CisJCQluYW1lID0gbGx2bUZvckpTQzsKKwkJCXByb2R1Y3ROYW1lID0gbGx2bUZvckpT
QzsKKwkJCXByb2R1Y3RSZWZlcmVuY2UgPSAwRkNFRkFCNjE4MDVENjE2MDA0NzJDRTQgLyogbGli
bGx2bUZvckpTQy5keWxpYiAqLzsKKwkJCXByb2R1Y3RUeXBlID0gImNvbS5hcHBsZS5wcm9kdWN0
LXR5cGUubGlicmFyeS5keW5hbWljIjsKKwkJfTsKIAkJMEZGOTIyQzMxNEY0NkIxMzAwNDFBMjRF
IC8qIEpTQ0xMSW50T2Zmc2V0c0V4dHJhY3RvciAqLyA9IHsKIAkJCWlzYSA9IFBCWE5hdGl2ZVRh
cmdldDsKIAkJCWJ1aWxkQ29uZmlndXJhdGlvbkxpc3QgPSAwRkY5MjJDQTE0RjQ2QjEzMDA0MUEy
NEUgLyogQnVpbGQgY29uZmlndXJhdGlvbiBsaXN0IGZvciBQQlhOYXRpdmVUYXJnZXQgIkpTQ0xM
SW50T2Zmc2V0c0V4dHJhY3RvciIgKi87CkBAIC00NjQzLDYgKzQ3NTAsNyBAQAogCQkJCTM3MzI4
MTFBMTdGQ0QyMzUwMDRBRDUxOSAvKiBQb3N0cHJvY2VzcyBIZWFkZXJzICovLAogCQkJCTkzMkY1
QjkxMDgyMkExQzcwMDczNjk3NSAvKiBTb3VyY2VzICovLAogCQkJCTkzMkY1QkQyMDgyMkExQzcw
MDczNjk3NSAvKiBGcmFtZXdvcmtzICovLAorCQkJCTBGQ0VGQUQ5MTgwNjE5MTgwMDQ3MkNFNCAv
KiBDb3B5IExMVk0gTGlicmFyeSBJbnRvIEZyYW1ld29yayAqLywKIAkJCQk1RDI5RDhCRTBFOTg2
MEI0MDBDM0QyRDAgLyogQ2hlY2sgRm9yIFdlYWsgVlRhYmxlcyBhbmQgRXh0ZXJuYWxzICovLAog
CQkJCTM3MTNGMDE0MTQyOTA1MjQwMDM2Mzg3RiAvKiBDaGVjayBGb3IgSW5hcHByb3ByaWF0ZSBP
YmplY3RpdmUtQyBDbGFzcyBOYW1lcyAqLywKIAkJCQlBNTVERUFBNDE2NzAzREY3MDAzREI4NDEg
LyogQ2hlY2sgRm9yIEluYXBwcm9wcmlhdGUgTWFjcm9zIGluIEV4dGVybmFsIEhlYWRlcnMgKi8s
CkBAIC00NjUwLDYgKzQ3NTgsNyBAQAogCQkJYnVpbGRSdWxlcyA9ICgKIAkJCSk7CiAJCQlkZXBl
bmRlbmNpZXMgPSAoCisJCQkJMEZDRUZBQkQxODA1RDY2MzAwNDcyQ0U0IC8qIFBCWFRhcmdldERl
cGVuZGVuY3kgKi8sCiAJCQkJNjVGQjNGN0UwOUQxMUVGMzAwRjQ5REVCIC8qIFBCWFRhcmdldERl
cGVuZGVuY3kgKi8sCiAJCQkpOwogCQkJbmFtZSA9IEphdmFTY3JpcHRDb3JlOwpAQCAtNDcxMCw2
ICs0ODE5LDcgQEAKIAkJCQkwRjQ2ODBBOTE0QkE3RkQ5MDBCRkUyNzIgLyogTExJbnQgT2Zmc2V0
cyAqLywKIAkJCQkwRkY5MjJDMzE0RjQ2QjEzMDA0MUEyNEUgLyogSlNDTExJbnRPZmZzZXRzRXh0
cmFjdG9yICovLAogCQkJCTVENkIyQTQ3MTUyQjlFMTcwMDUyMzFERSAvKiBUZXN0IFRvb2xzICov
LAorCQkJCTBGQ0VGQUI1MTgwNUQ2MTYwMDQ3MkNFNCAvKiBsbHZtRm9ySlNDICovLAogCQkJKTsK
IAkJfTsKIC8qIEVuZCBQQlhQcm9qZWN0IHNlY3Rpb24gKi8KQEAgLTQ3MzEsNiArNDg0MSwyMSBA
QAogCQkJc2hlbGxQYXRoID0gL2Jpbi9zaDsKIAkJCXNoZWxsU2NyaXB0ID0gIm1rZGlyIC1wIFwi
JHtCVUlMVF9QUk9EVUNUU19ESVJ9L0xMSW50T2Zmc2V0cy9cIlxuXG4vdXNyL2Jpbi9lbnYgcnVi
eSBcIiR7U1JDUk9PVH0vb2ZmbGluZWFzbS9nZW5lcmF0ZV9vZmZzZXRfZXh0cmFjdG9yLnJiXCIg
XCIke1NSQ1JPT1R9L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtXCIgXCIke0JVSUxUX1BS
T0RVQ1RTX0RJUn0vTExJbnRPZmZzZXRzL0xMSW50RGVzaXJlZE9mZnNldHMuaFwiXG4iOwogCQl9
OworCQkwRkNFRkFEOTE4MDYxOTE4MDA0NzJDRTQgLyogQ29weSBMTFZNIExpYnJhcnkgSW50byBG
cmFtZXdvcmsgKi8gPSB7CisJCQlpc2EgPSBQQlhTaGVsbFNjcmlwdEJ1aWxkUGhhc2U7CisJCQli
dWlsZEFjdGlvbk1hc2sgPSAyMTQ3NDgzNjQ3OworCQkJZmlsZXMgPSAoCisJCQkpOworCQkJaW5w
dXRQYXRocyA9ICgKKwkJCQkiJChCVUlMVF9QUk9EVUNUU19ESVIpL2xpYmxsdm1Gb3JKU0MuZHls
aWIiLAorCQkJKTsKKwkJCW5hbWUgPSAiQ29weSBMTFZNIExpYnJhcnkgSW50byBGcmFtZXdvcmsi
OworCQkJb3V0cHV0UGF0aHMgPSAoCisJCQkpOworCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0
cHJvY2Vzc2luZyA9IDA7CisJCQlzaGVsbFBhdGggPSAvYmluL3NoOworCQkJc2hlbGxTY3JpcHQg
PSAiaWYgW1sgJEVOQUJMRV9GVExfSklUICE9IFwiRU5BQkxFX0ZUTF9KSVRcIiBdXVxudGhlblxu
ICAgIGV4aXQgMFxuZmlcblxuIyBDb3B5IHRoZSBsbHZtRm9ySlNDIGxpYnJhcnkgaW50byB0aGUg
ZnJhbWV3b3JrLlxuZGl0dG8gXCIke0JVSUxUX1BST0RVQ1RTX0RJUn0vbGlibGx2bUZvckpTQy5k
eWxpYlwiIFwiJHtCVUlMVF9QUk9EVUNUU19ESVJ9LyR7Q09OVEVOVFNfRk9MREVSX1BBVEh9L0xp
YnJhcmllcy9saWJsbHZtRm9ySlNDLmR5bGliXCJcbmxuIC1mcyBcIlZlcnNpb25zL0N1cnJlbnQv
TGlicmFyaWVzXCIgXCIke0JVSUxUX1BST0RVQ1RTX0RJUn0vJHtXUkFQUEVSX05BTUV9L0xpYnJh
cmllc1wiIjsKKwkJfTsKIAkJMzcxM0YwMTQxNDI5MDUyNDAwMzYzODdGIC8qIENoZWNrIEZvciBJ
bmFwcHJvcHJpYXRlIE9iamVjdGl2ZS1DIENsYXNzIE5hbWVzICovID0gewogCQkJaXNhID0gUEJY
U2hlbGxTY3JpcHRCdWlsZFBoYXNlOwogCQkJYnVpbGRBY3Rpb25NYXNrID0gMjE0NzQ4MzY0NzsK
QEAgLTQ3NzgsNyArNDkwMyw3IEBACiAJCQkpOwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0
cHJvY2Vzc2luZyA9IDA7CiAJCQlzaGVsbFBhdGggPSAvYmluL3NoOwotCQkJc2hlbGxTY3JpcHQg
PSAiIyBGSVhNRTogPHJkYXI6Ly9wcm9ibGVtLzEzNTM5ODg4PiBMTFZNIGxpYnJhcmllcyBzaG91
bGRuJ3QgaGF2ZSB3ZWFrIHZ0YWJsZXNcbmV4aXQgMFxuXG5pZiBbIC1mIC4uLy4uL1Rvb2xzL1Nj
cmlwdHMvY2hlY2stZm9yLXdlYWstdnRhYmxlcy1hbmQtZXh0ZXJuYWxzIF07IHRoZW5cbiAgICAu
Li8uLi9Ub29scy9TY3JpcHRzL2NoZWNrLWZvci13ZWFrLXZ0YWJsZXMtYW5kLWV4dGVybmFscyB8
fCBleGl0ICQ/XG5maSI7CisJCQlzaGVsbFNjcmlwdCA9ICJpZiBbIC1mIC4uLy4uL1Rvb2xzL1Nj
cmlwdHMvY2hlY2stZm9yLXdlYWstdnRhYmxlcy1hbmQtZXh0ZXJuYWxzIF07IHRoZW5cbiAgICAu
Li8uLi9Ub29scy9TY3JpcHRzL2NoZWNrLWZvci13ZWFrLXZ0YWJsZXMtYW5kLWV4dGVybmFscyB8
fCBleGl0ICQ/XG5maSI7CiAJCX07CiAJCTVEMkY3Q0Y5MEM2ODc1QkIwMEI1QjcyQiAvKiBVcGRh
dGUgSW5mby5wbGlzdCB3aXRoIHZlcnNpb24gaW5mb3JtYXRpb24gKi8gPSB7CiAJCQlpc2EgPSBQ
QlhTaGVsbFNjcmlwdEJ1aWxkUGhhc2U7CkBAIC00ODc2LDYgKzUwMDEsMTYgQEAKIC8qIEVuZCBQ
QlhTaGVsbFNjcmlwdEJ1aWxkUGhhc2Ugc2VjdGlvbiAqLwogCiAvKiBCZWdpbiBQQlhTb3VyY2Vz
QnVpbGRQaGFzZSBzZWN0aW9uICovCisJCTBGQ0VGQUIyMTgwNUQ2MTYwMDQ3MkNFNCAvKiBTb3Vy
Y2VzICovID0geworCQkJaXNhID0gUEJYU291cmNlc0J1aWxkUGhhc2U7CisJCQlidWlsZEFjdGlv
bk1hc2sgPSAyMTQ3NDgzNjQ3OworCQkJZmlsZXMgPSAoCisJCQkJMEZDRUZBQzMxODA1RTc0MDAw
NDcyQ0U0IC8qIExMVk1FeHBvcnRzLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTBGQ0VGQUQ3MTgw
NjE3NDYwMDQ3MkNFNCAvKiBMTFZNQW5jaG9yLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTBGQ0VG
QUMxMTgwNUQ5NEUwMDQ3MkNFNCAvKiBMTFZNT3ZlcnJpZGVzLmNwcCBpbiBTb3VyY2VzICovLAor
CQkJKTsKKwkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOworCQl9Owog
CQkwRkY5MjJDNDE0RjQ2QjEzMDA0MUEyNEUgLyogU291cmNlcyAqLyA9IHsKIAkJCWlzYSA9IFBC
WFNvdXJjZXNCdWlsZFBoYXNlOwogCQkJYnVpbGRBY3Rpb25NYXNrID0gMjE0NzQ4MzY0NzsKQEAg
LTQ5MzYsNiArNTA3MSw3IEBACiAJCQkJMTQyODA4NjUxMDdFQzExQTAwMTNFN0IyIC8qIEJvb2xl
YW5Qcm90b3R5cGUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMTQ4RjIxQUExMDdFQzUzQTAwNDJF
QzJDIC8qIEJ5dGVjb2RlR2VuZXJhdG9yLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTE0MjgwODJE
MTA3RUMwNTcwMDEzRTdCMiAvKiBDYWxsRGF0YS5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkwRkNF
RkFCMTE4MDVDQTZEMDA0NzJDRTQgLyogSW5pdGlhbGl6ZUxMVk1NYWMubW0gaW4gU291cmNlcyAq
LywKIAkJCQkxNDI5RDhERDBFRDIyMDVCMDBCODk2MTkgLyogQ2FsbEZyYW1lLmNwcCBpbiBTb3Vy
Y2VzICovLAogCQkJCTBGMEI4M0IwMTRCQ0Y3MTYwMDg4NUI0RiAvKiBDYWxsTGlua0luZm8uY3Bw
IGluIFNvdXJjZXMgKi8sCiAJCQkJMEY5MzMyOUQxNENBN0RDMzAwODVGM0M2IC8qIENhbGxMaW5r
U3RhdHVzLmNwcCBpbiBTb3VyY2VzICovLApAQCAtNTA3NSw2ICs1MjExLDcgQEAKIAkJCQkwRjIz
NUJEMTE3MTc4RTFDMDA2OTBDN0YgLyogRlRMQ0FyZ3VtZW50R2V0dGVyLmNwcCBpbiBTb3VyY2Vz
ICovLAogCQkJCTBGRUEwQTI3MTcwOTYyM0IwMEJCNzIyQyAvKiBGVExDb21tb25WYWx1ZXMuY3Bw
IGluIFNvdXJjZXMgKi8sCiAJCQkJMEZFQTBBMEIxNzA1MTNEQjAwQkI3MjJDIC8qIEZUTENvbXBp
bGUuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMEZDRUZBQ0QxODA1RTc1NTAwNDcyQ0U0IC8qIExM
Vk1BUEkuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMEYyMzVCRDMxNzE3OEUxQzAwNjkwQzdGIC8q
IEZUTEV4aXRBcmd1bWVudC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkwRjIzNUJENTE3MTc4RTFD
MDA2OTBDN0YgLyogRlRMRXhpdEFyZ3VtZW50Rm9yT3BlcmFuZC5jcHAgaW4gU291cmNlcyAqLywK
IAkJCQkwRjIzNUJEODE3MTc4RTFDMDA2OTBDN0YgLyogRlRMRXhpdFRodW5rR2VuZXJhdG9yLmNw
cCBpbiBTb3VyY2VzICovLApAQCAtNTA5Miw2ICs1MjI5LDcgQEAKIAkJCQkwRjIzNUJFMTE3MTc4
RTFDMDA2OTBDN0YgLyogRlRMVGh1bmtzLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTBGMjM1QkUz
MTcxNzhFMUMwMDY5MEM3RiAvKiBGVExWYWx1ZUZvcm1hdC5jcHAgaW4gU291cmNlcyAqLywKIAkJ
CQkwRjIzNUJFNTE3MTc4RTFDMDA2OTBDN0YgLyogRlRMVmFsdWVTb3VyY2UuY3BwIGluIFNvdXJj
ZXMgKi8sCisJCQkJMEZDRUZBQ0ExODA1RTc1NTAwNDcyQ0U0IC8qIEluaXRpYWxpemVMTFZNLmNw
cCBpbiBTb3VyY2VzICovLAogCQkJCTE0N0YzOUNCMTA3RUMzNzYwMDQyN0E0OCAvKiBGdW5jdGlv
bkNvbnN0cnVjdG9yLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTBGRjBGMTlGMTZCNzJBMTcwMDVE
Rjk1QiAvKiBGdW5jdGlvbkV4ZWN1dGFibGVEdW1wLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTE0
N0YzOUNDMTA3RUMzNzYwMDQyN0E0OCAvKiBGdW5jdGlvblByb3RvdHlwZS5jcHAgaW4gU291cmNl
cyAqLywKQEAgLTUyNTksNiArNTM5Nyw3IEBACiAJCQkJOTVBQjgzNTYwREE0M0MzMDAwQkM4M0Yz
IC8qIFByb2ZpbGVOb2RlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTBGRjcyOUFEMTY2QUQzNUMw
MDBGNUJBMyAvKiBQcm9maWxlckJ5dGVjb2RlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTBGRjcy
OUFFMTY2QUQzNUMwMDBGNUJBMyAvKiBQcm9maWxlckJ5dGVjb2Rlcy5jcHAgaW4gU291cmNlcyAq
LywKKwkJCQkwRkNFRkFDQjE4MDVFNzU1MDA0NzJDRTQgLyogSW5pdGlhbGl6ZUxMVk1QT1NJWC5j
cHAgaW4gU291cmNlcyAqLywKIAkJCQkwRjEzOTEyOTE2NzcxQzMzMDA5Q0NCMDcgLyogUHJvZmls
ZXJCeXRlY29kZVNlcXVlbmNlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTBGRjcyOUFGMTY2QUQz
NUMwMDBGNUJBMyAvKiBQcm9maWxlckNvbXBpbGF0aW9uLmNwcCBpbiBTb3VyY2VzICovLAogCQkJ
CTBGRjcyOUIwMTY2QUQzNUMwMDBGNUJBMyAvKiBQcm9maWxlckNvbXBpbGF0aW9uS2luZC5jcHAg
aW4gU291cmNlcyAqLywKQEAgLTUzMzgsNyArNTQ3Nyw2IEBACiAJCQkJMTRFODRGOUUxNEVFMUFD
QzAwRDZENUQ0IC8qIFdlYWtCbG9jay5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkxNEY3MjU2NTE0
RUUyNjVFMDBCMTY1MkIgLyogV2Vha0hhbmRsZU93bmVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJ
CTE0RTg0RkEwMTRFRTFBQ0MwMEQ2RDVENCAvKiBXZWFrU2V0LmNwcCBpbiBTb3VyY2VzICovLAot
CQkJCTBGNkU1QzE5MTcyNEFGM0QwMDVDNTc0RiAvKiBXZWJLaXRMTFZNTGlicmFyeUFuY2hvci5j
cHAgaW4gU291cmNlcyAqLywKIAkJCQkwRkM4MTUwQjE0MDQzQzBFMDBDRkE2MDMgLyogV3JpdGVC
YXJyaWVyU3VwcG9ydC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkwRjI0RTU1ODE3Rjc0RURCMDBB
QkIyMTcgLyogVmFsdWVSZWNvdmVyeS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlBN0U1QUIzQTE3
OTlFNEIyMDBEMjgzM0QgLyogWDg2RGlzYXNzZW1ibGVyLmNwcCBpbiBTb3VyY2VzICovLApAQCAt
NTM2MSw2ICs1NDk5LDExIEBACiAvKiBFbmQgUEJYU291cmNlc0J1aWxkUGhhc2Ugc2VjdGlvbiAq
LwogCiAvKiBCZWdpbiBQQlhUYXJnZXREZXBlbmRlbmN5IHNlY3Rpb24gKi8KKwkJMEZDRUZBQkQx
ODA1RDY2MzAwNDcyQ0U0IC8qIFBCWFRhcmdldERlcGVuZGVuY3kgKi8gPSB7CisJCQlpc2EgPSBQ
QlhUYXJnZXREZXBlbmRlbmN5OworCQkJdGFyZ2V0ID0gMEZDRUZBQjUxODA1RDYxNjAwNDcyQ0U0
IC8qIGxsdm1Gb3JKU0MgKi87CisJCQl0YXJnZXRQcm94eSA9IDBGQ0VGQUJDMTgwNUQ2NjMwMDQ3
MkNFNCAvKiBQQlhDb250YWluZXJJdGVtUHJveHkgKi87CisJCX07CiAJCTBGRjkyMkQzMTRGNDZC
MkYwMDQxQTI0RSAvKiBQQlhUYXJnZXREZXBlbmRlbmN5ICovID0gewogCQkJaXNhID0gUEJYVGFy
Z2V0RGVwZW5kZW5jeTsKIAkJCXRhcmdldCA9IDBGNDY4MEE5MTRCQTdGRDkwMEJGRTI3MiAvKiBM
TEludCBPZmZzZXRzICovOwpAQCAtNTQzNyw2ICs1NTgwLDM0IEBACiAJCQl9OwogCQkJbmFtZSA9
IFByb2R1Y3Rpb247CiAJCX07CisJCTBGQ0VGQUI4MTgwNUQ2MTYwMDQ3MkNFNCAvKiBEZWJ1ZyAq
LyA9IHsKKwkJCWlzYSA9IFhDQnVpbGRDb25maWd1cmF0aW9uOworCQkJYmFzZUNvbmZpZ3VyYXRp
b25SZWZlcmVuY2UgPSAwRkNFRkFCRTE4MDVEODY5MDA0NzJDRTQgLyogTExWTUZvckpTQy54Y2Nv
bmZpZyAqLzsKKwkJCWJ1aWxkU2V0dGluZ3MgPSB7CisJCQl9OworCQkJbmFtZSA9IERlYnVnOwor
CQl9OworCQkwRkNFRkFCOTE4MDVENjE2MDA0NzJDRTQgLyogUmVsZWFzZSAqLyA9IHsKKwkJCWlz
YSA9IFhDQnVpbGRDb25maWd1cmF0aW9uOworCQkJYmFzZUNvbmZpZ3VyYXRpb25SZWZlcmVuY2Ug
PSAwRkNFRkFCRTE4MDVEODY5MDA0NzJDRTQgLyogTExWTUZvckpTQy54Y2NvbmZpZyAqLzsKKwkJ
CWJ1aWxkU2V0dGluZ3MgPSB7CisJCQl9OworCQkJbmFtZSA9IFJlbGVhc2U7CisJCX07CisJCTBG
Q0VGQUJBMTgwNUQ2MTYwMDQ3MkNFNCAvKiBQcm9maWxpbmcgKi8gPSB7CisJCQlpc2EgPSBYQ0J1
aWxkQ29uZmlndXJhdGlvbjsKKwkJCWJhc2VDb25maWd1cmF0aW9uUmVmZXJlbmNlID0gMEZDRUZB
QkUxODA1RDg2OTAwNDcyQ0U0IC8qIExMVk1Gb3JKU0MueGNjb25maWcgKi87CisJCQlidWlsZFNl
dHRpbmdzID0geworCQkJfTsKKwkJCW5hbWUgPSBQcm9maWxpbmc7CisJCX07CisJCTBGQ0VGQUJC
MTgwNUQ2MTYwMDQ3MkNFNCAvKiBQcm9kdWN0aW9uICovID0geworCQkJaXNhID0gWENCdWlsZENv
bmZpZ3VyYXRpb247CisJCQliYXNlQ29uZmlndXJhdGlvblJlZmVyZW5jZSA9IDBGQ0VGQUJFMTgw
NUQ4NjkwMDQ3MkNFNCAvKiBMTFZNRm9ySlNDLnhjY29uZmlnICovOworCQkJYnVpbGRTZXR0aW5n
cyA9IHsKKwkJCX07CisJCQluYW1lID0gUHJvZHVjdGlvbjsKKwkJfTsKIAkJMEZGOTIyQ0IxNEY0
NkIxMzAwNDFBMjRFIC8qIERlYnVnICovID0gewogCQkJaXNhID0gWENCdWlsZENvbmZpZ3VyYXRp
b247CiAJCQliYXNlQ29uZmlndXJhdGlvblJlZmVyZW5jZSA9IEJDMDIxQkYyMTM2OTAwQzMwMEZD
NTQ2NyAvKiBUb29sRXhlY3V0YWJsZS54Y2NvbmZpZyAqLzsKQEAgLTU3NDEsNiArNTkxMiwxNyBA
QAogCQkJZGVmYXVsdENvbmZpZ3VyYXRpb25Jc1Zpc2libGUgPSAwOwogCQkJZGVmYXVsdENvbmZp
Z3VyYXRpb25OYW1lID0gUHJvZHVjdGlvbjsKIAkJfTsKKwkJMEZDRUZBQjcxODA1RDYxNjAwNDcy
Q0U0IC8qIEJ1aWxkIGNvbmZpZ3VyYXRpb24gbGlzdCBmb3IgUEJYTmF0aXZlVGFyZ2V0ICJsbHZt
Rm9ySlNDIiAqLyA9IHsKKwkJCWlzYSA9IFhDQ29uZmlndXJhdGlvbkxpc3Q7CisJCQlidWlsZENv
bmZpZ3VyYXRpb25zID0gKAorCQkJCTBGQ0VGQUI4MTgwNUQ2MTYwMDQ3MkNFNCAvKiBEZWJ1ZyAq
LywKKwkJCQkwRkNFRkFCOTE4MDVENjE2MDA0NzJDRTQgLyogUmVsZWFzZSAqLywKKwkJCQkwRkNF
RkFCQTE4MDVENjE2MDA0NzJDRTQgLyogUHJvZmlsaW5nICovLAorCQkJCTBGQ0VGQUJCMTgwNUQ2
MTYwMDQ3MkNFNCAvKiBQcm9kdWN0aW9uICovLAorCQkJKTsKKwkJCWRlZmF1bHRDb25maWd1cmF0
aW9uSXNWaXNpYmxlID0gMDsKKwkJCWRlZmF1bHRDb25maWd1cmF0aW9uTmFtZSA9IFByb2R1Y3Rp
b247CisJCX07CiAJCTBGRjkyMkNBMTRGNDZCMTMwMDQxQTI0RSAvKiBCdWlsZCBjb25maWd1cmF0
aW9uIGxpc3QgZm9yIFBCWE5hdGl2ZVRhcmdldCAiSlNDTExJbnRPZmZzZXRzRXh0cmFjdG9yIiAq
LyA9IHsKIAkJCWlzYSA9IFhDQ29uZmlndXJhdGlvbkxpc3Q7CiAJCQlidWlsZENvbmZpZ3VyYXRp
b25zID0gKApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdQbGFuLmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1BsYW4uY3BwCShyZXZpc2lv
biAxNTcyMDQpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1BsYW4uY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC02Nyw2ICs2Nyw3IEBACiAjaW5jbHVkZSAiRlRMTGluay5oIgogI2luY2x1
ZGUgIkZUTExvd2VyREZHVG9MTFZNLmgiCiAjaW5jbHVkZSAiRlRMU3RhdGUuaCIKKyNpbmNsdWRl
ICJJbml0aWFsaXplTExWTS5oIgogI2VuZGlmCiAKIG5hbWVzcGFjZSBKU0MgeyBuYW1lc3BhY2Ug
REZHIHsKQEAgLTI1NSw4ICsyNTYsNyBAQCBQbGFuOjpDb21waWxhdGlvblBhdGggUGxhbjo6Y29t
cGlsZUluVGhyCiAgICAgICAgIAogICAgICAgICBkdW1wQW5kVmVyaWZ5R3JhcGgoZGZnLCAiR3Jh
cGgganVzdCBiZWZvcmUgRlRMIGxvd2VyaW5nOiIpOwogICAgICAgICAKLSAgICAgICAgLy8gRklY
TUU6IFN1cHBvcnQgT1NSIGVudHJ5LgotICAgICAgICAvLyBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTEzNjI1CisgICAgICAgIGluaXRpYWxpemVMTFZNKCk7CiAgICAg
ICAgIAogICAgICAgICBGVEw6OlN0YXRlIHN0YXRlKGRmZyk7CiAgICAgICAgIEZUTDo6bG93ZXJE
RkdUb0xMVk0oc3RhdGUpOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2Rpc2Fzc2VtYmxl
ci9MTFZNRGlzYXNzZW1ibGVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvZGlzYXNzZW1ibGVyL0xMVk1EaXNhc3NlbWJsZXIuY3BwCShyZXZpc2lvbiAxNTcyMDQpCisr
KyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGlzYXNzZW1ibGVyL0xMVk1EaXNhc3NlbWJsZXIuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC0yOCw4ICsyOCw5IEBACiAKICNpZiBVU0UoTExWTV9ESVNBU1NF
TUJMRVIpCiAKKyNpbmNsdWRlICJJbml0aWFsaXplTExWTS5oIgorI2luY2x1ZGUgIkxMVk1BUEku
aCIKICNpbmNsdWRlICJNYWNyb0Fzc2VtYmxlckNvZGVSZWYuaCIKLSNpbmNsdWRlIDx3dGYvTExW
TUhlYWRlcnMuaD4KIAogbmFtZXNwYWNlIEpTQyB7CiAKQEAgLTc5LDYgKzgwLDggQEAgYm9vbCB0
cnlUb0Rpc2Fzc2VtYmxlV2l0aExMVk0oCiAgICAgY29uc3QgTWFjcm9Bc3NlbWJsZXJDb2RlUHRy
JiBjb2RlUHRyLCBzaXplX3Qgc2l6ZSwgY29uc3QgY2hhciogcHJlZml4LCBQcmludFN0cmVhbSYg
b3V0LAogICAgIEluc3RydWN0aW9uU3Vic2V0SGludCkKIHsKKyAgICBpbml0aWFsaXplTExWTSgp
OworICAgIAogICAgIGNvbnN0IGNoYXIqIHRyaXBsZTsKICNpZiBDUFUoWDg2XzY0KQogICAgIHRy
aXBsZSA9ICJ4ODZfNjQtYXBwbGUtZGFyd2luIjsKQEAgLTkxLDcgKzk0LDcgQEAgYm9vbCB0cnlU
b0Rpc2Fzc2VtYmxlV2l0aExMVk0oCiAgICAgY2hhciBzeW1ib2xTdHJpbmdbc3ltYm9sU3RyaW5n
U2l6ZV07CiAgICAgCiAgICAgTExWTURpc2FzbUNvbnRleHRSZWYgZGlzYXNzZW1ibHlDb250ZXh0
ID0KLSAgICAgICAgTExWTUNyZWF0ZURpc2FzbSh0cmlwbGUsIHN5bWJvbFN0cmluZywgMCwgMCwg
c3ltYm9sTG9va3VwQ2FsbGJhY2spOworICAgICAgICBsbHZtLT5DcmVhdGVEaXNhc20odHJpcGxl
LCBzeW1ib2xTdHJpbmcsIDAsIDAsIHN5bWJvbExvb2t1cENhbGxiYWNrKTsKICAgICBSRUxFQVNF
X0FTU0VSVChkaXNhc3NlbWJseUNvbnRleHQpOwogICAgIAogICAgIGNoYXIgcGNTdHJpbmdbMjBd
OwpAQCAtMTA1LDcgKzEwOCw3IEBAIGJvb2wgdHJ5VG9EaXNhc3NlbWJsZVdpdGhMTFZNKAogICAg
ICAgICAgICAgcGNTdHJpbmcsIHNpemVvZihwY1N0cmluZyksICIweCVseCIsCiAgICAgICAgICAg
ICBzdGF0aWNfY2FzdDx1bnNpZ25lZCBsb25nPihiaXR3aXNlX2Nhc3Q8dWludHB0cl90PihwYykp
KTsKIAotICAgICAgICBzaXplX3QgaW5zdHJ1Y3Rpb25TaXplID0gTExWTURpc2FzbUluc3RydWN0
aW9uKAorICAgICAgICBzaXplX3QgaW5zdHJ1Y3Rpb25TaXplID0gbGx2bS0+RGlzYXNtSW5zdHJ1
Y3Rpb24oCiAgICAgICAgICAgICBkaXNhc3NlbWJseUNvbnRleHQsIHBjLCBlbmQgLSBwYywgYml0
d2lzZV9jYXN0PHVpbnRwdHJfdD4ocGMpLAogICAgICAgICAgICAgaW5zdHJ1Y3Rpb25TdHJpbmcs
IHNpemVvZihpbnN0cnVjdGlvblN0cmluZykpOwogICAgICAgICAKQEAgLTExNyw3ICsxMjAsNyBA
QCBib29sIHRyeVRvRGlzYXNzZW1ibGVXaXRoTExWTSgKICAgICAgICAgb3V0LnByaW50ZigiJXMl
MTZzOiAlc1xuIiwgcHJlZml4LCBwY1N0cmluZywgaW5zdHJ1Y3Rpb25TdHJpbmcpOwogICAgIH0K
ICAgICAKLSAgICBMTFZNRGlzYXNtRGlzcG9zZShkaXNhc3NlbWJseUNvbnRleHQpOworICAgIGxs
dm0tPkRpc2FzbURpc3Bvc2UoZGlzYXNzZW1ibHlDb250ZXh0KTsKICAgICAKICAgICByZXR1cm4g
dHJ1ZTsKIH0KSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMQWJicmV2aWF0ZWRU
eXBlcy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMQWJicmV2
aWF0ZWRUeXBlcy5oCShyZXZpc2lvbiAxNTcyMDQpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
ZnRsL0ZUTEFiYnJldmlhdGVkVHlwZXMuaAkod29ya2luZyBjb3B5KQpAQCAtMzAsNyArMzAsNyBA
QAogCiAjaWYgRU5BQkxFKEZUTF9KSVQpCiAKLSNpbmNsdWRlIDx3dGYvTExWTUhlYWRlcnMuaD4K
KyNpbmNsdWRlICJMTFZNQVBJLmgiCiAKIG5hbWVzcGFjZSBKU0MgeyBuYW1lc3BhY2UgRlRMIHsK
IApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExBYmJyZXZpYXRpb25zLmgKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExBYmJyZXZpYXRpb25zLmgJ
KHJldmlzaW9uIDE1NzIwNCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMQWJicmV2
aWF0aW9ucy5oCSh3b3JraW5nIGNvcHkpCkBAIC0zMyw2ICszMyw3IEBACiAjaW5jbHVkZSAiRlRM
QWJicmV2aWF0ZWRUeXBlcy5oIgogI2luY2x1ZGUgIkZUTFN3aXRjaENhc2UuaCIKICNpbmNsdWRl
ICJGVExWYWx1ZUZyb21CbG9jay5oIgorI2luY2x1ZGUgIkxMVk1BUEkuaCIKICNpbmNsdWRlIDxj
c3RyaW5nPgogCiBuYW1lc3BhY2UgSlNDIHsgbmFtZXNwYWNlIEZUTCB7CkBAIC00NiwyMiArNDcs
MjIgQEAgbmFtZXNwYWNlIEpTQyB7IG5hbWVzcGFjZSBGVEwgewogI2Vycm9yICJUaGUgRlRMIGJh
Y2tlbmQgYXNzdW1lcyB0aGF0IHBvaW50ZXJzIGFyZSA2NC1iaXQuIgogI2VuZGlmCiAKLXN0YXRp
YyBpbmxpbmUgTFR5cGUgdm9pZFR5cGUoTENvbnRleHQgY29udGV4dCkgeyByZXR1cm4gTExWTVZv
aWRUeXBlSW5Db250ZXh0KGNvbnRleHQpOyB9Ci1zdGF0aWMgaW5saW5lIExUeXBlIGludDFUeXBl
KExDb250ZXh0IGNvbnRleHQpIHsgcmV0dXJuIExMVk1JbnQxVHlwZUluQ29udGV4dChjb250ZXh0
KTsgfQotc3RhdGljIGlubGluZSBMVHlwZSBpbnQ4VHlwZShMQ29udGV4dCBjb250ZXh0KSB7IHJl
dHVybiBMTFZNSW50OFR5cGVJbkNvbnRleHQoY29udGV4dCk7IH0KLXN0YXRpYyBpbmxpbmUgTFR5
cGUgaW50MTZUeXBlKExDb250ZXh0IGNvbnRleHQpIHsgcmV0dXJuIExMVk1JbnQxNlR5cGVJbkNv
bnRleHQoY29udGV4dCk7IH0KLXN0YXRpYyBpbmxpbmUgTFR5cGUgaW50MzJUeXBlKExDb250ZXh0
IGNvbnRleHQpIHsgcmV0dXJuIExMVk1JbnQzMlR5cGVJbkNvbnRleHQoY29udGV4dCk7IH0KLXN0
YXRpYyBpbmxpbmUgTFR5cGUgaW50NjRUeXBlKExDb250ZXh0IGNvbnRleHQpIHsgcmV0dXJuIExM
Vk1JbnQ2NFR5cGVJbkNvbnRleHQoY29udGV4dCk7IH0KLXN0YXRpYyBpbmxpbmUgTFR5cGUgaW50
UHRyVHlwZShMQ29udGV4dCBjb250ZXh0KSB7IHJldHVybiBMTFZNSW50NjRUeXBlSW5Db250ZXh0
KGNvbnRleHQpOyB9Ci1zdGF0aWMgaW5saW5lIExUeXBlIGZsb2F0VHlwZShMQ29udGV4dCBjb250
ZXh0KSB7IHJldHVybiBMTFZNRmxvYXRUeXBlSW5Db250ZXh0KGNvbnRleHQpOyB9Ci1zdGF0aWMg
aW5saW5lIExUeXBlIGRvdWJsZVR5cGUoTENvbnRleHQgY29udGV4dCkgeyByZXR1cm4gTExWTURv
dWJsZVR5cGVJbkNvbnRleHQoY29udGV4dCk7IH0KK3N0YXRpYyBpbmxpbmUgTFR5cGUgdm9pZFR5
cGUoTENvbnRleHQgY29udGV4dCkgeyByZXR1cm4gbGx2bS0+Vm9pZFR5cGVJbkNvbnRleHQoY29u
dGV4dCk7IH0KK3N0YXRpYyBpbmxpbmUgTFR5cGUgaW50MVR5cGUoTENvbnRleHQgY29udGV4dCkg
eyByZXR1cm4gbGx2bS0+SW50MVR5cGVJbkNvbnRleHQoY29udGV4dCk7IH0KK3N0YXRpYyBpbmxp
bmUgTFR5cGUgaW50OFR5cGUoTENvbnRleHQgY29udGV4dCkgeyByZXR1cm4gbGx2bS0+SW50OFR5
cGVJbkNvbnRleHQoY29udGV4dCk7IH0KK3N0YXRpYyBpbmxpbmUgTFR5cGUgaW50MTZUeXBlKExD
b250ZXh0IGNvbnRleHQpIHsgcmV0dXJuIGxsdm0tPkludDE2VHlwZUluQ29udGV4dChjb250ZXh0
KTsgfQorc3RhdGljIGlubGluZSBMVHlwZSBpbnQzMlR5cGUoTENvbnRleHQgY29udGV4dCkgeyBy
ZXR1cm4gbGx2bS0+SW50MzJUeXBlSW5Db250ZXh0KGNvbnRleHQpOyB9CitzdGF0aWMgaW5saW5l
IExUeXBlIGludDY0VHlwZShMQ29udGV4dCBjb250ZXh0KSB7IHJldHVybiBsbHZtLT5JbnQ2NFR5
cGVJbkNvbnRleHQoY29udGV4dCk7IH0KK3N0YXRpYyBpbmxpbmUgTFR5cGUgaW50UHRyVHlwZShM
Q29udGV4dCBjb250ZXh0KSB7IHJldHVybiBsbHZtLT5JbnQ2NFR5cGVJbkNvbnRleHQoY29udGV4
dCk7IH0KK3N0YXRpYyBpbmxpbmUgTFR5cGUgZmxvYXRUeXBlKExDb250ZXh0IGNvbnRleHQpIHsg
cmV0dXJuIGxsdm0tPkZsb2F0VHlwZUluQ29udGV4dChjb250ZXh0KTsgfQorc3RhdGljIGlubGlu
ZSBMVHlwZSBkb3VibGVUeXBlKExDb250ZXh0IGNvbnRleHQpIHsgcmV0dXJuIGxsdm0tPkRvdWJs
ZVR5cGVJbkNvbnRleHQoY29udGV4dCk7IH0KIAotc3RhdGljIGlubGluZSBMVHlwZSBwb2ludGVy
VHlwZShMVHlwZSB0eXBlKSB7IHJldHVybiBMTFZNUG9pbnRlclR5cGUodHlwZSwgMCk7IH0KK3N0
YXRpYyBpbmxpbmUgTFR5cGUgcG9pbnRlclR5cGUoTFR5cGUgdHlwZSkgeyByZXR1cm4gbGx2bS0+
UG9pbnRlclR5cGUodHlwZSwgMCk7IH0KIAogZW51bSBQYWNraW5nTW9kZSB7IE5vdFBhY2tlZCwg
UGFja2VkIH07CiBzdGF0aWMgaW5saW5lIExUeXBlIHN0cnVjdFR5cGUoTENvbnRleHQgY29udGV4
dCwgTFR5cGUqIGVsZW1lbnRUeXBlcywgdW5zaWduZWQgZWxlbWVudENvdW50LCBQYWNraW5nTW9k
ZSBwYWNraW5nID0gTm90UGFja2VkKQogewotICAgIHJldHVybiBMTFZNU3RydWN0VHlwZUluQ29u
dGV4dChjb250ZXh0LCBlbGVtZW50VHlwZXMsIGVsZW1lbnRDb3VudCwgcGFja2luZyA9PSBQYWNr
ZWQpOworICAgIHJldHVybiBsbHZtLT5TdHJ1Y3RUeXBlSW5Db250ZXh0KGNvbnRleHQsIGVsZW1l
bnRUeXBlcywgZWxlbWVudENvdW50LCBwYWNraW5nID09IFBhY2tlZCk7CiB9CiBzdGF0aWMgaW5s
aW5lIExUeXBlIHN0cnVjdFR5cGUoTENvbnRleHQgY29udGV4dCwgUGFja2luZ01vZGUgcGFja2lu
ZyA9IE5vdFBhY2tlZCkKIHsKQEAgLTgwLDcgKzgxLDcgQEAgc3RhdGljIGlubGluZSBMVHlwZSBz
dHJ1Y3RUeXBlKExDb250ZXh0IAogZW51bSBWYXJpYWRpY2l0eSB7IE5vdFZhcmlhZGljLCBWYXJp
YWRpYyB9Owogc3RhdGljIGlubGluZSBMVHlwZSBmdW5jdGlvblR5cGUoTFR5cGUgcmV0dXJuVHlw
ZSwgY29uc3QgTFR5cGUqIHBhcmFtVHlwZXMsIHVuc2lnbmVkIHBhcmFtQ291bnQsIFZhcmlhZGlj
aXR5IHZhcmlhZGljaXR5KQogewotICAgIHJldHVybiBMTFZNRnVuY3Rpb25UeXBlKHJldHVyblR5
cGUsIGNvbnN0X2Nhc3Q8TFR5cGUqPihwYXJhbVR5cGVzKSwgcGFyYW1Db3VudCwgdmFyaWFkaWNp
dHkgPT0gVmFyaWFkaWMpOworICAgIHJldHVybiBsbHZtLT5GdW5jdGlvblR5cGUocmV0dXJuVHlw
ZSwgY29uc3RfY2FzdDxMVHlwZSo+KHBhcmFtVHlwZXMpLCBwYXJhbUNvdW50LCB2YXJpYWRpY2l0
eSA9PSBWYXJpYWRpYyk7CiB9CiB0ZW1wbGF0ZTx0eXBlbmFtZSBWZWN0b3JUeXBlPgogaW5saW5l
IExUeXBlIGZ1bmN0aW9uVHlwZShMVHlwZSByZXR1cm5UeXBlLCBjb25zdCBWZWN0b3JUeXBlJiB2
ZWN0b3IsIFZhcmlhZGljaXR5IHZhcmlhZGljaXR5ID0gTm90VmFyaWFkaWMpCkBAIC0xMTEsMTIg
KzExMiwxMiBAQCBzdGF0aWMgaW5saW5lIExUeXBlIGZ1bmN0aW9uVHlwZShMVHlwZSByCiAgICAg
cmV0dXJuIGZ1bmN0aW9uVHlwZShyZXR1cm5UeXBlLCBwYXJhbVR5cGVzLCA0LCB2YXJpYWRpY2l0
eSk7CiB9CiAKLXN0YXRpYyBpbmxpbmUgTFR5cGUgdHlwZU9mKExWYWx1ZSB2YWx1ZSkgeyByZXR1
cm4gTExWTVR5cGVPZih2YWx1ZSk7IH0KK3N0YXRpYyBpbmxpbmUgTFR5cGUgdHlwZU9mKExWYWx1
ZSB2YWx1ZSkgeyByZXR1cm4gbGx2bS0+VHlwZU9mKHZhbHVlKTsgfQogCi1zdGF0aWMgaW5saW5l
IHVuc2lnbmVkIG1kS2luZElEKExDb250ZXh0IGNvbnRleHQsIGNvbnN0IGNoYXIqIHN0cmluZykg
eyByZXR1cm4gTExWTUdldE1ES2luZElESW5Db250ZXh0KGNvbnRleHQsIHN0cmluZywgc3RkOjpz
dHJsZW4oc3RyaW5nKSk7IH0KLXN0YXRpYyBpbmxpbmUgTFZhbHVlIG1kU3RyaW5nKExDb250ZXh0
IGNvbnRleHQsIGNvbnN0IGNoYXIqIHN0cmluZywgdW5zaWduZWQgbGVuZ3RoKSB7IHJldHVybiBM
TFZNTURTdHJpbmdJbkNvbnRleHQoY29udGV4dCwgc3RyaW5nLCBsZW5ndGgpOyB9CitzdGF0aWMg
aW5saW5lIHVuc2lnbmVkIG1kS2luZElEKExDb250ZXh0IGNvbnRleHQsIGNvbnN0IGNoYXIqIHN0
cmluZykgeyByZXR1cm4gbGx2bS0+R2V0TURLaW5kSURJbkNvbnRleHQoY29udGV4dCwgc3RyaW5n
LCBzdGQ6OnN0cmxlbihzdHJpbmcpKTsgfQorc3RhdGljIGlubGluZSBMVmFsdWUgbWRTdHJpbmco
TENvbnRleHQgY29udGV4dCwgY29uc3QgY2hhciogc3RyaW5nLCB1bnNpZ25lZCBsZW5ndGgpIHsg
cmV0dXJuIGxsdm0tPk1EU3RyaW5nSW5Db250ZXh0KGNvbnRleHQsIHN0cmluZywgbGVuZ3RoKTsg
fQogc3RhdGljIGlubGluZSBMVmFsdWUgbWRTdHJpbmcoTENvbnRleHQgY29udGV4dCwgY29uc3Qg
Y2hhciogc3RyaW5nKSB7IHJldHVybiBtZFN0cmluZyhjb250ZXh0LCBzdHJpbmcsIHN0ZDo6c3Ry
bGVuKHN0cmluZykpOyB9Ci1zdGF0aWMgaW5saW5lIExWYWx1ZSBtZE5vZGUoTENvbnRleHQgY29u
dGV4dCwgTFZhbHVlKiBhcmdzLCB1bnNpZ25lZCBudW1BcmdzKSB7IHJldHVybiBMTFZNTUROb2Rl
SW5Db250ZXh0KGNvbnRleHQsIGFyZ3MsIG51bUFyZ3MpOyB9CitzdGF0aWMgaW5saW5lIExWYWx1
ZSBtZE5vZGUoTENvbnRleHQgY29udGV4dCwgTFZhbHVlKiBhcmdzLCB1bnNpZ25lZCBudW1Bcmdz
KSB7IHJldHVybiBsbHZtLT5NRE5vZGVJbkNvbnRleHQoY29udGV4dCwgYXJncywgbnVtQXJncyk7
IH0KIHN0YXRpYyBpbmxpbmUgTFZhbHVlIG1kTm9kZShMQ29udGV4dCBjb250ZXh0KSB7IHJldHVy
biBtZE5vZGUoY29udGV4dCwgMCwgMCk7IH0KIHN0YXRpYyBpbmxpbmUgTFZhbHVlIG1kTm9kZShM
Q29udGV4dCBjb250ZXh0LCBMVmFsdWUgYXJnMSkgeyByZXR1cm4gbWROb2RlKGNvbnRleHQsICZh
cmcxLCAxKTsgfQogc3RhdGljIGlubGluZSBMVmFsdWUgbWROb2RlKExDb250ZXh0IGNvbnRleHQs
IExWYWx1ZSBhcmcxLCBMVmFsdWUgYXJnMikKQEAgLTEyNSwxMSArMTI2LDExIEBAIHN0YXRpYyBp
bmxpbmUgTFZhbHVlIG1kTm9kZShMQ29udGV4dCBjb24KICAgICByZXR1cm4gbWROb2RlKGNvbnRl
eHQsIGFyZ3MsIDIpOwogfQogCi1zdGF0aWMgaW5saW5lIHZvaWQgc2V0TWV0YWRhdGEoTFZhbHVl
IGluc3RydWN0aW9uLCB1bnNpZ25lZCBraW5kLCBMVmFsdWUgbWV0YWRhdGEpIHsgTExWTVNldE1l
dGFkYXRhKGluc3RydWN0aW9uLCBraW5kLCBtZXRhZGF0YSk7IH0KK3N0YXRpYyBpbmxpbmUgdm9p
ZCBzZXRNZXRhZGF0YShMVmFsdWUgaW5zdHJ1Y3Rpb24sIHVuc2lnbmVkIGtpbmQsIExWYWx1ZSBt
ZXRhZGF0YSkgeyBsbHZtLT5TZXRNZXRhZGF0YShpbnN0cnVjdGlvbiwga2luZCwgbWV0YWRhdGEp
OyB9CiAKLXN0YXRpYyBpbmxpbmUgTFZhbHVlIGFkZEZ1bmN0aW9uKExNb2R1bGUgbW9kdWxlLCBj
b25zdCBjaGFyKiBuYW1lLCBMVHlwZSB0eXBlKSB7IHJldHVybiBMTFZNQWRkRnVuY3Rpb24obW9k
dWxlLCBuYW1lLCB0eXBlKTsgfQotc3RhdGljIGlubGluZSB2b2lkIHNldExpbmthZ2UoTFZhbHVl
IGdsb2JhbCwgTExpbmthZ2UgbGlua2FnZSkgeyBMTFZNU2V0TGlua2FnZShnbG9iYWwsIGxpbmth
Z2UpOyB9Ci1zdGF0aWMgaW5saW5lIHZvaWQgc2V0RnVuY3Rpb25DYWxsaW5nQ29udihMVmFsdWUg
ZnVuY3Rpb24sIExDYWxsQ29udiBjb252ZW50aW9uKSB7IExMVk1TZXRGdW5jdGlvbkNhbGxDb252
KGZ1bmN0aW9uLCBjb252ZW50aW9uKTsgfQorc3RhdGljIGlubGluZSBMVmFsdWUgYWRkRnVuY3Rp
b24oTE1vZHVsZSBtb2R1bGUsIGNvbnN0IGNoYXIqIG5hbWUsIExUeXBlIHR5cGUpIHsgcmV0dXJu
IGxsdm0tPkFkZEZ1bmN0aW9uKG1vZHVsZSwgbmFtZSwgdHlwZSk7IH0KK3N0YXRpYyBpbmxpbmUg
dm9pZCBzZXRMaW5rYWdlKExWYWx1ZSBnbG9iYWwsIExMaW5rYWdlIGxpbmthZ2UpIHsgbGx2bS0+
U2V0TGlua2FnZShnbG9iYWwsIGxpbmthZ2UpOyB9CitzdGF0aWMgaW5saW5lIHZvaWQgc2V0RnVu
Y3Rpb25DYWxsaW5nQ29udihMVmFsdWUgZnVuY3Rpb24sIExDYWxsQ29udiBjb252ZW50aW9uKSB7
IGxsdm0tPlNldEZ1bmN0aW9uQ2FsbENvbnYoZnVuY3Rpb24sIGNvbnZlbnRpb24pOyB9CiAKIHN0
YXRpYyBpbmxpbmUgTFZhbHVlIGFkZEV4dGVybkZ1bmN0aW9uKExNb2R1bGUgbW9kdWxlLCBjb25z
dCBjaGFyKiBuYW1lLCBMVHlwZSB0eXBlKQogewpAQCAtMTM4LDIxICsxMzksMjEgQEAgc3RhdGlj
IGlubGluZSBMVmFsdWUgYWRkRXh0ZXJuRnVuY3Rpb24oTAogICAgIHJldHVybiByZXN1bHQ7CiB9
CiAKLXN0YXRpYyBpbmxpbmUgTFZhbHVlIGdldFBhcmFtKExWYWx1ZSBmdW5jdGlvbiwgdW5zaWdu
ZWQgaW5kZXgpIHsgcmV0dXJuIExMVk1HZXRQYXJhbShmdW5jdGlvbiwgaW5kZXgpOyB9CitzdGF0
aWMgaW5saW5lIExWYWx1ZSBnZXRQYXJhbShMVmFsdWUgZnVuY3Rpb24sIHVuc2lnbmVkIGluZGV4
KSB7IHJldHVybiBsbHZtLT5HZXRQYXJhbShmdW5jdGlvbiwgaW5kZXgpOyB9CiAKIGVudW0gQml0
RXh0ZW5zaW9uIHsgWmVyb0V4dGVuZCwgU2lnbkV4dGVuZCB9Owotc3RhdGljIGlubGluZSBMVmFs
dWUgY29uc3RJbnQoTFR5cGUgdHlwZSwgdW5zaWduZWQgbG9uZyBsb25nIHZhbHVlLCBCaXRFeHRl
bnNpb24gZXh0ZW5zaW9uID0gWmVyb0V4dGVuZCkgeyByZXR1cm4gTExWTUNvbnN0SW50KHR5cGUs
IHZhbHVlLCBleHRlbnNpb24gPT0gU2lnbkV4dGVuZCk7IH0KLXN0YXRpYyBpbmxpbmUgTFZhbHVl
IGNvbnN0UmVhbChMVHlwZSB0eXBlLCBkb3VibGUgdmFsdWUpIHsgcmV0dXJuIExMVk1Db25zdFJl
YWwodHlwZSwgdmFsdWUpOyB9Ci1zdGF0aWMgaW5saW5lIExWYWx1ZSBjb25zdEludFRvUHRyKExW
YWx1ZSB2YWx1ZSwgTFR5cGUgdHlwZSkgeyByZXR1cm4gTExWTUNvbnN0SW50VG9QdHIodmFsdWUs
IHR5cGUpOyB9Ci1zdGF0aWMgaW5saW5lIExWYWx1ZSBjb25zdEJpdENhc3QoTFZhbHVlIHZhbHVl
LCBMVHlwZSB0eXBlKSB7IHJldHVybiBMTFZNQ29uc3RCaXRDYXN0KHZhbHVlLCB0eXBlKTsgfQor
c3RhdGljIGlubGluZSBMVmFsdWUgY29uc3RJbnQoTFR5cGUgdHlwZSwgdW5zaWduZWQgbG9uZyBs
b25nIHZhbHVlLCBCaXRFeHRlbnNpb24gZXh0ZW5zaW9uID0gWmVyb0V4dGVuZCkgeyByZXR1cm4g
bGx2bS0+Q29uc3RJbnQodHlwZSwgdmFsdWUsIGV4dGVuc2lvbiA9PSBTaWduRXh0ZW5kKTsgfQor
c3RhdGljIGlubGluZSBMVmFsdWUgY29uc3RSZWFsKExUeXBlIHR5cGUsIGRvdWJsZSB2YWx1ZSkg
eyByZXR1cm4gbGx2bS0+Q29uc3RSZWFsKHR5cGUsIHZhbHVlKTsgfQorc3RhdGljIGlubGluZSBM
VmFsdWUgY29uc3RJbnRUb1B0cihMVmFsdWUgdmFsdWUsIExUeXBlIHR5cGUpIHsgcmV0dXJuIGxs
dm0tPkNvbnN0SW50VG9QdHIodmFsdWUsIHR5cGUpOyB9CitzdGF0aWMgaW5saW5lIExWYWx1ZSBj
b25zdEJpdENhc3QoTFZhbHVlIHZhbHVlLCBMVHlwZSB0eXBlKSB7IHJldHVybiBsbHZtLT5Db25z
dEJpdENhc3QodmFsdWUsIHR5cGUpOyB9CiAKLXN0YXRpYyBpbmxpbmUgTEJhc2ljQmxvY2sgYXBw
ZW5kQmFzaWNCbG9jayhMQ29udGV4dCBjb250ZXh0LCBMVmFsdWUgZnVuY3Rpb24sIGNvbnN0IGNo
YXIqIG5hbWUgPSAiIikgeyByZXR1cm4gTExWTUFwcGVuZEJhc2ljQmxvY2tJbkNvbnRleHQoY29u
dGV4dCwgZnVuY3Rpb24sIG5hbWUpOyB9Ci1zdGF0aWMgaW5saW5lIExCYXNpY0Jsb2NrIGluc2Vy
dEJhc2ljQmxvY2soTENvbnRleHQgY29udGV4dCwgTEJhc2ljQmxvY2sgYmVmb3JlQmFzaWNCbG9j
aywgY29uc3QgY2hhciogbmFtZSA9ICIiKSB7IHJldHVybiBMTFZNSW5zZXJ0QmFzaWNCbG9ja0lu
Q29udGV4dChjb250ZXh0LCBiZWZvcmVCYXNpY0Jsb2NrLCBuYW1lKTsgfQorc3RhdGljIGlubGlu
ZSBMQmFzaWNCbG9jayBhcHBlbmRCYXNpY0Jsb2NrKExDb250ZXh0IGNvbnRleHQsIExWYWx1ZSBm
dW5jdGlvbiwgY29uc3QgY2hhciogbmFtZSA9ICIiKSB7IHJldHVybiBsbHZtLT5BcHBlbmRCYXNp
Y0Jsb2NrSW5Db250ZXh0KGNvbnRleHQsIGZ1bmN0aW9uLCBuYW1lKTsgfQorc3RhdGljIGlubGlu
ZSBMQmFzaWNCbG9jayBpbnNlcnRCYXNpY0Jsb2NrKExDb250ZXh0IGNvbnRleHQsIExCYXNpY0Js
b2NrIGJlZm9yZUJhc2ljQmxvY2ssIGNvbnN0IGNoYXIqIG5hbWUgPSAiIikgeyByZXR1cm4gbGx2
bS0+SW5zZXJ0QmFzaWNCbG9ja0luQ29udGV4dChjb250ZXh0LCBiZWZvcmVCYXNpY0Jsb2NrLCBu
YW1lKTsgfQogCi1zdGF0aWMgaW5saW5lIExWYWx1ZSBidWlsZFBoaShMQnVpbGRlciBidWlsZGVy
LCBMVHlwZSB0eXBlKSB7IHJldHVybiBMTFZNQnVpbGRQaGkoYnVpbGRlciwgdHlwZSwgIiIpOyB9
CitzdGF0aWMgaW5saW5lIExWYWx1ZSBidWlsZFBoaShMQnVpbGRlciBidWlsZGVyLCBMVHlwZSB0
eXBlKSB7IHJldHVybiBsbHZtLT5CdWlsZFBoaShidWlsZGVyLCB0eXBlLCAiIik7IH0KIHN0YXRp
YyBpbmxpbmUgdm9pZCBhZGRJbmNvbWluZyhMVmFsdWUgcGhpLCBjb25zdCBMVmFsdWUqIHZhbHVl
cywgY29uc3QgTEJhc2ljQmxvY2sqIGJsb2NrcywgdW5zaWduZWQgbnVtUHJlZGVjZXNzb3JzKQog
ewotICAgIExMVk1BZGRJbmNvbWluZyhwaGksIGNvbnN0X2Nhc3Q8TFZhbHVlKj4odmFsdWVzKSwg
Y29uc3RfY2FzdDxMQmFzaWNCbG9jayo+KGJsb2NrcyksIG51bVByZWRlY2Vzc29ycyk7CisgICAg
bGx2bS0+QWRkSW5jb21pbmcocGhpLCBjb25zdF9jYXN0PExWYWx1ZSo+KHZhbHVlcyksIGNvbnN0
X2Nhc3Q8TEJhc2ljQmxvY2sqPihibG9ja3MpLCBudW1QcmVkZWNlc3NvcnMpOwogfQogc3RhdGlj
IGlubGluZSB2b2lkIGFkZEluY29taW5nKExWYWx1ZSBwaGksIFZhbHVlRnJvbUJsb2NrIHZhbHVl
MSkKIHsKQEAgLTE4MCw0NCArMTgxLDQ0IEBAIHN0YXRpYyBpbmxpbmUgTFZhbHVlIGJ1aWxkUGhp
KAogICAgIHJldHVybiByZXN1bHQ7CiB9CiAKLXN0YXRpYyBpbmxpbmUgTFZhbHVlIGJ1aWxkQWxs
b2NhKExCdWlsZGVyIGJ1aWxkZXIsIExUeXBlIHR5cGUpIHsgcmV0dXJuIExMVk1CdWlsZEFsbG9j
YShidWlsZGVyLCB0eXBlLCAiIik7IH0KLXN0YXRpYyBpbmxpbmUgTFZhbHVlIGJ1aWxkQWRkKExC
dWlsZGVyIGJ1aWxkZXIsIExWYWx1ZSBsZWZ0LCBMVmFsdWUgcmlnaHQpIHsgcmV0dXJuIExMVk1C
dWlsZEFkZChidWlsZGVyLCBsZWZ0LCByaWdodCwgIiIpOyB9Ci1zdGF0aWMgaW5saW5lIExWYWx1
ZSBidWlsZFN1YihMQnVpbGRlciBidWlsZGVyLCBMVmFsdWUgbGVmdCwgTFZhbHVlIHJpZ2h0KSB7
IHJldHVybiBMTFZNQnVpbGRTdWIoYnVpbGRlciwgbGVmdCwgcmlnaHQsICIiKTsgfQotc3RhdGlj
IGlubGluZSBMVmFsdWUgYnVpbGRNdWwoTEJ1aWxkZXIgYnVpbGRlciwgTFZhbHVlIGxlZnQsIExW
YWx1ZSByaWdodCkgeyByZXR1cm4gTExWTUJ1aWxkTXVsKGJ1aWxkZXIsIGxlZnQsIHJpZ2h0LCAi
Iik7IH0KLXN0YXRpYyBpbmxpbmUgTFZhbHVlIGJ1aWxkRGl2KExCdWlsZGVyIGJ1aWxkZXIsIExW
YWx1ZSBsZWZ0LCBMVmFsdWUgcmlnaHQpIHsgcmV0dXJuIExMVk1CdWlsZFNEaXYoYnVpbGRlciwg
bGVmdCwgcmlnaHQsICIiKTsgfQotc3RhdGljIGlubGluZSBMVmFsdWUgYnVpbGRSZW0oTEJ1aWxk
ZXIgYnVpbGRlciwgTFZhbHVlIGxlZnQsIExWYWx1ZSByaWdodCkgeyByZXR1cm4gTExWTUJ1aWxk
U1JlbShidWlsZGVyLCBsZWZ0LCByaWdodCwgIiIpOyB9Ci1zdGF0aWMgaW5saW5lIExWYWx1ZSBi
dWlsZE5lZyhMQnVpbGRlciBidWlsZGVyLCBMVmFsdWUgdmFsdWUpIHsgcmV0dXJuIExMVk1CdWls
ZE5lZyhidWlsZGVyLCB2YWx1ZSwgIiIpOyB9Ci1zdGF0aWMgaW5saW5lIExWYWx1ZSBidWlsZEZB
ZGQoTEJ1aWxkZXIgYnVpbGRlciwgTFZhbHVlIGxlZnQsIExWYWx1ZSByaWdodCkgeyByZXR1cm4g
TExWTUJ1aWxkRkFkZChidWlsZGVyLCBsZWZ0LCByaWdodCwgIiIpOyB9Ci1zdGF0aWMgaW5saW5l
IExWYWx1ZSBidWlsZEZTdWIoTEJ1aWxkZXIgYnVpbGRlciwgTFZhbHVlIGxlZnQsIExWYWx1ZSBy
aWdodCkgeyByZXR1cm4gTExWTUJ1aWxkRlN1YihidWlsZGVyLCBsZWZ0LCByaWdodCwgIiIpOyB9
Ci1zdGF0aWMgaW5saW5lIExWYWx1ZSBidWlsZEZNdWwoTEJ1aWxkZXIgYnVpbGRlciwgTFZhbHVl
IGxlZnQsIExWYWx1ZSByaWdodCkgeyByZXR1cm4gTExWTUJ1aWxkRk11bChidWlsZGVyLCBsZWZ0
LCByaWdodCwgIiIpOyB9Ci1zdGF0aWMgaW5saW5lIExWYWx1ZSBidWlsZEZEaXYoTEJ1aWxkZXIg
YnVpbGRlciwgTFZhbHVlIGxlZnQsIExWYWx1ZSByaWdodCkgeyByZXR1cm4gTExWTUJ1aWxkRkRp
dihidWlsZGVyLCBsZWZ0LCByaWdodCwgIiIpOyB9Ci1zdGF0aWMgaW5saW5lIExWYWx1ZSBidWls
ZEZSZW0oTEJ1aWxkZXIgYnVpbGRlciwgTFZhbHVlIGxlZnQsIExWYWx1ZSByaWdodCkgeyByZXR1
cm4gTExWTUJ1aWxkRlJlbShidWlsZGVyLCBsZWZ0LCByaWdodCwgIiIpOyB9Ci1zdGF0aWMgaW5s
aW5lIExWYWx1ZSBidWlsZEZOZWcoTEJ1aWxkZXIgYnVpbGRlciwgTFZhbHVlIHZhbHVlKSB7IHJl
dHVybiBMTFZNQnVpbGRGTmVnKGJ1aWxkZXIsIHZhbHVlLCAiIik7IH0KLXN0YXRpYyBpbmxpbmUg
TFZhbHVlIGJ1aWxkQW5kKExCdWlsZGVyIGJ1aWxkZXIsIExWYWx1ZSBsZWZ0LCBMVmFsdWUgcmln
aHQpIHsgcmV0dXJuIExMVk1CdWlsZEFuZChidWlsZGVyLCBsZWZ0LCByaWdodCwgIiIpOyB9Ci1z
dGF0aWMgaW5saW5lIExWYWx1ZSBidWlsZE9yKExCdWlsZGVyIGJ1aWxkZXIsIExWYWx1ZSBsZWZ0
LCBMVmFsdWUgcmlnaHQpIHsgcmV0dXJuIExMVk1CdWlsZE9yKGJ1aWxkZXIsIGxlZnQsIHJpZ2h0
LCAiIik7IH0KLXN0YXRpYyBpbmxpbmUgTFZhbHVlIGJ1aWxkWG9yKExCdWlsZGVyIGJ1aWxkZXIs
IExWYWx1ZSBsZWZ0LCBMVmFsdWUgcmlnaHQpIHsgcmV0dXJuIExMVk1CdWlsZFhvcihidWlsZGVy
LCBsZWZ0LCByaWdodCwgIiIpOyB9Ci1zdGF0aWMgaW5saW5lIExWYWx1ZSBidWlsZFNobChMQnVp
bGRlciBidWlsZGVyLCBMVmFsdWUgbGVmdCwgTFZhbHVlIHJpZ2h0KSB7IHJldHVybiBMTFZNQnVp
bGRTaGwoYnVpbGRlciwgbGVmdCwgcmlnaHQsICIiKTsgfQotc3RhdGljIGlubGluZSBMVmFsdWUg
YnVpbGRBU2hyKExCdWlsZGVyIGJ1aWxkZXIsIExWYWx1ZSBsZWZ0LCBMVmFsdWUgcmlnaHQpIHsg
cmV0dXJuIExMVk1CdWlsZEFTaHIoYnVpbGRlciwgbGVmdCwgcmlnaHQsICIiKTsgfQotc3RhdGlj
IGlubGluZSBMVmFsdWUgYnVpbGRMU2hyKExCdWlsZGVyIGJ1aWxkZXIsIExWYWx1ZSBsZWZ0LCBM
VmFsdWUgcmlnaHQpIHsgcmV0dXJuIExMVk1CdWlsZExTaHIoYnVpbGRlciwgbGVmdCwgcmlnaHQs
ICIiKTsgfQotc3RhdGljIGlubGluZSBMVmFsdWUgYnVpbGROb3QoTEJ1aWxkZXIgYnVpbGRlciwg
TFZhbHVlIHZhbHVlKSB7IHJldHVybiBMTFZNQnVpbGROb3QoYnVpbGRlciwgdmFsdWUsICIiKTsg
fQotc3RhdGljIGlubGluZSBMVmFsdWUgYnVpbGRMb2FkKExCdWlsZGVyIGJ1aWxkZXIsIExWYWx1
ZSBwb2ludGVyKSB7IHJldHVybiBMTFZNQnVpbGRMb2FkKGJ1aWxkZXIsIHBvaW50ZXIsICIiKTsg
fQotc3RhdGljIGlubGluZSBMVmFsdWUgYnVpbGRTdG9yZShMQnVpbGRlciBidWlsZGVyLCBMVmFs
dWUgdmFsdWUsIExWYWx1ZSBwb2ludGVyKSB7IHJldHVybiBMTFZNQnVpbGRTdG9yZShidWlsZGVy
LCB2YWx1ZSwgcG9pbnRlcik7IH0KLXN0YXRpYyBpbmxpbmUgTFZhbHVlIGJ1aWxkU0V4dChMQnVp
bGRlciBidWlsZGVyLCBMVmFsdWUgdmFsdWUsIExUeXBlIHR5cGUpIHsgcmV0dXJuIExMVk1CdWls
ZFNFeHQoYnVpbGRlciwgdmFsdWUsIHR5cGUsICIiKTsgfQotc3RhdGljIGlubGluZSBMVmFsdWUg
YnVpbGRaRXh0KExCdWlsZGVyIGJ1aWxkZXIsIExWYWx1ZSB2YWx1ZSwgTFR5cGUgdHlwZSkgeyBy
ZXR1cm4gTExWTUJ1aWxkWkV4dChidWlsZGVyLCB2YWx1ZSwgdHlwZSwgIiIpOyB9Ci1zdGF0aWMg
aW5saW5lIExWYWx1ZSBidWlsZEZQVG9TSShMQnVpbGRlciBidWlsZGVyLCBMVmFsdWUgdmFsdWUs
IExUeXBlIHR5cGUpIHsgcmV0dXJuIExMVk1CdWlsZEZQVG9TSShidWlsZGVyLCB2YWx1ZSwgdHlw
ZSwgIiIpOyB9Ci1zdGF0aWMgaW5saW5lIExWYWx1ZSBidWlsZEZQVG9VSShMQnVpbGRlciBidWls
ZGVyLCBMVmFsdWUgdmFsdWUsIExUeXBlIHR5cGUpIHsgcmV0dXJuIExMVk1CdWlsZEZQVG9VSShi
dWlsZGVyLCB2YWx1ZSwgdHlwZSwgIiIpOyB9Ci1zdGF0aWMgaW5saW5lIExWYWx1ZSBidWlsZFNJ
VG9GUChMQnVpbGRlciBidWlsZGVyLCBMVmFsdWUgdmFsdWUsIExUeXBlIHR5cGUpIHsgcmV0dXJu
IExMVk1CdWlsZFNJVG9GUChidWlsZGVyLCB2YWx1ZSwgdHlwZSwgIiIpOyB9Ci1zdGF0aWMgaW5s
aW5lIExWYWx1ZSBidWlsZFVJVG9GUChMQnVpbGRlciBidWlsZGVyLCBMVmFsdWUgdmFsdWUsIExU
eXBlIHR5cGUpIHsgcmV0dXJuIExMVk1CdWlsZFVJVG9GUChidWlsZGVyLCB2YWx1ZSwgdHlwZSwg
IiIpOyB9Ci1zdGF0aWMgaW5saW5lIExWYWx1ZSBidWlsZEludENhc3QoTEJ1aWxkZXIgYnVpbGRl
ciwgTFZhbHVlIHZhbHVlLCBMVHlwZSB0eXBlKSB7IHJldHVybiBMTFZNQnVpbGRJbnRDYXN0KGJ1
aWxkZXIsIHZhbHVlLCB0eXBlLCAiIik7IH0KLXN0YXRpYyBpbmxpbmUgTFZhbHVlIGJ1aWxkRlBD
YXN0KExCdWlsZGVyIGJ1aWxkZXIsIExWYWx1ZSB2YWx1ZSwgTFR5cGUgdHlwZSkgeyByZXR1cm4g
TExWTUJ1aWxkRlBDYXN0KGJ1aWxkZXIsIHZhbHVlLCB0eXBlLCAiIik7IH0KLXN0YXRpYyBpbmxp
bmUgTFZhbHVlIGJ1aWxkSW50VG9QdHIoTEJ1aWxkZXIgYnVpbGRlciwgTFZhbHVlIHZhbHVlLCBM
VHlwZSB0eXBlKSB7IHJldHVybiBMTFZNQnVpbGRJbnRUb1B0cihidWlsZGVyLCB2YWx1ZSwgdHlw
ZSwgIiIpOyB9Ci1zdGF0aWMgaW5saW5lIExWYWx1ZSBidWlsZFB0clRvSW50KExCdWlsZGVyIGJ1
aWxkZXIsIExWYWx1ZSB2YWx1ZSwgTFR5cGUgdHlwZSkgeyByZXR1cm4gTExWTUJ1aWxkUHRyVG9J
bnQoYnVpbGRlciwgdmFsdWUsIHR5cGUsICIiKTsgfQotc3RhdGljIGlubGluZSBMVmFsdWUgYnVp
bGRCaXRDYXN0KExCdWlsZGVyIGJ1aWxkZXIsIExWYWx1ZSB2YWx1ZSwgTFR5cGUgdHlwZSkgeyBy
ZXR1cm4gTExWTUJ1aWxkQml0Q2FzdChidWlsZGVyLCB2YWx1ZSwgdHlwZSwgIiIpOyB9Ci1zdGF0
aWMgaW5saW5lIExWYWx1ZSBidWlsZElDbXAoTEJ1aWxkZXIgYnVpbGRlciwgTEludFByZWRpY2F0
ZSBjb25kLCBMVmFsdWUgbGVmdCwgTFZhbHVlIHJpZ2h0KSB7IHJldHVybiBMTFZNQnVpbGRJQ21w
KGJ1aWxkZXIsIGNvbmQsIGxlZnQsIHJpZ2h0LCAiIik7IH0KLXN0YXRpYyBpbmxpbmUgTFZhbHVl
IGJ1aWxkRkNtcChMQnVpbGRlciBidWlsZGVyLCBMUmVhbFByZWRpY2F0ZSBjb25kLCBMVmFsdWUg
bGVmdCwgTFZhbHVlIHJpZ2h0KSB7IHJldHVybiBMTFZNQnVpbGRGQ21wKGJ1aWxkZXIsIGNvbmQs
IGxlZnQsIHJpZ2h0LCAiIik7IH0KK3N0YXRpYyBpbmxpbmUgTFZhbHVlIGJ1aWxkQWxsb2NhKExC
dWlsZGVyIGJ1aWxkZXIsIExUeXBlIHR5cGUpIHsgcmV0dXJuIGxsdm0tPkJ1aWxkQWxsb2NhKGJ1
aWxkZXIsIHR5cGUsICIiKTsgfQorc3RhdGljIGlubGluZSBMVmFsdWUgYnVpbGRBZGQoTEJ1aWxk
ZXIgYnVpbGRlciwgTFZhbHVlIGxlZnQsIExWYWx1ZSByaWdodCkgeyByZXR1cm4gbGx2bS0+QnVp
bGRBZGQoYnVpbGRlciwgbGVmdCwgcmlnaHQsICIiKTsgfQorc3RhdGljIGlubGluZSBMVmFsdWUg
YnVpbGRTdWIoTEJ1aWxkZXIgYnVpbGRlciwgTFZhbHVlIGxlZnQsIExWYWx1ZSByaWdodCkgeyBy
ZXR1cm4gbGx2bS0+QnVpbGRTdWIoYnVpbGRlciwgbGVmdCwgcmlnaHQsICIiKTsgfQorc3RhdGlj
IGlubGluZSBMVmFsdWUgYnVpbGRNdWwoTEJ1aWxkZXIgYnVpbGRlciwgTFZhbHVlIGxlZnQsIExW
YWx1ZSByaWdodCkgeyByZXR1cm4gbGx2bS0+QnVpbGRNdWwoYnVpbGRlciwgbGVmdCwgcmlnaHQs
ICIiKTsgfQorc3RhdGljIGlubGluZSBMVmFsdWUgYnVpbGREaXYoTEJ1aWxkZXIgYnVpbGRlciwg
TFZhbHVlIGxlZnQsIExWYWx1ZSByaWdodCkgeyByZXR1cm4gbGx2bS0+QnVpbGRTRGl2KGJ1aWxk
ZXIsIGxlZnQsIHJpZ2h0LCAiIik7IH0KK3N0YXRpYyBpbmxpbmUgTFZhbHVlIGJ1aWxkUmVtKExC
dWlsZGVyIGJ1aWxkZXIsIExWYWx1ZSBsZWZ0LCBMVmFsdWUgcmlnaHQpIHsgcmV0dXJuIGxsdm0t
PkJ1aWxkU1JlbShidWlsZGVyLCBsZWZ0LCByaWdodCwgIiIpOyB9CitzdGF0aWMgaW5saW5lIExW
YWx1ZSBidWlsZE5lZyhMQnVpbGRlciBidWlsZGVyLCBMVmFsdWUgdmFsdWUpIHsgcmV0dXJuIGxs
dm0tPkJ1aWxkTmVnKGJ1aWxkZXIsIHZhbHVlLCAiIik7IH0KK3N0YXRpYyBpbmxpbmUgTFZhbHVl
IGJ1aWxkRkFkZChMQnVpbGRlciBidWlsZGVyLCBMVmFsdWUgbGVmdCwgTFZhbHVlIHJpZ2h0KSB7
IHJldHVybiBsbHZtLT5CdWlsZEZBZGQoYnVpbGRlciwgbGVmdCwgcmlnaHQsICIiKTsgfQorc3Rh
dGljIGlubGluZSBMVmFsdWUgYnVpbGRGU3ViKExCdWlsZGVyIGJ1aWxkZXIsIExWYWx1ZSBsZWZ0
LCBMVmFsdWUgcmlnaHQpIHsgcmV0dXJuIGxsdm0tPkJ1aWxkRlN1YihidWlsZGVyLCBsZWZ0LCBy
aWdodCwgIiIpOyB9CitzdGF0aWMgaW5saW5lIExWYWx1ZSBidWlsZEZNdWwoTEJ1aWxkZXIgYnVp
bGRlciwgTFZhbHVlIGxlZnQsIExWYWx1ZSByaWdodCkgeyByZXR1cm4gbGx2bS0+QnVpbGRGTXVs
KGJ1aWxkZXIsIGxlZnQsIHJpZ2h0LCAiIik7IH0KK3N0YXRpYyBpbmxpbmUgTFZhbHVlIGJ1aWxk
RkRpdihMQnVpbGRlciBidWlsZGVyLCBMVmFsdWUgbGVmdCwgTFZhbHVlIHJpZ2h0KSB7IHJldHVy
biBsbHZtLT5CdWlsZEZEaXYoYnVpbGRlciwgbGVmdCwgcmlnaHQsICIiKTsgfQorc3RhdGljIGlu
bGluZSBMVmFsdWUgYnVpbGRGUmVtKExCdWlsZGVyIGJ1aWxkZXIsIExWYWx1ZSBsZWZ0LCBMVmFs
dWUgcmlnaHQpIHsgcmV0dXJuIGxsdm0tPkJ1aWxkRlJlbShidWlsZGVyLCBsZWZ0LCByaWdodCwg
IiIpOyB9CitzdGF0aWMgaW5saW5lIExWYWx1ZSBidWlsZEZOZWcoTEJ1aWxkZXIgYnVpbGRlciwg
TFZhbHVlIHZhbHVlKSB7IHJldHVybiBsbHZtLT5CdWlsZEZOZWcoYnVpbGRlciwgdmFsdWUsICIi
KTsgfQorc3RhdGljIGlubGluZSBMVmFsdWUgYnVpbGRBbmQoTEJ1aWxkZXIgYnVpbGRlciwgTFZh
bHVlIGxlZnQsIExWYWx1ZSByaWdodCkgeyByZXR1cm4gbGx2bS0+QnVpbGRBbmQoYnVpbGRlciwg
bGVmdCwgcmlnaHQsICIiKTsgfQorc3RhdGljIGlubGluZSBMVmFsdWUgYnVpbGRPcihMQnVpbGRl
ciBidWlsZGVyLCBMVmFsdWUgbGVmdCwgTFZhbHVlIHJpZ2h0KSB7IHJldHVybiBsbHZtLT5CdWls
ZE9yKGJ1aWxkZXIsIGxlZnQsIHJpZ2h0LCAiIik7IH0KK3N0YXRpYyBpbmxpbmUgTFZhbHVlIGJ1
aWxkWG9yKExCdWlsZGVyIGJ1aWxkZXIsIExWYWx1ZSBsZWZ0LCBMVmFsdWUgcmlnaHQpIHsgcmV0
dXJuIGxsdm0tPkJ1aWxkWG9yKGJ1aWxkZXIsIGxlZnQsIHJpZ2h0LCAiIik7IH0KK3N0YXRpYyBp
bmxpbmUgTFZhbHVlIGJ1aWxkU2hsKExCdWlsZGVyIGJ1aWxkZXIsIExWYWx1ZSBsZWZ0LCBMVmFs
dWUgcmlnaHQpIHsgcmV0dXJuIGxsdm0tPkJ1aWxkU2hsKGJ1aWxkZXIsIGxlZnQsIHJpZ2h0LCAi
Iik7IH0KK3N0YXRpYyBpbmxpbmUgTFZhbHVlIGJ1aWxkQVNocihMQnVpbGRlciBidWlsZGVyLCBM
VmFsdWUgbGVmdCwgTFZhbHVlIHJpZ2h0KSB7IHJldHVybiBsbHZtLT5CdWlsZEFTaHIoYnVpbGRl
ciwgbGVmdCwgcmlnaHQsICIiKTsgfQorc3RhdGljIGlubGluZSBMVmFsdWUgYnVpbGRMU2hyKExC
dWlsZGVyIGJ1aWxkZXIsIExWYWx1ZSBsZWZ0LCBMVmFsdWUgcmlnaHQpIHsgcmV0dXJuIGxsdm0t
PkJ1aWxkTFNocihidWlsZGVyLCBsZWZ0LCByaWdodCwgIiIpOyB9CitzdGF0aWMgaW5saW5lIExW
YWx1ZSBidWlsZE5vdChMQnVpbGRlciBidWlsZGVyLCBMVmFsdWUgdmFsdWUpIHsgcmV0dXJuIGxs
dm0tPkJ1aWxkTm90KGJ1aWxkZXIsIHZhbHVlLCAiIik7IH0KK3N0YXRpYyBpbmxpbmUgTFZhbHVl
IGJ1aWxkTG9hZChMQnVpbGRlciBidWlsZGVyLCBMVmFsdWUgcG9pbnRlcikgeyByZXR1cm4gbGx2
bS0+QnVpbGRMb2FkKGJ1aWxkZXIsIHBvaW50ZXIsICIiKTsgfQorc3RhdGljIGlubGluZSBMVmFs
dWUgYnVpbGRTdG9yZShMQnVpbGRlciBidWlsZGVyLCBMVmFsdWUgdmFsdWUsIExWYWx1ZSBwb2lu
dGVyKSB7IHJldHVybiBsbHZtLT5CdWlsZFN0b3JlKGJ1aWxkZXIsIHZhbHVlLCBwb2ludGVyKTsg
fQorc3RhdGljIGlubGluZSBMVmFsdWUgYnVpbGRTRXh0KExCdWlsZGVyIGJ1aWxkZXIsIExWYWx1
ZSB2YWx1ZSwgTFR5cGUgdHlwZSkgeyByZXR1cm4gbGx2bS0+QnVpbGRTRXh0KGJ1aWxkZXIsIHZh
bHVlLCB0eXBlLCAiIik7IH0KK3N0YXRpYyBpbmxpbmUgTFZhbHVlIGJ1aWxkWkV4dChMQnVpbGRl
ciBidWlsZGVyLCBMVmFsdWUgdmFsdWUsIExUeXBlIHR5cGUpIHsgcmV0dXJuIGxsdm0tPkJ1aWxk
WkV4dChidWlsZGVyLCB2YWx1ZSwgdHlwZSwgIiIpOyB9CitzdGF0aWMgaW5saW5lIExWYWx1ZSBi
dWlsZEZQVG9TSShMQnVpbGRlciBidWlsZGVyLCBMVmFsdWUgdmFsdWUsIExUeXBlIHR5cGUpIHsg
cmV0dXJuIGxsdm0tPkJ1aWxkRlBUb1NJKGJ1aWxkZXIsIHZhbHVlLCB0eXBlLCAiIik7IH0KK3N0
YXRpYyBpbmxpbmUgTFZhbHVlIGJ1aWxkRlBUb1VJKExCdWlsZGVyIGJ1aWxkZXIsIExWYWx1ZSB2
YWx1ZSwgTFR5cGUgdHlwZSkgeyByZXR1cm4gbGx2bS0+QnVpbGRGUFRvVUkoYnVpbGRlciwgdmFs
dWUsIHR5cGUsICIiKTsgfQorc3RhdGljIGlubGluZSBMVmFsdWUgYnVpbGRTSVRvRlAoTEJ1aWxk
ZXIgYnVpbGRlciwgTFZhbHVlIHZhbHVlLCBMVHlwZSB0eXBlKSB7IHJldHVybiBsbHZtLT5CdWls
ZFNJVG9GUChidWlsZGVyLCB2YWx1ZSwgdHlwZSwgIiIpOyB9CitzdGF0aWMgaW5saW5lIExWYWx1
ZSBidWlsZFVJVG9GUChMQnVpbGRlciBidWlsZGVyLCBMVmFsdWUgdmFsdWUsIExUeXBlIHR5cGUp
IHsgcmV0dXJuIGxsdm0tPkJ1aWxkVUlUb0ZQKGJ1aWxkZXIsIHZhbHVlLCB0eXBlLCAiIik7IH0K
K3N0YXRpYyBpbmxpbmUgTFZhbHVlIGJ1aWxkSW50Q2FzdChMQnVpbGRlciBidWlsZGVyLCBMVmFs
dWUgdmFsdWUsIExUeXBlIHR5cGUpIHsgcmV0dXJuIGxsdm0tPkJ1aWxkSW50Q2FzdChidWlsZGVy
LCB2YWx1ZSwgdHlwZSwgIiIpOyB9CitzdGF0aWMgaW5saW5lIExWYWx1ZSBidWlsZEZQQ2FzdChM
QnVpbGRlciBidWlsZGVyLCBMVmFsdWUgdmFsdWUsIExUeXBlIHR5cGUpIHsgcmV0dXJuIGxsdm0t
PkJ1aWxkRlBDYXN0KGJ1aWxkZXIsIHZhbHVlLCB0eXBlLCAiIik7IH0KK3N0YXRpYyBpbmxpbmUg
TFZhbHVlIGJ1aWxkSW50VG9QdHIoTEJ1aWxkZXIgYnVpbGRlciwgTFZhbHVlIHZhbHVlLCBMVHlw
ZSB0eXBlKSB7IHJldHVybiBsbHZtLT5CdWlsZEludFRvUHRyKGJ1aWxkZXIsIHZhbHVlLCB0eXBl
LCAiIik7IH0KK3N0YXRpYyBpbmxpbmUgTFZhbHVlIGJ1aWxkUHRyVG9JbnQoTEJ1aWxkZXIgYnVp
bGRlciwgTFZhbHVlIHZhbHVlLCBMVHlwZSB0eXBlKSB7IHJldHVybiBsbHZtLT5CdWlsZFB0clRv
SW50KGJ1aWxkZXIsIHZhbHVlLCB0eXBlLCAiIik7IH0KK3N0YXRpYyBpbmxpbmUgTFZhbHVlIGJ1
aWxkQml0Q2FzdChMQnVpbGRlciBidWlsZGVyLCBMVmFsdWUgdmFsdWUsIExUeXBlIHR5cGUpIHsg
cmV0dXJuIGxsdm0tPkJ1aWxkQml0Q2FzdChidWlsZGVyLCB2YWx1ZSwgdHlwZSwgIiIpOyB9Citz
dGF0aWMgaW5saW5lIExWYWx1ZSBidWlsZElDbXAoTEJ1aWxkZXIgYnVpbGRlciwgTEludFByZWRp
Y2F0ZSBjb25kLCBMVmFsdWUgbGVmdCwgTFZhbHVlIHJpZ2h0KSB7IHJldHVybiBsbHZtLT5CdWls
ZElDbXAoYnVpbGRlciwgY29uZCwgbGVmdCwgcmlnaHQsICIiKTsgfQorc3RhdGljIGlubGluZSBM
VmFsdWUgYnVpbGRGQ21wKExCdWlsZGVyIGJ1aWxkZXIsIExSZWFsUHJlZGljYXRlIGNvbmQsIExW
YWx1ZSBsZWZ0LCBMVmFsdWUgcmlnaHQpIHsgcmV0dXJuIGxsdm0tPkJ1aWxkRkNtcChidWlsZGVy
LCBjb25kLCBsZWZ0LCByaWdodCwgIiIpOyB9CiBzdGF0aWMgaW5saW5lIExWYWx1ZSBidWlsZENh
bGwoTEJ1aWxkZXIgYnVpbGRlciwgTFZhbHVlIGZ1bmN0aW9uLCBjb25zdCBMVmFsdWUqIGFyZ3Ms
IHVuc2lnbmVkIG51bUFyZ3MpCiB7Ci0gICAgcmV0dXJuIExMVk1CdWlsZENhbGwoYnVpbGRlciwg
ZnVuY3Rpb24sIGNvbnN0X2Nhc3Q8TFZhbHVlKj4oYXJncyksIG51bUFyZ3MsICIiKTsKKyAgICBy
ZXR1cm4gbGx2bS0+QnVpbGRDYWxsKGJ1aWxkZXIsIGZ1bmN0aW9uLCBjb25zdF9jYXN0PExWYWx1
ZSo+KGFyZ3MpLCBudW1BcmdzLCAiIik7CiB9CiB0ZW1wbGF0ZTx0eXBlbmFtZSBWZWN0b3JUeXBl
PgogaW5saW5lIExWYWx1ZSBidWlsZENhbGwoTEJ1aWxkZXIgYnVpbGRlciwgTFZhbHVlIGZ1bmN0
aW9uLCBjb25zdCBWZWN0b3JUeXBlJiB2ZWN0b3IpCkBAIC0yNDgsMTMgKzI0OSwxMyBAQCBzdGF0
aWMgaW5saW5lIExWYWx1ZSBidWlsZENhbGwoTEJ1aWxkZXIgCiAgICAgcmV0dXJuIGJ1aWxkQ2Fs
bChidWlsZGVyLCBmdW5jdGlvbiwgYXJncywgNCk7CiB9CiBlbnVtIFRhaWxDYWxsTW9kZSB7IElz
Tm90VGFpbENhbGwsIElzVGFpbENhbGwgfTsKLXN0YXRpYyBpbmxpbmUgdm9pZCBzZXRUYWlsQ2Fs
bChMVmFsdWUgY2FsbCwgVGFpbENhbGxNb2RlIG1vZGUpIHsgTExWTVNldFRhaWxDYWxsKGNhbGws
IG1vZGUgPT0gSXNUYWlsQ2FsbCk7IH0KLXN0YXRpYyBpbmxpbmUgTFZhbHVlIGJ1aWxkRXh0cmFj
dFZhbHVlKExCdWlsZGVyIGJ1aWxkZXIsIExWYWx1ZSBhZ2dWYWwsIHVuc2lnbmVkIGluZGV4KSB7
IHJldHVybiBMTFZNQnVpbGRFeHRyYWN0VmFsdWUoYnVpbGRlciwgYWdnVmFsLCBpbmRleCwgIiIp
OyB9Ci1zdGF0aWMgaW5saW5lIExWYWx1ZSBidWlsZFNlbGVjdChMQnVpbGRlciBidWlsZGVyLCBM
VmFsdWUgY29uZGl0aW9uLCBMVmFsdWUgdGFrZW4sIExWYWx1ZSBub3RUYWtlbikgeyByZXR1cm4g
TExWTUJ1aWxkU2VsZWN0KGJ1aWxkZXIsIGNvbmRpdGlvbiwgdGFrZW4sIG5vdFRha2VuLCAiIik7
IH0KLXN0YXRpYyBpbmxpbmUgTFZhbHVlIGJ1aWxkQnIoTEJ1aWxkZXIgYnVpbGRlciwgTEJhc2lj
QmxvY2sgZGVzdGluYXRpb24pIHsgcmV0dXJuIExMVk1CdWlsZEJyKGJ1aWxkZXIsIGRlc3RpbmF0
aW9uKTsgfQotc3RhdGljIGlubGluZSBMVmFsdWUgYnVpbGRDb25kQnIoTEJ1aWxkZXIgYnVpbGRl
ciwgTFZhbHVlIGNvbmRpdGlvbiwgTEJhc2ljQmxvY2sgdGFrZW4sIExCYXNpY0Jsb2NrIG5vdFRh
a2VuKSB7IHJldHVybiBMTFZNQnVpbGRDb25kQnIoYnVpbGRlciwgY29uZGl0aW9uLCB0YWtlbiwg
bm90VGFrZW4pOyB9Ci1zdGF0aWMgaW5saW5lIExWYWx1ZSBidWlsZFN3aXRjaChMQnVpbGRlciBi
dWlsZGVyLCBMVmFsdWUgdmFsdWUsIExCYXNpY0Jsb2NrIGZhbGxUaHJvdWdoLCB1bnNpZ25lZCBu
dW1DYXNlcykgeyByZXR1cm4gTExWTUJ1aWxkU3dpdGNoKGJ1aWxkZXIsIHZhbHVlLCBmYWxsVGhy
b3VnaCwgbnVtQ2FzZXMpOyB9Ci1zdGF0aWMgaW5saW5lIHZvaWQgYWRkQ2FzZShMVmFsdWUgc3dp
dGNoSW5zdCwgTFZhbHVlIHZhbHVlLCBMQmFzaWNCbG9jayB0YXJnZXQpIHsgTExWTUFkZENhc2Uo
c3dpdGNoSW5zdCwgdmFsdWUsIHRhcmdldCk7IH0KK3N0YXRpYyBpbmxpbmUgdm9pZCBzZXRUYWls
Q2FsbChMVmFsdWUgY2FsbCwgVGFpbENhbGxNb2RlIG1vZGUpIHsgbGx2bS0+U2V0VGFpbENhbGwo
Y2FsbCwgbW9kZSA9PSBJc1RhaWxDYWxsKTsgfQorc3RhdGljIGlubGluZSBMVmFsdWUgYnVpbGRF
eHRyYWN0VmFsdWUoTEJ1aWxkZXIgYnVpbGRlciwgTFZhbHVlIGFnZ1ZhbCwgdW5zaWduZWQgaW5k
ZXgpIHsgcmV0dXJuIGxsdm0tPkJ1aWxkRXh0cmFjdFZhbHVlKGJ1aWxkZXIsIGFnZ1ZhbCwgaW5k
ZXgsICIiKTsgfQorc3RhdGljIGlubGluZSBMVmFsdWUgYnVpbGRTZWxlY3QoTEJ1aWxkZXIgYnVp
bGRlciwgTFZhbHVlIGNvbmRpdGlvbiwgTFZhbHVlIHRha2VuLCBMVmFsdWUgbm90VGFrZW4pIHsg
cmV0dXJuIGxsdm0tPkJ1aWxkU2VsZWN0KGJ1aWxkZXIsIGNvbmRpdGlvbiwgdGFrZW4sIG5vdFRh
a2VuLCAiIik7IH0KK3N0YXRpYyBpbmxpbmUgTFZhbHVlIGJ1aWxkQnIoTEJ1aWxkZXIgYnVpbGRl
ciwgTEJhc2ljQmxvY2sgZGVzdGluYXRpb24pIHsgcmV0dXJuIGxsdm0tPkJ1aWxkQnIoYnVpbGRl
ciwgZGVzdGluYXRpb24pOyB9CitzdGF0aWMgaW5saW5lIExWYWx1ZSBidWlsZENvbmRCcihMQnVp
bGRlciBidWlsZGVyLCBMVmFsdWUgY29uZGl0aW9uLCBMQmFzaWNCbG9jayB0YWtlbiwgTEJhc2lj
QmxvY2sgbm90VGFrZW4pIHsgcmV0dXJuIGxsdm0tPkJ1aWxkQ29uZEJyKGJ1aWxkZXIsIGNvbmRp
dGlvbiwgdGFrZW4sIG5vdFRha2VuKTsgfQorc3RhdGljIGlubGluZSBMVmFsdWUgYnVpbGRTd2l0
Y2goTEJ1aWxkZXIgYnVpbGRlciwgTFZhbHVlIHZhbHVlLCBMQmFzaWNCbG9jayBmYWxsVGhyb3Vn
aCwgdW5zaWduZWQgbnVtQ2FzZXMpIHsgcmV0dXJuIGxsdm0tPkJ1aWxkU3dpdGNoKGJ1aWxkZXIs
IHZhbHVlLCBmYWxsVGhyb3VnaCwgbnVtQ2FzZXMpOyB9CitzdGF0aWMgaW5saW5lIHZvaWQgYWRk
Q2FzZShMVmFsdWUgc3dpdGNoSW5zdCwgTFZhbHVlIHZhbHVlLCBMQmFzaWNCbG9jayB0YXJnZXQp
IHsgbGx2bS0+QWRkQ2FzZShzd2l0Y2hJbnN0LCB2YWx1ZSwgdGFyZ2V0KTsgfQogdGVtcGxhdGU8
dHlwZW5hbWUgVmVjdG9yVHlwZT4KIHN0YXRpYyBpbmxpbmUgTFZhbHVlIGJ1aWxkU3dpdGNoKExC
dWlsZGVyIGJ1aWxkZXIsIExWYWx1ZSB2YWx1ZSwgY29uc3QgVmVjdG9yVHlwZSYgY2FzZXMsIExC
YXNpY0Jsb2NrIGZhbGxUaHJvdWdoKQogewpAQCAtMjYzLDE1ICsyNjQsMTUgQEAgc3RhdGljIGlu
bGluZSBMVmFsdWUgYnVpbGRTd2l0Y2goTEJ1aWxkZQogICAgICAgICBhZGRDYXNlKHJlc3VsdCwg
Y2FzZXNbaV0udmFsdWUoKSwgY2FzZXNbaV0udGFyZ2V0KCkpOwogICAgIHJldHVybiByZXN1bHQ7
CiB9Ci1zdGF0aWMgaW5saW5lIExWYWx1ZSBidWlsZFJldChMQnVpbGRlciBidWlsZGVyLCBMVmFs
dWUgdmFsdWUpIHsgcmV0dXJuIExMVk1CdWlsZFJldChidWlsZGVyLCB2YWx1ZSk7IH0KLXN0YXRp
YyBpbmxpbmUgTFZhbHVlIGJ1aWxkVW5yZWFjaGFibGUoTEJ1aWxkZXIgYnVpbGRlcikgeyByZXR1
cm4gTExWTUJ1aWxkVW5yZWFjaGFibGUoYnVpbGRlcik7IH0KK3N0YXRpYyBpbmxpbmUgTFZhbHVl
IGJ1aWxkUmV0KExCdWlsZGVyIGJ1aWxkZXIsIExWYWx1ZSB2YWx1ZSkgeyByZXR1cm4gbGx2bS0+
QnVpbGRSZXQoYnVpbGRlciwgdmFsdWUpOyB9CitzdGF0aWMgaW5saW5lIExWYWx1ZSBidWlsZFVu
cmVhY2hhYmxlKExCdWlsZGVyIGJ1aWxkZXIpIHsgcmV0dXJuIGxsdm0tPkJ1aWxkVW5yZWFjaGFi
bGUoYnVpbGRlcik7IH0KIAotc3RhdGljIGlubGluZSB2b2lkIGR1bXBNb2R1bGUoTE1vZHVsZSBt
b2R1bGUpIHsgTExWTUR1bXBNb2R1bGUobW9kdWxlKTsgfQorc3RhdGljIGlubGluZSB2b2lkIGR1
bXBNb2R1bGUoTE1vZHVsZSBtb2R1bGUpIHsgbGx2bS0+RHVtcE1vZHVsZShtb2R1bGUpOyB9CiBz
dGF0aWMgaW5saW5lIHZvaWQgdmVyaWZ5TW9kdWxlKExNb2R1bGUgbW9kdWxlKQogewogICAgIGNo
YXIqIGVycm9yID0gMDsKLSAgICBMTFZNVmVyaWZ5TW9kdWxlKG1vZHVsZSwgTExWTUFib3J0UHJv
Y2Vzc0FjdGlvbiwgJmVycm9yKTsKLSAgICBMTFZNRGlzcG9zZU1lc3NhZ2UoZXJyb3IpOworICAg
IGxsdm0tPlZlcmlmeU1vZHVsZShtb2R1bGUsIExMVk1BYm9ydFByb2Nlc3NBY3Rpb24sICZlcnJv
cik7CisgICAgbGx2bS0+RGlzcG9zZU1lc3NhZ2UoZXJyb3IpOwogfQogCiB9IH0gLy8gbmFtZXNw
YWNlIEpTQzo6RlRMCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTENvbXBpbGUu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMQ29tcGlsZS5j
cHAJKHJldmlzaW9uIDE1NzIwNCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMQ29t
cGlsZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM0LDggKzM0LDggQEAKICNpbmNsdWRlICJEaXNh
c3NlbWJsZXIuaCIKICNpbmNsdWRlICJGVExKSVRDb2RlLmgiCiAjaW5jbHVkZSAiSklUU3R1YnMu
aCIKKyNpbmNsdWRlICJMTFZNQVBJLmgiCiAjaW5jbHVkZSAiTGlua0J1ZmZlci5oIgotI2luY2x1
ZGUgPHd0Zi9MTFZNSGVhZGVycy5oPgogCiBuYW1lc3BhY2UgSlNDIHsgbmFtZXNwYWNlIEZUTCB7
CiAKQEAgLTk1LDUyICs5NSw1MiBAQCB2b2lkIGNvbXBpbGUoU3RhdGUmIHN0YXRlKQogICAgIGNo
YXIqIGVycm9yID0gMDsKICAgICAKICAgICBMTFZNTUNKSVRDb21waWxlck9wdGlvbnMgb3B0aW9u
czsKLSAgICBMTFZNSW5pdGlhbGl6ZU1DSklUQ29tcGlsZXJPcHRpb25zKCZvcHRpb25zLCBzaXpl
b2Yob3B0aW9ucykpOworICAgIGxsdm0tPkluaXRpYWxpemVNQ0pJVENvbXBpbGVyT3B0aW9ucygm
b3B0aW9ucywgc2l6ZW9mKG9wdGlvbnMpKTsKICAgICBvcHRpb25zLk9wdExldmVsID0gT3B0aW9u
czo6bGx2bUJhY2tlbmRPcHRpbWl6YXRpb25MZXZlbCgpOwogICAgIG9wdGlvbnMuTm9GcmFtZVBv
aW50ZXJFbGltID0gdHJ1ZTsKICAgICBpZiAoT3B0aW9uczo6dXNlTExWTVNtYWxsQ29kZU1vZGVs
KCkpCiAgICAgICAgIG9wdGlvbnMuQ29kZU1vZGVsID0gTExWTUNvZGVNb2RlbFNtYWxsOwogICAg
IG9wdGlvbnMuRW5hYmxlRmFzdElTZWwgPSBPcHRpb25zOjplbmFibGVMTFZNRmFzdElTZWwoKTsK
LSAgICBvcHRpb25zLk1DSk1NID0gTExWTUNyZWF0ZVNpbXBsZU1DSklUTWVtb3J5TWFuYWdlcigK
KyAgICBvcHRpb25zLk1DSk1NID0gbGx2bS0+Q3JlYXRlU2ltcGxlTUNKSVRNZW1vcnlNYW5hZ2Vy
KAogICAgICAgICAmc3RhdGUsIG1tQWxsb2NhdGVDb2RlU2VjdGlvbiwgbW1BbGxvY2F0ZURhdGFT
ZWN0aW9uLCBtbUFwcGx5UGVybWlzc2lvbnMsIG1tRGVzdHJveSk7CiAgICAgCiAgICAgTExWTUV4
ZWN1dGlvbkVuZ2luZVJlZiBlbmdpbmU7CiAgICAgCi0gICAgaWYgKExMVk1DcmVhdGVNQ0pJVENv
bXBpbGVyRm9yTW9kdWxlKCZlbmdpbmUsIHN0YXRlLm1vZHVsZSwgJm9wdGlvbnMsIHNpemVvZihv
cHRpb25zKSwgJmVycm9yKSkgeworICAgIGlmIChsbHZtLT5DcmVhdGVNQ0pJVENvbXBpbGVyRm9y
TW9kdWxlKCZlbmdpbmUsIHN0YXRlLm1vZHVsZSwgJm9wdGlvbnMsIHNpemVvZihvcHRpb25zKSwg
JmVycm9yKSkgewogICAgICAgICBkYXRhTG9nKCJGQVRBTDogQ291bGQgbm90IGNyZWF0ZSBMTFZN
IGV4ZWN1dGlvbiBlbmdpbmU6ICIsIGVycm9yLCAiXG4iKTsKICAgICAgICAgQ1JBU0goKTsKICAg
ICB9CiAKLSAgICBMTFZNUGFzc01hbmFnZXJCdWlsZGVyUmVmIHBhc3NCdWlsZGVyID0gTExWTVBh
c3NNYW5hZ2VyQnVpbGRlckNyZWF0ZSgpOwotICAgIExMVk1QYXNzTWFuYWdlckJ1aWxkZXJTZXRP
cHRMZXZlbChwYXNzQnVpbGRlciwgT3B0aW9uczo6bGx2bU9wdGltaXphdGlvbkxldmVsKCkpOwot
ICAgIExMVk1QYXNzTWFuYWdlckJ1aWxkZXJTZXRTaXplTGV2ZWwocGFzc0J1aWxkZXIsIE9wdGlv
bnM6Omxsdm1TaXplTGV2ZWwoKSk7CisgICAgTExWTVBhc3NNYW5hZ2VyQnVpbGRlclJlZiBwYXNz
QnVpbGRlciA9IGxsdm0tPlBhc3NNYW5hZ2VyQnVpbGRlckNyZWF0ZSgpOworICAgIGxsdm0tPlBh
c3NNYW5hZ2VyQnVpbGRlclNldE9wdExldmVsKHBhc3NCdWlsZGVyLCBPcHRpb25zOjpsbHZtT3B0
aW1pemF0aW9uTGV2ZWwoKSk7CisgICAgbGx2bS0+UGFzc01hbmFnZXJCdWlsZGVyU2V0U2l6ZUxl
dmVsKHBhc3NCdWlsZGVyLCBPcHRpb25zOjpsbHZtU2l6ZUxldmVsKCkpOwogICAgIAotICAgIExM
Vk1QYXNzTWFuYWdlclJlZiBmdW5jdGlvblBhc3NlcyA9IExMVk1DcmVhdGVGdW5jdGlvblBhc3NN
YW5hZ2VyRm9yTW9kdWxlKHN0YXRlLm1vZHVsZSk7Ci0gICAgTExWTVBhc3NNYW5hZ2VyUmVmIG1v
ZHVsZVBhc3NlcyA9IExMVk1DcmVhdGVQYXNzTWFuYWdlcigpOworICAgIExMVk1QYXNzTWFuYWdl
clJlZiBmdW5jdGlvblBhc3NlcyA9IGxsdm0tPkNyZWF0ZUZ1bmN0aW9uUGFzc01hbmFnZXJGb3JN
b2R1bGUoc3RhdGUubW9kdWxlKTsKKyAgICBMTFZNUGFzc01hbmFnZXJSZWYgbW9kdWxlUGFzc2Vz
ID0gbGx2bS0+Q3JlYXRlUGFzc01hbmFnZXIoKTsKICAgICAKLSAgICBMTFZNQWRkVGFyZ2V0RGF0
YShMTFZNR2V0RXhlY3V0aW9uRW5naW5lVGFyZ2V0RGF0YShlbmdpbmUpLCBtb2R1bGVQYXNzZXMp
OworICAgIGxsdm0tPkFkZFRhcmdldERhdGEobGx2bS0+R2V0RXhlY3V0aW9uRW5naW5lVGFyZ2V0
RGF0YShlbmdpbmUpLCBtb2R1bGVQYXNzZXMpOwogICAgIAotICAgIExMVk1QYXNzTWFuYWdlckJ1
aWxkZXJQb3B1bGF0ZUZ1bmN0aW9uUGFzc01hbmFnZXIocGFzc0J1aWxkZXIsIGZ1bmN0aW9uUGFz
c2VzKTsKLSAgICBMTFZNUGFzc01hbmFnZXJCdWlsZGVyUG9wdWxhdGVNb2R1bGVQYXNzTWFuYWdl
cihwYXNzQnVpbGRlciwgbW9kdWxlUGFzc2VzKTsKKyAgICBsbHZtLT5QYXNzTWFuYWdlckJ1aWxk
ZXJQb3B1bGF0ZUZ1bmN0aW9uUGFzc01hbmFnZXIocGFzc0J1aWxkZXIsIGZ1bmN0aW9uUGFzc2Vz
KTsKKyAgICBsbHZtLT5QYXNzTWFuYWdlckJ1aWxkZXJQb3B1bGF0ZU1vZHVsZVBhc3NNYW5hZ2Vy
KHBhc3NCdWlsZGVyLCBtb2R1bGVQYXNzZXMpOwogICAgIAotICAgIExMVk1QYXNzTWFuYWdlckJ1
aWxkZXJEaXNwb3NlKHBhc3NCdWlsZGVyKTsKKyAgICBsbHZtLT5QYXNzTWFuYWdlckJ1aWxkZXJE
aXNwb3NlKHBhc3NCdWlsZGVyKTsKIAotICAgIExMVk1Jbml0aWFsaXplRnVuY3Rpb25QYXNzTWFu
YWdlcihmdW5jdGlvblBhc3Nlcyk7Ci0gICAgZm9yIChMVmFsdWUgZnVuY3Rpb24gPSBMTFZNR2V0
Rmlyc3RGdW5jdGlvbihzdGF0ZS5tb2R1bGUpOyBmdW5jdGlvbjsgZnVuY3Rpb24gPSBMTFZNR2V0
TmV4dEZ1bmN0aW9uKGZ1bmN0aW9uKSkKLSAgICAgICAgTExWTVJ1bkZ1bmN0aW9uUGFzc01hbmFn
ZXIoZnVuY3Rpb25QYXNzZXMsIGZ1bmN0aW9uKTsKLSAgICBMTFZNRmluYWxpemVGdW5jdGlvblBh
c3NNYW5hZ2VyKGZ1bmN0aW9uUGFzc2VzKTsKKyAgICBsbHZtLT5Jbml0aWFsaXplRnVuY3Rpb25Q
YXNzTWFuYWdlcihmdW5jdGlvblBhc3Nlcyk7CisgICAgZm9yIChMVmFsdWUgZnVuY3Rpb24gPSBs
bHZtLT5HZXRGaXJzdEZ1bmN0aW9uKHN0YXRlLm1vZHVsZSk7IGZ1bmN0aW9uOyBmdW5jdGlvbiA9
IGxsdm0tPkdldE5leHRGdW5jdGlvbihmdW5jdGlvbikpCisgICAgICAgIGxsdm0tPlJ1bkZ1bmN0
aW9uUGFzc01hbmFnZXIoZnVuY3Rpb25QYXNzZXMsIGZ1bmN0aW9uKTsKKyAgICBsbHZtLT5GaW5h
bGl6ZUZ1bmN0aW9uUGFzc01hbmFnZXIoZnVuY3Rpb25QYXNzZXMpOwogICAgIAotICAgIExMVk1S
dW5QYXNzTWFuYWdlcihtb2R1bGVQYXNzZXMsIHN0YXRlLm1vZHVsZSk7CisgICAgbGx2bS0+UnVu
UGFzc01hbmFnZXIobW9kdWxlUGFzc2VzLCBzdGF0ZS5tb2R1bGUpOwogCiAgICAgaWYgKERGRzo6
c2hvdWxkU2hvd0Rpc2Fzc2VtYmx5KCkgfHwgREZHOjp2ZXJib3NlQ29tcGlsYXRpb25FbmFibGVk
KCkpCiAgICAgICAgIHN0YXRlLmR1bXBTdGF0ZSgiYWZ0ZXIgb3B0aW1pemF0aW9uIik7CiAgICAg
CiAgICAgLy8gRklYTUU6IE5lZWQgdG8gYWRkIHN1cHBvcnQgZm9yIHRoZSBjYXNlIHdoZXJlIEpJ
VCBtZW1vcnkgYWxsb2NhdGlvbiBmYWlsZWQuCiAgICAgLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTExMzYyMAotICAgIHN0YXRlLmdlbmVyYXRlZEZ1bmN0aW9uID0g
cmVpbnRlcnByZXRfY2FzdDxHZW5lcmF0ZWRGdW5jdGlvbj4oTExWTUdldFBvaW50ZXJUb0dsb2Jh
bChlbmdpbmUsIHN0YXRlLmZ1bmN0aW9uKSk7Ci0gICAgTExWTURpc3Bvc2VQYXNzTWFuYWdlcihm
dW5jdGlvblBhc3Nlcyk7Ci0gICAgTExWTURpc3Bvc2VQYXNzTWFuYWdlcihtb2R1bGVQYXNzZXMp
OwotICAgIExMVk1EaXNwb3NlRXhlY3V0aW9uRW5naW5lKGVuZ2luZSk7CisgICAgc3RhdGUuZ2Vu
ZXJhdGVkRnVuY3Rpb24gPSByZWludGVycHJldF9jYXN0PEdlbmVyYXRlZEZ1bmN0aW9uPihsbHZt
LT5HZXRQb2ludGVyVG9HbG9iYWwoZW5naW5lLCBzdGF0ZS5mdW5jdGlvbikpOworICAgIGxsdm0t
PkRpc3Bvc2VQYXNzTWFuYWdlcihmdW5jdGlvblBhc3Nlcyk7CisgICAgbGx2bS0+RGlzcG9zZVBh
c3NNYW5hZ2VyKG1vZHVsZVBhc3Nlcyk7CisgICAgbGx2bS0+RGlzcG9zZUV4ZWN1dGlvbkVuZ2lu
ZShlbmdpbmUpOwogCiAgICAgaWYgKHNob3VsZFNob3dEaXNhc3NlbWJseSgpKSB7CiAgICAgICAg
IC8vIEZJWE1FOiBmb3VydGhUaWVyOiBGVEwgbWVtb3J5IGFsbG9jYXRvciBzaG91bGQgYmUgYWJs
ZSB0byB0ZWxsIHVzIHdoaWNoIG9mCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZU
TEZhaWwuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMRmFp
bC5jcHAJKHJldmlzaW9uIDE1NzIwNCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRM
RmFpbC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMwLDcgKzMwLDcgQEAKIAogI2luY2x1ZGUgIkRG
R0ZhaWxlZEZpbmFsaXplci5oIgogI2luY2x1ZGUgIkZUTEpJVENvZGUuaCIKLSNpbmNsdWRlIDx3
dGYvTExWTUhlYWRlcnMuaD4KKyNpbmNsdWRlICJMTFZNQVBJLmgiCiAKIG5hbWVzcGFjZSBKU0Mg
eyBuYW1lc3BhY2UgRlRMIHsKIApAQCAtNDAsNyArNDAsNyBAQCB2b2lkIGZhaWwoU3RhdGUmIHN0
YXRlKQogewogICAgIHN0YXRlLmdyYXBoLm1fcGxhbi5maW5hbGl6ZXIgPSBhZG9wdFB0cihuZXcg
RmFpbGVkRmluYWxpemVyKHN0YXRlLmdyYXBoLm1fcGxhbikpOwogICAgIAotICAgIExMVk1EaXNw
b3NlTW9kdWxlKHN0YXRlLm1vZHVsZSk7CisgICAgbGx2bS0+RGlzcG9zZU1vZHVsZShzdGF0ZS5t
b2R1bGUpOwogfQogCiB9IH0gLy8gbmFtZXNwYWNlIEpTQzo6RlRMCkluZGV4OiBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvZnRsL0ZUTEpJVENvZGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvZnRsL0ZUTEpJVENvZGUuaAkocmV2aXNpb24gMTU3MjA0KQorKysgU291cmNlL0ph
dmFTY3JpcHRDb3JlL2Z0bC9GVExKSVRDb2RlLmgJKHdvcmtpbmcgY29weSkKQEAgLTMzLDcgKzMz
LDcgQEAKICNpbmNsdWRlICJERkdDb21tb25EYXRhLmgiCiAjaW5jbHVkZSAiRlRMT1NSRXhpdC5o
IgogI2luY2x1ZGUgIkpJVENvZGUuaCIKLSNpbmNsdWRlIDx3dGYvTExWTUhlYWRlcnMuaD4KKyNp
bmNsdWRlICJMTFZNQVBJLmgiCiAjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWRBcnJheS5oPgogCiBu
YW1lc3BhY2UgSlNDIHsgbmFtZXNwYWNlIEZUTCB7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvZnRsL0ZUTEpJVEZpbmFsaXplci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9mdGwvRlRMSklURmluYWxpemVyLmgJKHJldmlzaW9uIDE1NzIwNCkKKysrIFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9mdGwvRlRMSklURmluYWxpemVyLmgJKHdvcmtpbmcgY29weSkKQEAgLTMz
LDkgKzMzLDkgQEAKICNpbmNsdWRlICJERkdGaW5hbGl6ZXIuaCIKICNpbmNsdWRlICJGVExHZW5l
cmF0ZWRGdW5jdGlvbi5oIgogI2luY2x1ZGUgIkZUTEpJVENvZGUuaCIKKyNpbmNsdWRlICJMTFZN
QVBJLmgiCiAjaW5jbHVkZSAiTGlua0J1ZmZlci5oIgogI2luY2x1ZGUgIk1hY3JvQXNzZW1ibGVy
LmgiCi0jaW5jbHVkZSA8d3RmL0xMVk1IZWFkZXJzLmg+CiAKIG5hbWVzcGFjZSBKU0MgeyBuYW1l
c3BhY2UgRlRMIHsKIApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExMaW5rLmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTExpbmsuY3BwCShy
ZXZpc2lvbiAxNTcyMDQpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTExpbmsuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC0zNSw5ICszNSw5IEBACiAjaW5jbHVkZSAiRlRMSklUQ29kZS5o
IgogI2luY2x1ZGUgIkpJVE9wZXJhdGlvbnMuaCIKICNpbmNsdWRlICJKSVRTdHVicy5oIgorI2lu
Y2x1ZGUgIkxMVk1BUEkuaCIKICNpbmNsdWRlICJMaW5rQnVmZmVyLmgiCiAjaW5jbHVkZSAiVmly
dHVhbFJlZ2lzdGVyLmgiCi0jaW5jbHVkZSA8d3RmL0xMVk1IZWFkZXJzLmg+CiAKIG5hbWVzcGFj
ZSBKU0MgeyBuYW1lc3BhY2UgRlRMIHsKIApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0
bC9GVExMb3dlckRGR1RvTExWTS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRD
b3JlL2Z0bC9GVExMb3dlckRGR1RvTExWTS5jcHAJKHJldmlzaW9uIDE1NzIwNCkKKysrIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMTG93ZXJERkdUb0xMVk0uY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC05MSw3ICs5MSw3IEBAIHB1YmxpYzoKICAgICAgICAgbV9ncmFwaC5tX2RvbWluYXRvcnMu
Y29tcHV0ZUlmTmVjZXNzYXJ5KG1fZ3JhcGgpOwogICAgICAgICAKICAgICAgICAgbV9mdGxTdGF0
ZS5tb2R1bGUgPQotICAgICAgICAgICAgTExWTU1vZHVsZUNyZWF0ZVdpdGhOYW1lSW5Db250ZXh0
KG5hbWUuZGF0YSgpLCBtX2Z0bFN0YXRlLmNvbnRleHQpOworICAgICAgICAgICAgbGx2bS0+TW9k
dWxlQ3JlYXRlV2l0aE5hbWVJbkNvbnRleHQobmFtZS5kYXRhKCksIG1fZnRsU3RhdGUuY29udGV4
dCk7CiAgICAgICAgIAogICAgICAgICBtX2Z0bFN0YXRlLmZ1bmN0aW9uID0gYWRkRnVuY3Rpb24o
CiAgICAgICAgICAgICBtX2Z0bFN0YXRlLm1vZHVsZSwgbmFtZS5kYXRhKCksIGZ1bmN0aW9uVHlw
ZShtX291dC5pbnQ2NCwgbV9vdXQuaW50UHRyKSk7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvZnRsL0ZUTE91dHB1dC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3Jl
L2Z0bC9GVExPdXRwdXQuY3BwCShyZXZpc2lvbiAxNTcyMDQpCisrKyBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvZnRsL0ZUTE91dHB1dC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM0LDcgKzM0LDcgQEAg
T3V0cHV0OjpPdXRwdXQoTENvbnRleHQgY29udGV4dCkKICAgICA6IEludHJpbnNpY1JlcG9zaXRv
cnkoY29udGV4dCkKICAgICAsIG1fZnVuY3Rpb24oMCkKICAgICAsIG1faGVhcHMoMCkKLSAgICAs
IG1fYnVpbGRlcihMTFZNQ3JlYXRlQnVpbGRlckluQ29udGV4dChtX2NvbnRleHQpKQorICAgICwg
bV9idWlsZGVyKGxsdm0tPkNyZWF0ZUJ1aWxkZXJJbkNvbnRleHQobV9jb250ZXh0KSkKICAgICAs
IG1fYmxvY2soMCkKICAgICAsIG1fbmV4dEJsb2NrKDApCiB7CkBAIC00Miw3ICs0Miw3IEBAIE91
dHB1dDo6T3V0cHV0KExDb250ZXh0IGNvbnRleHQpCiAKIE91dHB1dDo6fk91dHB1dCgpCiB7Ci0g
ICAgTExWTURpc3Bvc2VCdWlsZGVyKG1fYnVpbGRlcik7CisgICAgbGx2bS0+RGlzcG9zZUJ1aWxk
ZXIobV9idWlsZGVyKTsKIH0KIAogfSB9IC8vIG5hbWVzcGFjZSBKU0M6OkZUTApJbmRleDogU291
cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExPdXRwdXQuaAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvZnRsL0ZUTE91dHB1dC5oCShyZXZpc2lvbiAxNTcyMDQpCisrKyBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTE91dHB1dC5oCSh3b3JraW5nIGNvcHkpCkBAIC05NCw3
ICs5NCw3IEBAIHB1YmxpYzoKICAgICB7CiAgICAgICAgIG1fYmxvY2sgPSBibG9jazsKICAgICAg
ICAgCi0gICAgICAgIExMVk1Qb3NpdGlvbkJ1aWxkZXJBdEVuZChtX2J1aWxkZXIsIGJsb2NrKTsK
KyAgICAgICAgbGx2bS0+UG9zaXRpb25CdWlsZGVyQXRFbmQobV9idWlsZGVyLCBibG9jayk7CiAg
ICAgfQogICAgIExCYXNpY0Jsb2NrIG5ld0Jsb2NrKGNvbnN0IGNoYXIqIG5hbWUgPSAiIikKICAg
ICB7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTFN0YXRlLmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTFN0YXRlLmNwcAkocmV2aXNpb24g
MTU3MjA0KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExTdGF0ZS5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTM5LDcgKzM5LDcgQEAgdXNpbmcgbmFtZXNwYWNlIERGRzsKIAogU3RhdGU6
OlN0YXRlKEdyYXBoJiBncmFwaCkKICAgICA6IGdyYXBoKGdyYXBoKQotICAgICwgY29udGV4dChM
TFZNQ29udGV4dENyZWF0ZSgpKQorICAgICwgY29udGV4dChsbHZtLT5Db250ZXh0Q3JlYXRlKCkp
CiAgICAgLCBtb2R1bGUoMCkKICAgICAsIGZ1bmN0aW9uKDApCiAgICAgLCBnZW5lcmF0ZWRGdW5j
dGlvbigwKQpAQCAtNjcsNyArNjcsNyBAQCBTdGF0ZTo6U3RhdGUoR3JhcGgmIGdyYXBoKQogCiBT
dGF0ZTo6flN0YXRlKCkKIHsKLSAgICBMTFZNQ29udGV4dERpc3Bvc2UoY29udGV4dCk7CisgICAg
bGx2bS0+Q29udGV4dERpc3Bvc2UoY29udGV4dCk7CiB9CiAKIHZvaWQgU3RhdGU6OmR1bXBTdGF0
ZShjb25zdCBjaGFyKiB3aGVuKQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9XZWJL
aXRMTFZNTGlicmFyeUFuY2hvci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRD
b3JlL2Z0bC9XZWJLaXRMTFZNTGlicmFyeUFuY2hvci5jcHAJKHJldmlzaW9uIDE1NzIwNCkKKysr
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvV2ViS2l0TExWTUxpYnJhcnlBbmNob3IuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC0xLDM0ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTMg
QXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJp
Z2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQotICogRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBUSEUKLSAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVW
RU5UIFNIQUxMIEFQUExFIElOQy4gT1IKLSAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAotICogRVhFTVBMQVJZLCBP
UiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAot
ICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsIERBVEEsIE9SCi0gKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCi0gKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4g
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICog
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4gCi0gKi8KLQotI2luY2x1ZGUgImNvbmZpZy5oIgotCi0jaWYgRU5BQkxFKEZU
TF9KSVQpCi0vLyBUaGlzIGlzIGEgaGFjayBmb3IgZW5zdXJpbmcgdGhhdCB0aGUgYnVpbGQgc3lz
dGVtIHJlbGlua3MgSmF2YVNjcmlwdENvcmUgaWYgYW55Ci0vLyBvZiB0aGUgTExWTSBsaWJyYXJp
ZXMgYXJlIGtub3duIHRvIGhhdmUgY2hhbmdlZC4KLSNpbmNsdWRlICJXZWJLaXRMTFZNTGlicmFy
eVRva2VuLmgiCi0KLSNlbmRpZgotCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvbGx2bS9J
bml0aWFsaXplTExWTS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
dm0vSW5pdGlhbGl6ZUxMVk0uY3BwCShyZXZpc2lvbiAwKQorKysgU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsdm0vSW5pdGlhbGl6ZUxMVk0uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNDUg
QEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTMgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4g
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAg
ICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUg
ZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUg
SU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVS
UE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAq
IENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBP
UiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZ
CisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
IE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisgKi8KKworI2luY2x1
ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIkluaXRpYWxpemVMTFZNLmgiCisKKyNpZiBIQVZFKExM
Vk0pCisKKyNpbmNsdWRlIDx3dGYvVGhyZWFkaW5nLmg+CisKK25hbWVzcGFjZSBKU0MgeworCitz
dGF0aWMgcHRocmVhZF9vbmNlX3QgaW5pdGlhbGl6ZUxMVk1PbmNlS2V5ID0gUFRIUkVBRF9PTkNF
X0lOSVQ7CisKK3ZvaWQgaW5pdGlhbGl6ZUxMVk0oKQoreworICAgIHB0aHJlYWRfb25jZSgmaW5p
dGlhbGl6ZUxMVk1PbmNlS2V5LCBpbml0aWFsaXplTExWTUltcGwpOworfQorCit9IC8vIG5hbWVz
cGFjZSBKU0MKKworI2VuZGlmIC8vIEhBVkUoTExWTSkKKwpJbmRleDogU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsdm0vSW5pdGlhbGl6ZUxMVk0uaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGx2bS9Jbml0aWFsaXplTExWTS5oCShyZXZpc2lvbiAwKQorKysgU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsdm0vSW5pdGlhbGl6ZUxMVk0uaAkod29ya2luZyBjb3B5KQpAQCAtMCww
ICsxLDQ0IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEzIEFwcGxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoK
KyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIK
KyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMu
IE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJP
RklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
IFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorICovCisK
KyNpZm5kZWYgSW5pdGlhbGl6ZUxMVk1faAorI2RlZmluZSBJbml0aWFsaXplTExWTV9oCisKKyNp
bmNsdWRlIDx3dGYvUGxhdGZvcm0uaD4KKworI2lmIEhBVkUoTExWTSkKKworbmFtZXNwYWNlIEpT
QyB7CisKK3ZvaWQgaW5pdGlhbGl6ZUxMVk1JbXBsKCk7CisKK3ZvaWQgaW5pdGlhbGl6ZUxMVk0o
KTsgLy8gSXQncyBzYWZlIHRvIGNhbGwgdGhpcyBtdWx0aXBsZSB0aW1lcy4KKworfSAvLyBuYW1l
c3BhY2UgSlNDCisKKyNlbmRpZiAvLyBIQVZFKExMVk0pCisKKyNlbmRpZiAvLyBJbml0aWFsaXpl
TExWTV9oCisKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbHZtL0luaXRpYWxpemVMTFZN
TWFjLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbHZtL0luaXRpYWxp
emVMTFZNTWFjLm1tCShyZXZpc2lvbiAwKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2xsdm0v
SW5pdGlhbGl6ZUxMVk1NYWMubW0JKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw1NSBAQAorLyoK
KyAqIENvcHlyaWdodCAoQykgMjAxMyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisg
KgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBg
QVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1F
UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFS
RSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJ
QlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQ
RUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lO
RVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9S
VAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKyAqLworCisjaW1wb3J0ICJjb25m
aWcuaCIKKyNpbXBvcnQgIkluaXRpYWxpemVMTFZNLmgiCisKKyNpZiBIQVZFKExMVk0pCisKKyNp
bXBvcnQgIkluaXRpYWxpemVMTFZNUE9TSVguaCIKKyNpbXBvcnQgPEZvdW5kYXRpb24vRm91bmRh
dGlvbi5oPgorCisvLyBVc2UgdGhlICJKUyIgcHJlZml4IHRvIG1ha2UgY2hlY2stZm9yLWluYXBw
cm9wcmlhdGUtb2JqYy1jbGFzcy1uYW1lcyBoYXBweS4gSQorLy8gdGhpbmsgdGhpcyBpcyBiZXR0
ZXIgdGhhbiBoYWNraW5nIHRoYXQgc2NyaXB0LgorCitAaW50ZXJmYWNlIEpTSmF2YVNjcmlwdENv
cmVCdW5kbGVGaW5kZXIgOiBOU09iamVjdAorQGVuZAorCitAaW1wbGVtZW50YXRpb24gSlNKYXZh
U2NyaXB0Q29yZUJ1bmRsZUZpbmRlcgorQGVuZAorCituYW1lc3BhY2UgSlNDIHsKKwordm9pZCBp
bml0aWFsaXplTExWTUltcGwoKQoreworICAgIE5TQnVuZGxlICpteUJ1bmRsZSA9IFtOU0J1bmRs
ZSBidW5kbGVGb3JDbGFzczpbSlNKYXZhU2NyaXB0Q29yZUJ1bmRsZUZpbmRlciBjbGFzc11dOwor
ICAgIE5TU3RyaW5nICpwYXRoID0gW1tteUJ1bmRsZSBidW5kbGVQYXRoXSBzdHJpbmdCeUFwcGVu
ZGluZ1BhdGhDb21wb25lbnQ6QCJMaWJyYXJpZXMvbGlibGx2bUZvckpTQy5keWxpYiJdOworICAg
IAorICAgIGluaXRpYWxpemVMTFZNUE9TSVgoW3BhdGggVVRGOFN0cmluZ10pOworfQorCit9IC8v
IG5hbWVzcGFjZSBKU0MKKworI2VuZGlmIC8vIEhBVkUoTExWTSkKSW5kZXg6IFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbHZtL0luaXRpYWxpemVMTFZNUE9TSVguY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbHZtL0luaXRpYWxpemVMTFZNUE9TSVguY3BwCShyZXZpc2lv
biAwKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2xsdm0vSW5pdGlhbGl6ZUxMVk1QT1NJWC5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw1MyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykg
MjAxMyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cisg
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4g
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisg
KiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4g
Tk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExB
UlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
CisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLiAKKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAi
SW5pdGlhbGl6ZUxMVk1QT1NJWC5oIgorCisjaWYgSEFWRShMTFZNKQorCisjaW5jbHVkZSAiTExW
TUFQSS5oIgorI2luY2x1ZGUgPGRsZmNuLmg+CisKK25hbWVzcGFjZSBKU0MgeworCit0eXBlZGVm
IExMVk1BUEkqICgqSW5pdGlhbGl6ZXJGdW5jdGlvbikoKTsKKwordm9pZCBpbml0aWFsaXplTExW
TVBPU0lYKGNvbnN0IGNoYXIqIGxpYnJhcnlOYW1lKQoreworICAgIHZvaWQqIGxpYnJhcnkgPSBk
bG9wZW4obGlicmFyeU5hbWUsIFJUTERfTk9XKTsKKyAgICBBU1NFUlRfV0lUSF9NRVNTQUdFKGxp
YnJhcnksICIlcyIsIGRsZXJyb3IoKSk7CisgICAgCisgICAgSW5pdGlhbGl6ZXJGdW5jdGlvbiBp
bml0aWFsaXplciA9IGJpdHdpc2VfY2FzdDxJbml0aWFsaXplckZ1bmN0aW9uPigKKyAgICAgICAg
ZGxzeW0obGlicmFyeSwgImluaXRpYWxpemVBbmRHZXRKU0NMTFZNQVBJIikpOworICAgIEFTU0VS
VF9XSVRIX01FU1NBR0UoaW5pdGlhbGl6ZXIsICIlcyIsIGRsZXJyb3IoKSk7CisgICAgCisgICAg
bGx2bSA9IGluaXRpYWxpemVyKCk7Cit9CisKK30gLy8gbmFtZXNwYWNlIEpTQworCisjZW5kaWYg
Ly8gSEFWRShMTFZNKQorCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvbGx2bS9Jbml0aWFs
aXplTExWTVBPU0lYLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2xsdm0v
SW5pdGlhbGl6ZUxMVk1QT1NJWC5oCShyZXZpc2lvbiAwKQorKysgU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsdm0vSW5pdGlhbGl6ZUxMVk1QT1NJWC5oCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEs
NDIgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTMgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICog
MS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisg
KiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQ
TEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICog
UFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IK
KyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRT
OyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhF
T1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisgKi8KKworI2lm
bmRlZiBJbml0aWFsaXplTExWTVBPU0lYX2gKKyNkZWZpbmUgSW5pdGlhbGl6ZUxMVk1QT1NJWF9o
CisKKyNpbmNsdWRlIDx3dGYvUGxhdGZvcm0uaD4KKworI2lmIEhBVkUoTExWTSkKKworbmFtZXNw
YWNlIEpTQyB7CisKK3ZvaWQgaW5pdGlhbGl6ZUxMVk1QT1NJWChjb25zdCBjaGFyKiBsaWJyYXJ5
TmFtZSk7CisKK30gLy8gbmFtZXNwYWNlIEpTQworCisjZW5kaWYgLy8gSEFWRShMTFZNKQorCisj
ZW5kaWYgLy8gSW5pdGlhbGl6ZUxMVk1QT1NJWF9oCisKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbHZtL0xMVk1BUEkuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbHZtL0xMVk1BUEkuY3BwCShyZXZpc2lvbiAwKQorKysgU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsdm0vTExWTUFQSS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzNCBAQAorLyoKKyAq
IENvcHlyaWdodCAoQykgMjAxMyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgor
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp
b24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMg
SVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVU
T1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJ
QUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNT
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAor
ICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0Yg
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKyAqLworCisjaW5jbHVkZSAiY29uZmln
LmgiCisjaW5jbHVkZSAiTExWTUFQSS5oIgorCituYW1lc3BhY2UgSlNDIHsKKworTExWTUFQSSog
bGx2bTsKKworfQorCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvbGx2bS9MTFZNQVBJLmgK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2xsdm0vTExWTUFQSS5oCShyZXZp
c2lvbiAwKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2xsdm0vTExWTUFQSS5oCSh3b3JraW5n
IGNvcHkpCkBAIC0wLDAgKzEsNDYgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTMgQXBwbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
CisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBP
UiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUK
KyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9S
IEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNI
QUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJP
Q1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERB
VEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4gCisgKi8KKworI2lmbmRlZiBMTFZNQVBJX2gKKyNkZWZpbmUgTExWTUFQSV9oCisKKyNp
bmNsdWRlICJMTFZNQVBJRnVuY3Rpb25zLmgiCisjaW5jbHVkZSAiTExWTUhlYWRlcnMuaCIKKwor
bmFtZXNwYWNlIEpTQyB7CisKK3N0cnVjdCBMTFZNQVBJIHsKKyNkZWZpbmUgTExWTV9BUElfRlVO
Q1RJT05fREVDTEFSQVRJT04ocmV0dXJuVHlwZSwgbmFtZSwgc2lnbmF0dXJlKSBcCisgICAgcmV0
dXJuVHlwZSAoKm5hbWUpIHNpZ25hdHVyZTsKKyAgICBGT1JfRUFDSF9MTFZNX0FQSV9GVU5DVElP
TihMTFZNX0FQSV9GVU5DVElPTl9ERUNMQVJBVElPTikKKyN1bmRlZiBMTFZNX0FQSV9GVU5DVElP
Tl9ERUNMQVJBVElPTgorfTsKKworZXh0ZXJuIExMVk1BUEkqIGxsdm07CisKK30gLy8gbmFtZXNw
YWNlIEpTQworCisjZW5kaWYgLy8gTExWTUFQSV9oCisKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbHZtL0xMVk1BUElGdW5jdGlvbnMuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGx2bS9MTFZNQVBJRnVuY3Rpb25zLmgJKHJldmlzaW9uIDApCisrKyBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGx2bS9MTFZNQVBJRnVuY3Rpb25zLmgJKHdvcmtpbmcgY29weSkKQEAg
LTAsMCArMSw2MzYgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTMgQXBwbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUg
bWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElD
VUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExF
IElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQg
T0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisg
KiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisg
Ki8KKworI2lmbmRlZiBMTFZNQVBJRnVuY3Rpb25zX2gKKyNkZWZpbmUgTExWTUFQSUZ1bmN0aW9u
c19oCisKKyNpbmNsdWRlICJMTFZNSGVhZGVycy5oIgorCisjZGVmaW5lIEZPUl9FQUNIX0xMVk1f
QVBJX0ZVTkNUSU9OKG1hY3JvKSBcCisgICAgbWFjcm8odm9pZCwgSW5pdGlhbGl6ZUNvcmUsIChM
TFZNUGFzc1JlZ2lzdHJ5UmVmIFIpKSBcCisgICAgbWFjcm8odm9pZCwgU2h1dGRvd24sICgpKSBc
CisgICAgbWFjcm8oY2hhciAqLCBDcmVhdGVNZXNzYWdlLCAoY29uc3QgY2hhciAqTWVzc2FnZSkp
IFwKKyAgICBtYWNybyh2b2lkLCBEaXNwb3NlTWVzc2FnZSwgKGNoYXIgKk1lc3NhZ2UpKSBcCisg
ICAgbWFjcm8oTExWTUNvbnRleHRSZWYsIENvbnRleHRDcmVhdGUsICh2b2lkKSkgXAorICAgIG1h
Y3JvKExMVk1Db250ZXh0UmVmLCBHZXRHbG9iYWxDb250ZXh0LCAodm9pZCkpIFwKKyAgICBtYWNy
byh2b2lkLCBDb250ZXh0RGlzcG9zZSwgKExMVk1Db250ZXh0UmVmIEMpKSBcCisgICAgbWFjcm8o
dW5zaWduZWQsIEdldE1ES2luZElESW5Db250ZXh0LCAoTExWTUNvbnRleHRSZWYgQywgY29uc3Qg
Y2hhciogTmFtZSwgdW5zaWduZWQgU0xlbikpIFwKKyAgICBtYWNybyh1bnNpZ25lZCwgR2V0TURL
aW5kSUQsIChjb25zdCBjaGFyKiBOYW1lLCB1bnNpZ25lZCBTTGVuKSkgXAorICAgIG1hY3JvKExM
Vk1Nb2R1bGVSZWYsIE1vZHVsZUNyZWF0ZVdpdGhOYW1lLCAoY29uc3QgY2hhciAqTW9kdWxlSUQp
KSBcCisgICAgbWFjcm8oTExWTU1vZHVsZVJlZiwgTW9kdWxlQ3JlYXRlV2l0aE5hbWVJbkNvbnRl
eHQsIChjb25zdCBjaGFyICpNb2R1bGVJRCwgTExWTUNvbnRleHRSZWYgQykpIFwKKyAgICBtYWNy
byh2b2lkLCBEaXNwb3NlTW9kdWxlLCAoTExWTU1vZHVsZVJlZiBNKSkgXAorICAgIG1hY3JvKGNv
bnN0IGNoYXIgKiwgR2V0RGF0YUxheW91dCwgKExMVk1Nb2R1bGVSZWYgTSkpIFwKKyAgICBtYWNy
byh2b2lkLCBTZXREYXRhTGF5b3V0LCAoTExWTU1vZHVsZVJlZiBNLCBjb25zdCBjaGFyICpUcmlw
bGUpKSBcCisgICAgbWFjcm8oY29uc3QgY2hhciAqLCBHZXRUYXJnZXQsIChMTFZNTW9kdWxlUmVm
IE0pKSBcCisgICAgbWFjcm8odm9pZCwgU2V0VGFyZ2V0LCAoTExWTU1vZHVsZVJlZiBNLCBjb25z
dCBjaGFyICpUcmlwbGUpKSBcCisgICAgbWFjcm8odm9pZCwgRHVtcE1vZHVsZSwgKExMVk1Nb2R1
bGVSZWYgTSkpIFwKKyAgICBtYWNybyhMTFZNQm9vbCwgUHJpbnRNb2R1bGVUb0ZpbGUsIChMTFZN
TW9kdWxlUmVmIE0sIGNvbnN0IGNoYXIgKkZpbGVuYW1lLCBjaGFyICoqRXJyb3JNZXNzYWdlKSkg
XAorICAgIG1hY3JvKHZvaWQsIFNldE1vZHVsZUlubGluZUFzbSwgKExMVk1Nb2R1bGVSZWYgTSwg
Y29uc3QgY2hhciAqQXNtKSkgXAorICAgIG1hY3JvKExMVk1Db250ZXh0UmVmLCBHZXRNb2R1bGVD
b250ZXh0LCAoTExWTU1vZHVsZVJlZiBNKSkgXAorICAgIG1hY3JvKExMVk1UeXBlUmVmLCBHZXRU
eXBlQnlOYW1lLCAoTExWTU1vZHVsZVJlZiBNLCBjb25zdCBjaGFyICpOYW1lKSkgXAorICAgIG1h
Y3JvKHVuc2lnbmVkLCBHZXROYW1lZE1ldGFkYXRhTnVtT3BlcmFuZHMsIChMTFZNTW9kdWxlUmVm
IE0sIGNvbnN0IGNoYXIqIG5hbWUpKSBcCisgICAgbWFjcm8odm9pZCwgR2V0TmFtZWRNZXRhZGF0
YU9wZXJhbmRzLCAoTExWTU1vZHVsZVJlZiBNLCBjb25zdCBjaGFyKiBuYW1lLCBMTFZNVmFsdWVS
ZWYgKkRlc3QpKSBcCisgICAgbWFjcm8odm9pZCwgQWRkTmFtZWRNZXRhZGF0YU9wZXJhbmQsIChM
TFZNTW9kdWxlUmVmIE0sIGNvbnN0IGNoYXIqIG5hbWUsIExMVk1WYWx1ZVJlZiBWYWwpKSBcCisg
ICAgbWFjcm8oTExWTVZhbHVlUmVmLCBBZGRGdW5jdGlvbiwgKExMVk1Nb2R1bGVSZWYgTSwgY29u
c3QgY2hhciAqTmFtZSwgTExWTVR5cGVSZWYgRnVuY3Rpb25UeSkpIFwKKyAgICBtYWNybyhMTFZN
VmFsdWVSZWYsIEdldE5hbWVkRnVuY3Rpb24sIChMTFZNTW9kdWxlUmVmIE0sIGNvbnN0IGNoYXIg
Kk5hbWUpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBHZXRGaXJzdEZ1bmN0aW9uLCAoTExW
TU1vZHVsZVJlZiBNKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgR2V0TGFzdEZ1bmN0aW9u
LCAoTExWTU1vZHVsZVJlZiBNKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgR2V0TmV4dEZ1
bmN0aW9uLCAoTExWTVZhbHVlUmVmIEZuKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgR2V0
UHJldmlvdXNGdW5jdGlvbiwgKExMVk1WYWx1ZVJlZiBGbikpIFwKKyAgICBtYWNybyhMTFZNVHlw
ZUtpbmQsIEdldFR5cGVLaW5kLCAoTExWTVR5cGVSZWYgVHkpKSBcCisgICAgbWFjcm8oTExWTUJv
b2wsIFR5cGVJc1NpemVkLCAoTExWTVR5cGVSZWYgVHkpKSBcCisgICAgbWFjcm8oTExWTUNvbnRl
eHRSZWYsIEdldFR5cGVDb250ZXh0LCAoTExWTVR5cGVSZWYgVHkpKSBcCisgICAgbWFjcm8oTExW
TVR5cGVSZWYsIEludDFUeXBlSW5Db250ZXh0LCAoTExWTUNvbnRleHRSZWYgQykpIFwKKyAgICBt
YWNybyhMTFZNVHlwZVJlZiwgSW50OFR5cGVJbkNvbnRleHQsIChMTFZNQ29udGV4dFJlZiBDKSkg
XAorICAgIG1hY3JvKExMVk1UeXBlUmVmLCBJbnQxNlR5cGVJbkNvbnRleHQsIChMTFZNQ29udGV4
dFJlZiBDKSkgXAorICAgIG1hY3JvKExMVk1UeXBlUmVmLCBJbnQzMlR5cGVJbkNvbnRleHQsIChM
TFZNQ29udGV4dFJlZiBDKSkgXAorICAgIG1hY3JvKExMVk1UeXBlUmVmLCBJbnQ2NFR5cGVJbkNv
bnRleHQsIChMTFZNQ29udGV4dFJlZiBDKSkgXAorICAgIG1hY3JvKExMVk1UeXBlUmVmLCBJbnRU
eXBlSW5Db250ZXh0LCAoTExWTUNvbnRleHRSZWYgQywgdW5zaWduZWQgTnVtQml0cykpIFwKKyAg
ICBtYWNybyhMTFZNVHlwZVJlZiwgSW50MVR5cGUsICh2b2lkKSkgXAorICAgIG1hY3JvKExMVk1U
eXBlUmVmLCBJbnQ4VHlwZSwgKHZvaWQpKSBcCisgICAgbWFjcm8oTExWTVR5cGVSZWYsIEludDE2
VHlwZSwgKHZvaWQpKSBcCisgICAgbWFjcm8oTExWTVR5cGVSZWYsIEludDMyVHlwZSwgKHZvaWQp
KSBcCisgICAgbWFjcm8oTExWTVR5cGVSZWYsIEludDY0VHlwZSwgKHZvaWQpKSBcCisgICAgbWFj
cm8oTExWTVR5cGVSZWYsIEludFR5cGUsICh1bnNpZ25lZCBOdW1CaXRzKSkgXAorICAgIG1hY3Jv
KHVuc2lnbmVkLCBHZXRJbnRUeXBlV2lkdGgsIChMTFZNVHlwZVJlZiBJbnRlZ2VyVHkpKSBcCisg
ICAgbWFjcm8oTExWTVR5cGVSZWYsIEhhbGZUeXBlSW5Db250ZXh0LCAoTExWTUNvbnRleHRSZWYg
QykpIFwKKyAgICBtYWNybyhMTFZNVHlwZVJlZiwgRmxvYXRUeXBlSW5Db250ZXh0LCAoTExWTUNv
bnRleHRSZWYgQykpIFwKKyAgICBtYWNybyhMTFZNVHlwZVJlZiwgRG91YmxlVHlwZUluQ29udGV4
dCwgKExMVk1Db250ZXh0UmVmIEMpKSBcCisgICAgbWFjcm8oTExWTVR5cGVSZWYsIFg4NkZQODBU
eXBlSW5Db250ZXh0LCAoTExWTUNvbnRleHRSZWYgQykpIFwKKyAgICBtYWNybyhMTFZNVHlwZVJl
ZiwgRlAxMjhUeXBlSW5Db250ZXh0LCAoTExWTUNvbnRleHRSZWYgQykpIFwKKyAgICBtYWNybyhM
TFZNVHlwZVJlZiwgUFBDRlAxMjhUeXBlSW5Db250ZXh0LCAoTExWTUNvbnRleHRSZWYgQykpIFwK
KyAgICBtYWNybyhMTFZNVHlwZVJlZiwgSGFsZlR5cGUsICh2b2lkKSkgXAorICAgIG1hY3JvKExM
Vk1UeXBlUmVmLCBGbG9hdFR5cGUsICh2b2lkKSkgXAorICAgIG1hY3JvKExMVk1UeXBlUmVmLCBE
b3VibGVUeXBlLCAodm9pZCkpIFwKKyAgICBtYWNybyhMTFZNVHlwZVJlZiwgWDg2RlA4MFR5cGUs
ICh2b2lkKSkgXAorICAgIG1hY3JvKExMVk1UeXBlUmVmLCBGUDEyOFR5cGUsICh2b2lkKSkgXAor
ICAgIG1hY3JvKExMVk1UeXBlUmVmLCBQUENGUDEyOFR5cGUsICh2b2lkKSkgXAorICAgIG1hY3Jv
KExMVk1UeXBlUmVmLCBGdW5jdGlvblR5cGUsIChMTFZNVHlwZVJlZiBSZXR1cm5UeXBlLCBMTFZN
VHlwZVJlZiAqUGFyYW1UeXBlcywgdW5zaWduZWQgUGFyYW1Db3VudCwgTExWTUJvb2wgSXNWYXJB
cmcpKSBcCisgICAgbWFjcm8oTExWTUJvb2wsIElzRnVuY3Rpb25WYXJBcmcsIChMTFZNVHlwZVJl
ZiBGdW5jdGlvblR5KSkgXAorICAgIG1hY3JvKExMVk1UeXBlUmVmLCBHZXRSZXR1cm5UeXBlLCAo
TExWTVR5cGVSZWYgRnVuY3Rpb25UeSkpIFwKKyAgICBtYWNybyh1bnNpZ25lZCwgQ291bnRQYXJh
bVR5cGVzLCAoTExWTVR5cGVSZWYgRnVuY3Rpb25UeSkpIFwKKyAgICBtYWNybyh2b2lkLCBHZXRQ
YXJhbVR5cGVzLCAoTExWTVR5cGVSZWYgRnVuY3Rpb25UeSwgTExWTVR5cGVSZWYgKkRlc3QpKSBc
CisgICAgbWFjcm8oTExWTVR5cGVSZWYsIFN0cnVjdFR5cGVJbkNvbnRleHQsIChMTFZNQ29udGV4
dFJlZiBDLCBMTFZNVHlwZVJlZiAqRWxlbWVudFR5cGVzLCB1bnNpZ25lZCBFbGVtZW50Q291bnQs
IExMVk1Cb29sIFBhY2tlZCkpIFwKKyAgICBtYWNybyhMTFZNVHlwZVJlZiwgU3RydWN0VHlwZSwg
KExMVk1UeXBlUmVmICpFbGVtZW50VHlwZXMsIHVuc2lnbmVkIEVsZW1lbnRDb3VudCwgTExWTUJv
b2wgUGFja2VkKSkgXAorICAgIG1hY3JvKExMVk1UeXBlUmVmLCBTdHJ1Y3RDcmVhdGVOYW1lZCwg
KExMVk1Db250ZXh0UmVmIEMsIGNvbnN0IGNoYXIgKk5hbWUpKSBcCisgICAgbWFjcm8oY29uc3Qg
Y2hhciAqLCBHZXRTdHJ1Y3ROYW1lLCAoTExWTVR5cGVSZWYgVHkpKSBcCisgICAgbWFjcm8odm9p
ZCwgU3RydWN0U2V0Qm9keSwgKExMVk1UeXBlUmVmIFN0cnVjdFR5LCBMTFZNVHlwZVJlZiAqRWxl
bWVudFR5cGVzLCB1bnNpZ25lZCBFbGVtZW50Q291bnQsIExMVk1Cb29sIFBhY2tlZCkpIFwKKyAg
ICBtYWNybyh1bnNpZ25lZCwgQ291bnRTdHJ1Y3RFbGVtZW50VHlwZXMsIChMTFZNVHlwZVJlZiBT
dHJ1Y3RUeSkpIFwKKyAgICBtYWNybyh2b2lkLCBHZXRTdHJ1Y3RFbGVtZW50VHlwZXMsIChMTFZN
VHlwZVJlZiBTdHJ1Y3RUeSwgTExWTVR5cGVSZWYgKkRlc3QpKSBcCisgICAgbWFjcm8oTExWTUJv
b2wsIElzUGFja2VkU3RydWN0LCAoTExWTVR5cGVSZWYgU3RydWN0VHkpKSBcCisgICAgbWFjcm8o
TExWTUJvb2wsIElzT3BhcXVlU3RydWN0LCAoTExWTVR5cGVSZWYgU3RydWN0VHkpKSBcCisgICAg
bWFjcm8oTExWTVR5cGVSZWYsIEdldEVsZW1lbnRUeXBlLCAoTExWTVR5cGVSZWYgVHkpKSBcCisg
ICAgbWFjcm8oTExWTVR5cGVSZWYsIEFycmF5VHlwZSwgKExMVk1UeXBlUmVmIEVsZW1lbnRUeXBl
LCB1bnNpZ25lZCBFbGVtZW50Q291bnQpKSBcCisgICAgbWFjcm8odW5zaWduZWQsIEdldEFycmF5
TGVuZ3RoLCAoTExWTVR5cGVSZWYgQXJyYXlUeSkpIFwKKyAgICBtYWNybyhMTFZNVHlwZVJlZiwg
UG9pbnRlclR5cGUsIChMTFZNVHlwZVJlZiBFbGVtZW50VHlwZSwgdW5zaWduZWQgQWRkcmVzc1Nw
YWNlKSkgXAorICAgIG1hY3JvKHVuc2lnbmVkLCBHZXRQb2ludGVyQWRkcmVzc1NwYWNlLCAoTExW
TVR5cGVSZWYgUG9pbnRlclR5KSkgXAorICAgIG1hY3JvKExMVk1UeXBlUmVmLCBWZWN0b3JUeXBl
LCAoTExWTVR5cGVSZWYgRWxlbWVudFR5cGUsIHVuc2lnbmVkIEVsZW1lbnRDb3VudCkpIFwKKyAg
ICBtYWNybyh1bnNpZ25lZCwgR2V0VmVjdG9yU2l6ZSwgKExMVk1UeXBlUmVmIFZlY3RvclR5KSkg
XAorICAgIG1hY3JvKExMVk1UeXBlUmVmLCBWb2lkVHlwZUluQ29udGV4dCwgKExMVk1Db250ZXh0
UmVmIEMpKSBcCisgICAgbWFjcm8oTExWTVR5cGVSZWYsIExhYmVsVHlwZUluQ29udGV4dCwgKExM
Vk1Db250ZXh0UmVmIEMpKSBcCisgICAgbWFjcm8oTExWTVR5cGVSZWYsIFg4Nk1NWFR5cGVJbkNv
bnRleHQsIChMTFZNQ29udGV4dFJlZiBDKSkgXAorICAgIG1hY3JvKExMVk1UeXBlUmVmLCBWb2lk
VHlwZSwgKHZvaWQpKSBcCisgICAgbWFjcm8oTExWTVR5cGVSZWYsIExhYmVsVHlwZSwgKHZvaWQp
KSBcCisgICAgbWFjcm8oTExWTVR5cGVSZWYsIFg4Nk1NWFR5cGUsICh2b2lkKSkgXAorICAgIG1h
Y3JvKExMVk1UeXBlUmVmLCBUeXBlT2YsIChMTFZNVmFsdWVSZWYgVmFsKSkgXAorICAgIG1hY3Jv
KGNvbnN0IGNoYXIgKiwgR2V0VmFsdWVOYW1lLCAoTExWTVZhbHVlUmVmIFZhbCkpIFwKKyAgICBt
YWNybyh2b2lkLCBTZXRWYWx1ZU5hbWUsIChMTFZNVmFsdWVSZWYgVmFsLCBjb25zdCBjaGFyICpO
YW1lKSkgXAorICAgIG1hY3JvKHZvaWQsIER1bXBWYWx1ZSwgKExMVk1WYWx1ZVJlZiBWYWwpKSBc
CisgICAgbWFjcm8odm9pZCwgUmVwbGFjZUFsbFVzZXNXaXRoLCAoTExWTVZhbHVlUmVmIE9sZFZh
bCwgTExWTVZhbHVlUmVmIE5ld1ZhbCkpIFwKKyAgICBtYWNybyhMTFZNQm9vbCwgSXNDb25zdGFu
dCwgKExMVk1WYWx1ZVJlZiBWYWwpKSBcCisgICAgbWFjcm8oTExWTUJvb2wsIElzVW5kZWYsIChM
TFZNVmFsdWVSZWYgVmFsKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgSXNBQXJndW1lbnQs
IChMTFZNVmFsdWVSZWYgVmFsKSkgXAorICAgIG1hY3JvKCBMTFZNVmFsdWVSZWYsIElzQUJhc2lj
QmxvY2ssIChMTFZNVmFsdWVSZWYgVmFsKSkgXAorICAgIG1hY3JvKCBMTFZNVmFsdWVSZWYsIElz
QUlubGluZUFzbSwgKExMVk1WYWx1ZVJlZiBWYWwpKSBcCisgICAgbWFjcm8oIExMVk1WYWx1ZVJl
ZiwgSXNBTUROb2RlLCAoTExWTVZhbHVlUmVmIFZhbCkpIFwKKyAgICBtYWNybyggTExWTVZhbHVl
UmVmLCBJc0FNRFN0cmluZywgKExMVk1WYWx1ZVJlZiBWYWwpKSBcCisgICAgbWFjcm8oIExMVk1W
YWx1ZVJlZiwgSXNBVXNlciwgKExMVk1WYWx1ZVJlZiBWYWwpKSBcCisgICAgbWFjcm8oIExMVk1W
YWx1ZVJlZiwgSXNBQ29uc3RhbnQsIChMTFZNVmFsdWVSZWYgVmFsKSkgXAorICAgIG1hY3JvKCBM
TFZNVmFsdWVSZWYsIElzQUJsb2NrQWRkcmVzcywgKExMVk1WYWx1ZVJlZiBWYWwpKSBcCisgICAg
bWFjcm8oIExMVk1WYWx1ZVJlZiwgSXNBQ29uc3RhbnRBZ2dyZWdhdGVaZXJvLCAoTExWTVZhbHVl
UmVmIFZhbCkpIFwKKyAgICBtYWNybyggTExWTVZhbHVlUmVmLCBJc0FDb25zdGFudEFycmF5LCAo
TExWTVZhbHVlUmVmIFZhbCkpIFwKKyAgICBtYWNybyggTExWTVZhbHVlUmVmLCBJc0FDb25zdGFu
dEV4cHIsIChMTFZNVmFsdWVSZWYgVmFsKSkgXAorICAgIG1hY3JvKCBMTFZNVmFsdWVSZWYsIElz
QUNvbnN0YW50RlAsIChMTFZNVmFsdWVSZWYgVmFsKSkgXAorICAgIG1hY3JvKCBMTFZNVmFsdWVS
ZWYsIElzQUNvbnN0YW50SW50LCAoTExWTVZhbHVlUmVmIFZhbCkpIFwKKyAgICBtYWNybyggTExW
TVZhbHVlUmVmLCBJc0FDb25zdGFudFBvaW50ZXJOdWxsLCAoTExWTVZhbHVlUmVmIFZhbCkpIFwK
KyAgICBtYWNybyggTExWTVZhbHVlUmVmLCBJc0FDb25zdGFudFN0cnVjdCwgKExMVk1WYWx1ZVJl
ZiBWYWwpKSBcCisgICAgbWFjcm8oIExMVk1WYWx1ZVJlZiwgSXNBQ29uc3RhbnRWZWN0b3IsIChM
TFZNVmFsdWVSZWYgVmFsKSkgXAorICAgIG1hY3JvKCBMTFZNVmFsdWVSZWYsIElzQUdsb2JhbFZh
bHVlLCAoTExWTVZhbHVlUmVmIFZhbCkpIFwKKyAgICBtYWNybyggTExWTVZhbHVlUmVmLCBJc0FG
dW5jdGlvbiwgKExMVk1WYWx1ZVJlZiBWYWwpKSBcCisgICAgbWFjcm8oIExMVk1WYWx1ZVJlZiwg
SXNBR2xvYmFsQWxpYXMsIChMTFZNVmFsdWVSZWYgVmFsKSkgXAorICAgIG1hY3JvKCBMTFZNVmFs
dWVSZWYsIElzQUdsb2JhbFZhcmlhYmxlLCAoTExWTVZhbHVlUmVmIFZhbCkpIFwKKyAgICBtYWNy
byggTExWTVZhbHVlUmVmLCBJc0FVbmRlZlZhbHVlLCAoTExWTVZhbHVlUmVmIFZhbCkpIFwKKyAg
ICBtYWNybyggTExWTVZhbHVlUmVmLCBJc0FJbnN0cnVjdGlvbiwgKExMVk1WYWx1ZVJlZiBWYWwp
KSBcCisgICAgbWFjcm8oIExMVk1WYWx1ZVJlZiwgSXNBQmluYXJ5T3BlcmF0b3IsIChMTFZNVmFs
dWVSZWYgVmFsKSkgXAorICAgIG1hY3JvKCBMTFZNVmFsdWVSZWYsIElzQUNhbGxJbnN0LCAoTExW
TVZhbHVlUmVmIFZhbCkpIFwKKyAgICBtYWNybyggTExWTVZhbHVlUmVmLCBJc0FJbnRyaW5zaWNJ
bnN0LCAoTExWTVZhbHVlUmVmIFZhbCkpIFwKKyAgICBtYWNybyggTExWTVZhbHVlUmVmLCBJc0FE
YmdJbmZvSW50cmluc2ljLCAoTExWTVZhbHVlUmVmIFZhbCkpIFwKKyAgICBtYWNybyggTExWTVZh
bHVlUmVmLCBJc0FEYmdEZWNsYXJlSW5zdCwgKExMVk1WYWx1ZVJlZiBWYWwpKSBcCisgICAgbWFj
cm8oIExMVk1WYWx1ZVJlZiwgSXNBTWVtSW50cmluc2ljLCAoTExWTVZhbHVlUmVmIFZhbCkpIFwK
KyAgICBtYWNybyggTExWTVZhbHVlUmVmLCBJc0FNZW1DcHlJbnN0LCAoTExWTVZhbHVlUmVmIFZh
bCkpIFwKKyAgICBtYWNybyggTExWTVZhbHVlUmVmLCBJc0FNZW1Nb3ZlSW5zdCwgKExMVk1WYWx1
ZVJlZiBWYWwpKSBcCisgICAgbWFjcm8oIExMVk1WYWx1ZVJlZiwgSXNBTWVtU2V0SW5zdCwgKExM
Vk1WYWx1ZVJlZiBWYWwpKSBcCisgICAgbWFjcm8oIExMVk1WYWx1ZVJlZiwgSXNBQ21wSW5zdCwg
KExMVk1WYWx1ZVJlZiBWYWwpKSBcCisgICAgbWFjcm8oIExMVk1WYWx1ZVJlZiwgSXNBRkNtcElu
c3QsIChMTFZNVmFsdWVSZWYgVmFsKSkgXAorICAgIG1hY3JvKCBMTFZNVmFsdWVSZWYsIElzQUlD
bXBJbnN0LCAoTExWTVZhbHVlUmVmIFZhbCkpIFwKKyAgICBtYWNybyggTExWTVZhbHVlUmVmLCBJ
c0FFeHRyYWN0RWxlbWVudEluc3QsIChMTFZNVmFsdWVSZWYgVmFsKSkgXAorICAgIG1hY3JvKCBM
TFZNVmFsdWVSZWYsIElzQUdldEVsZW1lbnRQdHJJbnN0LCAoTExWTVZhbHVlUmVmIFZhbCkpIFwK
KyAgICBtYWNybyggTExWTVZhbHVlUmVmLCBJc0FJbnNlcnRFbGVtZW50SW5zdCwgKExMVk1WYWx1
ZVJlZiBWYWwpKSBcCisgICAgbWFjcm8oIExMVk1WYWx1ZVJlZiwgSXNBSW5zZXJ0VmFsdWVJbnN0
LCAoTExWTVZhbHVlUmVmIFZhbCkpIFwKKyAgICBtYWNybyggTExWTVZhbHVlUmVmLCBJc0FMYW5k
aW5nUGFkSW5zdCwgKExMVk1WYWx1ZVJlZiBWYWwpKSBcCisgICAgbWFjcm8oIExMVk1WYWx1ZVJl
ZiwgSXNBUEhJTm9kZSwgKExMVk1WYWx1ZVJlZiBWYWwpKSBcCisgICAgbWFjcm8oIExMVk1WYWx1
ZVJlZiwgSXNBU2VsZWN0SW5zdCwgKExMVk1WYWx1ZVJlZiBWYWwpKSBcCisgICAgbWFjcm8oIExM
Vk1WYWx1ZVJlZiwgSXNBU2h1ZmZsZVZlY3Rvckluc3QsIChMTFZNVmFsdWVSZWYgVmFsKSkgXAor
ICAgIG1hY3JvKCBMTFZNVmFsdWVSZWYsIElzQVN0b3JlSW5zdCwgKExMVk1WYWx1ZVJlZiBWYWwp
KSBcCisgICAgbWFjcm8oIExMVk1WYWx1ZVJlZiwgSXNBVGVybWluYXRvckluc3QsIChMTFZNVmFs
dWVSZWYgVmFsKSkgXAorICAgIG1hY3JvKCBMTFZNVmFsdWVSZWYsIElzQUJyYW5jaEluc3QsIChM
TFZNVmFsdWVSZWYgVmFsKSkgXAorICAgIG1hY3JvKCBMTFZNVmFsdWVSZWYsIElzQUluZGlyZWN0
QnJJbnN0LCAoTExWTVZhbHVlUmVmIFZhbCkpIFwKKyAgICBtYWNybyggTExWTVZhbHVlUmVmLCBJ
c0FJbnZva2VJbnN0LCAoTExWTVZhbHVlUmVmIFZhbCkpIFwKKyAgICBtYWNybyggTExWTVZhbHVl
UmVmLCBJc0FSZXR1cm5JbnN0LCAoTExWTVZhbHVlUmVmIFZhbCkpIFwKKyAgICBtYWNybyggTExW
TVZhbHVlUmVmLCBJc0FTd2l0Y2hJbnN0LCAoTExWTVZhbHVlUmVmIFZhbCkpIFwKKyAgICBtYWNy
byggTExWTVZhbHVlUmVmLCBJc0FVbnJlYWNoYWJsZUluc3QsIChMTFZNVmFsdWVSZWYgVmFsKSkg
XAorICAgIG1hY3JvKCBMTFZNVmFsdWVSZWYsIElzQVJlc3VtZUluc3QsIChMTFZNVmFsdWVSZWYg
VmFsKSkgXAorICAgIG1hY3JvKCBMTFZNVmFsdWVSZWYsIElzQVVuYXJ5SW5zdHJ1Y3Rpb24sIChM
TFZNVmFsdWVSZWYgVmFsKSkgXAorICAgIG1hY3JvKCBMTFZNVmFsdWVSZWYsIElzQUFsbG9jYUlu
c3QsIChMTFZNVmFsdWVSZWYgVmFsKSkgXAorICAgIG1hY3JvKCBMTFZNVmFsdWVSZWYsIElzQUNh
c3RJbnN0LCAoTExWTVZhbHVlUmVmIFZhbCkpIFwKKyAgICBtYWNybyggTExWTVZhbHVlUmVmLCBJ
c0FCaXRDYXN0SW5zdCwgKExMVk1WYWx1ZVJlZiBWYWwpKSBcCisgICAgbWFjcm8oIExMVk1WYWx1
ZVJlZiwgSXNBRlBFeHRJbnN0LCAoTExWTVZhbHVlUmVmIFZhbCkpIFwKKyAgICBtYWNybyggTExW
TVZhbHVlUmVmLCBJc0FGUFRvU0lJbnN0LCAoTExWTVZhbHVlUmVmIFZhbCkpIFwKKyAgICBtYWNy
byggTExWTVZhbHVlUmVmLCBJc0FGUFRvVUlJbnN0LCAoTExWTVZhbHVlUmVmIFZhbCkpIFwKKyAg
ICBtYWNybyggTExWTVZhbHVlUmVmLCBJc0FGUFRydW5jSW5zdCwgKExMVk1WYWx1ZVJlZiBWYWwp
KSBcCisgICAgbWFjcm8oIExMVk1WYWx1ZVJlZiwgSXNBSW50VG9QdHJJbnN0LCAoTExWTVZhbHVl
UmVmIFZhbCkpIFwKKyAgICBtYWNybyggTExWTVZhbHVlUmVmLCBJc0FQdHJUb0ludEluc3QsIChM
TFZNVmFsdWVSZWYgVmFsKSkgXAorICAgIG1hY3JvKCBMTFZNVmFsdWVSZWYsIElzQVNFeHRJbnN0
LCAoTExWTVZhbHVlUmVmIFZhbCkpIFwKKyAgICBtYWNybyggTExWTVZhbHVlUmVmLCBJc0FTSVRv
RlBJbnN0LCAoTExWTVZhbHVlUmVmIFZhbCkpIFwKKyAgICBtYWNybyggTExWTVZhbHVlUmVmLCBJ
c0FUcnVuY0luc3QsIChMTFZNVmFsdWVSZWYgVmFsKSkgXAorICAgIG1hY3JvKCBMTFZNVmFsdWVS
ZWYsIElzQVVJVG9GUEluc3QsIChMTFZNVmFsdWVSZWYgVmFsKSkgXAorICAgIG1hY3JvKCBMTFZN
VmFsdWVSZWYsIElzQVpFeHRJbnN0LCAoTExWTVZhbHVlUmVmIFZhbCkpIFwKKyAgICBtYWNybygg
TExWTVZhbHVlUmVmLCBJc0FFeHRyYWN0VmFsdWVJbnN0LCAoTExWTVZhbHVlUmVmIFZhbCkpIFwK
KyAgICBtYWNybyggTExWTVZhbHVlUmVmLCBJc0FMb2FkSW5zdCwgKExMVk1WYWx1ZVJlZiBWYWwp
KSBcCisgICAgbWFjcm8oIExMVk1WYWx1ZVJlZiwgSXNBVkFBcmdJbnN0LCAoTExWTVZhbHVlUmVm
IFZhbCkpIFwKKyAgICBtYWNybyhMTFZNVXNlUmVmLCBHZXRGaXJzdFVzZSwgKExMVk1WYWx1ZVJl
ZiBWYWwpKSBcCisgICAgbWFjcm8oTExWTVVzZVJlZiwgR2V0TmV4dFVzZSwgKExMVk1Vc2VSZWYg
VSkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIEdldFVzZXIsIChMTFZNVXNlUmVmIFUpKSBc
CisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBHZXRVc2VkVmFsdWUsIChMTFZNVXNlUmVmIFUpKSBc
CisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBHZXRPcGVyYW5kLCAoTExWTVZhbHVlUmVmIFZhbCwg
dW5zaWduZWQgSW5kZXgpKSBcCisgICAgbWFjcm8odm9pZCwgU2V0T3BlcmFuZCwgKExMVk1WYWx1
ZVJlZiBVc2VyLCB1bnNpZ25lZCBJbmRleCwgTExWTVZhbHVlUmVmIFZhbCkpIFwKKyAgICBtYWNy
byhpbnQsIEdldE51bU9wZXJhbmRzLCAoTExWTVZhbHVlUmVmIFZhbCkpIFwKKyAgICBtYWNybyhM
TFZNVmFsdWVSZWYsIENvbnN0TnVsbCwgKExMVk1UeXBlUmVmIFR5KSkgXAorICAgIG1hY3JvKExM
Vk1WYWx1ZVJlZiwgQ29uc3RBbGxPbmVzLCAoTExWTVR5cGVSZWYgVHkpKSBcCisgICAgbWFjcm8o
TExWTVZhbHVlUmVmLCBHZXRVbmRlZiwgKExMVk1UeXBlUmVmIFR5KSkgXAorICAgIG1hY3JvKExM
Vk1Cb29sLCBJc051bGwsIChMTFZNVmFsdWVSZWYgVmFsKSkgXAorICAgIG1hY3JvKExMVk1WYWx1
ZVJlZiwgQ29uc3RQb2ludGVyTnVsbCwgKExMVk1UeXBlUmVmIFR5KSkgXAorICAgIG1hY3JvKExM
Vk1WYWx1ZVJlZiwgQ29uc3RJbnQsIChMTFZNVHlwZVJlZiBJbnRUeSwgdW5zaWduZWQgbG9uZyBs
b25nIE4sIExMVk1Cb29sIFNpZ25FeHRlbmQpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBD
b25zdEludE9mQXJiaXRyYXJ5UHJlY2lzaW9uLCAoTExWTVR5cGVSZWYgSW50VHksIHVuc2lnbmVk
IE51bVdvcmRzLCBjb25zdCB1aW50NjRfdCBXb3Jkc1tdKSkgXAorICAgIG1hY3JvKExMVk1WYWx1
ZVJlZiwgQ29uc3RJbnRPZlN0cmluZywgKExMVk1UeXBlUmVmIEludFR5LCBjb25zdCBjaGFyICpU
ZXh0LCB1aW50OF90IFJhZGl4KSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgQ29uc3RJbnRP
ZlN0cmluZ0FuZFNpemUsIChMTFZNVHlwZVJlZiBJbnRUeSwgY29uc3QgY2hhciAqVGV4dCwgdW5z
aWduZWQgU0xlbiwgdWludDhfdCBSYWRpeCkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIENv
bnN0UmVhbCwgKExMVk1UeXBlUmVmIFJlYWxUeSwgZG91YmxlIE4pKSBcCisgICAgbWFjcm8oTExW
TVZhbHVlUmVmLCBDb25zdFJlYWxPZlN0cmluZywgKExMVk1UeXBlUmVmIFJlYWxUeSwgY29uc3Qg
Y2hhciAqVGV4dCkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIENvbnN0UmVhbE9mU3RyaW5n
QW5kU2l6ZSwgKExMVk1UeXBlUmVmIFJlYWxUeSwgY29uc3QgY2hhciAqVGV4dCwgdW5zaWduZWQg
U0xlbikpIFwKKyAgICBtYWNybyh1bnNpZ25lZCBsb25nIGxvbmcsIENvbnN0SW50R2V0WkV4dFZh
bHVlLCAoTExWTVZhbHVlUmVmIENvbnN0YW50VmFsKSkgXAorICAgIG1hY3JvKGxvbmcgbG9uZywg
Q29uc3RJbnRHZXRTRXh0VmFsdWUsIChMTFZNVmFsdWVSZWYgQ29uc3RhbnRWYWwpKSBcCisgICAg
bWFjcm8oTExWTVZhbHVlUmVmLCBDb25zdFN0cmluZ0luQ29udGV4dCwgKExMVk1Db250ZXh0UmVm
IEMsIGNvbnN0IGNoYXIgKlN0ciwgdW5zaWduZWQgTGVuZ3RoLCBMTFZNQm9vbCBEb250TnVsbFRl
cm1pbmF0ZSkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIENvbnN0U3RyaW5nLCAoY29uc3Qg
Y2hhciAqU3RyLCB1bnNpZ25lZCBMZW5ndGgsIExMVk1Cb29sIERvbnROdWxsVGVybWluYXRlKSkg
XAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgQ29uc3RTdHJ1Y3RJbkNvbnRleHQsIChMTFZNQ29u
dGV4dFJlZiBDLCBMTFZNVmFsdWVSZWYgKkNvbnN0YW50VmFscywgdW5zaWduZWQgQ291bnQsIExM
Vk1Cb29sIFBhY2tlZCkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIENvbnN0U3RydWN0LCAo
TExWTVZhbHVlUmVmICpDb25zdGFudFZhbHMsIHVuc2lnbmVkIENvdW50LCBMTFZNQm9vbCBQYWNr
ZWQpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBDb25zdEFycmF5LCAoTExWTVR5cGVSZWYg
RWxlbWVudFR5LCBMTFZNVmFsdWVSZWYgKkNvbnN0YW50VmFscywgdW5zaWduZWQgTGVuZ3RoKSkg
XAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgQ29uc3ROYW1lZFN0cnVjdCwgKExMVk1UeXBlUmVm
IFN0cnVjdFR5LCBMTFZNVmFsdWVSZWYgKkNvbnN0YW50VmFscywgdW5zaWduZWQgQ291bnQpKSBc
CisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBDb25zdFZlY3RvciwgKExMVk1WYWx1ZVJlZiAqU2Nh
bGFyQ29uc3RhbnRWYWxzLCB1bnNpZ25lZCBTaXplKSkgXAorICAgIG1hY3JvKExMVk1PcGNvZGUs
IEdldENvbnN0T3Bjb2RlLCAoTExWTVZhbHVlUmVmIENvbnN0YW50VmFsKSkgXAorICAgIG1hY3Jv
KExMVk1WYWx1ZVJlZiwgQWxpZ25PZiwgKExMVk1UeXBlUmVmIFR5KSkgXAorICAgIG1hY3JvKExM
Vk1WYWx1ZVJlZiwgU2l6ZU9mLCAoTExWTVR5cGVSZWYgVHkpKSBcCisgICAgbWFjcm8oTExWTVZh
bHVlUmVmLCBDb25zdE5lZywgKExMVk1WYWx1ZVJlZiBDb25zdGFudFZhbCkpIFwKKyAgICBtYWNy
byhMTFZNVmFsdWVSZWYsIENvbnN0TlNXTmVnLCAoTExWTVZhbHVlUmVmIENvbnN0YW50VmFsKSkg
XAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgQ29uc3ROVVdOZWcsIChMTFZNVmFsdWVSZWYgQ29u
c3RhbnRWYWwpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBDb25zdEZOZWcsIChMTFZNVmFs
dWVSZWYgQ29uc3RhbnRWYWwpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBDb25zdE5vdCwg
KExMVk1WYWx1ZVJlZiBDb25zdGFudFZhbCkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIENv
bnN0QWRkLCAoTExWTVZhbHVlUmVmIExIU0NvbnN0YW50LCBMTFZNVmFsdWVSZWYgUkhTQ29uc3Rh
bnQpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBDb25zdE5TV0FkZCwgKExMVk1WYWx1ZVJl
ZiBMSFNDb25zdGFudCwgTExWTVZhbHVlUmVmIFJIU0NvbnN0YW50KSkgXAorICAgIG1hY3JvKExM
Vk1WYWx1ZVJlZiwgQ29uc3ROVVdBZGQsIChMTFZNVmFsdWVSZWYgTEhTQ29uc3RhbnQsIExMVk1W
YWx1ZVJlZiBSSFNDb25zdGFudCkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIENvbnN0RkFk
ZCwgKExMVk1WYWx1ZVJlZiBMSFNDb25zdGFudCwgTExWTVZhbHVlUmVmIFJIU0NvbnN0YW50KSkg
XAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgQ29uc3RTdWIsIChMTFZNVmFsdWVSZWYgTEhTQ29u
c3RhbnQsIExMVk1WYWx1ZVJlZiBSSFNDb25zdGFudCkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVS
ZWYsIENvbnN0TlNXU3ViLCAoTExWTVZhbHVlUmVmIExIU0NvbnN0YW50LCBMTFZNVmFsdWVSZWYg
UkhTQ29uc3RhbnQpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBDb25zdE5VV1N1YiwgKExM
Vk1WYWx1ZVJlZiBMSFNDb25zdGFudCwgTExWTVZhbHVlUmVmIFJIU0NvbnN0YW50KSkgXAorICAg
IG1hY3JvKExMVk1WYWx1ZVJlZiwgQ29uc3RGU3ViLCAoTExWTVZhbHVlUmVmIExIU0NvbnN0YW50
LCBMTFZNVmFsdWVSZWYgUkhTQ29uc3RhbnQpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBD
b25zdE11bCwgKExMVk1WYWx1ZVJlZiBMSFNDb25zdGFudCwgTExWTVZhbHVlUmVmIFJIU0NvbnN0
YW50KSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgQ29uc3ROU1dNdWwsIChMTFZNVmFsdWVS
ZWYgTEhTQ29uc3RhbnQsIExMVk1WYWx1ZVJlZiBSSFNDb25zdGFudCkpIFwKKyAgICBtYWNybyhM
TFZNVmFsdWVSZWYsIENvbnN0TlVXTXVsLCAoTExWTVZhbHVlUmVmIExIU0NvbnN0YW50LCBMTFZN
VmFsdWVSZWYgUkhTQ29uc3RhbnQpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBDb25zdEZN
dWwsIChMTFZNVmFsdWVSZWYgTEhTQ29uc3RhbnQsIExMVk1WYWx1ZVJlZiBSSFNDb25zdGFudCkp
IFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIENvbnN0VURpdiwgKExMVk1WYWx1ZVJlZiBMSFND
b25zdGFudCwgTExWTVZhbHVlUmVmIFJIU0NvbnN0YW50KSkgXAorICAgIG1hY3JvKExMVk1WYWx1
ZVJlZiwgQ29uc3RTRGl2LCAoTExWTVZhbHVlUmVmIExIU0NvbnN0YW50LCBMTFZNVmFsdWVSZWYg
UkhTQ29uc3RhbnQpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBDb25zdEV4YWN0U0Rpdiwg
KExMVk1WYWx1ZVJlZiBMSFNDb25zdGFudCwgTExWTVZhbHVlUmVmIFJIU0NvbnN0YW50KSkgXAor
ICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgQ29uc3RGRGl2LCAoTExWTVZhbHVlUmVmIExIU0NvbnN0
YW50LCBMTFZNVmFsdWVSZWYgUkhTQ29uc3RhbnQpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVm
LCBDb25zdFVSZW0sIChMTFZNVmFsdWVSZWYgTEhTQ29uc3RhbnQsIExMVk1WYWx1ZVJlZiBSSFND
b25zdGFudCkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIENvbnN0U1JlbSwgKExMVk1WYWx1
ZVJlZiBMSFNDb25zdGFudCwgTExWTVZhbHVlUmVmIFJIU0NvbnN0YW50KSkgXAorICAgIG1hY3Jv
KExMVk1WYWx1ZVJlZiwgQ29uc3RGUmVtLCAoTExWTVZhbHVlUmVmIExIU0NvbnN0YW50LCBMTFZN
VmFsdWVSZWYgUkhTQ29uc3RhbnQpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBDb25zdEFu
ZCwgKExMVk1WYWx1ZVJlZiBMSFNDb25zdGFudCwgTExWTVZhbHVlUmVmIFJIU0NvbnN0YW50KSkg
XAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgQ29uc3RPciwgKExMVk1WYWx1ZVJlZiBMSFNDb25z
dGFudCwgTExWTVZhbHVlUmVmIFJIU0NvbnN0YW50KSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJl
ZiwgQ29uc3RYb3IsIChMTFZNVmFsdWVSZWYgTEhTQ29uc3RhbnQsIExMVk1WYWx1ZVJlZiBSSFND
b25zdGFudCkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIENvbnN0SUNtcCwgKExMVk1JbnRQ
cmVkaWNhdGUgUHJlZGljYXRlLCBMTFZNVmFsdWVSZWYgTEhTQ29uc3RhbnQsIExMVk1WYWx1ZVJl
ZiBSSFNDb25zdGFudCkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIENvbnN0RkNtcCwgKExM
Vk1SZWFsUHJlZGljYXRlIFByZWRpY2F0ZSwgTExWTVZhbHVlUmVmIExIU0NvbnN0YW50LCBMTFZN
VmFsdWVSZWYgUkhTQ29uc3RhbnQpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBDb25zdFNo
bCwgKExMVk1WYWx1ZVJlZiBMSFNDb25zdGFudCwgTExWTVZhbHVlUmVmIFJIU0NvbnN0YW50KSkg
XAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgQ29uc3RMU2hyLCAoTExWTVZhbHVlUmVmIExIU0Nv
bnN0YW50LCBMTFZNVmFsdWVSZWYgUkhTQ29uc3RhbnQpKSBcCisgICAgbWFjcm8oTExWTVZhbHVl
UmVmLCBDb25zdEFTaHIsIChMTFZNVmFsdWVSZWYgTEhTQ29uc3RhbnQsIExMVk1WYWx1ZVJlZiBS
SFNDb25zdGFudCkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIENvbnN0R0VQLCAoTExWTVZh
bHVlUmVmIENvbnN0YW50VmFsLCBMTFZNVmFsdWVSZWYgKkNvbnN0YW50SW5kaWNlcywgdW5zaWdu
ZWQgTnVtSW5kaWNlcykpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIENvbnN0SW5Cb3VuZHNH
RVAsIChMTFZNVmFsdWVSZWYgQ29uc3RhbnRWYWwsIExMVk1WYWx1ZVJlZiAqQ29uc3RhbnRJbmRp
Y2VzLCB1bnNpZ25lZCBOdW1JbmRpY2VzKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgQ29u
c3RUcnVuYywgKExMVk1WYWx1ZVJlZiBDb25zdGFudFZhbCwgTExWTVR5cGVSZWYgVG9UeXBlKSkg
XAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgQ29uc3RTRXh0LCAoTExWTVZhbHVlUmVmIENvbnN0
YW50VmFsLCBMTFZNVHlwZVJlZiBUb1R5cGUpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBD
b25zdFpFeHQsIChMTFZNVmFsdWVSZWYgQ29uc3RhbnRWYWwsIExMVk1UeXBlUmVmIFRvVHlwZSkp
IFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIENvbnN0RlBUcnVuYywgKExMVk1WYWx1ZVJlZiBD
b25zdGFudFZhbCwgTExWTVR5cGVSZWYgVG9UeXBlKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJl
ZiwgQ29uc3RGUEV4dCwgKExMVk1WYWx1ZVJlZiBDb25zdGFudFZhbCwgTExWTVR5cGVSZWYgVG9U
eXBlKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgQ29uc3RVSVRvRlAsIChMTFZNVmFsdWVS
ZWYgQ29uc3RhbnRWYWwsIExMVk1UeXBlUmVmIFRvVHlwZSkpIFwKKyAgICBtYWNybyhMTFZNVmFs
dWVSZWYsIENvbnN0U0lUb0ZQLCAoTExWTVZhbHVlUmVmIENvbnN0YW50VmFsLCBMTFZNVHlwZVJl
ZiBUb1R5cGUpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBDb25zdEZQVG9VSSwgKExMVk1W
YWx1ZVJlZiBDb25zdGFudFZhbCwgTExWTVR5cGVSZWYgVG9UeXBlKSkgXAorICAgIG1hY3JvKExM
Vk1WYWx1ZVJlZiwgQ29uc3RGUFRvU0ksIChMTFZNVmFsdWVSZWYgQ29uc3RhbnRWYWwsIExMVk1U
eXBlUmVmIFRvVHlwZSkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIENvbnN0UHRyVG9JbnQs
IChMTFZNVmFsdWVSZWYgQ29uc3RhbnRWYWwsIExMVk1UeXBlUmVmIFRvVHlwZSkpIFwKKyAgICBt
YWNybyhMTFZNVmFsdWVSZWYsIENvbnN0SW50VG9QdHIsIChMTFZNVmFsdWVSZWYgQ29uc3RhbnRW
YWwsIExMVk1UeXBlUmVmIFRvVHlwZSkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIENvbnN0
Qml0Q2FzdCwgKExMVk1WYWx1ZVJlZiBDb25zdGFudFZhbCwgTExWTVR5cGVSZWYgVG9UeXBlKSkg
XAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgQ29uc3RaRXh0T3JCaXRDYXN0LCAoTExWTVZhbHVl
UmVmIENvbnN0YW50VmFsLCBMTFZNVHlwZVJlZiBUb1R5cGUpKSBcCisgICAgbWFjcm8oTExWTVZh
bHVlUmVmLCBDb25zdFNFeHRPckJpdENhc3QsIChMTFZNVmFsdWVSZWYgQ29uc3RhbnRWYWwsIExM
Vk1UeXBlUmVmIFRvVHlwZSkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIENvbnN0VHJ1bmNP
ckJpdENhc3QsIChMTFZNVmFsdWVSZWYgQ29uc3RhbnRWYWwsIExMVk1UeXBlUmVmIFRvVHlwZSkp
IFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIENvbnN0UG9pbnRlckNhc3QsIChMTFZNVmFsdWVS
ZWYgQ29uc3RhbnRWYWwsIExMVk1UeXBlUmVmIFRvVHlwZSkpIFwKKyAgICBtYWNybyhMTFZNVmFs
dWVSZWYsIENvbnN0SW50Q2FzdCwgKExMVk1WYWx1ZVJlZiBDb25zdGFudFZhbCwgTExWTVR5cGVS
ZWYgVG9UeXBlLCBMTFZNQm9vbCBpc1NpZ25lZCkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYs
IENvbnN0RlBDYXN0LCAoTExWTVZhbHVlUmVmIENvbnN0YW50VmFsLCBMTFZNVHlwZVJlZiBUb1R5
cGUpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBDb25zdFNlbGVjdCwgKExMVk1WYWx1ZVJl
ZiBDb25zdGFudENvbmRpdGlvbiwgTExWTVZhbHVlUmVmIENvbnN0YW50SWZUcnVlLCBMTFZNVmFs
dWVSZWYgQ29uc3RhbnRJZkZhbHNlKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgQ29uc3RF
eHRyYWN0RWxlbWVudCwgKExMVk1WYWx1ZVJlZiBWZWN0b3JDb25zdGFudCwgTExWTVZhbHVlUmVm
IEluZGV4Q29uc3RhbnQpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBDb25zdEluc2VydEVs
ZW1lbnQsIChMTFZNVmFsdWVSZWYgVmVjdG9yQ29uc3RhbnQsIExMVk1WYWx1ZVJlZiBFbGVtZW50
VmFsdWVDb25zdGFudCwgTExWTVZhbHVlUmVmIEluZGV4Q29uc3RhbnQpKSBcCisgICAgbWFjcm8o
TExWTVZhbHVlUmVmLCBDb25zdFNodWZmbGVWZWN0b3IsIChMTFZNVmFsdWVSZWYgVmVjdG9yQUNv
bnN0YW50LCBMTFZNVmFsdWVSZWYgVmVjdG9yQkNvbnN0YW50LCBMTFZNVmFsdWVSZWYgTWFza0Nv
bnN0YW50KSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgQ29uc3RFeHRyYWN0VmFsdWUsIChM
TFZNVmFsdWVSZWYgQWdnQ29uc3RhbnQsIHVuc2lnbmVkICpJZHhMaXN0LCB1bnNpZ25lZCBOdW1J
ZHgpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBDb25zdEluc2VydFZhbHVlLCAoTExWTVZh
bHVlUmVmIEFnZ0NvbnN0YW50LCBMTFZNVmFsdWVSZWYgRWxlbWVudFZhbHVlQ29uc3RhbnQsIHVu
c2lnbmVkICpJZHhMaXN0LCB1bnNpZ25lZCBOdW1JZHgpKSBcCisgICAgbWFjcm8oTExWTVZhbHVl
UmVmLCBDb25zdElubGluZUFzbSwgKExMVk1UeXBlUmVmIFR5LCBjb25zdCBjaGFyICpBc21TdHJp
bmcsIGNvbnN0IGNoYXIgKkNvbnN0cmFpbnRzLCBMTFZNQm9vbCBIYXNTaWRlRWZmZWN0cywgTExW
TUJvb2wgSXNBbGlnblN0YWNrKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgQmxvY2tBZGRy
ZXNzLCAoTExWTVZhbHVlUmVmIEYsIExMVk1CYXNpY0Jsb2NrUmVmIEJCKSkgXAorICAgIG1hY3Jv
KExMVk1Nb2R1bGVSZWYsIEdldEdsb2JhbFBhcmVudCwgKExMVk1WYWx1ZVJlZiBHbG9iYWwpKSBc
CisgICAgbWFjcm8oTExWTUJvb2wsIElzRGVjbGFyYXRpb24sIChMTFZNVmFsdWVSZWYgR2xvYmFs
KSkgXAorICAgIG1hY3JvKExMVk1MaW5rYWdlLCBHZXRMaW5rYWdlLCAoTExWTVZhbHVlUmVmIEds
b2JhbCkpIFwKKyAgICBtYWNybyh2b2lkLCBTZXRMaW5rYWdlLCAoTExWTVZhbHVlUmVmIEdsb2Jh
bCwgTExWTUxpbmthZ2UgTGlua2FnZSkpIFwKKyAgICBtYWNybyhjb25zdCBjaGFyICosIEdldFNl
Y3Rpb24sIChMTFZNVmFsdWVSZWYgR2xvYmFsKSkgXAorICAgIG1hY3JvKHZvaWQsIFNldFNlY3Rp
b24sIChMTFZNVmFsdWVSZWYgR2xvYmFsLCBjb25zdCBjaGFyICpTZWN0aW9uKSkgXAorICAgIG1h
Y3JvKExMVk1WaXNpYmlsaXR5LCBHZXRWaXNpYmlsaXR5LCAoTExWTVZhbHVlUmVmIEdsb2JhbCkp
IFwKKyAgICBtYWNybyh2b2lkLCBTZXRWaXNpYmlsaXR5LCAoTExWTVZhbHVlUmVmIEdsb2JhbCwg
TExWTVZpc2liaWxpdHkgVml6KSkgXAorICAgIG1hY3JvKHVuc2lnbmVkLCBHZXRBbGlnbm1lbnQs
IChMTFZNVmFsdWVSZWYgR2xvYmFsKSkgXAorICAgIG1hY3JvKHZvaWQsIFNldEFsaWdubWVudCwg
KExMVk1WYWx1ZVJlZiBHbG9iYWwsIHVuc2lnbmVkIEJ5dGVzKSkgXAorICAgIG1hY3JvKExMVk1W
YWx1ZVJlZiwgQWRkR2xvYmFsLCAoTExWTU1vZHVsZVJlZiBNLCBMTFZNVHlwZVJlZiBUeSwgY29u
c3QgY2hhciAqTmFtZSkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIEFkZEdsb2JhbEluQWRk
cmVzc1NwYWNlLCAoTExWTU1vZHVsZVJlZiBNLCBMTFZNVHlwZVJlZiBUeSwgY29uc3QgY2hhciAq
TmFtZSwgdW5zaWduZWQgQWRkcmVzc1NwYWNlKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwg
R2V0TmFtZWRHbG9iYWwsIChMTFZNTW9kdWxlUmVmIE0sIGNvbnN0IGNoYXIgKk5hbWUpKSBcCisg
ICAgbWFjcm8oTExWTVZhbHVlUmVmLCBHZXRGaXJzdEdsb2JhbCwgKExMVk1Nb2R1bGVSZWYgTSkp
IFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIEdldExhc3RHbG9iYWwsIChMTFZNTW9kdWxlUmVm
IE0pKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBHZXROZXh0R2xvYmFsLCAoTExWTVZhbHVl
UmVmIEdsb2JhbFZhcikpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIEdldFByZXZpb3VzR2xv
YmFsLCAoTExWTVZhbHVlUmVmIEdsb2JhbFZhcikpIFwKKyAgICBtYWNybyh2b2lkLCBEZWxldGVH
bG9iYWwsIChMTFZNVmFsdWVSZWYgR2xvYmFsVmFyKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJl
ZiwgR2V0SW5pdGlhbGl6ZXIsIChMTFZNVmFsdWVSZWYgR2xvYmFsVmFyKSkgXAorICAgIG1hY3Jv
KHZvaWQsIFNldEluaXRpYWxpemVyLCAoTExWTVZhbHVlUmVmIEdsb2JhbFZhciwgTExWTVZhbHVl
UmVmIENvbnN0YW50VmFsKSkgXAorICAgIG1hY3JvKExMVk1Cb29sLCBJc1RocmVhZExvY2FsLCAo
TExWTVZhbHVlUmVmIEdsb2JhbFZhcikpIFwKKyAgICBtYWNybyh2b2lkLCBTZXRUaHJlYWRMb2Nh
bCwgKExMVk1WYWx1ZVJlZiBHbG9iYWxWYXIsIExMVk1Cb29sIElzVGhyZWFkTG9jYWwpKSBcCisg
ICAgbWFjcm8oTExWTUJvb2wsIElzR2xvYmFsQ29uc3RhbnQsIChMTFZNVmFsdWVSZWYgR2xvYmFs
VmFyKSkgXAorICAgIG1hY3JvKHZvaWQsIFNldEdsb2JhbENvbnN0YW50LCAoTExWTVZhbHVlUmVm
IEdsb2JhbFZhciwgTExWTUJvb2wgSXNDb25zdGFudCkpIFwKKyAgICBtYWNybyhMTFZNVGhyZWFk
TG9jYWxNb2RlLCBHZXRUaHJlYWRMb2NhbE1vZGUsIChMTFZNVmFsdWVSZWYgR2xvYmFsVmFyKSkg
XAorICAgIG1hY3JvKHZvaWQsIFNldFRocmVhZExvY2FsTW9kZSwgKExMVk1WYWx1ZVJlZiBHbG9i
YWxWYXIsIExMVk1UaHJlYWRMb2NhbE1vZGUgTW9kZSkpIFwKKyAgICBtYWNybyhMTFZNQm9vbCwg
SXNFeHRlcm5hbGx5SW5pdGlhbGl6ZWQsIChMTFZNVmFsdWVSZWYgR2xvYmFsVmFyKSkgXAorICAg
IG1hY3JvKHZvaWQsIFNldEV4dGVybmFsbHlJbml0aWFsaXplZCwgKExMVk1WYWx1ZVJlZiBHbG9i
YWxWYXIsIExMVk1Cb29sIElzRXh0SW5pdCkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIEFk
ZEFsaWFzLCAoTExWTU1vZHVsZVJlZiBNLCBMTFZNVHlwZVJlZiBUeSwgTExWTVZhbHVlUmVmIEFs
aWFzZWUsIGNvbnN0IGNoYXIgKk5hbWUpKSBcCisgICAgbWFjcm8odm9pZCwgRGVsZXRlRnVuY3Rp
b24sIChMTFZNVmFsdWVSZWYgRm4pKSBcCisgICAgbWFjcm8odW5zaWduZWQsIEdldEludHJpbnNp
Y0lELCAoTExWTVZhbHVlUmVmIEZuKSkgXAorICAgIG1hY3JvKHVuc2lnbmVkLCBHZXRGdW5jdGlv
bkNhbGxDb252LCAoTExWTVZhbHVlUmVmIEZuKSkgXAorICAgIG1hY3JvKHZvaWQsIFNldEZ1bmN0
aW9uQ2FsbENvbnYsIChMTFZNVmFsdWVSZWYgRm4sIHVuc2lnbmVkIENDKSkgXAorICAgIG1hY3Jv
KGNvbnN0IGNoYXIgKiwgR2V0R0MsIChMTFZNVmFsdWVSZWYgRm4pKSBcCisgICAgbWFjcm8odm9p
ZCwgU2V0R0MsIChMTFZNVmFsdWVSZWYgRm4sIGNvbnN0IGNoYXIgKk5hbWUpKSBcCisgICAgbWFj
cm8odm9pZCwgQWRkRnVuY3Rpb25BdHRyLCAoTExWTVZhbHVlUmVmIEZuLCBMTFZNQXR0cmlidXRl
IFBBKSkgXAorICAgIG1hY3JvKHZvaWQsIEFkZFRhcmdldERlcGVuZGVudEZ1bmN0aW9uQXR0ciwg
KExMVk1WYWx1ZVJlZiBGbiwgY29uc3QgY2hhciAqQSwgY29uc3QgY2hhciAqVikpIFwKKyAgICBt
YWNybyhMTFZNQXR0cmlidXRlLCBHZXRGdW5jdGlvbkF0dHIsIChMTFZNVmFsdWVSZWYgRm4pKSBc
CisgICAgbWFjcm8odm9pZCwgUmVtb3ZlRnVuY3Rpb25BdHRyLCAoTExWTVZhbHVlUmVmIEZuLCBM
TFZNQXR0cmlidXRlIFBBKSkgXAorICAgIG1hY3JvKHVuc2lnbmVkLCBDb3VudFBhcmFtcywgKExM
Vk1WYWx1ZVJlZiBGbikpIFwKKyAgICBtYWNybyh2b2lkLCBHZXRQYXJhbXMsIChMTFZNVmFsdWVS
ZWYgRm4sIExMVk1WYWx1ZVJlZiAqUGFyYW1zKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwg
R2V0UGFyYW0sIChMTFZNVmFsdWVSZWYgRm4sIHVuc2lnbmVkIEluZGV4KSkgXAorICAgIG1hY3Jv
KExMVk1WYWx1ZVJlZiwgR2V0UGFyYW1QYXJlbnQsIChMTFZNVmFsdWVSZWYgSW5zdCkpIFwKKyAg
ICBtYWNybyhMTFZNVmFsdWVSZWYsIEdldEZpcnN0UGFyYW0sIChMTFZNVmFsdWVSZWYgRm4pKSBc
CisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBHZXRMYXN0UGFyYW0sIChMTFZNVmFsdWVSZWYgRm4p
KSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBHZXROZXh0UGFyYW0sIChMTFZNVmFsdWVSZWYg
QXJnKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgR2V0UHJldmlvdXNQYXJhbSwgKExMVk1W
YWx1ZVJlZiBBcmcpKSBcCisgICAgbWFjcm8odm9pZCwgQWRkQXR0cmlidXRlLCAoTExWTVZhbHVl
UmVmIEFyZywgTExWTUF0dHJpYnV0ZSBQQSkpIFwKKyAgICBtYWNybyh2b2lkLCBSZW1vdmVBdHRy
aWJ1dGUsIChMTFZNVmFsdWVSZWYgQXJnLCBMTFZNQXR0cmlidXRlIFBBKSkgXAorICAgIG1hY3Jv
KExMVk1BdHRyaWJ1dGUsIEdldEF0dHJpYnV0ZSwgKExMVk1WYWx1ZVJlZiBBcmcpKSBcCisgICAg
bWFjcm8odm9pZCwgU2V0UGFyYW1BbGlnbm1lbnQsIChMTFZNVmFsdWVSZWYgQXJnLCB1bnNpZ25l
ZCBhbGlnbikpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIE1EU3RyaW5nSW5Db250ZXh0LCAo
TExWTUNvbnRleHRSZWYgQywgY29uc3QgY2hhciAqU3RyLCB1bnNpZ25lZCBTTGVuKSkgXAorICAg
IG1hY3JvKExMVk1WYWx1ZVJlZiwgTURTdHJpbmcsIChjb25zdCBjaGFyICpTdHIsIHVuc2lnbmVk
IFNMZW4pKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBNRE5vZGVJbkNvbnRleHQsIChMTFZN
Q29udGV4dFJlZiBDLCBMTFZNVmFsdWVSZWYgKlZhbHMsIHVuc2lnbmVkIENvdW50KSkgXAorICAg
IG1hY3JvKExMVk1WYWx1ZVJlZiwgTUROb2RlLCAoTExWTVZhbHVlUmVmICpWYWxzLCB1bnNpZ25l
ZCBDb3VudCkpIFwKKyAgICBtYWNybyhjb25zdCBjaGFyICosIEdldE1EU3RyaW5nLCAoTExWTVZh
bHVlUmVmIFYsIHVuc2lnbmVkKiBMZW4pKSBcCisgICAgbWFjcm8odW5zaWduZWQsIEdldE1ETm9k
ZU51bU9wZXJhbmRzLCAoTExWTVZhbHVlUmVmIFYpKSBcCisgICAgbWFjcm8odm9pZCwgR2V0TURO
b2RlT3BlcmFuZHMsIChMTFZNVmFsdWVSZWYgViwgTExWTVZhbHVlUmVmICpEZXN0KSkgXAorICAg
IG1hY3JvKExMVk1WYWx1ZVJlZiwgQmFzaWNCbG9ja0FzVmFsdWUsIChMTFZNQmFzaWNCbG9ja1Jl
ZiBCQikpIFwKKyAgICBtYWNybyhMTFZNQm9vbCwgVmFsdWVJc0Jhc2ljQmxvY2ssIChMTFZNVmFs
dWVSZWYgVmFsKSkgXAorICAgIG1hY3JvKExMVk1CYXNpY0Jsb2NrUmVmLCBWYWx1ZUFzQmFzaWNC
bG9jaywgKExMVk1WYWx1ZVJlZiBWYWwpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBHZXRC
YXNpY0Jsb2NrUGFyZW50LCAoTExWTUJhc2ljQmxvY2tSZWYgQkIpKSBcCisgICAgbWFjcm8oTExW
TVZhbHVlUmVmLCBHZXRCYXNpY0Jsb2NrVGVybWluYXRvciwgKExMVk1CYXNpY0Jsb2NrUmVmIEJC
KSkgXAorICAgIG1hY3JvKHVuc2lnbmVkLCBDb3VudEJhc2ljQmxvY2tzLCAoTExWTVZhbHVlUmVm
IEZuKSkgXAorICAgIG1hY3JvKHZvaWQsIEdldEJhc2ljQmxvY2tzLCAoTExWTVZhbHVlUmVmIEZu
LCBMTFZNQmFzaWNCbG9ja1JlZiAqQmFzaWNCbG9ja3MpKSBcCisgICAgbWFjcm8oTExWTUJhc2lj
QmxvY2tSZWYsIEdldEZpcnN0QmFzaWNCbG9jaywgKExMVk1WYWx1ZVJlZiBGbikpIFwKKyAgICBt
YWNybyhMTFZNQmFzaWNCbG9ja1JlZiwgR2V0TGFzdEJhc2ljQmxvY2ssIChMTFZNVmFsdWVSZWYg
Rm4pKSBcCisgICAgbWFjcm8oTExWTUJhc2ljQmxvY2tSZWYsIEdldE5leHRCYXNpY0Jsb2NrLCAo
TExWTUJhc2ljQmxvY2tSZWYgQkIpKSBcCisgICAgbWFjcm8oTExWTUJhc2ljQmxvY2tSZWYsIEdl
dFByZXZpb3VzQmFzaWNCbG9jaywgKExMVk1CYXNpY0Jsb2NrUmVmIEJCKSkgXAorICAgIG1hY3Jv
KExMVk1CYXNpY0Jsb2NrUmVmLCBHZXRFbnRyeUJhc2ljQmxvY2ssIChMTFZNVmFsdWVSZWYgRm4p
KSBcCisgICAgbWFjcm8oTExWTUJhc2ljQmxvY2tSZWYsIEFwcGVuZEJhc2ljQmxvY2tJbkNvbnRl
eHQsIChMTFZNQ29udGV4dFJlZiBDLCBMTFZNVmFsdWVSZWYgRm4sIGNvbnN0IGNoYXIgKk5hbWUp
KSBcCisgICAgbWFjcm8oTExWTUJhc2ljQmxvY2tSZWYsIEFwcGVuZEJhc2ljQmxvY2ssIChMTFZN
VmFsdWVSZWYgRm4sIGNvbnN0IGNoYXIgKk5hbWUpKSBcCisgICAgbWFjcm8oTExWTUJhc2ljQmxv
Y2tSZWYsIEluc2VydEJhc2ljQmxvY2tJbkNvbnRleHQsIChMTFZNQ29udGV4dFJlZiBDLCBMTFZN
QmFzaWNCbG9ja1JlZiBCQiwgY29uc3QgY2hhciAqTmFtZSkpIFwKKyAgICBtYWNybyhMTFZNQmFz
aWNCbG9ja1JlZiwgSW5zZXJ0QmFzaWNCbG9jaywgKExMVk1CYXNpY0Jsb2NrUmVmIEluc2VydEJl
Zm9yZUJCLCBjb25zdCBjaGFyICpOYW1lKSkgXAorICAgIG1hY3JvKHZvaWQsIERlbGV0ZUJhc2lj
QmxvY2ssIChMTFZNQmFzaWNCbG9ja1JlZiBCQikpIFwKKyAgICBtYWNybyh2b2lkLCBSZW1vdmVC
YXNpY0Jsb2NrRnJvbVBhcmVudCwgKExMVk1CYXNpY0Jsb2NrUmVmIEJCKSkgXAorICAgIG1hY3Jv
KHZvaWQsIE1vdmVCYXNpY0Jsb2NrQmVmb3JlLCAoTExWTUJhc2ljQmxvY2tSZWYgQkIsIExMVk1C
YXNpY0Jsb2NrUmVmIE1vdmVQb3MpKSBcCisgICAgbWFjcm8odm9pZCwgTW92ZUJhc2ljQmxvY2tB
ZnRlciwgKExMVk1CYXNpY0Jsb2NrUmVmIEJCLCBMTFZNQmFzaWNCbG9ja1JlZiBNb3ZlUG9zKSkg
XAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgR2V0Rmlyc3RJbnN0cnVjdGlvbiwgKExMVk1CYXNp
Y0Jsb2NrUmVmIEJCKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgR2V0TGFzdEluc3RydWN0
aW9uLCAoTExWTUJhc2ljQmxvY2tSZWYgQkIpKSBcCisgICAgbWFjcm8oaW50LCBIYXNNZXRhZGF0
YSwgKExMVk1WYWx1ZVJlZiBWYWwpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBHZXRNZXRh
ZGF0YSwgKExMVk1WYWx1ZVJlZiBWYWwsIHVuc2lnbmVkIEtpbmRJRCkpIFwKKyAgICBtYWNybyh2
b2lkLCBTZXRNZXRhZGF0YSwgKExMVk1WYWx1ZVJlZiBWYWwsIHVuc2lnbmVkIEtpbmRJRCwgTExW
TVZhbHVlUmVmIE5vZGUpKSBcCisgICAgbWFjcm8oTExWTUJhc2ljQmxvY2tSZWYsIEdldEluc3Ry
dWN0aW9uUGFyZW50LCAoTExWTVZhbHVlUmVmIEluc3QpKSBcCisgICAgbWFjcm8oTExWTVZhbHVl
UmVmLCBHZXROZXh0SW5zdHJ1Y3Rpb24sIChMTFZNVmFsdWVSZWYgSW5zdCkpIFwKKyAgICBtYWNy
byhMTFZNVmFsdWVSZWYsIEdldFByZXZpb3VzSW5zdHJ1Y3Rpb24sIChMTFZNVmFsdWVSZWYgSW5z
dCkpIFwKKyAgICBtYWNybyh2b2lkLCBJbnN0cnVjdGlvbkVyYXNlRnJvbVBhcmVudCwgKExMVk1W
YWx1ZVJlZiBJbnN0KSkgXAorICAgIG1hY3JvKExMVk1PcGNvZGUsIEdldEluc3RydWN0aW9uT3Bj
b2RlLCAoTExWTVZhbHVlUmVmIEluc3QpKSBcCisgICAgbWFjcm8oTExWTUludFByZWRpY2F0ZSwg
R2V0SUNtcFByZWRpY2F0ZSwgKExMVk1WYWx1ZVJlZiBJbnN0KSkgXAorICAgIG1hY3JvKHZvaWQs
IFNldEluc3RydWN0aW9uQ2FsbENvbnYsIChMTFZNVmFsdWVSZWYgSW5zdHIsIHVuc2lnbmVkIEND
KSkgXAorICAgIG1hY3JvKHVuc2lnbmVkLCBHZXRJbnN0cnVjdGlvbkNhbGxDb252LCAoTExWTVZh
bHVlUmVmIEluc3RyKSkgXAorICAgIG1hY3JvKHZvaWQsIEFkZEluc3RyQXR0cmlidXRlLCAoTExW
TVZhbHVlUmVmIEluc3RyLCB1bnNpZ25lZCBpbmRleCwgTExWTUF0dHJpYnV0ZSkpIFwKKyAgICBt
YWNybyh2b2lkLCBSZW1vdmVJbnN0ckF0dHJpYnV0ZSwgKExMVk1WYWx1ZVJlZiBJbnN0ciwgdW5z
aWduZWQgaW5kZXgsIExMVk1BdHRyaWJ1dGUpKSBcCisgICAgbWFjcm8odm9pZCwgU2V0SW5zdHJQ
YXJhbUFsaWdubWVudCwgKExMVk1WYWx1ZVJlZiBJbnN0ciwgdW5zaWduZWQgaW5kZXgsIHVuc2ln
bmVkIGFsaWduKSkgXAorICAgIG1hY3JvKExMVk1Cb29sLCBJc1RhaWxDYWxsLCAoTExWTVZhbHVl
UmVmIENhbGxJbnN0KSkgXAorICAgIG1hY3JvKHZvaWQsIFNldFRhaWxDYWxsLCAoTExWTVZhbHVl
UmVmIENhbGxJbnN0LCBMTFZNQm9vbCBJc1RhaWxDYWxsKSkgXAorICAgIG1hY3JvKExMVk1CYXNp
Y0Jsb2NrUmVmLCBHZXRTd2l0Y2hEZWZhdWx0RGVzdCwgKExMVk1WYWx1ZVJlZiBTd2l0Y2hJbnN0
cikpIFwKKyAgICBtYWNybyh2b2lkLCBBZGRJbmNvbWluZywgKExMVk1WYWx1ZVJlZiBQaGlOb2Rl
LCBMTFZNVmFsdWVSZWYgKkluY29taW5nVmFsdWVzLCBMTFZNQmFzaWNCbG9ja1JlZiAqSW5jb21p
bmdCbG9ja3MsIHVuc2lnbmVkIENvdW50KSkgXAorICAgIG1hY3JvKHVuc2lnbmVkLCBDb3VudElu
Y29taW5nLCAoTExWTVZhbHVlUmVmIFBoaU5vZGUpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVm
LCBHZXRJbmNvbWluZ1ZhbHVlLCAoTExWTVZhbHVlUmVmIFBoaU5vZGUsIHVuc2lnbmVkIEluZGV4
KSkgXAorICAgIG1hY3JvKExMVk1CYXNpY0Jsb2NrUmVmLCBHZXRJbmNvbWluZ0Jsb2NrLCAoTExW
TVZhbHVlUmVmIFBoaU5vZGUsIHVuc2lnbmVkIEluZGV4KSkgXAorICAgIG1hY3JvKExMVk1CdWls
ZGVyUmVmLCBDcmVhdGVCdWlsZGVySW5Db250ZXh0LCAoTExWTUNvbnRleHRSZWYgQykpIFwKKyAg
ICBtYWNybyhMTFZNQnVpbGRlclJlZiwgQ3JlYXRlQnVpbGRlciwgKHZvaWQpKSBcCisgICAgbWFj
cm8odm9pZCwgUG9zaXRpb25CdWlsZGVyLCAoTExWTUJ1aWxkZXJSZWYgQnVpbGRlciwgTExWTUJh
c2ljQmxvY2tSZWYgQmxvY2ssIExMVk1WYWx1ZVJlZiBJbnN0cikpIFwKKyAgICBtYWNybyh2b2lk
LCBQb3NpdGlvbkJ1aWxkZXJCZWZvcmUsIChMTFZNQnVpbGRlclJlZiBCdWlsZGVyLCBMTFZNVmFs
dWVSZWYgSW5zdHIpKSBcCisgICAgbWFjcm8odm9pZCwgUG9zaXRpb25CdWlsZGVyQXRFbmQsIChM
TFZNQnVpbGRlclJlZiBCdWlsZGVyLCBMTFZNQmFzaWNCbG9ja1JlZiBCbG9jaykpIFwKKyAgICBt
YWNybyhMTFZNQmFzaWNCbG9ja1JlZiwgR2V0SW5zZXJ0QmxvY2ssIChMTFZNQnVpbGRlclJlZiBC
dWlsZGVyKSkgXAorICAgIG1hY3JvKHZvaWQsIENsZWFySW5zZXJ0aW9uUG9zaXRpb24sIChMTFZN
QnVpbGRlclJlZiBCdWlsZGVyKSkgXAorICAgIG1hY3JvKHZvaWQsIEluc2VydEludG9CdWlsZGVy
LCAoTExWTUJ1aWxkZXJSZWYgQnVpbGRlciwgTExWTVZhbHVlUmVmIEluc3RyKSkgXAorICAgIG1h
Y3JvKHZvaWQsIEluc2VydEludG9CdWlsZGVyV2l0aE5hbWUsIChMTFZNQnVpbGRlclJlZiBCdWls
ZGVyLCBMTFZNVmFsdWVSZWYgSW5zdHIsIGNvbnN0IGNoYXIgKk5hbWUpKSBcCisgICAgbWFjcm8o
dm9pZCwgRGlzcG9zZUJ1aWxkZXIsIChMTFZNQnVpbGRlclJlZiBCdWlsZGVyKSkgXAorICAgIG1h
Y3JvKHZvaWQsIFNldEN1cnJlbnREZWJ1Z0xvY2F0aW9uLCAoTExWTUJ1aWxkZXJSZWYgQnVpbGRl
ciwgTExWTVZhbHVlUmVmIEwpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBHZXRDdXJyZW50
RGVidWdMb2NhdGlvbiwgKExMVk1CdWlsZGVyUmVmIEJ1aWxkZXIpKSBcCisgICAgbWFjcm8odm9p
ZCwgU2V0SW5zdERlYnVnTG9jYXRpb24sIChMTFZNQnVpbGRlclJlZiBCdWlsZGVyLCBMTFZNVmFs
dWVSZWYgSW5zdCkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIEJ1aWxkUmV0Vm9pZCwgKExM
Vk1CdWlsZGVyUmVmKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgQnVpbGRSZXQsIChMTFZN
QnVpbGRlclJlZiwgTExWTVZhbHVlUmVmIFYpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBC
dWlsZEFnZ3JlZ2F0ZVJldCwgKExMVk1CdWlsZGVyUmVmLCBMTFZNVmFsdWVSZWYgKlJldFZhbHMs
IHVuc2lnbmVkIE4pKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBCdWlsZEJyLCAoTExWTUJ1
aWxkZXJSZWYsIExMVk1CYXNpY0Jsb2NrUmVmIERlc3QpKSBcCisgICAgbWFjcm8oTExWTVZhbHVl
UmVmLCBCdWlsZENvbmRCciwgKExMVk1CdWlsZGVyUmVmLCBMTFZNVmFsdWVSZWYgSWYsIExMVk1C
YXNpY0Jsb2NrUmVmIFRoZW4sIExMVk1CYXNpY0Jsb2NrUmVmIEVsc2UpKSBcCisgICAgbWFjcm8o
TExWTVZhbHVlUmVmLCBCdWlsZFN3aXRjaCwgKExMVk1CdWlsZGVyUmVmLCBMTFZNVmFsdWVSZWYg
ViwgTExWTUJhc2ljQmxvY2tSZWYgRWxzZSwgdW5zaWduZWQgTnVtQ2FzZXMpKSBcCisgICAgbWFj
cm8oTExWTVZhbHVlUmVmLCBCdWlsZEluZGlyZWN0QnIsIChMTFZNQnVpbGRlclJlZiBCLCBMTFZN
VmFsdWVSZWYgQWRkciwgdW5zaWduZWQgTnVtRGVzdHMpKSBcCisgICAgbWFjcm8oTExWTVZhbHVl
UmVmLCBCdWlsZEludm9rZSwgKExMVk1CdWlsZGVyUmVmLCBMTFZNVmFsdWVSZWYgRm4sIExMVk1W
YWx1ZVJlZiAqQXJncywgdW5zaWduZWQgTnVtQXJncywgTExWTUJhc2ljQmxvY2tSZWYgVGhlbiwg
TExWTUJhc2ljQmxvY2tSZWYgQ2F0Y2gsIGNvbnN0IGNoYXIgKk5hbWUpKSBcCisgICAgbWFjcm8o
TExWTVZhbHVlUmVmLCBCdWlsZExhbmRpbmdQYWQsIChMTFZNQnVpbGRlclJlZiBCLCBMTFZNVHlw
ZVJlZiBUeSwgTExWTVZhbHVlUmVmIFBlcnNGbiwgdW5zaWduZWQgTnVtQ2xhdXNlcywgY29uc3Qg
Y2hhciAqTmFtZSkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIEJ1aWxkUmVzdW1lLCAoTExW
TUJ1aWxkZXJSZWYgQiwgTExWTVZhbHVlUmVmIEV4bikpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVS
ZWYsIEJ1aWxkVW5yZWFjaGFibGUsIChMTFZNQnVpbGRlclJlZikpIFwKKyAgICBtYWNybyh2b2lk
LCBBZGRDYXNlLCAoTExWTVZhbHVlUmVmIFN3aXRjaCwgTExWTVZhbHVlUmVmIE9uVmFsLCBMTFZN
QmFzaWNCbG9ja1JlZiBEZXN0KSkgXAorICAgIG1hY3JvKHZvaWQsIEFkZERlc3RpbmF0aW9uLCAo
TExWTVZhbHVlUmVmIEluZGlyZWN0QnIsIExMVk1CYXNpY0Jsb2NrUmVmIERlc3QpKSBcCisgICAg
bWFjcm8odm9pZCwgQWRkQ2xhdXNlLCAoTExWTVZhbHVlUmVmIExhbmRpbmdQYWQsIExMVk1WYWx1
ZVJlZiBDbGF1c2VWYWwpKSBcCisgICAgbWFjcm8odm9pZCwgU2V0Q2xlYW51cCwgKExMVk1WYWx1
ZVJlZiBMYW5kaW5nUGFkLCBMTFZNQm9vbCBWYWwpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVm
LCBCdWlsZEFkZCwgKExMVk1CdWlsZGVyUmVmLCBMTFZNVmFsdWVSZWYgTEhTLCBMTFZNVmFsdWVS
ZWYgUkhTLCBjb25zdCBjaGFyICpOYW1lKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgQnVp
bGROU1dBZGQsIChMTFZNQnVpbGRlclJlZiwgTExWTVZhbHVlUmVmIExIUywgTExWTVZhbHVlUmVm
IFJIUywgY29uc3QgY2hhciAqTmFtZSkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIEJ1aWxk
TlVXQWRkLCAoTExWTUJ1aWxkZXJSZWYsIExMVk1WYWx1ZVJlZiBMSFMsIExMVk1WYWx1ZVJlZiBS
SFMsIGNvbnN0IGNoYXIgKk5hbWUpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBCdWlsZEZB
ZGQsIChMTFZNQnVpbGRlclJlZiwgTExWTVZhbHVlUmVmIExIUywgTExWTVZhbHVlUmVmIFJIUywg
Y29uc3QgY2hhciAqTmFtZSkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIEJ1aWxkU3ViLCAo
TExWTUJ1aWxkZXJSZWYsIExMVk1WYWx1ZVJlZiBMSFMsIExMVk1WYWx1ZVJlZiBSSFMsIGNvbnN0
IGNoYXIgKk5hbWUpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBCdWlsZE5TV1N1YiwgKExM
Vk1CdWlsZGVyUmVmLCBMTFZNVmFsdWVSZWYgTEhTLCBMTFZNVmFsdWVSZWYgUkhTLCBjb25zdCBj
aGFyICpOYW1lKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgQnVpbGROVVdTdWIsIChMTFZN
QnVpbGRlclJlZiwgTExWTVZhbHVlUmVmIExIUywgTExWTVZhbHVlUmVmIFJIUywgY29uc3QgY2hh
ciAqTmFtZSkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIEJ1aWxkRlN1YiwgKExMVk1CdWls
ZGVyUmVmLCBMTFZNVmFsdWVSZWYgTEhTLCBMTFZNVmFsdWVSZWYgUkhTLCBjb25zdCBjaGFyICpO
YW1lKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgQnVpbGRNdWwsIChMTFZNQnVpbGRlclJl
ZiwgTExWTVZhbHVlUmVmIExIUywgTExWTVZhbHVlUmVmIFJIUywgY29uc3QgY2hhciAqTmFtZSkp
IFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIEJ1aWxkTlNXTXVsLCAoTExWTUJ1aWxkZXJSZWYs
IExMVk1WYWx1ZVJlZiBMSFMsIExMVk1WYWx1ZVJlZiBSSFMsIGNvbnN0IGNoYXIgKk5hbWUpKSBc
CisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBCdWlsZE5VV011bCwgKExMVk1CdWlsZGVyUmVmLCBM
TFZNVmFsdWVSZWYgTEhTLCBMTFZNVmFsdWVSZWYgUkhTLCBjb25zdCBjaGFyICpOYW1lKSkgXAor
ICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgQnVpbGRGTXVsLCAoTExWTUJ1aWxkZXJSZWYsIExMVk1W
YWx1ZVJlZiBMSFMsIExMVk1WYWx1ZVJlZiBSSFMsIGNvbnN0IGNoYXIgKk5hbWUpKSBcCisgICAg
bWFjcm8oTExWTVZhbHVlUmVmLCBCdWlsZFVEaXYsIChMTFZNQnVpbGRlclJlZiwgTExWTVZhbHVl
UmVmIExIUywgTExWTVZhbHVlUmVmIFJIUywgY29uc3QgY2hhciAqTmFtZSkpIFwKKyAgICBtYWNy
byhMTFZNVmFsdWVSZWYsIEJ1aWxkU0RpdiwgKExMVk1CdWlsZGVyUmVmLCBMTFZNVmFsdWVSZWYg
TEhTLCBMTFZNVmFsdWVSZWYgUkhTLCBjb25zdCBjaGFyICpOYW1lKSkgXAorICAgIG1hY3JvKExM
Vk1WYWx1ZVJlZiwgQnVpbGRFeGFjdFNEaXYsIChMTFZNQnVpbGRlclJlZiwgTExWTVZhbHVlUmVm
IExIUywgTExWTVZhbHVlUmVmIFJIUywgY29uc3QgY2hhciAqTmFtZSkpIFwKKyAgICBtYWNybyhM
TFZNVmFsdWVSZWYsIEJ1aWxkRkRpdiwgKExMVk1CdWlsZGVyUmVmLCBMTFZNVmFsdWVSZWYgTEhT
LCBMTFZNVmFsdWVSZWYgUkhTLCBjb25zdCBjaGFyICpOYW1lKSkgXAorICAgIG1hY3JvKExMVk1W
YWx1ZVJlZiwgQnVpbGRVUmVtLCAoTExWTUJ1aWxkZXJSZWYsIExMVk1WYWx1ZVJlZiBMSFMsIExM
Vk1WYWx1ZVJlZiBSSFMsIGNvbnN0IGNoYXIgKk5hbWUpKSBcCisgICAgbWFjcm8oTExWTVZhbHVl
UmVmLCBCdWlsZFNSZW0sIChMTFZNQnVpbGRlclJlZiwgTExWTVZhbHVlUmVmIExIUywgTExWTVZh
bHVlUmVmIFJIUywgY29uc3QgY2hhciAqTmFtZSkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYs
IEJ1aWxkRlJlbSwgKExMVk1CdWlsZGVyUmVmLCBMTFZNVmFsdWVSZWYgTEhTLCBMTFZNVmFsdWVS
ZWYgUkhTLCBjb25zdCBjaGFyICpOYW1lKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgQnVp
bGRTaGwsIChMTFZNQnVpbGRlclJlZiwgTExWTVZhbHVlUmVmIExIUywgTExWTVZhbHVlUmVmIFJI
UywgY29uc3QgY2hhciAqTmFtZSkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIEJ1aWxkTFNo
ciwgKExMVk1CdWlsZGVyUmVmLCBMTFZNVmFsdWVSZWYgTEhTLCBMTFZNVmFsdWVSZWYgUkhTLCBj
b25zdCBjaGFyICpOYW1lKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgQnVpbGRBU2hyLCAo
TExWTUJ1aWxkZXJSZWYsIExMVk1WYWx1ZVJlZiBMSFMsIExMVk1WYWx1ZVJlZiBSSFMsIGNvbnN0
IGNoYXIgKk5hbWUpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBCdWlsZEFuZCwgKExMVk1C
dWlsZGVyUmVmLCBMTFZNVmFsdWVSZWYgTEhTLCBMTFZNVmFsdWVSZWYgUkhTLCBjb25zdCBjaGFy
ICpOYW1lKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgQnVpbGRPciwgKExMVk1CdWlsZGVy
UmVmLCBMTFZNVmFsdWVSZWYgTEhTLCBMTFZNVmFsdWVSZWYgUkhTLCBjb25zdCBjaGFyICpOYW1l
KSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgQnVpbGRYb3IsIChMTFZNQnVpbGRlclJlZiwg
TExWTVZhbHVlUmVmIExIUywgTExWTVZhbHVlUmVmIFJIUywgY29uc3QgY2hhciAqTmFtZSkpIFwK
KyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIEJ1aWxkQmluT3AsIChMTFZNQnVpbGRlclJlZiBCLCBM
TFZNT3Bjb2RlIE9wLCBMTFZNVmFsdWVSZWYgTEhTLCBMTFZNVmFsdWVSZWYgUkhTLCBjb25zdCBj
aGFyICpOYW1lKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgQnVpbGROZWcsIChMTFZNQnVp
bGRlclJlZiwgTExWTVZhbHVlUmVmIFYsIGNvbnN0IGNoYXIgKk5hbWUpKSBcCisgICAgbWFjcm8o
TExWTVZhbHVlUmVmLCBCdWlsZE5TV05lZywgKExMVk1CdWlsZGVyUmVmIEIsIExMVk1WYWx1ZVJl
ZiBWLCBjb25zdCBjaGFyICpOYW1lKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgQnVpbGRO
VVdOZWcsIChMTFZNQnVpbGRlclJlZiBCLCBMTFZNVmFsdWVSZWYgViwgY29uc3QgY2hhciAqTmFt
ZSkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIEJ1aWxkRk5lZywgKExMVk1CdWlsZGVyUmVm
LCBMTFZNVmFsdWVSZWYgViwgY29uc3QgY2hhciAqTmFtZSkpIFwKKyAgICBtYWNybyhMTFZNVmFs
dWVSZWYsIEJ1aWxkTm90LCAoTExWTUJ1aWxkZXJSZWYsIExMVk1WYWx1ZVJlZiBWLCBjb25zdCBj
aGFyICpOYW1lKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgQnVpbGRNYWxsb2MsIChMTFZN
QnVpbGRlclJlZiwgTExWTVR5cGVSZWYgVHksIGNvbnN0IGNoYXIgKk5hbWUpKSBcCisgICAgbWFj
cm8oTExWTVZhbHVlUmVmLCBCdWlsZEFycmF5TWFsbG9jLCAoTExWTUJ1aWxkZXJSZWYsIExMVk1U
eXBlUmVmIFR5LCBMTFZNVmFsdWVSZWYgVmFsLCBjb25zdCBjaGFyICpOYW1lKSkgXAorICAgIG1h
Y3JvKExMVk1WYWx1ZVJlZiwgQnVpbGRBbGxvY2EsIChMTFZNQnVpbGRlclJlZiwgTExWTVR5cGVS
ZWYgVHksIGNvbnN0IGNoYXIgKk5hbWUpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBCdWls
ZEFycmF5QWxsb2NhLCAoTExWTUJ1aWxkZXJSZWYsIExMVk1UeXBlUmVmIFR5LCBMTFZNVmFsdWVS
ZWYgVmFsLCBjb25zdCBjaGFyICpOYW1lKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgQnVp
bGRGcmVlLCAoTExWTUJ1aWxkZXJSZWYsIExMVk1WYWx1ZVJlZiBQb2ludGVyVmFsKSkgXAorICAg
IG1hY3JvKExMVk1WYWx1ZVJlZiwgQnVpbGRMb2FkLCAoTExWTUJ1aWxkZXJSZWYsIExMVk1WYWx1
ZVJlZiBQb2ludGVyVmFsLCBjb25zdCBjaGFyICpOYW1lKSkgXAorICAgIG1hY3JvKExMVk1WYWx1
ZVJlZiwgQnVpbGRTdG9yZSwgKExMVk1CdWlsZGVyUmVmLCBMTFZNVmFsdWVSZWYgVmFsLCBMTFZN
VmFsdWVSZWYgUHRyKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgQnVpbGRHRVAsIChMTFZN
QnVpbGRlclJlZiBCLCBMTFZNVmFsdWVSZWYgUG9pbnRlciwgTExWTVZhbHVlUmVmICpJbmRpY2Vz
LCB1bnNpZ25lZCBOdW1JbmRpY2VzLCBjb25zdCBjaGFyICpOYW1lKSkgXAorICAgIG1hY3JvKExM
Vk1WYWx1ZVJlZiwgQnVpbGRJbkJvdW5kc0dFUCwgKExMVk1CdWlsZGVyUmVmIEIsIExMVk1WYWx1
ZVJlZiBQb2ludGVyLCBMTFZNVmFsdWVSZWYgKkluZGljZXMsIHVuc2lnbmVkIE51bUluZGljZXMs
IGNvbnN0IGNoYXIgKk5hbWUpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBCdWlsZFN0cnVj
dEdFUCwgKExMVk1CdWlsZGVyUmVmIEIsIExMVk1WYWx1ZVJlZiBQb2ludGVyLCB1bnNpZ25lZCBJ
ZHgsIGNvbnN0IGNoYXIgKk5hbWUpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBCdWlsZEds
b2JhbFN0cmluZywgKExMVk1CdWlsZGVyUmVmIEIsIGNvbnN0IGNoYXIgKlN0ciwgY29uc3QgY2hh
ciAqTmFtZSkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIEJ1aWxkR2xvYmFsU3RyaW5nUHRy
LCAoTExWTUJ1aWxkZXJSZWYgQiwgY29uc3QgY2hhciAqU3RyLCBjb25zdCBjaGFyICpOYW1lKSkg
XAorICAgIG1hY3JvKExMVk1Cb29sLCBHZXRWb2xhdGlsZSwgKExMVk1WYWx1ZVJlZiBNZW1vcnlB
Y2Nlc3NJbnN0KSkgXAorICAgIG1hY3JvKHZvaWQsIFNldFZvbGF0aWxlLCAoTExWTVZhbHVlUmVm
IE1lbW9yeUFjY2Vzc0luc3QsIExMVk1Cb29sIElzVm9sYXRpbGUpKSBcCisgICAgbWFjcm8oTExW
TVZhbHVlUmVmLCBCdWlsZFRydW5jLCAoTExWTUJ1aWxkZXJSZWYsIExMVk1WYWx1ZVJlZiBWYWws
IExMVk1UeXBlUmVmIERlc3RUeSwgY29uc3QgY2hhciAqTmFtZSkpIFwKKyAgICBtYWNybyhMTFZN
VmFsdWVSZWYsIEJ1aWxkWkV4dCwgKExMVk1CdWlsZGVyUmVmLCBMTFZNVmFsdWVSZWYgVmFsLCBM
TFZNVHlwZVJlZiBEZXN0VHksIGNvbnN0IGNoYXIgKk5hbWUpKSBcCisgICAgbWFjcm8oTExWTVZh
bHVlUmVmLCBCdWlsZFNFeHQsIChMTFZNQnVpbGRlclJlZiwgTExWTVZhbHVlUmVmIFZhbCwgTExW
TVR5cGVSZWYgRGVzdFR5LCBjb25zdCBjaGFyICpOYW1lKSkgXAorICAgIG1hY3JvKExMVk1WYWx1
ZVJlZiwgQnVpbGRGUFRvVUksIChMTFZNQnVpbGRlclJlZiwgTExWTVZhbHVlUmVmIFZhbCwgTExW
TVR5cGVSZWYgRGVzdFR5LCBjb25zdCBjaGFyICpOYW1lKSkgXAorICAgIG1hY3JvKExMVk1WYWx1
ZVJlZiwgQnVpbGRGUFRvU0ksIChMTFZNQnVpbGRlclJlZiwgTExWTVZhbHVlUmVmIFZhbCwgTExW
TVR5cGVSZWYgRGVzdFR5LCBjb25zdCBjaGFyICpOYW1lKSkgXAorICAgIG1hY3JvKExMVk1WYWx1
ZVJlZiwgQnVpbGRVSVRvRlAsIChMTFZNQnVpbGRlclJlZiwgTExWTVZhbHVlUmVmIFZhbCwgTExW
TVR5cGVSZWYgRGVzdFR5LCBjb25zdCBjaGFyICpOYW1lKSkgXAorICAgIG1hY3JvKExMVk1WYWx1
ZVJlZiwgQnVpbGRTSVRvRlAsIChMTFZNQnVpbGRlclJlZiwgTExWTVZhbHVlUmVmIFZhbCwgTExW
TVR5cGVSZWYgRGVzdFR5LCBjb25zdCBjaGFyICpOYW1lKSkgXAorICAgIG1hY3JvKExMVk1WYWx1
ZVJlZiwgQnVpbGRGUFRydW5jLCAoTExWTUJ1aWxkZXJSZWYsIExMVk1WYWx1ZVJlZiBWYWwsIExM
Vk1UeXBlUmVmIERlc3RUeSwgY29uc3QgY2hhciAqTmFtZSkpIFwKKyAgICBtYWNybyhMTFZNVmFs
dWVSZWYsIEJ1aWxkRlBFeHQsIChMTFZNQnVpbGRlclJlZiwgTExWTVZhbHVlUmVmIFZhbCwgTExW
TVR5cGVSZWYgRGVzdFR5LCBjb25zdCBjaGFyICpOYW1lKSkgXAorICAgIG1hY3JvKExMVk1WYWx1
ZVJlZiwgQnVpbGRQdHJUb0ludCwgKExMVk1CdWlsZGVyUmVmLCBMTFZNVmFsdWVSZWYgVmFsLCBM
TFZNVHlwZVJlZiBEZXN0VHksIGNvbnN0IGNoYXIgKk5hbWUpKSBcCisgICAgbWFjcm8oTExWTVZh
bHVlUmVmLCBCdWlsZEludFRvUHRyLCAoTExWTUJ1aWxkZXJSZWYsIExMVk1WYWx1ZVJlZiBWYWws
IExMVk1UeXBlUmVmIERlc3RUeSwgY29uc3QgY2hhciAqTmFtZSkpIFwKKyAgICBtYWNybyhMTFZN
VmFsdWVSZWYsIEJ1aWxkQml0Q2FzdCwgKExMVk1CdWlsZGVyUmVmLCBMTFZNVmFsdWVSZWYgVmFs
LCBMTFZNVHlwZVJlZiBEZXN0VHksIGNvbnN0IGNoYXIgKk5hbWUpKSBcCisgICAgbWFjcm8oTExW
TVZhbHVlUmVmLCBCdWlsZFpFeHRPckJpdENhc3QsIChMTFZNQnVpbGRlclJlZiwgTExWTVZhbHVl
UmVmIFZhbCwgTExWTVR5cGVSZWYgRGVzdFR5LCBjb25zdCBjaGFyICpOYW1lKSkgXAorICAgIG1h
Y3JvKExMVk1WYWx1ZVJlZiwgQnVpbGRTRXh0T3JCaXRDYXN0LCAoTExWTUJ1aWxkZXJSZWYsIExM
Vk1WYWx1ZVJlZiBWYWwsIExMVk1UeXBlUmVmIERlc3RUeSwgY29uc3QgY2hhciAqTmFtZSkpIFwK
KyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIEJ1aWxkVHJ1bmNPckJpdENhc3QsIChMTFZNQnVpbGRl
clJlZiwgTExWTVZhbHVlUmVmIFZhbCwgTExWTVR5cGVSZWYgRGVzdFR5LCBjb25zdCBjaGFyICpO
YW1lKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgQnVpbGRDYXN0LCAoTExWTUJ1aWxkZXJS
ZWYgQiwgTExWTU9wY29kZSBPcCwgTExWTVZhbHVlUmVmIFZhbCwgTExWTVR5cGVSZWYgRGVzdFR5
LCBjb25zdCBjaGFyICpOYW1lKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgQnVpbGRQb2lu
dGVyQ2FzdCwgKExMVk1CdWlsZGVyUmVmLCBMTFZNVmFsdWVSZWYgVmFsLCBMTFZNVHlwZVJlZiBE
ZXN0VHksIGNvbnN0IGNoYXIgKk5hbWUpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBCdWls
ZEludENhc3QsIChMTFZNQnVpbGRlclJlZiwgTExWTVZhbHVlUmVmIFZhbCwgTExWTVR5cGVSZWYg
RGVzdFR5LCBjb25zdCBjaGFyICpOYW1lKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgQnVp
bGRGUENhc3QsIChMTFZNQnVpbGRlclJlZiwgTExWTVZhbHVlUmVmIFZhbCwgTExWTVR5cGVSZWYg
RGVzdFR5LCBjb25zdCBjaGFyICpOYW1lKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgQnVp
bGRJQ21wLCAoTExWTUJ1aWxkZXJSZWYsIExMVk1JbnRQcmVkaWNhdGUgT3AsIExMVk1WYWx1ZVJl
ZiBMSFMsIExMVk1WYWx1ZVJlZiBSSFMsIGNvbnN0IGNoYXIgKk5hbWUpKSBcCisgICAgbWFjcm8o
TExWTVZhbHVlUmVmLCBCdWlsZEZDbXAsIChMTFZNQnVpbGRlclJlZiwgTExWTVJlYWxQcmVkaWNh
dGUgT3AsIExMVk1WYWx1ZVJlZiBMSFMsIExMVk1WYWx1ZVJlZiBSSFMsIGNvbnN0IGNoYXIgKk5h
bWUpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBCdWlsZFBoaSwgKExMVk1CdWlsZGVyUmVm
LCBMTFZNVHlwZVJlZiBUeSwgY29uc3QgY2hhciAqTmFtZSkpIFwKKyAgICBtYWNybyhMTFZNVmFs
dWVSZWYsIEJ1aWxkQ2FsbCwgKExMVk1CdWlsZGVyUmVmLCBMTFZNVmFsdWVSZWYgRm4sIExMVk1W
YWx1ZVJlZiAqQXJncywgdW5zaWduZWQgTnVtQXJncywgY29uc3QgY2hhciAqTmFtZSkpIFwKKyAg
ICBtYWNybyhMTFZNVmFsdWVSZWYsIEJ1aWxkU2VsZWN0LCAoTExWTUJ1aWxkZXJSZWYsIExMVk1W
YWx1ZVJlZiBJZiwgTExWTVZhbHVlUmVmIFRoZW4sIExMVk1WYWx1ZVJlZiBFbHNlLCBjb25zdCBj
aGFyICpOYW1lKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgQnVpbGRWQUFyZywgKExMVk1C
dWlsZGVyUmVmLCBMTFZNVmFsdWVSZWYgTGlzdCwgTExWTVR5cGVSZWYgVHksIGNvbnN0IGNoYXIg
Kk5hbWUpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBCdWlsZEV4dHJhY3RFbGVtZW50LCAo
TExWTUJ1aWxkZXJSZWYsIExMVk1WYWx1ZVJlZiBWZWNWYWwsIExMVk1WYWx1ZVJlZiBJbmRleCwg
Y29uc3QgY2hhciAqTmFtZSkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIEJ1aWxkSW5zZXJ0
RWxlbWVudCwgKExMVk1CdWlsZGVyUmVmLCBMTFZNVmFsdWVSZWYgVmVjVmFsLCBMTFZNVmFsdWVS
ZWYgRWx0VmFsLCBMTFZNVmFsdWVSZWYgSW5kZXgsIGNvbnN0IGNoYXIgKk5hbWUpKSBcCisgICAg
bWFjcm8oTExWTVZhbHVlUmVmLCBCdWlsZFNodWZmbGVWZWN0b3IsIChMTFZNQnVpbGRlclJlZiwg
TExWTVZhbHVlUmVmIFYxLCBMTFZNVmFsdWVSZWYgVjIsIExMVk1WYWx1ZVJlZiBNYXNrLCBjb25z
dCBjaGFyICpOYW1lKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgQnVpbGRFeHRyYWN0VmFs
dWUsIChMTFZNQnVpbGRlclJlZiwgTExWTVZhbHVlUmVmIEFnZ1ZhbCwgdW5zaWduZWQgSW5kZXgs
IGNvbnN0IGNoYXIgKk5hbWUpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBCdWlsZEluc2Vy
dFZhbHVlLCAoTExWTUJ1aWxkZXJSZWYsIExMVk1WYWx1ZVJlZiBBZ2dWYWwsIExMVk1WYWx1ZVJl
ZiBFbHRWYWwsIHVuc2lnbmVkIEluZGV4LCBjb25zdCBjaGFyICpOYW1lKSkgXAorICAgIG1hY3Jv
KExMVk1WYWx1ZVJlZiwgQnVpbGRJc051bGwsIChMTFZNQnVpbGRlclJlZiwgTExWTVZhbHVlUmVm
IFZhbCwgY29uc3QgY2hhciAqTmFtZSkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIEJ1aWxk
SXNOb3ROdWxsLCAoTExWTUJ1aWxkZXJSZWYsIExMVk1WYWx1ZVJlZiBWYWwsIGNvbnN0IGNoYXIg
Kk5hbWUpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBCdWlsZFB0ckRpZmYsIChMTFZNQnVp
bGRlclJlZiwgTExWTVZhbHVlUmVmIExIUywgTExWTVZhbHVlUmVmIFJIUywgY29uc3QgY2hhciAq
TmFtZSkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIEJ1aWxkQXRvbWljUk1XLCAoTExWTUJ1
aWxkZXJSZWYgQixMTFZNQXRvbWljUk1XQmluT3Agb3AsIExMVk1WYWx1ZVJlZiBQVFIsIExMVk1W
YWx1ZVJlZiBWYWwsIExMVk1BdG9taWNPcmRlcmluZyBvcmRlcmluZywgTExWTUJvb2wgc2luZ2xl
VGhyZWFkKSkgXAorICAgIG1hY3JvKExMVk1Nb2R1bGVQcm92aWRlclJlZiwgQ3JlYXRlTW9kdWxl
UHJvdmlkZXJGb3JFeGlzdGluZ01vZHVsZSwgKExMVk1Nb2R1bGVSZWYgTSkpIFwKKyAgICBtYWNy
byh2b2lkLCBEaXNwb3NlTW9kdWxlUHJvdmlkZXIsIChMTFZNTW9kdWxlUHJvdmlkZXJSZWYgTSkp
IFwKKyAgICBtYWNybyhMTFZNQm9vbCwgQ3JlYXRlTWVtb3J5QnVmZmVyV2l0aENvbnRlbnRzT2ZG
aWxlLCAoY29uc3QgY2hhciAqUGF0aCwgTExWTU1lbW9yeUJ1ZmZlclJlZiAqT3V0TWVtQnVmLCBj
aGFyICoqT3V0TWVzc2FnZSkpIFwKKyAgICBtYWNybyhMTFZNQm9vbCwgQ3JlYXRlTWVtb3J5QnVm
ZmVyV2l0aFNURElOLCAoTExWTU1lbW9yeUJ1ZmZlclJlZiAqT3V0TWVtQnVmLCBjaGFyICoqT3V0
TWVzc2FnZSkpIFwKKyAgICBtYWNybyhMTFZNTWVtb3J5QnVmZmVyUmVmLCBDcmVhdGVNZW1vcnlC
dWZmZXJXaXRoTWVtb3J5UmFuZ2UsIChjb25zdCBjaGFyICpJbnB1dERhdGEsIHNpemVfdCBJbnB1
dERhdGFMZW5ndGgsIGNvbnN0IGNoYXIgKkJ1ZmZlck5hbWUsIExMVk1Cb29sIFJlcXVpcmVzTnVs
bFRlcm1pbmF0b3IpKSBcCisgICAgbWFjcm8oTExWTU1lbW9yeUJ1ZmZlclJlZiwgQ3JlYXRlTWVt
b3J5QnVmZmVyV2l0aE1lbW9yeVJhbmdlQ29weSwgKGNvbnN0IGNoYXIgKklucHV0RGF0YSwgc2l6
ZV90IElucHV0RGF0YUxlbmd0aCwgY29uc3QgY2hhciAqQnVmZmVyTmFtZSkpIFwKKyAgICBtYWNy
byhjb25zdCBjaGFyICosIEdldEJ1ZmZlclN0YXJ0LCAoTExWTU1lbW9yeUJ1ZmZlclJlZiBNZW1C
dWYpKSBcCisgICAgbWFjcm8oc2l6ZV90LCBHZXRCdWZmZXJTaXplLCAoTExWTU1lbW9yeUJ1ZmZl
clJlZiBNZW1CdWYpKSBcCisgICAgbWFjcm8odm9pZCwgRGlzcG9zZU1lbW9yeUJ1ZmZlciwgKExM
Vk1NZW1vcnlCdWZmZXJSZWYgTWVtQnVmKSkgXAorICAgIG1hY3JvKExMVk1QYXNzUmVnaXN0cnlS
ZWYsIEdldEdsb2JhbFBhc3NSZWdpc3RyeSwgKHZvaWQpKSBcCisgICAgbWFjcm8oTExWTVBhc3NN
YW5hZ2VyUmVmLCBDcmVhdGVQYXNzTWFuYWdlciwgKHZvaWQpKSBcCisgICAgbWFjcm8oTExWTVBh
c3NNYW5hZ2VyUmVmLCBDcmVhdGVGdW5jdGlvblBhc3NNYW5hZ2VyRm9yTW9kdWxlLCAoTExWTU1v
ZHVsZVJlZiBNKSkgXAorICAgIG1hY3JvKExMVk1QYXNzTWFuYWdlclJlZiwgQ3JlYXRlRnVuY3Rp
b25QYXNzTWFuYWdlciwgKExMVk1Nb2R1bGVQcm92aWRlclJlZiBNUCkpIFwKKyAgICBtYWNybyhM
TFZNQm9vbCwgUnVuUGFzc01hbmFnZXIsIChMTFZNUGFzc01hbmFnZXJSZWYgUE0sIExMVk1Nb2R1
bGVSZWYgTSkpIFwKKyAgICBtYWNybyhMTFZNQm9vbCwgSW5pdGlhbGl6ZUZ1bmN0aW9uUGFzc01h
bmFnZXIsIChMTFZNUGFzc01hbmFnZXJSZWYgRlBNKSkgXAorICAgIG1hY3JvKExMVk1Cb29sLCBS
dW5GdW5jdGlvblBhc3NNYW5hZ2VyLCAoTExWTVBhc3NNYW5hZ2VyUmVmIEZQTSwgTExWTVZhbHVl
UmVmIEYpKSBcCisgICAgbWFjcm8oTExWTUJvb2wsIEZpbmFsaXplRnVuY3Rpb25QYXNzTWFuYWdl
ciwgKExMVk1QYXNzTWFuYWdlclJlZiBGUE0pKSBcCisgICAgbWFjcm8odm9pZCwgRGlzcG9zZVBh
c3NNYW5hZ2VyLCAoTExWTVBhc3NNYW5hZ2VyUmVmIFBNKSkgXAorICAgIG1hY3JvKExMVk1Cb29s
LCBTdGFydE11bHRpdGhyZWFkZWQsICgpKSBcCisgICAgbWFjcm8odm9pZCwgU3RvcE11bHRpdGhy
ZWFkZWQsICgpKSBcCisgICAgbWFjcm8oTExWTUJvb2wsIElzTXVsdGl0aHJlYWRlZCwgKCkpIFwK
KyAgICBtYWNybyhMTFZNVGFyZ2V0RGF0YVJlZiwgQ3JlYXRlVGFyZ2V0RGF0YSwgKGNvbnN0IGNo
YXIgKlN0cmluZ1JlcCkpIFwKKyAgICBtYWNybyh2b2lkLCBBZGRUYXJnZXREYXRhLCAoTExWTVRh
cmdldERhdGFSZWYsIExMVk1QYXNzTWFuYWdlclJlZikpIFwKKyAgICBtYWNybyh2b2lkLCBBZGRU
YXJnZXRMaWJyYXJ5SW5mbywgKExMVk1UYXJnZXRMaWJyYXJ5SW5mb1JlZiwgTExWTVBhc3NNYW5h
Z2VyUmVmKSkgXAorICAgIG1hY3JvKGNoYXIgKiwgQ29weVN0cmluZ1JlcE9mVGFyZ2V0RGF0YSwg
KExMVk1UYXJnZXREYXRhUmVmKSkgXAorICAgIG1hY3JvKGVudW0gTExWTUJ5dGVPcmRlcmluZywg
Qnl0ZU9yZGVyLCAoTExWTVRhcmdldERhdGFSZWYpKSBcCisgICAgbWFjcm8odW5zaWduZWQsIFBv
aW50ZXJTaXplLCAoTExWTVRhcmdldERhdGFSZWYpKSBcCisgICAgbWFjcm8oTExWTVR5cGVSZWYs
IEludFB0clR5cGUsIChMTFZNVGFyZ2V0RGF0YVJlZikpIFwKKyAgICBtYWNybyh1bnNpZ25lZCBs
b25nIGxvbmcsIFNpemVPZlR5cGVJbkJpdHMsIChMTFZNVGFyZ2V0RGF0YVJlZiwgTExWTVR5cGVS
ZWYpKSBcCisgICAgbWFjcm8odW5zaWduZWQgbG9uZyBsb25nLCBTdG9yZVNpemVPZlR5cGUsIChM
TFZNVGFyZ2V0RGF0YVJlZiwgTExWTVR5cGVSZWYpKSBcCisgICAgbWFjcm8odW5zaWduZWQgbG9u
ZyBsb25nLCBBQklTaXplT2ZUeXBlLCAoTExWTVRhcmdldERhdGFSZWYsIExMVk1UeXBlUmVmKSkg
XAorICAgIG1hY3JvKHVuc2lnbmVkLCBBQklBbGlnbm1lbnRPZlR5cGUsIChMTFZNVGFyZ2V0RGF0
YVJlZiwgTExWTVR5cGVSZWYpKSBcCisgICAgbWFjcm8odW5zaWduZWQsIENhbGxGcmFtZUFsaWdu
bWVudE9mVHlwZSwgKExMVk1UYXJnZXREYXRhUmVmLCBMTFZNVHlwZVJlZikpIFwKKyAgICBtYWNy
byh1bnNpZ25lZCwgUHJlZmVycmVkQWxpZ25tZW50T2ZUeXBlLCAoTExWTVRhcmdldERhdGFSZWYs
IExMVk1UeXBlUmVmKSkgXAorICAgIG1hY3JvKHVuc2lnbmVkLCBQcmVmZXJyZWRBbGlnbm1lbnRP
Zkdsb2JhbCwgKExMVk1UYXJnZXREYXRhUmVmLCBMTFZNVmFsdWVSZWYgR2xvYmFsVmFyKSkgXAor
ICAgIG1hY3JvKHVuc2lnbmVkLCBFbGVtZW50QXRPZmZzZXQsIChMTFZNVGFyZ2V0RGF0YVJlZiwg
TExWTVR5cGVSZWYgU3RydWN0VHksIHVuc2lnbmVkIGxvbmcgbG9uZyBPZmZzZXQpKSBcCisgICAg
bWFjcm8odW5zaWduZWQgbG9uZyBsb25nLCBPZmZzZXRPZkVsZW1lbnQsIChMTFZNVGFyZ2V0RGF0
YVJlZiwgTExWTVR5cGVSZWYgU3RydWN0VHksIHVuc2lnbmVkIEVsZW1lbnQpKSBcCisgICAgbWFj
cm8odm9pZCwgRGlzcG9zZVRhcmdldERhdGEsIChMTFZNVGFyZ2V0RGF0YVJlZikpIFwKKyAgICBt
YWNybyhMTFZNVGFyZ2V0UmVmLCBHZXRGaXJzdFRhcmdldCwgKCkpIFwKKyAgICBtYWNybyhMTFZN
VGFyZ2V0UmVmLCBHZXROZXh0VGFyZ2V0LCAoTExWTVRhcmdldFJlZiBUKSkgXAorICAgIG1hY3Jv
KGNvbnN0IGNoYXIgKiwgR2V0VGFyZ2V0TmFtZSwgKExMVk1UYXJnZXRSZWYgVCkpIFwKKyAgICBt
YWNybyhjb25zdCBjaGFyICosIEdldFRhcmdldERlc2NyaXB0aW9uLCAoTExWTVRhcmdldFJlZiBU
KSkgXAorICAgIG1hY3JvKExMVk1Cb29sLCBUYXJnZXRIYXNKSVQsIChMTFZNVGFyZ2V0UmVmIFQp
KSBcCisgICAgbWFjcm8oTExWTUJvb2wsIFRhcmdldEhhc1RhcmdldE1hY2hpbmUsIChMTFZNVGFy
Z2V0UmVmIFQpKSBcCisgICAgbWFjcm8oTExWTUJvb2wsIFRhcmdldEhhc0FzbUJhY2tlbmQsIChM
TFZNVGFyZ2V0UmVmIFQpKSBcCisgICAgbWFjcm8oTExWTVRhcmdldE1hY2hpbmVSZWYsIENyZWF0
ZVRhcmdldE1hY2hpbmUsIChMTFZNVGFyZ2V0UmVmIFQsIGNoYXIgKlRyaXBsZSwgY2hhciAqQ1BV
LCBjaGFyICpGZWF0dXJlcywgTExWTUNvZGVHZW5PcHRMZXZlbCBMZXZlbCwgTExWTVJlbG9jTW9k
ZSBSZWxvYywgTExWTUNvZGVNb2RlbCBDb2RlTW9kZWwpKSBcCisgICAgbWFjcm8odm9pZCwgRGlz
cG9zZVRhcmdldE1hY2hpbmUsIChMTFZNVGFyZ2V0TWFjaGluZVJlZiBUKSkgXAorICAgIG1hY3Jv
KExMVk1UYXJnZXRSZWYsIEdldFRhcmdldE1hY2hpbmVUYXJnZXQsIChMTFZNVGFyZ2V0TWFjaGlu
ZVJlZiBUKSkgXAorICAgIG1hY3JvKGNoYXIgKiwgR2V0VGFyZ2V0TWFjaGluZVRyaXBsZSwgKExM
Vk1UYXJnZXRNYWNoaW5lUmVmIFQpKSBcCisgICAgbWFjcm8oY2hhciAqLCBHZXRUYXJnZXRNYWNo
aW5lQ1BVLCAoTExWTVRhcmdldE1hY2hpbmVSZWYgVCkpIFwKKyAgICBtYWNybyhjaGFyICosIEdl
dFRhcmdldE1hY2hpbmVGZWF0dXJlU3RyaW5nLCAoTExWTVRhcmdldE1hY2hpbmVSZWYgVCkpIFwK
KyAgICBtYWNybyhMTFZNVGFyZ2V0RGF0YVJlZiwgR2V0VGFyZ2V0TWFjaGluZURhdGEsIChMTFZN
VGFyZ2V0TWFjaGluZVJlZiBUKSkgXAorICAgIG1hY3JvKExMVk1Cb29sLCBUYXJnZXRNYWNoaW5l
RW1pdFRvRmlsZSwgKExMVk1UYXJnZXRNYWNoaW5lUmVmIFQsIExMVk1Nb2R1bGVSZWYgTSwgY2hh
ciAqRmlsZW5hbWUsIExMVk1Db2RlR2VuRmlsZVR5cGUgY29kZWdlbiwgY2hhciAqKkVycm9yTWVz
c2FnZSkpIFwKKyAgICBtYWNybyh2b2lkLCBMaW5rSW5KSVQsICh2b2lkKSkgXAorICAgIG1hY3Jv
KHZvaWQsIExpbmtJbk1DSklULCAodm9pZCkpIFwKKyAgICBtYWNybyh2b2lkLCBMaW5rSW5JbnRl
cnByZXRlciwgKHZvaWQpKSBcCisgICAgbWFjcm8oTExWTUdlbmVyaWNWYWx1ZVJlZiwgQ3JlYXRl
R2VuZXJpY1ZhbHVlT2ZJbnQsIChMTFZNVHlwZVJlZiBUeSwgdW5zaWduZWQgbG9uZyBsb25nIE4s
IExMVk1Cb29sIElzU2lnbmVkKSkgXAorICAgIG1hY3JvKExMVk1HZW5lcmljVmFsdWVSZWYsIENy
ZWF0ZUdlbmVyaWNWYWx1ZU9mUG9pbnRlciwgKHZvaWQgKlApKSBcCisgICAgbWFjcm8oTExWTUdl
bmVyaWNWYWx1ZVJlZiwgQ3JlYXRlR2VuZXJpY1ZhbHVlT2ZGbG9hdCwgKExMVk1UeXBlUmVmIFR5
LCBkb3VibGUgTikpIFwKKyAgICBtYWNybyh1bnNpZ25lZCwgR2VuZXJpY1ZhbHVlSW50V2lkdGgs
IChMTFZNR2VuZXJpY1ZhbHVlUmVmIEdlblZhbFJlZikpIFwKKyAgICBtYWNybyh1bnNpZ25lZCBs
b25nIGxvbmcsIEdlbmVyaWNWYWx1ZVRvSW50LCAoTExWTUdlbmVyaWNWYWx1ZVJlZiBHZW5WYWws
IExMVk1Cb29sIElzU2lnbmVkKSkgXAorICAgIG1hY3JvKHZvaWQgKiwgR2VuZXJpY1ZhbHVlVG9Q
b2ludGVyLCAoTExWTUdlbmVyaWNWYWx1ZVJlZiBHZW5WYWwpKSBcCisgICAgbWFjcm8oZG91Ymxl
LCBHZW5lcmljVmFsdWVUb0Zsb2F0LCAoTExWTVR5cGVSZWYgVHlSZWYsIExMVk1HZW5lcmljVmFs
dWVSZWYgR2VuVmFsKSkgXAorICAgIG1hY3JvKHZvaWQsIERpc3Bvc2VHZW5lcmljVmFsdWUsIChM
TFZNR2VuZXJpY1ZhbHVlUmVmIEdlblZhbCkpIFwKKyAgICBtYWNybyhMTFZNQm9vbCwgQ3JlYXRl
RXhlY3V0aW9uRW5naW5lRm9yTW9kdWxlLCAoTExWTUV4ZWN1dGlvbkVuZ2luZVJlZiAqT3V0RUUs
IExMVk1Nb2R1bGVSZWYgTSwgY2hhciAqKk91dEVycm9yKSkgXAorICAgIG1hY3JvKExMVk1Cb29s
LCBDcmVhdGVJbnRlcnByZXRlckZvck1vZHVsZSwgKExMVk1FeGVjdXRpb25FbmdpbmVSZWYgKk91
dEludGVycCwgTExWTU1vZHVsZVJlZiBNLCBjaGFyICoqT3V0RXJyb3IpKSBcCisgICAgbWFjcm8o
TExWTUJvb2wsIENyZWF0ZUpJVENvbXBpbGVyRm9yTW9kdWxlLCAoTExWTUV4ZWN1dGlvbkVuZ2lu
ZVJlZiAqT3V0SklULCBMTFZNTW9kdWxlUmVmIE0sIHVuc2lnbmVkIE9wdExldmVsLCBjaGFyICoq
T3V0RXJyb3IpKSBcCisgICAgbWFjcm8odm9pZCwgSW5pdGlhbGl6ZU1DSklUQ29tcGlsZXJPcHRp
b25zLCAoIHN0cnVjdCBMTFZNTUNKSVRDb21waWxlck9wdGlvbnMgKk9wdGlvbnMsIHNpemVfdCBT
aXplT2ZPcHRpb25zKSkgXAorICAgIG1hY3JvKExMVk1Cb29sLCBDcmVhdGVNQ0pJVENvbXBpbGVy
Rm9yTW9kdWxlLCAoIExMVk1FeGVjdXRpb25FbmdpbmVSZWYgKk91dEpJVCwgTExWTU1vZHVsZVJl
ZiBNLCBzdHJ1Y3QgTExWTU1DSklUQ29tcGlsZXJPcHRpb25zICpPcHRpb25zLCBzaXplX3QgU2l6
ZU9mT3B0aW9ucywgY2hhciAqKk91dEVycm9yKSkgXAorICAgIG1hY3JvKExMVk1Cb29sLCBDcmVh
dGVFeGVjdXRpb25FbmdpbmUsIChMTFZNRXhlY3V0aW9uRW5naW5lUmVmICpPdXRFRSwgTExWTU1v
ZHVsZVByb3ZpZGVyUmVmIE1QLCBjaGFyICoqT3V0RXJyb3IpKSBcCisgICAgbWFjcm8oTExWTUJv
b2wsIENyZWF0ZUludGVycHJldGVyLCAoTExWTUV4ZWN1dGlvbkVuZ2luZVJlZiAqT3V0SW50ZXJw
LCBMTFZNTW9kdWxlUHJvdmlkZXJSZWYgTVAsIGNoYXIgKipPdXRFcnJvcikpIFwKKyAgICBtYWNy
byhMTFZNQm9vbCwgQ3JlYXRlSklUQ29tcGlsZXIsIChMTFZNRXhlY3V0aW9uRW5naW5lUmVmICpP
dXRKSVQsIExMVk1Nb2R1bGVQcm92aWRlclJlZiBNUCwgdW5zaWduZWQgT3B0TGV2ZWwsIGNoYXIg
KipPdXRFcnJvcikpIFwKKyAgICBtYWNybyh2b2lkLCBEaXNwb3NlRXhlY3V0aW9uRW5naW5lLCAo
TExWTUV4ZWN1dGlvbkVuZ2luZVJlZiBFRSkpIFwKKyAgICBtYWNybyh2b2lkLCBSdW5TdGF0aWND
b25zdHJ1Y3RvcnMsIChMTFZNRXhlY3V0aW9uRW5naW5lUmVmIEVFKSkgXAorICAgIG1hY3JvKHZv
aWQsIFJ1blN0YXRpY0Rlc3RydWN0b3JzLCAoTExWTUV4ZWN1dGlvbkVuZ2luZVJlZiBFRSkpIFwK
KyAgICBtYWNybyhpbnQsIFJ1bkZ1bmN0aW9uQXNNYWluLCAoTExWTUV4ZWN1dGlvbkVuZ2luZVJl
ZiBFRSwgTExWTVZhbHVlUmVmIEYsIHVuc2lnbmVkIEFyZ0MsIGNvbnN0IGNoYXIgKiBjb25zdCAq
QXJnViwgY29uc3QgY2hhciAqIGNvbnN0ICpFbnZQKSkgXAorICAgIG1hY3JvKExMVk1HZW5lcmlj
VmFsdWVSZWYsIFJ1bkZ1bmN0aW9uLCAoTExWTUV4ZWN1dGlvbkVuZ2luZVJlZiBFRSwgTExWTVZh
bHVlUmVmIEYsIHVuc2lnbmVkIE51bUFyZ3MsIExMVk1HZW5lcmljVmFsdWVSZWYgKkFyZ3MpKSBc
CisgICAgbWFjcm8odm9pZCwgRnJlZU1hY2hpbmVDb2RlRm9yRnVuY3Rpb24sIChMTFZNRXhlY3V0
aW9uRW5naW5lUmVmIEVFLCBMTFZNVmFsdWVSZWYgRikpIFwKKyAgICBtYWNybyh2b2lkLCBBZGRN
b2R1bGUsIChMTFZNRXhlY3V0aW9uRW5naW5lUmVmIEVFLCBMTFZNTW9kdWxlUmVmIE0pKSBcCisg
ICAgbWFjcm8odm9pZCwgQWRkTW9kdWxlUHJvdmlkZXIsIChMTFZNRXhlY3V0aW9uRW5naW5lUmVm
IEVFLCBMTFZNTW9kdWxlUHJvdmlkZXJSZWYgTVApKSBcCisgICAgbWFjcm8oTExWTUJvb2wsIFJl
bW92ZU1vZHVsZSwgKExMVk1FeGVjdXRpb25FbmdpbmVSZWYgRUUsIExMVk1Nb2R1bGVSZWYgTSwg
TExWTU1vZHVsZVJlZiAqT3V0TW9kLCBjaGFyICoqT3V0RXJyb3IpKSBcCisgICAgbWFjcm8oTExW
TUJvb2wsIFJlbW92ZU1vZHVsZVByb3ZpZGVyLCAoTExWTUV4ZWN1dGlvbkVuZ2luZVJlZiBFRSwg
TExWTU1vZHVsZVByb3ZpZGVyUmVmIE1QLCBMTFZNTW9kdWxlUmVmICpPdXRNb2QsIGNoYXIgKipP
dXRFcnJvcikpIFwKKyAgICBtYWNybyhMTFZNQm9vbCwgRmluZEZ1bmN0aW9uLCAoTExWTUV4ZWN1
dGlvbkVuZ2luZVJlZiBFRSwgY29uc3QgY2hhciAqTmFtZSwgTExWTVZhbHVlUmVmICpPdXRGbikp
IFwKKyAgICBtYWNybyh2b2lkICosIFJlY29tcGlsZUFuZFJlbGlua0Z1bmN0aW9uLCAoTExWTUV4
ZWN1dGlvbkVuZ2luZVJlZiBFRSwgTExWTVZhbHVlUmVmIEZuKSkgXAorICAgIG1hY3JvKExMVk1U
YXJnZXREYXRhUmVmLCBHZXRFeGVjdXRpb25FbmdpbmVUYXJnZXREYXRhLCAoTExWTUV4ZWN1dGlv
bkVuZ2luZVJlZiBFRSkpIFwKKyAgICBtYWNybyh2b2lkLCBBZGRHbG9iYWxNYXBwaW5nLCAoTExW
TUV4ZWN1dGlvbkVuZ2luZVJlZiBFRSwgTExWTVZhbHVlUmVmIEdsb2JhbCwgdm9pZCogQWRkcikp
IFwKKyAgICBtYWNybyh2b2lkICosIEdldFBvaW50ZXJUb0dsb2JhbCwgKExMVk1FeGVjdXRpb25F
bmdpbmVSZWYgRUUsIExMVk1WYWx1ZVJlZiBHbG9iYWwpKSBcCisgICAgbWFjcm8oTExWTU1DSklU
TWVtb3J5TWFuYWdlclJlZiwgQ3JlYXRlU2ltcGxlTUNKSVRNZW1vcnlNYW5hZ2VyLCAoIHZvaWQg
Kk9wYXF1ZSwgTExWTU1lbW9yeU1hbmFnZXJBbGxvY2F0ZUNvZGVTZWN0aW9uQ2FsbGJhY2sgQWxs
b2NhdGVDb2RlU2VjdGlvbiwgTExWTU1lbW9yeU1hbmFnZXJBbGxvY2F0ZURhdGFTZWN0aW9uQ2Fs
bGJhY2sgQWxsb2NhdGVEYXRhU2VjdGlvbiwgTExWTU1lbW9yeU1hbmFnZXJGaW5hbGl6ZU1lbW9y
eUNhbGxiYWNrIEZpbmFsaXplTWVtb3J5LCBMTFZNTWVtb3J5TWFuYWdlckRlc3Ryb3lDYWxsYmFj
ayBEZXN0b3J5KSkgXAorICAgIG1hY3JvKHZvaWQsIERpc3Bvc2VNQ0pJVE1lbW9yeU1hbmFnZXIs
IChMTFZNTUNKSVRNZW1vcnlNYW5hZ2VyUmVmIE1NKSkgXAorICAgIG1hY3JvKExMVk1Cb29sLCBW
ZXJpZnlNb2R1bGUsIChMTFZNTW9kdWxlUmVmIE0sIExMVk1WZXJpZmllckZhaWx1cmVBY3Rpb24g
QWN0aW9uLCBjaGFyICoqT3V0TWVzc2FnZSkpIFwKKyAgICBtYWNybyhMTFZNQm9vbCwgVmVyaWZ5
RnVuY3Rpb24sIChMTFZNVmFsdWVSZWYgRm4sIExMVk1WZXJpZmllckZhaWx1cmVBY3Rpb24gQWN0
aW9uKSkgXAorICAgIG1hY3JvKHZvaWQsIFZpZXdGdW5jdGlvbkNGRywgKExMVk1WYWx1ZVJlZiBG
bikpIFwKKyAgICBtYWNybyh2b2lkLCBWaWV3RnVuY3Rpb25DRkdPbmx5LCAoTExWTVZhbHVlUmVm
IEZuKSkgXAorICAgIG1hY3JvKExMVk1EaXNhc21Db250ZXh0UmVmLCBDcmVhdGVEaXNhc20sIChj
b25zdCBjaGFyICpUcmlwbGVOYW1lLCB2b2lkICpEaXNJbmZvLCBpbnQgVGFnVHlwZSwgTExWTU9w
SW5mb0NhbGxiYWNrIEdldE9wSW5mbywgTExWTVN5bWJvbExvb2t1cENhbGxiYWNrIFN5bWJvbExv
b2tVcCkpIFwKKyAgICBtYWNybyhMTFZNRGlzYXNtQ29udGV4dFJlZiwgQ3JlYXRlRGlzYXNtQ1BV
LCAoY29uc3QgY2hhciAqVHJpcGxlLCBjb25zdCBjaGFyICpDUFUsIHZvaWQgKkRpc0luZm8sIGlu
dCBUYWdUeXBlLCBMTFZNT3BJbmZvQ2FsbGJhY2sgR2V0T3BJbmZvLCBMTFZNU3ltYm9sTG9va3Vw
Q2FsbGJhY2sgU3ltYm9sTG9va1VwKSkgXAorICAgIG1hY3JvKGludCwgU2V0RGlzYXNtT3B0aW9u
cywgKExMVk1EaXNhc21Db250ZXh0UmVmIERDLCB1aW50NjRfdCBPcHRpb25zKSkgXAorICAgIG1h
Y3JvKHZvaWQsIERpc2FzbURpc3Bvc2UsIChMTFZNRGlzYXNtQ29udGV4dFJlZiBEQykpIFwKKyAg
ICBtYWNybyhzaXplX3QsIERpc2FzbUluc3RydWN0aW9uLCAoTExWTURpc2FzbUNvbnRleHRSZWYg
REMsIHVpbnQ4X3QgKkJ5dGVzLCB1aW50NjRfdCBCeXRlc1NpemUsIHVpbnQ2NF90IFBDLCBjaGFy
ICpPdXRTdHJpbmcsIHNpemVfdCBPdXRTdHJpbmdTaXplKSkgXAorICAgIG1hY3JvKHVuc2lnbmVk
LCBQb2ludGVyU2l6ZUZvckFTLCAoTExWTVRhcmdldERhdGFSZWYsIHVuc2lnbmVkIEFTKSkgXAor
ICAgIG1hY3JvKExMVk1UeXBlUmVmLCBJbnRQdHJUeXBlRm9yQVMsIChMTFZNVGFyZ2V0RGF0YVJl
ZiwgdW5zaWduZWQgQVMpKSBcCisgICAgbWFjcm8oTExWTVBhc3NNYW5hZ2VyQnVpbGRlclJlZiwg
UGFzc01hbmFnZXJCdWlsZGVyQ3JlYXRlLCAodm9pZCkpIFwKKyAgICBtYWNybyh2b2lkLCBQYXNz
TWFuYWdlckJ1aWxkZXJEaXNwb3NlLCAoTExWTVBhc3NNYW5hZ2VyQnVpbGRlclJlZiBQTUIpKSBc
CisgICAgbWFjcm8odm9pZCwgUGFzc01hbmFnZXJCdWlsZGVyU2V0T3B0TGV2ZWwsIChMTFZNUGFz
c01hbmFnZXJCdWlsZGVyUmVmIFBNQiwgdW5zaWduZWQgT3B0TGV2ZWwpKSBcCisgICAgbWFjcm8o
dm9pZCwgUGFzc01hbmFnZXJCdWlsZGVyU2V0U2l6ZUxldmVsLCAoTExWTVBhc3NNYW5hZ2VyQnVp
bGRlclJlZiBQTUIsIHVuc2lnbmVkIFNpemVMZXZlbCkpIFwKKyAgICBtYWNybyh2b2lkLCBQYXNz
TWFuYWdlckJ1aWxkZXJTZXREaXNhYmxlVW5pdEF0QVRpbWUsIChMTFZNUGFzc01hbmFnZXJCdWls
ZGVyUmVmIFBNQiwgTExWTUJvb2wgVmFsdWUpKSBcCisgICAgbWFjcm8odm9pZCwgUGFzc01hbmFn
ZXJCdWlsZGVyU2V0RGlzYWJsZVVucm9sbExvb3BzLCAoTExWTVBhc3NNYW5hZ2VyQnVpbGRlclJl
ZiBQTUIsIExMVk1Cb29sIFZhbHVlKSkgXAorICAgIG1hY3JvKHZvaWQsIFBhc3NNYW5hZ2VyQnVp
bGRlclNldERpc2FibGVTaW1wbGlmeUxpYkNhbGxzLCAoTExWTVBhc3NNYW5hZ2VyQnVpbGRlclJl
ZiBQTUIsIExMVk1Cb29sIFZhbHVlKSkgXAorICAgIG1hY3JvKHZvaWQsIFBhc3NNYW5hZ2VyQnVp
bGRlclVzZUlubGluZXJXaXRoVGhyZXNob2xkLCAoTExWTVBhc3NNYW5hZ2VyQnVpbGRlclJlZiBQ
TUIsIHVuc2lnbmVkIFRocmVzaG9sZCkpIFwKKyAgICBtYWNybyh2b2lkLCBQYXNzTWFuYWdlckJ1
aWxkZXJQb3B1bGF0ZUZ1bmN0aW9uUGFzc01hbmFnZXIsIChMTFZNUGFzc01hbmFnZXJCdWlsZGVy
UmVmIFBNQiwgTExWTVBhc3NNYW5hZ2VyUmVmIFBNKSkgXAorICAgIG1hY3JvKHZvaWQsIFBhc3NN
YW5hZ2VyQnVpbGRlclBvcHVsYXRlTW9kdWxlUGFzc01hbmFnZXIsIChMTFZNUGFzc01hbmFnZXJC
dWlsZGVyUmVmIFBNQiwgTExWTVBhc3NNYW5hZ2VyUmVmIFBNKSkgXAorICAgIG1hY3JvKHZvaWQs
IFBhc3NNYW5hZ2VyQnVpbGRlclBvcHVsYXRlTFRPUGFzc01hbmFnZXIsIChMTFZNUGFzc01hbmFn
ZXJCdWlsZGVyUmVmIFBNQiwgTExWTVBhc3NNYW5hZ2VyUmVmIFBNLCBMTFZNQm9vbCBJbnRlcm5h
bGl6ZSwgTExWTUJvb2wgUnVuSW5saW5lcikpIFwKKyAgICBtYWNybyh2b2lkLCBBZGRBZ2dyZXNz
aXZlRENFUGFzcywgKExMVk1QYXNzTWFuYWdlclJlZiBQTSkpIFwKKyAgICBtYWNybyh2b2lkLCBB
ZGRDRkdTaW1wbGlmaWNhdGlvblBhc3MsIChMTFZNUGFzc01hbmFnZXJSZWYgUE0pKSBcCisgICAg
bWFjcm8odm9pZCwgQWRkRGVhZFN0b3JlRWxpbWluYXRpb25QYXNzLCAoTExWTVBhc3NNYW5hZ2Vy
UmVmIFBNKSkgXAorICAgIG1hY3JvKHZvaWQsIEFkZEdWTlBhc3MsIChMTFZNUGFzc01hbmFnZXJS
ZWYgUE0pKSBcCisgICAgbWFjcm8odm9pZCwgQWRkSW5kVmFyU2ltcGxpZnlQYXNzLCAoTExWTVBh
c3NNYW5hZ2VyUmVmIFBNKSkgXAorICAgIG1hY3JvKHZvaWQsIEFkZEluc3RydWN0aW9uQ29tYmlu
aW5nUGFzcywgKExMVk1QYXNzTWFuYWdlclJlZiBQTSkpIFwKKyAgICBtYWNybyh2b2lkLCBBZGRK
dW1wVGhyZWFkaW5nUGFzcywgKExMVk1QYXNzTWFuYWdlclJlZiBQTSkpIFwKKyAgICBtYWNybyh2
b2lkLCBBZGRMSUNNUGFzcywgKExMVk1QYXNzTWFuYWdlclJlZiBQTSkpIFwKKyAgICBtYWNybyh2
b2lkLCBBZGRMb29wRGVsZXRpb25QYXNzLCAoTExWTVBhc3NNYW5hZ2VyUmVmIFBNKSkgXAorICAg
IG1hY3JvKHZvaWQsIEFkZExvb3BJZGlvbVBhc3MsIChMTFZNUGFzc01hbmFnZXJSZWYgUE0pKSBc
CisgICAgbWFjcm8odm9pZCwgQWRkTG9vcFJvdGF0ZVBhc3MsIChMTFZNUGFzc01hbmFnZXJSZWYg
UE0pKSBcCisgICAgbWFjcm8odm9pZCwgQWRkTG9vcFVucm9sbFBhc3MsIChMTFZNUGFzc01hbmFn
ZXJSZWYgUE0pKSBcCisgICAgbWFjcm8odm9pZCwgQWRkTG9vcFVuc3dpdGNoUGFzcywgKExMVk1Q
YXNzTWFuYWdlclJlZiBQTSkpIFwKKyAgICBtYWNybyh2b2lkLCBBZGRNZW1DcHlPcHRQYXNzLCAo
TExWTVBhc3NNYW5hZ2VyUmVmIFBNKSkgXAorICAgIG1hY3JvKHZvaWQsIEFkZFBhcnRpYWxseUlu
bGluZUxpYkNhbGxzUGFzcywgKExMVk1QYXNzTWFuYWdlclJlZiBQTSkpIFwKKyAgICBtYWNybyh2
b2lkLCBBZGRQcm9tb3RlTWVtb3J5VG9SZWdpc3RlclBhc3MsIChMTFZNUGFzc01hbmFnZXJSZWYg
UE0pKSBcCisgICAgbWFjcm8odm9pZCwgQWRkUmVhc3NvY2lhdGVQYXNzLCAoTExWTVBhc3NNYW5h
Z2VyUmVmIFBNKSkgXAorICAgIG1hY3JvKHZvaWQsIEFkZFNDQ1BQYXNzLCAoTExWTVBhc3NNYW5h
Z2VyUmVmIFBNKSkgXAorICAgIG1hY3JvKHZvaWQsIEFkZFNjYWxhclJlcGxBZ2dyZWdhdGVzUGFz
cywgKExMVk1QYXNzTWFuYWdlclJlZiBQTSkpIFwKKyAgICBtYWNybyh2b2lkLCBBZGRTY2FsYXJS
ZXBsQWdncmVnYXRlc1Bhc3NTU0EsIChMTFZNUGFzc01hbmFnZXJSZWYgUE0pKSBcCisgICAgbWFj
cm8odm9pZCwgQWRkU2NhbGFyUmVwbEFnZ3JlZ2F0ZXNQYXNzV2l0aFRocmVzaG9sZCwgKExMVk1Q
YXNzTWFuYWdlclJlZiBQTSwgaW50IFRocmVzaG9sZCkpIFwKKyAgICBtYWNybyh2b2lkLCBBZGRT
aW1wbGlmeUxpYkNhbGxzUGFzcywgKExMVk1QYXNzTWFuYWdlclJlZiBQTSkpIFwKKyAgICBtYWNy
byh2b2lkLCBBZGRUYWlsQ2FsbEVsaW1pbmF0aW9uUGFzcywgKExMVk1QYXNzTWFuYWdlclJlZiBQ
TSkpIFwKKyAgICBtYWNybyh2b2lkLCBBZGRDb25zdGFudFByb3BhZ2F0aW9uUGFzcywgKExMVk1Q
YXNzTWFuYWdlclJlZiBQTSkpIFwKKyAgICBtYWNybyh2b2lkLCBBZGREZW1vdGVNZW1vcnlUb1Jl
Z2lzdGVyUGFzcywgKExMVk1QYXNzTWFuYWdlclJlZiBQTSkpIFwKKyAgICBtYWNybyh2b2lkLCBB
ZGRWZXJpZmllclBhc3MsIChMTFZNUGFzc01hbmFnZXJSZWYgUE0pKSBcCisgICAgbWFjcm8odm9p
ZCwgQWRkQ29ycmVsYXRlZFZhbHVlUHJvcGFnYXRpb25QYXNzLCAoTExWTVBhc3NNYW5hZ2VyUmVm
IFBNKSkgXAorICAgIG1hY3JvKHZvaWQsIEFkZEVhcmx5Q1NFUGFzcywgKExMVk1QYXNzTWFuYWdl
clJlZiBQTSkpIFwKKyAgICBtYWNybyh2b2lkLCBBZGRMb3dlckV4cGVjdEludHJpbnNpY1Bhc3Ms
IChMTFZNUGFzc01hbmFnZXJSZWYgUE0pKSBcCisgICAgbWFjcm8odm9pZCwgQWRkVHlwZUJhc2Vk
QWxpYXNBbmFseXNpc1Bhc3MsIChMTFZNUGFzc01hbmFnZXJSZWYgUE0pKSBcCisgICAgbWFjcm8o
dm9pZCwgQWRkQmFzaWNBbGlhc0FuYWx5c2lzUGFzcywgKExMVk1QYXNzTWFuYWdlclJlZiBQTSkp
CisKKyNlbmRpZiAvLyBMTFZNQVBJRnVuY3Rpb25zX2gKKwpJbmRleDogU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsdm0vTExWTUhlYWRlcnMuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGx2bS9MTFZNSGVhZGVycy5oCShyZXZpc2lvbiAwKQorKysgU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsdm0vTExWTUhlYWRlcnMuaAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDY0IEBA
CisvKgorICogQ29weXJpZ2h0IChDKSAyMDEzIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRp
c3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElO
Qy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBD
T05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1Ig
QlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQor
ICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorICovCisKKyNpZm5kZWYg
TExWTUhlYWRlcnNfaAorI2RlZmluZSBMTFZNSGVhZGVyc19oCisKKyNpZiBIQVZFKExMVk0pCisK
Ky8vIEl0IGlzIG5lY2Vzc2FyeSB0byBpbmNsdWRlIExMVk0gaGVhZGVycyB2aWEgdGhpcyBmaWxl
LCBiZWNhdXNlOgorLy8gLSBMTFZNIHJlcXVpcmVzIGRlZmluaW5nIHRoaW5ncyB0aGF0IHdlIGRv
bid0IG5vcm1hbGx5IGRlZmluZSwgYW5kCisvLyAtIExMVk0gaW5jbHVkZXMgaXRzIEMrKyBoZWFk
ZXJzIGZyb20gaXRzIEMgaGVhZGVycywgYW5kIGl0cyBDKysKKy8vICAgaGVhZGVycyBkb24ndCBj
b21waWxlIGNsZWFubHkgd2l0aCBvdXIgd2FybmluZ3MuCisKKyNkZWZpbmUgX19TVERDX0xJTUlU
X01BQ1JPUworI2RlZmluZSBfX1NURENfQ09OU1RBTlRfTUFDUk9TCisKKyNpZiBDT01QSUxFUihD
TEFORykKKyNwcmFnbWEgY2xhbmcgZGlhZ25vc3RpYyBwdXNoCisjcHJhZ21hIGNsYW5nIGRpYWdu
b3N0aWMgaWdub3JlZCAiLVdtaXNzaW5nLW5vcmV0dXJuIgorI3ByYWdtYSBjbGFuZyBkaWFnbm9z
dGljIGlnbm9yZWQgIi1XdW51c2VkLXBhcmFtZXRlciIKKyNlbmRpZiAvLyBDT01QSUxFUihDTEFO
RykKKworI2luY2x1ZGUgPGxsdm0tYy9BbmFseXNpcy5oPgorI2luY2x1ZGUgPGxsdm0tYy9Db3Jl
Lmg+CisjaW5jbHVkZSA8bGx2bS1jL0Rpc2Fzc2VtYmxlci5oPgorI2luY2x1ZGUgPGxsdm0tYy9F
eGVjdXRpb25FbmdpbmUuaD4KKyNpbmNsdWRlIDxsbHZtLWMvVGFyZ2V0Lmg+CisjaW5jbHVkZSA8
bGx2bS1jL1RyYW5zZm9ybXMvUGFzc01hbmFnZXJCdWlsZGVyLmg+CisjaW5jbHVkZSA8bGx2bS1j
L1RyYW5zZm9ybXMvU2NhbGFyLmg+CisKKyNpZiBDT01QSUxFUihDTEFORykKKyNwcmFnbWEgY2xh
bmcgZGlhZ25vc3RpYyBwb3AKKyNlbmRpZiAvLyBDT01QSUxFUihDTEFORykKKworI3VuZGVmIF9f
U1REQ19MSU1JVF9NQUNST1MKKyN1bmRlZiBfX1NURENfQ09OU1RBTlRfTUFDUk9TCisKKyNlbmRp
ZiAvLyBIQVZFKExMVk0pCisKKyNlbmRpZiAvLyBMTFZNSGVhZGVyc19oCisKKwpJbmRleDogU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsdm0vbGlicmFyeS9MTFZNQW5jaG9yLmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvbGx2bS9saWJyYXJ5L0xMVk1BbmNob3IuY3BwCShy
ZXZpc2lvbiAwKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2xsdm0vbGlicmFyeS9MTFZNQW5j
aG9yLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDM1IEBACisvKgorICogQ29weXJpZ2h0
IChDKSAyMDEzIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisg
KiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisg
KiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBB
TlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQu
ICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElB
QkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVY
RU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorICovCisKKyNpbmNsdWRlICJjb25maWdfbGx2bS5oIgor
CisjaWYgSEFWRShMTFZNKQorCisvLyBUaGlzIGlzIGEgaGFjayBmb3IgZW5zdXJpbmcgdGhhdCB0
aGUgYnVpbGQgc3lzdGVtIHJlbGlua3MgSmF2YVNjcmlwdENvcmUgaWYgYW55CisvLyBvZiB0aGUg
TExWTSBsaWJyYXJpZXMgYXJlIGtub3duIHRvIGhhdmUgY2hhbmdlZC4KKyNpbmNsdWRlICJXZWJL
aXRMTFZNTGlicmFyeVRva2VuLmgiCisKKyNlbmRpZiAvLyBIQVZFKExMVk0pCisKSW5kZXg6IFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbHZtL2xpYnJhcnkvTExWTUV4cG9ydHMuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbHZtL2xpYnJhcnkvTExWTUV4cG9ydHMuY3Bw
CShyZXZpc2lvbiAwKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2xsdm0vbGlicmFyeS9MTFZN
RXhwb3J0cy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw1MSBAQAorLyoKKyAqIENvcHly
aWdodCAoQykgMjAxMyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisg
KgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBB
TkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJF
IExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisg
KiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKyAqLworCisjaW5jbHVkZSAiY29uZmlnX2xsdm0u
aCIKKworI2lmIEhBVkUoTExWTSkKKworI2luY2x1ZGUgIkxMVk1BUEkuaCIKKworZXh0ZXJuICJD
IiBXVEZfRVhQT1JUX1BSSVZBVEUgSlNDOjpMTFZNQVBJKiBpbml0aWFsaXplQW5kR2V0SlNDTExW
TUFQSSgpOworCitleHRlcm4gIkMiIEpTQzo6TExWTUFQSSogaW5pdGlhbGl6ZUFuZEdldEpTQ0xM
Vk1BUEkoKQoreworICAgIExMVk1MaW5rSW5NQ0pJVCgpOworICAgIExMVk1Jbml0aWFsaXplTmF0
aXZlVGFyZ2V0KCk7CisgICAgTExWTUluaXRpYWxpemVYODZBc21QcmludGVyKCk7CisgICAgTExW
TUluaXRpYWxpemVYODZEaXNhc3NlbWJsZXIoKTsKKyAgICAKKyAgICBKU0M6OkxMVk1BUEkqIHJl
c3VsdCA9IG5ldyBKU0M6OkxMVk1BUEk7CisgICAgCisjZGVmaW5lIExMVk1fQVBJX0ZVTkNUSU9O
X0FTU0lHTk1FTlQocmV0dXJuVHlwZSwgbmFtZSwgc2lnbmF0dXJlKSBcCisgICAgcmVzdWx0LT5u
YW1lID0gTExWTSMjbmFtZTsKKyAgICBGT1JfRUFDSF9MTFZNX0FQSV9GVU5DVElPTihMTFZNX0FQ
SV9GVU5DVElPTl9BU1NJR05NRU5UKTsKKyN1bmRlZiBMTFZNX0FQSV9GVU5DVElPTl9BU1NJR05N
RU5UCisgICAgCisgICAgcmV0dXJuIHJlc3VsdDsKK30KKworI2VuZGlmIC8vIEhBVkUoTExWTSkK
SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbHZtL2xpYnJhcnkvTExWTU92ZXJyaWRlcy5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2xsdm0vbGlicmFyeS9MTFZN
T3ZlcnJpZGVzLmNwcAkocmV2aXNpb24gMCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbHZt
L2xpYnJhcnkvTExWTU92ZXJyaWRlcy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzMyBA
QAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAg
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJ
TkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICog
Q09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9S
IEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkK
KyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwg
T1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKyAqLworCisjaW5jbHVk
ZSAiY29uZmlnX2xsdm0uaCIKKworI2lmIEhBVkUoTExWTSkKKworZXh0ZXJuICJDIiBpbnQgX19j
eGFfYXRleGl0KCk7CitleHRlcm4gIkMiIGludCBfX2N4YV9hdGV4aXQoKSB7IHJldHVybiAwOyB9
CisKKyNlbmRpZiAvLyBIQVZFKExMVk0pCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvbGx2
bS9saWJyYXJ5L2NvbmZpZ19sbHZtLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsdm0vbGlicmFyeS9jb25maWdfbGx2bS5oCShyZXZpc2lvbiAwKQorKysgU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsdm0vbGlicmFyeS9jb25maWdfbGx2bS5oCSh3b3JraW5nIGNvcHkpCkBA
IC0wLDAgKzEsMjggQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTMgQXBwbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUg
bWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElD
VUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExF
IElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQg
T0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisg
KiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisg
Ki8KKworI2luY2x1ZGUgPHd0Zi9QbGF0Zm9ybS5oPgorI2luY2x1ZGUgPHd0Zi9FeHBvcnRNYWNy
b3MuaD4KKwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSW5pdGlhbGl6ZVRo
cmVhZGluZy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
SW5pdGlhbGl6ZVRocmVhZGluZy5jcHAJKHJldmlzaW9uIDE1NzIwNCkKKysrIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0luaXRpYWxpemVUaHJlYWRpbmcuY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC0zNCwxMyArMzQsMTMgQEAKICNpbmNsdWRlICJIZWFwU3RhdGlzdGljcy5oIgogI2luY2x1
ZGUgIk9wdGlvbnMuaCIKICNpbmNsdWRlICJJZGVudGlmaWVyLmgiCisjaW5jbHVkZSAiSW5pdGlh
bGl6ZUxMVk0uaCIKICNpbmNsdWRlICJKU0RhdGVNYXRoLmgiCiAjaW5jbHVkZSAiSlNHbG9iYWxP
YmplY3QuaCIKICNpbmNsdWRlICJKU0xvY2suaCIKICNpbmNsdWRlICJMTEludERhdGEuaCIKICNp
bmNsdWRlICJXcml0ZUJhcnJpZXIuaCIKICNpbmNsdWRlIDx3dGYvZHRvYS5oPgotI2luY2x1ZGUg
PHd0Zi9MTFZNSGVhZGVycy5oPgogI2luY2x1ZGUgPHd0Zi9UaHJlYWRpbmcuaD4KICNpbmNsdWRl
IDx3dGYvZHRvYS9jYWNoZWQtcG93ZXJzLmg+CiAKQEAgLTcwLDI0ICs3MCw2IEBAIHN0YXRpYyB2
b2lkIGluaXRpYWxpemVUaHJlYWRpbmdPbmNlKCkKICNpZiBFTkFCTEUoTExJTlQpCiAgICAgTExJ
bnQ6OmluaXRpYWxpemUoKTsKICNlbmRpZgotI2lmIEhBVkUoTExWTSkKLSAgICBib29sIGZ0bCA9
IGZhbHNlOwotICAgIGJvb2wgZGlzYXNzZW1ibGVyID0gZmFsc2U7Ci0jaWYgRU5BQkxFKEZUTF9K
SVQpCi0gICAgZnRsID0gdHJ1ZTsKLSNlbmRpZgotI2lmIFVTRShMTFZNX0RJU0FTU0VNQkxFUikK
LSAgICBkaXNhc3NlbWJsZXIgPSB0cnVlOwotI2VuZGlmCi0gICAgaWYgKGZ0bCkKLSAgICAgICAg
TExWTUxpbmtJbk1DSklUKCk7Ci0gICAgaWYgKGZ0bCB8fCBkaXNhc3NlbWJsZXIpCi0gICAgICAg
IExMVk1Jbml0aWFsaXplTmF0aXZlVGFyZ2V0KCk7Ci0gICAgaWYgKGZ0bCkKLSAgICAgICAgTExW
TUluaXRpYWxpemVYODZBc21QcmludGVyKCk7Ci0gICAgaWYgKGRpc2Fzc2VtYmxlcikKLSAgICAg
ICAgTExWTUluaXRpYWxpemVYODZEaXNhc3NlbWJsZXIoKTsKLSNlbmRpZiAvLyBIQVZFKExMVk0p
CiB9CiAKIHZvaWQgaW5pdGlhbGl6ZVRocmVhZGluZygpCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9PcHRpb25zLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvT3B0aW9ucy5oCShyZXZpc2lvbiAxNTcyMDQpCisrKyBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9PcHRpb25zLmgJKHdvcmtpbmcgY29weSkKQEAgLTIwNSw5ICsyMDUs
NyBAQCB0eXBlZGVmIE9wdGlvblJhbmdlIG9wdGlvblJhbmdlOwogICAgIHYoYm9vbCwgbG9nR0Ms
IGZhbHNlKSBcCiAgICAgdih1bnNpZ25lZCwgZ2NNYXhIZWFwU2l6ZSwgMCkgXAogICAgIHYoYm9v
bCwgcmVjb3JkR0NQYXVzZVRpbWVzLCBmYWxzZSkgXAotICAgIHYoYm9vbCwgbG9nSGVhcFN0YXRp
c3RpY3NBdEV4aXQsIGZhbHNlKSBcCi0gICAgXAotICAgIHYoYm9vbCwgbmV2ZXJEZWxldGVWTUlu
Q29tbWFuZExpbmUsIGZhbHNlKQorICAgIHYoYm9vbCwgbG9nSGVhcFN0YXRpc3RpY3NBdEV4aXQs
IGZhbHNlKQogCiBjbGFzcyBPcHRpb25zIHsKIHB1YmxpYzoKSW5kZXg6IFNvdXJjZS9XVEYvQ2hh
bmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XVEYvQ2hhbmdlTG9nCShyZXZpc2lvbiAxNTcy
MDQpCisrKyBTb3VyY2UvV1RGL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIw
IEBACisyMDEzLTEwLTA5ICBGaWxpcCBQaXpsbyAgPGZwaXpsb0BhcHBsZS5jb20+CisKKyAgICAg
ICAgRlRMOiBTb2Z0LWxpbmsgTExWTSBhcyBhIHdvcmthcm91bmQgZm9yIExMVk0ncyBzdGF0aWMg
aW5pdGlhbGl6ZXJzIGFuZCBleGl0LXRpbWUgZGVzdHJ1Y3RvcnMKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEyMjU2NgorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorICAgICAgICAKKyAgICAgICAgUmVtb3ZlIGFsbCBMTFZNIHN0
dWZmIGZyb20gV1RGIHNpbmNlIHRvIGdldCBMTFZNIHlvdSBuZWVkIHRvIHNvZnQtbGluayBhbmQg
aXQncworICAgICAgICBlbnRpcmVseSB0aGUgcmVzcG9uc2liaWxpdHkgb2YgSlNDIHRvIGRvIHRo
YXQuCisgICAgICAgIAorICAgICAgICBBbHNvIGZpeGVkIGFuIGV4cG9ydCBnb29mIHRoYXQgSSBm
b3VuZCBhZnRlciBmaXhpbmcgdGhlIHdlYWsgdGhpbmd5IHNjcmlwdCBpbiBKU0MuCisKKyAgICAg
ICAgKiBXVEYueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiB3dGYvTExWTUhl
YWRlcnMuaDogUmVtb3ZlZC4KKyAgICAgICAgKiB3dGYvdGV4dC9DU3RyaW5nLmg6CisgICAgICAg
IChXVEY6OkNTdHJpbmdIYXNoOjpoYXNoKToKKwogMjAxMy0xMC0wOSAgTWljaGFlbCBTYWJvZmYg
IDxtc2Fib2ZmQGFwcGxlLmNvbT4KIAogICAgICAgICBDaGFuZ2UgdG8gc3RkOjp1bmlxdWVfcHRy
IGJyZWFrcyB3dGYvRGF0YUxvZy5jcHAgd2hlbiBEQVRBX0xPR19UT19GSUxFIHNldCB0byAxCklu
ZGV4OiBTb3VyY2UvV1RGL1dURi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XVEYvV1RGLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHJldmlzaW9uIDE1
NzIwNCkKKysrIFNvdXJjZS9XVEYvV1RGLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHdvcmtp
bmcgY29weSkKQEAgLTMzMCw3ICszMzAsNiBAQAogCQk5QkQ4RjQwQTE3NkMyQUQ4MDAwMkQ4NjUg
LyogQXRvbWljU3RyaW5nVGFibGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQXRvbWljU3RyaW5nVGFibGUu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTcwREEwODIxNzk5RjA0RDAwNTI5QTlC
IC8qIEluc2VydGlvbi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBJbnNlcnRp
b24uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTcwREEwODMxNzk5RjA0RDAwNTI5
QTlCIC8qIExpc3REdW1wLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IExpc3RE
dW1wLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCUE3MzZCMzU4MTc5OUUxMUEwMEM2
RjA1RSAvKiBMTFZNSGVhZGVycy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBMTFZNSGVhZGVycy5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBNzQ4NzQ0RjE3QTBCREFFMDBGQTA0Q0IgLyogU2l4
Q2hhcmFjdGVySGFzaC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBT
aXhDaGFyYWN0ZXJIYXNoLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTc0ODc0
NTAxN0EwQkRBRTAwRkEwNENCIC8qIFNpeENoYXJhY3Rlckhhc2guaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gU2l4Q2hhcmFjdGVySGFzaC5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQlBNzQ4NzQ1MTE3QTBCREFFMDBGQTA0Q0IgLyogU3RyaW5nSGFzaER1bXBDb250
ZXh0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFN0cmluZ0hhc2hEdW1wQ29u
dGV4dC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtNjcyLDcgKzY3MSw2IEBACiAJ
CQkJQTcwREEwODIxNzk5RjA0RDAwNTI5QTlCIC8qIEluc2VydGlvbi5oICovLAogCQkJCUE3MERB
MDgzMTc5OUYwNEQwMDUyOUE5QiAvKiBMaXN0RHVtcC5oICovLAogCQkJCUE4QTQ3MkMxMTUxQTgy
NUEwMDQxMjNGRiAvKiBMaXN0SGFzaFNldC5oICovLAotCQkJCUE3MzZCMzU4MTc5OUUxMUEwMEM2
RjA1RSAvKiBMTFZNSGVhZGVycy5oICovLAogCQkJCUE4QTQ3MkMzMTUxQTgyNUEwMDQxMjNGRiAv
KiBMb2NrZXIuaCAqLywKIAkJCQlBOEE0NzJDQTE1MUE4MjVCMDA0MTIzRkYgLyogTUQ1LmNwcCAq
LywKIAkJCQlBOEE0NzJDQjE1MUE4MjVCMDA0MTIzRkYgLyogTUQ1LmggKi8sCkluZGV4OiBTb3Vy
Y2UvV1RGL3d0Zi9MTFZNSGVhZGVycy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XVEYvd3RmL0xM
Vk1IZWFkZXJzLmgJKHJldmlzaW9uIDE1NzIwNCkKKysrIFNvdXJjZS9XVEYvd3RmL0xMVk1IZWFk
ZXJzLmgJKHdvcmtpbmcgY29weSkKQEAgLTEsNjIgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAo
QykgMjAxMyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICog
Mi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICog
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5Z
Ci0gKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFRIRQotICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAg
SU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgotICogQ09OVFJJQlVUT1JTIEJFIExJQUJM
RSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCi0gKiBFWEVN
UExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sCi0gKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwgREFUQSwgT1IKLSAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKLSAqIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLiAKLSAqLwotCi0jaWZuZGVmIExMVk1IZWFkZXJzX2gKLSNkZWZp
bmUgTExWTUhlYWRlcnNfaAotCi0jaW5jbHVkZSA8d3RmL1BsYXRmb3JtLmg+Ci0KLSNpZiBIQVZF
KExMVk0pCi0KLS8vIEl0IGlzIG5lY2Vzc2FyeSB0byBpbmNsdWRlIExMVk0gaGVhZGVycyB2aWEg
dGhpcyBmaWxlLCBiZWNhdXNlOgotLy8gLSBMTFZNIHJlcXVpcmVzIGRlZmluaW5nIHRoaW5ncyB0
aGF0IHdlIGRvbid0IG5vcm1hbGx5IGRlZmluZSwgYW5kCi0vLyAtIExMVk0gaW5jbHVkZXMgaXRz
IEMrKyBoZWFkZXJzIGZyb20gaXRzIEMgaGVhZGVycywgYW5kIGl0cyBDKysKLS8vICAgaGVhZGVy
cyBkb24ndCBjb21waWxlIGNsZWFubHkgd2l0aCBvdXIgd2FybmluZ3MuCi0KLSN1bmRlZiBfX1NU
RENfTElNSVRfTUFDUk9TCi0jdW5kZWYgX19TVERDX0NPTlNUQU5UX01BQ1JPUwotI2RlZmluZSBf
X1NURENfTElNSVRfTUFDUk9TCi0jZGVmaW5lIF9fU1REQ19DT05TVEFOVF9NQUNST1MKLQotI2lm
IENPTVBJTEVSKENMQU5HKQotI3ByYWdtYSBjbGFuZyBkaWFnbm9zdGljIHB1c2gKLSNwcmFnbWEg
Y2xhbmcgZGlhZ25vc3RpYyBpZ25vcmVkICItV21pc3Npbmctbm9yZXR1cm4iCi0jcHJhZ21hIGNs
YW5nIGRpYWdub3N0aWMgaWdub3JlZCAiLVd1bnVzZWQtcGFyYW1ldGVyIgotI2VuZGlmCi0KLSNp
bmNsdWRlIDxsbHZtLWMvQW5hbHlzaXMuaD4KLSNpbmNsdWRlIDxsbHZtLWMvQ29yZS5oPgotI2lu
Y2x1ZGUgPGxsdm0tYy9EaXNhc3NlbWJsZXIuaD4KLSNpbmNsdWRlIDxsbHZtLWMvRXhlY3V0aW9u
RW5naW5lLmg+Ci0jaW5jbHVkZSA8bGx2bS1jL1RhcmdldC5oPgotI2luY2x1ZGUgPGxsdm0tYy9U
cmFuc2Zvcm1zL1Bhc3NNYW5hZ2VyQnVpbGRlci5oPgotCi0jaWYgQ09NUElMRVIoQ0xBTkcpCi0j
cHJhZ21hIGNsYW5nIGRpYWdub3N0aWMgcG9wCi0jZW5kaWYKLQotI2VuZGlmIC8vIEhBVkUoTExW
TSkKLQotI2VuZGlmIC8vIExMVk1IZWFkZXJzX2gKSW5kZXg6IFNvdXJjZS9XVEYvd3RmL3RleHQv
Q1N0cmluZy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XVEYvd3RmL3RleHQvQ1N0cmluZy5oCShy
ZXZpc2lvbiAxNTcyMDQpCisrKyBTb3VyY2UvV1RGL3d0Zi90ZXh0L0NTdHJpbmcuaAkod29ya2lu
ZyBjb3B5KQpAQCAtOTQsNyArOTQsNyBAQCBpbmxpbmUgYm9vbCBvcGVyYXRvciE9KGNvbnN0IENT
dHJpbmcmIGEsCiBib29sIG9wZXJhdG9yPChjb25zdCBDU3RyaW5nJiBhLCBjb25zdCBDU3RyaW5n
JiBiKTsKIAogc3RydWN0IENTdHJpbmdIYXNoIHsKLSAgICBXVEZfRVhQT1JUX1BSSVZBVEUgc3Rh
dGljIHVuc2lnbmVkIGhhc2goY29uc3QgQ1N0cmluZyYgc3RyaW5nKSB7IHJldHVybiBzdHJpbmcu
aGFzaCgpOyB9CisgICAgc3RhdGljIHVuc2lnbmVkIGhhc2goY29uc3QgQ1N0cmluZyYgc3RyaW5n
KSB7IHJldHVybiBzdHJpbmcuaGFzaCgpOyB9CiAgICAgV1RGX0VYUE9SVF9QUklWQVRFIHN0YXRp
YyBib29sIGVxdWFsKGNvbnN0IENTdHJpbmcmIGEsIGNvbnN0IENTdHJpbmcmIGIpOwogICAgIHN0
YXRpYyBjb25zdCBib29sIHNhZmVUb0NvbXBhcmVUb0VtcHR5T3JEZWxldGVkID0gdHJ1ZTsKIH07
Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>213843</attachid>
            <date>2013-10-09 20:04:53 -0700</date>
            <delta_ts>2013-10-09 20:15:41 -0700</delta_ts>
            <desc>the patch</desc>
            <filename>blah.patch</filename>
            <type>text/plain</type>
            <size>159587</size>
            <attacher name="Filip Pizlo">fpizlo</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTU3MjA1KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE1MSBA
QAorMjAxMy0xMC0wOSAgRmlsaXAgUGl6bG8gIDxmcGl6bG9AYXBwbGUuY29tPgorCisgICAgICAg
IEZUTDogU29mdC1saW5rIExMVk0gYXMgYSB3b3JrYXJvdW5kIGZvciBMTFZNJ3Mgc3RhdGljIGlu
aXRpYWxpemVycyBhbmQgZXhpdC10aW1lIGRlc3RydWN0b3JzCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjI1NjYKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKyAgICAgICAgCisgICAgICAgIFRoZSBKU0MgcHJvamVjdCBub3cg
YnVpbGRzIGEgbGlibGx2bUZvckpTQy5keWxpYi4gSWYgRlRMIGlzIGVuYWJsZWQsIHRoaXMKKyAg
ICAgICAgZ2V0cyBjb3BpZWQgaW50byBKYXZhU2NyaXB0Q29yZS5mcmFtZXdvcmsvVmVyc2lvbnMv
QS9MaWJyYXJpZXMuIEpTQyB3aWxsCisgICAgICAgIGxvYWQgdGhlIGR5bGliIGJ5IGZpbmRpbmcg
aXQgdXNpbmcgTlNCdW5kbGUgQVBJcyBhbmQgdGhlbiBkb2luZyBkbG9wZW4oKS4KKyAgICAgICAg
VGhhdCB3aWxsIG9ubHkgaGFwcGVuIGxhemlseSwgd2hlbiBzb21ldGhpbmcgaGFwcGVucyB0aGF0
IHJlcXVpcmVzIExMVk0uCisgICAgICAgIAorICAgICAgICBUaGlzIG1vc3RseSB0YWtlcyBjYXJl
IG9mIExMVk0gc3RhdGljIGluaXRpYWxpemF0aW9uIG92ZXJoZWFkIGJ5IGRlZmVycmluZworICAg
ICAgICBpdCB1bnRpbCBpdCdzIHJlYWxseSBuZWVkZWQuCisgICAgICAgIAorICAgICAgICBUaGlz
IHRha2VzIGNhcmUgb2YgTExWTSdzIGV4aXQtdGltZSBkZXN0cnVjdG9ycyBiZWNhdXNlIGluc2lk
ZQorICAgICAgICBsaWJsbHZtRm9ySlNDLmR5bGliLCB3ZSBvdmVycmlkZSBfX2N4YV9hdGV4aXQu
CisgICAgICAgIAorICAgICAgICAqIENvbmZpZ3VyYXRpb25zL0phdmFTY3JpcHRDb3JlLnhjY29u
ZmlnOgorICAgICAgICAqIENvbmZpZ3VyYXRpb25zL0xMVk1Gb3JKU0MueGNjb25maWc6IEFkZGVk
LgorICAgICAgICAqIEphdmFTY3JpcHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6Cisg
ICAgICAgICogY29uZmlnLmg6CisgICAgICAgICogZGZnL0RGR1BsYW4uY3BwOgorICAgICAgICAo
SlNDOjpERkc6OlBsYW46OmNvbXBpbGVJblRocmVhZEltcGwpOgorICAgICAgICAqIGRpc2Fzc2Vt
Ymxlci9MTFZNRGlzYXNzZW1ibGVyLmNwcDoKKyAgICAgICAgKEpTQzo6dHJ5VG9EaXNhc3NlbWJs
ZVdpdGhMTFZNKToKKyAgICAgICAgKiBmdGwvRlRMQWJicmV2aWF0ZWRUeXBlcy5oOgorICAgICAg
ICAqIGZ0bC9GVExBYmJyZXZpYXRpb25zLmg6CisgICAgICAgIChKU0M6OkZUTDo6dm9pZFR5cGUp
OgorICAgICAgICAoSlNDOjpGVEw6OmludDFUeXBlKToKKyAgICAgICAgKEpTQzo6RlRMOjppbnQ4
VHlwZSk6CisgICAgICAgIChKU0M6OkZUTDo6aW50MTZUeXBlKToKKyAgICAgICAgKEpTQzo6RlRM
OjppbnQzMlR5cGUpOgorICAgICAgICAoSlNDOjpGVEw6OmludDY0VHlwZSk6CisgICAgICAgIChK
U0M6OkZUTDo6aW50UHRyVHlwZSk6CisgICAgICAgIChKU0M6OkZUTDo6ZmxvYXRUeXBlKToKKyAg
ICAgICAgKEpTQzo6RlRMOjpkb3VibGVUeXBlKToKKyAgICAgICAgKEpTQzo6RlRMOjpwb2ludGVy
VHlwZSk6CisgICAgICAgIChKU0M6OkZUTDo6c3RydWN0VHlwZSk6CisgICAgICAgIChKU0M6OkZU
TDo6ZnVuY3Rpb25UeXBlKToKKyAgICAgICAgKEpTQzo6RlRMOjp0eXBlT2YpOgorICAgICAgICAo
SlNDOjpGVEw6Om1kS2luZElEKToKKyAgICAgICAgKEpTQzo6RlRMOjptZFN0cmluZyk6CisgICAg
ICAgIChKU0M6OkZUTDo6bWROb2RlKToKKyAgICAgICAgKEpTQzo6RlRMOjpzZXRNZXRhZGF0YSk6
CisgICAgICAgIChKU0M6OkZUTDo6YWRkRnVuY3Rpb24pOgorICAgICAgICAoSlNDOjpGVEw6OnNl
dExpbmthZ2UpOgorICAgICAgICAoSlNDOjpGVEw6OnNldEZ1bmN0aW9uQ2FsbGluZ0NvbnYpOgor
ICAgICAgICAoSlNDOjpGVEw6OmdldFBhcmFtKToKKyAgICAgICAgKEpTQzo6RlRMOjpjb25zdElu
dCk6CisgICAgICAgIChKU0M6OkZUTDo6Y29uc3RSZWFsKToKKyAgICAgICAgKEpTQzo6RlRMOjpj
b25zdEludFRvUHRyKToKKyAgICAgICAgKEpTQzo6RlRMOjpjb25zdEJpdENhc3QpOgorICAgICAg
ICAoSlNDOjpGVEw6OmFwcGVuZEJhc2ljQmxvY2spOgorICAgICAgICAoSlNDOjpGVEw6Omluc2Vy
dEJhc2ljQmxvY2spOgorICAgICAgICAoSlNDOjpGVEw6OmJ1aWxkUGhpKToKKyAgICAgICAgKEpT
Qzo6RlRMOjphZGRJbmNvbWluZyk6CisgICAgICAgIChKU0M6OkZUTDo6YnVpbGRBbGxvY2EpOgor
ICAgICAgICAoSlNDOjpGVEw6OmJ1aWxkQWRkKToKKyAgICAgICAgKEpTQzo6RlRMOjpidWlsZFN1
Yik6CisgICAgICAgIChKU0M6OkZUTDo6YnVpbGRNdWwpOgorICAgICAgICAoSlNDOjpGVEw6OmJ1
aWxkRGl2KToKKyAgICAgICAgKEpTQzo6RlRMOjpidWlsZFJlbSk6CisgICAgICAgIChKU0M6OkZU
TDo6YnVpbGROZWcpOgorICAgICAgICAoSlNDOjpGVEw6OmJ1aWxkRkFkZCk6CisgICAgICAgIChK
U0M6OkZUTDo6YnVpbGRGU3ViKToKKyAgICAgICAgKEpTQzo6RlRMOjpidWlsZEZNdWwpOgorICAg
ICAgICAoSlNDOjpGVEw6OmJ1aWxkRkRpdik6CisgICAgICAgIChKU0M6OkZUTDo6YnVpbGRGUmVt
KToKKyAgICAgICAgKEpTQzo6RlRMOjpidWlsZEZOZWcpOgorICAgICAgICAoSlNDOjpGVEw6OmJ1
aWxkQW5kKToKKyAgICAgICAgKEpTQzo6RlRMOjpidWlsZE9yKToKKyAgICAgICAgKEpTQzo6RlRM
OjpidWlsZFhvcik6CisgICAgICAgIChKU0M6OkZUTDo6YnVpbGRTaGwpOgorICAgICAgICAoSlND
OjpGVEw6OmJ1aWxkQVNocik6CisgICAgICAgIChKU0M6OkZUTDo6YnVpbGRMU2hyKToKKyAgICAg
ICAgKEpTQzo6RlRMOjpidWlsZE5vdCk6CisgICAgICAgIChKU0M6OkZUTDo6YnVpbGRMb2FkKToK
KyAgICAgICAgKEpTQzo6RlRMOjpidWlsZFN0b3JlKToKKyAgICAgICAgKEpTQzo6RlRMOjpidWls
ZFNFeHQpOgorICAgICAgICAoSlNDOjpGVEw6OmJ1aWxkWkV4dCk6CisgICAgICAgIChKU0M6OkZU
TDo6YnVpbGRGUFRvU0kpOgorICAgICAgICAoSlNDOjpGVEw6OmJ1aWxkRlBUb1VJKToKKyAgICAg
ICAgKEpTQzo6RlRMOjpidWlsZFNJVG9GUCk6CisgICAgICAgIChKU0M6OkZUTDo6YnVpbGRVSVRv
RlApOgorICAgICAgICAoSlNDOjpGVEw6OmJ1aWxkSW50Q2FzdCk6CisgICAgICAgIChKU0M6OkZU
TDo6YnVpbGRGUENhc3QpOgorICAgICAgICAoSlNDOjpGVEw6OmJ1aWxkSW50VG9QdHIpOgorICAg
ICAgICAoSlNDOjpGVEw6OmJ1aWxkUHRyVG9JbnQpOgorICAgICAgICAoSlNDOjpGVEw6OmJ1aWxk
Qml0Q2FzdCk6CisgICAgICAgIChKU0M6OkZUTDo6YnVpbGRJQ21wKToKKyAgICAgICAgKEpTQzo6
RlRMOjpidWlsZEZDbXApOgorICAgICAgICAoSlNDOjpGVEw6OmJ1aWxkQ2FsbCk6CisgICAgICAg
IChKU0M6OkZUTDo6c2V0VGFpbENhbGwpOgorICAgICAgICAoSlNDOjpGVEw6OmJ1aWxkRXh0cmFj
dFZhbHVlKToKKyAgICAgICAgKEpTQzo6RlRMOjpidWlsZFNlbGVjdCk6CisgICAgICAgIChKU0M6
OkZUTDo6YnVpbGRCcik6CisgICAgICAgIChKU0M6OkZUTDo6YnVpbGRDb25kQnIpOgorICAgICAg
ICAoSlNDOjpGVEw6OmJ1aWxkU3dpdGNoKToKKyAgICAgICAgKEpTQzo6RlRMOjphZGRDYXNlKToK
KyAgICAgICAgKEpTQzo6RlRMOjpidWlsZFJldCk6CisgICAgICAgIChKU0M6OkZUTDo6YnVpbGRV
bnJlYWNoYWJsZSk6CisgICAgICAgIChKU0M6OkZUTDo6ZHVtcE1vZHVsZSk6CisgICAgICAgIChK
U0M6OkZUTDo6dmVyaWZ5TW9kdWxlKToKKyAgICAgICAgKiBmdGwvRlRMQ29tcGlsZS5jcHA6Cisg
ICAgICAgIChKU0M6OkZUTDo6Y29tcGlsZSk6CisgICAgICAgICogZnRsL0ZUTEZhaWwuY3BwOgor
ICAgICAgICAoSlNDOjpGVEw6OmZhaWwpOgorICAgICAgICAqIGZ0bC9GVExKSVRDb2RlLmg6Cisg
ICAgICAgICogZnRsL0ZUTEpJVEZpbmFsaXplci5oOgorICAgICAgICAqIGZ0bC9GVExMaW5rLmNw
cDoKKyAgICAgICAgKiBmdGwvRlRMTG93ZXJERkdUb0xMVk0uY3BwOgorICAgICAgICAoSlNDOjpG
VEw6Okxvd2VyREZHVG9MTFZNOjpsb3dlcik6CisgICAgICAgICogZnRsL0ZUTE91dHB1dC5jcHA6
CisgICAgICAgIChKU0M6OkZUTDo6T3V0cHV0OjpPdXRwdXQpOgorICAgICAgICAoSlNDOjpGVEw6
Ok91dHB1dDo6fk91dHB1dCk6CisgICAgICAgICogZnRsL0ZUTE91dHB1dC5oOgorICAgICAgICAo
SlNDOjpGVEw6Ok91dHB1dDo6YXBwZW5kVG8pOgorICAgICAgICAqIGZ0bC9GVExTdGF0ZS5jcHA6
CisgICAgICAgIChKU0M6OkZUTDo6U3RhdGU6OlN0YXRlKToKKyAgICAgICAgKEpTQzo6RlRMOjpT
dGF0ZTo6flN0YXRlKToKKyAgICAgICAgKiBmdGwvV2ViS2l0TExWTUxpYnJhcnlBbmNob3IuY3Bw
OiBSZW1vdmVkLgorICAgICAgICAqIGpzYy5jcHA6CisgICAgICAgIChqc2NtYWluKToKKyAgICAg
ICAgKiBsbHZtOiBBZGRlZC4KKyAgICAgICAgKiBsbHZtL0luaXRpYWxpemVMTFZNLmNwcDogQWRk
ZWQuCisgICAgICAgIChKU0M6OmluaXRpYWxpemVMTFZNKToKKyAgICAgICAgKiBsbHZtL0luaXRp
YWxpemVMTFZNLmg6IEFkZGVkLgorICAgICAgICAqIGxsdm0vSW5pdGlhbGl6ZUxMVk1NYWMubW06
IEFkZGVkLgorICAgICAgICAoSlNDOjppbml0aWFsaXplTExWTUltcGwpOgorICAgICAgICAqIGxs
dm0vSW5pdGlhbGl6ZUxMVk1QT1NJWC5jcHA6IEFkZGVkLgorICAgICAgICAoSlNDOjppbml0aWFs
aXplTExWTVBPU0lYKToKKyAgICAgICAgKiBsbHZtL0luaXRpYWxpemVMTFZNUE9TSVguaDogQWRk
ZWQuCisgICAgICAgICogbGx2bS9MTFZNQVBJLmNwcDogQWRkZWQuCisgICAgICAgICogbGx2bS9M
TFZNQVBJLmg6IEFkZGVkLgorICAgICAgICAqIGxsdm0vTExWTUFQSUZ1bmN0aW9ucy5oOiBBZGRl
ZC4KKyAgICAgICAgKiBsbHZtL0xMVk1IZWFkZXJzLmg6IEFkZGVkLgorICAgICAgICAqIGxsdm0v
bGlicmFyeTogQWRkZWQuCisgICAgICAgICogbGx2bS9saWJyYXJ5L0xMVk1BbmNob3IuY3BwOiBB
ZGRlZC4KKyAgICAgICAgKiBsbHZtL2xpYnJhcnkvTExWTUV4cG9ydHMuY3BwOiBBZGRlZC4KKyAg
ICAgICAgKGluaXRpYWxpemVBbmRHZXRKU0NMTFZNQVBJKToKKyAgICAgICAgKiBsbHZtL2xpYnJh
cnkvTExWTU92ZXJyaWRlcy5jcHA6IEFkZGVkLgorICAgICAgICAoX19jeGFfYXRleGl0KToKKyAg
ICAgICAgKiBsbHZtL2xpYnJhcnkvY29uZmlnX2xsdm0uaDogQWRkZWQuCisgICAgICAgICogcnVu
dGltZS9Jbml0aWFsaXplVGhyZWFkaW5nLmNwcDoKKyAgICAgICAgKEpTQzo6aW5pdGlhbGl6ZVRo
cmVhZGluZ09uY2UpOgorICAgICAgICAqIHJ1bnRpbWUvT3B0aW9ucy5oOgorCiAyMDEzLTEwLTA5
ICBGaWxpcCBQaXpsbyAgPGZwaXpsb0BhcHBsZS5jb20+CiAKICAgICAgICAgTWlub3IgY2xlYW4t
dXBzIGluIHRoZSBKU0MgWGNvZGUgcHJvamVjdC4KSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9jb25maWcuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvY29uZmlnLmgJ
KHJldmlzaW9uIDE1NzIwNCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9jb25maWcuaAkod29y
a2luZyBjb3B5KQpAQCAtNTQsNyArNTQsNyBAQAogCiAjZGVmaW5lIFdURl9DSEFOR0VTIDEKIAot
I2lmZGVmIF9fY3BsdXNwbHVzCisjaWYgZGVmaW5lZChfX2NwbHVzcGx1cykgJiYgIWRlZmluZWQo
V1RGX1NVUFBSRVNTX0ZBU1RfTUFMTE9DKQogI3VuZGVmIG5ldwogI3VuZGVmIGRlbGV0ZQogI2lu
Y2x1ZGUgPHd0Zi9GYXN0TWFsbG9jLmg+CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvanNj
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvanNjLmNwcAkocmV2aXNp
b24gMTU3MjA0KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2pzYy5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTg0NiwxMCArODQ2LDEwIEBAIGludCBqc2NtYWluKGludCBhcmdjLCBjaGFyKiogYXJn
dikKICAgICAvLyBOb3RlIHRoYXQgdGhlIG9wdGlvbnMgcGFyc2luZyBjYW4gYWZmZWN0IFZNIGNy
ZWF0aW9uLCBhbmQgdGh1cwogICAgIC8vIGNvbWVzIGZpcnN0LgogICAgIENvbW1hbmRMaW5lIG9w
dGlvbnMoYXJnYywgYXJndik7Ci0gICAgUmVmUHRyPFZNPiB2bSA9IFZNOjpjcmVhdGUoTGFyZ2VI
ZWFwKTsKKyAgICBWTSogdm0gPSBWTTo6Y3JlYXRlKExhcmdlSGVhcCkubGVha1JlZigpOwogICAg
IGludCByZXN1bHQ7CiAgICAgewotICAgICAgICBBUElFbnRyeVNoaW0gc2hpbSh2bS5nZXQoKSk7
CisgICAgICAgIEFQSUVudHJ5U2hpbSBzaGltKHZtKTsKIAogICAgICAgICBpZiAob3B0aW9ucy5t
X3Byb2ZpbGUgJiYgIXZtLT5tX3BlckJ5dGVjb2RlUHJvZmlsZXIpCiAgICAgICAgICAgICB2bS0+
bV9wZXJCeXRlY29kZVByb2ZpbGVyID0gYWRvcHRQdHIobmV3IFByb2ZpbGVyOjpEYXRhYmFzZSgq
dm0pKTsKQEAgLTg3MCwxNCArODcwLDYgQEAgaW50IGpzY21haW4oaW50IGFyZ2MsIGNoYXIqKiBh
cmd2KQogICAgICAgICB9CiAgICAgfQogICAgIAotICAgIGlmIChPcHRpb25zOjpuZXZlckRlbGV0
ZVZNSW5Db21tYW5kTGluZSgpKSB7Ci0gICAgICAgIEpTQzo6Vk0qIHRlbXAgPSB2bS5yZWxlYXNl
KCkubGVha1JlZigpOwotICAgICAgICBVTlVTRURfUEFSQU0odGVtcCk7Ci0gICAgfSBlbHNlIHsK
LSAgICAgICAgSlNMb2NrSG9sZGVyIGxvY2soKnZtKTsKLSAgICAgICAgdm0uY2xlYXIoKTsKLSAg
ICB9Ci0gICAgCiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIApJbmRleDogU291cmNlL0phdmFTY3Jp
cHRDb3JlL0NvbmZpZ3VyYXRpb25zL0phdmFTY3JpcHRDb3JlLnhjY29uZmlnCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9Db25maWd1cmF0aW9ucy9KYXZhU2NyaXB0Q29yZS54
Y2NvbmZpZwkocmV2aXNpb24gMTU3MjA0KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL0NvbmZp
Z3VyYXRpb25zL0phdmFTY3JpcHRDb3JlLnhjY29uZmlnCSh3b3JraW5nIGNvcHkpCkBAIC0zNSwx
NSArMzUsMTEgQEAgSlNWQUxVRV9NT0RFTF94ODZfNjQgPSA2NDsKIC8vIFByZXZlbnQgQysrIHN0
YW5kYXJkIGxpYnJhcnkgb3BlcmF0b3IgbmV3LCBkZWxldGUgYW5kIHRoZWlyIHJlbGF0ZWQgZXhj
ZXB0aW9uIHR5cGVzIGZyb20gYmVpbmcgZXhwb3J0ZWQgYXMgd2VhayBzeW1ib2xzLgogT1RIRVJf
TERGTEFHU19ISURFX1NZTUJPTFMgPSAtV2wsLXVuZXhwb3J0ZWRfc3ltYm9sIC1XbCxfX1pUSVN0
OWJhZF9hbGxvYyAtV2wsLXVuZXhwb3J0ZWRfc3ltYm9sIC1XbCxfX1pUSVN0OWV4Y2VwdGlvbiAt
V2wsLXVuZXhwb3J0ZWRfc3ltYm9sIC1XbCxfX1pUU1N0OWJhZF9hbGxvYyAtV2wsLXVuZXhwb3J0
ZWRfc3ltYm9sIC1XbCxfX1pUU1N0OWV4Y2VwdGlvbiAtV2wsLXVuZXhwb3J0ZWRfc3ltYm9sIC1X
bCxfX1pkbFB2U18gLVdsLC11bmV4cG9ydGVkX3N5bWJvbCAtV2wsX19abndtUHYgLVdsLC1hbGxf
bG9hZDsKIAotT1RIRVJfTERGTEFHU19MTFZNID0gJChPVEhFUl9MREZMQUdTX0xMVk1fJChFTkFC
TEVfRlRMX0pJVCkpOwotT1RIRVJfTERGTEFHU19MTFZNXyA9IDsKLU9USEVSX0xERkxBR1NfTExW
TV9FTkFCTEVfRlRMX0pJVCA9IC1scHRocmVhZCAtbG0gLWxMTFZNVGFibGVHZW4gLWxMTFZNRGVi
dWdJbmZvIC1sTExWTU9wdGlvbiAtbExMVk1YODZEaXNhc3NlbWJsZXIgLWxMTFZNWDg2QXNtUGFy
c2VyIC1sTExWTVg4NkNvZGVHZW4gLWxMTFZNU2VsZWN0aW9uREFHIC1sTExWTUFzbVByaW50ZXIg
LWxMTFZNWDg2RGVzYyAtbExMVk1YODZJbmZvIC1sTExWTVg4NkFzbVByaW50ZXIgLWxMTFZNWDg2
VXRpbHMgLWxMTFZNSVJSZWFkZXIgLWxMTFZNQXNtUGFyc2VyIC1sTExWTU1DRGlzYXNzZW1ibGVy
IC1sTExWTU1DUGFyc2VyIC1sTExWTUluc3RydW1lbnRhdGlvbiAtbExMVk1CaXRSZWFkZXIgLWxM
TFZNSW50ZXJwcmV0ZXIgLWxMTFZNaXBvIC1sTExWTVZlY3Rvcml6ZSAtbExMVk1MaW5rZXIgLWxM
TFZNQml0V3JpdGVyIC1sTExWTU1DSklUIC1sTExWTUpJVCAtbExMVk1Db2RlR2VuIC1sTExWTU9i
akNBUkNPcHRzIC1sTExWTVNjYWxhck9wdHMgLWxMTFZNSW5zdENvbWJpbmUgLWxMTFZNVHJhbnNm
b3JtVXRpbHMgLWxMTFZNaXBhIC1sTExWTUFuYWx5c2lzIC1sTExWTVJ1bnRpbWVEeWxkIC1sTExW
TUV4ZWN1dGlvbkVuZ2luZSAtbExMVk1UYXJnZXQgLWxMTFZNTUMgLWxMTFZNT2JqZWN0IC1sTExW
TUNvcmUgLWxMTFZNU3VwcG9ydDsKLQogT1RIRVJfTERGTEFHU19CQVNFID0gLWxvYmpjIC1XbCwt
WSwzICQoT1RIRVJfTERGTEFHU19ISURFX1NZTUJPTFMpOwogT1RIRVJfTERGTEFHUyA9ICQoaW5o
ZXJpdGVkKSAkKE9USEVSX0xERkxBR1NfJChQTEFURk9STV9OQU1FKSk7CiBPVEhFUl9MREZMQUdT
X2lwaG9uZW9zID0gJChPVEhFUl9MREZMQUdTX0JBU0UpOwogT1RIRVJfTERGTEFHU19pcGhvbmVz
aW11bGF0b3IgPSAkKE9USEVSX0xERkxBR1NfaXBob25lb3MpOwotT1RIRVJfTERGTEFHU19tYWNv
c3ggPSAkKE9USEVSX0xERkxBR1NfQkFTRSkgJChPVEhFUl9MREZMQUdTX0xMVk0pIC1zdWJfbGli
cmFyeSBsaWJvYmpjIC1mcmFtZXdvcmsgQ29yZVNlcnZpY2VzOworT1RIRVJfTERGTEFHU19tYWNv
c3ggPSAkKE9USEVSX0xERkxBR1NfQkFTRSkgLXN1Yl9saWJyYXJ5IGxpYm9iamMgLWZyYW1ld29y
ayBDb3JlU2VydmljZXM7CiBHQ0NfUFJFRklYX0hFQURFUiA9IEphdmFTY3JpcHRDb3JlUHJlZml4
Lmg7CiBHQ0NfU1lNQk9MU19QUklWQVRFX0VYVEVSTiA9IFlFUzsKIEhFQURFUl9TRUFSQ0hfUEFU
SFMgPSAiJHtCVUlMVF9QUk9EVUNUU19ESVJ9L0Rlcml2ZWRTb3VyY2VzL0phdmFTY3JpcHRDb3Jl
IiAkKEhFQURFUl9TRUFSQ0hfUEFUSFMpOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL0Nv
bmZpZ3VyYXRpb25zL0xMVk1Gb3JKU0MueGNjb25maWcKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0ph
dmFTY3JpcHRDb3JlL0NvbmZpZ3VyYXRpb25zL0xMVk1Gb3JKU0MueGNjb25maWcJKHJldmlzaW9u
IDApCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvQ29uZmlndXJhdGlvbnMvTExWTUZvckpTQy54
Y2NvbmZpZwkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDQ0IEBACisvLyBDb3B5cmlnaHQgKEMp
IDIwMTMgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8KKy8vIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAor
Ly8gbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zCisvLyBhcmUgbWV0OgorLy8gMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKy8vICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKy8vIDIu
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUg
Y29weXJpZ2h0CisvLyAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisvLyAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorLy8KKy8vIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQor
Ly8gRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBUSEUKKy8vIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorLy8gUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElO
IE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKy8vIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUg
Rk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorLy8gRVhFTVBM
QVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLAorLy8gUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9T
UyBPRiBVU0UsIERBVEEsIE9SCisvLyBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04p
IEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisvLyBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKy8vIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RQorLy8gT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4gCisKKyNpbmNsdWRlICJGZWF0dXJlRGVmaW5lcy54Y2NvbmZpZyIK
KyNpbmNsdWRlICJWZXJzaW9uLnhjY29uZmlnIgorCisvLyBQcmV2ZW50IEMrKyBzdGFuZGFyZCBs
aWJyYXJ5IG9wZXJhdG9yIG5ldywgZGVsZXRlIGFuZCB0aGVpciByZWxhdGVkIGV4Y2VwdGlvbiB0
eXBlcyBmcm9tIGJlaW5nIGV4cG9ydGVkIGFzIHdlYWsgc3ltYm9scy4KK09USEVSX0xERkxBR1Nf
SElERV9TWU1CT0xTID0gLVdsLC11bmV4cG9ydGVkX3N5bWJvbCAtV2wsX19aVElTdDliYWRfYWxs
b2MgLVdsLC11bmV4cG9ydGVkX3N5bWJvbCAtV2wsX19aVElTdDlleGNlcHRpb24gLVdsLC11bmV4
cG9ydGVkX3N5bWJvbCAtV2wsX19aVFNTdDliYWRfYWxsb2MgLVdsLC11bmV4cG9ydGVkX3N5bWJv
bCAtV2wsX19aVFNTdDlleGNlcHRpb24gLVdsLC11bmV4cG9ydGVkX3N5bWJvbCAtV2wsX19aZGxQ
dlNfIC1XbCwtdW5leHBvcnRlZF9zeW1ib2wgLVdsLF9fWm53bVB2IC1XbCwtYWxsX2xvYWQ7CisK
K09USEVSX0xERkxBR1NfTExWTSA9ICQoT1RIRVJfTERGTEFHU19MTFZNXyQoRU5BQkxFX0ZUTF9K
SVQpKTsKK09USEVSX0xERkxBR1NfTExWTV8gPSA7CitPVEhFUl9MREZMQUdTX0xMVk1fRU5BQkxF
X0ZUTF9KSVQgPSAtbHB0aHJlYWQgLWxtIC1sTExWTVRhYmxlR2VuIC1sTExWTURlYnVnSW5mbyAt
bExMVk1PcHRpb24gLWxMTFZNWDg2RGlzYXNzZW1ibGVyIC1sTExWTVg4NkFzbVBhcnNlciAtbExM
Vk1YODZDb2RlR2VuIC1sTExWTVNlbGVjdGlvbkRBRyAtbExMVk1Bc21QcmludGVyIC1sTExWTVg4
NkRlc2MgLWxMTFZNWDg2SW5mbyAtbExMVk1YODZBc21QcmludGVyIC1sTExWTVg4NlV0aWxzIC1s
TExWTUlSUmVhZGVyIC1sTExWTUFzbVBhcnNlciAtbExMVk1NQ0Rpc2Fzc2VtYmxlciAtbExMVk1N
Q1BhcnNlciAtbExMVk1JbnN0cnVtZW50YXRpb24gLWxMTFZNQml0UmVhZGVyIC1sTExWTUludGVy
cHJldGVyIC1sTExWTWlwbyAtbExMVk1WZWN0b3JpemUgLWxMTFZNTGlua2VyIC1sTExWTUJpdFdy
aXRlciAtbExMVk1NQ0pJVCAtbExMVk1KSVQgLWxMTFZNQ29kZUdlbiAtbExMVk1PYmpDQVJDT3B0
cyAtbExMVk1TY2FsYXJPcHRzIC1sTExWTUluc3RDb21iaW5lIC1sTExWTVRyYW5zZm9ybVV0aWxz
IC1sTExWTWlwYSAtbExMVk1BbmFseXNpcyAtbExMVk1SdW50aW1lRHlsZCAtbExMVk1FeGVjdXRp
b25FbmdpbmUgLWxMTFZNVGFyZ2V0IC1sTExWTU1DIC1sTExWTU9iamVjdCAtbExMVk1Db3JlIC1s
TExWTVN1cHBvcnQ7CisKK09USEVSX0xERkxBR1NfQkFTRSA9IC1sb2JqYyAtV2wsLVksMyAkKE9U
SEVSX0xERkxBR1NfSElERV9TWU1CT0xTKTsKK09USEVSX0xERkxBR1MgPSAkKGluaGVyaXRlZCkg
JChPVEhFUl9MREZMQUdTXyQoUExBVEZPUk1fTkFNRSkpOworT1RIRVJfTERGTEFHU19pcGhvbmVv
cyA9ICQoT1RIRVJfTERGTEFHU19CQVNFKTsKK09USEVSX0xERkxBR1NfaXBob25lc2ltdWxhdG9y
ID0gJChPVEhFUl9MREZMQUdTX2lwaG9uZW9zKTsKK09USEVSX0xERkxBR1NfbWFjb3N4ID0gJChP
VEhFUl9MREZMQUdTX0JBU0UpICQoT1RIRVJfTERGTEFHU19MTFZNKQorR0NDX1NZTUJPTFNfUFJJ
VkFURV9FWFRFUk4gPSBZRVM7CitIRUFERVJfU0VBUkNIX1BBVEhTID0gIiQoQlVJTFRfUFJPRFVD
VFNfRElSKS9EZXJpdmVkU291cmNlcy9KYXZhU2NyaXB0Q29yZSIgJChIRUFERVJfU0VBUkNIX1BB
VEhTKTsKKworUFJPRFVDVF9OQU1FID0gbGx2bUZvckpTQzsKK0VYRUNVVEFCTEVfUFJFRklYID0g
bGliOworCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvago9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
SmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkocmV2aXNpb24gMTU3MjA0
KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2oJKHdvcmtpbmcgY29weSkKQEAgLTI1Nyw3ICsyNTcsNiBAQAogCQkwRjYzOTQ4
NTE1RTQ4MTFCMDA2QTU5N0MgLyogREZHQXJyYXlNb2RlLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjYzOTQ4MjE1RTQ4MTE0MDA2QTU5N0MgLyogREZH
QXJyYXlNb2RlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsg
fTsKIAkJMEY2NkUxNkIxNERGM0YxNjAwQjdCMkU0IC8qIERGR0FkamFjZW5jeUxpc3QuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGNjZFMTY4MTRERjNG
MTMwMEI3QjJFNCAvKiBERkdBZGphY2VuY3lMaXN0LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVU
RVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJMEY2NkUxNkMxNERGM0YxNjAwQjdCMkU0IC8qIERG
R0VkZ2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBG
NjZFMTY5MTRERjNGMTMwMEI3QjJFNCAvKiBERkdFZGdlLmggKi87IHNldHRpbmdzID0ge0FUVFJJ
QlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKLQkJMEY2RTVDMTkxNzI0QUYzRDAwNUM1NzRGIC8q
IFdlYktpdExMVk1MaWJyYXJ5QW5jaG9yLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDBGNkU1QzE4MTcyNEFGM0QwMDVDNTc0RiAvKiBXZWJLaXRMTFZN
TGlicmFyeUFuY2hvci5jcHAgKi87IH07CiAJCTBGNzAyNUE5MTcxNEIwRkEwMDM4MkMwRSAvKiBE
RkdPU1JFeGl0Q29tcGlsZXJDb21tb24uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gMEY3MDI1QTcxNzE0QjBGODAwMzgyQzBFIC8qIERGR09TUkV4aXRD
b21waWxlckNvbW1vbi5jcHAgKi87IH07CiAJCTBGNzAyNUFBMTcxNEIwRkMwMDM4MkMwRSAvKiBE
RkdPU1JFeGl0Q29tcGlsZXJDb21tb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDBGNzAyNUE4MTcxNEIwRjgwMDM4MkMwRSAvKiBERkdPU1JFeGl0Q29t
cGlsZXJDb21tb24uaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9
OyB9OwogCQkwRjcxNENBNDE2RUE5MkYwMDBGM0VCRUIgLyogREZHQmFja3dhcmRzUHJvcGFnYXRp
b25QaGFzZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSAwRjcxNENBMTE2RUE5MkVEMDBGM0VCRUIgLyogREZHQmFja3dhcmRzUHJvcGFnYXRpb25QaGFz
ZS5jcHAgKi87IH07CkBAIC0zNzIsNiArMzcxLDIyIEBACiAJCTBGQzgxNTE1MTQwNTExOUIwMENG
QTYwMyAvKiBWVGFibGVTcGVjdHJ1bS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gMEZDODE1MTQxNDA1MTE4RDAwQ0ZBNjAzIC8qIFZUYWJsZVNwZWN0cnVt
LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJMEZD
ODE1MTYxNDA1MTFCNTAwQ0ZBNjAzIC8qIFZUYWJsZVNwZWN0cnVtLmNwcCBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGQzgxNTEyMTQwNTExODYwMENGQTYw
MyAvKiBWVGFibGVTcGVjdHJ1bS5jcHAgKi87IH07CiAJCTBGQ0NBRTQ1MTZEMENGNzQwMEQwQzY1
QiAvKiBQYXJzZXJFcnJvci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gMEZDQ0FFNDMxNkQwQ0Y2RTAwRDBDNjVCIC8qIFBhcnNlckVycm9yLmggKi87IHNl
dHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMEZDRUZBQjAxODA1
Q0E2RDAwNDcyQ0U0IC8qIEluaXRpYWxpemVMTFZNLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRkNFRkFBRTE4MDVDQTZEMDA0NzJDRTQgLyogSW5pdGlh
bGl6ZUxMVk0uaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9
OworCQkwRkNFRkFCMTE4MDVDQTZEMDA0NzJDRTQgLyogSW5pdGlhbGl6ZUxMVk1NYWMubW0gaW4g
U291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRkNFRkFBRjE4MDVD
QTZEMDA0NzJDRTQgLyogSW5pdGlhbGl6ZUxMVk1NYWMubW0gKi87IH07CisJCTBGQ0VGQUMxMTgw
NUQ5NEUwMDQ3MkNFNCAvKiBMTFZNT3ZlcnJpZGVzLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGQ0VGQUMwMTgwNUQ5NDEwMDQ3MkNFNCAvKiBMTFZN
T3ZlcnJpZGVzLmNwcCAqLzsgfTsKKwkJMEZDRUZBQzMxODA1RTc0MDAwNDcyQ0U0IC8qIExMVk1F
eHBvcnRzLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDBGQ0VGQUMyMTgwNUU3NDAwMDQ3MkNFNCAvKiBMTFZNRXhwb3J0cy5jcHAgKi87IH07CisJCTBG
Q0VGQUNBMTgwNUU3NTUwMDQ3MkNFNCAvKiBJbml0aWFsaXplTExWTS5jcHAgaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRkNFRkFDNDE4MDVFNzU1MDA0NzJD
RTQgLyogSW5pdGlhbGl6ZUxMVk0uY3BwICovOyB9OworCQkwRkNFRkFDQjE4MDVFNzU1MDA0NzJD
RTQgLyogSW5pdGlhbGl6ZUxMVk1QT1NJWC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSAwRkNFRkFDNTE4MDVFNzU1MDA0NzJDRTQgLyogSW5pdGlhbGl6
ZUxMVk1QT1NJWC5jcHAgKi87IH07CisJCTBGQ0VGQUNDMTgwNUU3NTUwMDQ3MkNFNCAvKiBJbml0
aWFsaXplTExWTVBPU0lYLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSAwRkNFRkFDNjE4MDVFNzU1MDA0NzJDRTQgLyogSW5pdGlhbGl6ZUxMVk1QT1NJWC5o
ICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTBGQ0VG
QUNEMTgwNUU3NTUwMDQ3MkNFNCAvKiBMTFZNQVBJLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGQ0VGQUM3MTgwNUU3NTUwMDQ3MkNFNCAvKiBMTFZN
QVBJLmNwcCAqLzsgfTsKKwkJMEZDRUZBQ0UxODA1RTc1NTAwNDcyQ0U0IC8qIExMVk1BUEkuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGQ0VGQUM4MTgw
NUU3NTUwMDQ3MkNFNCAvKiBMTFZNQVBJLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAo
UHJpdmF0ZSwgKTsgfTsgfTsKKwkJMEZDRUZBQ0YxODA1RTc1NTAwNDcyQ0U0IC8qIExMVk1BUElG
dW5jdGlvbnMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDBGQ0VGQUM5MTgwNUU3NTUwMDQ3MkNFNCAvKiBMTFZNQVBJRnVuY3Rpb25zLmggKi87IHNldHRp
bmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMEZDRUZBRDExODA1RTc3
OTAwNDcyQ0U0IC8qIExMVk1BUElGdW5jdGlvbnMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGQ0VGQUM5MTgwNUU3NTUwMDQ3MkNFNCAvKiBMTFZNQVBJ
RnVuY3Rpb25zLmggKi87IH07CisJCTBGQ0VGQUQzMTgwNUVEQ0MwMDQ3MkNFNCAvKiBMTFZNSGVh
ZGVycy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZD
RUZBRDIxODA1RURDQzAwNDcyQ0U0IC8qIExMVk1IZWFkZXJzLmggKi87IHNldHRpbmdzID0ge0FU
VFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMEZDRUZBRDQxODA1RURDQzAwNDcyQ0U0
IC8qIExMVk1IZWFkZXJzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSAwRkNFRkFEMjE4MDVFRENDMDA0NzJDRTQgLyogTExWTUhlYWRlcnMuaCAqLzsgfTsK
KwkJMEZDRUZBRDcxODA2MTc0NjAwNDcyQ0U0IC8qIExMVk1BbmNob3IuY3BwIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZDRUZBRDYxODA2MTc0NjAwNDcy
Q0U0IC8qIExMVk1BbmNob3IuY3BwICovOyB9OworCQkwRkNFRkFEQTE4MDYyMERBMDA0NzJDRTQg
LyogTExWTUFQSS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gMEZDRUZBQzgxODA1RTc1NTAwNDcyQ0U0IC8qIExMVk1BUEkuaCAqLzsgfTsKKwkJMEZDRUZB
REMxODA2NEExNDAwNDcyQ0U0IC8qIGNvbmZpZ19sbHZtLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRkNFRkFEQjE4MDY0QTE0MDA0NzJDRTQgLyogY29u
ZmlnX2xsdm0uaCAqLzsgfTsKIAkJMEZEMkM5MjQxNkQwMUVFOTAwQzc4MDNGIC8qIFN0cnVjdHVy
ZUlubGluZXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDBGRDJDOTIzMTZEMDFFRTkwMEM3ODAzRiAvKiBTdHJ1Y3R1cmVJbmxpbmVzLmggKi87IHNldHRp
bmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJMEZEM0M4MjYxNDExNUQ0
MDAwRkQ4MUNCIC8qIERGR0RyaXZlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSAwRkQzQzgyMDE0MTE1Q0Y4MDBGRDgxQ0IgLyogREZHRHJpdmVyLmNw
cCAqLzsgfTsKIAkJMEZEM0M4MjgxNDExNUQ0RjAwRkQ4MUNCIC8qIERGR0RyaXZlci5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZEM0M4MjIxNDExNUQw
RTAwRkQ4MUNCIC8qIERGR0RyaXZlci5oICovOyB9OwpAQCAtMTE4MSw2ICsxMTk2LDEzIEBACiAv
KiBFbmQgUEJYQnVpbGRGaWxlIHNlY3Rpb24gKi8KIAogLyogQmVnaW4gUEJYQ29udGFpbmVySXRl
bVByb3h5IHNlY3Rpb24gKi8KKwkJMEZDRUZBQkMxODA1RDY2MzAwNDcyQ0U0IC8qIFBCWENvbnRh
aW5lckl0ZW1Qcm94eSAqLyA9IHsKKwkJCWlzYSA9IFBCWENvbnRhaW5lckl0ZW1Qcm94eTsKKwkJ
CWNvbnRhaW5lclBvcnRhbCA9IDA4NjdENjkwRkU4NDAyOEZDMDJBQUMwNyAvKiBQcm9qZWN0IG9i
amVjdCAqLzsKKwkJCXByb3h5VHlwZSA9IDE7CisJCQlyZW1vdGVHbG9iYWxJRFN0cmluZyA9IDBG
Q0VGQUI1MTgwNUQ2MTYwMDQ3MkNFNDsKKwkJCXJlbW90ZUluZm8gPSBsbHZtRm9ySlNDOworCQl9
OwogCQkwRkY5MjJEMjE0RjQ2QjJGMDA0MUEyNEUgLyogUEJYQ29udGFpbmVySXRlbVByb3h5ICov
ID0gewogCQkJaXNhID0gUEJYQ29udGFpbmVySXRlbVByb3h5OwogCQkJY29udGFpbmVyUG9ydGFs
ID0gMDg2N0Q2OTBGRTg0MDI4RkMwMkFBQzA3IC8qIFByb2plY3Qgb2JqZWN0ICovOwpAQCAtMTQ3
MSw3ICsxNDkzLDYgQEAKIAkJMEY2Mzk0ODIxNUU0ODExNDAwNkE1OTdDIC8qIERGR0FycmF5TW9k
ZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBERkdBcnJheU1vZGUuaDsgcGF0
aCA9IGRmZy9ERkdBcnJheU1vZGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMEY2
NkUxNjgxNERGM0YxMzAwQjdCMkU0IC8qIERGR0FkamFjZW5jeUxpc3QuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBuYW1lID0gREZHQWRqYWNlbmN5TGlzdC5oOyBwYXRoID0gZGZnL0RGR0Fk
amFjZW5jeUxpc3QuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMEY2NkUxNjkxNERG
M0YxMzAwQjdCMkU0IC8qIERGR0VkZ2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1l
ID0gREZHRWRnZS5oOyBwYXRoID0gZGZnL0RGR0VkZ2UuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKLQkJMEY2RTVDMTgxNzI0QUYzRDAwNUM1NzRGIC8qIFdlYktpdExMVk1MaWJyYXJ5QW5j
aG9yLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IFdlYktpdExMVk1M
aWJyYXJ5QW5jaG9yLmNwcDsgcGF0aCA9IGZ0bC9XZWJLaXRMTFZNTGlicmFyeUFuY2hvci5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTBGNzAyNUE3MTcxNEIwRjgwMDM4MkMwRSAv
KiBERkdPU1JFeGl0Q29tcGlsZXJDb21tb24uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
Y3BwOyBuYW1lID0gREZHT1NSRXhpdENvbXBpbGVyQ29tbW9uLmNwcDsgcGF0aCA9IGRmZy9ERkdP
U1JFeGl0Q29tcGlsZXJDb21tb24uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkw
RjcwMjVBODE3MTRCMEY4MDAzODJDMEUgLyogREZHT1NSRXhpdENvbXBpbGVyQ29tbW9uLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IERGR09TUkV4aXRDb21waWxlckNvbW1vbi5o
OyBwYXRoID0gZGZnL0RGR09TUkV4aXRDb21waWxlckNvbW1vbi5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQkwRjcxNENBMTE2RUE5MkVEMDBGM0VCRUIgLyogREZHQmFja3dhcmRzUHJv
cGFnYXRpb25QaGFzZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBE
RkdCYWNrd2FyZHNQcm9wYWdhdGlvblBoYXNlLmNwcDsgcGF0aCA9IGRmZy9ERkdCYWNrd2FyZHNQ
cm9wYWdhdGlvblBoYXNlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTE1OTgs
NiArMTYxOSwyMSBAQAogCQkwRkM4MTUxNDE0MDUxMThEMDBDRkE2MDMgLyogVlRhYmxlU3BlY3Ry
dW0uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gVlRhYmxlU3BlY3RydW0uaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMEZDQjQwODUxNUMwQTNDMzAwNDg5MzJCIC8q
IFNsb3RWaXNpdG9ySW5saW5lcy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBT
bG90VmlzaXRvcklubGluZXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMEZDQ0FF
NDMxNkQwQ0Y2RTAwRDBDNjVCIC8qIFBhcnNlckVycm9yLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IFBhcnNlckVycm9yLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CTBGQ0VGQUFFMTgwNUNBNkQwMDQ3MkNFNCAvKiBJbml0aWFsaXplTExWTS5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IG5hbWUgPSBJbml0aWFsaXplTExWTS5oOyBwYXRoID0gbGx2bS9Jbml0
aWFsaXplTExWTS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRkNFRkFBRjE4MDVD
QTZEMDA0NzJDRTQgLyogSW5pdGlhbGl6ZUxMVk1NYWMubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5vYmpjcHA7IG5hbWUgPSBJbml0aWFsaXplTExWTU1hYy5tbTsgcGF0aCA9IGxsdm0vSW5p
dGlhbGl6ZUxMVk1NYWMubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGQ0VGQUI2
MTgwNUQ2MTYwMDQ3MkNFNCAvKiBsaWJsbHZtRm9ySlNDLmR5bGliICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGV4cGxpY2l0RmlsZVR5cGUgPSAiY29tcGlsZWQubWFjaC1vLmR5bGliIjsg
aW5jbHVkZUluSW5kZXggPSAwOyBwYXRoID0gbGlibGx2bUZvckpTQy5keWxpYjsgc291cmNlVHJl
ZSA9IEJVSUxUX1BST0RVQ1RTX0RJUjsgfTsKKwkJMEZDRUZBQkUxODA1RDg2OTAwNDcyQ0U0IC8q
IExMVk1Gb3JKU0MueGNjb25maWcgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtu
b3duRmlsZVR5cGUgPSB0ZXh0LnhjY29uZmlnOyBwYXRoID0gTExWTUZvckpTQy54Y2NvbmZpZzsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEZDRUZBQzAxODA1RDk0MTAwNDcyQ0U0IC8q
IExMVk1PdmVycmlkZXMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gTExWTU92ZXJyaWRlcy5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGQ0VGQUMyMTgwNUU3NDAwMDQ3MkNFNCAv
KiBMTFZNRXhwb3J0cy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBM
TFZNRXhwb3J0cy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGQ0VGQUM0MTgw
NUU3NTUwMDQ3MkNFNCAvKiBJbml0aWFsaXplTExWTS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IG5hbWUgPSBJbml0aWFsaXplTExWTS5jcHA7IHBhdGggPSBsbHZtL0luaXRpYWxp
emVMTFZNLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEZDRUZBQzUxODA1RTc1
NTAwNDcyQ0U0IC8qIEluaXRpYWxpemVMTFZNUE9TSVguY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBuYW1lID0gSW5pdGlhbGl6ZUxMVk1QT1NJWC5jcHA7IHBhdGggPSBsbHZtL0lu
aXRpYWxpemVMTFZNUE9TSVguY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRkNF
RkFDNjE4MDVFNzU1MDA0NzJDRTQgLyogSW5pdGlhbGl6ZUxMVk1QT1NJWC5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IG5hbWUgPSBJbml0aWFsaXplTExWTVBPU0lYLmg7IHBhdGggPSBsbHZt
L0luaXRpYWxpemVMTFZNUE9TSVguaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEZD
RUZBQzcxODA1RTc1NTAwNDcyQ0U0IC8qIExMVk1BUEkuY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBuYW1lID0gTExWTUFQSS5jcHA7IHBhdGggPSBsbHZtL0xMVk1BUEkuY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRkNFRkFDODE4MDVFNzU1MDA0NzJDRTQgLyog
TExWTUFQSS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBMTFZNQVBJLmg7IHBh
dGggPSBsbHZtL0xMVk1BUEkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEZDRUZB
QzkxODA1RTc1NTAwNDcyQ0U0IC8qIExMVk1BUElGdW5jdGlvbnMuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBuYW1lID0gTExWTUFQSUZ1bmN0aW9ucy5oOyBwYXRoID0gbGx2bS9MTFZNQVBJ
RnVuY3Rpb25zLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGQ0VGQUQyMTgwNUVE
Q0MwMDQ3MkNFNCAvKiBMTFZNSGVhZGVycy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5h
bWUgPSBMTFZNSGVhZGVycy5oOyBwYXRoID0gbGx2bS9MTFZNSGVhZGVycy5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQkwRkNFRkFENjE4MDYxNzQ2MDA0NzJDRTQgLyogTExWTUFuY2hv
ci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBMTFZNQW5jaG9yLmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEZDRUZBREIxODA2NEExNDAwNDcyQ0U0
IC8qIGNvbmZpZ19sbHZtLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IGNvbmZp
Z19sbHZtLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTBGRDJDOTIzMTZEMDFFRTkw
MEM3ODAzRiAvKiBTdHJ1Y3R1cmVJbmxpbmVzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IFN0cnVjdHVyZUlubGluZXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
MEZEM0M4MjAxNDExNUNGODAwRkQ4MUNCIC8qIERGR0RyaXZlci5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBERkdEcml2ZXIuY3BwOyBwYXRoID0gZGZnL0RGR0RyaXZl
ci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTBGRDNDODIyMTQxMTVEMEUwMEZE
ODFDQiAvKiBERkdEcml2ZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gREZH
RHJpdmVyLmg7IHBhdGggPSBkZmcvREZHRHJpdmVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CkBAIC0yNDMxLDYgKzI0NjcsMTMgQEAKIC8qIEVuZCBQQlhGaWxlUmVmZXJlbmNlIHNlY3Rp
b24gKi8KIAogLyogQmVnaW4gUEJYRnJhbWV3b3Jrc0J1aWxkUGhhc2Ugc2VjdGlvbiAqLworCQkw
RkNFRkFCMzE4MDVENjE2MDA0NzJDRTQgLyogRnJhbWV3b3JrcyAqLyA9IHsKKwkJCWlzYSA9IFBC
WEZyYW1ld29ya3NCdWlsZFBoYXNlOworCQkJYnVpbGRBY3Rpb25NYXNrID0gMjE0NzQ4MzY0NzsK
KwkJCWZpbGVzID0gKAorCQkJKTsKKwkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3Np
bmcgPSAwOworCQl9OwogCQkwRkY5MjJDNjE0RjQ2QjEzMDA0MUEyNEUgLyogRnJhbWV3b3JrcyAq
LyA9IHsKIAkJCWlzYSA9IFBCWEZyYW1ld29ya3NCdWlsZFBoYXNlOwogCQkJYnVpbGRBY3Rpb25N
YXNrID0gMjE0NzQ4MzY0NzsKQEAgLTI0OTksNiArMjU0Miw3IEBACiAJCQkJMTQxMjExMjAwQTQ4
NzkzQzAwNDgwMjU1IC8qIG1pbmlkb20gKi8sCiAJCQkJMTRCRDU5QkYwQTNFOEY5MDAwQkFGNTlD
IC8qIHRlc3RhcGkgKi8sCiAJCQkJNjUxMTIzMDUxNDA0NkE0QzAwMkIxMDFEIC8qIHRlc3RSZWdF
eHAgKi8sCisJCQkJMEZDRUZBQjYxODA1RDYxNjAwNDcyQ0U0IC8qIGxpYmxsdm1Gb3JKU0MuZHls
aWIgKi8sCiAJCQkpOwogCQkJbmFtZSA9IFByb2R1Y3RzOwogCQkJc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsKQEAgLTI1MzEsNiArMjU3NSw3IEBACiAJCQkJMTQyOUQ3N0EwRUQyMEQ3MzAwQjg5NjE5
IC8qIGludGVycHJldGVyICovLAogCQkJCTE0MjlEOTJDMEVEMjJENzAwMEI4OTYxOSAvKiBqaXQg
Ki8sCiAJCQkJMEY0NjgwOUMxNEJBN0Y0RDAwQkZFMjcyIC8qIGxsaW50ICovLAorCQkJCTBGQ0VG
QUFEMTgwNUNBNDQwMDQ3MkNFNCAvKiBsbHZtICovLAogCQkJCTdFMzlEODM3MEVDM0EzODgwMDNB
RjExQSAvKiBwYXJzZXIgKi8sCiAJCQkJMDM0NzY4REZGRjM4QTUwNDExREI5QzhCIC8qIFByb2R1
Y3RzICovLAogCQkJCTk1QUI4MzFBMERBNDJDNjkwMEJDODNGMyAvKiBwcm9maWxlciAqLywKQEAg
LTI1ODgsNiArMjYzMywzNSBAQAogCQkJbmFtZSA9IGxsaW50OwogCQkJc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsKIAkJfTsKKwkJMEZDRUZBQUQxODA1Q0E0NDAwNDcyQ0U0IC8qIGxsdm0gKi8gPSB7
CisJCQlpc2EgPSBQQlhHcm91cDsKKwkJCWNoaWxkcmVuID0gKAorCQkJCTBGQ0VGQUJGMTgwNUQ5
NDEwMDQ3MkNFNCAvKiBsaWJyYXJ5ICovLAorCQkJCTBGQ0VGQUM0MTgwNUU3NTUwMDQ3MkNFNCAv
KiBJbml0aWFsaXplTExWTS5jcHAgKi8sCisJCQkJMEZDRUZBQUUxODA1Q0E2RDAwNDcyQ0U0IC8q
IEluaXRpYWxpemVMTFZNLmggKi8sCisJCQkJMEZDRUZBQUYxODA1Q0E2RDAwNDcyQ0U0IC8qIElu
aXRpYWxpemVMTFZNTWFjLm1tICovLAorCQkJCTBGQ0VGQUM1MTgwNUU3NTUwMDQ3MkNFNCAvKiBJ
bml0aWFsaXplTExWTVBPU0lYLmNwcCAqLywKKwkJCQkwRkNFRkFDNjE4MDVFNzU1MDA0NzJDRTQg
LyogSW5pdGlhbGl6ZUxMVk1QT1NJWC5oICovLAorCQkJCTBGQ0VGQUM3MTgwNUU3NTUwMDQ3MkNF
NCAvKiBMTFZNQVBJLmNwcCAqLywKKwkJCQkwRkNFRkFDODE4MDVFNzU1MDA0NzJDRTQgLyogTExW
TUFQSS5oICovLAorCQkJCTBGQ0VGQUM5MTgwNUU3NTUwMDQ3MkNFNCAvKiBMTFZNQVBJRnVuY3Rp
b25zLmggKi8sCisJCQkJMEZDRUZBRDIxODA1RURDQzAwNDcyQ0U0IC8qIExMVk1IZWFkZXJzLmgg
Ki8sCisJCQkpOworCQkJbmFtZSA9IGxsdm07CisJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOwor
CQl9OworCQkwRkNFRkFCRjE4MDVEOTQxMDA0NzJDRTQgLyogbGlicmFyeSAqLyA9IHsKKwkJCWlz
YSA9IFBCWEdyb3VwOworCQkJY2hpbGRyZW4gPSAoCisJCQkJMEZDRUZBREIxODA2NEExNDAwNDcy
Q0U0IC8qIGNvbmZpZ19sbHZtLmggKi8sCisJCQkJMEZDRUZBRDYxODA2MTc0NjAwNDcyQ0U0IC8q
IExMVk1BbmNob3IuY3BwICovLAorCQkJCTBGQ0VGQUMyMTgwNUU3NDAwMDQ3MkNFNCAvKiBMTFZN
RXhwb3J0cy5jcHAgKi8sCisJCQkJMEZDRUZBQzAxODA1RDk0MTAwNDcyQ0U0IC8qIExMVk1PdmVy
cmlkZXMuY3BwICovLAorCQkJKTsKKwkJCW5hbWUgPSBsaWJyYXJ5OworCQkJcGF0aCA9IGxsdm0v
bGlicmFyeTsKKwkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CisJCX07CiAJCTBGRUEwOUZDMTcw
NTEzN0YwMEJCNzIyQyAvKiBmdGwgKi8gPSB7CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxk
cmVuID0gKApAQCAtMjY1MSw3ICsyNzI1LDYgQEAKIAkJCQkwRkRCMkNDODE3M0RBNTFFMDA3QjND
MUIgLyogRlRMVmFsdWVGcm9tQmxvY2suaCAqLywKIAkJCQkwRjIzNUJDRjE3MTc4RTFDMDA2OTBD
N0YgLyogRlRMVmFsdWVTb3VyY2UuY3BwICovLAogCQkJCTBGMjM1QkQwMTcxNzhFMUMwMDY5MEM3
RiAvKiBGVExWYWx1ZVNvdXJjZS5oICovLAotCQkJCTBGNkU1QzE4MTcyNEFGM0QwMDVDNTc0RiAv
KiBXZWJLaXRMTFZNTGlicmFyeUFuY2hvci5jcHAgKi8sCiAJCQkpOwogCQkJbmFtZSA9IGZ0bDsK
IAkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CkBAIC0zMDA4LDYgKzMwODEsNyBAQAogCQkxQzkw
NTEzRTBCQTlFODgzMDA4MUU5RDAgLyogQ29uZmlndXJhdGlvbnMgKi8gPSB7CiAJCQlpc2EgPSBQ
QlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKAorCQkJCTBGQ0VGQUJFMTgwNUQ4NjkwMDQ3MkNFNCAv
KiBMTFZNRm9ySlNDLnhjY29uZmlnICovLAogCQkJCTFDOTA1MTQ1MEJBOUU4QTcwMDgxRTlEMCAv
KiBCYXNlLnhjY29uZmlnICovLAogCQkJCTFDOTA1MTQ0MEJBOUU4QTcwMDgxRTlEMCAvKiBEZWJ1
Z1JlbGVhc2UueGNjb25maWcgKi8sCiAJCQkJNDQ5MDk3RUUwRjhGODFCNTAwNzZBMzI3IC8qIEZl
YXR1cmVEZWZpbmVzLnhjY29uZmlnICovLApAQCAtMzg4Miw2ICszOTU2LDE3IEBACiAvKiBFbmQg
UEJYR3JvdXAgc2VjdGlvbiAqLwogCiAvKiBCZWdpbiBQQlhIZWFkZXJzQnVpbGRQaGFzZSBzZWN0
aW9uICovCisJCTBGQ0VGQUI0MTgwNUQ2MTYwMDQ3MkNFNCAvKiBIZWFkZXJzICovID0geworCQkJ
aXNhID0gUEJYSGVhZGVyc0J1aWxkUGhhc2U7CisJCQlidWlsZEFjdGlvbk1hc2sgPSAyMTQ3NDgz
NjQ3OworCQkJZmlsZXMgPSAoCisJCQkJMEZDRUZBRDQxODA1RURDQzAwNDcyQ0U0IC8qIExMVk1I
ZWFkZXJzLmggaW4gSGVhZGVycyAqLywKKwkJCQkwRkNFRkFEQTE4MDYyMERBMDA0NzJDRTQgLyog
TExWTUFQSS5oIGluIEhlYWRlcnMgKi8sCisJCQkJMEZDRUZBRDExODA1RTc3OTAwNDcyQ0U0IC8q
IExMVk1BUElGdW5jdGlvbnMuaCBpbiBIZWFkZXJzICovLAorCQkJCTBGQ0VGQURDMTgwNjRBMTQw
MDQ3MkNFNCAvKiBjb25maWdfbGx2bS5oIGluIEhlYWRlcnMgKi8sCisJCQkpOworCQkJcnVuT25s
eUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CisJCX07CiAJCTE0NDAwNUM3MEE1MzM4
QzYwMDA1RjA2MSAvKiBIZWFkZXJzICovID0gewogCQkJaXNhID0gUEJYSGVhZGVyc0J1aWxkUGhh
c2U7CiAJCQlidWlsZEFjdGlvbk1hc2sgPSAyMTQ3NDgzNjQ3OwpAQCAtMzk0MCw2ICs0MDI1LDcg
QEAKIAkJCQkwRjBCODNCMTE0QkNGNzE4MDA4ODVCNEYgLyogQ2FsbExpbmtJbmZvLmggaW4gSGVh
ZGVycyAqLywKIAkJCQkwRjkzMzI5RTE0Q0E3REM1MDA4NUYzQzYgLyogQ2FsbExpbmtTdGF0dXMu
aCBpbiBIZWFkZXJzICovLAogCQkJCTBGMEI4M0I5MTRCQ0Y5NUYwMDg4NUI0RiAvKiBDYWxsUmV0
dXJuT2Zmc2V0VG9CeXRlY29kZU9mZnNldC5oIGluIEhlYWRlcnMgKi8sCisJCQkJMEZDRUZBRDMx
ODA1RURDQzAwNDcyQ0U0IC8qIExMVk1IZWFkZXJzLmggaW4gSGVhZGVycyAqLywKIAkJCQlCQzZB
QUFFNTBFMUY0MjY1MDBBRDg3RDggLyogQ2xhc3NJbmZvLmggaW4gSGVhZGVycyAqLywKIAkJCQkw
RjczRDdBRjE2NUExNDMwMDBBQ0FCNzEgLyogQ2xvc3VyZUNhbGxTdHViUm91dGluZS5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJOTY5QTA3OTcwRUQxRDNBRTAwRjFGNjgxIC8qIENvZGVCbG9jay5oIGlu
IEhlYWRlcnMgKi8sCkBAIC0zOTcwLDYgKzQwNTYsNyBAQAogCQkJCUMyMjM5RDE4MTYyNjJCREQw
MDVBQzVGRCAvKiBDb3B5VmlzaXRvci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQzIyMzlEMTkxNjI2
MkJERDAwNUFDNUZEIC8qIENvcHlWaXNpdG9ySW5saW5lcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
QzIxOEQxNDAxNjU1Q0ZENTAwNjJCQjgxIC8qIENvcHlXb3JrTGlzdC5oIGluIEhlYWRlcnMgKi8s
CisJCQkJMEZDRUZBQ0YxODA1RTc1NTAwNDcyQ0U0IC8qIExMVk1BUElGdW5jdGlvbnMuaCBpbiBI
ZWFkZXJzICovLAogCQkJCTVERTZFNUIzMEUxNzI4RUMwMDE4MDQwNyAvKiBjcmVhdGVfaGFzaF90
YWJsZSBpbiBIZWFkZXJzICovLAogCQkJCTBGNDI2QTRCMTQ2MENENkUwMDEzMUY4RiAvKiBEYXRh
Rm9ybWF0LmggaW4gSGVhZGVycyAqLywKIAkJCQkwRjJCNjZERjE3QjZCNUFCMDBBN0FFM0YgLyog
RGF0YVZpZXcuaCBpbiBIZWFkZXJzICovLApAQCAtNDA4Nyw2ICs0MTc0LDcgQEAKIAkJCQk4NkVD
OUREMzEzMjhERjgyMDAyQjJBRDcgLyogREZHU3BlY3VsYXRpdmVKSVQuaCBpbiBIZWFkZXJzICov
LAogCQkJCUE3RDg5RDAwMTdBMEI4Q0MwMDc3M0FEOCAvKiBERkdTU0FDb252ZXJzaW9uUGhhc2Uu
aCBpbiBIZWFkZXJzICovLAogCQkJCTBGNjM5NDc4MTVEQ0UzNEIwMDZBNTk3QyAvKiBERkdTdHJ1
Y3R1cmVBYnN0cmFjdFZhbHVlLmggaW4gSGVhZGVycyAqLywKKwkJCQkwRkNFRkFDQzE4MDVFNzU1
MDA0NzJDRTQgLyogSW5pdGlhbGl6ZUxMVk1QT1NJWC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEZD
MDk3QTIxNDZCMjhDQzAwQ0YyNDQyIC8qIERGR1RodW5rcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
MEY2Mzk0M0YxNUM3NUYxOTAwNkE1OTdDIC8qIERGR1R5cGVDaGVja0hvaXN0aW5nUGhhc2UuaCBp
biBIZWFkZXJzICovLAogCQkJCTBGQkUwRjc3MTZDMURCMTIwMDgyQzVFOCAvKiBERkdVbmlmaWNh
dGlvblBoYXNlLmggaW4gSGVhZGVycyAqLywKQEAgLTQxOTMsNiArNDI4MSw3IEBACiAJCQkJQTc4
ODUzRkExNzk3MjYyOTAwMTQ0MEU0IC8qIEludGVuZGVkU3RydWN0dXJlQ2hhaW4uaCBpbiBIZWFk
ZXJzICovLAogCQkJCUJDMTE2NjdCMEUxOTlDMDUwMDgwNjZERCAvKiBJbnRlcm5hbEZ1bmN0aW9u
LmggaW4gSGVhZGVycyAqLywKIAkJCQkxNDI5RDc3QzBFRDIwRDczMDBCODk2MTkgLyogSW50ZXJw
cmV0ZXIuaCBpbiBIZWFkZXJzICovLAorCQkJCTBGQ0VGQUIwMTgwNUNBNkQwMDQ3MkNFNCAvKiBJ
bml0aWFsaXplTExWTS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJODYwQkQ4MDExNDhFQTZGMjAwMTEy
QjJGIC8qIEludHJpbnNpYy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkMxOEM0MTMwRTE2RjVDRDAw
QjM0NDYwIC8qIEphdmFTY3JpcHQuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDMThDNDE0MEUxNkY1
Q0QwMEIzNDQ2MCAvKiBKYXZhU2NyaXB0Q29yZS5oIGluIEhlYWRlcnMgKi8sCkBAIC00MjQ2LDYg
KzQzMzUsNyBAQAogCQkJCUE3MjAyOEI4MTc5NzYwMUUwMDk4MDI4QyAvKiBKU0NUZXN0UnVubmVy
VXRpbHMuaCBpbiBIZWFkZXJzICovLAogCQkJCTBGMkI2NkVDMTdCNkI1QUIwMEE3QUUzRiAvKiBK
U0RhdGFWaWV3LmggaW4gSGVhZGVycyAqLywKIAkJCQkwRjJCNjZFRTE3QjZCNUFCMDBBN0FFM0Yg
LyogSlNEYXRhVmlld1Byb3RvdHlwZS5oIGluIEhlYWRlcnMgKi8sCisJCQkJMEZDRUZBQ0UxODA1
RTc1NTAwNDcyQ0U0IC8qIExMVk1BUEkuaCBpbiBIZWFkZXJzICovLAogCQkJCTk3ODgwMTQxMTQ3
MUFEOTIwMDQxQjAxNiAvKiBKU0RhdGVNYXRoLmggaW4gSGVhZGVycyAqLywKIAkJCQlDMkE3RjY4
ODE2MDQzMkQ0MDBGNzZCOTggLyogSlNEZXN0cnVjdGlibGVPYmplY3QuaCBpbiBIZWFkZXJzICov
LAogCQkJCTg2RTNDNjE0MTY3QkFCRDcwMDZENzYwQSAvKiBKU0V4cG9ydC5oIGluIEhlYWRlcnMg
Ki8sCkBAIC00NTYzLDYgKzQ2NTMsMjMgQEAKIC8qIEVuZCBQQlhIZWFkZXJzQnVpbGRQaGFzZSBz
ZWN0aW9uICovCiAKIC8qIEJlZ2luIFBCWE5hdGl2ZVRhcmdldCBzZWN0aW9uICovCisJCTBGQ0VG
QUI1MTgwNUQ2MTYwMDQ3MkNFNCAvKiBsbHZtRm9ySlNDICovID0geworCQkJaXNhID0gUEJYTmF0
aXZlVGFyZ2V0OworCQkJYnVpbGRDb25maWd1cmF0aW9uTGlzdCA9IDBGQ0VGQUI3MTgwNUQ2MTYw
MDQ3MkNFNCAvKiBCdWlsZCBjb25maWd1cmF0aW9uIGxpc3QgZm9yIFBCWE5hdGl2ZVRhcmdldCAi
bGx2bUZvckpTQyIgKi87CisJCQlidWlsZFBoYXNlcyA9ICgKKwkJCQkwRkNFRkFCMjE4MDVENjE2
MDA0NzJDRTQgLyogU291cmNlcyAqLywKKwkJCQkwRkNFRkFCMzE4MDVENjE2MDA0NzJDRTQgLyog
RnJhbWV3b3JrcyAqLywKKwkJCQkwRkNFRkFCNDE4MDVENjE2MDA0NzJDRTQgLyogSGVhZGVycyAq
LywKKwkJCSk7CisJCQlidWlsZFJ1bGVzID0gKAorCQkJKTsKKwkJCWRlcGVuZGVuY2llcyA9ICgK
KwkJCSk7CisJCQluYW1lID0gbGx2bUZvckpTQzsKKwkJCXByb2R1Y3ROYW1lID0gbGx2bUZvckpT
QzsKKwkJCXByb2R1Y3RSZWZlcmVuY2UgPSAwRkNFRkFCNjE4MDVENjE2MDA0NzJDRTQgLyogbGli
bGx2bUZvckpTQy5keWxpYiAqLzsKKwkJCXByb2R1Y3RUeXBlID0gImNvbS5hcHBsZS5wcm9kdWN0
LXR5cGUubGlicmFyeS5keW5hbWljIjsKKwkJfTsKIAkJMEZGOTIyQzMxNEY0NkIxMzAwNDFBMjRF
IC8qIEpTQ0xMSW50T2Zmc2V0c0V4dHJhY3RvciAqLyA9IHsKIAkJCWlzYSA9IFBCWE5hdGl2ZVRh
cmdldDsKIAkJCWJ1aWxkQ29uZmlndXJhdGlvbkxpc3QgPSAwRkY5MjJDQTE0RjQ2QjEzMDA0MUEy
NEUgLyogQnVpbGQgY29uZmlndXJhdGlvbiBsaXN0IGZvciBQQlhOYXRpdmVUYXJnZXQgIkpTQ0xM
SW50T2Zmc2V0c0V4dHJhY3RvciIgKi87CkBAIC00NjQzLDYgKzQ3NTAsNyBAQAogCQkJCTM3MzI4
MTFBMTdGQ0QyMzUwMDRBRDUxOSAvKiBQb3N0cHJvY2VzcyBIZWFkZXJzICovLAogCQkJCTkzMkY1
QjkxMDgyMkExQzcwMDczNjk3NSAvKiBTb3VyY2VzICovLAogCQkJCTkzMkY1QkQyMDgyMkExQzcw
MDczNjk3NSAvKiBGcmFtZXdvcmtzICovLAorCQkJCTBGQ0VGQUQ5MTgwNjE5MTgwMDQ3MkNFNCAv
KiBDb3B5IExMVk0gTGlicmFyeSBJbnRvIEZyYW1ld29yayAqLywKIAkJCQk1RDI5RDhCRTBFOTg2
MEI0MDBDM0QyRDAgLyogQ2hlY2sgRm9yIFdlYWsgVlRhYmxlcyBhbmQgRXh0ZXJuYWxzICovLAog
CQkJCTM3MTNGMDE0MTQyOTA1MjQwMDM2Mzg3RiAvKiBDaGVjayBGb3IgSW5hcHByb3ByaWF0ZSBP
YmplY3RpdmUtQyBDbGFzcyBOYW1lcyAqLywKIAkJCQlBNTVERUFBNDE2NzAzREY3MDAzREI4NDEg
LyogQ2hlY2sgRm9yIEluYXBwcm9wcmlhdGUgTWFjcm9zIGluIEV4dGVybmFsIEhlYWRlcnMgKi8s
CkBAIC00NjUwLDYgKzQ3NTgsNyBAQAogCQkJYnVpbGRSdWxlcyA9ICgKIAkJCSk7CiAJCQlkZXBl
bmRlbmNpZXMgPSAoCisJCQkJMEZDRUZBQkQxODA1RDY2MzAwNDcyQ0U0IC8qIFBCWFRhcmdldERl
cGVuZGVuY3kgKi8sCiAJCQkJNjVGQjNGN0UwOUQxMUVGMzAwRjQ5REVCIC8qIFBCWFRhcmdldERl
cGVuZGVuY3kgKi8sCiAJCQkpOwogCQkJbmFtZSA9IEphdmFTY3JpcHRDb3JlOwpAQCAtNDcxMCw2
ICs0ODE5LDcgQEAKIAkJCQkwRjQ2ODBBOTE0QkE3RkQ5MDBCRkUyNzIgLyogTExJbnQgT2Zmc2V0
cyAqLywKIAkJCQkwRkY5MjJDMzE0RjQ2QjEzMDA0MUEyNEUgLyogSlNDTExJbnRPZmZzZXRzRXh0
cmFjdG9yICovLAogCQkJCTVENkIyQTQ3MTUyQjlFMTcwMDUyMzFERSAvKiBUZXN0IFRvb2xzICov
LAorCQkJCTBGQ0VGQUI1MTgwNUQ2MTYwMDQ3MkNFNCAvKiBsbHZtRm9ySlNDICovLAogCQkJKTsK
IAkJfTsKIC8qIEVuZCBQQlhQcm9qZWN0IHNlY3Rpb24gKi8KQEAgLTQ3MzEsNiArNDg0MSwyMSBA
QAogCQkJc2hlbGxQYXRoID0gL2Jpbi9zaDsKIAkJCXNoZWxsU2NyaXB0ID0gIm1rZGlyIC1wIFwi
JHtCVUlMVF9QUk9EVUNUU19ESVJ9L0xMSW50T2Zmc2V0cy9cIlxuXG4vdXNyL2Jpbi9lbnYgcnVi
eSBcIiR7U1JDUk9PVH0vb2ZmbGluZWFzbS9nZW5lcmF0ZV9vZmZzZXRfZXh0cmFjdG9yLnJiXCIg
XCIke1NSQ1JPT1R9L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtXCIgXCIke0JVSUxUX1BS
T0RVQ1RTX0RJUn0vTExJbnRPZmZzZXRzL0xMSW50RGVzaXJlZE9mZnNldHMuaFwiXG4iOwogCQl9
OworCQkwRkNFRkFEOTE4MDYxOTE4MDA0NzJDRTQgLyogQ29weSBMTFZNIExpYnJhcnkgSW50byBG
cmFtZXdvcmsgKi8gPSB7CisJCQlpc2EgPSBQQlhTaGVsbFNjcmlwdEJ1aWxkUGhhc2U7CisJCQli
dWlsZEFjdGlvbk1hc2sgPSAyMTQ3NDgzNjQ3OworCQkJZmlsZXMgPSAoCisJCQkpOworCQkJaW5w
dXRQYXRocyA9ICgKKwkJCQkiJChCVUlMVF9QUk9EVUNUU19ESVIpL2xpYmxsdm1Gb3JKU0MuZHls
aWIiLAorCQkJKTsKKwkJCW5hbWUgPSAiQ29weSBMTFZNIExpYnJhcnkgSW50byBGcmFtZXdvcmsi
OworCQkJb3V0cHV0UGF0aHMgPSAoCisJCQkpOworCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0
cHJvY2Vzc2luZyA9IDA7CisJCQlzaGVsbFBhdGggPSAvYmluL3NoOworCQkJc2hlbGxTY3JpcHQg
PSAiaWYgW1sgJEVOQUJMRV9GVExfSklUICE9IFwiRU5BQkxFX0ZUTF9KSVRcIiBdXVxudGhlblxu
ICAgIGV4aXQgMFxuZmlcblxuIyBDb3B5IHRoZSBsbHZtRm9ySlNDIGxpYnJhcnkgaW50byB0aGUg
ZnJhbWV3b3JrLlxuZGl0dG8gXCIke0JVSUxUX1BST0RVQ1RTX0RJUn0vbGlibGx2bUZvckpTQy5k
eWxpYlwiIFwiJHtCVUlMVF9QUk9EVUNUU19ESVJ9LyR7Q09OVEVOVFNfRk9MREVSX1BBVEh9L0xp
YnJhcmllcy9saWJsbHZtRm9ySlNDLmR5bGliXCJcbmxuIC1mcyBcIlZlcnNpb25zL0N1cnJlbnQv
TGlicmFyaWVzXCIgXCIke0JVSUxUX1BST0RVQ1RTX0RJUn0vJHtXUkFQUEVSX05BTUV9L0xpYnJh
cmllc1wiIjsKKwkJfTsKIAkJMzcxM0YwMTQxNDI5MDUyNDAwMzYzODdGIC8qIENoZWNrIEZvciBJ
bmFwcHJvcHJpYXRlIE9iamVjdGl2ZS1DIENsYXNzIE5hbWVzICovID0gewogCQkJaXNhID0gUEJY
U2hlbGxTY3JpcHRCdWlsZFBoYXNlOwogCQkJYnVpbGRBY3Rpb25NYXNrID0gMjE0NzQ4MzY0NzsK
QEAgLTQ3NzgsNyArNDkwMyw3IEBACiAJCQkpOwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0
cHJvY2Vzc2luZyA9IDA7CiAJCQlzaGVsbFBhdGggPSAvYmluL3NoOwotCQkJc2hlbGxTY3JpcHQg
PSAiIyBGSVhNRTogPHJkYXI6Ly9wcm9ibGVtLzEzNTM5ODg4PiBMTFZNIGxpYnJhcmllcyBzaG91
bGRuJ3QgaGF2ZSB3ZWFrIHZ0YWJsZXNcbmV4aXQgMFxuXG5pZiBbIC1mIC4uLy4uL1Rvb2xzL1Nj
cmlwdHMvY2hlY2stZm9yLXdlYWstdnRhYmxlcy1hbmQtZXh0ZXJuYWxzIF07IHRoZW5cbiAgICAu
Li8uLi9Ub29scy9TY3JpcHRzL2NoZWNrLWZvci13ZWFrLXZ0YWJsZXMtYW5kLWV4dGVybmFscyB8
fCBleGl0ICQ/XG5maSI7CisJCQlzaGVsbFNjcmlwdCA9ICJpZiBbIC1mIC4uLy4uL1Rvb2xzL1Nj
cmlwdHMvY2hlY2stZm9yLXdlYWstdnRhYmxlcy1hbmQtZXh0ZXJuYWxzIF07IHRoZW5cbiAgICAu
Li8uLi9Ub29scy9TY3JpcHRzL2NoZWNrLWZvci13ZWFrLXZ0YWJsZXMtYW5kLWV4dGVybmFscyB8
fCBleGl0ICQ/XG5maSI7CiAJCX07CiAJCTVEMkY3Q0Y5MEM2ODc1QkIwMEI1QjcyQiAvKiBVcGRh
dGUgSW5mby5wbGlzdCB3aXRoIHZlcnNpb24gaW5mb3JtYXRpb24gKi8gPSB7CiAJCQlpc2EgPSBQ
QlhTaGVsbFNjcmlwdEJ1aWxkUGhhc2U7CkBAIC00ODc2LDYgKzUwMDEsMTYgQEAKIC8qIEVuZCBQ
QlhTaGVsbFNjcmlwdEJ1aWxkUGhhc2Ugc2VjdGlvbiAqLwogCiAvKiBCZWdpbiBQQlhTb3VyY2Vz
QnVpbGRQaGFzZSBzZWN0aW9uICovCisJCTBGQ0VGQUIyMTgwNUQ2MTYwMDQ3MkNFNCAvKiBTb3Vy
Y2VzICovID0geworCQkJaXNhID0gUEJYU291cmNlc0J1aWxkUGhhc2U7CisJCQlidWlsZEFjdGlv
bk1hc2sgPSAyMTQ3NDgzNjQ3OworCQkJZmlsZXMgPSAoCisJCQkJMEZDRUZBQzMxODA1RTc0MDAw
NDcyQ0U0IC8qIExMVk1FeHBvcnRzLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTBGQ0VGQUQ3MTgw
NjE3NDYwMDQ3MkNFNCAvKiBMTFZNQW5jaG9yLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTBGQ0VG
QUMxMTgwNUQ5NEUwMDQ3MkNFNCAvKiBMTFZNT3ZlcnJpZGVzLmNwcCBpbiBTb3VyY2VzICovLAor
CQkJKTsKKwkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOworCQl9Owog
CQkwRkY5MjJDNDE0RjQ2QjEzMDA0MUEyNEUgLyogU291cmNlcyAqLyA9IHsKIAkJCWlzYSA9IFBC
WFNvdXJjZXNCdWlsZFBoYXNlOwogCQkJYnVpbGRBY3Rpb25NYXNrID0gMjE0NzQ4MzY0NzsKQEAg
LTQ5MzYsNiArNTA3MSw3IEBACiAJCQkJMTQyODA4NjUxMDdFQzExQTAwMTNFN0IyIC8qIEJvb2xl
YW5Qcm90b3R5cGUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMTQ4RjIxQUExMDdFQzUzQTAwNDJF
QzJDIC8qIEJ5dGVjb2RlR2VuZXJhdG9yLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTE0MjgwODJE
MTA3RUMwNTcwMDEzRTdCMiAvKiBDYWxsRGF0YS5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkwRkNF
RkFCMTE4MDVDQTZEMDA0NzJDRTQgLyogSW5pdGlhbGl6ZUxMVk1NYWMubW0gaW4gU291cmNlcyAq
LywKIAkJCQkxNDI5RDhERDBFRDIyMDVCMDBCODk2MTkgLyogQ2FsbEZyYW1lLmNwcCBpbiBTb3Vy
Y2VzICovLAogCQkJCTBGMEI4M0IwMTRCQ0Y3MTYwMDg4NUI0RiAvKiBDYWxsTGlua0luZm8uY3Bw
IGluIFNvdXJjZXMgKi8sCiAJCQkJMEY5MzMyOUQxNENBN0RDMzAwODVGM0M2IC8qIENhbGxMaW5r
U3RhdHVzLmNwcCBpbiBTb3VyY2VzICovLApAQCAtNTA3NSw2ICs1MjExLDcgQEAKIAkJCQkwRjIz
NUJEMTE3MTc4RTFDMDA2OTBDN0YgLyogRlRMQ0FyZ3VtZW50R2V0dGVyLmNwcCBpbiBTb3VyY2Vz
ICovLAogCQkJCTBGRUEwQTI3MTcwOTYyM0IwMEJCNzIyQyAvKiBGVExDb21tb25WYWx1ZXMuY3Bw
IGluIFNvdXJjZXMgKi8sCiAJCQkJMEZFQTBBMEIxNzA1MTNEQjAwQkI3MjJDIC8qIEZUTENvbXBp
bGUuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMEZDRUZBQ0QxODA1RTc1NTAwNDcyQ0U0IC8qIExM
Vk1BUEkuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMEYyMzVCRDMxNzE3OEUxQzAwNjkwQzdGIC8q
IEZUTEV4aXRBcmd1bWVudC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkwRjIzNUJENTE3MTc4RTFD
MDA2OTBDN0YgLyogRlRMRXhpdEFyZ3VtZW50Rm9yT3BlcmFuZC5jcHAgaW4gU291cmNlcyAqLywK
IAkJCQkwRjIzNUJEODE3MTc4RTFDMDA2OTBDN0YgLyogRlRMRXhpdFRodW5rR2VuZXJhdG9yLmNw
cCBpbiBTb3VyY2VzICovLApAQCAtNTA5Miw2ICs1MjI5LDcgQEAKIAkJCQkwRjIzNUJFMTE3MTc4
RTFDMDA2OTBDN0YgLyogRlRMVGh1bmtzLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTBGMjM1QkUz
MTcxNzhFMUMwMDY5MEM3RiAvKiBGVExWYWx1ZUZvcm1hdC5jcHAgaW4gU291cmNlcyAqLywKIAkJ
CQkwRjIzNUJFNTE3MTc4RTFDMDA2OTBDN0YgLyogRlRMVmFsdWVTb3VyY2UuY3BwIGluIFNvdXJj
ZXMgKi8sCisJCQkJMEZDRUZBQ0ExODA1RTc1NTAwNDcyQ0U0IC8qIEluaXRpYWxpemVMTFZNLmNw
cCBpbiBTb3VyY2VzICovLAogCQkJCTE0N0YzOUNCMTA3RUMzNzYwMDQyN0E0OCAvKiBGdW5jdGlv
bkNvbnN0cnVjdG9yLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTBGRjBGMTlGMTZCNzJBMTcwMDVE
Rjk1QiAvKiBGdW5jdGlvbkV4ZWN1dGFibGVEdW1wLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTE0
N0YzOUNDMTA3RUMzNzYwMDQyN0E0OCAvKiBGdW5jdGlvblByb3RvdHlwZS5jcHAgaW4gU291cmNl
cyAqLywKQEAgLTUyNTksNiArNTM5Nyw3IEBACiAJCQkJOTVBQjgzNTYwREE0M0MzMDAwQkM4M0Yz
IC8qIFByb2ZpbGVOb2RlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTBGRjcyOUFEMTY2QUQzNUMw
MDBGNUJBMyAvKiBQcm9maWxlckJ5dGVjb2RlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTBGRjcy
OUFFMTY2QUQzNUMwMDBGNUJBMyAvKiBQcm9maWxlckJ5dGVjb2Rlcy5jcHAgaW4gU291cmNlcyAq
LywKKwkJCQkwRkNFRkFDQjE4MDVFNzU1MDA0NzJDRTQgLyogSW5pdGlhbGl6ZUxMVk1QT1NJWC5j
cHAgaW4gU291cmNlcyAqLywKIAkJCQkwRjEzOTEyOTE2NzcxQzMzMDA5Q0NCMDcgLyogUHJvZmls
ZXJCeXRlY29kZVNlcXVlbmNlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTBGRjcyOUFGMTY2QUQz
NUMwMDBGNUJBMyAvKiBQcm9maWxlckNvbXBpbGF0aW9uLmNwcCBpbiBTb3VyY2VzICovLAogCQkJ
CTBGRjcyOUIwMTY2QUQzNUMwMDBGNUJBMyAvKiBQcm9maWxlckNvbXBpbGF0aW9uS2luZC5jcHAg
aW4gU291cmNlcyAqLywKQEAgLTUzMzgsNyArNTQ3Nyw2IEBACiAJCQkJMTRFODRGOUUxNEVFMUFD
QzAwRDZENUQ0IC8qIFdlYWtCbG9jay5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkxNEY3MjU2NTE0
RUUyNjVFMDBCMTY1MkIgLyogV2Vha0hhbmRsZU93bmVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJ
CTE0RTg0RkEwMTRFRTFBQ0MwMEQ2RDVENCAvKiBXZWFrU2V0LmNwcCBpbiBTb3VyY2VzICovLAot
CQkJCTBGNkU1QzE5MTcyNEFGM0QwMDVDNTc0RiAvKiBXZWJLaXRMTFZNTGlicmFyeUFuY2hvci5j
cHAgaW4gU291cmNlcyAqLywKIAkJCQkwRkM4MTUwQjE0MDQzQzBFMDBDRkE2MDMgLyogV3JpdGVC
YXJyaWVyU3VwcG9ydC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkwRjI0RTU1ODE3Rjc0RURCMDBB
QkIyMTcgLyogVmFsdWVSZWNvdmVyeS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlBN0U1QUIzQTE3
OTlFNEIyMDBEMjgzM0QgLyogWDg2RGlzYXNzZW1ibGVyLmNwcCBpbiBTb3VyY2VzICovLApAQCAt
NTM2MSw2ICs1NDk5LDExIEBACiAvKiBFbmQgUEJYU291cmNlc0J1aWxkUGhhc2Ugc2VjdGlvbiAq
LwogCiAvKiBCZWdpbiBQQlhUYXJnZXREZXBlbmRlbmN5IHNlY3Rpb24gKi8KKwkJMEZDRUZBQkQx
ODA1RDY2MzAwNDcyQ0U0IC8qIFBCWFRhcmdldERlcGVuZGVuY3kgKi8gPSB7CisJCQlpc2EgPSBQ
QlhUYXJnZXREZXBlbmRlbmN5OworCQkJdGFyZ2V0ID0gMEZDRUZBQjUxODA1RDYxNjAwNDcyQ0U0
IC8qIGxsdm1Gb3JKU0MgKi87CisJCQl0YXJnZXRQcm94eSA9IDBGQ0VGQUJDMTgwNUQ2NjMwMDQ3
MkNFNCAvKiBQQlhDb250YWluZXJJdGVtUHJveHkgKi87CisJCX07CiAJCTBGRjkyMkQzMTRGNDZC
MkYwMDQxQTI0RSAvKiBQQlhUYXJnZXREZXBlbmRlbmN5ICovID0gewogCQkJaXNhID0gUEJYVGFy
Z2V0RGVwZW5kZW5jeTsKIAkJCXRhcmdldCA9IDBGNDY4MEE5MTRCQTdGRDkwMEJGRTI3MiAvKiBM
TEludCBPZmZzZXRzICovOwpAQCAtNTQzNyw2ICs1NTgwLDM0IEBACiAJCQl9OwogCQkJbmFtZSA9
IFByb2R1Y3Rpb247CiAJCX07CisJCTBGQ0VGQUI4MTgwNUQ2MTYwMDQ3MkNFNCAvKiBEZWJ1ZyAq
LyA9IHsKKwkJCWlzYSA9IFhDQnVpbGRDb25maWd1cmF0aW9uOworCQkJYmFzZUNvbmZpZ3VyYXRp
b25SZWZlcmVuY2UgPSAwRkNFRkFCRTE4MDVEODY5MDA0NzJDRTQgLyogTExWTUZvckpTQy54Y2Nv
bmZpZyAqLzsKKwkJCWJ1aWxkU2V0dGluZ3MgPSB7CisJCQl9OworCQkJbmFtZSA9IERlYnVnOwor
CQl9OworCQkwRkNFRkFCOTE4MDVENjE2MDA0NzJDRTQgLyogUmVsZWFzZSAqLyA9IHsKKwkJCWlz
YSA9IFhDQnVpbGRDb25maWd1cmF0aW9uOworCQkJYmFzZUNvbmZpZ3VyYXRpb25SZWZlcmVuY2Ug
PSAwRkNFRkFCRTE4MDVEODY5MDA0NzJDRTQgLyogTExWTUZvckpTQy54Y2NvbmZpZyAqLzsKKwkJ
CWJ1aWxkU2V0dGluZ3MgPSB7CisJCQl9OworCQkJbmFtZSA9IFJlbGVhc2U7CisJCX07CisJCTBG
Q0VGQUJBMTgwNUQ2MTYwMDQ3MkNFNCAvKiBQcm9maWxpbmcgKi8gPSB7CisJCQlpc2EgPSBYQ0J1
aWxkQ29uZmlndXJhdGlvbjsKKwkJCWJhc2VDb25maWd1cmF0aW9uUmVmZXJlbmNlID0gMEZDRUZB
QkUxODA1RDg2OTAwNDcyQ0U0IC8qIExMVk1Gb3JKU0MueGNjb25maWcgKi87CisJCQlidWlsZFNl
dHRpbmdzID0geworCQkJfTsKKwkJCW5hbWUgPSBQcm9maWxpbmc7CisJCX07CisJCTBGQ0VGQUJC
MTgwNUQ2MTYwMDQ3MkNFNCAvKiBQcm9kdWN0aW9uICovID0geworCQkJaXNhID0gWENCdWlsZENv
bmZpZ3VyYXRpb247CisJCQliYXNlQ29uZmlndXJhdGlvblJlZmVyZW5jZSA9IDBGQ0VGQUJFMTgw
NUQ4NjkwMDQ3MkNFNCAvKiBMTFZNRm9ySlNDLnhjY29uZmlnICovOworCQkJYnVpbGRTZXR0aW5n
cyA9IHsKKwkJCX07CisJCQluYW1lID0gUHJvZHVjdGlvbjsKKwkJfTsKIAkJMEZGOTIyQ0IxNEY0
NkIxMzAwNDFBMjRFIC8qIERlYnVnICovID0gewogCQkJaXNhID0gWENCdWlsZENvbmZpZ3VyYXRp
b247CiAJCQliYXNlQ29uZmlndXJhdGlvblJlZmVyZW5jZSA9IEJDMDIxQkYyMTM2OTAwQzMwMEZD
NTQ2NyAvKiBUb29sRXhlY3V0YWJsZS54Y2NvbmZpZyAqLzsKQEAgLTU3NDEsNiArNTkxMiwxNyBA
QAogCQkJZGVmYXVsdENvbmZpZ3VyYXRpb25Jc1Zpc2libGUgPSAwOwogCQkJZGVmYXVsdENvbmZp
Z3VyYXRpb25OYW1lID0gUHJvZHVjdGlvbjsKIAkJfTsKKwkJMEZDRUZBQjcxODA1RDYxNjAwNDcy
Q0U0IC8qIEJ1aWxkIGNvbmZpZ3VyYXRpb24gbGlzdCBmb3IgUEJYTmF0aXZlVGFyZ2V0ICJsbHZt
Rm9ySlNDIiAqLyA9IHsKKwkJCWlzYSA9IFhDQ29uZmlndXJhdGlvbkxpc3Q7CisJCQlidWlsZENv
bmZpZ3VyYXRpb25zID0gKAorCQkJCTBGQ0VGQUI4MTgwNUQ2MTYwMDQ3MkNFNCAvKiBEZWJ1ZyAq
LywKKwkJCQkwRkNFRkFCOTE4MDVENjE2MDA0NzJDRTQgLyogUmVsZWFzZSAqLywKKwkJCQkwRkNF
RkFCQTE4MDVENjE2MDA0NzJDRTQgLyogUHJvZmlsaW5nICovLAorCQkJCTBGQ0VGQUJCMTgwNUQ2
MTYwMDQ3MkNFNCAvKiBQcm9kdWN0aW9uICovLAorCQkJKTsKKwkJCWRlZmF1bHRDb25maWd1cmF0
aW9uSXNWaXNpYmxlID0gMDsKKwkJCWRlZmF1bHRDb25maWd1cmF0aW9uTmFtZSA9IFByb2R1Y3Rp
b247CisJCX07CiAJCTBGRjkyMkNBMTRGNDZCMTMwMDQxQTI0RSAvKiBCdWlsZCBjb25maWd1cmF0
aW9uIGxpc3QgZm9yIFBCWE5hdGl2ZVRhcmdldCAiSlNDTExJbnRPZmZzZXRzRXh0cmFjdG9yIiAq
LyA9IHsKIAkJCWlzYSA9IFhDQ29uZmlndXJhdGlvbkxpc3Q7CiAJCQlidWlsZENvbmZpZ3VyYXRp
b25zID0gKApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdQbGFuLmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1BsYW4uY3BwCShyZXZpc2lv
biAxNTcyMDQpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1BsYW4uY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC02Nyw2ICs2Nyw3IEBACiAjaW5jbHVkZSAiRlRMTGluay5oIgogI2luY2x1
ZGUgIkZUTExvd2VyREZHVG9MTFZNLmgiCiAjaW5jbHVkZSAiRlRMU3RhdGUuaCIKKyNpbmNsdWRl
ICJJbml0aWFsaXplTExWTS5oIgogI2VuZGlmCiAKIG5hbWVzcGFjZSBKU0MgeyBuYW1lc3BhY2Ug
REZHIHsKQEAgLTI1NSw4ICsyNTYsNyBAQCBQbGFuOjpDb21waWxhdGlvblBhdGggUGxhbjo6Y29t
cGlsZUluVGhyCiAgICAgICAgIAogICAgICAgICBkdW1wQW5kVmVyaWZ5R3JhcGgoZGZnLCAiR3Jh
cGgganVzdCBiZWZvcmUgRlRMIGxvd2VyaW5nOiIpOwogICAgICAgICAKLSAgICAgICAgLy8gRklY
TUU6IFN1cHBvcnQgT1NSIGVudHJ5LgotICAgICAgICAvLyBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTEzNjI1CisgICAgICAgIGluaXRpYWxpemVMTFZNKCk7CiAgICAg
ICAgIAogICAgICAgICBGVEw6OlN0YXRlIHN0YXRlKGRmZyk7CiAgICAgICAgIEZUTDo6bG93ZXJE
RkdUb0xMVk0oc3RhdGUpOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2Rpc2Fzc2VtYmxl
ci9MTFZNRGlzYXNzZW1ibGVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvZGlzYXNzZW1ibGVyL0xMVk1EaXNhc3NlbWJsZXIuY3BwCShyZXZpc2lvbiAxNTcyMDQpCisr
KyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGlzYXNzZW1ibGVyL0xMVk1EaXNhc3NlbWJsZXIuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC0yOCw4ICsyOCw5IEBACiAKICNpZiBVU0UoTExWTV9ESVNBU1NF
TUJMRVIpCiAKKyNpbmNsdWRlICJJbml0aWFsaXplTExWTS5oIgorI2luY2x1ZGUgIkxMVk1BUEku
aCIKICNpbmNsdWRlICJNYWNyb0Fzc2VtYmxlckNvZGVSZWYuaCIKLSNpbmNsdWRlIDx3dGYvTExW
TUhlYWRlcnMuaD4KIAogbmFtZXNwYWNlIEpTQyB7CiAKQEAgLTc5LDYgKzgwLDggQEAgYm9vbCB0
cnlUb0Rpc2Fzc2VtYmxlV2l0aExMVk0oCiAgICAgY29uc3QgTWFjcm9Bc3NlbWJsZXJDb2RlUHRy
JiBjb2RlUHRyLCBzaXplX3Qgc2l6ZSwgY29uc3QgY2hhciogcHJlZml4LCBQcmludFN0cmVhbSYg
b3V0LAogICAgIEluc3RydWN0aW9uU3Vic2V0SGludCkKIHsKKyAgICBpbml0aWFsaXplTExWTSgp
OworICAgIAogICAgIGNvbnN0IGNoYXIqIHRyaXBsZTsKICNpZiBDUFUoWDg2XzY0KQogICAgIHRy
aXBsZSA9ICJ4ODZfNjQtYXBwbGUtZGFyd2luIjsKQEAgLTkxLDcgKzk0LDcgQEAgYm9vbCB0cnlU
b0Rpc2Fzc2VtYmxlV2l0aExMVk0oCiAgICAgY2hhciBzeW1ib2xTdHJpbmdbc3ltYm9sU3RyaW5n
U2l6ZV07CiAgICAgCiAgICAgTExWTURpc2FzbUNvbnRleHRSZWYgZGlzYXNzZW1ibHlDb250ZXh0
ID0KLSAgICAgICAgTExWTUNyZWF0ZURpc2FzbSh0cmlwbGUsIHN5bWJvbFN0cmluZywgMCwgMCwg
c3ltYm9sTG9va3VwQ2FsbGJhY2spOworICAgICAgICBsbHZtLT5DcmVhdGVEaXNhc20odHJpcGxl
LCBzeW1ib2xTdHJpbmcsIDAsIDAsIHN5bWJvbExvb2t1cENhbGxiYWNrKTsKICAgICBSRUxFQVNF
X0FTU0VSVChkaXNhc3NlbWJseUNvbnRleHQpOwogICAgIAogICAgIGNoYXIgcGNTdHJpbmdbMjBd
OwpAQCAtMTA1LDcgKzEwOCw3IEBAIGJvb2wgdHJ5VG9EaXNhc3NlbWJsZVdpdGhMTFZNKAogICAg
ICAgICAgICAgcGNTdHJpbmcsIHNpemVvZihwY1N0cmluZyksICIweCVseCIsCiAgICAgICAgICAg
ICBzdGF0aWNfY2FzdDx1bnNpZ25lZCBsb25nPihiaXR3aXNlX2Nhc3Q8dWludHB0cl90PihwYykp
KTsKIAotICAgICAgICBzaXplX3QgaW5zdHJ1Y3Rpb25TaXplID0gTExWTURpc2FzbUluc3RydWN0
aW9uKAorICAgICAgICBzaXplX3QgaW5zdHJ1Y3Rpb25TaXplID0gbGx2bS0+RGlzYXNtSW5zdHJ1
Y3Rpb24oCiAgICAgICAgICAgICBkaXNhc3NlbWJseUNvbnRleHQsIHBjLCBlbmQgLSBwYywgYml0
d2lzZV9jYXN0PHVpbnRwdHJfdD4ocGMpLAogICAgICAgICAgICAgaW5zdHJ1Y3Rpb25TdHJpbmcs
IHNpemVvZihpbnN0cnVjdGlvblN0cmluZykpOwogICAgICAgICAKQEAgLTExNyw3ICsxMjAsNyBA
QCBib29sIHRyeVRvRGlzYXNzZW1ibGVXaXRoTExWTSgKICAgICAgICAgb3V0LnByaW50ZigiJXMl
MTZzOiAlc1xuIiwgcHJlZml4LCBwY1N0cmluZywgaW5zdHJ1Y3Rpb25TdHJpbmcpOwogICAgIH0K
ICAgICAKLSAgICBMTFZNRGlzYXNtRGlzcG9zZShkaXNhc3NlbWJseUNvbnRleHQpOworICAgIGxs
dm0tPkRpc2FzbURpc3Bvc2UoZGlzYXNzZW1ibHlDb250ZXh0KTsKICAgICAKICAgICByZXR1cm4g
dHJ1ZTsKIH0KSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMQWJicmV2aWF0ZWRU
eXBlcy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMQWJicmV2
aWF0ZWRUeXBlcy5oCShyZXZpc2lvbiAxNTcyMDQpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
ZnRsL0ZUTEFiYnJldmlhdGVkVHlwZXMuaAkod29ya2luZyBjb3B5KQpAQCAtMzAsNyArMzAsNyBA
QAogCiAjaWYgRU5BQkxFKEZUTF9KSVQpCiAKLSNpbmNsdWRlIDx3dGYvTExWTUhlYWRlcnMuaD4K
KyNpbmNsdWRlICJMTFZNQVBJLmgiCiAKIG5hbWVzcGFjZSBKU0MgeyBuYW1lc3BhY2UgRlRMIHsK
IApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExBYmJyZXZpYXRpb25zLmgKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExBYmJyZXZpYXRpb25zLmgJ
KHJldmlzaW9uIDE1NzIwNCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMQWJicmV2
aWF0aW9ucy5oCSh3b3JraW5nIGNvcHkpCkBAIC0zMyw2ICszMyw3IEBACiAjaW5jbHVkZSAiRlRM
QWJicmV2aWF0ZWRUeXBlcy5oIgogI2luY2x1ZGUgIkZUTFN3aXRjaENhc2UuaCIKICNpbmNsdWRl
ICJGVExWYWx1ZUZyb21CbG9jay5oIgorI2luY2x1ZGUgIkxMVk1BUEkuaCIKICNpbmNsdWRlIDxj
c3RyaW5nPgogCiBuYW1lc3BhY2UgSlNDIHsgbmFtZXNwYWNlIEZUTCB7CkBAIC00NiwyMiArNDcs
MjIgQEAgbmFtZXNwYWNlIEpTQyB7IG5hbWVzcGFjZSBGVEwgewogI2Vycm9yICJUaGUgRlRMIGJh
Y2tlbmQgYXNzdW1lcyB0aGF0IHBvaW50ZXJzIGFyZSA2NC1iaXQuIgogI2VuZGlmCiAKLXN0YXRp
YyBpbmxpbmUgTFR5cGUgdm9pZFR5cGUoTENvbnRleHQgY29udGV4dCkgeyByZXR1cm4gTExWTVZv
aWRUeXBlSW5Db250ZXh0KGNvbnRleHQpOyB9Ci1zdGF0aWMgaW5saW5lIExUeXBlIGludDFUeXBl
KExDb250ZXh0IGNvbnRleHQpIHsgcmV0dXJuIExMVk1JbnQxVHlwZUluQ29udGV4dChjb250ZXh0
KTsgfQotc3RhdGljIGlubGluZSBMVHlwZSBpbnQ4VHlwZShMQ29udGV4dCBjb250ZXh0KSB7IHJl
dHVybiBMTFZNSW50OFR5cGVJbkNvbnRleHQoY29udGV4dCk7IH0KLXN0YXRpYyBpbmxpbmUgTFR5
cGUgaW50MTZUeXBlKExDb250ZXh0IGNvbnRleHQpIHsgcmV0dXJuIExMVk1JbnQxNlR5cGVJbkNv
bnRleHQoY29udGV4dCk7IH0KLXN0YXRpYyBpbmxpbmUgTFR5cGUgaW50MzJUeXBlKExDb250ZXh0
IGNvbnRleHQpIHsgcmV0dXJuIExMVk1JbnQzMlR5cGVJbkNvbnRleHQoY29udGV4dCk7IH0KLXN0
YXRpYyBpbmxpbmUgTFR5cGUgaW50NjRUeXBlKExDb250ZXh0IGNvbnRleHQpIHsgcmV0dXJuIExM
Vk1JbnQ2NFR5cGVJbkNvbnRleHQoY29udGV4dCk7IH0KLXN0YXRpYyBpbmxpbmUgTFR5cGUgaW50
UHRyVHlwZShMQ29udGV4dCBjb250ZXh0KSB7IHJldHVybiBMTFZNSW50NjRUeXBlSW5Db250ZXh0
KGNvbnRleHQpOyB9Ci1zdGF0aWMgaW5saW5lIExUeXBlIGZsb2F0VHlwZShMQ29udGV4dCBjb250
ZXh0KSB7IHJldHVybiBMTFZNRmxvYXRUeXBlSW5Db250ZXh0KGNvbnRleHQpOyB9Ci1zdGF0aWMg
aW5saW5lIExUeXBlIGRvdWJsZVR5cGUoTENvbnRleHQgY29udGV4dCkgeyByZXR1cm4gTExWTURv
dWJsZVR5cGVJbkNvbnRleHQoY29udGV4dCk7IH0KK3N0YXRpYyBpbmxpbmUgTFR5cGUgdm9pZFR5
cGUoTENvbnRleHQgY29udGV4dCkgeyByZXR1cm4gbGx2bS0+Vm9pZFR5cGVJbkNvbnRleHQoY29u
dGV4dCk7IH0KK3N0YXRpYyBpbmxpbmUgTFR5cGUgaW50MVR5cGUoTENvbnRleHQgY29udGV4dCkg
eyByZXR1cm4gbGx2bS0+SW50MVR5cGVJbkNvbnRleHQoY29udGV4dCk7IH0KK3N0YXRpYyBpbmxp
bmUgTFR5cGUgaW50OFR5cGUoTENvbnRleHQgY29udGV4dCkgeyByZXR1cm4gbGx2bS0+SW50OFR5
cGVJbkNvbnRleHQoY29udGV4dCk7IH0KK3N0YXRpYyBpbmxpbmUgTFR5cGUgaW50MTZUeXBlKExD
b250ZXh0IGNvbnRleHQpIHsgcmV0dXJuIGxsdm0tPkludDE2VHlwZUluQ29udGV4dChjb250ZXh0
KTsgfQorc3RhdGljIGlubGluZSBMVHlwZSBpbnQzMlR5cGUoTENvbnRleHQgY29udGV4dCkgeyBy
ZXR1cm4gbGx2bS0+SW50MzJUeXBlSW5Db250ZXh0KGNvbnRleHQpOyB9CitzdGF0aWMgaW5saW5l
IExUeXBlIGludDY0VHlwZShMQ29udGV4dCBjb250ZXh0KSB7IHJldHVybiBsbHZtLT5JbnQ2NFR5
cGVJbkNvbnRleHQoY29udGV4dCk7IH0KK3N0YXRpYyBpbmxpbmUgTFR5cGUgaW50UHRyVHlwZShM
Q29udGV4dCBjb250ZXh0KSB7IHJldHVybiBsbHZtLT5JbnQ2NFR5cGVJbkNvbnRleHQoY29udGV4
dCk7IH0KK3N0YXRpYyBpbmxpbmUgTFR5cGUgZmxvYXRUeXBlKExDb250ZXh0IGNvbnRleHQpIHsg
cmV0dXJuIGxsdm0tPkZsb2F0VHlwZUluQ29udGV4dChjb250ZXh0KTsgfQorc3RhdGljIGlubGlu
ZSBMVHlwZSBkb3VibGVUeXBlKExDb250ZXh0IGNvbnRleHQpIHsgcmV0dXJuIGxsdm0tPkRvdWJs
ZVR5cGVJbkNvbnRleHQoY29udGV4dCk7IH0KIAotc3RhdGljIGlubGluZSBMVHlwZSBwb2ludGVy
VHlwZShMVHlwZSB0eXBlKSB7IHJldHVybiBMTFZNUG9pbnRlclR5cGUodHlwZSwgMCk7IH0KK3N0
YXRpYyBpbmxpbmUgTFR5cGUgcG9pbnRlclR5cGUoTFR5cGUgdHlwZSkgeyByZXR1cm4gbGx2bS0+
UG9pbnRlclR5cGUodHlwZSwgMCk7IH0KIAogZW51bSBQYWNraW5nTW9kZSB7IE5vdFBhY2tlZCwg
UGFja2VkIH07CiBzdGF0aWMgaW5saW5lIExUeXBlIHN0cnVjdFR5cGUoTENvbnRleHQgY29udGV4
dCwgTFR5cGUqIGVsZW1lbnRUeXBlcywgdW5zaWduZWQgZWxlbWVudENvdW50LCBQYWNraW5nTW9k
ZSBwYWNraW5nID0gTm90UGFja2VkKQogewotICAgIHJldHVybiBMTFZNU3RydWN0VHlwZUluQ29u
dGV4dChjb250ZXh0LCBlbGVtZW50VHlwZXMsIGVsZW1lbnRDb3VudCwgcGFja2luZyA9PSBQYWNr
ZWQpOworICAgIHJldHVybiBsbHZtLT5TdHJ1Y3RUeXBlSW5Db250ZXh0KGNvbnRleHQsIGVsZW1l
bnRUeXBlcywgZWxlbWVudENvdW50LCBwYWNraW5nID09IFBhY2tlZCk7CiB9CiBzdGF0aWMgaW5s
aW5lIExUeXBlIHN0cnVjdFR5cGUoTENvbnRleHQgY29udGV4dCwgUGFja2luZ01vZGUgcGFja2lu
ZyA9IE5vdFBhY2tlZCkKIHsKQEAgLTgwLDcgKzgxLDcgQEAgc3RhdGljIGlubGluZSBMVHlwZSBz
dHJ1Y3RUeXBlKExDb250ZXh0IAogZW51bSBWYXJpYWRpY2l0eSB7IE5vdFZhcmlhZGljLCBWYXJp
YWRpYyB9Owogc3RhdGljIGlubGluZSBMVHlwZSBmdW5jdGlvblR5cGUoTFR5cGUgcmV0dXJuVHlw
ZSwgY29uc3QgTFR5cGUqIHBhcmFtVHlwZXMsIHVuc2lnbmVkIHBhcmFtQ291bnQsIFZhcmlhZGlj
aXR5IHZhcmlhZGljaXR5KQogewotICAgIHJldHVybiBMTFZNRnVuY3Rpb25UeXBlKHJldHVyblR5
cGUsIGNvbnN0X2Nhc3Q8TFR5cGUqPihwYXJhbVR5cGVzKSwgcGFyYW1Db3VudCwgdmFyaWFkaWNp
dHkgPT0gVmFyaWFkaWMpOworICAgIHJldHVybiBsbHZtLT5GdW5jdGlvblR5cGUocmV0dXJuVHlw
ZSwgY29uc3RfY2FzdDxMVHlwZSo+KHBhcmFtVHlwZXMpLCBwYXJhbUNvdW50LCB2YXJpYWRpY2l0
eSA9PSBWYXJpYWRpYyk7CiB9CiB0ZW1wbGF0ZTx0eXBlbmFtZSBWZWN0b3JUeXBlPgogaW5saW5l
IExUeXBlIGZ1bmN0aW9uVHlwZShMVHlwZSByZXR1cm5UeXBlLCBjb25zdCBWZWN0b3JUeXBlJiB2
ZWN0b3IsIFZhcmlhZGljaXR5IHZhcmlhZGljaXR5ID0gTm90VmFyaWFkaWMpCkBAIC0xMTEsMTIg
KzExMiwxMiBAQCBzdGF0aWMgaW5saW5lIExUeXBlIGZ1bmN0aW9uVHlwZShMVHlwZSByCiAgICAg
cmV0dXJuIGZ1bmN0aW9uVHlwZShyZXR1cm5UeXBlLCBwYXJhbVR5cGVzLCA0LCB2YXJpYWRpY2l0
eSk7CiB9CiAKLXN0YXRpYyBpbmxpbmUgTFR5cGUgdHlwZU9mKExWYWx1ZSB2YWx1ZSkgeyByZXR1
cm4gTExWTVR5cGVPZih2YWx1ZSk7IH0KK3N0YXRpYyBpbmxpbmUgTFR5cGUgdHlwZU9mKExWYWx1
ZSB2YWx1ZSkgeyByZXR1cm4gbGx2bS0+VHlwZU9mKHZhbHVlKTsgfQogCi1zdGF0aWMgaW5saW5l
IHVuc2lnbmVkIG1kS2luZElEKExDb250ZXh0IGNvbnRleHQsIGNvbnN0IGNoYXIqIHN0cmluZykg
eyByZXR1cm4gTExWTUdldE1ES2luZElESW5Db250ZXh0KGNvbnRleHQsIHN0cmluZywgc3RkOjpz
dHJsZW4oc3RyaW5nKSk7IH0KLXN0YXRpYyBpbmxpbmUgTFZhbHVlIG1kU3RyaW5nKExDb250ZXh0
IGNvbnRleHQsIGNvbnN0IGNoYXIqIHN0cmluZywgdW5zaWduZWQgbGVuZ3RoKSB7IHJldHVybiBM
TFZNTURTdHJpbmdJbkNvbnRleHQoY29udGV4dCwgc3RyaW5nLCBsZW5ndGgpOyB9CitzdGF0aWMg
aW5saW5lIHVuc2lnbmVkIG1kS2luZElEKExDb250ZXh0IGNvbnRleHQsIGNvbnN0IGNoYXIqIHN0
cmluZykgeyByZXR1cm4gbGx2bS0+R2V0TURLaW5kSURJbkNvbnRleHQoY29udGV4dCwgc3RyaW5n
LCBzdGQ6OnN0cmxlbihzdHJpbmcpKTsgfQorc3RhdGljIGlubGluZSBMVmFsdWUgbWRTdHJpbmco
TENvbnRleHQgY29udGV4dCwgY29uc3QgY2hhciogc3RyaW5nLCB1bnNpZ25lZCBsZW5ndGgpIHsg
cmV0dXJuIGxsdm0tPk1EU3RyaW5nSW5Db250ZXh0KGNvbnRleHQsIHN0cmluZywgbGVuZ3RoKTsg
fQogc3RhdGljIGlubGluZSBMVmFsdWUgbWRTdHJpbmcoTENvbnRleHQgY29udGV4dCwgY29uc3Qg
Y2hhciogc3RyaW5nKSB7IHJldHVybiBtZFN0cmluZyhjb250ZXh0LCBzdHJpbmcsIHN0ZDo6c3Ry
bGVuKHN0cmluZykpOyB9Ci1zdGF0aWMgaW5saW5lIExWYWx1ZSBtZE5vZGUoTENvbnRleHQgY29u
dGV4dCwgTFZhbHVlKiBhcmdzLCB1bnNpZ25lZCBudW1BcmdzKSB7IHJldHVybiBMTFZNTUROb2Rl
SW5Db250ZXh0KGNvbnRleHQsIGFyZ3MsIG51bUFyZ3MpOyB9CitzdGF0aWMgaW5saW5lIExWYWx1
ZSBtZE5vZGUoTENvbnRleHQgY29udGV4dCwgTFZhbHVlKiBhcmdzLCB1bnNpZ25lZCBudW1Bcmdz
KSB7IHJldHVybiBsbHZtLT5NRE5vZGVJbkNvbnRleHQoY29udGV4dCwgYXJncywgbnVtQXJncyk7
IH0KIHN0YXRpYyBpbmxpbmUgTFZhbHVlIG1kTm9kZShMQ29udGV4dCBjb250ZXh0KSB7IHJldHVy
biBtZE5vZGUoY29udGV4dCwgMCwgMCk7IH0KIHN0YXRpYyBpbmxpbmUgTFZhbHVlIG1kTm9kZShM
Q29udGV4dCBjb250ZXh0LCBMVmFsdWUgYXJnMSkgeyByZXR1cm4gbWROb2RlKGNvbnRleHQsICZh
cmcxLCAxKTsgfQogc3RhdGljIGlubGluZSBMVmFsdWUgbWROb2RlKExDb250ZXh0IGNvbnRleHQs
IExWYWx1ZSBhcmcxLCBMVmFsdWUgYXJnMikKQEAgLTEyNSwxMSArMTI2LDExIEBAIHN0YXRpYyBp
bmxpbmUgTFZhbHVlIG1kTm9kZShMQ29udGV4dCBjb24KICAgICByZXR1cm4gbWROb2RlKGNvbnRl
eHQsIGFyZ3MsIDIpOwogfQogCi1zdGF0aWMgaW5saW5lIHZvaWQgc2V0TWV0YWRhdGEoTFZhbHVl
IGluc3RydWN0aW9uLCB1bnNpZ25lZCBraW5kLCBMVmFsdWUgbWV0YWRhdGEpIHsgTExWTVNldE1l
dGFkYXRhKGluc3RydWN0aW9uLCBraW5kLCBtZXRhZGF0YSk7IH0KK3N0YXRpYyBpbmxpbmUgdm9p
ZCBzZXRNZXRhZGF0YShMVmFsdWUgaW5zdHJ1Y3Rpb24sIHVuc2lnbmVkIGtpbmQsIExWYWx1ZSBt
ZXRhZGF0YSkgeyBsbHZtLT5TZXRNZXRhZGF0YShpbnN0cnVjdGlvbiwga2luZCwgbWV0YWRhdGEp
OyB9CiAKLXN0YXRpYyBpbmxpbmUgTFZhbHVlIGFkZEZ1bmN0aW9uKExNb2R1bGUgbW9kdWxlLCBj
b25zdCBjaGFyKiBuYW1lLCBMVHlwZSB0eXBlKSB7IHJldHVybiBMTFZNQWRkRnVuY3Rpb24obW9k
dWxlLCBuYW1lLCB0eXBlKTsgfQotc3RhdGljIGlubGluZSB2b2lkIHNldExpbmthZ2UoTFZhbHVl
IGdsb2JhbCwgTExpbmthZ2UgbGlua2FnZSkgeyBMTFZNU2V0TGlua2FnZShnbG9iYWwsIGxpbmth
Z2UpOyB9Ci1zdGF0aWMgaW5saW5lIHZvaWQgc2V0RnVuY3Rpb25DYWxsaW5nQ29udihMVmFsdWUg
ZnVuY3Rpb24sIExDYWxsQ29udiBjb252ZW50aW9uKSB7IExMVk1TZXRGdW5jdGlvbkNhbGxDb252
KGZ1bmN0aW9uLCBjb252ZW50aW9uKTsgfQorc3RhdGljIGlubGluZSBMVmFsdWUgYWRkRnVuY3Rp
b24oTE1vZHVsZSBtb2R1bGUsIGNvbnN0IGNoYXIqIG5hbWUsIExUeXBlIHR5cGUpIHsgcmV0dXJu
IGxsdm0tPkFkZEZ1bmN0aW9uKG1vZHVsZSwgbmFtZSwgdHlwZSk7IH0KK3N0YXRpYyBpbmxpbmUg
dm9pZCBzZXRMaW5rYWdlKExWYWx1ZSBnbG9iYWwsIExMaW5rYWdlIGxpbmthZ2UpIHsgbGx2bS0+
U2V0TGlua2FnZShnbG9iYWwsIGxpbmthZ2UpOyB9CitzdGF0aWMgaW5saW5lIHZvaWQgc2V0RnVu
Y3Rpb25DYWxsaW5nQ29udihMVmFsdWUgZnVuY3Rpb24sIExDYWxsQ29udiBjb252ZW50aW9uKSB7
IGxsdm0tPlNldEZ1bmN0aW9uQ2FsbENvbnYoZnVuY3Rpb24sIGNvbnZlbnRpb24pOyB9CiAKIHN0
YXRpYyBpbmxpbmUgTFZhbHVlIGFkZEV4dGVybkZ1bmN0aW9uKExNb2R1bGUgbW9kdWxlLCBjb25z
dCBjaGFyKiBuYW1lLCBMVHlwZSB0eXBlKQogewpAQCAtMTM4LDIxICsxMzksMjEgQEAgc3RhdGlj
IGlubGluZSBMVmFsdWUgYWRkRXh0ZXJuRnVuY3Rpb24oTAogICAgIHJldHVybiByZXN1bHQ7CiB9
CiAKLXN0YXRpYyBpbmxpbmUgTFZhbHVlIGdldFBhcmFtKExWYWx1ZSBmdW5jdGlvbiwgdW5zaWdu
ZWQgaW5kZXgpIHsgcmV0dXJuIExMVk1HZXRQYXJhbShmdW5jdGlvbiwgaW5kZXgpOyB9CitzdGF0
aWMgaW5saW5lIExWYWx1ZSBnZXRQYXJhbShMVmFsdWUgZnVuY3Rpb24sIHVuc2lnbmVkIGluZGV4
KSB7IHJldHVybiBsbHZtLT5HZXRQYXJhbShmdW5jdGlvbiwgaW5kZXgpOyB9CiAKIGVudW0gQml0
RXh0ZW5zaW9uIHsgWmVyb0V4dGVuZCwgU2lnbkV4dGVuZCB9Owotc3RhdGljIGlubGluZSBMVmFs
dWUgY29uc3RJbnQoTFR5cGUgdHlwZSwgdW5zaWduZWQgbG9uZyBsb25nIHZhbHVlLCBCaXRFeHRl
bnNpb24gZXh0ZW5zaW9uID0gWmVyb0V4dGVuZCkgeyByZXR1cm4gTExWTUNvbnN0SW50KHR5cGUs
IHZhbHVlLCBleHRlbnNpb24gPT0gU2lnbkV4dGVuZCk7IH0KLXN0YXRpYyBpbmxpbmUgTFZhbHVl
IGNvbnN0UmVhbChMVHlwZSB0eXBlLCBkb3VibGUgdmFsdWUpIHsgcmV0dXJuIExMVk1Db25zdFJl
YWwodHlwZSwgdmFsdWUpOyB9Ci1zdGF0aWMgaW5saW5lIExWYWx1ZSBjb25zdEludFRvUHRyKExW
YWx1ZSB2YWx1ZSwgTFR5cGUgdHlwZSkgeyByZXR1cm4gTExWTUNvbnN0SW50VG9QdHIodmFsdWUs
IHR5cGUpOyB9Ci1zdGF0aWMgaW5saW5lIExWYWx1ZSBjb25zdEJpdENhc3QoTFZhbHVlIHZhbHVl
LCBMVHlwZSB0eXBlKSB7IHJldHVybiBMTFZNQ29uc3RCaXRDYXN0KHZhbHVlLCB0eXBlKTsgfQor
c3RhdGljIGlubGluZSBMVmFsdWUgY29uc3RJbnQoTFR5cGUgdHlwZSwgdW5zaWduZWQgbG9uZyBs
b25nIHZhbHVlLCBCaXRFeHRlbnNpb24gZXh0ZW5zaW9uID0gWmVyb0V4dGVuZCkgeyByZXR1cm4g
bGx2bS0+Q29uc3RJbnQodHlwZSwgdmFsdWUsIGV4dGVuc2lvbiA9PSBTaWduRXh0ZW5kKTsgfQor
c3RhdGljIGlubGluZSBMVmFsdWUgY29uc3RSZWFsKExUeXBlIHR5cGUsIGRvdWJsZSB2YWx1ZSkg
eyByZXR1cm4gbGx2bS0+Q29uc3RSZWFsKHR5cGUsIHZhbHVlKTsgfQorc3RhdGljIGlubGluZSBM
VmFsdWUgY29uc3RJbnRUb1B0cihMVmFsdWUgdmFsdWUsIExUeXBlIHR5cGUpIHsgcmV0dXJuIGxs
dm0tPkNvbnN0SW50VG9QdHIodmFsdWUsIHR5cGUpOyB9CitzdGF0aWMgaW5saW5lIExWYWx1ZSBj
b25zdEJpdENhc3QoTFZhbHVlIHZhbHVlLCBMVHlwZSB0eXBlKSB7IHJldHVybiBsbHZtLT5Db25z
dEJpdENhc3QodmFsdWUsIHR5cGUpOyB9CiAKLXN0YXRpYyBpbmxpbmUgTEJhc2ljQmxvY2sgYXBw
ZW5kQmFzaWNCbG9jayhMQ29udGV4dCBjb250ZXh0LCBMVmFsdWUgZnVuY3Rpb24sIGNvbnN0IGNo
YXIqIG5hbWUgPSAiIikgeyByZXR1cm4gTExWTUFwcGVuZEJhc2ljQmxvY2tJbkNvbnRleHQoY29u
dGV4dCwgZnVuY3Rpb24sIG5hbWUpOyB9Ci1zdGF0aWMgaW5saW5lIExCYXNpY0Jsb2NrIGluc2Vy
dEJhc2ljQmxvY2soTENvbnRleHQgY29udGV4dCwgTEJhc2ljQmxvY2sgYmVmb3JlQmFzaWNCbG9j
aywgY29uc3QgY2hhciogbmFtZSA9ICIiKSB7IHJldHVybiBMTFZNSW5zZXJ0QmFzaWNCbG9ja0lu
Q29udGV4dChjb250ZXh0LCBiZWZvcmVCYXNpY0Jsb2NrLCBuYW1lKTsgfQorc3RhdGljIGlubGlu
ZSBMQmFzaWNCbG9jayBhcHBlbmRCYXNpY0Jsb2NrKExDb250ZXh0IGNvbnRleHQsIExWYWx1ZSBm
dW5jdGlvbiwgY29uc3QgY2hhciogbmFtZSA9ICIiKSB7IHJldHVybiBsbHZtLT5BcHBlbmRCYXNp
Y0Jsb2NrSW5Db250ZXh0KGNvbnRleHQsIGZ1bmN0aW9uLCBuYW1lKTsgfQorc3RhdGljIGlubGlu
ZSBMQmFzaWNCbG9jayBpbnNlcnRCYXNpY0Jsb2NrKExDb250ZXh0IGNvbnRleHQsIExCYXNpY0Js
b2NrIGJlZm9yZUJhc2ljQmxvY2ssIGNvbnN0IGNoYXIqIG5hbWUgPSAiIikgeyByZXR1cm4gbGx2
bS0+SW5zZXJ0QmFzaWNCbG9ja0luQ29udGV4dChjb250ZXh0LCBiZWZvcmVCYXNpY0Jsb2NrLCBu
YW1lKTsgfQogCi1zdGF0aWMgaW5saW5lIExWYWx1ZSBidWlsZFBoaShMQnVpbGRlciBidWlsZGVy
LCBMVHlwZSB0eXBlKSB7IHJldHVybiBMTFZNQnVpbGRQaGkoYnVpbGRlciwgdHlwZSwgIiIpOyB9
CitzdGF0aWMgaW5saW5lIExWYWx1ZSBidWlsZFBoaShMQnVpbGRlciBidWlsZGVyLCBMVHlwZSB0
eXBlKSB7IHJldHVybiBsbHZtLT5CdWlsZFBoaShidWlsZGVyLCB0eXBlLCAiIik7IH0KIHN0YXRp
YyBpbmxpbmUgdm9pZCBhZGRJbmNvbWluZyhMVmFsdWUgcGhpLCBjb25zdCBMVmFsdWUqIHZhbHVl
cywgY29uc3QgTEJhc2ljQmxvY2sqIGJsb2NrcywgdW5zaWduZWQgbnVtUHJlZGVjZXNzb3JzKQog
ewotICAgIExMVk1BZGRJbmNvbWluZyhwaGksIGNvbnN0X2Nhc3Q8TFZhbHVlKj4odmFsdWVzKSwg
Y29uc3RfY2FzdDxMQmFzaWNCbG9jayo+KGJsb2NrcyksIG51bVByZWRlY2Vzc29ycyk7CisgICAg
bGx2bS0+QWRkSW5jb21pbmcocGhpLCBjb25zdF9jYXN0PExWYWx1ZSo+KHZhbHVlcyksIGNvbnN0
X2Nhc3Q8TEJhc2ljQmxvY2sqPihibG9ja3MpLCBudW1QcmVkZWNlc3NvcnMpOwogfQogc3RhdGlj
IGlubGluZSB2b2lkIGFkZEluY29taW5nKExWYWx1ZSBwaGksIFZhbHVlRnJvbUJsb2NrIHZhbHVl
MSkKIHsKQEAgLTE4MCw0NCArMTgxLDQ0IEBAIHN0YXRpYyBpbmxpbmUgTFZhbHVlIGJ1aWxkUGhp
KAogICAgIHJldHVybiByZXN1bHQ7CiB9CiAKLXN0YXRpYyBpbmxpbmUgTFZhbHVlIGJ1aWxkQWxs
b2NhKExCdWlsZGVyIGJ1aWxkZXIsIExUeXBlIHR5cGUpIHsgcmV0dXJuIExMVk1CdWlsZEFsbG9j
YShidWlsZGVyLCB0eXBlLCAiIik7IH0KLXN0YXRpYyBpbmxpbmUgTFZhbHVlIGJ1aWxkQWRkKExC
dWlsZGVyIGJ1aWxkZXIsIExWYWx1ZSBsZWZ0LCBMVmFsdWUgcmlnaHQpIHsgcmV0dXJuIExMVk1C
dWlsZEFkZChidWlsZGVyLCBsZWZ0LCByaWdodCwgIiIpOyB9Ci1zdGF0aWMgaW5saW5lIExWYWx1
ZSBidWlsZFN1YihMQnVpbGRlciBidWlsZGVyLCBMVmFsdWUgbGVmdCwgTFZhbHVlIHJpZ2h0KSB7
IHJldHVybiBMTFZNQnVpbGRTdWIoYnVpbGRlciwgbGVmdCwgcmlnaHQsICIiKTsgfQotc3RhdGlj
IGlubGluZSBMVmFsdWUgYnVpbGRNdWwoTEJ1aWxkZXIgYnVpbGRlciwgTFZhbHVlIGxlZnQsIExW
YWx1ZSByaWdodCkgeyByZXR1cm4gTExWTUJ1aWxkTXVsKGJ1aWxkZXIsIGxlZnQsIHJpZ2h0LCAi
Iik7IH0KLXN0YXRpYyBpbmxpbmUgTFZhbHVlIGJ1aWxkRGl2KExCdWlsZGVyIGJ1aWxkZXIsIExW
YWx1ZSBsZWZ0LCBMVmFsdWUgcmlnaHQpIHsgcmV0dXJuIExMVk1CdWlsZFNEaXYoYnVpbGRlciwg
bGVmdCwgcmlnaHQsICIiKTsgfQotc3RhdGljIGlubGluZSBMVmFsdWUgYnVpbGRSZW0oTEJ1aWxk
ZXIgYnVpbGRlciwgTFZhbHVlIGxlZnQsIExWYWx1ZSByaWdodCkgeyByZXR1cm4gTExWTUJ1aWxk
U1JlbShidWlsZGVyLCBsZWZ0LCByaWdodCwgIiIpOyB9Ci1zdGF0aWMgaW5saW5lIExWYWx1ZSBi
dWlsZE5lZyhMQnVpbGRlciBidWlsZGVyLCBMVmFsdWUgdmFsdWUpIHsgcmV0dXJuIExMVk1CdWls
ZE5lZyhidWlsZGVyLCB2YWx1ZSwgIiIpOyB9Ci1zdGF0aWMgaW5saW5lIExWYWx1ZSBidWlsZEZB
ZGQoTEJ1aWxkZXIgYnVpbGRlciwgTFZhbHVlIGxlZnQsIExWYWx1ZSByaWdodCkgeyByZXR1cm4g
TExWTUJ1aWxkRkFkZChidWlsZGVyLCBsZWZ0LCByaWdodCwgIiIpOyB9Ci1zdGF0aWMgaW5saW5l
IExWYWx1ZSBidWlsZEZTdWIoTEJ1aWxkZXIgYnVpbGRlciwgTFZhbHVlIGxlZnQsIExWYWx1ZSBy
aWdodCkgeyByZXR1cm4gTExWTUJ1aWxkRlN1YihidWlsZGVyLCBsZWZ0LCByaWdodCwgIiIpOyB9
Ci1zdGF0aWMgaW5saW5lIExWYWx1ZSBidWlsZEZNdWwoTEJ1aWxkZXIgYnVpbGRlciwgTFZhbHVl
IGxlZnQsIExWYWx1ZSByaWdodCkgeyByZXR1cm4gTExWTUJ1aWxkRk11bChidWlsZGVyLCBsZWZ0
LCByaWdodCwgIiIpOyB9Ci1zdGF0aWMgaW5saW5lIExWYWx1ZSBidWlsZEZEaXYoTEJ1aWxkZXIg
YnVpbGRlciwgTFZhbHVlIGxlZnQsIExWYWx1ZSByaWdodCkgeyByZXR1cm4gTExWTUJ1aWxkRkRp
dihidWlsZGVyLCBsZWZ0LCByaWdodCwgIiIpOyB9Ci1zdGF0aWMgaW5saW5lIExWYWx1ZSBidWls
ZEZSZW0oTEJ1aWxkZXIgYnVpbGRlciwgTFZhbHVlIGxlZnQsIExWYWx1ZSByaWdodCkgeyByZXR1
cm4gTExWTUJ1aWxkRlJlbShidWlsZGVyLCBsZWZ0LCByaWdodCwgIiIpOyB9Ci1zdGF0aWMgaW5s
aW5lIExWYWx1ZSBidWlsZEZOZWcoTEJ1aWxkZXIgYnVpbGRlciwgTFZhbHVlIHZhbHVlKSB7IHJl
dHVybiBMTFZNQnVpbGRGTmVnKGJ1aWxkZXIsIHZhbHVlLCAiIik7IH0KLXN0YXRpYyBpbmxpbmUg
TFZhbHVlIGJ1aWxkQW5kKExCdWlsZGVyIGJ1aWxkZXIsIExWYWx1ZSBsZWZ0LCBMVmFsdWUgcmln
aHQpIHsgcmV0dXJuIExMVk1CdWlsZEFuZChidWlsZGVyLCBsZWZ0LCByaWdodCwgIiIpOyB9Ci1z
dGF0aWMgaW5saW5lIExWYWx1ZSBidWlsZE9yKExCdWlsZGVyIGJ1aWxkZXIsIExWYWx1ZSBsZWZ0
LCBMVmFsdWUgcmlnaHQpIHsgcmV0dXJuIExMVk1CdWlsZE9yKGJ1aWxkZXIsIGxlZnQsIHJpZ2h0
LCAiIik7IH0KLXN0YXRpYyBpbmxpbmUgTFZhbHVlIGJ1aWxkWG9yKExCdWlsZGVyIGJ1aWxkZXIs
IExWYWx1ZSBsZWZ0LCBMVmFsdWUgcmlnaHQpIHsgcmV0dXJuIExMVk1CdWlsZFhvcihidWlsZGVy
LCBsZWZ0LCByaWdodCwgIiIpOyB9Ci1zdGF0aWMgaW5saW5lIExWYWx1ZSBidWlsZFNobChMQnVp
bGRlciBidWlsZGVyLCBMVmFsdWUgbGVmdCwgTFZhbHVlIHJpZ2h0KSB7IHJldHVybiBMTFZNQnVp
bGRTaGwoYnVpbGRlciwgbGVmdCwgcmlnaHQsICIiKTsgfQotc3RhdGljIGlubGluZSBMVmFsdWUg
YnVpbGRBU2hyKExCdWlsZGVyIGJ1aWxkZXIsIExWYWx1ZSBsZWZ0LCBMVmFsdWUgcmlnaHQpIHsg
cmV0dXJuIExMVk1CdWlsZEFTaHIoYnVpbGRlciwgbGVmdCwgcmlnaHQsICIiKTsgfQotc3RhdGlj
IGlubGluZSBMVmFsdWUgYnVpbGRMU2hyKExCdWlsZGVyIGJ1aWxkZXIsIExWYWx1ZSBsZWZ0LCBM
VmFsdWUgcmlnaHQpIHsgcmV0dXJuIExMVk1CdWlsZExTaHIoYnVpbGRlciwgbGVmdCwgcmlnaHQs
ICIiKTsgfQotc3RhdGljIGlubGluZSBMVmFsdWUgYnVpbGROb3QoTEJ1aWxkZXIgYnVpbGRlciwg
TFZhbHVlIHZhbHVlKSB7IHJldHVybiBMTFZNQnVpbGROb3QoYnVpbGRlciwgdmFsdWUsICIiKTsg
fQotc3RhdGljIGlubGluZSBMVmFsdWUgYnVpbGRMb2FkKExCdWlsZGVyIGJ1aWxkZXIsIExWYWx1
ZSBwb2ludGVyKSB7IHJldHVybiBMTFZNQnVpbGRMb2FkKGJ1aWxkZXIsIHBvaW50ZXIsICIiKTsg
fQotc3RhdGljIGlubGluZSBMVmFsdWUgYnVpbGRTdG9yZShMQnVpbGRlciBidWlsZGVyLCBMVmFs
dWUgdmFsdWUsIExWYWx1ZSBwb2ludGVyKSB7IHJldHVybiBMTFZNQnVpbGRTdG9yZShidWlsZGVy
LCB2YWx1ZSwgcG9pbnRlcik7IH0KLXN0YXRpYyBpbmxpbmUgTFZhbHVlIGJ1aWxkU0V4dChMQnVp
bGRlciBidWlsZGVyLCBMVmFsdWUgdmFsdWUsIExUeXBlIHR5cGUpIHsgcmV0dXJuIExMVk1CdWls
ZFNFeHQoYnVpbGRlciwgdmFsdWUsIHR5cGUsICIiKTsgfQotc3RhdGljIGlubGluZSBMVmFsdWUg
YnVpbGRaRXh0KExCdWlsZGVyIGJ1aWxkZXIsIExWYWx1ZSB2YWx1ZSwgTFR5cGUgdHlwZSkgeyBy
ZXR1cm4gTExWTUJ1aWxkWkV4dChidWlsZGVyLCB2YWx1ZSwgdHlwZSwgIiIpOyB9Ci1zdGF0aWMg
aW5saW5lIExWYWx1ZSBidWlsZEZQVG9TSShMQnVpbGRlciBidWlsZGVyLCBMVmFsdWUgdmFsdWUs
IExUeXBlIHR5cGUpIHsgcmV0dXJuIExMVk1CdWlsZEZQVG9TSShidWlsZGVyLCB2YWx1ZSwgdHlw
ZSwgIiIpOyB9Ci1zdGF0aWMgaW5saW5lIExWYWx1ZSBidWlsZEZQVG9VSShMQnVpbGRlciBidWls
ZGVyLCBMVmFsdWUgdmFsdWUsIExUeXBlIHR5cGUpIHsgcmV0dXJuIExMVk1CdWlsZEZQVG9VSShi
dWlsZGVyLCB2YWx1ZSwgdHlwZSwgIiIpOyB9Ci1zdGF0aWMgaW5saW5lIExWYWx1ZSBidWlsZFNJ
VG9GUChMQnVpbGRlciBidWlsZGVyLCBMVmFsdWUgdmFsdWUsIExUeXBlIHR5cGUpIHsgcmV0dXJu
IExMVk1CdWlsZFNJVG9GUChidWlsZGVyLCB2YWx1ZSwgdHlwZSwgIiIpOyB9Ci1zdGF0aWMgaW5s
aW5lIExWYWx1ZSBidWlsZFVJVG9GUChMQnVpbGRlciBidWlsZGVyLCBMVmFsdWUgdmFsdWUsIExU
eXBlIHR5cGUpIHsgcmV0dXJuIExMVk1CdWlsZFVJVG9GUChidWlsZGVyLCB2YWx1ZSwgdHlwZSwg
IiIpOyB9Ci1zdGF0aWMgaW5saW5lIExWYWx1ZSBidWlsZEludENhc3QoTEJ1aWxkZXIgYnVpbGRl
ciwgTFZhbHVlIHZhbHVlLCBMVHlwZSB0eXBlKSB7IHJldHVybiBMTFZNQnVpbGRJbnRDYXN0KGJ1
aWxkZXIsIHZhbHVlLCB0eXBlLCAiIik7IH0KLXN0YXRpYyBpbmxpbmUgTFZhbHVlIGJ1aWxkRlBD
YXN0KExCdWlsZGVyIGJ1aWxkZXIsIExWYWx1ZSB2YWx1ZSwgTFR5cGUgdHlwZSkgeyByZXR1cm4g
TExWTUJ1aWxkRlBDYXN0KGJ1aWxkZXIsIHZhbHVlLCB0eXBlLCAiIik7IH0KLXN0YXRpYyBpbmxp
bmUgTFZhbHVlIGJ1aWxkSW50VG9QdHIoTEJ1aWxkZXIgYnVpbGRlciwgTFZhbHVlIHZhbHVlLCBM
VHlwZSB0eXBlKSB7IHJldHVybiBMTFZNQnVpbGRJbnRUb1B0cihidWlsZGVyLCB2YWx1ZSwgdHlw
ZSwgIiIpOyB9Ci1zdGF0aWMgaW5saW5lIExWYWx1ZSBidWlsZFB0clRvSW50KExCdWlsZGVyIGJ1
aWxkZXIsIExWYWx1ZSB2YWx1ZSwgTFR5cGUgdHlwZSkgeyByZXR1cm4gTExWTUJ1aWxkUHRyVG9J
bnQoYnVpbGRlciwgdmFsdWUsIHR5cGUsICIiKTsgfQotc3RhdGljIGlubGluZSBMVmFsdWUgYnVp
bGRCaXRDYXN0KExCdWlsZGVyIGJ1aWxkZXIsIExWYWx1ZSB2YWx1ZSwgTFR5cGUgdHlwZSkgeyBy
ZXR1cm4gTExWTUJ1aWxkQml0Q2FzdChidWlsZGVyLCB2YWx1ZSwgdHlwZSwgIiIpOyB9Ci1zdGF0
aWMgaW5saW5lIExWYWx1ZSBidWlsZElDbXAoTEJ1aWxkZXIgYnVpbGRlciwgTEludFByZWRpY2F0
ZSBjb25kLCBMVmFsdWUgbGVmdCwgTFZhbHVlIHJpZ2h0KSB7IHJldHVybiBMTFZNQnVpbGRJQ21w
KGJ1aWxkZXIsIGNvbmQsIGxlZnQsIHJpZ2h0LCAiIik7IH0KLXN0YXRpYyBpbmxpbmUgTFZhbHVl
IGJ1aWxkRkNtcChMQnVpbGRlciBidWlsZGVyLCBMUmVhbFByZWRpY2F0ZSBjb25kLCBMVmFsdWUg
bGVmdCwgTFZhbHVlIHJpZ2h0KSB7IHJldHVybiBMTFZNQnVpbGRGQ21wKGJ1aWxkZXIsIGNvbmQs
IGxlZnQsIHJpZ2h0LCAiIik7IH0KK3N0YXRpYyBpbmxpbmUgTFZhbHVlIGJ1aWxkQWxsb2NhKExC
dWlsZGVyIGJ1aWxkZXIsIExUeXBlIHR5cGUpIHsgcmV0dXJuIGxsdm0tPkJ1aWxkQWxsb2NhKGJ1
aWxkZXIsIHR5cGUsICIiKTsgfQorc3RhdGljIGlubGluZSBMVmFsdWUgYnVpbGRBZGQoTEJ1aWxk
ZXIgYnVpbGRlciwgTFZhbHVlIGxlZnQsIExWYWx1ZSByaWdodCkgeyByZXR1cm4gbGx2bS0+QnVp
bGRBZGQoYnVpbGRlciwgbGVmdCwgcmlnaHQsICIiKTsgfQorc3RhdGljIGlubGluZSBMVmFsdWUg
YnVpbGRTdWIoTEJ1aWxkZXIgYnVpbGRlciwgTFZhbHVlIGxlZnQsIExWYWx1ZSByaWdodCkgeyBy
ZXR1cm4gbGx2bS0+QnVpbGRTdWIoYnVpbGRlciwgbGVmdCwgcmlnaHQsICIiKTsgfQorc3RhdGlj
IGlubGluZSBMVmFsdWUgYnVpbGRNdWwoTEJ1aWxkZXIgYnVpbGRlciwgTFZhbHVlIGxlZnQsIExW
YWx1ZSByaWdodCkgeyByZXR1cm4gbGx2bS0+QnVpbGRNdWwoYnVpbGRlciwgbGVmdCwgcmlnaHQs
ICIiKTsgfQorc3RhdGljIGlubGluZSBMVmFsdWUgYnVpbGREaXYoTEJ1aWxkZXIgYnVpbGRlciwg
TFZhbHVlIGxlZnQsIExWYWx1ZSByaWdodCkgeyByZXR1cm4gbGx2bS0+QnVpbGRTRGl2KGJ1aWxk
ZXIsIGxlZnQsIHJpZ2h0LCAiIik7IH0KK3N0YXRpYyBpbmxpbmUgTFZhbHVlIGJ1aWxkUmVtKExC
dWlsZGVyIGJ1aWxkZXIsIExWYWx1ZSBsZWZ0LCBMVmFsdWUgcmlnaHQpIHsgcmV0dXJuIGxsdm0t
PkJ1aWxkU1JlbShidWlsZGVyLCBsZWZ0LCByaWdodCwgIiIpOyB9CitzdGF0aWMgaW5saW5lIExW
YWx1ZSBidWlsZE5lZyhMQnVpbGRlciBidWlsZGVyLCBMVmFsdWUgdmFsdWUpIHsgcmV0dXJuIGxs
dm0tPkJ1aWxkTmVnKGJ1aWxkZXIsIHZhbHVlLCAiIik7IH0KK3N0YXRpYyBpbmxpbmUgTFZhbHVl
IGJ1aWxkRkFkZChMQnVpbGRlciBidWlsZGVyLCBMVmFsdWUgbGVmdCwgTFZhbHVlIHJpZ2h0KSB7
IHJldHVybiBsbHZtLT5CdWlsZEZBZGQoYnVpbGRlciwgbGVmdCwgcmlnaHQsICIiKTsgfQorc3Rh
dGljIGlubGluZSBMVmFsdWUgYnVpbGRGU3ViKExCdWlsZGVyIGJ1aWxkZXIsIExWYWx1ZSBsZWZ0
LCBMVmFsdWUgcmlnaHQpIHsgcmV0dXJuIGxsdm0tPkJ1aWxkRlN1YihidWlsZGVyLCBsZWZ0LCBy
aWdodCwgIiIpOyB9CitzdGF0aWMgaW5saW5lIExWYWx1ZSBidWlsZEZNdWwoTEJ1aWxkZXIgYnVp
bGRlciwgTFZhbHVlIGxlZnQsIExWYWx1ZSByaWdodCkgeyByZXR1cm4gbGx2bS0+QnVpbGRGTXVs
KGJ1aWxkZXIsIGxlZnQsIHJpZ2h0LCAiIik7IH0KK3N0YXRpYyBpbmxpbmUgTFZhbHVlIGJ1aWxk
RkRpdihMQnVpbGRlciBidWlsZGVyLCBMVmFsdWUgbGVmdCwgTFZhbHVlIHJpZ2h0KSB7IHJldHVy
biBsbHZtLT5CdWlsZEZEaXYoYnVpbGRlciwgbGVmdCwgcmlnaHQsICIiKTsgfQorc3RhdGljIGlu
bGluZSBMVmFsdWUgYnVpbGRGUmVtKExCdWlsZGVyIGJ1aWxkZXIsIExWYWx1ZSBsZWZ0LCBMVmFs
dWUgcmlnaHQpIHsgcmV0dXJuIGxsdm0tPkJ1aWxkRlJlbShidWlsZGVyLCBsZWZ0LCByaWdodCwg
IiIpOyB9CitzdGF0aWMgaW5saW5lIExWYWx1ZSBidWlsZEZOZWcoTEJ1aWxkZXIgYnVpbGRlciwg
TFZhbHVlIHZhbHVlKSB7IHJldHVybiBsbHZtLT5CdWlsZEZOZWcoYnVpbGRlciwgdmFsdWUsICIi
KTsgfQorc3RhdGljIGlubGluZSBMVmFsdWUgYnVpbGRBbmQoTEJ1aWxkZXIgYnVpbGRlciwgTFZh
bHVlIGxlZnQsIExWYWx1ZSByaWdodCkgeyByZXR1cm4gbGx2bS0+QnVpbGRBbmQoYnVpbGRlciwg
bGVmdCwgcmlnaHQsICIiKTsgfQorc3RhdGljIGlubGluZSBMVmFsdWUgYnVpbGRPcihMQnVpbGRl
ciBidWlsZGVyLCBMVmFsdWUgbGVmdCwgTFZhbHVlIHJpZ2h0KSB7IHJldHVybiBsbHZtLT5CdWls
ZE9yKGJ1aWxkZXIsIGxlZnQsIHJpZ2h0LCAiIik7IH0KK3N0YXRpYyBpbmxpbmUgTFZhbHVlIGJ1
aWxkWG9yKExCdWlsZGVyIGJ1aWxkZXIsIExWYWx1ZSBsZWZ0LCBMVmFsdWUgcmlnaHQpIHsgcmV0
dXJuIGxsdm0tPkJ1aWxkWG9yKGJ1aWxkZXIsIGxlZnQsIHJpZ2h0LCAiIik7IH0KK3N0YXRpYyBp
bmxpbmUgTFZhbHVlIGJ1aWxkU2hsKExCdWlsZGVyIGJ1aWxkZXIsIExWYWx1ZSBsZWZ0LCBMVmFs
dWUgcmlnaHQpIHsgcmV0dXJuIGxsdm0tPkJ1aWxkU2hsKGJ1aWxkZXIsIGxlZnQsIHJpZ2h0LCAi
Iik7IH0KK3N0YXRpYyBpbmxpbmUgTFZhbHVlIGJ1aWxkQVNocihMQnVpbGRlciBidWlsZGVyLCBM
VmFsdWUgbGVmdCwgTFZhbHVlIHJpZ2h0KSB7IHJldHVybiBsbHZtLT5CdWlsZEFTaHIoYnVpbGRl
ciwgbGVmdCwgcmlnaHQsICIiKTsgfQorc3RhdGljIGlubGluZSBMVmFsdWUgYnVpbGRMU2hyKExC
dWlsZGVyIGJ1aWxkZXIsIExWYWx1ZSBsZWZ0LCBMVmFsdWUgcmlnaHQpIHsgcmV0dXJuIGxsdm0t
PkJ1aWxkTFNocihidWlsZGVyLCBsZWZ0LCByaWdodCwgIiIpOyB9CitzdGF0aWMgaW5saW5lIExW
YWx1ZSBidWlsZE5vdChMQnVpbGRlciBidWlsZGVyLCBMVmFsdWUgdmFsdWUpIHsgcmV0dXJuIGxs
dm0tPkJ1aWxkTm90KGJ1aWxkZXIsIHZhbHVlLCAiIik7IH0KK3N0YXRpYyBpbmxpbmUgTFZhbHVl
IGJ1aWxkTG9hZChMQnVpbGRlciBidWlsZGVyLCBMVmFsdWUgcG9pbnRlcikgeyByZXR1cm4gbGx2
bS0+QnVpbGRMb2FkKGJ1aWxkZXIsIHBvaW50ZXIsICIiKTsgfQorc3RhdGljIGlubGluZSBMVmFs
dWUgYnVpbGRTdG9yZShMQnVpbGRlciBidWlsZGVyLCBMVmFsdWUgdmFsdWUsIExWYWx1ZSBwb2lu
dGVyKSB7IHJldHVybiBsbHZtLT5CdWlsZFN0b3JlKGJ1aWxkZXIsIHZhbHVlLCBwb2ludGVyKTsg
fQorc3RhdGljIGlubGluZSBMVmFsdWUgYnVpbGRTRXh0KExCdWlsZGVyIGJ1aWxkZXIsIExWYWx1
ZSB2YWx1ZSwgTFR5cGUgdHlwZSkgeyByZXR1cm4gbGx2bS0+QnVpbGRTRXh0KGJ1aWxkZXIsIHZh
bHVlLCB0eXBlLCAiIik7IH0KK3N0YXRpYyBpbmxpbmUgTFZhbHVlIGJ1aWxkWkV4dChMQnVpbGRl
ciBidWlsZGVyLCBMVmFsdWUgdmFsdWUsIExUeXBlIHR5cGUpIHsgcmV0dXJuIGxsdm0tPkJ1aWxk
WkV4dChidWlsZGVyLCB2YWx1ZSwgdHlwZSwgIiIpOyB9CitzdGF0aWMgaW5saW5lIExWYWx1ZSBi
dWlsZEZQVG9TSShMQnVpbGRlciBidWlsZGVyLCBMVmFsdWUgdmFsdWUsIExUeXBlIHR5cGUpIHsg
cmV0dXJuIGxsdm0tPkJ1aWxkRlBUb1NJKGJ1aWxkZXIsIHZhbHVlLCB0eXBlLCAiIik7IH0KK3N0
YXRpYyBpbmxpbmUgTFZhbHVlIGJ1aWxkRlBUb1VJKExCdWlsZGVyIGJ1aWxkZXIsIExWYWx1ZSB2
YWx1ZSwgTFR5cGUgdHlwZSkgeyByZXR1cm4gbGx2bS0+QnVpbGRGUFRvVUkoYnVpbGRlciwgdmFs
dWUsIHR5cGUsICIiKTsgfQorc3RhdGljIGlubGluZSBMVmFsdWUgYnVpbGRTSVRvRlAoTEJ1aWxk
ZXIgYnVpbGRlciwgTFZhbHVlIHZhbHVlLCBMVHlwZSB0eXBlKSB7IHJldHVybiBsbHZtLT5CdWls
ZFNJVG9GUChidWlsZGVyLCB2YWx1ZSwgdHlwZSwgIiIpOyB9CitzdGF0aWMgaW5saW5lIExWYWx1
ZSBidWlsZFVJVG9GUChMQnVpbGRlciBidWlsZGVyLCBMVmFsdWUgdmFsdWUsIExUeXBlIHR5cGUp
IHsgcmV0dXJuIGxsdm0tPkJ1aWxkVUlUb0ZQKGJ1aWxkZXIsIHZhbHVlLCB0eXBlLCAiIik7IH0K
K3N0YXRpYyBpbmxpbmUgTFZhbHVlIGJ1aWxkSW50Q2FzdChMQnVpbGRlciBidWlsZGVyLCBMVmFs
dWUgdmFsdWUsIExUeXBlIHR5cGUpIHsgcmV0dXJuIGxsdm0tPkJ1aWxkSW50Q2FzdChidWlsZGVy
LCB2YWx1ZSwgdHlwZSwgIiIpOyB9CitzdGF0aWMgaW5saW5lIExWYWx1ZSBidWlsZEZQQ2FzdChM
QnVpbGRlciBidWlsZGVyLCBMVmFsdWUgdmFsdWUsIExUeXBlIHR5cGUpIHsgcmV0dXJuIGxsdm0t
PkJ1aWxkRlBDYXN0KGJ1aWxkZXIsIHZhbHVlLCB0eXBlLCAiIik7IH0KK3N0YXRpYyBpbmxpbmUg
TFZhbHVlIGJ1aWxkSW50VG9QdHIoTEJ1aWxkZXIgYnVpbGRlciwgTFZhbHVlIHZhbHVlLCBMVHlw
ZSB0eXBlKSB7IHJldHVybiBsbHZtLT5CdWlsZEludFRvUHRyKGJ1aWxkZXIsIHZhbHVlLCB0eXBl
LCAiIik7IH0KK3N0YXRpYyBpbmxpbmUgTFZhbHVlIGJ1aWxkUHRyVG9JbnQoTEJ1aWxkZXIgYnVp
bGRlciwgTFZhbHVlIHZhbHVlLCBMVHlwZSB0eXBlKSB7IHJldHVybiBsbHZtLT5CdWlsZFB0clRv
SW50KGJ1aWxkZXIsIHZhbHVlLCB0eXBlLCAiIik7IH0KK3N0YXRpYyBpbmxpbmUgTFZhbHVlIGJ1
aWxkQml0Q2FzdChMQnVpbGRlciBidWlsZGVyLCBMVmFsdWUgdmFsdWUsIExUeXBlIHR5cGUpIHsg
cmV0dXJuIGxsdm0tPkJ1aWxkQml0Q2FzdChidWlsZGVyLCB2YWx1ZSwgdHlwZSwgIiIpOyB9Citz
dGF0aWMgaW5saW5lIExWYWx1ZSBidWlsZElDbXAoTEJ1aWxkZXIgYnVpbGRlciwgTEludFByZWRp
Y2F0ZSBjb25kLCBMVmFsdWUgbGVmdCwgTFZhbHVlIHJpZ2h0KSB7IHJldHVybiBsbHZtLT5CdWls
ZElDbXAoYnVpbGRlciwgY29uZCwgbGVmdCwgcmlnaHQsICIiKTsgfQorc3RhdGljIGlubGluZSBM
VmFsdWUgYnVpbGRGQ21wKExCdWlsZGVyIGJ1aWxkZXIsIExSZWFsUHJlZGljYXRlIGNvbmQsIExW
YWx1ZSBsZWZ0LCBMVmFsdWUgcmlnaHQpIHsgcmV0dXJuIGxsdm0tPkJ1aWxkRkNtcChidWlsZGVy
LCBjb25kLCBsZWZ0LCByaWdodCwgIiIpOyB9CiBzdGF0aWMgaW5saW5lIExWYWx1ZSBidWlsZENh
bGwoTEJ1aWxkZXIgYnVpbGRlciwgTFZhbHVlIGZ1bmN0aW9uLCBjb25zdCBMVmFsdWUqIGFyZ3Ms
IHVuc2lnbmVkIG51bUFyZ3MpCiB7Ci0gICAgcmV0dXJuIExMVk1CdWlsZENhbGwoYnVpbGRlciwg
ZnVuY3Rpb24sIGNvbnN0X2Nhc3Q8TFZhbHVlKj4oYXJncyksIG51bUFyZ3MsICIiKTsKKyAgICBy
ZXR1cm4gbGx2bS0+QnVpbGRDYWxsKGJ1aWxkZXIsIGZ1bmN0aW9uLCBjb25zdF9jYXN0PExWYWx1
ZSo+KGFyZ3MpLCBudW1BcmdzLCAiIik7CiB9CiB0ZW1wbGF0ZTx0eXBlbmFtZSBWZWN0b3JUeXBl
PgogaW5saW5lIExWYWx1ZSBidWlsZENhbGwoTEJ1aWxkZXIgYnVpbGRlciwgTFZhbHVlIGZ1bmN0
aW9uLCBjb25zdCBWZWN0b3JUeXBlJiB2ZWN0b3IpCkBAIC0yNDgsMTMgKzI0OSwxMyBAQCBzdGF0
aWMgaW5saW5lIExWYWx1ZSBidWlsZENhbGwoTEJ1aWxkZXIgCiAgICAgcmV0dXJuIGJ1aWxkQ2Fs
bChidWlsZGVyLCBmdW5jdGlvbiwgYXJncywgNCk7CiB9CiBlbnVtIFRhaWxDYWxsTW9kZSB7IElz
Tm90VGFpbENhbGwsIElzVGFpbENhbGwgfTsKLXN0YXRpYyBpbmxpbmUgdm9pZCBzZXRUYWlsQ2Fs
bChMVmFsdWUgY2FsbCwgVGFpbENhbGxNb2RlIG1vZGUpIHsgTExWTVNldFRhaWxDYWxsKGNhbGws
IG1vZGUgPT0gSXNUYWlsQ2FsbCk7IH0KLXN0YXRpYyBpbmxpbmUgTFZhbHVlIGJ1aWxkRXh0cmFj
dFZhbHVlKExCdWlsZGVyIGJ1aWxkZXIsIExWYWx1ZSBhZ2dWYWwsIHVuc2lnbmVkIGluZGV4KSB7
IHJldHVybiBMTFZNQnVpbGRFeHRyYWN0VmFsdWUoYnVpbGRlciwgYWdnVmFsLCBpbmRleCwgIiIp
OyB9Ci1zdGF0aWMgaW5saW5lIExWYWx1ZSBidWlsZFNlbGVjdChMQnVpbGRlciBidWlsZGVyLCBM
VmFsdWUgY29uZGl0aW9uLCBMVmFsdWUgdGFrZW4sIExWYWx1ZSBub3RUYWtlbikgeyByZXR1cm4g
TExWTUJ1aWxkU2VsZWN0KGJ1aWxkZXIsIGNvbmRpdGlvbiwgdGFrZW4sIG5vdFRha2VuLCAiIik7
IH0KLXN0YXRpYyBpbmxpbmUgTFZhbHVlIGJ1aWxkQnIoTEJ1aWxkZXIgYnVpbGRlciwgTEJhc2lj
QmxvY2sgZGVzdGluYXRpb24pIHsgcmV0dXJuIExMVk1CdWlsZEJyKGJ1aWxkZXIsIGRlc3RpbmF0
aW9uKTsgfQotc3RhdGljIGlubGluZSBMVmFsdWUgYnVpbGRDb25kQnIoTEJ1aWxkZXIgYnVpbGRl
ciwgTFZhbHVlIGNvbmRpdGlvbiwgTEJhc2ljQmxvY2sgdGFrZW4sIExCYXNpY0Jsb2NrIG5vdFRh
a2VuKSB7IHJldHVybiBMTFZNQnVpbGRDb25kQnIoYnVpbGRlciwgY29uZGl0aW9uLCB0YWtlbiwg
bm90VGFrZW4pOyB9Ci1zdGF0aWMgaW5saW5lIExWYWx1ZSBidWlsZFN3aXRjaChMQnVpbGRlciBi
dWlsZGVyLCBMVmFsdWUgdmFsdWUsIExCYXNpY0Jsb2NrIGZhbGxUaHJvdWdoLCB1bnNpZ25lZCBu
dW1DYXNlcykgeyByZXR1cm4gTExWTUJ1aWxkU3dpdGNoKGJ1aWxkZXIsIHZhbHVlLCBmYWxsVGhy
b3VnaCwgbnVtQ2FzZXMpOyB9Ci1zdGF0aWMgaW5saW5lIHZvaWQgYWRkQ2FzZShMVmFsdWUgc3dp
dGNoSW5zdCwgTFZhbHVlIHZhbHVlLCBMQmFzaWNCbG9jayB0YXJnZXQpIHsgTExWTUFkZENhc2Uo
c3dpdGNoSW5zdCwgdmFsdWUsIHRhcmdldCk7IH0KK3N0YXRpYyBpbmxpbmUgdm9pZCBzZXRUYWls
Q2FsbChMVmFsdWUgY2FsbCwgVGFpbENhbGxNb2RlIG1vZGUpIHsgbGx2bS0+U2V0VGFpbENhbGwo
Y2FsbCwgbW9kZSA9PSBJc1RhaWxDYWxsKTsgfQorc3RhdGljIGlubGluZSBMVmFsdWUgYnVpbGRF
eHRyYWN0VmFsdWUoTEJ1aWxkZXIgYnVpbGRlciwgTFZhbHVlIGFnZ1ZhbCwgdW5zaWduZWQgaW5k
ZXgpIHsgcmV0dXJuIGxsdm0tPkJ1aWxkRXh0cmFjdFZhbHVlKGJ1aWxkZXIsIGFnZ1ZhbCwgaW5k
ZXgsICIiKTsgfQorc3RhdGljIGlubGluZSBMVmFsdWUgYnVpbGRTZWxlY3QoTEJ1aWxkZXIgYnVp
bGRlciwgTFZhbHVlIGNvbmRpdGlvbiwgTFZhbHVlIHRha2VuLCBMVmFsdWUgbm90VGFrZW4pIHsg
cmV0dXJuIGxsdm0tPkJ1aWxkU2VsZWN0KGJ1aWxkZXIsIGNvbmRpdGlvbiwgdGFrZW4sIG5vdFRh
a2VuLCAiIik7IH0KK3N0YXRpYyBpbmxpbmUgTFZhbHVlIGJ1aWxkQnIoTEJ1aWxkZXIgYnVpbGRl
ciwgTEJhc2ljQmxvY2sgZGVzdGluYXRpb24pIHsgcmV0dXJuIGxsdm0tPkJ1aWxkQnIoYnVpbGRl
ciwgZGVzdGluYXRpb24pOyB9CitzdGF0aWMgaW5saW5lIExWYWx1ZSBidWlsZENvbmRCcihMQnVp
bGRlciBidWlsZGVyLCBMVmFsdWUgY29uZGl0aW9uLCBMQmFzaWNCbG9jayB0YWtlbiwgTEJhc2lj
QmxvY2sgbm90VGFrZW4pIHsgcmV0dXJuIGxsdm0tPkJ1aWxkQ29uZEJyKGJ1aWxkZXIsIGNvbmRp
dGlvbiwgdGFrZW4sIG5vdFRha2VuKTsgfQorc3RhdGljIGlubGluZSBMVmFsdWUgYnVpbGRTd2l0
Y2goTEJ1aWxkZXIgYnVpbGRlciwgTFZhbHVlIHZhbHVlLCBMQmFzaWNCbG9jayBmYWxsVGhyb3Vn
aCwgdW5zaWduZWQgbnVtQ2FzZXMpIHsgcmV0dXJuIGxsdm0tPkJ1aWxkU3dpdGNoKGJ1aWxkZXIs
IHZhbHVlLCBmYWxsVGhyb3VnaCwgbnVtQ2FzZXMpOyB9CitzdGF0aWMgaW5saW5lIHZvaWQgYWRk
Q2FzZShMVmFsdWUgc3dpdGNoSW5zdCwgTFZhbHVlIHZhbHVlLCBMQmFzaWNCbG9jayB0YXJnZXQp
IHsgbGx2bS0+QWRkQ2FzZShzd2l0Y2hJbnN0LCB2YWx1ZSwgdGFyZ2V0KTsgfQogdGVtcGxhdGU8
dHlwZW5hbWUgVmVjdG9yVHlwZT4KIHN0YXRpYyBpbmxpbmUgTFZhbHVlIGJ1aWxkU3dpdGNoKExC
dWlsZGVyIGJ1aWxkZXIsIExWYWx1ZSB2YWx1ZSwgY29uc3QgVmVjdG9yVHlwZSYgY2FzZXMsIExC
YXNpY0Jsb2NrIGZhbGxUaHJvdWdoKQogewpAQCAtMjYzLDE1ICsyNjQsMTUgQEAgc3RhdGljIGlu
bGluZSBMVmFsdWUgYnVpbGRTd2l0Y2goTEJ1aWxkZQogICAgICAgICBhZGRDYXNlKHJlc3VsdCwg
Y2FzZXNbaV0udmFsdWUoKSwgY2FzZXNbaV0udGFyZ2V0KCkpOwogICAgIHJldHVybiByZXN1bHQ7
CiB9Ci1zdGF0aWMgaW5saW5lIExWYWx1ZSBidWlsZFJldChMQnVpbGRlciBidWlsZGVyLCBMVmFs
dWUgdmFsdWUpIHsgcmV0dXJuIExMVk1CdWlsZFJldChidWlsZGVyLCB2YWx1ZSk7IH0KLXN0YXRp
YyBpbmxpbmUgTFZhbHVlIGJ1aWxkVW5yZWFjaGFibGUoTEJ1aWxkZXIgYnVpbGRlcikgeyByZXR1
cm4gTExWTUJ1aWxkVW5yZWFjaGFibGUoYnVpbGRlcik7IH0KK3N0YXRpYyBpbmxpbmUgTFZhbHVl
IGJ1aWxkUmV0KExCdWlsZGVyIGJ1aWxkZXIsIExWYWx1ZSB2YWx1ZSkgeyByZXR1cm4gbGx2bS0+
QnVpbGRSZXQoYnVpbGRlciwgdmFsdWUpOyB9CitzdGF0aWMgaW5saW5lIExWYWx1ZSBidWlsZFVu
cmVhY2hhYmxlKExCdWlsZGVyIGJ1aWxkZXIpIHsgcmV0dXJuIGxsdm0tPkJ1aWxkVW5yZWFjaGFi
bGUoYnVpbGRlcik7IH0KIAotc3RhdGljIGlubGluZSB2b2lkIGR1bXBNb2R1bGUoTE1vZHVsZSBt
b2R1bGUpIHsgTExWTUR1bXBNb2R1bGUobW9kdWxlKTsgfQorc3RhdGljIGlubGluZSB2b2lkIGR1
bXBNb2R1bGUoTE1vZHVsZSBtb2R1bGUpIHsgbGx2bS0+RHVtcE1vZHVsZShtb2R1bGUpOyB9CiBz
dGF0aWMgaW5saW5lIHZvaWQgdmVyaWZ5TW9kdWxlKExNb2R1bGUgbW9kdWxlKQogewogICAgIGNo
YXIqIGVycm9yID0gMDsKLSAgICBMTFZNVmVyaWZ5TW9kdWxlKG1vZHVsZSwgTExWTUFib3J0UHJv
Y2Vzc0FjdGlvbiwgJmVycm9yKTsKLSAgICBMTFZNRGlzcG9zZU1lc3NhZ2UoZXJyb3IpOworICAg
IGxsdm0tPlZlcmlmeU1vZHVsZShtb2R1bGUsIExMVk1BYm9ydFByb2Nlc3NBY3Rpb24sICZlcnJv
cik7CisgICAgbGx2bS0+RGlzcG9zZU1lc3NhZ2UoZXJyb3IpOwogfQogCiB9IH0gLy8gbmFtZXNw
YWNlIEpTQzo6RlRMCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTENvbXBpbGUu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMQ29tcGlsZS5j
cHAJKHJldmlzaW9uIDE1NzIwNCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMQ29t
cGlsZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM0LDggKzM0LDggQEAKICNpbmNsdWRlICJEaXNh
c3NlbWJsZXIuaCIKICNpbmNsdWRlICJGVExKSVRDb2RlLmgiCiAjaW5jbHVkZSAiSklUU3R1YnMu
aCIKKyNpbmNsdWRlICJMTFZNQVBJLmgiCiAjaW5jbHVkZSAiTGlua0J1ZmZlci5oIgotI2luY2x1
ZGUgPHd0Zi9MTFZNSGVhZGVycy5oPgogCiBuYW1lc3BhY2UgSlNDIHsgbmFtZXNwYWNlIEZUTCB7
CiAKQEAgLTk1LDUyICs5NSw1MiBAQCB2b2lkIGNvbXBpbGUoU3RhdGUmIHN0YXRlKQogICAgIGNo
YXIqIGVycm9yID0gMDsKICAgICAKICAgICBMTFZNTUNKSVRDb21waWxlck9wdGlvbnMgb3B0aW9u
czsKLSAgICBMTFZNSW5pdGlhbGl6ZU1DSklUQ29tcGlsZXJPcHRpb25zKCZvcHRpb25zLCBzaXpl
b2Yob3B0aW9ucykpOworICAgIGxsdm0tPkluaXRpYWxpemVNQ0pJVENvbXBpbGVyT3B0aW9ucygm
b3B0aW9ucywgc2l6ZW9mKG9wdGlvbnMpKTsKICAgICBvcHRpb25zLk9wdExldmVsID0gT3B0aW9u
czo6bGx2bUJhY2tlbmRPcHRpbWl6YXRpb25MZXZlbCgpOwogICAgIG9wdGlvbnMuTm9GcmFtZVBv
aW50ZXJFbGltID0gdHJ1ZTsKICAgICBpZiAoT3B0aW9uczo6dXNlTExWTVNtYWxsQ29kZU1vZGVs
KCkpCiAgICAgICAgIG9wdGlvbnMuQ29kZU1vZGVsID0gTExWTUNvZGVNb2RlbFNtYWxsOwogICAg
IG9wdGlvbnMuRW5hYmxlRmFzdElTZWwgPSBPcHRpb25zOjplbmFibGVMTFZNRmFzdElTZWwoKTsK
LSAgICBvcHRpb25zLk1DSk1NID0gTExWTUNyZWF0ZVNpbXBsZU1DSklUTWVtb3J5TWFuYWdlcigK
KyAgICBvcHRpb25zLk1DSk1NID0gbGx2bS0+Q3JlYXRlU2ltcGxlTUNKSVRNZW1vcnlNYW5hZ2Vy
KAogICAgICAgICAmc3RhdGUsIG1tQWxsb2NhdGVDb2RlU2VjdGlvbiwgbW1BbGxvY2F0ZURhdGFT
ZWN0aW9uLCBtbUFwcGx5UGVybWlzc2lvbnMsIG1tRGVzdHJveSk7CiAgICAgCiAgICAgTExWTUV4
ZWN1dGlvbkVuZ2luZVJlZiBlbmdpbmU7CiAgICAgCi0gICAgaWYgKExMVk1DcmVhdGVNQ0pJVENv
bXBpbGVyRm9yTW9kdWxlKCZlbmdpbmUsIHN0YXRlLm1vZHVsZSwgJm9wdGlvbnMsIHNpemVvZihv
cHRpb25zKSwgJmVycm9yKSkgeworICAgIGlmIChsbHZtLT5DcmVhdGVNQ0pJVENvbXBpbGVyRm9y
TW9kdWxlKCZlbmdpbmUsIHN0YXRlLm1vZHVsZSwgJm9wdGlvbnMsIHNpemVvZihvcHRpb25zKSwg
JmVycm9yKSkgewogICAgICAgICBkYXRhTG9nKCJGQVRBTDogQ291bGQgbm90IGNyZWF0ZSBMTFZN
IGV4ZWN1dGlvbiBlbmdpbmU6ICIsIGVycm9yLCAiXG4iKTsKICAgICAgICAgQ1JBU0goKTsKICAg
ICB9CiAKLSAgICBMTFZNUGFzc01hbmFnZXJCdWlsZGVyUmVmIHBhc3NCdWlsZGVyID0gTExWTVBh
c3NNYW5hZ2VyQnVpbGRlckNyZWF0ZSgpOwotICAgIExMVk1QYXNzTWFuYWdlckJ1aWxkZXJTZXRP
cHRMZXZlbChwYXNzQnVpbGRlciwgT3B0aW9uczo6bGx2bU9wdGltaXphdGlvbkxldmVsKCkpOwot
ICAgIExMVk1QYXNzTWFuYWdlckJ1aWxkZXJTZXRTaXplTGV2ZWwocGFzc0J1aWxkZXIsIE9wdGlv
bnM6Omxsdm1TaXplTGV2ZWwoKSk7CisgICAgTExWTVBhc3NNYW5hZ2VyQnVpbGRlclJlZiBwYXNz
QnVpbGRlciA9IGxsdm0tPlBhc3NNYW5hZ2VyQnVpbGRlckNyZWF0ZSgpOworICAgIGxsdm0tPlBh
c3NNYW5hZ2VyQnVpbGRlclNldE9wdExldmVsKHBhc3NCdWlsZGVyLCBPcHRpb25zOjpsbHZtT3B0
aW1pemF0aW9uTGV2ZWwoKSk7CisgICAgbGx2bS0+UGFzc01hbmFnZXJCdWlsZGVyU2V0U2l6ZUxl
dmVsKHBhc3NCdWlsZGVyLCBPcHRpb25zOjpsbHZtU2l6ZUxldmVsKCkpOwogICAgIAotICAgIExM
Vk1QYXNzTWFuYWdlclJlZiBmdW5jdGlvblBhc3NlcyA9IExMVk1DcmVhdGVGdW5jdGlvblBhc3NN
YW5hZ2VyRm9yTW9kdWxlKHN0YXRlLm1vZHVsZSk7Ci0gICAgTExWTVBhc3NNYW5hZ2VyUmVmIG1v
ZHVsZVBhc3NlcyA9IExMVk1DcmVhdGVQYXNzTWFuYWdlcigpOworICAgIExMVk1QYXNzTWFuYWdl
clJlZiBmdW5jdGlvblBhc3NlcyA9IGxsdm0tPkNyZWF0ZUZ1bmN0aW9uUGFzc01hbmFnZXJGb3JN
b2R1bGUoc3RhdGUubW9kdWxlKTsKKyAgICBMTFZNUGFzc01hbmFnZXJSZWYgbW9kdWxlUGFzc2Vz
ID0gbGx2bS0+Q3JlYXRlUGFzc01hbmFnZXIoKTsKICAgICAKLSAgICBMTFZNQWRkVGFyZ2V0RGF0
YShMTFZNR2V0RXhlY3V0aW9uRW5naW5lVGFyZ2V0RGF0YShlbmdpbmUpLCBtb2R1bGVQYXNzZXMp
OworICAgIGxsdm0tPkFkZFRhcmdldERhdGEobGx2bS0+R2V0RXhlY3V0aW9uRW5naW5lVGFyZ2V0
RGF0YShlbmdpbmUpLCBtb2R1bGVQYXNzZXMpOwogICAgIAotICAgIExMVk1QYXNzTWFuYWdlckJ1
aWxkZXJQb3B1bGF0ZUZ1bmN0aW9uUGFzc01hbmFnZXIocGFzc0J1aWxkZXIsIGZ1bmN0aW9uUGFz
c2VzKTsKLSAgICBMTFZNUGFzc01hbmFnZXJCdWlsZGVyUG9wdWxhdGVNb2R1bGVQYXNzTWFuYWdl
cihwYXNzQnVpbGRlciwgbW9kdWxlUGFzc2VzKTsKKyAgICBsbHZtLT5QYXNzTWFuYWdlckJ1aWxk
ZXJQb3B1bGF0ZUZ1bmN0aW9uUGFzc01hbmFnZXIocGFzc0J1aWxkZXIsIGZ1bmN0aW9uUGFzc2Vz
KTsKKyAgICBsbHZtLT5QYXNzTWFuYWdlckJ1aWxkZXJQb3B1bGF0ZU1vZHVsZVBhc3NNYW5hZ2Vy
KHBhc3NCdWlsZGVyLCBtb2R1bGVQYXNzZXMpOwogICAgIAotICAgIExMVk1QYXNzTWFuYWdlckJ1
aWxkZXJEaXNwb3NlKHBhc3NCdWlsZGVyKTsKKyAgICBsbHZtLT5QYXNzTWFuYWdlckJ1aWxkZXJE
aXNwb3NlKHBhc3NCdWlsZGVyKTsKIAotICAgIExMVk1Jbml0aWFsaXplRnVuY3Rpb25QYXNzTWFu
YWdlcihmdW5jdGlvblBhc3Nlcyk7Ci0gICAgZm9yIChMVmFsdWUgZnVuY3Rpb24gPSBMTFZNR2V0
Rmlyc3RGdW5jdGlvbihzdGF0ZS5tb2R1bGUpOyBmdW5jdGlvbjsgZnVuY3Rpb24gPSBMTFZNR2V0
TmV4dEZ1bmN0aW9uKGZ1bmN0aW9uKSkKLSAgICAgICAgTExWTVJ1bkZ1bmN0aW9uUGFzc01hbmFn
ZXIoZnVuY3Rpb25QYXNzZXMsIGZ1bmN0aW9uKTsKLSAgICBMTFZNRmluYWxpemVGdW5jdGlvblBh
c3NNYW5hZ2VyKGZ1bmN0aW9uUGFzc2VzKTsKKyAgICBsbHZtLT5Jbml0aWFsaXplRnVuY3Rpb25Q
YXNzTWFuYWdlcihmdW5jdGlvblBhc3Nlcyk7CisgICAgZm9yIChMVmFsdWUgZnVuY3Rpb24gPSBs
bHZtLT5HZXRGaXJzdEZ1bmN0aW9uKHN0YXRlLm1vZHVsZSk7IGZ1bmN0aW9uOyBmdW5jdGlvbiA9
IGxsdm0tPkdldE5leHRGdW5jdGlvbihmdW5jdGlvbikpCisgICAgICAgIGxsdm0tPlJ1bkZ1bmN0
aW9uUGFzc01hbmFnZXIoZnVuY3Rpb25QYXNzZXMsIGZ1bmN0aW9uKTsKKyAgICBsbHZtLT5GaW5h
bGl6ZUZ1bmN0aW9uUGFzc01hbmFnZXIoZnVuY3Rpb25QYXNzZXMpOwogICAgIAotICAgIExMVk1S
dW5QYXNzTWFuYWdlcihtb2R1bGVQYXNzZXMsIHN0YXRlLm1vZHVsZSk7CisgICAgbGx2bS0+UnVu
UGFzc01hbmFnZXIobW9kdWxlUGFzc2VzLCBzdGF0ZS5tb2R1bGUpOwogCiAgICAgaWYgKERGRzo6
c2hvdWxkU2hvd0Rpc2Fzc2VtYmx5KCkgfHwgREZHOjp2ZXJib3NlQ29tcGlsYXRpb25FbmFibGVk
KCkpCiAgICAgICAgIHN0YXRlLmR1bXBTdGF0ZSgiYWZ0ZXIgb3B0aW1pemF0aW9uIik7CiAgICAg
CiAgICAgLy8gRklYTUU6IE5lZWQgdG8gYWRkIHN1cHBvcnQgZm9yIHRoZSBjYXNlIHdoZXJlIEpJ
VCBtZW1vcnkgYWxsb2NhdGlvbiBmYWlsZWQuCiAgICAgLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTExMzYyMAotICAgIHN0YXRlLmdlbmVyYXRlZEZ1bmN0aW9uID0g
cmVpbnRlcnByZXRfY2FzdDxHZW5lcmF0ZWRGdW5jdGlvbj4oTExWTUdldFBvaW50ZXJUb0dsb2Jh
bChlbmdpbmUsIHN0YXRlLmZ1bmN0aW9uKSk7Ci0gICAgTExWTURpc3Bvc2VQYXNzTWFuYWdlcihm
dW5jdGlvblBhc3Nlcyk7Ci0gICAgTExWTURpc3Bvc2VQYXNzTWFuYWdlcihtb2R1bGVQYXNzZXMp
OwotICAgIExMVk1EaXNwb3NlRXhlY3V0aW9uRW5naW5lKGVuZ2luZSk7CisgICAgc3RhdGUuZ2Vu
ZXJhdGVkRnVuY3Rpb24gPSByZWludGVycHJldF9jYXN0PEdlbmVyYXRlZEZ1bmN0aW9uPihsbHZt
LT5HZXRQb2ludGVyVG9HbG9iYWwoZW5naW5lLCBzdGF0ZS5mdW5jdGlvbikpOworICAgIGxsdm0t
PkRpc3Bvc2VQYXNzTWFuYWdlcihmdW5jdGlvblBhc3Nlcyk7CisgICAgbGx2bS0+RGlzcG9zZVBh
c3NNYW5hZ2VyKG1vZHVsZVBhc3Nlcyk7CisgICAgbGx2bS0+RGlzcG9zZUV4ZWN1dGlvbkVuZ2lu
ZShlbmdpbmUpOwogCiAgICAgaWYgKHNob3VsZFNob3dEaXNhc3NlbWJseSgpKSB7CiAgICAgICAg
IC8vIEZJWE1FOiBmb3VydGhUaWVyOiBGVEwgbWVtb3J5IGFsbG9jYXRvciBzaG91bGQgYmUgYWJs
ZSB0byB0ZWxsIHVzIHdoaWNoIG9mCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZU
TEZhaWwuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMRmFp
bC5jcHAJKHJldmlzaW9uIDE1NzIwNCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRM
RmFpbC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMwLDcgKzMwLDcgQEAKIAogI2luY2x1ZGUgIkRG
R0ZhaWxlZEZpbmFsaXplci5oIgogI2luY2x1ZGUgIkZUTEpJVENvZGUuaCIKLSNpbmNsdWRlIDx3
dGYvTExWTUhlYWRlcnMuaD4KKyNpbmNsdWRlICJMTFZNQVBJLmgiCiAKIG5hbWVzcGFjZSBKU0Mg
eyBuYW1lc3BhY2UgRlRMIHsKIApAQCAtNDAsNyArNDAsNyBAQCB2b2lkIGZhaWwoU3RhdGUmIHN0
YXRlKQogewogICAgIHN0YXRlLmdyYXBoLm1fcGxhbi5maW5hbGl6ZXIgPSBhZG9wdFB0cihuZXcg
RmFpbGVkRmluYWxpemVyKHN0YXRlLmdyYXBoLm1fcGxhbikpOwogICAgIAotICAgIExMVk1EaXNw
b3NlTW9kdWxlKHN0YXRlLm1vZHVsZSk7CisgICAgbGx2bS0+RGlzcG9zZU1vZHVsZShzdGF0ZS5t
b2R1bGUpOwogfQogCiB9IH0gLy8gbmFtZXNwYWNlIEpTQzo6RlRMCkluZGV4OiBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvZnRsL0ZUTEpJVENvZGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvZnRsL0ZUTEpJVENvZGUuaAkocmV2aXNpb24gMTU3MjA0KQorKysgU291cmNlL0ph
dmFTY3JpcHRDb3JlL2Z0bC9GVExKSVRDb2RlLmgJKHdvcmtpbmcgY29weSkKQEAgLTMzLDcgKzMz
LDcgQEAKICNpbmNsdWRlICJERkdDb21tb25EYXRhLmgiCiAjaW5jbHVkZSAiRlRMT1NSRXhpdC5o
IgogI2luY2x1ZGUgIkpJVENvZGUuaCIKLSNpbmNsdWRlIDx3dGYvTExWTUhlYWRlcnMuaD4KKyNp
bmNsdWRlICJMTFZNQVBJLmgiCiAjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWRBcnJheS5oPgogCiBu
YW1lc3BhY2UgSlNDIHsgbmFtZXNwYWNlIEZUTCB7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvZnRsL0ZUTEpJVEZpbmFsaXplci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9mdGwvRlRMSklURmluYWxpemVyLmgJKHJldmlzaW9uIDE1NzIwNCkKKysrIFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9mdGwvRlRMSklURmluYWxpemVyLmgJKHdvcmtpbmcgY29weSkKQEAgLTMz
LDkgKzMzLDkgQEAKICNpbmNsdWRlICJERkdGaW5hbGl6ZXIuaCIKICNpbmNsdWRlICJGVExHZW5l
cmF0ZWRGdW5jdGlvbi5oIgogI2luY2x1ZGUgIkZUTEpJVENvZGUuaCIKKyNpbmNsdWRlICJMTFZN
QVBJLmgiCiAjaW5jbHVkZSAiTGlua0J1ZmZlci5oIgogI2luY2x1ZGUgIk1hY3JvQXNzZW1ibGVy
LmgiCi0jaW5jbHVkZSA8d3RmL0xMVk1IZWFkZXJzLmg+CiAKIG5hbWVzcGFjZSBKU0MgeyBuYW1l
c3BhY2UgRlRMIHsKIApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExMaW5rLmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTExpbmsuY3BwCShy
ZXZpc2lvbiAxNTcyMDQpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTExpbmsuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC0zNSw5ICszNSw5IEBACiAjaW5jbHVkZSAiRlRMSklUQ29kZS5o
IgogI2luY2x1ZGUgIkpJVE9wZXJhdGlvbnMuaCIKICNpbmNsdWRlICJKSVRTdHVicy5oIgorI2lu
Y2x1ZGUgIkxMVk1BUEkuaCIKICNpbmNsdWRlICJMaW5rQnVmZmVyLmgiCiAjaW5jbHVkZSAiVmly
dHVhbFJlZ2lzdGVyLmgiCi0jaW5jbHVkZSA8d3RmL0xMVk1IZWFkZXJzLmg+CiAKIG5hbWVzcGFj
ZSBKU0MgeyBuYW1lc3BhY2UgRlRMIHsKIApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0
bC9GVExMb3dlckRGR1RvTExWTS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRD
b3JlL2Z0bC9GVExMb3dlckRGR1RvTExWTS5jcHAJKHJldmlzaW9uIDE1NzIwNCkKKysrIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMTG93ZXJERkdUb0xMVk0uY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC05MSw3ICs5MSw3IEBAIHB1YmxpYzoKICAgICAgICAgbV9ncmFwaC5tX2RvbWluYXRvcnMu
Y29tcHV0ZUlmTmVjZXNzYXJ5KG1fZ3JhcGgpOwogICAgICAgICAKICAgICAgICAgbV9mdGxTdGF0
ZS5tb2R1bGUgPQotICAgICAgICAgICAgTExWTU1vZHVsZUNyZWF0ZVdpdGhOYW1lSW5Db250ZXh0
KG5hbWUuZGF0YSgpLCBtX2Z0bFN0YXRlLmNvbnRleHQpOworICAgICAgICAgICAgbGx2bS0+TW9k
dWxlQ3JlYXRlV2l0aE5hbWVJbkNvbnRleHQobmFtZS5kYXRhKCksIG1fZnRsU3RhdGUuY29udGV4
dCk7CiAgICAgICAgIAogICAgICAgICBtX2Z0bFN0YXRlLmZ1bmN0aW9uID0gYWRkRnVuY3Rpb24o
CiAgICAgICAgICAgICBtX2Z0bFN0YXRlLm1vZHVsZSwgbmFtZS5kYXRhKCksIGZ1bmN0aW9uVHlw
ZShtX291dC5pbnQ2NCwgbV9vdXQuaW50UHRyKSk7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvZnRsL0ZUTE91dHB1dC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3Jl
L2Z0bC9GVExPdXRwdXQuY3BwCShyZXZpc2lvbiAxNTcyMDQpCisrKyBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvZnRsL0ZUTE91dHB1dC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM0LDcgKzM0LDcgQEAg
T3V0cHV0OjpPdXRwdXQoTENvbnRleHQgY29udGV4dCkKICAgICA6IEludHJpbnNpY1JlcG9zaXRv
cnkoY29udGV4dCkKICAgICAsIG1fZnVuY3Rpb24oMCkKICAgICAsIG1faGVhcHMoMCkKLSAgICAs
IG1fYnVpbGRlcihMTFZNQ3JlYXRlQnVpbGRlckluQ29udGV4dChtX2NvbnRleHQpKQorICAgICwg
bV9idWlsZGVyKGxsdm0tPkNyZWF0ZUJ1aWxkZXJJbkNvbnRleHQobV9jb250ZXh0KSkKICAgICAs
IG1fYmxvY2soMCkKICAgICAsIG1fbmV4dEJsb2NrKDApCiB7CkBAIC00Miw3ICs0Miw3IEBAIE91
dHB1dDo6T3V0cHV0KExDb250ZXh0IGNvbnRleHQpCiAKIE91dHB1dDo6fk91dHB1dCgpCiB7Ci0g
ICAgTExWTURpc3Bvc2VCdWlsZGVyKG1fYnVpbGRlcik7CisgICAgbGx2bS0+RGlzcG9zZUJ1aWxk
ZXIobV9idWlsZGVyKTsKIH0KIAogfSB9IC8vIG5hbWVzcGFjZSBKU0M6OkZUTApJbmRleDogU291
cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExPdXRwdXQuaAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvZnRsL0ZUTE91dHB1dC5oCShyZXZpc2lvbiAxNTcyMDQpCisrKyBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTE91dHB1dC5oCSh3b3JraW5nIGNvcHkpCkBAIC05NCw3
ICs5NCw3IEBAIHB1YmxpYzoKICAgICB7CiAgICAgICAgIG1fYmxvY2sgPSBibG9jazsKICAgICAg
ICAgCi0gICAgICAgIExMVk1Qb3NpdGlvbkJ1aWxkZXJBdEVuZChtX2J1aWxkZXIsIGJsb2NrKTsK
KyAgICAgICAgbGx2bS0+UG9zaXRpb25CdWlsZGVyQXRFbmQobV9idWlsZGVyLCBibG9jayk7CiAg
ICAgfQogICAgIExCYXNpY0Jsb2NrIG5ld0Jsb2NrKGNvbnN0IGNoYXIqIG5hbWUgPSAiIikKICAg
ICB7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTFN0YXRlLmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTFN0YXRlLmNwcAkocmV2aXNpb24g
MTU3MjA0KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExTdGF0ZS5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTM5LDcgKzM5LDcgQEAgdXNpbmcgbmFtZXNwYWNlIERGRzsKIAogU3RhdGU6
OlN0YXRlKEdyYXBoJiBncmFwaCkKICAgICA6IGdyYXBoKGdyYXBoKQotICAgICwgY29udGV4dChM
TFZNQ29udGV4dENyZWF0ZSgpKQorICAgICwgY29udGV4dChsbHZtLT5Db250ZXh0Q3JlYXRlKCkp
CiAgICAgLCBtb2R1bGUoMCkKICAgICAsIGZ1bmN0aW9uKDApCiAgICAgLCBnZW5lcmF0ZWRGdW5j
dGlvbigwKQpAQCAtNjcsNyArNjcsNyBAQCBTdGF0ZTo6U3RhdGUoR3JhcGgmIGdyYXBoKQogCiBT
dGF0ZTo6flN0YXRlKCkKIHsKLSAgICBMTFZNQ29udGV4dERpc3Bvc2UoY29udGV4dCk7CisgICAg
bGx2bS0+Q29udGV4dERpc3Bvc2UoY29udGV4dCk7CiB9CiAKIHZvaWQgU3RhdGU6OmR1bXBTdGF0
ZShjb25zdCBjaGFyKiB3aGVuKQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9XZWJL
aXRMTFZNTGlicmFyeUFuY2hvci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRD
b3JlL2Z0bC9XZWJLaXRMTFZNTGlicmFyeUFuY2hvci5jcHAJKHJldmlzaW9uIDE1NzIwNCkKKysr
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvV2ViS2l0TExWTUxpYnJhcnlBbmNob3IuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC0xLDM0ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTMg
QXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJp
Z2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQotICogRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBUSEUKLSAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVW
RU5UIFNIQUxMIEFQUExFIElOQy4gT1IKLSAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAotICogRVhFTVBMQVJZLCBP
UiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAot
ICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsIERBVEEsIE9SCi0gKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCi0gKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4g
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICog
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4gCi0gKi8KLQotI2luY2x1ZGUgImNvbmZpZy5oIgotCi0jaWYgRU5BQkxFKEZU
TF9KSVQpCi0vLyBUaGlzIGlzIGEgaGFjayBmb3IgZW5zdXJpbmcgdGhhdCB0aGUgYnVpbGQgc3lz
dGVtIHJlbGlua3MgSmF2YVNjcmlwdENvcmUgaWYgYW55Ci0vLyBvZiB0aGUgTExWTSBsaWJyYXJp
ZXMgYXJlIGtub3duIHRvIGhhdmUgY2hhbmdlZC4KLSNpbmNsdWRlICJXZWJLaXRMTFZNTGlicmFy
eVRva2VuLmgiCi0KLSNlbmRpZgotCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvbGx2bS9J
bml0aWFsaXplTExWTS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
dm0vSW5pdGlhbGl6ZUxMVk0uY3BwCShyZXZpc2lvbiAwKQorKysgU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsdm0vSW5pdGlhbGl6ZUxMVk0uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNDUg
QEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTMgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4g
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAg
ICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUg
ZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUg
SU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVS
UE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAq
IENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBP
UiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZ
CisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
IE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisgKi8KKworI2luY2x1
ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIkluaXRpYWxpemVMTFZNLmgiCisKKyNpZiBIQVZFKExM
Vk0pCisKKyNpbmNsdWRlIDx3dGYvVGhyZWFkaW5nLmg+CisKK25hbWVzcGFjZSBKU0MgeworCitz
dGF0aWMgcHRocmVhZF9vbmNlX3QgaW5pdGlhbGl6ZUxMVk1PbmNlS2V5ID0gUFRIUkVBRF9PTkNF
X0lOSVQ7CisKK3ZvaWQgaW5pdGlhbGl6ZUxMVk0oKQoreworICAgIHB0aHJlYWRfb25jZSgmaW5p
dGlhbGl6ZUxMVk1PbmNlS2V5LCBpbml0aWFsaXplTExWTUltcGwpOworfQorCit9IC8vIG5hbWVz
cGFjZSBKU0MKKworI2VuZGlmIC8vIEhBVkUoTExWTSkKKwpJbmRleDogU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsdm0vSW5pdGlhbGl6ZUxMVk0uaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGx2bS9Jbml0aWFsaXplTExWTS5oCShyZXZpc2lvbiAwKQorKysgU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsdm0vSW5pdGlhbGl6ZUxMVk0uaAkod29ya2luZyBjb3B5KQpAQCAtMCww
ICsxLDQ0IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEzIEFwcGxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoK
KyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIK
KyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMu
IE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJP
RklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
IFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorICovCisK
KyNpZm5kZWYgSW5pdGlhbGl6ZUxMVk1faAorI2RlZmluZSBJbml0aWFsaXplTExWTV9oCisKKyNp
bmNsdWRlIDx3dGYvUGxhdGZvcm0uaD4KKworI2lmIEhBVkUoTExWTSkKKworbmFtZXNwYWNlIEpT
QyB7CisKK3ZvaWQgaW5pdGlhbGl6ZUxMVk1JbXBsKCk7CisKK3ZvaWQgaW5pdGlhbGl6ZUxMVk0o
KTsgLy8gSXQncyBzYWZlIHRvIGNhbGwgdGhpcyBtdWx0aXBsZSB0aW1lcy4KKworfSAvLyBuYW1l
c3BhY2UgSlNDCisKKyNlbmRpZiAvLyBIQVZFKExMVk0pCisKKyNlbmRpZiAvLyBJbml0aWFsaXpl
TExWTV9oCisKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbHZtL0luaXRpYWxpemVMTFZN
TWFjLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbHZtL0luaXRpYWxp
emVMTFZNTWFjLm1tCShyZXZpc2lvbiAwKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2xsdm0v
SW5pdGlhbGl6ZUxMVk1NYWMubW0JKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw1NSBAQAorLyoK
KyAqIENvcHlyaWdodCAoQykgMjAxMyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisg
KgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBg
QVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1F
UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFS
RSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJ
QlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQ
RUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lO
RVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9S
VAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKyAqLworCisjaW1wb3J0ICJjb25m
aWcuaCIKKyNpbXBvcnQgIkluaXRpYWxpemVMTFZNLmgiCisKKyNpZiBIQVZFKExMVk0pCisKKyNp
bXBvcnQgIkluaXRpYWxpemVMTFZNUE9TSVguaCIKKyNpbXBvcnQgPEZvdW5kYXRpb24vRm91bmRh
dGlvbi5oPgorCisvLyBVc2UgdGhlICJKUyIgcHJlZml4IHRvIG1ha2UgY2hlY2stZm9yLWluYXBw
cm9wcmlhdGUtb2JqYy1jbGFzcy1uYW1lcyBoYXBweS4gSQorLy8gdGhpbmsgdGhpcyBpcyBiZXR0
ZXIgdGhhbiBoYWNraW5nIHRoYXQgc2NyaXB0LgorCitAaW50ZXJmYWNlIEpTSmF2YVNjcmlwdENv
cmVCdW5kbGVGaW5kZXIgOiBOU09iamVjdAorQGVuZAorCitAaW1wbGVtZW50YXRpb24gSlNKYXZh
U2NyaXB0Q29yZUJ1bmRsZUZpbmRlcgorQGVuZAorCituYW1lc3BhY2UgSlNDIHsKKwordm9pZCBp
bml0aWFsaXplTExWTUltcGwoKQoreworICAgIE5TQnVuZGxlICpteUJ1bmRsZSA9IFtOU0J1bmRs
ZSBidW5kbGVGb3JDbGFzczpbSlNKYXZhU2NyaXB0Q29yZUJ1bmRsZUZpbmRlciBjbGFzc11dOwor
ICAgIE5TU3RyaW5nICpwYXRoID0gW1tteUJ1bmRsZSBidW5kbGVQYXRoXSBzdHJpbmdCeUFwcGVu
ZGluZ1BhdGhDb21wb25lbnQ6QCJMaWJyYXJpZXMvbGlibGx2bUZvckpTQy5keWxpYiJdOworICAg
IAorICAgIGluaXRpYWxpemVMTFZNUE9TSVgoW3BhdGggVVRGOFN0cmluZ10pOworfQorCit9IC8v
IG5hbWVzcGFjZSBKU0MKKworI2VuZGlmIC8vIEhBVkUoTExWTSkKSW5kZXg6IFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbHZtL0luaXRpYWxpemVMTFZNUE9TSVguY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbHZtL0luaXRpYWxpemVMTFZNUE9TSVguY3BwCShyZXZpc2lv
biAwKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2xsdm0vSW5pdGlhbGl6ZUxMVk1QT1NJWC5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw1MyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykg
MjAxMyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cisg
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4g
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisg
KiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4g
Tk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExB
UlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
CisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLiAKKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAi
SW5pdGlhbGl6ZUxMVk1QT1NJWC5oIgorCisjaWYgSEFWRShMTFZNKQorCisjaW5jbHVkZSAiTExW
TUFQSS5oIgorI2luY2x1ZGUgPGRsZmNuLmg+CisKK25hbWVzcGFjZSBKU0MgeworCit0eXBlZGVm
IExMVk1BUEkqICgqSW5pdGlhbGl6ZXJGdW5jdGlvbikoKTsKKwordm9pZCBpbml0aWFsaXplTExW
TVBPU0lYKGNvbnN0IGNoYXIqIGxpYnJhcnlOYW1lKQoreworICAgIHZvaWQqIGxpYnJhcnkgPSBk
bG9wZW4obGlicmFyeU5hbWUsIFJUTERfTk9XKTsKKyAgICBBU1NFUlRfV0lUSF9NRVNTQUdFKGxp
YnJhcnksICIlcyIsIGRsZXJyb3IoKSk7CisgICAgCisgICAgSW5pdGlhbGl6ZXJGdW5jdGlvbiBp
bml0aWFsaXplciA9IGJpdHdpc2VfY2FzdDxJbml0aWFsaXplckZ1bmN0aW9uPigKKyAgICAgICAg
ZGxzeW0obGlicmFyeSwgImluaXRpYWxpemVBbmRHZXRKU0NMTFZNQVBJIikpOworICAgIEFTU0VS
VF9XSVRIX01FU1NBR0UoaW5pdGlhbGl6ZXIsICIlcyIsIGRsZXJyb3IoKSk7CisgICAgCisgICAg
bGx2bSA9IGluaXRpYWxpemVyKCk7Cit9CisKK30gLy8gbmFtZXNwYWNlIEpTQworCisjZW5kaWYg
Ly8gSEFWRShMTFZNKQorCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvbGx2bS9Jbml0aWFs
aXplTExWTVBPU0lYLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2xsdm0v
SW5pdGlhbGl6ZUxMVk1QT1NJWC5oCShyZXZpc2lvbiAwKQorKysgU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsdm0vSW5pdGlhbGl6ZUxMVk1QT1NJWC5oCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEs
NDIgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTMgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICog
MS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisg
KiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQ
TEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICog
UFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IK
KyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRT
OyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhF
T1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisgKi8KKworI2lm
bmRlZiBJbml0aWFsaXplTExWTVBPU0lYX2gKKyNkZWZpbmUgSW5pdGlhbGl6ZUxMVk1QT1NJWF9o
CisKKyNpbmNsdWRlIDx3dGYvUGxhdGZvcm0uaD4KKworI2lmIEhBVkUoTExWTSkKKworbmFtZXNw
YWNlIEpTQyB7CisKK3ZvaWQgaW5pdGlhbGl6ZUxMVk1QT1NJWChjb25zdCBjaGFyKiBsaWJyYXJ5
TmFtZSk7CisKK30gLy8gbmFtZXNwYWNlIEpTQworCisjZW5kaWYgLy8gSEFWRShMTFZNKQorCisj
ZW5kaWYgLy8gSW5pdGlhbGl6ZUxMVk1QT1NJWF9oCisKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbHZtL0xMVk1BUEkuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbHZtL0xMVk1BUEkuY3BwCShyZXZpc2lvbiAwKQorKysgU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsdm0vTExWTUFQSS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzNCBAQAorLyoKKyAq
IENvcHlyaWdodCAoQykgMjAxMyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgor
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp
b24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMg
SVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVU
T1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJ
QUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNT
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAor
ICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0Yg
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKyAqLworCisjaW5jbHVkZSAiY29uZmln
LmgiCisjaW5jbHVkZSAiTExWTUFQSS5oIgorCituYW1lc3BhY2UgSlNDIHsKKworTExWTUFQSSog
bGx2bTsKKworfQorCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvbGx2bS9MTFZNQVBJLmgK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2xsdm0vTExWTUFQSS5oCShyZXZp
c2lvbiAwKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2xsdm0vTExWTUFQSS5oCSh3b3JraW5n
IGNvcHkpCkBAIC0wLDAgKzEsNDYgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTMgQXBwbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
CisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBP
UiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUK
KyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9S
IEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNI
QUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJP
Q1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERB
VEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4gCisgKi8KKworI2lmbmRlZiBMTFZNQVBJX2gKKyNkZWZpbmUgTExWTUFQSV9oCisKKyNp
bmNsdWRlICJMTFZNQVBJRnVuY3Rpb25zLmgiCisjaW5jbHVkZSAiTExWTUhlYWRlcnMuaCIKKwor
bmFtZXNwYWNlIEpTQyB7CisKK3N0cnVjdCBMTFZNQVBJIHsKKyNkZWZpbmUgTExWTV9BUElfRlVO
Q1RJT05fREVDTEFSQVRJT04ocmV0dXJuVHlwZSwgbmFtZSwgc2lnbmF0dXJlKSBcCisgICAgcmV0
dXJuVHlwZSAoKm5hbWUpIHNpZ25hdHVyZTsKKyAgICBGT1JfRUFDSF9MTFZNX0FQSV9GVU5DVElP
TihMTFZNX0FQSV9GVU5DVElPTl9ERUNMQVJBVElPTikKKyN1bmRlZiBMTFZNX0FQSV9GVU5DVElP
Tl9ERUNMQVJBVElPTgorfTsKKworZXh0ZXJuIExMVk1BUEkqIGxsdm07CisKK30gLy8gbmFtZXNw
YWNlIEpTQworCisjZW5kaWYgLy8gTExWTUFQSV9oCisKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbHZtL0xMVk1BUElGdW5jdGlvbnMuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGx2bS9MTFZNQVBJRnVuY3Rpb25zLmgJKHJldmlzaW9uIDApCisrKyBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGx2bS9MTFZNQVBJRnVuY3Rpb25zLmgJKHdvcmtpbmcgY29weSkKQEAg
LTAsMCArMSw2MzYgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTMgQXBwbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUg
bWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElD
VUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExF
IElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQg
T0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisg
KiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisg
Ki8KKworI2lmbmRlZiBMTFZNQVBJRnVuY3Rpb25zX2gKKyNkZWZpbmUgTExWTUFQSUZ1bmN0aW9u
c19oCisKKyNpbmNsdWRlICJMTFZNSGVhZGVycy5oIgorCisjZGVmaW5lIEZPUl9FQUNIX0xMVk1f
QVBJX0ZVTkNUSU9OKG1hY3JvKSBcCisgICAgbWFjcm8odm9pZCwgSW5pdGlhbGl6ZUNvcmUsIChM
TFZNUGFzc1JlZ2lzdHJ5UmVmIFIpKSBcCisgICAgbWFjcm8odm9pZCwgU2h1dGRvd24sICgpKSBc
CisgICAgbWFjcm8oY2hhciAqLCBDcmVhdGVNZXNzYWdlLCAoY29uc3QgY2hhciAqTWVzc2FnZSkp
IFwKKyAgICBtYWNybyh2b2lkLCBEaXNwb3NlTWVzc2FnZSwgKGNoYXIgKk1lc3NhZ2UpKSBcCisg
ICAgbWFjcm8oTExWTUNvbnRleHRSZWYsIENvbnRleHRDcmVhdGUsICh2b2lkKSkgXAorICAgIG1h
Y3JvKExMVk1Db250ZXh0UmVmLCBHZXRHbG9iYWxDb250ZXh0LCAodm9pZCkpIFwKKyAgICBtYWNy
byh2b2lkLCBDb250ZXh0RGlzcG9zZSwgKExMVk1Db250ZXh0UmVmIEMpKSBcCisgICAgbWFjcm8o
dW5zaWduZWQsIEdldE1ES2luZElESW5Db250ZXh0LCAoTExWTUNvbnRleHRSZWYgQywgY29uc3Qg
Y2hhciogTmFtZSwgdW5zaWduZWQgU0xlbikpIFwKKyAgICBtYWNybyh1bnNpZ25lZCwgR2V0TURL
aW5kSUQsIChjb25zdCBjaGFyKiBOYW1lLCB1bnNpZ25lZCBTTGVuKSkgXAorICAgIG1hY3JvKExM
Vk1Nb2R1bGVSZWYsIE1vZHVsZUNyZWF0ZVdpdGhOYW1lLCAoY29uc3QgY2hhciAqTW9kdWxlSUQp
KSBcCisgICAgbWFjcm8oTExWTU1vZHVsZVJlZiwgTW9kdWxlQ3JlYXRlV2l0aE5hbWVJbkNvbnRl
eHQsIChjb25zdCBjaGFyICpNb2R1bGVJRCwgTExWTUNvbnRleHRSZWYgQykpIFwKKyAgICBtYWNy
byh2b2lkLCBEaXNwb3NlTW9kdWxlLCAoTExWTU1vZHVsZVJlZiBNKSkgXAorICAgIG1hY3JvKGNv
bnN0IGNoYXIgKiwgR2V0RGF0YUxheW91dCwgKExMVk1Nb2R1bGVSZWYgTSkpIFwKKyAgICBtYWNy
byh2b2lkLCBTZXREYXRhTGF5b3V0LCAoTExWTU1vZHVsZVJlZiBNLCBjb25zdCBjaGFyICpUcmlw
bGUpKSBcCisgICAgbWFjcm8oY29uc3QgY2hhciAqLCBHZXRUYXJnZXQsIChMTFZNTW9kdWxlUmVm
IE0pKSBcCisgICAgbWFjcm8odm9pZCwgU2V0VGFyZ2V0LCAoTExWTU1vZHVsZVJlZiBNLCBjb25z
dCBjaGFyICpUcmlwbGUpKSBcCisgICAgbWFjcm8odm9pZCwgRHVtcE1vZHVsZSwgKExMVk1Nb2R1
bGVSZWYgTSkpIFwKKyAgICBtYWNybyhMTFZNQm9vbCwgUHJpbnRNb2R1bGVUb0ZpbGUsIChMTFZN
TW9kdWxlUmVmIE0sIGNvbnN0IGNoYXIgKkZpbGVuYW1lLCBjaGFyICoqRXJyb3JNZXNzYWdlKSkg
XAorICAgIG1hY3JvKHZvaWQsIFNldE1vZHVsZUlubGluZUFzbSwgKExMVk1Nb2R1bGVSZWYgTSwg
Y29uc3QgY2hhciAqQXNtKSkgXAorICAgIG1hY3JvKExMVk1Db250ZXh0UmVmLCBHZXRNb2R1bGVD
b250ZXh0LCAoTExWTU1vZHVsZVJlZiBNKSkgXAorICAgIG1hY3JvKExMVk1UeXBlUmVmLCBHZXRU
eXBlQnlOYW1lLCAoTExWTU1vZHVsZVJlZiBNLCBjb25zdCBjaGFyICpOYW1lKSkgXAorICAgIG1h
Y3JvKHVuc2lnbmVkLCBHZXROYW1lZE1ldGFkYXRhTnVtT3BlcmFuZHMsIChMTFZNTW9kdWxlUmVm
IE0sIGNvbnN0IGNoYXIqIG5hbWUpKSBcCisgICAgbWFjcm8odm9pZCwgR2V0TmFtZWRNZXRhZGF0
YU9wZXJhbmRzLCAoTExWTU1vZHVsZVJlZiBNLCBjb25zdCBjaGFyKiBuYW1lLCBMTFZNVmFsdWVS
ZWYgKkRlc3QpKSBcCisgICAgbWFjcm8odm9pZCwgQWRkTmFtZWRNZXRhZGF0YU9wZXJhbmQsIChM
TFZNTW9kdWxlUmVmIE0sIGNvbnN0IGNoYXIqIG5hbWUsIExMVk1WYWx1ZVJlZiBWYWwpKSBcCisg
ICAgbWFjcm8oTExWTVZhbHVlUmVmLCBBZGRGdW5jdGlvbiwgKExMVk1Nb2R1bGVSZWYgTSwgY29u
c3QgY2hhciAqTmFtZSwgTExWTVR5cGVSZWYgRnVuY3Rpb25UeSkpIFwKKyAgICBtYWNybyhMTFZN
VmFsdWVSZWYsIEdldE5hbWVkRnVuY3Rpb24sIChMTFZNTW9kdWxlUmVmIE0sIGNvbnN0IGNoYXIg
Kk5hbWUpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBHZXRGaXJzdEZ1bmN0aW9uLCAoTExW
TU1vZHVsZVJlZiBNKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgR2V0TGFzdEZ1bmN0aW9u
LCAoTExWTU1vZHVsZVJlZiBNKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgR2V0TmV4dEZ1
bmN0aW9uLCAoTExWTVZhbHVlUmVmIEZuKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgR2V0
UHJldmlvdXNGdW5jdGlvbiwgKExMVk1WYWx1ZVJlZiBGbikpIFwKKyAgICBtYWNybyhMTFZNVHlw
ZUtpbmQsIEdldFR5cGVLaW5kLCAoTExWTVR5cGVSZWYgVHkpKSBcCisgICAgbWFjcm8oTExWTUJv
b2wsIFR5cGVJc1NpemVkLCAoTExWTVR5cGVSZWYgVHkpKSBcCisgICAgbWFjcm8oTExWTUNvbnRl
eHRSZWYsIEdldFR5cGVDb250ZXh0LCAoTExWTVR5cGVSZWYgVHkpKSBcCisgICAgbWFjcm8oTExW
TVR5cGVSZWYsIEludDFUeXBlSW5Db250ZXh0LCAoTExWTUNvbnRleHRSZWYgQykpIFwKKyAgICBt
YWNybyhMTFZNVHlwZVJlZiwgSW50OFR5cGVJbkNvbnRleHQsIChMTFZNQ29udGV4dFJlZiBDKSkg
XAorICAgIG1hY3JvKExMVk1UeXBlUmVmLCBJbnQxNlR5cGVJbkNvbnRleHQsIChMTFZNQ29udGV4
dFJlZiBDKSkgXAorICAgIG1hY3JvKExMVk1UeXBlUmVmLCBJbnQzMlR5cGVJbkNvbnRleHQsIChM
TFZNQ29udGV4dFJlZiBDKSkgXAorICAgIG1hY3JvKExMVk1UeXBlUmVmLCBJbnQ2NFR5cGVJbkNv
bnRleHQsIChMTFZNQ29udGV4dFJlZiBDKSkgXAorICAgIG1hY3JvKExMVk1UeXBlUmVmLCBJbnRU
eXBlSW5Db250ZXh0LCAoTExWTUNvbnRleHRSZWYgQywgdW5zaWduZWQgTnVtQml0cykpIFwKKyAg
ICBtYWNybyhMTFZNVHlwZVJlZiwgSW50MVR5cGUsICh2b2lkKSkgXAorICAgIG1hY3JvKExMVk1U
eXBlUmVmLCBJbnQ4VHlwZSwgKHZvaWQpKSBcCisgICAgbWFjcm8oTExWTVR5cGVSZWYsIEludDE2
VHlwZSwgKHZvaWQpKSBcCisgICAgbWFjcm8oTExWTVR5cGVSZWYsIEludDMyVHlwZSwgKHZvaWQp
KSBcCisgICAgbWFjcm8oTExWTVR5cGVSZWYsIEludDY0VHlwZSwgKHZvaWQpKSBcCisgICAgbWFj
cm8oTExWTVR5cGVSZWYsIEludFR5cGUsICh1bnNpZ25lZCBOdW1CaXRzKSkgXAorICAgIG1hY3Jv
KHVuc2lnbmVkLCBHZXRJbnRUeXBlV2lkdGgsIChMTFZNVHlwZVJlZiBJbnRlZ2VyVHkpKSBcCisg
ICAgbWFjcm8oTExWTVR5cGVSZWYsIEhhbGZUeXBlSW5Db250ZXh0LCAoTExWTUNvbnRleHRSZWYg
QykpIFwKKyAgICBtYWNybyhMTFZNVHlwZVJlZiwgRmxvYXRUeXBlSW5Db250ZXh0LCAoTExWTUNv
bnRleHRSZWYgQykpIFwKKyAgICBtYWNybyhMTFZNVHlwZVJlZiwgRG91YmxlVHlwZUluQ29udGV4
dCwgKExMVk1Db250ZXh0UmVmIEMpKSBcCisgICAgbWFjcm8oTExWTVR5cGVSZWYsIFg4NkZQODBU
eXBlSW5Db250ZXh0LCAoTExWTUNvbnRleHRSZWYgQykpIFwKKyAgICBtYWNybyhMTFZNVHlwZVJl
ZiwgRlAxMjhUeXBlSW5Db250ZXh0LCAoTExWTUNvbnRleHRSZWYgQykpIFwKKyAgICBtYWNybyhM
TFZNVHlwZVJlZiwgUFBDRlAxMjhUeXBlSW5Db250ZXh0LCAoTExWTUNvbnRleHRSZWYgQykpIFwK
KyAgICBtYWNybyhMTFZNVHlwZVJlZiwgSGFsZlR5cGUsICh2b2lkKSkgXAorICAgIG1hY3JvKExM
Vk1UeXBlUmVmLCBGbG9hdFR5cGUsICh2b2lkKSkgXAorICAgIG1hY3JvKExMVk1UeXBlUmVmLCBE
b3VibGVUeXBlLCAodm9pZCkpIFwKKyAgICBtYWNybyhMTFZNVHlwZVJlZiwgWDg2RlA4MFR5cGUs
ICh2b2lkKSkgXAorICAgIG1hY3JvKExMVk1UeXBlUmVmLCBGUDEyOFR5cGUsICh2b2lkKSkgXAor
ICAgIG1hY3JvKExMVk1UeXBlUmVmLCBQUENGUDEyOFR5cGUsICh2b2lkKSkgXAorICAgIG1hY3Jv
KExMVk1UeXBlUmVmLCBGdW5jdGlvblR5cGUsIChMTFZNVHlwZVJlZiBSZXR1cm5UeXBlLCBMTFZN
VHlwZVJlZiAqUGFyYW1UeXBlcywgdW5zaWduZWQgUGFyYW1Db3VudCwgTExWTUJvb2wgSXNWYXJB
cmcpKSBcCisgICAgbWFjcm8oTExWTUJvb2wsIElzRnVuY3Rpb25WYXJBcmcsIChMTFZNVHlwZVJl
ZiBGdW5jdGlvblR5KSkgXAorICAgIG1hY3JvKExMVk1UeXBlUmVmLCBHZXRSZXR1cm5UeXBlLCAo
TExWTVR5cGVSZWYgRnVuY3Rpb25UeSkpIFwKKyAgICBtYWNybyh1bnNpZ25lZCwgQ291bnRQYXJh
bVR5cGVzLCAoTExWTVR5cGVSZWYgRnVuY3Rpb25UeSkpIFwKKyAgICBtYWNybyh2b2lkLCBHZXRQ
YXJhbVR5cGVzLCAoTExWTVR5cGVSZWYgRnVuY3Rpb25UeSwgTExWTVR5cGVSZWYgKkRlc3QpKSBc
CisgICAgbWFjcm8oTExWTVR5cGVSZWYsIFN0cnVjdFR5cGVJbkNvbnRleHQsIChMTFZNQ29udGV4
dFJlZiBDLCBMTFZNVHlwZVJlZiAqRWxlbWVudFR5cGVzLCB1bnNpZ25lZCBFbGVtZW50Q291bnQs
IExMVk1Cb29sIFBhY2tlZCkpIFwKKyAgICBtYWNybyhMTFZNVHlwZVJlZiwgU3RydWN0VHlwZSwg
KExMVk1UeXBlUmVmICpFbGVtZW50VHlwZXMsIHVuc2lnbmVkIEVsZW1lbnRDb3VudCwgTExWTUJv
b2wgUGFja2VkKSkgXAorICAgIG1hY3JvKExMVk1UeXBlUmVmLCBTdHJ1Y3RDcmVhdGVOYW1lZCwg
KExMVk1Db250ZXh0UmVmIEMsIGNvbnN0IGNoYXIgKk5hbWUpKSBcCisgICAgbWFjcm8oY29uc3Qg
Y2hhciAqLCBHZXRTdHJ1Y3ROYW1lLCAoTExWTVR5cGVSZWYgVHkpKSBcCisgICAgbWFjcm8odm9p
ZCwgU3RydWN0U2V0Qm9keSwgKExMVk1UeXBlUmVmIFN0cnVjdFR5LCBMTFZNVHlwZVJlZiAqRWxl
bWVudFR5cGVzLCB1bnNpZ25lZCBFbGVtZW50Q291bnQsIExMVk1Cb29sIFBhY2tlZCkpIFwKKyAg
ICBtYWNybyh1bnNpZ25lZCwgQ291bnRTdHJ1Y3RFbGVtZW50VHlwZXMsIChMTFZNVHlwZVJlZiBT
dHJ1Y3RUeSkpIFwKKyAgICBtYWNybyh2b2lkLCBHZXRTdHJ1Y3RFbGVtZW50VHlwZXMsIChMTFZN
VHlwZVJlZiBTdHJ1Y3RUeSwgTExWTVR5cGVSZWYgKkRlc3QpKSBcCisgICAgbWFjcm8oTExWTUJv
b2wsIElzUGFja2VkU3RydWN0LCAoTExWTVR5cGVSZWYgU3RydWN0VHkpKSBcCisgICAgbWFjcm8o
TExWTUJvb2wsIElzT3BhcXVlU3RydWN0LCAoTExWTVR5cGVSZWYgU3RydWN0VHkpKSBcCisgICAg
bWFjcm8oTExWTVR5cGVSZWYsIEdldEVsZW1lbnRUeXBlLCAoTExWTVR5cGVSZWYgVHkpKSBcCisg
ICAgbWFjcm8oTExWTVR5cGVSZWYsIEFycmF5VHlwZSwgKExMVk1UeXBlUmVmIEVsZW1lbnRUeXBl
LCB1bnNpZ25lZCBFbGVtZW50Q291bnQpKSBcCisgICAgbWFjcm8odW5zaWduZWQsIEdldEFycmF5
TGVuZ3RoLCAoTExWTVR5cGVSZWYgQXJyYXlUeSkpIFwKKyAgICBtYWNybyhMTFZNVHlwZVJlZiwg
UG9pbnRlclR5cGUsIChMTFZNVHlwZVJlZiBFbGVtZW50VHlwZSwgdW5zaWduZWQgQWRkcmVzc1Nw
YWNlKSkgXAorICAgIG1hY3JvKHVuc2lnbmVkLCBHZXRQb2ludGVyQWRkcmVzc1NwYWNlLCAoTExW
TVR5cGVSZWYgUG9pbnRlclR5KSkgXAorICAgIG1hY3JvKExMVk1UeXBlUmVmLCBWZWN0b3JUeXBl
LCAoTExWTVR5cGVSZWYgRWxlbWVudFR5cGUsIHVuc2lnbmVkIEVsZW1lbnRDb3VudCkpIFwKKyAg
ICBtYWNybyh1bnNpZ25lZCwgR2V0VmVjdG9yU2l6ZSwgKExMVk1UeXBlUmVmIFZlY3RvclR5KSkg
XAorICAgIG1hY3JvKExMVk1UeXBlUmVmLCBWb2lkVHlwZUluQ29udGV4dCwgKExMVk1Db250ZXh0
UmVmIEMpKSBcCisgICAgbWFjcm8oTExWTVR5cGVSZWYsIExhYmVsVHlwZUluQ29udGV4dCwgKExM
Vk1Db250ZXh0UmVmIEMpKSBcCisgICAgbWFjcm8oTExWTVR5cGVSZWYsIFg4Nk1NWFR5cGVJbkNv
bnRleHQsIChMTFZNQ29udGV4dFJlZiBDKSkgXAorICAgIG1hY3JvKExMVk1UeXBlUmVmLCBWb2lk
VHlwZSwgKHZvaWQpKSBcCisgICAgbWFjcm8oTExWTVR5cGVSZWYsIExhYmVsVHlwZSwgKHZvaWQp
KSBcCisgICAgbWFjcm8oTExWTVR5cGVSZWYsIFg4Nk1NWFR5cGUsICh2b2lkKSkgXAorICAgIG1h
Y3JvKExMVk1UeXBlUmVmLCBUeXBlT2YsIChMTFZNVmFsdWVSZWYgVmFsKSkgXAorICAgIG1hY3Jv
KGNvbnN0IGNoYXIgKiwgR2V0VmFsdWVOYW1lLCAoTExWTVZhbHVlUmVmIFZhbCkpIFwKKyAgICBt
YWNybyh2b2lkLCBTZXRWYWx1ZU5hbWUsIChMTFZNVmFsdWVSZWYgVmFsLCBjb25zdCBjaGFyICpO
YW1lKSkgXAorICAgIG1hY3JvKHZvaWQsIER1bXBWYWx1ZSwgKExMVk1WYWx1ZVJlZiBWYWwpKSBc
CisgICAgbWFjcm8odm9pZCwgUmVwbGFjZUFsbFVzZXNXaXRoLCAoTExWTVZhbHVlUmVmIE9sZFZh
bCwgTExWTVZhbHVlUmVmIE5ld1ZhbCkpIFwKKyAgICBtYWNybyhMTFZNQm9vbCwgSXNDb25zdGFu
dCwgKExMVk1WYWx1ZVJlZiBWYWwpKSBcCisgICAgbWFjcm8oTExWTUJvb2wsIElzVW5kZWYsIChM
TFZNVmFsdWVSZWYgVmFsKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgSXNBQXJndW1lbnQs
IChMTFZNVmFsdWVSZWYgVmFsKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgSXNBQmFzaWNC
bG9jaywgKExMVk1WYWx1ZVJlZiBWYWwpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBJc0FJ
bmxpbmVBc20sIChMTFZNVmFsdWVSZWYgVmFsKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwg
SXNBTUROb2RlLCAoTExWTVZhbHVlUmVmIFZhbCkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYs
IElzQU1EU3RyaW5nLCAoTExWTVZhbHVlUmVmIFZhbCkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVS
ZWYsIElzQVVzZXIsIChMTFZNVmFsdWVSZWYgVmFsKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJl
ZiwgSXNBQ29uc3RhbnQsIChMTFZNVmFsdWVSZWYgVmFsKSkgXAorICAgIG1hY3JvKExMVk1WYWx1
ZVJlZiwgSXNBQmxvY2tBZGRyZXNzLCAoTExWTVZhbHVlUmVmIFZhbCkpIFwKKyAgICBtYWNybyhM
TFZNVmFsdWVSZWYsIElzQUNvbnN0YW50QWdncmVnYXRlWmVybywgKExMVk1WYWx1ZVJlZiBWYWwp
KSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBJc0FDb25zdGFudEFycmF5LCAoTExWTVZhbHVl
UmVmIFZhbCkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIElzQUNvbnN0YW50RXhwciwgKExM
Vk1WYWx1ZVJlZiBWYWwpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBJc0FDb25zdGFudEZQ
LCAoTExWTVZhbHVlUmVmIFZhbCkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIElzQUNvbnN0
YW50SW50LCAoTExWTVZhbHVlUmVmIFZhbCkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIElz
QUNvbnN0YW50UG9pbnRlck51bGwsIChMTFZNVmFsdWVSZWYgVmFsKSkgXAorICAgIG1hY3JvKExM
Vk1WYWx1ZVJlZiwgSXNBQ29uc3RhbnRTdHJ1Y3QsIChMTFZNVmFsdWVSZWYgVmFsKSkgXAorICAg
IG1hY3JvKExMVk1WYWx1ZVJlZiwgSXNBQ29uc3RhbnRWZWN0b3IsIChMTFZNVmFsdWVSZWYgVmFs
KSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgSXNBR2xvYmFsVmFsdWUsIChMTFZNVmFsdWVS
ZWYgVmFsKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgSXNBRnVuY3Rpb24sIChMTFZNVmFs
dWVSZWYgVmFsKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgSXNBR2xvYmFsQWxpYXMsIChM
TFZNVmFsdWVSZWYgVmFsKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgSXNBR2xvYmFsVmFy
aWFibGUsIChMTFZNVmFsdWVSZWYgVmFsKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgSXNB
VW5kZWZWYWx1ZSwgKExMVk1WYWx1ZVJlZiBWYWwpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVm
LCBJc0FJbnN0cnVjdGlvbiwgKExMVk1WYWx1ZVJlZiBWYWwpKSBcCisgICAgbWFjcm8oTExWTVZh
bHVlUmVmLCBJc0FCaW5hcnlPcGVyYXRvciwgKExMVk1WYWx1ZVJlZiBWYWwpKSBcCisgICAgbWFj
cm8oTExWTVZhbHVlUmVmLCBJc0FDYWxsSW5zdCwgKExMVk1WYWx1ZVJlZiBWYWwpKSBcCisgICAg
bWFjcm8oTExWTVZhbHVlUmVmLCBJc0FJbnRyaW5zaWNJbnN0LCAoTExWTVZhbHVlUmVmIFZhbCkp
IFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIElzQURiZ0luZm9JbnRyaW5zaWMsIChMTFZNVmFs
dWVSZWYgVmFsKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgSXNBRGJnRGVjbGFyZUluc3Qs
IChMTFZNVmFsdWVSZWYgVmFsKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgSXNBTWVtSW50
cmluc2ljLCAoTExWTVZhbHVlUmVmIFZhbCkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIElz
QU1lbUNweUluc3QsIChMTFZNVmFsdWVSZWYgVmFsKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJl
ZiwgSXNBTWVtTW92ZUluc3QsIChMTFZNVmFsdWVSZWYgVmFsKSkgXAorICAgIG1hY3JvKExMVk1W
YWx1ZVJlZiwgSXNBTWVtU2V0SW5zdCwgKExMVk1WYWx1ZVJlZiBWYWwpKSBcCisgICAgbWFjcm8o
TExWTVZhbHVlUmVmLCBJc0FDbXBJbnN0LCAoTExWTVZhbHVlUmVmIFZhbCkpIFwKKyAgICBtYWNy
byhMTFZNVmFsdWVSZWYsIElzQUZDbXBJbnN0LCAoTExWTVZhbHVlUmVmIFZhbCkpIFwKKyAgICBt
YWNybyhMTFZNVmFsdWVSZWYsIElzQUlDbXBJbnN0LCAoTExWTVZhbHVlUmVmIFZhbCkpIFwKKyAg
ICBtYWNybyhMTFZNVmFsdWVSZWYsIElzQUV4dHJhY3RFbGVtZW50SW5zdCwgKExMVk1WYWx1ZVJl
ZiBWYWwpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBJc0FHZXRFbGVtZW50UHRySW5zdCwg
KExMVk1WYWx1ZVJlZiBWYWwpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBJc0FJbnNlcnRF
bGVtZW50SW5zdCwgKExMVk1WYWx1ZVJlZiBWYWwpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVm
LCBJc0FJbnNlcnRWYWx1ZUluc3QsIChMTFZNVmFsdWVSZWYgVmFsKSkgXAorICAgIG1hY3JvKExM
Vk1WYWx1ZVJlZiwgSXNBTGFuZGluZ1BhZEluc3QsIChMTFZNVmFsdWVSZWYgVmFsKSkgXAorICAg
IG1hY3JvKExMVk1WYWx1ZVJlZiwgSXNBUEhJTm9kZSwgKExMVk1WYWx1ZVJlZiBWYWwpKSBcCisg
ICAgbWFjcm8oTExWTVZhbHVlUmVmLCBJc0FTZWxlY3RJbnN0LCAoTExWTVZhbHVlUmVmIFZhbCkp
IFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIElzQVNodWZmbGVWZWN0b3JJbnN0LCAoTExWTVZh
bHVlUmVmIFZhbCkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIElzQVN0b3JlSW5zdCwgKExM
Vk1WYWx1ZVJlZiBWYWwpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBJc0FUZXJtaW5hdG9y
SW5zdCwgKExMVk1WYWx1ZVJlZiBWYWwpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBJc0FC
cmFuY2hJbnN0LCAoTExWTVZhbHVlUmVmIFZhbCkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYs
IElzQUluZGlyZWN0QnJJbnN0LCAoTExWTVZhbHVlUmVmIFZhbCkpIFwKKyAgICBtYWNybyhMTFZN
VmFsdWVSZWYsIElzQUludm9rZUluc3QsIChMTFZNVmFsdWVSZWYgVmFsKSkgXAorICAgIG1hY3Jv
KExMVk1WYWx1ZVJlZiwgSXNBUmV0dXJuSW5zdCwgKExMVk1WYWx1ZVJlZiBWYWwpKSBcCisgICAg
bWFjcm8oTExWTVZhbHVlUmVmLCBJc0FTd2l0Y2hJbnN0LCAoTExWTVZhbHVlUmVmIFZhbCkpIFwK
KyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIElzQVVucmVhY2hhYmxlSW5zdCwgKExMVk1WYWx1ZVJl
ZiBWYWwpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBJc0FSZXN1bWVJbnN0LCAoTExWTVZh
bHVlUmVmIFZhbCkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIElzQVVuYXJ5SW5zdHJ1Y3Rp
b24sIChMTFZNVmFsdWVSZWYgVmFsKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgSXNBQWxs
b2NhSW5zdCwgKExMVk1WYWx1ZVJlZiBWYWwpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBJ
c0FDYXN0SW5zdCwgKExMVk1WYWx1ZVJlZiBWYWwpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVm
LCBJc0FCaXRDYXN0SW5zdCwgKExMVk1WYWx1ZVJlZiBWYWwpKSBcCisgICAgbWFjcm8oTExWTVZh
bHVlUmVmLCBJc0FGUEV4dEluc3QsIChMTFZNVmFsdWVSZWYgVmFsKSkgXAorICAgIG1hY3JvKExM
Vk1WYWx1ZVJlZiwgSXNBRlBUb1NJSW5zdCwgKExMVk1WYWx1ZVJlZiBWYWwpKSBcCisgICAgbWFj
cm8oTExWTVZhbHVlUmVmLCBJc0FGUFRvVUlJbnN0LCAoTExWTVZhbHVlUmVmIFZhbCkpIFwKKyAg
ICBtYWNybyhMTFZNVmFsdWVSZWYsIElzQUZQVHJ1bmNJbnN0LCAoTExWTVZhbHVlUmVmIFZhbCkp
IFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIElzQUludFRvUHRySW5zdCwgKExMVk1WYWx1ZVJl
ZiBWYWwpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBJc0FQdHJUb0ludEluc3QsIChMTFZN
VmFsdWVSZWYgVmFsKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgSXNBU0V4dEluc3QsIChM
TFZNVmFsdWVSZWYgVmFsKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgSXNBU0lUb0ZQSW5z
dCwgKExMVk1WYWx1ZVJlZiBWYWwpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBJc0FUcnVu
Y0luc3QsIChMTFZNVmFsdWVSZWYgVmFsKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgSXNB
VUlUb0ZQSW5zdCwgKExMVk1WYWx1ZVJlZiBWYWwpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVm
LCBJc0FaRXh0SW5zdCwgKExMVk1WYWx1ZVJlZiBWYWwpKSBcCisgICAgbWFjcm8oTExWTVZhbHVl
UmVmLCBJc0FFeHRyYWN0VmFsdWVJbnN0LCAoTExWTVZhbHVlUmVmIFZhbCkpIFwKKyAgICBtYWNy
byhMTFZNVmFsdWVSZWYsIElzQUxvYWRJbnN0LCAoTExWTVZhbHVlUmVmIFZhbCkpIFwKKyAgICBt
YWNybyhMTFZNVmFsdWVSZWYsIElzQVZBQXJnSW5zdCwgKExMVk1WYWx1ZVJlZiBWYWwpKSBcCisg
ICAgbWFjcm8oTExWTVVzZVJlZiwgR2V0Rmlyc3RVc2UsIChMTFZNVmFsdWVSZWYgVmFsKSkgXAor
ICAgIG1hY3JvKExMVk1Vc2VSZWYsIEdldE5leHRVc2UsIChMTFZNVXNlUmVmIFUpKSBcCisgICAg
bWFjcm8oTExWTVZhbHVlUmVmLCBHZXRVc2VyLCAoTExWTVVzZVJlZiBVKSkgXAorICAgIG1hY3Jv
KExMVk1WYWx1ZVJlZiwgR2V0VXNlZFZhbHVlLCAoTExWTVVzZVJlZiBVKSkgXAorICAgIG1hY3Jv
KExMVk1WYWx1ZVJlZiwgR2V0T3BlcmFuZCwgKExMVk1WYWx1ZVJlZiBWYWwsIHVuc2lnbmVkIElu
ZGV4KSkgXAorICAgIG1hY3JvKHZvaWQsIFNldE9wZXJhbmQsIChMTFZNVmFsdWVSZWYgVXNlciwg
dW5zaWduZWQgSW5kZXgsIExMVk1WYWx1ZVJlZiBWYWwpKSBcCisgICAgbWFjcm8oaW50LCBHZXRO
dW1PcGVyYW5kcywgKExMVk1WYWx1ZVJlZiBWYWwpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVm
LCBDb25zdE51bGwsIChMTFZNVHlwZVJlZiBUeSkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYs
IENvbnN0QWxsT25lcywgKExMVk1UeXBlUmVmIFR5KSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJl
ZiwgR2V0VW5kZWYsIChMTFZNVHlwZVJlZiBUeSkpIFwKKyAgICBtYWNybyhMTFZNQm9vbCwgSXNO
dWxsLCAoTExWTVZhbHVlUmVmIFZhbCkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIENvbnN0
UG9pbnRlck51bGwsIChMTFZNVHlwZVJlZiBUeSkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYs
IENvbnN0SW50LCAoTExWTVR5cGVSZWYgSW50VHksIHVuc2lnbmVkIGxvbmcgbG9uZyBOLCBMTFZN
Qm9vbCBTaWduRXh0ZW5kKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgQ29uc3RJbnRPZkFy
Yml0cmFyeVByZWNpc2lvbiwgKExMVk1UeXBlUmVmIEludFR5LCB1bnNpZ25lZCBOdW1Xb3Jkcywg
Y29uc3QgdWludDY0X3QgV29yZHNbXSkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIENvbnN0
SW50T2ZTdHJpbmcsIChMTFZNVHlwZVJlZiBJbnRUeSwgY29uc3QgY2hhciAqVGV4dCwgdWludDhf
dCBSYWRpeCkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIENvbnN0SW50T2ZTdHJpbmdBbmRT
aXplLCAoTExWTVR5cGVSZWYgSW50VHksIGNvbnN0IGNoYXIgKlRleHQsIHVuc2lnbmVkIFNMZW4s
IHVpbnQ4X3QgUmFkaXgpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBDb25zdFJlYWwsIChM
TFZNVHlwZVJlZiBSZWFsVHksIGRvdWJsZSBOKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwg
Q29uc3RSZWFsT2ZTdHJpbmcsIChMTFZNVHlwZVJlZiBSZWFsVHksIGNvbnN0IGNoYXIgKlRleHQp
KSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBDb25zdFJlYWxPZlN0cmluZ0FuZFNpemUsIChM
TFZNVHlwZVJlZiBSZWFsVHksIGNvbnN0IGNoYXIgKlRleHQsIHVuc2lnbmVkIFNMZW4pKSBcCisg
ICAgbWFjcm8odW5zaWduZWQgbG9uZyBsb25nLCBDb25zdEludEdldFpFeHRWYWx1ZSwgKExMVk1W
YWx1ZVJlZiBDb25zdGFudFZhbCkpIFwKKyAgICBtYWNybyhsb25nIGxvbmcsIENvbnN0SW50R2V0
U0V4dFZhbHVlLCAoTExWTVZhbHVlUmVmIENvbnN0YW50VmFsKSkgXAorICAgIG1hY3JvKExMVk1W
YWx1ZVJlZiwgQ29uc3RTdHJpbmdJbkNvbnRleHQsIChMTFZNQ29udGV4dFJlZiBDLCBjb25zdCBj
aGFyICpTdHIsIHVuc2lnbmVkIExlbmd0aCwgTExWTUJvb2wgRG9udE51bGxUZXJtaW5hdGUpKSBc
CisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBDb25zdFN0cmluZywgKGNvbnN0IGNoYXIgKlN0ciwg
dW5zaWduZWQgTGVuZ3RoLCBMTFZNQm9vbCBEb250TnVsbFRlcm1pbmF0ZSkpIFwKKyAgICBtYWNy
byhMTFZNVmFsdWVSZWYsIENvbnN0U3RydWN0SW5Db250ZXh0LCAoTExWTUNvbnRleHRSZWYgQywg
TExWTVZhbHVlUmVmICpDb25zdGFudFZhbHMsIHVuc2lnbmVkIENvdW50LCBMTFZNQm9vbCBQYWNr
ZWQpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBDb25zdFN0cnVjdCwgKExMVk1WYWx1ZVJl
ZiAqQ29uc3RhbnRWYWxzLCB1bnNpZ25lZCBDb3VudCwgTExWTUJvb2wgUGFja2VkKSkgXAorICAg
IG1hY3JvKExMVk1WYWx1ZVJlZiwgQ29uc3RBcnJheSwgKExMVk1UeXBlUmVmIEVsZW1lbnRUeSwg
TExWTVZhbHVlUmVmICpDb25zdGFudFZhbHMsIHVuc2lnbmVkIExlbmd0aCkpIFwKKyAgICBtYWNy
byhMTFZNVmFsdWVSZWYsIENvbnN0TmFtZWRTdHJ1Y3QsIChMTFZNVHlwZVJlZiBTdHJ1Y3RUeSwg
TExWTVZhbHVlUmVmICpDb25zdGFudFZhbHMsIHVuc2lnbmVkIENvdW50KSkgXAorICAgIG1hY3Jv
KExMVk1WYWx1ZVJlZiwgQ29uc3RWZWN0b3IsIChMTFZNVmFsdWVSZWYgKlNjYWxhckNvbnN0YW50
VmFscywgdW5zaWduZWQgU2l6ZSkpIFwKKyAgICBtYWNybyhMTFZNT3Bjb2RlLCBHZXRDb25zdE9w
Y29kZSwgKExMVk1WYWx1ZVJlZiBDb25zdGFudFZhbCkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVS
ZWYsIEFsaWduT2YsIChMTFZNVHlwZVJlZiBUeSkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYs
IFNpemVPZiwgKExMVk1UeXBlUmVmIFR5KSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgQ29u
c3ROZWcsIChMTFZNVmFsdWVSZWYgQ29uc3RhbnRWYWwpKSBcCisgICAgbWFjcm8oTExWTVZhbHVl
UmVmLCBDb25zdE5TV05lZywgKExMVk1WYWx1ZVJlZiBDb25zdGFudFZhbCkpIFwKKyAgICBtYWNy
byhMTFZNVmFsdWVSZWYsIENvbnN0TlVXTmVnLCAoTExWTVZhbHVlUmVmIENvbnN0YW50VmFsKSkg
XAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgQ29uc3RGTmVnLCAoTExWTVZhbHVlUmVmIENvbnN0
YW50VmFsKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgQ29uc3ROb3QsIChMTFZNVmFsdWVS
ZWYgQ29uc3RhbnRWYWwpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBDb25zdEFkZCwgKExM
Vk1WYWx1ZVJlZiBMSFNDb25zdGFudCwgTExWTVZhbHVlUmVmIFJIU0NvbnN0YW50KSkgXAorICAg
IG1hY3JvKExMVk1WYWx1ZVJlZiwgQ29uc3ROU1dBZGQsIChMTFZNVmFsdWVSZWYgTEhTQ29uc3Rh
bnQsIExMVk1WYWx1ZVJlZiBSSFNDb25zdGFudCkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYs
IENvbnN0TlVXQWRkLCAoTExWTVZhbHVlUmVmIExIU0NvbnN0YW50LCBMTFZNVmFsdWVSZWYgUkhT
Q29uc3RhbnQpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBDb25zdEZBZGQsIChMTFZNVmFs
dWVSZWYgTEhTQ29uc3RhbnQsIExMVk1WYWx1ZVJlZiBSSFNDb25zdGFudCkpIFwKKyAgICBtYWNy
byhMTFZNVmFsdWVSZWYsIENvbnN0U3ViLCAoTExWTVZhbHVlUmVmIExIU0NvbnN0YW50LCBMTFZN
VmFsdWVSZWYgUkhTQ29uc3RhbnQpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBDb25zdE5T
V1N1YiwgKExMVk1WYWx1ZVJlZiBMSFNDb25zdGFudCwgTExWTVZhbHVlUmVmIFJIU0NvbnN0YW50
KSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgQ29uc3ROVVdTdWIsIChMTFZNVmFsdWVSZWYg
TEhTQ29uc3RhbnQsIExMVk1WYWx1ZVJlZiBSSFNDb25zdGFudCkpIFwKKyAgICBtYWNybyhMTFZN
VmFsdWVSZWYsIENvbnN0RlN1YiwgKExMVk1WYWx1ZVJlZiBMSFNDb25zdGFudCwgTExWTVZhbHVl
UmVmIFJIU0NvbnN0YW50KSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgQ29uc3RNdWwsIChM
TFZNVmFsdWVSZWYgTEhTQ29uc3RhbnQsIExMVk1WYWx1ZVJlZiBSSFNDb25zdGFudCkpIFwKKyAg
ICBtYWNybyhMTFZNVmFsdWVSZWYsIENvbnN0TlNXTXVsLCAoTExWTVZhbHVlUmVmIExIU0NvbnN0
YW50LCBMTFZNVmFsdWVSZWYgUkhTQ29uc3RhbnQpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVm
LCBDb25zdE5VV011bCwgKExMVk1WYWx1ZVJlZiBMSFNDb25zdGFudCwgTExWTVZhbHVlUmVmIFJI
U0NvbnN0YW50KSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgQ29uc3RGTXVsLCAoTExWTVZh
bHVlUmVmIExIU0NvbnN0YW50LCBMTFZNVmFsdWVSZWYgUkhTQ29uc3RhbnQpKSBcCisgICAgbWFj
cm8oTExWTVZhbHVlUmVmLCBDb25zdFVEaXYsIChMTFZNVmFsdWVSZWYgTEhTQ29uc3RhbnQsIExM
Vk1WYWx1ZVJlZiBSSFNDb25zdGFudCkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIENvbnN0
U0RpdiwgKExMVk1WYWx1ZVJlZiBMSFNDb25zdGFudCwgTExWTVZhbHVlUmVmIFJIU0NvbnN0YW50
KSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgQ29uc3RFeGFjdFNEaXYsIChMTFZNVmFsdWVS
ZWYgTEhTQ29uc3RhbnQsIExMVk1WYWx1ZVJlZiBSSFNDb25zdGFudCkpIFwKKyAgICBtYWNybyhM
TFZNVmFsdWVSZWYsIENvbnN0RkRpdiwgKExMVk1WYWx1ZVJlZiBMSFNDb25zdGFudCwgTExWTVZh
bHVlUmVmIFJIU0NvbnN0YW50KSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgQ29uc3RVUmVt
LCAoTExWTVZhbHVlUmVmIExIU0NvbnN0YW50LCBMTFZNVmFsdWVSZWYgUkhTQ29uc3RhbnQpKSBc
CisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBDb25zdFNSZW0sIChMTFZNVmFsdWVSZWYgTEhTQ29u
c3RhbnQsIExMVk1WYWx1ZVJlZiBSSFNDb25zdGFudCkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVS
ZWYsIENvbnN0RlJlbSwgKExMVk1WYWx1ZVJlZiBMSFNDb25zdGFudCwgTExWTVZhbHVlUmVmIFJI
U0NvbnN0YW50KSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgQ29uc3RBbmQsIChMTFZNVmFs
dWVSZWYgTEhTQ29uc3RhbnQsIExMVk1WYWx1ZVJlZiBSSFNDb25zdGFudCkpIFwKKyAgICBtYWNy
byhMTFZNVmFsdWVSZWYsIENvbnN0T3IsIChMTFZNVmFsdWVSZWYgTEhTQ29uc3RhbnQsIExMVk1W
YWx1ZVJlZiBSSFNDb25zdGFudCkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIENvbnN0WG9y
LCAoTExWTVZhbHVlUmVmIExIU0NvbnN0YW50LCBMTFZNVmFsdWVSZWYgUkhTQ29uc3RhbnQpKSBc
CisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBDb25zdElDbXAsIChMTFZNSW50UHJlZGljYXRlIFBy
ZWRpY2F0ZSwgTExWTVZhbHVlUmVmIExIU0NvbnN0YW50LCBMTFZNVmFsdWVSZWYgUkhTQ29uc3Rh
bnQpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBDb25zdEZDbXAsIChMTFZNUmVhbFByZWRp
Y2F0ZSBQcmVkaWNhdGUsIExMVk1WYWx1ZVJlZiBMSFNDb25zdGFudCwgTExWTVZhbHVlUmVmIFJI
U0NvbnN0YW50KSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgQ29uc3RTaGwsIChMTFZNVmFs
dWVSZWYgTEhTQ29uc3RhbnQsIExMVk1WYWx1ZVJlZiBSSFNDb25zdGFudCkpIFwKKyAgICBtYWNy
byhMTFZNVmFsdWVSZWYsIENvbnN0TFNociwgKExMVk1WYWx1ZVJlZiBMSFNDb25zdGFudCwgTExW
TVZhbHVlUmVmIFJIU0NvbnN0YW50KSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgQ29uc3RB
U2hyLCAoTExWTVZhbHVlUmVmIExIU0NvbnN0YW50LCBMTFZNVmFsdWVSZWYgUkhTQ29uc3RhbnQp
KSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBDb25zdEdFUCwgKExMVk1WYWx1ZVJlZiBDb25z
dGFudFZhbCwgTExWTVZhbHVlUmVmICpDb25zdGFudEluZGljZXMsIHVuc2lnbmVkIE51bUluZGlj
ZXMpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBDb25zdEluQm91bmRzR0VQLCAoTExWTVZh
bHVlUmVmIENvbnN0YW50VmFsLCBMTFZNVmFsdWVSZWYgKkNvbnN0YW50SW5kaWNlcywgdW5zaWdu
ZWQgTnVtSW5kaWNlcykpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIENvbnN0VHJ1bmMsIChM
TFZNVmFsdWVSZWYgQ29uc3RhbnRWYWwsIExMVk1UeXBlUmVmIFRvVHlwZSkpIFwKKyAgICBtYWNy
byhMTFZNVmFsdWVSZWYsIENvbnN0U0V4dCwgKExMVk1WYWx1ZVJlZiBDb25zdGFudFZhbCwgTExW
TVR5cGVSZWYgVG9UeXBlKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgQ29uc3RaRXh0LCAo
TExWTVZhbHVlUmVmIENvbnN0YW50VmFsLCBMTFZNVHlwZVJlZiBUb1R5cGUpKSBcCisgICAgbWFj
cm8oTExWTVZhbHVlUmVmLCBDb25zdEZQVHJ1bmMsIChMTFZNVmFsdWVSZWYgQ29uc3RhbnRWYWws
IExMVk1UeXBlUmVmIFRvVHlwZSkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIENvbnN0RlBF
eHQsIChMTFZNVmFsdWVSZWYgQ29uc3RhbnRWYWwsIExMVk1UeXBlUmVmIFRvVHlwZSkpIFwKKyAg
ICBtYWNybyhMTFZNVmFsdWVSZWYsIENvbnN0VUlUb0ZQLCAoTExWTVZhbHVlUmVmIENvbnN0YW50
VmFsLCBMTFZNVHlwZVJlZiBUb1R5cGUpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBDb25z
dFNJVG9GUCwgKExMVk1WYWx1ZVJlZiBDb25zdGFudFZhbCwgTExWTVR5cGVSZWYgVG9UeXBlKSkg
XAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgQ29uc3RGUFRvVUksIChMTFZNVmFsdWVSZWYgQ29u
c3RhbnRWYWwsIExMVk1UeXBlUmVmIFRvVHlwZSkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYs
IENvbnN0RlBUb1NJLCAoTExWTVZhbHVlUmVmIENvbnN0YW50VmFsLCBMTFZNVHlwZVJlZiBUb1R5
cGUpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBDb25zdFB0clRvSW50LCAoTExWTVZhbHVl
UmVmIENvbnN0YW50VmFsLCBMTFZNVHlwZVJlZiBUb1R5cGUpKSBcCisgICAgbWFjcm8oTExWTVZh
bHVlUmVmLCBDb25zdEludFRvUHRyLCAoTExWTVZhbHVlUmVmIENvbnN0YW50VmFsLCBMTFZNVHlw
ZVJlZiBUb1R5cGUpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBDb25zdEJpdENhc3QsIChM
TFZNVmFsdWVSZWYgQ29uc3RhbnRWYWwsIExMVk1UeXBlUmVmIFRvVHlwZSkpIFwKKyAgICBtYWNy
byhMTFZNVmFsdWVSZWYsIENvbnN0WkV4dE9yQml0Q2FzdCwgKExMVk1WYWx1ZVJlZiBDb25zdGFu
dFZhbCwgTExWTVR5cGVSZWYgVG9UeXBlKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgQ29u
c3RTRXh0T3JCaXRDYXN0LCAoTExWTVZhbHVlUmVmIENvbnN0YW50VmFsLCBMTFZNVHlwZVJlZiBU
b1R5cGUpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBDb25zdFRydW5jT3JCaXRDYXN0LCAo
TExWTVZhbHVlUmVmIENvbnN0YW50VmFsLCBMTFZNVHlwZVJlZiBUb1R5cGUpKSBcCisgICAgbWFj
cm8oTExWTVZhbHVlUmVmLCBDb25zdFBvaW50ZXJDYXN0LCAoTExWTVZhbHVlUmVmIENvbnN0YW50
VmFsLCBMTFZNVHlwZVJlZiBUb1R5cGUpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBDb25z
dEludENhc3QsIChMTFZNVmFsdWVSZWYgQ29uc3RhbnRWYWwsIExMVk1UeXBlUmVmIFRvVHlwZSwg
TExWTUJvb2wgaXNTaWduZWQpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBDb25zdEZQQ2Fz
dCwgKExMVk1WYWx1ZVJlZiBDb25zdGFudFZhbCwgTExWTVR5cGVSZWYgVG9UeXBlKSkgXAorICAg
IG1hY3JvKExMVk1WYWx1ZVJlZiwgQ29uc3RTZWxlY3QsIChMTFZNVmFsdWVSZWYgQ29uc3RhbnRD
b25kaXRpb24sIExMVk1WYWx1ZVJlZiBDb25zdGFudElmVHJ1ZSwgTExWTVZhbHVlUmVmIENvbnN0
YW50SWZGYWxzZSkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIENvbnN0RXh0cmFjdEVsZW1l
bnQsIChMTFZNVmFsdWVSZWYgVmVjdG9yQ29uc3RhbnQsIExMVk1WYWx1ZVJlZiBJbmRleENvbnN0
YW50KSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgQ29uc3RJbnNlcnRFbGVtZW50LCAoTExW
TVZhbHVlUmVmIFZlY3RvckNvbnN0YW50LCBMTFZNVmFsdWVSZWYgRWxlbWVudFZhbHVlQ29uc3Rh
bnQsIExMVk1WYWx1ZVJlZiBJbmRleENvbnN0YW50KSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJl
ZiwgQ29uc3RTaHVmZmxlVmVjdG9yLCAoTExWTVZhbHVlUmVmIFZlY3RvckFDb25zdGFudCwgTExW
TVZhbHVlUmVmIFZlY3RvckJDb25zdGFudCwgTExWTVZhbHVlUmVmIE1hc2tDb25zdGFudCkpIFwK
KyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIENvbnN0RXh0cmFjdFZhbHVlLCAoTExWTVZhbHVlUmVm
IEFnZ0NvbnN0YW50LCB1bnNpZ25lZCAqSWR4TGlzdCwgdW5zaWduZWQgTnVtSWR4KSkgXAorICAg
IG1hY3JvKExMVk1WYWx1ZVJlZiwgQ29uc3RJbnNlcnRWYWx1ZSwgKExMVk1WYWx1ZVJlZiBBZ2dD
b25zdGFudCwgTExWTVZhbHVlUmVmIEVsZW1lbnRWYWx1ZUNvbnN0YW50LCB1bnNpZ25lZCAqSWR4
TGlzdCwgdW5zaWduZWQgTnVtSWR4KSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgQ29uc3RJ
bmxpbmVBc20sIChMTFZNVHlwZVJlZiBUeSwgY29uc3QgY2hhciAqQXNtU3RyaW5nLCBjb25zdCBj
aGFyICpDb25zdHJhaW50cywgTExWTUJvb2wgSGFzU2lkZUVmZmVjdHMsIExMVk1Cb29sIElzQWxp
Z25TdGFjaykpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIEJsb2NrQWRkcmVzcywgKExMVk1W
YWx1ZVJlZiBGLCBMTFZNQmFzaWNCbG9ja1JlZiBCQikpIFwKKyAgICBtYWNybyhMTFZNTW9kdWxl
UmVmLCBHZXRHbG9iYWxQYXJlbnQsIChMTFZNVmFsdWVSZWYgR2xvYmFsKSkgXAorICAgIG1hY3Jv
KExMVk1Cb29sLCBJc0RlY2xhcmF0aW9uLCAoTExWTVZhbHVlUmVmIEdsb2JhbCkpIFwKKyAgICBt
YWNybyhMTFZNTGlua2FnZSwgR2V0TGlua2FnZSwgKExMVk1WYWx1ZVJlZiBHbG9iYWwpKSBcCisg
ICAgbWFjcm8odm9pZCwgU2V0TGlua2FnZSwgKExMVk1WYWx1ZVJlZiBHbG9iYWwsIExMVk1MaW5r
YWdlIExpbmthZ2UpKSBcCisgICAgbWFjcm8oY29uc3QgY2hhciAqLCBHZXRTZWN0aW9uLCAoTExW
TVZhbHVlUmVmIEdsb2JhbCkpIFwKKyAgICBtYWNybyh2b2lkLCBTZXRTZWN0aW9uLCAoTExWTVZh
bHVlUmVmIEdsb2JhbCwgY29uc3QgY2hhciAqU2VjdGlvbikpIFwKKyAgICBtYWNybyhMTFZNVmlz
aWJpbGl0eSwgR2V0VmlzaWJpbGl0eSwgKExMVk1WYWx1ZVJlZiBHbG9iYWwpKSBcCisgICAgbWFj
cm8odm9pZCwgU2V0VmlzaWJpbGl0eSwgKExMVk1WYWx1ZVJlZiBHbG9iYWwsIExMVk1WaXNpYmls
aXR5IFZpeikpIFwKKyAgICBtYWNybyh1bnNpZ25lZCwgR2V0QWxpZ25tZW50LCAoTExWTVZhbHVl
UmVmIEdsb2JhbCkpIFwKKyAgICBtYWNybyh2b2lkLCBTZXRBbGlnbm1lbnQsIChMTFZNVmFsdWVS
ZWYgR2xvYmFsLCB1bnNpZ25lZCBCeXRlcykpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIEFk
ZEdsb2JhbCwgKExMVk1Nb2R1bGVSZWYgTSwgTExWTVR5cGVSZWYgVHksIGNvbnN0IGNoYXIgKk5h
bWUpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBBZGRHbG9iYWxJbkFkZHJlc3NTcGFjZSwg
KExMVk1Nb2R1bGVSZWYgTSwgTExWTVR5cGVSZWYgVHksIGNvbnN0IGNoYXIgKk5hbWUsIHVuc2ln
bmVkIEFkZHJlc3NTcGFjZSkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIEdldE5hbWVkR2xv
YmFsLCAoTExWTU1vZHVsZVJlZiBNLCBjb25zdCBjaGFyICpOYW1lKSkgXAorICAgIG1hY3JvKExM
Vk1WYWx1ZVJlZiwgR2V0Rmlyc3RHbG9iYWwsIChMTFZNTW9kdWxlUmVmIE0pKSBcCisgICAgbWFj
cm8oTExWTVZhbHVlUmVmLCBHZXRMYXN0R2xvYmFsLCAoTExWTU1vZHVsZVJlZiBNKSkgXAorICAg
IG1hY3JvKExMVk1WYWx1ZVJlZiwgR2V0TmV4dEdsb2JhbCwgKExMVk1WYWx1ZVJlZiBHbG9iYWxW
YXIpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBHZXRQcmV2aW91c0dsb2JhbCwgKExMVk1W
YWx1ZVJlZiBHbG9iYWxWYXIpKSBcCisgICAgbWFjcm8odm9pZCwgRGVsZXRlR2xvYmFsLCAoTExW
TVZhbHVlUmVmIEdsb2JhbFZhcikpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIEdldEluaXRp
YWxpemVyLCAoTExWTVZhbHVlUmVmIEdsb2JhbFZhcikpIFwKKyAgICBtYWNybyh2b2lkLCBTZXRJ
bml0aWFsaXplciwgKExMVk1WYWx1ZVJlZiBHbG9iYWxWYXIsIExMVk1WYWx1ZVJlZiBDb25zdGFu
dFZhbCkpIFwKKyAgICBtYWNybyhMTFZNQm9vbCwgSXNUaHJlYWRMb2NhbCwgKExMVk1WYWx1ZVJl
ZiBHbG9iYWxWYXIpKSBcCisgICAgbWFjcm8odm9pZCwgU2V0VGhyZWFkTG9jYWwsIChMTFZNVmFs
dWVSZWYgR2xvYmFsVmFyLCBMTFZNQm9vbCBJc1RocmVhZExvY2FsKSkgXAorICAgIG1hY3JvKExM
Vk1Cb29sLCBJc0dsb2JhbENvbnN0YW50LCAoTExWTVZhbHVlUmVmIEdsb2JhbFZhcikpIFwKKyAg
ICBtYWNybyh2b2lkLCBTZXRHbG9iYWxDb25zdGFudCwgKExMVk1WYWx1ZVJlZiBHbG9iYWxWYXIs
IExMVk1Cb29sIElzQ29uc3RhbnQpKSBcCisgICAgbWFjcm8oTExWTVRocmVhZExvY2FsTW9kZSwg
R2V0VGhyZWFkTG9jYWxNb2RlLCAoTExWTVZhbHVlUmVmIEdsb2JhbFZhcikpIFwKKyAgICBtYWNy
byh2b2lkLCBTZXRUaHJlYWRMb2NhbE1vZGUsIChMTFZNVmFsdWVSZWYgR2xvYmFsVmFyLCBMTFZN
VGhyZWFkTG9jYWxNb2RlIE1vZGUpKSBcCisgICAgbWFjcm8oTExWTUJvb2wsIElzRXh0ZXJuYWxs
eUluaXRpYWxpemVkLCAoTExWTVZhbHVlUmVmIEdsb2JhbFZhcikpIFwKKyAgICBtYWNybyh2b2lk
LCBTZXRFeHRlcm5hbGx5SW5pdGlhbGl6ZWQsIChMTFZNVmFsdWVSZWYgR2xvYmFsVmFyLCBMTFZN
Qm9vbCBJc0V4dEluaXQpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBBZGRBbGlhcywgKExM
Vk1Nb2R1bGVSZWYgTSwgTExWTVR5cGVSZWYgVHksIExMVk1WYWx1ZVJlZiBBbGlhc2VlLCBjb25z
dCBjaGFyICpOYW1lKSkgXAorICAgIG1hY3JvKHZvaWQsIERlbGV0ZUZ1bmN0aW9uLCAoTExWTVZh
bHVlUmVmIEZuKSkgXAorICAgIG1hY3JvKHVuc2lnbmVkLCBHZXRJbnRyaW5zaWNJRCwgKExMVk1W
YWx1ZVJlZiBGbikpIFwKKyAgICBtYWNybyh1bnNpZ25lZCwgR2V0RnVuY3Rpb25DYWxsQ29udiwg
KExMVk1WYWx1ZVJlZiBGbikpIFwKKyAgICBtYWNybyh2b2lkLCBTZXRGdW5jdGlvbkNhbGxDb252
LCAoTExWTVZhbHVlUmVmIEZuLCB1bnNpZ25lZCBDQykpIFwKKyAgICBtYWNybyhjb25zdCBjaGFy
ICosIEdldEdDLCAoTExWTVZhbHVlUmVmIEZuKSkgXAorICAgIG1hY3JvKHZvaWQsIFNldEdDLCAo
TExWTVZhbHVlUmVmIEZuLCBjb25zdCBjaGFyICpOYW1lKSkgXAorICAgIG1hY3JvKHZvaWQsIEFk
ZEZ1bmN0aW9uQXR0ciwgKExMVk1WYWx1ZVJlZiBGbiwgTExWTUF0dHJpYnV0ZSBQQSkpIFwKKyAg
ICBtYWNybyh2b2lkLCBBZGRUYXJnZXREZXBlbmRlbnRGdW5jdGlvbkF0dHIsIChMTFZNVmFsdWVS
ZWYgRm4sIGNvbnN0IGNoYXIgKkEsIGNvbnN0IGNoYXIgKlYpKSBcCisgICAgbWFjcm8oTExWTUF0
dHJpYnV0ZSwgR2V0RnVuY3Rpb25BdHRyLCAoTExWTVZhbHVlUmVmIEZuKSkgXAorICAgIG1hY3Jv
KHZvaWQsIFJlbW92ZUZ1bmN0aW9uQXR0ciwgKExMVk1WYWx1ZVJlZiBGbiwgTExWTUF0dHJpYnV0
ZSBQQSkpIFwKKyAgICBtYWNybyh1bnNpZ25lZCwgQ291bnRQYXJhbXMsIChMTFZNVmFsdWVSZWYg
Rm4pKSBcCisgICAgbWFjcm8odm9pZCwgR2V0UGFyYW1zLCAoTExWTVZhbHVlUmVmIEZuLCBMTFZN
VmFsdWVSZWYgKlBhcmFtcykpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIEdldFBhcmFtLCAo
TExWTVZhbHVlUmVmIEZuLCB1bnNpZ25lZCBJbmRleCkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVS
ZWYsIEdldFBhcmFtUGFyZW50LCAoTExWTVZhbHVlUmVmIEluc3QpKSBcCisgICAgbWFjcm8oTExW
TVZhbHVlUmVmLCBHZXRGaXJzdFBhcmFtLCAoTExWTVZhbHVlUmVmIEZuKSkgXAorICAgIG1hY3Jv
KExMVk1WYWx1ZVJlZiwgR2V0TGFzdFBhcmFtLCAoTExWTVZhbHVlUmVmIEZuKSkgXAorICAgIG1h
Y3JvKExMVk1WYWx1ZVJlZiwgR2V0TmV4dFBhcmFtLCAoTExWTVZhbHVlUmVmIEFyZykpIFwKKyAg
ICBtYWNybyhMTFZNVmFsdWVSZWYsIEdldFByZXZpb3VzUGFyYW0sIChMTFZNVmFsdWVSZWYgQXJn
KSkgXAorICAgIG1hY3JvKHZvaWQsIEFkZEF0dHJpYnV0ZSwgKExMVk1WYWx1ZVJlZiBBcmcsIExM
Vk1BdHRyaWJ1dGUgUEEpKSBcCisgICAgbWFjcm8odm9pZCwgUmVtb3ZlQXR0cmlidXRlLCAoTExW
TVZhbHVlUmVmIEFyZywgTExWTUF0dHJpYnV0ZSBQQSkpIFwKKyAgICBtYWNybyhMTFZNQXR0cmli
dXRlLCBHZXRBdHRyaWJ1dGUsIChMTFZNVmFsdWVSZWYgQXJnKSkgXAorICAgIG1hY3JvKHZvaWQs
IFNldFBhcmFtQWxpZ25tZW50LCAoTExWTVZhbHVlUmVmIEFyZywgdW5zaWduZWQgYWxpZ24pKSBc
CisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBNRFN0cmluZ0luQ29udGV4dCwgKExMVk1Db250ZXh0
UmVmIEMsIGNvbnN0IGNoYXIgKlN0ciwgdW5zaWduZWQgU0xlbikpIFwKKyAgICBtYWNybyhMTFZN
VmFsdWVSZWYsIE1EU3RyaW5nLCAoY29uc3QgY2hhciAqU3RyLCB1bnNpZ25lZCBTTGVuKSkgXAor
ICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgTUROb2RlSW5Db250ZXh0LCAoTExWTUNvbnRleHRSZWYg
QywgTExWTVZhbHVlUmVmICpWYWxzLCB1bnNpZ25lZCBDb3VudCkpIFwKKyAgICBtYWNybyhMTFZN
VmFsdWVSZWYsIE1ETm9kZSwgKExMVk1WYWx1ZVJlZiAqVmFscywgdW5zaWduZWQgQ291bnQpKSBc
CisgICAgbWFjcm8oY29uc3QgY2hhciAqLCBHZXRNRFN0cmluZywgKExMVk1WYWx1ZVJlZiBWLCB1
bnNpZ25lZCogTGVuKSkgXAorICAgIG1hY3JvKHVuc2lnbmVkLCBHZXRNRE5vZGVOdW1PcGVyYW5k
cywgKExMVk1WYWx1ZVJlZiBWKSkgXAorICAgIG1hY3JvKHZvaWQsIEdldE1ETm9kZU9wZXJhbmRz
LCAoTExWTVZhbHVlUmVmIFYsIExMVk1WYWx1ZVJlZiAqRGVzdCkpIFwKKyAgICBtYWNybyhMTFZN
VmFsdWVSZWYsIEJhc2ljQmxvY2tBc1ZhbHVlLCAoTExWTUJhc2ljQmxvY2tSZWYgQkIpKSBcCisg
ICAgbWFjcm8oTExWTUJvb2wsIFZhbHVlSXNCYXNpY0Jsb2NrLCAoTExWTVZhbHVlUmVmIFZhbCkp
IFwKKyAgICBtYWNybyhMTFZNQmFzaWNCbG9ja1JlZiwgVmFsdWVBc0Jhc2ljQmxvY2ssIChMTFZN
VmFsdWVSZWYgVmFsKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgR2V0QmFzaWNCbG9ja1Bh
cmVudCwgKExMVk1CYXNpY0Jsb2NrUmVmIEJCKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwg
R2V0QmFzaWNCbG9ja1Rlcm1pbmF0b3IsIChMTFZNQmFzaWNCbG9ja1JlZiBCQikpIFwKKyAgICBt
YWNybyh1bnNpZ25lZCwgQ291bnRCYXNpY0Jsb2NrcywgKExMVk1WYWx1ZVJlZiBGbikpIFwKKyAg
ICBtYWNybyh2b2lkLCBHZXRCYXNpY0Jsb2NrcywgKExMVk1WYWx1ZVJlZiBGbiwgTExWTUJhc2lj
QmxvY2tSZWYgKkJhc2ljQmxvY2tzKSkgXAorICAgIG1hY3JvKExMVk1CYXNpY0Jsb2NrUmVmLCBH
ZXRGaXJzdEJhc2ljQmxvY2ssIChMTFZNVmFsdWVSZWYgRm4pKSBcCisgICAgbWFjcm8oTExWTUJh
c2ljQmxvY2tSZWYsIEdldExhc3RCYXNpY0Jsb2NrLCAoTExWTVZhbHVlUmVmIEZuKSkgXAorICAg
IG1hY3JvKExMVk1CYXNpY0Jsb2NrUmVmLCBHZXROZXh0QmFzaWNCbG9jaywgKExMVk1CYXNpY0Js
b2NrUmVmIEJCKSkgXAorICAgIG1hY3JvKExMVk1CYXNpY0Jsb2NrUmVmLCBHZXRQcmV2aW91c0Jh
c2ljQmxvY2ssIChMTFZNQmFzaWNCbG9ja1JlZiBCQikpIFwKKyAgICBtYWNybyhMTFZNQmFzaWNC
bG9ja1JlZiwgR2V0RW50cnlCYXNpY0Jsb2NrLCAoTExWTVZhbHVlUmVmIEZuKSkgXAorICAgIG1h
Y3JvKExMVk1CYXNpY0Jsb2NrUmVmLCBBcHBlbmRCYXNpY0Jsb2NrSW5Db250ZXh0LCAoTExWTUNv
bnRleHRSZWYgQywgTExWTVZhbHVlUmVmIEZuLCBjb25zdCBjaGFyICpOYW1lKSkgXAorICAgIG1h
Y3JvKExMVk1CYXNpY0Jsb2NrUmVmLCBBcHBlbmRCYXNpY0Jsb2NrLCAoTExWTVZhbHVlUmVmIEZu
LCBjb25zdCBjaGFyICpOYW1lKSkgXAorICAgIG1hY3JvKExMVk1CYXNpY0Jsb2NrUmVmLCBJbnNl
cnRCYXNpY0Jsb2NrSW5Db250ZXh0LCAoTExWTUNvbnRleHRSZWYgQywgTExWTUJhc2ljQmxvY2tS
ZWYgQkIsIGNvbnN0IGNoYXIgKk5hbWUpKSBcCisgICAgbWFjcm8oTExWTUJhc2ljQmxvY2tSZWYs
IEluc2VydEJhc2ljQmxvY2ssIChMTFZNQmFzaWNCbG9ja1JlZiBJbnNlcnRCZWZvcmVCQiwgY29u
c3QgY2hhciAqTmFtZSkpIFwKKyAgICBtYWNybyh2b2lkLCBEZWxldGVCYXNpY0Jsb2NrLCAoTExW
TUJhc2ljQmxvY2tSZWYgQkIpKSBcCisgICAgbWFjcm8odm9pZCwgUmVtb3ZlQmFzaWNCbG9ja0Zy
b21QYXJlbnQsIChMTFZNQmFzaWNCbG9ja1JlZiBCQikpIFwKKyAgICBtYWNybyh2b2lkLCBNb3Zl
QmFzaWNCbG9ja0JlZm9yZSwgKExMVk1CYXNpY0Jsb2NrUmVmIEJCLCBMTFZNQmFzaWNCbG9ja1Jl
ZiBNb3ZlUG9zKSkgXAorICAgIG1hY3JvKHZvaWQsIE1vdmVCYXNpY0Jsb2NrQWZ0ZXIsIChMTFZN
QmFzaWNCbG9ja1JlZiBCQiwgTExWTUJhc2ljQmxvY2tSZWYgTW92ZVBvcykpIFwKKyAgICBtYWNy
byhMTFZNVmFsdWVSZWYsIEdldEZpcnN0SW5zdHJ1Y3Rpb24sIChMTFZNQmFzaWNCbG9ja1JlZiBC
QikpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIEdldExhc3RJbnN0cnVjdGlvbiwgKExMVk1C
YXNpY0Jsb2NrUmVmIEJCKSkgXAorICAgIG1hY3JvKGludCwgSGFzTWV0YWRhdGEsIChMTFZNVmFs
dWVSZWYgVmFsKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgR2V0TWV0YWRhdGEsIChMTFZN
VmFsdWVSZWYgVmFsLCB1bnNpZ25lZCBLaW5kSUQpKSBcCisgICAgbWFjcm8odm9pZCwgU2V0TWV0
YWRhdGEsIChMTFZNVmFsdWVSZWYgVmFsLCB1bnNpZ25lZCBLaW5kSUQsIExMVk1WYWx1ZVJlZiBO
b2RlKSkgXAorICAgIG1hY3JvKExMVk1CYXNpY0Jsb2NrUmVmLCBHZXRJbnN0cnVjdGlvblBhcmVu
dCwgKExMVk1WYWx1ZVJlZiBJbnN0KSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgR2V0TmV4
dEluc3RydWN0aW9uLCAoTExWTVZhbHVlUmVmIEluc3QpKSBcCisgICAgbWFjcm8oTExWTVZhbHVl
UmVmLCBHZXRQcmV2aW91c0luc3RydWN0aW9uLCAoTExWTVZhbHVlUmVmIEluc3QpKSBcCisgICAg
bWFjcm8odm9pZCwgSW5zdHJ1Y3Rpb25FcmFzZUZyb21QYXJlbnQsIChMTFZNVmFsdWVSZWYgSW5z
dCkpIFwKKyAgICBtYWNybyhMTFZNT3Bjb2RlLCBHZXRJbnN0cnVjdGlvbk9wY29kZSwgKExMVk1W
YWx1ZVJlZiBJbnN0KSkgXAorICAgIG1hY3JvKExMVk1JbnRQcmVkaWNhdGUsIEdldElDbXBQcmVk
aWNhdGUsIChMTFZNVmFsdWVSZWYgSW5zdCkpIFwKKyAgICBtYWNybyh2b2lkLCBTZXRJbnN0cnVj
dGlvbkNhbGxDb252LCAoTExWTVZhbHVlUmVmIEluc3RyLCB1bnNpZ25lZCBDQykpIFwKKyAgICBt
YWNybyh1bnNpZ25lZCwgR2V0SW5zdHJ1Y3Rpb25DYWxsQ29udiwgKExMVk1WYWx1ZVJlZiBJbnN0
cikpIFwKKyAgICBtYWNybyh2b2lkLCBBZGRJbnN0ckF0dHJpYnV0ZSwgKExMVk1WYWx1ZVJlZiBJ
bnN0ciwgdW5zaWduZWQgaW5kZXgsIExMVk1BdHRyaWJ1dGUpKSBcCisgICAgbWFjcm8odm9pZCwg
UmVtb3ZlSW5zdHJBdHRyaWJ1dGUsIChMTFZNVmFsdWVSZWYgSW5zdHIsIHVuc2lnbmVkIGluZGV4
LCBMTFZNQXR0cmlidXRlKSkgXAorICAgIG1hY3JvKHZvaWQsIFNldEluc3RyUGFyYW1BbGlnbm1l
bnQsIChMTFZNVmFsdWVSZWYgSW5zdHIsIHVuc2lnbmVkIGluZGV4LCB1bnNpZ25lZCBhbGlnbikp
IFwKKyAgICBtYWNybyhMTFZNQm9vbCwgSXNUYWlsQ2FsbCwgKExMVk1WYWx1ZVJlZiBDYWxsSW5z
dCkpIFwKKyAgICBtYWNybyh2b2lkLCBTZXRUYWlsQ2FsbCwgKExMVk1WYWx1ZVJlZiBDYWxsSW5z
dCwgTExWTUJvb2wgSXNUYWlsQ2FsbCkpIFwKKyAgICBtYWNybyhMTFZNQmFzaWNCbG9ja1JlZiwg
R2V0U3dpdGNoRGVmYXVsdERlc3QsIChMTFZNVmFsdWVSZWYgU3dpdGNoSW5zdHIpKSBcCisgICAg
bWFjcm8odm9pZCwgQWRkSW5jb21pbmcsIChMTFZNVmFsdWVSZWYgUGhpTm9kZSwgTExWTVZhbHVl
UmVmICpJbmNvbWluZ1ZhbHVlcywgTExWTUJhc2ljQmxvY2tSZWYgKkluY29taW5nQmxvY2tzLCB1
bnNpZ25lZCBDb3VudCkpIFwKKyAgICBtYWNybyh1bnNpZ25lZCwgQ291bnRJbmNvbWluZywgKExM
Vk1WYWx1ZVJlZiBQaGlOb2RlKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgR2V0SW5jb21p
bmdWYWx1ZSwgKExMVk1WYWx1ZVJlZiBQaGlOb2RlLCB1bnNpZ25lZCBJbmRleCkpIFwKKyAgICBt
YWNybyhMTFZNQmFzaWNCbG9ja1JlZiwgR2V0SW5jb21pbmdCbG9jaywgKExMVk1WYWx1ZVJlZiBQ
aGlOb2RlLCB1bnNpZ25lZCBJbmRleCkpIFwKKyAgICBtYWNybyhMTFZNQnVpbGRlclJlZiwgQ3Jl
YXRlQnVpbGRlckluQ29udGV4dCwgKExMVk1Db250ZXh0UmVmIEMpKSBcCisgICAgbWFjcm8oTExW
TUJ1aWxkZXJSZWYsIENyZWF0ZUJ1aWxkZXIsICh2b2lkKSkgXAorICAgIG1hY3JvKHZvaWQsIFBv
c2l0aW9uQnVpbGRlciwgKExMVk1CdWlsZGVyUmVmIEJ1aWxkZXIsIExMVk1CYXNpY0Jsb2NrUmVm
IEJsb2NrLCBMTFZNVmFsdWVSZWYgSW5zdHIpKSBcCisgICAgbWFjcm8odm9pZCwgUG9zaXRpb25C
dWlsZGVyQmVmb3JlLCAoTExWTUJ1aWxkZXJSZWYgQnVpbGRlciwgTExWTVZhbHVlUmVmIEluc3Ry
KSkgXAorICAgIG1hY3JvKHZvaWQsIFBvc2l0aW9uQnVpbGRlckF0RW5kLCAoTExWTUJ1aWxkZXJS
ZWYgQnVpbGRlciwgTExWTUJhc2ljQmxvY2tSZWYgQmxvY2spKSBcCisgICAgbWFjcm8oTExWTUJh
c2ljQmxvY2tSZWYsIEdldEluc2VydEJsb2NrLCAoTExWTUJ1aWxkZXJSZWYgQnVpbGRlcikpIFwK
KyAgICBtYWNybyh2b2lkLCBDbGVhckluc2VydGlvblBvc2l0aW9uLCAoTExWTUJ1aWxkZXJSZWYg
QnVpbGRlcikpIFwKKyAgICBtYWNybyh2b2lkLCBJbnNlcnRJbnRvQnVpbGRlciwgKExMVk1CdWls
ZGVyUmVmIEJ1aWxkZXIsIExMVk1WYWx1ZVJlZiBJbnN0cikpIFwKKyAgICBtYWNybyh2b2lkLCBJ
bnNlcnRJbnRvQnVpbGRlcldpdGhOYW1lLCAoTExWTUJ1aWxkZXJSZWYgQnVpbGRlciwgTExWTVZh
bHVlUmVmIEluc3RyLCBjb25zdCBjaGFyICpOYW1lKSkgXAorICAgIG1hY3JvKHZvaWQsIERpc3Bv
c2VCdWlsZGVyLCAoTExWTUJ1aWxkZXJSZWYgQnVpbGRlcikpIFwKKyAgICBtYWNybyh2b2lkLCBT
ZXRDdXJyZW50RGVidWdMb2NhdGlvbiwgKExMVk1CdWlsZGVyUmVmIEJ1aWxkZXIsIExMVk1WYWx1
ZVJlZiBMKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgR2V0Q3VycmVudERlYnVnTG9jYXRp
b24sIChMTFZNQnVpbGRlclJlZiBCdWlsZGVyKSkgXAorICAgIG1hY3JvKHZvaWQsIFNldEluc3RE
ZWJ1Z0xvY2F0aW9uLCAoTExWTUJ1aWxkZXJSZWYgQnVpbGRlciwgTExWTVZhbHVlUmVmIEluc3Qp
KSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBCdWlsZFJldFZvaWQsIChMTFZNQnVpbGRlclJl
ZikpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIEJ1aWxkUmV0LCAoTExWTUJ1aWxkZXJSZWYs
IExMVk1WYWx1ZVJlZiBWKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgQnVpbGRBZ2dyZWdh
dGVSZXQsIChMTFZNQnVpbGRlclJlZiwgTExWTVZhbHVlUmVmICpSZXRWYWxzLCB1bnNpZ25lZCBO
KSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgQnVpbGRCciwgKExMVk1CdWlsZGVyUmVmLCBM
TFZNQmFzaWNCbG9ja1JlZiBEZXN0KSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgQnVpbGRD
b25kQnIsIChMTFZNQnVpbGRlclJlZiwgTExWTVZhbHVlUmVmIElmLCBMTFZNQmFzaWNCbG9ja1Jl
ZiBUaGVuLCBMTFZNQmFzaWNCbG9ja1JlZiBFbHNlKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJl
ZiwgQnVpbGRTd2l0Y2gsIChMTFZNQnVpbGRlclJlZiwgTExWTVZhbHVlUmVmIFYsIExMVk1CYXNp
Y0Jsb2NrUmVmIEVsc2UsIHVuc2lnbmVkIE51bUNhc2VzKSkgXAorICAgIG1hY3JvKExMVk1WYWx1
ZVJlZiwgQnVpbGRJbmRpcmVjdEJyLCAoTExWTUJ1aWxkZXJSZWYgQiwgTExWTVZhbHVlUmVmIEFk
ZHIsIHVuc2lnbmVkIE51bURlc3RzKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgQnVpbGRJ
bnZva2UsIChMTFZNQnVpbGRlclJlZiwgTExWTVZhbHVlUmVmIEZuLCBMTFZNVmFsdWVSZWYgKkFy
Z3MsIHVuc2lnbmVkIE51bUFyZ3MsIExMVk1CYXNpY0Jsb2NrUmVmIFRoZW4sIExMVk1CYXNpY0Js
b2NrUmVmIENhdGNoLCBjb25zdCBjaGFyICpOYW1lKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJl
ZiwgQnVpbGRMYW5kaW5nUGFkLCAoTExWTUJ1aWxkZXJSZWYgQiwgTExWTVR5cGVSZWYgVHksIExM
Vk1WYWx1ZVJlZiBQZXJzRm4sIHVuc2lnbmVkIE51bUNsYXVzZXMsIGNvbnN0IGNoYXIgKk5hbWUp
KSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBCdWlsZFJlc3VtZSwgKExMVk1CdWlsZGVyUmVm
IEIsIExMVk1WYWx1ZVJlZiBFeG4pKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBCdWlsZFVu
cmVhY2hhYmxlLCAoTExWTUJ1aWxkZXJSZWYpKSBcCisgICAgbWFjcm8odm9pZCwgQWRkQ2FzZSwg
KExMVk1WYWx1ZVJlZiBTd2l0Y2gsIExMVk1WYWx1ZVJlZiBPblZhbCwgTExWTUJhc2ljQmxvY2tS
ZWYgRGVzdCkpIFwKKyAgICBtYWNybyh2b2lkLCBBZGREZXN0aW5hdGlvbiwgKExMVk1WYWx1ZVJl
ZiBJbmRpcmVjdEJyLCBMTFZNQmFzaWNCbG9ja1JlZiBEZXN0KSkgXAorICAgIG1hY3JvKHZvaWQs
IEFkZENsYXVzZSwgKExMVk1WYWx1ZVJlZiBMYW5kaW5nUGFkLCBMTFZNVmFsdWVSZWYgQ2xhdXNl
VmFsKSkgXAorICAgIG1hY3JvKHZvaWQsIFNldENsZWFudXAsIChMTFZNVmFsdWVSZWYgTGFuZGlu
Z1BhZCwgTExWTUJvb2wgVmFsKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgQnVpbGRBZGQs
IChMTFZNQnVpbGRlclJlZiwgTExWTVZhbHVlUmVmIExIUywgTExWTVZhbHVlUmVmIFJIUywgY29u
c3QgY2hhciAqTmFtZSkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIEJ1aWxkTlNXQWRkLCAo
TExWTUJ1aWxkZXJSZWYsIExMVk1WYWx1ZVJlZiBMSFMsIExMVk1WYWx1ZVJlZiBSSFMsIGNvbnN0
IGNoYXIgKk5hbWUpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBCdWlsZE5VV0FkZCwgKExM
Vk1CdWlsZGVyUmVmLCBMTFZNVmFsdWVSZWYgTEhTLCBMTFZNVmFsdWVSZWYgUkhTLCBjb25zdCBj
aGFyICpOYW1lKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgQnVpbGRGQWRkLCAoTExWTUJ1
aWxkZXJSZWYsIExMVk1WYWx1ZVJlZiBMSFMsIExMVk1WYWx1ZVJlZiBSSFMsIGNvbnN0IGNoYXIg
Kk5hbWUpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBCdWlsZFN1YiwgKExMVk1CdWlsZGVy
UmVmLCBMTFZNVmFsdWVSZWYgTEhTLCBMTFZNVmFsdWVSZWYgUkhTLCBjb25zdCBjaGFyICpOYW1l
KSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgQnVpbGROU1dTdWIsIChMTFZNQnVpbGRlclJl
ZiwgTExWTVZhbHVlUmVmIExIUywgTExWTVZhbHVlUmVmIFJIUywgY29uc3QgY2hhciAqTmFtZSkp
IFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIEJ1aWxkTlVXU3ViLCAoTExWTUJ1aWxkZXJSZWYs
IExMVk1WYWx1ZVJlZiBMSFMsIExMVk1WYWx1ZVJlZiBSSFMsIGNvbnN0IGNoYXIgKk5hbWUpKSBc
CisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBCdWlsZEZTdWIsIChMTFZNQnVpbGRlclJlZiwgTExW
TVZhbHVlUmVmIExIUywgTExWTVZhbHVlUmVmIFJIUywgY29uc3QgY2hhciAqTmFtZSkpIFwKKyAg
ICBtYWNybyhMTFZNVmFsdWVSZWYsIEJ1aWxkTXVsLCAoTExWTUJ1aWxkZXJSZWYsIExMVk1WYWx1
ZVJlZiBMSFMsIExMVk1WYWx1ZVJlZiBSSFMsIGNvbnN0IGNoYXIgKk5hbWUpKSBcCisgICAgbWFj
cm8oTExWTVZhbHVlUmVmLCBCdWlsZE5TV011bCwgKExMVk1CdWlsZGVyUmVmLCBMTFZNVmFsdWVS
ZWYgTEhTLCBMTFZNVmFsdWVSZWYgUkhTLCBjb25zdCBjaGFyICpOYW1lKSkgXAorICAgIG1hY3Jv
KExMVk1WYWx1ZVJlZiwgQnVpbGROVVdNdWwsIChMTFZNQnVpbGRlclJlZiwgTExWTVZhbHVlUmVm
IExIUywgTExWTVZhbHVlUmVmIFJIUywgY29uc3QgY2hhciAqTmFtZSkpIFwKKyAgICBtYWNybyhM
TFZNVmFsdWVSZWYsIEJ1aWxkRk11bCwgKExMVk1CdWlsZGVyUmVmLCBMTFZNVmFsdWVSZWYgTEhT
LCBMTFZNVmFsdWVSZWYgUkhTLCBjb25zdCBjaGFyICpOYW1lKSkgXAorICAgIG1hY3JvKExMVk1W
YWx1ZVJlZiwgQnVpbGRVRGl2LCAoTExWTUJ1aWxkZXJSZWYsIExMVk1WYWx1ZVJlZiBMSFMsIExM
Vk1WYWx1ZVJlZiBSSFMsIGNvbnN0IGNoYXIgKk5hbWUpKSBcCisgICAgbWFjcm8oTExWTVZhbHVl
UmVmLCBCdWlsZFNEaXYsIChMTFZNQnVpbGRlclJlZiwgTExWTVZhbHVlUmVmIExIUywgTExWTVZh
bHVlUmVmIFJIUywgY29uc3QgY2hhciAqTmFtZSkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYs
IEJ1aWxkRXhhY3RTRGl2LCAoTExWTUJ1aWxkZXJSZWYsIExMVk1WYWx1ZVJlZiBMSFMsIExMVk1W
YWx1ZVJlZiBSSFMsIGNvbnN0IGNoYXIgKk5hbWUpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVm
LCBCdWlsZEZEaXYsIChMTFZNQnVpbGRlclJlZiwgTExWTVZhbHVlUmVmIExIUywgTExWTVZhbHVl
UmVmIFJIUywgY29uc3QgY2hhciAqTmFtZSkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIEJ1
aWxkVVJlbSwgKExMVk1CdWlsZGVyUmVmLCBMTFZNVmFsdWVSZWYgTEhTLCBMTFZNVmFsdWVSZWYg
UkhTLCBjb25zdCBjaGFyICpOYW1lKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgQnVpbGRT
UmVtLCAoTExWTUJ1aWxkZXJSZWYsIExMVk1WYWx1ZVJlZiBMSFMsIExMVk1WYWx1ZVJlZiBSSFMs
IGNvbnN0IGNoYXIgKk5hbWUpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBCdWlsZEZSZW0s
IChMTFZNQnVpbGRlclJlZiwgTExWTVZhbHVlUmVmIExIUywgTExWTVZhbHVlUmVmIFJIUywgY29u
c3QgY2hhciAqTmFtZSkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIEJ1aWxkU2hsLCAoTExW
TUJ1aWxkZXJSZWYsIExMVk1WYWx1ZVJlZiBMSFMsIExMVk1WYWx1ZVJlZiBSSFMsIGNvbnN0IGNo
YXIgKk5hbWUpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBCdWlsZExTaHIsIChMTFZNQnVp
bGRlclJlZiwgTExWTVZhbHVlUmVmIExIUywgTExWTVZhbHVlUmVmIFJIUywgY29uc3QgY2hhciAq
TmFtZSkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIEJ1aWxkQVNociwgKExMVk1CdWlsZGVy
UmVmLCBMTFZNVmFsdWVSZWYgTEhTLCBMTFZNVmFsdWVSZWYgUkhTLCBjb25zdCBjaGFyICpOYW1l
KSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgQnVpbGRBbmQsIChMTFZNQnVpbGRlclJlZiwg
TExWTVZhbHVlUmVmIExIUywgTExWTVZhbHVlUmVmIFJIUywgY29uc3QgY2hhciAqTmFtZSkpIFwK
KyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIEJ1aWxkT3IsIChMTFZNQnVpbGRlclJlZiwgTExWTVZh
bHVlUmVmIExIUywgTExWTVZhbHVlUmVmIFJIUywgY29uc3QgY2hhciAqTmFtZSkpIFwKKyAgICBt
YWNybyhMTFZNVmFsdWVSZWYsIEJ1aWxkWG9yLCAoTExWTUJ1aWxkZXJSZWYsIExMVk1WYWx1ZVJl
ZiBMSFMsIExMVk1WYWx1ZVJlZiBSSFMsIGNvbnN0IGNoYXIgKk5hbWUpKSBcCisgICAgbWFjcm8o
TExWTVZhbHVlUmVmLCBCdWlsZEJpbk9wLCAoTExWTUJ1aWxkZXJSZWYgQiwgTExWTU9wY29kZSBP
cCwgTExWTVZhbHVlUmVmIExIUywgTExWTVZhbHVlUmVmIFJIUywgY29uc3QgY2hhciAqTmFtZSkp
IFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIEJ1aWxkTmVnLCAoTExWTUJ1aWxkZXJSZWYsIExM
Vk1WYWx1ZVJlZiBWLCBjb25zdCBjaGFyICpOYW1lKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJl
ZiwgQnVpbGROU1dOZWcsIChMTFZNQnVpbGRlclJlZiBCLCBMTFZNVmFsdWVSZWYgViwgY29uc3Qg
Y2hhciAqTmFtZSkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIEJ1aWxkTlVXTmVnLCAoTExW
TUJ1aWxkZXJSZWYgQiwgTExWTVZhbHVlUmVmIFYsIGNvbnN0IGNoYXIgKk5hbWUpKSBcCisgICAg
bWFjcm8oTExWTVZhbHVlUmVmLCBCdWlsZEZOZWcsIChMTFZNQnVpbGRlclJlZiwgTExWTVZhbHVl
UmVmIFYsIGNvbnN0IGNoYXIgKk5hbWUpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBCdWls
ZE5vdCwgKExMVk1CdWlsZGVyUmVmLCBMTFZNVmFsdWVSZWYgViwgY29uc3QgY2hhciAqTmFtZSkp
IFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIEJ1aWxkTWFsbG9jLCAoTExWTUJ1aWxkZXJSZWYs
IExMVk1UeXBlUmVmIFR5LCBjb25zdCBjaGFyICpOYW1lKSkgXAorICAgIG1hY3JvKExMVk1WYWx1
ZVJlZiwgQnVpbGRBcnJheU1hbGxvYywgKExMVk1CdWlsZGVyUmVmLCBMTFZNVHlwZVJlZiBUeSwg
TExWTVZhbHVlUmVmIFZhbCwgY29uc3QgY2hhciAqTmFtZSkpIFwKKyAgICBtYWNybyhMTFZNVmFs
dWVSZWYsIEJ1aWxkQWxsb2NhLCAoTExWTUJ1aWxkZXJSZWYsIExMVk1UeXBlUmVmIFR5LCBjb25z
dCBjaGFyICpOYW1lKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgQnVpbGRBcnJheUFsbG9j
YSwgKExMVk1CdWlsZGVyUmVmLCBMTFZNVHlwZVJlZiBUeSwgTExWTVZhbHVlUmVmIFZhbCwgY29u
c3QgY2hhciAqTmFtZSkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIEJ1aWxkRnJlZSwgKExM
Vk1CdWlsZGVyUmVmLCBMTFZNVmFsdWVSZWYgUG9pbnRlclZhbCkpIFwKKyAgICBtYWNybyhMTFZN
VmFsdWVSZWYsIEJ1aWxkTG9hZCwgKExMVk1CdWlsZGVyUmVmLCBMTFZNVmFsdWVSZWYgUG9pbnRl
clZhbCwgY29uc3QgY2hhciAqTmFtZSkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIEJ1aWxk
U3RvcmUsIChMTFZNQnVpbGRlclJlZiwgTExWTVZhbHVlUmVmIFZhbCwgTExWTVZhbHVlUmVmIFB0
cikpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIEJ1aWxkR0VQLCAoTExWTUJ1aWxkZXJSZWYg
QiwgTExWTVZhbHVlUmVmIFBvaW50ZXIsIExMVk1WYWx1ZVJlZiAqSW5kaWNlcywgdW5zaWduZWQg
TnVtSW5kaWNlcywgY29uc3QgY2hhciAqTmFtZSkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYs
IEJ1aWxkSW5Cb3VuZHNHRVAsIChMTFZNQnVpbGRlclJlZiBCLCBMTFZNVmFsdWVSZWYgUG9pbnRl
ciwgTExWTVZhbHVlUmVmICpJbmRpY2VzLCB1bnNpZ25lZCBOdW1JbmRpY2VzLCBjb25zdCBjaGFy
ICpOYW1lKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgQnVpbGRTdHJ1Y3RHRVAsIChMTFZN
QnVpbGRlclJlZiBCLCBMTFZNVmFsdWVSZWYgUG9pbnRlciwgdW5zaWduZWQgSWR4LCBjb25zdCBj
aGFyICpOYW1lKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgQnVpbGRHbG9iYWxTdHJpbmcs
IChMTFZNQnVpbGRlclJlZiBCLCBjb25zdCBjaGFyICpTdHIsIGNvbnN0IGNoYXIgKk5hbWUpKSBc
CisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBCdWlsZEdsb2JhbFN0cmluZ1B0ciwgKExMVk1CdWls
ZGVyUmVmIEIsIGNvbnN0IGNoYXIgKlN0ciwgY29uc3QgY2hhciAqTmFtZSkpIFwKKyAgICBtYWNy
byhMTFZNQm9vbCwgR2V0Vm9sYXRpbGUsIChMTFZNVmFsdWVSZWYgTWVtb3J5QWNjZXNzSW5zdCkp
IFwKKyAgICBtYWNybyh2b2lkLCBTZXRWb2xhdGlsZSwgKExMVk1WYWx1ZVJlZiBNZW1vcnlBY2Nl
c3NJbnN0LCBMTFZNQm9vbCBJc1ZvbGF0aWxlKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwg
QnVpbGRUcnVuYywgKExMVk1CdWlsZGVyUmVmLCBMTFZNVmFsdWVSZWYgVmFsLCBMTFZNVHlwZVJl
ZiBEZXN0VHksIGNvbnN0IGNoYXIgKk5hbWUpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBC
dWlsZFpFeHQsIChMTFZNQnVpbGRlclJlZiwgTExWTVZhbHVlUmVmIFZhbCwgTExWTVR5cGVSZWYg
RGVzdFR5LCBjb25zdCBjaGFyICpOYW1lKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgQnVp
bGRTRXh0LCAoTExWTUJ1aWxkZXJSZWYsIExMVk1WYWx1ZVJlZiBWYWwsIExMVk1UeXBlUmVmIERl
c3RUeSwgY29uc3QgY2hhciAqTmFtZSkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIEJ1aWxk
RlBUb1VJLCAoTExWTUJ1aWxkZXJSZWYsIExMVk1WYWx1ZVJlZiBWYWwsIExMVk1UeXBlUmVmIERl
c3RUeSwgY29uc3QgY2hhciAqTmFtZSkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIEJ1aWxk
RlBUb1NJLCAoTExWTUJ1aWxkZXJSZWYsIExMVk1WYWx1ZVJlZiBWYWwsIExMVk1UeXBlUmVmIERl
c3RUeSwgY29uc3QgY2hhciAqTmFtZSkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIEJ1aWxk
VUlUb0ZQLCAoTExWTUJ1aWxkZXJSZWYsIExMVk1WYWx1ZVJlZiBWYWwsIExMVk1UeXBlUmVmIERl
c3RUeSwgY29uc3QgY2hhciAqTmFtZSkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIEJ1aWxk
U0lUb0ZQLCAoTExWTUJ1aWxkZXJSZWYsIExMVk1WYWx1ZVJlZiBWYWwsIExMVk1UeXBlUmVmIERl
c3RUeSwgY29uc3QgY2hhciAqTmFtZSkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIEJ1aWxk
RlBUcnVuYywgKExMVk1CdWlsZGVyUmVmLCBMTFZNVmFsdWVSZWYgVmFsLCBMTFZNVHlwZVJlZiBE
ZXN0VHksIGNvbnN0IGNoYXIgKk5hbWUpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBCdWls
ZEZQRXh0LCAoTExWTUJ1aWxkZXJSZWYsIExMVk1WYWx1ZVJlZiBWYWwsIExMVk1UeXBlUmVmIERl
c3RUeSwgY29uc3QgY2hhciAqTmFtZSkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIEJ1aWxk
UHRyVG9JbnQsIChMTFZNQnVpbGRlclJlZiwgTExWTVZhbHVlUmVmIFZhbCwgTExWTVR5cGVSZWYg
RGVzdFR5LCBjb25zdCBjaGFyICpOYW1lKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgQnVp
bGRJbnRUb1B0ciwgKExMVk1CdWlsZGVyUmVmLCBMTFZNVmFsdWVSZWYgVmFsLCBMTFZNVHlwZVJl
ZiBEZXN0VHksIGNvbnN0IGNoYXIgKk5hbWUpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBC
dWlsZEJpdENhc3QsIChMTFZNQnVpbGRlclJlZiwgTExWTVZhbHVlUmVmIFZhbCwgTExWTVR5cGVS
ZWYgRGVzdFR5LCBjb25zdCBjaGFyICpOYW1lKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwg
QnVpbGRaRXh0T3JCaXRDYXN0LCAoTExWTUJ1aWxkZXJSZWYsIExMVk1WYWx1ZVJlZiBWYWwsIExM
Vk1UeXBlUmVmIERlc3RUeSwgY29uc3QgY2hhciAqTmFtZSkpIFwKKyAgICBtYWNybyhMTFZNVmFs
dWVSZWYsIEJ1aWxkU0V4dE9yQml0Q2FzdCwgKExMVk1CdWlsZGVyUmVmLCBMTFZNVmFsdWVSZWYg
VmFsLCBMTFZNVHlwZVJlZiBEZXN0VHksIGNvbnN0IGNoYXIgKk5hbWUpKSBcCisgICAgbWFjcm8o
TExWTVZhbHVlUmVmLCBCdWlsZFRydW5jT3JCaXRDYXN0LCAoTExWTUJ1aWxkZXJSZWYsIExMVk1W
YWx1ZVJlZiBWYWwsIExMVk1UeXBlUmVmIERlc3RUeSwgY29uc3QgY2hhciAqTmFtZSkpIFwKKyAg
ICBtYWNybyhMTFZNVmFsdWVSZWYsIEJ1aWxkQ2FzdCwgKExMVk1CdWlsZGVyUmVmIEIsIExMVk1P
cGNvZGUgT3AsIExMVk1WYWx1ZVJlZiBWYWwsIExMVk1UeXBlUmVmIERlc3RUeSwgY29uc3QgY2hh
ciAqTmFtZSkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIEJ1aWxkUG9pbnRlckNhc3QsIChM
TFZNQnVpbGRlclJlZiwgTExWTVZhbHVlUmVmIFZhbCwgTExWTVR5cGVSZWYgRGVzdFR5LCBjb25z
dCBjaGFyICpOYW1lKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgQnVpbGRJbnRDYXN0LCAo
TExWTUJ1aWxkZXJSZWYsIExMVk1WYWx1ZVJlZiBWYWwsIExMVk1UeXBlUmVmIERlc3RUeSwgY29u
c3QgY2hhciAqTmFtZSkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIEJ1aWxkRlBDYXN0LCAo
TExWTUJ1aWxkZXJSZWYsIExMVk1WYWx1ZVJlZiBWYWwsIExMVk1UeXBlUmVmIERlc3RUeSwgY29u
c3QgY2hhciAqTmFtZSkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIEJ1aWxkSUNtcCwgKExM
Vk1CdWlsZGVyUmVmLCBMTFZNSW50UHJlZGljYXRlIE9wLCBMTFZNVmFsdWVSZWYgTEhTLCBMTFZN
VmFsdWVSZWYgUkhTLCBjb25zdCBjaGFyICpOYW1lKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJl
ZiwgQnVpbGRGQ21wLCAoTExWTUJ1aWxkZXJSZWYsIExMVk1SZWFsUHJlZGljYXRlIE9wLCBMTFZN
VmFsdWVSZWYgTEhTLCBMTFZNVmFsdWVSZWYgUkhTLCBjb25zdCBjaGFyICpOYW1lKSkgXAorICAg
IG1hY3JvKExMVk1WYWx1ZVJlZiwgQnVpbGRQaGksIChMTFZNQnVpbGRlclJlZiwgTExWTVR5cGVS
ZWYgVHksIGNvbnN0IGNoYXIgKk5hbWUpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBCdWls
ZENhbGwsIChMTFZNQnVpbGRlclJlZiwgTExWTVZhbHVlUmVmIEZuLCBMTFZNVmFsdWVSZWYgKkFy
Z3MsIHVuc2lnbmVkIE51bUFyZ3MsIGNvbnN0IGNoYXIgKk5hbWUpKSBcCisgICAgbWFjcm8oTExW
TVZhbHVlUmVmLCBCdWlsZFNlbGVjdCwgKExMVk1CdWlsZGVyUmVmLCBMTFZNVmFsdWVSZWYgSWYs
IExMVk1WYWx1ZVJlZiBUaGVuLCBMTFZNVmFsdWVSZWYgRWxzZSwgY29uc3QgY2hhciAqTmFtZSkp
IFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIEJ1aWxkVkFBcmcsIChMTFZNQnVpbGRlclJlZiwg
TExWTVZhbHVlUmVmIExpc3QsIExMVk1UeXBlUmVmIFR5LCBjb25zdCBjaGFyICpOYW1lKSkgXAor
ICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgQnVpbGRFeHRyYWN0RWxlbWVudCwgKExMVk1CdWlsZGVy
UmVmLCBMTFZNVmFsdWVSZWYgVmVjVmFsLCBMTFZNVmFsdWVSZWYgSW5kZXgsIGNvbnN0IGNoYXIg
Kk5hbWUpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBCdWlsZEluc2VydEVsZW1lbnQsIChM
TFZNQnVpbGRlclJlZiwgTExWTVZhbHVlUmVmIFZlY1ZhbCwgTExWTVZhbHVlUmVmIEVsdFZhbCwg
TExWTVZhbHVlUmVmIEluZGV4LCBjb25zdCBjaGFyICpOYW1lKSkgXAorICAgIG1hY3JvKExMVk1W
YWx1ZVJlZiwgQnVpbGRTaHVmZmxlVmVjdG9yLCAoTExWTUJ1aWxkZXJSZWYsIExMVk1WYWx1ZVJl
ZiBWMSwgTExWTVZhbHVlUmVmIFYyLCBMTFZNVmFsdWVSZWYgTWFzaywgY29uc3QgY2hhciAqTmFt
ZSkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIEJ1aWxkRXh0cmFjdFZhbHVlLCAoTExWTUJ1
aWxkZXJSZWYsIExMVk1WYWx1ZVJlZiBBZ2dWYWwsIHVuc2lnbmVkIEluZGV4LCBjb25zdCBjaGFy
ICpOYW1lKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgQnVpbGRJbnNlcnRWYWx1ZSwgKExM
Vk1CdWlsZGVyUmVmLCBMTFZNVmFsdWVSZWYgQWdnVmFsLCBMTFZNVmFsdWVSZWYgRWx0VmFsLCB1
bnNpZ25lZCBJbmRleCwgY29uc3QgY2hhciAqTmFtZSkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVS
ZWYsIEJ1aWxkSXNOdWxsLCAoTExWTUJ1aWxkZXJSZWYsIExMVk1WYWx1ZVJlZiBWYWwsIGNvbnN0
IGNoYXIgKk5hbWUpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBCdWlsZElzTm90TnVsbCwg
KExMVk1CdWlsZGVyUmVmLCBMTFZNVmFsdWVSZWYgVmFsLCBjb25zdCBjaGFyICpOYW1lKSkgXAor
ICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgQnVpbGRQdHJEaWZmLCAoTExWTUJ1aWxkZXJSZWYsIExM
Vk1WYWx1ZVJlZiBMSFMsIExMVk1WYWx1ZVJlZiBSSFMsIGNvbnN0IGNoYXIgKk5hbWUpKSBcCisg
ICAgbWFjcm8oTExWTVZhbHVlUmVmLCBCdWlsZEF0b21pY1JNVywgKExMVk1CdWlsZGVyUmVmIEIs
TExWTUF0b21pY1JNV0Jpbk9wIG9wLCBMTFZNVmFsdWVSZWYgUFRSLCBMTFZNVmFsdWVSZWYgVmFs
LCBMTFZNQXRvbWljT3JkZXJpbmcgb3JkZXJpbmcsIExMVk1Cb29sIHNpbmdsZVRocmVhZCkpIFwK
KyAgICBtYWNybyhMTFZNTW9kdWxlUHJvdmlkZXJSZWYsIENyZWF0ZU1vZHVsZVByb3ZpZGVyRm9y
RXhpc3RpbmdNb2R1bGUsIChMTFZNTW9kdWxlUmVmIE0pKSBcCisgICAgbWFjcm8odm9pZCwgRGlz
cG9zZU1vZHVsZVByb3ZpZGVyLCAoTExWTU1vZHVsZVByb3ZpZGVyUmVmIE0pKSBcCisgICAgbWFj
cm8oTExWTUJvb2wsIENyZWF0ZU1lbW9yeUJ1ZmZlcldpdGhDb250ZW50c09mRmlsZSwgKGNvbnN0
IGNoYXIgKlBhdGgsIExMVk1NZW1vcnlCdWZmZXJSZWYgKk91dE1lbUJ1ZiwgY2hhciAqKk91dE1l
c3NhZ2UpKSBcCisgICAgbWFjcm8oTExWTUJvb2wsIENyZWF0ZU1lbW9yeUJ1ZmZlcldpdGhTVERJ
TiwgKExMVk1NZW1vcnlCdWZmZXJSZWYgKk91dE1lbUJ1ZiwgY2hhciAqKk91dE1lc3NhZ2UpKSBc
CisgICAgbWFjcm8oTExWTU1lbW9yeUJ1ZmZlclJlZiwgQ3JlYXRlTWVtb3J5QnVmZmVyV2l0aE1l
bW9yeVJhbmdlLCAoY29uc3QgY2hhciAqSW5wdXREYXRhLCBzaXplX3QgSW5wdXREYXRhTGVuZ3Ro
LCBjb25zdCBjaGFyICpCdWZmZXJOYW1lLCBMTFZNQm9vbCBSZXF1aXJlc051bGxUZXJtaW5hdG9y
KSkgXAorICAgIG1hY3JvKExMVk1NZW1vcnlCdWZmZXJSZWYsIENyZWF0ZU1lbW9yeUJ1ZmZlcldp
dGhNZW1vcnlSYW5nZUNvcHksIChjb25zdCBjaGFyICpJbnB1dERhdGEsIHNpemVfdCBJbnB1dERh
dGFMZW5ndGgsIGNvbnN0IGNoYXIgKkJ1ZmZlck5hbWUpKSBcCisgICAgbWFjcm8oY29uc3QgY2hh
ciAqLCBHZXRCdWZmZXJTdGFydCwgKExMVk1NZW1vcnlCdWZmZXJSZWYgTWVtQnVmKSkgXAorICAg
IG1hY3JvKHNpemVfdCwgR2V0QnVmZmVyU2l6ZSwgKExMVk1NZW1vcnlCdWZmZXJSZWYgTWVtQnVm
KSkgXAorICAgIG1hY3JvKHZvaWQsIERpc3Bvc2VNZW1vcnlCdWZmZXIsIChMTFZNTWVtb3J5QnVm
ZmVyUmVmIE1lbUJ1ZikpIFwKKyAgICBtYWNybyhMTFZNUGFzc1JlZ2lzdHJ5UmVmLCBHZXRHbG9i
YWxQYXNzUmVnaXN0cnksICh2b2lkKSkgXAorICAgIG1hY3JvKExMVk1QYXNzTWFuYWdlclJlZiwg
Q3JlYXRlUGFzc01hbmFnZXIsICh2b2lkKSkgXAorICAgIG1hY3JvKExMVk1QYXNzTWFuYWdlclJl
ZiwgQ3JlYXRlRnVuY3Rpb25QYXNzTWFuYWdlckZvck1vZHVsZSwgKExMVk1Nb2R1bGVSZWYgTSkp
IFwKKyAgICBtYWNybyhMTFZNUGFzc01hbmFnZXJSZWYsIENyZWF0ZUZ1bmN0aW9uUGFzc01hbmFn
ZXIsIChMTFZNTW9kdWxlUHJvdmlkZXJSZWYgTVApKSBcCisgICAgbWFjcm8oTExWTUJvb2wsIFJ1
blBhc3NNYW5hZ2VyLCAoTExWTVBhc3NNYW5hZ2VyUmVmIFBNLCBMTFZNTW9kdWxlUmVmIE0pKSBc
CisgICAgbWFjcm8oTExWTUJvb2wsIEluaXRpYWxpemVGdW5jdGlvblBhc3NNYW5hZ2VyLCAoTExW
TVBhc3NNYW5hZ2VyUmVmIEZQTSkpIFwKKyAgICBtYWNybyhMTFZNQm9vbCwgUnVuRnVuY3Rpb25Q
YXNzTWFuYWdlciwgKExMVk1QYXNzTWFuYWdlclJlZiBGUE0sIExMVk1WYWx1ZVJlZiBGKSkgXAor
ICAgIG1hY3JvKExMVk1Cb29sLCBGaW5hbGl6ZUZ1bmN0aW9uUGFzc01hbmFnZXIsIChMTFZNUGFz
c01hbmFnZXJSZWYgRlBNKSkgXAorICAgIG1hY3JvKHZvaWQsIERpc3Bvc2VQYXNzTWFuYWdlciwg
KExMVk1QYXNzTWFuYWdlclJlZiBQTSkpIFwKKyAgICBtYWNybyhMTFZNQm9vbCwgU3RhcnRNdWx0
aXRocmVhZGVkLCAoKSkgXAorICAgIG1hY3JvKHZvaWQsIFN0b3BNdWx0aXRocmVhZGVkLCAoKSkg
XAorICAgIG1hY3JvKExMVk1Cb29sLCBJc011bHRpdGhyZWFkZWQsICgpKSBcCisgICAgbWFjcm8o
TExWTVRhcmdldERhdGFSZWYsIENyZWF0ZVRhcmdldERhdGEsIChjb25zdCBjaGFyICpTdHJpbmdS
ZXApKSBcCisgICAgbWFjcm8odm9pZCwgQWRkVGFyZ2V0RGF0YSwgKExMVk1UYXJnZXREYXRhUmVm
LCBMTFZNUGFzc01hbmFnZXJSZWYpKSBcCisgICAgbWFjcm8odm9pZCwgQWRkVGFyZ2V0TGlicmFy
eUluZm8sIChMTFZNVGFyZ2V0TGlicmFyeUluZm9SZWYsIExMVk1QYXNzTWFuYWdlclJlZikpIFwK
KyAgICBtYWNybyhjaGFyICosIENvcHlTdHJpbmdSZXBPZlRhcmdldERhdGEsIChMTFZNVGFyZ2V0
RGF0YVJlZikpIFwKKyAgICBtYWNybyhlbnVtIExMVk1CeXRlT3JkZXJpbmcsIEJ5dGVPcmRlciwg
KExMVk1UYXJnZXREYXRhUmVmKSkgXAorICAgIG1hY3JvKHVuc2lnbmVkLCBQb2ludGVyU2l6ZSwg
KExMVk1UYXJnZXREYXRhUmVmKSkgXAorICAgIG1hY3JvKExMVk1UeXBlUmVmLCBJbnRQdHJUeXBl
LCAoTExWTVRhcmdldERhdGFSZWYpKSBcCisgICAgbWFjcm8odW5zaWduZWQgbG9uZyBsb25nLCBT
aXplT2ZUeXBlSW5CaXRzLCAoTExWTVRhcmdldERhdGFSZWYsIExMVk1UeXBlUmVmKSkgXAorICAg
IG1hY3JvKHVuc2lnbmVkIGxvbmcgbG9uZywgU3RvcmVTaXplT2ZUeXBlLCAoTExWTVRhcmdldERh
dGFSZWYsIExMVk1UeXBlUmVmKSkgXAorICAgIG1hY3JvKHVuc2lnbmVkIGxvbmcgbG9uZywgQUJJ
U2l6ZU9mVHlwZSwgKExMVk1UYXJnZXREYXRhUmVmLCBMTFZNVHlwZVJlZikpIFwKKyAgICBtYWNy
byh1bnNpZ25lZCwgQUJJQWxpZ25tZW50T2ZUeXBlLCAoTExWTVRhcmdldERhdGFSZWYsIExMVk1U
eXBlUmVmKSkgXAorICAgIG1hY3JvKHVuc2lnbmVkLCBDYWxsRnJhbWVBbGlnbm1lbnRPZlR5cGUs
IChMTFZNVGFyZ2V0RGF0YVJlZiwgTExWTVR5cGVSZWYpKSBcCisgICAgbWFjcm8odW5zaWduZWQs
IFByZWZlcnJlZEFsaWdubWVudE9mVHlwZSwgKExMVk1UYXJnZXREYXRhUmVmLCBMTFZNVHlwZVJl
ZikpIFwKKyAgICBtYWNybyh1bnNpZ25lZCwgUHJlZmVycmVkQWxpZ25tZW50T2ZHbG9iYWwsIChM
TFZNVGFyZ2V0RGF0YVJlZiwgTExWTVZhbHVlUmVmIEdsb2JhbFZhcikpIFwKKyAgICBtYWNybyh1
bnNpZ25lZCwgRWxlbWVudEF0T2Zmc2V0LCAoTExWTVRhcmdldERhdGFSZWYsIExMVk1UeXBlUmVm
IFN0cnVjdFR5LCB1bnNpZ25lZCBsb25nIGxvbmcgT2Zmc2V0KSkgXAorICAgIG1hY3JvKHVuc2ln
bmVkIGxvbmcgbG9uZywgT2Zmc2V0T2ZFbGVtZW50LCAoTExWTVRhcmdldERhdGFSZWYsIExMVk1U
eXBlUmVmIFN0cnVjdFR5LCB1bnNpZ25lZCBFbGVtZW50KSkgXAorICAgIG1hY3JvKHZvaWQsIERp
c3Bvc2VUYXJnZXREYXRhLCAoTExWTVRhcmdldERhdGFSZWYpKSBcCisgICAgbWFjcm8oTExWTVRh
cmdldFJlZiwgR2V0Rmlyc3RUYXJnZXQsICgpKSBcCisgICAgbWFjcm8oTExWTVRhcmdldFJlZiwg
R2V0TmV4dFRhcmdldCwgKExMVk1UYXJnZXRSZWYgVCkpIFwKKyAgICBtYWNybyhjb25zdCBjaGFy
ICosIEdldFRhcmdldE5hbWUsIChMTFZNVGFyZ2V0UmVmIFQpKSBcCisgICAgbWFjcm8oY29uc3Qg
Y2hhciAqLCBHZXRUYXJnZXREZXNjcmlwdGlvbiwgKExMVk1UYXJnZXRSZWYgVCkpIFwKKyAgICBt
YWNybyhMTFZNQm9vbCwgVGFyZ2V0SGFzSklULCAoTExWTVRhcmdldFJlZiBUKSkgXAorICAgIG1h
Y3JvKExMVk1Cb29sLCBUYXJnZXRIYXNUYXJnZXRNYWNoaW5lLCAoTExWTVRhcmdldFJlZiBUKSkg
XAorICAgIG1hY3JvKExMVk1Cb29sLCBUYXJnZXRIYXNBc21CYWNrZW5kLCAoTExWTVRhcmdldFJl
ZiBUKSkgXAorICAgIG1hY3JvKExMVk1UYXJnZXRNYWNoaW5lUmVmLCBDcmVhdGVUYXJnZXRNYWNo
aW5lLCAoTExWTVRhcmdldFJlZiBULCBjaGFyICpUcmlwbGUsIGNoYXIgKkNQVSwgY2hhciAqRmVh
dHVyZXMsIExMVk1Db2RlR2VuT3B0TGV2ZWwgTGV2ZWwsIExMVk1SZWxvY01vZGUgUmVsb2MsIExM
Vk1Db2RlTW9kZWwgQ29kZU1vZGVsKSkgXAorICAgIG1hY3JvKHZvaWQsIERpc3Bvc2VUYXJnZXRN
YWNoaW5lLCAoTExWTVRhcmdldE1hY2hpbmVSZWYgVCkpIFwKKyAgICBtYWNybyhMTFZNVGFyZ2V0
UmVmLCBHZXRUYXJnZXRNYWNoaW5lVGFyZ2V0LCAoTExWTVRhcmdldE1hY2hpbmVSZWYgVCkpIFwK
KyAgICBtYWNybyhjaGFyICosIEdldFRhcmdldE1hY2hpbmVUcmlwbGUsIChMTFZNVGFyZ2V0TWFj
aGluZVJlZiBUKSkgXAorICAgIG1hY3JvKGNoYXIgKiwgR2V0VGFyZ2V0TWFjaGluZUNQVSwgKExM
Vk1UYXJnZXRNYWNoaW5lUmVmIFQpKSBcCisgICAgbWFjcm8oY2hhciAqLCBHZXRUYXJnZXRNYWNo
aW5lRmVhdHVyZVN0cmluZywgKExMVk1UYXJnZXRNYWNoaW5lUmVmIFQpKSBcCisgICAgbWFjcm8o
TExWTVRhcmdldERhdGFSZWYsIEdldFRhcmdldE1hY2hpbmVEYXRhLCAoTExWTVRhcmdldE1hY2hp
bmVSZWYgVCkpIFwKKyAgICBtYWNybyhMTFZNQm9vbCwgVGFyZ2V0TWFjaGluZUVtaXRUb0ZpbGUs
IChMTFZNVGFyZ2V0TWFjaGluZVJlZiBULCBMTFZNTW9kdWxlUmVmIE0sIGNoYXIgKkZpbGVuYW1l
LCBMTFZNQ29kZUdlbkZpbGVUeXBlIGNvZGVnZW4sIGNoYXIgKipFcnJvck1lc3NhZ2UpKSBcCisg
ICAgbWFjcm8odm9pZCwgTGlua0luSklULCAodm9pZCkpIFwKKyAgICBtYWNybyh2b2lkLCBMaW5r
SW5NQ0pJVCwgKHZvaWQpKSBcCisgICAgbWFjcm8odm9pZCwgTGlua0luSW50ZXJwcmV0ZXIsICh2
b2lkKSkgXAorICAgIG1hY3JvKExMVk1HZW5lcmljVmFsdWVSZWYsIENyZWF0ZUdlbmVyaWNWYWx1
ZU9mSW50LCAoTExWTVR5cGVSZWYgVHksIHVuc2lnbmVkIGxvbmcgbG9uZyBOLCBMTFZNQm9vbCBJ
c1NpZ25lZCkpIFwKKyAgICBtYWNybyhMTFZNR2VuZXJpY1ZhbHVlUmVmLCBDcmVhdGVHZW5lcmlj
VmFsdWVPZlBvaW50ZXIsICh2b2lkICpQKSkgXAorICAgIG1hY3JvKExMVk1HZW5lcmljVmFsdWVS
ZWYsIENyZWF0ZUdlbmVyaWNWYWx1ZU9mRmxvYXQsIChMTFZNVHlwZVJlZiBUeSwgZG91YmxlIE4p
KSBcCisgICAgbWFjcm8odW5zaWduZWQsIEdlbmVyaWNWYWx1ZUludFdpZHRoLCAoTExWTUdlbmVy
aWNWYWx1ZVJlZiBHZW5WYWxSZWYpKSBcCisgICAgbWFjcm8odW5zaWduZWQgbG9uZyBsb25nLCBH
ZW5lcmljVmFsdWVUb0ludCwgKExMVk1HZW5lcmljVmFsdWVSZWYgR2VuVmFsLCBMTFZNQm9vbCBJ
c1NpZ25lZCkpIFwKKyAgICBtYWNybyh2b2lkICosIEdlbmVyaWNWYWx1ZVRvUG9pbnRlciwgKExM
Vk1HZW5lcmljVmFsdWVSZWYgR2VuVmFsKSkgXAorICAgIG1hY3JvKGRvdWJsZSwgR2VuZXJpY1Zh
bHVlVG9GbG9hdCwgKExMVk1UeXBlUmVmIFR5UmVmLCBMTFZNR2VuZXJpY1ZhbHVlUmVmIEdlblZh
bCkpIFwKKyAgICBtYWNybyh2b2lkLCBEaXNwb3NlR2VuZXJpY1ZhbHVlLCAoTExWTUdlbmVyaWNW
YWx1ZVJlZiBHZW5WYWwpKSBcCisgICAgbWFjcm8oTExWTUJvb2wsIENyZWF0ZUV4ZWN1dGlvbkVu
Z2luZUZvck1vZHVsZSwgKExMVk1FeGVjdXRpb25FbmdpbmVSZWYgKk91dEVFLCBMTFZNTW9kdWxl
UmVmIE0sIGNoYXIgKipPdXRFcnJvcikpIFwKKyAgICBtYWNybyhMTFZNQm9vbCwgQ3JlYXRlSW50
ZXJwcmV0ZXJGb3JNb2R1bGUsIChMTFZNRXhlY3V0aW9uRW5naW5lUmVmICpPdXRJbnRlcnAsIExM
Vk1Nb2R1bGVSZWYgTSwgY2hhciAqKk91dEVycm9yKSkgXAorICAgIG1hY3JvKExMVk1Cb29sLCBD
cmVhdGVKSVRDb21waWxlckZvck1vZHVsZSwgKExMVk1FeGVjdXRpb25FbmdpbmVSZWYgKk91dEpJ
VCwgTExWTU1vZHVsZVJlZiBNLCB1bnNpZ25lZCBPcHRMZXZlbCwgY2hhciAqKk91dEVycm9yKSkg
XAorICAgIG1hY3JvKHZvaWQsIEluaXRpYWxpemVNQ0pJVENvbXBpbGVyT3B0aW9ucywgKHN0cnVj
dCBMTFZNTUNKSVRDb21waWxlck9wdGlvbnMgKk9wdGlvbnMsIHNpemVfdCBTaXplT2ZPcHRpb25z
KSkgXAorICAgIG1hY3JvKExMVk1Cb29sLCBDcmVhdGVNQ0pJVENvbXBpbGVyRm9yTW9kdWxlLCAo
TExWTUV4ZWN1dGlvbkVuZ2luZVJlZiAqT3V0SklULCBMTFZNTW9kdWxlUmVmIE0sIHN0cnVjdCBM
TFZNTUNKSVRDb21waWxlck9wdGlvbnMgKk9wdGlvbnMsIHNpemVfdCBTaXplT2ZPcHRpb25zLCBj
aGFyICoqT3V0RXJyb3IpKSBcCisgICAgbWFjcm8oTExWTUJvb2wsIENyZWF0ZUV4ZWN1dGlvbkVu
Z2luZSwgKExMVk1FeGVjdXRpb25FbmdpbmVSZWYgKk91dEVFLCBMTFZNTW9kdWxlUHJvdmlkZXJS
ZWYgTVAsIGNoYXIgKipPdXRFcnJvcikpIFwKKyAgICBtYWNybyhMTFZNQm9vbCwgQ3JlYXRlSW50
ZXJwcmV0ZXIsIChMTFZNRXhlY3V0aW9uRW5naW5lUmVmICpPdXRJbnRlcnAsIExMVk1Nb2R1bGVQ
cm92aWRlclJlZiBNUCwgY2hhciAqKk91dEVycm9yKSkgXAorICAgIG1hY3JvKExMVk1Cb29sLCBD
cmVhdGVKSVRDb21waWxlciwgKExMVk1FeGVjdXRpb25FbmdpbmVSZWYgKk91dEpJVCwgTExWTU1v
ZHVsZVByb3ZpZGVyUmVmIE1QLCB1bnNpZ25lZCBPcHRMZXZlbCwgY2hhciAqKk91dEVycm9yKSkg
XAorICAgIG1hY3JvKHZvaWQsIERpc3Bvc2VFeGVjdXRpb25FbmdpbmUsIChMTFZNRXhlY3V0aW9u
RW5naW5lUmVmIEVFKSkgXAorICAgIG1hY3JvKHZvaWQsIFJ1blN0YXRpY0NvbnN0cnVjdG9ycywg
KExMVk1FeGVjdXRpb25FbmdpbmVSZWYgRUUpKSBcCisgICAgbWFjcm8odm9pZCwgUnVuU3RhdGlj
RGVzdHJ1Y3RvcnMsIChMTFZNRXhlY3V0aW9uRW5naW5lUmVmIEVFKSkgXAorICAgIG1hY3JvKGlu
dCwgUnVuRnVuY3Rpb25Bc01haW4sIChMTFZNRXhlY3V0aW9uRW5naW5lUmVmIEVFLCBMTFZNVmFs
dWVSZWYgRiwgdW5zaWduZWQgQXJnQywgY29uc3QgY2hhciAqIGNvbnN0ICpBcmdWLCBjb25zdCBj
aGFyICogY29uc3QgKkVudlApKSBcCisgICAgbWFjcm8oTExWTUdlbmVyaWNWYWx1ZVJlZiwgUnVu
RnVuY3Rpb24sIChMTFZNRXhlY3V0aW9uRW5naW5lUmVmIEVFLCBMTFZNVmFsdWVSZWYgRiwgdW5z
aWduZWQgTnVtQXJncywgTExWTUdlbmVyaWNWYWx1ZVJlZiAqQXJncykpIFwKKyAgICBtYWNybyh2
b2lkLCBGcmVlTWFjaGluZUNvZGVGb3JGdW5jdGlvbiwgKExMVk1FeGVjdXRpb25FbmdpbmVSZWYg
RUUsIExMVk1WYWx1ZVJlZiBGKSkgXAorICAgIG1hY3JvKHZvaWQsIEFkZE1vZHVsZSwgKExMVk1F
eGVjdXRpb25FbmdpbmVSZWYgRUUsIExMVk1Nb2R1bGVSZWYgTSkpIFwKKyAgICBtYWNybyh2b2lk
LCBBZGRNb2R1bGVQcm92aWRlciwgKExMVk1FeGVjdXRpb25FbmdpbmVSZWYgRUUsIExMVk1Nb2R1
bGVQcm92aWRlclJlZiBNUCkpIFwKKyAgICBtYWNybyhMTFZNQm9vbCwgUmVtb3ZlTW9kdWxlLCAo
TExWTUV4ZWN1dGlvbkVuZ2luZVJlZiBFRSwgTExWTU1vZHVsZVJlZiBNLCBMTFZNTW9kdWxlUmVm
ICpPdXRNb2QsIGNoYXIgKipPdXRFcnJvcikpIFwKKyAgICBtYWNybyhMTFZNQm9vbCwgUmVtb3Zl
TW9kdWxlUHJvdmlkZXIsIChMTFZNRXhlY3V0aW9uRW5naW5lUmVmIEVFLCBMTFZNTW9kdWxlUHJv
dmlkZXJSZWYgTVAsIExMVk1Nb2R1bGVSZWYgKk91dE1vZCwgY2hhciAqKk91dEVycm9yKSkgXAor
ICAgIG1hY3JvKExMVk1Cb29sLCBGaW5kRnVuY3Rpb24sIChMTFZNRXhlY3V0aW9uRW5naW5lUmVm
IEVFLCBjb25zdCBjaGFyICpOYW1lLCBMTFZNVmFsdWVSZWYgKk91dEZuKSkgXAorICAgIG1hY3Jv
KHZvaWQgKiwgUmVjb21waWxlQW5kUmVsaW5rRnVuY3Rpb24sIChMTFZNRXhlY3V0aW9uRW5naW5l
UmVmIEVFLCBMTFZNVmFsdWVSZWYgRm4pKSBcCisgICAgbWFjcm8oTExWTVRhcmdldERhdGFSZWYs
IEdldEV4ZWN1dGlvbkVuZ2luZVRhcmdldERhdGEsIChMTFZNRXhlY3V0aW9uRW5naW5lUmVmIEVF
KSkgXAorICAgIG1hY3JvKHZvaWQsIEFkZEdsb2JhbE1hcHBpbmcsIChMTFZNRXhlY3V0aW9uRW5n
aW5lUmVmIEVFLCBMTFZNVmFsdWVSZWYgR2xvYmFsLCB2b2lkKiBBZGRyKSkgXAorICAgIG1hY3Jv
KHZvaWQgKiwgR2V0UG9pbnRlclRvR2xvYmFsLCAoTExWTUV4ZWN1dGlvbkVuZ2luZVJlZiBFRSwg
TExWTVZhbHVlUmVmIEdsb2JhbCkpIFwKKyAgICBtYWNybyhMTFZNTUNKSVRNZW1vcnlNYW5hZ2Vy
UmVmLCBDcmVhdGVTaW1wbGVNQ0pJVE1lbW9yeU1hbmFnZXIsICh2b2lkICpPcGFxdWUsIExMVk1N
ZW1vcnlNYW5hZ2VyQWxsb2NhdGVDb2RlU2VjdGlvbkNhbGxiYWNrIEFsbG9jYXRlQ29kZVNlY3Rp
b24sIExMVk1NZW1vcnlNYW5hZ2VyQWxsb2NhdGVEYXRhU2VjdGlvbkNhbGxiYWNrIEFsbG9jYXRl
RGF0YVNlY3Rpb24sIExMVk1NZW1vcnlNYW5hZ2VyRmluYWxpemVNZW1vcnlDYWxsYmFjayBGaW5h
bGl6ZU1lbW9yeSwgTExWTU1lbW9yeU1hbmFnZXJEZXN0cm95Q2FsbGJhY2sgRGVzdG9yeSkpIFwK
KyAgICBtYWNybyh2b2lkLCBEaXNwb3NlTUNKSVRNZW1vcnlNYW5hZ2VyLCAoTExWTU1DSklUTWVt
b3J5TWFuYWdlclJlZiBNTSkpIFwKKyAgICBtYWNybyhMTFZNQm9vbCwgVmVyaWZ5TW9kdWxlLCAo
TExWTU1vZHVsZVJlZiBNLCBMTFZNVmVyaWZpZXJGYWlsdXJlQWN0aW9uIEFjdGlvbiwgY2hhciAq
Kk91dE1lc3NhZ2UpKSBcCisgICAgbWFjcm8oTExWTUJvb2wsIFZlcmlmeUZ1bmN0aW9uLCAoTExW
TVZhbHVlUmVmIEZuLCBMTFZNVmVyaWZpZXJGYWlsdXJlQWN0aW9uIEFjdGlvbikpIFwKKyAgICBt
YWNybyh2b2lkLCBWaWV3RnVuY3Rpb25DRkcsIChMTFZNVmFsdWVSZWYgRm4pKSBcCisgICAgbWFj
cm8odm9pZCwgVmlld0Z1bmN0aW9uQ0ZHT25seSwgKExMVk1WYWx1ZVJlZiBGbikpIFwKKyAgICBt
YWNybyhMTFZNRGlzYXNtQ29udGV4dFJlZiwgQ3JlYXRlRGlzYXNtLCAoY29uc3QgY2hhciAqVHJp
cGxlTmFtZSwgdm9pZCAqRGlzSW5mbywgaW50IFRhZ1R5cGUsIExMVk1PcEluZm9DYWxsYmFjayBH
ZXRPcEluZm8sIExMVk1TeW1ib2xMb29rdXBDYWxsYmFjayBTeW1ib2xMb29rVXApKSBcCisgICAg
bWFjcm8oTExWTURpc2FzbUNvbnRleHRSZWYsIENyZWF0ZURpc2FzbUNQVSwgKGNvbnN0IGNoYXIg
KlRyaXBsZSwgY29uc3QgY2hhciAqQ1BVLCB2b2lkICpEaXNJbmZvLCBpbnQgVGFnVHlwZSwgTExW
TU9wSW5mb0NhbGxiYWNrIEdldE9wSW5mbywgTExWTVN5bWJvbExvb2t1cENhbGxiYWNrIFN5bWJv
bExvb2tVcCkpIFwKKyAgICBtYWNybyhpbnQsIFNldERpc2FzbU9wdGlvbnMsIChMTFZNRGlzYXNt
Q29udGV4dFJlZiBEQywgdWludDY0X3QgT3B0aW9ucykpIFwKKyAgICBtYWNybyh2b2lkLCBEaXNh
c21EaXNwb3NlLCAoTExWTURpc2FzbUNvbnRleHRSZWYgREMpKSBcCisgICAgbWFjcm8oc2l6ZV90
LCBEaXNhc21JbnN0cnVjdGlvbiwgKExMVk1EaXNhc21Db250ZXh0UmVmIERDLCB1aW50OF90ICpC
eXRlcywgdWludDY0X3QgQnl0ZXNTaXplLCB1aW50NjRfdCBQQywgY2hhciAqT3V0U3RyaW5nLCBz
aXplX3QgT3V0U3RyaW5nU2l6ZSkpIFwKKyAgICBtYWNybyh1bnNpZ25lZCwgUG9pbnRlclNpemVG
b3JBUywgKExMVk1UYXJnZXREYXRhUmVmLCB1bnNpZ25lZCBBUykpIFwKKyAgICBtYWNybyhMTFZN
VHlwZVJlZiwgSW50UHRyVHlwZUZvckFTLCAoTExWTVRhcmdldERhdGFSZWYsIHVuc2lnbmVkIEFT
KSkgXAorICAgIG1hY3JvKExMVk1QYXNzTWFuYWdlckJ1aWxkZXJSZWYsIFBhc3NNYW5hZ2VyQnVp
bGRlckNyZWF0ZSwgKHZvaWQpKSBcCisgICAgbWFjcm8odm9pZCwgUGFzc01hbmFnZXJCdWlsZGVy
RGlzcG9zZSwgKExMVk1QYXNzTWFuYWdlckJ1aWxkZXJSZWYgUE1CKSkgXAorICAgIG1hY3JvKHZv
aWQsIFBhc3NNYW5hZ2VyQnVpbGRlclNldE9wdExldmVsLCAoTExWTVBhc3NNYW5hZ2VyQnVpbGRl
clJlZiBQTUIsIHVuc2lnbmVkIE9wdExldmVsKSkgXAorICAgIG1hY3JvKHZvaWQsIFBhc3NNYW5h
Z2VyQnVpbGRlclNldFNpemVMZXZlbCwgKExMVk1QYXNzTWFuYWdlckJ1aWxkZXJSZWYgUE1CLCB1
bnNpZ25lZCBTaXplTGV2ZWwpKSBcCisgICAgbWFjcm8odm9pZCwgUGFzc01hbmFnZXJCdWlsZGVy
U2V0RGlzYWJsZVVuaXRBdEFUaW1lLCAoTExWTVBhc3NNYW5hZ2VyQnVpbGRlclJlZiBQTUIsIExM
Vk1Cb29sIFZhbHVlKSkgXAorICAgIG1hY3JvKHZvaWQsIFBhc3NNYW5hZ2VyQnVpbGRlclNldERp
c2FibGVVbnJvbGxMb29wcywgKExMVk1QYXNzTWFuYWdlckJ1aWxkZXJSZWYgUE1CLCBMTFZNQm9v
bCBWYWx1ZSkpIFwKKyAgICBtYWNybyh2b2lkLCBQYXNzTWFuYWdlckJ1aWxkZXJTZXREaXNhYmxl
U2ltcGxpZnlMaWJDYWxscywgKExMVk1QYXNzTWFuYWdlckJ1aWxkZXJSZWYgUE1CLCBMTFZNQm9v
bCBWYWx1ZSkpIFwKKyAgICBtYWNybyh2b2lkLCBQYXNzTWFuYWdlckJ1aWxkZXJVc2VJbmxpbmVy
V2l0aFRocmVzaG9sZCwgKExMVk1QYXNzTWFuYWdlckJ1aWxkZXJSZWYgUE1CLCB1bnNpZ25lZCBU
aHJlc2hvbGQpKSBcCisgICAgbWFjcm8odm9pZCwgUGFzc01hbmFnZXJCdWlsZGVyUG9wdWxhdGVG
dW5jdGlvblBhc3NNYW5hZ2VyLCAoTExWTVBhc3NNYW5hZ2VyQnVpbGRlclJlZiBQTUIsIExMVk1Q
YXNzTWFuYWdlclJlZiBQTSkpIFwKKyAgICBtYWNybyh2b2lkLCBQYXNzTWFuYWdlckJ1aWxkZXJQ
b3B1bGF0ZU1vZHVsZVBhc3NNYW5hZ2VyLCAoTExWTVBhc3NNYW5hZ2VyQnVpbGRlclJlZiBQTUIs
IExMVk1QYXNzTWFuYWdlclJlZiBQTSkpIFwKKyAgICBtYWNybyh2b2lkLCBQYXNzTWFuYWdlckJ1
aWxkZXJQb3B1bGF0ZUxUT1Bhc3NNYW5hZ2VyLCAoTExWTVBhc3NNYW5hZ2VyQnVpbGRlclJlZiBQ
TUIsIExMVk1QYXNzTWFuYWdlclJlZiBQTSwgTExWTUJvb2wgSW50ZXJuYWxpemUsIExMVk1Cb29s
IFJ1bklubGluZXIpKSBcCisgICAgbWFjcm8odm9pZCwgQWRkQWdncmVzc2l2ZURDRVBhc3MsIChM
TFZNUGFzc01hbmFnZXJSZWYgUE0pKSBcCisgICAgbWFjcm8odm9pZCwgQWRkQ0ZHU2ltcGxpZmlj
YXRpb25QYXNzLCAoTExWTVBhc3NNYW5hZ2VyUmVmIFBNKSkgXAorICAgIG1hY3JvKHZvaWQsIEFk
ZERlYWRTdG9yZUVsaW1pbmF0aW9uUGFzcywgKExMVk1QYXNzTWFuYWdlclJlZiBQTSkpIFwKKyAg
ICBtYWNybyh2b2lkLCBBZGRHVk5QYXNzLCAoTExWTVBhc3NNYW5hZ2VyUmVmIFBNKSkgXAorICAg
IG1hY3JvKHZvaWQsIEFkZEluZFZhclNpbXBsaWZ5UGFzcywgKExMVk1QYXNzTWFuYWdlclJlZiBQ
TSkpIFwKKyAgICBtYWNybyh2b2lkLCBBZGRJbnN0cnVjdGlvbkNvbWJpbmluZ1Bhc3MsIChMTFZN
UGFzc01hbmFnZXJSZWYgUE0pKSBcCisgICAgbWFjcm8odm9pZCwgQWRkSnVtcFRocmVhZGluZ1Bh
c3MsIChMTFZNUGFzc01hbmFnZXJSZWYgUE0pKSBcCisgICAgbWFjcm8odm9pZCwgQWRkTElDTVBh
c3MsIChMTFZNUGFzc01hbmFnZXJSZWYgUE0pKSBcCisgICAgbWFjcm8odm9pZCwgQWRkTG9vcERl
bGV0aW9uUGFzcywgKExMVk1QYXNzTWFuYWdlclJlZiBQTSkpIFwKKyAgICBtYWNybyh2b2lkLCBB
ZGRMb29wSWRpb21QYXNzLCAoTExWTVBhc3NNYW5hZ2VyUmVmIFBNKSkgXAorICAgIG1hY3JvKHZv
aWQsIEFkZExvb3BSb3RhdGVQYXNzLCAoTExWTVBhc3NNYW5hZ2VyUmVmIFBNKSkgXAorICAgIG1h
Y3JvKHZvaWQsIEFkZExvb3BVbnJvbGxQYXNzLCAoTExWTVBhc3NNYW5hZ2VyUmVmIFBNKSkgXAor
ICAgIG1hY3JvKHZvaWQsIEFkZExvb3BVbnN3aXRjaFBhc3MsIChMTFZNUGFzc01hbmFnZXJSZWYg
UE0pKSBcCisgICAgbWFjcm8odm9pZCwgQWRkTWVtQ3B5T3B0UGFzcywgKExMVk1QYXNzTWFuYWdl
clJlZiBQTSkpIFwKKyAgICBtYWNybyh2b2lkLCBBZGRQYXJ0aWFsbHlJbmxpbmVMaWJDYWxsc1Bh
c3MsIChMTFZNUGFzc01hbmFnZXJSZWYgUE0pKSBcCisgICAgbWFjcm8odm9pZCwgQWRkUHJvbW90
ZU1lbW9yeVRvUmVnaXN0ZXJQYXNzLCAoTExWTVBhc3NNYW5hZ2VyUmVmIFBNKSkgXAorICAgIG1h
Y3JvKHZvaWQsIEFkZFJlYXNzb2NpYXRlUGFzcywgKExMVk1QYXNzTWFuYWdlclJlZiBQTSkpIFwK
KyAgICBtYWNybyh2b2lkLCBBZGRTQ0NQUGFzcywgKExMVk1QYXNzTWFuYWdlclJlZiBQTSkpIFwK
KyAgICBtYWNybyh2b2lkLCBBZGRTY2FsYXJSZXBsQWdncmVnYXRlc1Bhc3MsIChMTFZNUGFzc01h
bmFnZXJSZWYgUE0pKSBcCisgICAgbWFjcm8odm9pZCwgQWRkU2NhbGFyUmVwbEFnZ3JlZ2F0ZXNQ
YXNzU1NBLCAoTExWTVBhc3NNYW5hZ2VyUmVmIFBNKSkgXAorICAgIG1hY3JvKHZvaWQsIEFkZFNj
YWxhclJlcGxBZ2dyZWdhdGVzUGFzc1dpdGhUaHJlc2hvbGQsIChMTFZNUGFzc01hbmFnZXJSZWYg
UE0sIGludCBUaHJlc2hvbGQpKSBcCisgICAgbWFjcm8odm9pZCwgQWRkU2ltcGxpZnlMaWJDYWxs
c1Bhc3MsIChMTFZNUGFzc01hbmFnZXJSZWYgUE0pKSBcCisgICAgbWFjcm8odm9pZCwgQWRkVGFp
bENhbGxFbGltaW5hdGlvblBhc3MsIChMTFZNUGFzc01hbmFnZXJSZWYgUE0pKSBcCisgICAgbWFj
cm8odm9pZCwgQWRkQ29uc3RhbnRQcm9wYWdhdGlvblBhc3MsIChMTFZNUGFzc01hbmFnZXJSZWYg
UE0pKSBcCisgICAgbWFjcm8odm9pZCwgQWRkRGVtb3RlTWVtb3J5VG9SZWdpc3RlclBhc3MsIChM
TFZNUGFzc01hbmFnZXJSZWYgUE0pKSBcCisgICAgbWFjcm8odm9pZCwgQWRkVmVyaWZpZXJQYXNz
LCAoTExWTVBhc3NNYW5hZ2VyUmVmIFBNKSkgXAorICAgIG1hY3JvKHZvaWQsIEFkZENvcnJlbGF0
ZWRWYWx1ZVByb3BhZ2F0aW9uUGFzcywgKExMVk1QYXNzTWFuYWdlclJlZiBQTSkpIFwKKyAgICBt
YWNybyh2b2lkLCBBZGRFYXJseUNTRVBhc3MsIChMTFZNUGFzc01hbmFnZXJSZWYgUE0pKSBcCisg
ICAgbWFjcm8odm9pZCwgQWRkTG93ZXJFeHBlY3RJbnRyaW5zaWNQYXNzLCAoTExWTVBhc3NNYW5h
Z2VyUmVmIFBNKSkgXAorICAgIG1hY3JvKHZvaWQsIEFkZFR5cGVCYXNlZEFsaWFzQW5hbHlzaXNQ
YXNzLCAoTExWTVBhc3NNYW5hZ2VyUmVmIFBNKSkgXAorICAgIG1hY3JvKHZvaWQsIEFkZEJhc2lj
QWxpYXNBbmFseXNpc1Bhc3MsIChMTFZNUGFzc01hbmFnZXJSZWYgUE0pKQorCisjZW5kaWYgLy8g
TExWTUFQSUZ1bmN0aW9uc19oCisKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbHZtL0xM
Vk1IZWFkZXJzLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2xsdm0vTExW
TUhlYWRlcnMuaAkocmV2aXNpb24gMCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbHZtL0xM
Vk1IZWFkZXJzLmgJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw2NCBAQAorLyoKKyAqIENvcHly
aWdodCAoQykgMjAxMyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisg
KgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBB
TkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJF
IExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisg
KiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKyAqLworCisjaWZuZGVmIExMVk1IZWFkZXJzX2gK
KyNkZWZpbmUgTExWTUhlYWRlcnNfaAorCisjaWYgSEFWRShMTFZNKQorCisvLyBJdCBpcyBuZWNl
c3NhcnkgdG8gaW5jbHVkZSBMTFZNIGhlYWRlcnMgdmlhIHRoaXMgZmlsZSwgYmVjYXVzZToKKy8v
IC0gTExWTSByZXF1aXJlcyBkZWZpbmluZyB0aGluZ3MgdGhhdCB3ZSBkb24ndCBub3JtYWxseSBk
ZWZpbmUsIGFuZAorLy8gLSBMTFZNIGluY2x1ZGVzIGl0cyBDKysgaGVhZGVycyBmcm9tIGl0cyBD
IGhlYWRlcnMsIGFuZCBpdHMgQysrCisvLyAgIGhlYWRlcnMgZG9uJ3QgY29tcGlsZSBjbGVhbmx5
IHdpdGggb3VyIHdhcm5pbmdzLgorCisjZGVmaW5lIF9fU1REQ19MSU1JVF9NQUNST1MKKyNkZWZp
bmUgX19TVERDX0NPTlNUQU5UX01BQ1JPUworCisjaWYgQ09NUElMRVIoQ0xBTkcpCisjcHJhZ21h
IGNsYW5nIGRpYWdub3N0aWMgcHVzaAorI3ByYWdtYSBjbGFuZyBkaWFnbm9zdGljIGlnbm9yZWQg
Ii1XbWlzc2luZy1ub3JldHVybiIKKyNwcmFnbWEgY2xhbmcgZGlhZ25vc3RpYyBpZ25vcmVkICIt
V3VudXNlZC1wYXJhbWV0ZXIiCisjZW5kaWYgLy8gQ09NUElMRVIoQ0xBTkcpCisKKyNpbmNsdWRl
IDxsbHZtLWMvQW5hbHlzaXMuaD4KKyNpbmNsdWRlIDxsbHZtLWMvQ29yZS5oPgorI2luY2x1ZGUg
PGxsdm0tYy9EaXNhc3NlbWJsZXIuaD4KKyNpbmNsdWRlIDxsbHZtLWMvRXhlY3V0aW9uRW5naW5l
Lmg+CisjaW5jbHVkZSA8bGx2bS1jL1RhcmdldC5oPgorI2luY2x1ZGUgPGxsdm0tYy9UcmFuc2Zv
cm1zL1Bhc3NNYW5hZ2VyQnVpbGRlci5oPgorI2luY2x1ZGUgPGxsdm0tYy9UcmFuc2Zvcm1zL1Nj
YWxhci5oPgorCisjaWYgQ09NUElMRVIoQ0xBTkcpCisjcHJhZ21hIGNsYW5nIGRpYWdub3N0aWMg
cG9wCisjZW5kaWYgLy8gQ09NUElMRVIoQ0xBTkcpCisKKyN1bmRlZiBfX1NURENfTElNSVRfTUFD
Uk9TCisjdW5kZWYgX19TVERDX0NPTlNUQU5UX01BQ1JPUworCisjZW5kaWYgLy8gSEFWRShMTFZN
KQorCisjZW5kaWYgLy8gTExWTUhlYWRlcnNfaAorCisKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbHZtL2xpYnJhcnkvTExWTUFuY2hvci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsdm0vbGlicmFyeS9MTFZNQW5jaG9yLmNwcAkocmV2aXNpb24gMCkKKysr
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbHZtL2xpYnJhcnkvTExWTUFuY2hvci5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTAsMCArMSwzNSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMyBBcHBs
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNT
IE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRI
RQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBG
T1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQg
U0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQ
Uk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwg
REFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLiAKKyAqLworCisjaW5jbHVkZSAiY29uZmlnX2xsdm0uaCIKKworI2lmIEhBVkUoTExW
TSkKKworLy8gVGhpcyBpcyBhIGhhY2sgZm9yIGVuc3VyaW5nIHRoYXQgdGhlIGJ1aWxkIHN5c3Rl
bSByZWxpbmtzIEphdmFTY3JpcHRDb3JlIGlmIGFueQorLy8gb2YgdGhlIExMVk0gbGlicmFyaWVz
IGFyZSBrbm93biB0byBoYXZlIGNoYW5nZWQuCisjaW5jbHVkZSAiV2ViS2l0TExWTUxpYnJhcnlU
b2tlbi5oIgorCisjZW5kaWYgLy8gSEFWRShMTFZNKQorCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGx2bS9saWJyYXJ5L0xMVk1FeHBvcnRzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGx2bS9saWJyYXJ5L0xMVk1FeHBvcnRzLmNwcAkocmV2aXNpb24gMCkK
KysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbHZtL2xpYnJhcnkvTExWTUV4cG9ydHMuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNTEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTMg
QXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVW
RU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBP
UiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAor
ICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4g
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICog
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4gCisgKi8KKworI2luY2x1ZGUgImNvbmZpZ19sbHZtLmgiCisKKyNpZiBIQVZF
KExMVk0pCisKKyNpbmNsdWRlICJMTFZNQVBJLmgiCisKK2V4dGVybiAiQyIgV1RGX0VYUE9SVF9Q
UklWQVRFIEpTQzo6TExWTUFQSSogaW5pdGlhbGl6ZUFuZEdldEpTQ0xMVk1BUEkoKTsKKworZXh0
ZXJuICJDIiBKU0M6OkxMVk1BUEkqIGluaXRpYWxpemVBbmRHZXRKU0NMTFZNQVBJKCkKK3sKKyAg
ICBMTFZNTGlua0luTUNKSVQoKTsKKyAgICBMTFZNSW5pdGlhbGl6ZU5hdGl2ZVRhcmdldCgpOwor
ICAgIExMVk1Jbml0aWFsaXplWDg2QXNtUHJpbnRlcigpOworICAgIExMVk1Jbml0aWFsaXplWDg2
RGlzYXNzZW1ibGVyKCk7CisgICAgCisgICAgSlNDOjpMTFZNQVBJKiByZXN1bHQgPSBuZXcgSlND
OjpMTFZNQVBJOworICAgIAorI2RlZmluZSBMTFZNX0FQSV9GVU5DVElPTl9BU1NJR05NRU5UKHJl
dHVyblR5cGUsIG5hbWUsIHNpZ25hdHVyZSkgXAorICAgIHJlc3VsdC0+bmFtZSA9IExMVk0jI25h
bWU7CisgICAgRk9SX0VBQ0hfTExWTV9BUElfRlVOQ1RJT04oTExWTV9BUElfRlVOQ1RJT05fQVNT
SUdOTUVOVCk7CisjdW5kZWYgTExWTV9BUElfRlVOQ1RJT05fQVNTSUdOTUVOVAorICAgIAorICAg
IHJldHVybiByZXN1bHQ7Cit9CisKKyNlbmRpZiAvLyBIQVZFKExMVk0pCkluZGV4OiBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGx2bS9saWJyYXJ5L0xMVk1PdmVycmlkZXMuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbHZtL2xpYnJhcnkvTExWTU92ZXJyaWRlcy5jcHAJ
KHJldmlzaW9uIDApCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvbGx2bS9saWJyYXJ5L0xMVk1P
dmVycmlkZXMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMzMgQEAKKy8qCisgKiBDb3B5
cmlnaHQgKEMpIDIwMTMgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25z
IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgor
ICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycg
QU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBC
RSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAor
ICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisgKi8KKworI2luY2x1ZGUgImNvbmZpZ19sbHZt
LmgiCisKKyNpZiBIQVZFKExMVk0pCisKK2V4dGVybiAiQyIgaW50IF9fY3hhX2F0ZXhpdCgpOwor
ZXh0ZXJuICJDIiBpbnQgX19jeGFfYXRleGl0KCkgeyByZXR1cm4gMDsgfQorCisjZW5kaWYgLy8g
SEFWRShMTFZNKQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2xsdm0vbGlicmFyeS9jb25m
aWdfbGx2bS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbHZtL2xpYnJh
cnkvY29uZmlnX2xsdm0uaAkocmV2aXNpb24gMCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bHZtL2xpYnJhcnkvY29uZmlnX2xsdm0uaAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDI4IEBA
CisvKgorICogQ29weXJpZ2h0IChDKSAyMDEzIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRp
c3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElO
Qy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBD
T05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1Ig
QlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQor
ICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorICovCisKKyNpbmNsdWRl
IDx3dGYvUGxhdGZvcm0uaD4KKyNpbmNsdWRlIDx3dGYvRXhwb3J0TWFjcm9zLmg+CisKSW5kZXg6
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0luaXRpYWxpemVUaHJlYWRpbmcuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0luaXRpYWxpemVUaHJl
YWRpbmcuY3BwCShyZXZpc2lvbiAxNTcyMDQpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9Jbml0aWFsaXplVGhyZWFkaW5nLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzQsMTMgKzM0
LDEzIEBACiAjaW5jbHVkZSAiSGVhcFN0YXRpc3RpY3MuaCIKICNpbmNsdWRlICJPcHRpb25zLmgi
CiAjaW5jbHVkZSAiSWRlbnRpZmllci5oIgorI2luY2x1ZGUgIkluaXRpYWxpemVMTFZNLmgiCiAj
aW5jbHVkZSAiSlNEYXRlTWF0aC5oIgogI2luY2x1ZGUgIkpTR2xvYmFsT2JqZWN0LmgiCiAjaW5j
bHVkZSAiSlNMb2NrLmgiCiAjaW5jbHVkZSAiTExJbnREYXRhLmgiCiAjaW5jbHVkZSAiV3JpdGVC
YXJyaWVyLmgiCiAjaW5jbHVkZSA8d3RmL2R0b2EuaD4KLSNpbmNsdWRlIDx3dGYvTExWTUhlYWRl
cnMuaD4KICNpbmNsdWRlIDx3dGYvVGhyZWFkaW5nLmg+CiAjaW5jbHVkZSA8d3RmL2R0b2EvY2Fj
aGVkLXBvd2Vycy5oPgogCkBAIC03MCwyNCArNzAsNiBAQCBzdGF0aWMgdm9pZCBpbml0aWFsaXpl
VGhyZWFkaW5nT25jZSgpCiAjaWYgRU5BQkxFKExMSU5UKQogICAgIExMSW50Ojppbml0aWFsaXpl
KCk7CiAjZW5kaWYKLSNpZiBIQVZFKExMVk0pCi0gICAgYm9vbCBmdGwgPSBmYWxzZTsKLSAgICBi
b29sIGRpc2Fzc2VtYmxlciA9IGZhbHNlOwotI2lmIEVOQUJMRShGVExfSklUKQotICAgIGZ0bCA9
IHRydWU7Ci0jZW5kaWYKLSNpZiBVU0UoTExWTV9ESVNBU1NFTUJMRVIpCi0gICAgZGlzYXNzZW1i
bGVyID0gdHJ1ZTsKLSNlbmRpZgotICAgIGlmIChmdGwpCi0gICAgICAgIExMVk1MaW5rSW5NQ0pJ
VCgpOwotICAgIGlmIChmdGwgfHwgZGlzYXNzZW1ibGVyKQotICAgICAgICBMTFZNSW5pdGlhbGl6
ZU5hdGl2ZVRhcmdldCgpOwotICAgIGlmIChmdGwpCi0gICAgICAgIExMVk1Jbml0aWFsaXplWDg2
QXNtUHJpbnRlcigpOwotICAgIGlmIChkaXNhc3NlbWJsZXIpCi0gICAgICAgIExMVk1Jbml0aWFs
aXplWDg2RGlzYXNzZW1ibGVyKCk7Ci0jZW5kaWYgLy8gSEFWRShMTFZNKQogfQogCiB2b2lkIGlu
aXRpYWxpemVUaHJlYWRpbmcoKQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
T3B0aW9ucy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL09w
dGlvbnMuaAkocmV2aXNpb24gMTU3MjA0KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvT3B0aW9ucy5oCSh3b3JraW5nIGNvcHkpCkBAIC0yMDUsOSArMjA1LDcgQEAgdHlwZWRlZiBP
cHRpb25SYW5nZSBvcHRpb25SYW5nZTsKICAgICB2KGJvb2wsIGxvZ0dDLCBmYWxzZSkgXAogICAg
IHYodW5zaWduZWQsIGdjTWF4SGVhcFNpemUsIDApIFwKICAgICB2KGJvb2wsIHJlY29yZEdDUGF1
c2VUaW1lcywgZmFsc2UpIFwKLSAgICB2KGJvb2wsIGxvZ0hlYXBTdGF0aXN0aWNzQXRFeGl0LCBm
YWxzZSkgXAotICAgIFwKLSAgICB2KGJvb2wsIG5ldmVyRGVsZXRlVk1JbkNvbW1hbmRMaW5lLCBm
YWxzZSkKKyAgICB2KGJvb2wsIGxvZ0hlYXBTdGF0aXN0aWNzQXRFeGl0LCBmYWxzZSkKIAogY2xh
c3MgT3B0aW9ucyB7CiBwdWJsaWM6CkluZGV4OiBTb3VyY2UvV1RGL0NoYW5nZUxvZwo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV1RGL0NoYW5nZUxvZwkocmV2aXNpb24gMTU3MjA0KQorKysgU291cmNl
L1dURi9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwyMCBAQAorMjAxMy0xMC0w
OSAgRmlsaXAgUGl6bG8gIDxmcGl6bG9AYXBwbGUuY29tPgorCisgICAgICAgIEZUTDogU29mdC1s
aW5rIExMVk0gYXMgYSB3b3JrYXJvdW5kIGZvciBMTFZNJ3Mgc3RhdGljIGluaXRpYWxpemVycyBh
bmQgZXhpdC10aW1lIGRlc3RydWN0b3JzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xMjI1NjYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKyAgICAgICAgCisgICAgICAgIFJlbW92ZSBhbGwgTExWTSBzdHVmZiBmcm9tIFdURiBz
aW5jZSB0byBnZXQgTExWTSB5b3UgbmVlZCB0byBzb2Z0LWxpbmsgYW5kIGl0J3MKKyAgICAgICAg
ZW50aXJlbHkgdGhlIHJlc3BvbnNpYmlsaXR5IG9mIEpTQyB0byBkbyB0aGF0LgorICAgICAgICAK
KyAgICAgICAgQWxzbyBmaXhlZCBhbiBleHBvcnQgZ29vZiB0aGF0IEkgZm91bmQgYWZ0ZXIgZml4
aW5nIHRoZSB3ZWFrIHRoaW5neSBzY3JpcHQgaW4gSlNDLgorCisgICAgICAgICogV1RGLnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogd3RmL0xMVk1IZWFkZXJzLmg6IFJlbW92
ZWQuCisgICAgICAgICogd3RmL3RleHQvQ1N0cmluZy5oOgorICAgICAgICAoV1RGOjpDU3RyaW5n
SGFzaDo6aGFzaCk6CisKIDIwMTMtMTAtMDkgIE1pY2hhZWwgU2Fib2ZmICA8bXNhYm9mZkBhcHBs
ZS5jb20+CiAKICAgICAgICAgQ2hhbmdlIHRvIHN0ZDo6dW5pcXVlX3B0ciBicmVha3Mgd3RmL0Rh
dGFMb2cuY3BwIHdoZW4gREFUQV9MT0dfVE9fRklMRSBzZXQgdG8gMQpJbmRleDogU291cmNlL1dU
Ri9XVEYueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvago9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV1RG
L1dURi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCShyZXZpc2lvbiAxNTcyMDQpCisrKyBTb3Vy
Y2UvV1RGL1dURi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCSh3b3JraW5nIGNvcHkpCkBAIC0z
MzAsNyArMzMwLDYgQEAKIAkJOUJEOEY0MEExNzZDMkFEODAwMDJEODY1IC8qIEF0b21pY1N0cmlu
Z1RhYmxlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEF0b21pY1N0cmluZ1RhYmxlLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCUE3MERBMDgyMTc5OUYwNEQwMDUyOUE5QiAvKiBJbnNlcnRpb24u
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSW5zZXJ0aW9uLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCUE3MERBMDgzMTc5OUYwNEQwMDUyOUE5QiAvKiBMaXN0RHVt
cC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBMaXN0RHVtcC5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwotCQlBNzM2QjM1ODE3OTlFMTFBMDBDNkYwNUUgLyogTExWTUhl
YWRlcnMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTExWTUhlYWRlcnMuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJQTc0ODc0NEYxN0EwQkRBRTAwRkEwNENCIC8qIFNpeENoYXJhY3Rlckhhc2gu
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU2l4Q2hhcmFjdGVySGFz
aC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUE3NDg3NDUwMTdBMEJEQUUwMEZB
MDRDQiAvKiBTaXhDaGFyYWN0ZXJIYXNoLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IFNpeENoYXJhY3Rlckhhc2guaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTc0
ODc0NTExN0EwQkRBRTAwRkEwNENCIC8qIFN0cmluZ0hhc2hEdW1wQ29udGV4dC5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTdHJpbmdIYXNoRHVtcENvbnRleHQuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTY3Miw3ICs2NzEsNiBAQAogCQkJCUE3MERBMDgyMTc5
OUYwNEQwMDUyOUE5QiAvKiBJbnNlcnRpb24uaCAqLywKIAkJCQlBNzBEQTA4MzE3OTlGMDREMDA1
MjlBOUIgLyogTGlzdER1bXAuaCAqLywKIAkJCQlBOEE0NzJDMTE1MUE4MjVBMDA0MTIzRkYgLyog
TGlzdEhhc2hTZXQuaCAqLywKLQkJCQlBNzM2QjM1ODE3OTlFMTFBMDBDNkYwNUUgLyogTExWTUhl
YWRlcnMuaCAqLywKIAkJCQlBOEE0NzJDMzE1MUE4MjVBMDA0MTIzRkYgLyogTG9ja2VyLmggKi8s
CiAJCQkJQThBNDcyQ0ExNTFBODI1QjAwNDEyM0ZGIC8qIE1ENS5jcHAgKi8sCiAJCQkJQThBNDcy
Q0IxNTFBODI1QjAwNDEyM0ZGIC8qIE1ENS5oICovLApJbmRleDogU291cmNlL1dURi93dGYvTExW
TUhlYWRlcnMuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV1RGL3d0Zi9MTFZNSGVhZGVycy5oCShy
ZXZpc2lvbiAxNTcyMDQpCisrKyBTb3VyY2UvV1RGL3d0Zi9MTFZNSGVhZGVycy5oCSh3b3JraW5n
IGNvcHkpCkBAIC0xLDYyICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTMgQXBwbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
Ci0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0g
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQotICogRVhQUkVTUyBP
UiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUK
LSAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9S
IEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNI
QUxMIEFQUExFIElOQy4gT1IKLSAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAotICogRVhFTVBMQVJZLCBPUiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogUFJP
Q1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERB
VEEsIE9SCi0gKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkgVEhFT1JZCi0gKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4gCi0gKi8KLQotI2lmbmRlZiBMTFZNSGVhZGVyc19oCi0jZGVmaW5lIExMVk1IZWFkZXJz
X2gKLQotI2luY2x1ZGUgPHd0Zi9QbGF0Zm9ybS5oPgotCi0jaWYgSEFWRShMTFZNKQotCi0vLyBJ
dCBpcyBuZWNlc3NhcnkgdG8gaW5jbHVkZSBMTFZNIGhlYWRlcnMgdmlhIHRoaXMgZmlsZSwgYmVj
YXVzZToKLS8vIC0gTExWTSByZXF1aXJlcyBkZWZpbmluZyB0aGluZ3MgdGhhdCB3ZSBkb24ndCBu
b3JtYWxseSBkZWZpbmUsIGFuZAotLy8gLSBMTFZNIGluY2x1ZGVzIGl0cyBDKysgaGVhZGVycyBm
cm9tIGl0cyBDIGhlYWRlcnMsIGFuZCBpdHMgQysrCi0vLyAgIGhlYWRlcnMgZG9uJ3QgY29tcGls
ZSBjbGVhbmx5IHdpdGggb3VyIHdhcm5pbmdzLgotCi0jdW5kZWYgX19TVERDX0xJTUlUX01BQ1JP
UwotI3VuZGVmIF9fU1REQ19DT05TVEFOVF9NQUNST1MKLSNkZWZpbmUgX19TVERDX0xJTUlUX01B
Q1JPUwotI2RlZmluZSBfX1NURENfQ09OU1RBTlRfTUFDUk9TCi0KLSNpZiBDT01QSUxFUihDTEFO
RykKLSNwcmFnbWEgY2xhbmcgZGlhZ25vc3RpYyBwdXNoCi0jcHJhZ21hIGNsYW5nIGRpYWdub3N0
aWMgaWdub3JlZCAiLVdtaXNzaW5nLW5vcmV0dXJuIgotI3ByYWdtYSBjbGFuZyBkaWFnbm9zdGlj
IGlnbm9yZWQgIi1XdW51c2VkLXBhcmFtZXRlciIKLSNlbmRpZgotCi0jaW5jbHVkZSA8bGx2bS1j
L0FuYWx5c2lzLmg+Ci0jaW5jbHVkZSA8bGx2bS1jL0NvcmUuaD4KLSNpbmNsdWRlIDxsbHZtLWMv
RGlzYXNzZW1ibGVyLmg+Ci0jaW5jbHVkZSA8bGx2bS1jL0V4ZWN1dGlvbkVuZ2luZS5oPgotI2lu
Y2x1ZGUgPGxsdm0tYy9UYXJnZXQuaD4KLSNpbmNsdWRlIDxsbHZtLWMvVHJhbnNmb3Jtcy9QYXNz
TWFuYWdlckJ1aWxkZXIuaD4KLQotI2lmIENPTVBJTEVSKENMQU5HKQotI3ByYWdtYSBjbGFuZyBk
aWFnbm9zdGljIHBvcAotI2VuZGlmCi0KLSNlbmRpZiAvLyBIQVZFKExMVk0pCi0KLSNlbmRpZiAv
LyBMTFZNSGVhZGVyc19oCkluZGV4OiBTb3VyY2UvV1RGL3d0Zi90ZXh0L0NTdHJpbmcuaAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV1RGL3d0Zi90ZXh0L0NTdHJpbmcuaAkocmV2aXNpb24gMTU3MjA0
KQorKysgU291cmNlL1dURi93dGYvdGV4dC9DU3RyaW5nLmgJKHdvcmtpbmcgY29weSkKQEAgLTk0
LDcgKzk0LDcgQEAgaW5saW5lIGJvb2wgb3BlcmF0b3IhPShjb25zdCBDU3RyaW5nJiBhLAogYm9v
bCBvcGVyYXRvcjwoY29uc3QgQ1N0cmluZyYgYSwgY29uc3QgQ1N0cmluZyYgYik7CiAKIHN0cnVj
dCBDU3RyaW5nSGFzaCB7Ci0gICAgV1RGX0VYUE9SVF9QUklWQVRFIHN0YXRpYyB1bnNpZ25lZCBo
YXNoKGNvbnN0IENTdHJpbmcmIHN0cmluZykgeyByZXR1cm4gc3RyaW5nLmhhc2goKTsgfQorICAg
IHN0YXRpYyB1bnNpZ25lZCBoYXNoKGNvbnN0IENTdHJpbmcmIHN0cmluZykgeyByZXR1cm4gc3Ry
aW5nLmhhc2goKTsgfQogICAgIFdURl9FWFBPUlRfUFJJVkFURSBzdGF0aWMgYm9vbCBlcXVhbChj
b25zdCBDU3RyaW5nJiBhLCBjb25zdCBDU3RyaW5nJiBiKTsKICAgICBzdGF0aWMgY29uc3QgYm9v
bCBzYWZlVG9Db21wYXJlVG9FbXB0eU9yRGVsZXRlZCA9IHRydWU7CiB9Owo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>213844</attachid>
            <date>2013-10-09 20:15:41 -0700</date>
            <delta_ts>2013-10-09 20:21:27 -0700</delta_ts>
            <desc>the patch</desc>
            <filename>blah.patch</filename>
            <type>text/plain</type>
            <size>159284</size>
            <attacher name="Filip Pizlo">fpizlo</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTU3MjA1KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE1MCBA
QAorMjAxMy0xMC0wOSAgRmlsaXAgUGl6bG8gIDxmcGl6bG9AYXBwbGUuY29tPgorCisgICAgICAg
IEZUTDogU29mdC1saW5rIExMVk0gYXMgYSB3b3JrYXJvdW5kIGZvciBMTFZNJ3Mgc3RhdGljIGlu
aXRpYWxpemVycyBhbmQgZXhpdC10aW1lIGRlc3RydWN0b3JzCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjI1NjYKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKyAgICAgICAgCisgICAgICAgIFRoZSBKU0MgcHJvamVjdCBub3cg
YnVpbGRzIGEgbGlibGx2bUZvckpTQy5keWxpYi4gSWYgRlRMIGlzIGVuYWJsZWQsIHRoaXMKKyAg
ICAgICAgZ2V0cyBjb3BpZWQgaW50byBKYXZhU2NyaXB0Q29yZS5mcmFtZXdvcmsvVmVyc2lvbnMv
QS9MaWJyYXJpZXMuIEpTQyB3aWxsCisgICAgICAgIGxvYWQgdGhlIGR5bGliIGJ5IGZpbmRpbmcg
aXQgdXNpbmcgTlNCdW5kbGUgQVBJcyBhbmQgdGhlbiBkb2luZyBkbG9wZW4oKS4KKyAgICAgICAg
VGhhdCB3aWxsIG9ubHkgaGFwcGVuIGxhemlseSwgd2hlbiBzb21ldGhpbmcgaGFwcGVucyB0aGF0
IHJlcXVpcmVzIExMVk0uCisgICAgICAgIAorICAgICAgICBUaGlzIG1vc3RseSB0YWtlcyBjYXJl
IG9mIExMVk0gc3RhdGljIGluaXRpYWxpemF0aW9uIG92ZXJoZWFkIGJ5IGRlZmVycmluZworICAg
ICAgICBpdCB1bnRpbCBpdCdzIHJlYWxseSBuZWVkZWQuCisgICAgICAgIAorICAgICAgICBUaGlz
IHRha2VzIGNhcmUgb2YgTExWTSdzIGV4aXQtdGltZSBkZXN0cnVjdG9ycyBiZWNhdXNlIGluc2lk
ZQorICAgICAgICBsaWJsbHZtRm9ySlNDLmR5bGliLCB3ZSBvdmVycmlkZSBfX2N4YV9hdGV4aXQu
CisgICAgICAgIAorICAgICAgICAqIENvbmZpZ3VyYXRpb25zL0phdmFTY3JpcHRDb3JlLnhjY29u
ZmlnOgorICAgICAgICAqIENvbmZpZ3VyYXRpb25zL0xMVk1Gb3JKU0MueGNjb25maWc6IEFkZGVk
LgorICAgICAgICAqIEphdmFTY3JpcHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6Cisg
ICAgICAgICogZGZnL0RGR1BsYW4uY3BwOgorICAgICAgICAoSlNDOjpERkc6OlBsYW46OmNvbXBp
bGVJblRocmVhZEltcGwpOgorICAgICAgICAqIGRpc2Fzc2VtYmxlci9MTFZNRGlzYXNzZW1ibGVy
LmNwcDoKKyAgICAgICAgKEpTQzo6dHJ5VG9EaXNhc3NlbWJsZVdpdGhMTFZNKToKKyAgICAgICAg
KiBmdGwvRlRMQWJicmV2aWF0ZWRUeXBlcy5oOgorICAgICAgICAqIGZ0bC9GVExBYmJyZXZpYXRp
b25zLmg6CisgICAgICAgIChKU0M6OkZUTDo6dm9pZFR5cGUpOgorICAgICAgICAoSlNDOjpGVEw6
OmludDFUeXBlKToKKyAgICAgICAgKEpTQzo6RlRMOjppbnQ4VHlwZSk6CisgICAgICAgIChKU0M6
OkZUTDo6aW50MTZUeXBlKToKKyAgICAgICAgKEpTQzo6RlRMOjppbnQzMlR5cGUpOgorICAgICAg
ICAoSlNDOjpGVEw6OmludDY0VHlwZSk6CisgICAgICAgIChKU0M6OkZUTDo6aW50UHRyVHlwZSk6
CisgICAgICAgIChKU0M6OkZUTDo6ZmxvYXRUeXBlKToKKyAgICAgICAgKEpTQzo6RlRMOjpkb3Vi
bGVUeXBlKToKKyAgICAgICAgKEpTQzo6RlRMOjpwb2ludGVyVHlwZSk6CisgICAgICAgIChKU0M6
OkZUTDo6c3RydWN0VHlwZSk6CisgICAgICAgIChKU0M6OkZUTDo6ZnVuY3Rpb25UeXBlKToKKyAg
ICAgICAgKEpTQzo6RlRMOjp0eXBlT2YpOgorICAgICAgICAoSlNDOjpGVEw6Om1kS2luZElEKToK
KyAgICAgICAgKEpTQzo6RlRMOjptZFN0cmluZyk6CisgICAgICAgIChKU0M6OkZUTDo6bWROb2Rl
KToKKyAgICAgICAgKEpTQzo6RlRMOjpzZXRNZXRhZGF0YSk6CisgICAgICAgIChKU0M6OkZUTDo6
YWRkRnVuY3Rpb24pOgorICAgICAgICAoSlNDOjpGVEw6OnNldExpbmthZ2UpOgorICAgICAgICAo
SlNDOjpGVEw6OnNldEZ1bmN0aW9uQ2FsbGluZ0NvbnYpOgorICAgICAgICAoSlNDOjpGVEw6Omdl
dFBhcmFtKToKKyAgICAgICAgKEpTQzo6RlRMOjpjb25zdEludCk6CisgICAgICAgIChKU0M6OkZU
TDo6Y29uc3RSZWFsKToKKyAgICAgICAgKEpTQzo6RlRMOjpjb25zdEludFRvUHRyKToKKyAgICAg
ICAgKEpTQzo6RlRMOjpjb25zdEJpdENhc3QpOgorICAgICAgICAoSlNDOjpGVEw6OmFwcGVuZEJh
c2ljQmxvY2spOgorICAgICAgICAoSlNDOjpGVEw6Omluc2VydEJhc2ljQmxvY2spOgorICAgICAg
ICAoSlNDOjpGVEw6OmJ1aWxkUGhpKToKKyAgICAgICAgKEpTQzo6RlRMOjphZGRJbmNvbWluZyk6
CisgICAgICAgIChKU0M6OkZUTDo6YnVpbGRBbGxvY2EpOgorICAgICAgICAoSlNDOjpGVEw6OmJ1
aWxkQWRkKToKKyAgICAgICAgKEpTQzo6RlRMOjpidWlsZFN1Yik6CisgICAgICAgIChKU0M6OkZU
TDo6YnVpbGRNdWwpOgorICAgICAgICAoSlNDOjpGVEw6OmJ1aWxkRGl2KToKKyAgICAgICAgKEpT
Qzo6RlRMOjpidWlsZFJlbSk6CisgICAgICAgIChKU0M6OkZUTDo6YnVpbGROZWcpOgorICAgICAg
ICAoSlNDOjpGVEw6OmJ1aWxkRkFkZCk6CisgICAgICAgIChKU0M6OkZUTDo6YnVpbGRGU3ViKToK
KyAgICAgICAgKEpTQzo6RlRMOjpidWlsZEZNdWwpOgorICAgICAgICAoSlNDOjpGVEw6OmJ1aWxk
RkRpdik6CisgICAgICAgIChKU0M6OkZUTDo6YnVpbGRGUmVtKToKKyAgICAgICAgKEpTQzo6RlRM
OjpidWlsZEZOZWcpOgorICAgICAgICAoSlNDOjpGVEw6OmJ1aWxkQW5kKToKKyAgICAgICAgKEpT
Qzo6RlRMOjpidWlsZE9yKToKKyAgICAgICAgKEpTQzo6RlRMOjpidWlsZFhvcik6CisgICAgICAg
IChKU0M6OkZUTDo6YnVpbGRTaGwpOgorICAgICAgICAoSlNDOjpGVEw6OmJ1aWxkQVNocik6Cisg
ICAgICAgIChKU0M6OkZUTDo6YnVpbGRMU2hyKToKKyAgICAgICAgKEpTQzo6RlRMOjpidWlsZE5v
dCk6CisgICAgICAgIChKU0M6OkZUTDo6YnVpbGRMb2FkKToKKyAgICAgICAgKEpTQzo6RlRMOjpi
dWlsZFN0b3JlKToKKyAgICAgICAgKEpTQzo6RlRMOjpidWlsZFNFeHQpOgorICAgICAgICAoSlND
OjpGVEw6OmJ1aWxkWkV4dCk6CisgICAgICAgIChKU0M6OkZUTDo6YnVpbGRGUFRvU0kpOgorICAg
ICAgICAoSlNDOjpGVEw6OmJ1aWxkRlBUb1VJKToKKyAgICAgICAgKEpTQzo6RlRMOjpidWlsZFNJ
VG9GUCk6CisgICAgICAgIChKU0M6OkZUTDo6YnVpbGRVSVRvRlApOgorICAgICAgICAoSlNDOjpG
VEw6OmJ1aWxkSW50Q2FzdCk6CisgICAgICAgIChKU0M6OkZUTDo6YnVpbGRGUENhc3QpOgorICAg
ICAgICAoSlNDOjpGVEw6OmJ1aWxkSW50VG9QdHIpOgorICAgICAgICAoSlNDOjpGVEw6OmJ1aWxk
UHRyVG9JbnQpOgorICAgICAgICAoSlNDOjpGVEw6OmJ1aWxkQml0Q2FzdCk6CisgICAgICAgIChK
U0M6OkZUTDo6YnVpbGRJQ21wKToKKyAgICAgICAgKEpTQzo6RlRMOjpidWlsZEZDbXApOgorICAg
ICAgICAoSlNDOjpGVEw6OmJ1aWxkQ2FsbCk6CisgICAgICAgIChKU0M6OkZUTDo6c2V0VGFpbENh
bGwpOgorICAgICAgICAoSlNDOjpGVEw6OmJ1aWxkRXh0cmFjdFZhbHVlKToKKyAgICAgICAgKEpT
Qzo6RlRMOjpidWlsZFNlbGVjdCk6CisgICAgICAgIChKU0M6OkZUTDo6YnVpbGRCcik6CisgICAg
ICAgIChKU0M6OkZUTDo6YnVpbGRDb25kQnIpOgorICAgICAgICAoSlNDOjpGVEw6OmJ1aWxkU3dp
dGNoKToKKyAgICAgICAgKEpTQzo6RlRMOjphZGRDYXNlKToKKyAgICAgICAgKEpTQzo6RlRMOjpi
dWlsZFJldCk6CisgICAgICAgIChKU0M6OkZUTDo6YnVpbGRVbnJlYWNoYWJsZSk6CisgICAgICAg
IChKU0M6OkZUTDo6ZHVtcE1vZHVsZSk6CisgICAgICAgIChKU0M6OkZUTDo6dmVyaWZ5TW9kdWxl
KToKKyAgICAgICAgKiBmdGwvRlRMQ29tcGlsZS5jcHA6CisgICAgICAgIChKU0M6OkZUTDo6Y29t
cGlsZSk6CisgICAgICAgICogZnRsL0ZUTEZhaWwuY3BwOgorICAgICAgICAoSlNDOjpGVEw6OmZh
aWwpOgorICAgICAgICAqIGZ0bC9GVExKSVRDb2RlLmg6CisgICAgICAgICogZnRsL0ZUTEpJVEZp
bmFsaXplci5oOgorICAgICAgICAqIGZ0bC9GVExMaW5rLmNwcDoKKyAgICAgICAgKiBmdGwvRlRM
TG93ZXJERkdUb0xMVk0uY3BwOgorICAgICAgICAoSlNDOjpGVEw6Okxvd2VyREZHVG9MTFZNOjps
b3dlcik6CisgICAgICAgICogZnRsL0ZUTE91dHB1dC5jcHA6CisgICAgICAgIChKU0M6OkZUTDo6
T3V0cHV0OjpPdXRwdXQpOgorICAgICAgICAoSlNDOjpGVEw6Ok91dHB1dDo6fk91dHB1dCk6Cisg
ICAgICAgICogZnRsL0ZUTE91dHB1dC5oOgorICAgICAgICAoSlNDOjpGVEw6Ok91dHB1dDo6YXBw
ZW5kVG8pOgorICAgICAgICAqIGZ0bC9GVExTdGF0ZS5jcHA6CisgICAgICAgIChKU0M6OkZUTDo6
U3RhdGU6OlN0YXRlKToKKyAgICAgICAgKEpTQzo6RlRMOjpTdGF0ZTo6flN0YXRlKToKKyAgICAg
ICAgKiBmdGwvV2ViS2l0TExWTUxpYnJhcnlBbmNob3IuY3BwOiBSZW1vdmVkLgorICAgICAgICAq
IGpzYy5jcHA6CisgICAgICAgIChqc2NtYWluKToKKyAgICAgICAgKiBsbHZtOiBBZGRlZC4KKyAg
ICAgICAgKiBsbHZtL0luaXRpYWxpemVMTFZNLmNwcDogQWRkZWQuCisgICAgICAgIChKU0M6Omlu
aXRpYWxpemVMTFZNKToKKyAgICAgICAgKiBsbHZtL0luaXRpYWxpemVMTFZNLmg6IEFkZGVkLgor
ICAgICAgICAqIGxsdm0vSW5pdGlhbGl6ZUxMVk1NYWMubW06IEFkZGVkLgorICAgICAgICAoSlND
Ojppbml0aWFsaXplTExWTUltcGwpOgorICAgICAgICAqIGxsdm0vSW5pdGlhbGl6ZUxMVk1QT1NJ
WC5jcHA6IEFkZGVkLgorICAgICAgICAoSlNDOjppbml0aWFsaXplTExWTVBPU0lYKToKKyAgICAg
ICAgKiBsbHZtL0luaXRpYWxpemVMTFZNUE9TSVguaDogQWRkZWQuCisgICAgICAgICogbGx2bS9M
TFZNQVBJLmNwcDogQWRkZWQuCisgICAgICAgICogbGx2bS9MTFZNQVBJLmg6IEFkZGVkLgorICAg
ICAgICAqIGxsdm0vTExWTUFQSUZ1bmN0aW9ucy5oOiBBZGRlZC4KKyAgICAgICAgKiBsbHZtL0xM
Vk1IZWFkZXJzLmg6IEFkZGVkLgorICAgICAgICAqIGxsdm0vbGlicmFyeTogQWRkZWQuCisgICAg
ICAgICogbGx2bS9saWJyYXJ5L0xMVk1BbmNob3IuY3BwOiBBZGRlZC4KKyAgICAgICAgKiBsbHZt
L2xpYnJhcnkvTExWTUV4cG9ydHMuY3BwOiBBZGRlZC4KKyAgICAgICAgKGluaXRpYWxpemVBbmRH
ZXRKU0NMTFZNQVBJKToKKyAgICAgICAgKiBsbHZtL2xpYnJhcnkvTExWTU92ZXJyaWRlcy5jcHA6
IEFkZGVkLgorICAgICAgICAoX19jeGFfYXRleGl0KToKKyAgICAgICAgKiBsbHZtL2xpYnJhcnkv
Y29uZmlnX2xsdm0uaDogQWRkZWQuCisgICAgICAgICogcnVudGltZS9Jbml0aWFsaXplVGhyZWFk
aW5nLmNwcDoKKyAgICAgICAgKEpTQzo6aW5pdGlhbGl6ZVRocmVhZGluZ09uY2UpOgorICAgICAg
ICAqIHJ1bnRpbWUvT3B0aW9ucy5oOgorCiAyMDEzLTEwLTA5ICBGaWxpcCBQaXpsbyAgPGZwaXps
b0BhcHBsZS5jb20+CiAKICAgICAgICAgTWlub3IgY2xlYW4tdXBzIGluIHRoZSBKU0MgWGNvZGUg
cHJvamVjdC4KSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qc2MuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qc2MuY3BwCShyZXZpc2lvbiAxNTcyMDQpCisrKyBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvanNjLmNwcAkod29ya2luZyBjb3B5KQpAQCAtODQ2LDEwICs4
NDYsMTAgQEAgaW50IGpzY21haW4oaW50IGFyZ2MsIGNoYXIqKiBhcmd2KQogICAgIC8vIE5vdGUg
dGhhdCB0aGUgb3B0aW9ucyBwYXJzaW5nIGNhbiBhZmZlY3QgVk0gY3JlYXRpb24sIGFuZCB0aHVz
CiAgICAgLy8gY29tZXMgZmlyc3QuCiAgICAgQ29tbWFuZExpbmUgb3B0aW9ucyhhcmdjLCBhcmd2
KTsKLSAgICBSZWZQdHI8Vk0+IHZtID0gVk06OmNyZWF0ZShMYXJnZUhlYXApOworICAgIFZNKiB2
bSA9IFZNOjpjcmVhdGUoTGFyZ2VIZWFwKS5sZWFrUmVmKCk7CiAgICAgaW50IHJlc3VsdDsKICAg
ICB7Ci0gICAgICAgIEFQSUVudHJ5U2hpbSBzaGltKHZtLmdldCgpKTsKKyAgICAgICAgQVBJRW50
cnlTaGltIHNoaW0odm0pOwogCiAgICAgICAgIGlmIChvcHRpb25zLm1fcHJvZmlsZSAmJiAhdm0t
Pm1fcGVyQnl0ZWNvZGVQcm9maWxlcikKICAgICAgICAgICAgIHZtLT5tX3BlckJ5dGVjb2RlUHJv
ZmlsZXIgPSBhZG9wdFB0cihuZXcgUHJvZmlsZXI6OkRhdGFiYXNlKCp2bSkpOwpAQCAtODcwLDE0
ICs4NzAsNiBAQCBpbnQganNjbWFpbihpbnQgYXJnYywgY2hhcioqIGFyZ3YpCiAgICAgICAgIH0K
ICAgICB9CiAgICAgCi0gICAgaWYgKE9wdGlvbnM6Om5ldmVyRGVsZXRlVk1JbkNvbW1hbmRMaW5l
KCkpIHsKLSAgICAgICAgSlNDOjpWTSogdGVtcCA9IHZtLnJlbGVhc2UoKS5sZWFrUmVmKCk7Ci0g
ICAgICAgIFVOVVNFRF9QQVJBTSh0ZW1wKTsKLSAgICB9IGVsc2UgewotICAgICAgICBKU0xvY2tI
b2xkZXIgbG9jaygqdm0pOwotICAgICAgICB2bS5jbGVhcigpOwotICAgIH0KLSAgICAKICAgICBy
ZXR1cm4gcmVzdWx0OwogfQogCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvQ29uZmlndXJh
dGlvbnMvSmF2YVNjcmlwdENvcmUueGNjb25maWcKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFT
Y3JpcHRDb3JlL0NvbmZpZ3VyYXRpb25zL0phdmFTY3JpcHRDb3JlLnhjY29uZmlnCShyZXZpc2lv
biAxNTcyMDQpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvQ29uZmlndXJhdGlvbnMvSmF2YVNj
cmlwdENvcmUueGNjb25maWcJKHdvcmtpbmcgY29weSkKQEAgLTM1LDE1ICszNSwxMSBAQCBKU1ZB
TFVFX01PREVMX3g4Nl82NCA9IDY0OwogLy8gUHJldmVudCBDKysgc3RhbmRhcmQgbGlicmFyeSBv
cGVyYXRvciBuZXcsIGRlbGV0ZSBhbmQgdGhlaXIgcmVsYXRlZCBleGNlcHRpb24gdHlwZXMgZnJv
bSBiZWluZyBleHBvcnRlZCBhcyB3ZWFrIHN5bWJvbHMuCiBPVEhFUl9MREZMQUdTX0hJREVfU1lN
Qk9MUyA9IC1XbCwtdW5leHBvcnRlZF9zeW1ib2wgLVdsLF9fWlRJU3Q5YmFkX2FsbG9jIC1XbCwt
dW5leHBvcnRlZF9zeW1ib2wgLVdsLF9fWlRJU3Q5ZXhjZXB0aW9uIC1XbCwtdW5leHBvcnRlZF9z
eW1ib2wgLVdsLF9fWlRTU3Q5YmFkX2FsbG9jIC1XbCwtdW5leHBvcnRlZF9zeW1ib2wgLVdsLF9f
WlRTU3Q5ZXhjZXB0aW9uIC1XbCwtdW5leHBvcnRlZF9zeW1ib2wgLVdsLF9fWmRsUHZTXyAtV2ws
LXVuZXhwb3J0ZWRfc3ltYm9sIC1XbCxfX1pud21QdiAtV2wsLWFsbF9sb2FkOwogCi1PVEhFUl9M
REZMQUdTX0xMVk0gPSAkKE9USEVSX0xERkxBR1NfTExWTV8kKEVOQUJMRV9GVExfSklUKSk7Ci1P
VEhFUl9MREZMQUdTX0xMVk1fID0gOwotT1RIRVJfTERGTEFHU19MTFZNX0VOQUJMRV9GVExfSklU
ID0gLWxwdGhyZWFkIC1sbSAtbExMVk1UYWJsZUdlbiAtbExMVk1EZWJ1Z0luZm8gLWxMTFZNT3B0
aW9uIC1sTExWTVg4NkRpc2Fzc2VtYmxlciAtbExMVk1YODZBc21QYXJzZXIgLWxMTFZNWDg2Q29k
ZUdlbiAtbExMVk1TZWxlY3Rpb25EQUcgLWxMTFZNQXNtUHJpbnRlciAtbExMVk1YODZEZXNjIC1s
TExWTVg4NkluZm8gLWxMTFZNWDg2QXNtUHJpbnRlciAtbExMVk1YODZVdGlscyAtbExMVk1JUlJl
YWRlciAtbExMVk1Bc21QYXJzZXIgLWxMTFZNTUNEaXNhc3NlbWJsZXIgLWxMTFZNTUNQYXJzZXIg
LWxMTFZNSW5zdHJ1bWVudGF0aW9uIC1sTExWTUJpdFJlYWRlciAtbExMVk1JbnRlcnByZXRlciAt
bExMVk1pcG8gLWxMTFZNVmVjdG9yaXplIC1sTExWTUxpbmtlciAtbExMVk1CaXRXcml0ZXIgLWxM
TFZNTUNKSVQgLWxMTFZNSklUIC1sTExWTUNvZGVHZW4gLWxMTFZNT2JqQ0FSQ09wdHMgLWxMTFZN
U2NhbGFyT3B0cyAtbExMVk1JbnN0Q29tYmluZSAtbExMVk1UcmFuc2Zvcm1VdGlscyAtbExMVk1p
cGEgLWxMTFZNQW5hbHlzaXMgLWxMTFZNUnVudGltZUR5bGQgLWxMTFZNRXhlY3V0aW9uRW5naW5l
IC1sTExWTVRhcmdldCAtbExMVk1NQyAtbExMVk1PYmplY3QgLWxMTFZNQ29yZSAtbExMVk1TdXBw
b3J0OwotCiBPVEhFUl9MREZMQUdTX0JBU0UgPSAtbG9iamMgLVdsLC1ZLDMgJChPVEhFUl9MREZM
QUdTX0hJREVfU1lNQk9MUyk7CiBPVEhFUl9MREZMQUdTID0gJChpbmhlcml0ZWQpICQoT1RIRVJf
TERGTEFHU18kKFBMQVRGT1JNX05BTUUpKTsKIE9USEVSX0xERkxBR1NfaXBob25lb3MgPSAkKE9U
SEVSX0xERkxBR1NfQkFTRSk7CiBPVEhFUl9MREZMQUdTX2lwaG9uZXNpbXVsYXRvciA9ICQoT1RI
RVJfTERGTEFHU19pcGhvbmVvcyk7Ci1PVEhFUl9MREZMQUdTX21hY29zeCA9ICQoT1RIRVJfTERG
TEFHU19CQVNFKSAkKE9USEVSX0xERkxBR1NfTExWTSkgLXN1Yl9saWJyYXJ5IGxpYm9iamMgLWZy
YW1ld29yayBDb3JlU2VydmljZXM7CitPVEhFUl9MREZMQUdTX21hY29zeCA9ICQoT1RIRVJfTERG
TEFHU19CQVNFKSAtc3ViX2xpYnJhcnkgbGlib2JqYyAtZnJhbWV3b3JrIENvcmVTZXJ2aWNlczsK
IEdDQ19QUkVGSVhfSEVBREVSID0gSmF2YVNjcmlwdENvcmVQcmVmaXguaDsKIEdDQ19TWU1CT0xT
X1BSSVZBVEVfRVhURVJOID0gWUVTOwogSEVBREVSX1NFQVJDSF9QQVRIUyA9ICIke0JVSUxUX1BS
T0RVQ1RTX0RJUn0vRGVyaXZlZFNvdXJjZXMvSmF2YVNjcmlwdENvcmUiICQoSEVBREVSX1NFQVJD
SF9QQVRIUyk7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvQ29uZmlndXJhdGlvbnMvTExW
TUZvckpTQy54Y2NvbmZpZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvQ29u
ZmlndXJhdGlvbnMvTExWTUZvckpTQy54Y2NvbmZpZwkocmV2aXNpb24gMCkKKysrIFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9Db25maWd1cmF0aW9ucy9MTFZNRm9ySlNDLnhjY29uZmlnCSh3b3JraW5n
IGNvcHkpCkBAIC0wLDAgKzEsNDQgQEAKKy8vIENvcHlyaWdodCAoQykgMjAxMyBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLworLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisvLyBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKy8v
IGFyZSBtZXQ6CisvLyAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAorLy8gICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorLy8gMi4gUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKy8vICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUKKy8vICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisvLworLy8gVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisvLyBFWFBSRVNTIE9SIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorLy8g
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQ
QVJUSUNVTEFSCisvLyBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwg
QVBQTEUgSU5DLiBPUgorLy8gQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisvLyBFWEVNUExBUlksIE9SIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisvLyBQUk9DVVJF
TUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwg
T1IKKy8vIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWSBUSEVPUlkKKy8vIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorLy8gKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisvLyBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LiAKKworI2luY2x1ZGUgIkZlYXR1cmVEZWZpbmVzLnhjY29uZmlnIgorI2luY2x1ZGUgIlZlcnNp
b24ueGNjb25maWciCisKKy8vIFByZXZlbnQgQysrIHN0YW5kYXJkIGxpYnJhcnkgb3BlcmF0b3Ig
bmV3LCBkZWxldGUgYW5kIHRoZWlyIHJlbGF0ZWQgZXhjZXB0aW9uIHR5cGVzIGZyb20gYmVpbmcg
ZXhwb3J0ZWQgYXMgd2VhayBzeW1ib2xzLgorT1RIRVJfTERGTEFHU19ISURFX1NZTUJPTFMgPSAt
V2wsLXVuZXhwb3J0ZWRfc3ltYm9sIC1XbCxfX1pUSVN0OWJhZF9hbGxvYyAtV2wsLXVuZXhwb3J0
ZWRfc3ltYm9sIC1XbCxfX1pUSVN0OWV4Y2VwdGlvbiAtV2wsLXVuZXhwb3J0ZWRfc3ltYm9sIC1X
bCxfX1pUU1N0OWJhZF9hbGxvYyAtV2wsLXVuZXhwb3J0ZWRfc3ltYm9sIC1XbCxfX1pUU1N0OWV4
Y2VwdGlvbiAtV2wsLXVuZXhwb3J0ZWRfc3ltYm9sIC1XbCxfX1pkbFB2U18gLVdsLC11bmV4cG9y
dGVkX3N5bWJvbCAtV2wsX19abndtUHYgLVdsLC1hbGxfbG9hZDsKKworT1RIRVJfTERGTEFHU19M
TFZNID0gJChPVEhFUl9MREZMQUdTX0xMVk1fJChFTkFCTEVfRlRMX0pJVCkpOworT1RIRVJfTERG
TEFHU19MTFZNXyA9IDsKK09USEVSX0xERkxBR1NfTExWTV9FTkFCTEVfRlRMX0pJVCA9IC1scHRo
cmVhZCAtbG0gLWxMTFZNVGFibGVHZW4gLWxMTFZNRGVidWdJbmZvIC1sTExWTU9wdGlvbiAtbExM
Vk1YODZEaXNhc3NlbWJsZXIgLWxMTFZNWDg2QXNtUGFyc2VyIC1sTExWTVg4NkNvZGVHZW4gLWxM
TFZNU2VsZWN0aW9uREFHIC1sTExWTUFzbVByaW50ZXIgLWxMTFZNWDg2RGVzYyAtbExMVk1YODZJ
bmZvIC1sTExWTVg4NkFzbVByaW50ZXIgLWxMTFZNWDg2VXRpbHMgLWxMTFZNSVJSZWFkZXIgLWxM
TFZNQXNtUGFyc2VyIC1sTExWTU1DRGlzYXNzZW1ibGVyIC1sTExWTU1DUGFyc2VyIC1sTExWTUlu
c3RydW1lbnRhdGlvbiAtbExMVk1CaXRSZWFkZXIgLWxMTFZNSW50ZXJwcmV0ZXIgLWxMTFZNaXBv
IC1sTExWTVZlY3Rvcml6ZSAtbExMVk1MaW5rZXIgLWxMTFZNQml0V3JpdGVyIC1sTExWTU1DSklU
IC1sTExWTUpJVCAtbExMVk1Db2RlR2VuIC1sTExWTU9iakNBUkNPcHRzIC1sTExWTVNjYWxhck9w
dHMgLWxMTFZNSW5zdENvbWJpbmUgLWxMTFZNVHJhbnNmb3JtVXRpbHMgLWxMTFZNaXBhIC1sTExW
TUFuYWx5c2lzIC1sTExWTVJ1bnRpbWVEeWxkIC1sTExWTUV4ZWN1dGlvbkVuZ2luZSAtbExMVk1U
YXJnZXQgLWxMTFZNTUMgLWxMTFZNT2JqZWN0IC1sTExWTUNvcmUgLWxMTFZNU3VwcG9ydDsKKwor
T1RIRVJfTERGTEFHU19CQVNFID0gLWxvYmpjIC1XbCwtWSwzICQoT1RIRVJfTERGTEFHU19ISURF
X1NZTUJPTFMpOworT1RIRVJfTERGTEFHUyA9ICQoaW5oZXJpdGVkKSAkKE9USEVSX0xERkxBR1Nf
JChQTEFURk9STV9OQU1FKSk7CitPVEhFUl9MREZMQUdTX2lwaG9uZW9zID0gJChPVEhFUl9MREZM
QUdTX0JBU0UpOworT1RIRVJfTERGTEFHU19pcGhvbmVzaW11bGF0b3IgPSAkKE9USEVSX0xERkxB
R1NfaXBob25lb3MpOworT1RIRVJfTERGTEFHU19tYWNvc3ggPSAkKE9USEVSX0xERkxBR1NfQkFT
RSkgJChPVEhFUl9MREZMQUdTX0xMVk0pCitHQ0NfU1lNQk9MU19QUklWQVRFX0VYVEVSTiA9IFlF
UzsKK0hFQURFUl9TRUFSQ0hfUEFUSFMgPSAiJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRT
b3VyY2VzL0phdmFTY3JpcHRDb3JlIiAkKEhFQURFUl9TRUFSQ0hfUEFUSFMpOworCitQUk9EVUNU
X05BTUUgPSBsbHZtRm9ySlNDOworRVhFQ1VUQUJMRV9QUkVGSVggPSBsaWI7CisKSW5kZXg6IFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCShyZXZpc2lvbiAxNTcyMDQpCisrKyBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkod29y
a2luZyBjb3B5KQpAQCAtMjU3LDcgKzI1Nyw2IEBACiAJCTBGNjM5NDg1MTVFNDgxMUIwMDZBNTk3
QyAvKiBERkdBcnJheU1vZGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDBGNjM5NDgyMTVFNDgxMTQwMDZBNTk3QyAvKiBERkdBcnJheU1vZGUuaCAqLzsg
c2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQkwRjY2RTE2QjE0
REYzRjE2MDBCN0IyRTQgLyogREZHQWRqYWNlbmN5TGlzdC5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEY2NkUxNjgxNERGM0YxMzAwQjdCMkU0IC8qIERG
R0FkamFjZW5jeUxpc3QuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCAp
OyB9OyB9OwogCQkwRjY2RTE2QzE0REYzRjE2MDBCN0IyRTQgLyogREZHRWRnZS5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEY2NkUxNjkxNERGM0YxMzAw
QjdCMkU0IC8qIERGR0VkZ2UuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRl
LCApOyB9OyB9OwotCQkwRjZFNUMxOTE3MjRBRjNEMDA1QzU3NEYgLyogV2ViS2l0TExWTUxpYnJh
cnlBbmNob3IuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gMEY2RTVDMTgxNzI0QUYzRDAwNUM1NzRGIC8qIFdlYktpdExMVk1MaWJyYXJ5QW5jaG9yLmNw
cCAqLzsgfTsKIAkJMEY3MDI1QTkxNzE0QjBGQTAwMzgyQzBFIC8qIERGR09TUkV4aXRDb21waWxl
ckNvbW1vbi5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSAwRjcwMjVBNzE3MTRCMEY4MDAzODJDMEUgLyogREZHT1NSRXhpdENvbXBpbGVyQ29tbW9uLmNw
cCAqLzsgfTsKIAkJMEY3MDI1QUExNzE0QjBGQzAwMzgyQzBFIC8qIERGR09TUkV4aXRDb21waWxl
ckNvbW1vbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
MEY3MDI1QTgxNzE0QjBGODAwMzgyQzBFIC8qIERGR09TUkV4aXRDb21waWxlckNvbW1vbi5oICov
OyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTBGNzE0Q0E0
MTZFQTkyRjAwMEYzRUJFQiAvKiBERkdCYWNrd2FyZHNQcm9wYWdhdGlvblBoYXNlLmNwcCBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGNzE0Q0ExMTZFQTky
RUQwMEYzRUJFQiAvKiBERkdCYWNrd2FyZHNQcm9wYWdhdGlvblBoYXNlLmNwcCAqLzsgfTsKQEAg
LTM3Miw2ICszNzEsMjIgQEAKIAkJMEZDODE1MTUxNDA1MTE5QjAwQ0ZBNjAzIC8qIFZUYWJsZVNw
ZWN0cnVtLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAw
RkM4MTUxNDE0MDUxMThEMDBDRkE2MDMgLyogVlRhYmxlU3BlY3RydW0uaCAqLzsgc2V0dGluZ3Mg
PSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQkwRkM4MTUxNjE0MDUxMUI1MDBD
RkE2MDMgLyogVlRhYmxlU3BlY3RydW0uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gMEZDODE1MTIxNDA1MTE4NjAwQ0ZBNjAzIC8qIFZUYWJsZVNwZWN0
cnVtLmNwcCAqLzsgfTsKIAkJMEZDQ0FFNDUxNkQwQ0Y3NDAwRDBDNjVCIC8qIFBhcnNlckVycm9y
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRkNDQUU0
MzE2RDBDRjZFMDBEMEM2NUIgLyogUGFyc2VyRXJyb3IuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklC
VVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQkwRkNFRkFCMDE4MDVDQTZEMDA0NzJDRTQgLyog
SW5pdGlhbGl6ZUxMVk0uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDBGQ0VGQUFFMTgwNUNBNkQwMDQ3MkNFNCAvKiBJbml0aWFsaXplTExWTS5oICovOyBz
ZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTBGQ0VGQUIxMTgw
NUNBNkQwMDQ3MkNFNCAvKiBJbml0aWFsaXplTExWTU1hYy5tbSBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGQ0VGQUFGMTgwNUNBNkQwMDQ3MkNFNCAvKiBJ
bml0aWFsaXplTExWTU1hYy5tbSAqLzsgfTsKKwkJMEZDRUZBQzExODA1RDk0RTAwNDcyQ0U0IC8q
IExMVk1PdmVycmlkZXMuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gMEZDRUZBQzAxODA1RDk0MTAwNDcyQ0U0IC8qIExMVk1PdmVycmlkZXMuY3BwICov
OyB9OworCQkwRkNFRkFDMzE4MDVFNzQwMDA0NzJDRTQgLyogTExWTUV4cG9ydHMuY3BwIGluIFNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZDRUZBQzIxODA1RTc0
MDAwNDcyQ0U0IC8qIExMVk1FeHBvcnRzLmNwcCAqLzsgfTsKKwkJMEZDRUZBQ0ExODA1RTc1NTAw
NDcyQ0U0IC8qIEluaXRpYWxpemVMTFZNLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDBGQ0VGQUM0MTgwNUU3NTUwMDQ3MkNFNCAvKiBJbml0aWFsaXpl
TExWTS5jcHAgKi87IH07CisJCTBGQ0VGQUNCMTgwNUU3NTUwMDQ3MkNFNCAvKiBJbml0aWFsaXpl
TExWTVBPU0lYLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDBGQ0VGQUM1MTgwNUU3NTUwMDQ3MkNFNCAvKiBJbml0aWFsaXplTExWTVBPU0lYLmNwcCAq
LzsgfTsKKwkJMEZDRUZBQ0MxODA1RTc1NTAwNDcyQ0U0IC8qIEluaXRpYWxpemVMTFZNUE9TSVgu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGQ0VGQUM2
MTgwNUU3NTUwMDQ3MkNFNCAvKiBJbml0aWFsaXplTExWTVBPU0lYLmggKi87IHNldHRpbmdzID0g
e0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMEZDRUZBQ0QxODA1RTc1NTAwNDcy
Q0U0IC8qIExMVk1BUEkuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gMEZDRUZBQzcxODA1RTc1NTAwNDcyQ0U0IC8qIExMVk1BUEkuY3BwICovOyB9Owor
CQkwRkNFRkFDRTE4MDVFNzU1MDA0NzJDRTQgLyogTExWTUFQSS5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZDRUZBQzgxODA1RTc1NTAwNDcyQ0U0IC8q
IExMVk1BUEkuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9
OworCQkwRkNFRkFDRjE4MDVFNzU1MDA0NzJDRTQgLyogTExWTUFQSUZ1bmN0aW9ucy5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZDRUZBQzkxODA1RTc1
NTAwNDcyQ0U0IC8qIExMVk1BUElGdW5jdGlvbnMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRF
UyA9IChQcml2YXRlLCApOyB9OyB9OworCQkwRkNFRkFEMTE4MDVFNzc5MDA0NzJDRTQgLyogTExW
TUFQSUZ1bmN0aW9ucy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gMEZDRUZBQzkxODA1RTc1NTAwNDcyQ0U0IC8qIExMVk1BUElGdW5jdGlvbnMuaCAqLzsg
fTsKKwkJMEZDRUZBRDMxODA1RURDQzAwNDcyQ0U0IC8qIExMVk1IZWFkZXJzLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRkNFRkFEMjE4MDVFRENDMDA0
NzJDRTQgLyogTExWTUhlYWRlcnMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2
YXRlLCApOyB9OyB9OworCQkwRkNFRkFENDE4MDVFRENDMDA0NzJDRTQgLyogTExWTUhlYWRlcnMu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGQ0VGQUQy
MTgwNUVEQ0MwMDQ3MkNFNCAvKiBMTFZNSGVhZGVycy5oICovOyB9OworCQkwRkNFRkFENzE4MDYx
NzQ2MDA0NzJDRTQgLyogTExWTUFuY2hvci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSAwRkNFRkFENjE4MDYxNzQ2MDA0NzJDRTQgLyogTExWTUFuY2hv
ci5jcHAgKi87IH07CisJCTBGQ0VGQURBMTgwNjIwREEwMDQ3MkNFNCAvKiBMTFZNQVBJLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRkNFRkFDODE4MDVF
NzU1MDA0NzJDRTQgLyogTExWTUFQSS5oICovOyB9OworCQkwRkNFRkFEQzE4MDY0QTE0MDA0NzJD
RTQgLyogY29uZmlnX2xsdm0uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDBGQ0VGQURCMTgwNjRBMTQwMDQ3MkNFNCAvKiBjb25maWdfbGx2bS5oICovOyB9
OwogCQkwRkQyQzkyNDE2RDAxRUU5MDBDNzgwM0YgLyogU3RydWN0dXJlSW5saW5lcy5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZEMkM5MjMxNkQwMUVF
OTAwQzc4MDNGIC8qIFN0cnVjdHVyZUlubGluZXMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRF
UyA9IChQcml2YXRlLCApOyB9OyB9OwogCQkwRkQzQzgyNjE0MTE1RDQwMDBGRDgxQ0IgLyogREZH
RHJpdmVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDBGRDNDODIwMTQxMTVDRjgwMEZEODFDQiAvKiBERkdEcml2ZXIuY3BwICovOyB9OwogCQkwRkQz
QzgyODE0MTE1RDRGMDBGRDgxQ0IgLyogREZHRHJpdmVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRkQzQzgyMjE0MTE1RDBFMDBGRDgxQ0IgLyogREZH
RHJpdmVyLmggKi87IH07CkBAIC0xMTgxLDYgKzExOTYsMTMgQEAKIC8qIEVuZCBQQlhCdWlsZEZp
bGUgc2VjdGlvbiAqLwogCiAvKiBCZWdpbiBQQlhDb250YWluZXJJdGVtUHJveHkgc2VjdGlvbiAq
LworCQkwRkNFRkFCQzE4MDVENjYzMDA0NzJDRTQgLyogUEJYQ29udGFpbmVySXRlbVByb3h5ICov
ID0geworCQkJaXNhID0gUEJYQ29udGFpbmVySXRlbVByb3h5OworCQkJY29udGFpbmVyUG9ydGFs
ID0gMDg2N0Q2OTBGRTg0MDI4RkMwMkFBQzA3IC8qIFByb2plY3Qgb2JqZWN0ICovOworCQkJcHJv
eHlUeXBlID0gMTsKKwkJCXJlbW90ZUdsb2JhbElEU3RyaW5nID0gMEZDRUZBQjUxODA1RDYxNjAw
NDcyQ0U0OworCQkJcmVtb3RlSW5mbyA9IGxsdm1Gb3JKU0M7CisJCX07CiAJCTBGRjkyMkQyMTRG
NDZCMkYwMDQxQTI0RSAvKiBQQlhDb250YWluZXJJdGVtUHJveHkgKi8gPSB7CiAJCQlpc2EgPSBQ
QlhDb250YWluZXJJdGVtUHJveHk7CiAJCQljb250YWluZXJQb3J0YWwgPSAwODY3RDY5MEZFODQw
MjhGQzAyQUFDMDcgLyogUHJvamVjdCBvYmplY3QgKi87CkBAIC0xNDcxLDcgKzE0OTMsNiBAQAog
CQkwRjYzOTQ4MjE1RTQ4MTE0MDA2QTU5N0MgLyogREZHQXJyYXlNb2RlLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgbmFtZSA9IERGR0FycmF5TW9kZS5oOyBwYXRoID0gZGZnL0RGR0FycmF5
TW9kZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkwRjY2RTE2ODE0REYzRjEzMDBC
N0IyRTQgLyogREZHQWRqYWNlbmN5TGlzdC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5h
bWUgPSBERkdBZGphY2VuY3lMaXN0Lmg7IHBhdGggPSBkZmcvREZHQWRqYWNlbmN5TGlzdC5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkwRjY2RTE2OTE0REYzRjEzMDBCN0IyRTQgLyog
REZHRWRnZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBERkdFZGdlLmg7IHBh
dGggPSBkZmcvREZHRWRnZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQkwRjZFNUMx
ODE3MjRBRjNEMDA1QzU3NEYgLyogV2ViS2l0TExWTUxpYnJhcnlBbmNob3IuY3BwICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gV2ViS2l0TExWTUxpYnJhcnlBbmNob3IuY3Bw
OyBwYXRoID0gZnRsL1dlYktpdExMVk1MaWJyYXJ5QW5jaG9yLmNwcDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJMEY3MDI1QTcxNzE0QjBGODAwMzgyQzBFIC8qIERGR09TUkV4aXRDb21w
aWxlckNvbW1vbi5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBERkdP
U1JFeGl0Q29tcGlsZXJDb21tb24uY3BwOyBwYXRoID0gZGZnL0RGR09TUkV4aXRDb21waWxlckNv
bW1vbi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTBGNzAyNUE4MTcxNEIwRjgw
MDM4MkMwRSAvKiBERkdPU1JFeGl0Q29tcGlsZXJDb21tb24uaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBuYW1lID0gREZHT1NSRXhpdENvbXBpbGVyQ29tbW9uLmg7IHBhdGggPSBkZmcvREZH
T1NSRXhpdENvbXBpbGVyQ29tbW9uLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTBG
NzE0Q0ExMTZFQTkyRUQwMEYzRUJFQiAvKiBERkdCYWNrd2FyZHNQcm9wYWdhdGlvblBoYXNlLmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IERGR0JhY2t3YXJkc1Byb3Bh
Z2F0aW9uUGhhc2UuY3BwOyBwYXRoID0gZGZnL0RGR0JhY2t3YXJkc1Byb3BhZ2F0aW9uUGhhc2Uu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTU5OCw2ICsxNjE5LDIxIEBACiAJ
CTBGQzgxNTE0MTQwNTExOEQwMENGQTYwMyAvKiBWVGFibGVTcGVjdHJ1bS5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBWVGFibGVTcGVjdHJ1bS5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQkwRkNCNDA4NTE1QzBBM0MzMDA0ODkzMkIgLyogU2xvdFZpc2l0b3JJbmxp
bmVzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNsb3RWaXNpdG9ySW5saW5l
cy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkwRkNDQUU0MzE2RDBDRjZFMDBEMEM2
NUIgLyogUGFyc2VyRXJyb3IuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUGFy
c2VyRXJyb3IuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEZDRUZBQUUxODA1Q0E2
RDAwNDcyQ0U0IC8qIEluaXRpYWxpemVMTFZNLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
bmFtZSA9IEluaXRpYWxpemVMTFZNLmg7IHBhdGggPSBsbHZtL0luaXRpYWxpemVMTFZNLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGQ0VGQUFGMTgwNUNBNkQwMDQ3MkNFNCAvKiBJ
bml0aWFsaXplTExWTU1hYy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgbmFt
ZSA9IEluaXRpYWxpemVMTFZNTWFjLm1tOyBwYXRoID0gbGx2bS9Jbml0aWFsaXplTExWTU1hYy5t
bTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEZDRUZBQjYxODA1RDYxNjAwNDcyQ0U0
IC8qIGxpYmxsdm1Gb3JKU0MuZHlsaWIgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZXhw
bGljaXRGaWxlVHlwZSA9ICJjb21waWxlZC5tYWNoLW8uZHlsaWIiOyBpbmNsdWRlSW5JbmRleCA9
IDA7IHBhdGggPSBsaWJsbHZtRm9ySlNDLmR5bGliOyBzb3VyY2VUcmVlID0gQlVJTFRfUFJPRFVD
VFNfRElSOyB9OworCQkwRkNFRkFCRTE4MDVEODY5MDA0NzJDRTQgLyogTExWTUZvckpTQy54Y2Nv
bmZpZyAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRl
eHQueGNjb25maWc7IHBhdGggPSBMTFZNRm9ySlNDLnhjY29uZmlnOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQkwRkNFRkFDMDE4MDVEOTQxMDA0NzJDRTQgLyogTExWTU92ZXJyaWRlcy5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBMTFZNT3ZlcnJpZGVzLmNwcDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKKwkJMEZDRUZBQzIxODA1RTc0MDAwNDcyQ0U0IC8qIExMVk1FeHBvcnRzLmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IExMVk1FeHBvcnRzLmNwcDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEZDRUZBQzQxODA1RTc1NTAwNDcyQ0U0IC8q
IEluaXRpYWxpemVMTFZNLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9
IEluaXRpYWxpemVMTFZNLmNwcDsgcGF0aCA9IGxsdm0vSW5pdGlhbGl6ZUxMVk0uY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRkNFRkFDNTE4MDVFNzU1MDA0NzJDRTQgLyogSW5p
dGlhbGl6ZUxMVk1QT1NJWC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUg
PSBJbml0aWFsaXplTExWTVBPU0lYLmNwcDsgcGF0aCA9IGxsdm0vSW5pdGlhbGl6ZUxMVk1QT1NJ
WC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGQ0VGQUM2MTgwNUU3NTUwMDQ3
MkNFNCAvKiBJbml0aWFsaXplTExWTVBPU0lYLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
bmFtZSA9IEluaXRpYWxpemVMTFZNUE9TSVguaDsgcGF0aCA9IGxsdm0vSW5pdGlhbGl6ZUxMVk1Q
T1NJWC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRkNFRkFDNzE4MDVFNzU1MDA0
NzJDRTQgLyogTExWTUFQSS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUg
PSBMTFZNQVBJLmNwcDsgcGF0aCA9IGxsdm0vTExWTUFQSS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCTBGQ0VGQUM4MTgwNUU3NTUwMDQ3MkNFNCAvKiBMTFZNQVBJLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IExMVk1BUEkuaDsgcGF0aCA9IGxsdm0vTExWTUFQ
SS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRkNFRkFDOTE4MDVFNzU1MDA0NzJD
RTQgLyogTExWTUFQSUZ1bmN0aW9ucy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUg
PSBMTFZNQVBJRnVuY3Rpb25zLmg7IHBhdGggPSBsbHZtL0xMVk1BUElGdW5jdGlvbnMuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEZDRUZBRDIxODA1RURDQzAwNDcyQ0U0IC8qIExM
Vk1IZWFkZXJzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IExMVk1IZWFkZXJz
Lmg7IHBhdGggPSBsbHZtL0xMVk1IZWFkZXJzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCTBGQ0VGQUQ2MTgwNjE3NDYwMDQ3MkNFNCAvKiBMTFZNQW5jaG9yLmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IExMVk1BbmNob3IuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQkwRkNFRkFEQjE4MDY0QTE0MDA0NzJDRTQgLyogY29uZmlnX2xsdm0u
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gY29uZmlnX2xsdm0uaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMEZEMkM5MjMxNkQwMUVFOTAwQzc4MDNGIC8qIFN0cnVj
dHVyZUlubGluZXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU3RydWN0dXJl
SW5saW5lcy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkwRkQzQzgyMDE0MTE1Q0Y4
MDBGRDgxQ0IgLyogREZHRHJpdmVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
bmFtZSA9IERGR0RyaXZlci5jcHA7IHBhdGggPSBkZmcvREZHRHJpdmVyLmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMEZEM0M4MjIxNDExNUQwRTAwRkQ4MUNCIC8qIERGR0RyaXZl
ci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBERkdEcml2ZXIuaDsgcGF0aCA9
IGRmZy9ERkdEcml2ZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTI0MzEsNiAr
MjQ2NywxMyBAQAogLyogRW5kIFBCWEZpbGVSZWZlcmVuY2Ugc2VjdGlvbiAqLwogCiAvKiBCZWdp
biBQQlhGcmFtZXdvcmtzQnVpbGRQaGFzZSBzZWN0aW9uICovCisJCTBGQ0VGQUIzMTgwNUQ2MTYw
MDQ3MkNFNCAvKiBGcmFtZXdvcmtzICovID0geworCQkJaXNhID0gUEJYRnJhbWV3b3Jrc0J1aWxk
UGhhc2U7CisJCQlidWlsZEFjdGlvbk1hc2sgPSAyMTQ3NDgzNjQ3OworCQkJZmlsZXMgPSAoCisJ
CQkpOworCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CisJCX07CiAJ
CTBGRjkyMkM2MTRGNDZCMTMwMDQxQTI0RSAvKiBGcmFtZXdvcmtzICovID0gewogCQkJaXNhID0g
UEJYRnJhbWV3b3Jrc0J1aWxkUGhhc2U7CiAJCQlidWlsZEFjdGlvbk1hc2sgPSAyMTQ3NDgzNjQ3
OwpAQCAtMjQ5OSw2ICsyNTQyLDcgQEAKIAkJCQkxNDEyMTEyMDBBNDg3OTNDMDA0ODAyNTUgLyog
bWluaWRvbSAqLywKIAkJCQkxNEJENTlCRjBBM0U4RjkwMDBCQUY1OUMgLyogdGVzdGFwaSAqLywK
IAkJCQk2NTExMjMwNTE0MDQ2QTRDMDAyQjEwMUQgLyogdGVzdFJlZ0V4cCAqLywKKwkJCQkwRkNF
RkFCNjE4MDVENjE2MDA0NzJDRTQgLyogbGlibGx2bUZvckpTQy5keWxpYiAqLywKIAkJCSk7CiAJ
CQluYW1lID0gUHJvZHVjdHM7CiAJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOwpAQCAtMjUzMSw2
ICsyNTc1LDcgQEAKIAkJCQkxNDI5RDc3QTBFRDIwRDczMDBCODk2MTkgLyogaW50ZXJwcmV0ZXIg
Ki8sCiAJCQkJMTQyOUQ5MkMwRUQyMkQ3MDAwQjg5NjE5IC8qIGppdCAqLywKIAkJCQkwRjQ2ODA5
QzE0QkE3RjREMDBCRkUyNzIgLyogbGxpbnQgKi8sCisJCQkJMEZDRUZBQUQxODA1Q0E0NDAwNDcy
Q0U0IC8qIGxsdm0gKi8sCiAJCQkJN0UzOUQ4MzcwRUMzQTM4ODAwM0FGMTFBIC8qIHBhcnNlciAq
LywKIAkJCQkwMzQ3NjhERkZGMzhBNTA0MTFEQjlDOEIgLyogUHJvZHVjdHMgKi8sCiAJCQkJOTVB
QjgzMUEwREE0MkM2OTAwQkM4M0YzIC8qIHByb2ZpbGVyICovLApAQCAtMjU4OCw2ICsyNjMzLDM1
IEBACiAJCQluYW1lID0gbGxpbnQ7CiAJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOwogCQl9Owor
CQkwRkNFRkFBRDE4MDVDQTQ0MDA0NzJDRTQgLyogbGx2bSAqLyA9IHsKKwkJCWlzYSA9IFBCWEdy
b3VwOworCQkJY2hpbGRyZW4gPSAoCisJCQkJMEZDRUZBQkYxODA1RDk0MTAwNDcyQ0U0IC8qIGxp
YnJhcnkgKi8sCisJCQkJMEZDRUZBQzQxODA1RTc1NTAwNDcyQ0U0IC8qIEluaXRpYWxpemVMTFZN
LmNwcCAqLywKKwkJCQkwRkNFRkFBRTE4MDVDQTZEMDA0NzJDRTQgLyogSW5pdGlhbGl6ZUxMVk0u
aCAqLywKKwkJCQkwRkNFRkFBRjE4MDVDQTZEMDA0NzJDRTQgLyogSW5pdGlhbGl6ZUxMVk1NYWMu
bW0gKi8sCisJCQkJMEZDRUZBQzUxODA1RTc1NTAwNDcyQ0U0IC8qIEluaXRpYWxpemVMTFZNUE9T
SVguY3BwICovLAorCQkJCTBGQ0VGQUM2MTgwNUU3NTUwMDQ3MkNFNCAvKiBJbml0aWFsaXplTExW
TVBPU0lYLmggKi8sCisJCQkJMEZDRUZBQzcxODA1RTc1NTAwNDcyQ0U0IC8qIExMVk1BUEkuY3Bw
ICovLAorCQkJCTBGQ0VGQUM4MTgwNUU3NTUwMDQ3MkNFNCAvKiBMTFZNQVBJLmggKi8sCisJCQkJ
MEZDRUZBQzkxODA1RTc1NTAwNDcyQ0U0IC8qIExMVk1BUElGdW5jdGlvbnMuaCAqLywKKwkJCQkw
RkNFRkFEMjE4MDVFRENDMDA0NzJDRTQgLyogTExWTUhlYWRlcnMuaCAqLywKKwkJCSk7CisJCQlu
YW1lID0gbGx2bTsKKwkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CisJCX07CisJCTBGQ0VGQUJG
MTgwNUQ5NDEwMDQ3MkNFNCAvKiBsaWJyYXJ5ICovID0geworCQkJaXNhID0gUEJYR3JvdXA7CisJ
CQljaGlsZHJlbiA9ICgKKwkJCQkwRkNFRkFEQjE4MDY0QTE0MDA0NzJDRTQgLyogY29uZmlnX2xs
dm0uaCAqLywKKwkJCQkwRkNFRkFENjE4MDYxNzQ2MDA0NzJDRTQgLyogTExWTUFuY2hvci5jcHAg
Ki8sCisJCQkJMEZDRUZBQzIxODA1RTc0MDAwNDcyQ0U0IC8qIExMVk1FeHBvcnRzLmNwcCAqLywK
KwkJCQkwRkNFRkFDMDE4MDVEOTQxMDA0NzJDRTQgLyogTExWTU92ZXJyaWRlcy5jcHAgKi8sCisJ
CQkpOworCQkJbmFtZSA9IGxpYnJhcnk7CisJCQlwYXRoID0gbGx2bS9saWJyYXJ5OworCQkJc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsKKwkJfTsKIAkJMEZFQTA5RkMxNzA1MTM3RjAwQkI3MjJDIC8q
IGZ0bCAqLyA9IHsKIAkJCWlzYSA9IFBCWEdyb3VwOwogCQkJY2hpbGRyZW4gPSAoCkBAIC0yNjUx
LDcgKzI3MjUsNiBAQAogCQkJCTBGREIyQ0M4MTczREE1MUUwMDdCM0MxQiAvKiBGVExWYWx1ZUZy
b21CbG9jay5oICovLAogCQkJCTBGMjM1QkNGMTcxNzhFMUMwMDY5MEM3RiAvKiBGVExWYWx1ZVNv
dXJjZS5jcHAgKi8sCiAJCQkJMEYyMzVCRDAxNzE3OEUxQzAwNjkwQzdGIC8qIEZUTFZhbHVlU291
cmNlLmggKi8sCi0JCQkJMEY2RTVDMTgxNzI0QUYzRDAwNUM1NzRGIC8qIFdlYktpdExMVk1MaWJy
YXJ5QW5jaG9yLmNwcCAqLywKIAkJCSk7CiAJCQluYW1lID0gZnRsOwogCQkJc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsKQEAgLTMwMDgsNiArMzA4MSw3IEBACiAJCTFDOTA1MTNFMEJBOUU4ODMwMDgx
RTlEMCAvKiBDb25maWd1cmF0aW9ucyAqLyA9IHsKIAkJCWlzYSA9IFBCWEdyb3VwOwogCQkJY2hp
bGRyZW4gPSAoCisJCQkJMEZDRUZBQkUxODA1RDg2OTAwNDcyQ0U0IC8qIExMVk1Gb3JKU0MueGNj
b25maWcgKi8sCiAJCQkJMUM5MDUxNDUwQkE5RThBNzAwODFFOUQwIC8qIEJhc2UueGNjb25maWcg
Ki8sCiAJCQkJMUM5MDUxNDQwQkE5RThBNzAwODFFOUQwIC8qIERlYnVnUmVsZWFzZS54Y2NvbmZp
ZyAqLywKIAkJCQk0NDkwOTdFRTBGOEY4MUI1MDA3NkEzMjcgLyogRmVhdHVyZURlZmluZXMueGNj
b25maWcgKi8sCkBAIC0zODgyLDYgKzM5NTYsMTcgQEAKIC8qIEVuZCBQQlhHcm91cCBzZWN0aW9u
ICovCiAKIC8qIEJlZ2luIFBCWEhlYWRlcnNCdWlsZFBoYXNlIHNlY3Rpb24gKi8KKwkJMEZDRUZB
QjQxODA1RDYxNjAwNDcyQ0U0IC8qIEhlYWRlcnMgKi8gPSB7CisJCQlpc2EgPSBQQlhIZWFkZXJz
QnVpbGRQaGFzZTsKKwkJCWJ1aWxkQWN0aW9uTWFzayA9IDIxNDc0ODM2NDc7CisJCQlmaWxlcyA9
ICgKKwkJCQkwRkNFRkFENDE4MDVFRENDMDA0NzJDRTQgLyogTExWTUhlYWRlcnMuaCBpbiBIZWFk
ZXJzICovLAorCQkJCTBGQ0VGQURBMTgwNjIwREEwMDQ3MkNFNCAvKiBMTFZNQVBJLmggaW4gSGVh
ZGVycyAqLywKKwkJCQkwRkNFRkFEMTE4MDVFNzc5MDA0NzJDRTQgLyogTExWTUFQSUZ1bmN0aW9u
cy5oIGluIEhlYWRlcnMgKi8sCisJCQkJMEZDRUZBREMxODA2NEExNDAwNDcyQ0U0IC8qIGNvbmZp
Z19sbHZtLmggaW4gSGVhZGVycyAqLywKKwkJCSk7CisJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBv
c3Rwcm9jZXNzaW5nID0gMDsKKwkJfTsKIAkJMTQ0MDA1QzcwQTUzMzhDNjAwMDVGMDYxIC8qIEhl
YWRlcnMgKi8gPSB7CiAJCQlpc2EgPSBQQlhIZWFkZXJzQnVpbGRQaGFzZTsKIAkJCWJ1aWxkQWN0
aW9uTWFzayA9IDIxNDc0ODM2NDc7CkBAIC0zOTQwLDYgKzQwMjUsNyBAQAogCQkJCTBGMEI4M0Ix
MTRCQ0Y3MTgwMDg4NUI0RiAvKiBDYWxsTGlua0luZm8uaCBpbiBIZWFkZXJzICovLAogCQkJCTBG
OTMzMjlFMTRDQTdEQzUwMDg1RjNDNiAvKiBDYWxsTGlua1N0YXR1cy5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJMEYwQjgzQjkxNEJDRjk1RjAwODg1QjRGIC8qIENhbGxSZXR1cm5PZmZzZXRUb0J5dGVj
b2RlT2Zmc2V0LmggaW4gSGVhZGVycyAqLywKKwkJCQkwRkNFRkFEMzE4MDVFRENDMDA0NzJDRTQg
LyogTExWTUhlYWRlcnMuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDNkFBQUU1MEUxRjQyNjUwMEFE
ODdEOCAvKiBDbGFzc0luZm8uaCBpbiBIZWFkZXJzICovLAogCQkJCTBGNzNEN0FGMTY1QTE0MzAw
MEFDQUI3MSAvKiBDbG9zdXJlQ2FsbFN0dWJSb3V0aW5lLmggaW4gSGVhZGVycyAqLywKIAkJCQk5
NjlBMDc5NzBFRDFEM0FFMDBGMUY2ODEgLyogQ29kZUJsb2NrLmggaW4gSGVhZGVycyAqLywKQEAg
LTM5NzAsNiArNDA1Niw3IEBACiAJCQkJQzIyMzlEMTgxNjI2MkJERDAwNUFDNUZEIC8qIENvcHlW
aXNpdG9yLmggaW4gSGVhZGVycyAqLywKIAkJCQlDMjIzOUQxOTE2MjYyQkREMDA1QUM1RkQgLyog
Q29weVZpc2l0b3JJbmxpbmVzLmggaW4gSGVhZGVycyAqLywKIAkJCQlDMjE4RDE0MDE2NTVDRkQ1
MDA2MkJCODEgLyogQ29weVdvcmtMaXN0LmggaW4gSGVhZGVycyAqLywKKwkJCQkwRkNFRkFDRjE4
MDVFNzU1MDA0NzJDRTQgLyogTExWTUFQSUZ1bmN0aW9ucy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
NURFNkU1QjMwRTE3MjhFQzAwMTgwNDA3IC8qIGNyZWF0ZV9oYXNoX3RhYmxlIGluIEhlYWRlcnMg
Ki8sCiAJCQkJMEY0MjZBNEIxNDYwQ0Q2RTAwMTMxRjhGIC8qIERhdGFGb3JtYXQuaCBpbiBIZWFk
ZXJzICovLAogCQkJCTBGMkI2NkRGMTdCNkI1QUIwMEE3QUUzRiAvKiBEYXRhVmlldy5oIGluIEhl
YWRlcnMgKi8sCkBAIC00MDg3LDYgKzQxNzQsNyBAQAogCQkJCTg2RUM5REQzMTMyOERGODIwMDJC
MkFENyAvKiBERkdTcGVjdWxhdGl2ZUpJVC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTdEODlEMDAx
N0EwQjhDQzAwNzczQUQ4IC8qIERGR1NTQUNvbnZlcnNpb25QaGFzZS5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJMEY2Mzk0NzgxNURDRTM0QjAwNkE1OTdDIC8qIERGR1N0cnVjdHVyZUFic3RyYWN0VmFs
dWUuaCBpbiBIZWFkZXJzICovLAorCQkJCTBGQ0VGQUNDMTgwNUU3NTUwMDQ3MkNFNCAvKiBJbml0
aWFsaXplTExWTVBPU0lYLmggaW4gSGVhZGVycyAqLywKIAkJCQkwRkMwOTdBMjE0NkIyOENDMDBD
RjI0NDIgLyogREZHVGh1bmtzLmggaW4gSGVhZGVycyAqLywKIAkJCQkwRjYzOTQzRjE1Qzc1RjE5
MDA2QTU5N0MgLyogREZHVHlwZUNoZWNrSG9pc3RpbmdQaGFzZS5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJMEZCRTBGNzcxNkMxREIxMjAwODJDNUU4IC8qIERGR1VuaWZpY2F0aW9uUGhhc2UuaCBpbiBI
ZWFkZXJzICovLApAQCAtNDE5Myw2ICs0MjgxLDcgQEAKIAkJCQlBNzg4NTNGQTE3OTcyNjI5MDAx
NDQwRTQgLyogSW50ZW5kZWRTdHJ1Y3R1cmVDaGFpbi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkMx
MTY2N0IwRTE5OUMwNTAwODA2NkREIC8qIEludGVybmFsRnVuY3Rpb24uaCBpbiBIZWFkZXJzICov
LAogCQkJCTE0MjlENzdDMEVEMjBENzMwMEI4OTYxOSAvKiBJbnRlcnByZXRlci5oIGluIEhlYWRl
cnMgKi8sCisJCQkJMEZDRUZBQjAxODA1Q0E2RDAwNDcyQ0U0IC8qIEluaXRpYWxpemVMTFZNLmgg
aW4gSGVhZGVycyAqLywKIAkJCQk4NjBCRDgwMTE0OEVBNkYyMDAxMTJCMkYgLyogSW50cmluc2lj
LmggaW4gSGVhZGVycyAqLywKIAkJCQlCQzE4QzQxMzBFMTZGNUNEMDBCMzQ0NjAgLyogSmF2YVNj
cmlwdC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkMxOEM0MTQwRTE2RjVDRDAwQjM0NDYwIC8qIEph
dmFTY3JpcHRDb3JlLmggaW4gSGVhZGVycyAqLywKQEAgLTQyNDYsNiArNDMzNSw3IEBACiAJCQkJ
QTcyMDI4QjgxNzk3NjAxRTAwOTgwMjhDIC8qIEpTQ1Rlc3RSdW5uZXJVdGlscy5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJMEYyQjY2RUMxN0I2QjVBQjAwQTdBRTNGIC8qIEpTRGF0YVZpZXcuaCBpbiBI
ZWFkZXJzICovLAogCQkJCTBGMkI2NkVFMTdCNkI1QUIwMEE3QUUzRiAvKiBKU0RhdGFWaWV3UHJv
dG90eXBlLmggaW4gSGVhZGVycyAqLywKKwkJCQkwRkNFRkFDRTE4MDVFNzU1MDA0NzJDRTQgLyog
TExWTUFQSS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTc4ODAxNDExNDcxQUQ5MjAwNDFCMDE2IC8q
IEpTRGF0ZU1hdGguaCBpbiBIZWFkZXJzICovLAogCQkJCUMyQTdGNjg4MTYwNDMyRDQwMEY3NkI5
OCAvKiBKU0Rlc3RydWN0aWJsZU9iamVjdC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJODZFM0M2MTQx
NjdCQUJENzAwNkQ3NjBBIC8qIEpTRXhwb3J0LmggaW4gSGVhZGVycyAqLywKQEAgLTQ1NjMsNiAr
NDY1MywyMyBAQAogLyogRW5kIFBCWEhlYWRlcnNCdWlsZFBoYXNlIHNlY3Rpb24gKi8KIAogLyog
QmVnaW4gUEJYTmF0aXZlVGFyZ2V0IHNlY3Rpb24gKi8KKwkJMEZDRUZBQjUxODA1RDYxNjAwNDcy
Q0U0IC8qIGxsdm1Gb3JKU0MgKi8gPSB7CisJCQlpc2EgPSBQQlhOYXRpdmVUYXJnZXQ7CisJCQli
dWlsZENvbmZpZ3VyYXRpb25MaXN0ID0gMEZDRUZBQjcxODA1RDYxNjAwNDcyQ0U0IC8qIEJ1aWxk
IGNvbmZpZ3VyYXRpb24gbGlzdCBmb3IgUEJYTmF0aXZlVGFyZ2V0ICJsbHZtRm9ySlNDIiAqLzsK
KwkJCWJ1aWxkUGhhc2VzID0gKAorCQkJCTBGQ0VGQUIyMTgwNUQ2MTYwMDQ3MkNFNCAvKiBTb3Vy
Y2VzICovLAorCQkJCTBGQ0VGQUIzMTgwNUQ2MTYwMDQ3MkNFNCAvKiBGcmFtZXdvcmtzICovLAor
CQkJCTBGQ0VGQUI0MTgwNUQ2MTYwMDQ3MkNFNCAvKiBIZWFkZXJzICovLAorCQkJKTsKKwkJCWJ1
aWxkUnVsZXMgPSAoCisJCQkpOworCQkJZGVwZW5kZW5jaWVzID0gKAorCQkJKTsKKwkJCW5hbWUg
PSBsbHZtRm9ySlNDOworCQkJcHJvZHVjdE5hbWUgPSBsbHZtRm9ySlNDOworCQkJcHJvZHVjdFJl
ZmVyZW5jZSA9IDBGQ0VGQUI2MTgwNUQ2MTYwMDQ3MkNFNCAvKiBsaWJsbHZtRm9ySlNDLmR5bGli
ICovOworCQkJcHJvZHVjdFR5cGUgPSAiY29tLmFwcGxlLnByb2R1Y3QtdHlwZS5saWJyYXJ5LmR5
bmFtaWMiOworCQl9OwogCQkwRkY5MjJDMzE0RjQ2QjEzMDA0MUEyNEUgLyogSlNDTExJbnRPZmZz
ZXRzRXh0cmFjdG9yICovID0gewogCQkJaXNhID0gUEJYTmF0aXZlVGFyZ2V0OwogCQkJYnVpbGRD
b25maWd1cmF0aW9uTGlzdCA9IDBGRjkyMkNBMTRGNDZCMTMwMDQxQTI0RSAvKiBCdWlsZCBjb25m
aWd1cmF0aW9uIGxpc3QgZm9yIFBCWE5hdGl2ZVRhcmdldCAiSlNDTExJbnRPZmZzZXRzRXh0cmFj
dG9yIiAqLzsKQEAgLTQ2NDMsNiArNDc1MCw3IEBACiAJCQkJMzczMjgxMUExN0ZDRDIzNTAwNEFE
NTE5IC8qIFBvc3Rwcm9jZXNzIEhlYWRlcnMgKi8sCiAJCQkJOTMyRjVCOTEwODIyQTFDNzAwNzM2
OTc1IC8qIFNvdXJjZXMgKi8sCiAJCQkJOTMyRjVCRDIwODIyQTFDNzAwNzM2OTc1IC8qIEZyYW1l
d29ya3MgKi8sCisJCQkJMEZDRUZBRDkxODA2MTkxODAwNDcyQ0U0IC8qIENvcHkgTExWTSBMaWJy
YXJ5IEludG8gRnJhbWV3b3JrICovLAogCQkJCTVEMjlEOEJFMEU5ODYwQjQwMEMzRDJEMCAvKiBD
aGVjayBGb3IgV2VhayBWVGFibGVzIGFuZCBFeHRlcm5hbHMgKi8sCiAJCQkJMzcxM0YwMTQxNDI5
MDUyNDAwMzYzODdGIC8qIENoZWNrIEZvciBJbmFwcHJvcHJpYXRlIE9iamVjdGl2ZS1DIENsYXNz
IE5hbWVzICovLAogCQkJCUE1NURFQUE0MTY3MDNERjcwMDNEQjg0MSAvKiBDaGVjayBGb3IgSW5h
cHByb3ByaWF0ZSBNYWNyb3MgaW4gRXh0ZXJuYWwgSGVhZGVycyAqLywKQEAgLTQ2NTAsNiArNDc1
OCw3IEBACiAJCQlidWlsZFJ1bGVzID0gKAogCQkJKTsKIAkJCWRlcGVuZGVuY2llcyA9ICgKKwkJ
CQkwRkNFRkFCRDE4MDVENjYzMDA0NzJDRTQgLyogUEJYVGFyZ2V0RGVwZW5kZW5jeSAqLywKIAkJ
CQk2NUZCM0Y3RTA5RDExRUYzMDBGNDlERUIgLyogUEJYVGFyZ2V0RGVwZW5kZW5jeSAqLywKIAkJ
CSk7CiAJCQluYW1lID0gSmF2YVNjcmlwdENvcmU7CkBAIC00NzEwLDYgKzQ4MTksNyBAQAogCQkJ
CTBGNDY4MEE5MTRCQTdGRDkwMEJGRTI3MiAvKiBMTEludCBPZmZzZXRzICovLAogCQkJCTBGRjky
MkMzMTRGNDZCMTMwMDQxQTI0RSAvKiBKU0NMTEludE9mZnNldHNFeHRyYWN0b3IgKi8sCiAJCQkJ
NUQ2QjJBNDcxNTJCOUUxNzAwNTIzMURFIC8qIFRlc3QgVG9vbHMgKi8sCisJCQkJMEZDRUZBQjUx
ODA1RDYxNjAwNDcyQ0U0IC8qIGxsdm1Gb3JKU0MgKi8sCiAJCQkpOwogCQl9OwogLyogRW5kIFBC
WFByb2plY3Qgc2VjdGlvbiAqLwpAQCAtNDczMSw2ICs0ODQxLDIxIEBACiAJCQlzaGVsbFBhdGgg
PSAvYmluL3NoOwogCQkJc2hlbGxTY3JpcHQgPSAibWtkaXIgLXAgXCIke0JVSUxUX1BST0RVQ1RT
X0RJUn0vTExJbnRPZmZzZXRzL1wiXG5cbi91c3IvYmluL2VudiBydWJ5IFwiJHtTUkNST09UfS9v
ZmZsaW5lYXNtL2dlbmVyYXRlX29mZnNldF9leHRyYWN0b3IucmJcIiBcIiR7U1JDUk9PVH0vbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc21cIiBcIiR7QlVJTFRfUFJPRFVDVFNfRElSfS9MTElu
dE9mZnNldHMvTExJbnREZXNpcmVkT2Zmc2V0cy5oXCJcbiI7CiAJCX07CisJCTBGQ0VGQUQ5MTgw
NjE5MTgwMDQ3MkNFNCAvKiBDb3B5IExMVk0gTGlicmFyeSBJbnRvIEZyYW1ld29yayAqLyA9IHsK
KwkJCWlzYSA9IFBCWFNoZWxsU2NyaXB0QnVpbGRQaGFzZTsKKwkJCWJ1aWxkQWN0aW9uTWFzayA9
IDIxNDc0ODM2NDc7CisJCQlmaWxlcyA9ICgKKwkJCSk7CisJCQlpbnB1dFBhdGhzID0gKAorCQkJ
CSIkKEJVSUxUX1BST0RVQ1RTX0RJUikvbGlibGx2bUZvckpTQy5keWxpYiIsCisJCQkpOworCQkJ
bmFtZSA9ICJDb3B5IExMVk0gTGlicmFyeSBJbnRvIEZyYW1ld29yayI7CisJCQlvdXRwdXRQYXRo
cyA9ICgKKwkJCSk7CisJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsK
KwkJCXNoZWxsUGF0aCA9IC9iaW4vc2g7CisJCQlzaGVsbFNjcmlwdCA9ICJpZiBbWyAkRU5BQkxF
X0ZUTF9KSVQgIT0gXCJFTkFCTEVfRlRMX0pJVFwiIF1dXG50aGVuXG4gICAgZXhpdCAwXG5maVxu
XG4jIENvcHkgdGhlIGxsdm1Gb3JKU0MgbGlicmFyeSBpbnRvIHRoZSBmcmFtZXdvcmsuXG5kaXR0
byBcIiR7QlVJTFRfUFJPRFVDVFNfRElSfS9saWJsbHZtRm9ySlNDLmR5bGliXCIgXCIke0JVSUxU
X1BST0RVQ1RTX0RJUn0vJHtDT05URU5UU19GT0xERVJfUEFUSH0vTGlicmFyaWVzL2xpYmxsdm1G
b3JKU0MuZHlsaWJcIlxubG4gLWZzIFwiVmVyc2lvbnMvQ3VycmVudC9MaWJyYXJpZXNcIiBcIiR7
QlVJTFRfUFJPRFVDVFNfRElSfS8ke1dSQVBQRVJfTkFNRX0vTGlicmFyaWVzXCIiOworCQl9Owog
CQkzNzEzRjAxNDE0MjkwNTI0MDAzNjM4N0YgLyogQ2hlY2sgRm9yIEluYXBwcm9wcmlhdGUgT2Jq
ZWN0aXZlLUMgQ2xhc3MgTmFtZXMgKi8gPSB7CiAJCQlpc2EgPSBQQlhTaGVsbFNjcmlwdEJ1aWxk
UGhhc2U7CiAJCQlidWlsZEFjdGlvbk1hc2sgPSAyMTQ3NDgzNjQ3OwpAQCAtNDc3OCw3ICs0OTAz
LDcgQEAKIAkJCSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsK
IAkJCXNoZWxsUGF0aCA9IC9iaW4vc2g7Ci0JCQlzaGVsbFNjcmlwdCA9ICIjIEZJWE1FOiA8cmRh
cjovL3Byb2JsZW0vMTM1Mzk4ODg+IExMVk0gbGlicmFyaWVzIHNob3VsZG4ndCBoYXZlIHdlYWsg
dnRhYmxlc1xuZXhpdCAwXG5cbmlmIFsgLWYgLi4vLi4vVG9vbHMvU2NyaXB0cy9jaGVjay1mb3It
d2Vhay12dGFibGVzLWFuZC1leHRlcm5hbHMgXTsgdGhlblxuICAgIC4uLy4uL1Rvb2xzL1Njcmlw
dHMvY2hlY2stZm9yLXdlYWstdnRhYmxlcy1hbmQtZXh0ZXJuYWxzIHx8IGV4aXQgJD9cbmZpIjsK
KwkJCXNoZWxsU2NyaXB0ID0gImlmIFsgLWYgLi4vLi4vVG9vbHMvU2NyaXB0cy9jaGVjay1mb3It
d2Vhay12dGFibGVzLWFuZC1leHRlcm5hbHMgXTsgdGhlblxuICAgIC4uLy4uL1Rvb2xzL1Njcmlw
dHMvY2hlY2stZm9yLXdlYWstdnRhYmxlcy1hbmQtZXh0ZXJuYWxzIHx8IGV4aXQgJD9cbmZpIjsK
IAkJfTsKIAkJNUQyRjdDRjkwQzY4NzVCQjAwQjVCNzJCIC8qIFVwZGF0ZSBJbmZvLnBsaXN0IHdp
dGggdmVyc2lvbiBpbmZvcm1hdGlvbiAqLyA9IHsKIAkJCWlzYSA9IFBCWFNoZWxsU2NyaXB0QnVp
bGRQaGFzZTsKQEAgLTQ4NzYsNiArNTAwMSwxNiBAQAogLyogRW5kIFBCWFNoZWxsU2NyaXB0QnVp
bGRQaGFzZSBzZWN0aW9uICovCiAKIC8qIEJlZ2luIFBCWFNvdXJjZXNCdWlsZFBoYXNlIHNlY3Rp
b24gKi8KKwkJMEZDRUZBQjIxODA1RDYxNjAwNDcyQ0U0IC8qIFNvdXJjZXMgKi8gPSB7CisJCQlp
c2EgPSBQQlhTb3VyY2VzQnVpbGRQaGFzZTsKKwkJCWJ1aWxkQWN0aW9uTWFzayA9IDIxNDc0ODM2
NDc7CisJCQlmaWxlcyA9ICgKKwkJCQkwRkNFRkFDMzE4MDVFNzQwMDA0NzJDRTQgLyogTExWTUV4
cG9ydHMuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMEZDRUZBRDcxODA2MTc0NjAwNDcyQ0U0IC8q
IExMVk1BbmNob3IuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMEZDRUZBQzExODA1RDk0RTAwNDcy
Q0U0IC8qIExMVk1PdmVycmlkZXMuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkpOworCQkJcnVuT25s
eUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CisJCX07CiAJCTBGRjkyMkM0MTRGNDZC
MTMwMDQxQTI0RSAvKiBTb3VyY2VzICovID0gewogCQkJaXNhID0gUEJYU291cmNlc0J1aWxkUGhh
c2U7CiAJCQlidWlsZEFjdGlvbk1hc2sgPSAyMTQ3NDgzNjQ3OwpAQCAtNDkzNiw2ICs1MDcxLDcg
QEAKIAkJCQkxNDI4MDg2NTEwN0VDMTFBMDAxM0U3QjIgLyogQm9vbGVhblByb3RvdHlwZS5jcHAg
aW4gU291cmNlcyAqLywKIAkJCQkxNDhGMjFBQTEwN0VDNTNBMDA0MkVDMkMgLyogQnl0ZWNvZGVH
ZW5lcmF0b3IuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMTQyODA4MkQxMDdFQzA1NzAwMTNFN0Iy
IC8qIENhbGxEYXRhLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTBGQ0VGQUIxMTgwNUNBNkQwMDQ3
MkNFNCAvKiBJbml0aWFsaXplTExWTU1hYy5tbSBpbiBTb3VyY2VzICovLAogCQkJCTE0MjlEOERE
MEVEMjIwNUIwMEI4OTYxOSAvKiBDYWxsRnJhbWUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMEYw
QjgzQjAxNEJDRjcxNjAwODg1QjRGIC8qIENhbGxMaW5rSW5mby5jcHAgaW4gU291cmNlcyAqLywK
IAkJCQkwRjkzMzI5RDE0Q0E3REMzMDA4NUYzQzYgLyogQ2FsbExpbmtTdGF0dXMuY3BwIGluIFNv
dXJjZXMgKi8sCkBAIC01MDc1LDYgKzUyMTEsNyBAQAogCQkJCTBGMjM1QkQxMTcxNzhFMUMwMDY5
MEM3RiAvKiBGVExDQXJndW1lbnRHZXR0ZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMEZFQTBB
MjcxNzA5NjIzQjAwQkI3MjJDIC8qIEZUTENvbW1vblZhbHVlcy5jcHAgaW4gU291cmNlcyAqLywK
IAkJCQkwRkVBMEEwQjE3MDUxM0RCMDBCQjcyMkMgLyogRlRMQ29tcGlsZS5jcHAgaW4gU291cmNl
cyAqLywKKwkJCQkwRkNFRkFDRDE4MDVFNzU1MDA0NzJDRTQgLyogTExWTUFQSS5jcHAgaW4gU291
cmNlcyAqLywKIAkJCQkwRjIzNUJEMzE3MTc4RTFDMDA2OTBDN0YgLyogRlRMRXhpdEFyZ3VtZW50
LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTBGMjM1QkQ1MTcxNzhFMUMwMDY5MEM3RiAvKiBGVExF
eGl0QXJndW1lbnRGb3JPcGVyYW5kLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTBGMjM1QkQ4MTcx
NzhFMUMwMDY5MEM3RiAvKiBGVExFeGl0VGh1bmtHZW5lcmF0b3IuY3BwIGluIFNvdXJjZXMgKi8s
CkBAIC01MDkyLDYgKzUyMjksNyBAQAogCQkJCTBGMjM1QkUxMTcxNzhFMUMwMDY5MEM3RiAvKiBG
VExUaHVua3MuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMEYyMzVCRTMxNzE3OEUxQzAwNjkwQzdG
IC8qIEZUTFZhbHVlRm9ybWF0LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTBGMjM1QkU1MTcxNzhF
MUMwMDY5MEM3RiAvKiBGVExWYWx1ZVNvdXJjZS5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkwRkNF
RkFDQTE4MDVFNzU1MDA0NzJDRTQgLyogSW5pdGlhbGl6ZUxMVk0uY3BwIGluIFNvdXJjZXMgKi8s
CiAJCQkJMTQ3RjM5Q0IxMDdFQzM3NjAwNDI3QTQ4IC8qIEZ1bmN0aW9uQ29uc3RydWN0b3IuY3Bw
IGluIFNvdXJjZXMgKi8sCiAJCQkJMEZGMEYxOUYxNkI3MkExNzAwNURGOTVCIC8qIEZ1bmN0aW9u
RXhlY3V0YWJsZUR1bXAuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMTQ3RjM5Q0MxMDdFQzM3NjAw
NDI3QTQ4IC8qIEZ1bmN0aW9uUHJvdG90eXBlLmNwcCBpbiBTb3VyY2VzICovLApAQCAtNTI1OSw2
ICs1Mzk3LDcgQEAKIAkJCQk5NUFCODM1NjBEQTQzQzMwMDBCQzgzRjMgLyogUHJvZmlsZU5vZGUu
Y3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMEZGNzI5QUQxNjZBRDM1QzAwMEY1QkEzIC8qIFByb2Zp
bGVyQnl0ZWNvZGUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMEZGNzI5QUUxNjZBRDM1QzAwMEY1
QkEzIC8qIFByb2ZpbGVyQnl0ZWNvZGVzLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTBGQ0VGQUNC
MTgwNUU3NTUwMDQ3MkNFNCAvKiBJbml0aWFsaXplTExWTVBPU0lYLmNwcCBpbiBTb3VyY2VzICov
LAogCQkJCTBGMTM5MTI5MTY3NzFDMzMwMDlDQ0IwNyAvKiBQcm9maWxlckJ5dGVjb2RlU2VxdWVu
Y2UuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMEZGNzI5QUYxNjZBRDM1QzAwMEY1QkEzIC8qIFBy
b2ZpbGVyQ29tcGlsYXRpb24uY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMEZGNzI5QjAxNjZBRDM1
QzAwMEY1QkEzIC8qIFByb2ZpbGVyQ29tcGlsYXRpb25LaW5kLmNwcCBpbiBTb3VyY2VzICovLApA
QCAtNTMzOCw3ICs1NDc3LDYgQEAKIAkJCQkxNEU4NEY5RTE0RUUxQUNDMDBENkQ1RDQgLyogV2Vh
a0Jsb2NrLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTE0RjcyNTY1MTRFRTI2NUUwMEIxNjUyQiAv
KiBXZWFrSGFuZGxlT3duZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMTRFODRGQTAxNEVFMUFD
QzAwRDZENUQ0IC8qIFdlYWtTZXQuY3BwIGluIFNvdXJjZXMgKi8sCi0JCQkJMEY2RTVDMTkxNzI0
QUYzRDAwNUM1NzRGIC8qIFdlYktpdExMVk1MaWJyYXJ5QW5jaG9yLmNwcCBpbiBTb3VyY2VzICov
LAogCQkJCTBGQzgxNTBCMTQwNDNDMEUwMENGQTYwMyAvKiBXcml0ZUJhcnJpZXJTdXBwb3J0LmNw
cCBpbiBTb3VyY2VzICovLAogCQkJCTBGMjRFNTU4MTdGNzRFREIwMEFCQjIxNyAvKiBWYWx1ZVJl
Y292ZXJ5LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUE3RTVBQjNBMTc5OUU0QjIwMEQyODMzRCAv
KiBYODZEaXNhc3NlbWJsZXIuY3BwIGluIFNvdXJjZXMgKi8sCkBAIC01MzYxLDYgKzU0OTksMTEg
QEAKIC8qIEVuZCBQQlhTb3VyY2VzQnVpbGRQaGFzZSBzZWN0aW9uICovCiAKIC8qIEJlZ2luIFBC
WFRhcmdldERlcGVuZGVuY3kgc2VjdGlvbiAqLworCQkwRkNFRkFCRDE4MDVENjYzMDA0NzJDRTQg
LyogUEJYVGFyZ2V0RGVwZW5kZW5jeSAqLyA9IHsKKwkJCWlzYSA9IFBCWFRhcmdldERlcGVuZGVu
Y3k7CisJCQl0YXJnZXQgPSAwRkNFRkFCNTE4MDVENjE2MDA0NzJDRTQgLyogbGx2bUZvckpTQyAq
LzsKKwkJCXRhcmdldFByb3h5ID0gMEZDRUZBQkMxODA1RDY2MzAwNDcyQ0U0IC8qIFBCWENvbnRh
aW5lckl0ZW1Qcm94eSAqLzsKKwkJfTsKIAkJMEZGOTIyRDMxNEY0NkIyRjAwNDFBMjRFIC8qIFBC
WFRhcmdldERlcGVuZGVuY3kgKi8gPSB7CiAJCQlpc2EgPSBQQlhUYXJnZXREZXBlbmRlbmN5Owog
CQkJdGFyZ2V0ID0gMEY0NjgwQTkxNEJBN0ZEOTAwQkZFMjcyIC8qIExMSW50IE9mZnNldHMgKi87
CkBAIC01NDM3LDYgKzU1ODAsMzQgQEAKIAkJCX07CiAJCQluYW1lID0gUHJvZHVjdGlvbjsKIAkJ
fTsKKwkJMEZDRUZBQjgxODA1RDYxNjAwNDcyQ0U0IC8qIERlYnVnICovID0geworCQkJaXNhID0g
WENCdWlsZENvbmZpZ3VyYXRpb247CisJCQliYXNlQ29uZmlndXJhdGlvblJlZmVyZW5jZSA9IDBG
Q0VGQUJFMTgwNUQ4NjkwMDQ3MkNFNCAvKiBMTFZNRm9ySlNDLnhjY29uZmlnICovOworCQkJYnVp
bGRTZXR0aW5ncyA9IHsKKwkJCX07CisJCQluYW1lID0gRGVidWc7CisJCX07CisJCTBGQ0VGQUI5
MTgwNUQ2MTYwMDQ3MkNFNCAvKiBSZWxlYXNlICovID0geworCQkJaXNhID0gWENCdWlsZENvbmZp
Z3VyYXRpb247CisJCQliYXNlQ29uZmlndXJhdGlvblJlZmVyZW5jZSA9IDBGQ0VGQUJFMTgwNUQ4
NjkwMDQ3MkNFNCAvKiBMTFZNRm9ySlNDLnhjY29uZmlnICovOworCQkJYnVpbGRTZXR0aW5ncyA9
IHsKKwkJCX07CisJCQluYW1lID0gUmVsZWFzZTsKKwkJfTsKKwkJMEZDRUZBQkExODA1RDYxNjAw
NDcyQ0U0IC8qIFByb2ZpbGluZyAqLyA9IHsKKwkJCWlzYSA9IFhDQnVpbGRDb25maWd1cmF0aW9u
OworCQkJYmFzZUNvbmZpZ3VyYXRpb25SZWZlcmVuY2UgPSAwRkNFRkFCRTE4MDVEODY5MDA0NzJD
RTQgLyogTExWTUZvckpTQy54Y2NvbmZpZyAqLzsKKwkJCWJ1aWxkU2V0dGluZ3MgPSB7CisJCQl9
OworCQkJbmFtZSA9IFByb2ZpbGluZzsKKwkJfTsKKwkJMEZDRUZBQkIxODA1RDYxNjAwNDcyQ0U0
IC8qIFByb2R1Y3Rpb24gKi8gPSB7CisJCQlpc2EgPSBYQ0J1aWxkQ29uZmlndXJhdGlvbjsKKwkJ
CWJhc2VDb25maWd1cmF0aW9uUmVmZXJlbmNlID0gMEZDRUZBQkUxODA1RDg2OTAwNDcyQ0U0IC8q
IExMVk1Gb3JKU0MueGNjb25maWcgKi87CisJCQlidWlsZFNldHRpbmdzID0geworCQkJfTsKKwkJ
CW5hbWUgPSBQcm9kdWN0aW9uOworCQl9OwogCQkwRkY5MjJDQjE0RjQ2QjEzMDA0MUEyNEUgLyog
RGVidWcgKi8gPSB7CiAJCQlpc2EgPSBYQ0J1aWxkQ29uZmlndXJhdGlvbjsKIAkJCWJhc2VDb25m
aWd1cmF0aW9uUmVmZXJlbmNlID0gQkMwMjFCRjIxMzY5MDBDMzAwRkM1NDY3IC8qIFRvb2xFeGVj
dXRhYmxlLnhjY29uZmlnICovOwpAQCAtNTc0MSw2ICs1OTEyLDE3IEBACiAJCQlkZWZhdWx0Q29u
ZmlndXJhdGlvbklzVmlzaWJsZSA9IDA7CiAJCQlkZWZhdWx0Q29uZmlndXJhdGlvbk5hbWUgPSBQ
cm9kdWN0aW9uOwogCQl9OworCQkwRkNFRkFCNzE4MDVENjE2MDA0NzJDRTQgLyogQnVpbGQgY29u
ZmlndXJhdGlvbiBsaXN0IGZvciBQQlhOYXRpdmVUYXJnZXQgImxsdm1Gb3JKU0MiICovID0gewor
CQkJaXNhID0gWENDb25maWd1cmF0aW9uTGlzdDsKKwkJCWJ1aWxkQ29uZmlndXJhdGlvbnMgPSAo
CisJCQkJMEZDRUZBQjgxODA1RDYxNjAwNDcyQ0U0IC8qIERlYnVnICovLAorCQkJCTBGQ0VGQUI5
MTgwNUQ2MTYwMDQ3MkNFNCAvKiBSZWxlYXNlICovLAorCQkJCTBGQ0VGQUJBMTgwNUQ2MTYwMDQ3
MkNFNCAvKiBQcm9maWxpbmcgKi8sCisJCQkJMEZDRUZBQkIxODA1RDYxNjAwNDcyQ0U0IC8qIFBy
b2R1Y3Rpb24gKi8sCisJCQkpOworCQkJZGVmYXVsdENvbmZpZ3VyYXRpb25Jc1Zpc2libGUgPSAw
OworCQkJZGVmYXVsdENvbmZpZ3VyYXRpb25OYW1lID0gUHJvZHVjdGlvbjsKKwkJfTsKIAkJMEZG
OTIyQ0ExNEY0NkIxMzAwNDFBMjRFIC8qIEJ1aWxkIGNvbmZpZ3VyYXRpb24gbGlzdCBmb3IgUEJY
TmF0aXZlVGFyZ2V0ICJKU0NMTEludE9mZnNldHNFeHRyYWN0b3IiICovID0gewogCQkJaXNhID0g
WENDb25maWd1cmF0aW9uTGlzdDsKIAkJCWJ1aWxkQ29uZmlndXJhdGlvbnMgPSAoCkluZGV4OiBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1BsYW4uY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHUGxhbi5jcHAJKHJldmlzaW9uIDE1NzIwNCkKKysrIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHUGxhbi5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTY3
LDYgKzY3LDcgQEAKICNpbmNsdWRlICJGVExMaW5rLmgiCiAjaW5jbHVkZSAiRlRMTG93ZXJERkdU
b0xMVk0uaCIKICNpbmNsdWRlICJGVExTdGF0ZS5oIgorI2luY2x1ZGUgIkluaXRpYWxpemVMTFZN
LmgiCiAjZW5kaWYKIAogbmFtZXNwYWNlIEpTQyB7IG5hbWVzcGFjZSBERkcgewpAQCAtMjU1LDgg
KzI1Niw3IEBAIFBsYW46OkNvbXBpbGF0aW9uUGF0aCBQbGFuOjpjb21waWxlSW5UaHIKICAgICAg
ICAgCiAgICAgICAgIGR1bXBBbmRWZXJpZnlHcmFwaChkZmcsICJHcmFwaCBqdXN0IGJlZm9yZSBG
VEwgbG93ZXJpbmc6Iik7CiAgICAgICAgIAotICAgICAgICAvLyBGSVhNRTogU3VwcG9ydCBPU1Ig
ZW50cnkuCi0gICAgICAgIC8vIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xMTM2MjUKKyAgICAgICAgaW5pdGlhbGl6ZUxMVk0oKTsKICAgICAgICAgCiAgICAgICAgIEZU
TDo6U3RhdGUgc3RhdGUoZGZnKTsKICAgICAgICAgRlRMOjpsb3dlckRGR1RvTExWTShzdGF0ZSk7
CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGlzYXNzZW1ibGVyL0xMVk1EaXNhc3NlbWJs
ZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kaXNhc3NlbWJsZXIv
TExWTURpc2Fzc2VtYmxlci5jcHAJKHJldmlzaW9uIDE1NzIwNCkKKysrIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9kaXNhc3NlbWJsZXIvTExWTURpc2Fzc2VtYmxlci5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTI4LDggKzI4LDkgQEAKIAogI2lmIFVTRShMTFZNX0RJU0FTU0VNQkxFUikKIAorI2luY2x1
ZGUgIkluaXRpYWxpemVMTFZNLmgiCisjaW5jbHVkZSAiTExWTUFQSS5oIgogI2luY2x1ZGUgIk1h
Y3JvQXNzZW1ibGVyQ29kZVJlZi5oIgotI2luY2x1ZGUgPHd0Zi9MTFZNSGVhZGVycy5oPgogCiBu
YW1lc3BhY2UgSlNDIHsKIApAQCAtNzksNiArODAsOCBAQCBib29sIHRyeVRvRGlzYXNzZW1ibGVX
aXRoTExWTSgKICAgICBjb25zdCBNYWNyb0Fzc2VtYmxlckNvZGVQdHImIGNvZGVQdHIsIHNpemVf
dCBzaXplLCBjb25zdCBjaGFyKiBwcmVmaXgsIFByaW50U3RyZWFtJiBvdXQsCiAgICAgSW5zdHJ1
Y3Rpb25TdWJzZXRIaW50KQogeworICAgIGluaXRpYWxpemVMTFZNKCk7CisgICAgCiAgICAgY29u
c3QgY2hhciogdHJpcGxlOwogI2lmIENQVShYODZfNjQpCiAgICAgdHJpcGxlID0gIng4Nl82NC1h
cHBsZS1kYXJ3aW4iOwpAQCAtOTEsNyArOTQsNyBAQCBib29sIHRyeVRvRGlzYXNzZW1ibGVXaXRo
TExWTSgKICAgICBjaGFyIHN5bWJvbFN0cmluZ1tzeW1ib2xTdHJpbmdTaXplXTsKICAgICAKICAg
ICBMTFZNRGlzYXNtQ29udGV4dFJlZiBkaXNhc3NlbWJseUNvbnRleHQgPQotICAgICAgICBMTFZN
Q3JlYXRlRGlzYXNtKHRyaXBsZSwgc3ltYm9sU3RyaW5nLCAwLCAwLCBzeW1ib2xMb29rdXBDYWxs
YmFjayk7CisgICAgICAgIGxsdm0tPkNyZWF0ZURpc2FzbSh0cmlwbGUsIHN5bWJvbFN0cmluZywg
MCwgMCwgc3ltYm9sTG9va3VwQ2FsbGJhY2spOwogICAgIFJFTEVBU0VfQVNTRVJUKGRpc2Fzc2Vt
Ymx5Q29udGV4dCk7CiAgICAgCiAgICAgY2hhciBwY1N0cmluZ1syMF07CkBAIC0xMDUsNyArMTA4
LDcgQEAgYm9vbCB0cnlUb0Rpc2Fzc2VtYmxlV2l0aExMVk0oCiAgICAgICAgICAgICBwY1N0cmlu
Zywgc2l6ZW9mKHBjU3RyaW5nKSwgIjB4JWx4IiwKICAgICAgICAgICAgIHN0YXRpY19jYXN0PHVu
c2lnbmVkIGxvbmc+KGJpdHdpc2VfY2FzdDx1aW50cHRyX3Q+KHBjKSkpOwogCi0gICAgICAgIHNp
emVfdCBpbnN0cnVjdGlvblNpemUgPSBMTFZNRGlzYXNtSW5zdHJ1Y3Rpb24oCisgICAgICAgIHNp
emVfdCBpbnN0cnVjdGlvblNpemUgPSBsbHZtLT5EaXNhc21JbnN0cnVjdGlvbigKICAgICAgICAg
ICAgIGRpc2Fzc2VtYmx5Q29udGV4dCwgcGMsIGVuZCAtIHBjLCBiaXR3aXNlX2Nhc3Q8dWludHB0
cl90PihwYyksCiAgICAgICAgICAgICBpbnN0cnVjdGlvblN0cmluZywgc2l6ZW9mKGluc3RydWN0
aW9uU3RyaW5nKSk7CiAgICAgICAgIApAQCAtMTE3LDcgKzEyMCw3IEBAIGJvb2wgdHJ5VG9EaXNh
c3NlbWJsZVdpdGhMTFZNKAogICAgICAgICBvdXQucHJpbnRmKCIlcyUxNnM6ICVzXG4iLCBwcmVm
aXgsIHBjU3RyaW5nLCBpbnN0cnVjdGlvblN0cmluZyk7CiAgICAgfQogICAgIAotICAgIExMVk1E
aXNhc21EaXNwb3NlKGRpc2Fzc2VtYmx5Q29udGV4dCk7CisgICAgbGx2bS0+RGlzYXNtRGlzcG9z
ZShkaXNhc3NlbWJseUNvbnRleHQpOwogICAgIAogICAgIHJldHVybiB0cnVlOwogfQpJbmRleDog
U291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExBYmJyZXZpYXRlZFR5cGVzLmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExBYmJyZXZpYXRlZFR5cGVzLmgJKHJl
dmlzaW9uIDE1NzIwNCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMQWJicmV2aWF0
ZWRUeXBlcy5oCSh3b3JraW5nIGNvcHkpCkBAIC0zMCw3ICszMCw3IEBACiAKICNpZiBFTkFCTEUo
RlRMX0pJVCkKIAotI2luY2x1ZGUgPHd0Zi9MTFZNSGVhZGVycy5oPgorI2luY2x1ZGUgIkxMVk1B
UEkuaCIKIAogbmFtZXNwYWNlIEpTQyB7IG5hbWVzcGFjZSBGVEwgewogCkluZGV4OiBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvZnRsL0ZUTEFiYnJldmlhdGlvbnMuaAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTEFiYnJldmlhdGlvbnMuaAkocmV2aXNpb24gMTU3MjA0
KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExBYmJyZXZpYXRpb25zLmgJKHdvcmtp
bmcgY29weSkKQEAgLTMzLDYgKzMzLDcgQEAKICNpbmNsdWRlICJGVExBYmJyZXZpYXRlZFR5cGVz
LmgiCiAjaW5jbHVkZSAiRlRMU3dpdGNoQ2FzZS5oIgogI2luY2x1ZGUgIkZUTFZhbHVlRnJvbUJs
b2NrLmgiCisjaW5jbHVkZSAiTExWTUFQSS5oIgogI2luY2x1ZGUgPGNzdHJpbmc+CiAKIG5hbWVz
cGFjZSBKU0MgeyBuYW1lc3BhY2UgRlRMIHsKQEAgLTQ2LDIyICs0NywyMiBAQCBuYW1lc3BhY2Ug
SlNDIHsgbmFtZXNwYWNlIEZUTCB7CiAjZXJyb3IgIlRoZSBGVEwgYmFja2VuZCBhc3N1bWVzIHRo
YXQgcG9pbnRlcnMgYXJlIDY0LWJpdC4iCiAjZW5kaWYKIAotc3RhdGljIGlubGluZSBMVHlwZSB2
b2lkVHlwZShMQ29udGV4dCBjb250ZXh0KSB7IHJldHVybiBMTFZNVm9pZFR5cGVJbkNvbnRleHQo
Y29udGV4dCk7IH0KLXN0YXRpYyBpbmxpbmUgTFR5cGUgaW50MVR5cGUoTENvbnRleHQgY29udGV4
dCkgeyByZXR1cm4gTExWTUludDFUeXBlSW5Db250ZXh0KGNvbnRleHQpOyB9Ci1zdGF0aWMgaW5s
aW5lIExUeXBlIGludDhUeXBlKExDb250ZXh0IGNvbnRleHQpIHsgcmV0dXJuIExMVk1JbnQ4VHlw
ZUluQ29udGV4dChjb250ZXh0KTsgfQotc3RhdGljIGlubGluZSBMVHlwZSBpbnQxNlR5cGUoTENv
bnRleHQgY29udGV4dCkgeyByZXR1cm4gTExWTUludDE2VHlwZUluQ29udGV4dChjb250ZXh0KTsg
fQotc3RhdGljIGlubGluZSBMVHlwZSBpbnQzMlR5cGUoTENvbnRleHQgY29udGV4dCkgeyByZXR1
cm4gTExWTUludDMyVHlwZUluQ29udGV4dChjb250ZXh0KTsgfQotc3RhdGljIGlubGluZSBMVHlw
ZSBpbnQ2NFR5cGUoTENvbnRleHQgY29udGV4dCkgeyByZXR1cm4gTExWTUludDY0VHlwZUluQ29u
dGV4dChjb250ZXh0KTsgfQotc3RhdGljIGlubGluZSBMVHlwZSBpbnRQdHJUeXBlKExDb250ZXh0
IGNvbnRleHQpIHsgcmV0dXJuIExMVk1JbnQ2NFR5cGVJbkNvbnRleHQoY29udGV4dCk7IH0KLXN0
YXRpYyBpbmxpbmUgTFR5cGUgZmxvYXRUeXBlKExDb250ZXh0IGNvbnRleHQpIHsgcmV0dXJuIExM
Vk1GbG9hdFR5cGVJbkNvbnRleHQoY29udGV4dCk7IH0KLXN0YXRpYyBpbmxpbmUgTFR5cGUgZG91
YmxlVHlwZShMQ29udGV4dCBjb250ZXh0KSB7IHJldHVybiBMTFZNRG91YmxlVHlwZUluQ29udGV4
dChjb250ZXh0KTsgfQorc3RhdGljIGlubGluZSBMVHlwZSB2b2lkVHlwZShMQ29udGV4dCBjb250
ZXh0KSB7IHJldHVybiBsbHZtLT5Wb2lkVHlwZUluQ29udGV4dChjb250ZXh0KTsgfQorc3RhdGlj
IGlubGluZSBMVHlwZSBpbnQxVHlwZShMQ29udGV4dCBjb250ZXh0KSB7IHJldHVybiBsbHZtLT5J
bnQxVHlwZUluQ29udGV4dChjb250ZXh0KTsgfQorc3RhdGljIGlubGluZSBMVHlwZSBpbnQ4VHlw
ZShMQ29udGV4dCBjb250ZXh0KSB7IHJldHVybiBsbHZtLT5JbnQ4VHlwZUluQ29udGV4dChjb250
ZXh0KTsgfQorc3RhdGljIGlubGluZSBMVHlwZSBpbnQxNlR5cGUoTENvbnRleHQgY29udGV4dCkg
eyByZXR1cm4gbGx2bS0+SW50MTZUeXBlSW5Db250ZXh0KGNvbnRleHQpOyB9CitzdGF0aWMgaW5s
aW5lIExUeXBlIGludDMyVHlwZShMQ29udGV4dCBjb250ZXh0KSB7IHJldHVybiBsbHZtLT5JbnQz
MlR5cGVJbkNvbnRleHQoY29udGV4dCk7IH0KK3N0YXRpYyBpbmxpbmUgTFR5cGUgaW50NjRUeXBl
KExDb250ZXh0IGNvbnRleHQpIHsgcmV0dXJuIGxsdm0tPkludDY0VHlwZUluQ29udGV4dChjb250
ZXh0KTsgfQorc3RhdGljIGlubGluZSBMVHlwZSBpbnRQdHJUeXBlKExDb250ZXh0IGNvbnRleHQp
IHsgcmV0dXJuIGxsdm0tPkludDY0VHlwZUluQ29udGV4dChjb250ZXh0KTsgfQorc3RhdGljIGlu
bGluZSBMVHlwZSBmbG9hdFR5cGUoTENvbnRleHQgY29udGV4dCkgeyByZXR1cm4gbGx2bS0+Rmxv
YXRUeXBlSW5Db250ZXh0KGNvbnRleHQpOyB9CitzdGF0aWMgaW5saW5lIExUeXBlIGRvdWJsZVR5
cGUoTENvbnRleHQgY29udGV4dCkgeyByZXR1cm4gbGx2bS0+RG91YmxlVHlwZUluQ29udGV4dChj
b250ZXh0KTsgfQogCi1zdGF0aWMgaW5saW5lIExUeXBlIHBvaW50ZXJUeXBlKExUeXBlIHR5cGUp
IHsgcmV0dXJuIExMVk1Qb2ludGVyVHlwZSh0eXBlLCAwKTsgfQorc3RhdGljIGlubGluZSBMVHlw
ZSBwb2ludGVyVHlwZShMVHlwZSB0eXBlKSB7IHJldHVybiBsbHZtLT5Qb2ludGVyVHlwZSh0eXBl
LCAwKTsgfQogCiBlbnVtIFBhY2tpbmdNb2RlIHsgTm90UGFja2VkLCBQYWNrZWQgfTsKIHN0YXRp
YyBpbmxpbmUgTFR5cGUgc3RydWN0VHlwZShMQ29udGV4dCBjb250ZXh0LCBMVHlwZSogZWxlbWVu
dFR5cGVzLCB1bnNpZ25lZCBlbGVtZW50Q291bnQsIFBhY2tpbmdNb2RlIHBhY2tpbmcgPSBOb3RQ
YWNrZWQpCiB7Ci0gICAgcmV0dXJuIExMVk1TdHJ1Y3RUeXBlSW5Db250ZXh0KGNvbnRleHQsIGVs
ZW1lbnRUeXBlcywgZWxlbWVudENvdW50LCBwYWNraW5nID09IFBhY2tlZCk7CisgICAgcmV0dXJu
IGxsdm0tPlN0cnVjdFR5cGVJbkNvbnRleHQoY29udGV4dCwgZWxlbWVudFR5cGVzLCBlbGVtZW50
Q291bnQsIHBhY2tpbmcgPT0gUGFja2VkKTsKIH0KIHN0YXRpYyBpbmxpbmUgTFR5cGUgc3RydWN0
VHlwZShMQ29udGV4dCBjb250ZXh0LCBQYWNraW5nTW9kZSBwYWNraW5nID0gTm90UGFja2VkKQog
ewpAQCAtODAsNyArODEsNyBAQCBzdGF0aWMgaW5saW5lIExUeXBlIHN0cnVjdFR5cGUoTENvbnRl
eHQgCiBlbnVtIFZhcmlhZGljaXR5IHsgTm90VmFyaWFkaWMsIFZhcmlhZGljIH07CiBzdGF0aWMg
aW5saW5lIExUeXBlIGZ1bmN0aW9uVHlwZShMVHlwZSByZXR1cm5UeXBlLCBjb25zdCBMVHlwZSog
cGFyYW1UeXBlcywgdW5zaWduZWQgcGFyYW1Db3VudCwgVmFyaWFkaWNpdHkgdmFyaWFkaWNpdHkp
CiB7Ci0gICAgcmV0dXJuIExMVk1GdW5jdGlvblR5cGUocmV0dXJuVHlwZSwgY29uc3RfY2FzdDxM
VHlwZSo+KHBhcmFtVHlwZXMpLCBwYXJhbUNvdW50LCB2YXJpYWRpY2l0eSA9PSBWYXJpYWRpYyk7
CisgICAgcmV0dXJuIGxsdm0tPkZ1bmN0aW9uVHlwZShyZXR1cm5UeXBlLCBjb25zdF9jYXN0PExU
eXBlKj4ocGFyYW1UeXBlcyksIHBhcmFtQ291bnQsIHZhcmlhZGljaXR5ID09IFZhcmlhZGljKTsK
IH0KIHRlbXBsYXRlPHR5cGVuYW1lIFZlY3RvclR5cGU+CiBpbmxpbmUgTFR5cGUgZnVuY3Rpb25U
eXBlKExUeXBlIHJldHVyblR5cGUsIGNvbnN0IFZlY3RvclR5cGUmIHZlY3RvciwgVmFyaWFkaWNp
dHkgdmFyaWFkaWNpdHkgPSBOb3RWYXJpYWRpYykKQEAgLTExMSwxMiArMTEyLDEyIEBAIHN0YXRp
YyBpbmxpbmUgTFR5cGUgZnVuY3Rpb25UeXBlKExUeXBlIHIKICAgICByZXR1cm4gZnVuY3Rpb25U
eXBlKHJldHVyblR5cGUsIHBhcmFtVHlwZXMsIDQsIHZhcmlhZGljaXR5KTsKIH0KIAotc3RhdGlj
IGlubGluZSBMVHlwZSB0eXBlT2YoTFZhbHVlIHZhbHVlKSB7IHJldHVybiBMTFZNVHlwZU9mKHZh
bHVlKTsgfQorc3RhdGljIGlubGluZSBMVHlwZSB0eXBlT2YoTFZhbHVlIHZhbHVlKSB7IHJldHVy
biBsbHZtLT5UeXBlT2YodmFsdWUpOyB9CiAKLXN0YXRpYyBpbmxpbmUgdW5zaWduZWQgbWRLaW5k
SUQoTENvbnRleHQgY29udGV4dCwgY29uc3QgY2hhciogc3RyaW5nKSB7IHJldHVybiBMTFZNR2V0
TURLaW5kSURJbkNvbnRleHQoY29udGV4dCwgc3RyaW5nLCBzdGQ6OnN0cmxlbihzdHJpbmcpKTsg
fQotc3RhdGljIGlubGluZSBMVmFsdWUgbWRTdHJpbmcoTENvbnRleHQgY29udGV4dCwgY29uc3Qg
Y2hhciogc3RyaW5nLCB1bnNpZ25lZCBsZW5ndGgpIHsgcmV0dXJuIExMVk1NRFN0cmluZ0luQ29u
dGV4dChjb250ZXh0LCBzdHJpbmcsIGxlbmd0aCk7IH0KK3N0YXRpYyBpbmxpbmUgdW5zaWduZWQg
bWRLaW5kSUQoTENvbnRleHQgY29udGV4dCwgY29uc3QgY2hhciogc3RyaW5nKSB7IHJldHVybiBs
bHZtLT5HZXRNREtpbmRJREluQ29udGV4dChjb250ZXh0LCBzdHJpbmcsIHN0ZDo6c3RybGVuKHN0
cmluZykpOyB9CitzdGF0aWMgaW5saW5lIExWYWx1ZSBtZFN0cmluZyhMQ29udGV4dCBjb250ZXh0
LCBjb25zdCBjaGFyKiBzdHJpbmcsIHVuc2lnbmVkIGxlbmd0aCkgeyByZXR1cm4gbGx2bS0+TURT
dHJpbmdJbkNvbnRleHQoY29udGV4dCwgc3RyaW5nLCBsZW5ndGgpOyB9CiBzdGF0aWMgaW5saW5l
IExWYWx1ZSBtZFN0cmluZyhMQ29udGV4dCBjb250ZXh0LCBjb25zdCBjaGFyKiBzdHJpbmcpIHsg
cmV0dXJuIG1kU3RyaW5nKGNvbnRleHQsIHN0cmluZywgc3RkOjpzdHJsZW4oc3RyaW5nKSk7IH0K
LXN0YXRpYyBpbmxpbmUgTFZhbHVlIG1kTm9kZShMQ29udGV4dCBjb250ZXh0LCBMVmFsdWUqIGFy
Z3MsIHVuc2lnbmVkIG51bUFyZ3MpIHsgcmV0dXJuIExMVk1NRE5vZGVJbkNvbnRleHQoY29udGV4
dCwgYXJncywgbnVtQXJncyk7IH0KK3N0YXRpYyBpbmxpbmUgTFZhbHVlIG1kTm9kZShMQ29udGV4
dCBjb250ZXh0LCBMVmFsdWUqIGFyZ3MsIHVuc2lnbmVkIG51bUFyZ3MpIHsgcmV0dXJuIGxsdm0t
Pk1ETm9kZUluQ29udGV4dChjb250ZXh0LCBhcmdzLCBudW1BcmdzKTsgfQogc3RhdGljIGlubGlu
ZSBMVmFsdWUgbWROb2RlKExDb250ZXh0IGNvbnRleHQpIHsgcmV0dXJuIG1kTm9kZShjb250ZXh0
LCAwLCAwKTsgfQogc3RhdGljIGlubGluZSBMVmFsdWUgbWROb2RlKExDb250ZXh0IGNvbnRleHQs
IExWYWx1ZSBhcmcxKSB7IHJldHVybiBtZE5vZGUoY29udGV4dCwgJmFyZzEsIDEpOyB9CiBzdGF0
aWMgaW5saW5lIExWYWx1ZSBtZE5vZGUoTENvbnRleHQgY29udGV4dCwgTFZhbHVlIGFyZzEsIExW
YWx1ZSBhcmcyKQpAQCAtMTI1LDExICsxMjYsMTEgQEAgc3RhdGljIGlubGluZSBMVmFsdWUgbWRO
b2RlKExDb250ZXh0IGNvbgogICAgIHJldHVybiBtZE5vZGUoY29udGV4dCwgYXJncywgMik7CiB9
CiAKLXN0YXRpYyBpbmxpbmUgdm9pZCBzZXRNZXRhZGF0YShMVmFsdWUgaW5zdHJ1Y3Rpb24sIHVu
c2lnbmVkIGtpbmQsIExWYWx1ZSBtZXRhZGF0YSkgeyBMTFZNU2V0TWV0YWRhdGEoaW5zdHJ1Y3Rp
b24sIGtpbmQsIG1ldGFkYXRhKTsgfQorc3RhdGljIGlubGluZSB2b2lkIHNldE1ldGFkYXRhKExW
YWx1ZSBpbnN0cnVjdGlvbiwgdW5zaWduZWQga2luZCwgTFZhbHVlIG1ldGFkYXRhKSB7IGxsdm0t
PlNldE1ldGFkYXRhKGluc3RydWN0aW9uLCBraW5kLCBtZXRhZGF0YSk7IH0KIAotc3RhdGljIGlu
bGluZSBMVmFsdWUgYWRkRnVuY3Rpb24oTE1vZHVsZSBtb2R1bGUsIGNvbnN0IGNoYXIqIG5hbWUs
IExUeXBlIHR5cGUpIHsgcmV0dXJuIExMVk1BZGRGdW5jdGlvbihtb2R1bGUsIG5hbWUsIHR5cGUp
OyB9Ci1zdGF0aWMgaW5saW5lIHZvaWQgc2V0TGlua2FnZShMVmFsdWUgZ2xvYmFsLCBMTGlua2Fn
ZSBsaW5rYWdlKSB7IExMVk1TZXRMaW5rYWdlKGdsb2JhbCwgbGlua2FnZSk7IH0KLXN0YXRpYyBp
bmxpbmUgdm9pZCBzZXRGdW5jdGlvbkNhbGxpbmdDb252KExWYWx1ZSBmdW5jdGlvbiwgTENhbGxD
b252IGNvbnZlbnRpb24pIHsgTExWTVNldEZ1bmN0aW9uQ2FsbENvbnYoZnVuY3Rpb24sIGNvbnZl
bnRpb24pOyB9CitzdGF0aWMgaW5saW5lIExWYWx1ZSBhZGRGdW5jdGlvbihMTW9kdWxlIG1vZHVs
ZSwgY29uc3QgY2hhciogbmFtZSwgTFR5cGUgdHlwZSkgeyByZXR1cm4gbGx2bS0+QWRkRnVuY3Rp
b24obW9kdWxlLCBuYW1lLCB0eXBlKTsgfQorc3RhdGljIGlubGluZSB2b2lkIHNldExpbmthZ2Uo
TFZhbHVlIGdsb2JhbCwgTExpbmthZ2UgbGlua2FnZSkgeyBsbHZtLT5TZXRMaW5rYWdlKGdsb2Jh
bCwgbGlua2FnZSk7IH0KK3N0YXRpYyBpbmxpbmUgdm9pZCBzZXRGdW5jdGlvbkNhbGxpbmdDb252
KExWYWx1ZSBmdW5jdGlvbiwgTENhbGxDb252IGNvbnZlbnRpb24pIHsgbGx2bS0+U2V0RnVuY3Rp
b25DYWxsQ29udihmdW5jdGlvbiwgY29udmVudGlvbik7IH0KIAogc3RhdGljIGlubGluZSBMVmFs
dWUgYWRkRXh0ZXJuRnVuY3Rpb24oTE1vZHVsZSBtb2R1bGUsIGNvbnN0IGNoYXIqIG5hbWUsIExU
eXBlIHR5cGUpCiB7CkBAIC0xMzgsMjEgKzEzOSwyMSBAQCBzdGF0aWMgaW5saW5lIExWYWx1ZSBh
ZGRFeHRlcm5GdW5jdGlvbihMCiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIAotc3RhdGljIGlubGlu
ZSBMVmFsdWUgZ2V0UGFyYW0oTFZhbHVlIGZ1bmN0aW9uLCB1bnNpZ25lZCBpbmRleCkgeyByZXR1
cm4gTExWTUdldFBhcmFtKGZ1bmN0aW9uLCBpbmRleCk7IH0KK3N0YXRpYyBpbmxpbmUgTFZhbHVl
IGdldFBhcmFtKExWYWx1ZSBmdW5jdGlvbiwgdW5zaWduZWQgaW5kZXgpIHsgcmV0dXJuIGxsdm0t
PkdldFBhcmFtKGZ1bmN0aW9uLCBpbmRleCk7IH0KIAogZW51bSBCaXRFeHRlbnNpb24geyBaZXJv
RXh0ZW5kLCBTaWduRXh0ZW5kIH07Ci1zdGF0aWMgaW5saW5lIExWYWx1ZSBjb25zdEludChMVHlw
ZSB0eXBlLCB1bnNpZ25lZCBsb25nIGxvbmcgdmFsdWUsIEJpdEV4dGVuc2lvbiBleHRlbnNpb24g
PSBaZXJvRXh0ZW5kKSB7IHJldHVybiBMTFZNQ29uc3RJbnQodHlwZSwgdmFsdWUsIGV4dGVuc2lv
biA9PSBTaWduRXh0ZW5kKTsgfQotc3RhdGljIGlubGluZSBMVmFsdWUgY29uc3RSZWFsKExUeXBl
IHR5cGUsIGRvdWJsZSB2YWx1ZSkgeyByZXR1cm4gTExWTUNvbnN0UmVhbCh0eXBlLCB2YWx1ZSk7
IH0KLXN0YXRpYyBpbmxpbmUgTFZhbHVlIGNvbnN0SW50VG9QdHIoTFZhbHVlIHZhbHVlLCBMVHlw
ZSB0eXBlKSB7IHJldHVybiBMTFZNQ29uc3RJbnRUb1B0cih2YWx1ZSwgdHlwZSk7IH0KLXN0YXRp
YyBpbmxpbmUgTFZhbHVlIGNvbnN0Qml0Q2FzdChMVmFsdWUgdmFsdWUsIExUeXBlIHR5cGUpIHsg
cmV0dXJuIExMVk1Db25zdEJpdENhc3QodmFsdWUsIHR5cGUpOyB9CitzdGF0aWMgaW5saW5lIExW
YWx1ZSBjb25zdEludChMVHlwZSB0eXBlLCB1bnNpZ25lZCBsb25nIGxvbmcgdmFsdWUsIEJpdEV4
dGVuc2lvbiBleHRlbnNpb24gPSBaZXJvRXh0ZW5kKSB7IHJldHVybiBsbHZtLT5Db25zdEludCh0
eXBlLCB2YWx1ZSwgZXh0ZW5zaW9uID09IFNpZ25FeHRlbmQpOyB9CitzdGF0aWMgaW5saW5lIExW
YWx1ZSBjb25zdFJlYWwoTFR5cGUgdHlwZSwgZG91YmxlIHZhbHVlKSB7IHJldHVybiBsbHZtLT5D
b25zdFJlYWwodHlwZSwgdmFsdWUpOyB9CitzdGF0aWMgaW5saW5lIExWYWx1ZSBjb25zdEludFRv
UHRyKExWYWx1ZSB2YWx1ZSwgTFR5cGUgdHlwZSkgeyByZXR1cm4gbGx2bS0+Q29uc3RJbnRUb1B0
cih2YWx1ZSwgdHlwZSk7IH0KK3N0YXRpYyBpbmxpbmUgTFZhbHVlIGNvbnN0Qml0Q2FzdChMVmFs
dWUgdmFsdWUsIExUeXBlIHR5cGUpIHsgcmV0dXJuIGxsdm0tPkNvbnN0Qml0Q2FzdCh2YWx1ZSwg
dHlwZSk7IH0KIAotc3RhdGljIGlubGluZSBMQmFzaWNCbG9jayBhcHBlbmRCYXNpY0Jsb2NrKExD
b250ZXh0IGNvbnRleHQsIExWYWx1ZSBmdW5jdGlvbiwgY29uc3QgY2hhciogbmFtZSA9ICIiKSB7
IHJldHVybiBMTFZNQXBwZW5kQmFzaWNCbG9ja0luQ29udGV4dChjb250ZXh0LCBmdW5jdGlvbiwg
bmFtZSk7IH0KLXN0YXRpYyBpbmxpbmUgTEJhc2ljQmxvY2sgaW5zZXJ0QmFzaWNCbG9jayhMQ29u
dGV4dCBjb250ZXh0LCBMQmFzaWNCbG9jayBiZWZvcmVCYXNpY0Jsb2NrLCBjb25zdCBjaGFyKiBu
YW1lID0gIiIpIHsgcmV0dXJuIExMVk1JbnNlcnRCYXNpY0Jsb2NrSW5Db250ZXh0KGNvbnRleHQs
IGJlZm9yZUJhc2ljQmxvY2ssIG5hbWUpOyB9CitzdGF0aWMgaW5saW5lIExCYXNpY0Jsb2NrIGFw
cGVuZEJhc2ljQmxvY2soTENvbnRleHQgY29udGV4dCwgTFZhbHVlIGZ1bmN0aW9uLCBjb25zdCBj
aGFyKiBuYW1lID0gIiIpIHsgcmV0dXJuIGxsdm0tPkFwcGVuZEJhc2ljQmxvY2tJbkNvbnRleHQo
Y29udGV4dCwgZnVuY3Rpb24sIG5hbWUpOyB9CitzdGF0aWMgaW5saW5lIExCYXNpY0Jsb2NrIGlu
c2VydEJhc2ljQmxvY2soTENvbnRleHQgY29udGV4dCwgTEJhc2ljQmxvY2sgYmVmb3JlQmFzaWNC
bG9jaywgY29uc3QgY2hhciogbmFtZSA9ICIiKSB7IHJldHVybiBsbHZtLT5JbnNlcnRCYXNpY0Js
b2NrSW5Db250ZXh0KGNvbnRleHQsIGJlZm9yZUJhc2ljQmxvY2ssIG5hbWUpOyB9CiAKLXN0YXRp
YyBpbmxpbmUgTFZhbHVlIGJ1aWxkUGhpKExCdWlsZGVyIGJ1aWxkZXIsIExUeXBlIHR5cGUpIHsg
cmV0dXJuIExMVk1CdWlsZFBoaShidWlsZGVyLCB0eXBlLCAiIik7IH0KK3N0YXRpYyBpbmxpbmUg
TFZhbHVlIGJ1aWxkUGhpKExCdWlsZGVyIGJ1aWxkZXIsIExUeXBlIHR5cGUpIHsgcmV0dXJuIGxs
dm0tPkJ1aWxkUGhpKGJ1aWxkZXIsIHR5cGUsICIiKTsgfQogc3RhdGljIGlubGluZSB2b2lkIGFk
ZEluY29taW5nKExWYWx1ZSBwaGksIGNvbnN0IExWYWx1ZSogdmFsdWVzLCBjb25zdCBMQmFzaWNC
bG9jayogYmxvY2tzLCB1bnNpZ25lZCBudW1QcmVkZWNlc3NvcnMpCiB7Ci0gICAgTExWTUFkZElu
Y29taW5nKHBoaSwgY29uc3RfY2FzdDxMVmFsdWUqPih2YWx1ZXMpLCBjb25zdF9jYXN0PExCYXNp
Y0Jsb2NrKj4oYmxvY2tzKSwgbnVtUHJlZGVjZXNzb3JzKTsKKyAgICBsbHZtLT5BZGRJbmNvbWlu
ZyhwaGksIGNvbnN0X2Nhc3Q8TFZhbHVlKj4odmFsdWVzKSwgY29uc3RfY2FzdDxMQmFzaWNCbG9j
ayo+KGJsb2NrcyksIG51bVByZWRlY2Vzc29ycyk7CiB9CiBzdGF0aWMgaW5saW5lIHZvaWQgYWRk
SW5jb21pbmcoTFZhbHVlIHBoaSwgVmFsdWVGcm9tQmxvY2sgdmFsdWUxKQogewpAQCAtMTgwLDQ0
ICsxODEsNDQgQEAgc3RhdGljIGlubGluZSBMVmFsdWUgYnVpbGRQaGkoCiAgICAgcmV0dXJuIHJl
c3VsdDsKIH0KIAotc3RhdGljIGlubGluZSBMVmFsdWUgYnVpbGRBbGxvY2EoTEJ1aWxkZXIgYnVp
bGRlciwgTFR5cGUgdHlwZSkgeyByZXR1cm4gTExWTUJ1aWxkQWxsb2NhKGJ1aWxkZXIsIHR5cGUs
ICIiKTsgfQotc3RhdGljIGlubGluZSBMVmFsdWUgYnVpbGRBZGQoTEJ1aWxkZXIgYnVpbGRlciwg
TFZhbHVlIGxlZnQsIExWYWx1ZSByaWdodCkgeyByZXR1cm4gTExWTUJ1aWxkQWRkKGJ1aWxkZXIs
IGxlZnQsIHJpZ2h0LCAiIik7IH0KLXN0YXRpYyBpbmxpbmUgTFZhbHVlIGJ1aWxkU3ViKExCdWls
ZGVyIGJ1aWxkZXIsIExWYWx1ZSBsZWZ0LCBMVmFsdWUgcmlnaHQpIHsgcmV0dXJuIExMVk1CdWls
ZFN1YihidWlsZGVyLCBsZWZ0LCByaWdodCwgIiIpOyB9Ci1zdGF0aWMgaW5saW5lIExWYWx1ZSBi
dWlsZE11bChMQnVpbGRlciBidWlsZGVyLCBMVmFsdWUgbGVmdCwgTFZhbHVlIHJpZ2h0KSB7IHJl
dHVybiBMTFZNQnVpbGRNdWwoYnVpbGRlciwgbGVmdCwgcmlnaHQsICIiKTsgfQotc3RhdGljIGlu
bGluZSBMVmFsdWUgYnVpbGREaXYoTEJ1aWxkZXIgYnVpbGRlciwgTFZhbHVlIGxlZnQsIExWYWx1
ZSByaWdodCkgeyByZXR1cm4gTExWTUJ1aWxkU0RpdihidWlsZGVyLCBsZWZ0LCByaWdodCwgIiIp
OyB9Ci1zdGF0aWMgaW5saW5lIExWYWx1ZSBidWlsZFJlbShMQnVpbGRlciBidWlsZGVyLCBMVmFs
dWUgbGVmdCwgTFZhbHVlIHJpZ2h0KSB7IHJldHVybiBMTFZNQnVpbGRTUmVtKGJ1aWxkZXIsIGxl
ZnQsIHJpZ2h0LCAiIik7IH0KLXN0YXRpYyBpbmxpbmUgTFZhbHVlIGJ1aWxkTmVnKExCdWlsZGVy
IGJ1aWxkZXIsIExWYWx1ZSB2YWx1ZSkgeyByZXR1cm4gTExWTUJ1aWxkTmVnKGJ1aWxkZXIsIHZh
bHVlLCAiIik7IH0KLXN0YXRpYyBpbmxpbmUgTFZhbHVlIGJ1aWxkRkFkZChMQnVpbGRlciBidWls
ZGVyLCBMVmFsdWUgbGVmdCwgTFZhbHVlIHJpZ2h0KSB7IHJldHVybiBMTFZNQnVpbGRGQWRkKGJ1
aWxkZXIsIGxlZnQsIHJpZ2h0LCAiIik7IH0KLXN0YXRpYyBpbmxpbmUgTFZhbHVlIGJ1aWxkRlN1
YihMQnVpbGRlciBidWlsZGVyLCBMVmFsdWUgbGVmdCwgTFZhbHVlIHJpZ2h0KSB7IHJldHVybiBM
TFZNQnVpbGRGU3ViKGJ1aWxkZXIsIGxlZnQsIHJpZ2h0LCAiIik7IH0KLXN0YXRpYyBpbmxpbmUg
TFZhbHVlIGJ1aWxkRk11bChMQnVpbGRlciBidWlsZGVyLCBMVmFsdWUgbGVmdCwgTFZhbHVlIHJp
Z2h0KSB7IHJldHVybiBMTFZNQnVpbGRGTXVsKGJ1aWxkZXIsIGxlZnQsIHJpZ2h0LCAiIik7IH0K
LXN0YXRpYyBpbmxpbmUgTFZhbHVlIGJ1aWxkRkRpdihMQnVpbGRlciBidWlsZGVyLCBMVmFsdWUg
bGVmdCwgTFZhbHVlIHJpZ2h0KSB7IHJldHVybiBMTFZNQnVpbGRGRGl2KGJ1aWxkZXIsIGxlZnQs
IHJpZ2h0LCAiIik7IH0KLXN0YXRpYyBpbmxpbmUgTFZhbHVlIGJ1aWxkRlJlbShMQnVpbGRlciBi
dWlsZGVyLCBMVmFsdWUgbGVmdCwgTFZhbHVlIHJpZ2h0KSB7IHJldHVybiBMTFZNQnVpbGRGUmVt
KGJ1aWxkZXIsIGxlZnQsIHJpZ2h0LCAiIik7IH0KLXN0YXRpYyBpbmxpbmUgTFZhbHVlIGJ1aWxk
Rk5lZyhMQnVpbGRlciBidWlsZGVyLCBMVmFsdWUgdmFsdWUpIHsgcmV0dXJuIExMVk1CdWlsZEZO
ZWcoYnVpbGRlciwgdmFsdWUsICIiKTsgfQotc3RhdGljIGlubGluZSBMVmFsdWUgYnVpbGRBbmQo
TEJ1aWxkZXIgYnVpbGRlciwgTFZhbHVlIGxlZnQsIExWYWx1ZSByaWdodCkgeyByZXR1cm4gTExW
TUJ1aWxkQW5kKGJ1aWxkZXIsIGxlZnQsIHJpZ2h0LCAiIik7IH0KLXN0YXRpYyBpbmxpbmUgTFZh
bHVlIGJ1aWxkT3IoTEJ1aWxkZXIgYnVpbGRlciwgTFZhbHVlIGxlZnQsIExWYWx1ZSByaWdodCkg
eyByZXR1cm4gTExWTUJ1aWxkT3IoYnVpbGRlciwgbGVmdCwgcmlnaHQsICIiKTsgfQotc3RhdGlj
IGlubGluZSBMVmFsdWUgYnVpbGRYb3IoTEJ1aWxkZXIgYnVpbGRlciwgTFZhbHVlIGxlZnQsIExW
YWx1ZSByaWdodCkgeyByZXR1cm4gTExWTUJ1aWxkWG9yKGJ1aWxkZXIsIGxlZnQsIHJpZ2h0LCAi
Iik7IH0KLXN0YXRpYyBpbmxpbmUgTFZhbHVlIGJ1aWxkU2hsKExCdWlsZGVyIGJ1aWxkZXIsIExW
YWx1ZSBsZWZ0LCBMVmFsdWUgcmlnaHQpIHsgcmV0dXJuIExMVk1CdWlsZFNobChidWlsZGVyLCBs
ZWZ0LCByaWdodCwgIiIpOyB9Ci1zdGF0aWMgaW5saW5lIExWYWx1ZSBidWlsZEFTaHIoTEJ1aWxk
ZXIgYnVpbGRlciwgTFZhbHVlIGxlZnQsIExWYWx1ZSByaWdodCkgeyByZXR1cm4gTExWTUJ1aWxk
QVNocihidWlsZGVyLCBsZWZ0LCByaWdodCwgIiIpOyB9Ci1zdGF0aWMgaW5saW5lIExWYWx1ZSBi
dWlsZExTaHIoTEJ1aWxkZXIgYnVpbGRlciwgTFZhbHVlIGxlZnQsIExWYWx1ZSByaWdodCkgeyBy
ZXR1cm4gTExWTUJ1aWxkTFNocihidWlsZGVyLCBsZWZ0LCByaWdodCwgIiIpOyB9Ci1zdGF0aWMg
aW5saW5lIExWYWx1ZSBidWlsZE5vdChMQnVpbGRlciBidWlsZGVyLCBMVmFsdWUgdmFsdWUpIHsg
cmV0dXJuIExMVk1CdWlsZE5vdChidWlsZGVyLCB2YWx1ZSwgIiIpOyB9Ci1zdGF0aWMgaW5saW5l
IExWYWx1ZSBidWlsZExvYWQoTEJ1aWxkZXIgYnVpbGRlciwgTFZhbHVlIHBvaW50ZXIpIHsgcmV0
dXJuIExMVk1CdWlsZExvYWQoYnVpbGRlciwgcG9pbnRlciwgIiIpOyB9Ci1zdGF0aWMgaW5saW5l
IExWYWx1ZSBidWlsZFN0b3JlKExCdWlsZGVyIGJ1aWxkZXIsIExWYWx1ZSB2YWx1ZSwgTFZhbHVl
IHBvaW50ZXIpIHsgcmV0dXJuIExMVk1CdWlsZFN0b3JlKGJ1aWxkZXIsIHZhbHVlLCBwb2ludGVy
KTsgfQotc3RhdGljIGlubGluZSBMVmFsdWUgYnVpbGRTRXh0KExCdWlsZGVyIGJ1aWxkZXIsIExW
YWx1ZSB2YWx1ZSwgTFR5cGUgdHlwZSkgeyByZXR1cm4gTExWTUJ1aWxkU0V4dChidWlsZGVyLCB2
YWx1ZSwgdHlwZSwgIiIpOyB9Ci1zdGF0aWMgaW5saW5lIExWYWx1ZSBidWlsZFpFeHQoTEJ1aWxk
ZXIgYnVpbGRlciwgTFZhbHVlIHZhbHVlLCBMVHlwZSB0eXBlKSB7IHJldHVybiBMTFZNQnVpbGRa
RXh0KGJ1aWxkZXIsIHZhbHVlLCB0eXBlLCAiIik7IH0KLXN0YXRpYyBpbmxpbmUgTFZhbHVlIGJ1
aWxkRlBUb1NJKExCdWlsZGVyIGJ1aWxkZXIsIExWYWx1ZSB2YWx1ZSwgTFR5cGUgdHlwZSkgeyBy
ZXR1cm4gTExWTUJ1aWxkRlBUb1NJKGJ1aWxkZXIsIHZhbHVlLCB0eXBlLCAiIik7IH0KLXN0YXRp
YyBpbmxpbmUgTFZhbHVlIGJ1aWxkRlBUb1VJKExCdWlsZGVyIGJ1aWxkZXIsIExWYWx1ZSB2YWx1
ZSwgTFR5cGUgdHlwZSkgeyByZXR1cm4gTExWTUJ1aWxkRlBUb1VJKGJ1aWxkZXIsIHZhbHVlLCB0
eXBlLCAiIik7IH0KLXN0YXRpYyBpbmxpbmUgTFZhbHVlIGJ1aWxkU0lUb0ZQKExCdWlsZGVyIGJ1
aWxkZXIsIExWYWx1ZSB2YWx1ZSwgTFR5cGUgdHlwZSkgeyByZXR1cm4gTExWTUJ1aWxkU0lUb0ZQ
KGJ1aWxkZXIsIHZhbHVlLCB0eXBlLCAiIik7IH0KLXN0YXRpYyBpbmxpbmUgTFZhbHVlIGJ1aWxk
VUlUb0ZQKExCdWlsZGVyIGJ1aWxkZXIsIExWYWx1ZSB2YWx1ZSwgTFR5cGUgdHlwZSkgeyByZXR1
cm4gTExWTUJ1aWxkVUlUb0ZQKGJ1aWxkZXIsIHZhbHVlLCB0eXBlLCAiIik7IH0KLXN0YXRpYyBp
bmxpbmUgTFZhbHVlIGJ1aWxkSW50Q2FzdChMQnVpbGRlciBidWlsZGVyLCBMVmFsdWUgdmFsdWUs
IExUeXBlIHR5cGUpIHsgcmV0dXJuIExMVk1CdWlsZEludENhc3QoYnVpbGRlciwgdmFsdWUsIHR5
cGUsICIiKTsgfQotc3RhdGljIGlubGluZSBMVmFsdWUgYnVpbGRGUENhc3QoTEJ1aWxkZXIgYnVp
bGRlciwgTFZhbHVlIHZhbHVlLCBMVHlwZSB0eXBlKSB7IHJldHVybiBMTFZNQnVpbGRGUENhc3Qo
YnVpbGRlciwgdmFsdWUsIHR5cGUsICIiKTsgfQotc3RhdGljIGlubGluZSBMVmFsdWUgYnVpbGRJ
bnRUb1B0cihMQnVpbGRlciBidWlsZGVyLCBMVmFsdWUgdmFsdWUsIExUeXBlIHR5cGUpIHsgcmV0
dXJuIExMVk1CdWlsZEludFRvUHRyKGJ1aWxkZXIsIHZhbHVlLCB0eXBlLCAiIik7IH0KLXN0YXRp
YyBpbmxpbmUgTFZhbHVlIGJ1aWxkUHRyVG9JbnQoTEJ1aWxkZXIgYnVpbGRlciwgTFZhbHVlIHZh
bHVlLCBMVHlwZSB0eXBlKSB7IHJldHVybiBMTFZNQnVpbGRQdHJUb0ludChidWlsZGVyLCB2YWx1
ZSwgdHlwZSwgIiIpOyB9Ci1zdGF0aWMgaW5saW5lIExWYWx1ZSBidWlsZEJpdENhc3QoTEJ1aWxk
ZXIgYnVpbGRlciwgTFZhbHVlIHZhbHVlLCBMVHlwZSB0eXBlKSB7IHJldHVybiBMTFZNQnVpbGRC
aXRDYXN0KGJ1aWxkZXIsIHZhbHVlLCB0eXBlLCAiIik7IH0KLXN0YXRpYyBpbmxpbmUgTFZhbHVl
IGJ1aWxkSUNtcChMQnVpbGRlciBidWlsZGVyLCBMSW50UHJlZGljYXRlIGNvbmQsIExWYWx1ZSBs
ZWZ0LCBMVmFsdWUgcmlnaHQpIHsgcmV0dXJuIExMVk1CdWlsZElDbXAoYnVpbGRlciwgY29uZCwg
bGVmdCwgcmlnaHQsICIiKTsgfQotc3RhdGljIGlubGluZSBMVmFsdWUgYnVpbGRGQ21wKExCdWls
ZGVyIGJ1aWxkZXIsIExSZWFsUHJlZGljYXRlIGNvbmQsIExWYWx1ZSBsZWZ0LCBMVmFsdWUgcmln
aHQpIHsgcmV0dXJuIExMVk1CdWlsZEZDbXAoYnVpbGRlciwgY29uZCwgbGVmdCwgcmlnaHQsICIi
KTsgfQorc3RhdGljIGlubGluZSBMVmFsdWUgYnVpbGRBbGxvY2EoTEJ1aWxkZXIgYnVpbGRlciwg
TFR5cGUgdHlwZSkgeyByZXR1cm4gbGx2bS0+QnVpbGRBbGxvY2EoYnVpbGRlciwgdHlwZSwgIiIp
OyB9CitzdGF0aWMgaW5saW5lIExWYWx1ZSBidWlsZEFkZChMQnVpbGRlciBidWlsZGVyLCBMVmFs
dWUgbGVmdCwgTFZhbHVlIHJpZ2h0KSB7IHJldHVybiBsbHZtLT5CdWlsZEFkZChidWlsZGVyLCBs
ZWZ0LCByaWdodCwgIiIpOyB9CitzdGF0aWMgaW5saW5lIExWYWx1ZSBidWlsZFN1YihMQnVpbGRl
ciBidWlsZGVyLCBMVmFsdWUgbGVmdCwgTFZhbHVlIHJpZ2h0KSB7IHJldHVybiBsbHZtLT5CdWls
ZFN1YihidWlsZGVyLCBsZWZ0LCByaWdodCwgIiIpOyB9CitzdGF0aWMgaW5saW5lIExWYWx1ZSBi
dWlsZE11bChMQnVpbGRlciBidWlsZGVyLCBMVmFsdWUgbGVmdCwgTFZhbHVlIHJpZ2h0KSB7IHJl
dHVybiBsbHZtLT5CdWlsZE11bChidWlsZGVyLCBsZWZ0LCByaWdodCwgIiIpOyB9CitzdGF0aWMg
aW5saW5lIExWYWx1ZSBidWlsZERpdihMQnVpbGRlciBidWlsZGVyLCBMVmFsdWUgbGVmdCwgTFZh
bHVlIHJpZ2h0KSB7IHJldHVybiBsbHZtLT5CdWlsZFNEaXYoYnVpbGRlciwgbGVmdCwgcmlnaHQs
ICIiKTsgfQorc3RhdGljIGlubGluZSBMVmFsdWUgYnVpbGRSZW0oTEJ1aWxkZXIgYnVpbGRlciwg
TFZhbHVlIGxlZnQsIExWYWx1ZSByaWdodCkgeyByZXR1cm4gbGx2bS0+QnVpbGRTUmVtKGJ1aWxk
ZXIsIGxlZnQsIHJpZ2h0LCAiIik7IH0KK3N0YXRpYyBpbmxpbmUgTFZhbHVlIGJ1aWxkTmVnKExC
dWlsZGVyIGJ1aWxkZXIsIExWYWx1ZSB2YWx1ZSkgeyByZXR1cm4gbGx2bS0+QnVpbGROZWcoYnVp
bGRlciwgdmFsdWUsICIiKTsgfQorc3RhdGljIGlubGluZSBMVmFsdWUgYnVpbGRGQWRkKExCdWls
ZGVyIGJ1aWxkZXIsIExWYWx1ZSBsZWZ0LCBMVmFsdWUgcmlnaHQpIHsgcmV0dXJuIGxsdm0tPkJ1
aWxkRkFkZChidWlsZGVyLCBsZWZ0LCByaWdodCwgIiIpOyB9CitzdGF0aWMgaW5saW5lIExWYWx1
ZSBidWlsZEZTdWIoTEJ1aWxkZXIgYnVpbGRlciwgTFZhbHVlIGxlZnQsIExWYWx1ZSByaWdodCkg
eyByZXR1cm4gbGx2bS0+QnVpbGRGU3ViKGJ1aWxkZXIsIGxlZnQsIHJpZ2h0LCAiIik7IH0KK3N0
YXRpYyBpbmxpbmUgTFZhbHVlIGJ1aWxkRk11bChMQnVpbGRlciBidWlsZGVyLCBMVmFsdWUgbGVm
dCwgTFZhbHVlIHJpZ2h0KSB7IHJldHVybiBsbHZtLT5CdWlsZEZNdWwoYnVpbGRlciwgbGVmdCwg
cmlnaHQsICIiKTsgfQorc3RhdGljIGlubGluZSBMVmFsdWUgYnVpbGRGRGl2KExCdWlsZGVyIGJ1
aWxkZXIsIExWYWx1ZSBsZWZ0LCBMVmFsdWUgcmlnaHQpIHsgcmV0dXJuIGxsdm0tPkJ1aWxkRkRp
dihidWlsZGVyLCBsZWZ0LCByaWdodCwgIiIpOyB9CitzdGF0aWMgaW5saW5lIExWYWx1ZSBidWls
ZEZSZW0oTEJ1aWxkZXIgYnVpbGRlciwgTFZhbHVlIGxlZnQsIExWYWx1ZSByaWdodCkgeyByZXR1
cm4gbGx2bS0+QnVpbGRGUmVtKGJ1aWxkZXIsIGxlZnQsIHJpZ2h0LCAiIik7IH0KK3N0YXRpYyBp
bmxpbmUgTFZhbHVlIGJ1aWxkRk5lZyhMQnVpbGRlciBidWlsZGVyLCBMVmFsdWUgdmFsdWUpIHsg
cmV0dXJuIGxsdm0tPkJ1aWxkRk5lZyhidWlsZGVyLCB2YWx1ZSwgIiIpOyB9CitzdGF0aWMgaW5s
aW5lIExWYWx1ZSBidWlsZEFuZChMQnVpbGRlciBidWlsZGVyLCBMVmFsdWUgbGVmdCwgTFZhbHVl
IHJpZ2h0KSB7IHJldHVybiBsbHZtLT5CdWlsZEFuZChidWlsZGVyLCBsZWZ0LCByaWdodCwgIiIp
OyB9CitzdGF0aWMgaW5saW5lIExWYWx1ZSBidWlsZE9yKExCdWlsZGVyIGJ1aWxkZXIsIExWYWx1
ZSBsZWZ0LCBMVmFsdWUgcmlnaHQpIHsgcmV0dXJuIGxsdm0tPkJ1aWxkT3IoYnVpbGRlciwgbGVm
dCwgcmlnaHQsICIiKTsgfQorc3RhdGljIGlubGluZSBMVmFsdWUgYnVpbGRYb3IoTEJ1aWxkZXIg
YnVpbGRlciwgTFZhbHVlIGxlZnQsIExWYWx1ZSByaWdodCkgeyByZXR1cm4gbGx2bS0+QnVpbGRY
b3IoYnVpbGRlciwgbGVmdCwgcmlnaHQsICIiKTsgfQorc3RhdGljIGlubGluZSBMVmFsdWUgYnVp
bGRTaGwoTEJ1aWxkZXIgYnVpbGRlciwgTFZhbHVlIGxlZnQsIExWYWx1ZSByaWdodCkgeyByZXR1
cm4gbGx2bS0+QnVpbGRTaGwoYnVpbGRlciwgbGVmdCwgcmlnaHQsICIiKTsgfQorc3RhdGljIGlu
bGluZSBMVmFsdWUgYnVpbGRBU2hyKExCdWlsZGVyIGJ1aWxkZXIsIExWYWx1ZSBsZWZ0LCBMVmFs
dWUgcmlnaHQpIHsgcmV0dXJuIGxsdm0tPkJ1aWxkQVNocihidWlsZGVyLCBsZWZ0LCByaWdodCwg
IiIpOyB9CitzdGF0aWMgaW5saW5lIExWYWx1ZSBidWlsZExTaHIoTEJ1aWxkZXIgYnVpbGRlciwg
TFZhbHVlIGxlZnQsIExWYWx1ZSByaWdodCkgeyByZXR1cm4gbGx2bS0+QnVpbGRMU2hyKGJ1aWxk
ZXIsIGxlZnQsIHJpZ2h0LCAiIik7IH0KK3N0YXRpYyBpbmxpbmUgTFZhbHVlIGJ1aWxkTm90KExC
dWlsZGVyIGJ1aWxkZXIsIExWYWx1ZSB2YWx1ZSkgeyByZXR1cm4gbGx2bS0+QnVpbGROb3QoYnVp
bGRlciwgdmFsdWUsICIiKTsgfQorc3RhdGljIGlubGluZSBMVmFsdWUgYnVpbGRMb2FkKExCdWls
ZGVyIGJ1aWxkZXIsIExWYWx1ZSBwb2ludGVyKSB7IHJldHVybiBsbHZtLT5CdWlsZExvYWQoYnVp
bGRlciwgcG9pbnRlciwgIiIpOyB9CitzdGF0aWMgaW5saW5lIExWYWx1ZSBidWlsZFN0b3JlKExC
dWlsZGVyIGJ1aWxkZXIsIExWYWx1ZSB2YWx1ZSwgTFZhbHVlIHBvaW50ZXIpIHsgcmV0dXJuIGxs
dm0tPkJ1aWxkU3RvcmUoYnVpbGRlciwgdmFsdWUsIHBvaW50ZXIpOyB9CitzdGF0aWMgaW5saW5l
IExWYWx1ZSBidWlsZFNFeHQoTEJ1aWxkZXIgYnVpbGRlciwgTFZhbHVlIHZhbHVlLCBMVHlwZSB0
eXBlKSB7IHJldHVybiBsbHZtLT5CdWlsZFNFeHQoYnVpbGRlciwgdmFsdWUsIHR5cGUsICIiKTsg
fQorc3RhdGljIGlubGluZSBMVmFsdWUgYnVpbGRaRXh0KExCdWlsZGVyIGJ1aWxkZXIsIExWYWx1
ZSB2YWx1ZSwgTFR5cGUgdHlwZSkgeyByZXR1cm4gbGx2bS0+QnVpbGRaRXh0KGJ1aWxkZXIsIHZh
bHVlLCB0eXBlLCAiIik7IH0KK3N0YXRpYyBpbmxpbmUgTFZhbHVlIGJ1aWxkRlBUb1NJKExCdWls
ZGVyIGJ1aWxkZXIsIExWYWx1ZSB2YWx1ZSwgTFR5cGUgdHlwZSkgeyByZXR1cm4gbGx2bS0+QnVp
bGRGUFRvU0koYnVpbGRlciwgdmFsdWUsIHR5cGUsICIiKTsgfQorc3RhdGljIGlubGluZSBMVmFs
dWUgYnVpbGRGUFRvVUkoTEJ1aWxkZXIgYnVpbGRlciwgTFZhbHVlIHZhbHVlLCBMVHlwZSB0eXBl
KSB7IHJldHVybiBsbHZtLT5CdWlsZEZQVG9VSShidWlsZGVyLCB2YWx1ZSwgdHlwZSwgIiIpOyB9
CitzdGF0aWMgaW5saW5lIExWYWx1ZSBidWlsZFNJVG9GUChMQnVpbGRlciBidWlsZGVyLCBMVmFs
dWUgdmFsdWUsIExUeXBlIHR5cGUpIHsgcmV0dXJuIGxsdm0tPkJ1aWxkU0lUb0ZQKGJ1aWxkZXIs
IHZhbHVlLCB0eXBlLCAiIik7IH0KK3N0YXRpYyBpbmxpbmUgTFZhbHVlIGJ1aWxkVUlUb0ZQKExC
dWlsZGVyIGJ1aWxkZXIsIExWYWx1ZSB2YWx1ZSwgTFR5cGUgdHlwZSkgeyByZXR1cm4gbGx2bS0+
QnVpbGRVSVRvRlAoYnVpbGRlciwgdmFsdWUsIHR5cGUsICIiKTsgfQorc3RhdGljIGlubGluZSBM
VmFsdWUgYnVpbGRJbnRDYXN0KExCdWlsZGVyIGJ1aWxkZXIsIExWYWx1ZSB2YWx1ZSwgTFR5cGUg
dHlwZSkgeyByZXR1cm4gbGx2bS0+QnVpbGRJbnRDYXN0KGJ1aWxkZXIsIHZhbHVlLCB0eXBlLCAi
Iik7IH0KK3N0YXRpYyBpbmxpbmUgTFZhbHVlIGJ1aWxkRlBDYXN0KExCdWlsZGVyIGJ1aWxkZXIs
IExWYWx1ZSB2YWx1ZSwgTFR5cGUgdHlwZSkgeyByZXR1cm4gbGx2bS0+QnVpbGRGUENhc3QoYnVp
bGRlciwgdmFsdWUsIHR5cGUsICIiKTsgfQorc3RhdGljIGlubGluZSBMVmFsdWUgYnVpbGRJbnRU
b1B0cihMQnVpbGRlciBidWlsZGVyLCBMVmFsdWUgdmFsdWUsIExUeXBlIHR5cGUpIHsgcmV0dXJu
IGxsdm0tPkJ1aWxkSW50VG9QdHIoYnVpbGRlciwgdmFsdWUsIHR5cGUsICIiKTsgfQorc3RhdGlj
IGlubGluZSBMVmFsdWUgYnVpbGRQdHJUb0ludChMQnVpbGRlciBidWlsZGVyLCBMVmFsdWUgdmFs
dWUsIExUeXBlIHR5cGUpIHsgcmV0dXJuIGxsdm0tPkJ1aWxkUHRyVG9JbnQoYnVpbGRlciwgdmFs
dWUsIHR5cGUsICIiKTsgfQorc3RhdGljIGlubGluZSBMVmFsdWUgYnVpbGRCaXRDYXN0KExCdWls
ZGVyIGJ1aWxkZXIsIExWYWx1ZSB2YWx1ZSwgTFR5cGUgdHlwZSkgeyByZXR1cm4gbGx2bS0+QnVp
bGRCaXRDYXN0KGJ1aWxkZXIsIHZhbHVlLCB0eXBlLCAiIik7IH0KK3N0YXRpYyBpbmxpbmUgTFZh
bHVlIGJ1aWxkSUNtcChMQnVpbGRlciBidWlsZGVyLCBMSW50UHJlZGljYXRlIGNvbmQsIExWYWx1
ZSBsZWZ0LCBMVmFsdWUgcmlnaHQpIHsgcmV0dXJuIGxsdm0tPkJ1aWxkSUNtcChidWlsZGVyLCBj
b25kLCBsZWZ0LCByaWdodCwgIiIpOyB9CitzdGF0aWMgaW5saW5lIExWYWx1ZSBidWlsZEZDbXAo
TEJ1aWxkZXIgYnVpbGRlciwgTFJlYWxQcmVkaWNhdGUgY29uZCwgTFZhbHVlIGxlZnQsIExWYWx1
ZSByaWdodCkgeyByZXR1cm4gbGx2bS0+QnVpbGRGQ21wKGJ1aWxkZXIsIGNvbmQsIGxlZnQsIHJp
Z2h0LCAiIik7IH0KIHN0YXRpYyBpbmxpbmUgTFZhbHVlIGJ1aWxkQ2FsbChMQnVpbGRlciBidWls
ZGVyLCBMVmFsdWUgZnVuY3Rpb24sIGNvbnN0IExWYWx1ZSogYXJncywgdW5zaWduZWQgbnVtQXJn
cykKIHsKLSAgICByZXR1cm4gTExWTUJ1aWxkQ2FsbChidWlsZGVyLCBmdW5jdGlvbiwgY29uc3Rf
Y2FzdDxMVmFsdWUqPihhcmdzKSwgbnVtQXJncywgIiIpOworICAgIHJldHVybiBsbHZtLT5CdWls
ZENhbGwoYnVpbGRlciwgZnVuY3Rpb24sIGNvbnN0X2Nhc3Q8TFZhbHVlKj4oYXJncyksIG51bUFy
Z3MsICIiKTsKIH0KIHRlbXBsYXRlPHR5cGVuYW1lIFZlY3RvclR5cGU+CiBpbmxpbmUgTFZhbHVl
IGJ1aWxkQ2FsbChMQnVpbGRlciBidWlsZGVyLCBMVmFsdWUgZnVuY3Rpb24sIGNvbnN0IFZlY3Rv
clR5cGUmIHZlY3RvcikKQEAgLTI0OCwxMyArMjQ5LDEzIEBAIHN0YXRpYyBpbmxpbmUgTFZhbHVl
IGJ1aWxkQ2FsbChMQnVpbGRlciAKICAgICByZXR1cm4gYnVpbGRDYWxsKGJ1aWxkZXIsIGZ1bmN0
aW9uLCBhcmdzLCA0KTsKIH0KIGVudW0gVGFpbENhbGxNb2RlIHsgSXNOb3RUYWlsQ2FsbCwgSXNU
YWlsQ2FsbCB9Owotc3RhdGljIGlubGluZSB2b2lkIHNldFRhaWxDYWxsKExWYWx1ZSBjYWxsLCBU
YWlsQ2FsbE1vZGUgbW9kZSkgeyBMTFZNU2V0VGFpbENhbGwoY2FsbCwgbW9kZSA9PSBJc1RhaWxD
YWxsKTsgfQotc3RhdGljIGlubGluZSBMVmFsdWUgYnVpbGRFeHRyYWN0VmFsdWUoTEJ1aWxkZXIg
YnVpbGRlciwgTFZhbHVlIGFnZ1ZhbCwgdW5zaWduZWQgaW5kZXgpIHsgcmV0dXJuIExMVk1CdWls
ZEV4dHJhY3RWYWx1ZShidWlsZGVyLCBhZ2dWYWwsIGluZGV4LCAiIik7IH0KLXN0YXRpYyBpbmxp
bmUgTFZhbHVlIGJ1aWxkU2VsZWN0KExCdWlsZGVyIGJ1aWxkZXIsIExWYWx1ZSBjb25kaXRpb24s
IExWYWx1ZSB0YWtlbiwgTFZhbHVlIG5vdFRha2VuKSB7IHJldHVybiBMTFZNQnVpbGRTZWxlY3Qo
YnVpbGRlciwgY29uZGl0aW9uLCB0YWtlbiwgbm90VGFrZW4sICIiKTsgfQotc3RhdGljIGlubGlu
ZSBMVmFsdWUgYnVpbGRCcihMQnVpbGRlciBidWlsZGVyLCBMQmFzaWNCbG9jayBkZXN0aW5hdGlv
bikgeyByZXR1cm4gTExWTUJ1aWxkQnIoYnVpbGRlciwgZGVzdGluYXRpb24pOyB9Ci1zdGF0aWMg
aW5saW5lIExWYWx1ZSBidWlsZENvbmRCcihMQnVpbGRlciBidWlsZGVyLCBMVmFsdWUgY29uZGl0
aW9uLCBMQmFzaWNCbG9jayB0YWtlbiwgTEJhc2ljQmxvY2sgbm90VGFrZW4pIHsgcmV0dXJuIExM
Vk1CdWlsZENvbmRCcihidWlsZGVyLCBjb25kaXRpb24sIHRha2VuLCBub3RUYWtlbik7IH0KLXN0
YXRpYyBpbmxpbmUgTFZhbHVlIGJ1aWxkU3dpdGNoKExCdWlsZGVyIGJ1aWxkZXIsIExWYWx1ZSB2
YWx1ZSwgTEJhc2ljQmxvY2sgZmFsbFRocm91Z2gsIHVuc2lnbmVkIG51bUNhc2VzKSB7IHJldHVy
biBMTFZNQnVpbGRTd2l0Y2goYnVpbGRlciwgdmFsdWUsIGZhbGxUaHJvdWdoLCBudW1DYXNlcyk7
IH0KLXN0YXRpYyBpbmxpbmUgdm9pZCBhZGRDYXNlKExWYWx1ZSBzd2l0Y2hJbnN0LCBMVmFsdWUg
dmFsdWUsIExCYXNpY0Jsb2NrIHRhcmdldCkgeyBMTFZNQWRkQ2FzZShzd2l0Y2hJbnN0LCB2YWx1
ZSwgdGFyZ2V0KTsgfQorc3RhdGljIGlubGluZSB2b2lkIHNldFRhaWxDYWxsKExWYWx1ZSBjYWxs
LCBUYWlsQ2FsbE1vZGUgbW9kZSkgeyBsbHZtLT5TZXRUYWlsQ2FsbChjYWxsLCBtb2RlID09IElz
VGFpbENhbGwpOyB9CitzdGF0aWMgaW5saW5lIExWYWx1ZSBidWlsZEV4dHJhY3RWYWx1ZShMQnVp
bGRlciBidWlsZGVyLCBMVmFsdWUgYWdnVmFsLCB1bnNpZ25lZCBpbmRleCkgeyByZXR1cm4gbGx2
bS0+QnVpbGRFeHRyYWN0VmFsdWUoYnVpbGRlciwgYWdnVmFsLCBpbmRleCwgIiIpOyB9CitzdGF0
aWMgaW5saW5lIExWYWx1ZSBidWlsZFNlbGVjdChMQnVpbGRlciBidWlsZGVyLCBMVmFsdWUgY29u
ZGl0aW9uLCBMVmFsdWUgdGFrZW4sIExWYWx1ZSBub3RUYWtlbikgeyByZXR1cm4gbGx2bS0+QnVp
bGRTZWxlY3QoYnVpbGRlciwgY29uZGl0aW9uLCB0YWtlbiwgbm90VGFrZW4sICIiKTsgfQorc3Rh
dGljIGlubGluZSBMVmFsdWUgYnVpbGRCcihMQnVpbGRlciBidWlsZGVyLCBMQmFzaWNCbG9jayBk
ZXN0aW5hdGlvbikgeyByZXR1cm4gbGx2bS0+QnVpbGRCcihidWlsZGVyLCBkZXN0aW5hdGlvbik7
IH0KK3N0YXRpYyBpbmxpbmUgTFZhbHVlIGJ1aWxkQ29uZEJyKExCdWlsZGVyIGJ1aWxkZXIsIExW
YWx1ZSBjb25kaXRpb24sIExCYXNpY0Jsb2NrIHRha2VuLCBMQmFzaWNCbG9jayBub3RUYWtlbikg
eyByZXR1cm4gbGx2bS0+QnVpbGRDb25kQnIoYnVpbGRlciwgY29uZGl0aW9uLCB0YWtlbiwgbm90
VGFrZW4pOyB9CitzdGF0aWMgaW5saW5lIExWYWx1ZSBidWlsZFN3aXRjaChMQnVpbGRlciBidWls
ZGVyLCBMVmFsdWUgdmFsdWUsIExCYXNpY0Jsb2NrIGZhbGxUaHJvdWdoLCB1bnNpZ25lZCBudW1D
YXNlcykgeyByZXR1cm4gbGx2bS0+QnVpbGRTd2l0Y2goYnVpbGRlciwgdmFsdWUsIGZhbGxUaHJv
dWdoLCBudW1DYXNlcyk7IH0KK3N0YXRpYyBpbmxpbmUgdm9pZCBhZGRDYXNlKExWYWx1ZSBzd2l0
Y2hJbnN0LCBMVmFsdWUgdmFsdWUsIExCYXNpY0Jsb2NrIHRhcmdldCkgeyBsbHZtLT5BZGRDYXNl
KHN3aXRjaEluc3QsIHZhbHVlLCB0YXJnZXQpOyB9CiB0ZW1wbGF0ZTx0eXBlbmFtZSBWZWN0b3JU
eXBlPgogc3RhdGljIGlubGluZSBMVmFsdWUgYnVpbGRTd2l0Y2goTEJ1aWxkZXIgYnVpbGRlciwg
TFZhbHVlIHZhbHVlLCBjb25zdCBWZWN0b3JUeXBlJiBjYXNlcywgTEJhc2ljQmxvY2sgZmFsbFRo
cm91Z2gpCiB7CkBAIC0yNjMsMTUgKzI2NCwxNSBAQCBzdGF0aWMgaW5saW5lIExWYWx1ZSBidWls
ZFN3aXRjaChMQnVpbGRlCiAgICAgICAgIGFkZENhc2UocmVzdWx0LCBjYXNlc1tpXS52YWx1ZSgp
LCBjYXNlc1tpXS50YXJnZXQoKSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLXN0YXRpYyBpbmxp
bmUgTFZhbHVlIGJ1aWxkUmV0KExCdWlsZGVyIGJ1aWxkZXIsIExWYWx1ZSB2YWx1ZSkgeyByZXR1
cm4gTExWTUJ1aWxkUmV0KGJ1aWxkZXIsIHZhbHVlKTsgfQotc3RhdGljIGlubGluZSBMVmFsdWUg
YnVpbGRVbnJlYWNoYWJsZShMQnVpbGRlciBidWlsZGVyKSB7IHJldHVybiBMTFZNQnVpbGRVbnJl
YWNoYWJsZShidWlsZGVyKTsgfQorc3RhdGljIGlubGluZSBMVmFsdWUgYnVpbGRSZXQoTEJ1aWxk
ZXIgYnVpbGRlciwgTFZhbHVlIHZhbHVlKSB7IHJldHVybiBsbHZtLT5CdWlsZFJldChidWlsZGVy
LCB2YWx1ZSk7IH0KK3N0YXRpYyBpbmxpbmUgTFZhbHVlIGJ1aWxkVW5yZWFjaGFibGUoTEJ1aWxk
ZXIgYnVpbGRlcikgeyByZXR1cm4gbGx2bS0+QnVpbGRVbnJlYWNoYWJsZShidWlsZGVyKTsgfQog
Ci1zdGF0aWMgaW5saW5lIHZvaWQgZHVtcE1vZHVsZShMTW9kdWxlIG1vZHVsZSkgeyBMTFZNRHVt
cE1vZHVsZShtb2R1bGUpOyB9CitzdGF0aWMgaW5saW5lIHZvaWQgZHVtcE1vZHVsZShMTW9kdWxl
IG1vZHVsZSkgeyBsbHZtLT5EdW1wTW9kdWxlKG1vZHVsZSk7IH0KIHN0YXRpYyBpbmxpbmUgdm9p
ZCB2ZXJpZnlNb2R1bGUoTE1vZHVsZSBtb2R1bGUpCiB7CiAgICAgY2hhciogZXJyb3IgPSAwOwot
ICAgIExMVk1WZXJpZnlNb2R1bGUobW9kdWxlLCBMTFZNQWJvcnRQcm9jZXNzQWN0aW9uLCAmZXJy
b3IpOwotICAgIExMVk1EaXNwb3NlTWVzc2FnZShlcnJvcik7CisgICAgbGx2bS0+VmVyaWZ5TW9k
dWxlKG1vZHVsZSwgTExWTUFib3J0UHJvY2Vzc0FjdGlvbiwgJmVycm9yKTsKKyAgICBsbHZtLT5E
aXNwb3NlTWVzc2FnZShlcnJvcik7CiB9CiAKIH0gfSAvLyBuYW1lc3BhY2UgSlNDOjpGVEwKSW5k
ZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMQ29tcGlsZS5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExDb21waWxlLmNwcAkocmV2aXNpb24gMTU3
MjA0KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExDb21waWxlLmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtMzQsOCArMzQsOCBAQAogI2luY2x1ZGUgIkRpc2Fzc2VtYmxlci5oIgogI2lu
Y2x1ZGUgIkZUTEpJVENvZGUuaCIKICNpbmNsdWRlICJKSVRTdHVicy5oIgorI2luY2x1ZGUgIkxM
Vk1BUEkuaCIKICNpbmNsdWRlICJMaW5rQnVmZmVyLmgiCi0jaW5jbHVkZSA8d3RmL0xMVk1IZWFk
ZXJzLmg+CiAKIG5hbWVzcGFjZSBKU0MgeyBuYW1lc3BhY2UgRlRMIHsKIApAQCAtOTUsNTIgKzk1
LDUyIEBAIHZvaWQgY29tcGlsZShTdGF0ZSYgc3RhdGUpCiAgICAgY2hhciogZXJyb3IgPSAwOwog
ICAgIAogICAgIExMVk1NQ0pJVENvbXBpbGVyT3B0aW9ucyBvcHRpb25zOwotICAgIExMVk1Jbml0
aWFsaXplTUNKSVRDb21waWxlck9wdGlvbnMoJm9wdGlvbnMsIHNpemVvZihvcHRpb25zKSk7Cisg
ICAgbGx2bS0+SW5pdGlhbGl6ZU1DSklUQ29tcGlsZXJPcHRpb25zKCZvcHRpb25zLCBzaXplb2Yo
b3B0aW9ucykpOwogICAgIG9wdGlvbnMuT3B0TGV2ZWwgPSBPcHRpb25zOjpsbHZtQmFja2VuZE9w
dGltaXphdGlvbkxldmVsKCk7CiAgICAgb3B0aW9ucy5Ob0ZyYW1lUG9pbnRlckVsaW0gPSB0cnVl
OwogICAgIGlmIChPcHRpb25zOjp1c2VMTFZNU21hbGxDb2RlTW9kZWwoKSkKICAgICAgICAgb3B0
aW9ucy5Db2RlTW9kZWwgPSBMTFZNQ29kZU1vZGVsU21hbGw7CiAgICAgb3B0aW9ucy5FbmFibGVG
YXN0SVNlbCA9IE9wdGlvbnM6OmVuYWJsZUxMVk1GYXN0SVNlbCgpOwotICAgIG9wdGlvbnMuTUNK
TU0gPSBMTFZNQ3JlYXRlU2ltcGxlTUNKSVRNZW1vcnlNYW5hZ2VyKAorICAgIG9wdGlvbnMuTUNK
TU0gPSBsbHZtLT5DcmVhdGVTaW1wbGVNQ0pJVE1lbW9yeU1hbmFnZXIoCiAgICAgICAgICZzdGF0
ZSwgbW1BbGxvY2F0ZUNvZGVTZWN0aW9uLCBtbUFsbG9jYXRlRGF0YVNlY3Rpb24sIG1tQXBwbHlQ
ZXJtaXNzaW9ucywgbW1EZXN0cm95KTsKICAgICAKICAgICBMTFZNRXhlY3V0aW9uRW5naW5lUmVm
IGVuZ2luZTsKICAgICAKLSAgICBpZiAoTExWTUNyZWF0ZU1DSklUQ29tcGlsZXJGb3JNb2R1bGUo
JmVuZ2luZSwgc3RhdGUubW9kdWxlLCAmb3B0aW9ucywgc2l6ZW9mKG9wdGlvbnMpLCAmZXJyb3Ip
KSB7CisgICAgaWYgKGxsdm0tPkNyZWF0ZU1DSklUQ29tcGlsZXJGb3JNb2R1bGUoJmVuZ2luZSwg
c3RhdGUubW9kdWxlLCAmb3B0aW9ucywgc2l6ZW9mKG9wdGlvbnMpLCAmZXJyb3IpKSB7CiAgICAg
ICAgIGRhdGFMb2coIkZBVEFMOiBDb3VsZCBub3QgY3JlYXRlIExMVk0gZXhlY3V0aW9uIGVuZ2lu
ZTogIiwgZXJyb3IsICJcbiIpOwogICAgICAgICBDUkFTSCgpOwogICAgIH0KIAotICAgIExMVk1Q
YXNzTWFuYWdlckJ1aWxkZXJSZWYgcGFzc0J1aWxkZXIgPSBMTFZNUGFzc01hbmFnZXJCdWlsZGVy
Q3JlYXRlKCk7Ci0gICAgTExWTVBhc3NNYW5hZ2VyQnVpbGRlclNldE9wdExldmVsKHBhc3NCdWls
ZGVyLCBPcHRpb25zOjpsbHZtT3B0aW1pemF0aW9uTGV2ZWwoKSk7Ci0gICAgTExWTVBhc3NNYW5h
Z2VyQnVpbGRlclNldFNpemVMZXZlbChwYXNzQnVpbGRlciwgT3B0aW9uczo6bGx2bVNpemVMZXZl
bCgpKTsKKyAgICBMTFZNUGFzc01hbmFnZXJCdWlsZGVyUmVmIHBhc3NCdWlsZGVyID0gbGx2bS0+
UGFzc01hbmFnZXJCdWlsZGVyQ3JlYXRlKCk7CisgICAgbGx2bS0+UGFzc01hbmFnZXJCdWlsZGVy
U2V0T3B0TGV2ZWwocGFzc0J1aWxkZXIsIE9wdGlvbnM6Omxsdm1PcHRpbWl6YXRpb25MZXZlbCgp
KTsKKyAgICBsbHZtLT5QYXNzTWFuYWdlckJ1aWxkZXJTZXRTaXplTGV2ZWwocGFzc0J1aWxkZXIs
IE9wdGlvbnM6Omxsdm1TaXplTGV2ZWwoKSk7CiAgICAgCi0gICAgTExWTVBhc3NNYW5hZ2VyUmVm
IGZ1bmN0aW9uUGFzc2VzID0gTExWTUNyZWF0ZUZ1bmN0aW9uUGFzc01hbmFnZXJGb3JNb2R1bGUo
c3RhdGUubW9kdWxlKTsKLSAgICBMTFZNUGFzc01hbmFnZXJSZWYgbW9kdWxlUGFzc2VzID0gTExW
TUNyZWF0ZVBhc3NNYW5hZ2VyKCk7CisgICAgTExWTVBhc3NNYW5hZ2VyUmVmIGZ1bmN0aW9uUGFz
c2VzID0gbGx2bS0+Q3JlYXRlRnVuY3Rpb25QYXNzTWFuYWdlckZvck1vZHVsZShzdGF0ZS5tb2R1
bGUpOworICAgIExMVk1QYXNzTWFuYWdlclJlZiBtb2R1bGVQYXNzZXMgPSBsbHZtLT5DcmVhdGVQ
YXNzTWFuYWdlcigpOwogICAgIAotICAgIExMVk1BZGRUYXJnZXREYXRhKExMVk1HZXRFeGVjdXRp
b25FbmdpbmVUYXJnZXREYXRhKGVuZ2luZSksIG1vZHVsZVBhc3Nlcyk7CisgICAgbGx2bS0+QWRk
VGFyZ2V0RGF0YShsbHZtLT5HZXRFeGVjdXRpb25FbmdpbmVUYXJnZXREYXRhKGVuZ2luZSksIG1v
ZHVsZVBhc3Nlcyk7CiAgICAgCi0gICAgTExWTVBhc3NNYW5hZ2VyQnVpbGRlclBvcHVsYXRlRnVu
Y3Rpb25QYXNzTWFuYWdlcihwYXNzQnVpbGRlciwgZnVuY3Rpb25QYXNzZXMpOwotICAgIExMVk1Q
YXNzTWFuYWdlckJ1aWxkZXJQb3B1bGF0ZU1vZHVsZVBhc3NNYW5hZ2VyKHBhc3NCdWlsZGVyLCBt
b2R1bGVQYXNzZXMpOworICAgIGxsdm0tPlBhc3NNYW5hZ2VyQnVpbGRlclBvcHVsYXRlRnVuY3Rp
b25QYXNzTWFuYWdlcihwYXNzQnVpbGRlciwgZnVuY3Rpb25QYXNzZXMpOworICAgIGxsdm0tPlBh
c3NNYW5hZ2VyQnVpbGRlclBvcHVsYXRlTW9kdWxlUGFzc01hbmFnZXIocGFzc0J1aWxkZXIsIG1v
ZHVsZVBhc3Nlcyk7CiAgICAgCi0gICAgTExWTVBhc3NNYW5hZ2VyQnVpbGRlckRpc3Bvc2UocGFz
c0J1aWxkZXIpOworICAgIGxsdm0tPlBhc3NNYW5hZ2VyQnVpbGRlckRpc3Bvc2UocGFzc0J1aWxk
ZXIpOwogCi0gICAgTExWTUluaXRpYWxpemVGdW5jdGlvblBhc3NNYW5hZ2VyKGZ1bmN0aW9uUGFz
c2VzKTsKLSAgICBmb3IgKExWYWx1ZSBmdW5jdGlvbiA9IExMVk1HZXRGaXJzdEZ1bmN0aW9uKHN0
YXRlLm1vZHVsZSk7IGZ1bmN0aW9uOyBmdW5jdGlvbiA9IExMVk1HZXROZXh0RnVuY3Rpb24oZnVu
Y3Rpb24pKQotICAgICAgICBMTFZNUnVuRnVuY3Rpb25QYXNzTWFuYWdlcihmdW5jdGlvblBhc3Nl
cywgZnVuY3Rpb24pOwotICAgIExMVk1GaW5hbGl6ZUZ1bmN0aW9uUGFzc01hbmFnZXIoZnVuY3Rp
b25QYXNzZXMpOworICAgIGxsdm0tPkluaXRpYWxpemVGdW5jdGlvblBhc3NNYW5hZ2VyKGZ1bmN0
aW9uUGFzc2VzKTsKKyAgICBmb3IgKExWYWx1ZSBmdW5jdGlvbiA9IGxsdm0tPkdldEZpcnN0RnVu
Y3Rpb24oc3RhdGUubW9kdWxlKTsgZnVuY3Rpb247IGZ1bmN0aW9uID0gbGx2bS0+R2V0TmV4dEZ1
bmN0aW9uKGZ1bmN0aW9uKSkKKyAgICAgICAgbGx2bS0+UnVuRnVuY3Rpb25QYXNzTWFuYWdlcihm
dW5jdGlvblBhc3NlcywgZnVuY3Rpb24pOworICAgIGxsdm0tPkZpbmFsaXplRnVuY3Rpb25QYXNz
TWFuYWdlcihmdW5jdGlvblBhc3Nlcyk7CiAgICAgCi0gICAgTExWTVJ1blBhc3NNYW5hZ2VyKG1v
ZHVsZVBhc3Nlcywgc3RhdGUubW9kdWxlKTsKKyAgICBsbHZtLT5SdW5QYXNzTWFuYWdlcihtb2R1
bGVQYXNzZXMsIHN0YXRlLm1vZHVsZSk7CiAKICAgICBpZiAoREZHOjpzaG91bGRTaG93RGlzYXNz
ZW1ibHkoKSB8fCBERkc6OnZlcmJvc2VDb21waWxhdGlvbkVuYWJsZWQoKSkKICAgICAgICAgc3Rh
dGUuZHVtcFN0YXRlKCJhZnRlciBvcHRpbWl6YXRpb24iKTsKICAgICAKICAgICAvLyBGSVhNRTog
TmVlZCB0byBhZGQgc3VwcG9ydCBmb3IgdGhlIGNhc2Ugd2hlcmUgSklUIG1lbW9yeSBhbGxvY2F0
aW9uIGZhaWxlZC4KICAgICAvLyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTEzNjIwCi0gICAgc3RhdGUuZ2VuZXJhdGVkRnVuY3Rpb24gPSByZWludGVycHJldF9jYXN0
PEdlbmVyYXRlZEZ1bmN0aW9uPihMTFZNR2V0UG9pbnRlclRvR2xvYmFsKGVuZ2luZSwgc3RhdGUu
ZnVuY3Rpb24pKTsKLSAgICBMTFZNRGlzcG9zZVBhc3NNYW5hZ2VyKGZ1bmN0aW9uUGFzc2VzKTsK
LSAgICBMTFZNRGlzcG9zZVBhc3NNYW5hZ2VyKG1vZHVsZVBhc3Nlcyk7Ci0gICAgTExWTURpc3Bv
c2VFeGVjdXRpb25FbmdpbmUoZW5naW5lKTsKKyAgICBzdGF0ZS5nZW5lcmF0ZWRGdW5jdGlvbiA9
IHJlaW50ZXJwcmV0X2Nhc3Q8R2VuZXJhdGVkRnVuY3Rpb24+KGxsdm0tPkdldFBvaW50ZXJUb0ds
b2JhbChlbmdpbmUsIHN0YXRlLmZ1bmN0aW9uKSk7CisgICAgbGx2bS0+RGlzcG9zZVBhc3NNYW5h
Z2VyKGZ1bmN0aW9uUGFzc2VzKTsKKyAgICBsbHZtLT5EaXNwb3NlUGFzc01hbmFnZXIobW9kdWxl
UGFzc2VzKTsKKyAgICBsbHZtLT5EaXNwb3NlRXhlY3V0aW9uRW5naW5lKGVuZ2luZSk7CiAKICAg
ICBpZiAoc2hvdWxkU2hvd0Rpc2Fzc2VtYmx5KCkpIHsKICAgICAgICAgLy8gRklYTUU6IGZvdXJ0
aFRpZXI6IEZUTCBtZW1vcnkgYWxsb2NhdG9yIHNob3VsZCBiZSBhYmxlIHRvIHRlbGwgdXMgd2hp
Y2ggb2YKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMRmFpbC5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExGYWlsLmNwcAkocmV2aXNpb24g
MTU3MjA0KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExGYWlsLmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtMzAsNyArMzAsNyBAQAogCiAjaW5jbHVkZSAiREZHRmFpbGVkRmluYWxpemVy
LmgiCiAjaW5jbHVkZSAiRlRMSklUQ29kZS5oIgotI2luY2x1ZGUgPHd0Zi9MTFZNSGVhZGVycy5o
PgorI2luY2x1ZGUgIkxMVk1BUEkuaCIKIAogbmFtZXNwYWNlIEpTQyB7IG5hbWVzcGFjZSBGVEwg
ewogCkBAIC00MCw3ICs0MCw3IEBAIHZvaWQgZmFpbChTdGF0ZSYgc3RhdGUpCiB7CiAgICAgc3Rh
dGUuZ3JhcGgubV9wbGFuLmZpbmFsaXplciA9IGFkb3B0UHRyKG5ldyBGYWlsZWRGaW5hbGl6ZXIo
c3RhdGUuZ3JhcGgubV9wbGFuKSk7CiAgICAgCi0gICAgTExWTURpc3Bvc2VNb2R1bGUoc3RhdGUu
bW9kdWxlKTsKKyAgICBsbHZtLT5EaXNwb3NlTW9kdWxlKHN0YXRlLm1vZHVsZSk7CiB9CiAKIH0g
fSAvLyBuYW1lc3BhY2UgSlNDOjpGVEwKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwv
RlRMSklUQ29kZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRM
SklUQ29kZS5oCShyZXZpc2lvbiAxNTcyMDQpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRs
L0ZUTEpJVENvZGUuaAkod29ya2luZyBjb3B5KQpAQCAtMzMsNyArMzMsNyBAQAogI2luY2x1ZGUg
IkRGR0NvbW1vbkRhdGEuaCIKICNpbmNsdWRlICJGVExPU1JFeGl0LmgiCiAjaW5jbHVkZSAiSklU
Q29kZS5oIgotI2luY2x1ZGUgPHd0Zi9MTFZNSGVhZGVycy5oPgorI2luY2x1ZGUgIkxMVk1BUEku
aCIKICNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZEFycmF5Lmg+CiAKIG5hbWVzcGFjZSBKU0MgeyBu
YW1lc3BhY2UgRlRMIHsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMSklURmlu
YWxpemVyLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExKSVRG
aW5hbGl6ZXIuaAkocmV2aXNpb24gMTU3MjA0KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0
bC9GVExKSVRGaW5hbGl6ZXIuaAkod29ya2luZyBjb3B5KQpAQCAtMzMsOSArMzMsOSBAQAogI2lu
Y2x1ZGUgIkRGR0ZpbmFsaXplci5oIgogI2luY2x1ZGUgIkZUTEdlbmVyYXRlZEZ1bmN0aW9uLmgi
CiAjaW5jbHVkZSAiRlRMSklUQ29kZS5oIgorI2luY2x1ZGUgIkxMVk1BUEkuaCIKICNpbmNsdWRl
ICJMaW5rQnVmZmVyLmgiCiAjaW5jbHVkZSAiTWFjcm9Bc3NlbWJsZXIuaCIKLSNpbmNsdWRlIDx3
dGYvTExWTUhlYWRlcnMuaD4KIAogbmFtZXNwYWNlIEpTQyB7IG5hbWVzcGFjZSBGVEwgewogCklu
ZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTExpbmsuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMTGluay5jcHAJKHJldmlzaW9uIDE1NzIwNCkK
KysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMTGluay5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTM1LDkgKzM1LDkgQEAKICNpbmNsdWRlICJGVExKSVRDb2RlLmgiCiAjaW5jbHVkZSAiSklU
T3BlcmF0aW9ucy5oIgogI2luY2x1ZGUgIkpJVFN0dWJzLmgiCisjaW5jbHVkZSAiTExWTUFQSS5o
IgogI2luY2x1ZGUgIkxpbmtCdWZmZXIuaCIKICNpbmNsdWRlICJWaXJ0dWFsUmVnaXN0ZXIuaCIK
LSNpbmNsdWRlIDx3dGYvTExWTUhlYWRlcnMuaD4KIAogbmFtZXNwYWNlIEpTQyB7IG5hbWVzcGFj
ZSBGVEwgewogCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTExvd2VyREZHVG9M
TFZNLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTExvd2Vy
REZHVG9MTFZNLmNwcAkocmV2aXNpb24gMTU3MjA0KQorKysgU291cmNlL0phdmFTY3JpcHRDb3Jl
L2Z0bC9GVExMb3dlckRGR1RvTExWTS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTkxLDcgKzkxLDcg
QEAgcHVibGljOgogICAgICAgICBtX2dyYXBoLm1fZG9taW5hdG9ycy5jb21wdXRlSWZOZWNlc3Nh
cnkobV9ncmFwaCk7CiAgICAgICAgIAogICAgICAgICBtX2Z0bFN0YXRlLm1vZHVsZSA9Ci0gICAg
ICAgICAgICBMTFZNTW9kdWxlQ3JlYXRlV2l0aE5hbWVJbkNvbnRleHQobmFtZS5kYXRhKCksIG1f
ZnRsU3RhdGUuY29udGV4dCk7CisgICAgICAgICAgICBsbHZtLT5Nb2R1bGVDcmVhdGVXaXRoTmFt
ZUluQ29udGV4dChuYW1lLmRhdGEoKSwgbV9mdGxTdGF0ZS5jb250ZXh0KTsKICAgICAgICAgCiAg
ICAgICAgIG1fZnRsU3RhdGUuZnVuY3Rpb24gPSBhZGRGdW5jdGlvbigKICAgICAgICAgICAgIG1f
ZnRsU3RhdGUubW9kdWxlLCBuYW1lLmRhdGEoKSwgZnVuY3Rpb25UeXBlKG1fb3V0LmludDY0LCBt
X291dC5pbnRQdHIpKTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMT3V0cHV0
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTE91dHB1dC5j
cHAJKHJldmlzaW9uIDE1NzIwNCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMT3V0
cHV0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzQsNyArMzQsNyBAQCBPdXRwdXQ6Ok91dHB1dChM
Q29udGV4dCBjb250ZXh0KQogICAgIDogSW50cmluc2ljUmVwb3NpdG9yeShjb250ZXh0KQogICAg
ICwgbV9mdW5jdGlvbigwKQogICAgICwgbV9oZWFwcygwKQotICAgICwgbV9idWlsZGVyKExMVk1D
cmVhdGVCdWlsZGVySW5Db250ZXh0KG1fY29udGV4dCkpCisgICAgLCBtX2J1aWxkZXIobGx2bS0+
Q3JlYXRlQnVpbGRlckluQ29udGV4dChtX2NvbnRleHQpKQogICAgICwgbV9ibG9jaygwKQogICAg
ICwgbV9uZXh0QmxvY2soMCkKIHsKQEAgLTQyLDcgKzQyLDcgQEAgT3V0cHV0OjpPdXRwdXQoTENv
bnRleHQgY29udGV4dCkKIAogT3V0cHV0Ojp+T3V0cHV0KCkKIHsKLSAgICBMTFZNRGlzcG9zZUJ1
aWxkZXIobV9idWlsZGVyKTsKKyAgICBsbHZtLT5EaXNwb3NlQnVpbGRlcihtX2J1aWxkZXIpOwog
fQogCiB9IH0gLy8gbmFtZXNwYWNlIEpTQzo6RlRMCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvZnRsL0ZUTE91dHB1dC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9m
dGwvRlRMT3V0cHV0LmgJKHJldmlzaW9uIDE1NzIwNCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9mdGwvRlRMT3V0cHV0LmgJKHdvcmtpbmcgY29weSkKQEAgLTk0LDcgKzk0LDcgQEAgcHVibGlj
OgogICAgIHsKICAgICAgICAgbV9ibG9jayA9IGJsb2NrOwogICAgICAgICAKLSAgICAgICAgTExW
TVBvc2l0aW9uQnVpbGRlckF0RW5kKG1fYnVpbGRlciwgYmxvY2spOworICAgICAgICBsbHZtLT5Q
b3NpdGlvbkJ1aWxkZXJBdEVuZChtX2J1aWxkZXIsIGJsb2NrKTsKICAgICB9CiAgICAgTEJhc2lj
QmxvY2sgbmV3QmxvY2soY29uc3QgY2hhciogbmFtZSA9ICIiKQogICAgIHsKSW5kZXg6IFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMU3RhdGUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9mdGwvRlRMU3RhdGUuY3BwCShyZXZpc2lvbiAxNTcyMDQpCisrKyBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTFN0YXRlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzks
NyArMzksNyBAQCB1c2luZyBuYW1lc3BhY2UgREZHOwogCiBTdGF0ZTo6U3RhdGUoR3JhcGgmIGdy
YXBoKQogICAgIDogZ3JhcGgoZ3JhcGgpCi0gICAgLCBjb250ZXh0KExMVk1Db250ZXh0Q3JlYXRl
KCkpCisgICAgLCBjb250ZXh0KGxsdm0tPkNvbnRleHRDcmVhdGUoKSkKICAgICAsIG1vZHVsZSgw
KQogICAgICwgZnVuY3Rpb24oMCkKICAgICAsIGdlbmVyYXRlZEZ1bmN0aW9uKDApCkBAIC02Nyw3
ICs2Nyw3IEBAIFN0YXRlOjpTdGF0ZShHcmFwaCYgZ3JhcGgpCiAKIFN0YXRlOjp+U3RhdGUoKQog
ewotICAgIExMVk1Db250ZXh0RGlzcG9zZShjb250ZXh0KTsKKyAgICBsbHZtLT5Db250ZXh0RGlz
cG9zZShjb250ZXh0KTsKIH0KIAogdm9pZCBTdGF0ZTo6ZHVtcFN0YXRlKGNvbnN0IGNoYXIqIHdo
ZW4pCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL1dlYktpdExMVk1MaWJyYXJ5QW5j
aG9yLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL1dlYktpdExM
Vk1MaWJyYXJ5QW5jaG9yLmNwcAkocmV2aXNpb24gMTU3MjA0KQorKysgU291cmNlL0phdmFTY3Jp
cHRDb3JlL2Z0bC9XZWJLaXRMTFZNTGlicmFyeUFuY2hvci5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTEsMzQgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxMyBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBt
ZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCi0gKiBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQotICogSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUg
SU5DLiBPUgotICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCi0gKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBQUk9DVVJFTUVOVCBP
RiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKLSAq
IFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWSBUSEVPUlkKLSAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKLSAq
LwotCi0jaW5jbHVkZSAiY29uZmlnLmgiCi0KLSNpZiBFTkFCTEUoRlRMX0pJVCkKLS8vIFRoaXMg
aXMgYSBoYWNrIGZvciBlbnN1cmluZyB0aGF0IHRoZSBidWlsZCBzeXN0ZW0gcmVsaW5rcyBKYXZh
U2NyaXB0Q29yZSBpZiBhbnkKLS8vIG9mIHRoZSBMTFZNIGxpYnJhcmllcyBhcmUga25vd24gdG8g
aGF2ZSBjaGFuZ2VkLgotI2luY2x1ZGUgIldlYktpdExMVk1MaWJyYXJ5VG9rZW4uaCIKLQotI2Vu
ZGlmCi0KSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbHZtL0luaXRpYWxpemVMTFZNLmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvbGx2bS9Jbml0aWFsaXplTExW
TS5jcHAJKHJldmlzaW9uIDApCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvbGx2bS9Jbml0aWFs
aXplTExWTS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw0NSBAQAorLyoKKyAqIENvcHly
aWdodCAoQykgMjAxMyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisg
KgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBB
TkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJF
IExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisg
KiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisj
aW5jbHVkZSAiSW5pdGlhbGl6ZUxMVk0uaCIKKworI2lmIEhBVkUoTExWTSkKKworI2luY2x1ZGUg
PHd0Zi9UaHJlYWRpbmcuaD4KKworbmFtZXNwYWNlIEpTQyB7CisKK3N0YXRpYyBwdGhyZWFkX29u
Y2VfdCBpbml0aWFsaXplTExWTU9uY2VLZXkgPSBQVEhSRUFEX09OQ0VfSU5JVDsKKwordm9pZCBp
bml0aWFsaXplTExWTSgpCit7CisgICAgcHRocmVhZF9vbmNlKCZpbml0aWFsaXplTExWTU9uY2VL
ZXksIGluaXRpYWxpemVMTFZNSW1wbCk7Cit9CisKK30gLy8gbmFtZXNwYWNlIEpTQworCisjZW5k
aWYgLy8gSEFWRShMTFZNKQorCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvbGx2bS9Jbml0
aWFsaXplTExWTS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbHZtL0lu
aXRpYWxpemVMTFZNLmgJKHJldmlzaW9uIDApCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvbGx2
bS9Jbml0aWFsaXplTExWTS5oCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNDQgQEAKKy8qCisg
KiBDb3B5cmlnaHQgKEMpIDIwMTMgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoK
KyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0
aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFT
IElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUg
RElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJV
VE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVD
SUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVT
UyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQK
KyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9G
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisgKi8KKworI2lmbmRlZiBJbml0aWFs
aXplTExWTV9oCisjZGVmaW5lIEluaXRpYWxpemVMTFZNX2gKKworI2luY2x1ZGUgPHd0Zi9QbGF0
Zm9ybS5oPgorCisjaWYgSEFWRShMTFZNKQorCituYW1lc3BhY2UgSlNDIHsKKwordm9pZCBpbml0
aWFsaXplTExWTUltcGwoKTsKKwordm9pZCBpbml0aWFsaXplTExWTSgpOyAvLyBJdCdzIHNhZmUg
dG8gY2FsbCB0aGlzIG11bHRpcGxlIHRpbWVzLgorCit9IC8vIG5hbWVzcGFjZSBKU0MKKworI2Vu
ZGlmIC8vIEhBVkUoTExWTSkKKworI2VuZGlmIC8vIEluaXRpYWxpemVMTFZNX2gKKwpJbmRleDog
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsdm0vSW5pdGlhbGl6ZUxMVk1NYWMubW0KPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2xsdm0vSW5pdGlhbGl6ZUxMVk1NYWMubW0JKHJl
dmlzaW9uIDApCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvbGx2bS9Jbml0aWFsaXplTExWTU1h
Yy5tbQkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDU1IEBACisvKgorICogQ29weXJpZ2h0IChD
KSAyMDEzIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
KyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAy
LiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkK
KyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJ
TiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxF
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1Q
TEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuIAorICovCisKKyNpbXBvcnQgImNvbmZpZy5oIgorI2ltcG9ydCAi
SW5pdGlhbGl6ZUxMVk0uaCIKKworI2lmIEhBVkUoTExWTSkKKworI2ltcG9ydCAiSW5pdGlhbGl6
ZUxMVk1QT1NJWC5oIgorI2ltcG9ydCA8Rm91bmRhdGlvbi9Gb3VuZGF0aW9uLmg+CisKKy8vIFVz
ZSB0aGUgIkpTIiBwcmVmaXggdG8gbWFrZSBjaGVjay1mb3ItaW5hcHByb3ByaWF0ZS1vYmpjLWNs
YXNzLW5hbWVzIGhhcHB5LiBJCisvLyB0aGluayB0aGlzIGlzIGJldHRlciB0aGFuIGhhY2tpbmcg
dGhhdCBzY3JpcHQuCisKK0BpbnRlcmZhY2UgSlNKYXZhU2NyaXB0Q29yZUJ1bmRsZUZpbmRlciA6
IE5TT2JqZWN0CitAZW5kCisKK0BpbXBsZW1lbnRhdGlvbiBKU0phdmFTY3JpcHRDb3JlQnVuZGxl
RmluZGVyCitAZW5kCisKK25hbWVzcGFjZSBKU0MgeworCit2b2lkIGluaXRpYWxpemVMTFZNSW1w
bCgpCit7CisgICAgTlNCdW5kbGUgKm15QnVuZGxlID0gW05TQnVuZGxlIGJ1bmRsZUZvckNsYXNz
OltKU0phdmFTY3JpcHRDb3JlQnVuZGxlRmluZGVyIGNsYXNzXV07CisgICAgTlNTdHJpbmcgKnBh
dGggPSBbW215QnVuZGxlIGJ1bmRsZVBhdGhdIHN0cmluZ0J5QXBwZW5kaW5nUGF0aENvbXBvbmVu
dDpAIkxpYnJhcmllcy9saWJsbHZtRm9ySlNDLmR5bGliIl07CisgICAgCisgICAgaW5pdGlhbGl6
ZUxMVk1QT1NJWChbcGF0aCBVVEY4U3RyaW5nXSk7Cit9CisKK30gLy8gbmFtZXNwYWNlIEpTQwor
CisjZW5kaWYgLy8gSEFWRShMTFZNKQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2xsdm0v
SW5pdGlhbGl6ZUxMVk1QT1NJWC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsdm0vSW5pdGlhbGl6ZUxMVk1QT1NJWC5jcHAJKHJldmlzaW9uIDApCisrKyBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGx2bS9Jbml0aWFsaXplTExWTVBPU0lYLmNwcAkod29ya2luZyBjb3B5
KQpAQCAtMCwwICsxLDUzIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEzIEFwcGxlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICog
YXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBB
UFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVN
RU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBP
UgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
IAorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJJbml0aWFsaXplTExWTVBP
U0lYLmgiCisKKyNpZiBIQVZFKExMVk0pCisKKyNpbmNsdWRlICJMTFZNQVBJLmgiCisjaW5jbHVk
ZSA8ZGxmY24uaD4KKworbmFtZXNwYWNlIEpTQyB7CisKK3R5cGVkZWYgTExWTUFQSSogKCpJbml0
aWFsaXplckZ1bmN0aW9uKSgpOworCit2b2lkIGluaXRpYWxpemVMTFZNUE9TSVgoY29uc3QgY2hh
ciogbGlicmFyeU5hbWUpCit7CisgICAgdm9pZCogbGlicmFyeSA9IGRsb3BlbihsaWJyYXJ5TmFt
ZSwgUlRMRF9OT1cpOworICAgIEFTU0VSVF9XSVRIX01FU1NBR0UobGlicmFyeSwgIiVzIiwgZGxl
cnJvcigpKTsKKyAgICAKKyAgICBJbml0aWFsaXplckZ1bmN0aW9uIGluaXRpYWxpemVyID0gYml0
d2lzZV9jYXN0PEluaXRpYWxpemVyRnVuY3Rpb24+KAorICAgICAgICBkbHN5bShsaWJyYXJ5LCAi
aW5pdGlhbGl6ZUFuZEdldEpTQ0xMVk1BUEkiKSk7CisgICAgQVNTRVJUX1dJVEhfTUVTU0FHRShp
bml0aWFsaXplciwgIiVzIiwgZGxlcnJvcigpKTsKKyAgICAKKyAgICBsbHZtID0gaW5pdGlhbGl6
ZXIoKTsKK30KKworfSAvLyBuYW1lc3BhY2UgSlNDCisKKyNlbmRpZiAvLyBIQVZFKExMVk0pCisK
SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbHZtL0luaXRpYWxpemVMTFZNUE9TSVguaAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvbGx2bS9Jbml0aWFsaXplTExWTVBP
U0lYLmgJKHJldmlzaW9uIDApCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvbGx2bS9Jbml0aWFs
aXplTExWTVBPU0lYLmgJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw0MiBAQAorLyoKKyAqIENv
cHlyaWdodCAoQykgMjAxMyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24u
CisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMn
JyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVND
TEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JT
IEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUws
CisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICog
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKyAqLworCisjaWZuZGVmIEluaXRpYWxpemVM
TFZNUE9TSVhfaAorI2RlZmluZSBJbml0aWFsaXplTExWTVBPU0lYX2gKKworI2luY2x1ZGUgPHd0
Zi9QbGF0Zm9ybS5oPgorCisjaWYgSEFWRShMTFZNKQorCituYW1lc3BhY2UgSlNDIHsKKwordm9p
ZCBpbml0aWFsaXplTExWTVBPU0lYKGNvbnN0IGNoYXIqIGxpYnJhcnlOYW1lKTsKKworfSAvLyBu
YW1lc3BhY2UgSlNDCisKKyNlbmRpZiAvLyBIQVZFKExMVk0pCisKKyNlbmRpZiAvLyBJbml0aWFs
aXplTExWTVBPU0lYX2gKKwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2xsdm0vTExWTUFQ
SS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2xsdm0vTExWTUFQSS5j
cHAJKHJldmlzaW9uIDApCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvbGx2bS9MTFZNQVBJLmNw
cAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDM3IEBACisvKgorICogQ29weXJpZ2h0IChDKSAy
MDEzIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAq
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBO
TyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFS
WSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UK
KyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuIAorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJM
TFZNQVBJLmgiCisKKyNpZiBIQVZFKExMVk0pCisKK25hbWVzcGFjZSBKU0MgeworCitMTFZNQVBJ
KiBsbHZtOworCit9CisKKyNlbmRpZiAvLyBIQVZFKExMVk0pCkluZGV4OiBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGx2bS9MTFZNQVBJLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsdm0vTExWTUFQSS5oCShyZXZpc2lvbiAwKQorKysgU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsdm0vTExWTUFQSS5oCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNTIgQEAKKy8qCisgKiBD
b3B5cmlnaHQgKEMpIDIwMTMgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9u
LgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElT
JycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9S
UyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFM
LAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAq
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisgKi8KKworI2lmbmRlZiBMTFZNQVBJX2gK
KyNkZWZpbmUgTExWTUFQSV9oCisKKyNpbmNsdWRlIDx3dGYvUGxhdGZvcm0uaD4KKworI2lmIEhB
VkUoTExWTSkKKworI2luY2x1ZGUgIkxMVk1BUElGdW5jdGlvbnMuaCIKKyNpbmNsdWRlICJMTFZN
SGVhZGVycy5oIgorCituYW1lc3BhY2UgSlNDIHsKKworc3RydWN0IExMVk1BUEkgeworI2RlZmlu
ZSBMTFZNX0FQSV9GVU5DVElPTl9ERUNMQVJBVElPTihyZXR1cm5UeXBlLCBuYW1lLCBzaWduYXR1
cmUpIFwKKyAgICByZXR1cm5UeXBlICgqbmFtZSkgc2lnbmF0dXJlOworICAgIEZPUl9FQUNIX0xM
Vk1fQVBJX0ZVTkNUSU9OKExMVk1fQVBJX0ZVTkNUSU9OX0RFQ0xBUkFUSU9OKQorI3VuZGVmIExM
Vk1fQVBJX0ZVTkNUSU9OX0RFQ0xBUkFUSU9OCit9OworCitleHRlcm4gTExWTUFQSSogbGx2bTsK
KworfSAvLyBuYW1lc3BhY2UgSlNDCisKKyNlbmRpZiAvLyBIQVZFKExMVk0pCisKKyNlbmRpZiAv
LyBMTFZNQVBJX2gKKwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2xsdm0vTExWTUFQSUZ1
bmN0aW9ucy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbHZtL0xMVk1B
UElGdW5jdGlvbnMuaAkocmV2aXNpb24gMCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbHZt
L0xMVk1BUElGdW5jdGlvbnMuaAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDYzNiBAQAorLyoK
KyAqIENvcHlyaWdodCAoQykgMjAxMyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisg
KgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBg
QVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1F
UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFS
RSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJ
QlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQ
RUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lO
RVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9S
VAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKyAqLworCisjaWZuZGVmIExMVk1B
UElGdW5jdGlvbnNfaAorI2RlZmluZSBMTFZNQVBJRnVuY3Rpb25zX2gKKworI2luY2x1ZGUgIkxM
Vk1IZWFkZXJzLmgiCisKKyNkZWZpbmUgRk9SX0VBQ0hfTExWTV9BUElfRlVOQ1RJT04obWFjcm8p
IFwKKyAgICBtYWNybyh2b2lkLCBJbml0aWFsaXplQ29yZSwgKExMVk1QYXNzUmVnaXN0cnlSZWYg
UikpIFwKKyAgICBtYWNybyh2b2lkLCBTaHV0ZG93biwgKCkpIFwKKyAgICBtYWNybyhjaGFyICos
IENyZWF0ZU1lc3NhZ2UsIChjb25zdCBjaGFyICpNZXNzYWdlKSkgXAorICAgIG1hY3JvKHZvaWQs
IERpc3Bvc2VNZXNzYWdlLCAoY2hhciAqTWVzc2FnZSkpIFwKKyAgICBtYWNybyhMTFZNQ29udGV4
dFJlZiwgQ29udGV4dENyZWF0ZSwgKHZvaWQpKSBcCisgICAgbWFjcm8oTExWTUNvbnRleHRSZWYs
IEdldEdsb2JhbENvbnRleHQsICh2b2lkKSkgXAorICAgIG1hY3JvKHZvaWQsIENvbnRleHREaXNw
b3NlLCAoTExWTUNvbnRleHRSZWYgQykpIFwKKyAgICBtYWNybyh1bnNpZ25lZCwgR2V0TURLaW5k
SURJbkNvbnRleHQsIChMTFZNQ29udGV4dFJlZiBDLCBjb25zdCBjaGFyKiBOYW1lLCB1bnNpZ25l
ZCBTTGVuKSkgXAorICAgIG1hY3JvKHVuc2lnbmVkLCBHZXRNREtpbmRJRCwgKGNvbnN0IGNoYXIq
IE5hbWUsIHVuc2lnbmVkIFNMZW4pKSBcCisgICAgbWFjcm8oTExWTU1vZHVsZVJlZiwgTW9kdWxl
Q3JlYXRlV2l0aE5hbWUsIChjb25zdCBjaGFyICpNb2R1bGVJRCkpIFwKKyAgICBtYWNybyhMTFZN
TW9kdWxlUmVmLCBNb2R1bGVDcmVhdGVXaXRoTmFtZUluQ29udGV4dCwgKGNvbnN0IGNoYXIgKk1v
ZHVsZUlELCBMTFZNQ29udGV4dFJlZiBDKSkgXAorICAgIG1hY3JvKHZvaWQsIERpc3Bvc2VNb2R1
bGUsIChMTFZNTW9kdWxlUmVmIE0pKSBcCisgICAgbWFjcm8oY29uc3QgY2hhciAqLCBHZXREYXRh
TGF5b3V0LCAoTExWTU1vZHVsZVJlZiBNKSkgXAorICAgIG1hY3JvKHZvaWQsIFNldERhdGFMYXlv
dXQsIChMTFZNTW9kdWxlUmVmIE0sIGNvbnN0IGNoYXIgKlRyaXBsZSkpIFwKKyAgICBtYWNybyhj
b25zdCBjaGFyICosIEdldFRhcmdldCwgKExMVk1Nb2R1bGVSZWYgTSkpIFwKKyAgICBtYWNybyh2
b2lkLCBTZXRUYXJnZXQsIChMTFZNTW9kdWxlUmVmIE0sIGNvbnN0IGNoYXIgKlRyaXBsZSkpIFwK
KyAgICBtYWNybyh2b2lkLCBEdW1wTW9kdWxlLCAoTExWTU1vZHVsZVJlZiBNKSkgXAorICAgIG1h
Y3JvKExMVk1Cb29sLCBQcmludE1vZHVsZVRvRmlsZSwgKExMVk1Nb2R1bGVSZWYgTSwgY29uc3Qg
Y2hhciAqRmlsZW5hbWUsIGNoYXIgKipFcnJvck1lc3NhZ2UpKSBcCisgICAgbWFjcm8odm9pZCwg
U2V0TW9kdWxlSW5saW5lQXNtLCAoTExWTU1vZHVsZVJlZiBNLCBjb25zdCBjaGFyICpBc20pKSBc
CisgICAgbWFjcm8oTExWTUNvbnRleHRSZWYsIEdldE1vZHVsZUNvbnRleHQsIChMTFZNTW9kdWxl
UmVmIE0pKSBcCisgICAgbWFjcm8oTExWTVR5cGVSZWYsIEdldFR5cGVCeU5hbWUsIChMTFZNTW9k
dWxlUmVmIE0sIGNvbnN0IGNoYXIgKk5hbWUpKSBcCisgICAgbWFjcm8odW5zaWduZWQsIEdldE5h
bWVkTWV0YWRhdGFOdW1PcGVyYW5kcywgKExMVk1Nb2R1bGVSZWYgTSwgY29uc3QgY2hhciogbmFt
ZSkpIFwKKyAgICBtYWNybyh2b2lkLCBHZXROYW1lZE1ldGFkYXRhT3BlcmFuZHMsIChMTFZNTW9k
dWxlUmVmIE0sIGNvbnN0IGNoYXIqIG5hbWUsIExMVk1WYWx1ZVJlZiAqRGVzdCkpIFwKKyAgICBt
YWNybyh2b2lkLCBBZGROYW1lZE1ldGFkYXRhT3BlcmFuZCwgKExMVk1Nb2R1bGVSZWYgTSwgY29u
c3QgY2hhciogbmFtZSwgTExWTVZhbHVlUmVmIFZhbCkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVS
ZWYsIEFkZEZ1bmN0aW9uLCAoTExWTU1vZHVsZVJlZiBNLCBjb25zdCBjaGFyICpOYW1lLCBMTFZN
VHlwZVJlZiBGdW5jdGlvblR5KSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgR2V0TmFtZWRG
dW5jdGlvbiwgKExMVk1Nb2R1bGVSZWYgTSwgY29uc3QgY2hhciAqTmFtZSkpIFwKKyAgICBtYWNy
byhMTFZNVmFsdWVSZWYsIEdldEZpcnN0RnVuY3Rpb24sIChMTFZNTW9kdWxlUmVmIE0pKSBcCisg
ICAgbWFjcm8oTExWTVZhbHVlUmVmLCBHZXRMYXN0RnVuY3Rpb24sIChMTFZNTW9kdWxlUmVmIE0p
KSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBHZXROZXh0RnVuY3Rpb24sIChMTFZNVmFsdWVS
ZWYgRm4pKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBHZXRQcmV2aW91c0Z1bmN0aW9uLCAo
TExWTVZhbHVlUmVmIEZuKSkgXAorICAgIG1hY3JvKExMVk1UeXBlS2luZCwgR2V0VHlwZUtpbmQs
IChMTFZNVHlwZVJlZiBUeSkpIFwKKyAgICBtYWNybyhMTFZNQm9vbCwgVHlwZUlzU2l6ZWQsIChM
TFZNVHlwZVJlZiBUeSkpIFwKKyAgICBtYWNybyhMTFZNQ29udGV4dFJlZiwgR2V0VHlwZUNvbnRl
eHQsIChMTFZNVHlwZVJlZiBUeSkpIFwKKyAgICBtYWNybyhMTFZNVHlwZVJlZiwgSW50MVR5cGVJ
bkNvbnRleHQsIChMTFZNQ29udGV4dFJlZiBDKSkgXAorICAgIG1hY3JvKExMVk1UeXBlUmVmLCBJ
bnQ4VHlwZUluQ29udGV4dCwgKExMVk1Db250ZXh0UmVmIEMpKSBcCisgICAgbWFjcm8oTExWTVR5
cGVSZWYsIEludDE2VHlwZUluQ29udGV4dCwgKExMVk1Db250ZXh0UmVmIEMpKSBcCisgICAgbWFj
cm8oTExWTVR5cGVSZWYsIEludDMyVHlwZUluQ29udGV4dCwgKExMVk1Db250ZXh0UmVmIEMpKSBc
CisgICAgbWFjcm8oTExWTVR5cGVSZWYsIEludDY0VHlwZUluQ29udGV4dCwgKExMVk1Db250ZXh0
UmVmIEMpKSBcCisgICAgbWFjcm8oTExWTVR5cGVSZWYsIEludFR5cGVJbkNvbnRleHQsIChMTFZN
Q29udGV4dFJlZiBDLCB1bnNpZ25lZCBOdW1CaXRzKSkgXAorICAgIG1hY3JvKExMVk1UeXBlUmVm
LCBJbnQxVHlwZSwgKHZvaWQpKSBcCisgICAgbWFjcm8oTExWTVR5cGVSZWYsIEludDhUeXBlLCAo
dm9pZCkpIFwKKyAgICBtYWNybyhMTFZNVHlwZVJlZiwgSW50MTZUeXBlLCAodm9pZCkpIFwKKyAg
ICBtYWNybyhMTFZNVHlwZVJlZiwgSW50MzJUeXBlLCAodm9pZCkpIFwKKyAgICBtYWNybyhMTFZN
VHlwZVJlZiwgSW50NjRUeXBlLCAodm9pZCkpIFwKKyAgICBtYWNybyhMTFZNVHlwZVJlZiwgSW50
VHlwZSwgKHVuc2lnbmVkIE51bUJpdHMpKSBcCisgICAgbWFjcm8odW5zaWduZWQsIEdldEludFR5
cGVXaWR0aCwgKExMVk1UeXBlUmVmIEludGVnZXJUeSkpIFwKKyAgICBtYWNybyhMTFZNVHlwZVJl
ZiwgSGFsZlR5cGVJbkNvbnRleHQsIChMTFZNQ29udGV4dFJlZiBDKSkgXAorICAgIG1hY3JvKExM
Vk1UeXBlUmVmLCBGbG9hdFR5cGVJbkNvbnRleHQsIChMTFZNQ29udGV4dFJlZiBDKSkgXAorICAg
IG1hY3JvKExMVk1UeXBlUmVmLCBEb3VibGVUeXBlSW5Db250ZXh0LCAoTExWTUNvbnRleHRSZWYg
QykpIFwKKyAgICBtYWNybyhMTFZNVHlwZVJlZiwgWDg2RlA4MFR5cGVJbkNvbnRleHQsIChMTFZN
Q29udGV4dFJlZiBDKSkgXAorICAgIG1hY3JvKExMVk1UeXBlUmVmLCBGUDEyOFR5cGVJbkNvbnRl
eHQsIChMTFZNQ29udGV4dFJlZiBDKSkgXAorICAgIG1hY3JvKExMVk1UeXBlUmVmLCBQUENGUDEy
OFR5cGVJbkNvbnRleHQsIChMTFZNQ29udGV4dFJlZiBDKSkgXAorICAgIG1hY3JvKExMVk1UeXBl
UmVmLCBIYWxmVHlwZSwgKHZvaWQpKSBcCisgICAgbWFjcm8oTExWTVR5cGVSZWYsIEZsb2F0VHlw
ZSwgKHZvaWQpKSBcCisgICAgbWFjcm8oTExWTVR5cGVSZWYsIERvdWJsZVR5cGUsICh2b2lkKSkg
XAorICAgIG1hY3JvKExMVk1UeXBlUmVmLCBYODZGUDgwVHlwZSwgKHZvaWQpKSBcCisgICAgbWFj
cm8oTExWTVR5cGVSZWYsIEZQMTI4VHlwZSwgKHZvaWQpKSBcCisgICAgbWFjcm8oTExWTVR5cGVS
ZWYsIFBQQ0ZQMTI4VHlwZSwgKHZvaWQpKSBcCisgICAgbWFjcm8oTExWTVR5cGVSZWYsIEZ1bmN0
aW9uVHlwZSwgKExMVk1UeXBlUmVmIFJldHVyblR5cGUsIExMVk1UeXBlUmVmICpQYXJhbVR5cGVz
LCB1bnNpZ25lZCBQYXJhbUNvdW50LCBMTFZNQm9vbCBJc1ZhckFyZykpIFwKKyAgICBtYWNybyhM
TFZNQm9vbCwgSXNGdW5jdGlvblZhckFyZywgKExMVk1UeXBlUmVmIEZ1bmN0aW9uVHkpKSBcCisg
ICAgbWFjcm8oTExWTVR5cGVSZWYsIEdldFJldHVyblR5cGUsIChMTFZNVHlwZVJlZiBGdW5jdGlv
blR5KSkgXAorICAgIG1hY3JvKHVuc2lnbmVkLCBDb3VudFBhcmFtVHlwZXMsIChMTFZNVHlwZVJl
ZiBGdW5jdGlvblR5KSkgXAorICAgIG1hY3JvKHZvaWQsIEdldFBhcmFtVHlwZXMsIChMTFZNVHlw
ZVJlZiBGdW5jdGlvblR5LCBMTFZNVHlwZVJlZiAqRGVzdCkpIFwKKyAgICBtYWNybyhMTFZNVHlw
ZVJlZiwgU3RydWN0VHlwZUluQ29udGV4dCwgKExMVk1Db250ZXh0UmVmIEMsIExMVk1UeXBlUmVm
ICpFbGVtZW50VHlwZXMsIHVuc2lnbmVkIEVsZW1lbnRDb3VudCwgTExWTUJvb2wgUGFja2VkKSkg
XAorICAgIG1hY3JvKExMVk1UeXBlUmVmLCBTdHJ1Y3RUeXBlLCAoTExWTVR5cGVSZWYgKkVsZW1l
bnRUeXBlcywgdW5zaWduZWQgRWxlbWVudENvdW50LCBMTFZNQm9vbCBQYWNrZWQpKSBcCisgICAg
bWFjcm8oTExWTVR5cGVSZWYsIFN0cnVjdENyZWF0ZU5hbWVkLCAoTExWTUNvbnRleHRSZWYgQywg
Y29uc3QgY2hhciAqTmFtZSkpIFwKKyAgICBtYWNybyhjb25zdCBjaGFyICosIEdldFN0cnVjdE5h
bWUsIChMTFZNVHlwZVJlZiBUeSkpIFwKKyAgICBtYWNybyh2b2lkLCBTdHJ1Y3RTZXRCb2R5LCAo
TExWTVR5cGVSZWYgU3RydWN0VHksIExMVk1UeXBlUmVmICpFbGVtZW50VHlwZXMsIHVuc2lnbmVk
IEVsZW1lbnRDb3VudCwgTExWTUJvb2wgUGFja2VkKSkgXAorICAgIG1hY3JvKHVuc2lnbmVkLCBD
b3VudFN0cnVjdEVsZW1lbnRUeXBlcywgKExMVk1UeXBlUmVmIFN0cnVjdFR5KSkgXAorICAgIG1h
Y3JvKHZvaWQsIEdldFN0cnVjdEVsZW1lbnRUeXBlcywgKExMVk1UeXBlUmVmIFN0cnVjdFR5LCBM
TFZNVHlwZVJlZiAqRGVzdCkpIFwKKyAgICBtYWNybyhMTFZNQm9vbCwgSXNQYWNrZWRTdHJ1Y3Qs
IChMTFZNVHlwZVJlZiBTdHJ1Y3RUeSkpIFwKKyAgICBtYWNybyhMTFZNQm9vbCwgSXNPcGFxdWVT
dHJ1Y3QsIChMTFZNVHlwZVJlZiBTdHJ1Y3RUeSkpIFwKKyAgICBtYWNybyhMTFZNVHlwZVJlZiwg
R2V0RWxlbWVudFR5cGUsIChMTFZNVHlwZVJlZiBUeSkpIFwKKyAgICBtYWNybyhMTFZNVHlwZVJl
ZiwgQXJyYXlUeXBlLCAoTExWTVR5cGVSZWYgRWxlbWVudFR5cGUsIHVuc2lnbmVkIEVsZW1lbnRD
b3VudCkpIFwKKyAgICBtYWNybyh1bnNpZ25lZCwgR2V0QXJyYXlMZW5ndGgsIChMTFZNVHlwZVJl
ZiBBcnJheVR5KSkgXAorICAgIG1hY3JvKExMVk1UeXBlUmVmLCBQb2ludGVyVHlwZSwgKExMVk1U
eXBlUmVmIEVsZW1lbnRUeXBlLCB1bnNpZ25lZCBBZGRyZXNzU3BhY2UpKSBcCisgICAgbWFjcm8o
dW5zaWduZWQsIEdldFBvaW50ZXJBZGRyZXNzU3BhY2UsIChMTFZNVHlwZVJlZiBQb2ludGVyVHkp
KSBcCisgICAgbWFjcm8oTExWTVR5cGVSZWYsIFZlY3RvclR5cGUsIChMTFZNVHlwZVJlZiBFbGVt
ZW50VHlwZSwgdW5zaWduZWQgRWxlbWVudENvdW50KSkgXAorICAgIG1hY3JvKHVuc2lnbmVkLCBH
ZXRWZWN0b3JTaXplLCAoTExWTVR5cGVSZWYgVmVjdG9yVHkpKSBcCisgICAgbWFjcm8oTExWTVR5
cGVSZWYsIFZvaWRUeXBlSW5Db250ZXh0LCAoTExWTUNvbnRleHRSZWYgQykpIFwKKyAgICBtYWNy
byhMTFZNVHlwZVJlZiwgTGFiZWxUeXBlSW5Db250ZXh0LCAoTExWTUNvbnRleHRSZWYgQykpIFwK
KyAgICBtYWNybyhMTFZNVHlwZVJlZiwgWDg2TU1YVHlwZUluQ29udGV4dCwgKExMVk1Db250ZXh0
UmVmIEMpKSBcCisgICAgbWFjcm8oTExWTVR5cGVSZWYsIFZvaWRUeXBlLCAodm9pZCkpIFwKKyAg
ICBtYWNybyhMTFZNVHlwZVJlZiwgTGFiZWxUeXBlLCAodm9pZCkpIFwKKyAgICBtYWNybyhMTFZN
VHlwZVJlZiwgWDg2TU1YVHlwZSwgKHZvaWQpKSBcCisgICAgbWFjcm8oTExWTVR5cGVSZWYsIFR5
cGVPZiwgKExMVk1WYWx1ZVJlZiBWYWwpKSBcCisgICAgbWFjcm8oY29uc3QgY2hhciAqLCBHZXRW
YWx1ZU5hbWUsIChMTFZNVmFsdWVSZWYgVmFsKSkgXAorICAgIG1hY3JvKHZvaWQsIFNldFZhbHVl
TmFtZSwgKExMVk1WYWx1ZVJlZiBWYWwsIGNvbnN0IGNoYXIgKk5hbWUpKSBcCisgICAgbWFjcm8o
dm9pZCwgRHVtcFZhbHVlLCAoTExWTVZhbHVlUmVmIFZhbCkpIFwKKyAgICBtYWNybyh2b2lkLCBS
ZXBsYWNlQWxsVXNlc1dpdGgsIChMTFZNVmFsdWVSZWYgT2xkVmFsLCBMTFZNVmFsdWVSZWYgTmV3
VmFsKSkgXAorICAgIG1hY3JvKExMVk1Cb29sLCBJc0NvbnN0YW50LCAoTExWTVZhbHVlUmVmIFZh
bCkpIFwKKyAgICBtYWNybyhMTFZNQm9vbCwgSXNVbmRlZiwgKExMVk1WYWx1ZVJlZiBWYWwpKSBc
CisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBJc0FBcmd1bWVudCwgKExMVk1WYWx1ZVJlZiBWYWwp
KSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBJc0FCYXNpY0Jsb2NrLCAoTExWTVZhbHVlUmVm
IFZhbCkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIElzQUlubGluZUFzbSwgKExMVk1WYWx1
ZVJlZiBWYWwpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBJc0FNRE5vZGUsIChMTFZNVmFs
dWVSZWYgVmFsKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgSXNBTURTdHJpbmcsIChMTFZN
VmFsdWVSZWYgVmFsKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgSXNBVXNlciwgKExMVk1W
YWx1ZVJlZiBWYWwpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBJc0FDb25zdGFudCwgKExM
Vk1WYWx1ZVJlZiBWYWwpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBJc0FCbG9ja0FkZHJl
c3MsIChMTFZNVmFsdWVSZWYgVmFsKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgSXNBQ29u
c3RhbnRBZ2dyZWdhdGVaZXJvLCAoTExWTVZhbHVlUmVmIFZhbCkpIFwKKyAgICBtYWNybyhMTFZN
VmFsdWVSZWYsIElzQUNvbnN0YW50QXJyYXksIChMTFZNVmFsdWVSZWYgVmFsKSkgXAorICAgIG1h
Y3JvKExMVk1WYWx1ZVJlZiwgSXNBQ29uc3RhbnRFeHByLCAoTExWTVZhbHVlUmVmIFZhbCkpIFwK
KyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIElzQUNvbnN0YW50RlAsIChMTFZNVmFsdWVSZWYgVmFs
KSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgSXNBQ29uc3RhbnRJbnQsIChMTFZNVmFsdWVS
ZWYgVmFsKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgSXNBQ29uc3RhbnRQb2ludGVyTnVs
bCwgKExMVk1WYWx1ZVJlZiBWYWwpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBJc0FDb25z
dGFudFN0cnVjdCwgKExMVk1WYWx1ZVJlZiBWYWwpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVm
LCBJc0FDb25zdGFudFZlY3RvciwgKExMVk1WYWx1ZVJlZiBWYWwpKSBcCisgICAgbWFjcm8oTExW
TVZhbHVlUmVmLCBJc0FHbG9iYWxWYWx1ZSwgKExMVk1WYWx1ZVJlZiBWYWwpKSBcCisgICAgbWFj
cm8oTExWTVZhbHVlUmVmLCBJc0FGdW5jdGlvbiwgKExMVk1WYWx1ZVJlZiBWYWwpKSBcCisgICAg
bWFjcm8oTExWTVZhbHVlUmVmLCBJc0FHbG9iYWxBbGlhcywgKExMVk1WYWx1ZVJlZiBWYWwpKSBc
CisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBJc0FHbG9iYWxWYXJpYWJsZSwgKExMVk1WYWx1ZVJl
ZiBWYWwpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBJc0FVbmRlZlZhbHVlLCAoTExWTVZh
bHVlUmVmIFZhbCkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIElzQUluc3RydWN0aW9uLCAo
TExWTVZhbHVlUmVmIFZhbCkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIElzQUJpbmFyeU9w
ZXJhdG9yLCAoTExWTVZhbHVlUmVmIFZhbCkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIElz
QUNhbGxJbnN0LCAoTExWTVZhbHVlUmVmIFZhbCkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYs
IElzQUludHJpbnNpY0luc3QsIChMTFZNVmFsdWVSZWYgVmFsKSkgXAorICAgIG1hY3JvKExMVk1W
YWx1ZVJlZiwgSXNBRGJnSW5mb0ludHJpbnNpYywgKExMVk1WYWx1ZVJlZiBWYWwpKSBcCisgICAg
bWFjcm8oTExWTVZhbHVlUmVmLCBJc0FEYmdEZWNsYXJlSW5zdCwgKExMVk1WYWx1ZVJlZiBWYWwp
KSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBJc0FNZW1JbnRyaW5zaWMsIChMTFZNVmFsdWVS
ZWYgVmFsKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgSXNBTWVtQ3B5SW5zdCwgKExMVk1W
YWx1ZVJlZiBWYWwpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBJc0FNZW1Nb3ZlSW5zdCwg
KExMVk1WYWx1ZVJlZiBWYWwpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBJc0FNZW1TZXRJ
bnN0LCAoTExWTVZhbHVlUmVmIFZhbCkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIElzQUNt
cEluc3QsIChMTFZNVmFsdWVSZWYgVmFsKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgSXNB
RkNtcEluc3QsIChMTFZNVmFsdWVSZWYgVmFsKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwg
SXNBSUNtcEluc3QsIChMTFZNVmFsdWVSZWYgVmFsKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJl
ZiwgSXNBRXh0cmFjdEVsZW1lbnRJbnN0LCAoTExWTVZhbHVlUmVmIFZhbCkpIFwKKyAgICBtYWNy
byhMTFZNVmFsdWVSZWYsIElzQUdldEVsZW1lbnRQdHJJbnN0LCAoTExWTVZhbHVlUmVmIFZhbCkp
IFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIElzQUluc2VydEVsZW1lbnRJbnN0LCAoTExWTVZh
bHVlUmVmIFZhbCkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIElzQUluc2VydFZhbHVlSW5z
dCwgKExMVk1WYWx1ZVJlZiBWYWwpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBJc0FMYW5k
aW5nUGFkSW5zdCwgKExMVk1WYWx1ZVJlZiBWYWwpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVm
LCBJc0FQSElOb2RlLCAoTExWTVZhbHVlUmVmIFZhbCkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVS
ZWYsIElzQVNlbGVjdEluc3QsIChMTFZNVmFsdWVSZWYgVmFsKSkgXAorICAgIG1hY3JvKExMVk1W
YWx1ZVJlZiwgSXNBU2h1ZmZsZVZlY3Rvckluc3QsIChMTFZNVmFsdWVSZWYgVmFsKSkgXAorICAg
IG1hY3JvKExMVk1WYWx1ZVJlZiwgSXNBU3RvcmVJbnN0LCAoTExWTVZhbHVlUmVmIFZhbCkpIFwK
KyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIElzQVRlcm1pbmF0b3JJbnN0LCAoTExWTVZhbHVlUmVm
IFZhbCkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIElzQUJyYW5jaEluc3QsIChMTFZNVmFs
dWVSZWYgVmFsKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgSXNBSW5kaXJlY3RCckluc3Qs
IChMTFZNVmFsdWVSZWYgVmFsKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgSXNBSW52b2tl
SW5zdCwgKExMVk1WYWx1ZVJlZiBWYWwpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBJc0FS
ZXR1cm5JbnN0LCAoTExWTVZhbHVlUmVmIFZhbCkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYs
IElzQVN3aXRjaEluc3QsIChMTFZNVmFsdWVSZWYgVmFsKSkgXAorICAgIG1hY3JvKExMVk1WYWx1
ZVJlZiwgSXNBVW5yZWFjaGFibGVJbnN0LCAoTExWTVZhbHVlUmVmIFZhbCkpIFwKKyAgICBtYWNy
byhMTFZNVmFsdWVSZWYsIElzQVJlc3VtZUluc3QsIChMTFZNVmFsdWVSZWYgVmFsKSkgXAorICAg
IG1hY3JvKExMVk1WYWx1ZVJlZiwgSXNBVW5hcnlJbnN0cnVjdGlvbiwgKExMVk1WYWx1ZVJlZiBW
YWwpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBJc0FBbGxvY2FJbnN0LCAoTExWTVZhbHVl
UmVmIFZhbCkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIElzQUNhc3RJbnN0LCAoTExWTVZh
bHVlUmVmIFZhbCkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIElzQUJpdENhc3RJbnN0LCAo
TExWTVZhbHVlUmVmIFZhbCkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIElzQUZQRXh0SW5z
dCwgKExMVk1WYWx1ZVJlZiBWYWwpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBJc0FGUFRv
U0lJbnN0LCAoTExWTVZhbHVlUmVmIFZhbCkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIElz
QUZQVG9VSUluc3QsIChMTFZNVmFsdWVSZWYgVmFsKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJl
ZiwgSXNBRlBUcnVuY0luc3QsIChMTFZNVmFsdWVSZWYgVmFsKSkgXAorICAgIG1hY3JvKExMVk1W
YWx1ZVJlZiwgSXNBSW50VG9QdHJJbnN0LCAoTExWTVZhbHVlUmVmIFZhbCkpIFwKKyAgICBtYWNy
byhMTFZNVmFsdWVSZWYsIElzQVB0clRvSW50SW5zdCwgKExMVk1WYWx1ZVJlZiBWYWwpKSBcCisg
ICAgbWFjcm8oTExWTVZhbHVlUmVmLCBJc0FTRXh0SW5zdCwgKExMVk1WYWx1ZVJlZiBWYWwpKSBc
CisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBJc0FTSVRvRlBJbnN0LCAoTExWTVZhbHVlUmVmIFZh
bCkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIElzQVRydW5jSW5zdCwgKExMVk1WYWx1ZVJl
ZiBWYWwpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBJc0FVSVRvRlBJbnN0LCAoTExWTVZh
bHVlUmVmIFZhbCkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIElzQVpFeHRJbnN0LCAoTExW
TVZhbHVlUmVmIFZhbCkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIElzQUV4dHJhY3RWYWx1
ZUluc3QsIChMTFZNVmFsdWVSZWYgVmFsKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgSXNB
TG9hZEluc3QsIChMTFZNVmFsdWVSZWYgVmFsKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwg
SXNBVkFBcmdJbnN0LCAoTExWTVZhbHVlUmVmIFZhbCkpIFwKKyAgICBtYWNybyhMTFZNVXNlUmVm
LCBHZXRGaXJzdFVzZSwgKExMVk1WYWx1ZVJlZiBWYWwpKSBcCisgICAgbWFjcm8oTExWTVVzZVJl
ZiwgR2V0TmV4dFVzZSwgKExMVk1Vc2VSZWYgVSkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYs
IEdldFVzZXIsIChMTFZNVXNlUmVmIFUpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBHZXRV
c2VkVmFsdWUsIChMTFZNVXNlUmVmIFUpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBHZXRP
cGVyYW5kLCAoTExWTVZhbHVlUmVmIFZhbCwgdW5zaWduZWQgSW5kZXgpKSBcCisgICAgbWFjcm8o
dm9pZCwgU2V0T3BlcmFuZCwgKExMVk1WYWx1ZVJlZiBVc2VyLCB1bnNpZ25lZCBJbmRleCwgTExW
TVZhbHVlUmVmIFZhbCkpIFwKKyAgICBtYWNybyhpbnQsIEdldE51bU9wZXJhbmRzLCAoTExWTVZh
bHVlUmVmIFZhbCkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIENvbnN0TnVsbCwgKExMVk1U
eXBlUmVmIFR5KSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgQ29uc3RBbGxPbmVzLCAoTExW
TVR5cGVSZWYgVHkpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBHZXRVbmRlZiwgKExMVk1U
eXBlUmVmIFR5KSkgXAorICAgIG1hY3JvKExMVk1Cb29sLCBJc051bGwsIChMTFZNVmFsdWVSZWYg
VmFsKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgQ29uc3RQb2ludGVyTnVsbCwgKExMVk1U
eXBlUmVmIFR5KSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgQ29uc3RJbnQsIChMTFZNVHlw
ZVJlZiBJbnRUeSwgdW5zaWduZWQgbG9uZyBsb25nIE4sIExMVk1Cb29sIFNpZ25FeHRlbmQpKSBc
CisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBDb25zdEludE9mQXJiaXRyYXJ5UHJlY2lzaW9uLCAo
TExWTVR5cGVSZWYgSW50VHksIHVuc2lnbmVkIE51bVdvcmRzLCBjb25zdCB1aW50NjRfdCBXb3Jk
c1tdKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgQ29uc3RJbnRPZlN0cmluZywgKExMVk1U
eXBlUmVmIEludFR5LCBjb25zdCBjaGFyICpUZXh0LCB1aW50OF90IFJhZGl4KSkgXAorICAgIG1h
Y3JvKExMVk1WYWx1ZVJlZiwgQ29uc3RJbnRPZlN0cmluZ0FuZFNpemUsIChMTFZNVHlwZVJlZiBJ
bnRUeSwgY29uc3QgY2hhciAqVGV4dCwgdW5zaWduZWQgU0xlbiwgdWludDhfdCBSYWRpeCkpIFwK
KyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIENvbnN0UmVhbCwgKExMVk1UeXBlUmVmIFJlYWxUeSwg
ZG91YmxlIE4pKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBDb25zdFJlYWxPZlN0cmluZywg
KExMVk1UeXBlUmVmIFJlYWxUeSwgY29uc3QgY2hhciAqVGV4dCkpIFwKKyAgICBtYWNybyhMTFZN
VmFsdWVSZWYsIENvbnN0UmVhbE9mU3RyaW5nQW5kU2l6ZSwgKExMVk1UeXBlUmVmIFJlYWxUeSwg
Y29uc3QgY2hhciAqVGV4dCwgdW5zaWduZWQgU0xlbikpIFwKKyAgICBtYWNybyh1bnNpZ25lZCBs
b25nIGxvbmcsIENvbnN0SW50R2V0WkV4dFZhbHVlLCAoTExWTVZhbHVlUmVmIENvbnN0YW50VmFs
KSkgXAorICAgIG1hY3JvKGxvbmcgbG9uZywgQ29uc3RJbnRHZXRTRXh0VmFsdWUsIChMTFZNVmFs
dWVSZWYgQ29uc3RhbnRWYWwpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBDb25zdFN0cmlu
Z0luQ29udGV4dCwgKExMVk1Db250ZXh0UmVmIEMsIGNvbnN0IGNoYXIgKlN0ciwgdW5zaWduZWQg
TGVuZ3RoLCBMTFZNQm9vbCBEb250TnVsbFRlcm1pbmF0ZSkpIFwKKyAgICBtYWNybyhMTFZNVmFs
dWVSZWYsIENvbnN0U3RyaW5nLCAoY29uc3QgY2hhciAqU3RyLCB1bnNpZ25lZCBMZW5ndGgsIExM
Vk1Cb29sIERvbnROdWxsVGVybWluYXRlKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgQ29u
c3RTdHJ1Y3RJbkNvbnRleHQsIChMTFZNQ29udGV4dFJlZiBDLCBMTFZNVmFsdWVSZWYgKkNvbnN0
YW50VmFscywgdW5zaWduZWQgQ291bnQsIExMVk1Cb29sIFBhY2tlZCkpIFwKKyAgICBtYWNybyhM
TFZNVmFsdWVSZWYsIENvbnN0U3RydWN0LCAoTExWTVZhbHVlUmVmICpDb25zdGFudFZhbHMsIHVu
c2lnbmVkIENvdW50LCBMTFZNQm9vbCBQYWNrZWQpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVm
LCBDb25zdEFycmF5LCAoTExWTVR5cGVSZWYgRWxlbWVudFR5LCBMTFZNVmFsdWVSZWYgKkNvbnN0
YW50VmFscywgdW5zaWduZWQgTGVuZ3RoKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgQ29u
c3ROYW1lZFN0cnVjdCwgKExMVk1UeXBlUmVmIFN0cnVjdFR5LCBMTFZNVmFsdWVSZWYgKkNvbnN0
YW50VmFscywgdW5zaWduZWQgQ291bnQpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBDb25z
dFZlY3RvciwgKExMVk1WYWx1ZVJlZiAqU2NhbGFyQ29uc3RhbnRWYWxzLCB1bnNpZ25lZCBTaXpl
KSkgXAorICAgIG1hY3JvKExMVk1PcGNvZGUsIEdldENvbnN0T3Bjb2RlLCAoTExWTVZhbHVlUmVm
IENvbnN0YW50VmFsKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgQWxpZ25PZiwgKExMVk1U
eXBlUmVmIFR5KSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgU2l6ZU9mLCAoTExWTVR5cGVS
ZWYgVHkpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBDb25zdE5lZywgKExMVk1WYWx1ZVJl
ZiBDb25zdGFudFZhbCkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIENvbnN0TlNXTmVnLCAo
TExWTVZhbHVlUmVmIENvbnN0YW50VmFsKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgQ29u
c3ROVVdOZWcsIChMTFZNVmFsdWVSZWYgQ29uc3RhbnRWYWwpKSBcCisgICAgbWFjcm8oTExWTVZh
bHVlUmVmLCBDb25zdEZOZWcsIChMTFZNVmFsdWVSZWYgQ29uc3RhbnRWYWwpKSBcCisgICAgbWFj
cm8oTExWTVZhbHVlUmVmLCBDb25zdE5vdCwgKExMVk1WYWx1ZVJlZiBDb25zdGFudFZhbCkpIFwK
KyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIENvbnN0QWRkLCAoTExWTVZhbHVlUmVmIExIU0NvbnN0
YW50LCBMTFZNVmFsdWVSZWYgUkhTQ29uc3RhbnQpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVm
LCBDb25zdE5TV0FkZCwgKExMVk1WYWx1ZVJlZiBMSFNDb25zdGFudCwgTExWTVZhbHVlUmVmIFJI
U0NvbnN0YW50KSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgQ29uc3ROVVdBZGQsIChMTFZN
VmFsdWVSZWYgTEhTQ29uc3RhbnQsIExMVk1WYWx1ZVJlZiBSSFNDb25zdGFudCkpIFwKKyAgICBt
YWNybyhMTFZNVmFsdWVSZWYsIENvbnN0RkFkZCwgKExMVk1WYWx1ZVJlZiBMSFNDb25zdGFudCwg
TExWTVZhbHVlUmVmIFJIU0NvbnN0YW50KSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgQ29u
c3RTdWIsIChMTFZNVmFsdWVSZWYgTEhTQ29uc3RhbnQsIExMVk1WYWx1ZVJlZiBSSFNDb25zdGFu
dCkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIENvbnN0TlNXU3ViLCAoTExWTVZhbHVlUmVm
IExIU0NvbnN0YW50LCBMTFZNVmFsdWVSZWYgUkhTQ29uc3RhbnQpKSBcCisgICAgbWFjcm8oTExW
TVZhbHVlUmVmLCBDb25zdE5VV1N1YiwgKExMVk1WYWx1ZVJlZiBMSFNDb25zdGFudCwgTExWTVZh
bHVlUmVmIFJIU0NvbnN0YW50KSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgQ29uc3RGU3Vi
LCAoTExWTVZhbHVlUmVmIExIU0NvbnN0YW50LCBMTFZNVmFsdWVSZWYgUkhTQ29uc3RhbnQpKSBc
CisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBDb25zdE11bCwgKExMVk1WYWx1ZVJlZiBMSFNDb25z
dGFudCwgTExWTVZhbHVlUmVmIFJIU0NvbnN0YW50KSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJl
ZiwgQ29uc3ROU1dNdWwsIChMTFZNVmFsdWVSZWYgTEhTQ29uc3RhbnQsIExMVk1WYWx1ZVJlZiBS
SFNDb25zdGFudCkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIENvbnN0TlVXTXVsLCAoTExW
TVZhbHVlUmVmIExIU0NvbnN0YW50LCBMTFZNVmFsdWVSZWYgUkhTQ29uc3RhbnQpKSBcCisgICAg
bWFjcm8oTExWTVZhbHVlUmVmLCBDb25zdEZNdWwsIChMTFZNVmFsdWVSZWYgTEhTQ29uc3RhbnQs
IExMVk1WYWx1ZVJlZiBSSFNDb25zdGFudCkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIENv
bnN0VURpdiwgKExMVk1WYWx1ZVJlZiBMSFNDb25zdGFudCwgTExWTVZhbHVlUmVmIFJIU0NvbnN0
YW50KSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgQ29uc3RTRGl2LCAoTExWTVZhbHVlUmVm
IExIU0NvbnN0YW50LCBMTFZNVmFsdWVSZWYgUkhTQ29uc3RhbnQpKSBcCisgICAgbWFjcm8oTExW
TVZhbHVlUmVmLCBDb25zdEV4YWN0U0RpdiwgKExMVk1WYWx1ZVJlZiBMSFNDb25zdGFudCwgTExW
TVZhbHVlUmVmIFJIU0NvbnN0YW50KSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgQ29uc3RG
RGl2LCAoTExWTVZhbHVlUmVmIExIU0NvbnN0YW50LCBMTFZNVmFsdWVSZWYgUkhTQ29uc3RhbnQp
KSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBDb25zdFVSZW0sIChMTFZNVmFsdWVSZWYgTEhT
Q29uc3RhbnQsIExMVk1WYWx1ZVJlZiBSSFNDb25zdGFudCkpIFwKKyAgICBtYWNybyhMTFZNVmFs
dWVSZWYsIENvbnN0U1JlbSwgKExMVk1WYWx1ZVJlZiBMSFNDb25zdGFudCwgTExWTVZhbHVlUmVm
IFJIU0NvbnN0YW50KSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgQ29uc3RGUmVtLCAoTExW
TVZhbHVlUmVmIExIU0NvbnN0YW50LCBMTFZNVmFsdWVSZWYgUkhTQ29uc3RhbnQpKSBcCisgICAg
bWFjcm8oTExWTVZhbHVlUmVmLCBDb25zdEFuZCwgKExMVk1WYWx1ZVJlZiBMSFNDb25zdGFudCwg
TExWTVZhbHVlUmVmIFJIU0NvbnN0YW50KSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgQ29u
c3RPciwgKExMVk1WYWx1ZVJlZiBMSFNDb25zdGFudCwgTExWTVZhbHVlUmVmIFJIU0NvbnN0YW50
KSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgQ29uc3RYb3IsIChMTFZNVmFsdWVSZWYgTEhT
Q29uc3RhbnQsIExMVk1WYWx1ZVJlZiBSSFNDb25zdGFudCkpIFwKKyAgICBtYWNybyhMTFZNVmFs
dWVSZWYsIENvbnN0SUNtcCwgKExMVk1JbnRQcmVkaWNhdGUgUHJlZGljYXRlLCBMTFZNVmFsdWVS
ZWYgTEhTQ29uc3RhbnQsIExMVk1WYWx1ZVJlZiBSSFNDb25zdGFudCkpIFwKKyAgICBtYWNybyhM
TFZNVmFsdWVSZWYsIENvbnN0RkNtcCwgKExMVk1SZWFsUHJlZGljYXRlIFByZWRpY2F0ZSwgTExW
TVZhbHVlUmVmIExIU0NvbnN0YW50LCBMTFZNVmFsdWVSZWYgUkhTQ29uc3RhbnQpKSBcCisgICAg
bWFjcm8oTExWTVZhbHVlUmVmLCBDb25zdFNobCwgKExMVk1WYWx1ZVJlZiBMSFNDb25zdGFudCwg
TExWTVZhbHVlUmVmIFJIU0NvbnN0YW50KSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgQ29u
c3RMU2hyLCAoTExWTVZhbHVlUmVmIExIU0NvbnN0YW50LCBMTFZNVmFsdWVSZWYgUkhTQ29uc3Rh
bnQpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBDb25zdEFTaHIsIChMTFZNVmFsdWVSZWYg
TEhTQ29uc3RhbnQsIExMVk1WYWx1ZVJlZiBSSFNDb25zdGFudCkpIFwKKyAgICBtYWNybyhMTFZN
VmFsdWVSZWYsIENvbnN0R0VQLCAoTExWTVZhbHVlUmVmIENvbnN0YW50VmFsLCBMTFZNVmFsdWVS
ZWYgKkNvbnN0YW50SW5kaWNlcywgdW5zaWduZWQgTnVtSW5kaWNlcykpIFwKKyAgICBtYWNybyhM
TFZNVmFsdWVSZWYsIENvbnN0SW5Cb3VuZHNHRVAsIChMTFZNVmFsdWVSZWYgQ29uc3RhbnRWYWws
IExMVk1WYWx1ZVJlZiAqQ29uc3RhbnRJbmRpY2VzLCB1bnNpZ25lZCBOdW1JbmRpY2VzKSkgXAor
ICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgQ29uc3RUcnVuYywgKExMVk1WYWx1ZVJlZiBDb25zdGFu
dFZhbCwgTExWTVR5cGVSZWYgVG9UeXBlKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgQ29u
c3RTRXh0LCAoTExWTVZhbHVlUmVmIENvbnN0YW50VmFsLCBMTFZNVHlwZVJlZiBUb1R5cGUpKSBc
CisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBDb25zdFpFeHQsIChMTFZNVmFsdWVSZWYgQ29uc3Rh
bnRWYWwsIExMVk1UeXBlUmVmIFRvVHlwZSkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIENv
bnN0RlBUcnVuYywgKExMVk1WYWx1ZVJlZiBDb25zdGFudFZhbCwgTExWTVR5cGVSZWYgVG9UeXBl
KSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgQ29uc3RGUEV4dCwgKExMVk1WYWx1ZVJlZiBD
b25zdGFudFZhbCwgTExWTVR5cGVSZWYgVG9UeXBlKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJl
ZiwgQ29uc3RVSVRvRlAsIChMTFZNVmFsdWVSZWYgQ29uc3RhbnRWYWwsIExMVk1UeXBlUmVmIFRv
VHlwZSkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIENvbnN0U0lUb0ZQLCAoTExWTVZhbHVl
UmVmIENvbnN0YW50VmFsLCBMTFZNVHlwZVJlZiBUb1R5cGUpKSBcCisgICAgbWFjcm8oTExWTVZh
bHVlUmVmLCBDb25zdEZQVG9VSSwgKExMVk1WYWx1ZVJlZiBDb25zdGFudFZhbCwgTExWTVR5cGVS
ZWYgVG9UeXBlKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgQ29uc3RGUFRvU0ksIChMTFZN
VmFsdWVSZWYgQ29uc3RhbnRWYWwsIExMVk1UeXBlUmVmIFRvVHlwZSkpIFwKKyAgICBtYWNybyhM
TFZNVmFsdWVSZWYsIENvbnN0UHRyVG9JbnQsIChMTFZNVmFsdWVSZWYgQ29uc3RhbnRWYWwsIExM
Vk1UeXBlUmVmIFRvVHlwZSkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIENvbnN0SW50VG9Q
dHIsIChMTFZNVmFsdWVSZWYgQ29uc3RhbnRWYWwsIExMVk1UeXBlUmVmIFRvVHlwZSkpIFwKKyAg
ICBtYWNybyhMTFZNVmFsdWVSZWYsIENvbnN0Qml0Q2FzdCwgKExMVk1WYWx1ZVJlZiBDb25zdGFu
dFZhbCwgTExWTVR5cGVSZWYgVG9UeXBlKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgQ29u
c3RaRXh0T3JCaXRDYXN0LCAoTExWTVZhbHVlUmVmIENvbnN0YW50VmFsLCBMTFZNVHlwZVJlZiBU
b1R5cGUpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBDb25zdFNFeHRPckJpdENhc3QsIChM
TFZNVmFsdWVSZWYgQ29uc3RhbnRWYWwsIExMVk1UeXBlUmVmIFRvVHlwZSkpIFwKKyAgICBtYWNy
byhMTFZNVmFsdWVSZWYsIENvbnN0VHJ1bmNPckJpdENhc3QsIChMTFZNVmFsdWVSZWYgQ29uc3Rh
bnRWYWwsIExMVk1UeXBlUmVmIFRvVHlwZSkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIENv
bnN0UG9pbnRlckNhc3QsIChMTFZNVmFsdWVSZWYgQ29uc3RhbnRWYWwsIExMVk1UeXBlUmVmIFRv
VHlwZSkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIENvbnN0SW50Q2FzdCwgKExMVk1WYWx1
ZVJlZiBDb25zdGFudFZhbCwgTExWTVR5cGVSZWYgVG9UeXBlLCBMTFZNQm9vbCBpc1NpZ25lZCkp
IFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIENvbnN0RlBDYXN0LCAoTExWTVZhbHVlUmVmIENv
bnN0YW50VmFsLCBMTFZNVHlwZVJlZiBUb1R5cGUpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVm
LCBDb25zdFNlbGVjdCwgKExMVk1WYWx1ZVJlZiBDb25zdGFudENvbmRpdGlvbiwgTExWTVZhbHVl
UmVmIENvbnN0YW50SWZUcnVlLCBMTFZNVmFsdWVSZWYgQ29uc3RhbnRJZkZhbHNlKSkgXAorICAg
IG1hY3JvKExMVk1WYWx1ZVJlZiwgQ29uc3RFeHRyYWN0RWxlbWVudCwgKExMVk1WYWx1ZVJlZiBW
ZWN0b3JDb25zdGFudCwgTExWTVZhbHVlUmVmIEluZGV4Q29uc3RhbnQpKSBcCisgICAgbWFjcm8o
TExWTVZhbHVlUmVmLCBDb25zdEluc2VydEVsZW1lbnQsIChMTFZNVmFsdWVSZWYgVmVjdG9yQ29u
c3RhbnQsIExMVk1WYWx1ZVJlZiBFbGVtZW50VmFsdWVDb25zdGFudCwgTExWTVZhbHVlUmVmIElu
ZGV4Q29uc3RhbnQpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBDb25zdFNodWZmbGVWZWN0
b3IsIChMTFZNVmFsdWVSZWYgVmVjdG9yQUNvbnN0YW50LCBMTFZNVmFsdWVSZWYgVmVjdG9yQkNv
bnN0YW50LCBMTFZNVmFsdWVSZWYgTWFza0NvbnN0YW50KSkgXAorICAgIG1hY3JvKExMVk1WYWx1
ZVJlZiwgQ29uc3RFeHRyYWN0VmFsdWUsIChMTFZNVmFsdWVSZWYgQWdnQ29uc3RhbnQsIHVuc2ln
bmVkICpJZHhMaXN0LCB1bnNpZ25lZCBOdW1JZHgpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVm
LCBDb25zdEluc2VydFZhbHVlLCAoTExWTVZhbHVlUmVmIEFnZ0NvbnN0YW50LCBMTFZNVmFsdWVS
ZWYgRWxlbWVudFZhbHVlQ29uc3RhbnQsIHVuc2lnbmVkICpJZHhMaXN0LCB1bnNpZ25lZCBOdW1J
ZHgpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBDb25zdElubGluZUFzbSwgKExMVk1UeXBl
UmVmIFR5LCBjb25zdCBjaGFyICpBc21TdHJpbmcsIGNvbnN0IGNoYXIgKkNvbnN0cmFpbnRzLCBM
TFZNQm9vbCBIYXNTaWRlRWZmZWN0cywgTExWTUJvb2wgSXNBbGlnblN0YWNrKSkgXAorICAgIG1h
Y3JvKExMVk1WYWx1ZVJlZiwgQmxvY2tBZGRyZXNzLCAoTExWTVZhbHVlUmVmIEYsIExMVk1CYXNp
Y0Jsb2NrUmVmIEJCKSkgXAorICAgIG1hY3JvKExMVk1Nb2R1bGVSZWYsIEdldEdsb2JhbFBhcmVu
dCwgKExMVk1WYWx1ZVJlZiBHbG9iYWwpKSBcCisgICAgbWFjcm8oTExWTUJvb2wsIElzRGVjbGFy
YXRpb24sIChMTFZNVmFsdWVSZWYgR2xvYmFsKSkgXAorICAgIG1hY3JvKExMVk1MaW5rYWdlLCBH
ZXRMaW5rYWdlLCAoTExWTVZhbHVlUmVmIEdsb2JhbCkpIFwKKyAgICBtYWNybyh2b2lkLCBTZXRM
aW5rYWdlLCAoTExWTVZhbHVlUmVmIEdsb2JhbCwgTExWTUxpbmthZ2UgTGlua2FnZSkpIFwKKyAg
ICBtYWNybyhjb25zdCBjaGFyICosIEdldFNlY3Rpb24sIChMTFZNVmFsdWVSZWYgR2xvYmFsKSkg
XAorICAgIG1hY3JvKHZvaWQsIFNldFNlY3Rpb24sIChMTFZNVmFsdWVSZWYgR2xvYmFsLCBjb25z
dCBjaGFyICpTZWN0aW9uKSkgXAorICAgIG1hY3JvKExMVk1WaXNpYmlsaXR5LCBHZXRWaXNpYmls
aXR5LCAoTExWTVZhbHVlUmVmIEdsb2JhbCkpIFwKKyAgICBtYWNybyh2b2lkLCBTZXRWaXNpYmls
aXR5LCAoTExWTVZhbHVlUmVmIEdsb2JhbCwgTExWTVZpc2liaWxpdHkgVml6KSkgXAorICAgIG1h
Y3JvKHVuc2lnbmVkLCBHZXRBbGlnbm1lbnQsIChMTFZNVmFsdWVSZWYgR2xvYmFsKSkgXAorICAg
IG1hY3JvKHZvaWQsIFNldEFsaWdubWVudCwgKExMVk1WYWx1ZVJlZiBHbG9iYWwsIHVuc2lnbmVk
IEJ5dGVzKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgQWRkR2xvYmFsLCAoTExWTU1vZHVs
ZVJlZiBNLCBMTFZNVHlwZVJlZiBUeSwgY29uc3QgY2hhciAqTmFtZSkpIFwKKyAgICBtYWNybyhM
TFZNVmFsdWVSZWYsIEFkZEdsb2JhbEluQWRkcmVzc1NwYWNlLCAoTExWTU1vZHVsZVJlZiBNLCBM
TFZNVHlwZVJlZiBUeSwgY29uc3QgY2hhciAqTmFtZSwgdW5zaWduZWQgQWRkcmVzc1NwYWNlKSkg
XAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgR2V0TmFtZWRHbG9iYWwsIChMTFZNTW9kdWxlUmVm
IE0sIGNvbnN0IGNoYXIgKk5hbWUpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBHZXRGaXJz
dEdsb2JhbCwgKExMVk1Nb2R1bGVSZWYgTSkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIEdl
dExhc3RHbG9iYWwsIChMTFZNTW9kdWxlUmVmIE0pKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVm
LCBHZXROZXh0R2xvYmFsLCAoTExWTVZhbHVlUmVmIEdsb2JhbFZhcikpIFwKKyAgICBtYWNybyhM
TFZNVmFsdWVSZWYsIEdldFByZXZpb3VzR2xvYmFsLCAoTExWTVZhbHVlUmVmIEdsb2JhbFZhcikp
IFwKKyAgICBtYWNybyh2b2lkLCBEZWxldGVHbG9iYWwsIChMTFZNVmFsdWVSZWYgR2xvYmFsVmFy
KSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgR2V0SW5pdGlhbGl6ZXIsIChMTFZNVmFsdWVS
ZWYgR2xvYmFsVmFyKSkgXAorICAgIG1hY3JvKHZvaWQsIFNldEluaXRpYWxpemVyLCAoTExWTVZh
bHVlUmVmIEdsb2JhbFZhciwgTExWTVZhbHVlUmVmIENvbnN0YW50VmFsKSkgXAorICAgIG1hY3Jv
KExMVk1Cb29sLCBJc1RocmVhZExvY2FsLCAoTExWTVZhbHVlUmVmIEdsb2JhbFZhcikpIFwKKyAg
ICBtYWNybyh2b2lkLCBTZXRUaHJlYWRMb2NhbCwgKExMVk1WYWx1ZVJlZiBHbG9iYWxWYXIsIExM
Vk1Cb29sIElzVGhyZWFkTG9jYWwpKSBcCisgICAgbWFjcm8oTExWTUJvb2wsIElzR2xvYmFsQ29u
c3RhbnQsIChMTFZNVmFsdWVSZWYgR2xvYmFsVmFyKSkgXAorICAgIG1hY3JvKHZvaWQsIFNldEds
b2JhbENvbnN0YW50LCAoTExWTVZhbHVlUmVmIEdsb2JhbFZhciwgTExWTUJvb2wgSXNDb25zdGFu
dCkpIFwKKyAgICBtYWNybyhMTFZNVGhyZWFkTG9jYWxNb2RlLCBHZXRUaHJlYWRMb2NhbE1vZGUs
IChMTFZNVmFsdWVSZWYgR2xvYmFsVmFyKSkgXAorICAgIG1hY3JvKHZvaWQsIFNldFRocmVhZExv
Y2FsTW9kZSwgKExMVk1WYWx1ZVJlZiBHbG9iYWxWYXIsIExMVk1UaHJlYWRMb2NhbE1vZGUgTW9k
ZSkpIFwKKyAgICBtYWNybyhMTFZNQm9vbCwgSXNFeHRlcm5hbGx5SW5pdGlhbGl6ZWQsIChMTFZN
VmFsdWVSZWYgR2xvYmFsVmFyKSkgXAorICAgIG1hY3JvKHZvaWQsIFNldEV4dGVybmFsbHlJbml0
aWFsaXplZCwgKExMVk1WYWx1ZVJlZiBHbG9iYWxWYXIsIExMVk1Cb29sIElzRXh0SW5pdCkpIFwK
KyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIEFkZEFsaWFzLCAoTExWTU1vZHVsZVJlZiBNLCBMTFZN
VHlwZVJlZiBUeSwgTExWTVZhbHVlUmVmIEFsaWFzZWUsIGNvbnN0IGNoYXIgKk5hbWUpKSBcCisg
ICAgbWFjcm8odm9pZCwgRGVsZXRlRnVuY3Rpb24sIChMTFZNVmFsdWVSZWYgRm4pKSBcCisgICAg
bWFjcm8odW5zaWduZWQsIEdldEludHJpbnNpY0lELCAoTExWTVZhbHVlUmVmIEZuKSkgXAorICAg
IG1hY3JvKHVuc2lnbmVkLCBHZXRGdW5jdGlvbkNhbGxDb252LCAoTExWTVZhbHVlUmVmIEZuKSkg
XAorICAgIG1hY3JvKHZvaWQsIFNldEZ1bmN0aW9uQ2FsbENvbnYsIChMTFZNVmFsdWVSZWYgRm4s
IHVuc2lnbmVkIENDKSkgXAorICAgIG1hY3JvKGNvbnN0IGNoYXIgKiwgR2V0R0MsIChMTFZNVmFs
dWVSZWYgRm4pKSBcCisgICAgbWFjcm8odm9pZCwgU2V0R0MsIChMTFZNVmFsdWVSZWYgRm4sIGNv
bnN0IGNoYXIgKk5hbWUpKSBcCisgICAgbWFjcm8odm9pZCwgQWRkRnVuY3Rpb25BdHRyLCAoTExW
TVZhbHVlUmVmIEZuLCBMTFZNQXR0cmlidXRlIFBBKSkgXAorICAgIG1hY3JvKHZvaWQsIEFkZFRh
cmdldERlcGVuZGVudEZ1bmN0aW9uQXR0ciwgKExMVk1WYWx1ZVJlZiBGbiwgY29uc3QgY2hhciAq
QSwgY29uc3QgY2hhciAqVikpIFwKKyAgICBtYWNybyhMTFZNQXR0cmlidXRlLCBHZXRGdW5jdGlv
bkF0dHIsIChMTFZNVmFsdWVSZWYgRm4pKSBcCisgICAgbWFjcm8odm9pZCwgUmVtb3ZlRnVuY3Rp
b25BdHRyLCAoTExWTVZhbHVlUmVmIEZuLCBMTFZNQXR0cmlidXRlIFBBKSkgXAorICAgIG1hY3Jv
KHVuc2lnbmVkLCBDb3VudFBhcmFtcywgKExMVk1WYWx1ZVJlZiBGbikpIFwKKyAgICBtYWNybyh2
b2lkLCBHZXRQYXJhbXMsIChMTFZNVmFsdWVSZWYgRm4sIExMVk1WYWx1ZVJlZiAqUGFyYW1zKSkg
XAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgR2V0UGFyYW0sIChMTFZNVmFsdWVSZWYgRm4sIHVu
c2lnbmVkIEluZGV4KSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgR2V0UGFyYW1QYXJlbnQs
IChMTFZNVmFsdWVSZWYgSW5zdCkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIEdldEZpcnN0
UGFyYW0sIChMTFZNVmFsdWVSZWYgRm4pKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBHZXRM
YXN0UGFyYW0sIChMTFZNVmFsdWVSZWYgRm4pKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBH
ZXROZXh0UGFyYW0sIChMTFZNVmFsdWVSZWYgQXJnKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJl
ZiwgR2V0UHJldmlvdXNQYXJhbSwgKExMVk1WYWx1ZVJlZiBBcmcpKSBcCisgICAgbWFjcm8odm9p
ZCwgQWRkQXR0cmlidXRlLCAoTExWTVZhbHVlUmVmIEFyZywgTExWTUF0dHJpYnV0ZSBQQSkpIFwK
KyAgICBtYWNybyh2b2lkLCBSZW1vdmVBdHRyaWJ1dGUsIChMTFZNVmFsdWVSZWYgQXJnLCBMTFZN
QXR0cmlidXRlIFBBKSkgXAorICAgIG1hY3JvKExMVk1BdHRyaWJ1dGUsIEdldEF0dHJpYnV0ZSwg
KExMVk1WYWx1ZVJlZiBBcmcpKSBcCisgICAgbWFjcm8odm9pZCwgU2V0UGFyYW1BbGlnbm1lbnQs
IChMTFZNVmFsdWVSZWYgQXJnLCB1bnNpZ25lZCBhbGlnbikpIFwKKyAgICBtYWNybyhMTFZNVmFs
dWVSZWYsIE1EU3RyaW5nSW5Db250ZXh0LCAoTExWTUNvbnRleHRSZWYgQywgY29uc3QgY2hhciAq
U3RyLCB1bnNpZ25lZCBTTGVuKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgTURTdHJpbmcs
IChjb25zdCBjaGFyICpTdHIsIHVuc2lnbmVkIFNMZW4pKSBcCisgICAgbWFjcm8oTExWTVZhbHVl
UmVmLCBNRE5vZGVJbkNvbnRleHQsIChMTFZNQ29udGV4dFJlZiBDLCBMTFZNVmFsdWVSZWYgKlZh
bHMsIHVuc2lnbmVkIENvdW50KSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgTUROb2RlLCAo
TExWTVZhbHVlUmVmICpWYWxzLCB1bnNpZ25lZCBDb3VudCkpIFwKKyAgICBtYWNybyhjb25zdCBj
aGFyICosIEdldE1EU3RyaW5nLCAoTExWTVZhbHVlUmVmIFYsIHVuc2lnbmVkKiBMZW4pKSBcCisg
ICAgbWFjcm8odW5zaWduZWQsIEdldE1ETm9kZU51bU9wZXJhbmRzLCAoTExWTVZhbHVlUmVmIFYp
KSBcCisgICAgbWFjcm8odm9pZCwgR2V0TUROb2RlT3BlcmFuZHMsIChMTFZNVmFsdWVSZWYgViwg
TExWTVZhbHVlUmVmICpEZXN0KSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgQmFzaWNCbG9j
a0FzVmFsdWUsIChMTFZNQmFzaWNCbG9ja1JlZiBCQikpIFwKKyAgICBtYWNybyhMTFZNQm9vbCwg
VmFsdWVJc0Jhc2ljQmxvY2ssIChMTFZNVmFsdWVSZWYgVmFsKSkgXAorICAgIG1hY3JvKExMVk1C
YXNpY0Jsb2NrUmVmLCBWYWx1ZUFzQmFzaWNCbG9jaywgKExMVk1WYWx1ZVJlZiBWYWwpKSBcCisg
ICAgbWFjcm8oTExWTVZhbHVlUmVmLCBHZXRCYXNpY0Jsb2NrUGFyZW50LCAoTExWTUJhc2ljQmxv
Y2tSZWYgQkIpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBHZXRCYXNpY0Jsb2NrVGVybWlu
YXRvciwgKExMVk1CYXNpY0Jsb2NrUmVmIEJCKSkgXAorICAgIG1hY3JvKHVuc2lnbmVkLCBDb3Vu
dEJhc2ljQmxvY2tzLCAoTExWTVZhbHVlUmVmIEZuKSkgXAorICAgIG1hY3JvKHZvaWQsIEdldEJh
c2ljQmxvY2tzLCAoTExWTVZhbHVlUmVmIEZuLCBMTFZNQmFzaWNCbG9ja1JlZiAqQmFzaWNCbG9j
a3MpKSBcCisgICAgbWFjcm8oTExWTUJhc2ljQmxvY2tSZWYsIEdldEZpcnN0QmFzaWNCbG9jaywg
KExMVk1WYWx1ZVJlZiBGbikpIFwKKyAgICBtYWNybyhMTFZNQmFzaWNCbG9ja1JlZiwgR2V0TGFz
dEJhc2ljQmxvY2ssIChMTFZNVmFsdWVSZWYgRm4pKSBcCisgICAgbWFjcm8oTExWTUJhc2ljQmxv
Y2tSZWYsIEdldE5leHRCYXNpY0Jsb2NrLCAoTExWTUJhc2ljQmxvY2tSZWYgQkIpKSBcCisgICAg
bWFjcm8oTExWTUJhc2ljQmxvY2tSZWYsIEdldFByZXZpb3VzQmFzaWNCbG9jaywgKExMVk1CYXNp
Y0Jsb2NrUmVmIEJCKSkgXAorICAgIG1hY3JvKExMVk1CYXNpY0Jsb2NrUmVmLCBHZXRFbnRyeUJh
c2ljQmxvY2ssIChMTFZNVmFsdWVSZWYgRm4pKSBcCisgICAgbWFjcm8oTExWTUJhc2ljQmxvY2tS
ZWYsIEFwcGVuZEJhc2ljQmxvY2tJbkNvbnRleHQsIChMTFZNQ29udGV4dFJlZiBDLCBMTFZNVmFs
dWVSZWYgRm4sIGNvbnN0IGNoYXIgKk5hbWUpKSBcCisgICAgbWFjcm8oTExWTUJhc2ljQmxvY2tS
ZWYsIEFwcGVuZEJhc2ljQmxvY2ssIChMTFZNVmFsdWVSZWYgRm4sIGNvbnN0IGNoYXIgKk5hbWUp
KSBcCisgICAgbWFjcm8oTExWTUJhc2ljQmxvY2tSZWYsIEluc2VydEJhc2ljQmxvY2tJbkNvbnRl
eHQsIChMTFZNQ29udGV4dFJlZiBDLCBMTFZNQmFzaWNCbG9ja1JlZiBCQiwgY29uc3QgY2hhciAq
TmFtZSkpIFwKKyAgICBtYWNybyhMTFZNQmFzaWNCbG9ja1JlZiwgSW5zZXJ0QmFzaWNCbG9jaywg
KExMVk1CYXNpY0Jsb2NrUmVmIEluc2VydEJlZm9yZUJCLCBjb25zdCBjaGFyICpOYW1lKSkgXAor
ICAgIG1hY3JvKHZvaWQsIERlbGV0ZUJhc2ljQmxvY2ssIChMTFZNQmFzaWNCbG9ja1JlZiBCQikp
IFwKKyAgICBtYWNybyh2b2lkLCBSZW1vdmVCYXNpY0Jsb2NrRnJvbVBhcmVudCwgKExMVk1CYXNp
Y0Jsb2NrUmVmIEJCKSkgXAorICAgIG1hY3JvKHZvaWQsIE1vdmVCYXNpY0Jsb2NrQmVmb3JlLCAo
TExWTUJhc2ljQmxvY2tSZWYgQkIsIExMVk1CYXNpY0Jsb2NrUmVmIE1vdmVQb3MpKSBcCisgICAg
bWFjcm8odm9pZCwgTW92ZUJhc2ljQmxvY2tBZnRlciwgKExMVk1CYXNpY0Jsb2NrUmVmIEJCLCBM
TFZNQmFzaWNCbG9ja1JlZiBNb3ZlUG9zKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgR2V0
Rmlyc3RJbnN0cnVjdGlvbiwgKExMVk1CYXNpY0Jsb2NrUmVmIEJCKSkgXAorICAgIG1hY3JvKExM
Vk1WYWx1ZVJlZiwgR2V0TGFzdEluc3RydWN0aW9uLCAoTExWTUJhc2ljQmxvY2tSZWYgQkIpKSBc
CisgICAgbWFjcm8oaW50LCBIYXNNZXRhZGF0YSwgKExMVk1WYWx1ZVJlZiBWYWwpKSBcCisgICAg
bWFjcm8oTExWTVZhbHVlUmVmLCBHZXRNZXRhZGF0YSwgKExMVk1WYWx1ZVJlZiBWYWwsIHVuc2ln
bmVkIEtpbmRJRCkpIFwKKyAgICBtYWNybyh2b2lkLCBTZXRNZXRhZGF0YSwgKExMVk1WYWx1ZVJl
ZiBWYWwsIHVuc2lnbmVkIEtpbmRJRCwgTExWTVZhbHVlUmVmIE5vZGUpKSBcCisgICAgbWFjcm8o
TExWTUJhc2ljQmxvY2tSZWYsIEdldEluc3RydWN0aW9uUGFyZW50LCAoTExWTVZhbHVlUmVmIElu
c3QpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBHZXROZXh0SW5zdHJ1Y3Rpb24sIChMTFZN
VmFsdWVSZWYgSW5zdCkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIEdldFByZXZpb3VzSW5z
dHJ1Y3Rpb24sIChMTFZNVmFsdWVSZWYgSW5zdCkpIFwKKyAgICBtYWNybyh2b2lkLCBJbnN0cnVj
dGlvbkVyYXNlRnJvbVBhcmVudCwgKExMVk1WYWx1ZVJlZiBJbnN0KSkgXAorICAgIG1hY3JvKExM
Vk1PcGNvZGUsIEdldEluc3RydWN0aW9uT3Bjb2RlLCAoTExWTVZhbHVlUmVmIEluc3QpKSBcCisg
ICAgbWFjcm8oTExWTUludFByZWRpY2F0ZSwgR2V0SUNtcFByZWRpY2F0ZSwgKExMVk1WYWx1ZVJl
ZiBJbnN0KSkgXAorICAgIG1hY3JvKHZvaWQsIFNldEluc3RydWN0aW9uQ2FsbENvbnYsIChMTFZN
VmFsdWVSZWYgSW5zdHIsIHVuc2lnbmVkIENDKSkgXAorICAgIG1hY3JvKHVuc2lnbmVkLCBHZXRJ
bnN0cnVjdGlvbkNhbGxDb252LCAoTExWTVZhbHVlUmVmIEluc3RyKSkgXAorICAgIG1hY3JvKHZv
aWQsIEFkZEluc3RyQXR0cmlidXRlLCAoTExWTVZhbHVlUmVmIEluc3RyLCB1bnNpZ25lZCBpbmRl
eCwgTExWTUF0dHJpYnV0ZSkpIFwKKyAgICBtYWNybyh2b2lkLCBSZW1vdmVJbnN0ckF0dHJpYnV0
ZSwgKExMVk1WYWx1ZVJlZiBJbnN0ciwgdW5zaWduZWQgaW5kZXgsIExMVk1BdHRyaWJ1dGUpKSBc
CisgICAgbWFjcm8odm9pZCwgU2V0SW5zdHJQYXJhbUFsaWdubWVudCwgKExMVk1WYWx1ZVJlZiBJ
bnN0ciwgdW5zaWduZWQgaW5kZXgsIHVuc2lnbmVkIGFsaWduKSkgXAorICAgIG1hY3JvKExMVk1C
b29sLCBJc1RhaWxDYWxsLCAoTExWTVZhbHVlUmVmIENhbGxJbnN0KSkgXAorICAgIG1hY3JvKHZv
aWQsIFNldFRhaWxDYWxsLCAoTExWTVZhbHVlUmVmIENhbGxJbnN0LCBMTFZNQm9vbCBJc1RhaWxD
YWxsKSkgXAorICAgIG1hY3JvKExMVk1CYXNpY0Jsb2NrUmVmLCBHZXRTd2l0Y2hEZWZhdWx0RGVz
dCwgKExMVk1WYWx1ZVJlZiBTd2l0Y2hJbnN0cikpIFwKKyAgICBtYWNybyh2b2lkLCBBZGRJbmNv
bWluZywgKExMVk1WYWx1ZVJlZiBQaGlOb2RlLCBMTFZNVmFsdWVSZWYgKkluY29taW5nVmFsdWVz
LCBMTFZNQmFzaWNCbG9ja1JlZiAqSW5jb21pbmdCbG9ja3MsIHVuc2lnbmVkIENvdW50KSkgXAor
ICAgIG1hY3JvKHVuc2lnbmVkLCBDb3VudEluY29taW5nLCAoTExWTVZhbHVlUmVmIFBoaU5vZGUp
KSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBHZXRJbmNvbWluZ1ZhbHVlLCAoTExWTVZhbHVl
UmVmIFBoaU5vZGUsIHVuc2lnbmVkIEluZGV4KSkgXAorICAgIG1hY3JvKExMVk1CYXNpY0Jsb2Nr
UmVmLCBHZXRJbmNvbWluZ0Jsb2NrLCAoTExWTVZhbHVlUmVmIFBoaU5vZGUsIHVuc2lnbmVkIElu
ZGV4KSkgXAorICAgIG1hY3JvKExMVk1CdWlsZGVyUmVmLCBDcmVhdGVCdWlsZGVySW5Db250ZXh0
LCAoTExWTUNvbnRleHRSZWYgQykpIFwKKyAgICBtYWNybyhMTFZNQnVpbGRlclJlZiwgQ3JlYXRl
QnVpbGRlciwgKHZvaWQpKSBcCisgICAgbWFjcm8odm9pZCwgUG9zaXRpb25CdWlsZGVyLCAoTExW
TUJ1aWxkZXJSZWYgQnVpbGRlciwgTExWTUJhc2ljQmxvY2tSZWYgQmxvY2ssIExMVk1WYWx1ZVJl
ZiBJbnN0cikpIFwKKyAgICBtYWNybyh2b2lkLCBQb3NpdGlvbkJ1aWxkZXJCZWZvcmUsIChMTFZN
QnVpbGRlclJlZiBCdWlsZGVyLCBMTFZNVmFsdWVSZWYgSW5zdHIpKSBcCisgICAgbWFjcm8odm9p
ZCwgUG9zaXRpb25CdWlsZGVyQXRFbmQsIChMTFZNQnVpbGRlclJlZiBCdWlsZGVyLCBMTFZNQmFz
aWNCbG9ja1JlZiBCbG9jaykpIFwKKyAgICBtYWNybyhMTFZNQmFzaWNCbG9ja1JlZiwgR2V0SW5z
ZXJ0QmxvY2ssIChMTFZNQnVpbGRlclJlZiBCdWlsZGVyKSkgXAorICAgIG1hY3JvKHZvaWQsIENs
ZWFySW5zZXJ0aW9uUG9zaXRpb24sIChMTFZNQnVpbGRlclJlZiBCdWlsZGVyKSkgXAorICAgIG1h
Y3JvKHZvaWQsIEluc2VydEludG9CdWlsZGVyLCAoTExWTUJ1aWxkZXJSZWYgQnVpbGRlciwgTExW
TVZhbHVlUmVmIEluc3RyKSkgXAorICAgIG1hY3JvKHZvaWQsIEluc2VydEludG9CdWlsZGVyV2l0
aE5hbWUsIChMTFZNQnVpbGRlclJlZiBCdWlsZGVyLCBMTFZNVmFsdWVSZWYgSW5zdHIsIGNvbnN0
IGNoYXIgKk5hbWUpKSBcCisgICAgbWFjcm8odm9pZCwgRGlzcG9zZUJ1aWxkZXIsIChMTFZNQnVp
bGRlclJlZiBCdWlsZGVyKSkgXAorICAgIG1hY3JvKHZvaWQsIFNldEN1cnJlbnREZWJ1Z0xvY2F0
aW9uLCAoTExWTUJ1aWxkZXJSZWYgQnVpbGRlciwgTExWTVZhbHVlUmVmIEwpKSBcCisgICAgbWFj
cm8oTExWTVZhbHVlUmVmLCBHZXRDdXJyZW50RGVidWdMb2NhdGlvbiwgKExMVk1CdWlsZGVyUmVm
IEJ1aWxkZXIpKSBcCisgICAgbWFjcm8odm9pZCwgU2V0SW5zdERlYnVnTG9jYXRpb24sIChMTFZN
QnVpbGRlclJlZiBCdWlsZGVyLCBMTFZNVmFsdWVSZWYgSW5zdCkpIFwKKyAgICBtYWNybyhMTFZN
VmFsdWVSZWYsIEJ1aWxkUmV0Vm9pZCwgKExMVk1CdWlsZGVyUmVmKSkgXAorICAgIG1hY3JvKExM
Vk1WYWx1ZVJlZiwgQnVpbGRSZXQsIChMTFZNQnVpbGRlclJlZiwgTExWTVZhbHVlUmVmIFYpKSBc
CisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBCdWlsZEFnZ3JlZ2F0ZVJldCwgKExMVk1CdWlsZGVy
UmVmLCBMTFZNVmFsdWVSZWYgKlJldFZhbHMsIHVuc2lnbmVkIE4pKSBcCisgICAgbWFjcm8oTExW
TVZhbHVlUmVmLCBCdWlsZEJyLCAoTExWTUJ1aWxkZXJSZWYsIExMVk1CYXNpY0Jsb2NrUmVmIERl
c3QpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBCdWlsZENvbmRCciwgKExMVk1CdWlsZGVy
UmVmLCBMTFZNVmFsdWVSZWYgSWYsIExMVk1CYXNpY0Jsb2NrUmVmIFRoZW4sIExMVk1CYXNpY0Js
b2NrUmVmIEVsc2UpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBCdWlsZFN3aXRjaCwgKExM
Vk1CdWlsZGVyUmVmLCBMTFZNVmFsdWVSZWYgViwgTExWTUJhc2ljQmxvY2tSZWYgRWxzZSwgdW5z
aWduZWQgTnVtQ2FzZXMpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBCdWlsZEluZGlyZWN0
QnIsIChMTFZNQnVpbGRlclJlZiBCLCBMTFZNVmFsdWVSZWYgQWRkciwgdW5zaWduZWQgTnVtRGVz
dHMpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBCdWlsZEludm9rZSwgKExMVk1CdWlsZGVy
UmVmLCBMTFZNVmFsdWVSZWYgRm4sIExMVk1WYWx1ZVJlZiAqQXJncywgdW5zaWduZWQgTnVtQXJn
cywgTExWTUJhc2ljQmxvY2tSZWYgVGhlbiwgTExWTUJhc2ljQmxvY2tSZWYgQ2F0Y2gsIGNvbnN0
IGNoYXIgKk5hbWUpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBCdWlsZExhbmRpbmdQYWQs
IChMTFZNQnVpbGRlclJlZiBCLCBMTFZNVHlwZVJlZiBUeSwgTExWTVZhbHVlUmVmIFBlcnNGbiwg
dW5zaWduZWQgTnVtQ2xhdXNlcywgY29uc3QgY2hhciAqTmFtZSkpIFwKKyAgICBtYWNybyhMTFZN
VmFsdWVSZWYsIEJ1aWxkUmVzdW1lLCAoTExWTUJ1aWxkZXJSZWYgQiwgTExWTVZhbHVlUmVmIEV4
bikpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIEJ1aWxkVW5yZWFjaGFibGUsIChMTFZNQnVp
bGRlclJlZikpIFwKKyAgICBtYWNybyh2b2lkLCBBZGRDYXNlLCAoTExWTVZhbHVlUmVmIFN3aXRj
aCwgTExWTVZhbHVlUmVmIE9uVmFsLCBMTFZNQmFzaWNCbG9ja1JlZiBEZXN0KSkgXAorICAgIG1h
Y3JvKHZvaWQsIEFkZERlc3RpbmF0aW9uLCAoTExWTVZhbHVlUmVmIEluZGlyZWN0QnIsIExMVk1C
YXNpY0Jsb2NrUmVmIERlc3QpKSBcCisgICAgbWFjcm8odm9pZCwgQWRkQ2xhdXNlLCAoTExWTVZh
bHVlUmVmIExhbmRpbmdQYWQsIExMVk1WYWx1ZVJlZiBDbGF1c2VWYWwpKSBcCisgICAgbWFjcm8o
dm9pZCwgU2V0Q2xlYW51cCwgKExMVk1WYWx1ZVJlZiBMYW5kaW5nUGFkLCBMTFZNQm9vbCBWYWwp
KSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBCdWlsZEFkZCwgKExMVk1CdWlsZGVyUmVmLCBM
TFZNVmFsdWVSZWYgTEhTLCBMTFZNVmFsdWVSZWYgUkhTLCBjb25zdCBjaGFyICpOYW1lKSkgXAor
ICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgQnVpbGROU1dBZGQsIChMTFZNQnVpbGRlclJlZiwgTExW
TVZhbHVlUmVmIExIUywgTExWTVZhbHVlUmVmIFJIUywgY29uc3QgY2hhciAqTmFtZSkpIFwKKyAg
ICBtYWNybyhMTFZNVmFsdWVSZWYsIEJ1aWxkTlVXQWRkLCAoTExWTUJ1aWxkZXJSZWYsIExMVk1W
YWx1ZVJlZiBMSFMsIExMVk1WYWx1ZVJlZiBSSFMsIGNvbnN0IGNoYXIgKk5hbWUpKSBcCisgICAg
bWFjcm8oTExWTVZhbHVlUmVmLCBCdWlsZEZBZGQsIChMTFZNQnVpbGRlclJlZiwgTExWTVZhbHVl
UmVmIExIUywgTExWTVZhbHVlUmVmIFJIUywgY29uc3QgY2hhciAqTmFtZSkpIFwKKyAgICBtYWNy
byhMTFZNVmFsdWVSZWYsIEJ1aWxkU3ViLCAoTExWTUJ1aWxkZXJSZWYsIExMVk1WYWx1ZVJlZiBM
SFMsIExMVk1WYWx1ZVJlZiBSSFMsIGNvbnN0IGNoYXIgKk5hbWUpKSBcCisgICAgbWFjcm8oTExW
TVZhbHVlUmVmLCBCdWlsZE5TV1N1YiwgKExMVk1CdWlsZGVyUmVmLCBMTFZNVmFsdWVSZWYgTEhT
LCBMTFZNVmFsdWVSZWYgUkhTLCBjb25zdCBjaGFyICpOYW1lKSkgXAorICAgIG1hY3JvKExMVk1W
YWx1ZVJlZiwgQnVpbGROVVdTdWIsIChMTFZNQnVpbGRlclJlZiwgTExWTVZhbHVlUmVmIExIUywg
TExWTVZhbHVlUmVmIFJIUywgY29uc3QgY2hhciAqTmFtZSkpIFwKKyAgICBtYWNybyhMTFZNVmFs
dWVSZWYsIEJ1aWxkRlN1YiwgKExMVk1CdWlsZGVyUmVmLCBMTFZNVmFsdWVSZWYgTEhTLCBMTFZN
VmFsdWVSZWYgUkhTLCBjb25zdCBjaGFyICpOYW1lKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJl
ZiwgQnVpbGRNdWwsIChMTFZNQnVpbGRlclJlZiwgTExWTVZhbHVlUmVmIExIUywgTExWTVZhbHVl
UmVmIFJIUywgY29uc3QgY2hhciAqTmFtZSkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIEJ1
aWxkTlNXTXVsLCAoTExWTUJ1aWxkZXJSZWYsIExMVk1WYWx1ZVJlZiBMSFMsIExMVk1WYWx1ZVJl
ZiBSSFMsIGNvbnN0IGNoYXIgKk5hbWUpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBCdWls
ZE5VV011bCwgKExMVk1CdWlsZGVyUmVmLCBMTFZNVmFsdWVSZWYgTEhTLCBMTFZNVmFsdWVSZWYg
UkhTLCBjb25zdCBjaGFyICpOYW1lKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgQnVpbGRG
TXVsLCAoTExWTUJ1aWxkZXJSZWYsIExMVk1WYWx1ZVJlZiBMSFMsIExMVk1WYWx1ZVJlZiBSSFMs
IGNvbnN0IGNoYXIgKk5hbWUpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBCdWlsZFVEaXYs
IChMTFZNQnVpbGRlclJlZiwgTExWTVZhbHVlUmVmIExIUywgTExWTVZhbHVlUmVmIFJIUywgY29u
c3QgY2hhciAqTmFtZSkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIEJ1aWxkU0RpdiwgKExM
Vk1CdWlsZGVyUmVmLCBMTFZNVmFsdWVSZWYgTEhTLCBMTFZNVmFsdWVSZWYgUkhTLCBjb25zdCBj
aGFyICpOYW1lKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgQnVpbGRFeGFjdFNEaXYsIChM
TFZNQnVpbGRlclJlZiwgTExWTVZhbHVlUmVmIExIUywgTExWTVZhbHVlUmVmIFJIUywgY29uc3Qg
Y2hhciAqTmFtZSkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIEJ1aWxkRkRpdiwgKExMVk1C
dWlsZGVyUmVmLCBMTFZNVmFsdWVSZWYgTEhTLCBMTFZNVmFsdWVSZWYgUkhTLCBjb25zdCBjaGFy
ICpOYW1lKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgQnVpbGRVUmVtLCAoTExWTUJ1aWxk
ZXJSZWYsIExMVk1WYWx1ZVJlZiBMSFMsIExMVk1WYWx1ZVJlZiBSSFMsIGNvbnN0IGNoYXIgKk5h
bWUpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBCdWlsZFNSZW0sIChMTFZNQnVpbGRlclJl
ZiwgTExWTVZhbHVlUmVmIExIUywgTExWTVZhbHVlUmVmIFJIUywgY29uc3QgY2hhciAqTmFtZSkp
IFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIEJ1aWxkRlJlbSwgKExMVk1CdWlsZGVyUmVmLCBM
TFZNVmFsdWVSZWYgTEhTLCBMTFZNVmFsdWVSZWYgUkhTLCBjb25zdCBjaGFyICpOYW1lKSkgXAor
ICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgQnVpbGRTaGwsIChMTFZNQnVpbGRlclJlZiwgTExWTVZh
bHVlUmVmIExIUywgTExWTVZhbHVlUmVmIFJIUywgY29uc3QgY2hhciAqTmFtZSkpIFwKKyAgICBt
YWNybyhMTFZNVmFsdWVSZWYsIEJ1aWxkTFNociwgKExMVk1CdWlsZGVyUmVmLCBMTFZNVmFsdWVS
ZWYgTEhTLCBMTFZNVmFsdWVSZWYgUkhTLCBjb25zdCBjaGFyICpOYW1lKSkgXAorICAgIG1hY3Jv
KExMVk1WYWx1ZVJlZiwgQnVpbGRBU2hyLCAoTExWTUJ1aWxkZXJSZWYsIExMVk1WYWx1ZVJlZiBM
SFMsIExMVk1WYWx1ZVJlZiBSSFMsIGNvbnN0IGNoYXIgKk5hbWUpKSBcCisgICAgbWFjcm8oTExW
TVZhbHVlUmVmLCBCdWlsZEFuZCwgKExMVk1CdWlsZGVyUmVmLCBMTFZNVmFsdWVSZWYgTEhTLCBM
TFZNVmFsdWVSZWYgUkhTLCBjb25zdCBjaGFyICpOYW1lKSkgXAorICAgIG1hY3JvKExMVk1WYWx1
ZVJlZiwgQnVpbGRPciwgKExMVk1CdWlsZGVyUmVmLCBMTFZNVmFsdWVSZWYgTEhTLCBMTFZNVmFs
dWVSZWYgUkhTLCBjb25zdCBjaGFyICpOYW1lKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwg
QnVpbGRYb3IsIChMTFZNQnVpbGRlclJlZiwgTExWTVZhbHVlUmVmIExIUywgTExWTVZhbHVlUmVm
IFJIUywgY29uc3QgY2hhciAqTmFtZSkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIEJ1aWxk
QmluT3AsIChMTFZNQnVpbGRlclJlZiBCLCBMTFZNT3Bjb2RlIE9wLCBMTFZNVmFsdWVSZWYgTEhT
LCBMTFZNVmFsdWVSZWYgUkhTLCBjb25zdCBjaGFyICpOYW1lKSkgXAorICAgIG1hY3JvKExMVk1W
YWx1ZVJlZiwgQnVpbGROZWcsIChMTFZNQnVpbGRlclJlZiwgTExWTVZhbHVlUmVmIFYsIGNvbnN0
IGNoYXIgKk5hbWUpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBCdWlsZE5TV05lZywgKExM
Vk1CdWlsZGVyUmVmIEIsIExMVk1WYWx1ZVJlZiBWLCBjb25zdCBjaGFyICpOYW1lKSkgXAorICAg
IG1hY3JvKExMVk1WYWx1ZVJlZiwgQnVpbGROVVdOZWcsIChMTFZNQnVpbGRlclJlZiBCLCBMTFZN
VmFsdWVSZWYgViwgY29uc3QgY2hhciAqTmFtZSkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYs
IEJ1aWxkRk5lZywgKExMVk1CdWlsZGVyUmVmLCBMTFZNVmFsdWVSZWYgViwgY29uc3QgY2hhciAq
TmFtZSkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIEJ1aWxkTm90LCAoTExWTUJ1aWxkZXJS
ZWYsIExMVk1WYWx1ZVJlZiBWLCBjb25zdCBjaGFyICpOYW1lKSkgXAorICAgIG1hY3JvKExMVk1W
YWx1ZVJlZiwgQnVpbGRNYWxsb2MsIChMTFZNQnVpbGRlclJlZiwgTExWTVR5cGVSZWYgVHksIGNv
bnN0IGNoYXIgKk5hbWUpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBCdWlsZEFycmF5TWFs
bG9jLCAoTExWTUJ1aWxkZXJSZWYsIExMVk1UeXBlUmVmIFR5LCBMTFZNVmFsdWVSZWYgVmFsLCBj
b25zdCBjaGFyICpOYW1lKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgQnVpbGRBbGxvY2Es
IChMTFZNQnVpbGRlclJlZiwgTExWTVR5cGVSZWYgVHksIGNvbnN0IGNoYXIgKk5hbWUpKSBcCisg
ICAgbWFjcm8oTExWTVZhbHVlUmVmLCBCdWlsZEFycmF5QWxsb2NhLCAoTExWTUJ1aWxkZXJSZWYs
IExMVk1UeXBlUmVmIFR5LCBMTFZNVmFsdWVSZWYgVmFsLCBjb25zdCBjaGFyICpOYW1lKSkgXAor
ICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgQnVpbGRGcmVlLCAoTExWTUJ1aWxkZXJSZWYsIExMVk1W
YWx1ZVJlZiBQb2ludGVyVmFsKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgQnVpbGRMb2Fk
LCAoTExWTUJ1aWxkZXJSZWYsIExMVk1WYWx1ZVJlZiBQb2ludGVyVmFsLCBjb25zdCBjaGFyICpO
YW1lKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgQnVpbGRTdG9yZSwgKExMVk1CdWlsZGVy
UmVmLCBMTFZNVmFsdWVSZWYgVmFsLCBMTFZNVmFsdWVSZWYgUHRyKSkgXAorICAgIG1hY3JvKExM
Vk1WYWx1ZVJlZiwgQnVpbGRHRVAsIChMTFZNQnVpbGRlclJlZiBCLCBMTFZNVmFsdWVSZWYgUG9p
bnRlciwgTExWTVZhbHVlUmVmICpJbmRpY2VzLCB1bnNpZ25lZCBOdW1JbmRpY2VzLCBjb25zdCBj
aGFyICpOYW1lKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgQnVpbGRJbkJvdW5kc0dFUCwg
KExMVk1CdWlsZGVyUmVmIEIsIExMVk1WYWx1ZVJlZiBQb2ludGVyLCBMTFZNVmFsdWVSZWYgKklu
ZGljZXMsIHVuc2lnbmVkIE51bUluZGljZXMsIGNvbnN0IGNoYXIgKk5hbWUpKSBcCisgICAgbWFj
cm8oTExWTVZhbHVlUmVmLCBCdWlsZFN0cnVjdEdFUCwgKExMVk1CdWlsZGVyUmVmIEIsIExMVk1W
YWx1ZVJlZiBQb2ludGVyLCB1bnNpZ25lZCBJZHgsIGNvbnN0IGNoYXIgKk5hbWUpKSBcCisgICAg
bWFjcm8oTExWTVZhbHVlUmVmLCBCdWlsZEdsb2JhbFN0cmluZywgKExMVk1CdWlsZGVyUmVmIEIs
IGNvbnN0IGNoYXIgKlN0ciwgY29uc3QgY2hhciAqTmFtZSkpIFwKKyAgICBtYWNybyhMTFZNVmFs
dWVSZWYsIEJ1aWxkR2xvYmFsU3RyaW5nUHRyLCAoTExWTUJ1aWxkZXJSZWYgQiwgY29uc3QgY2hh
ciAqU3RyLCBjb25zdCBjaGFyICpOYW1lKSkgXAorICAgIG1hY3JvKExMVk1Cb29sLCBHZXRWb2xh
dGlsZSwgKExMVk1WYWx1ZVJlZiBNZW1vcnlBY2Nlc3NJbnN0KSkgXAorICAgIG1hY3JvKHZvaWQs
IFNldFZvbGF0aWxlLCAoTExWTVZhbHVlUmVmIE1lbW9yeUFjY2Vzc0luc3QsIExMVk1Cb29sIElz
Vm9sYXRpbGUpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBCdWlsZFRydW5jLCAoTExWTUJ1
aWxkZXJSZWYsIExMVk1WYWx1ZVJlZiBWYWwsIExMVk1UeXBlUmVmIERlc3RUeSwgY29uc3QgY2hh
ciAqTmFtZSkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIEJ1aWxkWkV4dCwgKExMVk1CdWls
ZGVyUmVmLCBMTFZNVmFsdWVSZWYgVmFsLCBMTFZNVHlwZVJlZiBEZXN0VHksIGNvbnN0IGNoYXIg
Kk5hbWUpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBCdWlsZFNFeHQsIChMTFZNQnVpbGRl
clJlZiwgTExWTVZhbHVlUmVmIFZhbCwgTExWTVR5cGVSZWYgRGVzdFR5LCBjb25zdCBjaGFyICpO
YW1lKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgQnVpbGRGUFRvVUksIChMTFZNQnVpbGRl
clJlZiwgTExWTVZhbHVlUmVmIFZhbCwgTExWTVR5cGVSZWYgRGVzdFR5LCBjb25zdCBjaGFyICpO
YW1lKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgQnVpbGRGUFRvU0ksIChMTFZNQnVpbGRl
clJlZiwgTExWTVZhbHVlUmVmIFZhbCwgTExWTVR5cGVSZWYgRGVzdFR5LCBjb25zdCBjaGFyICpO
YW1lKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgQnVpbGRVSVRvRlAsIChMTFZNQnVpbGRl
clJlZiwgTExWTVZhbHVlUmVmIFZhbCwgTExWTVR5cGVSZWYgRGVzdFR5LCBjb25zdCBjaGFyICpO
YW1lKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgQnVpbGRTSVRvRlAsIChMTFZNQnVpbGRl
clJlZiwgTExWTVZhbHVlUmVmIFZhbCwgTExWTVR5cGVSZWYgRGVzdFR5LCBjb25zdCBjaGFyICpO
YW1lKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgQnVpbGRGUFRydW5jLCAoTExWTUJ1aWxk
ZXJSZWYsIExMVk1WYWx1ZVJlZiBWYWwsIExMVk1UeXBlUmVmIERlc3RUeSwgY29uc3QgY2hhciAq
TmFtZSkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIEJ1aWxkRlBFeHQsIChMTFZNQnVpbGRl
clJlZiwgTExWTVZhbHVlUmVmIFZhbCwgTExWTVR5cGVSZWYgRGVzdFR5LCBjb25zdCBjaGFyICpO
YW1lKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgQnVpbGRQdHJUb0ludCwgKExMVk1CdWls
ZGVyUmVmLCBMTFZNVmFsdWVSZWYgVmFsLCBMTFZNVHlwZVJlZiBEZXN0VHksIGNvbnN0IGNoYXIg
Kk5hbWUpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBCdWlsZEludFRvUHRyLCAoTExWTUJ1
aWxkZXJSZWYsIExMVk1WYWx1ZVJlZiBWYWwsIExMVk1UeXBlUmVmIERlc3RUeSwgY29uc3QgY2hh
ciAqTmFtZSkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIEJ1aWxkQml0Q2FzdCwgKExMVk1C
dWlsZGVyUmVmLCBMTFZNVmFsdWVSZWYgVmFsLCBMTFZNVHlwZVJlZiBEZXN0VHksIGNvbnN0IGNo
YXIgKk5hbWUpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBCdWlsZFpFeHRPckJpdENhc3Qs
IChMTFZNQnVpbGRlclJlZiwgTExWTVZhbHVlUmVmIFZhbCwgTExWTVR5cGVSZWYgRGVzdFR5LCBj
b25zdCBjaGFyICpOYW1lKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgQnVpbGRTRXh0T3JC
aXRDYXN0LCAoTExWTUJ1aWxkZXJSZWYsIExMVk1WYWx1ZVJlZiBWYWwsIExMVk1UeXBlUmVmIERl
c3RUeSwgY29uc3QgY2hhciAqTmFtZSkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIEJ1aWxk
VHJ1bmNPckJpdENhc3QsIChMTFZNQnVpbGRlclJlZiwgTExWTVZhbHVlUmVmIFZhbCwgTExWTVR5
cGVSZWYgRGVzdFR5LCBjb25zdCBjaGFyICpOYW1lKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJl
ZiwgQnVpbGRDYXN0LCAoTExWTUJ1aWxkZXJSZWYgQiwgTExWTU9wY29kZSBPcCwgTExWTVZhbHVl
UmVmIFZhbCwgTExWTVR5cGVSZWYgRGVzdFR5LCBjb25zdCBjaGFyICpOYW1lKSkgXAorICAgIG1h
Y3JvKExMVk1WYWx1ZVJlZiwgQnVpbGRQb2ludGVyQ2FzdCwgKExMVk1CdWlsZGVyUmVmLCBMTFZN
VmFsdWVSZWYgVmFsLCBMTFZNVHlwZVJlZiBEZXN0VHksIGNvbnN0IGNoYXIgKk5hbWUpKSBcCisg
ICAgbWFjcm8oTExWTVZhbHVlUmVmLCBCdWlsZEludENhc3QsIChMTFZNQnVpbGRlclJlZiwgTExW
TVZhbHVlUmVmIFZhbCwgTExWTVR5cGVSZWYgRGVzdFR5LCBjb25zdCBjaGFyICpOYW1lKSkgXAor
ICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgQnVpbGRGUENhc3QsIChMTFZNQnVpbGRlclJlZiwgTExW
TVZhbHVlUmVmIFZhbCwgTExWTVR5cGVSZWYgRGVzdFR5LCBjb25zdCBjaGFyICpOYW1lKSkgXAor
ICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgQnVpbGRJQ21wLCAoTExWTUJ1aWxkZXJSZWYsIExMVk1J
bnRQcmVkaWNhdGUgT3AsIExMVk1WYWx1ZVJlZiBMSFMsIExMVk1WYWx1ZVJlZiBSSFMsIGNvbnN0
IGNoYXIgKk5hbWUpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBCdWlsZEZDbXAsIChMTFZN
QnVpbGRlclJlZiwgTExWTVJlYWxQcmVkaWNhdGUgT3AsIExMVk1WYWx1ZVJlZiBMSFMsIExMVk1W
YWx1ZVJlZiBSSFMsIGNvbnN0IGNoYXIgKk5hbWUpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVm
LCBCdWlsZFBoaSwgKExMVk1CdWlsZGVyUmVmLCBMTFZNVHlwZVJlZiBUeSwgY29uc3QgY2hhciAq
TmFtZSkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIEJ1aWxkQ2FsbCwgKExMVk1CdWlsZGVy
UmVmLCBMTFZNVmFsdWVSZWYgRm4sIExMVk1WYWx1ZVJlZiAqQXJncywgdW5zaWduZWQgTnVtQXJn
cywgY29uc3QgY2hhciAqTmFtZSkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIEJ1aWxkU2Vs
ZWN0LCAoTExWTUJ1aWxkZXJSZWYsIExMVk1WYWx1ZVJlZiBJZiwgTExWTVZhbHVlUmVmIFRoZW4s
IExMVk1WYWx1ZVJlZiBFbHNlLCBjb25zdCBjaGFyICpOYW1lKSkgXAorICAgIG1hY3JvKExMVk1W
YWx1ZVJlZiwgQnVpbGRWQUFyZywgKExMVk1CdWlsZGVyUmVmLCBMTFZNVmFsdWVSZWYgTGlzdCwg
TExWTVR5cGVSZWYgVHksIGNvbnN0IGNoYXIgKk5hbWUpKSBcCisgICAgbWFjcm8oTExWTVZhbHVl
UmVmLCBCdWlsZEV4dHJhY3RFbGVtZW50LCAoTExWTUJ1aWxkZXJSZWYsIExMVk1WYWx1ZVJlZiBW
ZWNWYWwsIExMVk1WYWx1ZVJlZiBJbmRleCwgY29uc3QgY2hhciAqTmFtZSkpIFwKKyAgICBtYWNy
byhMTFZNVmFsdWVSZWYsIEJ1aWxkSW5zZXJ0RWxlbWVudCwgKExMVk1CdWlsZGVyUmVmLCBMTFZN
VmFsdWVSZWYgVmVjVmFsLCBMTFZNVmFsdWVSZWYgRWx0VmFsLCBMTFZNVmFsdWVSZWYgSW5kZXgs
IGNvbnN0IGNoYXIgKk5hbWUpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBCdWlsZFNodWZm
bGVWZWN0b3IsIChMTFZNQnVpbGRlclJlZiwgTExWTVZhbHVlUmVmIFYxLCBMTFZNVmFsdWVSZWYg
VjIsIExMVk1WYWx1ZVJlZiBNYXNrLCBjb25zdCBjaGFyICpOYW1lKSkgXAorICAgIG1hY3JvKExM
Vk1WYWx1ZVJlZiwgQnVpbGRFeHRyYWN0VmFsdWUsIChMTFZNQnVpbGRlclJlZiwgTExWTVZhbHVl
UmVmIEFnZ1ZhbCwgdW5zaWduZWQgSW5kZXgsIGNvbnN0IGNoYXIgKk5hbWUpKSBcCisgICAgbWFj
cm8oTExWTVZhbHVlUmVmLCBCdWlsZEluc2VydFZhbHVlLCAoTExWTUJ1aWxkZXJSZWYsIExMVk1W
YWx1ZVJlZiBBZ2dWYWwsIExMVk1WYWx1ZVJlZiBFbHRWYWwsIHVuc2lnbmVkIEluZGV4LCBjb25z
dCBjaGFyICpOYW1lKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgQnVpbGRJc051bGwsIChM
TFZNQnVpbGRlclJlZiwgTExWTVZhbHVlUmVmIFZhbCwgY29uc3QgY2hhciAqTmFtZSkpIFwKKyAg
ICBtYWNybyhMTFZNVmFsdWVSZWYsIEJ1aWxkSXNOb3ROdWxsLCAoTExWTUJ1aWxkZXJSZWYsIExM
Vk1WYWx1ZVJlZiBWYWwsIGNvbnN0IGNoYXIgKk5hbWUpKSBcCisgICAgbWFjcm8oTExWTVZhbHVl
UmVmLCBCdWlsZFB0ckRpZmYsIChMTFZNQnVpbGRlclJlZiwgTExWTVZhbHVlUmVmIExIUywgTExW
TVZhbHVlUmVmIFJIUywgY29uc3QgY2hhciAqTmFtZSkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVS
ZWYsIEJ1aWxkQXRvbWljUk1XLCAoTExWTUJ1aWxkZXJSZWYgQiwgTExWTUF0b21pY1JNV0Jpbk9w
IG9wLCBMTFZNVmFsdWVSZWYgUFRSLCBMTFZNVmFsdWVSZWYgVmFsLCBMTFZNQXRvbWljT3JkZXJp
bmcgb3JkZXJpbmcsIExMVk1Cb29sIHNpbmdsZVRocmVhZCkpIFwKKyAgICBtYWNybyhMTFZNTW9k
dWxlUHJvdmlkZXJSZWYsIENyZWF0ZU1vZHVsZVByb3ZpZGVyRm9yRXhpc3RpbmdNb2R1bGUsIChM
TFZNTW9kdWxlUmVmIE0pKSBcCisgICAgbWFjcm8odm9pZCwgRGlzcG9zZU1vZHVsZVByb3ZpZGVy
LCAoTExWTU1vZHVsZVByb3ZpZGVyUmVmIE0pKSBcCisgICAgbWFjcm8oTExWTUJvb2wsIENyZWF0
ZU1lbW9yeUJ1ZmZlcldpdGhDb250ZW50c09mRmlsZSwgKGNvbnN0IGNoYXIgKlBhdGgsIExMVk1N
ZW1vcnlCdWZmZXJSZWYgKk91dE1lbUJ1ZiwgY2hhciAqKk91dE1lc3NhZ2UpKSBcCisgICAgbWFj
cm8oTExWTUJvb2wsIENyZWF0ZU1lbW9yeUJ1ZmZlcldpdGhTVERJTiwgKExMVk1NZW1vcnlCdWZm
ZXJSZWYgKk91dE1lbUJ1ZiwgY2hhciAqKk91dE1lc3NhZ2UpKSBcCisgICAgbWFjcm8oTExWTU1l
bW9yeUJ1ZmZlclJlZiwgQ3JlYXRlTWVtb3J5QnVmZmVyV2l0aE1lbW9yeVJhbmdlLCAoY29uc3Qg
Y2hhciAqSW5wdXREYXRhLCBzaXplX3QgSW5wdXREYXRhTGVuZ3RoLCBjb25zdCBjaGFyICpCdWZm
ZXJOYW1lLCBMTFZNQm9vbCBSZXF1aXJlc051bGxUZXJtaW5hdG9yKSkgXAorICAgIG1hY3JvKExM
Vk1NZW1vcnlCdWZmZXJSZWYsIENyZWF0ZU1lbW9yeUJ1ZmZlcldpdGhNZW1vcnlSYW5nZUNvcHks
IChjb25zdCBjaGFyICpJbnB1dERhdGEsIHNpemVfdCBJbnB1dERhdGFMZW5ndGgsIGNvbnN0IGNo
YXIgKkJ1ZmZlck5hbWUpKSBcCisgICAgbWFjcm8oY29uc3QgY2hhciAqLCBHZXRCdWZmZXJTdGFy
dCwgKExMVk1NZW1vcnlCdWZmZXJSZWYgTWVtQnVmKSkgXAorICAgIG1hY3JvKHNpemVfdCwgR2V0
QnVmZmVyU2l6ZSwgKExMVk1NZW1vcnlCdWZmZXJSZWYgTWVtQnVmKSkgXAorICAgIG1hY3JvKHZv
aWQsIERpc3Bvc2VNZW1vcnlCdWZmZXIsIChMTFZNTWVtb3J5QnVmZmVyUmVmIE1lbUJ1ZikpIFwK
KyAgICBtYWNybyhMTFZNUGFzc1JlZ2lzdHJ5UmVmLCBHZXRHbG9iYWxQYXNzUmVnaXN0cnksICh2
b2lkKSkgXAorICAgIG1hY3JvKExMVk1QYXNzTWFuYWdlclJlZiwgQ3JlYXRlUGFzc01hbmFnZXIs
ICh2b2lkKSkgXAorICAgIG1hY3JvKExMVk1QYXNzTWFuYWdlclJlZiwgQ3JlYXRlRnVuY3Rpb25Q
YXNzTWFuYWdlckZvck1vZHVsZSwgKExMVk1Nb2R1bGVSZWYgTSkpIFwKKyAgICBtYWNybyhMTFZN
UGFzc01hbmFnZXJSZWYsIENyZWF0ZUZ1bmN0aW9uUGFzc01hbmFnZXIsIChMTFZNTW9kdWxlUHJv
dmlkZXJSZWYgTVApKSBcCisgICAgbWFjcm8oTExWTUJvb2wsIFJ1blBhc3NNYW5hZ2VyLCAoTExW
TVBhc3NNYW5hZ2VyUmVmIFBNLCBMTFZNTW9kdWxlUmVmIE0pKSBcCisgICAgbWFjcm8oTExWTUJv
b2wsIEluaXRpYWxpemVGdW5jdGlvblBhc3NNYW5hZ2VyLCAoTExWTVBhc3NNYW5hZ2VyUmVmIEZQ
TSkpIFwKKyAgICBtYWNybyhMTFZNQm9vbCwgUnVuRnVuY3Rpb25QYXNzTWFuYWdlciwgKExMVk1Q
YXNzTWFuYWdlclJlZiBGUE0sIExMVk1WYWx1ZVJlZiBGKSkgXAorICAgIG1hY3JvKExMVk1Cb29s
LCBGaW5hbGl6ZUZ1bmN0aW9uUGFzc01hbmFnZXIsIChMTFZNUGFzc01hbmFnZXJSZWYgRlBNKSkg
XAorICAgIG1hY3JvKHZvaWQsIERpc3Bvc2VQYXNzTWFuYWdlciwgKExMVk1QYXNzTWFuYWdlclJl
ZiBQTSkpIFwKKyAgICBtYWNybyhMTFZNQm9vbCwgU3RhcnRNdWx0aXRocmVhZGVkLCAoKSkgXAor
ICAgIG1hY3JvKHZvaWQsIFN0b3BNdWx0aXRocmVhZGVkLCAoKSkgXAorICAgIG1hY3JvKExMVk1C
b29sLCBJc011bHRpdGhyZWFkZWQsICgpKSBcCisgICAgbWFjcm8oTExWTVRhcmdldERhdGFSZWYs
IENyZWF0ZVRhcmdldERhdGEsIChjb25zdCBjaGFyICpTdHJpbmdSZXApKSBcCisgICAgbWFjcm8o
dm9pZCwgQWRkVGFyZ2V0RGF0YSwgKExMVk1UYXJnZXREYXRhUmVmLCBMTFZNUGFzc01hbmFnZXJS
ZWYpKSBcCisgICAgbWFjcm8odm9pZCwgQWRkVGFyZ2V0TGlicmFyeUluZm8sIChMTFZNVGFyZ2V0
TGlicmFyeUluZm9SZWYsIExMVk1QYXNzTWFuYWdlclJlZikpIFwKKyAgICBtYWNybyhjaGFyICos
IENvcHlTdHJpbmdSZXBPZlRhcmdldERhdGEsIChMTFZNVGFyZ2V0RGF0YVJlZikpIFwKKyAgICBt
YWNybyhlbnVtIExMVk1CeXRlT3JkZXJpbmcsIEJ5dGVPcmRlciwgKExMVk1UYXJnZXREYXRhUmVm
KSkgXAorICAgIG1hY3JvKHVuc2lnbmVkLCBQb2ludGVyU2l6ZSwgKExMVk1UYXJnZXREYXRhUmVm
KSkgXAorICAgIG1hY3JvKExMVk1UeXBlUmVmLCBJbnRQdHJUeXBlLCAoTExWTVRhcmdldERhdGFS
ZWYpKSBcCisgICAgbWFjcm8odW5zaWduZWQgbG9uZyBsb25nLCBTaXplT2ZUeXBlSW5CaXRzLCAo
TExWTVRhcmdldERhdGFSZWYsIExMVk1UeXBlUmVmKSkgXAorICAgIG1hY3JvKHVuc2lnbmVkIGxv
bmcgbG9uZywgU3RvcmVTaXplT2ZUeXBlLCAoTExWTVRhcmdldERhdGFSZWYsIExMVk1UeXBlUmVm
KSkgXAorICAgIG1hY3JvKHVuc2lnbmVkIGxvbmcgbG9uZywgQUJJU2l6ZU9mVHlwZSwgKExMVk1U
YXJnZXREYXRhUmVmLCBMTFZNVHlwZVJlZikpIFwKKyAgICBtYWNybyh1bnNpZ25lZCwgQUJJQWxp
Z25tZW50T2ZUeXBlLCAoTExWTVRhcmdldERhdGFSZWYsIExMVk1UeXBlUmVmKSkgXAorICAgIG1h
Y3JvKHVuc2lnbmVkLCBDYWxsRnJhbWVBbGlnbm1lbnRPZlR5cGUsIChMTFZNVGFyZ2V0RGF0YVJl
ZiwgTExWTVR5cGVSZWYpKSBcCisgICAgbWFjcm8odW5zaWduZWQsIFByZWZlcnJlZEFsaWdubWVu
dE9mVHlwZSwgKExMVk1UYXJnZXREYXRhUmVmLCBMTFZNVHlwZVJlZikpIFwKKyAgICBtYWNybyh1
bnNpZ25lZCwgUHJlZmVycmVkQWxpZ25tZW50T2ZHbG9iYWwsIChMTFZNVGFyZ2V0RGF0YVJlZiwg
TExWTVZhbHVlUmVmIEdsb2JhbFZhcikpIFwKKyAgICBtYWNybyh1bnNpZ25lZCwgRWxlbWVudEF0
T2Zmc2V0LCAoTExWTVRhcmdldERhdGFSZWYsIExMVk1UeXBlUmVmIFN0cnVjdFR5LCB1bnNpZ25l
ZCBsb25nIGxvbmcgT2Zmc2V0KSkgXAorICAgIG1hY3JvKHVuc2lnbmVkIGxvbmcgbG9uZywgT2Zm
c2V0T2ZFbGVtZW50LCAoTExWTVRhcmdldERhdGFSZWYsIExMVk1UeXBlUmVmIFN0cnVjdFR5LCB1
bnNpZ25lZCBFbGVtZW50KSkgXAorICAgIG1hY3JvKHZvaWQsIERpc3Bvc2VUYXJnZXREYXRhLCAo
TExWTVRhcmdldERhdGFSZWYpKSBcCisgICAgbWFjcm8oTExWTVRhcmdldFJlZiwgR2V0Rmlyc3RU
YXJnZXQsICgpKSBcCisgICAgbWFjcm8oTExWTVRhcmdldFJlZiwgR2V0TmV4dFRhcmdldCwgKExM
Vk1UYXJnZXRSZWYgVCkpIFwKKyAgICBtYWNybyhjb25zdCBjaGFyICosIEdldFRhcmdldE5hbWUs
IChMTFZNVGFyZ2V0UmVmIFQpKSBcCisgICAgbWFjcm8oY29uc3QgY2hhciAqLCBHZXRUYXJnZXRE
ZXNjcmlwdGlvbiwgKExMVk1UYXJnZXRSZWYgVCkpIFwKKyAgICBtYWNybyhMTFZNQm9vbCwgVGFy
Z2V0SGFzSklULCAoTExWTVRhcmdldFJlZiBUKSkgXAorICAgIG1hY3JvKExMVk1Cb29sLCBUYXJn
ZXRIYXNUYXJnZXRNYWNoaW5lLCAoTExWTVRhcmdldFJlZiBUKSkgXAorICAgIG1hY3JvKExMVk1C
b29sLCBUYXJnZXRIYXNBc21CYWNrZW5kLCAoTExWTVRhcmdldFJlZiBUKSkgXAorICAgIG1hY3Jv
KExMVk1UYXJnZXRNYWNoaW5lUmVmLCBDcmVhdGVUYXJnZXRNYWNoaW5lLCAoTExWTVRhcmdldFJl
ZiBULCBjaGFyICpUcmlwbGUsIGNoYXIgKkNQVSwgY2hhciAqRmVhdHVyZXMsIExMVk1Db2RlR2Vu
T3B0TGV2ZWwgTGV2ZWwsIExMVk1SZWxvY01vZGUgUmVsb2MsIExMVk1Db2RlTW9kZWwgQ29kZU1v
ZGVsKSkgXAorICAgIG1hY3JvKHZvaWQsIERpc3Bvc2VUYXJnZXRNYWNoaW5lLCAoTExWTVRhcmdl
dE1hY2hpbmVSZWYgVCkpIFwKKyAgICBtYWNybyhMTFZNVGFyZ2V0UmVmLCBHZXRUYXJnZXRNYWNo
aW5lVGFyZ2V0LCAoTExWTVRhcmdldE1hY2hpbmVSZWYgVCkpIFwKKyAgICBtYWNybyhjaGFyICos
IEdldFRhcmdldE1hY2hpbmVUcmlwbGUsIChMTFZNVGFyZ2V0TWFjaGluZVJlZiBUKSkgXAorICAg
IG1hY3JvKGNoYXIgKiwgR2V0VGFyZ2V0TWFjaGluZUNQVSwgKExMVk1UYXJnZXRNYWNoaW5lUmVm
IFQpKSBcCisgICAgbWFjcm8oY2hhciAqLCBHZXRUYXJnZXRNYWNoaW5lRmVhdHVyZVN0cmluZywg
KExMVk1UYXJnZXRNYWNoaW5lUmVmIFQpKSBcCisgICAgbWFjcm8oTExWTVRhcmdldERhdGFSZWYs
IEdldFRhcmdldE1hY2hpbmVEYXRhLCAoTExWTVRhcmdldE1hY2hpbmVSZWYgVCkpIFwKKyAgICBt
YWNybyhMTFZNQm9vbCwgVGFyZ2V0TWFjaGluZUVtaXRUb0ZpbGUsIChMTFZNVGFyZ2V0TWFjaGlu
ZVJlZiBULCBMTFZNTW9kdWxlUmVmIE0sIGNoYXIgKkZpbGVuYW1lLCBMTFZNQ29kZUdlbkZpbGVU
eXBlIGNvZGVnZW4sIGNoYXIgKipFcnJvck1lc3NhZ2UpKSBcCisgICAgbWFjcm8odm9pZCwgTGlu
a0luSklULCAodm9pZCkpIFwKKyAgICBtYWNybyh2b2lkLCBMaW5rSW5NQ0pJVCwgKHZvaWQpKSBc
CisgICAgbWFjcm8odm9pZCwgTGlua0luSW50ZXJwcmV0ZXIsICh2b2lkKSkgXAorICAgIG1hY3Jv
KExMVk1HZW5lcmljVmFsdWVSZWYsIENyZWF0ZUdlbmVyaWNWYWx1ZU9mSW50LCAoTExWTVR5cGVS
ZWYgVHksIHVuc2lnbmVkIGxvbmcgbG9uZyBOLCBMTFZNQm9vbCBJc1NpZ25lZCkpIFwKKyAgICBt
YWNybyhMTFZNR2VuZXJpY1ZhbHVlUmVmLCBDcmVhdGVHZW5lcmljVmFsdWVPZlBvaW50ZXIsICh2
b2lkICpQKSkgXAorICAgIG1hY3JvKExMVk1HZW5lcmljVmFsdWVSZWYsIENyZWF0ZUdlbmVyaWNW
YWx1ZU9mRmxvYXQsIChMTFZNVHlwZVJlZiBUeSwgZG91YmxlIE4pKSBcCisgICAgbWFjcm8odW5z
aWduZWQsIEdlbmVyaWNWYWx1ZUludFdpZHRoLCAoTExWTUdlbmVyaWNWYWx1ZVJlZiBHZW5WYWxS
ZWYpKSBcCisgICAgbWFjcm8odW5zaWduZWQgbG9uZyBsb25nLCBHZW5lcmljVmFsdWVUb0ludCwg
KExMVk1HZW5lcmljVmFsdWVSZWYgR2VuVmFsLCBMTFZNQm9vbCBJc1NpZ25lZCkpIFwKKyAgICBt
YWNybyh2b2lkICosIEdlbmVyaWNWYWx1ZVRvUG9pbnRlciwgKExMVk1HZW5lcmljVmFsdWVSZWYg
R2VuVmFsKSkgXAorICAgIG1hY3JvKGRvdWJsZSwgR2VuZXJpY1ZhbHVlVG9GbG9hdCwgKExMVk1U
eXBlUmVmIFR5UmVmLCBMTFZNR2VuZXJpY1ZhbHVlUmVmIEdlblZhbCkpIFwKKyAgICBtYWNybyh2
b2lkLCBEaXNwb3NlR2VuZXJpY1ZhbHVlLCAoTExWTUdlbmVyaWNWYWx1ZVJlZiBHZW5WYWwpKSBc
CisgICAgbWFjcm8oTExWTUJvb2wsIENyZWF0ZUV4ZWN1dGlvbkVuZ2luZUZvck1vZHVsZSwgKExM
Vk1FeGVjdXRpb25FbmdpbmVSZWYgKk91dEVFLCBMTFZNTW9kdWxlUmVmIE0sIGNoYXIgKipPdXRF
cnJvcikpIFwKKyAgICBtYWNybyhMTFZNQm9vbCwgQ3JlYXRlSW50ZXJwcmV0ZXJGb3JNb2R1bGUs
IChMTFZNRXhlY3V0aW9uRW5naW5lUmVmICpPdXRJbnRlcnAsIExMVk1Nb2R1bGVSZWYgTSwgY2hh
ciAqKk91dEVycm9yKSkgXAorICAgIG1hY3JvKExMVk1Cb29sLCBDcmVhdGVKSVRDb21waWxlckZv
ck1vZHVsZSwgKExMVk1FeGVjdXRpb25FbmdpbmVSZWYgKk91dEpJVCwgTExWTU1vZHVsZVJlZiBN
LCB1bnNpZ25lZCBPcHRMZXZlbCwgY2hhciAqKk91dEVycm9yKSkgXAorICAgIG1hY3JvKHZvaWQs
IEluaXRpYWxpemVNQ0pJVENvbXBpbGVyT3B0aW9ucywgKHN0cnVjdCBMTFZNTUNKSVRDb21waWxl
ck9wdGlvbnMgKk9wdGlvbnMsIHNpemVfdCBTaXplT2ZPcHRpb25zKSkgXAorICAgIG1hY3JvKExM
Vk1Cb29sLCBDcmVhdGVNQ0pJVENvbXBpbGVyRm9yTW9kdWxlLCAoTExWTUV4ZWN1dGlvbkVuZ2lu
ZVJlZiAqT3V0SklULCBMTFZNTW9kdWxlUmVmIE0sIHN0cnVjdCBMTFZNTUNKSVRDb21waWxlck9w
dGlvbnMgKk9wdGlvbnMsIHNpemVfdCBTaXplT2ZPcHRpb25zLCBjaGFyICoqT3V0RXJyb3IpKSBc
CisgICAgbWFjcm8oTExWTUJvb2wsIENyZWF0ZUV4ZWN1dGlvbkVuZ2luZSwgKExMVk1FeGVjdXRp
b25FbmdpbmVSZWYgKk91dEVFLCBMTFZNTW9kdWxlUHJvdmlkZXJSZWYgTVAsIGNoYXIgKipPdXRF
cnJvcikpIFwKKyAgICBtYWNybyhMTFZNQm9vbCwgQ3JlYXRlSW50ZXJwcmV0ZXIsIChMTFZNRXhl
Y3V0aW9uRW5naW5lUmVmICpPdXRJbnRlcnAsIExMVk1Nb2R1bGVQcm92aWRlclJlZiBNUCwgY2hh
ciAqKk91dEVycm9yKSkgXAorICAgIG1hY3JvKExMVk1Cb29sLCBDcmVhdGVKSVRDb21waWxlciwg
KExMVk1FeGVjdXRpb25FbmdpbmVSZWYgKk91dEpJVCwgTExWTU1vZHVsZVByb3ZpZGVyUmVmIE1Q
LCB1bnNpZ25lZCBPcHRMZXZlbCwgY2hhciAqKk91dEVycm9yKSkgXAorICAgIG1hY3JvKHZvaWQs
IERpc3Bvc2VFeGVjdXRpb25FbmdpbmUsIChMTFZNRXhlY3V0aW9uRW5naW5lUmVmIEVFKSkgXAor
ICAgIG1hY3JvKHZvaWQsIFJ1blN0YXRpY0NvbnN0cnVjdG9ycywgKExMVk1FeGVjdXRpb25Fbmdp
bmVSZWYgRUUpKSBcCisgICAgbWFjcm8odm9pZCwgUnVuU3RhdGljRGVzdHJ1Y3RvcnMsIChMTFZN
RXhlY3V0aW9uRW5naW5lUmVmIEVFKSkgXAorICAgIG1hY3JvKGludCwgUnVuRnVuY3Rpb25Bc01h
aW4sIChMTFZNRXhlY3V0aW9uRW5naW5lUmVmIEVFLCBMTFZNVmFsdWVSZWYgRiwgdW5zaWduZWQg
QXJnQywgY29uc3QgY2hhciAqIGNvbnN0ICpBcmdWLCBjb25zdCBjaGFyICogY29uc3QgKkVudlAp
KSBcCisgICAgbWFjcm8oTExWTUdlbmVyaWNWYWx1ZVJlZiwgUnVuRnVuY3Rpb24sIChMTFZNRXhl
Y3V0aW9uRW5naW5lUmVmIEVFLCBMTFZNVmFsdWVSZWYgRiwgdW5zaWduZWQgTnVtQXJncywgTExW
TUdlbmVyaWNWYWx1ZVJlZiAqQXJncykpIFwKKyAgICBtYWNybyh2b2lkLCBGcmVlTWFjaGluZUNv
ZGVGb3JGdW5jdGlvbiwgKExMVk1FeGVjdXRpb25FbmdpbmVSZWYgRUUsIExMVk1WYWx1ZVJlZiBG
KSkgXAorICAgIG1hY3JvKHZvaWQsIEFkZE1vZHVsZSwgKExMVk1FeGVjdXRpb25FbmdpbmVSZWYg
RUUsIExMVk1Nb2R1bGVSZWYgTSkpIFwKKyAgICBtYWNybyh2b2lkLCBBZGRNb2R1bGVQcm92aWRl
ciwgKExMVk1FeGVjdXRpb25FbmdpbmVSZWYgRUUsIExMVk1Nb2R1bGVQcm92aWRlclJlZiBNUCkp
IFwKKyAgICBtYWNybyhMTFZNQm9vbCwgUmVtb3ZlTW9kdWxlLCAoTExWTUV4ZWN1dGlvbkVuZ2lu
ZVJlZiBFRSwgTExWTU1vZHVsZVJlZiBNLCBMTFZNTW9kdWxlUmVmICpPdXRNb2QsIGNoYXIgKipP
dXRFcnJvcikpIFwKKyAgICBtYWNybyhMTFZNQm9vbCwgUmVtb3ZlTW9kdWxlUHJvdmlkZXIsIChM
TFZNRXhlY3V0aW9uRW5naW5lUmVmIEVFLCBMTFZNTW9kdWxlUHJvdmlkZXJSZWYgTVAsIExMVk1N
b2R1bGVSZWYgKk91dE1vZCwgY2hhciAqKk91dEVycm9yKSkgXAorICAgIG1hY3JvKExMVk1Cb29s
LCBGaW5kRnVuY3Rpb24sIChMTFZNRXhlY3V0aW9uRW5naW5lUmVmIEVFLCBjb25zdCBjaGFyICpO
YW1lLCBMTFZNVmFsdWVSZWYgKk91dEZuKSkgXAorICAgIG1hY3JvKHZvaWQgKiwgUmVjb21waWxl
QW5kUmVsaW5rRnVuY3Rpb24sIChMTFZNRXhlY3V0aW9uRW5naW5lUmVmIEVFLCBMTFZNVmFsdWVS
ZWYgRm4pKSBcCisgICAgbWFjcm8oTExWTVRhcmdldERhdGFSZWYsIEdldEV4ZWN1dGlvbkVuZ2lu
ZVRhcmdldERhdGEsIChMTFZNRXhlY3V0aW9uRW5naW5lUmVmIEVFKSkgXAorICAgIG1hY3JvKHZv
aWQsIEFkZEdsb2JhbE1hcHBpbmcsIChMTFZNRXhlY3V0aW9uRW5naW5lUmVmIEVFLCBMTFZNVmFs
dWVSZWYgR2xvYmFsLCB2b2lkKiBBZGRyKSkgXAorICAgIG1hY3JvKHZvaWQgKiwgR2V0UG9pbnRl
clRvR2xvYmFsLCAoTExWTUV4ZWN1dGlvbkVuZ2luZVJlZiBFRSwgTExWTVZhbHVlUmVmIEdsb2Jh
bCkpIFwKKyAgICBtYWNybyhMTFZNTUNKSVRNZW1vcnlNYW5hZ2VyUmVmLCBDcmVhdGVTaW1wbGVN
Q0pJVE1lbW9yeU1hbmFnZXIsICh2b2lkICpPcGFxdWUsIExMVk1NZW1vcnlNYW5hZ2VyQWxsb2Nh
dGVDb2RlU2VjdGlvbkNhbGxiYWNrIEFsbG9jYXRlQ29kZVNlY3Rpb24sIExMVk1NZW1vcnlNYW5h
Z2VyQWxsb2NhdGVEYXRhU2VjdGlvbkNhbGxiYWNrIEFsbG9jYXRlRGF0YVNlY3Rpb24sIExMVk1N
ZW1vcnlNYW5hZ2VyRmluYWxpemVNZW1vcnlDYWxsYmFjayBGaW5hbGl6ZU1lbW9yeSwgTExWTU1l
bW9yeU1hbmFnZXJEZXN0cm95Q2FsbGJhY2sgRGVzdG9yeSkpIFwKKyAgICBtYWNybyh2b2lkLCBE
aXNwb3NlTUNKSVRNZW1vcnlNYW5hZ2VyLCAoTExWTU1DSklUTWVtb3J5TWFuYWdlclJlZiBNTSkp
IFwKKyAgICBtYWNybyhMTFZNQm9vbCwgVmVyaWZ5TW9kdWxlLCAoTExWTU1vZHVsZVJlZiBNLCBM
TFZNVmVyaWZpZXJGYWlsdXJlQWN0aW9uIEFjdGlvbiwgY2hhciAqKk91dE1lc3NhZ2UpKSBcCisg
ICAgbWFjcm8oTExWTUJvb2wsIFZlcmlmeUZ1bmN0aW9uLCAoTExWTVZhbHVlUmVmIEZuLCBMTFZN
VmVyaWZpZXJGYWlsdXJlQWN0aW9uIEFjdGlvbikpIFwKKyAgICBtYWNybyh2b2lkLCBWaWV3RnVu
Y3Rpb25DRkcsIChMTFZNVmFsdWVSZWYgRm4pKSBcCisgICAgbWFjcm8odm9pZCwgVmlld0Z1bmN0
aW9uQ0ZHT25seSwgKExMVk1WYWx1ZVJlZiBGbikpIFwKKyAgICBtYWNybyhMTFZNRGlzYXNtQ29u
dGV4dFJlZiwgQ3JlYXRlRGlzYXNtLCAoY29uc3QgY2hhciAqVHJpcGxlTmFtZSwgdm9pZCAqRGlz
SW5mbywgaW50IFRhZ1R5cGUsIExMVk1PcEluZm9DYWxsYmFjayBHZXRPcEluZm8sIExMVk1TeW1i
b2xMb29rdXBDYWxsYmFjayBTeW1ib2xMb29rVXApKSBcCisgICAgbWFjcm8oTExWTURpc2FzbUNv
bnRleHRSZWYsIENyZWF0ZURpc2FzbUNQVSwgKGNvbnN0IGNoYXIgKlRyaXBsZSwgY29uc3QgY2hh
ciAqQ1BVLCB2b2lkICpEaXNJbmZvLCBpbnQgVGFnVHlwZSwgTExWTU9wSW5mb0NhbGxiYWNrIEdl
dE9wSW5mbywgTExWTVN5bWJvbExvb2t1cENhbGxiYWNrIFN5bWJvbExvb2tVcCkpIFwKKyAgICBt
YWNybyhpbnQsIFNldERpc2FzbU9wdGlvbnMsIChMTFZNRGlzYXNtQ29udGV4dFJlZiBEQywgdWlu
dDY0X3QgT3B0aW9ucykpIFwKKyAgICBtYWNybyh2b2lkLCBEaXNhc21EaXNwb3NlLCAoTExWTURp
c2FzbUNvbnRleHRSZWYgREMpKSBcCisgICAgbWFjcm8oc2l6ZV90LCBEaXNhc21JbnN0cnVjdGlv
biwgKExMVk1EaXNhc21Db250ZXh0UmVmIERDLCB1aW50OF90ICpCeXRlcywgdWludDY0X3QgQnl0
ZXNTaXplLCB1aW50NjRfdCBQQywgY2hhciAqT3V0U3RyaW5nLCBzaXplX3QgT3V0U3RyaW5nU2l6
ZSkpIFwKKyAgICBtYWNybyh1bnNpZ25lZCwgUG9pbnRlclNpemVGb3JBUywgKExMVk1UYXJnZXRE
YXRhUmVmLCB1bnNpZ25lZCBBUykpIFwKKyAgICBtYWNybyhMTFZNVHlwZVJlZiwgSW50UHRyVHlw
ZUZvckFTLCAoTExWTVRhcmdldERhdGFSZWYsIHVuc2lnbmVkIEFTKSkgXAorICAgIG1hY3JvKExM
Vk1QYXNzTWFuYWdlckJ1aWxkZXJSZWYsIFBhc3NNYW5hZ2VyQnVpbGRlckNyZWF0ZSwgKHZvaWQp
KSBcCisgICAgbWFjcm8odm9pZCwgUGFzc01hbmFnZXJCdWlsZGVyRGlzcG9zZSwgKExMVk1QYXNz
TWFuYWdlckJ1aWxkZXJSZWYgUE1CKSkgXAorICAgIG1hY3JvKHZvaWQsIFBhc3NNYW5hZ2VyQnVp
bGRlclNldE9wdExldmVsLCAoTExWTVBhc3NNYW5hZ2VyQnVpbGRlclJlZiBQTUIsIHVuc2lnbmVk
IE9wdExldmVsKSkgXAorICAgIG1hY3JvKHZvaWQsIFBhc3NNYW5hZ2VyQnVpbGRlclNldFNpemVM
ZXZlbCwgKExMVk1QYXNzTWFuYWdlckJ1aWxkZXJSZWYgUE1CLCB1bnNpZ25lZCBTaXplTGV2ZWwp
KSBcCisgICAgbWFjcm8odm9pZCwgUGFzc01hbmFnZXJCdWlsZGVyU2V0RGlzYWJsZVVuaXRBdEFU
aW1lLCAoTExWTVBhc3NNYW5hZ2VyQnVpbGRlclJlZiBQTUIsIExMVk1Cb29sIFZhbHVlKSkgXAor
ICAgIG1hY3JvKHZvaWQsIFBhc3NNYW5hZ2VyQnVpbGRlclNldERpc2FibGVVbnJvbGxMb29wcywg
KExMVk1QYXNzTWFuYWdlckJ1aWxkZXJSZWYgUE1CLCBMTFZNQm9vbCBWYWx1ZSkpIFwKKyAgICBt
YWNybyh2b2lkLCBQYXNzTWFuYWdlckJ1aWxkZXJTZXREaXNhYmxlU2ltcGxpZnlMaWJDYWxscywg
KExMVk1QYXNzTWFuYWdlckJ1aWxkZXJSZWYgUE1CLCBMTFZNQm9vbCBWYWx1ZSkpIFwKKyAgICBt
YWNybyh2b2lkLCBQYXNzTWFuYWdlckJ1aWxkZXJVc2VJbmxpbmVyV2l0aFRocmVzaG9sZCwgKExM
Vk1QYXNzTWFuYWdlckJ1aWxkZXJSZWYgUE1CLCB1bnNpZ25lZCBUaHJlc2hvbGQpKSBcCisgICAg
bWFjcm8odm9pZCwgUGFzc01hbmFnZXJCdWlsZGVyUG9wdWxhdGVGdW5jdGlvblBhc3NNYW5hZ2Vy
LCAoTExWTVBhc3NNYW5hZ2VyQnVpbGRlclJlZiBQTUIsIExMVk1QYXNzTWFuYWdlclJlZiBQTSkp
IFwKKyAgICBtYWNybyh2b2lkLCBQYXNzTWFuYWdlckJ1aWxkZXJQb3B1bGF0ZU1vZHVsZVBhc3NN
YW5hZ2VyLCAoTExWTVBhc3NNYW5hZ2VyQnVpbGRlclJlZiBQTUIsIExMVk1QYXNzTWFuYWdlclJl
ZiBQTSkpIFwKKyAgICBtYWNybyh2b2lkLCBQYXNzTWFuYWdlckJ1aWxkZXJQb3B1bGF0ZUxUT1Bh
c3NNYW5hZ2VyLCAoTExWTVBhc3NNYW5hZ2VyQnVpbGRlclJlZiBQTUIsIExMVk1QYXNzTWFuYWdl
clJlZiBQTSwgTExWTUJvb2wgSW50ZXJuYWxpemUsIExMVk1Cb29sIFJ1bklubGluZXIpKSBcCisg
ICAgbWFjcm8odm9pZCwgQWRkQWdncmVzc2l2ZURDRVBhc3MsIChMTFZNUGFzc01hbmFnZXJSZWYg
UE0pKSBcCisgICAgbWFjcm8odm9pZCwgQWRkQ0ZHU2ltcGxpZmljYXRpb25QYXNzLCAoTExWTVBh
c3NNYW5hZ2VyUmVmIFBNKSkgXAorICAgIG1hY3JvKHZvaWQsIEFkZERlYWRTdG9yZUVsaW1pbmF0
aW9uUGFzcywgKExMVk1QYXNzTWFuYWdlclJlZiBQTSkpIFwKKyAgICBtYWNybyh2b2lkLCBBZGRH
Vk5QYXNzLCAoTExWTVBhc3NNYW5hZ2VyUmVmIFBNKSkgXAorICAgIG1hY3JvKHZvaWQsIEFkZElu
ZFZhclNpbXBsaWZ5UGFzcywgKExMVk1QYXNzTWFuYWdlclJlZiBQTSkpIFwKKyAgICBtYWNybyh2
b2lkLCBBZGRJbnN0cnVjdGlvbkNvbWJpbmluZ1Bhc3MsIChMTFZNUGFzc01hbmFnZXJSZWYgUE0p
KSBcCisgICAgbWFjcm8odm9pZCwgQWRkSnVtcFRocmVhZGluZ1Bhc3MsIChMTFZNUGFzc01hbmFn
ZXJSZWYgUE0pKSBcCisgICAgbWFjcm8odm9pZCwgQWRkTElDTVBhc3MsIChMTFZNUGFzc01hbmFn
ZXJSZWYgUE0pKSBcCisgICAgbWFjcm8odm9pZCwgQWRkTG9vcERlbGV0aW9uUGFzcywgKExMVk1Q
YXNzTWFuYWdlclJlZiBQTSkpIFwKKyAgICBtYWNybyh2b2lkLCBBZGRMb29wSWRpb21QYXNzLCAo
TExWTVBhc3NNYW5hZ2VyUmVmIFBNKSkgXAorICAgIG1hY3JvKHZvaWQsIEFkZExvb3BSb3RhdGVQ
YXNzLCAoTExWTVBhc3NNYW5hZ2VyUmVmIFBNKSkgXAorICAgIG1hY3JvKHZvaWQsIEFkZExvb3BV
bnJvbGxQYXNzLCAoTExWTVBhc3NNYW5hZ2VyUmVmIFBNKSkgXAorICAgIG1hY3JvKHZvaWQsIEFk
ZExvb3BVbnN3aXRjaFBhc3MsIChMTFZNUGFzc01hbmFnZXJSZWYgUE0pKSBcCisgICAgbWFjcm8o
dm9pZCwgQWRkTWVtQ3B5T3B0UGFzcywgKExMVk1QYXNzTWFuYWdlclJlZiBQTSkpIFwKKyAgICBt
YWNybyh2b2lkLCBBZGRQYXJ0aWFsbHlJbmxpbmVMaWJDYWxsc1Bhc3MsIChMTFZNUGFzc01hbmFn
ZXJSZWYgUE0pKSBcCisgICAgbWFjcm8odm9pZCwgQWRkUHJvbW90ZU1lbW9yeVRvUmVnaXN0ZXJQ
YXNzLCAoTExWTVBhc3NNYW5hZ2VyUmVmIFBNKSkgXAorICAgIG1hY3JvKHZvaWQsIEFkZFJlYXNz
b2NpYXRlUGFzcywgKExMVk1QYXNzTWFuYWdlclJlZiBQTSkpIFwKKyAgICBtYWNybyh2b2lkLCBB
ZGRTQ0NQUGFzcywgKExMVk1QYXNzTWFuYWdlclJlZiBQTSkpIFwKKyAgICBtYWNybyh2b2lkLCBB
ZGRTY2FsYXJSZXBsQWdncmVnYXRlc1Bhc3MsIChMTFZNUGFzc01hbmFnZXJSZWYgUE0pKSBcCisg
ICAgbWFjcm8odm9pZCwgQWRkU2NhbGFyUmVwbEFnZ3JlZ2F0ZXNQYXNzU1NBLCAoTExWTVBhc3NN
YW5hZ2VyUmVmIFBNKSkgXAorICAgIG1hY3JvKHZvaWQsIEFkZFNjYWxhclJlcGxBZ2dyZWdhdGVz
UGFzc1dpdGhUaHJlc2hvbGQsIChMTFZNUGFzc01hbmFnZXJSZWYgUE0sIGludCBUaHJlc2hvbGQp
KSBcCisgICAgbWFjcm8odm9pZCwgQWRkU2ltcGxpZnlMaWJDYWxsc1Bhc3MsIChMTFZNUGFzc01h
bmFnZXJSZWYgUE0pKSBcCisgICAgbWFjcm8odm9pZCwgQWRkVGFpbENhbGxFbGltaW5hdGlvblBh
c3MsIChMTFZNUGFzc01hbmFnZXJSZWYgUE0pKSBcCisgICAgbWFjcm8odm9pZCwgQWRkQ29uc3Rh
bnRQcm9wYWdhdGlvblBhc3MsIChMTFZNUGFzc01hbmFnZXJSZWYgUE0pKSBcCisgICAgbWFjcm8o
dm9pZCwgQWRkRGVtb3RlTWVtb3J5VG9SZWdpc3RlclBhc3MsIChMTFZNUGFzc01hbmFnZXJSZWYg
UE0pKSBcCisgICAgbWFjcm8odm9pZCwgQWRkVmVyaWZpZXJQYXNzLCAoTExWTVBhc3NNYW5hZ2Vy
UmVmIFBNKSkgXAorICAgIG1hY3JvKHZvaWQsIEFkZENvcnJlbGF0ZWRWYWx1ZVByb3BhZ2F0aW9u
UGFzcywgKExMVk1QYXNzTWFuYWdlclJlZiBQTSkpIFwKKyAgICBtYWNybyh2b2lkLCBBZGRFYXJs
eUNTRVBhc3MsIChMTFZNUGFzc01hbmFnZXJSZWYgUE0pKSBcCisgICAgbWFjcm8odm9pZCwgQWRk
TG93ZXJFeHBlY3RJbnRyaW5zaWNQYXNzLCAoTExWTVBhc3NNYW5hZ2VyUmVmIFBNKSkgXAorICAg
IG1hY3JvKHZvaWQsIEFkZFR5cGVCYXNlZEFsaWFzQW5hbHlzaXNQYXNzLCAoTExWTVBhc3NNYW5h
Z2VyUmVmIFBNKSkgXAorICAgIG1hY3JvKHZvaWQsIEFkZEJhc2ljQWxpYXNBbmFseXNpc1Bhc3Ms
IChMTFZNUGFzc01hbmFnZXJSZWYgUE0pKQorCisjZW5kaWYgLy8gTExWTUFQSUZ1bmN0aW9uc19o
CisKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbHZtL0xMVk1IZWFkZXJzLmgKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2xsdm0vTExWTUhlYWRlcnMuaAkocmV2aXNp
b24gMCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbHZtL0xMVk1IZWFkZXJzLmgJKHdvcmtp
bmcgY29weSkKQEAgLTAsMCArMSw2NCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMyBBcHBs
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNT
IE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRI
RQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBG
T1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQg
U0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQ
Uk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwg
REFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLiAKKyAqLworCisjaWZuZGVmIExMVk1IZWFkZXJzX2gKKyNkZWZpbmUgTExWTUhlYWRl
cnNfaAorCisjaWYgSEFWRShMTFZNKQorCisvLyBJdCBpcyBuZWNlc3NhcnkgdG8gaW5jbHVkZSBM
TFZNIGhlYWRlcnMgdmlhIHRoaXMgZmlsZSwgYmVjYXVzZToKKy8vIC0gTExWTSByZXF1aXJlcyBk
ZWZpbmluZyB0aGluZ3MgdGhhdCB3ZSBkb24ndCBub3JtYWxseSBkZWZpbmUsIGFuZAorLy8gLSBM
TFZNIGluY2x1ZGVzIGl0cyBDKysgaGVhZGVycyBmcm9tIGl0cyBDIGhlYWRlcnMsIGFuZCBpdHMg
QysrCisvLyAgIGhlYWRlcnMgZG9uJ3QgY29tcGlsZSBjbGVhbmx5IHdpdGggb3VyIHdhcm5pbmdz
LgorCisjZGVmaW5lIF9fU1REQ19MSU1JVF9NQUNST1MKKyNkZWZpbmUgX19TVERDX0NPTlNUQU5U
X01BQ1JPUworCisjaWYgQ09NUElMRVIoQ0xBTkcpCisjcHJhZ21hIGNsYW5nIGRpYWdub3N0aWMg
cHVzaAorI3ByYWdtYSBjbGFuZyBkaWFnbm9zdGljIGlnbm9yZWQgIi1XbWlzc2luZy1ub3JldHVy
biIKKyNwcmFnbWEgY2xhbmcgZGlhZ25vc3RpYyBpZ25vcmVkICItV3VudXNlZC1wYXJhbWV0ZXIi
CisjZW5kaWYgLy8gQ09NUElMRVIoQ0xBTkcpCisKKyNpbmNsdWRlIDxsbHZtLWMvQW5hbHlzaXMu
aD4KKyNpbmNsdWRlIDxsbHZtLWMvQ29yZS5oPgorI2luY2x1ZGUgPGxsdm0tYy9EaXNhc3NlbWJs
ZXIuaD4KKyNpbmNsdWRlIDxsbHZtLWMvRXhlY3V0aW9uRW5naW5lLmg+CisjaW5jbHVkZSA8bGx2
bS1jL1RhcmdldC5oPgorI2luY2x1ZGUgPGxsdm0tYy9UcmFuc2Zvcm1zL1Bhc3NNYW5hZ2VyQnVp
bGRlci5oPgorI2luY2x1ZGUgPGxsdm0tYy9UcmFuc2Zvcm1zL1NjYWxhci5oPgorCisjaWYgQ09N
UElMRVIoQ0xBTkcpCisjcHJhZ21hIGNsYW5nIGRpYWdub3N0aWMgcG9wCisjZW5kaWYgLy8gQ09N
UElMRVIoQ0xBTkcpCisKKyN1bmRlZiBfX1NURENfTElNSVRfTUFDUk9TCisjdW5kZWYgX19TVERD
X0NPTlNUQU5UX01BQ1JPUworCisjZW5kaWYgLy8gSEFWRShMTFZNKQorCisjZW5kaWYgLy8gTExW
TUhlYWRlcnNfaAorCisKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbHZtL2xpYnJhcnkv
TExWTUFuY2hvci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2xsdm0v
bGlicmFyeS9MTFZNQW5jaG9yLmNwcAkocmV2aXNpb24gMCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbHZtL2xpYnJhcnkvTExWTUFuY2hvci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTAsMCAr
MSwzNSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMyBBcHBsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6Cisg
KiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUK
KyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBB
UFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisg
KiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBP
UgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJ
VFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBU
SEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKyAqLworCisj
aW5jbHVkZSAiY29uZmlnX2xsdm0uaCIKKworI2lmIEhBVkUoTExWTSkKKworLy8gVGhpcyBpcyBh
IGhhY2sgZm9yIGVuc3VyaW5nIHRoYXQgdGhlIGJ1aWxkIHN5c3RlbSByZWxpbmtzIEphdmFTY3Jp
cHRDb3JlIGlmIGFueQorLy8gb2YgdGhlIExMVk0gbGlicmFyaWVzIGFyZSBrbm93biB0byBoYXZl
IGNoYW5nZWQuCisjaW5jbHVkZSAiV2ViS2l0TExWTUxpYnJhcnlUb2tlbi5oIgorCisjZW5kaWYg
Ly8gSEFWRShMTFZNKQorCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvbGx2bS9saWJyYXJ5
L0xMVk1FeHBvcnRzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvbGx2
bS9saWJyYXJ5L0xMVk1FeHBvcnRzLmNwcAkocmV2aXNpb24gMCkKKysrIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbHZtL2xpYnJhcnkvTExWTUV4cG9ydHMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0w
LDAgKzEsNTEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTMgQXBwbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0
OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4g
dGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB
UgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElO
Qy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERB
TUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0Yg
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBB
TlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisgKi8K
KworI2luY2x1ZGUgImNvbmZpZ19sbHZtLmgiCisKKyNpZiBIQVZFKExMVk0pCisKKyNpbmNsdWRl
ICJMTFZNQVBJLmgiCisKK2V4dGVybiAiQyIgV1RGX0VYUE9SVF9QUklWQVRFIEpTQzo6TExWTUFQ
SSogaW5pdGlhbGl6ZUFuZEdldEpTQ0xMVk1BUEkoKTsKKworZXh0ZXJuICJDIiBKU0M6OkxMVk1B
UEkqIGluaXRpYWxpemVBbmRHZXRKU0NMTFZNQVBJKCkKK3sKKyAgICBMTFZNTGlua0luTUNKSVQo
KTsKKyAgICBMTFZNSW5pdGlhbGl6ZU5hdGl2ZVRhcmdldCgpOworICAgIExMVk1Jbml0aWFsaXpl
WDg2QXNtUHJpbnRlcigpOworICAgIExMVk1Jbml0aWFsaXplWDg2RGlzYXNzZW1ibGVyKCk7Cisg
ICAgCisgICAgSlNDOjpMTFZNQVBJKiByZXN1bHQgPSBuZXcgSlNDOjpMTFZNQVBJOworICAgIAor
I2RlZmluZSBMTFZNX0FQSV9GVU5DVElPTl9BU1NJR05NRU5UKHJldHVyblR5cGUsIG5hbWUsIHNp
Z25hdHVyZSkgXAorICAgIHJlc3VsdC0+bmFtZSA9IExMVk0jI25hbWU7CisgICAgRk9SX0VBQ0hf
TExWTV9BUElfRlVOQ1RJT04oTExWTV9BUElfRlVOQ1RJT05fQVNTSUdOTUVOVCk7CisjdW5kZWYg
TExWTV9BUElfRlVOQ1RJT05fQVNTSUdOTUVOVAorICAgIAorICAgIHJldHVybiByZXN1bHQ7Cit9
CisKKyNlbmRpZiAvLyBIQVZFKExMVk0pCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvbGx2
bS9saWJyYXJ5L0xMVk1PdmVycmlkZXMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbHZtL2xpYnJhcnkvTExWTU92ZXJyaWRlcy5jcHAJKHJldmlzaW9uIDApCisrKyBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGx2bS9saWJyYXJ5L0xMVk1PdmVycmlkZXMuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC0wLDAgKzEsMzMgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTMgQXBw
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVT
UyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBU
SEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1Mg
Rk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5U
IFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBD
T05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICog
UFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
IERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4gCisgKi8KKworI2luY2x1ZGUgImNvbmZpZ19sbHZtLmgiCisKKyNpZiBIQVZFKExM
Vk0pCisKK2V4dGVybiAiQyIgaW50IF9fY3hhX2F0ZXhpdCgpOworZXh0ZXJuICJDIiBpbnQgX19j
eGFfYXRleGl0KCkgeyByZXR1cm4gMDsgfQorCisjZW5kaWYgLy8gSEFWRShMTFZNKQpJbmRleDog
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsdm0vbGlicmFyeS9jb25maWdfbGx2bS5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbHZtL2xpYnJhcnkvY29uZmlnX2xsdm0uaAko
cmV2aXNpb24gMCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbHZtL2xpYnJhcnkvY29uZmln
X2xsdm0uaAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDI4IEBACisvKgorICogQ29weXJpZ2h0
IChDKSAyMDEzIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisg
KiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisg
KiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBB
TlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQu
ICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElB
QkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVY
RU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorICovCisKKyNpbmNsdWRlIDx3dGYvUGxhdGZvcm0uaD4K
KyNpbmNsdWRlIDx3dGYvRXhwb3J0TWFjcm9zLmg+CisKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0luaXRpYWxpemVUaHJlYWRpbmcuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0luaXRpYWxpemVUaHJlYWRpbmcuY3BwCShyZXZpc2lv
biAxNTcyMDQpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Jbml0aWFsaXplVGhy
ZWFkaW5nLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzQsMTMgKzM0LDEzIEBACiAjaW5jbHVkZSAi
SGVhcFN0YXRpc3RpY3MuaCIKICNpbmNsdWRlICJPcHRpb25zLmgiCiAjaW5jbHVkZSAiSWRlbnRp
Zmllci5oIgorI2luY2x1ZGUgIkluaXRpYWxpemVMTFZNLmgiCiAjaW5jbHVkZSAiSlNEYXRlTWF0
aC5oIgogI2luY2x1ZGUgIkpTR2xvYmFsT2JqZWN0LmgiCiAjaW5jbHVkZSAiSlNMb2NrLmgiCiAj
aW5jbHVkZSAiTExJbnREYXRhLmgiCiAjaW5jbHVkZSAiV3JpdGVCYXJyaWVyLmgiCiAjaW5jbHVk
ZSA8d3RmL2R0b2EuaD4KLSNpbmNsdWRlIDx3dGYvTExWTUhlYWRlcnMuaD4KICNpbmNsdWRlIDx3
dGYvVGhyZWFkaW5nLmg+CiAjaW5jbHVkZSA8d3RmL2R0b2EvY2FjaGVkLXBvd2Vycy5oPgogCkBA
IC03MCwyNCArNzAsNiBAQCBzdGF0aWMgdm9pZCBpbml0aWFsaXplVGhyZWFkaW5nT25jZSgpCiAj
aWYgRU5BQkxFKExMSU5UKQogICAgIExMSW50Ojppbml0aWFsaXplKCk7CiAjZW5kaWYKLSNpZiBI
QVZFKExMVk0pCi0gICAgYm9vbCBmdGwgPSBmYWxzZTsKLSAgICBib29sIGRpc2Fzc2VtYmxlciA9
IGZhbHNlOwotI2lmIEVOQUJMRShGVExfSklUKQotICAgIGZ0bCA9IHRydWU7Ci0jZW5kaWYKLSNp
ZiBVU0UoTExWTV9ESVNBU1NFTUJMRVIpCi0gICAgZGlzYXNzZW1ibGVyID0gdHJ1ZTsKLSNlbmRp
ZgotICAgIGlmIChmdGwpCi0gICAgICAgIExMVk1MaW5rSW5NQ0pJVCgpOwotICAgIGlmIChmdGwg
fHwgZGlzYXNzZW1ibGVyKQotICAgICAgICBMTFZNSW5pdGlhbGl6ZU5hdGl2ZVRhcmdldCgpOwot
ICAgIGlmIChmdGwpCi0gICAgICAgIExMVk1Jbml0aWFsaXplWDg2QXNtUHJpbnRlcigpOwotICAg
IGlmIChkaXNhc3NlbWJsZXIpCi0gICAgICAgIExMVk1Jbml0aWFsaXplWDg2RGlzYXNzZW1ibGVy
KCk7Ci0jZW5kaWYgLy8gSEFWRShMTFZNKQogfQogCiB2b2lkIGluaXRpYWxpemVUaHJlYWRpbmco
KQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvT3B0aW9ucy5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL09wdGlvbnMuaAkocmV2aXNpb24g
MTU3MjA0KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvT3B0aW9ucy5oCSh3b3Jr
aW5nIGNvcHkpCkBAIC0yMDUsOSArMjA1LDcgQEAgdHlwZWRlZiBPcHRpb25SYW5nZSBvcHRpb25S
YW5nZTsKICAgICB2KGJvb2wsIGxvZ0dDLCBmYWxzZSkgXAogICAgIHYodW5zaWduZWQsIGdjTWF4
SGVhcFNpemUsIDApIFwKICAgICB2KGJvb2wsIHJlY29yZEdDUGF1c2VUaW1lcywgZmFsc2UpIFwK
LSAgICB2KGJvb2wsIGxvZ0hlYXBTdGF0aXN0aWNzQXRFeGl0LCBmYWxzZSkgXAotICAgIFwKLSAg
ICB2KGJvb2wsIG5ldmVyRGVsZXRlVk1JbkNvbW1hbmRMaW5lLCBmYWxzZSkKKyAgICB2KGJvb2ws
IGxvZ0hlYXBTdGF0aXN0aWNzQXRFeGl0LCBmYWxzZSkKIAogY2xhc3MgT3B0aW9ucyB7CiBwdWJs
aWM6CkluZGV4OiBTb3VyY2UvV1RGL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV1RG
L0NoYW5nZUxvZwkocmV2aXNpb24gMTU3MjA0KQorKysgU291cmNlL1dURi9DaGFuZ2VMb2cJKHdv
cmtpbmcgY29weSkKQEAgLTEsMyArMSwyMCBAQAorMjAxMy0xMC0wOSAgRmlsaXAgUGl6bG8gIDxm
cGl6bG9AYXBwbGUuY29tPgorCisgICAgICAgIEZUTDogU29mdC1saW5rIExMVk0gYXMgYSB3b3Jr
YXJvdW5kIGZvciBMTFZNJ3Mgc3RhdGljIGluaXRpYWxpemVycyBhbmQgZXhpdC10aW1lIGRlc3Ry
dWN0b3JzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
MjI1NjYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKyAgICAgICAgCisg
ICAgICAgIFJlbW92ZSBhbGwgTExWTSBzdHVmZiBmcm9tIFdURiBzaW5jZSB0byBnZXQgTExWTSB5
b3UgbmVlZCB0byBzb2Z0LWxpbmsgYW5kIGl0J3MKKyAgICAgICAgZW50aXJlbHkgdGhlIHJlc3Bv
bnNpYmlsaXR5IG9mIEpTQyB0byBkbyB0aGF0LgorICAgICAgICAKKyAgICAgICAgQWxzbyBmaXhl
ZCBhbiBleHBvcnQgZ29vZiB0aGF0IEkgZm91bmQgYWZ0ZXIgZml4aW5nIHRoZSB3ZWFrIHRoaW5n
eSBzY3JpcHQgaW4gSlNDLgorCisgICAgICAgICogV1RGLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2o6CisgICAgICAgICogd3RmL0xMVk1IZWFkZXJzLmg6IFJlbW92ZWQuCisgICAgICAgICogd3Rm
L3RleHQvQ1N0cmluZy5oOgorICAgICAgICAoV1RGOjpDU3RyaW5nSGFzaDo6aGFzaCk6CisKIDIw
MTMtMTAtMDkgIE1pY2hhZWwgU2Fib2ZmICA8bXNhYm9mZkBhcHBsZS5jb20+CiAKICAgICAgICAg
Q2hhbmdlIHRvIHN0ZDo6dW5pcXVlX3B0ciBicmVha3Mgd3RmL0RhdGFMb2cuY3BwIHdoZW4gREFU
QV9MT0dfVE9fRklMRSBzZXQgdG8gMQpJbmRleDogU291cmNlL1dURi9XVEYueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvago9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV1RGL1dURi54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qCShyZXZpc2lvbiAxNTcyMDQpCisrKyBTb3VyY2UvV1RGL1dURi54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qCSh3b3JraW5nIGNvcHkpCkBAIC0zMzAsNyArMzMwLDYgQEAKIAkJ
OUJEOEY0MEExNzZDMkFEODAwMDJEODY1IC8qIEF0b21pY1N0cmluZ1RhYmxlLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IEF0b21pY1N0cmluZ1RhYmxlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CUE3MERBMDgyMTc5OUYwNEQwMDUyOUE5QiAvKiBJbnNlcnRpb24uaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gSW5zZXJ0aW9uLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCUE3MERBMDgzMTc5OUYwNEQwMDUyOUE5QiAvKiBMaXN0RHVtcC5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBMaXN0RHVtcC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwotCQlBNzM2QjM1ODE3OTlFMTFBMDBDNkYwNUUgLyogTExWTUhlYWRlcnMuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gTExWTUhlYWRlcnMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTc0ODc0
NEYxN0EwQkRBRTAwRkEwNENCIC8qIFNpeENoYXJhY3Rlckhhc2guY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU2l4Q2hhcmFjdGVySGFzaC5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCUE3NDg3NDUwMTdBMEJEQUUwMEZBMDRDQiAvKiBTaXhDaGFyYWN0
ZXJIYXNoLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNpeENoYXJhY3Rlckhh
c2guaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTc0ODc0NTExN0EwQkRBRTAwRkEw
NENCIC8qIFN0cmluZ0hhc2hEdW1wQ29udGV4dC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBTdHJpbmdIYXNoRHVtcENvbnRleHQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKQEAgLTY3Miw3ICs2NzEsNiBAQAogCQkJCUE3MERBMDgyMTc5OUYwNEQwMDUyOUE5QiAvKiBJ
bnNlcnRpb24uaCAqLywKIAkJCQlBNzBEQTA4MzE3OTlGMDREMDA1MjlBOUIgLyogTGlzdER1bXAu
aCAqLywKIAkJCQlBOEE0NzJDMTE1MUE4MjVBMDA0MTIzRkYgLyogTGlzdEhhc2hTZXQuaCAqLywK
LQkJCQlBNzM2QjM1ODE3OTlFMTFBMDBDNkYwNUUgLyogTExWTUhlYWRlcnMuaCAqLywKIAkJCQlB
OEE0NzJDMzE1MUE4MjVBMDA0MTIzRkYgLyogTG9ja2VyLmggKi8sCiAJCQkJQThBNDcyQ0ExNTFB
ODI1QjAwNDEyM0ZGIC8qIE1ENS5jcHAgKi8sCiAJCQkJQThBNDcyQ0IxNTFBODI1QjAwNDEyM0ZG
IC8qIE1ENS5oICovLApJbmRleDogU291cmNlL1dURi93dGYvTExWTUhlYWRlcnMuaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV1RGL3d0Zi9MTFZNSGVhZGVycy5oCShyZXZpc2lvbiAxNTcyMDQpCisr
KyBTb3VyY2UvV1RGL3d0Zi9MTFZNSGVhZGVycy5oCSh3b3JraW5nIGNvcHkpCkBAIC0xLDYyICsw
LDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTMgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICog
MS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0g
KiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQ
TEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQotICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKLSAqIElNUExJRUQgV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICog
UFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IK
LSAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLCBTUEVDSUFMLAotICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCi0gKiBQUk9GSVRT
OyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhF
T1JZCi0gKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCi0gKi8KLQotI2lm
bmRlZiBMTFZNSGVhZGVyc19oCi0jZGVmaW5lIExMVk1IZWFkZXJzX2gKLQotI2luY2x1ZGUgPHd0
Zi9QbGF0Zm9ybS5oPgotCi0jaWYgSEFWRShMTFZNKQotCi0vLyBJdCBpcyBuZWNlc3NhcnkgdG8g
aW5jbHVkZSBMTFZNIGhlYWRlcnMgdmlhIHRoaXMgZmlsZSwgYmVjYXVzZToKLS8vIC0gTExWTSBy
ZXF1aXJlcyBkZWZpbmluZyB0aGluZ3MgdGhhdCB3ZSBkb24ndCBub3JtYWxseSBkZWZpbmUsIGFu
ZAotLy8gLSBMTFZNIGluY2x1ZGVzIGl0cyBDKysgaGVhZGVycyBmcm9tIGl0cyBDIGhlYWRlcnMs
IGFuZCBpdHMgQysrCi0vLyAgIGhlYWRlcnMgZG9uJ3QgY29tcGlsZSBjbGVhbmx5IHdpdGggb3Vy
IHdhcm5pbmdzLgotCi0jdW5kZWYgX19TVERDX0xJTUlUX01BQ1JPUwotI3VuZGVmIF9fU1REQ19D
T05TVEFOVF9NQUNST1MKLSNkZWZpbmUgX19TVERDX0xJTUlUX01BQ1JPUwotI2RlZmluZSBfX1NU
RENfQ09OU1RBTlRfTUFDUk9TCi0KLSNpZiBDT01QSUxFUihDTEFORykKLSNwcmFnbWEgY2xhbmcg
ZGlhZ25vc3RpYyBwdXNoCi0jcHJhZ21hIGNsYW5nIGRpYWdub3N0aWMgaWdub3JlZCAiLVdtaXNz
aW5nLW5vcmV0dXJuIgotI3ByYWdtYSBjbGFuZyBkaWFnbm9zdGljIGlnbm9yZWQgIi1XdW51c2Vk
LXBhcmFtZXRlciIKLSNlbmRpZgotCi0jaW5jbHVkZSA8bGx2bS1jL0FuYWx5c2lzLmg+Ci0jaW5j
bHVkZSA8bGx2bS1jL0NvcmUuaD4KLSNpbmNsdWRlIDxsbHZtLWMvRGlzYXNzZW1ibGVyLmg+Ci0j
aW5jbHVkZSA8bGx2bS1jL0V4ZWN1dGlvbkVuZ2luZS5oPgotI2luY2x1ZGUgPGxsdm0tYy9UYXJn
ZXQuaD4KLSNpbmNsdWRlIDxsbHZtLWMvVHJhbnNmb3Jtcy9QYXNzTWFuYWdlckJ1aWxkZXIuaD4K
LQotI2lmIENPTVBJTEVSKENMQU5HKQotI3ByYWdtYSBjbGFuZyBkaWFnbm9zdGljIHBvcAotI2Vu
ZGlmCi0KLSNlbmRpZiAvLyBIQVZFKExMVk0pCi0KLSNlbmRpZiAvLyBMTFZNSGVhZGVyc19oCklu
ZGV4OiBTb3VyY2UvV1RGL3d0Zi90ZXh0L0NTdHJpbmcuaAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V1RGL3d0Zi90ZXh0L0NTdHJpbmcuaAkocmV2aXNpb24gMTU3MjA0KQorKysgU291cmNlL1dURi93
dGYvdGV4dC9DU3RyaW5nLmgJKHdvcmtpbmcgY29weSkKQEAgLTk0LDcgKzk0LDcgQEAgaW5saW5l
IGJvb2wgb3BlcmF0b3IhPShjb25zdCBDU3RyaW5nJiBhLAogYm9vbCBvcGVyYXRvcjwoY29uc3Qg
Q1N0cmluZyYgYSwgY29uc3QgQ1N0cmluZyYgYik7CiAKIHN0cnVjdCBDU3RyaW5nSGFzaCB7Ci0g
ICAgV1RGX0VYUE9SVF9QUklWQVRFIHN0YXRpYyB1bnNpZ25lZCBoYXNoKGNvbnN0IENTdHJpbmcm
IHN0cmluZykgeyByZXR1cm4gc3RyaW5nLmhhc2goKTsgfQorICAgIHN0YXRpYyB1bnNpZ25lZCBo
YXNoKGNvbnN0IENTdHJpbmcmIHN0cmluZykgeyByZXR1cm4gc3RyaW5nLmhhc2goKTsgfQogICAg
IFdURl9FWFBPUlRfUFJJVkFURSBzdGF0aWMgYm9vbCBlcXVhbChjb25zdCBDU3RyaW5nJiBhLCBj
b25zdCBDU3RyaW5nJiBiKTsKICAgICBzdGF0aWMgY29uc3QgYm9vbCBzYWZlVG9Db21wYXJlVG9F
bXB0eU9yRGVsZXRlZCA9IHRydWU7CiB9Owo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>213845</attachid>
            <date>2013-10-09 20:21:27 -0700</date>
            <delta_ts>2013-10-10 08:38:54 -0700</delta_ts>
            <desc>the patch</desc>
            <filename>blah.patch</filename>
            <type>text/plain</type>
            <size>159363</size>
            <attacher name="Filip Pizlo">fpizlo</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTU3MjA1KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE1MCBA
QAorMjAxMy0xMC0wOSAgRmlsaXAgUGl6bG8gIDxmcGl6bG9AYXBwbGUuY29tPgorCisgICAgICAg
IEZUTDogU29mdC1saW5rIExMVk0gYXMgYSB3b3JrYXJvdW5kIGZvciBMTFZNJ3Mgc3RhdGljIGlu
aXRpYWxpemVycyBhbmQgZXhpdC10aW1lIGRlc3RydWN0b3JzCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjI1NjYKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKyAgICAgICAgCisgICAgICAgIFRoZSBKU0MgcHJvamVjdCBub3cg
YnVpbGRzIGEgbGlibGx2bUZvckpTQy5keWxpYi4gSWYgRlRMIGlzIGVuYWJsZWQsIHRoaXMKKyAg
ICAgICAgZ2V0cyBjb3BpZWQgaW50byBKYXZhU2NyaXB0Q29yZS5mcmFtZXdvcmsvVmVyc2lvbnMv
QS9MaWJyYXJpZXMuIEpTQyB3aWxsCisgICAgICAgIGxvYWQgdGhlIGR5bGliIGJ5IGZpbmRpbmcg
aXQgdXNpbmcgTlNCdW5kbGUgQVBJcyBhbmQgdGhlbiBkb2luZyBkbG9wZW4oKS4KKyAgICAgICAg
VGhhdCB3aWxsIG9ubHkgaGFwcGVuIGxhemlseSwgd2hlbiBzb21ldGhpbmcgaGFwcGVucyB0aGF0
IHJlcXVpcmVzIExMVk0uCisgICAgICAgIAorICAgICAgICBUaGlzIG1vc3RseSB0YWtlcyBjYXJl
IG9mIExMVk0gc3RhdGljIGluaXRpYWxpemF0aW9uIG92ZXJoZWFkIGJ5IGRlZmVycmluZworICAg
ICAgICBpdCB1bnRpbCBpdCdzIHJlYWxseSBuZWVkZWQuCisgICAgICAgIAorICAgICAgICBUaGlz
IHRha2VzIGNhcmUgb2YgTExWTSdzIGV4aXQtdGltZSBkZXN0cnVjdG9ycyBiZWNhdXNlIGluc2lk
ZQorICAgICAgICBsaWJsbHZtRm9ySlNDLmR5bGliLCB3ZSBvdmVycmlkZSBfX2N4YV9hdGV4aXQu
CisgICAgICAgIAorICAgICAgICAqIENvbmZpZ3VyYXRpb25zL0phdmFTY3JpcHRDb3JlLnhjY29u
ZmlnOgorICAgICAgICAqIENvbmZpZ3VyYXRpb25zL0xMVk1Gb3JKU0MueGNjb25maWc6IEFkZGVk
LgorICAgICAgICAqIEphdmFTY3JpcHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6Cisg
ICAgICAgICogZGZnL0RGR1BsYW4uY3BwOgorICAgICAgICAoSlNDOjpERkc6OlBsYW46OmNvbXBp
bGVJblRocmVhZEltcGwpOgorICAgICAgICAqIGRpc2Fzc2VtYmxlci9MTFZNRGlzYXNzZW1ibGVy
LmNwcDoKKyAgICAgICAgKEpTQzo6dHJ5VG9EaXNhc3NlbWJsZVdpdGhMTFZNKToKKyAgICAgICAg
KiBmdGwvRlRMQWJicmV2aWF0ZWRUeXBlcy5oOgorICAgICAgICAqIGZ0bC9GVExBYmJyZXZpYXRp
b25zLmg6CisgICAgICAgIChKU0M6OkZUTDo6dm9pZFR5cGUpOgorICAgICAgICAoSlNDOjpGVEw6
OmludDFUeXBlKToKKyAgICAgICAgKEpTQzo6RlRMOjppbnQ4VHlwZSk6CisgICAgICAgIChKU0M6
OkZUTDo6aW50MTZUeXBlKToKKyAgICAgICAgKEpTQzo6RlRMOjppbnQzMlR5cGUpOgorICAgICAg
ICAoSlNDOjpGVEw6OmludDY0VHlwZSk6CisgICAgICAgIChKU0M6OkZUTDo6aW50UHRyVHlwZSk6
CisgICAgICAgIChKU0M6OkZUTDo6ZmxvYXRUeXBlKToKKyAgICAgICAgKEpTQzo6RlRMOjpkb3Vi
bGVUeXBlKToKKyAgICAgICAgKEpTQzo6RlRMOjpwb2ludGVyVHlwZSk6CisgICAgICAgIChKU0M6
OkZUTDo6c3RydWN0VHlwZSk6CisgICAgICAgIChKU0M6OkZUTDo6ZnVuY3Rpb25UeXBlKToKKyAg
ICAgICAgKEpTQzo6RlRMOjp0eXBlT2YpOgorICAgICAgICAoSlNDOjpGVEw6Om1kS2luZElEKToK
KyAgICAgICAgKEpTQzo6RlRMOjptZFN0cmluZyk6CisgICAgICAgIChKU0M6OkZUTDo6bWROb2Rl
KToKKyAgICAgICAgKEpTQzo6RlRMOjpzZXRNZXRhZGF0YSk6CisgICAgICAgIChKU0M6OkZUTDo6
YWRkRnVuY3Rpb24pOgorICAgICAgICAoSlNDOjpGVEw6OnNldExpbmthZ2UpOgorICAgICAgICAo
SlNDOjpGVEw6OnNldEZ1bmN0aW9uQ2FsbGluZ0NvbnYpOgorICAgICAgICAoSlNDOjpGVEw6Omdl
dFBhcmFtKToKKyAgICAgICAgKEpTQzo6RlRMOjpjb25zdEludCk6CisgICAgICAgIChKU0M6OkZU
TDo6Y29uc3RSZWFsKToKKyAgICAgICAgKEpTQzo6RlRMOjpjb25zdEludFRvUHRyKToKKyAgICAg
ICAgKEpTQzo6RlRMOjpjb25zdEJpdENhc3QpOgorICAgICAgICAoSlNDOjpGVEw6OmFwcGVuZEJh
c2ljQmxvY2spOgorICAgICAgICAoSlNDOjpGVEw6Omluc2VydEJhc2ljQmxvY2spOgorICAgICAg
ICAoSlNDOjpGVEw6OmJ1aWxkUGhpKToKKyAgICAgICAgKEpTQzo6RlRMOjphZGRJbmNvbWluZyk6
CisgICAgICAgIChKU0M6OkZUTDo6YnVpbGRBbGxvY2EpOgorICAgICAgICAoSlNDOjpGVEw6OmJ1
aWxkQWRkKToKKyAgICAgICAgKEpTQzo6RlRMOjpidWlsZFN1Yik6CisgICAgICAgIChKU0M6OkZU
TDo6YnVpbGRNdWwpOgorICAgICAgICAoSlNDOjpGVEw6OmJ1aWxkRGl2KToKKyAgICAgICAgKEpT
Qzo6RlRMOjpidWlsZFJlbSk6CisgICAgICAgIChKU0M6OkZUTDo6YnVpbGROZWcpOgorICAgICAg
ICAoSlNDOjpGVEw6OmJ1aWxkRkFkZCk6CisgICAgICAgIChKU0M6OkZUTDo6YnVpbGRGU3ViKToK
KyAgICAgICAgKEpTQzo6RlRMOjpidWlsZEZNdWwpOgorICAgICAgICAoSlNDOjpGVEw6OmJ1aWxk
RkRpdik6CisgICAgICAgIChKU0M6OkZUTDo6YnVpbGRGUmVtKToKKyAgICAgICAgKEpTQzo6RlRM
OjpidWlsZEZOZWcpOgorICAgICAgICAoSlNDOjpGVEw6OmJ1aWxkQW5kKToKKyAgICAgICAgKEpT
Qzo6RlRMOjpidWlsZE9yKToKKyAgICAgICAgKEpTQzo6RlRMOjpidWlsZFhvcik6CisgICAgICAg
IChKU0M6OkZUTDo6YnVpbGRTaGwpOgorICAgICAgICAoSlNDOjpGVEw6OmJ1aWxkQVNocik6Cisg
ICAgICAgIChKU0M6OkZUTDo6YnVpbGRMU2hyKToKKyAgICAgICAgKEpTQzo6RlRMOjpidWlsZE5v
dCk6CisgICAgICAgIChKU0M6OkZUTDo6YnVpbGRMb2FkKToKKyAgICAgICAgKEpTQzo6RlRMOjpi
dWlsZFN0b3JlKToKKyAgICAgICAgKEpTQzo6RlRMOjpidWlsZFNFeHQpOgorICAgICAgICAoSlND
OjpGVEw6OmJ1aWxkWkV4dCk6CisgICAgICAgIChKU0M6OkZUTDo6YnVpbGRGUFRvU0kpOgorICAg
ICAgICAoSlNDOjpGVEw6OmJ1aWxkRlBUb1VJKToKKyAgICAgICAgKEpTQzo6RlRMOjpidWlsZFNJ
VG9GUCk6CisgICAgICAgIChKU0M6OkZUTDo6YnVpbGRVSVRvRlApOgorICAgICAgICAoSlNDOjpG
VEw6OmJ1aWxkSW50Q2FzdCk6CisgICAgICAgIChKU0M6OkZUTDo6YnVpbGRGUENhc3QpOgorICAg
ICAgICAoSlNDOjpGVEw6OmJ1aWxkSW50VG9QdHIpOgorICAgICAgICAoSlNDOjpGVEw6OmJ1aWxk
UHRyVG9JbnQpOgorICAgICAgICAoSlNDOjpGVEw6OmJ1aWxkQml0Q2FzdCk6CisgICAgICAgIChK
U0M6OkZUTDo6YnVpbGRJQ21wKToKKyAgICAgICAgKEpTQzo6RlRMOjpidWlsZEZDbXApOgorICAg
ICAgICAoSlNDOjpGVEw6OmJ1aWxkQ2FsbCk6CisgICAgICAgIChKU0M6OkZUTDo6c2V0VGFpbENh
bGwpOgorICAgICAgICAoSlNDOjpGVEw6OmJ1aWxkRXh0cmFjdFZhbHVlKToKKyAgICAgICAgKEpT
Qzo6RlRMOjpidWlsZFNlbGVjdCk6CisgICAgICAgIChKU0M6OkZUTDo6YnVpbGRCcik6CisgICAg
ICAgIChKU0M6OkZUTDo6YnVpbGRDb25kQnIpOgorICAgICAgICAoSlNDOjpGVEw6OmJ1aWxkU3dp
dGNoKToKKyAgICAgICAgKEpTQzo6RlRMOjphZGRDYXNlKToKKyAgICAgICAgKEpTQzo6RlRMOjpi
dWlsZFJldCk6CisgICAgICAgIChKU0M6OkZUTDo6YnVpbGRVbnJlYWNoYWJsZSk6CisgICAgICAg
IChKU0M6OkZUTDo6ZHVtcE1vZHVsZSk6CisgICAgICAgIChKU0M6OkZUTDo6dmVyaWZ5TW9kdWxl
KToKKyAgICAgICAgKiBmdGwvRlRMQ29tcGlsZS5jcHA6CisgICAgICAgIChKU0M6OkZUTDo6Y29t
cGlsZSk6CisgICAgICAgICogZnRsL0ZUTEZhaWwuY3BwOgorICAgICAgICAoSlNDOjpGVEw6OmZh
aWwpOgorICAgICAgICAqIGZ0bC9GVExKSVRDb2RlLmg6CisgICAgICAgICogZnRsL0ZUTEpJVEZp
bmFsaXplci5oOgorICAgICAgICAqIGZ0bC9GVExMaW5rLmNwcDoKKyAgICAgICAgKiBmdGwvRlRM
TG93ZXJERkdUb0xMVk0uY3BwOgorICAgICAgICAoSlNDOjpGVEw6Okxvd2VyREZHVG9MTFZNOjps
b3dlcik6CisgICAgICAgICogZnRsL0ZUTE91dHB1dC5jcHA6CisgICAgICAgIChKU0M6OkZUTDo6
T3V0cHV0OjpPdXRwdXQpOgorICAgICAgICAoSlNDOjpGVEw6Ok91dHB1dDo6fk91dHB1dCk6Cisg
ICAgICAgICogZnRsL0ZUTE91dHB1dC5oOgorICAgICAgICAoSlNDOjpGVEw6Ok91dHB1dDo6YXBw
ZW5kVG8pOgorICAgICAgICAqIGZ0bC9GVExTdGF0ZS5jcHA6CisgICAgICAgIChKU0M6OkZUTDo6
U3RhdGU6OlN0YXRlKToKKyAgICAgICAgKEpTQzo6RlRMOjpTdGF0ZTo6flN0YXRlKToKKyAgICAg
ICAgKiBmdGwvV2ViS2l0TExWTUxpYnJhcnlBbmNob3IuY3BwOiBSZW1vdmVkLgorICAgICAgICAq
IGpzYy5jcHA6CisgICAgICAgIChqc2NtYWluKToKKyAgICAgICAgKiBsbHZtOiBBZGRlZC4KKyAg
ICAgICAgKiBsbHZtL0luaXRpYWxpemVMTFZNLmNwcDogQWRkZWQuCisgICAgICAgIChKU0M6Omlu
aXRpYWxpemVMTFZNKToKKyAgICAgICAgKiBsbHZtL0luaXRpYWxpemVMTFZNLmg6IEFkZGVkLgor
ICAgICAgICAqIGxsdm0vSW5pdGlhbGl6ZUxMVk1NYWMubW06IEFkZGVkLgorICAgICAgICAoSlND
Ojppbml0aWFsaXplTExWTUltcGwpOgorICAgICAgICAqIGxsdm0vSW5pdGlhbGl6ZUxMVk1QT1NJ
WC5jcHA6IEFkZGVkLgorICAgICAgICAoSlNDOjppbml0aWFsaXplTExWTVBPU0lYKToKKyAgICAg
ICAgKiBsbHZtL0luaXRpYWxpemVMTFZNUE9TSVguaDogQWRkZWQuCisgICAgICAgICogbGx2bS9M
TFZNQVBJLmNwcDogQWRkZWQuCisgICAgICAgICogbGx2bS9MTFZNQVBJLmg6IEFkZGVkLgorICAg
ICAgICAqIGxsdm0vTExWTUFQSUZ1bmN0aW9ucy5oOiBBZGRlZC4KKyAgICAgICAgKiBsbHZtL0xM
Vk1IZWFkZXJzLmg6IEFkZGVkLgorICAgICAgICAqIGxsdm0vbGlicmFyeTogQWRkZWQuCisgICAg
ICAgICogbGx2bS9saWJyYXJ5L0xMVk1BbmNob3IuY3BwOiBBZGRlZC4KKyAgICAgICAgKiBsbHZt
L2xpYnJhcnkvTExWTUV4cG9ydHMuY3BwOiBBZGRlZC4KKyAgICAgICAgKGluaXRpYWxpemVBbmRH
ZXRKU0NMTFZNQVBJKToKKyAgICAgICAgKiBsbHZtL2xpYnJhcnkvTExWTU92ZXJyaWRlcy5jcHA6
IEFkZGVkLgorICAgICAgICAoX19jeGFfYXRleGl0KToKKyAgICAgICAgKiBsbHZtL2xpYnJhcnkv
Y29uZmlnX2xsdm0uaDogQWRkZWQuCisgICAgICAgICogcnVudGltZS9Jbml0aWFsaXplVGhyZWFk
aW5nLmNwcDoKKyAgICAgICAgKEpTQzo6aW5pdGlhbGl6ZVRocmVhZGluZ09uY2UpOgorICAgICAg
ICAqIHJ1bnRpbWUvT3B0aW9ucy5oOgorCiAyMDEzLTEwLTA5ICBGaWxpcCBQaXpsbyAgPGZwaXps
b0BhcHBsZS5jb20+CiAKICAgICAgICAgTWlub3IgY2xlYW4tdXBzIGluIHRoZSBKU0MgWGNvZGUg
cHJvamVjdC4KSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qc2MuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qc2MuY3BwCShyZXZpc2lvbiAxNTcyMDQpCisrKyBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvanNjLmNwcAkod29ya2luZyBjb3B5KQpAQCAtODQ2LDEwICs4
NDYsMTAgQEAgaW50IGpzY21haW4oaW50IGFyZ2MsIGNoYXIqKiBhcmd2KQogICAgIC8vIE5vdGUg
dGhhdCB0aGUgb3B0aW9ucyBwYXJzaW5nIGNhbiBhZmZlY3QgVk0gY3JlYXRpb24sIGFuZCB0aHVz
CiAgICAgLy8gY29tZXMgZmlyc3QuCiAgICAgQ29tbWFuZExpbmUgb3B0aW9ucyhhcmdjLCBhcmd2
KTsKLSAgICBSZWZQdHI8Vk0+IHZtID0gVk06OmNyZWF0ZShMYXJnZUhlYXApOworICAgIFZNKiB2
bSA9IFZNOjpjcmVhdGUoTGFyZ2VIZWFwKS5sZWFrUmVmKCk7CiAgICAgaW50IHJlc3VsdDsKICAg
ICB7Ci0gICAgICAgIEFQSUVudHJ5U2hpbSBzaGltKHZtLmdldCgpKTsKKyAgICAgICAgQVBJRW50
cnlTaGltIHNoaW0odm0pOwogCiAgICAgICAgIGlmIChvcHRpb25zLm1fcHJvZmlsZSAmJiAhdm0t
Pm1fcGVyQnl0ZWNvZGVQcm9maWxlcikKICAgICAgICAgICAgIHZtLT5tX3BlckJ5dGVjb2RlUHJv
ZmlsZXIgPSBhZG9wdFB0cihuZXcgUHJvZmlsZXI6OkRhdGFiYXNlKCp2bSkpOwpAQCAtODcwLDE0
ICs4NzAsNiBAQCBpbnQganNjbWFpbihpbnQgYXJnYywgY2hhcioqIGFyZ3YpCiAgICAgICAgIH0K
ICAgICB9CiAgICAgCi0gICAgaWYgKE9wdGlvbnM6Om5ldmVyRGVsZXRlVk1JbkNvbW1hbmRMaW5l
KCkpIHsKLSAgICAgICAgSlNDOjpWTSogdGVtcCA9IHZtLnJlbGVhc2UoKS5sZWFrUmVmKCk7Ci0g
ICAgICAgIFVOVVNFRF9QQVJBTSh0ZW1wKTsKLSAgICB9IGVsc2UgewotICAgICAgICBKU0xvY2tI
b2xkZXIgbG9jaygqdm0pOwotICAgICAgICB2bS5jbGVhcigpOwotICAgIH0KLSAgICAKICAgICBy
ZXR1cm4gcmVzdWx0OwogfQogCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvQ29uZmlndXJh
dGlvbnMvSmF2YVNjcmlwdENvcmUueGNjb25maWcKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFT
Y3JpcHRDb3JlL0NvbmZpZ3VyYXRpb25zL0phdmFTY3JpcHRDb3JlLnhjY29uZmlnCShyZXZpc2lv
biAxNTcyMDQpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvQ29uZmlndXJhdGlvbnMvSmF2YVNj
cmlwdENvcmUueGNjb25maWcJKHdvcmtpbmcgY29weSkKQEAgLTM1LDE1ICszNSwxMSBAQCBKU1ZB
TFVFX01PREVMX3g4Nl82NCA9IDY0OwogLy8gUHJldmVudCBDKysgc3RhbmRhcmQgbGlicmFyeSBv
cGVyYXRvciBuZXcsIGRlbGV0ZSBhbmQgdGhlaXIgcmVsYXRlZCBleGNlcHRpb24gdHlwZXMgZnJv
bSBiZWluZyBleHBvcnRlZCBhcyB3ZWFrIHN5bWJvbHMuCiBPVEhFUl9MREZMQUdTX0hJREVfU1lN
Qk9MUyA9IC1XbCwtdW5leHBvcnRlZF9zeW1ib2wgLVdsLF9fWlRJU3Q5YmFkX2FsbG9jIC1XbCwt
dW5leHBvcnRlZF9zeW1ib2wgLVdsLF9fWlRJU3Q5ZXhjZXB0aW9uIC1XbCwtdW5leHBvcnRlZF9z
eW1ib2wgLVdsLF9fWlRTU3Q5YmFkX2FsbG9jIC1XbCwtdW5leHBvcnRlZF9zeW1ib2wgLVdsLF9f
WlRTU3Q5ZXhjZXB0aW9uIC1XbCwtdW5leHBvcnRlZF9zeW1ib2wgLVdsLF9fWmRsUHZTXyAtV2ws
LXVuZXhwb3J0ZWRfc3ltYm9sIC1XbCxfX1pud21QdiAtV2wsLWFsbF9sb2FkOwogCi1PVEhFUl9M
REZMQUdTX0xMVk0gPSAkKE9USEVSX0xERkxBR1NfTExWTV8kKEVOQUJMRV9GVExfSklUKSk7Ci1P
VEhFUl9MREZMQUdTX0xMVk1fID0gOwotT1RIRVJfTERGTEFHU19MTFZNX0VOQUJMRV9GVExfSklU
ID0gLWxwdGhyZWFkIC1sbSAtbExMVk1UYWJsZUdlbiAtbExMVk1EZWJ1Z0luZm8gLWxMTFZNT3B0
aW9uIC1sTExWTVg4NkRpc2Fzc2VtYmxlciAtbExMVk1YODZBc21QYXJzZXIgLWxMTFZNWDg2Q29k
ZUdlbiAtbExMVk1TZWxlY3Rpb25EQUcgLWxMTFZNQXNtUHJpbnRlciAtbExMVk1YODZEZXNjIC1s
TExWTVg4NkluZm8gLWxMTFZNWDg2QXNtUHJpbnRlciAtbExMVk1YODZVdGlscyAtbExMVk1JUlJl
YWRlciAtbExMVk1Bc21QYXJzZXIgLWxMTFZNTUNEaXNhc3NlbWJsZXIgLWxMTFZNTUNQYXJzZXIg
LWxMTFZNSW5zdHJ1bWVudGF0aW9uIC1sTExWTUJpdFJlYWRlciAtbExMVk1JbnRlcnByZXRlciAt
bExMVk1pcG8gLWxMTFZNVmVjdG9yaXplIC1sTExWTUxpbmtlciAtbExMVk1CaXRXcml0ZXIgLWxM
TFZNTUNKSVQgLWxMTFZNSklUIC1sTExWTUNvZGVHZW4gLWxMTFZNT2JqQ0FSQ09wdHMgLWxMTFZN
U2NhbGFyT3B0cyAtbExMVk1JbnN0Q29tYmluZSAtbExMVk1UcmFuc2Zvcm1VdGlscyAtbExMVk1p
cGEgLWxMTFZNQW5hbHlzaXMgLWxMTFZNUnVudGltZUR5bGQgLWxMTFZNRXhlY3V0aW9uRW5naW5l
IC1sTExWTVRhcmdldCAtbExMVk1NQyAtbExMVk1PYmplY3QgLWxMTFZNQ29yZSAtbExMVk1TdXBw
b3J0OwotCiBPVEhFUl9MREZMQUdTX0JBU0UgPSAtbG9iamMgLVdsLC1ZLDMgJChPVEhFUl9MREZM
QUdTX0hJREVfU1lNQk9MUyk7CiBPVEhFUl9MREZMQUdTID0gJChpbmhlcml0ZWQpICQoT1RIRVJf
TERGTEFHU18kKFBMQVRGT1JNX05BTUUpKTsKIE9USEVSX0xERkxBR1NfaXBob25lb3MgPSAkKE9U
SEVSX0xERkxBR1NfQkFTRSk7CiBPVEhFUl9MREZMQUdTX2lwaG9uZXNpbXVsYXRvciA9ICQoT1RI
RVJfTERGTEFHU19pcGhvbmVvcyk7Ci1PVEhFUl9MREZMQUdTX21hY29zeCA9ICQoT1RIRVJfTERG
TEFHU19CQVNFKSAkKE9USEVSX0xERkxBR1NfTExWTSkgLXN1Yl9saWJyYXJ5IGxpYm9iamMgLWZy
YW1ld29yayBDb3JlU2VydmljZXM7CitPVEhFUl9MREZMQUdTX21hY29zeCA9ICQoT1RIRVJfTERG
TEFHU19CQVNFKSAtc3ViX2xpYnJhcnkgbGlib2JqYyAtZnJhbWV3b3JrIENvcmVTZXJ2aWNlczsK
IEdDQ19QUkVGSVhfSEVBREVSID0gSmF2YVNjcmlwdENvcmVQcmVmaXguaDsKIEdDQ19TWU1CT0xT
X1BSSVZBVEVfRVhURVJOID0gWUVTOwogSEVBREVSX1NFQVJDSF9QQVRIUyA9ICIke0JVSUxUX1BS
T0RVQ1RTX0RJUn0vRGVyaXZlZFNvdXJjZXMvSmF2YVNjcmlwdENvcmUiICQoSEVBREVSX1NFQVJD
SF9QQVRIUyk7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvQ29uZmlndXJhdGlvbnMvTExW
TUZvckpTQy54Y2NvbmZpZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvQ29u
ZmlndXJhdGlvbnMvTExWTUZvckpTQy54Y2NvbmZpZwkocmV2aXNpb24gMCkKKysrIFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9Db25maWd1cmF0aW9ucy9MTFZNRm9ySlNDLnhjY29uZmlnCSh3b3JraW5n
IGNvcHkpCkBAIC0wLDAgKzEsNDQgQEAKKy8vIENvcHlyaWdodCAoQykgMjAxMyBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLworLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisvLyBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKy8v
IGFyZSBtZXQ6CisvLyAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAorLy8gICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorLy8gMi4gUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKy8vICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUKKy8vICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisvLworLy8gVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisvLyBFWFBSRVNTIE9SIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorLy8g
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQ
QVJUSUNVTEFSCisvLyBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwg
QVBQTEUgSU5DLiBPUgorLy8gQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisvLyBFWEVNUExBUlksIE9SIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisvLyBQUk9DVVJF
TUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwg
T1IKKy8vIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWSBUSEVPUlkKKy8vIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorLy8gKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisvLyBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LiAKKworI2luY2x1ZGUgIkZlYXR1cmVEZWZpbmVzLnhjY29uZmlnIgorI2luY2x1ZGUgIlZlcnNp
b24ueGNjb25maWciCisKKy8vIFByZXZlbnQgQysrIHN0YW5kYXJkIGxpYnJhcnkgb3BlcmF0b3Ig
bmV3LCBkZWxldGUgYW5kIHRoZWlyIHJlbGF0ZWQgZXhjZXB0aW9uIHR5cGVzIGZyb20gYmVpbmcg
ZXhwb3J0ZWQgYXMgd2VhayBzeW1ib2xzLgorT1RIRVJfTERGTEFHU19ISURFX1NZTUJPTFMgPSAt
V2wsLXVuZXhwb3J0ZWRfc3ltYm9sIC1XbCxfX1pUSVN0OWJhZF9hbGxvYyAtV2wsLXVuZXhwb3J0
ZWRfc3ltYm9sIC1XbCxfX1pUSVN0OWV4Y2VwdGlvbiAtV2wsLXVuZXhwb3J0ZWRfc3ltYm9sIC1X
bCxfX1pUU1N0OWJhZF9hbGxvYyAtV2wsLXVuZXhwb3J0ZWRfc3ltYm9sIC1XbCxfX1pUU1N0OWV4
Y2VwdGlvbiAtV2wsLXVuZXhwb3J0ZWRfc3ltYm9sIC1XbCxfX1pkbFB2U18gLVdsLC11bmV4cG9y
dGVkX3N5bWJvbCAtV2wsX19abndtUHYgLVdsLC1hbGxfbG9hZDsKKworT1RIRVJfTERGTEFHU19M
TFZNID0gJChPVEhFUl9MREZMQUdTX0xMVk1fJChFTkFCTEVfRlRMX0pJVCkpOworT1RIRVJfTERG
TEFHU19MTFZNXyA9IDsKK09USEVSX0xERkxBR1NfTExWTV9FTkFCTEVfRlRMX0pJVCA9IC1scHRo
cmVhZCAtbG0gLWxMTFZNVGFibGVHZW4gLWxMTFZNRGVidWdJbmZvIC1sTExWTU9wdGlvbiAtbExM
Vk1YODZEaXNhc3NlbWJsZXIgLWxMTFZNWDg2QXNtUGFyc2VyIC1sTExWTVg4NkNvZGVHZW4gLWxM
TFZNU2VsZWN0aW9uREFHIC1sTExWTUFzbVByaW50ZXIgLWxMTFZNWDg2RGVzYyAtbExMVk1YODZJ
bmZvIC1sTExWTVg4NkFzbVByaW50ZXIgLWxMTFZNWDg2VXRpbHMgLWxMTFZNSVJSZWFkZXIgLWxM
TFZNQXNtUGFyc2VyIC1sTExWTU1DRGlzYXNzZW1ibGVyIC1sTExWTU1DUGFyc2VyIC1sTExWTUlu
c3RydW1lbnRhdGlvbiAtbExMVk1CaXRSZWFkZXIgLWxMTFZNSW50ZXJwcmV0ZXIgLWxMTFZNaXBv
IC1sTExWTVZlY3Rvcml6ZSAtbExMVk1MaW5rZXIgLWxMTFZNQml0V3JpdGVyIC1sTExWTU1DSklU
IC1sTExWTUpJVCAtbExMVk1Db2RlR2VuIC1sTExWTU9iakNBUkNPcHRzIC1sTExWTVNjYWxhck9w
dHMgLWxMTFZNSW5zdENvbWJpbmUgLWxMTFZNVHJhbnNmb3JtVXRpbHMgLWxMTFZNaXBhIC1sTExW
TUFuYWx5c2lzIC1sTExWTVJ1bnRpbWVEeWxkIC1sTExWTUV4ZWN1dGlvbkVuZ2luZSAtbExMVk1U
YXJnZXQgLWxMTFZNTUMgLWxMTFZNT2JqZWN0IC1sTExWTUNvcmUgLWxMTFZNU3VwcG9ydDsKKwor
T1RIRVJfTERGTEFHU19CQVNFID0gLWxvYmpjIC1XbCwtWSwzICQoT1RIRVJfTERGTEFHU19ISURF
X1NZTUJPTFMpOworT1RIRVJfTERGTEFHUyA9ICQoaW5oZXJpdGVkKSAkKE9USEVSX0xERkxBR1Nf
JChQTEFURk9STV9OQU1FKSk7CitPVEhFUl9MREZMQUdTX2lwaG9uZW9zID0gJChPVEhFUl9MREZM
QUdTX0JBU0UpOworT1RIRVJfTERGTEFHU19pcGhvbmVzaW11bGF0b3IgPSAkKE9USEVSX0xERkxB
R1NfaXBob25lb3MpOworT1RIRVJfTERGTEFHU19tYWNvc3ggPSAkKE9USEVSX0xERkxBR1NfQkFT
RSkgJChPVEhFUl9MREZMQUdTX0xMVk0pCitHQ0NfU1lNQk9MU19QUklWQVRFX0VYVEVSTiA9IFlF
UzsKK0hFQURFUl9TRUFSQ0hfUEFUSFMgPSAiJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRT
b3VyY2VzL0phdmFTY3JpcHRDb3JlIiAkKEhFQURFUl9TRUFSQ0hfUEFUSFMpOworCitQUk9EVUNU
X05BTUUgPSBsbHZtRm9ySlNDOworRVhFQ1VUQUJMRV9QUkVGSVggPSBsaWI7CisKSW5kZXg6IFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCShyZXZpc2lvbiAxNTcyMDQpCisrKyBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkod29y
a2luZyBjb3B5KQpAQCAtMjU3LDcgKzI1Nyw2IEBACiAJCTBGNjM5NDg1MTVFNDgxMUIwMDZBNTk3
QyAvKiBERkdBcnJheU1vZGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDBGNjM5NDgyMTVFNDgxMTQwMDZBNTk3QyAvKiBERkdBcnJheU1vZGUuaCAqLzsg
c2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQkwRjY2RTE2QjE0
REYzRjE2MDBCN0IyRTQgLyogREZHQWRqYWNlbmN5TGlzdC5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEY2NkUxNjgxNERGM0YxMzAwQjdCMkU0IC8qIERG
R0FkamFjZW5jeUxpc3QuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCAp
OyB9OyB9OwogCQkwRjY2RTE2QzE0REYzRjE2MDBCN0IyRTQgLyogREZHRWRnZS5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEY2NkUxNjkxNERGM0YxMzAw
QjdCMkU0IC8qIERGR0VkZ2UuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRl
LCApOyB9OyB9OwotCQkwRjZFNUMxOTE3MjRBRjNEMDA1QzU3NEYgLyogV2ViS2l0TExWTUxpYnJh
cnlBbmNob3IuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gMEY2RTVDMTgxNzI0QUYzRDAwNUM1NzRGIC8qIFdlYktpdExMVk1MaWJyYXJ5QW5jaG9yLmNw
cCAqLzsgfTsKIAkJMEY3MDI1QTkxNzE0QjBGQTAwMzgyQzBFIC8qIERGR09TUkV4aXRDb21waWxl
ckNvbW1vbi5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSAwRjcwMjVBNzE3MTRCMEY4MDAzODJDMEUgLyogREZHT1NSRXhpdENvbXBpbGVyQ29tbW9uLmNw
cCAqLzsgfTsKIAkJMEY3MDI1QUExNzE0QjBGQzAwMzgyQzBFIC8qIERGR09TUkV4aXRDb21waWxl
ckNvbW1vbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
MEY3MDI1QTgxNzE0QjBGODAwMzgyQzBFIC8qIERGR09TUkV4aXRDb21waWxlckNvbW1vbi5oICov
OyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTBGNzE0Q0E0
MTZFQTkyRjAwMEYzRUJFQiAvKiBERkdCYWNrd2FyZHNQcm9wYWdhdGlvblBoYXNlLmNwcCBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGNzE0Q0ExMTZFQTky
RUQwMEYzRUJFQiAvKiBERkdCYWNrd2FyZHNQcm9wYWdhdGlvblBoYXNlLmNwcCAqLzsgfTsKQEAg
LTM3Miw2ICszNzEsMjIgQEAKIAkJMEZDODE1MTUxNDA1MTE5QjAwQ0ZBNjAzIC8qIFZUYWJsZVNw
ZWN0cnVtLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAw
RkM4MTUxNDE0MDUxMThEMDBDRkE2MDMgLyogVlRhYmxlU3BlY3RydW0uaCAqLzsgc2V0dGluZ3Mg
PSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQkwRkM4MTUxNjE0MDUxMUI1MDBD
RkE2MDMgLyogVlRhYmxlU3BlY3RydW0uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gMEZDODE1MTIxNDA1MTE4NjAwQ0ZBNjAzIC8qIFZUYWJsZVNwZWN0
cnVtLmNwcCAqLzsgfTsKIAkJMEZDQ0FFNDUxNkQwQ0Y3NDAwRDBDNjVCIC8qIFBhcnNlckVycm9y
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRkNDQUU0
MzE2RDBDRjZFMDBEMEM2NUIgLyogUGFyc2VyRXJyb3IuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklC
VVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQkwRkNFRkFCMDE4MDVDQTZEMDA0NzJDRTQgLyog
SW5pdGlhbGl6ZUxMVk0uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDBGQ0VGQUFFMTgwNUNBNkQwMDQ3MkNFNCAvKiBJbml0aWFsaXplTExWTS5oICovOyBz
ZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTBGQ0VGQUIxMTgw
NUNBNkQwMDQ3MkNFNCAvKiBJbml0aWFsaXplTExWTU1hYy5tbSBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGQ0VGQUFGMTgwNUNBNkQwMDQ3MkNFNCAvKiBJ
bml0aWFsaXplTExWTU1hYy5tbSAqLzsgfTsKKwkJMEZDRUZBQzExODA1RDk0RTAwNDcyQ0U0IC8q
IExMVk1PdmVycmlkZXMuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gMEZDRUZBQzAxODA1RDk0MTAwNDcyQ0U0IC8qIExMVk1PdmVycmlkZXMuY3BwICov
OyB9OworCQkwRkNFRkFDMzE4MDVFNzQwMDA0NzJDRTQgLyogTExWTUV4cG9ydHMuY3BwIGluIFNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZDRUZBQzIxODA1RTc0
MDAwNDcyQ0U0IC8qIExMVk1FeHBvcnRzLmNwcCAqLzsgfTsKKwkJMEZDRUZBQ0ExODA1RTc1NTAw
NDcyQ0U0IC8qIEluaXRpYWxpemVMTFZNLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDBGQ0VGQUM0MTgwNUU3NTUwMDQ3MkNFNCAvKiBJbml0aWFsaXpl
TExWTS5jcHAgKi87IH07CisJCTBGQ0VGQUNCMTgwNUU3NTUwMDQ3MkNFNCAvKiBJbml0aWFsaXpl
TExWTVBPU0lYLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDBGQ0VGQUM1MTgwNUU3NTUwMDQ3MkNFNCAvKiBJbml0aWFsaXplTExWTVBPU0lYLmNwcCAq
LzsgfTsKKwkJMEZDRUZBQ0MxODA1RTc1NTAwNDcyQ0U0IC8qIEluaXRpYWxpemVMTFZNUE9TSVgu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGQ0VGQUM2
MTgwNUU3NTUwMDQ3MkNFNCAvKiBJbml0aWFsaXplTExWTVBPU0lYLmggKi87IHNldHRpbmdzID0g
e0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMEZDRUZBQ0QxODA1RTc1NTAwNDcy
Q0U0IC8qIExMVk1BUEkuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gMEZDRUZBQzcxODA1RTc1NTAwNDcyQ0U0IC8qIExMVk1BUEkuY3BwICovOyB9Owor
CQkwRkNFRkFDRTE4MDVFNzU1MDA0NzJDRTQgLyogTExWTUFQSS5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZDRUZBQzgxODA1RTc1NTAwNDcyQ0U0IC8q
IExMVk1BUEkuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9
OworCQkwRkNFRkFDRjE4MDVFNzU1MDA0NzJDRTQgLyogTExWTUFQSUZ1bmN0aW9ucy5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZDRUZBQzkxODA1RTc1
NTAwNDcyQ0U0IC8qIExMVk1BUElGdW5jdGlvbnMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRF
UyA9IChQcml2YXRlLCApOyB9OyB9OworCQkwRkNFRkFEMTE4MDVFNzc5MDA0NzJDRTQgLyogTExW
TUFQSUZ1bmN0aW9ucy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gMEZDRUZBQzkxODA1RTc1NTAwNDcyQ0U0IC8qIExMVk1BUElGdW5jdGlvbnMuaCAqLzsg
fTsKKwkJMEZDRUZBRDMxODA1RURDQzAwNDcyQ0U0IC8qIExMVk1IZWFkZXJzLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRkNFRkFEMjE4MDVFRENDMDA0
NzJDRTQgLyogTExWTUhlYWRlcnMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2
YXRlLCApOyB9OyB9OworCQkwRkNFRkFENDE4MDVFRENDMDA0NzJDRTQgLyogTExWTUhlYWRlcnMu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGQ0VGQUQy
MTgwNUVEQ0MwMDQ3MkNFNCAvKiBMTFZNSGVhZGVycy5oICovOyB9OworCQkwRkNFRkFENzE4MDYx
NzQ2MDA0NzJDRTQgLyogTExWTUFuY2hvci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSAwRkNFRkFENjE4MDYxNzQ2MDA0NzJDRTQgLyogTExWTUFuY2hv
ci5jcHAgKi87IH07CisJCTBGQ0VGQURBMTgwNjIwREEwMDQ3MkNFNCAvKiBMTFZNQVBJLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRkNFRkFDODE4MDVF
NzU1MDA0NzJDRTQgLyogTExWTUFQSS5oICovOyB9OworCQkwRkNFRkFEQzE4MDY0QTE0MDA0NzJD
RTQgLyogY29uZmlnX2xsdm0uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDBGQ0VGQURCMTgwNjRBMTQwMDQ3MkNFNCAvKiBjb25maWdfbGx2bS5oICovOyB9
OwogCQkwRkQyQzkyNDE2RDAxRUU5MDBDNzgwM0YgLyogU3RydWN0dXJlSW5saW5lcy5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZEMkM5MjMxNkQwMUVF
OTAwQzc4MDNGIC8qIFN0cnVjdHVyZUlubGluZXMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRF
UyA9IChQcml2YXRlLCApOyB9OyB9OwogCQkwRkQzQzgyNjE0MTE1RDQwMDBGRDgxQ0IgLyogREZH
RHJpdmVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDBGRDNDODIwMTQxMTVDRjgwMEZEODFDQiAvKiBERkdEcml2ZXIuY3BwICovOyB9OwogCQkwRkQz
QzgyODE0MTE1RDRGMDBGRDgxQ0IgLyogREZHRHJpdmVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRkQzQzgyMjE0MTE1RDBFMDBGRDgxQ0IgLyogREZH
RHJpdmVyLmggKi87IH07CkBAIC0xMTgxLDYgKzExOTYsMTMgQEAKIC8qIEVuZCBQQlhCdWlsZEZp
bGUgc2VjdGlvbiAqLwogCiAvKiBCZWdpbiBQQlhDb250YWluZXJJdGVtUHJveHkgc2VjdGlvbiAq
LworCQkwRkNFRkFCQzE4MDVENjYzMDA0NzJDRTQgLyogUEJYQ29udGFpbmVySXRlbVByb3h5ICov
ID0geworCQkJaXNhID0gUEJYQ29udGFpbmVySXRlbVByb3h5OworCQkJY29udGFpbmVyUG9ydGFs
ID0gMDg2N0Q2OTBGRTg0MDI4RkMwMkFBQzA3IC8qIFByb2plY3Qgb2JqZWN0ICovOworCQkJcHJv
eHlUeXBlID0gMTsKKwkJCXJlbW90ZUdsb2JhbElEU3RyaW5nID0gMEZDRUZBQjUxODA1RDYxNjAw
NDcyQ0U0OworCQkJcmVtb3RlSW5mbyA9IGxsdm1Gb3JKU0M7CisJCX07CiAJCTBGRjkyMkQyMTRG
NDZCMkYwMDQxQTI0RSAvKiBQQlhDb250YWluZXJJdGVtUHJveHkgKi8gPSB7CiAJCQlpc2EgPSBQ
QlhDb250YWluZXJJdGVtUHJveHk7CiAJCQljb250YWluZXJQb3J0YWwgPSAwODY3RDY5MEZFODQw
MjhGQzAyQUFDMDcgLyogUHJvamVjdCBvYmplY3QgKi87CkBAIC0xNDcxLDcgKzE0OTMsNiBAQAog
CQkwRjYzOTQ4MjE1RTQ4MTE0MDA2QTU5N0MgLyogREZHQXJyYXlNb2RlLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgbmFtZSA9IERGR0FycmF5TW9kZS5oOyBwYXRoID0gZGZnL0RGR0FycmF5
TW9kZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkwRjY2RTE2ODE0REYzRjEzMDBC
N0IyRTQgLyogREZHQWRqYWNlbmN5TGlzdC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5h
bWUgPSBERkdBZGphY2VuY3lMaXN0Lmg7IHBhdGggPSBkZmcvREZHQWRqYWNlbmN5TGlzdC5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkwRjY2RTE2OTE0REYzRjEzMDBCN0IyRTQgLyog
REZHRWRnZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBERkdFZGdlLmg7IHBh
dGggPSBkZmcvREZHRWRnZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQkwRjZFNUMx
ODE3MjRBRjNEMDA1QzU3NEYgLyogV2ViS2l0TExWTUxpYnJhcnlBbmNob3IuY3BwICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gV2ViS2l0TExWTUxpYnJhcnlBbmNob3IuY3Bw
OyBwYXRoID0gZnRsL1dlYktpdExMVk1MaWJyYXJ5QW5jaG9yLmNwcDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJMEY3MDI1QTcxNzE0QjBGODAwMzgyQzBFIC8qIERGR09TUkV4aXRDb21w
aWxlckNvbW1vbi5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBERkdP
U1JFeGl0Q29tcGlsZXJDb21tb24uY3BwOyBwYXRoID0gZGZnL0RGR09TUkV4aXRDb21waWxlckNv
bW1vbi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTBGNzAyNUE4MTcxNEIwRjgw
MDM4MkMwRSAvKiBERkdPU1JFeGl0Q29tcGlsZXJDb21tb24uaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBuYW1lID0gREZHT1NSRXhpdENvbXBpbGVyQ29tbW9uLmg7IHBhdGggPSBkZmcvREZH
T1NSRXhpdENvbXBpbGVyQ29tbW9uLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTBG
NzE0Q0ExMTZFQTkyRUQwMEYzRUJFQiAvKiBERkdCYWNrd2FyZHNQcm9wYWdhdGlvblBoYXNlLmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IERGR0JhY2t3YXJkc1Byb3Bh
Z2F0aW9uUGhhc2UuY3BwOyBwYXRoID0gZGZnL0RGR0JhY2t3YXJkc1Byb3BhZ2F0aW9uUGhhc2Uu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTU5OCw2ICsxNjE5LDIxIEBACiAJ
CTBGQzgxNTE0MTQwNTExOEQwMENGQTYwMyAvKiBWVGFibGVTcGVjdHJ1bS5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBWVGFibGVTcGVjdHJ1bS5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQkwRkNCNDA4NTE1QzBBM0MzMDA0ODkzMkIgLyogU2xvdFZpc2l0b3JJbmxp
bmVzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNsb3RWaXNpdG9ySW5saW5l
cy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkwRkNDQUU0MzE2RDBDRjZFMDBEMEM2
NUIgLyogUGFyc2VyRXJyb3IuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUGFy
c2VyRXJyb3IuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEZDRUZBQUUxODA1Q0E2
RDAwNDcyQ0U0IC8qIEluaXRpYWxpemVMTFZNLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
bmFtZSA9IEluaXRpYWxpemVMTFZNLmg7IHBhdGggPSBsbHZtL0luaXRpYWxpemVMTFZNLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGQ0VGQUFGMTgwNUNBNkQwMDQ3MkNFNCAvKiBJ
bml0aWFsaXplTExWTU1hYy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgbmFt
ZSA9IEluaXRpYWxpemVMTFZNTWFjLm1tOyBwYXRoID0gbGx2bS9Jbml0aWFsaXplTExWTU1hYy5t
bTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEZDRUZBQjYxODA1RDYxNjAwNDcyQ0U0
IC8qIGxpYmxsdm1Gb3JKU0MuZHlsaWIgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZXhw
bGljaXRGaWxlVHlwZSA9ICJjb21waWxlZC5tYWNoLW8uZHlsaWIiOyBpbmNsdWRlSW5JbmRleCA9
IDA7IHBhdGggPSBsaWJsbHZtRm9ySlNDLmR5bGliOyBzb3VyY2VUcmVlID0gQlVJTFRfUFJPRFVD
VFNfRElSOyB9OworCQkwRkNFRkFCRTE4MDVEODY5MDA0NzJDRTQgLyogTExWTUZvckpTQy54Y2Nv
bmZpZyAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRl
eHQueGNjb25maWc7IHBhdGggPSBMTFZNRm9ySlNDLnhjY29uZmlnOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQkwRkNFRkFDMDE4MDVEOTQxMDA0NzJDRTQgLyogTExWTU92ZXJyaWRlcy5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBMTFZNT3ZlcnJpZGVzLmNwcDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKKwkJMEZDRUZBQzIxODA1RTc0MDAwNDcyQ0U0IC8qIExMVk1FeHBvcnRzLmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IExMVk1FeHBvcnRzLmNwcDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEZDRUZBQzQxODA1RTc1NTAwNDcyQ0U0IC8q
IEluaXRpYWxpemVMTFZNLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9
IEluaXRpYWxpemVMTFZNLmNwcDsgcGF0aCA9IGxsdm0vSW5pdGlhbGl6ZUxMVk0uY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRkNFRkFDNTE4MDVFNzU1MDA0NzJDRTQgLyogSW5p
dGlhbGl6ZUxMVk1QT1NJWC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUg
PSBJbml0aWFsaXplTExWTVBPU0lYLmNwcDsgcGF0aCA9IGxsdm0vSW5pdGlhbGl6ZUxMVk1QT1NJ
WC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGQ0VGQUM2MTgwNUU3NTUwMDQ3
MkNFNCAvKiBJbml0aWFsaXplTExWTVBPU0lYLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
bmFtZSA9IEluaXRpYWxpemVMTFZNUE9TSVguaDsgcGF0aCA9IGxsdm0vSW5pdGlhbGl6ZUxMVk1Q
T1NJWC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRkNFRkFDNzE4MDVFNzU1MDA0
NzJDRTQgLyogTExWTUFQSS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUg
PSBMTFZNQVBJLmNwcDsgcGF0aCA9IGxsdm0vTExWTUFQSS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCTBGQ0VGQUM4MTgwNUU3NTUwMDQ3MkNFNCAvKiBMTFZNQVBJLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IExMVk1BUEkuaDsgcGF0aCA9IGxsdm0vTExWTUFQ
SS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRkNFRkFDOTE4MDVFNzU1MDA0NzJD
RTQgLyogTExWTUFQSUZ1bmN0aW9ucy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUg
PSBMTFZNQVBJRnVuY3Rpb25zLmg7IHBhdGggPSBsbHZtL0xMVk1BUElGdW5jdGlvbnMuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEZDRUZBRDIxODA1RURDQzAwNDcyQ0U0IC8qIExM
Vk1IZWFkZXJzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IExMVk1IZWFkZXJz
Lmg7IHBhdGggPSBsbHZtL0xMVk1IZWFkZXJzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCTBGQ0VGQUQ2MTgwNjE3NDYwMDQ3MkNFNCAvKiBMTFZNQW5jaG9yLmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IExMVk1BbmNob3IuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQkwRkNFRkFEQjE4MDY0QTE0MDA0NzJDRTQgLyogY29uZmlnX2xsdm0u
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gY29uZmlnX2xsdm0uaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMEZEMkM5MjMxNkQwMUVFOTAwQzc4MDNGIC8qIFN0cnVj
dHVyZUlubGluZXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU3RydWN0dXJl
SW5saW5lcy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkwRkQzQzgyMDE0MTE1Q0Y4
MDBGRDgxQ0IgLyogREZHRHJpdmVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
bmFtZSA9IERGR0RyaXZlci5jcHA7IHBhdGggPSBkZmcvREZHRHJpdmVyLmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMEZEM0M4MjIxNDExNUQwRTAwRkQ4MUNCIC8qIERGR0RyaXZl
ci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBERkdEcml2ZXIuaDsgcGF0aCA9
IGRmZy9ERkdEcml2ZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTI0MzEsNiAr
MjQ2NywxMyBAQAogLyogRW5kIFBCWEZpbGVSZWZlcmVuY2Ugc2VjdGlvbiAqLwogCiAvKiBCZWdp
biBQQlhGcmFtZXdvcmtzQnVpbGRQaGFzZSBzZWN0aW9uICovCisJCTBGQ0VGQUIzMTgwNUQ2MTYw
MDQ3MkNFNCAvKiBGcmFtZXdvcmtzICovID0geworCQkJaXNhID0gUEJYRnJhbWV3b3Jrc0J1aWxk
UGhhc2U7CisJCQlidWlsZEFjdGlvbk1hc2sgPSAyMTQ3NDgzNjQ3OworCQkJZmlsZXMgPSAoCisJ
CQkpOworCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CisJCX07CiAJ
CTBGRjkyMkM2MTRGNDZCMTMwMDQxQTI0RSAvKiBGcmFtZXdvcmtzICovID0gewogCQkJaXNhID0g
UEJYRnJhbWV3b3Jrc0J1aWxkUGhhc2U7CiAJCQlidWlsZEFjdGlvbk1hc2sgPSAyMTQ3NDgzNjQ3
OwpAQCAtMjQ5OSw2ICsyNTQyLDcgQEAKIAkJCQkxNDEyMTEyMDBBNDg3OTNDMDA0ODAyNTUgLyog
bWluaWRvbSAqLywKIAkJCQkxNEJENTlCRjBBM0U4RjkwMDBCQUY1OUMgLyogdGVzdGFwaSAqLywK
IAkJCQk2NTExMjMwNTE0MDQ2QTRDMDAyQjEwMUQgLyogdGVzdFJlZ0V4cCAqLywKKwkJCQkwRkNF
RkFCNjE4MDVENjE2MDA0NzJDRTQgLyogbGlibGx2bUZvckpTQy5keWxpYiAqLywKIAkJCSk7CiAJ
CQluYW1lID0gUHJvZHVjdHM7CiAJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOwpAQCAtMjUzMSw2
ICsyNTc1LDcgQEAKIAkJCQkxNDI5RDc3QTBFRDIwRDczMDBCODk2MTkgLyogaW50ZXJwcmV0ZXIg
Ki8sCiAJCQkJMTQyOUQ5MkMwRUQyMkQ3MDAwQjg5NjE5IC8qIGppdCAqLywKIAkJCQkwRjQ2ODA5
QzE0QkE3RjREMDBCRkUyNzIgLyogbGxpbnQgKi8sCisJCQkJMEZDRUZBQUQxODA1Q0E0NDAwNDcy
Q0U0IC8qIGxsdm0gKi8sCiAJCQkJN0UzOUQ4MzcwRUMzQTM4ODAwM0FGMTFBIC8qIHBhcnNlciAq
LywKIAkJCQkwMzQ3NjhERkZGMzhBNTA0MTFEQjlDOEIgLyogUHJvZHVjdHMgKi8sCiAJCQkJOTVB
QjgzMUEwREE0MkM2OTAwQkM4M0YzIC8qIHByb2ZpbGVyICovLApAQCAtMjU4OCw2ICsyNjMzLDM1
IEBACiAJCQluYW1lID0gbGxpbnQ7CiAJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOwogCQl9Owor
CQkwRkNFRkFBRDE4MDVDQTQ0MDA0NzJDRTQgLyogbGx2bSAqLyA9IHsKKwkJCWlzYSA9IFBCWEdy
b3VwOworCQkJY2hpbGRyZW4gPSAoCisJCQkJMEZDRUZBQkYxODA1RDk0MTAwNDcyQ0U0IC8qIGxp
YnJhcnkgKi8sCisJCQkJMEZDRUZBQzQxODA1RTc1NTAwNDcyQ0U0IC8qIEluaXRpYWxpemVMTFZN
LmNwcCAqLywKKwkJCQkwRkNFRkFBRTE4MDVDQTZEMDA0NzJDRTQgLyogSW5pdGlhbGl6ZUxMVk0u
aCAqLywKKwkJCQkwRkNFRkFBRjE4MDVDQTZEMDA0NzJDRTQgLyogSW5pdGlhbGl6ZUxMVk1NYWMu
bW0gKi8sCisJCQkJMEZDRUZBQzUxODA1RTc1NTAwNDcyQ0U0IC8qIEluaXRpYWxpemVMTFZNUE9T
SVguY3BwICovLAorCQkJCTBGQ0VGQUM2MTgwNUU3NTUwMDQ3MkNFNCAvKiBJbml0aWFsaXplTExW
TVBPU0lYLmggKi8sCisJCQkJMEZDRUZBQzcxODA1RTc1NTAwNDcyQ0U0IC8qIExMVk1BUEkuY3Bw
ICovLAorCQkJCTBGQ0VGQUM4MTgwNUU3NTUwMDQ3MkNFNCAvKiBMTFZNQVBJLmggKi8sCisJCQkJ
MEZDRUZBQzkxODA1RTc1NTAwNDcyQ0U0IC8qIExMVk1BUElGdW5jdGlvbnMuaCAqLywKKwkJCQkw
RkNFRkFEMjE4MDVFRENDMDA0NzJDRTQgLyogTExWTUhlYWRlcnMuaCAqLywKKwkJCSk7CisJCQlu
YW1lID0gbGx2bTsKKwkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CisJCX07CisJCTBGQ0VGQUJG
MTgwNUQ5NDEwMDQ3MkNFNCAvKiBsaWJyYXJ5ICovID0geworCQkJaXNhID0gUEJYR3JvdXA7CisJ
CQljaGlsZHJlbiA9ICgKKwkJCQkwRkNFRkFEQjE4MDY0QTE0MDA0NzJDRTQgLyogY29uZmlnX2xs
dm0uaCAqLywKKwkJCQkwRkNFRkFENjE4MDYxNzQ2MDA0NzJDRTQgLyogTExWTUFuY2hvci5jcHAg
Ki8sCisJCQkJMEZDRUZBQzIxODA1RTc0MDAwNDcyQ0U0IC8qIExMVk1FeHBvcnRzLmNwcCAqLywK
KwkJCQkwRkNFRkFDMDE4MDVEOTQxMDA0NzJDRTQgLyogTExWTU92ZXJyaWRlcy5jcHAgKi8sCisJ
CQkpOworCQkJbmFtZSA9IGxpYnJhcnk7CisJCQlwYXRoID0gbGx2bS9saWJyYXJ5OworCQkJc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsKKwkJfTsKIAkJMEZFQTA5RkMxNzA1MTM3RjAwQkI3MjJDIC8q
IGZ0bCAqLyA9IHsKIAkJCWlzYSA9IFBCWEdyb3VwOwogCQkJY2hpbGRyZW4gPSAoCkBAIC0yNjUx
LDcgKzI3MjUsNiBAQAogCQkJCTBGREIyQ0M4MTczREE1MUUwMDdCM0MxQiAvKiBGVExWYWx1ZUZy
b21CbG9jay5oICovLAogCQkJCTBGMjM1QkNGMTcxNzhFMUMwMDY5MEM3RiAvKiBGVExWYWx1ZVNv
dXJjZS5jcHAgKi8sCiAJCQkJMEYyMzVCRDAxNzE3OEUxQzAwNjkwQzdGIC8qIEZUTFZhbHVlU291
cmNlLmggKi8sCi0JCQkJMEY2RTVDMTgxNzI0QUYzRDAwNUM1NzRGIC8qIFdlYktpdExMVk1MaWJy
YXJ5QW5jaG9yLmNwcCAqLywKIAkJCSk7CiAJCQluYW1lID0gZnRsOwogCQkJc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsKQEAgLTMwMDgsNiArMzA4MSw3IEBACiAJCTFDOTA1MTNFMEJBOUU4ODMwMDgx
RTlEMCAvKiBDb25maWd1cmF0aW9ucyAqLyA9IHsKIAkJCWlzYSA9IFBCWEdyb3VwOwogCQkJY2hp
bGRyZW4gPSAoCisJCQkJMEZDRUZBQkUxODA1RDg2OTAwNDcyQ0U0IC8qIExMVk1Gb3JKU0MueGNj
b25maWcgKi8sCiAJCQkJMUM5MDUxNDUwQkE5RThBNzAwODFFOUQwIC8qIEJhc2UueGNjb25maWcg
Ki8sCiAJCQkJMUM5MDUxNDQwQkE5RThBNzAwODFFOUQwIC8qIERlYnVnUmVsZWFzZS54Y2NvbmZp
ZyAqLywKIAkJCQk0NDkwOTdFRTBGOEY4MUI1MDA3NkEzMjcgLyogRmVhdHVyZURlZmluZXMueGNj
b25maWcgKi8sCkBAIC0zODgyLDYgKzM5NTYsMTcgQEAKIC8qIEVuZCBQQlhHcm91cCBzZWN0aW9u
ICovCiAKIC8qIEJlZ2luIFBCWEhlYWRlcnNCdWlsZFBoYXNlIHNlY3Rpb24gKi8KKwkJMEZDRUZB
QjQxODA1RDYxNjAwNDcyQ0U0IC8qIEhlYWRlcnMgKi8gPSB7CisJCQlpc2EgPSBQQlhIZWFkZXJz
QnVpbGRQaGFzZTsKKwkJCWJ1aWxkQWN0aW9uTWFzayA9IDIxNDc0ODM2NDc7CisJCQlmaWxlcyA9
ICgKKwkJCQkwRkNFRkFENDE4MDVFRENDMDA0NzJDRTQgLyogTExWTUhlYWRlcnMuaCBpbiBIZWFk
ZXJzICovLAorCQkJCTBGQ0VGQURBMTgwNjIwREEwMDQ3MkNFNCAvKiBMTFZNQVBJLmggaW4gSGVh
ZGVycyAqLywKKwkJCQkwRkNFRkFEMTE4MDVFNzc5MDA0NzJDRTQgLyogTExWTUFQSUZ1bmN0aW9u
cy5oIGluIEhlYWRlcnMgKi8sCisJCQkJMEZDRUZBREMxODA2NEExNDAwNDcyQ0U0IC8qIGNvbmZp
Z19sbHZtLmggaW4gSGVhZGVycyAqLywKKwkJCSk7CisJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBv
c3Rwcm9jZXNzaW5nID0gMDsKKwkJfTsKIAkJMTQ0MDA1QzcwQTUzMzhDNjAwMDVGMDYxIC8qIEhl
YWRlcnMgKi8gPSB7CiAJCQlpc2EgPSBQQlhIZWFkZXJzQnVpbGRQaGFzZTsKIAkJCWJ1aWxkQWN0
aW9uTWFzayA9IDIxNDc0ODM2NDc7CkBAIC0zOTQwLDYgKzQwMjUsNyBAQAogCQkJCTBGMEI4M0Ix
MTRCQ0Y3MTgwMDg4NUI0RiAvKiBDYWxsTGlua0luZm8uaCBpbiBIZWFkZXJzICovLAogCQkJCTBG
OTMzMjlFMTRDQTdEQzUwMDg1RjNDNiAvKiBDYWxsTGlua1N0YXR1cy5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJMEYwQjgzQjkxNEJDRjk1RjAwODg1QjRGIC8qIENhbGxSZXR1cm5PZmZzZXRUb0J5dGVj
b2RlT2Zmc2V0LmggaW4gSGVhZGVycyAqLywKKwkJCQkwRkNFRkFEMzE4MDVFRENDMDA0NzJDRTQg
LyogTExWTUhlYWRlcnMuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDNkFBQUU1MEUxRjQyNjUwMEFE
ODdEOCAvKiBDbGFzc0luZm8uaCBpbiBIZWFkZXJzICovLAogCQkJCTBGNzNEN0FGMTY1QTE0MzAw
MEFDQUI3MSAvKiBDbG9zdXJlQ2FsbFN0dWJSb3V0aW5lLmggaW4gSGVhZGVycyAqLywKIAkJCQk5
NjlBMDc5NzBFRDFEM0FFMDBGMUY2ODEgLyogQ29kZUJsb2NrLmggaW4gSGVhZGVycyAqLywKQEAg
LTM5NzAsNiArNDA1Niw3IEBACiAJCQkJQzIyMzlEMTgxNjI2MkJERDAwNUFDNUZEIC8qIENvcHlW
aXNpdG9yLmggaW4gSGVhZGVycyAqLywKIAkJCQlDMjIzOUQxOTE2MjYyQkREMDA1QUM1RkQgLyog
Q29weVZpc2l0b3JJbmxpbmVzLmggaW4gSGVhZGVycyAqLywKIAkJCQlDMjE4RDE0MDE2NTVDRkQ1
MDA2MkJCODEgLyogQ29weVdvcmtMaXN0LmggaW4gSGVhZGVycyAqLywKKwkJCQkwRkNFRkFDRjE4
MDVFNzU1MDA0NzJDRTQgLyogTExWTUFQSUZ1bmN0aW9ucy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
NURFNkU1QjMwRTE3MjhFQzAwMTgwNDA3IC8qIGNyZWF0ZV9oYXNoX3RhYmxlIGluIEhlYWRlcnMg
Ki8sCiAJCQkJMEY0MjZBNEIxNDYwQ0Q2RTAwMTMxRjhGIC8qIERhdGFGb3JtYXQuaCBpbiBIZWFk
ZXJzICovLAogCQkJCTBGMkI2NkRGMTdCNkI1QUIwMEE3QUUzRiAvKiBEYXRhVmlldy5oIGluIEhl
YWRlcnMgKi8sCkBAIC00MDg3LDYgKzQxNzQsNyBAQAogCQkJCTg2RUM5REQzMTMyOERGODIwMDJC
MkFENyAvKiBERkdTcGVjdWxhdGl2ZUpJVC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTdEODlEMDAx
N0EwQjhDQzAwNzczQUQ4IC8qIERGR1NTQUNvbnZlcnNpb25QaGFzZS5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJMEY2Mzk0NzgxNURDRTM0QjAwNkE1OTdDIC8qIERGR1N0cnVjdHVyZUFic3RyYWN0VmFs
dWUuaCBpbiBIZWFkZXJzICovLAorCQkJCTBGQ0VGQUNDMTgwNUU3NTUwMDQ3MkNFNCAvKiBJbml0
aWFsaXplTExWTVBPU0lYLmggaW4gSGVhZGVycyAqLywKIAkJCQkwRkMwOTdBMjE0NkIyOENDMDBD
RjI0NDIgLyogREZHVGh1bmtzLmggaW4gSGVhZGVycyAqLywKIAkJCQkwRjYzOTQzRjE1Qzc1RjE5
MDA2QTU5N0MgLyogREZHVHlwZUNoZWNrSG9pc3RpbmdQaGFzZS5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJMEZCRTBGNzcxNkMxREIxMjAwODJDNUU4IC8qIERGR1VuaWZpY2F0aW9uUGhhc2UuaCBpbiBI
ZWFkZXJzICovLApAQCAtNDE5Myw2ICs0MjgxLDcgQEAKIAkJCQlBNzg4NTNGQTE3OTcyNjI5MDAx
NDQwRTQgLyogSW50ZW5kZWRTdHJ1Y3R1cmVDaGFpbi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkMx
MTY2N0IwRTE5OUMwNTAwODA2NkREIC8qIEludGVybmFsRnVuY3Rpb24uaCBpbiBIZWFkZXJzICov
LAogCQkJCTE0MjlENzdDMEVEMjBENzMwMEI4OTYxOSAvKiBJbnRlcnByZXRlci5oIGluIEhlYWRl
cnMgKi8sCisJCQkJMEZDRUZBQjAxODA1Q0E2RDAwNDcyQ0U0IC8qIEluaXRpYWxpemVMTFZNLmgg
aW4gSGVhZGVycyAqLywKIAkJCQk4NjBCRDgwMTE0OEVBNkYyMDAxMTJCMkYgLyogSW50cmluc2lj
LmggaW4gSGVhZGVycyAqLywKIAkJCQlCQzE4QzQxMzBFMTZGNUNEMDBCMzQ0NjAgLyogSmF2YVNj
cmlwdC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkMxOEM0MTQwRTE2RjVDRDAwQjM0NDYwIC8qIEph
dmFTY3JpcHRDb3JlLmggaW4gSGVhZGVycyAqLywKQEAgLTQyNDYsNiArNDMzNSw3IEBACiAJCQkJ
QTcyMDI4QjgxNzk3NjAxRTAwOTgwMjhDIC8qIEpTQ1Rlc3RSdW5uZXJVdGlscy5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJMEYyQjY2RUMxN0I2QjVBQjAwQTdBRTNGIC8qIEpTRGF0YVZpZXcuaCBpbiBI
ZWFkZXJzICovLAogCQkJCTBGMkI2NkVFMTdCNkI1QUIwMEE3QUUzRiAvKiBKU0RhdGFWaWV3UHJv
dG90eXBlLmggaW4gSGVhZGVycyAqLywKKwkJCQkwRkNFRkFDRTE4MDVFNzU1MDA0NzJDRTQgLyog
TExWTUFQSS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTc4ODAxNDExNDcxQUQ5MjAwNDFCMDE2IC8q
IEpTRGF0ZU1hdGguaCBpbiBIZWFkZXJzICovLAogCQkJCUMyQTdGNjg4MTYwNDMyRDQwMEY3NkI5
OCAvKiBKU0Rlc3RydWN0aWJsZU9iamVjdC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJODZFM0M2MTQx
NjdCQUJENzAwNkQ3NjBBIC8qIEpTRXhwb3J0LmggaW4gSGVhZGVycyAqLywKQEAgLTQ1NjMsNiAr
NDY1MywyMyBAQAogLyogRW5kIFBCWEhlYWRlcnNCdWlsZFBoYXNlIHNlY3Rpb24gKi8KIAogLyog
QmVnaW4gUEJYTmF0aXZlVGFyZ2V0IHNlY3Rpb24gKi8KKwkJMEZDRUZBQjUxODA1RDYxNjAwNDcy
Q0U0IC8qIGxsdm1Gb3JKU0MgKi8gPSB7CisJCQlpc2EgPSBQQlhOYXRpdmVUYXJnZXQ7CisJCQli
dWlsZENvbmZpZ3VyYXRpb25MaXN0ID0gMEZDRUZBQjcxODA1RDYxNjAwNDcyQ0U0IC8qIEJ1aWxk
IGNvbmZpZ3VyYXRpb24gbGlzdCBmb3IgUEJYTmF0aXZlVGFyZ2V0ICJsbHZtRm9ySlNDIiAqLzsK
KwkJCWJ1aWxkUGhhc2VzID0gKAorCQkJCTBGQ0VGQUIyMTgwNUQ2MTYwMDQ3MkNFNCAvKiBTb3Vy
Y2VzICovLAorCQkJCTBGQ0VGQUIzMTgwNUQ2MTYwMDQ3MkNFNCAvKiBGcmFtZXdvcmtzICovLAor
CQkJCTBGQ0VGQUI0MTgwNUQ2MTYwMDQ3MkNFNCAvKiBIZWFkZXJzICovLAorCQkJKTsKKwkJCWJ1
aWxkUnVsZXMgPSAoCisJCQkpOworCQkJZGVwZW5kZW5jaWVzID0gKAorCQkJKTsKKwkJCW5hbWUg
PSBsbHZtRm9ySlNDOworCQkJcHJvZHVjdE5hbWUgPSBsbHZtRm9ySlNDOworCQkJcHJvZHVjdFJl
ZmVyZW5jZSA9IDBGQ0VGQUI2MTgwNUQ2MTYwMDQ3MkNFNCAvKiBsaWJsbHZtRm9ySlNDLmR5bGli
ICovOworCQkJcHJvZHVjdFR5cGUgPSAiY29tLmFwcGxlLnByb2R1Y3QtdHlwZS5saWJyYXJ5LmR5
bmFtaWMiOworCQl9OwogCQkwRkY5MjJDMzE0RjQ2QjEzMDA0MUEyNEUgLyogSlNDTExJbnRPZmZz
ZXRzRXh0cmFjdG9yICovID0gewogCQkJaXNhID0gUEJYTmF0aXZlVGFyZ2V0OwogCQkJYnVpbGRD
b25maWd1cmF0aW9uTGlzdCA9IDBGRjkyMkNBMTRGNDZCMTMwMDQxQTI0RSAvKiBCdWlsZCBjb25m
aWd1cmF0aW9uIGxpc3QgZm9yIFBCWE5hdGl2ZVRhcmdldCAiSlNDTExJbnRPZmZzZXRzRXh0cmFj
dG9yIiAqLzsKQEAgLTQ2NDMsNiArNDc1MCw3IEBACiAJCQkJMzczMjgxMUExN0ZDRDIzNTAwNEFE
NTE5IC8qIFBvc3Rwcm9jZXNzIEhlYWRlcnMgKi8sCiAJCQkJOTMyRjVCOTEwODIyQTFDNzAwNzM2
OTc1IC8qIFNvdXJjZXMgKi8sCiAJCQkJOTMyRjVCRDIwODIyQTFDNzAwNzM2OTc1IC8qIEZyYW1l
d29ya3MgKi8sCisJCQkJMEZDRUZBRDkxODA2MTkxODAwNDcyQ0U0IC8qIENvcHkgTExWTSBMaWJy
YXJ5IEludG8gRnJhbWV3b3JrICovLAogCQkJCTVEMjlEOEJFMEU5ODYwQjQwMEMzRDJEMCAvKiBD
aGVjayBGb3IgV2VhayBWVGFibGVzIGFuZCBFeHRlcm5hbHMgKi8sCiAJCQkJMzcxM0YwMTQxNDI5
MDUyNDAwMzYzODdGIC8qIENoZWNrIEZvciBJbmFwcHJvcHJpYXRlIE9iamVjdGl2ZS1DIENsYXNz
IE5hbWVzICovLAogCQkJCUE1NURFQUE0MTY3MDNERjcwMDNEQjg0MSAvKiBDaGVjayBGb3IgSW5h
cHByb3ByaWF0ZSBNYWNyb3MgaW4gRXh0ZXJuYWwgSGVhZGVycyAqLywKQEAgLTQ2NTAsNiArNDc1
OCw3IEBACiAJCQlidWlsZFJ1bGVzID0gKAogCQkJKTsKIAkJCWRlcGVuZGVuY2llcyA9ICgKKwkJ
CQkwRkNFRkFCRDE4MDVENjYzMDA0NzJDRTQgLyogUEJYVGFyZ2V0RGVwZW5kZW5jeSAqLywKIAkJ
CQk2NUZCM0Y3RTA5RDExRUYzMDBGNDlERUIgLyogUEJYVGFyZ2V0RGVwZW5kZW5jeSAqLywKIAkJ
CSk7CiAJCQluYW1lID0gSmF2YVNjcmlwdENvcmU7CkBAIC00NzEwLDYgKzQ4MTksNyBAQAogCQkJ
CTBGNDY4MEE5MTRCQTdGRDkwMEJGRTI3MiAvKiBMTEludCBPZmZzZXRzICovLAogCQkJCTBGRjky
MkMzMTRGNDZCMTMwMDQxQTI0RSAvKiBKU0NMTEludE9mZnNldHNFeHRyYWN0b3IgKi8sCiAJCQkJ
NUQ2QjJBNDcxNTJCOUUxNzAwNTIzMURFIC8qIFRlc3QgVG9vbHMgKi8sCisJCQkJMEZDRUZBQjUx
ODA1RDYxNjAwNDcyQ0U0IC8qIGxsdm1Gb3JKU0MgKi8sCiAJCQkpOwogCQl9OwogLyogRW5kIFBC
WFByb2plY3Qgc2VjdGlvbiAqLwpAQCAtNDczMSw2ICs0ODQxLDIxIEBACiAJCQlzaGVsbFBhdGgg
PSAvYmluL3NoOwogCQkJc2hlbGxTY3JpcHQgPSAibWtkaXIgLXAgXCIke0JVSUxUX1BST0RVQ1RT
X0RJUn0vTExJbnRPZmZzZXRzL1wiXG5cbi91c3IvYmluL2VudiBydWJ5IFwiJHtTUkNST09UfS9v
ZmZsaW5lYXNtL2dlbmVyYXRlX29mZnNldF9leHRyYWN0b3IucmJcIiBcIiR7U1JDUk9PVH0vbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc21cIiBcIiR7QlVJTFRfUFJPRFVDVFNfRElSfS9MTElu
dE9mZnNldHMvTExJbnREZXNpcmVkT2Zmc2V0cy5oXCJcbiI7CiAJCX07CisJCTBGQ0VGQUQ5MTgw
NjE5MTgwMDQ3MkNFNCAvKiBDb3B5IExMVk0gTGlicmFyeSBJbnRvIEZyYW1ld29yayAqLyA9IHsK
KwkJCWlzYSA9IFBCWFNoZWxsU2NyaXB0QnVpbGRQaGFzZTsKKwkJCWJ1aWxkQWN0aW9uTWFzayA9
IDIxNDc0ODM2NDc7CisJCQlmaWxlcyA9ICgKKwkJCSk7CisJCQlpbnB1dFBhdGhzID0gKAorCQkJ
CSIkKEJVSUxUX1BST0RVQ1RTX0RJUikvbGlibGx2bUZvckpTQy5keWxpYiIsCisJCQkpOworCQkJ
bmFtZSA9ICJDb3B5IExMVk0gTGlicmFyeSBJbnRvIEZyYW1ld29yayI7CisJCQlvdXRwdXRQYXRo
cyA9ICgKKwkJCSk7CisJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsK
KwkJCXNoZWxsUGF0aCA9IC9iaW4vc2g7CisJCQlzaGVsbFNjcmlwdCA9ICJpZiBbWyAkRU5BQkxF
X0ZUTF9KSVQgIT0gXCJFTkFCTEVfRlRMX0pJVFwiIF1dXG50aGVuXG4gICAgZXhpdCAwXG5maVxu
XG4jIENvcHkgdGhlIGxsdm1Gb3JKU0MgbGlicmFyeSBpbnRvIHRoZSBmcmFtZXdvcmsuXG5kaXR0
byBcIiR7QlVJTFRfUFJPRFVDVFNfRElSfS9saWJsbHZtRm9ySlNDLmR5bGliXCIgXCIke0JVSUxU
X1BST0RVQ1RTX0RJUn0vJHtDT05URU5UU19GT0xERVJfUEFUSH0vTGlicmFyaWVzL2xpYmxsdm1G
b3JKU0MuZHlsaWJcIlxuaWYgWyAhIC1lIFwiJHtCVUlMVF9QUk9EVUNUU19ESVJ9LyR7V1JBUFBF
Ul9OQU1FfS9MaWJyYXJpZXNcIiBdXG50aGVuXG4gICAgbG4gLWZzIFwiVmVyc2lvbnMvQ3VycmVu
dC9MaWJyYXJpZXNcIiBcIiR7QlVJTFRfUFJPRFVDVFNfRElSfS8ke1dSQVBQRVJfTkFNRX0vTGli
cmFyaWVzXCJcbmZpIjsKKwkJfTsKIAkJMzcxM0YwMTQxNDI5MDUyNDAwMzYzODdGIC8qIENoZWNr
IEZvciBJbmFwcHJvcHJpYXRlIE9iamVjdGl2ZS1DIENsYXNzIE5hbWVzICovID0gewogCQkJaXNh
ID0gUEJYU2hlbGxTY3JpcHRCdWlsZFBoYXNlOwogCQkJYnVpbGRBY3Rpb25NYXNrID0gMjE0NzQ4
MzY0NzsKQEAgLTQ3NzgsNyArNDkwMyw3IEBACiAJCQkpOwogCQkJcnVuT25seUZvckRlcGxveW1l
bnRQb3N0cHJvY2Vzc2luZyA9IDA7CiAJCQlzaGVsbFBhdGggPSAvYmluL3NoOwotCQkJc2hlbGxT
Y3JpcHQgPSAiIyBGSVhNRTogPHJkYXI6Ly9wcm9ibGVtLzEzNTM5ODg4PiBMTFZNIGxpYnJhcmll
cyBzaG91bGRuJ3QgaGF2ZSB3ZWFrIHZ0YWJsZXNcbmV4aXQgMFxuXG5pZiBbIC1mIC4uLy4uL1Rv
b2xzL1NjcmlwdHMvY2hlY2stZm9yLXdlYWstdnRhYmxlcy1hbmQtZXh0ZXJuYWxzIF07IHRoZW5c
biAgICAuLi8uLi9Ub29scy9TY3JpcHRzL2NoZWNrLWZvci13ZWFrLXZ0YWJsZXMtYW5kLWV4dGVy
bmFscyB8fCBleGl0ICQ/XG5maSI7CisJCQlzaGVsbFNjcmlwdCA9ICJpZiBbIC1mIC4uLy4uL1Rv
b2xzL1NjcmlwdHMvY2hlY2stZm9yLXdlYWstdnRhYmxlcy1hbmQtZXh0ZXJuYWxzIF07IHRoZW5c
biAgICAuLi8uLi9Ub29scy9TY3JpcHRzL2NoZWNrLWZvci13ZWFrLXZ0YWJsZXMtYW5kLWV4dGVy
bmFscyB8fCBleGl0ICQ/XG5maSI7CiAJCX07CiAJCTVEMkY3Q0Y5MEM2ODc1QkIwMEI1QjcyQiAv
KiBVcGRhdGUgSW5mby5wbGlzdCB3aXRoIHZlcnNpb24gaW5mb3JtYXRpb24gKi8gPSB7CiAJCQlp
c2EgPSBQQlhTaGVsbFNjcmlwdEJ1aWxkUGhhc2U7CkBAIC00ODc2LDYgKzUwMDEsMTYgQEAKIC8q
IEVuZCBQQlhTaGVsbFNjcmlwdEJ1aWxkUGhhc2Ugc2VjdGlvbiAqLwogCiAvKiBCZWdpbiBQQlhT
b3VyY2VzQnVpbGRQaGFzZSBzZWN0aW9uICovCisJCTBGQ0VGQUIyMTgwNUQ2MTYwMDQ3MkNFNCAv
KiBTb3VyY2VzICovID0geworCQkJaXNhID0gUEJYU291cmNlc0J1aWxkUGhhc2U7CisJCQlidWls
ZEFjdGlvbk1hc2sgPSAyMTQ3NDgzNjQ3OworCQkJZmlsZXMgPSAoCisJCQkJMEZDRUZBQzMxODA1
RTc0MDAwNDcyQ0U0IC8qIExMVk1FeHBvcnRzLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTBGQ0VG
QUQ3MTgwNjE3NDYwMDQ3MkNFNCAvKiBMTFZNQW5jaG9yLmNwcCBpbiBTb3VyY2VzICovLAorCQkJ
CTBGQ0VGQUMxMTgwNUQ5NEUwMDQ3MkNFNCAvKiBMTFZNT3ZlcnJpZGVzLmNwcCBpbiBTb3VyY2Vz
ICovLAorCQkJKTsKKwkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwor
CQl9OwogCQkwRkY5MjJDNDE0RjQ2QjEzMDA0MUEyNEUgLyogU291cmNlcyAqLyA9IHsKIAkJCWlz
YSA9IFBCWFNvdXJjZXNCdWlsZFBoYXNlOwogCQkJYnVpbGRBY3Rpb25NYXNrID0gMjE0NzQ4MzY0
NzsKQEAgLTQ5MzYsNiArNTA3MSw3IEBACiAJCQkJMTQyODA4NjUxMDdFQzExQTAwMTNFN0IyIC8q
IEJvb2xlYW5Qcm90b3R5cGUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMTQ4RjIxQUExMDdFQzUz
QTAwNDJFQzJDIC8qIEJ5dGVjb2RlR2VuZXJhdG9yLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTE0
MjgwODJEMTA3RUMwNTcwMDEzRTdCMiAvKiBDYWxsRGF0YS5jcHAgaW4gU291cmNlcyAqLywKKwkJ
CQkwRkNFRkFCMTE4MDVDQTZEMDA0NzJDRTQgLyogSW5pdGlhbGl6ZUxMVk1NYWMubW0gaW4gU291
cmNlcyAqLywKIAkJCQkxNDI5RDhERDBFRDIyMDVCMDBCODk2MTkgLyogQ2FsbEZyYW1lLmNwcCBp
biBTb3VyY2VzICovLAogCQkJCTBGMEI4M0IwMTRCQ0Y3MTYwMDg4NUI0RiAvKiBDYWxsTGlua0lu
Zm8uY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMEY5MzMyOUQxNENBN0RDMzAwODVGM0M2IC8qIENh
bGxMaW5rU3RhdHVzLmNwcCBpbiBTb3VyY2VzICovLApAQCAtNTA3NSw2ICs1MjExLDcgQEAKIAkJ
CQkwRjIzNUJEMTE3MTc4RTFDMDA2OTBDN0YgLyogRlRMQ0FyZ3VtZW50R2V0dGVyLmNwcCBpbiBT
b3VyY2VzICovLAogCQkJCTBGRUEwQTI3MTcwOTYyM0IwMEJCNzIyQyAvKiBGVExDb21tb25WYWx1
ZXMuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMEZFQTBBMEIxNzA1MTNEQjAwQkI3MjJDIC8qIEZU
TENvbXBpbGUuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMEZDRUZBQ0QxODA1RTc1NTAwNDcyQ0U0
IC8qIExMVk1BUEkuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMEYyMzVCRDMxNzE3OEUxQzAwNjkw
QzdGIC8qIEZUTEV4aXRBcmd1bWVudC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkwRjIzNUJENTE3
MTc4RTFDMDA2OTBDN0YgLyogRlRMRXhpdEFyZ3VtZW50Rm9yT3BlcmFuZC5jcHAgaW4gU291cmNl
cyAqLywKIAkJCQkwRjIzNUJEODE3MTc4RTFDMDA2OTBDN0YgLyogRlRMRXhpdFRodW5rR2VuZXJh
dG9yLmNwcCBpbiBTb3VyY2VzICovLApAQCAtNTA5Miw2ICs1MjI5LDcgQEAKIAkJCQkwRjIzNUJF
MTE3MTc4RTFDMDA2OTBDN0YgLyogRlRMVGh1bmtzLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTBG
MjM1QkUzMTcxNzhFMUMwMDY5MEM3RiAvKiBGVExWYWx1ZUZvcm1hdC5jcHAgaW4gU291cmNlcyAq
LywKIAkJCQkwRjIzNUJFNTE3MTc4RTFDMDA2OTBDN0YgLyogRlRMVmFsdWVTb3VyY2UuY3BwIGlu
IFNvdXJjZXMgKi8sCisJCQkJMEZDRUZBQ0ExODA1RTc1NTAwNDcyQ0U0IC8qIEluaXRpYWxpemVM
TFZNLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTE0N0YzOUNCMTA3RUMzNzYwMDQyN0E0OCAvKiBG
dW5jdGlvbkNvbnN0cnVjdG9yLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTBGRjBGMTlGMTZCNzJB
MTcwMDVERjk1QiAvKiBGdW5jdGlvbkV4ZWN1dGFibGVEdW1wLmNwcCBpbiBTb3VyY2VzICovLAog
CQkJCTE0N0YzOUNDMTA3RUMzNzYwMDQyN0E0OCAvKiBGdW5jdGlvblByb3RvdHlwZS5jcHAgaW4g
U291cmNlcyAqLywKQEAgLTUyNTksNiArNTM5Nyw3IEBACiAJCQkJOTVBQjgzNTYwREE0M0MzMDAw
QkM4M0YzIC8qIFByb2ZpbGVOb2RlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTBGRjcyOUFEMTY2
QUQzNUMwMDBGNUJBMyAvKiBQcm9maWxlckJ5dGVjb2RlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJ
CTBGRjcyOUFFMTY2QUQzNUMwMDBGNUJBMyAvKiBQcm9maWxlckJ5dGVjb2Rlcy5jcHAgaW4gU291
cmNlcyAqLywKKwkJCQkwRkNFRkFDQjE4MDVFNzU1MDA0NzJDRTQgLyogSW5pdGlhbGl6ZUxMVk1Q
T1NJWC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkwRjEzOTEyOTE2NzcxQzMzMDA5Q0NCMDcgLyog
UHJvZmlsZXJCeXRlY29kZVNlcXVlbmNlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTBGRjcyOUFG
MTY2QUQzNUMwMDBGNUJBMyAvKiBQcm9maWxlckNvbXBpbGF0aW9uLmNwcCBpbiBTb3VyY2VzICov
LAogCQkJCTBGRjcyOUIwMTY2QUQzNUMwMDBGNUJBMyAvKiBQcm9maWxlckNvbXBpbGF0aW9uS2lu
ZC5jcHAgaW4gU291cmNlcyAqLywKQEAgLTUzMzgsNyArNTQ3Nyw2IEBACiAJCQkJMTRFODRGOUUx
NEVFMUFDQzAwRDZENUQ0IC8qIFdlYWtCbG9jay5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkxNEY3
MjU2NTE0RUUyNjVFMDBCMTY1MkIgLyogV2Vha0hhbmRsZU93bmVyLmNwcCBpbiBTb3VyY2VzICov
LAogCQkJCTE0RTg0RkEwMTRFRTFBQ0MwMEQ2RDVENCAvKiBXZWFrU2V0LmNwcCBpbiBTb3VyY2Vz
ICovLAotCQkJCTBGNkU1QzE5MTcyNEFGM0QwMDVDNTc0RiAvKiBXZWJLaXRMTFZNTGlicmFyeUFu
Y2hvci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkwRkM4MTUwQjE0MDQzQzBFMDBDRkE2MDMgLyog
V3JpdGVCYXJyaWVyU3VwcG9ydC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkwRjI0RTU1ODE3Rjc0
RURCMDBBQkIyMTcgLyogVmFsdWVSZWNvdmVyeS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlBN0U1
QUIzQTE3OTlFNEIyMDBEMjgzM0QgLyogWDg2RGlzYXNzZW1ibGVyLmNwcCBpbiBTb3VyY2VzICov
LApAQCAtNTM2MSw2ICs1NDk5LDExIEBACiAvKiBFbmQgUEJYU291cmNlc0J1aWxkUGhhc2Ugc2Vj
dGlvbiAqLwogCiAvKiBCZWdpbiBQQlhUYXJnZXREZXBlbmRlbmN5IHNlY3Rpb24gKi8KKwkJMEZD
RUZBQkQxODA1RDY2MzAwNDcyQ0U0IC8qIFBCWFRhcmdldERlcGVuZGVuY3kgKi8gPSB7CisJCQlp
c2EgPSBQQlhUYXJnZXREZXBlbmRlbmN5OworCQkJdGFyZ2V0ID0gMEZDRUZBQjUxODA1RDYxNjAw
NDcyQ0U0IC8qIGxsdm1Gb3JKU0MgKi87CisJCQl0YXJnZXRQcm94eSA9IDBGQ0VGQUJDMTgwNUQ2
NjMwMDQ3MkNFNCAvKiBQQlhDb250YWluZXJJdGVtUHJveHkgKi87CisJCX07CiAJCTBGRjkyMkQz
MTRGNDZCMkYwMDQxQTI0RSAvKiBQQlhUYXJnZXREZXBlbmRlbmN5ICovID0gewogCQkJaXNhID0g
UEJYVGFyZ2V0RGVwZW5kZW5jeTsKIAkJCXRhcmdldCA9IDBGNDY4MEE5MTRCQTdGRDkwMEJGRTI3
MiAvKiBMTEludCBPZmZzZXRzICovOwpAQCAtNTQzNyw2ICs1NTgwLDM0IEBACiAJCQl9OwogCQkJ
bmFtZSA9IFByb2R1Y3Rpb247CiAJCX07CisJCTBGQ0VGQUI4MTgwNUQ2MTYwMDQ3MkNFNCAvKiBE
ZWJ1ZyAqLyA9IHsKKwkJCWlzYSA9IFhDQnVpbGRDb25maWd1cmF0aW9uOworCQkJYmFzZUNvbmZp
Z3VyYXRpb25SZWZlcmVuY2UgPSAwRkNFRkFCRTE4MDVEODY5MDA0NzJDRTQgLyogTExWTUZvckpT
Qy54Y2NvbmZpZyAqLzsKKwkJCWJ1aWxkU2V0dGluZ3MgPSB7CisJCQl9OworCQkJbmFtZSA9IERl
YnVnOworCQl9OworCQkwRkNFRkFCOTE4MDVENjE2MDA0NzJDRTQgLyogUmVsZWFzZSAqLyA9IHsK
KwkJCWlzYSA9IFhDQnVpbGRDb25maWd1cmF0aW9uOworCQkJYmFzZUNvbmZpZ3VyYXRpb25SZWZl
cmVuY2UgPSAwRkNFRkFCRTE4MDVEODY5MDA0NzJDRTQgLyogTExWTUZvckpTQy54Y2NvbmZpZyAq
LzsKKwkJCWJ1aWxkU2V0dGluZ3MgPSB7CisJCQl9OworCQkJbmFtZSA9IFJlbGVhc2U7CisJCX07
CisJCTBGQ0VGQUJBMTgwNUQ2MTYwMDQ3MkNFNCAvKiBQcm9maWxpbmcgKi8gPSB7CisJCQlpc2Eg
PSBYQ0J1aWxkQ29uZmlndXJhdGlvbjsKKwkJCWJhc2VDb25maWd1cmF0aW9uUmVmZXJlbmNlID0g
MEZDRUZBQkUxODA1RDg2OTAwNDcyQ0U0IC8qIExMVk1Gb3JKU0MueGNjb25maWcgKi87CisJCQli
dWlsZFNldHRpbmdzID0geworCQkJfTsKKwkJCW5hbWUgPSBQcm9maWxpbmc7CisJCX07CisJCTBG
Q0VGQUJCMTgwNUQ2MTYwMDQ3MkNFNCAvKiBQcm9kdWN0aW9uICovID0geworCQkJaXNhID0gWENC
dWlsZENvbmZpZ3VyYXRpb247CisJCQliYXNlQ29uZmlndXJhdGlvblJlZmVyZW5jZSA9IDBGQ0VG
QUJFMTgwNUQ4NjkwMDQ3MkNFNCAvKiBMTFZNRm9ySlNDLnhjY29uZmlnICovOworCQkJYnVpbGRT
ZXR0aW5ncyA9IHsKKwkJCX07CisJCQluYW1lID0gUHJvZHVjdGlvbjsKKwkJfTsKIAkJMEZGOTIy
Q0IxNEY0NkIxMzAwNDFBMjRFIC8qIERlYnVnICovID0gewogCQkJaXNhID0gWENCdWlsZENvbmZp
Z3VyYXRpb247CiAJCQliYXNlQ29uZmlndXJhdGlvblJlZmVyZW5jZSA9IEJDMDIxQkYyMTM2OTAw
QzMwMEZDNTQ2NyAvKiBUb29sRXhlY3V0YWJsZS54Y2NvbmZpZyAqLzsKQEAgLTU3NDEsNiArNTkx
MiwxNyBAQAogCQkJZGVmYXVsdENvbmZpZ3VyYXRpb25Jc1Zpc2libGUgPSAwOwogCQkJZGVmYXVs
dENvbmZpZ3VyYXRpb25OYW1lID0gUHJvZHVjdGlvbjsKIAkJfTsKKwkJMEZDRUZBQjcxODA1RDYx
NjAwNDcyQ0U0IC8qIEJ1aWxkIGNvbmZpZ3VyYXRpb24gbGlzdCBmb3IgUEJYTmF0aXZlVGFyZ2V0
ICJsbHZtRm9ySlNDIiAqLyA9IHsKKwkJCWlzYSA9IFhDQ29uZmlndXJhdGlvbkxpc3Q7CisJCQli
dWlsZENvbmZpZ3VyYXRpb25zID0gKAorCQkJCTBGQ0VGQUI4MTgwNUQ2MTYwMDQ3MkNFNCAvKiBE
ZWJ1ZyAqLywKKwkJCQkwRkNFRkFCOTE4MDVENjE2MDA0NzJDRTQgLyogUmVsZWFzZSAqLywKKwkJ
CQkwRkNFRkFCQTE4MDVENjE2MDA0NzJDRTQgLyogUHJvZmlsaW5nICovLAorCQkJCTBGQ0VGQUJC
MTgwNUQ2MTYwMDQ3MkNFNCAvKiBQcm9kdWN0aW9uICovLAorCQkJKTsKKwkJCWRlZmF1bHRDb25m
aWd1cmF0aW9uSXNWaXNpYmxlID0gMDsKKwkJCWRlZmF1bHRDb25maWd1cmF0aW9uTmFtZSA9IFBy
b2R1Y3Rpb247CisJCX07CiAJCTBGRjkyMkNBMTRGNDZCMTMwMDQxQTI0RSAvKiBCdWlsZCBjb25m
aWd1cmF0aW9uIGxpc3QgZm9yIFBCWE5hdGl2ZVRhcmdldCAiSlNDTExJbnRPZmZzZXRzRXh0cmFj
dG9yIiAqLyA9IHsKIAkJCWlzYSA9IFhDQ29uZmlndXJhdGlvbkxpc3Q7CiAJCQlidWlsZENvbmZp
Z3VyYXRpb25zID0gKApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdQbGFuLmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1BsYW4uY3BwCShy
ZXZpc2lvbiAxNTcyMDQpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1BsYW4uY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC02Nyw2ICs2Nyw3IEBACiAjaW5jbHVkZSAiRlRMTGluay5oIgog
I2luY2x1ZGUgIkZUTExvd2VyREZHVG9MTFZNLmgiCiAjaW5jbHVkZSAiRlRMU3RhdGUuaCIKKyNp
bmNsdWRlICJJbml0aWFsaXplTExWTS5oIgogI2VuZGlmCiAKIG5hbWVzcGFjZSBKU0MgeyBuYW1l
c3BhY2UgREZHIHsKQEAgLTI1NSw4ICsyNTYsNyBAQCBQbGFuOjpDb21waWxhdGlvblBhdGggUGxh
bjo6Y29tcGlsZUluVGhyCiAgICAgICAgIAogICAgICAgICBkdW1wQW5kVmVyaWZ5R3JhcGgoZGZn
LCAiR3JhcGgganVzdCBiZWZvcmUgRlRMIGxvd2VyaW5nOiIpOwogICAgICAgICAKLSAgICAgICAg
Ly8gRklYTUU6IFN1cHBvcnQgT1NSIGVudHJ5LgotICAgICAgICAvLyBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTEzNjI1CisgICAgICAgIGluaXRpYWxpemVMTFZNKCk7
CiAgICAgICAgIAogICAgICAgICBGVEw6OlN0YXRlIHN0YXRlKGRmZyk7CiAgICAgICAgIEZUTDo6
bG93ZXJERkdUb0xMVk0oc3RhdGUpOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2Rpc2Fz
c2VtYmxlci9MTFZNRGlzYXNzZW1ibGVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvZGlzYXNzZW1ibGVyL0xMVk1EaXNhc3NlbWJsZXIuY3BwCShyZXZpc2lvbiAxNTcy
MDQpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGlzYXNzZW1ibGVyL0xMVk1EaXNhc3NlbWJs
ZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yOCw4ICsyOCw5IEBACiAKICNpZiBVU0UoTExWTV9E
SVNBU1NFTUJMRVIpCiAKKyNpbmNsdWRlICJJbml0aWFsaXplTExWTS5oIgorI2luY2x1ZGUgIkxM
Vk1BUEkuaCIKICNpbmNsdWRlICJNYWNyb0Fzc2VtYmxlckNvZGVSZWYuaCIKLSNpbmNsdWRlIDx3
dGYvTExWTUhlYWRlcnMuaD4KIAogbmFtZXNwYWNlIEpTQyB7CiAKQEAgLTc5LDYgKzgwLDggQEAg
Ym9vbCB0cnlUb0Rpc2Fzc2VtYmxlV2l0aExMVk0oCiAgICAgY29uc3QgTWFjcm9Bc3NlbWJsZXJD
b2RlUHRyJiBjb2RlUHRyLCBzaXplX3Qgc2l6ZSwgY29uc3QgY2hhciogcHJlZml4LCBQcmludFN0
cmVhbSYgb3V0LAogICAgIEluc3RydWN0aW9uU3Vic2V0SGludCkKIHsKKyAgICBpbml0aWFsaXpl
TExWTSgpOworICAgIAogICAgIGNvbnN0IGNoYXIqIHRyaXBsZTsKICNpZiBDUFUoWDg2XzY0KQog
ICAgIHRyaXBsZSA9ICJ4ODZfNjQtYXBwbGUtZGFyd2luIjsKQEAgLTkxLDcgKzk0LDcgQEAgYm9v
bCB0cnlUb0Rpc2Fzc2VtYmxlV2l0aExMVk0oCiAgICAgY2hhciBzeW1ib2xTdHJpbmdbc3ltYm9s
U3RyaW5nU2l6ZV07CiAgICAgCiAgICAgTExWTURpc2FzbUNvbnRleHRSZWYgZGlzYXNzZW1ibHlD
b250ZXh0ID0KLSAgICAgICAgTExWTUNyZWF0ZURpc2FzbSh0cmlwbGUsIHN5bWJvbFN0cmluZywg
MCwgMCwgc3ltYm9sTG9va3VwQ2FsbGJhY2spOworICAgICAgICBsbHZtLT5DcmVhdGVEaXNhc20o
dHJpcGxlLCBzeW1ib2xTdHJpbmcsIDAsIDAsIHN5bWJvbExvb2t1cENhbGxiYWNrKTsKICAgICBS
RUxFQVNFX0FTU0VSVChkaXNhc3NlbWJseUNvbnRleHQpOwogICAgIAogICAgIGNoYXIgcGNTdHJp
bmdbMjBdOwpAQCAtMTA1LDcgKzEwOCw3IEBAIGJvb2wgdHJ5VG9EaXNhc3NlbWJsZVdpdGhMTFZN
KAogICAgICAgICAgICAgcGNTdHJpbmcsIHNpemVvZihwY1N0cmluZyksICIweCVseCIsCiAgICAg
ICAgICAgICBzdGF0aWNfY2FzdDx1bnNpZ25lZCBsb25nPihiaXR3aXNlX2Nhc3Q8dWludHB0cl90
PihwYykpKTsKIAotICAgICAgICBzaXplX3QgaW5zdHJ1Y3Rpb25TaXplID0gTExWTURpc2FzbUlu
c3RydWN0aW9uKAorICAgICAgICBzaXplX3QgaW5zdHJ1Y3Rpb25TaXplID0gbGx2bS0+RGlzYXNt
SW5zdHJ1Y3Rpb24oCiAgICAgICAgICAgICBkaXNhc3NlbWJseUNvbnRleHQsIHBjLCBlbmQgLSBw
YywgYml0d2lzZV9jYXN0PHVpbnRwdHJfdD4ocGMpLAogICAgICAgICAgICAgaW5zdHJ1Y3Rpb25T
dHJpbmcsIHNpemVvZihpbnN0cnVjdGlvblN0cmluZykpOwogICAgICAgICAKQEAgLTExNyw3ICsx
MjAsNyBAQCBib29sIHRyeVRvRGlzYXNzZW1ibGVXaXRoTExWTSgKICAgICAgICAgb3V0LnByaW50
ZigiJXMlMTZzOiAlc1xuIiwgcHJlZml4LCBwY1N0cmluZywgaW5zdHJ1Y3Rpb25TdHJpbmcpOwog
ICAgIH0KICAgICAKLSAgICBMTFZNRGlzYXNtRGlzcG9zZShkaXNhc3NlbWJseUNvbnRleHQpOwor
ICAgIGxsdm0tPkRpc2FzbURpc3Bvc2UoZGlzYXNzZW1ibHlDb250ZXh0KTsKICAgICAKICAgICBy
ZXR1cm4gdHJ1ZTsKIH0KSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMQWJicmV2
aWF0ZWRUeXBlcy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRM
QWJicmV2aWF0ZWRUeXBlcy5oCShyZXZpc2lvbiAxNTcyMDQpCisrKyBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvZnRsL0ZUTEFiYnJldmlhdGVkVHlwZXMuaAkod29ya2luZyBjb3B5KQpAQCAtMzAsNyAr
MzAsNyBAQAogCiAjaWYgRU5BQkxFKEZUTF9KSVQpCiAKLSNpbmNsdWRlIDx3dGYvTExWTUhlYWRl
cnMuaD4KKyNpbmNsdWRlICJMTFZNQVBJLmgiCiAKIG5hbWVzcGFjZSBKU0MgeyBuYW1lc3BhY2Ug
RlRMIHsKIApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExBYmJyZXZpYXRpb25z
LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExBYmJyZXZpYXRp
b25zLmgJKHJldmlzaW9uIDE1NzIwNCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRM
QWJicmV2aWF0aW9ucy5oCSh3b3JraW5nIGNvcHkpCkBAIC0zMyw2ICszMyw3IEBACiAjaW5jbHVk
ZSAiRlRMQWJicmV2aWF0ZWRUeXBlcy5oIgogI2luY2x1ZGUgIkZUTFN3aXRjaENhc2UuaCIKICNp
bmNsdWRlICJGVExWYWx1ZUZyb21CbG9jay5oIgorI2luY2x1ZGUgIkxMVk1BUEkuaCIKICNpbmNs
dWRlIDxjc3RyaW5nPgogCiBuYW1lc3BhY2UgSlNDIHsgbmFtZXNwYWNlIEZUTCB7CkBAIC00Niwy
MiArNDcsMjIgQEAgbmFtZXNwYWNlIEpTQyB7IG5hbWVzcGFjZSBGVEwgewogI2Vycm9yICJUaGUg
RlRMIGJhY2tlbmQgYXNzdW1lcyB0aGF0IHBvaW50ZXJzIGFyZSA2NC1iaXQuIgogI2VuZGlmCiAK
LXN0YXRpYyBpbmxpbmUgTFR5cGUgdm9pZFR5cGUoTENvbnRleHQgY29udGV4dCkgeyByZXR1cm4g
TExWTVZvaWRUeXBlSW5Db250ZXh0KGNvbnRleHQpOyB9Ci1zdGF0aWMgaW5saW5lIExUeXBlIGlu
dDFUeXBlKExDb250ZXh0IGNvbnRleHQpIHsgcmV0dXJuIExMVk1JbnQxVHlwZUluQ29udGV4dChj
b250ZXh0KTsgfQotc3RhdGljIGlubGluZSBMVHlwZSBpbnQ4VHlwZShMQ29udGV4dCBjb250ZXh0
KSB7IHJldHVybiBMTFZNSW50OFR5cGVJbkNvbnRleHQoY29udGV4dCk7IH0KLXN0YXRpYyBpbmxp
bmUgTFR5cGUgaW50MTZUeXBlKExDb250ZXh0IGNvbnRleHQpIHsgcmV0dXJuIExMVk1JbnQxNlR5
cGVJbkNvbnRleHQoY29udGV4dCk7IH0KLXN0YXRpYyBpbmxpbmUgTFR5cGUgaW50MzJUeXBlKExD
b250ZXh0IGNvbnRleHQpIHsgcmV0dXJuIExMVk1JbnQzMlR5cGVJbkNvbnRleHQoY29udGV4dCk7
IH0KLXN0YXRpYyBpbmxpbmUgTFR5cGUgaW50NjRUeXBlKExDb250ZXh0IGNvbnRleHQpIHsgcmV0
dXJuIExMVk1JbnQ2NFR5cGVJbkNvbnRleHQoY29udGV4dCk7IH0KLXN0YXRpYyBpbmxpbmUgTFR5
cGUgaW50UHRyVHlwZShMQ29udGV4dCBjb250ZXh0KSB7IHJldHVybiBMTFZNSW50NjRUeXBlSW5D
b250ZXh0KGNvbnRleHQpOyB9Ci1zdGF0aWMgaW5saW5lIExUeXBlIGZsb2F0VHlwZShMQ29udGV4
dCBjb250ZXh0KSB7IHJldHVybiBMTFZNRmxvYXRUeXBlSW5Db250ZXh0KGNvbnRleHQpOyB9Ci1z
dGF0aWMgaW5saW5lIExUeXBlIGRvdWJsZVR5cGUoTENvbnRleHQgY29udGV4dCkgeyByZXR1cm4g
TExWTURvdWJsZVR5cGVJbkNvbnRleHQoY29udGV4dCk7IH0KK3N0YXRpYyBpbmxpbmUgTFR5cGUg
dm9pZFR5cGUoTENvbnRleHQgY29udGV4dCkgeyByZXR1cm4gbGx2bS0+Vm9pZFR5cGVJbkNvbnRl
eHQoY29udGV4dCk7IH0KK3N0YXRpYyBpbmxpbmUgTFR5cGUgaW50MVR5cGUoTENvbnRleHQgY29u
dGV4dCkgeyByZXR1cm4gbGx2bS0+SW50MVR5cGVJbkNvbnRleHQoY29udGV4dCk7IH0KK3N0YXRp
YyBpbmxpbmUgTFR5cGUgaW50OFR5cGUoTENvbnRleHQgY29udGV4dCkgeyByZXR1cm4gbGx2bS0+
SW50OFR5cGVJbkNvbnRleHQoY29udGV4dCk7IH0KK3N0YXRpYyBpbmxpbmUgTFR5cGUgaW50MTZU
eXBlKExDb250ZXh0IGNvbnRleHQpIHsgcmV0dXJuIGxsdm0tPkludDE2VHlwZUluQ29udGV4dChj
b250ZXh0KTsgfQorc3RhdGljIGlubGluZSBMVHlwZSBpbnQzMlR5cGUoTENvbnRleHQgY29udGV4
dCkgeyByZXR1cm4gbGx2bS0+SW50MzJUeXBlSW5Db250ZXh0KGNvbnRleHQpOyB9CitzdGF0aWMg
aW5saW5lIExUeXBlIGludDY0VHlwZShMQ29udGV4dCBjb250ZXh0KSB7IHJldHVybiBsbHZtLT5J
bnQ2NFR5cGVJbkNvbnRleHQoY29udGV4dCk7IH0KK3N0YXRpYyBpbmxpbmUgTFR5cGUgaW50UHRy
VHlwZShMQ29udGV4dCBjb250ZXh0KSB7IHJldHVybiBsbHZtLT5JbnQ2NFR5cGVJbkNvbnRleHQo
Y29udGV4dCk7IH0KK3N0YXRpYyBpbmxpbmUgTFR5cGUgZmxvYXRUeXBlKExDb250ZXh0IGNvbnRl
eHQpIHsgcmV0dXJuIGxsdm0tPkZsb2F0VHlwZUluQ29udGV4dChjb250ZXh0KTsgfQorc3RhdGlj
IGlubGluZSBMVHlwZSBkb3VibGVUeXBlKExDb250ZXh0IGNvbnRleHQpIHsgcmV0dXJuIGxsdm0t
PkRvdWJsZVR5cGVJbkNvbnRleHQoY29udGV4dCk7IH0KIAotc3RhdGljIGlubGluZSBMVHlwZSBw
b2ludGVyVHlwZShMVHlwZSB0eXBlKSB7IHJldHVybiBMTFZNUG9pbnRlclR5cGUodHlwZSwgMCk7
IH0KK3N0YXRpYyBpbmxpbmUgTFR5cGUgcG9pbnRlclR5cGUoTFR5cGUgdHlwZSkgeyByZXR1cm4g
bGx2bS0+UG9pbnRlclR5cGUodHlwZSwgMCk7IH0KIAogZW51bSBQYWNraW5nTW9kZSB7IE5vdFBh
Y2tlZCwgUGFja2VkIH07CiBzdGF0aWMgaW5saW5lIExUeXBlIHN0cnVjdFR5cGUoTENvbnRleHQg
Y29udGV4dCwgTFR5cGUqIGVsZW1lbnRUeXBlcywgdW5zaWduZWQgZWxlbWVudENvdW50LCBQYWNr
aW5nTW9kZSBwYWNraW5nID0gTm90UGFja2VkKQogewotICAgIHJldHVybiBMTFZNU3RydWN0VHlw
ZUluQ29udGV4dChjb250ZXh0LCBlbGVtZW50VHlwZXMsIGVsZW1lbnRDb3VudCwgcGFja2luZyA9
PSBQYWNrZWQpOworICAgIHJldHVybiBsbHZtLT5TdHJ1Y3RUeXBlSW5Db250ZXh0KGNvbnRleHQs
IGVsZW1lbnRUeXBlcywgZWxlbWVudENvdW50LCBwYWNraW5nID09IFBhY2tlZCk7CiB9CiBzdGF0
aWMgaW5saW5lIExUeXBlIHN0cnVjdFR5cGUoTENvbnRleHQgY29udGV4dCwgUGFja2luZ01vZGUg
cGFja2luZyA9IE5vdFBhY2tlZCkKIHsKQEAgLTgwLDcgKzgxLDcgQEAgc3RhdGljIGlubGluZSBM
VHlwZSBzdHJ1Y3RUeXBlKExDb250ZXh0IAogZW51bSBWYXJpYWRpY2l0eSB7IE5vdFZhcmlhZGlj
LCBWYXJpYWRpYyB9Owogc3RhdGljIGlubGluZSBMVHlwZSBmdW5jdGlvblR5cGUoTFR5cGUgcmV0
dXJuVHlwZSwgY29uc3QgTFR5cGUqIHBhcmFtVHlwZXMsIHVuc2lnbmVkIHBhcmFtQ291bnQsIFZh
cmlhZGljaXR5IHZhcmlhZGljaXR5KQogewotICAgIHJldHVybiBMTFZNRnVuY3Rpb25UeXBlKHJl
dHVyblR5cGUsIGNvbnN0X2Nhc3Q8TFR5cGUqPihwYXJhbVR5cGVzKSwgcGFyYW1Db3VudCwgdmFy
aWFkaWNpdHkgPT0gVmFyaWFkaWMpOworICAgIHJldHVybiBsbHZtLT5GdW5jdGlvblR5cGUocmV0
dXJuVHlwZSwgY29uc3RfY2FzdDxMVHlwZSo+KHBhcmFtVHlwZXMpLCBwYXJhbUNvdW50LCB2YXJp
YWRpY2l0eSA9PSBWYXJpYWRpYyk7CiB9CiB0ZW1wbGF0ZTx0eXBlbmFtZSBWZWN0b3JUeXBlPgog
aW5saW5lIExUeXBlIGZ1bmN0aW9uVHlwZShMVHlwZSByZXR1cm5UeXBlLCBjb25zdCBWZWN0b3JU
eXBlJiB2ZWN0b3IsIFZhcmlhZGljaXR5IHZhcmlhZGljaXR5ID0gTm90VmFyaWFkaWMpCkBAIC0x
MTEsMTIgKzExMiwxMiBAQCBzdGF0aWMgaW5saW5lIExUeXBlIGZ1bmN0aW9uVHlwZShMVHlwZSBy
CiAgICAgcmV0dXJuIGZ1bmN0aW9uVHlwZShyZXR1cm5UeXBlLCBwYXJhbVR5cGVzLCA0LCB2YXJp
YWRpY2l0eSk7CiB9CiAKLXN0YXRpYyBpbmxpbmUgTFR5cGUgdHlwZU9mKExWYWx1ZSB2YWx1ZSkg
eyByZXR1cm4gTExWTVR5cGVPZih2YWx1ZSk7IH0KK3N0YXRpYyBpbmxpbmUgTFR5cGUgdHlwZU9m
KExWYWx1ZSB2YWx1ZSkgeyByZXR1cm4gbGx2bS0+VHlwZU9mKHZhbHVlKTsgfQogCi1zdGF0aWMg
aW5saW5lIHVuc2lnbmVkIG1kS2luZElEKExDb250ZXh0IGNvbnRleHQsIGNvbnN0IGNoYXIqIHN0
cmluZykgeyByZXR1cm4gTExWTUdldE1ES2luZElESW5Db250ZXh0KGNvbnRleHQsIHN0cmluZywg
c3RkOjpzdHJsZW4oc3RyaW5nKSk7IH0KLXN0YXRpYyBpbmxpbmUgTFZhbHVlIG1kU3RyaW5nKExD
b250ZXh0IGNvbnRleHQsIGNvbnN0IGNoYXIqIHN0cmluZywgdW5zaWduZWQgbGVuZ3RoKSB7IHJl
dHVybiBMTFZNTURTdHJpbmdJbkNvbnRleHQoY29udGV4dCwgc3RyaW5nLCBsZW5ndGgpOyB9Citz
dGF0aWMgaW5saW5lIHVuc2lnbmVkIG1kS2luZElEKExDb250ZXh0IGNvbnRleHQsIGNvbnN0IGNo
YXIqIHN0cmluZykgeyByZXR1cm4gbGx2bS0+R2V0TURLaW5kSURJbkNvbnRleHQoY29udGV4dCwg
c3RyaW5nLCBzdGQ6OnN0cmxlbihzdHJpbmcpKTsgfQorc3RhdGljIGlubGluZSBMVmFsdWUgbWRT
dHJpbmcoTENvbnRleHQgY29udGV4dCwgY29uc3QgY2hhciogc3RyaW5nLCB1bnNpZ25lZCBsZW5n
dGgpIHsgcmV0dXJuIGxsdm0tPk1EU3RyaW5nSW5Db250ZXh0KGNvbnRleHQsIHN0cmluZywgbGVu
Z3RoKTsgfQogc3RhdGljIGlubGluZSBMVmFsdWUgbWRTdHJpbmcoTENvbnRleHQgY29udGV4dCwg
Y29uc3QgY2hhciogc3RyaW5nKSB7IHJldHVybiBtZFN0cmluZyhjb250ZXh0LCBzdHJpbmcsIHN0
ZDo6c3RybGVuKHN0cmluZykpOyB9Ci1zdGF0aWMgaW5saW5lIExWYWx1ZSBtZE5vZGUoTENvbnRl
eHQgY29udGV4dCwgTFZhbHVlKiBhcmdzLCB1bnNpZ25lZCBudW1BcmdzKSB7IHJldHVybiBMTFZN
TUROb2RlSW5Db250ZXh0KGNvbnRleHQsIGFyZ3MsIG51bUFyZ3MpOyB9CitzdGF0aWMgaW5saW5l
IExWYWx1ZSBtZE5vZGUoTENvbnRleHQgY29udGV4dCwgTFZhbHVlKiBhcmdzLCB1bnNpZ25lZCBu
dW1BcmdzKSB7IHJldHVybiBsbHZtLT5NRE5vZGVJbkNvbnRleHQoY29udGV4dCwgYXJncywgbnVt
QXJncyk7IH0KIHN0YXRpYyBpbmxpbmUgTFZhbHVlIG1kTm9kZShMQ29udGV4dCBjb250ZXh0KSB7
IHJldHVybiBtZE5vZGUoY29udGV4dCwgMCwgMCk7IH0KIHN0YXRpYyBpbmxpbmUgTFZhbHVlIG1k
Tm9kZShMQ29udGV4dCBjb250ZXh0LCBMVmFsdWUgYXJnMSkgeyByZXR1cm4gbWROb2RlKGNvbnRl
eHQsICZhcmcxLCAxKTsgfQogc3RhdGljIGlubGluZSBMVmFsdWUgbWROb2RlKExDb250ZXh0IGNv
bnRleHQsIExWYWx1ZSBhcmcxLCBMVmFsdWUgYXJnMikKQEAgLTEyNSwxMSArMTI2LDExIEBAIHN0
YXRpYyBpbmxpbmUgTFZhbHVlIG1kTm9kZShMQ29udGV4dCBjb24KICAgICByZXR1cm4gbWROb2Rl
KGNvbnRleHQsIGFyZ3MsIDIpOwogfQogCi1zdGF0aWMgaW5saW5lIHZvaWQgc2V0TWV0YWRhdGEo
TFZhbHVlIGluc3RydWN0aW9uLCB1bnNpZ25lZCBraW5kLCBMVmFsdWUgbWV0YWRhdGEpIHsgTExW
TVNldE1ldGFkYXRhKGluc3RydWN0aW9uLCBraW5kLCBtZXRhZGF0YSk7IH0KK3N0YXRpYyBpbmxp
bmUgdm9pZCBzZXRNZXRhZGF0YShMVmFsdWUgaW5zdHJ1Y3Rpb24sIHVuc2lnbmVkIGtpbmQsIExW
YWx1ZSBtZXRhZGF0YSkgeyBsbHZtLT5TZXRNZXRhZGF0YShpbnN0cnVjdGlvbiwga2luZCwgbWV0
YWRhdGEpOyB9CiAKLXN0YXRpYyBpbmxpbmUgTFZhbHVlIGFkZEZ1bmN0aW9uKExNb2R1bGUgbW9k
dWxlLCBjb25zdCBjaGFyKiBuYW1lLCBMVHlwZSB0eXBlKSB7IHJldHVybiBMTFZNQWRkRnVuY3Rp
b24obW9kdWxlLCBuYW1lLCB0eXBlKTsgfQotc3RhdGljIGlubGluZSB2b2lkIHNldExpbmthZ2Uo
TFZhbHVlIGdsb2JhbCwgTExpbmthZ2UgbGlua2FnZSkgeyBMTFZNU2V0TGlua2FnZShnbG9iYWws
IGxpbmthZ2UpOyB9Ci1zdGF0aWMgaW5saW5lIHZvaWQgc2V0RnVuY3Rpb25DYWxsaW5nQ29udihM
VmFsdWUgZnVuY3Rpb24sIExDYWxsQ29udiBjb252ZW50aW9uKSB7IExMVk1TZXRGdW5jdGlvbkNh
bGxDb252KGZ1bmN0aW9uLCBjb252ZW50aW9uKTsgfQorc3RhdGljIGlubGluZSBMVmFsdWUgYWRk
RnVuY3Rpb24oTE1vZHVsZSBtb2R1bGUsIGNvbnN0IGNoYXIqIG5hbWUsIExUeXBlIHR5cGUpIHsg
cmV0dXJuIGxsdm0tPkFkZEZ1bmN0aW9uKG1vZHVsZSwgbmFtZSwgdHlwZSk7IH0KK3N0YXRpYyBp
bmxpbmUgdm9pZCBzZXRMaW5rYWdlKExWYWx1ZSBnbG9iYWwsIExMaW5rYWdlIGxpbmthZ2UpIHsg
bGx2bS0+U2V0TGlua2FnZShnbG9iYWwsIGxpbmthZ2UpOyB9CitzdGF0aWMgaW5saW5lIHZvaWQg
c2V0RnVuY3Rpb25DYWxsaW5nQ29udihMVmFsdWUgZnVuY3Rpb24sIExDYWxsQ29udiBjb252ZW50
aW9uKSB7IGxsdm0tPlNldEZ1bmN0aW9uQ2FsbENvbnYoZnVuY3Rpb24sIGNvbnZlbnRpb24pOyB9
CiAKIHN0YXRpYyBpbmxpbmUgTFZhbHVlIGFkZEV4dGVybkZ1bmN0aW9uKExNb2R1bGUgbW9kdWxl
LCBjb25zdCBjaGFyKiBuYW1lLCBMVHlwZSB0eXBlKQogewpAQCAtMTM4LDIxICsxMzksMjEgQEAg
c3RhdGljIGlubGluZSBMVmFsdWUgYWRkRXh0ZXJuRnVuY3Rpb24oTAogICAgIHJldHVybiByZXN1
bHQ7CiB9CiAKLXN0YXRpYyBpbmxpbmUgTFZhbHVlIGdldFBhcmFtKExWYWx1ZSBmdW5jdGlvbiwg
dW5zaWduZWQgaW5kZXgpIHsgcmV0dXJuIExMVk1HZXRQYXJhbShmdW5jdGlvbiwgaW5kZXgpOyB9
CitzdGF0aWMgaW5saW5lIExWYWx1ZSBnZXRQYXJhbShMVmFsdWUgZnVuY3Rpb24sIHVuc2lnbmVk
IGluZGV4KSB7IHJldHVybiBsbHZtLT5HZXRQYXJhbShmdW5jdGlvbiwgaW5kZXgpOyB9CiAKIGVu
dW0gQml0RXh0ZW5zaW9uIHsgWmVyb0V4dGVuZCwgU2lnbkV4dGVuZCB9Owotc3RhdGljIGlubGlu
ZSBMVmFsdWUgY29uc3RJbnQoTFR5cGUgdHlwZSwgdW5zaWduZWQgbG9uZyBsb25nIHZhbHVlLCBC
aXRFeHRlbnNpb24gZXh0ZW5zaW9uID0gWmVyb0V4dGVuZCkgeyByZXR1cm4gTExWTUNvbnN0SW50
KHR5cGUsIHZhbHVlLCBleHRlbnNpb24gPT0gU2lnbkV4dGVuZCk7IH0KLXN0YXRpYyBpbmxpbmUg
TFZhbHVlIGNvbnN0UmVhbChMVHlwZSB0eXBlLCBkb3VibGUgdmFsdWUpIHsgcmV0dXJuIExMVk1D
b25zdFJlYWwodHlwZSwgdmFsdWUpOyB9Ci1zdGF0aWMgaW5saW5lIExWYWx1ZSBjb25zdEludFRv
UHRyKExWYWx1ZSB2YWx1ZSwgTFR5cGUgdHlwZSkgeyByZXR1cm4gTExWTUNvbnN0SW50VG9QdHIo
dmFsdWUsIHR5cGUpOyB9Ci1zdGF0aWMgaW5saW5lIExWYWx1ZSBjb25zdEJpdENhc3QoTFZhbHVl
IHZhbHVlLCBMVHlwZSB0eXBlKSB7IHJldHVybiBMTFZNQ29uc3RCaXRDYXN0KHZhbHVlLCB0eXBl
KTsgfQorc3RhdGljIGlubGluZSBMVmFsdWUgY29uc3RJbnQoTFR5cGUgdHlwZSwgdW5zaWduZWQg
bG9uZyBsb25nIHZhbHVlLCBCaXRFeHRlbnNpb24gZXh0ZW5zaW9uID0gWmVyb0V4dGVuZCkgeyBy
ZXR1cm4gbGx2bS0+Q29uc3RJbnQodHlwZSwgdmFsdWUsIGV4dGVuc2lvbiA9PSBTaWduRXh0ZW5k
KTsgfQorc3RhdGljIGlubGluZSBMVmFsdWUgY29uc3RSZWFsKExUeXBlIHR5cGUsIGRvdWJsZSB2
YWx1ZSkgeyByZXR1cm4gbGx2bS0+Q29uc3RSZWFsKHR5cGUsIHZhbHVlKTsgfQorc3RhdGljIGlu
bGluZSBMVmFsdWUgY29uc3RJbnRUb1B0cihMVmFsdWUgdmFsdWUsIExUeXBlIHR5cGUpIHsgcmV0
dXJuIGxsdm0tPkNvbnN0SW50VG9QdHIodmFsdWUsIHR5cGUpOyB9CitzdGF0aWMgaW5saW5lIExW
YWx1ZSBjb25zdEJpdENhc3QoTFZhbHVlIHZhbHVlLCBMVHlwZSB0eXBlKSB7IHJldHVybiBsbHZt
LT5Db25zdEJpdENhc3QodmFsdWUsIHR5cGUpOyB9CiAKLXN0YXRpYyBpbmxpbmUgTEJhc2ljQmxv
Y2sgYXBwZW5kQmFzaWNCbG9jayhMQ29udGV4dCBjb250ZXh0LCBMVmFsdWUgZnVuY3Rpb24sIGNv
bnN0IGNoYXIqIG5hbWUgPSAiIikgeyByZXR1cm4gTExWTUFwcGVuZEJhc2ljQmxvY2tJbkNvbnRl
eHQoY29udGV4dCwgZnVuY3Rpb24sIG5hbWUpOyB9Ci1zdGF0aWMgaW5saW5lIExCYXNpY0Jsb2Nr
IGluc2VydEJhc2ljQmxvY2soTENvbnRleHQgY29udGV4dCwgTEJhc2ljQmxvY2sgYmVmb3JlQmFz
aWNCbG9jaywgY29uc3QgY2hhciogbmFtZSA9ICIiKSB7IHJldHVybiBMTFZNSW5zZXJ0QmFzaWNC
bG9ja0luQ29udGV4dChjb250ZXh0LCBiZWZvcmVCYXNpY0Jsb2NrLCBuYW1lKTsgfQorc3RhdGlj
IGlubGluZSBMQmFzaWNCbG9jayBhcHBlbmRCYXNpY0Jsb2NrKExDb250ZXh0IGNvbnRleHQsIExW
YWx1ZSBmdW5jdGlvbiwgY29uc3QgY2hhciogbmFtZSA9ICIiKSB7IHJldHVybiBsbHZtLT5BcHBl
bmRCYXNpY0Jsb2NrSW5Db250ZXh0KGNvbnRleHQsIGZ1bmN0aW9uLCBuYW1lKTsgfQorc3RhdGlj
IGlubGluZSBMQmFzaWNCbG9jayBpbnNlcnRCYXNpY0Jsb2NrKExDb250ZXh0IGNvbnRleHQsIExC
YXNpY0Jsb2NrIGJlZm9yZUJhc2ljQmxvY2ssIGNvbnN0IGNoYXIqIG5hbWUgPSAiIikgeyByZXR1
cm4gbGx2bS0+SW5zZXJ0QmFzaWNCbG9ja0luQ29udGV4dChjb250ZXh0LCBiZWZvcmVCYXNpY0Js
b2NrLCBuYW1lKTsgfQogCi1zdGF0aWMgaW5saW5lIExWYWx1ZSBidWlsZFBoaShMQnVpbGRlciBi
dWlsZGVyLCBMVHlwZSB0eXBlKSB7IHJldHVybiBMTFZNQnVpbGRQaGkoYnVpbGRlciwgdHlwZSwg
IiIpOyB9CitzdGF0aWMgaW5saW5lIExWYWx1ZSBidWlsZFBoaShMQnVpbGRlciBidWlsZGVyLCBM
VHlwZSB0eXBlKSB7IHJldHVybiBsbHZtLT5CdWlsZFBoaShidWlsZGVyLCB0eXBlLCAiIik7IH0K
IHN0YXRpYyBpbmxpbmUgdm9pZCBhZGRJbmNvbWluZyhMVmFsdWUgcGhpLCBjb25zdCBMVmFsdWUq
IHZhbHVlcywgY29uc3QgTEJhc2ljQmxvY2sqIGJsb2NrcywgdW5zaWduZWQgbnVtUHJlZGVjZXNz
b3JzKQogewotICAgIExMVk1BZGRJbmNvbWluZyhwaGksIGNvbnN0X2Nhc3Q8TFZhbHVlKj4odmFs
dWVzKSwgY29uc3RfY2FzdDxMQmFzaWNCbG9jayo+KGJsb2NrcyksIG51bVByZWRlY2Vzc29ycyk7
CisgICAgbGx2bS0+QWRkSW5jb21pbmcocGhpLCBjb25zdF9jYXN0PExWYWx1ZSo+KHZhbHVlcyks
IGNvbnN0X2Nhc3Q8TEJhc2ljQmxvY2sqPihibG9ja3MpLCBudW1QcmVkZWNlc3NvcnMpOwogfQog
c3RhdGljIGlubGluZSB2b2lkIGFkZEluY29taW5nKExWYWx1ZSBwaGksIFZhbHVlRnJvbUJsb2Nr
IHZhbHVlMSkKIHsKQEAgLTE4MCw0NCArMTgxLDQ0IEBAIHN0YXRpYyBpbmxpbmUgTFZhbHVlIGJ1
aWxkUGhpKAogICAgIHJldHVybiByZXN1bHQ7CiB9CiAKLXN0YXRpYyBpbmxpbmUgTFZhbHVlIGJ1
aWxkQWxsb2NhKExCdWlsZGVyIGJ1aWxkZXIsIExUeXBlIHR5cGUpIHsgcmV0dXJuIExMVk1CdWls
ZEFsbG9jYShidWlsZGVyLCB0eXBlLCAiIik7IH0KLXN0YXRpYyBpbmxpbmUgTFZhbHVlIGJ1aWxk
QWRkKExCdWlsZGVyIGJ1aWxkZXIsIExWYWx1ZSBsZWZ0LCBMVmFsdWUgcmlnaHQpIHsgcmV0dXJu
IExMVk1CdWlsZEFkZChidWlsZGVyLCBsZWZ0LCByaWdodCwgIiIpOyB9Ci1zdGF0aWMgaW5saW5l
IExWYWx1ZSBidWlsZFN1YihMQnVpbGRlciBidWlsZGVyLCBMVmFsdWUgbGVmdCwgTFZhbHVlIHJp
Z2h0KSB7IHJldHVybiBMTFZNQnVpbGRTdWIoYnVpbGRlciwgbGVmdCwgcmlnaHQsICIiKTsgfQot
c3RhdGljIGlubGluZSBMVmFsdWUgYnVpbGRNdWwoTEJ1aWxkZXIgYnVpbGRlciwgTFZhbHVlIGxl
ZnQsIExWYWx1ZSByaWdodCkgeyByZXR1cm4gTExWTUJ1aWxkTXVsKGJ1aWxkZXIsIGxlZnQsIHJp
Z2h0LCAiIik7IH0KLXN0YXRpYyBpbmxpbmUgTFZhbHVlIGJ1aWxkRGl2KExCdWlsZGVyIGJ1aWxk
ZXIsIExWYWx1ZSBsZWZ0LCBMVmFsdWUgcmlnaHQpIHsgcmV0dXJuIExMVk1CdWlsZFNEaXYoYnVp
bGRlciwgbGVmdCwgcmlnaHQsICIiKTsgfQotc3RhdGljIGlubGluZSBMVmFsdWUgYnVpbGRSZW0o
TEJ1aWxkZXIgYnVpbGRlciwgTFZhbHVlIGxlZnQsIExWYWx1ZSByaWdodCkgeyByZXR1cm4gTExW
TUJ1aWxkU1JlbShidWlsZGVyLCBsZWZ0LCByaWdodCwgIiIpOyB9Ci1zdGF0aWMgaW5saW5lIExW
YWx1ZSBidWlsZE5lZyhMQnVpbGRlciBidWlsZGVyLCBMVmFsdWUgdmFsdWUpIHsgcmV0dXJuIExM
Vk1CdWlsZE5lZyhidWlsZGVyLCB2YWx1ZSwgIiIpOyB9Ci1zdGF0aWMgaW5saW5lIExWYWx1ZSBi
dWlsZEZBZGQoTEJ1aWxkZXIgYnVpbGRlciwgTFZhbHVlIGxlZnQsIExWYWx1ZSByaWdodCkgeyBy
ZXR1cm4gTExWTUJ1aWxkRkFkZChidWlsZGVyLCBsZWZ0LCByaWdodCwgIiIpOyB9Ci1zdGF0aWMg
aW5saW5lIExWYWx1ZSBidWlsZEZTdWIoTEJ1aWxkZXIgYnVpbGRlciwgTFZhbHVlIGxlZnQsIExW
YWx1ZSByaWdodCkgeyByZXR1cm4gTExWTUJ1aWxkRlN1YihidWlsZGVyLCBsZWZ0LCByaWdodCwg
IiIpOyB9Ci1zdGF0aWMgaW5saW5lIExWYWx1ZSBidWlsZEZNdWwoTEJ1aWxkZXIgYnVpbGRlciwg
TFZhbHVlIGxlZnQsIExWYWx1ZSByaWdodCkgeyByZXR1cm4gTExWTUJ1aWxkRk11bChidWlsZGVy
LCBsZWZ0LCByaWdodCwgIiIpOyB9Ci1zdGF0aWMgaW5saW5lIExWYWx1ZSBidWlsZEZEaXYoTEJ1
aWxkZXIgYnVpbGRlciwgTFZhbHVlIGxlZnQsIExWYWx1ZSByaWdodCkgeyByZXR1cm4gTExWTUJ1
aWxkRkRpdihidWlsZGVyLCBsZWZ0LCByaWdodCwgIiIpOyB9Ci1zdGF0aWMgaW5saW5lIExWYWx1
ZSBidWlsZEZSZW0oTEJ1aWxkZXIgYnVpbGRlciwgTFZhbHVlIGxlZnQsIExWYWx1ZSByaWdodCkg
eyByZXR1cm4gTExWTUJ1aWxkRlJlbShidWlsZGVyLCBsZWZ0LCByaWdodCwgIiIpOyB9Ci1zdGF0
aWMgaW5saW5lIExWYWx1ZSBidWlsZEZOZWcoTEJ1aWxkZXIgYnVpbGRlciwgTFZhbHVlIHZhbHVl
KSB7IHJldHVybiBMTFZNQnVpbGRGTmVnKGJ1aWxkZXIsIHZhbHVlLCAiIik7IH0KLXN0YXRpYyBp
bmxpbmUgTFZhbHVlIGJ1aWxkQW5kKExCdWlsZGVyIGJ1aWxkZXIsIExWYWx1ZSBsZWZ0LCBMVmFs
dWUgcmlnaHQpIHsgcmV0dXJuIExMVk1CdWlsZEFuZChidWlsZGVyLCBsZWZ0LCByaWdodCwgIiIp
OyB9Ci1zdGF0aWMgaW5saW5lIExWYWx1ZSBidWlsZE9yKExCdWlsZGVyIGJ1aWxkZXIsIExWYWx1
ZSBsZWZ0LCBMVmFsdWUgcmlnaHQpIHsgcmV0dXJuIExMVk1CdWlsZE9yKGJ1aWxkZXIsIGxlZnQs
IHJpZ2h0LCAiIik7IH0KLXN0YXRpYyBpbmxpbmUgTFZhbHVlIGJ1aWxkWG9yKExCdWlsZGVyIGJ1
aWxkZXIsIExWYWx1ZSBsZWZ0LCBMVmFsdWUgcmlnaHQpIHsgcmV0dXJuIExMVk1CdWlsZFhvcihi
dWlsZGVyLCBsZWZ0LCByaWdodCwgIiIpOyB9Ci1zdGF0aWMgaW5saW5lIExWYWx1ZSBidWlsZFNo
bChMQnVpbGRlciBidWlsZGVyLCBMVmFsdWUgbGVmdCwgTFZhbHVlIHJpZ2h0KSB7IHJldHVybiBM
TFZNQnVpbGRTaGwoYnVpbGRlciwgbGVmdCwgcmlnaHQsICIiKTsgfQotc3RhdGljIGlubGluZSBM
VmFsdWUgYnVpbGRBU2hyKExCdWlsZGVyIGJ1aWxkZXIsIExWYWx1ZSBsZWZ0LCBMVmFsdWUgcmln
aHQpIHsgcmV0dXJuIExMVk1CdWlsZEFTaHIoYnVpbGRlciwgbGVmdCwgcmlnaHQsICIiKTsgfQot
c3RhdGljIGlubGluZSBMVmFsdWUgYnVpbGRMU2hyKExCdWlsZGVyIGJ1aWxkZXIsIExWYWx1ZSBs
ZWZ0LCBMVmFsdWUgcmlnaHQpIHsgcmV0dXJuIExMVk1CdWlsZExTaHIoYnVpbGRlciwgbGVmdCwg
cmlnaHQsICIiKTsgfQotc3RhdGljIGlubGluZSBMVmFsdWUgYnVpbGROb3QoTEJ1aWxkZXIgYnVp
bGRlciwgTFZhbHVlIHZhbHVlKSB7IHJldHVybiBMTFZNQnVpbGROb3QoYnVpbGRlciwgdmFsdWUs
ICIiKTsgfQotc3RhdGljIGlubGluZSBMVmFsdWUgYnVpbGRMb2FkKExCdWlsZGVyIGJ1aWxkZXIs
IExWYWx1ZSBwb2ludGVyKSB7IHJldHVybiBMTFZNQnVpbGRMb2FkKGJ1aWxkZXIsIHBvaW50ZXIs
ICIiKTsgfQotc3RhdGljIGlubGluZSBMVmFsdWUgYnVpbGRTdG9yZShMQnVpbGRlciBidWlsZGVy
LCBMVmFsdWUgdmFsdWUsIExWYWx1ZSBwb2ludGVyKSB7IHJldHVybiBMTFZNQnVpbGRTdG9yZShi
dWlsZGVyLCB2YWx1ZSwgcG9pbnRlcik7IH0KLXN0YXRpYyBpbmxpbmUgTFZhbHVlIGJ1aWxkU0V4
dChMQnVpbGRlciBidWlsZGVyLCBMVmFsdWUgdmFsdWUsIExUeXBlIHR5cGUpIHsgcmV0dXJuIExM
Vk1CdWlsZFNFeHQoYnVpbGRlciwgdmFsdWUsIHR5cGUsICIiKTsgfQotc3RhdGljIGlubGluZSBM
VmFsdWUgYnVpbGRaRXh0KExCdWlsZGVyIGJ1aWxkZXIsIExWYWx1ZSB2YWx1ZSwgTFR5cGUgdHlw
ZSkgeyByZXR1cm4gTExWTUJ1aWxkWkV4dChidWlsZGVyLCB2YWx1ZSwgdHlwZSwgIiIpOyB9Ci1z
dGF0aWMgaW5saW5lIExWYWx1ZSBidWlsZEZQVG9TSShMQnVpbGRlciBidWlsZGVyLCBMVmFsdWUg
dmFsdWUsIExUeXBlIHR5cGUpIHsgcmV0dXJuIExMVk1CdWlsZEZQVG9TSShidWlsZGVyLCB2YWx1
ZSwgdHlwZSwgIiIpOyB9Ci1zdGF0aWMgaW5saW5lIExWYWx1ZSBidWlsZEZQVG9VSShMQnVpbGRl
ciBidWlsZGVyLCBMVmFsdWUgdmFsdWUsIExUeXBlIHR5cGUpIHsgcmV0dXJuIExMVk1CdWlsZEZQ
VG9VSShidWlsZGVyLCB2YWx1ZSwgdHlwZSwgIiIpOyB9Ci1zdGF0aWMgaW5saW5lIExWYWx1ZSBi
dWlsZFNJVG9GUChMQnVpbGRlciBidWlsZGVyLCBMVmFsdWUgdmFsdWUsIExUeXBlIHR5cGUpIHsg
cmV0dXJuIExMVk1CdWlsZFNJVG9GUChidWlsZGVyLCB2YWx1ZSwgdHlwZSwgIiIpOyB9Ci1zdGF0
aWMgaW5saW5lIExWYWx1ZSBidWlsZFVJVG9GUChMQnVpbGRlciBidWlsZGVyLCBMVmFsdWUgdmFs
dWUsIExUeXBlIHR5cGUpIHsgcmV0dXJuIExMVk1CdWlsZFVJVG9GUChidWlsZGVyLCB2YWx1ZSwg
dHlwZSwgIiIpOyB9Ci1zdGF0aWMgaW5saW5lIExWYWx1ZSBidWlsZEludENhc3QoTEJ1aWxkZXIg
YnVpbGRlciwgTFZhbHVlIHZhbHVlLCBMVHlwZSB0eXBlKSB7IHJldHVybiBMTFZNQnVpbGRJbnRD
YXN0KGJ1aWxkZXIsIHZhbHVlLCB0eXBlLCAiIik7IH0KLXN0YXRpYyBpbmxpbmUgTFZhbHVlIGJ1
aWxkRlBDYXN0KExCdWlsZGVyIGJ1aWxkZXIsIExWYWx1ZSB2YWx1ZSwgTFR5cGUgdHlwZSkgeyBy
ZXR1cm4gTExWTUJ1aWxkRlBDYXN0KGJ1aWxkZXIsIHZhbHVlLCB0eXBlLCAiIik7IH0KLXN0YXRp
YyBpbmxpbmUgTFZhbHVlIGJ1aWxkSW50VG9QdHIoTEJ1aWxkZXIgYnVpbGRlciwgTFZhbHVlIHZh
bHVlLCBMVHlwZSB0eXBlKSB7IHJldHVybiBMTFZNQnVpbGRJbnRUb1B0cihidWlsZGVyLCB2YWx1
ZSwgdHlwZSwgIiIpOyB9Ci1zdGF0aWMgaW5saW5lIExWYWx1ZSBidWlsZFB0clRvSW50KExCdWls
ZGVyIGJ1aWxkZXIsIExWYWx1ZSB2YWx1ZSwgTFR5cGUgdHlwZSkgeyByZXR1cm4gTExWTUJ1aWxk
UHRyVG9JbnQoYnVpbGRlciwgdmFsdWUsIHR5cGUsICIiKTsgfQotc3RhdGljIGlubGluZSBMVmFs
dWUgYnVpbGRCaXRDYXN0KExCdWlsZGVyIGJ1aWxkZXIsIExWYWx1ZSB2YWx1ZSwgTFR5cGUgdHlw
ZSkgeyByZXR1cm4gTExWTUJ1aWxkQml0Q2FzdChidWlsZGVyLCB2YWx1ZSwgdHlwZSwgIiIpOyB9
Ci1zdGF0aWMgaW5saW5lIExWYWx1ZSBidWlsZElDbXAoTEJ1aWxkZXIgYnVpbGRlciwgTEludFBy
ZWRpY2F0ZSBjb25kLCBMVmFsdWUgbGVmdCwgTFZhbHVlIHJpZ2h0KSB7IHJldHVybiBMTFZNQnVp
bGRJQ21wKGJ1aWxkZXIsIGNvbmQsIGxlZnQsIHJpZ2h0LCAiIik7IH0KLXN0YXRpYyBpbmxpbmUg
TFZhbHVlIGJ1aWxkRkNtcChMQnVpbGRlciBidWlsZGVyLCBMUmVhbFByZWRpY2F0ZSBjb25kLCBM
VmFsdWUgbGVmdCwgTFZhbHVlIHJpZ2h0KSB7IHJldHVybiBMTFZNQnVpbGRGQ21wKGJ1aWxkZXIs
IGNvbmQsIGxlZnQsIHJpZ2h0LCAiIik7IH0KK3N0YXRpYyBpbmxpbmUgTFZhbHVlIGJ1aWxkQWxs
b2NhKExCdWlsZGVyIGJ1aWxkZXIsIExUeXBlIHR5cGUpIHsgcmV0dXJuIGxsdm0tPkJ1aWxkQWxs
b2NhKGJ1aWxkZXIsIHR5cGUsICIiKTsgfQorc3RhdGljIGlubGluZSBMVmFsdWUgYnVpbGRBZGQo
TEJ1aWxkZXIgYnVpbGRlciwgTFZhbHVlIGxlZnQsIExWYWx1ZSByaWdodCkgeyByZXR1cm4gbGx2
bS0+QnVpbGRBZGQoYnVpbGRlciwgbGVmdCwgcmlnaHQsICIiKTsgfQorc3RhdGljIGlubGluZSBM
VmFsdWUgYnVpbGRTdWIoTEJ1aWxkZXIgYnVpbGRlciwgTFZhbHVlIGxlZnQsIExWYWx1ZSByaWdo
dCkgeyByZXR1cm4gbGx2bS0+QnVpbGRTdWIoYnVpbGRlciwgbGVmdCwgcmlnaHQsICIiKTsgfQor
c3RhdGljIGlubGluZSBMVmFsdWUgYnVpbGRNdWwoTEJ1aWxkZXIgYnVpbGRlciwgTFZhbHVlIGxl
ZnQsIExWYWx1ZSByaWdodCkgeyByZXR1cm4gbGx2bS0+QnVpbGRNdWwoYnVpbGRlciwgbGVmdCwg
cmlnaHQsICIiKTsgfQorc3RhdGljIGlubGluZSBMVmFsdWUgYnVpbGREaXYoTEJ1aWxkZXIgYnVp
bGRlciwgTFZhbHVlIGxlZnQsIExWYWx1ZSByaWdodCkgeyByZXR1cm4gbGx2bS0+QnVpbGRTRGl2
KGJ1aWxkZXIsIGxlZnQsIHJpZ2h0LCAiIik7IH0KK3N0YXRpYyBpbmxpbmUgTFZhbHVlIGJ1aWxk
UmVtKExCdWlsZGVyIGJ1aWxkZXIsIExWYWx1ZSBsZWZ0LCBMVmFsdWUgcmlnaHQpIHsgcmV0dXJu
IGxsdm0tPkJ1aWxkU1JlbShidWlsZGVyLCBsZWZ0LCByaWdodCwgIiIpOyB9CitzdGF0aWMgaW5s
aW5lIExWYWx1ZSBidWlsZE5lZyhMQnVpbGRlciBidWlsZGVyLCBMVmFsdWUgdmFsdWUpIHsgcmV0
dXJuIGxsdm0tPkJ1aWxkTmVnKGJ1aWxkZXIsIHZhbHVlLCAiIik7IH0KK3N0YXRpYyBpbmxpbmUg
TFZhbHVlIGJ1aWxkRkFkZChMQnVpbGRlciBidWlsZGVyLCBMVmFsdWUgbGVmdCwgTFZhbHVlIHJp
Z2h0KSB7IHJldHVybiBsbHZtLT5CdWlsZEZBZGQoYnVpbGRlciwgbGVmdCwgcmlnaHQsICIiKTsg
fQorc3RhdGljIGlubGluZSBMVmFsdWUgYnVpbGRGU3ViKExCdWlsZGVyIGJ1aWxkZXIsIExWYWx1
ZSBsZWZ0LCBMVmFsdWUgcmlnaHQpIHsgcmV0dXJuIGxsdm0tPkJ1aWxkRlN1YihidWlsZGVyLCBs
ZWZ0LCByaWdodCwgIiIpOyB9CitzdGF0aWMgaW5saW5lIExWYWx1ZSBidWlsZEZNdWwoTEJ1aWxk
ZXIgYnVpbGRlciwgTFZhbHVlIGxlZnQsIExWYWx1ZSByaWdodCkgeyByZXR1cm4gbGx2bS0+QnVp
bGRGTXVsKGJ1aWxkZXIsIGxlZnQsIHJpZ2h0LCAiIik7IH0KK3N0YXRpYyBpbmxpbmUgTFZhbHVl
IGJ1aWxkRkRpdihMQnVpbGRlciBidWlsZGVyLCBMVmFsdWUgbGVmdCwgTFZhbHVlIHJpZ2h0KSB7
IHJldHVybiBsbHZtLT5CdWlsZEZEaXYoYnVpbGRlciwgbGVmdCwgcmlnaHQsICIiKTsgfQorc3Rh
dGljIGlubGluZSBMVmFsdWUgYnVpbGRGUmVtKExCdWlsZGVyIGJ1aWxkZXIsIExWYWx1ZSBsZWZ0
LCBMVmFsdWUgcmlnaHQpIHsgcmV0dXJuIGxsdm0tPkJ1aWxkRlJlbShidWlsZGVyLCBsZWZ0LCBy
aWdodCwgIiIpOyB9CitzdGF0aWMgaW5saW5lIExWYWx1ZSBidWlsZEZOZWcoTEJ1aWxkZXIgYnVp
bGRlciwgTFZhbHVlIHZhbHVlKSB7IHJldHVybiBsbHZtLT5CdWlsZEZOZWcoYnVpbGRlciwgdmFs
dWUsICIiKTsgfQorc3RhdGljIGlubGluZSBMVmFsdWUgYnVpbGRBbmQoTEJ1aWxkZXIgYnVpbGRl
ciwgTFZhbHVlIGxlZnQsIExWYWx1ZSByaWdodCkgeyByZXR1cm4gbGx2bS0+QnVpbGRBbmQoYnVp
bGRlciwgbGVmdCwgcmlnaHQsICIiKTsgfQorc3RhdGljIGlubGluZSBMVmFsdWUgYnVpbGRPcihM
QnVpbGRlciBidWlsZGVyLCBMVmFsdWUgbGVmdCwgTFZhbHVlIHJpZ2h0KSB7IHJldHVybiBsbHZt
LT5CdWlsZE9yKGJ1aWxkZXIsIGxlZnQsIHJpZ2h0LCAiIik7IH0KK3N0YXRpYyBpbmxpbmUgTFZh
bHVlIGJ1aWxkWG9yKExCdWlsZGVyIGJ1aWxkZXIsIExWYWx1ZSBsZWZ0LCBMVmFsdWUgcmlnaHQp
IHsgcmV0dXJuIGxsdm0tPkJ1aWxkWG9yKGJ1aWxkZXIsIGxlZnQsIHJpZ2h0LCAiIik7IH0KK3N0
YXRpYyBpbmxpbmUgTFZhbHVlIGJ1aWxkU2hsKExCdWlsZGVyIGJ1aWxkZXIsIExWYWx1ZSBsZWZ0
LCBMVmFsdWUgcmlnaHQpIHsgcmV0dXJuIGxsdm0tPkJ1aWxkU2hsKGJ1aWxkZXIsIGxlZnQsIHJp
Z2h0LCAiIik7IH0KK3N0YXRpYyBpbmxpbmUgTFZhbHVlIGJ1aWxkQVNocihMQnVpbGRlciBidWls
ZGVyLCBMVmFsdWUgbGVmdCwgTFZhbHVlIHJpZ2h0KSB7IHJldHVybiBsbHZtLT5CdWlsZEFTaHIo
YnVpbGRlciwgbGVmdCwgcmlnaHQsICIiKTsgfQorc3RhdGljIGlubGluZSBMVmFsdWUgYnVpbGRM
U2hyKExCdWlsZGVyIGJ1aWxkZXIsIExWYWx1ZSBsZWZ0LCBMVmFsdWUgcmlnaHQpIHsgcmV0dXJu
IGxsdm0tPkJ1aWxkTFNocihidWlsZGVyLCBsZWZ0LCByaWdodCwgIiIpOyB9CitzdGF0aWMgaW5s
aW5lIExWYWx1ZSBidWlsZE5vdChMQnVpbGRlciBidWlsZGVyLCBMVmFsdWUgdmFsdWUpIHsgcmV0
dXJuIGxsdm0tPkJ1aWxkTm90KGJ1aWxkZXIsIHZhbHVlLCAiIik7IH0KK3N0YXRpYyBpbmxpbmUg
TFZhbHVlIGJ1aWxkTG9hZChMQnVpbGRlciBidWlsZGVyLCBMVmFsdWUgcG9pbnRlcikgeyByZXR1
cm4gbGx2bS0+QnVpbGRMb2FkKGJ1aWxkZXIsIHBvaW50ZXIsICIiKTsgfQorc3RhdGljIGlubGlu
ZSBMVmFsdWUgYnVpbGRTdG9yZShMQnVpbGRlciBidWlsZGVyLCBMVmFsdWUgdmFsdWUsIExWYWx1
ZSBwb2ludGVyKSB7IHJldHVybiBsbHZtLT5CdWlsZFN0b3JlKGJ1aWxkZXIsIHZhbHVlLCBwb2lu
dGVyKTsgfQorc3RhdGljIGlubGluZSBMVmFsdWUgYnVpbGRTRXh0KExCdWlsZGVyIGJ1aWxkZXIs
IExWYWx1ZSB2YWx1ZSwgTFR5cGUgdHlwZSkgeyByZXR1cm4gbGx2bS0+QnVpbGRTRXh0KGJ1aWxk
ZXIsIHZhbHVlLCB0eXBlLCAiIik7IH0KK3N0YXRpYyBpbmxpbmUgTFZhbHVlIGJ1aWxkWkV4dChM
QnVpbGRlciBidWlsZGVyLCBMVmFsdWUgdmFsdWUsIExUeXBlIHR5cGUpIHsgcmV0dXJuIGxsdm0t
PkJ1aWxkWkV4dChidWlsZGVyLCB2YWx1ZSwgdHlwZSwgIiIpOyB9CitzdGF0aWMgaW5saW5lIExW
YWx1ZSBidWlsZEZQVG9TSShMQnVpbGRlciBidWlsZGVyLCBMVmFsdWUgdmFsdWUsIExUeXBlIHR5
cGUpIHsgcmV0dXJuIGxsdm0tPkJ1aWxkRlBUb1NJKGJ1aWxkZXIsIHZhbHVlLCB0eXBlLCAiIik7
IH0KK3N0YXRpYyBpbmxpbmUgTFZhbHVlIGJ1aWxkRlBUb1VJKExCdWlsZGVyIGJ1aWxkZXIsIExW
YWx1ZSB2YWx1ZSwgTFR5cGUgdHlwZSkgeyByZXR1cm4gbGx2bS0+QnVpbGRGUFRvVUkoYnVpbGRl
ciwgdmFsdWUsIHR5cGUsICIiKTsgfQorc3RhdGljIGlubGluZSBMVmFsdWUgYnVpbGRTSVRvRlAo
TEJ1aWxkZXIgYnVpbGRlciwgTFZhbHVlIHZhbHVlLCBMVHlwZSB0eXBlKSB7IHJldHVybiBsbHZt
LT5CdWlsZFNJVG9GUChidWlsZGVyLCB2YWx1ZSwgdHlwZSwgIiIpOyB9CitzdGF0aWMgaW5saW5l
IExWYWx1ZSBidWlsZFVJVG9GUChMQnVpbGRlciBidWlsZGVyLCBMVmFsdWUgdmFsdWUsIExUeXBl
IHR5cGUpIHsgcmV0dXJuIGxsdm0tPkJ1aWxkVUlUb0ZQKGJ1aWxkZXIsIHZhbHVlLCB0eXBlLCAi
Iik7IH0KK3N0YXRpYyBpbmxpbmUgTFZhbHVlIGJ1aWxkSW50Q2FzdChMQnVpbGRlciBidWlsZGVy
LCBMVmFsdWUgdmFsdWUsIExUeXBlIHR5cGUpIHsgcmV0dXJuIGxsdm0tPkJ1aWxkSW50Q2FzdChi
dWlsZGVyLCB2YWx1ZSwgdHlwZSwgIiIpOyB9CitzdGF0aWMgaW5saW5lIExWYWx1ZSBidWlsZEZQ
Q2FzdChMQnVpbGRlciBidWlsZGVyLCBMVmFsdWUgdmFsdWUsIExUeXBlIHR5cGUpIHsgcmV0dXJu
IGxsdm0tPkJ1aWxkRlBDYXN0KGJ1aWxkZXIsIHZhbHVlLCB0eXBlLCAiIik7IH0KK3N0YXRpYyBp
bmxpbmUgTFZhbHVlIGJ1aWxkSW50VG9QdHIoTEJ1aWxkZXIgYnVpbGRlciwgTFZhbHVlIHZhbHVl
LCBMVHlwZSB0eXBlKSB7IHJldHVybiBsbHZtLT5CdWlsZEludFRvUHRyKGJ1aWxkZXIsIHZhbHVl
LCB0eXBlLCAiIik7IH0KK3N0YXRpYyBpbmxpbmUgTFZhbHVlIGJ1aWxkUHRyVG9JbnQoTEJ1aWxk
ZXIgYnVpbGRlciwgTFZhbHVlIHZhbHVlLCBMVHlwZSB0eXBlKSB7IHJldHVybiBsbHZtLT5CdWls
ZFB0clRvSW50KGJ1aWxkZXIsIHZhbHVlLCB0eXBlLCAiIik7IH0KK3N0YXRpYyBpbmxpbmUgTFZh
bHVlIGJ1aWxkQml0Q2FzdChMQnVpbGRlciBidWlsZGVyLCBMVmFsdWUgdmFsdWUsIExUeXBlIHR5
cGUpIHsgcmV0dXJuIGxsdm0tPkJ1aWxkQml0Q2FzdChidWlsZGVyLCB2YWx1ZSwgdHlwZSwgIiIp
OyB9CitzdGF0aWMgaW5saW5lIExWYWx1ZSBidWlsZElDbXAoTEJ1aWxkZXIgYnVpbGRlciwgTElu
dFByZWRpY2F0ZSBjb25kLCBMVmFsdWUgbGVmdCwgTFZhbHVlIHJpZ2h0KSB7IHJldHVybiBsbHZt
LT5CdWlsZElDbXAoYnVpbGRlciwgY29uZCwgbGVmdCwgcmlnaHQsICIiKTsgfQorc3RhdGljIGlu
bGluZSBMVmFsdWUgYnVpbGRGQ21wKExCdWlsZGVyIGJ1aWxkZXIsIExSZWFsUHJlZGljYXRlIGNv
bmQsIExWYWx1ZSBsZWZ0LCBMVmFsdWUgcmlnaHQpIHsgcmV0dXJuIGxsdm0tPkJ1aWxkRkNtcChi
dWlsZGVyLCBjb25kLCBsZWZ0LCByaWdodCwgIiIpOyB9CiBzdGF0aWMgaW5saW5lIExWYWx1ZSBi
dWlsZENhbGwoTEJ1aWxkZXIgYnVpbGRlciwgTFZhbHVlIGZ1bmN0aW9uLCBjb25zdCBMVmFsdWUq
IGFyZ3MsIHVuc2lnbmVkIG51bUFyZ3MpCiB7Ci0gICAgcmV0dXJuIExMVk1CdWlsZENhbGwoYnVp
bGRlciwgZnVuY3Rpb24sIGNvbnN0X2Nhc3Q8TFZhbHVlKj4oYXJncyksIG51bUFyZ3MsICIiKTsK
KyAgICByZXR1cm4gbGx2bS0+QnVpbGRDYWxsKGJ1aWxkZXIsIGZ1bmN0aW9uLCBjb25zdF9jYXN0
PExWYWx1ZSo+KGFyZ3MpLCBudW1BcmdzLCAiIik7CiB9CiB0ZW1wbGF0ZTx0eXBlbmFtZSBWZWN0
b3JUeXBlPgogaW5saW5lIExWYWx1ZSBidWlsZENhbGwoTEJ1aWxkZXIgYnVpbGRlciwgTFZhbHVl
IGZ1bmN0aW9uLCBjb25zdCBWZWN0b3JUeXBlJiB2ZWN0b3IpCkBAIC0yNDgsMTMgKzI0OSwxMyBA
QCBzdGF0aWMgaW5saW5lIExWYWx1ZSBidWlsZENhbGwoTEJ1aWxkZXIgCiAgICAgcmV0dXJuIGJ1
aWxkQ2FsbChidWlsZGVyLCBmdW5jdGlvbiwgYXJncywgNCk7CiB9CiBlbnVtIFRhaWxDYWxsTW9k
ZSB7IElzTm90VGFpbENhbGwsIElzVGFpbENhbGwgfTsKLXN0YXRpYyBpbmxpbmUgdm9pZCBzZXRU
YWlsQ2FsbChMVmFsdWUgY2FsbCwgVGFpbENhbGxNb2RlIG1vZGUpIHsgTExWTVNldFRhaWxDYWxs
KGNhbGwsIG1vZGUgPT0gSXNUYWlsQ2FsbCk7IH0KLXN0YXRpYyBpbmxpbmUgTFZhbHVlIGJ1aWxk
RXh0cmFjdFZhbHVlKExCdWlsZGVyIGJ1aWxkZXIsIExWYWx1ZSBhZ2dWYWwsIHVuc2lnbmVkIGlu
ZGV4KSB7IHJldHVybiBMTFZNQnVpbGRFeHRyYWN0VmFsdWUoYnVpbGRlciwgYWdnVmFsLCBpbmRl
eCwgIiIpOyB9Ci1zdGF0aWMgaW5saW5lIExWYWx1ZSBidWlsZFNlbGVjdChMQnVpbGRlciBidWls
ZGVyLCBMVmFsdWUgY29uZGl0aW9uLCBMVmFsdWUgdGFrZW4sIExWYWx1ZSBub3RUYWtlbikgeyBy
ZXR1cm4gTExWTUJ1aWxkU2VsZWN0KGJ1aWxkZXIsIGNvbmRpdGlvbiwgdGFrZW4sIG5vdFRha2Vu
LCAiIik7IH0KLXN0YXRpYyBpbmxpbmUgTFZhbHVlIGJ1aWxkQnIoTEJ1aWxkZXIgYnVpbGRlciwg
TEJhc2ljQmxvY2sgZGVzdGluYXRpb24pIHsgcmV0dXJuIExMVk1CdWlsZEJyKGJ1aWxkZXIsIGRl
c3RpbmF0aW9uKTsgfQotc3RhdGljIGlubGluZSBMVmFsdWUgYnVpbGRDb25kQnIoTEJ1aWxkZXIg
YnVpbGRlciwgTFZhbHVlIGNvbmRpdGlvbiwgTEJhc2ljQmxvY2sgdGFrZW4sIExCYXNpY0Jsb2Nr
IG5vdFRha2VuKSB7IHJldHVybiBMTFZNQnVpbGRDb25kQnIoYnVpbGRlciwgY29uZGl0aW9uLCB0
YWtlbiwgbm90VGFrZW4pOyB9Ci1zdGF0aWMgaW5saW5lIExWYWx1ZSBidWlsZFN3aXRjaChMQnVp
bGRlciBidWlsZGVyLCBMVmFsdWUgdmFsdWUsIExCYXNpY0Jsb2NrIGZhbGxUaHJvdWdoLCB1bnNp
Z25lZCBudW1DYXNlcykgeyByZXR1cm4gTExWTUJ1aWxkU3dpdGNoKGJ1aWxkZXIsIHZhbHVlLCBm
YWxsVGhyb3VnaCwgbnVtQ2FzZXMpOyB9Ci1zdGF0aWMgaW5saW5lIHZvaWQgYWRkQ2FzZShMVmFs
dWUgc3dpdGNoSW5zdCwgTFZhbHVlIHZhbHVlLCBMQmFzaWNCbG9jayB0YXJnZXQpIHsgTExWTUFk
ZENhc2Uoc3dpdGNoSW5zdCwgdmFsdWUsIHRhcmdldCk7IH0KK3N0YXRpYyBpbmxpbmUgdm9pZCBz
ZXRUYWlsQ2FsbChMVmFsdWUgY2FsbCwgVGFpbENhbGxNb2RlIG1vZGUpIHsgbGx2bS0+U2V0VGFp
bENhbGwoY2FsbCwgbW9kZSA9PSBJc1RhaWxDYWxsKTsgfQorc3RhdGljIGlubGluZSBMVmFsdWUg
YnVpbGRFeHRyYWN0VmFsdWUoTEJ1aWxkZXIgYnVpbGRlciwgTFZhbHVlIGFnZ1ZhbCwgdW5zaWdu
ZWQgaW5kZXgpIHsgcmV0dXJuIGxsdm0tPkJ1aWxkRXh0cmFjdFZhbHVlKGJ1aWxkZXIsIGFnZ1Zh
bCwgaW5kZXgsICIiKTsgfQorc3RhdGljIGlubGluZSBMVmFsdWUgYnVpbGRTZWxlY3QoTEJ1aWxk
ZXIgYnVpbGRlciwgTFZhbHVlIGNvbmRpdGlvbiwgTFZhbHVlIHRha2VuLCBMVmFsdWUgbm90VGFr
ZW4pIHsgcmV0dXJuIGxsdm0tPkJ1aWxkU2VsZWN0KGJ1aWxkZXIsIGNvbmRpdGlvbiwgdGFrZW4s
IG5vdFRha2VuLCAiIik7IH0KK3N0YXRpYyBpbmxpbmUgTFZhbHVlIGJ1aWxkQnIoTEJ1aWxkZXIg
YnVpbGRlciwgTEJhc2ljQmxvY2sgZGVzdGluYXRpb24pIHsgcmV0dXJuIGxsdm0tPkJ1aWxkQnIo
YnVpbGRlciwgZGVzdGluYXRpb24pOyB9CitzdGF0aWMgaW5saW5lIExWYWx1ZSBidWlsZENvbmRC
cihMQnVpbGRlciBidWlsZGVyLCBMVmFsdWUgY29uZGl0aW9uLCBMQmFzaWNCbG9jayB0YWtlbiwg
TEJhc2ljQmxvY2sgbm90VGFrZW4pIHsgcmV0dXJuIGxsdm0tPkJ1aWxkQ29uZEJyKGJ1aWxkZXIs
IGNvbmRpdGlvbiwgdGFrZW4sIG5vdFRha2VuKTsgfQorc3RhdGljIGlubGluZSBMVmFsdWUgYnVp
bGRTd2l0Y2goTEJ1aWxkZXIgYnVpbGRlciwgTFZhbHVlIHZhbHVlLCBMQmFzaWNCbG9jayBmYWxs
VGhyb3VnaCwgdW5zaWduZWQgbnVtQ2FzZXMpIHsgcmV0dXJuIGxsdm0tPkJ1aWxkU3dpdGNoKGJ1
aWxkZXIsIHZhbHVlLCBmYWxsVGhyb3VnaCwgbnVtQ2FzZXMpOyB9CitzdGF0aWMgaW5saW5lIHZv
aWQgYWRkQ2FzZShMVmFsdWUgc3dpdGNoSW5zdCwgTFZhbHVlIHZhbHVlLCBMQmFzaWNCbG9jayB0
YXJnZXQpIHsgbGx2bS0+QWRkQ2FzZShzd2l0Y2hJbnN0LCB2YWx1ZSwgdGFyZ2V0KTsgfQogdGVt
cGxhdGU8dHlwZW5hbWUgVmVjdG9yVHlwZT4KIHN0YXRpYyBpbmxpbmUgTFZhbHVlIGJ1aWxkU3dp
dGNoKExCdWlsZGVyIGJ1aWxkZXIsIExWYWx1ZSB2YWx1ZSwgY29uc3QgVmVjdG9yVHlwZSYgY2Fz
ZXMsIExCYXNpY0Jsb2NrIGZhbGxUaHJvdWdoKQogewpAQCAtMjYzLDE1ICsyNjQsMTUgQEAgc3Rh
dGljIGlubGluZSBMVmFsdWUgYnVpbGRTd2l0Y2goTEJ1aWxkZQogICAgICAgICBhZGRDYXNlKHJl
c3VsdCwgY2FzZXNbaV0udmFsdWUoKSwgY2FzZXNbaV0udGFyZ2V0KCkpOwogICAgIHJldHVybiBy
ZXN1bHQ7CiB9Ci1zdGF0aWMgaW5saW5lIExWYWx1ZSBidWlsZFJldChMQnVpbGRlciBidWlsZGVy
LCBMVmFsdWUgdmFsdWUpIHsgcmV0dXJuIExMVk1CdWlsZFJldChidWlsZGVyLCB2YWx1ZSk7IH0K
LXN0YXRpYyBpbmxpbmUgTFZhbHVlIGJ1aWxkVW5yZWFjaGFibGUoTEJ1aWxkZXIgYnVpbGRlcikg
eyByZXR1cm4gTExWTUJ1aWxkVW5yZWFjaGFibGUoYnVpbGRlcik7IH0KK3N0YXRpYyBpbmxpbmUg
TFZhbHVlIGJ1aWxkUmV0KExCdWlsZGVyIGJ1aWxkZXIsIExWYWx1ZSB2YWx1ZSkgeyByZXR1cm4g
bGx2bS0+QnVpbGRSZXQoYnVpbGRlciwgdmFsdWUpOyB9CitzdGF0aWMgaW5saW5lIExWYWx1ZSBi
dWlsZFVucmVhY2hhYmxlKExCdWlsZGVyIGJ1aWxkZXIpIHsgcmV0dXJuIGxsdm0tPkJ1aWxkVW5y
ZWFjaGFibGUoYnVpbGRlcik7IH0KIAotc3RhdGljIGlubGluZSB2b2lkIGR1bXBNb2R1bGUoTE1v
ZHVsZSBtb2R1bGUpIHsgTExWTUR1bXBNb2R1bGUobW9kdWxlKTsgfQorc3RhdGljIGlubGluZSB2
b2lkIGR1bXBNb2R1bGUoTE1vZHVsZSBtb2R1bGUpIHsgbGx2bS0+RHVtcE1vZHVsZShtb2R1bGUp
OyB9CiBzdGF0aWMgaW5saW5lIHZvaWQgdmVyaWZ5TW9kdWxlKExNb2R1bGUgbW9kdWxlKQogewog
ICAgIGNoYXIqIGVycm9yID0gMDsKLSAgICBMTFZNVmVyaWZ5TW9kdWxlKG1vZHVsZSwgTExWTUFi
b3J0UHJvY2Vzc0FjdGlvbiwgJmVycm9yKTsKLSAgICBMTFZNRGlzcG9zZU1lc3NhZ2UoZXJyb3Ip
OworICAgIGxsdm0tPlZlcmlmeU1vZHVsZShtb2R1bGUsIExMVk1BYm9ydFByb2Nlc3NBY3Rpb24s
ICZlcnJvcik7CisgICAgbGx2bS0+RGlzcG9zZU1lc3NhZ2UoZXJyb3IpOwogfQogCiB9IH0gLy8g
bmFtZXNwYWNlIEpTQzo6RlRMCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTENv
bXBpbGUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMQ29t
cGlsZS5jcHAJKHJldmlzaW9uIDE1NzIwNCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwv
RlRMQ29tcGlsZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM0LDggKzM0LDggQEAKICNpbmNsdWRl
ICJEaXNhc3NlbWJsZXIuaCIKICNpbmNsdWRlICJGVExKSVRDb2RlLmgiCiAjaW5jbHVkZSAiSklU
U3R1YnMuaCIKKyNpbmNsdWRlICJMTFZNQVBJLmgiCiAjaW5jbHVkZSAiTGlua0J1ZmZlci5oIgot
I2luY2x1ZGUgPHd0Zi9MTFZNSGVhZGVycy5oPgogCiBuYW1lc3BhY2UgSlNDIHsgbmFtZXNwYWNl
IEZUTCB7CiAKQEAgLTk1LDUyICs5NSw1MiBAQCB2b2lkIGNvbXBpbGUoU3RhdGUmIHN0YXRlKQog
ICAgIGNoYXIqIGVycm9yID0gMDsKICAgICAKICAgICBMTFZNTUNKSVRDb21waWxlck9wdGlvbnMg
b3B0aW9uczsKLSAgICBMTFZNSW5pdGlhbGl6ZU1DSklUQ29tcGlsZXJPcHRpb25zKCZvcHRpb25z
LCBzaXplb2Yob3B0aW9ucykpOworICAgIGxsdm0tPkluaXRpYWxpemVNQ0pJVENvbXBpbGVyT3B0
aW9ucygmb3B0aW9ucywgc2l6ZW9mKG9wdGlvbnMpKTsKICAgICBvcHRpb25zLk9wdExldmVsID0g
T3B0aW9uczo6bGx2bUJhY2tlbmRPcHRpbWl6YXRpb25MZXZlbCgpOwogICAgIG9wdGlvbnMuTm9G
cmFtZVBvaW50ZXJFbGltID0gdHJ1ZTsKICAgICBpZiAoT3B0aW9uczo6dXNlTExWTVNtYWxsQ29k
ZU1vZGVsKCkpCiAgICAgICAgIG9wdGlvbnMuQ29kZU1vZGVsID0gTExWTUNvZGVNb2RlbFNtYWxs
OwogICAgIG9wdGlvbnMuRW5hYmxlRmFzdElTZWwgPSBPcHRpb25zOjplbmFibGVMTFZNRmFzdElT
ZWwoKTsKLSAgICBvcHRpb25zLk1DSk1NID0gTExWTUNyZWF0ZVNpbXBsZU1DSklUTWVtb3J5TWFu
YWdlcigKKyAgICBvcHRpb25zLk1DSk1NID0gbGx2bS0+Q3JlYXRlU2ltcGxlTUNKSVRNZW1vcnlN
YW5hZ2VyKAogICAgICAgICAmc3RhdGUsIG1tQWxsb2NhdGVDb2RlU2VjdGlvbiwgbW1BbGxvY2F0
ZURhdGFTZWN0aW9uLCBtbUFwcGx5UGVybWlzc2lvbnMsIG1tRGVzdHJveSk7CiAgICAgCiAgICAg
TExWTUV4ZWN1dGlvbkVuZ2luZVJlZiBlbmdpbmU7CiAgICAgCi0gICAgaWYgKExMVk1DcmVhdGVN
Q0pJVENvbXBpbGVyRm9yTW9kdWxlKCZlbmdpbmUsIHN0YXRlLm1vZHVsZSwgJm9wdGlvbnMsIHNp
emVvZihvcHRpb25zKSwgJmVycm9yKSkgeworICAgIGlmIChsbHZtLT5DcmVhdGVNQ0pJVENvbXBp
bGVyRm9yTW9kdWxlKCZlbmdpbmUsIHN0YXRlLm1vZHVsZSwgJm9wdGlvbnMsIHNpemVvZihvcHRp
b25zKSwgJmVycm9yKSkgewogICAgICAgICBkYXRhTG9nKCJGQVRBTDogQ291bGQgbm90IGNyZWF0
ZSBMTFZNIGV4ZWN1dGlvbiBlbmdpbmU6ICIsIGVycm9yLCAiXG4iKTsKICAgICAgICAgQ1JBU0go
KTsKICAgICB9CiAKLSAgICBMTFZNUGFzc01hbmFnZXJCdWlsZGVyUmVmIHBhc3NCdWlsZGVyID0g
TExWTVBhc3NNYW5hZ2VyQnVpbGRlckNyZWF0ZSgpOwotICAgIExMVk1QYXNzTWFuYWdlckJ1aWxk
ZXJTZXRPcHRMZXZlbChwYXNzQnVpbGRlciwgT3B0aW9uczo6bGx2bU9wdGltaXphdGlvbkxldmVs
KCkpOwotICAgIExMVk1QYXNzTWFuYWdlckJ1aWxkZXJTZXRTaXplTGV2ZWwocGFzc0J1aWxkZXIs
IE9wdGlvbnM6Omxsdm1TaXplTGV2ZWwoKSk7CisgICAgTExWTVBhc3NNYW5hZ2VyQnVpbGRlclJl
ZiBwYXNzQnVpbGRlciA9IGxsdm0tPlBhc3NNYW5hZ2VyQnVpbGRlckNyZWF0ZSgpOworICAgIGxs
dm0tPlBhc3NNYW5hZ2VyQnVpbGRlclNldE9wdExldmVsKHBhc3NCdWlsZGVyLCBPcHRpb25zOjps
bHZtT3B0aW1pemF0aW9uTGV2ZWwoKSk7CisgICAgbGx2bS0+UGFzc01hbmFnZXJCdWlsZGVyU2V0
U2l6ZUxldmVsKHBhc3NCdWlsZGVyLCBPcHRpb25zOjpsbHZtU2l6ZUxldmVsKCkpOwogICAgIAot
ICAgIExMVk1QYXNzTWFuYWdlclJlZiBmdW5jdGlvblBhc3NlcyA9IExMVk1DcmVhdGVGdW5jdGlv
blBhc3NNYW5hZ2VyRm9yTW9kdWxlKHN0YXRlLm1vZHVsZSk7Ci0gICAgTExWTVBhc3NNYW5hZ2Vy
UmVmIG1vZHVsZVBhc3NlcyA9IExMVk1DcmVhdGVQYXNzTWFuYWdlcigpOworICAgIExMVk1QYXNz
TWFuYWdlclJlZiBmdW5jdGlvblBhc3NlcyA9IGxsdm0tPkNyZWF0ZUZ1bmN0aW9uUGFzc01hbmFn
ZXJGb3JNb2R1bGUoc3RhdGUubW9kdWxlKTsKKyAgICBMTFZNUGFzc01hbmFnZXJSZWYgbW9kdWxl
UGFzc2VzID0gbGx2bS0+Q3JlYXRlUGFzc01hbmFnZXIoKTsKICAgICAKLSAgICBMTFZNQWRkVGFy
Z2V0RGF0YShMTFZNR2V0RXhlY3V0aW9uRW5naW5lVGFyZ2V0RGF0YShlbmdpbmUpLCBtb2R1bGVQ
YXNzZXMpOworICAgIGxsdm0tPkFkZFRhcmdldERhdGEobGx2bS0+R2V0RXhlY3V0aW9uRW5naW5l
VGFyZ2V0RGF0YShlbmdpbmUpLCBtb2R1bGVQYXNzZXMpOwogICAgIAotICAgIExMVk1QYXNzTWFu
YWdlckJ1aWxkZXJQb3B1bGF0ZUZ1bmN0aW9uUGFzc01hbmFnZXIocGFzc0J1aWxkZXIsIGZ1bmN0
aW9uUGFzc2VzKTsKLSAgICBMTFZNUGFzc01hbmFnZXJCdWlsZGVyUG9wdWxhdGVNb2R1bGVQYXNz
TWFuYWdlcihwYXNzQnVpbGRlciwgbW9kdWxlUGFzc2VzKTsKKyAgICBsbHZtLT5QYXNzTWFuYWdl
ckJ1aWxkZXJQb3B1bGF0ZUZ1bmN0aW9uUGFzc01hbmFnZXIocGFzc0J1aWxkZXIsIGZ1bmN0aW9u
UGFzc2VzKTsKKyAgICBsbHZtLT5QYXNzTWFuYWdlckJ1aWxkZXJQb3B1bGF0ZU1vZHVsZVBhc3NN
YW5hZ2VyKHBhc3NCdWlsZGVyLCBtb2R1bGVQYXNzZXMpOwogICAgIAotICAgIExMVk1QYXNzTWFu
YWdlckJ1aWxkZXJEaXNwb3NlKHBhc3NCdWlsZGVyKTsKKyAgICBsbHZtLT5QYXNzTWFuYWdlckJ1
aWxkZXJEaXNwb3NlKHBhc3NCdWlsZGVyKTsKIAotICAgIExMVk1Jbml0aWFsaXplRnVuY3Rpb25Q
YXNzTWFuYWdlcihmdW5jdGlvblBhc3Nlcyk7Ci0gICAgZm9yIChMVmFsdWUgZnVuY3Rpb24gPSBM
TFZNR2V0Rmlyc3RGdW5jdGlvbihzdGF0ZS5tb2R1bGUpOyBmdW5jdGlvbjsgZnVuY3Rpb24gPSBM
TFZNR2V0TmV4dEZ1bmN0aW9uKGZ1bmN0aW9uKSkKLSAgICAgICAgTExWTVJ1bkZ1bmN0aW9uUGFz
c01hbmFnZXIoZnVuY3Rpb25QYXNzZXMsIGZ1bmN0aW9uKTsKLSAgICBMTFZNRmluYWxpemVGdW5j
dGlvblBhc3NNYW5hZ2VyKGZ1bmN0aW9uUGFzc2VzKTsKKyAgICBsbHZtLT5Jbml0aWFsaXplRnVu
Y3Rpb25QYXNzTWFuYWdlcihmdW5jdGlvblBhc3Nlcyk7CisgICAgZm9yIChMVmFsdWUgZnVuY3Rp
b24gPSBsbHZtLT5HZXRGaXJzdEZ1bmN0aW9uKHN0YXRlLm1vZHVsZSk7IGZ1bmN0aW9uOyBmdW5j
dGlvbiA9IGxsdm0tPkdldE5leHRGdW5jdGlvbihmdW5jdGlvbikpCisgICAgICAgIGxsdm0tPlJ1
bkZ1bmN0aW9uUGFzc01hbmFnZXIoZnVuY3Rpb25QYXNzZXMsIGZ1bmN0aW9uKTsKKyAgICBsbHZt
LT5GaW5hbGl6ZUZ1bmN0aW9uUGFzc01hbmFnZXIoZnVuY3Rpb25QYXNzZXMpOwogICAgIAotICAg
IExMVk1SdW5QYXNzTWFuYWdlcihtb2R1bGVQYXNzZXMsIHN0YXRlLm1vZHVsZSk7CisgICAgbGx2
bS0+UnVuUGFzc01hbmFnZXIobW9kdWxlUGFzc2VzLCBzdGF0ZS5tb2R1bGUpOwogCiAgICAgaWYg
KERGRzo6c2hvdWxkU2hvd0Rpc2Fzc2VtYmx5KCkgfHwgREZHOjp2ZXJib3NlQ29tcGlsYXRpb25F
bmFibGVkKCkpCiAgICAgICAgIHN0YXRlLmR1bXBTdGF0ZSgiYWZ0ZXIgb3B0aW1pemF0aW9uIik7
CiAgICAgCiAgICAgLy8gRklYTUU6IE5lZWQgdG8gYWRkIHN1cHBvcnQgZm9yIHRoZSBjYXNlIHdo
ZXJlIEpJVCBtZW1vcnkgYWxsb2NhdGlvbiBmYWlsZWQuCiAgICAgLy8gaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTExMzYyMAotICAgIHN0YXRlLmdlbmVyYXRlZEZ1bmN0
aW9uID0gcmVpbnRlcnByZXRfY2FzdDxHZW5lcmF0ZWRGdW5jdGlvbj4oTExWTUdldFBvaW50ZXJU
b0dsb2JhbChlbmdpbmUsIHN0YXRlLmZ1bmN0aW9uKSk7Ci0gICAgTExWTURpc3Bvc2VQYXNzTWFu
YWdlcihmdW5jdGlvblBhc3Nlcyk7Ci0gICAgTExWTURpc3Bvc2VQYXNzTWFuYWdlcihtb2R1bGVQ
YXNzZXMpOwotICAgIExMVk1EaXNwb3NlRXhlY3V0aW9uRW5naW5lKGVuZ2luZSk7CisgICAgc3Rh
dGUuZ2VuZXJhdGVkRnVuY3Rpb24gPSByZWludGVycHJldF9jYXN0PEdlbmVyYXRlZEZ1bmN0aW9u
PihsbHZtLT5HZXRQb2ludGVyVG9HbG9iYWwoZW5naW5lLCBzdGF0ZS5mdW5jdGlvbikpOworICAg
IGxsdm0tPkRpc3Bvc2VQYXNzTWFuYWdlcihmdW5jdGlvblBhc3Nlcyk7CisgICAgbGx2bS0+RGlz
cG9zZVBhc3NNYW5hZ2VyKG1vZHVsZVBhc3Nlcyk7CisgICAgbGx2bS0+RGlzcG9zZUV4ZWN1dGlv
bkVuZ2luZShlbmdpbmUpOwogCiAgICAgaWYgKHNob3VsZFNob3dEaXNhc3NlbWJseSgpKSB7CiAg
ICAgICAgIC8vIEZJWE1FOiBmb3VydGhUaWVyOiBGVEwgbWVtb3J5IGFsbG9jYXRvciBzaG91bGQg
YmUgYWJsZSB0byB0ZWxsIHVzIHdoaWNoIG9mCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
ZnRsL0ZUTEZhaWwuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwv
RlRMRmFpbC5jcHAJKHJldmlzaW9uIDE1NzIwNCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9m
dGwvRlRMRmFpbC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMwLDcgKzMwLDcgQEAKIAogI2luY2x1
ZGUgIkRGR0ZhaWxlZEZpbmFsaXplci5oIgogI2luY2x1ZGUgIkZUTEpJVENvZGUuaCIKLSNpbmNs
dWRlIDx3dGYvTExWTUhlYWRlcnMuaD4KKyNpbmNsdWRlICJMTFZNQVBJLmgiCiAKIG5hbWVzcGFj
ZSBKU0MgeyBuYW1lc3BhY2UgRlRMIHsKIApAQCAtNDAsNyArNDAsNyBAQCB2b2lkIGZhaWwoU3Rh
dGUmIHN0YXRlKQogewogICAgIHN0YXRlLmdyYXBoLm1fcGxhbi5maW5hbGl6ZXIgPSBhZG9wdFB0
cihuZXcgRmFpbGVkRmluYWxpemVyKHN0YXRlLmdyYXBoLm1fcGxhbikpOwogICAgIAotICAgIExM
Vk1EaXNwb3NlTW9kdWxlKHN0YXRlLm1vZHVsZSk7CisgICAgbGx2bS0+RGlzcG9zZU1vZHVsZShz
dGF0ZS5tb2R1bGUpOwogfQogCiB9IH0gLy8gbmFtZXNwYWNlIEpTQzo6RlRMCkluZGV4OiBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTEpJVENvZGUuaAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvZnRsL0ZUTEpJVENvZGUuaAkocmV2aXNpb24gMTU3MjA0KQorKysgU291
cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExKSVRDb2RlLmgJKHdvcmtpbmcgY29weSkKQEAgLTMz
LDcgKzMzLDcgQEAKICNpbmNsdWRlICJERkdDb21tb25EYXRhLmgiCiAjaW5jbHVkZSAiRlRMT1NS
RXhpdC5oIgogI2luY2x1ZGUgIkpJVENvZGUuaCIKLSNpbmNsdWRlIDx3dGYvTExWTUhlYWRlcnMu
aD4KKyNpbmNsdWRlICJMTFZNQVBJLmgiCiAjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWRBcnJheS5o
PgogCiBuYW1lc3BhY2UgSlNDIHsgbmFtZXNwYWNlIEZUTCB7CkluZGV4OiBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvZnRsL0ZUTEpJVEZpbmFsaXplci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9mdGwvRlRMSklURmluYWxpemVyLmgJKHJldmlzaW9uIDE1NzIwNCkKKysrIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMSklURmluYWxpemVyLmgJKHdvcmtpbmcgY29weSkK
QEAgLTMzLDkgKzMzLDkgQEAKICNpbmNsdWRlICJERkdGaW5hbGl6ZXIuaCIKICNpbmNsdWRlICJG
VExHZW5lcmF0ZWRGdW5jdGlvbi5oIgogI2luY2x1ZGUgIkZUTEpJVENvZGUuaCIKKyNpbmNsdWRl
ICJMTFZNQVBJLmgiCiAjaW5jbHVkZSAiTGlua0J1ZmZlci5oIgogI2luY2x1ZGUgIk1hY3JvQXNz
ZW1ibGVyLmgiCi0jaW5jbHVkZSA8d3RmL0xMVk1IZWFkZXJzLmg+CiAKIG5hbWVzcGFjZSBKU0Mg
eyBuYW1lc3BhY2UgRlRMIHsKIApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExM
aW5rLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTExpbmsu
Y3BwCShyZXZpc2lvbiAxNTcyMDQpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTExp
bmsuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zNSw5ICszNSw5IEBACiAjaW5jbHVkZSAiRlRMSklU
Q29kZS5oIgogI2luY2x1ZGUgIkpJVE9wZXJhdGlvbnMuaCIKICNpbmNsdWRlICJKSVRTdHVicy5o
IgorI2luY2x1ZGUgIkxMVk1BUEkuaCIKICNpbmNsdWRlICJMaW5rQnVmZmVyLmgiCiAjaW5jbHVk
ZSAiVmlydHVhbFJlZ2lzdGVyLmgiCi0jaW5jbHVkZSA8d3RmL0xMVk1IZWFkZXJzLmg+CiAKIG5h
bWVzcGFjZSBKU0MgeyBuYW1lc3BhY2UgRlRMIHsKIApJbmRleDogU291cmNlL0phdmFTY3JpcHRD
b3JlL2Z0bC9GVExMb3dlckRGR1RvTExWTS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFT
Y3JpcHRDb3JlL2Z0bC9GVExMb3dlckRGR1RvTExWTS5jcHAJKHJldmlzaW9uIDE1NzIwNCkKKysr
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMTG93ZXJERkdUb0xMVk0uY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC05MSw3ICs5MSw3IEBAIHB1YmxpYzoKICAgICAgICAgbV9ncmFwaC5tX2RvbWlu
YXRvcnMuY29tcHV0ZUlmTmVjZXNzYXJ5KG1fZ3JhcGgpOwogICAgICAgICAKICAgICAgICAgbV9m
dGxTdGF0ZS5tb2R1bGUgPQotICAgICAgICAgICAgTExWTU1vZHVsZUNyZWF0ZVdpdGhOYW1lSW5D
b250ZXh0KG5hbWUuZGF0YSgpLCBtX2Z0bFN0YXRlLmNvbnRleHQpOworICAgICAgICAgICAgbGx2
bS0+TW9kdWxlQ3JlYXRlV2l0aE5hbWVJbkNvbnRleHQobmFtZS5kYXRhKCksIG1fZnRsU3RhdGUu
Y29udGV4dCk7CiAgICAgICAgIAogICAgICAgICBtX2Z0bFN0YXRlLmZ1bmN0aW9uID0gYWRkRnVu
Y3Rpb24oCiAgICAgICAgICAgICBtX2Z0bFN0YXRlLm1vZHVsZSwgbmFtZS5kYXRhKCksIGZ1bmN0
aW9uVHlwZShtX291dC5pbnQ2NCwgbV9vdXQuaW50UHRyKSk7CkluZGV4OiBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvZnRsL0ZUTE91dHB1dC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3Jp
cHRDb3JlL2Z0bC9GVExPdXRwdXQuY3BwCShyZXZpc2lvbiAxNTcyMDQpCisrKyBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvZnRsL0ZUTE91dHB1dC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM0LDcgKzM0
LDcgQEAgT3V0cHV0OjpPdXRwdXQoTENvbnRleHQgY29udGV4dCkKICAgICA6IEludHJpbnNpY1Jl
cG9zaXRvcnkoY29udGV4dCkKICAgICAsIG1fZnVuY3Rpb24oMCkKICAgICAsIG1faGVhcHMoMCkK
LSAgICAsIG1fYnVpbGRlcihMTFZNQ3JlYXRlQnVpbGRlckluQ29udGV4dChtX2NvbnRleHQpKQor
ICAgICwgbV9idWlsZGVyKGxsdm0tPkNyZWF0ZUJ1aWxkZXJJbkNvbnRleHQobV9jb250ZXh0KSkK
ICAgICAsIG1fYmxvY2soMCkKICAgICAsIG1fbmV4dEJsb2NrKDApCiB7CkBAIC00Miw3ICs0Miw3
IEBAIE91dHB1dDo6T3V0cHV0KExDb250ZXh0IGNvbnRleHQpCiAKIE91dHB1dDo6fk91dHB1dCgp
CiB7Ci0gICAgTExWTURpc3Bvc2VCdWlsZGVyKG1fYnVpbGRlcik7CisgICAgbGx2bS0+RGlzcG9z
ZUJ1aWxkZXIobV9idWlsZGVyKTsKIH0KIAogfSB9IC8vIG5hbWVzcGFjZSBKU0M6OkZUTApJbmRl
eDogU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExPdXRwdXQuaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTE91dHB1dC5oCShyZXZpc2lvbiAxNTcyMDQpCisr
KyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTE91dHB1dC5oCSh3b3JraW5nIGNvcHkpCkBA
IC05NCw3ICs5NCw3IEBAIHB1YmxpYzoKICAgICB7CiAgICAgICAgIG1fYmxvY2sgPSBibG9jazsK
ICAgICAgICAgCi0gICAgICAgIExMVk1Qb3NpdGlvbkJ1aWxkZXJBdEVuZChtX2J1aWxkZXIsIGJs
b2NrKTsKKyAgICAgICAgbGx2bS0+UG9zaXRpb25CdWlsZGVyQXRFbmQobV9idWlsZGVyLCBibG9j
ayk7CiAgICAgfQogICAgIExCYXNpY0Jsb2NrIG5ld0Jsb2NrKGNvbnN0IGNoYXIqIG5hbWUgPSAi
IikKICAgICB7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTFN0YXRlLmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTFN0YXRlLmNwcAkocmV2
aXNpb24gMTU3MjA0KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExTdGF0ZS5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTM5LDcgKzM5LDcgQEAgdXNpbmcgbmFtZXNwYWNlIERGRzsKIAog
U3RhdGU6OlN0YXRlKEdyYXBoJiBncmFwaCkKICAgICA6IGdyYXBoKGdyYXBoKQotICAgICwgY29u
dGV4dChMTFZNQ29udGV4dENyZWF0ZSgpKQorICAgICwgY29udGV4dChsbHZtLT5Db250ZXh0Q3Jl
YXRlKCkpCiAgICAgLCBtb2R1bGUoMCkKICAgICAsIGZ1bmN0aW9uKDApCiAgICAgLCBnZW5lcmF0
ZWRGdW5jdGlvbigwKQpAQCAtNjcsNyArNjcsNyBAQCBTdGF0ZTo6U3RhdGUoR3JhcGgmIGdyYXBo
KQogCiBTdGF0ZTo6flN0YXRlKCkKIHsKLSAgICBMTFZNQ29udGV4dERpc3Bvc2UoY29udGV4dCk7
CisgICAgbGx2bS0+Q29udGV4dERpc3Bvc2UoY29udGV4dCk7CiB9CiAKIHZvaWQgU3RhdGU6OmR1
bXBTdGF0ZShjb25zdCBjaGFyKiB3aGVuKQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0
bC9XZWJLaXRMTFZNTGlicmFyeUFuY2hvci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFT
Y3JpcHRDb3JlL2Z0bC9XZWJLaXRMTFZNTGlicmFyeUFuY2hvci5jcHAJKHJldmlzaW9uIDE1NzIw
NCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvV2ViS2l0TExWTUxpYnJhcnlBbmNob3Iu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xLDM0ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMp
IDIwMTMgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAot
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIu
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUg
Y29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQot
ICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBUSEUKLSAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElO
IE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKLSAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUg
Rk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAotICogRVhFTVBM
QVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLAotICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9T
UyBPRiBVU0UsIERBVEEsIE9SCi0gKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04p
IEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCi0gKiBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RQotICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4gCi0gKi8KLQotI2luY2x1ZGUgImNvbmZpZy5oIgotCi0jaWYgRU5B
QkxFKEZUTF9KSVQpCi0vLyBUaGlzIGlzIGEgaGFjayBmb3IgZW5zdXJpbmcgdGhhdCB0aGUgYnVp
bGQgc3lzdGVtIHJlbGlua3MgSmF2YVNjcmlwdENvcmUgaWYgYW55Ci0vLyBvZiB0aGUgTExWTSBs
aWJyYXJpZXMgYXJlIGtub3duIHRvIGhhdmUgY2hhbmdlZC4KLSNpbmNsdWRlICJXZWJLaXRMTFZN
TGlicmFyeVRva2VuLmgiCi0KLSNlbmRpZgotCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGx2bS9Jbml0aWFsaXplTExWTS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsdm0vSW5pdGlhbGl6ZUxMVk0uY3BwCShyZXZpc2lvbiAwKQorKysgU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsdm0vSW5pdGlhbGl6ZUxMVk0uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAg
KzEsNDUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTMgQXBwbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0Ogor
ICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhl
CisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
QVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgor
ICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4g
T1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFH
RVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9G
SVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkg
VEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisgKi8KKwor
I2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIkluaXRpYWxpemVMTFZNLmgiCisKKyNpZiBI
QVZFKExMVk0pCisKKyNpbmNsdWRlIDx3dGYvVGhyZWFkaW5nLmg+CisKK25hbWVzcGFjZSBKU0Mg
eworCitzdGF0aWMgcHRocmVhZF9vbmNlX3QgaW5pdGlhbGl6ZUxMVk1PbmNlS2V5ID0gUFRIUkVB
RF9PTkNFX0lOSVQ7CisKK3ZvaWQgaW5pdGlhbGl6ZUxMVk0oKQoreworICAgIHB0aHJlYWRfb25j
ZSgmaW5pdGlhbGl6ZUxMVk1PbmNlS2V5LCBpbml0aWFsaXplTExWTUltcGwpOworfQorCit9IC8v
IG5hbWVzcGFjZSBKU0MKKworI2VuZGlmIC8vIEhBVkUoTExWTSkKKwpJbmRleDogU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsdm0vSW5pdGlhbGl6ZUxMVk0uaAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGx2bS9Jbml0aWFsaXplTExWTS5oCShyZXZpc2lvbiAwKQorKysgU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsdm0vSW5pdGlhbGl6ZUxMVk0uaAkod29ya2luZyBjb3B5KQpA
QCAtMCwwICsxLDQ0IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEzIEFwcGxlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJl
IG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJ
Q1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBM
RSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElB
TCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5U
IE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgor
ICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAor
ICovCisKKyNpZm5kZWYgSW5pdGlhbGl6ZUxMVk1faAorI2RlZmluZSBJbml0aWFsaXplTExWTV9o
CisKKyNpbmNsdWRlIDx3dGYvUGxhdGZvcm0uaD4KKworI2lmIEhBVkUoTExWTSkKKworbmFtZXNw
YWNlIEpTQyB7CisKK3ZvaWQgaW5pdGlhbGl6ZUxMVk1JbXBsKCk7CisKK3ZvaWQgaW5pdGlhbGl6
ZUxMVk0oKTsgLy8gSXQncyBzYWZlIHRvIGNhbGwgdGhpcyBtdWx0aXBsZSB0aW1lcy4KKworfSAv
LyBuYW1lc3BhY2UgSlNDCisKKyNlbmRpZiAvLyBIQVZFKExMVk0pCisKKyNlbmRpZiAvLyBJbml0
aWFsaXplTExWTV9oCisKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbHZtL0luaXRpYWxp
emVMTFZNTWFjLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbHZtL0lu
aXRpYWxpemVMTFZNTWFjLm1tCShyZXZpc2lvbiAwKQorKysgU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsdm0vSW5pdGlhbGl6ZUxMVk1NYWMubW0JKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw1NSBA
QAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAg
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJ
TkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICog
Q09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9S
IEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkK
KyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwg
T1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKyAqLworCisjaW1wb3J0
ICJjb25maWcuaCIKKyNpbXBvcnQgIkluaXRpYWxpemVMTFZNLmgiCisKKyNpZiBIQVZFKExMVk0p
CisKKyNpbXBvcnQgIkluaXRpYWxpemVMTFZNUE9TSVguaCIKKyNpbXBvcnQgPEZvdW5kYXRpb24v
Rm91bmRhdGlvbi5oPgorCisvLyBVc2UgdGhlICJKUyIgcHJlZml4IHRvIG1ha2UgY2hlY2stZm9y
LWluYXBwcm9wcmlhdGUtb2JqYy1jbGFzcy1uYW1lcyBoYXBweS4gSQorLy8gdGhpbmsgdGhpcyBp
cyBiZXR0ZXIgdGhhbiBoYWNraW5nIHRoYXQgc2NyaXB0LgorCitAaW50ZXJmYWNlIEpTSmF2YVNj
cmlwdENvcmVCdW5kbGVGaW5kZXIgOiBOU09iamVjdAorQGVuZAorCitAaW1wbGVtZW50YXRpb24g
SlNKYXZhU2NyaXB0Q29yZUJ1bmRsZUZpbmRlcgorQGVuZAorCituYW1lc3BhY2UgSlNDIHsKKwor
dm9pZCBpbml0aWFsaXplTExWTUltcGwoKQoreworICAgIE5TQnVuZGxlICpteUJ1bmRsZSA9IFtO
U0J1bmRsZSBidW5kbGVGb3JDbGFzczpbSlNKYXZhU2NyaXB0Q29yZUJ1bmRsZUZpbmRlciBjbGFz
c11dOworICAgIE5TU3RyaW5nICpwYXRoID0gW1tteUJ1bmRsZSBidW5kbGVQYXRoXSBzdHJpbmdC
eUFwcGVuZGluZ1BhdGhDb21wb25lbnQ6QCJMaWJyYXJpZXMvbGlibGx2bUZvckpTQy5keWxpYiJd
OworICAgIAorICAgIGluaXRpYWxpemVMTFZNUE9TSVgoW3BhdGggVVRGOFN0cmluZ10pOworfQor
Cit9IC8vIG5hbWVzcGFjZSBKU0MKKworI2VuZGlmIC8vIEhBVkUoTExWTSkKSW5kZXg6IFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbHZtL0luaXRpYWxpemVMTFZNUE9TSVguY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbHZtL0luaXRpYWxpemVMTFZNUE9TSVguY3BwCShy
ZXZpc2lvbiAwKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2xsdm0vSW5pdGlhbGl6ZUxMVk1Q
T1NJWC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw1MyBAQAorLyoKKyAqIENvcHlyaWdo
dCAoQykgMjAxMyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgor
ICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgor
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQg
QU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJ
QUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBF
WEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT
OyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5j
bHVkZSAiSW5pdGlhbGl6ZUxMVk1QT1NJWC5oIgorCisjaWYgSEFWRShMTFZNKQorCisjaW5jbHVk
ZSAiTExWTUFQSS5oIgorI2luY2x1ZGUgPGRsZmNuLmg+CisKK25hbWVzcGFjZSBKU0MgeworCit0
eXBlZGVmIExMVk1BUEkqICgqSW5pdGlhbGl6ZXJGdW5jdGlvbikoKTsKKwordm9pZCBpbml0aWFs
aXplTExWTVBPU0lYKGNvbnN0IGNoYXIqIGxpYnJhcnlOYW1lKQoreworICAgIHZvaWQqIGxpYnJh
cnkgPSBkbG9wZW4obGlicmFyeU5hbWUsIFJUTERfTk9XKTsKKyAgICBBU1NFUlRfV0lUSF9NRVNT
QUdFKGxpYnJhcnksICIlcyIsIGRsZXJyb3IoKSk7CisgICAgCisgICAgSW5pdGlhbGl6ZXJGdW5j
dGlvbiBpbml0aWFsaXplciA9IGJpdHdpc2VfY2FzdDxJbml0aWFsaXplckZ1bmN0aW9uPigKKyAg
ICAgICAgZGxzeW0obGlicmFyeSwgImluaXRpYWxpemVBbmRHZXRKU0NMTFZNQVBJIikpOworICAg
IEFTU0VSVF9XSVRIX01FU1NBR0UoaW5pdGlhbGl6ZXIsICIlcyIsIGRsZXJyb3IoKSk7CisgICAg
CisgICAgbGx2bSA9IGluaXRpYWxpemVyKCk7Cit9CisKK30gLy8gbmFtZXNwYWNlIEpTQworCisj
ZW5kaWYgLy8gSEFWRShMTFZNKQorCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvbGx2bS9J
bml0aWFsaXplTExWTVBPU0lYLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsdm0vSW5pdGlhbGl6ZUxMVk1QT1NJWC5oCShyZXZpc2lvbiAwKQorKysgU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsdm0vSW5pdGlhbGl6ZUxMVk1QT1NJWC5oCSh3b3JraW5nIGNvcHkpCkBAIC0w
LDAgKzEsNDIgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTMgQXBwbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0
OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4g
dGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB
UgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElO
Qy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERB
TUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0Yg
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBB
TlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisgKi8K
KworI2lmbmRlZiBJbml0aWFsaXplTExWTVBPU0lYX2gKKyNkZWZpbmUgSW5pdGlhbGl6ZUxMVk1Q
T1NJWF9oCisKKyNpbmNsdWRlIDx3dGYvUGxhdGZvcm0uaD4KKworI2lmIEhBVkUoTExWTSkKKwor
bmFtZXNwYWNlIEpTQyB7CisKK3ZvaWQgaW5pdGlhbGl6ZUxMVk1QT1NJWChjb25zdCBjaGFyKiBs
aWJyYXJ5TmFtZSk7CisKK30gLy8gbmFtZXNwYWNlIEpTQworCisjZW5kaWYgLy8gSEFWRShMTFZN
KQorCisjZW5kaWYgLy8gSW5pdGlhbGl6ZUxMVk1QT1NJWF9oCisKSW5kZXg6IFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbHZtL0xMVk1BUEkuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbHZtL0xMVk1BUEkuY3BwCShyZXZpc2lvbiAwKQorKysgU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsdm0vTExWTUFQSS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzNyBAQAor
LyoKKyAqIENvcHlyaWdodCAoQykgMjAxMyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0
cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMu
IGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NF
IEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09O
VFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
IFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJV
U0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAq
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1Ig
VE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
RUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKyAqLworCisjaW5jbHVkZSAi
Y29uZmlnLmgiCisjaW5jbHVkZSAiTExWTUFQSS5oIgorCisjaWYgSEFWRShMTFZNKQorCituYW1l
c3BhY2UgSlNDIHsKKworTExWTUFQSSogbGx2bTsKKworfQorCisjZW5kaWYgLy8gSEFWRShMTFZN
KQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2xsdm0vTExWTUFQSS5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbHZtL0xMVk1BUEkuaAkocmV2aXNpb24gMCkKKysr
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbHZtL0xMVk1BUEkuaAkod29ya2luZyBjb3B5KQpAQCAt
MCwwICsxLDUyIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEzIEFwcGxlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1l
dDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVE
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM
QVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJ
TkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVD
VCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBE
QU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9G
IFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICog
UFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04g
QU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1Qg
TElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorICov
CisKKyNpZm5kZWYgTExWTUFQSV9oCisjZGVmaW5lIExMVk1BUElfaAorCisjaW5jbHVkZSA8d3Rm
L1BsYXRmb3JtLmg+CisKKyNpZiBIQVZFKExMVk0pCisKKyNpbmNsdWRlICJMTFZNQVBJRnVuY3Rp
b25zLmgiCisjaW5jbHVkZSAiTExWTUhlYWRlcnMuaCIKKworbmFtZXNwYWNlIEpTQyB7CisKK3N0
cnVjdCBMTFZNQVBJIHsKKyNkZWZpbmUgTExWTV9BUElfRlVOQ1RJT05fREVDTEFSQVRJT04ocmV0
dXJuVHlwZSwgbmFtZSwgc2lnbmF0dXJlKSBcCisgICAgcmV0dXJuVHlwZSAoKm5hbWUpIHNpZ25h
dHVyZTsKKyAgICBGT1JfRUFDSF9MTFZNX0FQSV9GVU5DVElPTihMTFZNX0FQSV9GVU5DVElPTl9E
RUNMQVJBVElPTikKKyN1bmRlZiBMTFZNX0FQSV9GVU5DVElPTl9ERUNMQVJBVElPTgorfTsKKwor
ZXh0ZXJuIExMVk1BUEkqIGxsdm07CisKK30gLy8gbmFtZXNwYWNlIEpTQworCisjZW5kaWYgLy8g
SEFWRShMTFZNKQorCisjZW5kaWYgLy8gTExWTUFQSV9oCisKSW5kZXg6IFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbHZtL0xMVk1BUElGdW5jdGlvbnMuaAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGx2bS9MTFZNQVBJRnVuY3Rpb25zLmgJKHJldmlzaW9uIDApCisrKyBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGx2bS9MTFZNQVBJRnVuY3Rpb25zLmgJKHdvcmtpbmcgY29weSkK
QEAgLTAsMCArMSw2MzYgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTMgQXBwbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBh
cmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElN
UExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFS
VElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQ
UExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1F
TlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9S
CisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4g
CisgKi8KKworI2lmbmRlZiBMTFZNQVBJRnVuY3Rpb25zX2gKKyNkZWZpbmUgTExWTUFQSUZ1bmN0
aW9uc19oCisKKyNpbmNsdWRlICJMTFZNSGVhZGVycy5oIgorCisjZGVmaW5lIEZPUl9FQUNIX0xM
Vk1fQVBJX0ZVTkNUSU9OKG1hY3JvKSBcCisgICAgbWFjcm8odm9pZCwgSW5pdGlhbGl6ZUNvcmUs
IChMTFZNUGFzc1JlZ2lzdHJ5UmVmIFIpKSBcCisgICAgbWFjcm8odm9pZCwgU2h1dGRvd24sICgp
KSBcCisgICAgbWFjcm8oY2hhciAqLCBDcmVhdGVNZXNzYWdlLCAoY29uc3QgY2hhciAqTWVzc2Fn
ZSkpIFwKKyAgICBtYWNybyh2b2lkLCBEaXNwb3NlTWVzc2FnZSwgKGNoYXIgKk1lc3NhZ2UpKSBc
CisgICAgbWFjcm8oTExWTUNvbnRleHRSZWYsIENvbnRleHRDcmVhdGUsICh2b2lkKSkgXAorICAg
IG1hY3JvKExMVk1Db250ZXh0UmVmLCBHZXRHbG9iYWxDb250ZXh0LCAodm9pZCkpIFwKKyAgICBt
YWNybyh2b2lkLCBDb250ZXh0RGlzcG9zZSwgKExMVk1Db250ZXh0UmVmIEMpKSBcCisgICAgbWFj
cm8odW5zaWduZWQsIEdldE1ES2luZElESW5Db250ZXh0LCAoTExWTUNvbnRleHRSZWYgQywgY29u
c3QgY2hhciogTmFtZSwgdW5zaWduZWQgU0xlbikpIFwKKyAgICBtYWNybyh1bnNpZ25lZCwgR2V0
TURLaW5kSUQsIChjb25zdCBjaGFyKiBOYW1lLCB1bnNpZ25lZCBTTGVuKSkgXAorICAgIG1hY3Jv
KExMVk1Nb2R1bGVSZWYsIE1vZHVsZUNyZWF0ZVdpdGhOYW1lLCAoY29uc3QgY2hhciAqTW9kdWxl
SUQpKSBcCisgICAgbWFjcm8oTExWTU1vZHVsZVJlZiwgTW9kdWxlQ3JlYXRlV2l0aE5hbWVJbkNv
bnRleHQsIChjb25zdCBjaGFyICpNb2R1bGVJRCwgTExWTUNvbnRleHRSZWYgQykpIFwKKyAgICBt
YWNybyh2b2lkLCBEaXNwb3NlTW9kdWxlLCAoTExWTU1vZHVsZVJlZiBNKSkgXAorICAgIG1hY3Jv
KGNvbnN0IGNoYXIgKiwgR2V0RGF0YUxheW91dCwgKExMVk1Nb2R1bGVSZWYgTSkpIFwKKyAgICBt
YWNybyh2b2lkLCBTZXREYXRhTGF5b3V0LCAoTExWTU1vZHVsZVJlZiBNLCBjb25zdCBjaGFyICpU
cmlwbGUpKSBcCisgICAgbWFjcm8oY29uc3QgY2hhciAqLCBHZXRUYXJnZXQsIChMTFZNTW9kdWxl
UmVmIE0pKSBcCisgICAgbWFjcm8odm9pZCwgU2V0VGFyZ2V0LCAoTExWTU1vZHVsZVJlZiBNLCBj
b25zdCBjaGFyICpUcmlwbGUpKSBcCisgICAgbWFjcm8odm9pZCwgRHVtcE1vZHVsZSwgKExMVk1N
b2R1bGVSZWYgTSkpIFwKKyAgICBtYWNybyhMTFZNQm9vbCwgUHJpbnRNb2R1bGVUb0ZpbGUsIChM
TFZNTW9kdWxlUmVmIE0sIGNvbnN0IGNoYXIgKkZpbGVuYW1lLCBjaGFyICoqRXJyb3JNZXNzYWdl
KSkgXAorICAgIG1hY3JvKHZvaWQsIFNldE1vZHVsZUlubGluZUFzbSwgKExMVk1Nb2R1bGVSZWYg
TSwgY29uc3QgY2hhciAqQXNtKSkgXAorICAgIG1hY3JvKExMVk1Db250ZXh0UmVmLCBHZXRNb2R1
bGVDb250ZXh0LCAoTExWTU1vZHVsZVJlZiBNKSkgXAorICAgIG1hY3JvKExMVk1UeXBlUmVmLCBH
ZXRUeXBlQnlOYW1lLCAoTExWTU1vZHVsZVJlZiBNLCBjb25zdCBjaGFyICpOYW1lKSkgXAorICAg
IG1hY3JvKHVuc2lnbmVkLCBHZXROYW1lZE1ldGFkYXRhTnVtT3BlcmFuZHMsIChMTFZNTW9kdWxl
UmVmIE0sIGNvbnN0IGNoYXIqIG5hbWUpKSBcCisgICAgbWFjcm8odm9pZCwgR2V0TmFtZWRNZXRh
ZGF0YU9wZXJhbmRzLCAoTExWTU1vZHVsZVJlZiBNLCBjb25zdCBjaGFyKiBuYW1lLCBMTFZNVmFs
dWVSZWYgKkRlc3QpKSBcCisgICAgbWFjcm8odm9pZCwgQWRkTmFtZWRNZXRhZGF0YU9wZXJhbmQs
IChMTFZNTW9kdWxlUmVmIE0sIGNvbnN0IGNoYXIqIG5hbWUsIExMVk1WYWx1ZVJlZiBWYWwpKSBc
CisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBBZGRGdW5jdGlvbiwgKExMVk1Nb2R1bGVSZWYgTSwg
Y29uc3QgY2hhciAqTmFtZSwgTExWTVR5cGVSZWYgRnVuY3Rpb25UeSkpIFwKKyAgICBtYWNybyhM
TFZNVmFsdWVSZWYsIEdldE5hbWVkRnVuY3Rpb24sIChMTFZNTW9kdWxlUmVmIE0sIGNvbnN0IGNo
YXIgKk5hbWUpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBHZXRGaXJzdEZ1bmN0aW9uLCAo
TExWTU1vZHVsZVJlZiBNKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgR2V0TGFzdEZ1bmN0
aW9uLCAoTExWTU1vZHVsZVJlZiBNKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgR2V0TmV4
dEZ1bmN0aW9uLCAoTExWTVZhbHVlUmVmIEZuKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwg
R2V0UHJldmlvdXNGdW5jdGlvbiwgKExMVk1WYWx1ZVJlZiBGbikpIFwKKyAgICBtYWNybyhMTFZN
VHlwZUtpbmQsIEdldFR5cGVLaW5kLCAoTExWTVR5cGVSZWYgVHkpKSBcCisgICAgbWFjcm8oTExW
TUJvb2wsIFR5cGVJc1NpemVkLCAoTExWTVR5cGVSZWYgVHkpKSBcCisgICAgbWFjcm8oTExWTUNv
bnRleHRSZWYsIEdldFR5cGVDb250ZXh0LCAoTExWTVR5cGVSZWYgVHkpKSBcCisgICAgbWFjcm8o
TExWTVR5cGVSZWYsIEludDFUeXBlSW5Db250ZXh0LCAoTExWTUNvbnRleHRSZWYgQykpIFwKKyAg
ICBtYWNybyhMTFZNVHlwZVJlZiwgSW50OFR5cGVJbkNvbnRleHQsIChMTFZNQ29udGV4dFJlZiBD
KSkgXAorICAgIG1hY3JvKExMVk1UeXBlUmVmLCBJbnQxNlR5cGVJbkNvbnRleHQsIChMTFZNQ29u
dGV4dFJlZiBDKSkgXAorICAgIG1hY3JvKExMVk1UeXBlUmVmLCBJbnQzMlR5cGVJbkNvbnRleHQs
IChMTFZNQ29udGV4dFJlZiBDKSkgXAorICAgIG1hY3JvKExMVk1UeXBlUmVmLCBJbnQ2NFR5cGVJ
bkNvbnRleHQsIChMTFZNQ29udGV4dFJlZiBDKSkgXAorICAgIG1hY3JvKExMVk1UeXBlUmVmLCBJ
bnRUeXBlSW5Db250ZXh0LCAoTExWTUNvbnRleHRSZWYgQywgdW5zaWduZWQgTnVtQml0cykpIFwK
KyAgICBtYWNybyhMTFZNVHlwZVJlZiwgSW50MVR5cGUsICh2b2lkKSkgXAorICAgIG1hY3JvKExM
Vk1UeXBlUmVmLCBJbnQ4VHlwZSwgKHZvaWQpKSBcCisgICAgbWFjcm8oTExWTVR5cGVSZWYsIElu
dDE2VHlwZSwgKHZvaWQpKSBcCisgICAgbWFjcm8oTExWTVR5cGVSZWYsIEludDMyVHlwZSwgKHZv
aWQpKSBcCisgICAgbWFjcm8oTExWTVR5cGVSZWYsIEludDY0VHlwZSwgKHZvaWQpKSBcCisgICAg
bWFjcm8oTExWTVR5cGVSZWYsIEludFR5cGUsICh1bnNpZ25lZCBOdW1CaXRzKSkgXAorICAgIG1h
Y3JvKHVuc2lnbmVkLCBHZXRJbnRUeXBlV2lkdGgsIChMTFZNVHlwZVJlZiBJbnRlZ2VyVHkpKSBc
CisgICAgbWFjcm8oTExWTVR5cGVSZWYsIEhhbGZUeXBlSW5Db250ZXh0LCAoTExWTUNvbnRleHRS
ZWYgQykpIFwKKyAgICBtYWNybyhMTFZNVHlwZVJlZiwgRmxvYXRUeXBlSW5Db250ZXh0LCAoTExW
TUNvbnRleHRSZWYgQykpIFwKKyAgICBtYWNybyhMTFZNVHlwZVJlZiwgRG91YmxlVHlwZUluQ29u
dGV4dCwgKExMVk1Db250ZXh0UmVmIEMpKSBcCisgICAgbWFjcm8oTExWTVR5cGVSZWYsIFg4NkZQ
ODBUeXBlSW5Db250ZXh0LCAoTExWTUNvbnRleHRSZWYgQykpIFwKKyAgICBtYWNybyhMTFZNVHlw
ZVJlZiwgRlAxMjhUeXBlSW5Db250ZXh0LCAoTExWTUNvbnRleHRSZWYgQykpIFwKKyAgICBtYWNy
byhMTFZNVHlwZVJlZiwgUFBDRlAxMjhUeXBlSW5Db250ZXh0LCAoTExWTUNvbnRleHRSZWYgQykp
IFwKKyAgICBtYWNybyhMTFZNVHlwZVJlZiwgSGFsZlR5cGUsICh2b2lkKSkgXAorICAgIG1hY3Jv
KExMVk1UeXBlUmVmLCBGbG9hdFR5cGUsICh2b2lkKSkgXAorICAgIG1hY3JvKExMVk1UeXBlUmVm
LCBEb3VibGVUeXBlLCAodm9pZCkpIFwKKyAgICBtYWNybyhMTFZNVHlwZVJlZiwgWDg2RlA4MFR5
cGUsICh2b2lkKSkgXAorICAgIG1hY3JvKExMVk1UeXBlUmVmLCBGUDEyOFR5cGUsICh2b2lkKSkg
XAorICAgIG1hY3JvKExMVk1UeXBlUmVmLCBQUENGUDEyOFR5cGUsICh2b2lkKSkgXAorICAgIG1h
Y3JvKExMVk1UeXBlUmVmLCBGdW5jdGlvblR5cGUsIChMTFZNVHlwZVJlZiBSZXR1cm5UeXBlLCBM
TFZNVHlwZVJlZiAqUGFyYW1UeXBlcywgdW5zaWduZWQgUGFyYW1Db3VudCwgTExWTUJvb2wgSXNW
YXJBcmcpKSBcCisgICAgbWFjcm8oTExWTUJvb2wsIElzRnVuY3Rpb25WYXJBcmcsIChMTFZNVHlw
ZVJlZiBGdW5jdGlvblR5KSkgXAorICAgIG1hY3JvKExMVk1UeXBlUmVmLCBHZXRSZXR1cm5UeXBl
LCAoTExWTVR5cGVSZWYgRnVuY3Rpb25UeSkpIFwKKyAgICBtYWNybyh1bnNpZ25lZCwgQ291bnRQ
YXJhbVR5cGVzLCAoTExWTVR5cGVSZWYgRnVuY3Rpb25UeSkpIFwKKyAgICBtYWNybyh2b2lkLCBH
ZXRQYXJhbVR5cGVzLCAoTExWTVR5cGVSZWYgRnVuY3Rpb25UeSwgTExWTVR5cGVSZWYgKkRlc3Qp
KSBcCisgICAgbWFjcm8oTExWTVR5cGVSZWYsIFN0cnVjdFR5cGVJbkNvbnRleHQsIChMTFZNQ29u
dGV4dFJlZiBDLCBMTFZNVHlwZVJlZiAqRWxlbWVudFR5cGVzLCB1bnNpZ25lZCBFbGVtZW50Q291
bnQsIExMVk1Cb29sIFBhY2tlZCkpIFwKKyAgICBtYWNybyhMTFZNVHlwZVJlZiwgU3RydWN0VHlw
ZSwgKExMVk1UeXBlUmVmICpFbGVtZW50VHlwZXMsIHVuc2lnbmVkIEVsZW1lbnRDb3VudCwgTExW
TUJvb2wgUGFja2VkKSkgXAorICAgIG1hY3JvKExMVk1UeXBlUmVmLCBTdHJ1Y3RDcmVhdGVOYW1l
ZCwgKExMVk1Db250ZXh0UmVmIEMsIGNvbnN0IGNoYXIgKk5hbWUpKSBcCisgICAgbWFjcm8oY29u
c3QgY2hhciAqLCBHZXRTdHJ1Y3ROYW1lLCAoTExWTVR5cGVSZWYgVHkpKSBcCisgICAgbWFjcm8o
dm9pZCwgU3RydWN0U2V0Qm9keSwgKExMVk1UeXBlUmVmIFN0cnVjdFR5LCBMTFZNVHlwZVJlZiAq
RWxlbWVudFR5cGVzLCB1bnNpZ25lZCBFbGVtZW50Q291bnQsIExMVk1Cb29sIFBhY2tlZCkpIFwK
KyAgICBtYWNybyh1bnNpZ25lZCwgQ291bnRTdHJ1Y3RFbGVtZW50VHlwZXMsIChMTFZNVHlwZVJl
ZiBTdHJ1Y3RUeSkpIFwKKyAgICBtYWNybyh2b2lkLCBHZXRTdHJ1Y3RFbGVtZW50VHlwZXMsIChM
TFZNVHlwZVJlZiBTdHJ1Y3RUeSwgTExWTVR5cGVSZWYgKkRlc3QpKSBcCisgICAgbWFjcm8oTExW
TUJvb2wsIElzUGFja2VkU3RydWN0LCAoTExWTVR5cGVSZWYgU3RydWN0VHkpKSBcCisgICAgbWFj
cm8oTExWTUJvb2wsIElzT3BhcXVlU3RydWN0LCAoTExWTVR5cGVSZWYgU3RydWN0VHkpKSBcCisg
ICAgbWFjcm8oTExWTVR5cGVSZWYsIEdldEVsZW1lbnRUeXBlLCAoTExWTVR5cGVSZWYgVHkpKSBc
CisgICAgbWFjcm8oTExWTVR5cGVSZWYsIEFycmF5VHlwZSwgKExMVk1UeXBlUmVmIEVsZW1lbnRU
eXBlLCB1bnNpZ25lZCBFbGVtZW50Q291bnQpKSBcCisgICAgbWFjcm8odW5zaWduZWQsIEdldEFy
cmF5TGVuZ3RoLCAoTExWTVR5cGVSZWYgQXJyYXlUeSkpIFwKKyAgICBtYWNybyhMTFZNVHlwZVJl
ZiwgUG9pbnRlclR5cGUsIChMTFZNVHlwZVJlZiBFbGVtZW50VHlwZSwgdW5zaWduZWQgQWRkcmVz
c1NwYWNlKSkgXAorICAgIG1hY3JvKHVuc2lnbmVkLCBHZXRQb2ludGVyQWRkcmVzc1NwYWNlLCAo
TExWTVR5cGVSZWYgUG9pbnRlclR5KSkgXAorICAgIG1hY3JvKExMVk1UeXBlUmVmLCBWZWN0b3JU
eXBlLCAoTExWTVR5cGVSZWYgRWxlbWVudFR5cGUsIHVuc2lnbmVkIEVsZW1lbnRDb3VudCkpIFwK
KyAgICBtYWNybyh1bnNpZ25lZCwgR2V0VmVjdG9yU2l6ZSwgKExMVk1UeXBlUmVmIFZlY3RvclR5
KSkgXAorICAgIG1hY3JvKExMVk1UeXBlUmVmLCBWb2lkVHlwZUluQ29udGV4dCwgKExMVk1Db250
ZXh0UmVmIEMpKSBcCisgICAgbWFjcm8oTExWTVR5cGVSZWYsIExhYmVsVHlwZUluQ29udGV4dCwg
KExMVk1Db250ZXh0UmVmIEMpKSBcCisgICAgbWFjcm8oTExWTVR5cGVSZWYsIFg4Nk1NWFR5cGVJ
bkNvbnRleHQsIChMTFZNQ29udGV4dFJlZiBDKSkgXAorICAgIG1hY3JvKExMVk1UeXBlUmVmLCBW
b2lkVHlwZSwgKHZvaWQpKSBcCisgICAgbWFjcm8oTExWTVR5cGVSZWYsIExhYmVsVHlwZSwgKHZv
aWQpKSBcCisgICAgbWFjcm8oTExWTVR5cGVSZWYsIFg4Nk1NWFR5cGUsICh2b2lkKSkgXAorICAg
IG1hY3JvKExMVk1UeXBlUmVmLCBUeXBlT2YsIChMTFZNVmFsdWVSZWYgVmFsKSkgXAorICAgIG1h
Y3JvKGNvbnN0IGNoYXIgKiwgR2V0VmFsdWVOYW1lLCAoTExWTVZhbHVlUmVmIFZhbCkpIFwKKyAg
ICBtYWNybyh2b2lkLCBTZXRWYWx1ZU5hbWUsIChMTFZNVmFsdWVSZWYgVmFsLCBjb25zdCBjaGFy
ICpOYW1lKSkgXAorICAgIG1hY3JvKHZvaWQsIER1bXBWYWx1ZSwgKExMVk1WYWx1ZVJlZiBWYWwp
KSBcCisgICAgbWFjcm8odm9pZCwgUmVwbGFjZUFsbFVzZXNXaXRoLCAoTExWTVZhbHVlUmVmIE9s
ZFZhbCwgTExWTVZhbHVlUmVmIE5ld1ZhbCkpIFwKKyAgICBtYWNybyhMTFZNQm9vbCwgSXNDb25z
dGFudCwgKExMVk1WYWx1ZVJlZiBWYWwpKSBcCisgICAgbWFjcm8oTExWTUJvb2wsIElzVW5kZWYs
IChMTFZNVmFsdWVSZWYgVmFsKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgSXNBQXJndW1l
bnQsIChMTFZNVmFsdWVSZWYgVmFsKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgSXNBQmFz
aWNCbG9jaywgKExMVk1WYWx1ZVJlZiBWYWwpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBJ
c0FJbmxpbmVBc20sIChMTFZNVmFsdWVSZWYgVmFsKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJl
ZiwgSXNBTUROb2RlLCAoTExWTVZhbHVlUmVmIFZhbCkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVS
ZWYsIElzQU1EU3RyaW5nLCAoTExWTVZhbHVlUmVmIFZhbCkpIFwKKyAgICBtYWNybyhMTFZNVmFs
dWVSZWYsIElzQVVzZXIsIChMTFZNVmFsdWVSZWYgVmFsKSkgXAorICAgIG1hY3JvKExMVk1WYWx1
ZVJlZiwgSXNBQ29uc3RhbnQsIChMTFZNVmFsdWVSZWYgVmFsKSkgXAorICAgIG1hY3JvKExMVk1W
YWx1ZVJlZiwgSXNBQmxvY2tBZGRyZXNzLCAoTExWTVZhbHVlUmVmIFZhbCkpIFwKKyAgICBtYWNy
byhMTFZNVmFsdWVSZWYsIElzQUNvbnN0YW50QWdncmVnYXRlWmVybywgKExMVk1WYWx1ZVJlZiBW
YWwpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBJc0FDb25zdGFudEFycmF5LCAoTExWTVZh
bHVlUmVmIFZhbCkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIElzQUNvbnN0YW50RXhwciwg
KExMVk1WYWx1ZVJlZiBWYWwpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBJc0FDb25zdGFu
dEZQLCAoTExWTVZhbHVlUmVmIFZhbCkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIElzQUNv
bnN0YW50SW50LCAoTExWTVZhbHVlUmVmIFZhbCkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYs
IElzQUNvbnN0YW50UG9pbnRlck51bGwsIChMTFZNVmFsdWVSZWYgVmFsKSkgXAorICAgIG1hY3Jv
KExMVk1WYWx1ZVJlZiwgSXNBQ29uc3RhbnRTdHJ1Y3QsIChMTFZNVmFsdWVSZWYgVmFsKSkgXAor
ICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgSXNBQ29uc3RhbnRWZWN0b3IsIChMTFZNVmFsdWVSZWYg
VmFsKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgSXNBR2xvYmFsVmFsdWUsIChMTFZNVmFs
dWVSZWYgVmFsKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgSXNBRnVuY3Rpb24sIChMTFZN
VmFsdWVSZWYgVmFsKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgSXNBR2xvYmFsQWxpYXMs
IChMTFZNVmFsdWVSZWYgVmFsKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgSXNBR2xvYmFs
VmFyaWFibGUsIChMTFZNVmFsdWVSZWYgVmFsKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwg
SXNBVW5kZWZWYWx1ZSwgKExMVk1WYWx1ZVJlZiBWYWwpKSBcCisgICAgbWFjcm8oTExWTVZhbHVl
UmVmLCBJc0FJbnN0cnVjdGlvbiwgKExMVk1WYWx1ZVJlZiBWYWwpKSBcCisgICAgbWFjcm8oTExW
TVZhbHVlUmVmLCBJc0FCaW5hcnlPcGVyYXRvciwgKExMVk1WYWx1ZVJlZiBWYWwpKSBcCisgICAg
bWFjcm8oTExWTVZhbHVlUmVmLCBJc0FDYWxsSW5zdCwgKExMVk1WYWx1ZVJlZiBWYWwpKSBcCisg
ICAgbWFjcm8oTExWTVZhbHVlUmVmLCBJc0FJbnRyaW5zaWNJbnN0LCAoTExWTVZhbHVlUmVmIFZh
bCkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIElzQURiZ0luZm9JbnRyaW5zaWMsIChMTFZN
VmFsdWVSZWYgVmFsKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgSXNBRGJnRGVjbGFyZUlu
c3QsIChMTFZNVmFsdWVSZWYgVmFsKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgSXNBTWVt
SW50cmluc2ljLCAoTExWTVZhbHVlUmVmIFZhbCkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYs
IElzQU1lbUNweUluc3QsIChMTFZNVmFsdWVSZWYgVmFsKSkgXAorICAgIG1hY3JvKExMVk1WYWx1
ZVJlZiwgSXNBTWVtTW92ZUluc3QsIChMTFZNVmFsdWVSZWYgVmFsKSkgXAorICAgIG1hY3JvKExM
Vk1WYWx1ZVJlZiwgSXNBTWVtU2V0SW5zdCwgKExMVk1WYWx1ZVJlZiBWYWwpKSBcCisgICAgbWFj
cm8oTExWTVZhbHVlUmVmLCBJc0FDbXBJbnN0LCAoTExWTVZhbHVlUmVmIFZhbCkpIFwKKyAgICBt
YWNybyhMTFZNVmFsdWVSZWYsIElzQUZDbXBJbnN0LCAoTExWTVZhbHVlUmVmIFZhbCkpIFwKKyAg
ICBtYWNybyhMTFZNVmFsdWVSZWYsIElzQUlDbXBJbnN0LCAoTExWTVZhbHVlUmVmIFZhbCkpIFwK
KyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIElzQUV4dHJhY3RFbGVtZW50SW5zdCwgKExMVk1WYWx1
ZVJlZiBWYWwpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBJc0FHZXRFbGVtZW50UHRySW5z
dCwgKExMVk1WYWx1ZVJlZiBWYWwpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBJc0FJbnNl
cnRFbGVtZW50SW5zdCwgKExMVk1WYWx1ZVJlZiBWYWwpKSBcCisgICAgbWFjcm8oTExWTVZhbHVl
UmVmLCBJc0FJbnNlcnRWYWx1ZUluc3QsIChMTFZNVmFsdWVSZWYgVmFsKSkgXAorICAgIG1hY3Jv
KExMVk1WYWx1ZVJlZiwgSXNBTGFuZGluZ1BhZEluc3QsIChMTFZNVmFsdWVSZWYgVmFsKSkgXAor
ICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgSXNBUEhJTm9kZSwgKExMVk1WYWx1ZVJlZiBWYWwpKSBc
CisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBJc0FTZWxlY3RJbnN0LCAoTExWTVZhbHVlUmVmIFZh
bCkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIElzQVNodWZmbGVWZWN0b3JJbnN0LCAoTExW
TVZhbHVlUmVmIFZhbCkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIElzQVN0b3JlSW5zdCwg
KExMVk1WYWx1ZVJlZiBWYWwpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBJc0FUZXJtaW5h
dG9ySW5zdCwgKExMVk1WYWx1ZVJlZiBWYWwpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBJ
c0FCcmFuY2hJbnN0LCAoTExWTVZhbHVlUmVmIFZhbCkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVS
ZWYsIElzQUluZGlyZWN0QnJJbnN0LCAoTExWTVZhbHVlUmVmIFZhbCkpIFwKKyAgICBtYWNybyhM
TFZNVmFsdWVSZWYsIElzQUludm9rZUluc3QsIChMTFZNVmFsdWVSZWYgVmFsKSkgXAorICAgIG1h
Y3JvKExMVk1WYWx1ZVJlZiwgSXNBUmV0dXJuSW5zdCwgKExMVk1WYWx1ZVJlZiBWYWwpKSBcCisg
ICAgbWFjcm8oTExWTVZhbHVlUmVmLCBJc0FTd2l0Y2hJbnN0LCAoTExWTVZhbHVlUmVmIFZhbCkp
IFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIElzQVVucmVhY2hhYmxlSW5zdCwgKExMVk1WYWx1
ZVJlZiBWYWwpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBJc0FSZXN1bWVJbnN0LCAoTExW
TVZhbHVlUmVmIFZhbCkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIElzQVVuYXJ5SW5zdHJ1
Y3Rpb24sIChMTFZNVmFsdWVSZWYgVmFsKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgSXNB
QWxsb2NhSW5zdCwgKExMVk1WYWx1ZVJlZiBWYWwpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVm
LCBJc0FDYXN0SW5zdCwgKExMVk1WYWx1ZVJlZiBWYWwpKSBcCisgICAgbWFjcm8oTExWTVZhbHVl
UmVmLCBJc0FCaXRDYXN0SW5zdCwgKExMVk1WYWx1ZVJlZiBWYWwpKSBcCisgICAgbWFjcm8oTExW
TVZhbHVlUmVmLCBJc0FGUEV4dEluc3QsIChMTFZNVmFsdWVSZWYgVmFsKSkgXAorICAgIG1hY3Jv
KExMVk1WYWx1ZVJlZiwgSXNBRlBUb1NJSW5zdCwgKExMVk1WYWx1ZVJlZiBWYWwpKSBcCisgICAg
bWFjcm8oTExWTVZhbHVlUmVmLCBJc0FGUFRvVUlJbnN0LCAoTExWTVZhbHVlUmVmIFZhbCkpIFwK
KyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIElzQUZQVHJ1bmNJbnN0LCAoTExWTVZhbHVlUmVmIFZh
bCkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIElzQUludFRvUHRySW5zdCwgKExMVk1WYWx1
ZVJlZiBWYWwpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBJc0FQdHJUb0ludEluc3QsIChM
TFZNVmFsdWVSZWYgVmFsKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgSXNBU0V4dEluc3Qs
IChMTFZNVmFsdWVSZWYgVmFsKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgSXNBU0lUb0ZQ
SW5zdCwgKExMVk1WYWx1ZVJlZiBWYWwpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBJc0FU
cnVuY0luc3QsIChMTFZNVmFsdWVSZWYgVmFsKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwg
SXNBVUlUb0ZQSW5zdCwgKExMVk1WYWx1ZVJlZiBWYWwpKSBcCisgICAgbWFjcm8oTExWTVZhbHVl
UmVmLCBJc0FaRXh0SW5zdCwgKExMVk1WYWx1ZVJlZiBWYWwpKSBcCisgICAgbWFjcm8oTExWTVZh
bHVlUmVmLCBJc0FFeHRyYWN0VmFsdWVJbnN0LCAoTExWTVZhbHVlUmVmIFZhbCkpIFwKKyAgICBt
YWNybyhMTFZNVmFsdWVSZWYsIElzQUxvYWRJbnN0LCAoTExWTVZhbHVlUmVmIFZhbCkpIFwKKyAg
ICBtYWNybyhMTFZNVmFsdWVSZWYsIElzQVZBQXJnSW5zdCwgKExMVk1WYWx1ZVJlZiBWYWwpKSBc
CisgICAgbWFjcm8oTExWTVVzZVJlZiwgR2V0Rmlyc3RVc2UsIChMTFZNVmFsdWVSZWYgVmFsKSkg
XAorICAgIG1hY3JvKExMVk1Vc2VSZWYsIEdldE5leHRVc2UsIChMTFZNVXNlUmVmIFUpKSBcCisg
ICAgbWFjcm8oTExWTVZhbHVlUmVmLCBHZXRVc2VyLCAoTExWTVVzZVJlZiBVKSkgXAorICAgIG1h
Y3JvKExMVk1WYWx1ZVJlZiwgR2V0VXNlZFZhbHVlLCAoTExWTVVzZVJlZiBVKSkgXAorICAgIG1h
Y3JvKExMVk1WYWx1ZVJlZiwgR2V0T3BlcmFuZCwgKExMVk1WYWx1ZVJlZiBWYWwsIHVuc2lnbmVk
IEluZGV4KSkgXAorICAgIG1hY3JvKHZvaWQsIFNldE9wZXJhbmQsIChMTFZNVmFsdWVSZWYgVXNl
ciwgdW5zaWduZWQgSW5kZXgsIExMVk1WYWx1ZVJlZiBWYWwpKSBcCisgICAgbWFjcm8oaW50LCBH
ZXROdW1PcGVyYW5kcywgKExMVk1WYWx1ZVJlZiBWYWwpKSBcCisgICAgbWFjcm8oTExWTVZhbHVl
UmVmLCBDb25zdE51bGwsIChMTFZNVHlwZVJlZiBUeSkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVS
ZWYsIENvbnN0QWxsT25lcywgKExMVk1UeXBlUmVmIFR5KSkgXAorICAgIG1hY3JvKExMVk1WYWx1
ZVJlZiwgR2V0VW5kZWYsIChMTFZNVHlwZVJlZiBUeSkpIFwKKyAgICBtYWNybyhMTFZNQm9vbCwg
SXNOdWxsLCAoTExWTVZhbHVlUmVmIFZhbCkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIENv
bnN0UG9pbnRlck51bGwsIChMTFZNVHlwZVJlZiBUeSkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVS
ZWYsIENvbnN0SW50LCAoTExWTVR5cGVSZWYgSW50VHksIHVuc2lnbmVkIGxvbmcgbG9uZyBOLCBM
TFZNQm9vbCBTaWduRXh0ZW5kKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgQ29uc3RJbnRP
ZkFyYml0cmFyeVByZWNpc2lvbiwgKExMVk1UeXBlUmVmIEludFR5LCB1bnNpZ25lZCBOdW1Xb3Jk
cywgY29uc3QgdWludDY0X3QgV29yZHNbXSkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIENv
bnN0SW50T2ZTdHJpbmcsIChMTFZNVHlwZVJlZiBJbnRUeSwgY29uc3QgY2hhciAqVGV4dCwgdWlu
dDhfdCBSYWRpeCkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIENvbnN0SW50T2ZTdHJpbmdB
bmRTaXplLCAoTExWTVR5cGVSZWYgSW50VHksIGNvbnN0IGNoYXIgKlRleHQsIHVuc2lnbmVkIFNM
ZW4sIHVpbnQ4X3QgUmFkaXgpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBDb25zdFJlYWws
IChMTFZNVHlwZVJlZiBSZWFsVHksIGRvdWJsZSBOKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJl
ZiwgQ29uc3RSZWFsT2ZTdHJpbmcsIChMTFZNVHlwZVJlZiBSZWFsVHksIGNvbnN0IGNoYXIgKlRl
eHQpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBDb25zdFJlYWxPZlN0cmluZ0FuZFNpemUs
IChMTFZNVHlwZVJlZiBSZWFsVHksIGNvbnN0IGNoYXIgKlRleHQsIHVuc2lnbmVkIFNMZW4pKSBc
CisgICAgbWFjcm8odW5zaWduZWQgbG9uZyBsb25nLCBDb25zdEludEdldFpFeHRWYWx1ZSwgKExM
Vk1WYWx1ZVJlZiBDb25zdGFudFZhbCkpIFwKKyAgICBtYWNybyhsb25nIGxvbmcsIENvbnN0SW50
R2V0U0V4dFZhbHVlLCAoTExWTVZhbHVlUmVmIENvbnN0YW50VmFsKSkgXAorICAgIG1hY3JvKExM
Vk1WYWx1ZVJlZiwgQ29uc3RTdHJpbmdJbkNvbnRleHQsIChMTFZNQ29udGV4dFJlZiBDLCBjb25z
dCBjaGFyICpTdHIsIHVuc2lnbmVkIExlbmd0aCwgTExWTUJvb2wgRG9udE51bGxUZXJtaW5hdGUp
KSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBDb25zdFN0cmluZywgKGNvbnN0IGNoYXIgKlN0
ciwgdW5zaWduZWQgTGVuZ3RoLCBMTFZNQm9vbCBEb250TnVsbFRlcm1pbmF0ZSkpIFwKKyAgICBt
YWNybyhMTFZNVmFsdWVSZWYsIENvbnN0U3RydWN0SW5Db250ZXh0LCAoTExWTUNvbnRleHRSZWYg
QywgTExWTVZhbHVlUmVmICpDb25zdGFudFZhbHMsIHVuc2lnbmVkIENvdW50LCBMTFZNQm9vbCBQ
YWNrZWQpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBDb25zdFN0cnVjdCwgKExMVk1WYWx1
ZVJlZiAqQ29uc3RhbnRWYWxzLCB1bnNpZ25lZCBDb3VudCwgTExWTUJvb2wgUGFja2VkKSkgXAor
ICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgQ29uc3RBcnJheSwgKExMVk1UeXBlUmVmIEVsZW1lbnRU
eSwgTExWTVZhbHVlUmVmICpDb25zdGFudFZhbHMsIHVuc2lnbmVkIExlbmd0aCkpIFwKKyAgICBt
YWNybyhMTFZNVmFsdWVSZWYsIENvbnN0TmFtZWRTdHJ1Y3QsIChMTFZNVHlwZVJlZiBTdHJ1Y3RU
eSwgTExWTVZhbHVlUmVmICpDb25zdGFudFZhbHMsIHVuc2lnbmVkIENvdW50KSkgXAorICAgIG1h
Y3JvKExMVk1WYWx1ZVJlZiwgQ29uc3RWZWN0b3IsIChMTFZNVmFsdWVSZWYgKlNjYWxhckNvbnN0
YW50VmFscywgdW5zaWduZWQgU2l6ZSkpIFwKKyAgICBtYWNybyhMTFZNT3Bjb2RlLCBHZXRDb25z
dE9wY29kZSwgKExMVk1WYWx1ZVJlZiBDb25zdGFudFZhbCkpIFwKKyAgICBtYWNybyhMTFZNVmFs
dWVSZWYsIEFsaWduT2YsIChMTFZNVHlwZVJlZiBUeSkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVS
ZWYsIFNpemVPZiwgKExMVk1UeXBlUmVmIFR5KSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwg
Q29uc3ROZWcsIChMTFZNVmFsdWVSZWYgQ29uc3RhbnRWYWwpKSBcCisgICAgbWFjcm8oTExWTVZh
bHVlUmVmLCBDb25zdE5TV05lZywgKExMVk1WYWx1ZVJlZiBDb25zdGFudFZhbCkpIFwKKyAgICBt
YWNybyhMTFZNVmFsdWVSZWYsIENvbnN0TlVXTmVnLCAoTExWTVZhbHVlUmVmIENvbnN0YW50VmFs
KSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgQ29uc3RGTmVnLCAoTExWTVZhbHVlUmVmIENv
bnN0YW50VmFsKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgQ29uc3ROb3QsIChMTFZNVmFs
dWVSZWYgQ29uc3RhbnRWYWwpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBDb25zdEFkZCwg
KExMVk1WYWx1ZVJlZiBMSFNDb25zdGFudCwgTExWTVZhbHVlUmVmIFJIU0NvbnN0YW50KSkgXAor
ICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgQ29uc3ROU1dBZGQsIChMTFZNVmFsdWVSZWYgTEhTQ29u
c3RhbnQsIExMVk1WYWx1ZVJlZiBSSFNDb25zdGFudCkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVS
ZWYsIENvbnN0TlVXQWRkLCAoTExWTVZhbHVlUmVmIExIU0NvbnN0YW50LCBMTFZNVmFsdWVSZWYg
UkhTQ29uc3RhbnQpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBDb25zdEZBZGQsIChMTFZN
VmFsdWVSZWYgTEhTQ29uc3RhbnQsIExMVk1WYWx1ZVJlZiBSSFNDb25zdGFudCkpIFwKKyAgICBt
YWNybyhMTFZNVmFsdWVSZWYsIENvbnN0U3ViLCAoTExWTVZhbHVlUmVmIExIU0NvbnN0YW50LCBM
TFZNVmFsdWVSZWYgUkhTQ29uc3RhbnQpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBDb25z
dE5TV1N1YiwgKExMVk1WYWx1ZVJlZiBMSFNDb25zdGFudCwgTExWTVZhbHVlUmVmIFJIU0NvbnN0
YW50KSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgQ29uc3ROVVdTdWIsIChMTFZNVmFsdWVS
ZWYgTEhTQ29uc3RhbnQsIExMVk1WYWx1ZVJlZiBSSFNDb25zdGFudCkpIFwKKyAgICBtYWNybyhM
TFZNVmFsdWVSZWYsIENvbnN0RlN1YiwgKExMVk1WYWx1ZVJlZiBMSFNDb25zdGFudCwgTExWTVZh
bHVlUmVmIFJIU0NvbnN0YW50KSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgQ29uc3RNdWws
IChMTFZNVmFsdWVSZWYgTEhTQ29uc3RhbnQsIExMVk1WYWx1ZVJlZiBSSFNDb25zdGFudCkpIFwK
KyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIENvbnN0TlNXTXVsLCAoTExWTVZhbHVlUmVmIExIU0Nv
bnN0YW50LCBMTFZNVmFsdWVSZWYgUkhTQ29uc3RhbnQpKSBcCisgICAgbWFjcm8oTExWTVZhbHVl
UmVmLCBDb25zdE5VV011bCwgKExMVk1WYWx1ZVJlZiBMSFNDb25zdGFudCwgTExWTVZhbHVlUmVm
IFJIU0NvbnN0YW50KSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgQ29uc3RGTXVsLCAoTExW
TVZhbHVlUmVmIExIU0NvbnN0YW50LCBMTFZNVmFsdWVSZWYgUkhTQ29uc3RhbnQpKSBcCisgICAg
bWFjcm8oTExWTVZhbHVlUmVmLCBDb25zdFVEaXYsIChMTFZNVmFsdWVSZWYgTEhTQ29uc3RhbnQs
IExMVk1WYWx1ZVJlZiBSSFNDb25zdGFudCkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIENv
bnN0U0RpdiwgKExMVk1WYWx1ZVJlZiBMSFNDb25zdGFudCwgTExWTVZhbHVlUmVmIFJIU0NvbnN0
YW50KSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgQ29uc3RFeGFjdFNEaXYsIChMTFZNVmFs
dWVSZWYgTEhTQ29uc3RhbnQsIExMVk1WYWx1ZVJlZiBSSFNDb25zdGFudCkpIFwKKyAgICBtYWNy
byhMTFZNVmFsdWVSZWYsIENvbnN0RkRpdiwgKExMVk1WYWx1ZVJlZiBMSFNDb25zdGFudCwgTExW
TVZhbHVlUmVmIFJIU0NvbnN0YW50KSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgQ29uc3RV
UmVtLCAoTExWTVZhbHVlUmVmIExIU0NvbnN0YW50LCBMTFZNVmFsdWVSZWYgUkhTQ29uc3RhbnQp
KSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBDb25zdFNSZW0sIChMTFZNVmFsdWVSZWYgTEhT
Q29uc3RhbnQsIExMVk1WYWx1ZVJlZiBSSFNDb25zdGFudCkpIFwKKyAgICBtYWNybyhMTFZNVmFs
dWVSZWYsIENvbnN0RlJlbSwgKExMVk1WYWx1ZVJlZiBMSFNDb25zdGFudCwgTExWTVZhbHVlUmVm
IFJIU0NvbnN0YW50KSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgQ29uc3RBbmQsIChMTFZN
VmFsdWVSZWYgTEhTQ29uc3RhbnQsIExMVk1WYWx1ZVJlZiBSSFNDb25zdGFudCkpIFwKKyAgICBt
YWNybyhMTFZNVmFsdWVSZWYsIENvbnN0T3IsIChMTFZNVmFsdWVSZWYgTEhTQ29uc3RhbnQsIExM
Vk1WYWx1ZVJlZiBSSFNDb25zdGFudCkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIENvbnN0
WG9yLCAoTExWTVZhbHVlUmVmIExIU0NvbnN0YW50LCBMTFZNVmFsdWVSZWYgUkhTQ29uc3RhbnQp
KSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBDb25zdElDbXAsIChMTFZNSW50UHJlZGljYXRl
IFByZWRpY2F0ZSwgTExWTVZhbHVlUmVmIExIU0NvbnN0YW50LCBMTFZNVmFsdWVSZWYgUkhTQ29u
c3RhbnQpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBDb25zdEZDbXAsIChMTFZNUmVhbFBy
ZWRpY2F0ZSBQcmVkaWNhdGUsIExMVk1WYWx1ZVJlZiBMSFNDb25zdGFudCwgTExWTVZhbHVlUmVm
IFJIU0NvbnN0YW50KSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgQ29uc3RTaGwsIChMTFZN
VmFsdWVSZWYgTEhTQ29uc3RhbnQsIExMVk1WYWx1ZVJlZiBSSFNDb25zdGFudCkpIFwKKyAgICBt
YWNybyhMTFZNVmFsdWVSZWYsIENvbnN0TFNociwgKExMVk1WYWx1ZVJlZiBMSFNDb25zdGFudCwg
TExWTVZhbHVlUmVmIFJIU0NvbnN0YW50KSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgQ29u
c3RBU2hyLCAoTExWTVZhbHVlUmVmIExIU0NvbnN0YW50LCBMTFZNVmFsdWVSZWYgUkhTQ29uc3Rh
bnQpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBDb25zdEdFUCwgKExMVk1WYWx1ZVJlZiBD
b25zdGFudFZhbCwgTExWTVZhbHVlUmVmICpDb25zdGFudEluZGljZXMsIHVuc2lnbmVkIE51bUlu
ZGljZXMpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBDb25zdEluQm91bmRzR0VQLCAoTExW
TVZhbHVlUmVmIENvbnN0YW50VmFsLCBMTFZNVmFsdWVSZWYgKkNvbnN0YW50SW5kaWNlcywgdW5z
aWduZWQgTnVtSW5kaWNlcykpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIENvbnN0VHJ1bmMs
IChMTFZNVmFsdWVSZWYgQ29uc3RhbnRWYWwsIExMVk1UeXBlUmVmIFRvVHlwZSkpIFwKKyAgICBt
YWNybyhMTFZNVmFsdWVSZWYsIENvbnN0U0V4dCwgKExMVk1WYWx1ZVJlZiBDb25zdGFudFZhbCwg
TExWTVR5cGVSZWYgVG9UeXBlKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgQ29uc3RaRXh0
LCAoTExWTVZhbHVlUmVmIENvbnN0YW50VmFsLCBMTFZNVHlwZVJlZiBUb1R5cGUpKSBcCisgICAg
bWFjcm8oTExWTVZhbHVlUmVmLCBDb25zdEZQVHJ1bmMsIChMTFZNVmFsdWVSZWYgQ29uc3RhbnRW
YWwsIExMVk1UeXBlUmVmIFRvVHlwZSkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIENvbnN0
RlBFeHQsIChMTFZNVmFsdWVSZWYgQ29uc3RhbnRWYWwsIExMVk1UeXBlUmVmIFRvVHlwZSkpIFwK
KyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIENvbnN0VUlUb0ZQLCAoTExWTVZhbHVlUmVmIENvbnN0
YW50VmFsLCBMTFZNVHlwZVJlZiBUb1R5cGUpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBD
b25zdFNJVG9GUCwgKExMVk1WYWx1ZVJlZiBDb25zdGFudFZhbCwgTExWTVR5cGVSZWYgVG9UeXBl
KSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgQ29uc3RGUFRvVUksIChMTFZNVmFsdWVSZWYg
Q29uc3RhbnRWYWwsIExMVk1UeXBlUmVmIFRvVHlwZSkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVS
ZWYsIENvbnN0RlBUb1NJLCAoTExWTVZhbHVlUmVmIENvbnN0YW50VmFsLCBMTFZNVHlwZVJlZiBU
b1R5cGUpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBDb25zdFB0clRvSW50LCAoTExWTVZh
bHVlUmVmIENvbnN0YW50VmFsLCBMTFZNVHlwZVJlZiBUb1R5cGUpKSBcCisgICAgbWFjcm8oTExW
TVZhbHVlUmVmLCBDb25zdEludFRvUHRyLCAoTExWTVZhbHVlUmVmIENvbnN0YW50VmFsLCBMTFZN
VHlwZVJlZiBUb1R5cGUpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBDb25zdEJpdENhc3Qs
IChMTFZNVmFsdWVSZWYgQ29uc3RhbnRWYWwsIExMVk1UeXBlUmVmIFRvVHlwZSkpIFwKKyAgICBt
YWNybyhMTFZNVmFsdWVSZWYsIENvbnN0WkV4dE9yQml0Q2FzdCwgKExMVk1WYWx1ZVJlZiBDb25z
dGFudFZhbCwgTExWTVR5cGVSZWYgVG9UeXBlKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwg
Q29uc3RTRXh0T3JCaXRDYXN0LCAoTExWTVZhbHVlUmVmIENvbnN0YW50VmFsLCBMTFZNVHlwZVJl
ZiBUb1R5cGUpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBDb25zdFRydW5jT3JCaXRDYXN0
LCAoTExWTVZhbHVlUmVmIENvbnN0YW50VmFsLCBMTFZNVHlwZVJlZiBUb1R5cGUpKSBcCisgICAg
bWFjcm8oTExWTVZhbHVlUmVmLCBDb25zdFBvaW50ZXJDYXN0LCAoTExWTVZhbHVlUmVmIENvbnN0
YW50VmFsLCBMTFZNVHlwZVJlZiBUb1R5cGUpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBD
b25zdEludENhc3QsIChMTFZNVmFsdWVSZWYgQ29uc3RhbnRWYWwsIExMVk1UeXBlUmVmIFRvVHlw
ZSwgTExWTUJvb2wgaXNTaWduZWQpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBDb25zdEZQ
Q2FzdCwgKExMVk1WYWx1ZVJlZiBDb25zdGFudFZhbCwgTExWTVR5cGVSZWYgVG9UeXBlKSkgXAor
ICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgQ29uc3RTZWxlY3QsIChMTFZNVmFsdWVSZWYgQ29uc3Rh
bnRDb25kaXRpb24sIExMVk1WYWx1ZVJlZiBDb25zdGFudElmVHJ1ZSwgTExWTVZhbHVlUmVmIENv
bnN0YW50SWZGYWxzZSkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIENvbnN0RXh0cmFjdEVs
ZW1lbnQsIChMTFZNVmFsdWVSZWYgVmVjdG9yQ29uc3RhbnQsIExMVk1WYWx1ZVJlZiBJbmRleENv
bnN0YW50KSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgQ29uc3RJbnNlcnRFbGVtZW50LCAo
TExWTVZhbHVlUmVmIFZlY3RvckNvbnN0YW50LCBMTFZNVmFsdWVSZWYgRWxlbWVudFZhbHVlQ29u
c3RhbnQsIExMVk1WYWx1ZVJlZiBJbmRleENvbnN0YW50KSkgXAorICAgIG1hY3JvKExMVk1WYWx1
ZVJlZiwgQ29uc3RTaHVmZmxlVmVjdG9yLCAoTExWTVZhbHVlUmVmIFZlY3RvckFDb25zdGFudCwg
TExWTVZhbHVlUmVmIFZlY3RvckJDb25zdGFudCwgTExWTVZhbHVlUmVmIE1hc2tDb25zdGFudCkp
IFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIENvbnN0RXh0cmFjdFZhbHVlLCAoTExWTVZhbHVl
UmVmIEFnZ0NvbnN0YW50LCB1bnNpZ25lZCAqSWR4TGlzdCwgdW5zaWduZWQgTnVtSWR4KSkgXAor
ICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgQ29uc3RJbnNlcnRWYWx1ZSwgKExMVk1WYWx1ZVJlZiBB
Z2dDb25zdGFudCwgTExWTVZhbHVlUmVmIEVsZW1lbnRWYWx1ZUNvbnN0YW50LCB1bnNpZ25lZCAq
SWR4TGlzdCwgdW5zaWduZWQgTnVtSWR4KSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgQ29u
c3RJbmxpbmVBc20sIChMTFZNVHlwZVJlZiBUeSwgY29uc3QgY2hhciAqQXNtU3RyaW5nLCBjb25z
dCBjaGFyICpDb25zdHJhaW50cywgTExWTUJvb2wgSGFzU2lkZUVmZmVjdHMsIExMVk1Cb29sIElz
QWxpZ25TdGFjaykpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIEJsb2NrQWRkcmVzcywgKExM
Vk1WYWx1ZVJlZiBGLCBMTFZNQmFzaWNCbG9ja1JlZiBCQikpIFwKKyAgICBtYWNybyhMTFZNTW9k
dWxlUmVmLCBHZXRHbG9iYWxQYXJlbnQsIChMTFZNVmFsdWVSZWYgR2xvYmFsKSkgXAorICAgIG1h
Y3JvKExMVk1Cb29sLCBJc0RlY2xhcmF0aW9uLCAoTExWTVZhbHVlUmVmIEdsb2JhbCkpIFwKKyAg
ICBtYWNybyhMTFZNTGlua2FnZSwgR2V0TGlua2FnZSwgKExMVk1WYWx1ZVJlZiBHbG9iYWwpKSBc
CisgICAgbWFjcm8odm9pZCwgU2V0TGlua2FnZSwgKExMVk1WYWx1ZVJlZiBHbG9iYWwsIExMVk1M
aW5rYWdlIExpbmthZ2UpKSBcCisgICAgbWFjcm8oY29uc3QgY2hhciAqLCBHZXRTZWN0aW9uLCAo
TExWTVZhbHVlUmVmIEdsb2JhbCkpIFwKKyAgICBtYWNybyh2b2lkLCBTZXRTZWN0aW9uLCAoTExW
TVZhbHVlUmVmIEdsb2JhbCwgY29uc3QgY2hhciAqU2VjdGlvbikpIFwKKyAgICBtYWNybyhMTFZN
VmlzaWJpbGl0eSwgR2V0VmlzaWJpbGl0eSwgKExMVk1WYWx1ZVJlZiBHbG9iYWwpKSBcCisgICAg
bWFjcm8odm9pZCwgU2V0VmlzaWJpbGl0eSwgKExMVk1WYWx1ZVJlZiBHbG9iYWwsIExMVk1WaXNp
YmlsaXR5IFZpeikpIFwKKyAgICBtYWNybyh1bnNpZ25lZCwgR2V0QWxpZ25tZW50LCAoTExWTVZh
bHVlUmVmIEdsb2JhbCkpIFwKKyAgICBtYWNybyh2b2lkLCBTZXRBbGlnbm1lbnQsIChMTFZNVmFs
dWVSZWYgR2xvYmFsLCB1bnNpZ25lZCBCeXRlcykpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYs
IEFkZEdsb2JhbCwgKExMVk1Nb2R1bGVSZWYgTSwgTExWTVR5cGVSZWYgVHksIGNvbnN0IGNoYXIg
Kk5hbWUpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBBZGRHbG9iYWxJbkFkZHJlc3NTcGFj
ZSwgKExMVk1Nb2R1bGVSZWYgTSwgTExWTVR5cGVSZWYgVHksIGNvbnN0IGNoYXIgKk5hbWUsIHVu
c2lnbmVkIEFkZHJlc3NTcGFjZSkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIEdldE5hbWVk
R2xvYmFsLCAoTExWTU1vZHVsZVJlZiBNLCBjb25zdCBjaGFyICpOYW1lKSkgXAorICAgIG1hY3Jv
KExMVk1WYWx1ZVJlZiwgR2V0Rmlyc3RHbG9iYWwsIChMTFZNTW9kdWxlUmVmIE0pKSBcCisgICAg
bWFjcm8oTExWTVZhbHVlUmVmLCBHZXRMYXN0R2xvYmFsLCAoTExWTU1vZHVsZVJlZiBNKSkgXAor
ICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgR2V0TmV4dEdsb2JhbCwgKExMVk1WYWx1ZVJlZiBHbG9i
YWxWYXIpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBHZXRQcmV2aW91c0dsb2JhbCwgKExM
Vk1WYWx1ZVJlZiBHbG9iYWxWYXIpKSBcCisgICAgbWFjcm8odm9pZCwgRGVsZXRlR2xvYmFsLCAo
TExWTVZhbHVlUmVmIEdsb2JhbFZhcikpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIEdldElu
aXRpYWxpemVyLCAoTExWTVZhbHVlUmVmIEdsb2JhbFZhcikpIFwKKyAgICBtYWNybyh2b2lkLCBT
ZXRJbml0aWFsaXplciwgKExMVk1WYWx1ZVJlZiBHbG9iYWxWYXIsIExMVk1WYWx1ZVJlZiBDb25z
dGFudFZhbCkpIFwKKyAgICBtYWNybyhMTFZNQm9vbCwgSXNUaHJlYWRMb2NhbCwgKExMVk1WYWx1
ZVJlZiBHbG9iYWxWYXIpKSBcCisgICAgbWFjcm8odm9pZCwgU2V0VGhyZWFkTG9jYWwsIChMTFZN
VmFsdWVSZWYgR2xvYmFsVmFyLCBMTFZNQm9vbCBJc1RocmVhZExvY2FsKSkgXAorICAgIG1hY3Jv
KExMVk1Cb29sLCBJc0dsb2JhbENvbnN0YW50LCAoTExWTVZhbHVlUmVmIEdsb2JhbFZhcikpIFwK
KyAgICBtYWNybyh2b2lkLCBTZXRHbG9iYWxDb25zdGFudCwgKExMVk1WYWx1ZVJlZiBHbG9iYWxW
YXIsIExMVk1Cb29sIElzQ29uc3RhbnQpKSBcCisgICAgbWFjcm8oTExWTVRocmVhZExvY2FsTW9k
ZSwgR2V0VGhyZWFkTG9jYWxNb2RlLCAoTExWTVZhbHVlUmVmIEdsb2JhbFZhcikpIFwKKyAgICBt
YWNybyh2b2lkLCBTZXRUaHJlYWRMb2NhbE1vZGUsIChMTFZNVmFsdWVSZWYgR2xvYmFsVmFyLCBM
TFZNVGhyZWFkTG9jYWxNb2RlIE1vZGUpKSBcCisgICAgbWFjcm8oTExWTUJvb2wsIElzRXh0ZXJu
YWxseUluaXRpYWxpemVkLCAoTExWTVZhbHVlUmVmIEdsb2JhbFZhcikpIFwKKyAgICBtYWNybyh2
b2lkLCBTZXRFeHRlcm5hbGx5SW5pdGlhbGl6ZWQsIChMTFZNVmFsdWVSZWYgR2xvYmFsVmFyLCBM
TFZNQm9vbCBJc0V4dEluaXQpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBBZGRBbGlhcywg
KExMVk1Nb2R1bGVSZWYgTSwgTExWTVR5cGVSZWYgVHksIExMVk1WYWx1ZVJlZiBBbGlhc2VlLCBj
b25zdCBjaGFyICpOYW1lKSkgXAorICAgIG1hY3JvKHZvaWQsIERlbGV0ZUZ1bmN0aW9uLCAoTExW
TVZhbHVlUmVmIEZuKSkgXAorICAgIG1hY3JvKHVuc2lnbmVkLCBHZXRJbnRyaW5zaWNJRCwgKExM
Vk1WYWx1ZVJlZiBGbikpIFwKKyAgICBtYWNybyh1bnNpZ25lZCwgR2V0RnVuY3Rpb25DYWxsQ29u
diwgKExMVk1WYWx1ZVJlZiBGbikpIFwKKyAgICBtYWNybyh2b2lkLCBTZXRGdW5jdGlvbkNhbGxD
b252LCAoTExWTVZhbHVlUmVmIEZuLCB1bnNpZ25lZCBDQykpIFwKKyAgICBtYWNybyhjb25zdCBj
aGFyICosIEdldEdDLCAoTExWTVZhbHVlUmVmIEZuKSkgXAorICAgIG1hY3JvKHZvaWQsIFNldEdD
LCAoTExWTVZhbHVlUmVmIEZuLCBjb25zdCBjaGFyICpOYW1lKSkgXAorICAgIG1hY3JvKHZvaWQs
IEFkZEZ1bmN0aW9uQXR0ciwgKExMVk1WYWx1ZVJlZiBGbiwgTExWTUF0dHJpYnV0ZSBQQSkpIFwK
KyAgICBtYWNybyh2b2lkLCBBZGRUYXJnZXREZXBlbmRlbnRGdW5jdGlvbkF0dHIsIChMTFZNVmFs
dWVSZWYgRm4sIGNvbnN0IGNoYXIgKkEsIGNvbnN0IGNoYXIgKlYpKSBcCisgICAgbWFjcm8oTExW
TUF0dHJpYnV0ZSwgR2V0RnVuY3Rpb25BdHRyLCAoTExWTVZhbHVlUmVmIEZuKSkgXAorICAgIG1h
Y3JvKHZvaWQsIFJlbW92ZUZ1bmN0aW9uQXR0ciwgKExMVk1WYWx1ZVJlZiBGbiwgTExWTUF0dHJp
YnV0ZSBQQSkpIFwKKyAgICBtYWNybyh1bnNpZ25lZCwgQ291bnRQYXJhbXMsIChMTFZNVmFsdWVS
ZWYgRm4pKSBcCisgICAgbWFjcm8odm9pZCwgR2V0UGFyYW1zLCAoTExWTVZhbHVlUmVmIEZuLCBM
TFZNVmFsdWVSZWYgKlBhcmFtcykpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIEdldFBhcmFt
LCAoTExWTVZhbHVlUmVmIEZuLCB1bnNpZ25lZCBJbmRleCkpIFwKKyAgICBtYWNybyhMTFZNVmFs
dWVSZWYsIEdldFBhcmFtUGFyZW50LCAoTExWTVZhbHVlUmVmIEluc3QpKSBcCisgICAgbWFjcm8o
TExWTVZhbHVlUmVmLCBHZXRGaXJzdFBhcmFtLCAoTExWTVZhbHVlUmVmIEZuKSkgXAorICAgIG1h
Y3JvKExMVk1WYWx1ZVJlZiwgR2V0TGFzdFBhcmFtLCAoTExWTVZhbHVlUmVmIEZuKSkgXAorICAg
IG1hY3JvKExMVk1WYWx1ZVJlZiwgR2V0TmV4dFBhcmFtLCAoTExWTVZhbHVlUmVmIEFyZykpIFwK
KyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIEdldFByZXZpb3VzUGFyYW0sIChMTFZNVmFsdWVSZWYg
QXJnKSkgXAorICAgIG1hY3JvKHZvaWQsIEFkZEF0dHJpYnV0ZSwgKExMVk1WYWx1ZVJlZiBBcmcs
IExMVk1BdHRyaWJ1dGUgUEEpKSBcCisgICAgbWFjcm8odm9pZCwgUmVtb3ZlQXR0cmlidXRlLCAo
TExWTVZhbHVlUmVmIEFyZywgTExWTUF0dHJpYnV0ZSBQQSkpIFwKKyAgICBtYWNybyhMTFZNQXR0
cmlidXRlLCBHZXRBdHRyaWJ1dGUsIChMTFZNVmFsdWVSZWYgQXJnKSkgXAorICAgIG1hY3JvKHZv
aWQsIFNldFBhcmFtQWxpZ25tZW50LCAoTExWTVZhbHVlUmVmIEFyZywgdW5zaWduZWQgYWxpZ24p
KSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBNRFN0cmluZ0luQ29udGV4dCwgKExMVk1Db250
ZXh0UmVmIEMsIGNvbnN0IGNoYXIgKlN0ciwgdW5zaWduZWQgU0xlbikpIFwKKyAgICBtYWNybyhM
TFZNVmFsdWVSZWYsIE1EU3RyaW5nLCAoY29uc3QgY2hhciAqU3RyLCB1bnNpZ25lZCBTTGVuKSkg
XAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgTUROb2RlSW5Db250ZXh0LCAoTExWTUNvbnRleHRS
ZWYgQywgTExWTVZhbHVlUmVmICpWYWxzLCB1bnNpZ25lZCBDb3VudCkpIFwKKyAgICBtYWNybyhM
TFZNVmFsdWVSZWYsIE1ETm9kZSwgKExMVk1WYWx1ZVJlZiAqVmFscywgdW5zaWduZWQgQ291bnQp
KSBcCisgICAgbWFjcm8oY29uc3QgY2hhciAqLCBHZXRNRFN0cmluZywgKExMVk1WYWx1ZVJlZiBW
LCB1bnNpZ25lZCogTGVuKSkgXAorICAgIG1hY3JvKHVuc2lnbmVkLCBHZXRNRE5vZGVOdW1PcGVy
YW5kcywgKExMVk1WYWx1ZVJlZiBWKSkgXAorICAgIG1hY3JvKHZvaWQsIEdldE1ETm9kZU9wZXJh
bmRzLCAoTExWTVZhbHVlUmVmIFYsIExMVk1WYWx1ZVJlZiAqRGVzdCkpIFwKKyAgICBtYWNybyhM
TFZNVmFsdWVSZWYsIEJhc2ljQmxvY2tBc1ZhbHVlLCAoTExWTUJhc2ljQmxvY2tSZWYgQkIpKSBc
CisgICAgbWFjcm8oTExWTUJvb2wsIFZhbHVlSXNCYXNpY0Jsb2NrLCAoTExWTVZhbHVlUmVmIFZh
bCkpIFwKKyAgICBtYWNybyhMTFZNQmFzaWNCbG9ja1JlZiwgVmFsdWVBc0Jhc2ljQmxvY2ssIChM
TFZNVmFsdWVSZWYgVmFsKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgR2V0QmFzaWNCbG9j
a1BhcmVudCwgKExMVk1CYXNpY0Jsb2NrUmVmIEJCKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJl
ZiwgR2V0QmFzaWNCbG9ja1Rlcm1pbmF0b3IsIChMTFZNQmFzaWNCbG9ja1JlZiBCQikpIFwKKyAg
ICBtYWNybyh1bnNpZ25lZCwgQ291bnRCYXNpY0Jsb2NrcywgKExMVk1WYWx1ZVJlZiBGbikpIFwK
KyAgICBtYWNybyh2b2lkLCBHZXRCYXNpY0Jsb2NrcywgKExMVk1WYWx1ZVJlZiBGbiwgTExWTUJh
c2ljQmxvY2tSZWYgKkJhc2ljQmxvY2tzKSkgXAorICAgIG1hY3JvKExMVk1CYXNpY0Jsb2NrUmVm
LCBHZXRGaXJzdEJhc2ljQmxvY2ssIChMTFZNVmFsdWVSZWYgRm4pKSBcCisgICAgbWFjcm8oTExW
TUJhc2ljQmxvY2tSZWYsIEdldExhc3RCYXNpY0Jsb2NrLCAoTExWTVZhbHVlUmVmIEZuKSkgXAor
ICAgIG1hY3JvKExMVk1CYXNpY0Jsb2NrUmVmLCBHZXROZXh0QmFzaWNCbG9jaywgKExMVk1CYXNp
Y0Jsb2NrUmVmIEJCKSkgXAorICAgIG1hY3JvKExMVk1CYXNpY0Jsb2NrUmVmLCBHZXRQcmV2aW91
c0Jhc2ljQmxvY2ssIChMTFZNQmFzaWNCbG9ja1JlZiBCQikpIFwKKyAgICBtYWNybyhMTFZNQmFz
aWNCbG9ja1JlZiwgR2V0RW50cnlCYXNpY0Jsb2NrLCAoTExWTVZhbHVlUmVmIEZuKSkgXAorICAg
IG1hY3JvKExMVk1CYXNpY0Jsb2NrUmVmLCBBcHBlbmRCYXNpY0Jsb2NrSW5Db250ZXh0LCAoTExW
TUNvbnRleHRSZWYgQywgTExWTVZhbHVlUmVmIEZuLCBjb25zdCBjaGFyICpOYW1lKSkgXAorICAg
IG1hY3JvKExMVk1CYXNpY0Jsb2NrUmVmLCBBcHBlbmRCYXNpY0Jsb2NrLCAoTExWTVZhbHVlUmVm
IEZuLCBjb25zdCBjaGFyICpOYW1lKSkgXAorICAgIG1hY3JvKExMVk1CYXNpY0Jsb2NrUmVmLCBJ
bnNlcnRCYXNpY0Jsb2NrSW5Db250ZXh0LCAoTExWTUNvbnRleHRSZWYgQywgTExWTUJhc2ljQmxv
Y2tSZWYgQkIsIGNvbnN0IGNoYXIgKk5hbWUpKSBcCisgICAgbWFjcm8oTExWTUJhc2ljQmxvY2tS
ZWYsIEluc2VydEJhc2ljQmxvY2ssIChMTFZNQmFzaWNCbG9ja1JlZiBJbnNlcnRCZWZvcmVCQiwg
Y29uc3QgY2hhciAqTmFtZSkpIFwKKyAgICBtYWNybyh2b2lkLCBEZWxldGVCYXNpY0Jsb2NrLCAo
TExWTUJhc2ljQmxvY2tSZWYgQkIpKSBcCisgICAgbWFjcm8odm9pZCwgUmVtb3ZlQmFzaWNCbG9j
a0Zyb21QYXJlbnQsIChMTFZNQmFzaWNCbG9ja1JlZiBCQikpIFwKKyAgICBtYWNybyh2b2lkLCBN
b3ZlQmFzaWNCbG9ja0JlZm9yZSwgKExMVk1CYXNpY0Jsb2NrUmVmIEJCLCBMTFZNQmFzaWNCbG9j
a1JlZiBNb3ZlUG9zKSkgXAorICAgIG1hY3JvKHZvaWQsIE1vdmVCYXNpY0Jsb2NrQWZ0ZXIsIChM
TFZNQmFzaWNCbG9ja1JlZiBCQiwgTExWTUJhc2ljQmxvY2tSZWYgTW92ZVBvcykpIFwKKyAgICBt
YWNybyhMTFZNVmFsdWVSZWYsIEdldEZpcnN0SW5zdHJ1Y3Rpb24sIChMTFZNQmFzaWNCbG9ja1Jl
ZiBCQikpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIEdldExhc3RJbnN0cnVjdGlvbiwgKExM
Vk1CYXNpY0Jsb2NrUmVmIEJCKSkgXAorICAgIG1hY3JvKGludCwgSGFzTWV0YWRhdGEsIChMTFZN
VmFsdWVSZWYgVmFsKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgR2V0TWV0YWRhdGEsIChM
TFZNVmFsdWVSZWYgVmFsLCB1bnNpZ25lZCBLaW5kSUQpKSBcCisgICAgbWFjcm8odm9pZCwgU2V0
TWV0YWRhdGEsIChMTFZNVmFsdWVSZWYgVmFsLCB1bnNpZ25lZCBLaW5kSUQsIExMVk1WYWx1ZVJl
ZiBOb2RlKSkgXAorICAgIG1hY3JvKExMVk1CYXNpY0Jsb2NrUmVmLCBHZXRJbnN0cnVjdGlvblBh
cmVudCwgKExMVk1WYWx1ZVJlZiBJbnN0KSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgR2V0
TmV4dEluc3RydWN0aW9uLCAoTExWTVZhbHVlUmVmIEluc3QpKSBcCisgICAgbWFjcm8oTExWTVZh
bHVlUmVmLCBHZXRQcmV2aW91c0luc3RydWN0aW9uLCAoTExWTVZhbHVlUmVmIEluc3QpKSBcCisg
ICAgbWFjcm8odm9pZCwgSW5zdHJ1Y3Rpb25FcmFzZUZyb21QYXJlbnQsIChMTFZNVmFsdWVSZWYg
SW5zdCkpIFwKKyAgICBtYWNybyhMTFZNT3Bjb2RlLCBHZXRJbnN0cnVjdGlvbk9wY29kZSwgKExM
Vk1WYWx1ZVJlZiBJbnN0KSkgXAorICAgIG1hY3JvKExMVk1JbnRQcmVkaWNhdGUsIEdldElDbXBQ
cmVkaWNhdGUsIChMTFZNVmFsdWVSZWYgSW5zdCkpIFwKKyAgICBtYWNybyh2b2lkLCBTZXRJbnN0
cnVjdGlvbkNhbGxDb252LCAoTExWTVZhbHVlUmVmIEluc3RyLCB1bnNpZ25lZCBDQykpIFwKKyAg
ICBtYWNybyh1bnNpZ25lZCwgR2V0SW5zdHJ1Y3Rpb25DYWxsQ29udiwgKExMVk1WYWx1ZVJlZiBJ
bnN0cikpIFwKKyAgICBtYWNybyh2b2lkLCBBZGRJbnN0ckF0dHJpYnV0ZSwgKExMVk1WYWx1ZVJl
ZiBJbnN0ciwgdW5zaWduZWQgaW5kZXgsIExMVk1BdHRyaWJ1dGUpKSBcCisgICAgbWFjcm8odm9p
ZCwgUmVtb3ZlSW5zdHJBdHRyaWJ1dGUsIChMTFZNVmFsdWVSZWYgSW5zdHIsIHVuc2lnbmVkIGlu
ZGV4LCBMTFZNQXR0cmlidXRlKSkgXAorICAgIG1hY3JvKHZvaWQsIFNldEluc3RyUGFyYW1BbGln
bm1lbnQsIChMTFZNVmFsdWVSZWYgSW5zdHIsIHVuc2lnbmVkIGluZGV4LCB1bnNpZ25lZCBhbGln
bikpIFwKKyAgICBtYWNybyhMTFZNQm9vbCwgSXNUYWlsQ2FsbCwgKExMVk1WYWx1ZVJlZiBDYWxs
SW5zdCkpIFwKKyAgICBtYWNybyh2b2lkLCBTZXRUYWlsQ2FsbCwgKExMVk1WYWx1ZVJlZiBDYWxs
SW5zdCwgTExWTUJvb2wgSXNUYWlsQ2FsbCkpIFwKKyAgICBtYWNybyhMTFZNQmFzaWNCbG9ja1Jl
ZiwgR2V0U3dpdGNoRGVmYXVsdERlc3QsIChMTFZNVmFsdWVSZWYgU3dpdGNoSW5zdHIpKSBcCisg
ICAgbWFjcm8odm9pZCwgQWRkSW5jb21pbmcsIChMTFZNVmFsdWVSZWYgUGhpTm9kZSwgTExWTVZh
bHVlUmVmICpJbmNvbWluZ1ZhbHVlcywgTExWTUJhc2ljQmxvY2tSZWYgKkluY29taW5nQmxvY2tz
LCB1bnNpZ25lZCBDb3VudCkpIFwKKyAgICBtYWNybyh1bnNpZ25lZCwgQ291bnRJbmNvbWluZywg
KExMVk1WYWx1ZVJlZiBQaGlOb2RlKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgR2V0SW5j
b21pbmdWYWx1ZSwgKExMVk1WYWx1ZVJlZiBQaGlOb2RlLCB1bnNpZ25lZCBJbmRleCkpIFwKKyAg
ICBtYWNybyhMTFZNQmFzaWNCbG9ja1JlZiwgR2V0SW5jb21pbmdCbG9jaywgKExMVk1WYWx1ZVJl
ZiBQaGlOb2RlLCB1bnNpZ25lZCBJbmRleCkpIFwKKyAgICBtYWNybyhMTFZNQnVpbGRlclJlZiwg
Q3JlYXRlQnVpbGRlckluQ29udGV4dCwgKExMVk1Db250ZXh0UmVmIEMpKSBcCisgICAgbWFjcm8o
TExWTUJ1aWxkZXJSZWYsIENyZWF0ZUJ1aWxkZXIsICh2b2lkKSkgXAorICAgIG1hY3JvKHZvaWQs
IFBvc2l0aW9uQnVpbGRlciwgKExMVk1CdWlsZGVyUmVmIEJ1aWxkZXIsIExMVk1CYXNpY0Jsb2Nr
UmVmIEJsb2NrLCBMTFZNVmFsdWVSZWYgSW5zdHIpKSBcCisgICAgbWFjcm8odm9pZCwgUG9zaXRp
b25CdWlsZGVyQmVmb3JlLCAoTExWTUJ1aWxkZXJSZWYgQnVpbGRlciwgTExWTVZhbHVlUmVmIElu
c3RyKSkgXAorICAgIG1hY3JvKHZvaWQsIFBvc2l0aW9uQnVpbGRlckF0RW5kLCAoTExWTUJ1aWxk
ZXJSZWYgQnVpbGRlciwgTExWTUJhc2ljQmxvY2tSZWYgQmxvY2spKSBcCisgICAgbWFjcm8oTExW
TUJhc2ljQmxvY2tSZWYsIEdldEluc2VydEJsb2NrLCAoTExWTUJ1aWxkZXJSZWYgQnVpbGRlcikp
IFwKKyAgICBtYWNybyh2b2lkLCBDbGVhckluc2VydGlvblBvc2l0aW9uLCAoTExWTUJ1aWxkZXJS
ZWYgQnVpbGRlcikpIFwKKyAgICBtYWNybyh2b2lkLCBJbnNlcnRJbnRvQnVpbGRlciwgKExMVk1C
dWlsZGVyUmVmIEJ1aWxkZXIsIExMVk1WYWx1ZVJlZiBJbnN0cikpIFwKKyAgICBtYWNybyh2b2lk
LCBJbnNlcnRJbnRvQnVpbGRlcldpdGhOYW1lLCAoTExWTUJ1aWxkZXJSZWYgQnVpbGRlciwgTExW
TVZhbHVlUmVmIEluc3RyLCBjb25zdCBjaGFyICpOYW1lKSkgXAorICAgIG1hY3JvKHZvaWQsIERp
c3Bvc2VCdWlsZGVyLCAoTExWTUJ1aWxkZXJSZWYgQnVpbGRlcikpIFwKKyAgICBtYWNybyh2b2lk
LCBTZXRDdXJyZW50RGVidWdMb2NhdGlvbiwgKExMVk1CdWlsZGVyUmVmIEJ1aWxkZXIsIExMVk1W
YWx1ZVJlZiBMKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgR2V0Q3VycmVudERlYnVnTG9j
YXRpb24sIChMTFZNQnVpbGRlclJlZiBCdWlsZGVyKSkgXAorICAgIG1hY3JvKHZvaWQsIFNldElu
c3REZWJ1Z0xvY2F0aW9uLCAoTExWTUJ1aWxkZXJSZWYgQnVpbGRlciwgTExWTVZhbHVlUmVmIElu
c3QpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBCdWlsZFJldFZvaWQsIChMTFZNQnVpbGRl
clJlZikpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIEJ1aWxkUmV0LCAoTExWTUJ1aWxkZXJS
ZWYsIExMVk1WYWx1ZVJlZiBWKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgQnVpbGRBZ2dy
ZWdhdGVSZXQsIChMTFZNQnVpbGRlclJlZiwgTExWTVZhbHVlUmVmICpSZXRWYWxzLCB1bnNpZ25l
ZCBOKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgQnVpbGRCciwgKExMVk1CdWlsZGVyUmVm
LCBMTFZNQmFzaWNCbG9ja1JlZiBEZXN0KSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgQnVp
bGRDb25kQnIsIChMTFZNQnVpbGRlclJlZiwgTExWTVZhbHVlUmVmIElmLCBMTFZNQmFzaWNCbG9j
a1JlZiBUaGVuLCBMTFZNQmFzaWNCbG9ja1JlZiBFbHNlKSkgXAorICAgIG1hY3JvKExMVk1WYWx1
ZVJlZiwgQnVpbGRTd2l0Y2gsIChMTFZNQnVpbGRlclJlZiwgTExWTVZhbHVlUmVmIFYsIExMVk1C
YXNpY0Jsb2NrUmVmIEVsc2UsIHVuc2lnbmVkIE51bUNhc2VzKSkgXAorICAgIG1hY3JvKExMVk1W
YWx1ZVJlZiwgQnVpbGRJbmRpcmVjdEJyLCAoTExWTUJ1aWxkZXJSZWYgQiwgTExWTVZhbHVlUmVm
IEFkZHIsIHVuc2lnbmVkIE51bURlc3RzKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgQnVp
bGRJbnZva2UsIChMTFZNQnVpbGRlclJlZiwgTExWTVZhbHVlUmVmIEZuLCBMTFZNVmFsdWVSZWYg
KkFyZ3MsIHVuc2lnbmVkIE51bUFyZ3MsIExMVk1CYXNpY0Jsb2NrUmVmIFRoZW4sIExMVk1CYXNp
Y0Jsb2NrUmVmIENhdGNoLCBjb25zdCBjaGFyICpOYW1lKSkgXAorICAgIG1hY3JvKExMVk1WYWx1
ZVJlZiwgQnVpbGRMYW5kaW5nUGFkLCAoTExWTUJ1aWxkZXJSZWYgQiwgTExWTVR5cGVSZWYgVHks
IExMVk1WYWx1ZVJlZiBQZXJzRm4sIHVuc2lnbmVkIE51bUNsYXVzZXMsIGNvbnN0IGNoYXIgKk5h
bWUpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBCdWlsZFJlc3VtZSwgKExMVk1CdWlsZGVy
UmVmIEIsIExMVk1WYWx1ZVJlZiBFeG4pKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBCdWls
ZFVucmVhY2hhYmxlLCAoTExWTUJ1aWxkZXJSZWYpKSBcCisgICAgbWFjcm8odm9pZCwgQWRkQ2Fz
ZSwgKExMVk1WYWx1ZVJlZiBTd2l0Y2gsIExMVk1WYWx1ZVJlZiBPblZhbCwgTExWTUJhc2ljQmxv
Y2tSZWYgRGVzdCkpIFwKKyAgICBtYWNybyh2b2lkLCBBZGREZXN0aW5hdGlvbiwgKExMVk1WYWx1
ZVJlZiBJbmRpcmVjdEJyLCBMTFZNQmFzaWNCbG9ja1JlZiBEZXN0KSkgXAorICAgIG1hY3JvKHZv
aWQsIEFkZENsYXVzZSwgKExMVk1WYWx1ZVJlZiBMYW5kaW5nUGFkLCBMTFZNVmFsdWVSZWYgQ2xh
dXNlVmFsKSkgXAorICAgIG1hY3JvKHZvaWQsIFNldENsZWFudXAsIChMTFZNVmFsdWVSZWYgTGFu
ZGluZ1BhZCwgTExWTUJvb2wgVmFsKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgQnVpbGRB
ZGQsIChMTFZNQnVpbGRlclJlZiwgTExWTVZhbHVlUmVmIExIUywgTExWTVZhbHVlUmVmIFJIUywg
Y29uc3QgY2hhciAqTmFtZSkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIEJ1aWxkTlNXQWRk
LCAoTExWTUJ1aWxkZXJSZWYsIExMVk1WYWx1ZVJlZiBMSFMsIExMVk1WYWx1ZVJlZiBSSFMsIGNv
bnN0IGNoYXIgKk5hbWUpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBCdWlsZE5VV0FkZCwg
KExMVk1CdWlsZGVyUmVmLCBMTFZNVmFsdWVSZWYgTEhTLCBMTFZNVmFsdWVSZWYgUkhTLCBjb25z
dCBjaGFyICpOYW1lKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgQnVpbGRGQWRkLCAoTExW
TUJ1aWxkZXJSZWYsIExMVk1WYWx1ZVJlZiBMSFMsIExMVk1WYWx1ZVJlZiBSSFMsIGNvbnN0IGNo
YXIgKk5hbWUpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBCdWlsZFN1YiwgKExMVk1CdWls
ZGVyUmVmLCBMTFZNVmFsdWVSZWYgTEhTLCBMTFZNVmFsdWVSZWYgUkhTLCBjb25zdCBjaGFyICpO
YW1lKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgQnVpbGROU1dTdWIsIChMTFZNQnVpbGRl
clJlZiwgTExWTVZhbHVlUmVmIExIUywgTExWTVZhbHVlUmVmIFJIUywgY29uc3QgY2hhciAqTmFt
ZSkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIEJ1aWxkTlVXU3ViLCAoTExWTUJ1aWxkZXJS
ZWYsIExMVk1WYWx1ZVJlZiBMSFMsIExMVk1WYWx1ZVJlZiBSSFMsIGNvbnN0IGNoYXIgKk5hbWUp
KSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBCdWlsZEZTdWIsIChMTFZNQnVpbGRlclJlZiwg
TExWTVZhbHVlUmVmIExIUywgTExWTVZhbHVlUmVmIFJIUywgY29uc3QgY2hhciAqTmFtZSkpIFwK
KyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIEJ1aWxkTXVsLCAoTExWTUJ1aWxkZXJSZWYsIExMVk1W
YWx1ZVJlZiBMSFMsIExMVk1WYWx1ZVJlZiBSSFMsIGNvbnN0IGNoYXIgKk5hbWUpKSBcCisgICAg
bWFjcm8oTExWTVZhbHVlUmVmLCBCdWlsZE5TV011bCwgKExMVk1CdWlsZGVyUmVmLCBMTFZNVmFs
dWVSZWYgTEhTLCBMTFZNVmFsdWVSZWYgUkhTLCBjb25zdCBjaGFyICpOYW1lKSkgXAorICAgIG1h
Y3JvKExMVk1WYWx1ZVJlZiwgQnVpbGROVVdNdWwsIChMTFZNQnVpbGRlclJlZiwgTExWTVZhbHVl
UmVmIExIUywgTExWTVZhbHVlUmVmIFJIUywgY29uc3QgY2hhciAqTmFtZSkpIFwKKyAgICBtYWNy
byhMTFZNVmFsdWVSZWYsIEJ1aWxkRk11bCwgKExMVk1CdWlsZGVyUmVmLCBMTFZNVmFsdWVSZWYg
TEhTLCBMTFZNVmFsdWVSZWYgUkhTLCBjb25zdCBjaGFyICpOYW1lKSkgXAorICAgIG1hY3JvKExM
Vk1WYWx1ZVJlZiwgQnVpbGRVRGl2LCAoTExWTUJ1aWxkZXJSZWYsIExMVk1WYWx1ZVJlZiBMSFMs
IExMVk1WYWx1ZVJlZiBSSFMsIGNvbnN0IGNoYXIgKk5hbWUpKSBcCisgICAgbWFjcm8oTExWTVZh
bHVlUmVmLCBCdWlsZFNEaXYsIChMTFZNQnVpbGRlclJlZiwgTExWTVZhbHVlUmVmIExIUywgTExW
TVZhbHVlUmVmIFJIUywgY29uc3QgY2hhciAqTmFtZSkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVS
ZWYsIEJ1aWxkRXhhY3RTRGl2LCAoTExWTUJ1aWxkZXJSZWYsIExMVk1WYWx1ZVJlZiBMSFMsIExM
Vk1WYWx1ZVJlZiBSSFMsIGNvbnN0IGNoYXIgKk5hbWUpKSBcCisgICAgbWFjcm8oTExWTVZhbHVl
UmVmLCBCdWlsZEZEaXYsIChMTFZNQnVpbGRlclJlZiwgTExWTVZhbHVlUmVmIExIUywgTExWTVZh
bHVlUmVmIFJIUywgY29uc3QgY2hhciAqTmFtZSkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYs
IEJ1aWxkVVJlbSwgKExMVk1CdWlsZGVyUmVmLCBMTFZNVmFsdWVSZWYgTEhTLCBMTFZNVmFsdWVS
ZWYgUkhTLCBjb25zdCBjaGFyICpOYW1lKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgQnVp
bGRTUmVtLCAoTExWTUJ1aWxkZXJSZWYsIExMVk1WYWx1ZVJlZiBMSFMsIExMVk1WYWx1ZVJlZiBS
SFMsIGNvbnN0IGNoYXIgKk5hbWUpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBCdWlsZEZS
ZW0sIChMTFZNQnVpbGRlclJlZiwgTExWTVZhbHVlUmVmIExIUywgTExWTVZhbHVlUmVmIFJIUywg
Y29uc3QgY2hhciAqTmFtZSkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIEJ1aWxkU2hsLCAo
TExWTUJ1aWxkZXJSZWYsIExMVk1WYWx1ZVJlZiBMSFMsIExMVk1WYWx1ZVJlZiBSSFMsIGNvbnN0
IGNoYXIgKk5hbWUpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBCdWlsZExTaHIsIChMTFZN
QnVpbGRlclJlZiwgTExWTVZhbHVlUmVmIExIUywgTExWTVZhbHVlUmVmIFJIUywgY29uc3QgY2hh
ciAqTmFtZSkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIEJ1aWxkQVNociwgKExMVk1CdWls
ZGVyUmVmLCBMTFZNVmFsdWVSZWYgTEhTLCBMTFZNVmFsdWVSZWYgUkhTLCBjb25zdCBjaGFyICpO
YW1lKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgQnVpbGRBbmQsIChMTFZNQnVpbGRlclJl
ZiwgTExWTVZhbHVlUmVmIExIUywgTExWTVZhbHVlUmVmIFJIUywgY29uc3QgY2hhciAqTmFtZSkp
IFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIEJ1aWxkT3IsIChMTFZNQnVpbGRlclJlZiwgTExW
TVZhbHVlUmVmIExIUywgTExWTVZhbHVlUmVmIFJIUywgY29uc3QgY2hhciAqTmFtZSkpIFwKKyAg
ICBtYWNybyhMTFZNVmFsdWVSZWYsIEJ1aWxkWG9yLCAoTExWTUJ1aWxkZXJSZWYsIExMVk1WYWx1
ZVJlZiBMSFMsIExMVk1WYWx1ZVJlZiBSSFMsIGNvbnN0IGNoYXIgKk5hbWUpKSBcCisgICAgbWFj
cm8oTExWTVZhbHVlUmVmLCBCdWlsZEJpbk9wLCAoTExWTUJ1aWxkZXJSZWYgQiwgTExWTU9wY29k
ZSBPcCwgTExWTVZhbHVlUmVmIExIUywgTExWTVZhbHVlUmVmIFJIUywgY29uc3QgY2hhciAqTmFt
ZSkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIEJ1aWxkTmVnLCAoTExWTUJ1aWxkZXJSZWYs
IExMVk1WYWx1ZVJlZiBWLCBjb25zdCBjaGFyICpOYW1lKSkgXAorICAgIG1hY3JvKExMVk1WYWx1
ZVJlZiwgQnVpbGROU1dOZWcsIChMTFZNQnVpbGRlclJlZiBCLCBMTFZNVmFsdWVSZWYgViwgY29u
c3QgY2hhciAqTmFtZSkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIEJ1aWxkTlVXTmVnLCAo
TExWTUJ1aWxkZXJSZWYgQiwgTExWTVZhbHVlUmVmIFYsIGNvbnN0IGNoYXIgKk5hbWUpKSBcCisg
ICAgbWFjcm8oTExWTVZhbHVlUmVmLCBCdWlsZEZOZWcsIChMTFZNQnVpbGRlclJlZiwgTExWTVZh
bHVlUmVmIFYsIGNvbnN0IGNoYXIgKk5hbWUpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBC
dWlsZE5vdCwgKExMVk1CdWlsZGVyUmVmLCBMTFZNVmFsdWVSZWYgViwgY29uc3QgY2hhciAqTmFt
ZSkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIEJ1aWxkTWFsbG9jLCAoTExWTUJ1aWxkZXJS
ZWYsIExMVk1UeXBlUmVmIFR5LCBjb25zdCBjaGFyICpOYW1lKSkgXAorICAgIG1hY3JvKExMVk1W
YWx1ZVJlZiwgQnVpbGRBcnJheU1hbGxvYywgKExMVk1CdWlsZGVyUmVmLCBMTFZNVHlwZVJlZiBU
eSwgTExWTVZhbHVlUmVmIFZhbCwgY29uc3QgY2hhciAqTmFtZSkpIFwKKyAgICBtYWNybyhMTFZN
VmFsdWVSZWYsIEJ1aWxkQWxsb2NhLCAoTExWTUJ1aWxkZXJSZWYsIExMVk1UeXBlUmVmIFR5LCBj
b25zdCBjaGFyICpOYW1lKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgQnVpbGRBcnJheUFs
bG9jYSwgKExMVk1CdWlsZGVyUmVmLCBMTFZNVHlwZVJlZiBUeSwgTExWTVZhbHVlUmVmIFZhbCwg
Y29uc3QgY2hhciAqTmFtZSkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIEJ1aWxkRnJlZSwg
KExMVk1CdWlsZGVyUmVmLCBMTFZNVmFsdWVSZWYgUG9pbnRlclZhbCkpIFwKKyAgICBtYWNybyhM
TFZNVmFsdWVSZWYsIEJ1aWxkTG9hZCwgKExMVk1CdWlsZGVyUmVmLCBMTFZNVmFsdWVSZWYgUG9p
bnRlclZhbCwgY29uc3QgY2hhciAqTmFtZSkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIEJ1
aWxkU3RvcmUsIChMTFZNQnVpbGRlclJlZiwgTExWTVZhbHVlUmVmIFZhbCwgTExWTVZhbHVlUmVm
IFB0cikpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIEJ1aWxkR0VQLCAoTExWTUJ1aWxkZXJS
ZWYgQiwgTExWTVZhbHVlUmVmIFBvaW50ZXIsIExMVk1WYWx1ZVJlZiAqSW5kaWNlcywgdW5zaWdu
ZWQgTnVtSW5kaWNlcywgY29uc3QgY2hhciAqTmFtZSkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVS
ZWYsIEJ1aWxkSW5Cb3VuZHNHRVAsIChMTFZNQnVpbGRlclJlZiBCLCBMTFZNVmFsdWVSZWYgUG9p
bnRlciwgTExWTVZhbHVlUmVmICpJbmRpY2VzLCB1bnNpZ25lZCBOdW1JbmRpY2VzLCBjb25zdCBj
aGFyICpOYW1lKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgQnVpbGRTdHJ1Y3RHRVAsIChM
TFZNQnVpbGRlclJlZiBCLCBMTFZNVmFsdWVSZWYgUG9pbnRlciwgdW5zaWduZWQgSWR4LCBjb25z
dCBjaGFyICpOYW1lKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgQnVpbGRHbG9iYWxTdHJp
bmcsIChMTFZNQnVpbGRlclJlZiBCLCBjb25zdCBjaGFyICpTdHIsIGNvbnN0IGNoYXIgKk5hbWUp
KSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBCdWlsZEdsb2JhbFN0cmluZ1B0ciwgKExMVk1C
dWlsZGVyUmVmIEIsIGNvbnN0IGNoYXIgKlN0ciwgY29uc3QgY2hhciAqTmFtZSkpIFwKKyAgICBt
YWNybyhMTFZNQm9vbCwgR2V0Vm9sYXRpbGUsIChMTFZNVmFsdWVSZWYgTWVtb3J5QWNjZXNzSW5z
dCkpIFwKKyAgICBtYWNybyh2b2lkLCBTZXRWb2xhdGlsZSwgKExMVk1WYWx1ZVJlZiBNZW1vcnlB
Y2Nlc3NJbnN0LCBMTFZNQm9vbCBJc1ZvbGF0aWxlKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJl
ZiwgQnVpbGRUcnVuYywgKExMVk1CdWlsZGVyUmVmLCBMTFZNVmFsdWVSZWYgVmFsLCBMTFZNVHlw
ZVJlZiBEZXN0VHksIGNvbnN0IGNoYXIgKk5hbWUpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVm
LCBCdWlsZFpFeHQsIChMTFZNQnVpbGRlclJlZiwgTExWTVZhbHVlUmVmIFZhbCwgTExWTVR5cGVS
ZWYgRGVzdFR5LCBjb25zdCBjaGFyICpOYW1lKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwg
QnVpbGRTRXh0LCAoTExWTUJ1aWxkZXJSZWYsIExMVk1WYWx1ZVJlZiBWYWwsIExMVk1UeXBlUmVm
IERlc3RUeSwgY29uc3QgY2hhciAqTmFtZSkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIEJ1
aWxkRlBUb1VJLCAoTExWTUJ1aWxkZXJSZWYsIExMVk1WYWx1ZVJlZiBWYWwsIExMVk1UeXBlUmVm
IERlc3RUeSwgY29uc3QgY2hhciAqTmFtZSkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIEJ1
aWxkRlBUb1NJLCAoTExWTUJ1aWxkZXJSZWYsIExMVk1WYWx1ZVJlZiBWYWwsIExMVk1UeXBlUmVm
IERlc3RUeSwgY29uc3QgY2hhciAqTmFtZSkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIEJ1
aWxkVUlUb0ZQLCAoTExWTUJ1aWxkZXJSZWYsIExMVk1WYWx1ZVJlZiBWYWwsIExMVk1UeXBlUmVm
IERlc3RUeSwgY29uc3QgY2hhciAqTmFtZSkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIEJ1
aWxkU0lUb0ZQLCAoTExWTUJ1aWxkZXJSZWYsIExMVk1WYWx1ZVJlZiBWYWwsIExMVk1UeXBlUmVm
IERlc3RUeSwgY29uc3QgY2hhciAqTmFtZSkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIEJ1
aWxkRlBUcnVuYywgKExMVk1CdWlsZGVyUmVmLCBMTFZNVmFsdWVSZWYgVmFsLCBMTFZNVHlwZVJl
ZiBEZXN0VHksIGNvbnN0IGNoYXIgKk5hbWUpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBC
dWlsZEZQRXh0LCAoTExWTUJ1aWxkZXJSZWYsIExMVk1WYWx1ZVJlZiBWYWwsIExMVk1UeXBlUmVm
IERlc3RUeSwgY29uc3QgY2hhciAqTmFtZSkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIEJ1
aWxkUHRyVG9JbnQsIChMTFZNQnVpbGRlclJlZiwgTExWTVZhbHVlUmVmIFZhbCwgTExWTVR5cGVS
ZWYgRGVzdFR5LCBjb25zdCBjaGFyICpOYW1lKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwg
QnVpbGRJbnRUb1B0ciwgKExMVk1CdWlsZGVyUmVmLCBMTFZNVmFsdWVSZWYgVmFsLCBMTFZNVHlw
ZVJlZiBEZXN0VHksIGNvbnN0IGNoYXIgKk5hbWUpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVm
LCBCdWlsZEJpdENhc3QsIChMTFZNQnVpbGRlclJlZiwgTExWTVZhbHVlUmVmIFZhbCwgTExWTVR5
cGVSZWYgRGVzdFR5LCBjb25zdCBjaGFyICpOYW1lKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJl
ZiwgQnVpbGRaRXh0T3JCaXRDYXN0LCAoTExWTUJ1aWxkZXJSZWYsIExMVk1WYWx1ZVJlZiBWYWws
IExMVk1UeXBlUmVmIERlc3RUeSwgY29uc3QgY2hhciAqTmFtZSkpIFwKKyAgICBtYWNybyhMTFZN
VmFsdWVSZWYsIEJ1aWxkU0V4dE9yQml0Q2FzdCwgKExMVk1CdWlsZGVyUmVmLCBMTFZNVmFsdWVS
ZWYgVmFsLCBMTFZNVHlwZVJlZiBEZXN0VHksIGNvbnN0IGNoYXIgKk5hbWUpKSBcCisgICAgbWFj
cm8oTExWTVZhbHVlUmVmLCBCdWlsZFRydW5jT3JCaXRDYXN0LCAoTExWTUJ1aWxkZXJSZWYsIExM
Vk1WYWx1ZVJlZiBWYWwsIExMVk1UeXBlUmVmIERlc3RUeSwgY29uc3QgY2hhciAqTmFtZSkpIFwK
KyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIEJ1aWxkQ2FzdCwgKExMVk1CdWlsZGVyUmVmIEIsIExM
Vk1PcGNvZGUgT3AsIExMVk1WYWx1ZVJlZiBWYWwsIExMVk1UeXBlUmVmIERlc3RUeSwgY29uc3Qg
Y2hhciAqTmFtZSkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIEJ1aWxkUG9pbnRlckNhc3Qs
IChMTFZNQnVpbGRlclJlZiwgTExWTVZhbHVlUmVmIFZhbCwgTExWTVR5cGVSZWYgRGVzdFR5LCBj
b25zdCBjaGFyICpOYW1lKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgQnVpbGRJbnRDYXN0
LCAoTExWTUJ1aWxkZXJSZWYsIExMVk1WYWx1ZVJlZiBWYWwsIExMVk1UeXBlUmVmIERlc3RUeSwg
Y29uc3QgY2hhciAqTmFtZSkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIEJ1aWxkRlBDYXN0
LCAoTExWTUJ1aWxkZXJSZWYsIExMVk1WYWx1ZVJlZiBWYWwsIExMVk1UeXBlUmVmIERlc3RUeSwg
Y29uc3QgY2hhciAqTmFtZSkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIEJ1aWxkSUNtcCwg
KExMVk1CdWlsZGVyUmVmLCBMTFZNSW50UHJlZGljYXRlIE9wLCBMTFZNVmFsdWVSZWYgTEhTLCBM
TFZNVmFsdWVSZWYgUkhTLCBjb25zdCBjaGFyICpOYW1lKSkgXAorICAgIG1hY3JvKExMVk1WYWx1
ZVJlZiwgQnVpbGRGQ21wLCAoTExWTUJ1aWxkZXJSZWYsIExMVk1SZWFsUHJlZGljYXRlIE9wLCBM
TFZNVmFsdWVSZWYgTEhTLCBMTFZNVmFsdWVSZWYgUkhTLCBjb25zdCBjaGFyICpOYW1lKSkgXAor
ICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgQnVpbGRQaGksIChMTFZNQnVpbGRlclJlZiwgTExWTVR5
cGVSZWYgVHksIGNvbnN0IGNoYXIgKk5hbWUpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBC
dWlsZENhbGwsIChMTFZNQnVpbGRlclJlZiwgTExWTVZhbHVlUmVmIEZuLCBMTFZNVmFsdWVSZWYg
KkFyZ3MsIHVuc2lnbmVkIE51bUFyZ3MsIGNvbnN0IGNoYXIgKk5hbWUpKSBcCisgICAgbWFjcm8o
TExWTVZhbHVlUmVmLCBCdWlsZFNlbGVjdCwgKExMVk1CdWlsZGVyUmVmLCBMTFZNVmFsdWVSZWYg
SWYsIExMVk1WYWx1ZVJlZiBUaGVuLCBMTFZNVmFsdWVSZWYgRWxzZSwgY29uc3QgY2hhciAqTmFt
ZSkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIEJ1aWxkVkFBcmcsIChMTFZNQnVpbGRlclJl
ZiwgTExWTVZhbHVlUmVmIExpc3QsIExMVk1UeXBlUmVmIFR5LCBjb25zdCBjaGFyICpOYW1lKSkg
XAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgQnVpbGRFeHRyYWN0RWxlbWVudCwgKExMVk1CdWls
ZGVyUmVmLCBMTFZNVmFsdWVSZWYgVmVjVmFsLCBMTFZNVmFsdWVSZWYgSW5kZXgsIGNvbnN0IGNo
YXIgKk5hbWUpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBCdWlsZEluc2VydEVsZW1lbnQs
IChMTFZNQnVpbGRlclJlZiwgTExWTVZhbHVlUmVmIFZlY1ZhbCwgTExWTVZhbHVlUmVmIEVsdFZh
bCwgTExWTVZhbHVlUmVmIEluZGV4LCBjb25zdCBjaGFyICpOYW1lKSkgXAorICAgIG1hY3JvKExM
Vk1WYWx1ZVJlZiwgQnVpbGRTaHVmZmxlVmVjdG9yLCAoTExWTUJ1aWxkZXJSZWYsIExMVk1WYWx1
ZVJlZiBWMSwgTExWTVZhbHVlUmVmIFYyLCBMTFZNVmFsdWVSZWYgTWFzaywgY29uc3QgY2hhciAq
TmFtZSkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIEJ1aWxkRXh0cmFjdFZhbHVlLCAoTExW
TUJ1aWxkZXJSZWYsIExMVk1WYWx1ZVJlZiBBZ2dWYWwsIHVuc2lnbmVkIEluZGV4LCBjb25zdCBj
aGFyICpOYW1lKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgQnVpbGRJbnNlcnRWYWx1ZSwg
KExMVk1CdWlsZGVyUmVmLCBMTFZNVmFsdWVSZWYgQWdnVmFsLCBMTFZNVmFsdWVSZWYgRWx0VmFs
LCB1bnNpZ25lZCBJbmRleCwgY29uc3QgY2hhciAqTmFtZSkpIFwKKyAgICBtYWNybyhMTFZNVmFs
dWVSZWYsIEJ1aWxkSXNOdWxsLCAoTExWTUJ1aWxkZXJSZWYsIExMVk1WYWx1ZVJlZiBWYWwsIGNv
bnN0IGNoYXIgKk5hbWUpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBCdWlsZElzTm90TnVs
bCwgKExMVk1CdWlsZGVyUmVmLCBMTFZNVmFsdWVSZWYgVmFsLCBjb25zdCBjaGFyICpOYW1lKSkg
XAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgQnVpbGRQdHJEaWZmLCAoTExWTUJ1aWxkZXJSZWYs
IExMVk1WYWx1ZVJlZiBMSFMsIExMVk1WYWx1ZVJlZiBSSFMsIGNvbnN0IGNoYXIgKk5hbWUpKSBc
CisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBCdWlsZEF0b21pY1JNVywgKExMVk1CdWlsZGVyUmVm
IEIsIExMVk1BdG9taWNSTVdCaW5PcCBvcCwgTExWTVZhbHVlUmVmIFBUUiwgTExWTVZhbHVlUmVm
IFZhbCwgTExWTUF0b21pY09yZGVyaW5nIG9yZGVyaW5nLCBMTFZNQm9vbCBzaW5nbGVUaHJlYWQp
KSBcCisgICAgbWFjcm8oTExWTU1vZHVsZVByb3ZpZGVyUmVmLCBDcmVhdGVNb2R1bGVQcm92aWRl
ckZvckV4aXN0aW5nTW9kdWxlLCAoTExWTU1vZHVsZVJlZiBNKSkgXAorICAgIG1hY3JvKHZvaWQs
IERpc3Bvc2VNb2R1bGVQcm92aWRlciwgKExMVk1Nb2R1bGVQcm92aWRlclJlZiBNKSkgXAorICAg
IG1hY3JvKExMVk1Cb29sLCBDcmVhdGVNZW1vcnlCdWZmZXJXaXRoQ29udGVudHNPZkZpbGUsIChj
b25zdCBjaGFyICpQYXRoLCBMTFZNTWVtb3J5QnVmZmVyUmVmICpPdXRNZW1CdWYsIGNoYXIgKipP
dXRNZXNzYWdlKSkgXAorICAgIG1hY3JvKExMVk1Cb29sLCBDcmVhdGVNZW1vcnlCdWZmZXJXaXRo
U1RESU4sIChMTFZNTWVtb3J5QnVmZmVyUmVmICpPdXRNZW1CdWYsIGNoYXIgKipPdXRNZXNzYWdl
KSkgXAorICAgIG1hY3JvKExMVk1NZW1vcnlCdWZmZXJSZWYsIENyZWF0ZU1lbW9yeUJ1ZmZlcldp
dGhNZW1vcnlSYW5nZSwgKGNvbnN0IGNoYXIgKklucHV0RGF0YSwgc2l6ZV90IElucHV0RGF0YUxl
bmd0aCwgY29uc3QgY2hhciAqQnVmZmVyTmFtZSwgTExWTUJvb2wgUmVxdWlyZXNOdWxsVGVybWlu
YXRvcikpIFwKKyAgICBtYWNybyhMTFZNTWVtb3J5QnVmZmVyUmVmLCBDcmVhdGVNZW1vcnlCdWZm
ZXJXaXRoTWVtb3J5UmFuZ2VDb3B5LCAoY29uc3QgY2hhciAqSW5wdXREYXRhLCBzaXplX3QgSW5w
dXREYXRhTGVuZ3RoLCBjb25zdCBjaGFyICpCdWZmZXJOYW1lKSkgXAorICAgIG1hY3JvKGNvbnN0
IGNoYXIgKiwgR2V0QnVmZmVyU3RhcnQsIChMTFZNTWVtb3J5QnVmZmVyUmVmIE1lbUJ1ZikpIFwK
KyAgICBtYWNybyhzaXplX3QsIEdldEJ1ZmZlclNpemUsIChMTFZNTWVtb3J5QnVmZmVyUmVmIE1l
bUJ1ZikpIFwKKyAgICBtYWNybyh2b2lkLCBEaXNwb3NlTWVtb3J5QnVmZmVyLCAoTExWTU1lbW9y
eUJ1ZmZlclJlZiBNZW1CdWYpKSBcCisgICAgbWFjcm8oTExWTVBhc3NSZWdpc3RyeVJlZiwgR2V0
R2xvYmFsUGFzc1JlZ2lzdHJ5LCAodm9pZCkpIFwKKyAgICBtYWNybyhMTFZNUGFzc01hbmFnZXJS
ZWYsIENyZWF0ZVBhc3NNYW5hZ2VyLCAodm9pZCkpIFwKKyAgICBtYWNybyhMTFZNUGFzc01hbmFn
ZXJSZWYsIENyZWF0ZUZ1bmN0aW9uUGFzc01hbmFnZXJGb3JNb2R1bGUsIChMTFZNTW9kdWxlUmVm
IE0pKSBcCisgICAgbWFjcm8oTExWTVBhc3NNYW5hZ2VyUmVmLCBDcmVhdGVGdW5jdGlvblBhc3NN
YW5hZ2VyLCAoTExWTU1vZHVsZVByb3ZpZGVyUmVmIE1QKSkgXAorICAgIG1hY3JvKExMVk1Cb29s
LCBSdW5QYXNzTWFuYWdlciwgKExMVk1QYXNzTWFuYWdlclJlZiBQTSwgTExWTU1vZHVsZVJlZiBN
KSkgXAorICAgIG1hY3JvKExMVk1Cb29sLCBJbml0aWFsaXplRnVuY3Rpb25QYXNzTWFuYWdlciwg
KExMVk1QYXNzTWFuYWdlclJlZiBGUE0pKSBcCisgICAgbWFjcm8oTExWTUJvb2wsIFJ1bkZ1bmN0
aW9uUGFzc01hbmFnZXIsIChMTFZNUGFzc01hbmFnZXJSZWYgRlBNLCBMTFZNVmFsdWVSZWYgRikp
IFwKKyAgICBtYWNybyhMTFZNQm9vbCwgRmluYWxpemVGdW5jdGlvblBhc3NNYW5hZ2VyLCAoTExW
TVBhc3NNYW5hZ2VyUmVmIEZQTSkpIFwKKyAgICBtYWNybyh2b2lkLCBEaXNwb3NlUGFzc01hbmFn
ZXIsIChMTFZNUGFzc01hbmFnZXJSZWYgUE0pKSBcCisgICAgbWFjcm8oTExWTUJvb2wsIFN0YXJ0
TXVsdGl0aHJlYWRlZCwgKCkpIFwKKyAgICBtYWNybyh2b2lkLCBTdG9wTXVsdGl0aHJlYWRlZCwg
KCkpIFwKKyAgICBtYWNybyhMTFZNQm9vbCwgSXNNdWx0aXRocmVhZGVkLCAoKSkgXAorICAgIG1h
Y3JvKExMVk1UYXJnZXREYXRhUmVmLCBDcmVhdGVUYXJnZXREYXRhLCAoY29uc3QgY2hhciAqU3Ry
aW5nUmVwKSkgXAorICAgIG1hY3JvKHZvaWQsIEFkZFRhcmdldERhdGEsIChMTFZNVGFyZ2V0RGF0
YVJlZiwgTExWTVBhc3NNYW5hZ2VyUmVmKSkgXAorICAgIG1hY3JvKHZvaWQsIEFkZFRhcmdldExp
YnJhcnlJbmZvLCAoTExWTVRhcmdldExpYnJhcnlJbmZvUmVmLCBMTFZNUGFzc01hbmFnZXJSZWYp
KSBcCisgICAgbWFjcm8oY2hhciAqLCBDb3B5U3RyaW5nUmVwT2ZUYXJnZXREYXRhLCAoTExWTVRh
cmdldERhdGFSZWYpKSBcCisgICAgbWFjcm8oZW51bSBMTFZNQnl0ZU9yZGVyaW5nLCBCeXRlT3Jk
ZXIsIChMTFZNVGFyZ2V0RGF0YVJlZikpIFwKKyAgICBtYWNybyh1bnNpZ25lZCwgUG9pbnRlclNp
emUsIChMTFZNVGFyZ2V0RGF0YVJlZikpIFwKKyAgICBtYWNybyhMTFZNVHlwZVJlZiwgSW50UHRy
VHlwZSwgKExMVk1UYXJnZXREYXRhUmVmKSkgXAorICAgIG1hY3JvKHVuc2lnbmVkIGxvbmcgbG9u
ZywgU2l6ZU9mVHlwZUluQml0cywgKExMVk1UYXJnZXREYXRhUmVmLCBMTFZNVHlwZVJlZikpIFwK
KyAgICBtYWNybyh1bnNpZ25lZCBsb25nIGxvbmcsIFN0b3JlU2l6ZU9mVHlwZSwgKExMVk1UYXJn
ZXREYXRhUmVmLCBMTFZNVHlwZVJlZikpIFwKKyAgICBtYWNybyh1bnNpZ25lZCBsb25nIGxvbmcs
IEFCSVNpemVPZlR5cGUsIChMTFZNVGFyZ2V0RGF0YVJlZiwgTExWTVR5cGVSZWYpKSBcCisgICAg
bWFjcm8odW5zaWduZWQsIEFCSUFsaWdubWVudE9mVHlwZSwgKExMVk1UYXJnZXREYXRhUmVmLCBM
TFZNVHlwZVJlZikpIFwKKyAgICBtYWNybyh1bnNpZ25lZCwgQ2FsbEZyYW1lQWxpZ25tZW50T2ZU
eXBlLCAoTExWTVRhcmdldERhdGFSZWYsIExMVk1UeXBlUmVmKSkgXAorICAgIG1hY3JvKHVuc2ln
bmVkLCBQcmVmZXJyZWRBbGlnbm1lbnRPZlR5cGUsIChMTFZNVGFyZ2V0RGF0YVJlZiwgTExWTVR5
cGVSZWYpKSBcCisgICAgbWFjcm8odW5zaWduZWQsIFByZWZlcnJlZEFsaWdubWVudE9mR2xvYmFs
LCAoTExWTVRhcmdldERhdGFSZWYsIExMVk1WYWx1ZVJlZiBHbG9iYWxWYXIpKSBcCisgICAgbWFj
cm8odW5zaWduZWQsIEVsZW1lbnRBdE9mZnNldCwgKExMVk1UYXJnZXREYXRhUmVmLCBMTFZNVHlw
ZVJlZiBTdHJ1Y3RUeSwgdW5zaWduZWQgbG9uZyBsb25nIE9mZnNldCkpIFwKKyAgICBtYWNybyh1
bnNpZ25lZCBsb25nIGxvbmcsIE9mZnNldE9mRWxlbWVudCwgKExMVk1UYXJnZXREYXRhUmVmLCBM
TFZNVHlwZVJlZiBTdHJ1Y3RUeSwgdW5zaWduZWQgRWxlbWVudCkpIFwKKyAgICBtYWNybyh2b2lk
LCBEaXNwb3NlVGFyZ2V0RGF0YSwgKExMVk1UYXJnZXREYXRhUmVmKSkgXAorICAgIG1hY3JvKExM
Vk1UYXJnZXRSZWYsIEdldEZpcnN0VGFyZ2V0LCAoKSkgXAorICAgIG1hY3JvKExMVk1UYXJnZXRS
ZWYsIEdldE5leHRUYXJnZXQsIChMTFZNVGFyZ2V0UmVmIFQpKSBcCisgICAgbWFjcm8oY29uc3Qg
Y2hhciAqLCBHZXRUYXJnZXROYW1lLCAoTExWTVRhcmdldFJlZiBUKSkgXAorICAgIG1hY3JvKGNv
bnN0IGNoYXIgKiwgR2V0VGFyZ2V0RGVzY3JpcHRpb24sIChMTFZNVGFyZ2V0UmVmIFQpKSBcCisg
ICAgbWFjcm8oTExWTUJvb2wsIFRhcmdldEhhc0pJVCwgKExMVk1UYXJnZXRSZWYgVCkpIFwKKyAg
ICBtYWNybyhMTFZNQm9vbCwgVGFyZ2V0SGFzVGFyZ2V0TWFjaGluZSwgKExMVk1UYXJnZXRSZWYg
VCkpIFwKKyAgICBtYWNybyhMTFZNQm9vbCwgVGFyZ2V0SGFzQXNtQmFja2VuZCwgKExMVk1UYXJn
ZXRSZWYgVCkpIFwKKyAgICBtYWNybyhMTFZNVGFyZ2V0TWFjaGluZVJlZiwgQ3JlYXRlVGFyZ2V0
TWFjaGluZSwgKExMVk1UYXJnZXRSZWYgVCwgY2hhciAqVHJpcGxlLCBjaGFyICpDUFUsIGNoYXIg
KkZlYXR1cmVzLCBMTFZNQ29kZUdlbk9wdExldmVsIExldmVsLCBMTFZNUmVsb2NNb2RlIFJlbG9j
LCBMTFZNQ29kZU1vZGVsIENvZGVNb2RlbCkpIFwKKyAgICBtYWNybyh2b2lkLCBEaXNwb3NlVGFy
Z2V0TWFjaGluZSwgKExMVk1UYXJnZXRNYWNoaW5lUmVmIFQpKSBcCisgICAgbWFjcm8oTExWTVRh
cmdldFJlZiwgR2V0VGFyZ2V0TWFjaGluZVRhcmdldCwgKExMVk1UYXJnZXRNYWNoaW5lUmVmIFQp
KSBcCisgICAgbWFjcm8oY2hhciAqLCBHZXRUYXJnZXRNYWNoaW5lVHJpcGxlLCAoTExWTVRhcmdl
dE1hY2hpbmVSZWYgVCkpIFwKKyAgICBtYWNybyhjaGFyICosIEdldFRhcmdldE1hY2hpbmVDUFUs
IChMTFZNVGFyZ2V0TWFjaGluZVJlZiBUKSkgXAorICAgIG1hY3JvKGNoYXIgKiwgR2V0VGFyZ2V0
TWFjaGluZUZlYXR1cmVTdHJpbmcsIChMTFZNVGFyZ2V0TWFjaGluZVJlZiBUKSkgXAorICAgIG1h
Y3JvKExMVk1UYXJnZXREYXRhUmVmLCBHZXRUYXJnZXRNYWNoaW5lRGF0YSwgKExMVk1UYXJnZXRN
YWNoaW5lUmVmIFQpKSBcCisgICAgbWFjcm8oTExWTUJvb2wsIFRhcmdldE1hY2hpbmVFbWl0VG9G
aWxlLCAoTExWTVRhcmdldE1hY2hpbmVSZWYgVCwgTExWTU1vZHVsZVJlZiBNLCBjaGFyICpGaWxl
bmFtZSwgTExWTUNvZGVHZW5GaWxlVHlwZSBjb2RlZ2VuLCBjaGFyICoqRXJyb3JNZXNzYWdlKSkg
XAorICAgIG1hY3JvKHZvaWQsIExpbmtJbkpJVCwgKHZvaWQpKSBcCisgICAgbWFjcm8odm9pZCwg
TGlua0luTUNKSVQsICh2b2lkKSkgXAorICAgIG1hY3JvKHZvaWQsIExpbmtJbkludGVycHJldGVy
LCAodm9pZCkpIFwKKyAgICBtYWNybyhMTFZNR2VuZXJpY1ZhbHVlUmVmLCBDcmVhdGVHZW5lcmlj
VmFsdWVPZkludCwgKExMVk1UeXBlUmVmIFR5LCB1bnNpZ25lZCBsb25nIGxvbmcgTiwgTExWTUJv
b2wgSXNTaWduZWQpKSBcCisgICAgbWFjcm8oTExWTUdlbmVyaWNWYWx1ZVJlZiwgQ3JlYXRlR2Vu
ZXJpY1ZhbHVlT2ZQb2ludGVyLCAodm9pZCAqUCkpIFwKKyAgICBtYWNybyhMTFZNR2VuZXJpY1Zh
bHVlUmVmLCBDcmVhdGVHZW5lcmljVmFsdWVPZkZsb2F0LCAoTExWTVR5cGVSZWYgVHksIGRvdWJs
ZSBOKSkgXAorICAgIG1hY3JvKHVuc2lnbmVkLCBHZW5lcmljVmFsdWVJbnRXaWR0aCwgKExMVk1H
ZW5lcmljVmFsdWVSZWYgR2VuVmFsUmVmKSkgXAorICAgIG1hY3JvKHVuc2lnbmVkIGxvbmcgbG9u
ZywgR2VuZXJpY1ZhbHVlVG9JbnQsIChMTFZNR2VuZXJpY1ZhbHVlUmVmIEdlblZhbCwgTExWTUJv
b2wgSXNTaWduZWQpKSBcCisgICAgbWFjcm8odm9pZCAqLCBHZW5lcmljVmFsdWVUb1BvaW50ZXIs
IChMTFZNR2VuZXJpY1ZhbHVlUmVmIEdlblZhbCkpIFwKKyAgICBtYWNybyhkb3VibGUsIEdlbmVy
aWNWYWx1ZVRvRmxvYXQsIChMTFZNVHlwZVJlZiBUeVJlZiwgTExWTUdlbmVyaWNWYWx1ZVJlZiBH
ZW5WYWwpKSBcCisgICAgbWFjcm8odm9pZCwgRGlzcG9zZUdlbmVyaWNWYWx1ZSwgKExMVk1HZW5l
cmljVmFsdWVSZWYgR2VuVmFsKSkgXAorICAgIG1hY3JvKExMVk1Cb29sLCBDcmVhdGVFeGVjdXRp
b25FbmdpbmVGb3JNb2R1bGUsIChMTFZNRXhlY3V0aW9uRW5naW5lUmVmICpPdXRFRSwgTExWTU1v
ZHVsZVJlZiBNLCBjaGFyICoqT3V0RXJyb3IpKSBcCisgICAgbWFjcm8oTExWTUJvb2wsIENyZWF0
ZUludGVycHJldGVyRm9yTW9kdWxlLCAoTExWTUV4ZWN1dGlvbkVuZ2luZVJlZiAqT3V0SW50ZXJw
LCBMTFZNTW9kdWxlUmVmIE0sIGNoYXIgKipPdXRFcnJvcikpIFwKKyAgICBtYWNybyhMTFZNQm9v
bCwgQ3JlYXRlSklUQ29tcGlsZXJGb3JNb2R1bGUsIChMTFZNRXhlY3V0aW9uRW5naW5lUmVmICpP
dXRKSVQsIExMVk1Nb2R1bGVSZWYgTSwgdW5zaWduZWQgT3B0TGV2ZWwsIGNoYXIgKipPdXRFcnJv
cikpIFwKKyAgICBtYWNybyh2b2lkLCBJbml0aWFsaXplTUNKSVRDb21waWxlck9wdGlvbnMsIChz
dHJ1Y3QgTExWTU1DSklUQ29tcGlsZXJPcHRpb25zICpPcHRpb25zLCBzaXplX3QgU2l6ZU9mT3B0
aW9ucykpIFwKKyAgICBtYWNybyhMTFZNQm9vbCwgQ3JlYXRlTUNKSVRDb21waWxlckZvck1vZHVs
ZSwgKExMVk1FeGVjdXRpb25FbmdpbmVSZWYgKk91dEpJVCwgTExWTU1vZHVsZVJlZiBNLCBzdHJ1
Y3QgTExWTU1DSklUQ29tcGlsZXJPcHRpb25zICpPcHRpb25zLCBzaXplX3QgU2l6ZU9mT3B0aW9u
cywgY2hhciAqKk91dEVycm9yKSkgXAorICAgIG1hY3JvKExMVk1Cb29sLCBDcmVhdGVFeGVjdXRp
b25FbmdpbmUsIChMTFZNRXhlY3V0aW9uRW5naW5lUmVmICpPdXRFRSwgTExWTU1vZHVsZVByb3Zp
ZGVyUmVmIE1QLCBjaGFyICoqT3V0RXJyb3IpKSBcCisgICAgbWFjcm8oTExWTUJvb2wsIENyZWF0
ZUludGVycHJldGVyLCAoTExWTUV4ZWN1dGlvbkVuZ2luZVJlZiAqT3V0SW50ZXJwLCBMTFZNTW9k
dWxlUHJvdmlkZXJSZWYgTVAsIGNoYXIgKipPdXRFcnJvcikpIFwKKyAgICBtYWNybyhMTFZNQm9v
bCwgQ3JlYXRlSklUQ29tcGlsZXIsIChMTFZNRXhlY3V0aW9uRW5naW5lUmVmICpPdXRKSVQsIExM
Vk1Nb2R1bGVQcm92aWRlclJlZiBNUCwgdW5zaWduZWQgT3B0TGV2ZWwsIGNoYXIgKipPdXRFcnJv
cikpIFwKKyAgICBtYWNybyh2b2lkLCBEaXNwb3NlRXhlY3V0aW9uRW5naW5lLCAoTExWTUV4ZWN1
dGlvbkVuZ2luZVJlZiBFRSkpIFwKKyAgICBtYWNybyh2b2lkLCBSdW5TdGF0aWNDb25zdHJ1Y3Rv
cnMsIChMTFZNRXhlY3V0aW9uRW5naW5lUmVmIEVFKSkgXAorICAgIG1hY3JvKHZvaWQsIFJ1blN0
YXRpY0Rlc3RydWN0b3JzLCAoTExWTUV4ZWN1dGlvbkVuZ2luZVJlZiBFRSkpIFwKKyAgICBtYWNy
byhpbnQsIFJ1bkZ1bmN0aW9uQXNNYWluLCAoTExWTUV4ZWN1dGlvbkVuZ2luZVJlZiBFRSwgTExW
TVZhbHVlUmVmIEYsIHVuc2lnbmVkIEFyZ0MsIGNvbnN0IGNoYXIgKiBjb25zdCAqQXJnViwgY29u
c3QgY2hhciAqIGNvbnN0ICpFbnZQKSkgXAorICAgIG1hY3JvKExMVk1HZW5lcmljVmFsdWVSZWYs
IFJ1bkZ1bmN0aW9uLCAoTExWTUV4ZWN1dGlvbkVuZ2luZVJlZiBFRSwgTExWTVZhbHVlUmVmIEYs
IHVuc2lnbmVkIE51bUFyZ3MsIExMVk1HZW5lcmljVmFsdWVSZWYgKkFyZ3MpKSBcCisgICAgbWFj
cm8odm9pZCwgRnJlZU1hY2hpbmVDb2RlRm9yRnVuY3Rpb24sIChMTFZNRXhlY3V0aW9uRW5naW5l
UmVmIEVFLCBMTFZNVmFsdWVSZWYgRikpIFwKKyAgICBtYWNybyh2b2lkLCBBZGRNb2R1bGUsIChM
TFZNRXhlY3V0aW9uRW5naW5lUmVmIEVFLCBMTFZNTW9kdWxlUmVmIE0pKSBcCisgICAgbWFjcm8o
dm9pZCwgQWRkTW9kdWxlUHJvdmlkZXIsIChMTFZNRXhlY3V0aW9uRW5naW5lUmVmIEVFLCBMTFZN
TW9kdWxlUHJvdmlkZXJSZWYgTVApKSBcCisgICAgbWFjcm8oTExWTUJvb2wsIFJlbW92ZU1vZHVs
ZSwgKExMVk1FeGVjdXRpb25FbmdpbmVSZWYgRUUsIExMVk1Nb2R1bGVSZWYgTSwgTExWTU1vZHVs
ZVJlZiAqT3V0TW9kLCBjaGFyICoqT3V0RXJyb3IpKSBcCisgICAgbWFjcm8oTExWTUJvb2wsIFJl
bW92ZU1vZHVsZVByb3ZpZGVyLCAoTExWTUV4ZWN1dGlvbkVuZ2luZVJlZiBFRSwgTExWTU1vZHVs
ZVByb3ZpZGVyUmVmIE1QLCBMTFZNTW9kdWxlUmVmICpPdXRNb2QsIGNoYXIgKipPdXRFcnJvcikp
IFwKKyAgICBtYWNybyhMTFZNQm9vbCwgRmluZEZ1bmN0aW9uLCAoTExWTUV4ZWN1dGlvbkVuZ2lu
ZVJlZiBFRSwgY29uc3QgY2hhciAqTmFtZSwgTExWTVZhbHVlUmVmICpPdXRGbikpIFwKKyAgICBt
YWNybyh2b2lkICosIFJlY29tcGlsZUFuZFJlbGlua0Z1bmN0aW9uLCAoTExWTUV4ZWN1dGlvbkVu
Z2luZVJlZiBFRSwgTExWTVZhbHVlUmVmIEZuKSkgXAorICAgIG1hY3JvKExMVk1UYXJnZXREYXRh
UmVmLCBHZXRFeGVjdXRpb25FbmdpbmVUYXJnZXREYXRhLCAoTExWTUV4ZWN1dGlvbkVuZ2luZVJl
ZiBFRSkpIFwKKyAgICBtYWNybyh2b2lkLCBBZGRHbG9iYWxNYXBwaW5nLCAoTExWTUV4ZWN1dGlv
bkVuZ2luZVJlZiBFRSwgTExWTVZhbHVlUmVmIEdsb2JhbCwgdm9pZCogQWRkcikpIFwKKyAgICBt
YWNybyh2b2lkICosIEdldFBvaW50ZXJUb0dsb2JhbCwgKExMVk1FeGVjdXRpb25FbmdpbmVSZWYg
RUUsIExMVk1WYWx1ZVJlZiBHbG9iYWwpKSBcCisgICAgbWFjcm8oTExWTU1DSklUTWVtb3J5TWFu
YWdlclJlZiwgQ3JlYXRlU2ltcGxlTUNKSVRNZW1vcnlNYW5hZ2VyLCAodm9pZCAqT3BhcXVlLCBM
TFZNTWVtb3J5TWFuYWdlckFsbG9jYXRlQ29kZVNlY3Rpb25DYWxsYmFjayBBbGxvY2F0ZUNvZGVT
ZWN0aW9uLCBMTFZNTWVtb3J5TWFuYWdlckFsbG9jYXRlRGF0YVNlY3Rpb25DYWxsYmFjayBBbGxv
Y2F0ZURhdGFTZWN0aW9uLCBMTFZNTWVtb3J5TWFuYWdlckZpbmFsaXplTWVtb3J5Q2FsbGJhY2sg
RmluYWxpemVNZW1vcnksIExMVk1NZW1vcnlNYW5hZ2VyRGVzdHJveUNhbGxiYWNrIERlc3Rvcnkp
KSBcCisgICAgbWFjcm8odm9pZCwgRGlzcG9zZU1DSklUTWVtb3J5TWFuYWdlciwgKExMVk1NQ0pJ
VE1lbW9yeU1hbmFnZXJSZWYgTU0pKSBcCisgICAgbWFjcm8oTExWTUJvb2wsIFZlcmlmeU1vZHVs
ZSwgKExMVk1Nb2R1bGVSZWYgTSwgTExWTVZlcmlmaWVyRmFpbHVyZUFjdGlvbiBBY3Rpb24sIGNo
YXIgKipPdXRNZXNzYWdlKSkgXAorICAgIG1hY3JvKExMVk1Cb29sLCBWZXJpZnlGdW5jdGlvbiwg
KExMVk1WYWx1ZVJlZiBGbiwgTExWTVZlcmlmaWVyRmFpbHVyZUFjdGlvbiBBY3Rpb24pKSBcCisg
ICAgbWFjcm8odm9pZCwgVmlld0Z1bmN0aW9uQ0ZHLCAoTExWTVZhbHVlUmVmIEZuKSkgXAorICAg
IG1hY3JvKHZvaWQsIFZpZXdGdW5jdGlvbkNGR09ubHksIChMTFZNVmFsdWVSZWYgRm4pKSBcCisg
ICAgbWFjcm8oTExWTURpc2FzbUNvbnRleHRSZWYsIENyZWF0ZURpc2FzbSwgKGNvbnN0IGNoYXIg
KlRyaXBsZU5hbWUsIHZvaWQgKkRpc0luZm8sIGludCBUYWdUeXBlLCBMTFZNT3BJbmZvQ2FsbGJh
Y2sgR2V0T3BJbmZvLCBMTFZNU3ltYm9sTG9va3VwQ2FsbGJhY2sgU3ltYm9sTG9va1VwKSkgXAor
ICAgIG1hY3JvKExMVk1EaXNhc21Db250ZXh0UmVmLCBDcmVhdGVEaXNhc21DUFUsIChjb25zdCBj
aGFyICpUcmlwbGUsIGNvbnN0IGNoYXIgKkNQVSwgdm9pZCAqRGlzSW5mbywgaW50IFRhZ1R5cGUs
IExMVk1PcEluZm9DYWxsYmFjayBHZXRPcEluZm8sIExMVk1TeW1ib2xMb29rdXBDYWxsYmFjayBT
eW1ib2xMb29rVXApKSBcCisgICAgbWFjcm8oaW50LCBTZXREaXNhc21PcHRpb25zLCAoTExWTURp
c2FzbUNvbnRleHRSZWYgREMsIHVpbnQ2NF90IE9wdGlvbnMpKSBcCisgICAgbWFjcm8odm9pZCwg
RGlzYXNtRGlzcG9zZSwgKExMVk1EaXNhc21Db250ZXh0UmVmIERDKSkgXAorICAgIG1hY3JvKHNp
emVfdCwgRGlzYXNtSW5zdHJ1Y3Rpb24sIChMTFZNRGlzYXNtQ29udGV4dFJlZiBEQywgdWludDhf
dCAqQnl0ZXMsIHVpbnQ2NF90IEJ5dGVzU2l6ZSwgdWludDY0X3QgUEMsIGNoYXIgKk91dFN0cmlu
Zywgc2l6ZV90IE91dFN0cmluZ1NpemUpKSBcCisgICAgbWFjcm8odW5zaWduZWQsIFBvaW50ZXJT
aXplRm9yQVMsIChMTFZNVGFyZ2V0RGF0YVJlZiwgdW5zaWduZWQgQVMpKSBcCisgICAgbWFjcm8o
TExWTVR5cGVSZWYsIEludFB0clR5cGVGb3JBUywgKExMVk1UYXJnZXREYXRhUmVmLCB1bnNpZ25l
ZCBBUykpIFwKKyAgICBtYWNybyhMTFZNUGFzc01hbmFnZXJCdWlsZGVyUmVmLCBQYXNzTWFuYWdl
ckJ1aWxkZXJDcmVhdGUsICh2b2lkKSkgXAorICAgIG1hY3JvKHZvaWQsIFBhc3NNYW5hZ2VyQnVp
bGRlckRpc3Bvc2UsIChMTFZNUGFzc01hbmFnZXJCdWlsZGVyUmVmIFBNQikpIFwKKyAgICBtYWNy
byh2b2lkLCBQYXNzTWFuYWdlckJ1aWxkZXJTZXRPcHRMZXZlbCwgKExMVk1QYXNzTWFuYWdlckJ1
aWxkZXJSZWYgUE1CLCB1bnNpZ25lZCBPcHRMZXZlbCkpIFwKKyAgICBtYWNybyh2b2lkLCBQYXNz
TWFuYWdlckJ1aWxkZXJTZXRTaXplTGV2ZWwsIChMTFZNUGFzc01hbmFnZXJCdWlsZGVyUmVmIFBN
QiwgdW5zaWduZWQgU2l6ZUxldmVsKSkgXAorICAgIG1hY3JvKHZvaWQsIFBhc3NNYW5hZ2VyQnVp
bGRlclNldERpc2FibGVVbml0QXRBVGltZSwgKExMVk1QYXNzTWFuYWdlckJ1aWxkZXJSZWYgUE1C
LCBMTFZNQm9vbCBWYWx1ZSkpIFwKKyAgICBtYWNybyh2b2lkLCBQYXNzTWFuYWdlckJ1aWxkZXJT
ZXREaXNhYmxlVW5yb2xsTG9vcHMsIChMTFZNUGFzc01hbmFnZXJCdWlsZGVyUmVmIFBNQiwgTExW
TUJvb2wgVmFsdWUpKSBcCisgICAgbWFjcm8odm9pZCwgUGFzc01hbmFnZXJCdWlsZGVyU2V0RGlz
YWJsZVNpbXBsaWZ5TGliQ2FsbHMsIChMTFZNUGFzc01hbmFnZXJCdWlsZGVyUmVmIFBNQiwgTExW
TUJvb2wgVmFsdWUpKSBcCisgICAgbWFjcm8odm9pZCwgUGFzc01hbmFnZXJCdWlsZGVyVXNlSW5s
aW5lcldpdGhUaHJlc2hvbGQsIChMTFZNUGFzc01hbmFnZXJCdWlsZGVyUmVmIFBNQiwgdW5zaWdu
ZWQgVGhyZXNob2xkKSkgXAorICAgIG1hY3JvKHZvaWQsIFBhc3NNYW5hZ2VyQnVpbGRlclBvcHVs
YXRlRnVuY3Rpb25QYXNzTWFuYWdlciwgKExMVk1QYXNzTWFuYWdlckJ1aWxkZXJSZWYgUE1CLCBM
TFZNUGFzc01hbmFnZXJSZWYgUE0pKSBcCisgICAgbWFjcm8odm9pZCwgUGFzc01hbmFnZXJCdWls
ZGVyUG9wdWxhdGVNb2R1bGVQYXNzTWFuYWdlciwgKExMVk1QYXNzTWFuYWdlckJ1aWxkZXJSZWYg
UE1CLCBMTFZNUGFzc01hbmFnZXJSZWYgUE0pKSBcCisgICAgbWFjcm8odm9pZCwgUGFzc01hbmFn
ZXJCdWlsZGVyUG9wdWxhdGVMVE9QYXNzTWFuYWdlciwgKExMVk1QYXNzTWFuYWdlckJ1aWxkZXJS
ZWYgUE1CLCBMTFZNUGFzc01hbmFnZXJSZWYgUE0sIExMVk1Cb29sIEludGVybmFsaXplLCBMTFZN
Qm9vbCBSdW5JbmxpbmVyKSkgXAorICAgIG1hY3JvKHZvaWQsIEFkZEFnZ3Jlc3NpdmVEQ0VQYXNz
LCAoTExWTVBhc3NNYW5hZ2VyUmVmIFBNKSkgXAorICAgIG1hY3JvKHZvaWQsIEFkZENGR1NpbXBs
aWZpY2F0aW9uUGFzcywgKExMVk1QYXNzTWFuYWdlclJlZiBQTSkpIFwKKyAgICBtYWNybyh2b2lk
LCBBZGREZWFkU3RvcmVFbGltaW5hdGlvblBhc3MsIChMTFZNUGFzc01hbmFnZXJSZWYgUE0pKSBc
CisgICAgbWFjcm8odm9pZCwgQWRkR1ZOUGFzcywgKExMVk1QYXNzTWFuYWdlclJlZiBQTSkpIFwK
KyAgICBtYWNybyh2b2lkLCBBZGRJbmRWYXJTaW1wbGlmeVBhc3MsIChMTFZNUGFzc01hbmFnZXJS
ZWYgUE0pKSBcCisgICAgbWFjcm8odm9pZCwgQWRkSW5zdHJ1Y3Rpb25Db21iaW5pbmdQYXNzLCAo
TExWTVBhc3NNYW5hZ2VyUmVmIFBNKSkgXAorICAgIG1hY3JvKHZvaWQsIEFkZEp1bXBUaHJlYWRp
bmdQYXNzLCAoTExWTVBhc3NNYW5hZ2VyUmVmIFBNKSkgXAorICAgIG1hY3JvKHZvaWQsIEFkZExJ
Q01QYXNzLCAoTExWTVBhc3NNYW5hZ2VyUmVmIFBNKSkgXAorICAgIG1hY3JvKHZvaWQsIEFkZExv
b3BEZWxldGlvblBhc3MsIChMTFZNUGFzc01hbmFnZXJSZWYgUE0pKSBcCisgICAgbWFjcm8odm9p
ZCwgQWRkTG9vcElkaW9tUGFzcywgKExMVk1QYXNzTWFuYWdlclJlZiBQTSkpIFwKKyAgICBtYWNy
byh2b2lkLCBBZGRMb29wUm90YXRlUGFzcywgKExMVk1QYXNzTWFuYWdlclJlZiBQTSkpIFwKKyAg
ICBtYWNybyh2b2lkLCBBZGRMb29wVW5yb2xsUGFzcywgKExMVk1QYXNzTWFuYWdlclJlZiBQTSkp
IFwKKyAgICBtYWNybyh2b2lkLCBBZGRMb29wVW5zd2l0Y2hQYXNzLCAoTExWTVBhc3NNYW5hZ2Vy
UmVmIFBNKSkgXAorICAgIG1hY3JvKHZvaWQsIEFkZE1lbUNweU9wdFBhc3MsIChMTFZNUGFzc01h
bmFnZXJSZWYgUE0pKSBcCisgICAgbWFjcm8odm9pZCwgQWRkUGFydGlhbGx5SW5saW5lTGliQ2Fs
bHNQYXNzLCAoTExWTVBhc3NNYW5hZ2VyUmVmIFBNKSkgXAorICAgIG1hY3JvKHZvaWQsIEFkZFBy
b21vdGVNZW1vcnlUb1JlZ2lzdGVyUGFzcywgKExMVk1QYXNzTWFuYWdlclJlZiBQTSkpIFwKKyAg
ICBtYWNybyh2b2lkLCBBZGRSZWFzc29jaWF0ZVBhc3MsIChMTFZNUGFzc01hbmFnZXJSZWYgUE0p
KSBcCisgICAgbWFjcm8odm9pZCwgQWRkU0NDUFBhc3MsIChMTFZNUGFzc01hbmFnZXJSZWYgUE0p
KSBcCisgICAgbWFjcm8odm9pZCwgQWRkU2NhbGFyUmVwbEFnZ3JlZ2F0ZXNQYXNzLCAoTExWTVBh
c3NNYW5hZ2VyUmVmIFBNKSkgXAorICAgIG1hY3JvKHZvaWQsIEFkZFNjYWxhclJlcGxBZ2dyZWdh
dGVzUGFzc1NTQSwgKExMVk1QYXNzTWFuYWdlclJlZiBQTSkpIFwKKyAgICBtYWNybyh2b2lkLCBB
ZGRTY2FsYXJSZXBsQWdncmVnYXRlc1Bhc3NXaXRoVGhyZXNob2xkLCAoTExWTVBhc3NNYW5hZ2Vy
UmVmIFBNLCBpbnQgVGhyZXNob2xkKSkgXAorICAgIG1hY3JvKHZvaWQsIEFkZFNpbXBsaWZ5TGli
Q2FsbHNQYXNzLCAoTExWTVBhc3NNYW5hZ2VyUmVmIFBNKSkgXAorICAgIG1hY3JvKHZvaWQsIEFk
ZFRhaWxDYWxsRWxpbWluYXRpb25QYXNzLCAoTExWTVBhc3NNYW5hZ2VyUmVmIFBNKSkgXAorICAg
IG1hY3JvKHZvaWQsIEFkZENvbnN0YW50UHJvcGFnYXRpb25QYXNzLCAoTExWTVBhc3NNYW5hZ2Vy
UmVmIFBNKSkgXAorICAgIG1hY3JvKHZvaWQsIEFkZERlbW90ZU1lbW9yeVRvUmVnaXN0ZXJQYXNz
LCAoTExWTVBhc3NNYW5hZ2VyUmVmIFBNKSkgXAorICAgIG1hY3JvKHZvaWQsIEFkZFZlcmlmaWVy
UGFzcywgKExMVk1QYXNzTWFuYWdlclJlZiBQTSkpIFwKKyAgICBtYWNybyh2b2lkLCBBZGRDb3Jy
ZWxhdGVkVmFsdWVQcm9wYWdhdGlvblBhc3MsIChMTFZNUGFzc01hbmFnZXJSZWYgUE0pKSBcCisg
ICAgbWFjcm8odm9pZCwgQWRkRWFybHlDU0VQYXNzLCAoTExWTVBhc3NNYW5hZ2VyUmVmIFBNKSkg
XAorICAgIG1hY3JvKHZvaWQsIEFkZExvd2VyRXhwZWN0SW50cmluc2ljUGFzcywgKExMVk1QYXNz
TWFuYWdlclJlZiBQTSkpIFwKKyAgICBtYWNybyh2b2lkLCBBZGRUeXBlQmFzZWRBbGlhc0FuYWx5
c2lzUGFzcywgKExMVk1QYXNzTWFuYWdlclJlZiBQTSkpIFwKKyAgICBtYWNybyh2b2lkLCBBZGRC
YXNpY0FsaWFzQW5hbHlzaXNQYXNzLCAoTExWTVBhc3NNYW5hZ2VyUmVmIFBNKSkKKworI2VuZGlm
IC8vIExMVk1BUElGdW5jdGlvbnNfaAorCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvbGx2
bS9MTFZNSGVhZGVycy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbHZt
L0xMVk1IZWFkZXJzLmgJKHJldmlzaW9uIDApCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvbGx2
bS9MTFZNSGVhZGVycy5oCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNjQgQEAKKy8qCisgKiBD
b3B5cmlnaHQgKEMpIDIwMTMgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9u
LgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElT
JycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9S
UyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFM
LAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAq
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisgKi8KKworI2lmbmRlZiBMTFZNSGVhZGVy
c19oCisjZGVmaW5lIExMVk1IZWFkZXJzX2gKKworI2lmIEhBVkUoTExWTSkKKworLy8gSXQgaXMg
bmVjZXNzYXJ5IHRvIGluY2x1ZGUgTExWTSBoZWFkZXJzIHZpYSB0aGlzIGZpbGUsIGJlY2F1c2U6
CisvLyAtIExMVk0gcmVxdWlyZXMgZGVmaW5pbmcgdGhpbmdzIHRoYXQgd2UgZG9uJ3Qgbm9ybWFs
bHkgZGVmaW5lLCBhbmQKKy8vIC0gTExWTSBpbmNsdWRlcyBpdHMgQysrIGhlYWRlcnMgZnJvbSBp
dHMgQyBoZWFkZXJzLCBhbmQgaXRzIEMrKworLy8gICBoZWFkZXJzIGRvbid0IGNvbXBpbGUgY2xl
YW5seSB3aXRoIG91ciB3YXJuaW5ncy4KKworI2RlZmluZSBfX1NURENfTElNSVRfTUFDUk9TCisj
ZGVmaW5lIF9fU1REQ19DT05TVEFOVF9NQUNST1MKKworI2lmIENPTVBJTEVSKENMQU5HKQorI3By
YWdtYSBjbGFuZyBkaWFnbm9zdGljIHB1c2gKKyNwcmFnbWEgY2xhbmcgZGlhZ25vc3RpYyBpZ25v
cmVkICItV21pc3Npbmctbm9yZXR1cm4iCisjcHJhZ21hIGNsYW5nIGRpYWdub3N0aWMgaWdub3Jl
ZCAiLVd1bnVzZWQtcGFyYW1ldGVyIgorI2VuZGlmIC8vIENPTVBJTEVSKENMQU5HKQorCisjaW5j
bHVkZSA8bGx2bS1jL0FuYWx5c2lzLmg+CisjaW5jbHVkZSA8bGx2bS1jL0NvcmUuaD4KKyNpbmNs
dWRlIDxsbHZtLWMvRGlzYXNzZW1ibGVyLmg+CisjaW5jbHVkZSA8bGx2bS1jL0V4ZWN1dGlvbkVu
Z2luZS5oPgorI2luY2x1ZGUgPGxsdm0tYy9UYXJnZXQuaD4KKyNpbmNsdWRlIDxsbHZtLWMvVHJh
bnNmb3Jtcy9QYXNzTWFuYWdlckJ1aWxkZXIuaD4KKyNpbmNsdWRlIDxsbHZtLWMvVHJhbnNmb3Jt
cy9TY2FsYXIuaD4KKworI2lmIENPTVBJTEVSKENMQU5HKQorI3ByYWdtYSBjbGFuZyBkaWFnbm9z
dGljIHBvcAorI2VuZGlmIC8vIENPTVBJTEVSKENMQU5HKQorCisjdW5kZWYgX19TVERDX0xJTUlU
X01BQ1JPUworI3VuZGVmIF9fU1REQ19DT05TVEFOVF9NQUNST1MKKworI2VuZGlmIC8vIEhBVkUo
TExWTSkKKworI2VuZGlmIC8vIExMVk1IZWFkZXJzX2gKKworCkluZGV4OiBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGx2bS9saWJyYXJ5L0xMVk1BbmNob3IuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbHZtL2xpYnJhcnkvTExWTUFuY2hvci5jcHAJKHJldmlzaW9uIDAp
CisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvbGx2bS9saWJyYXJ5L0xMVk1BbmNob3IuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMzUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTMg
QXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVW
RU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBP
UiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAor
ICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4g
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICog
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4gCisgKi8KKworI2luY2x1ZGUgImNvbmZpZ19sbHZtLmgiCisKKyNpZiBIQVZF
KExMVk0pCisKKy8vIFRoaXMgaXMgYSBoYWNrIGZvciBlbnN1cmluZyB0aGF0IHRoZSBidWlsZCBz
eXN0ZW0gcmVsaW5rcyBKYXZhU2NyaXB0Q29yZSBpZiBhbnkKKy8vIG9mIHRoZSBMTFZNIGxpYnJh
cmllcyBhcmUga25vd24gdG8gaGF2ZSBjaGFuZ2VkLgorI2luY2x1ZGUgIldlYktpdExMVk1MaWJy
YXJ5VG9rZW4uaCIKKworI2VuZGlmIC8vIEhBVkUoTExWTSkKKwpJbmRleDogU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsdm0vbGlicmFyeS9MTFZNRXhwb3J0cy5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsdm0vbGlicmFyeS9MTFZNRXhwb3J0cy5jcHAJKHJldmlzaW9u
IDApCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvbGx2bS9saWJyYXJ5L0xMVk1FeHBvcnRzLmNw
cAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDUxIEBACisvKgorICogQ29weXJpZ2h0IChDKSAy
MDEzIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAq
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBO
TyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFS
WSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UK
KyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuIAorICovCisKKyNpbmNsdWRlICJjb25maWdfbGx2bS5oIgorCisjaWYg
SEFWRShMTFZNKQorCisjaW5jbHVkZSAiTExWTUFQSS5oIgorCitleHRlcm4gIkMiIFdURl9FWFBP
UlRfUFJJVkFURSBKU0M6OkxMVk1BUEkqIGluaXRpYWxpemVBbmRHZXRKU0NMTFZNQVBJKCk7CisK
K2V4dGVybiAiQyIgSlNDOjpMTFZNQVBJKiBpbml0aWFsaXplQW5kR2V0SlNDTExWTUFQSSgpCit7
CisgICAgTExWTUxpbmtJbk1DSklUKCk7CisgICAgTExWTUluaXRpYWxpemVOYXRpdmVUYXJnZXQo
KTsKKyAgICBMTFZNSW5pdGlhbGl6ZVg4NkFzbVByaW50ZXIoKTsKKyAgICBMTFZNSW5pdGlhbGl6
ZVg4NkRpc2Fzc2VtYmxlcigpOworICAgIAorICAgIEpTQzo6TExWTUFQSSogcmVzdWx0ID0gbmV3
IEpTQzo6TExWTUFQSTsKKyAgICAKKyNkZWZpbmUgTExWTV9BUElfRlVOQ1RJT05fQVNTSUdOTUVO
VChyZXR1cm5UeXBlLCBuYW1lLCBzaWduYXR1cmUpIFwKKyAgICByZXN1bHQtPm5hbWUgPSBMTFZN
IyNuYW1lOworICAgIEZPUl9FQUNIX0xMVk1fQVBJX0ZVTkNUSU9OKExMVk1fQVBJX0ZVTkNUSU9O
X0FTU0lHTk1FTlQpOworI3VuZGVmIExMVk1fQVBJX0ZVTkNUSU9OX0FTU0lHTk1FTlQKKyAgICAK
KyAgICByZXR1cm4gcmVzdWx0OworfQorCisjZW5kaWYgLy8gSEFWRShMTFZNKQpJbmRleDogU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsdm0vbGlicmFyeS9MTFZNT3ZlcnJpZGVzLmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvbGx2bS9saWJyYXJ5L0xMVk1PdmVycmlkZXMu
Y3BwCShyZXZpc2lvbiAwKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2xsdm0vbGlicmFyeS9M
TFZNT3ZlcnJpZGVzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDMzIEBACisvKgorICog
Q29weXJpZ2h0IChDKSAyMDEzIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisg
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlv
bi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJ
UycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRP
UlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1Mg
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisg
KiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorICovCisKKyNpbmNsdWRlICJjb25maWdf
bGx2bS5oIgorCisjaWYgSEFWRShMTFZNKQorCitleHRlcm4gIkMiIGludCBfX2N4YV9hdGV4aXQo
KTsKK2V4dGVybiAiQyIgaW50IF9fY3hhX2F0ZXhpdCgpIHsgcmV0dXJuIDA7IH0KKworI2VuZGlm
IC8vIEhBVkUoTExWTSkKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbHZtL2xpYnJhcnkv
Y29uZmlnX2xsdm0uaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvbGx2bS9s
aWJyYXJ5L2NvbmZpZ19sbHZtLmgJKHJldmlzaW9uIDApCisrKyBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGx2bS9saWJyYXJ5L2NvbmZpZ19sbHZtLmgJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwy
OCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAx
LiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAq
ICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBM
RSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgor
ICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7
IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVP
UlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKyAqLworCisjaW5j
bHVkZSA8d3RmL1BsYXRmb3JtLmg+CisjaW5jbHVkZSA8d3RmL0V4cG9ydE1hY3Jvcy5oPgorCklu
ZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Jbml0aWFsaXplVGhyZWFkaW5nLmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Jbml0aWFsaXpl
VGhyZWFkaW5nLmNwcAkocmV2aXNpb24gMTU3MjA0KQorKysgU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvSW5pdGlhbGl6ZVRocmVhZGluZy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM0LDEz
ICszNCwxMyBAQAogI2luY2x1ZGUgIkhlYXBTdGF0aXN0aWNzLmgiCiAjaW5jbHVkZSAiT3B0aW9u
cy5oIgogI2luY2x1ZGUgIklkZW50aWZpZXIuaCIKKyNpbmNsdWRlICJJbml0aWFsaXplTExWTS5o
IgogI2luY2x1ZGUgIkpTRGF0ZU1hdGguaCIKICNpbmNsdWRlICJKU0dsb2JhbE9iamVjdC5oIgog
I2luY2x1ZGUgIkpTTG9jay5oIgogI2luY2x1ZGUgIkxMSW50RGF0YS5oIgogI2luY2x1ZGUgIldy
aXRlQmFycmllci5oIgogI2luY2x1ZGUgPHd0Zi9kdG9hLmg+Ci0jaW5jbHVkZSA8d3RmL0xMVk1I
ZWFkZXJzLmg+CiAjaW5jbHVkZSA8d3RmL1RocmVhZGluZy5oPgogI2luY2x1ZGUgPHd0Zi9kdG9h
L2NhY2hlZC1wb3dlcnMuaD4KIApAQCAtNzAsMjQgKzcwLDYgQEAgc3RhdGljIHZvaWQgaW5pdGlh
bGl6ZVRocmVhZGluZ09uY2UoKQogI2lmIEVOQUJMRShMTElOVCkKICAgICBMTEludDo6aW5pdGlh
bGl6ZSgpOwogI2VuZGlmCi0jaWYgSEFWRShMTFZNKQotICAgIGJvb2wgZnRsID0gZmFsc2U7Ci0g
ICAgYm9vbCBkaXNhc3NlbWJsZXIgPSBmYWxzZTsKLSNpZiBFTkFCTEUoRlRMX0pJVCkKLSAgICBm
dGwgPSB0cnVlOwotI2VuZGlmCi0jaWYgVVNFKExMVk1fRElTQVNTRU1CTEVSKQotICAgIGRpc2Fz
c2VtYmxlciA9IHRydWU7Ci0jZW5kaWYKLSAgICBpZiAoZnRsKQotICAgICAgICBMTFZNTGlua0lu
TUNKSVQoKTsKLSAgICBpZiAoZnRsIHx8IGRpc2Fzc2VtYmxlcikKLSAgICAgICAgTExWTUluaXRp
YWxpemVOYXRpdmVUYXJnZXQoKTsKLSAgICBpZiAoZnRsKQotICAgICAgICBMTFZNSW5pdGlhbGl6
ZVg4NkFzbVByaW50ZXIoKTsKLSAgICBpZiAoZGlzYXNzZW1ibGVyKQotICAgICAgICBMTFZNSW5p
dGlhbGl6ZVg4NkRpc2Fzc2VtYmxlcigpOwotI2VuZGlmIC8vIEhBVkUoTExWTSkKIH0KIAogdm9p
ZCBpbml0aWFsaXplVGhyZWFkaW5nKCkKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL09wdGlvbnMuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9PcHRpb25zLmgJKHJldmlzaW9uIDE1NzIwNCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL09wdGlvbnMuaAkod29ya2luZyBjb3B5KQpAQCAtMjA1LDkgKzIwNSw3IEBAIHR5cGVk
ZWYgT3B0aW9uUmFuZ2Ugb3B0aW9uUmFuZ2U7CiAgICAgdihib29sLCBsb2dHQywgZmFsc2UpIFwK
ICAgICB2KHVuc2lnbmVkLCBnY01heEhlYXBTaXplLCAwKSBcCiAgICAgdihib29sLCByZWNvcmRH
Q1BhdXNlVGltZXMsIGZhbHNlKSBcCi0gICAgdihib29sLCBsb2dIZWFwU3RhdGlzdGljc0F0RXhp
dCwgZmFsc2UpIFwKLSAgICBcCi0gICAgdihib29sLCBuZXZlckRlbGV0ZVZNSW5Db21tYW5kTGlu
ZSwgZmFsc2UpCisgICAgdihib29sLCBsb2dIZWFwU3RhdGlzdGljc0F0RXhpdCwgZmFsc2UpCiAK
IGNsYXNzIE9wdGlvbnMgewogcHVibGljOgpJbmRleDogU291cmNlL1dURi9DaGFuZ2VMb2cKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dURi9DaGFuZ2VMb2cJKHJldmlzaW9uIDE1NzIwNCkKKysrIFNv
dXJjZS9XVEYvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjAgQEAKKzIwMTMt
MTAtMDkgIEZpbGlwIFBpemxvICA8ZnBpemxvQGFwcGxlLmNvbT4KKworICAgICAgICBGVEw6IFNv
ZnQtbGluayBMTFZNIGFzIGEgd29ya2Fyb3VuZCBmb3IgTExWTSdzIHN0YXRpYyBpbml0aWFsaXpl
cnMgYW5kIGV4aXQtdGltZSBkZXN0cnVjdG9ycworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTIyNTY2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisgICAgICAgIAorICAgICAgICBSZW1vdmUgYWxsIExMVk0gc3R1ZmYgZnJvbSBX
VEYgc2luY2UgdG8gZ2V0IExMVk0geW91IG5lZWQgdG8gc29mdC1saW5rIGFuZCBpdCdzCisgICAg
ICAgIGVudGlyZWx5IHRoZSByZXNwb25zaWJpbGl0eSBvZiBKU0MgdG8gZG8gdGhhdC4KKyAgICAg
ICAgCisgICAgICAgIEFsc28gZml4ZWQgYW4gZXhwb3J0IGdvb2YgdGhhdCBJIGZvdW5kIGFmdGVy
IGZpeGluZyB0aGUgd2VhayB0aGluZ3kgc2NyaXB0IGluIEpTQy4KKworICAgICAgICAqIFdURi54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIHd0Zi9MTFZNSGVhZGVycy5oOiBS
ZW1vdmVkLgorICAgICAgICAqIHd0Zi90ZXh0L0NTdHJpbmcuaDoKKyAgICAgICAgKFdURjo6Q1N0
cmluZ0hhc2g6Omhhc2gpOgorCiAyMDEzLTEwLTA5ICBNaWNoYWVsIFNhYm9mZiAgPG1zYWJvZmZA
YXBwbGUuY29tPgogCiAgICAgICAgIENoYW5nZSB0byBzdGQ6OnVuaXF1ZV9wdHIgYnJlYWtzIHd0
Zi9EYXRhTG9nLmNwcCB3aGVuIERBVEFfTE9HX1RPX0ZJTEUgc2V0IHRvIDEKSW5kZXg6IFNvdXJj
ZS9XVEYvV1RGLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dURi9XVEYueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkocmV2aXNpb24gMTU3MjA0KQorKysg
U291cmNlL1dURi9XVEYueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkod29ya2luZyBjb3B5KQpA
QCAtMzMwLDcgKzMzMCw2IEBACiAJCTlCRDhGNDBBMTc2QzJBRDgwMDAyRDg2NSAvKiBBdG9taWNT
dHJpbmdUYWJsZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBBdG9taWNTdHJpbmdUYWJsZS5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQlBNzBEQTA4MjE3OTlGMDREMDA1MjlBOUIgLyogSW5zZXJ0
aW9uLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEluc2VydGlvbi5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBNzBEQTA4MzE3OTlGMDREMDA1MjlBOUIgLyogTGlz
dER1bXAuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTGlzdER1bXAuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJQTczNkIzNTgxNzk5RTExQTAwQzZGMDVFIC8qIExM
Vk1IZWFkZXJzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IExMVk1IZWFkZXJzLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCUE3NDg3NDRGMTdBMEJEQUUwMEZBMDRDQiAvKiBTaXhDaGFyYWN0ZXJI
YXNoLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFNpeENoYXJhY3Rl
ckhhc2guY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBNzQ4NzQ1MDE3QTBCREFF
MDBGQTA0Q0IgLyogU2l4Q2hhcmFjdGVySGFzaC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBTaXhDaGFyYWN0ZXJIYXNoLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CUE3NDg3NDUxMTdBMEJEQUUwMEZBMDRDQiAvKiBTdHJpbmdIYXNoRHVtcENvbnRleHQuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU3RyaW5nSGFzaER1bXBDb250ZXh0Lmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC02NzIsNyArNjcxLDYgQEAKIAkJCQlBNzBEQTA4
MjE3OTlGMDREMDA1MjlBOUIgLyogSW5zZXJ0aW9uLmggKi8sCiAJCQkJQTcwREEwODMxNzk5RjA0
RDAwNTI5QTlCIC8qIExpc3REdW1wLmggKi8sCiAJCQkJQThBNDcyQzExNTFBODI1QTAwNDEyM0ZG
IC8qIExpc3RIYXNoU2V0LmggKi8sCi0JCQkJQTczNkIzNTgxNzk5RTExQTAwQzZGMDVFIC8qIExM
Vk1IZWFkZXJzLmggKi8sCiAJCQkJQThBNDcyQzMxNTFBODI1QTAwNDEyM0ZGIC8qIExvY2tlci5o
ICovLAogCQkJCUE4QTQ3MkNBMTUxQTgyNUIwMDQxMjNGRiAvKiBNRDUuY3BwICovLAogCQkJCUE4
QTQ3MkNCMTUxQTgyNUIwMDQxMjNGRiAvKiBNRDUuaCAqLywKSW5kZXg6IFNvdXJjZS9XVEYvd3Rm
L0xMVk1IZWFkZXJzLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dURi93dGYvTExWTUhlYWRlcnMu
aAkocmV2aXNpb24gMTU3MjA0KQorKysgU291cmNlL1dURi93dGYvTExWTUhlYWRlcnMuaAkod29y
a2luZyBjb3B5KQpAQCAtMSw2MiArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDEzIEFw
cGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKLSAqIEVYUFJF
U1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywg
VEhFCi0gKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
IEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVO
VCBTSEFMTCBBUFBMRSBJTkMuIE9SCi0gKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkg
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKLSAqIEVYRU1QTEFSWSwgT1Ig
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAq
IFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNF
LCBEQVRBLCBPUgotICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQotICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuIAotICovCi0KLSNpZm5kZWYgTExWTUhlYWRlcnNfaAotI2RlZmluZSBMTFZNSGVh
ZGVyc19oCi0KLSNpbmNsdWRlIDx3dGYvUGxhdGZvcm0uaD4KLQotI2lmIEhBVkUoTExWTSkKLQot
Ly8gSXQgaXMgbmVjZXNzYXJ5IHRvIGluY2x1ZGUgTExWTSBoZWFkZXJzIHZpYSB0aGlzIGZpbGUs
IGJlY2F1c2U6Ci0vLyAtIExMVk0gcmVxdWlyZXMgZGVmaW5pbmcgdGhpbmdzIHRoYXQgd2UgZG9u
J3Qgbm9ybWFsbHkgZGVmaW5lLCBhbmQKLS8vIC0gTExWTSBpbmNsdWRlcyBpdHMgQysrIGhlYWRl
cnMgZnJvbSBpdHMgQyBoZWFkZXJzLCBhbmQgaXRzIEMrKwotLy8gICBoZWFkZXJzIGRvbid0IGNv
bXBpbGUgY2xlYW5seSB3aXRoIG91ciB3YXJuaW5ncy4KLQotI3VuZGVmIF9fU1REQ19MSU1JVF9N
QUNST1MKLSN1bmRlZiBfX1NURENfQ09OU1RBTlRfTUFDUk9TCi0jZGVmaW5lIF9fU1REQ19MSU1J
VF9NQUNST1MKLSNkZWZpbmUgX19TVERDX0NPTlNUQU5UX01BQ1JPUwotCi0jaWYgQ09NUElMRVIo
Q0xBTkcpCi0jcHJhZ21hIGNsYW5nIGRpYWdub3N0aWMgcHVzaAotI3ByYWdtYSBjbGFuZyBkaWFn
bm9zdGljIGlnbm9yZWQgIi1XbWlzc2luZy1ub3JldHVybiIKLSNwcmFnbWEgY2xhbmcgZGlhZ25v
c3RpYyBpZ25vcmVkICItV3VudXNlZC1wYXJhbWV0ZXIiCi0jZW5kaWYKLQotI2luY2x1ZGUgPGxs
dm0tYy9BbmFseXNpcy5oPgotI2luY2x1ZGUgPGxsdm0tYy9Db3JlLmg+Ci0jaW5jbHVkZSA8bGx2
bS1jL0Rpc2Fzc2VtYmxlci5oPgotI2luY2x1ZGUgPGxsdm0tYy9FeGVjdXRpb25FbmdpbmUuaD4K
LSNpbmNsdWRlIDxsbHZtLWMvVGFyZ2V0Lmg+Ci0jaW5jbHVkZSA8bGx2bS1jL1RyYW5zZm9ybXMv
UGFzc01hbmFnZXJCdWlsZGVyLmg+Ci0KLSNpZiBDT01QSUxFUihDTEFORykKLSNwcmFnbWEgY2xh
bmcgZGlhZ25vc3RpYyBwb3AKLSNlbmRpZgotCi0jZW5kaWYgLy8gSEFWRShMTFZNKQotCi0jZW5k
aWYgLy8gTExWTUhlYWRlcnNfaApJbmRleDogU291cmNlL1dURi93dGYvdGV4dC9DU3RyaW5nLmgK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dURi93dGYvdGV4dC9DU3RyaW5nLmgJKHJldmlzaW9uIDE1
NzIwNCkKKysrIFNvdXJjZS9XVEYvd3RmL3RleHQvQ1N0cmluZy5oCSh3b3JraW5nIGNvcHkpCkBA
IC05NCw3ICs5NCw3IEBAIGlubGluZSBib29sIG9wZXJhdG9yIT0oY29uc3QgQ1N0cmluZyYgYSwK
IGJvb2wgb3BlcmF0b3I8KGNvbnN0IENTdHJpbmcmIGEsIGNvbnN0IENTdHJpbmcmIGIpOwogCiBz
dHJ1Y3QgQ1N0cmluZ0hhc2ggewotICAgIFdURl9FWFBPUlRfUFJJVkFURSBzdGF0aWMgdW5zaWdu
ZWQgaGFzaChjb25zdCBDU3RyaW5nJiBzdHJpbmcpIHsgcmV0dXJuIHN0cmluZy5oYXNoKCk7IH0K
KyAgICBzdGF0aWMgdW5zaWduZWQgaGFzaChjb25zdCBDU3RyaW5nJiBzdHJpbmcpIHsgcmV0dXJu
IHN0cmluZy5oYXNoKCk7IH0KICAgICBXVEZfRVhQT1JUX1BSSVZBVEUgc3RhdGljIGJvb2wgZXF1
YWwoY29uc3QgQ1N0cmluZyYgYSwgY29uc3QgQ1N0cmluZyYgYik7CiAgICAgc3RhdGljIGNvbnN0
IGJvb2wgc2FmZVRvQ29tcGFyZVRvRW1wdHlPckRlbGV0ZWQgPSB0cnVlOwogfTsK
</data>
<flag name="commit-queue"
          id="236278"
          type_id="3"
          status="-"
          setter="buildbot"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>213887</attachid>
            <date>2013-10-10 08:38:54 -0700</date>
            <delta_ts>2013-10-10 12:24:44 -0700</delta_ts>
            <desc>the patch</desc>
            <filename>blah.patch</filename>
            <type>text/plain</type>
            <size>159181</size>
            <attacher name="Filip Pizlo">fpizlo</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTU3MjA1KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE1MCBA
QAorMjAxMy0xMC0wOSAgRmlsaXAgUGl6bG8gIDxmcGl6bG9AYXBwbGUuY29tPgorCisgICAgICAg
IEZUTDogU29mdC1saW5rIExMVk0gYXMgYSB3b3JrYXJvdW5kIGZvciBMTFZNJ3Mgc3RhdGljIGlu
aXRpYWxpemVycyBhbmQgZXhpdC10aW1lIGRlc3RydWN0b3JzCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjI1NjYKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKyAgICAgICAgCisgICAgICAgIFRoZSBKU0MgcHJvamVjdCBub3cg
YnVpbGRzIGEgbGlibGx2bUZvckpTQy5keWxpYi4gSWYgRlRMIGlzIGVuYWJsZWQsIHRoaXMKKyAg
ICAgICAgZ2V0cyBjb3BpZWQgaW50byBKYXZhU2NyaXB0Q29yZS5mcmFtZXdvcmsvVmVyc2lvbnMv
QS9MaWJyYXJpZXMuIEpTQyB3aWxsCisgICAgICAgIGxvYWQgdGhlIGR5bGliIGJ5IGZpbmRpbmcg
aXQgdXNpbmcgTlNCdW5kbGUgQVBJcyBhbmQgdGhlbiBkb2luZyBkbG9wZW4oKS4KKyAgICAgICAg
VGhhdCB3aWxsIG9ubHkgaGFwcGVuIGxhemlseSwgd2hlbiBzb21ldGhpbmcgaGFwcGVucyB0aGF0
IHJlcXVpcmVzIExMVk0uCisgICAgICAgIAorICAgICAgICBUaGlzIG1vc3RseSB0YWtlcyBjYXJl
IG9mIExMVk0gc3RhdGljIGluaXRpYWxpemF0aW9uIG92ZXJoZWFkIGJ5IGRlZmVycmluZworICAg
ICAgICBpdCB1bnRpbCBpdCdzIHJlYWxseSBuZWVkZWQuCisgICAgICAgIAorICAgICAgICBUaGlz
IHRha2VzIGNhcmUgb2YgTExWTSdzIGV4aXQtdGltZSBkZXN0cnVjdG9ycyBiZWNhdXNlIGluc2lk
ZQorICAgICAgICBsaWJsbHZtRm9ySlNDLmR5bGliLCB3ZSBvdmVycmlkZSBfX2N4YV9hdGV4aXQu
CisgICAgICAgIAorICAgICAgICAqIENvbmZpZ3VyYXRpb25zL0phdmFTY3JpcHRDb3JlLnhjY29u
ZmlnOgorICAgICAgICAqIENvbmZpZ3VyYXRpb25zL0xMVk1Gb3JKU0MueGNjb25maWc6IEFkZGVk
LgorICAgICAgICAqIEphdmFTY3JpcHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6Cisg
ICAgICAgICogZGZnL0RGR1BsYW4uY3BwOgorICAgICAgICAoSlNDOjpERkc6OlBsYW46OmNvbXBp
bGVJblRocmVhZEltcGwpOgorICAgICAgICAqIGRpc2Fzc2VtYmxlci9MTFZNRGlzYXNzZW1ibGVy
LmNwcDoKKyAgICAgICAgKEpTQzo6dHJ5VG9EaXNhc3NlbWJsZVdpdGhMTFZNKToKKyAgICAgICAg
KiBmdGwvRlRMQWJicmV2aWF0ZWRUeXBlcy5oOgorICAgICAgICAqIGZ0bC9GVExBYmJyZXZpYXRp
b25zLmg6CisgICAgICAgIChKU0M6OkZUTDo6dm9pZFR5cGUpOgorICAgICAgICAoSlNDOjpGVEw6
OmludDFUeXBlKToKKyAgICAgICAgKEpTQzo6RlRMOjppbnQ4VHlwZSk6CisgICAgICAgIChKU0M6
OkZUTDo6aW50MTZUeXBlKToKKyAgICAgICAgKEpTQzo6RlRMOjppbnQzMlR5cGUpOgorICAgICAg
ICAoSlNDOjpGVEw6OmludDY0VHlwZSk6CisgICAgICAgIChKU0M6OkZUTDo6aW50UHRyVHlwZSk6
CisgICAgICAgIChKU0M6OkZUTDo6ZmxvYXRUeXBlKToKKyAgICAgICAgKEpTQzo6RlRMOjpkb3Vi
bGVUeXBlKToKKyAgICAgICAgKEpTQzo6RlRMOjpwb2ludGVyVHlwZSk6CisgICAgICAgIChKU0M6
OkZUTDo6c3RydWN0VHlwZSk6CisgICAgICAgIChKU0M6OkZUTDo6ZnVuY3Rpb25UeXBlKToKKyAg
ICAgICAgKEpTQzo6RlRMOjp0eXBlT2YpOgorICAgICAgICAoSlNDOjpGVEw6Om1kS2luZElEKToK
KyAgICAgICAgKEpTQzo6RlRMOjptZFN0cmluZyk6CisgICAgICAgIChKU0M6OkZUTDo6bWROb2Rl
KToKKyAgICAgICAgKEpTQzo6RlRMOjpzZXRNZXRhZGF0YSk6CisgICAgICAgIChKU0M6OkZUTDo6
YWRkRnVuY3Rpb24pOgorICAgICAgICAoSlNDOjpGVEw6OnNldExpbmthZ2UpOgorICAgICAgICAo
SlNDOjpGVEw6OnNldEZ1bmN0aW9uQ2FsbGluZ0NvbnYpOgorICAgICAgICAoSlNDOjpGVEw6Omdl
dFBhcmFtKToKKyAgICAgICAgKEpTQzo6RlRMOjpjb25zdEludCk6CisgICAgICAgIChKU0M6OkZU
TDo6Y29uc3RSZWFsKToKKyAgICAgICAgKEpTQzo6RlRMOjpjb25zdEludFRvUHRyKToKKyAgICAg
ICAgKEpTQzo6RlRMOjpjb25zdEJpdENhc3QpOgorICAgICAgICAoSlNDOjpGVEw6OmFwcGVuZEJh
c2ljQmxvY2spOgorICAgICAgICAoSlNDOjpGVEw6Omluc2VydEJhc2ljQmxvY2spOgorICAgICAg
ICAoSlNDOjpGVEw6OmJ1aWxkUGhpKToKKyAgICAgICAgKEpTQzo6RlRMOjphZGRJbmNvbWluZyk6
CisgICAgICAgIChKU0M6OkZUTDo6YnVpbGRBbGxvY2EpOgorICAgICAgICAoSlNDOjpGVEw6OmJ1
aWxkQWRkKToKKyAgICAgICAgKEpTQzo6RlRMOjpidWlsZFN1Yik6CisgICAgICAgIChKU0M6OkZU
TDo6YnVpbGRNdWwpOgorICAgICAgICAoSlNDOjpGVEw6OmJ1aWxkRGl2KToKKyAgICAgICAgKEpT
Qzo6RlRMOjpidWlsZFJlbSk6CisgICAgICAgIChKU0M6OkZUTDo6YnVpbGROZWcpOgorICAgICAg
ICAoSlNDOjpGVEw6OmJ1aWxkRkFkZCk6CisgICAgICAgIChKU0M6OkZUTDo6YnVpbGRGU3ViKToK
KyAgICAgICAgKEpTQzo6RlRMOjpidWlsZEZNdWwpOgorICAgICAgICAoSlNDOjpGVEw6OmJ1aWxk
RkRpdik6CisgICAgICAgIChKU0M6OkZUTDo6YnVpbGRGUmVtKToKKyAgICAgICAgKEpTQzo6RlRM
OjpidWlsZEZOZWcpOgorICAgICAgICAoSlNDOjpGVEw6OmJ1aWxkQW5kKToKKyAgICAgICAgKEpT
Qzo6RlRMOjpidWlsZE9yKToKKyAgICAgICAgKEpTQzo6RlRMOjpidWlsZFhvcik6CisgICAgICAg
IChKU0M6OkZUTDo6YnVpbGRTaGwpOgorICAgICAgICAoSlNDOjpGVEw6OmJ1aWxkQVNocik6Cisg
ICAgICAgIChKU0M6OkZUTDo6YnVpbGRMU2hyKToKKyAgICAgICAgKEpTQzo6RlRMOjpidWlsZE5v
dCk6CisgICAgICAgIChKU0M6OkZUTDo6YnVpbGRMb2FkKToKKyAgICAgICAgKEpTQzo6RlRMOjpi
dWlsZFN0b3JlKToKKyAgICAgICAgKEpTQzo6RlRMOjpidWlsZFNFeHQpOgorICAgICAgICAoSlND
OjpGVEw6OmJ1aWxkWkV4dCk6CisgICAgICAgIChKU0M6OkZUTDo6YnVpbGRGUFRvU0kpOgorICAg
ICAgICAoSlNDOjpGVEw6OmJ1aWxkRlBUb1VJKToKKyAgICAgICAgKEpTQzo6RlRMOjpidWlsZFNJ
VG9GUCk6CisgICAgICAgIChKU0M6OkZUTDo6YnVpbGRVSVRvRlApOgorICAgICAgICAoSlNDOjpG
VEw6OmJ1aWxkSW50Q2FzdCk6CisgICAgICAgIChKU0M6OkZUTDo6YnVpbGRGUENhc3QpOgorICAg
ICAgICAoSlNDOjpGVEw6OmJ1aWxkSW50VG9QdHIpOgorICAgICAgICAoSlNDOjpGVEw6OmJ1aWxk
UHRyVG9JbnQpOgorICAgICAgICAoSlNDOjpGVEw6OmJ1aWxkQml0Q2FzdCk6CisgICAgICAgIChK
U0M6OkZUTDo6YnVpbGRJQ21wKToKKyAgICAgICAgKEpTQzo6RlRMOjpidWlsZEZDbXApOgorICAg
ICAgICAoSlNDOjpGVEw6OmJ1aWxkQ2FsbCk6CisgICAgICAgIChKU0M6OkZUTDo6c2V0VGFpbENh
bGwpOgorICAgICAgICAoSlNDOjpGVEw6OmJ1aWxkRXh0cmFjdFZhbHVlKToKKyAgICAgICAgKEpT
Qzo6RlRMOjpidWlsZFNlbGVjdCk6CisgICAgICAgIChKU0M6OkZUTDo6YnVpbGRCcik6CisgICAg
ICAgIChKU0M6OkZUTDo6YnVpbGRDb25kQnIpOgorICAgICAgICAoSlNDOjpGVEw6OmJ1aWxkU3dp
dGNoKToKKyAgICAgICAgKEpTQzo6RlRMOjphZGRDYXNlKToKKyAgICAgICAgKEpTQzo6RlRMOjpi
dWlsZFJldCk6CisgICAgICAgIChKU0M6OkZUTDo6YnVpbGRVbnJlYWNoYWJsZSk6CisgICAgICAg
IChKU0M6OkZUTDo6ZHVtcE1vZHVsZSk6CisgICAgICAgIChKU0M6OkZUTDo6dmVyaWZ5TW9kdWxl
KToKKyAgICAgICAgKiBmdGwvRlRMQ29tcGlsZS5jcHA6CisgICAgICAgIChKU0M6OkZUTDo6Y29t
cGlsZSk6CisgICAgICAgICogZnRsL0ZUTEZhaWwuY3BwOgorICAgICAgICAoSlNDOjpGVEw6OmZh
aWwpOgorICAgICAgICAqIGZ0bC9GVExKSVRDb2RlLmg6CisgICAgICAgICogZnRsL0ZUTEpJVEZp
bmFsaXplci5oOgorICAgICAgICAqIGZ0bC9GVExMaW5rLmNwcDoKKyAgICAgICAgKiBmdGwvRlRM
TG93ZXJERkdUb0xMVk0uY3BwOgorICAgICAgICAoSlNDOjpGVEw6Okxvd2VyREZHVG9MTFZNOjps
b3dlcik6CisgICAgICAgICogZnRsL0ZUTE91dHB1dC5jcHA6CisgICAgICAgIChKU0M6OkZUTDo6
T3V0cHV0OjpPdXRwdXQpOgorICAgICAgICAoSlNDOjpGVEw6Ok91dHB1dDo6fk91dHB1dCk6Cisg
ICAgICAgICogZnRsL0ZUTE91dHB1dC5oOgorICAgICAgICAoSlNDOjpGVEw6Ok91dHB1dDo6YXBw
ZW5kVG8pOgorICAgICAgICAqIGZ0bC9GVExTdGF0ZS5jcHA6CisgICAgICAgIChKU0M6OkZUTDo6
U3RhdGU6OlN0YXRlKToKKyAgICAgICAgKEpTQzo6RlRMOjpTdGF0ZTo6flN0YXRlKToKKyAgICAg
ICAgKiBmdGwvV2ViS2l0TExWTUxpYnJhcnlBbmNob3IuY3BwOiBSZW1vdmVkLgorICAgICAgICAq
IGpzYy5jcHA6CisgICAgICAgIChqc2NtYWluKToKKyAgICAgICAgKiBsbHZtOiBBZGRlZC4KKyAg
ICAgICAgKiBsbHZtL0luaXRpYWxpemVMTFZNLmNwcDogQWRkZWQuCisgICAgICAgIChKU0M6Omlu
aXRpYWxpemVMTFZNKToKKyAgICAgICAgKiBsbHZtL0luaXRpYWxpemVMTFZNLmg6IEFkZGVkLgor
ICAgICAgICAqIGxsdm0vSW5pdGlhbGl6ZUxMVk1NYWMubW06IEFkZGVkLgorICAgICAgICAoSlND
Ojppbml0aWFsaXplTExWTUltcGwpOgorICAgICAgICAqIGxsdm0vSW5pdGlhbGl6ZUxMVk1QT1NJ
WC5jcHA6IEFkZGVkLgorICAgICAgICAoSlNDOjppbml0aWFsaXplTExWTVBPU0lYKToKKyAgICAg
ICAgKiBsbHZtL0luaXRpYWxpemVMTFZNUE9TSVguaDogQWRkZWQuCisgICAgICAgICogbGx2bS9M
TFZNQVBJLmNwcDogQWRkZWQuCisgICAgICAgICogbGx2bS9MTFZNQVBJLmg6IEFkZGVkLgorICAg
ICAgICAqIGxsdm0vTExWTUFQSUZ1bmN0aW9ucy5oOiBBZGRlZC4KKyAgICAgICAgKiBsbHZtL0xM
Vk1IZWFkZXJzLmg6IEFkZGVkLgorICAgICAgICAqIGxsdm0vbGlicmFyeTogQWRkZWQuCisgICAg
ICAgICogbGx2bS9saWJyYXJ5L0xMVk1BbmNob3IuY3BwOiBBZGRlZC4KKyAgICAgICAgKiBsbHZt
L2xpYnJhcnkvTExWTUV4cG9ydHMuY3BwOiBBZGRlZC4KKyAgICAgICAgKGluaXRpYWxpemVBbmRH
ZXRKU0NMTFZNQVBJKToKKyAgICAgICAgKiBsbHZtL2xpYnJhcnkvTExWTU92ZXJyaWRlcy5jcHA6
IEFkZGVkLgorICAgICAgICAoX19jeGFfYXRleGl0KToKKyAgICAgICAgKiBsbHZtL2xpYnJhcnkv
Y29uZmlnX2xsdm0uaDogQWRkZWQuCisgICAgICAgICogcnVudGltZS9Jbml0aWFsaXplVGhyZWFk
aW5nLmNwcDoKKyAgICAgICAgKEpTQzo6aW5pdGlhbGl6ZVRocmVhZGluZ09uY2UpOgorICAgICAg
ICAqIHJ1bnRpbWUvT3B0aW9ucy5oOgorCiAyMDEzLTEwLTA5ICBGaWxpcCBQaXpsbyAgPGZwaXps
b0BhcHBsZS5jb20+CiAKICAgICAgICAgTWlub3IgY2xlYW4tdXBzIGluIHRoZSBKU0MgWGNvZGUg
cHJvamVjdC4KSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qc2MuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qc2MuY3BwCShyZXZpc2lvbiAxNTcyMDQpCisrKyBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvanNjLmNwcAkod29ya2luZyBjb3B5KQpAQCAtODQ2LDEwICs4
NDYsMTAgQEAgaW50IGpzY21haW4oaW50IGFyZ2MsIGNoYXIqKiBhcmd2KQogICAgIC8vIE5vdGUg
dGhhdCB0aGUgb3B0aW9ucyBwYXJzaW5nIGNhbiBhZmZlY3QgVk0gY3JlYXRpb24sIGFuZCB0aHVz
CiAgICAgLy8gY29tZXMgZmlyc3QuCiAgICAgQ29tbWFuZExpbmUgb3B0aW9ucyhhcmdjLCBhcmd2
KTsKLSAgICBSZWZQdHI8Vk0+IHZtID0gVk06OmNyZWF0ZShMYXJnZUhlYXApOworICAgIFZNKiB2
bSA9IFZNOjpjcmVhdGUoTGFyZ2VIZWFwKS5sZWFrUmVmKCk7CiAgICAgaW50IHJlc3VsdDsKICAg
ICB7Ci0gICAgICAgIEFQSUVudHJ5U2hpbSBzaGltKHZtLmdldCgpKTsKKyAgICAgICAgQVBJRW50
cnlTaGltIHNoaW0odm0pOwogCiAgICAgICAgIGlmIChvcHRpb25zLm1fcHJvZmlsZSAmJiAhdm0t
Pm1fcGVyQnl0ZWNvZGVQcm9maWxlcikKICAgICAgICAgICAgIHZtLT5tX3BlckJ5dGVjb2RlUHJv
ZmlsZXIgPSBhZG9wdFB0cihuZXcgUHJvZmlsZXI6OkRhdGFiYXNlKCp2bSkpOwpAQCAtODcwLDE0
ICs4NzAsNiBAQCBpbnQganNjbWFpbihpbnQgYXJnYywgY2hhcioqIGFyZ3YpCiAgICAgICAgIH0K
ICAgICB9CiAgICAgCi0gICAgaWYgKE9wdGlvbnM6Om5ldmVyRGVsZXRlVk1JbkNvbW1hbmRMaW5l
KCkpIHsKLSAgICAgICAgSlNDOjpWTSogdGVtcCA9IHZtLnJlbGVhc2UoKS5sZWFrUmVmKCk7Ci0g
ICAgICAgIFVOVVNFRF9QQVJBTSh0ZW1wKTsKLSAgICB9IGVsc2UgewotICAgICAgICBKU0xvY2tI
b2xkZXIgbG9jaygqdm0pOwotICAgICAgICB2bS5jbGVhcigpOwotICAgIH0KLSAgICAKICAgICBy
ZXR1cm4gcmVzdWx0OwogfQogCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvQ29uZmlndXJh
dGlvbnMvSmF2YVNjcmlwdENvcmUueGNjb25maWcKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFT
Y3JpcHRDb3JlL0NvbmZpZ3VyYXRpb25zL0phdmFTY3JpcHRDb3JlLnhjY29uZmlnCShyZXZpc2lv
biAxNTcyMDQpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvQ29uZmlndXJhdGlvbnMvSmF2YVNj
cmlwdENvcmUueGNjb25maWcJKHdvcmtpbmcgY29weSkKQEAgLTM1LDE1ICszNSwxMSBAQCBKU1ZB
TFVFX01PREVMX3g4Nl82NCA9IDY0OwogLy8gUHJldmVudCBDKysgc3RhbmRhcmQgbGlicmFyeSBv
cGVyYXRvciBuZXcsIGRlbGV0ZSBhbmQgdGhlaXIgcmVsYXRlZCBleGNlcHRpb24gdHlwZXMgZnJv
bSBiZWluZyBleHBvcnRlZCBhcyB3ZWFrIHN5bWJvbHMuCiBPVEhFUl9MREZMQUdTX0hJREVfU1lN
Qk9MUyA9IC1XbCwtdW5leHBvcnRlZF9zeW1ib2wgLVdsLF9fWlRJU3Q5YmFkX2FsbG9jIC1XbCwt
dW5leHBvcnRlZF9zeW1ib2wgLVdsLF9fWlRJU3Q5ZXhjZXB0aW9uIC1XbCwtdW5leHBvcnRlZF9z
eW1ib2wgLVdsLF9fWlRTU3Q5YmFkX2FsbG9jIC1XbCwtdW5leHBvcnRlZF9zeW1ib2wgLVdsLF9f
WlRTU3Q5ZXhjZXB0aW9uIC1XbCwtdW5leHBvcnRlZF9zeW1ib2wgLVdsLF9fWmRsUHZTXyAtV2ws
LXVuZXhwb3J0ZWRfc3ltYm9sIC1XbCxfX1pud21QdiAtV2wsLWFsbF9sb2FkOwogCi1PVEhFUl9M
REZMQUdTX0xMVk0gPSAkKE9USEVSX0xERkxBR1NfTExWTV8kKEVOQUJMRV9GVExfSklUKSk7Ci1P
VEhFUl9MREZMQUdTX0xMVk1fID0gOwotT1RIRVJfTERGTEFHU19MTFZNX0VOQUJMRV9GVExfSklU
ID0gLWxwdGhyZWFkIC1sbSAtbExMVk1UYWJsZUdlbiAtbExMVk1EZWJ1Z0luZm8gLWxMTFZNT3B0
aW9uIC1sTExWTVg4NkRpc2Fzc2VtYmxlciAtbExMVk1YODZBc21QYXJzZXIgLWxMTFZNWDg2Q29k
ZUdlbiAtbExMVk1TZWxlY3Rpb25EQUcgLWxMTFZNQXNtUHJpbnRlciAtbExMVk1YODZEZXNjIC1s
TExWTVg4NkluZm8gLWxMTFZNWDg2QXNtUHJpbnRlciAtbExMVk1YODZVdGlscyAtbExMVk1JUlJl
YWRlciAtbExMVk1Bc21QYXJzZXIgLWxMTFZNTUNEaXNhc3NlbWJsZXIgLWxMTFZNTUNQYXJzZXIg
LWxMTFZNSW5zdHJ1bWVudGF0aW9uIC1sTExWTUJpdFJlYWRlciAtbExMVk1JbnRlcnByZXRlciAt
bExMVk1pcG8gLWxMTFZNVmVjdG9yaXplIC1sTExWTUxpbmtlciAtbExMVk1CaXRXcml0ZXIgLWxM
TFZNTUNKSVQgLWxMTFZNSklUIC1sTExWTUNvZGVHZW4gLWxMTFZNT2JqQ0FSQ09wdHMgLWxMTFZN
U2NhbGFyT3B0cyAtbExMVk1JbnN0Q29tYmluZSAtbExMVk1UcmFuc2Zvcm1VdGlscyAtbExMVk1p
cGEgLWxMTFZNQW5hbHlzaXMgLWxMTFZNUnVudGltZUR5bGQgLWxMTFZNRXhlY3V0aW9uRW5naW5l
IC1sTExWTVRhcmdldCAtbExMVk1NQyAtbExMVk1PYmplY3QgLWxMTFZNQ29yZSAtbExMVk1TdXBw
b3J0OwotCiBPVEhFUl9MREZMQUdTX0JBU0UgPSAtbG9iamMgLVdsLC1ZLDMgJChPVEhFUl9MREZM
QUdTX0hJREVfU1lNQk9MUyk7CiBPVEhFUl9MREZMQUdTID0gJChpbmhlcml0ZWQpICQoT1RIRVJf
TERGTEFHU18kKFBMQVRGT1JNX05BTUUpKTsKIE9USEVSX0xERkxBR1NfaXBob25lb3MgPSAkKE9U
SEVSX0xERkxBR1NfQkFTRSk7CiBPVEhFUl9MREZMQUdTX2lwaG9uZXNpbXVsYXRvciA9ICQoT1RI
RVJfTERGTEFHU19pcGhvbmVvcyk7Ci1PVEhFUl9MREZMQUdTX21hY29zeCA9ICQoT1RIRVJfTERG
TEFHU19CQVNFKSAkKE9USEVSX0xERkxBR1NfTExWTSkgLXN1Yl9saWJyYXJ5IGxpYm9iamMgLWZy
YW1ld29yayBDb3JlU2VydmljZXM7CitPVEhFUl9MREZMQUdTX21hY29zeCA9ICQoT1RIRVJfTERG
TEFHU19CQVNFKSAtc3ViX2xpYnJhcnkgbGlib2JqYyAtZnJhbWV3b3JrIENvcmVTZXJ2aWNlczsK
IEdDQ19QUkVGSVhfSEVBREVSID0gSmF2YVNjcmlwdENvcmVQcmVmaXguaDsKIEdDQ19TWU1CT0xT
X1BSSVZBVEVfRVhURVJOID0gWUVTOwogSEVBREVSX1NFQVJDSF9QQVRIUyA9ICIke0JVSUxUX1BS
T0RVQ1RTX0RJUn0vRGVyaXZlZFNvdXJjZXMvSmF2YVNjcmlwdENvcmUiICQoSEVBREVSX1NFQVJD
SF9QQVRIUyk7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvQ29uZmlndXJhdGlvbnMvTExW
TUZvckpTQy54Y2NvbmZpZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvQ29u
ZmlndXJhdGlvbnMvTExWTUZvckpTQy54Y2NvbmZpZwkocmV2aXNpb24gMCkKKysrIFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9Db25maWd1cmF0aW9ucy9MTFZNRm9ySlNDLnhjY29uZmlnCSh3b3JraW5n
IGNvcHkpCkBAIC0wLDAgKzEsNDQgQEAKKy8vIENvcHlyaWdodCAoQykgMjAxMyBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLworLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisvLyBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKy8v
IGFyZSBtZXQ6CisvLyAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAorLy8gICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorLy8gMi4gUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKy8vICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUKKy8vICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisvLworLy8gVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisvLyBFWFBSRVNTIE9SIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorLy8g
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQ
QVJUSUNVTEFSCisvLyBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwg
QVBQTEUgSU5DLiBPUgorLy8gQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisvLyBFWEVNUExBUlksIE9SIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisvLyBQUk9DVVJF
TUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwg
T1IKKy8vIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWSBUSEVPUlkKKy8vIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorLy8gKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisvLyBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LiAKKworI2luY2x1ZGUgIkZlYXR1cmVEZWZpbmVzLnhjY29uZmlnIgorI2luY2x1ZGUgIlZlcnNp
b24ueGNjb25maWciCisKKy8vIFByZXZlbnQgQysrIHN0YW5kYXJkIGxpYnJhcnkgb3BlcmF0b3Ig
bmV3LCBkZWxldGUgYW5kIHRoZWlyIHJlbGF0ZWQgZXhjZXB0aW9uIHR5cGVzIGZyb20gYmVpbmcg
ZXhwb3J0ZWQgYXMgd2VhayBzeW1ib2xzLgorT1RIRVJfTERGTEFHU19ISURFX1NZTUJPTFMgPSAt
V2wsLXVuZXhwb3J0ZWRfc3ltYm9sIC1XbCxfX1pUSVN0OWJhZF9hbGxvYyAtV2wsLXVuZXhwb3J0
ZWRfc3ltYm9sIC1XbCxfX1pUSVN0OWV4Y2VwdGlvbiAtV2wsLXVuZXhwb3J0ZWRfc3ltYm9sIC1X
bCxfX1pUU1N0OWJhZF9hbGxvYyAtV2wsLXVuZXhwb3J0ZWRfc3ltYm9sIC1XbCxfX1pUU1N0OWV4
Y2VwdGlvbiAtV2wsLXVuZXhwb3J0ZWRfc3ltYm9sIC1XbCxfX1pkbFB2U18gLVdsLC11bmV4cG9y
dGVkX3N5bWJvbCAtV2wsX19abndtUHYgLVdsLC1hbGxfbG9hZDsKKworT1RIRVJfTERGTEFHU19M
TFZNID0gJChPVEhFUl9MREZMQUdTX0xMVk1fJChFTkFCTEVfRlRMX0pJVCkpOworT1RIRVJfTERG
TEFHU19MTFZNXyA9IDsKK09USEVSX0xERkxBR1NfTExWTV9FTkFCTEVfRlRMX0pJVCA9IC1scHRo
cmVhZCAtbG0gLWxMTFZNVGFibGVHZW4gLWxMTFZNRGVidWdJbmZvIC1sTExWTU9wdGlvbiAtbExM
Vk1YODZEaXNhc3NlbWJsZXIgLWxMTFZNWDg2QXNtUGFyc2VyIC1sTExWTVg4NkNvZGVHZW4gLWxM
TFZNU2VsZWN0aW9uREFHIC1sTExWTUFzbVByaW50ZXIgLWxMTFZNWDg2RGVzYyAtbExMVk1YODZJ
bmZvIC1sTExWTVg4NkFzbVByaW50ZXIgLWxMTFZNWDg2VXRpbHMgLWxMTFZNSVJSZWFkZXIgLWxM
TFZNQXNtUGFyc2VyIC1sTExWTU1DRGlzYXNzZW1ibGVyIC1sTExWTU1DUGFyc2VyIC1sTExWTUlu
c3RydW1lbnRhdGlvbiAtbExMVk1CaXRSZWFkZXIgLWxMTFZNSW50ZXJwcmV0ZXIgLWxMTFZNaXBv
IC1sTExWTVZlY3Rvcml6ZSAtbExMVk1MaW5rZXIgLWxMTFZNQml0V3JpdGVyIC1sTExWTU1DSklU
IC1sTExWTUpJVCAtbExMVk1Db2RlR2VuIC1sTExWTU9iakNBUkNPcHRzIC1sTExWTVNjYWxhck9w
dHMgLWxMTFZNSW5zdENvbWJpbmUgLWxMTFZNVHJhbnNmb3JtVXRpbHMgLWxMTFZNaXBhIC1sTExW
TUFuYWx5c2lzIC1sTExWTVJ1bnRpbWVEeWxkIC1sTExWTUV4ZWN1dGlvbkVuZ2luZSAtbExMVk1U
YXJnZXQgLWxMTFZNTUMgLWxMTFZNT2JqZWN0IC1sTExWTUNvcmUgLWxMTFZNU3VwcG9ydDsKKwor
T1RIRVJfTERGTEFHU19CQVNFID0gLWxvYmpjIC1XbCwtWSwzICQoT1RIRVJfTERGTEFHU19ISURF
X1NZTUJPTFMpOworT1RIRVJfTERGTEFHUyA9ICQoaW5oZXJpdGVkKSAkKE9USEVSX0xERkxBR1Nf
JChQTEFURk9STV9OQU1FKSk7CitPVEhFUl9MREZMQUdTX2lwaG9uZW9zID0gJChPVEhFUl9MREZM
QUdTX0JBU0UpOworT1RIRVJfTERGTEFHU19pcGhvbmVzaW11bGF0b3IgPSAkKE9USEVSX0xERkxB
R1NfaXBob25lb3MpOworT1RIRVJfTERGTEFHU19tYWNvc3ggPSAkKE9USEVSX0xERkxBR1NfQkFT
RSkgJChPVEhFUl9MREZMQUdTX0xMVk0pCitHQ0NfU1lNQk9MU19QUklWQVRFX0VYVEVSTiA9IFlF
UzsKK0hFQURFUl9TRUFSQ0hfUEFUSFMgPSAiJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRT
b3VyY2VzL0phdmFTY3JpcHRDb3JlIiAkKEhFQURFUl9TRUFSQ0hfUEFUSFMpOworCitQUk9EVUNU
X05BTUUgPSBsbHZtRm9ySlNDOworRVhFQ1VUQUJMRV9QUkVGSVggPSBsaWI7CisKSW5kZXg6IFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCShyZXZpc2lvbiAxNTcyMDQpCisrKyBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkod29y
a2luZyBjb3B5KQpAQCAtMjU3LDcgKzI1Nyw2IEBACiAJCTBGNjM5NDg1MTVFNDgxMUIwMDZBNTk3
QyAvKiBERkdBcnJheU1vZGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDBGNjM5NDgyMTVFNDgxMTQwMDZBNTk3QyAvKiBERkdBcnJheU1vZGUuaCAqLzsg
c2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQkwRjY2RTE2QjE0
REYzRjE2MDBCN0IyRTQgLyogREZHQWRqYWNlbmN5TGlzdC5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEY2NkUxNjgxNERGM0YxMzAwQjdCMkU0IC8qIERG
R0FkamFjZW5jeUxpc3QuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCAp
OyB9OyB9OwogCQkwRjY2RTE2QzE0REYzRjE2MDBCN0IyRTQgLyogREZHRWRnZS5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEY2NkUxNjkxNERGM0YxMzAw
QjdCMkU0IC8qIERGR0VkZ2UuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRl
LCApOyB9OyB9OwotCQkwRjZFNUMxOTE3MjRBRjNEMDA1QzU3NEYgLyogV2ViS2l0TExWTUxpYnJh
cnlBbmNob3IuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gMEY2RTVDMTgxNzI0QUYzRDAwNUM1NzRGIC8qIFdlYktpdExMVk1MaWJyYXJ5QW5jaG9yLmNw
cCAqLzsgfTsKIAkJMEY3MDI1QTkxNzE0QjBGQTAwMzgyQzBFIC8qIERGR09TUkV4aXRDb21waWxl
ckNvbW1vbi5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSAwRjcwMjVBNzE3MTRCMEY4MDAzODJDMEUgLyogREZHT1NSRXhpdENvbXBpbGVyQ29tbW9uLmNw
cCAqLzsgfTsKIAkJMEY3MDI1QUExNzE0QjBGQzAwMzgyQzBFIC8qIERGR09TUkV4aXRDb21waWxl
ckNvbW1vbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
MEY3MDI1QTgxNzE0QjBGODAwMzgyQzBFIC8qIERGR09TUkV4aXRDb21waWxlckNvbW1vbi5oICov
OyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTBGNzE0Q0E0
MTZFQTkyRjAwMEYzRUJFQiAvKiBERkdCYWNrd2FyZHNQcm9wYWdhdGlvblBoYXNlLmNwcCBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGNzE0Q0ExMTZFQTky
RUQwMEYzRUJFQiAvKiBERkdCYWNrd2FyZHNQcm9wYWdhdGlvblBoYXNlLmNwcCAqLzsgfTsKQEAg
LTM3Miw2ICszNzEsMjIgQEAKIAkJMEZDODE1MTUxNDA1MTE5QjAwQ0ZBNjAzIC8qIFZUYWJsZVNw
ZWN0cnVtLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAw
RkM4MTUxNDE0MDUxMThEMDBDRkE2MDMgLyogVlRhYmxlU3BlY3RydW0uaCAqLzsgc2V0dGluZ3Mg
PSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQkwRkM4MTUxNjE0MDUxMUI1MDBD
RkE2MDMgLyogVlRhYmxlU3BlY3RydW0uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gMEZDODE1MTIxNDA1MTE4NjAwQ0ZBNjAzIC8qIFZUYWJsZVNwZWN0
cnVtLmNwcCAqLzsgfTsKIAkJMEZDQ0FFNDUxNkQwQ0Y3NDAwRDBDNjVCIC8qIFBhcnNlckVycm9y
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRkNDQUU0
MzE2RDBDRjZFMDBEMEM2NUIgLyogUGFyc2VyRXJyb3IuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklC
VVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQkwRkNFRkFCMDE4MDVDQTZEMDA0NzJDRTQgLyog
SW5pdGlhbGl6ZUxMVk0uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDBGQ0VGQUFFMTgwNUNBNkQwMDQ3MkNFNCAvKiBJbml0aWFsaXplTExWTS5oICovOyBz
ZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTBGQ0VGQUIxMTgw
NUNBNkQwMDQ3MkNFNCAvKiBJbml0aWFsaXplTExWTU1hYy5tbSBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGQ0VGQUFGMTgwNUNBNkQwMDQ3MkNFNCAvKiBJ
bml0aWFsaXplTExWTU1hYy5tbSAqLzsgfTsKKwkJMEZDRUZBQzExODA1RDk0RTAwNDcyQ0U0IC8q
IExMVk1PdmVycmlkZXMuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gMEZDRUZBQzAxODA1RDk0MTAwNDcyQ0U0IC8qIExMVk1PdmVycmlkZXMuY3BwICov
OyB9OworCQkwRkNFRkFDMzE4MDVFNzQwMDA0NzJDRTQgLyogTExWTUV4cG9ydHMuY3BwIGluIFNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZDRUZBQzIxODA1RTc0
MDAwNDcyQ0U0IC8qIExMVk1FeHBvcnRzLmNwcCAqLzsgfTsKKwkJMEZDRUZBQ0ExODA1RTc1NTAw
NDcyQ0U0IC8qIEluaXRpYWxpemVMTFZNLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDBGQ0VGQUM0MTgwNUU3NTUwMDQ3MkNFNCAvKiBJbml0aWFsaXpl
TExWTS5jcHAgKi87IH07CisJCTBGQ0VGQUNCMTgwNUU3NTUwMDQ3MkNFNCAvKiBJbml0aWFsaXpl
TExWTVBPU0lYLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDBGQ0VGQUM1MTgwNUU3NTUwMDQ3MkNFNCAvKiBJbml0aWFsaXplTExWTVBPU0lYLmNwcCAq
LzsgfTsKKwkJMEZDRUZBQ0MxODA1RTc1NTAwNDcyQ0U0IC8qIEluaXRpYWxpemVMTFZNUE9TSVgu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGQ0VGQUM2
MTgwNUU3NTUwMDQ3MkNFNCAvKiBJbml0aWFsaXplTExWTVBPU0lYLmggKi87IHNldHRpbmdzID0g
e0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMEZDRUZBQ0QxODA1RTc1NTAwNDcy
Q0U0IC8qIExMVk1BUEkuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gMEZDRUZBQzcxODA1RTc1NTAwNDcyQ0U0IC8qIExMVk1BUEkuY3BwICovOyB9Owor
CQkwRkNFRkFDRTE4MDVFNzU1MDA0NzJDRTQgLyogTExWTUFQSS5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZDRUZBQzgxODA1RTc1NTAwNDcyQ0U0IC8q
IExMVk1BUEkuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9
OworCQkwRkNFRkFDRjE4MDVFNzU1MDA0NzJDRTQgLyogTExWTUFQSUZ1bmN0aW9ucy5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZDRUZBQzkxODA1RTc1
NTAwNDcyQ0U0IC8qIExMVk1BUElGdW5jdGlvbnMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRF
UyA9IChQcml2YXRlLCApOyB9OyB9OworCQkwRkNFRkFEMTE4MDVFNzc5MDA0NzJDRTQgLyogTExW
TUFQSUZ1bmN0aW9ucy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gMEZDRUZBQzkxODA1RTc1NTAwNDcyQ0U0IC8qIExMVk1BUElGdW5jdGlvbnMuaCAqLzsg
fTsKKwkJMEZDRUZBRDMxODA1RURDQzAwNDcyQ0U0IC8qIExMVk1IZWFkZXJzLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRkNFRkFEMjE4MDVFRENDMDA0
NzJDRTQgLyogTExWTUhlYWRlcnMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2
YXRlLCApOyB9OyB9OworCQkwRkNFRkFENDE4MDVFRENDMDA0NzJDRTQgLyogTExWTUhlYWRlcnMu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGQ0VGQUQy
MTgwNUVEQ0MwMDQ3MkNFNCAvKiBMTFZNSGVhZGVycy5oICovOyB9OworCQkwRkNFRkFENzE4MDYx
NzQ2MDA0NzJDRTQgLyogTExWTUFuY2hvci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSAwRkNFRkFENjE4MDYxNzQ2MDA0NzJDRTQgLyogTExWTUFuY2hv
ci5jcHAgKi87IH07CisJCTBGQ0VGQURBMTgwNjIwREEwMDQ3MkNFNCAvKiBMTFZNQVBJLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRkNFRkFDODE4MDVF
NzU1MDA0NzJDRTQgLyogTExWTUFQSS5oICovOyB9OworCQkwRkNFRkFEQzE4MDY0QTE0MDA0NzJD
RTQgLyogY29uZmlnX2xsdm0uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDBGQ0VGQURCMTgwNjRBMTQwMDQ3MkNFNCAvKiBjb25maWdfbGx2bS5oICovOyB9
OwogCQkwRkQyQzkyNDE2RDAxRUU5MDBDNzgwM0YgLyogU3RydWN0dXJlSW5saW5lcy5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZEMkM5MjMxNkQwMUVF
OTAwQzc4MDNGIC8qIFN0cnVjdHVyZUlubGluZXMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRF
UyA9IChQcml2YXRlLCApOyB9OyB9OwogCQkwRkQzQzgyNjE0MTE1RDQwMDBGRDgxQ0IgLyogREZH
RHJpdmVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDBGRDNDODIwMTQxMTVDRjgwMEZEODFDQiAvKiBERkdEcml2ZXIuY3BwICovOyB9OwogCQkwRkQz
QzgyODE0MTE1RDRGMDBGRDgxQ0IgLyogREZHRHJpdmVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRkQzQzgyMjE0MTE1RDBFMDBGRDgxQ0IgLyogREZH
RHJpdmVyLmggKi87IH07CkBAIC0xMTgxLDYgKzExOTYsMTMgQEAKIC8qIEVuZCBQQlhCdWlsZEZp
bGUgc2VjdGlvbiAqLwogCiAvKiBCZWdpbiBQQlhDb250YWluZXJJdGVtUHJveHkgc2VjdGlvbiAq
LworCQkwRkNFRkFCQzE4MDVENjYzMDA0NzJDRTQgLyogUEJYQ29udGFpbmVySXRlbVByb3h5ICov
ID0geworCQkJaXNhID0gUEJYQ29udGFpbmVySXRlbVByb3h5OworCQkJY29udGFpbmVyUG9ydGFs
ID0gMDg2N0Q2OTBGRTg0MDI4RkMwMkFBQzA3IC8qIFByb2plY3Qgb2JqZWN0ICovOworCQkJcHJv
eHlUeXBlID0gMTsKKwkJCXJlbW90ZUdsb2JhbElEU3RyaW5nID0gMEZDRUZBQjUxODA1RDYxNjAw
NDcyQ0U0OworCQkJcmVtb3RlSW5mbyA9IGxsdm1Gb3JKU0M7CisJCX07CiAJCTBGRjkyMkQyMTRG
NDZCMkYwMDQxQTI0RSAvKiBQQlhDb250YWluZXJJdGVtUHJveHkgKi8gPSB7CiAJCQlpc2EgPSBQ
QlhDb250YWluZXJJdGVtUHJveHk7CiAJCQljb250YWluZXJQb3J0YWwgPSAwODY3RDY5MEZFODQw
MjhGQzAyQUFDMDcgLyogUHJvamVjdCBvYmplY3QgKi87CkBAIC0xNDcxLDcgKzE0OTMsNiBAQAog
CQkwRjYzOTQ4MjE1RTQ4MTE0MDA2QTU5N0MgLyogREZHQXJyYXlNb2RlLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgbmFtZSA9IERGR0FycmF5TW9kZS5oOyBwYXRoID0gZGZnL0RGR0FycmF5
TW9kZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkwRjY2RTE2ODE0REYzRjEzMDBC
N0IyRTQgLyogREZHQWRqYWNlbmN5TGlzdC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5h
bWUgPSBERkdBZGphY2VuY3lMaXN0Lmg7IHBhdGggPSBkZmcvREZHQWRqYWNlbmN5TGlzdC5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkwRjY2RTE2OTE0REYzRjEzMDBCN0IyRTQgLyog
REZHRWRnZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBERkdFZGdlLmg7IHBh
dGggPSBkZmcvREZHRWRnZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQkwRjZFNUMx
ODE3MjRBRjNEMDA1QzU3NEYgLyogV2ViS2l0TExWTUxpYnJhcnlBbmNob3IuY3BwICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gV2ViS2l0TExWTUxpYnJhcnlBbmNob3IuY3Bw
OyBwYXRoID0gZnRsL1dlYktpdExMVk1MaWJyYXJ5QW5jaG9yLmNwcDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJMEY3MDI1QTcxNzE0QjBGODAwMzgyQzBFIC8qIERGR09TUkV4aXRDb21w
aWxlckNvbW1vbi5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBERkdP
U1JFeGl0Q29tcGlsZXJDb21tb24uY3BwOyBwYXRoID0gZGZnL0RGR09TUkV4aXRDb21waWxlckNv
bW1vbi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTBGNzAyNUE4MTcxNEIwRjgw
MDM4MkMwRSAvKiBERkdPU1JFeGl0Q29tcGlsZXJDb21tb24uaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBuYW1lID0gREZHT1NSRXhpdENvbXBpbGVyQ29tbW9uLmg7IHBhdGggPSBkZmcvREZH
T1NSRXhpdENvbXBpbGVyQ29tbW9uLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTBG
NzE0Q0ExMTZFQTkyRUQwMEYzRUJFQiAvKiBERkdCYWNrd2FyZHNQcm9wYWdhdGlvblBoYXNlLmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IERGR0JhY2t3YXJkc1Byb3Bh
Z2F0aW9uUGhhc2UuY3BwOyBwYXRoID0gZGZnL0RGR0JhY2t3YXJkc1Byb3BhZ2F0aW9uUGhhc2Uu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTU5OCw2ICsxNjE5LDIxIEBACiAJ
CTBGQzgxNTE0MTQwNTExOEQwMENGQTYwMyAvKiBWVGFibGVTcGVjdHJ1bS5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBWVGFibGVTcGVjdHJ1bS5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQkwRkNCNDA4NTE1QzBBM0MzMDA0ODkzMkIgLyogU2xvdFZpc2l0b3JJbmxp
bmVzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNsb3RWaXNpdG9ySW5saW5l
cy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkwRkNDQUU0MzE2RDBDRjZFMDBEMEM2
NUIgLyogUGFyc2VyRXJyb3IuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUGFy
c2VyRXJyb3IuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEZDRUZBQUUxODA1Q0E2
RDAwNDcyQ0U0IC8qIEluaXRpYWxpemVMTFZNLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
bmFtZSA9IEluaXRpYWxpemVMTFZNLmg7IHBhdGggPSBsbHZtL0luaXRpYWxpemVMTFZNLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGQ0VGQUFGMTgwNUNBNkQwMDQ3MkNFNCAvKiBJ
bml0aWFsaXplTExWTU1hYy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgbmFt
ZSA9IEluaXRpYWxpemVMTFZNTWFjLm1tOyBwYXRoID0gbGx2bS9Jbml0aWFsaXplTExWTU1hYy5t
bTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEZDRUZBQjYxODA1RDYxNjAwNDcyQ0U0
IC8qIGxpYmxsdm1Gb3JKU0MuZHlsaWIgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZXhw
bGljaXRGaWxlVHlwZSA9ICJjb21waWxlZC5tYWNoLW8uZHlsaWIiOyBpbmNsdWRlSW5JbmRleCA9
IDA7IHBhdGggPSBsaWJsbHZtRm9ySlNDLmR5bGliOyBzb3VyY2VUcmVlID0gQlVJTFRfUFJPRFVD
VFNfRElSOyB9OworCQkwRkNFRkFCRTE4MDVEODY5MDA0NzJDRTQgLyogTExWTUZvckpTQy54Y2Nv
bmZpZyAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRl
eHQueGNjb25maWc7IHBhdGggPSBMTFZNRm9ySlNDLnhjY29uZmlnOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQkwRkNFRkFDMDE4MDVEOTQxMDA0NzJDRTQgLyogTExWTU92ZXJyaWRlcy5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBMTFZNT3ZlcnJpZGVzLmNwcDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKKwkJMEZDRUZBQzIxODA1RTc0MDAwNDcyQ0U0IC8qIExMVk1FeHBvcnRzLmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IExMVk1FeHBvcnRzLmNwcDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEZDRUZBQzQxODA1RTc1NTAwNDcyQ0U0IC8q
IEluaXRpYWxpemVMTFZNLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9
IEluaXRpYWxpemVMTFZNLmNwcDsgcGF0aCA9IGxsdm0vSW5pdGlhbGl6ZUxMVk0uY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRkNFRkFDNTE4MDVFNzU1MDA0NzJDRTQgLyogSW5p
dGlhbGl6ZUxMVk1QT1NJWC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUg
PSBJbml0aWFsaXplTExWTVBPU0lYLmNwcDsgcGF0aCA9IGxsdm0vSW5pdGlhbGl6ZUxMVk1QT1NJ
WC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGQ0VGQUM2MTgwNUU3NTUwMDQ3
MkNFNCAvKiBJbml0aWFsaXplTExWTVBPU0lYLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
bmFtZSA9IEluaXRpYWxpemVMTFZNUE9TSVguaDsgcGF0aCA9IGxsdm0vSW5pdGlhbGl6ZUxMVk1Q
T1NJWC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRkNFRkFDNzE4MDVFNzU1MDA0
NzJDRTQgLyogTExWTUFQSS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUg
PSBMTFZNQVBJLmNwcDsgcGF0aCA9IGxsdm0vTExWTUFQSS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCTBGQ0VGQUM4MTgwNUU3NTUwMDQ3MkNFNCAvKiBMTFZNQVBJLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IExMVk1BUEkuaDsgcGF0aCA9IGxsdm0vTExWTUFQ
SS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRkNFRkFDOTE4MDVFNzU1MDA0NzJD
RTQgLyogTExWTUFQSUZ1bmN0aW9ucy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUg
PSBMTFZNQVBJRnVuY3Rpb25zLmg7IHBhdGggPSBsbHZtL0xMVk1BUElGdW5jdGlvbnMuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEZDRUZBRDIxODA1RURDQzAwNDcyQ0U0IC8qIExM
Vk1IZWFkZXJzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IExMVk1IZWFkZXJz
Lmg7IHBhdGggPSBsbHZtL0xMVk1IZWFkZXJzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCTBGQ0VGQUQ2MTgwNjE3NDYwMDQ3MkNFNCAvKiBMTFZNQW5jaG9yLmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IExMVk1BbmNob3IuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQkwRkNFRkFEQjE4MDY0QTE0MDA0NzJDRTQgLyogY29uZmlnX2xsdm0u
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gY29uZmlnX2xsdm0uaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMEZEMkM5MjMxNkQwMUVFOTAwQzc4MDNGIC8qIFN0cnVj
dHVyZUlubGluZXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU3RydWN0dXJl
SW5saW5lcy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkwRkQzQzgyMDE0MTE1Q0Y4
MDBGRDgxQ0IgLyogREZHRHJpdmVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
bmFtZSA9IERGR0RyaXZlci5jcHA7IHBhdGggPSBkZmcvREZHRHJpdmVyLmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMEZEM0M4MjIxNDExNUQwRTAwRkQ4MUNCIC8qIERGR0RyaXZl
ci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBERkdEcml2ZXIuaDsgcGF0aCA9
IGRmZy9ERkdEcml2ZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTI0MzEsNiAr
MjQ2NywxMyBAQAogLyogRW5kIFBCWEZpbGVSZWZlcmVuY2Ugc2VjdGlvbiAqLwogCiAvKiBCZWdp
biBQQlhGcmFtZXdvcmtzQnVpbGRQaGFzZSBzZWN0aW9uICovCisJCTBGQ0VGQUIzMTgwNUQ2MTYw
MDQ3MkNFNCAvKiBGcmFtZXdvcmtzICovID0geworCQkJaXNhID0gUEJYRnJhbWV3b3Jrc0J1aWxk
UGhhc2U7CisJCQlidWlsZEFjdGlvbk1hc2sgPSAyMTQ3NDgzNjQ3OworCQkJZmlsZXMgPSAoCisJ
CQkpOworCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CisJCX07CiAJ
CTBGRjkyMkM2MTRGNDZCMTMwMDQxQTI0RSAvKiBGcmFtZXdvcmtzICovID0gewogCQkJaXNhID0g
UEJYRnJhbWV3b3Jrc0J1aWxkUGhhc2U7CiAJCQlidWlsZEFjdGlvbk1hc2sgPSAyMTQ3NDgzNjQ3
OwpAQCAtMjQ5OSw2ICsyNTQyLDcgQEAKIAkJCQkxNDEyMTEyMDBBNDg3OTNDMDA0ODAyNTUgLyog
bWluaWRvbSAqLywKIAkJCQkxNEJENTlCRjBBM0U4RjkwMDBCQUY1OUMgLyogdGVzdGFwaSAqLywK
IAkJCQk2NTExMjMwNTE0MDQ2QTRDMDAyQjEwMUQgLyogdGVzdFJlZ0V4cCAqLywKKwkJCQkwRkNF
RkFCNjE4MDVENjE2MDA0NzJDRTQgLyogbGlibGx2bUZvckpTQy5keWxpYiAqLywKIAkJCSk7CiAJ
CQluYW1lID0gUHJvZHVjdHM7CiAJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOwpAQCAtMjUzMSw2
ICsyNTc1LDcgQEAKIAkJCQkxNDI5RDc3QTBFRDIwRDczMDBCODk2MTkgLyogaW50ZXJwcmV0ZXIg
Ki8sCiAJCQkJMTQyOUQ5MkMwRUQyMkQ3MDAwQjg5NjE5IC8qIGppdCAqLywKIAkJCQkwRjQ2ODA5
QzE0QkE3RjREMDBCRkUyNzIgLyogbGxpbnQgKi8sCisJCQkJMEZDRUZBQUQxODA1Q0E0NDAwNDcy
Q0U0IC8qIGxsdm0gKi8sCiAJCQkJN0UzOUQ4MzcwRUMzQTM4ODAwM0FGMTFBIC8qIHBhcnNlciAq
LywKIAkJCQkwMzQ3NjhERkZGMzhBNTA0MTFEQjlDOEIgLyogUHJvZHVjdHMgKi8sCiAJCQkJOTVB
QjgzMUEwREE0MkM2OTAwQkM4M0YzIC8qIHByb2ZpbGVyICovLApAQCAtMjU4OCw2ICsyNjMzLDM1
IEBACiAJCQluYW1lID0gbGxpbnQ7CiAJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOwogCQl9Owor
CQkwRkNFRkFBRDE4MDVDQTQ0MDA0NzJDRTQgLyogbGx2bSAqLyA9IHsKKwkJCWlzYSA9IFBCWEdy
b3VwOworCQkJY2hpbGRyZW4gPSAoCisJCQkJMEZDRUZBQkYxODA1RDk0MTAwNDcyQ0U0IC8qIGxp
YnJhcnkgKi8sCisJCQkJMEZDRUZBQzQxODA1RTc1NTAwNDcyQ0U0IC8qIEluaXRpYWxpemVMTFZN
LmNwcCAqLywKKwkJCQkwRkNFRkFBRTE4MDVDQTZEMDA0NzJDRTQgLyogSW5pdGlhbGl6ZUxMVk0u
aCAqLywKKwkJCQkwRkNFRkFBRjE4MDVDQTZEMDA0NzJDRTQgLyogSW5pdGlhbGl6ZUxMVk1NYWMu
bW0gKi8sCisJCQkJMEZDRUZBQzUxODA1RTc1NTAwNDcyQ0U0IC8qIEluaXRpYWxpemVMTFZNUE9T
SVguY3BwICovLAorCQkJCTBGQ0VGQUM2MTgwNUU3NTUwMDQ3MkNFNCAvKiBJbml0aWFsaXplTExW
TVBPU0lYLmggKi8sCisJCQkJMEZDRUZBQzcxODA1RTc1NTAwNDcyQ0U0IC8qIExMVk1BUEkuY3Bw
ICovLAorCQkJCTBGQ0VGQUM4MTgwNUU3NTUwMDQ3MkNFNCAvKiBMTFZNQVBJLmggKi8sCisJCQkJ
MEZDRUZBQzkxODA1RTc1NTAwNDcyQ0U0IC8qIExMVk1BUElGdW5jdGlvbnMuaCAqLywKKwkJCQkw
RkNFRkFEMjE4MDVFRENDMDA0NzJDRTQgLyogTExWTUhlYWRlcnMuaCAqLywKKwkJCSk7CisJCQlu
YW1lID0gbGx2bTsKKwkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CisJCX07CisJCTBGQ0VGQUJG
MTgwNUQ5NDEwMDQ3MkNFNCAvKiBsaWJyYXJ5ICovID0geworCQkJaXNhID0gUEJYR3JvdXA7CisJ
CQljaGlsZHJlbiA9ICgKKwkJCQkwRkNFRkFEQjE4MDY0QTE0MDA0NzJDRTQgLyogY29uZmlnX2xs
dm0uaCAqLywKKwkJCQkwRkNFRkFENjE4MDYxNzQ2MDA0NzJDRTQgLyogTExWTUFuY2hvci5jcHAg
Ki8sCisJCQkJMEZDRUZBQzIxODA1RTc0MDAwNDcyQ0U0IC8qIExMVk1FeHBvcnRzLmNwcCAqLywK
KwkJCQkwRkNFRkFDMDE4MDVEOTQxMDA0NzJDRTQgLyogTExWTU92ZXJyaWRlcy5jcHAgKi8sCisJ
CQkpOworCQkJbmFtZSA9IGxpYnJhcnk7CisJCQlwYXRoID0gbGx2bS9saWJyYXJ5OworCQkJc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsKKwkJfTsKIAkJMEZFQTA5RkMxNzA1MTM3RjAwQkI3MjJDIC8q
IGZ0bCAqLyA9IHsKIAkJCWlzYSA9IFBCWEdyb3VwOwogCQkJY2hpbGRyZW4gPSAoCkBAIC0yNjUx
LDcgKzI3MjUsNiBAQAogCQkJCTBGREIyQ0M4MTczREE1MUUwMDdCM0MxQiAvKiBGVExWYWx1ZUZy
b21CbG9jay5oICovLAogCQkJCTBGMjM1QkNGMTcxNzhFMUMwMDY5MEM3RiAvKiBGVExWYWx1ZVNv
dXJjZS5jcHAgKi8sCiAJCQkJMEYyMzVCRDAxNzE3OEUxQzAwNjkwQzdGIC8qIEZUTFZhbHVlU291
cmNlLmggKi8sCi0JCQkJMEY2RTVDMTgxNzI0QUYzRDAwNUM1NzRGIC8qIFdlYktpdExMVk1MaWJy
YXJ5QW5jaG9yLmNwcCAqLywKIAkJCSk7CiAJCQluYW1lID0gZnRsOwogCQkJc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsKQEAgLTMwMDgsNiArMzA4MSw3IEBACiAJCTFDOTA1MTNFMEJBOUU4ODMwMDgx
RTlEMCAvKiBDb25maWd1cmF0aW9ucyAqLyA9IHsKIAkJCWlzYSA9IFBCWEdyb3VwOwogCQkJY2hp
bGRyZW4gPSAoCisJCQkJMEZDRUZBQkUxODA1RDg2OTAwNDcyQ0U0IC8qIExMVk1Gb3JKU0MueGNj
b25maWcgKi8sCiAJCQkJMUM5MDUxNDUwQkE5RThBNzAwODFFOUQwIC8qIEJhc2UueGNjb25maWcg
Ki8sCiAJCQkJMUM5MDUxNDQwQkE5RThBNzAwODFFOUQwIC8qIERlYnVnUmVsZWFzZS54Y2NvbmZp
ZyAqLywKIAkJCQk0NDkwOTdFRTBGOEY4MUI1MDA3NkEzMjcgLyogRmVhdHVyZURlZmluZXMueGNj
b25maWcgKi8sCkBAIC0zODgyLDYgKzM5NTYsMTcgQEAKIC8qIEVuZCBQQlhHcm91cCBzZWN0aW9u
ICovCiAKIC8qIEJlZ2luIFBCWEhlYWRlcnNCdWlsZFBoYXNlIHNlY3Rpb24gKi8KKwkJMEZDRUZB
QjQxODA1RDYxNjAwNDcyQ0U0IC8qIEhlYWRlcnMgKi8gPSB7CisJCQlpc2EgPSBQQlhIZWFkZXJz
QnVpbGRQaGFzZTsKKwkJCWJ1aWxkQWN0aW9uTWFzayA9IDIxNDc0ODM2NDc7CisJCQlmaWxlcyA9
ICgKKwkJCQkwRkNFRkFENDE4MDVFRENDMDA0NzJDRTQgLyogTExWTUhlYWRlcnMuaCBpbiBIZWFk
ZXJzICovLAorCQkJCTBGQ0VGQURBMTgwNjIwREEwMDQ3MkNFNCAvKiBMTFZNQVBJLmggaW4gSGVh
ZGVycyAqLywKKwkJCQkwRkNFRkFEMTE4MDVFNzc5MDA0NzJDRTQgLyogTExWTUFQSUZ1bmN0aW9u
cy5oIGluIEhlYWRlcnMgKi8sCisJCQkJMEZDRUZBREMxODA2NEExNDAwNDcyQ0U0IC8qIGNvbmZp
Z19sbHZtLmggaW4gSGVhZGVycyAqLywKKwkJCSk7CisJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBv
c3Rwcm9jZXNzaW5nID0gMDsKKwkJfTsKIAkJMTQ0MDA1QzcwQTUzMzhDNjAwMDVGMDYxIC8qIEhl
YWRlcnMgKi8gPSB7CiAJCQlpc2EgPSBQQlhIZWFkZXJzQnVpbGRQaGFzZTsKIAkJCWJ1aWxkQWN0
aW9uTWFzayA9IDIxNDc0ODM2NDc7CkBAIC0zOTQwLDYgKzQwMjUsNyBAQAogCQkJCTBGMEI4M0Ix
MTRCQ0Y3MTgwMDg4NUI0RiAvKiBDYWxsTGlua0luZm8uaCBpbiBIZWFkZXJzICovLAogCQkJCTBG
OTMzMjlFMTRDQTdEQzUwMDg1RjNDNiAvKiBDYWxsTGlua1N0YXR1cy5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJMEYwQjgzQjkxNEJDRjk1RjAwODg1QjRGIC8qIENhbGxSZXR1cm5PZmZzZXRUb0J5dGVj
b2RlT2Zmc2V0LmggaW4gSGVhZGVycyAqLywKKwkJCQkwRkNFRkFEMzE4MDVFRENDMDA0NzJDRTQg
LyogTExWTUhlYWRlcnMuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDNkFBQUU1MEUxRjQyNjUwMEFE
ODdEOCAvKiBDbGFzc0luZm8uaCBpbiBIZWFkZXJzICovLAogCQkJCTBGNzNEN0FGMTY1QTE0MzAw
MEFDQUI3MSAvKiBDbG9zdXJlQ2FsbFN0dWJSb3V0aW5lLmggaW4gSGVhZGVycyAqLywKIAkJCQk5
NjlBMDc5NzBFRDFEM0FFMDBGMUY2ODEgLyogQ29kZUJsb2NrLmggaW4gSGVhZGVycyAqLywKQEAg
LTM5NzAsNiArNDA1Niw3IEBACiAJCQkJQzIyMzlEMTgxNjI2MkJERDAwNUFDNUZEIC8qIENvcHlW
aXNpdG9yLmggaW4gSGVhZGVycyAqLywKIAkJCQlDMjIzOUQxOTE2MjYyQkREMDA1QUM1RkQgLyog
Q29weVZpc2l0b3JJbmxpbmVzLmggaW4gSGVhZGVycyAqLywKIAkJCQlDMjE4RDE0MDE2NTVDRkQ1
MDA2MkJCODEgLyogQ29weVdvcmtMaXN0LmggaW4gSGVhZGVycyAqLywKKwkJCQkwRkNFRkFDRjE4
MDVFNzU1MDA0NzJDRTQgLyogTExWTUFQSUZ1bmN0aW9ucy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
NURFNkU1QjMwRTE3MjhFQzAwMTgwNDA3IC8qIGNyZWF0ZV9oYXNoX3RhYmxlIGluIEhlYWRlcnMg
Ki8sCiAJCQkJMEY0MjZBNEIxNDYwQ0Q2RTAwMTMxRjhGIC8qIERhdGFGb3JtYXQuaCBpbiBIZWFk
ZXJzICovLAogCQkJCTBGMkI2NkRGMTdCNkI1QUIwMEE3QUUzRiAvKiBEYXRhVmlldy5oIGluIEhl
YWRlcnMgKi8sCkBAIC00MDg3LDYgKzQxNzQsNyBAQAogCQkJCTg2RUM5REQzMTMyOERGODIwMDJC
MkFENyAvKiBERkdTcGVjdWxhdGl2ZUpJVC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTdEODlEMDAx
N0EwQjhDQzAwNzczQUQ4IC8qIERGR1NTQUNvbnZlcnNpb25QaGFzZS5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJMEY2Mzk0NzgxNURDRTM0QjAwNkE1OTdDIC8qIERGR1N0cnVjdHVyZUFic3RyYWN0VmFs
dWUuaCBpbiBIZWFkZXJzICovLAorCQkJCTBGQ0VGQUNDMTgwNUU3NTUwMDQ3MkNFNCAvKiBJbml0
aWFsaXplTExWTVBPU0lYLmggaW4gSGVhZGVycyAqLywKIAkJCQkwRkMwOTdBMjE0NkIyOENDMDBD
RjI0NDIgLyogREZHVGh1bmtzLmggaW4gSGVhZGVycyAqLywKIAkJCQkwRjYzOTQzRjE1Qzc1RjE5
MDA2QTU5N0MgLyogREZHVHlwZUNoZWNrSG9pc3RpbmdQaGFzZS5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJMEZCRTBGNzcxNkMxREIxMjAwODJDNUU4IC8qIERGR1VuaWZpY2F0aW9uUGhhc2UuaCBpbiBI
ZWFkZXJzICovLApAQCAtNDE5Myw2ICs0MjgxLDcgQEAKIAkJCQlBNzg4NTNGQTE3OTcyNjI5MDAx
NDQwRTQgLyogSW50ZW5kZWRTdHJ1Y3R1cmVDaGFpbi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkMx
MTY2N0IwRTE5OUMwNTAwODA2NkREIC8qIEludGVybmFsRnVuY3Rpb24uaCBpbiBIZWFkZXJzICov
LAogCQkJCTE0MjlENzdDMEVEMjBENzMwMEI4OTYxOSAvKiBJbnRlcnByZXRlci5oIGluIEhlYWRl
cnMgKi8sCisJCQkJMEZDRUZBQjAxODA1Q0E2RDAwNDcyQ0U0IC8qIEluaXRpYWxpemVMTFZNLmgg
aW4gSGVhZGVycyAqLywKIAkJCQk4NjBCRDgwMTE0OEVBNkYyMDAxMTJCMkYgLyogSW50cmluc2lj
LmggaW4gSGVhZGVycyAqLywKIAkJCQlCQzE4QzQxMzBFMTZGNUNEMDBCMzQ0NjAgLyogSmF2YVNj
cmlwdC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkMxOEM0MTQwRTE2RjVDRDAwQjM0NDYwIC8qIEph
dmFTY3JpcHRDb3JlLmggaW4gSGVhZGVycyAqLywKQEAgLTQyNDYsNiArNDMzNSw3IEBACiAJCQkJ
QTcyMDI4QjgxNzk3NjAxRTAwOTgwMjhDIC8qIEpTQ1Rlc3RSdW5uZXJVdGlscy5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJMEYyQjY2RUMxN0I2QjVBQjAwQTdBRTNGIC8qIEpTRGF0YVZpZXcuaCBpbiBI
ZWFkZXJzICovLAogCQkJCTBGMkI2NkVFMTdCNkI1QUIwMEE3QUUzRiAvKiBKU0RhdGFWaWV3UHJv
dG90eXBlLmggaW4gSGVhZGVycyAqLywKKwkJCQkwRkNFRkFDRTE4MDVFNzU1MDA0NzJDRTQgLyog
TExWTUFQSS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTc4ODAxNDExNDcxQUQ5MjAwNDFCMDE2IC8q
IEpTRGF0ZU1hdGguaCBpbiBIZWFkZXJzICovLAogCQkJCUMyQTdGNjg4MTYwNDMyRDQwMEY3NkI5
OCAvKiBKU0Rlc3RydWN0aWJsZU9iamVjdC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJODZFM0M2MTQx
NjdCQUJENzAwNkQ3NjBBIC8qIEpTRXhwb3J0LmggaW4gSGVhZGVycyAqLywKQEAgLTQ1NjMsNiAr
NDY1MywyMyBAQAogLyogRW5kIFBCWEhlYWRlcnNCdWlsZFBoYXNlIHNlY3Rpb24gKi8KIAogLyog
QmVnaW4gUEJYTmF0aXZlVGFyZ2V0IHNlY3Rpb24gKi8KKwkJMEZDRUZBQjUxODA1RDYxNjAwNDcy
Q0U0IC8qIGxsdm1Gb3JKU0MgKi8gPSB7CisJCQlpc2EgPSBQQlhOYXRpdmVUYXJnZXQ7CisJCQli
dWlsZENvbmZpZ3VyYXRpb25MaXN0ID0gMEZDRUZBQjcxODA1RDYxNjAwNDcyQ0U0IC8qIEJ1aWxk
IGNvbmZpZ3VyYXRpb24gbGlzdCBmb3IgUEJYTmF0aXZlVGFyZ2V0ICJsbHZtRm9ySlNDIiAqLzsK
KwkJCWJ1aWxkUGhhc2VzID0gKAorCQkJCTBGQ0VGQUIyMTgwNUQ2MTYwMDQ3MkNFNCAvKiBTb3Vy
Y2VzICovLAorCQkJCTBGQ0VGQUIzMTgwNUQ2MTYwMDQ3MkNFNCAvKiBGcmFtZXdvcmtzICovLAor
CQkJCTBGQ0VGQUI0MTgwNUQ2MTYwMDQ3MkNFNCAvKiBIZWFkZXJzICovLAorCQkJKTsKKwkJCWJ1
aWxkUnVsZXMgPSAoCisJCQkpOworCQkJZGVwZW5kZW5jaWVzID0gKAorCQkJKTsKKwkJCW5hbWUg
PSBsbHZtRm9ySlNDOworCQkJcHJvZHVjdE5hbWUgPSBsbHZtRm9ySlNDOworCQkJcHJvZHVjdFJl
ZmVyZW5jZSA9IDBGQ0VGQUI2MTgwNUQ2MTYwMDQ3MkNFNCAvKiBsaWJsbHZtRm9ySlNDLmR5bGli
ICovOworCQkJcHJvZHVjdFR5cGUgPSAiY29tLmFwcGxlLnByb2R1Y3QtdHlwZS5saWJyYXJ5LmR5
bmFtaWMiOworCQl9OwogCQkwRkY5MjJDMzE0RjQ2QjEzMDA0MUEyNEUgLyogSlNDTExJbnRPZmZz
ZXRzRXh0cmFjdG9yICovID0gewogCQkJaXNhID0gUEJYTmF0aXZlVGFyZ2V0OwogCQkJYnVpbGRD
b25maWd1cmF0aW9uTGlzdCA9IDBGRjkyMkNBMTRGNDZCMTMwMDQxQTI0RSAvKiBCdWlsZCBjb25m
aWd1cmF0aW9uIGxpc3QgZm9yIFBCWE5hdGl2ZVRhcmdldCAiSlNDTExJbnRPZmZzZXRzRXh0cmFj
dG9yIiAqLzsKQEAgLTQ2NDMsNiArNDc1MCw3IEBACiAJCQkJMzczMjgxMUExN0ZDRDIzNTAwNEFE
NTE5IC8qIFBvc3Rwcm9jZXNzIEhlYWRlcnMgKi8sCiAJCQkJOTMyRjVCOTEwODIyQTFDNzAwNzM2
OTc1IC8qIFNvdXJjZXMgKi8sCiAJCQkJOTMyRjVCRDIwODIyQTFDNzAwNzM2OTc1IC8qIEZyYW1l
d29ya3MgKi8sCisJCQkJMEZDRUZBRDkxODA2MTkxODAwNDcyQ0U0IC8qIENvcHkgTExWTSBMaWJy
YXJ5IEludG8gRnJhbWV3b3JrICovLAogCQkJCTVEMjlEOEJFMEU5ODYwQjQwMEMzRDJEMCAvKiBD
aGVjayBGb3IgV2VhayBWVGFibGVzIGFuZCBFeHRlcm5hbHMgKi8sCiAJCQkJMzcxM0YwMTQxNDI5
MDUyNDAwMzYzODdGIC8qIENoZWNrIEZvciBJbmFwcHJvcHJpYXRlIE9iamVjdGl2ZS1DIENsYXNz
IE5hbWVzICovLAogCQkJCUE1NURFQUE0MTY3MDNERjcwMDNEQjg0MSAvKiBDaGVjayBGb3IgSW5h
cHByb3ByaWF0ZSBNYWNyb3MgaW4gRXh0ZXJuYWwgSGVhZGVycyAqLywKQEAgLTQ2NTAsNiArNDc1
OCw3IEBACiAJCQlidWlsZFJ1bGVzID0gKAogCQkJKTsKIAkJCWRlcGVuZGVuY2llcyA9ICgKKwkJ
CQkwRkNFRkFCRDE4MDVENjYzMDA0NzJDRTQgLyogUEJYVGFyZ2V0RGVwZW5kZW5jeSAqLywKIAkJ
CQk2NUZCM0Y3RTA5RDExRUYzMDBGNDlERUIgLyogUEJYVGFyZ2V0RGVwZW5kZW5jeSAqLywKIAkJ
CSk7CiAJCQluYW1lID0gSmF2YVNjcmlwdENvcmU7CkBAIC00NzEwLDYgKzQ4MTksNyBAQAogCQkJ
CTBGNDY4MEE5MTRCQTdGRDkwMEJGRTI3MiAvKiBMTEludCBPZmZzZXRzICovLAogCQkJCTBGRjky
MkMzMTRGNDZCMTMwMDQxQTI0RSAvKiBKU0NMTEludE9mZnNldHNFeHRyYWN0b3IgKi8sCiAJCQkJ
NUQ2QjJBNDcxNTJCOUUxNzAwNTIzMURFIC8qIFRlc3QgVG9vbHMgKi8sCisJCQkJMEZDRUZBQjUx
ODA1RDYxNjAwNDcyQ0U0IC8qIGxsdm1Gb3JKU0MgKi8sCiAJCQkpOwogCQl9OwogLyogRW5kIFBC
WFByb2plY3Qgc2VjdGlvbiAqLwpAQCAtNDczMSw2ICs0ODQxLDIxIEBACiAJCQlzaGVsbFBhdGgg
PSAvYmluL3NoOwogCQkJc2hlbGxTY3JpcHQgPSAibWtkaXIgLXAgXCIke0JVSUxUX1BST0RVQ1RT
X0RJUn0vTExJbnRPZmZzZXRzL1wiXG5cbi91c3IvYmluL2VudiBydWJ5IFwiJHtTUkNST09UfS9v
ZmZsaW5lYXNtL2dlbmVyYXRlX29mZnNldF9leHRyYWN0b3IucmJcIiBcIiR7U1JDUk9PVH0vbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc21cIiBcIiR7QlVJTFRfUFJPRFVDVFNfRElSfS9MTElu
dE9mZnNldHMvTExJbnREZXNpcmVkT2Zmc2V0cy5oXCJcbiI7CiAJCX07CisJCTBGQ0VGQUQ5MTgw
NjE5MTgwMDQ3MkNFNCAvKiBDb3B5IExMVk0gTGlicmFyeSBJbnRvIEZyYW1ld29yayAqLyA9IHsK
KwkJCWlzYSA9IFBCWFNoZWxsU2NyaXB0QnVpbGRQaGFzZTsKKwkJCWJ1aWxkQWN0aW9uTWFzayA9
IDIxNDc0ODM2NDc7CisJCQlmaWxlcyA9ICgKKwkJCSk7CisJCQlpbnB1dFBhdGhzID0gKAorCQkJ
CSIkKEJVSUxUX1BST0RVQ1RTX0RJUikvbGlibGx2bUZvckpTQy5keWxpYiIsCisJCQkpOworCQkJ
bmFtZSA9ICJDb3B5IExMVk0gTGlicmFyeSBJbnRvIEZyYW1ld29yayI7CisJCQlvdXRwdXRQYXRo
cyA9ICgKKwkJCSk7CisJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsK
KwkJCXNoZWxsUGF0aCA9IC9iaW4vc2g7CisJCQlzaGVsbFNjcmlwdCA9ICJpZiBbWyAkRU5BQkxF
X0ZUTF9KSVQgIT0gXCJFTkFCTEVfRlRMX0pJVFwiIF1dXG50aGVuXG4gICAgZXhpdCAwXG5maVxu
XG4jIENvcHkgdGhlIGxsdm1Gb3JKU0MgbGlicmFyeSBpbnRvIHRoZSBmcmFtZXdvcmsuXG5kaXR0
byBcIiR7QlVJTFRfUFJPRFVDVFNfRElSfS9saWJsbHZtRm9ySlNDLmR5bGliXCIgXCIke0JVSUxU
X1BST0RVQ1RTX0RJUn0vJHtDT05URU5UU19GT0xERVJfUEFUSH0vTGlicmFyaWVzL2xpYmxsdm1G
b3JKU0MuZHlsaWJcIlxuaWYgWyAhIC1lIFwiJHtCVUlMVF9QUk9EVUNUU19ESVJ9LyR7V1JBUFBF
Ul9OQU1FfS9MaWJyYXJpZXNcIiBdXG50aGVuXG4gICAgbG4gLWZzIFwiVmVyc2lvbnMvQ3VycmVu
dC9MaWJyYXJpZXNcIiBcIiR7QlVJTFRfUFJPRFVDVFNfRElSfS8ke1dSQVBQRVJfTkFNRX0vTGli
cmFyaWVzXCJcbmZpIjsKKwkJfTsKIAkJMzcxM0YwMTQxNDI5MDUyNDAwMzYzODdGIC8qIENoZWNr
IEZvciBJbmFwcHJvcHJpYXRlIE9iamVjdGl2ZS1DIENsYXNzIE5hbWVzICovID0gewogCQkJaXNh
ID0gUEJYU2hlbGxTY3JpcHRCdWlsZFBoYXNlOwogCQkJYnVpbGRBY3Rpb25NYXNrID0gMjE0NzQ4
MzY0NzsKQEAgLTQ3NzgsNyArNDkwMyw3IEBACiAJCQkpOwogCQkJcnVuT25seUZvckRlcGxveW1l
bnRQb3N0cHJvY2Vzc2luZyA9IDA7CiAJCQlzaGVsbFBhdGggPSAvYmluL3NoOwotCQkJc2hlbGxT
Y3JpcHQgPSAiIyBGSVhNRTogPHJkYXI6Ly9wcm9ibGVtLzEzNTM5ODg4PiBMTFZNIGxpYnJhcmll
cyBzaG91bGRuJ3QgaGF2ZSB3ZWFrIHZ0YWJsZXNcbmV4aXQgMFxuXG5pZiBbIC1mIC4uLy4uL1Rv
b2xzL1NjcmlwdHMvY2hlY2stZm9yLXdlYWstdnRhYmxlcy1hbmQtZXh0ZXJuYWxzIF07IHRoZW5c
biAgICAuLi8uLi9Ub29scy9TY3JpcHRzL2NoZWNrLWZvci13ZWFrLXZ0YWJsZXMtYW5kLWV4dGVy
bmFscyB8fCBleGl0ICQ/XG5maSI7CisJCQlzaGVsbFNjcmlwdCA9ICJpZiBbIC1mIC4uLy4uL1Rv
b2xzL1NjcmlwdHMvY2hlY2stZm9yLXdlYWstdnRhYmxlcy1hbmQtZXh0ZXJuYWxzIF07IHRoZW5c
biAgICAuLi8uLi9Ub29scy9TY3JpcHRzL2NoZWNrLWZvci13ZWFrLXZ0YWJsZXMtYW5kLWV4dGVy
bmFscyB8fCBleGl0ICQ/XG5maSI7CiAJCX07CiAJCTVEMkY3Q0Y5MEM2ODc1QkIwMEI1QjcyQiAv
KiBVcGRhdGUgSW5mby5wbGlzdCB3aXRoIHZlcnNpb24gaW5mb3JtYXRpb24gKi8gPSB7CiAJCQlp
c2EgPSBQQlhTaGVsbFNjcmlwdEJ1aWxkUGhhc2U7CkBAIC00ODc2LDYgKzUwMDEsMTYgQEAKIC8q
IEVuZCBQQlhTaGVsbFNjcmlwdEJ1aWxkUGhhc2Ugc2VjdGlvbiAqLwogCiAvKiBCZWdpbiBQQlhT
b3VyY2VzQnVpbGRQaGFzZSBzZWN0aW9uICovCisJCTBGQ0VGQUIyMTgwNUQ2MTYwMDQ3MkNFNCAv
KiBTb3VyY2VzICovID0geworCQkJaXNhID0gUEJYU291cmNlc0J1aWxkUGhhc2U7CisJCQlidWls
ZEFjdGlvbk1hc2sgPSAyMTQ3NDgzNjQ3OworCQkJZmlsZXMgPSAoCisJCQkJMEZDRUZBQzMxODA1
RTc0MDAwNDcyQ0U0IC8qIExMVk1FeHBvcnRzLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTBGQ0VG
QUQ3MTgwNjE3NDYwMDQ3MkNFNCAvKiBMTFZNQW5jaG9yLmNwcCBpbiBTb3VyY2VzICovLAorCQkJ
CTBGQ0VGQUMxMTgwNUQ5NEUwMDQ3MkNFNCAvKiBMTFZNT3ZlcnJpZGVzLmNwcCBpbiBTb3VyY2Vz
ICovLAorCQkJKTsKKwkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwor
CQl9OwogCQkwRkY5MjJDNDE0RjQ2QjEzMDA0MUEyNEUgLyogU291cmNlcyAqLyA9IHsKIAkJCWlz
YSA9IFBCWFNvdXJjZXNCdWlsZFBoYXNlOwogCQkJYnVpbGRBY3Rpb25NYXNrID0gMjE0NzQ4MzY0
NzsKQEAgLTQ5MzYsNiArNTA3MSw3IEBACiAJCQkJMTQyODA4NjUxMDdFQzExQTAwMTNFN0IyIC8q
IEJvb2xlYW5Qcm90b3R5cGUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMTQ4RjIxQUExMDdFQzUz
QTAwNDJFQzJDIC8qIEJ5dGVjb2RlR2VuZXJhdG9yLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTE0
MjgwODJEMTA3RUMwNTcwMDEzRTdCMiAvKiBDYWxsRGF0YS5jcHAgaW4gU291cmNlcyAqLywKKwkJ
CQkwRkNFRkFCMTE4MDVDQTZEMDA0NzJDRTQgLyogSW5pdGlhbGl6ZUxMVk1NYWMubW0gaW4gU291
cmNlcyAqLywKIAkJCQkxNDI5RDhERDBFRDIyMDVCMDBCODk2MTkgLyogQ2FsbEZyYW1lLmNwcCBp
biBTb3VyY2VzICovLAogCQkJCTBGMEI4M0IwMTRCQ0Y3MTYwMDg4NUI0RiAvKiBDYWxsTGlua0lu
Zm8uY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMEY5MzMyOUQxNENBN0RDMzAwODVGM0M2IC8qIENh
bGxMaW5rU3RhdHVzLmNwcCBpbiBTb3VyY2VzICovLApAQCAtNTA3NSw2ICs1MjExLDcgQEAKIAkJ
CQkwRjIzNUJEMTE3MTc4RTFDMDA2OTBDN0YgLyogRlRMQ0FyZ3VtZW50R2V0dGVyLmNwcCBpbiBT
b3VyY2VzICovLAogCQkJCTBGRUEwQTI3MTcwOTYyM0IwMEJCNzIyQyAvKiBGVExDb21tb25WYWx1
ZXMuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMEZFQTBBMEIxNzA1MTNEQjAwQkI3MjJDIC8qIEZU
TENvbXBpbGUuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMEZDRUZBQ0QxODA1RTc1NTAwNDcyQ0U0
IC8qIExMVk1BUEkuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMEYyMzVCRDMxNzE3OEUxQzAwNjkw
QzdGIC8qIEZUTEV4aXRBcmd1bWVudC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkwRjIzNUJENTE3
MTc4RTFDMDA2OTBDN0YgLyogRlRMRXhpdEFyZ3VtZW50Rm9yT3BlcmFuZC5jcHAgaW4gU291cmNl
cyAqLywKIAkJCQkwRjIzNUJEODE3MTc4RTFDMDA2OTBDN0YgLyogRlRMRXhpdFRodW5rR2VuZXJh
dG9yLmNwcCBpbiBTb3VyY2VzICovLApAQCAtNTA5Miw2ICs1MjI5LDcgQEAKIAkJCQkwRjIzNUJF
MTE3MTc4RTFDMDA2OTBDN0YgLyogRlRMVGh1bmtzLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTBG
MjM1QkUzMTcxNzhFMUMwMDY5MEM3RiAvKiBGVExWYWx1ZUZvcm1hdC5jcHAgaW4gU291cmNlcyAq
LywKIAkJCQkwRjIzNUJFNTE3MTc4RTFDMDA2OTBDN0YgLyogRlRMVmFsdWVTb3VyY2UuY3BwIGlu
IFNvdXJjZXMgKi8sCisJCQkJMEZDRUZBQ0ExODA1RTc1NTAwNDcyQ0U0IC8qIEluaXRpYWxpemVM
TFZNLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTE0N0YzOUNCMTA3RUMzNzYwMDQyN0E0OCAvKiBG
dW5jdGlvbkNvbnN0cnVjdG9yLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTBGRjBGMTlGMTZCNzJB
MTcwMDVERjk1QiAvKiBGdW5jdGlvbkV4ZWN1dGFibGVEdW1wLmNwcCBpbiBTb3VyY2VzICovLAog
CQkJCTE0N0YzOUNDMTA3RUMzNzYwMDQyN0E0OCAvKiBGdW5jdGlvblByb3RvdHlwZS5jcHAgaW4g
U291cmNlcyAqLywKQEAgLTUyNTksNiArNTM5Nyw3IEBACiAJCQkJOTVBQjgzNTYwREE0M0MzMDAw
QkM4M0YzIC8qIFByb2ZpbGVOb2RlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTBGRjcyOUFEMTY2
QUQzNUMwMDBGNUJBMyAvKiBQcm9maWxlckJ5dGVjb2RlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJ
CTBGRjcyOUFFMTY2QUQzNUMwMDBGNUJBMyAvKiBQcm9maWxlckJ5dGVjb2Rlcy5jcHAgaW4gU291
cmNlcyAqLywKKwkJCQkwRkNFRkFDQjE4MDVFNzU1MDA0NzJDRTQgLyogSW5pdGlhbGl6ZUxMVk1Q
T1NJWC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkwRjEzOTEyOTE2NzcxQzMzMDA5Q0NCMDcgLyog
UHJvZmlsZXJCeXRlY29kZVNlcXVlbmNlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTBGRjcyOUFG
MTY2QUQzNUMwMDBGNUJBMyAvKiBQcm9maWxlckNvbXBpbGF0aW9uLmNwcCBpbiBTb3VyY2VzICov
LAogCQkJCTBGRjcyOUIwMTY2QUQzNUMwMDBGNUJBMyAvKiBQcm9maWxlckNvbXBpbGF0aW9uS2lu
ZC5jcHAgaW4gU291cmNlcyAqLywKQEAgLTUzMzgsNyArNTQ3Nyw2IEBACiAJCQkJMTRFODRGOUUx
NEVFMUFDQzAwRDZENUQ0IC8qIFdlYWtCbG9jay5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkxNEY3
MjU2NTE0RUUyNjVFMDBCMTY1MkIgLyogV2Vha0hhbmRsZU93bmVyLmNwcCBpbiBTb3VyY2VzICov
LAogCQkJCTE0RTg0RkEwMTRFRTFBQ0MwMEQ2RDVENCAvKiBXZWFrU2V0LmNwcCBpbiBTb3VyY2Vz
ICovLAotCQkJCTBGNkU1QzE5MTcyNEFGM0QwMDVDNTc0RiAvKiBXZWJLaXRMTFZNTGlicmFyeUFu
Y2hvci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkwRkM4MTUwQjE0MDQzQzBFMDBDRkE2MDMgLyog
V3JpdGVCYXJyaWVyU3VwcG9ydC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkwRjI0RTU1ODE3Rjc0
RURCMDBBQkIyMTcgLyogVmFsdWVSZWNvdmVyeS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlBN0U1
QUIzQTE3OTlFNEIyMDBEMjgzM0QgLyogWDg2RGlzYXNzZW1ibGVyLmNwcCBpbiBTb3VyY2VzICov
LApAQCAtNTM2MSw2ICs1NDk5LDExIEBACiAvKiBFbmQgUEJYU291cmNlc0J1aWxkUGhhc2Ugc2Vj
dGlvbiAqLwogCiAvKiBCZWdpbiBQQlhUYXJnZXREZXBlbmRlbmN5IHNlY3Rpb24gKi8KKwkJMEZD
RUZBQkQxODA1RDY2MzAwNDcyQ0U0IC8qIFBCWFRhcmdldERlcGVuZGVuY3kgKi8gPSB7CisJCQlp
c2EgPSBQQlhUYXJnZXREZXBlbmRlbmN5OworCQkJdGFyZ2V0ID0gMEZDRUZBQjUxODA1RDYxNjAw
NDcyQ0U0IC8qIGxsdm1Gb3JKU0MgKi87CisJCQl0YXJnZXRQcm94eSA9IDBGQ0VGQUJDMTgwNUQ2
NjMwMDQ3MkNFNCAvKiBQQlhDb250YWluZXJJdGVtUHJveHkgKi87CisJCX07CiAJCTBGRjkyMkQz
MTRGNDZCMkYwMDQxQTI0RSAvKiBQQlhUYXJnZXREZXBlbmRlbmN5ICovID0gewogCQkJaXNhID0g
UEJYVGFyZ2V0RGVwZW5kZW5jeTsKIAkJCXRhcmdldCA9IDBGNDY4MEE5MTRCQTdGRDkwMEJGRTI3
MiAvKiBMTEludCBPZmZzZXRzICovOwpAQCAtNTQzNyw2ICs1NTgwLDM0IEBACiAJCQl9OwogCQkJ
bmFtZSA9IFByb2R1Y3Rpb247CiAJCX07CisJCTBGQ0VGQUI4MTgwNUQ2MTYwMDQ3MkNFNCAvKiBE
ZWJ1ZyAqLyA9IHsKKwkJCWlzYSA9IFhDQnVpbGRDb25maWd1cmF0aW9uOworCQkJYmFzZUNvbmZp
Z3VyYXRpb25SZWZlcmVuY2UgPSAwRkNFRkFCRTE4MDVEODY5MDA0NzJDRTQgLyogTExWTUZvckpT
Qy54Y2NvbmZpZyAqLzsKKwkJCWJ1aWxkU2V0dGluZ3MgPSB7CisJCQl9OworCQkJbmFtZSA9IERl
YnVnOworCQl9OworCQkwRkNFRkFCOTE4MDVENjE2MDA0NzJDRTQgLyogUmVsZWFzZSAqLyA9IHsK
KwkJCWlzYSA9IFhDQnVpbGRDb25maWd1cmF0aW9uOworCQkJYmFzZUNvbmZpZ3VyYXRpb25SZWZl
cmVuY2UgPSAwRkNFRkFCRTE4MDVEODY5MDA0NzJDRTQgLyogTExWTUZvckpTQy54Y2NvbmZpZyAq
LzsKKwkJCWJ1aWxkU2V0dGluZ3MgPSB7CisJCQl9OworCQkJbmFtZSA9IFJlbGVhc2U7CisJCX07
CisJCTBGQ0VGQUJBMTgwNUQ2MTYwMDQ3MkNFNCAvKiBQcm9maWxpbmcgKi8gPSB7CisJCQlpc2Eg
PSBYQ0J1aWxkQ29uZmlndXJhdGlvbjsKKwkJCWJhc2VDb25maWd1cmF0aW9uUmVmZXJlbmNlID0g
MEZDRUZBQkUxODA1RDg2OTAwNDcyQ0U0IC8qIExMVk1Gb3JKU0MueGNjb25maWcgKi87CisJCQli
dWlsZFNldHRpbmdzID0geworCQkJfTsKKwkJCW5hbWUgPSBQcm9maWxpbmc7CisJCX07CisJCTBG
Q0VGQUJCMTgwNUQ2MTYwMDQ3MkNFNCAvKiBQcm9kdWN0aW9uICovID0geworCQkJaXNhID0gWENC
dWlsZENvbmZpZ3VyYXRpb247CisJCQliYXNlQ29uZmlndXJhdGlvblJlZmVyZW5jZSA9IDBGQ0VG
QUJFMTgwNUQ4NjkwMDQ3MkNFNCAvKiBMTFZNRm9ySlNDLnhjY29uZmlnICovOworCQkJYnVpbGRT
ZXR0aW5ncyA9IHsKKwkJCX07CisJCQluYW1lID0gUHJvZHVjdGlvbjsKKwkJfTsKIAkJMEZGOTIy
Q0IxNEY0NkIxMzAwNDFBMjRFIC8qIERlYnVnICovID0gewogCQkJaXNhID0gWENCdWlsZENvbmZp
Z3VyYXRpb247CiAJCQliYXNlQ29uZmlndXJhdGlvblJlZmVyZW5jZSA9IEJDMDIxQkYyMTM2OTAw
QzMwMEZDNTQ2NyAvKiBUb29sRXhlY3V0YWJsZS54Y2NvbmZpZyAqLzsKQEAgLTU3NDEsNiArNTkx
MiwxNyBAQAogCQkJZGVmYXVsdENvbmZpZ3VyYXRpb25Jc1Zpc2libGUgPSAwOwogCQkJZGVmYXVs
dENvbmZpZ3VyYXRpb25OYW1lID0gUHJvZHVjdGlvbjsKIAkJfTsKKwkJMEZDRUZBQjcxODA1RDYx
NjAwNDcyQ0U0IC8qIEJ1aWxkIGNvbmZpZ3VyYXRpb24gbGlzdCBmb3IgUEJYTmF0aXZlVGFyZ2V0
ICJsbHZtRm9ySlNDIiAqLyA9IHsKKwkJCWlzYSA9IFhDQ29uZmlndXJhdGlvbkxpc3Q7CisJCQli
dWlsZENvbmZpZ3VyYXRpb25zID0gKAorCQkJCTBGQ0VGQUI4MTgwNUQ2MTYwMDQ3MkNFNCAvKiBE
ZWJ1ZyAqLywKKwkJCQkwRkNFRkFCOTE4MDVENjE2MDA0NzJDRTQgLyogUmVsZWFzZSAqLywKKwkJ
CQkwRkNFRkFCQTE4MDVENjE2MDA0NzJDRTQgLyogUHJvZmlsaW5nICovLAorCQkJCTBGQ0VGQUJC
MTgwNUQ2MTYwMDQ3MkNFNCAvKiBQcm9kdWN0aW9uICovLAorCQkJKTsKKwkJCWRlZmF1bHRDb25m
aWd1cmF0aW9uSXNWaXNpYmxlID0gMDsKKwkJCWRlZmF1bHRDb25maWd1cmF0aW9uTmFtZSA9IFBy
b2R1Y3Rpb247CisJCX07CiAJCTBGRjkyMkNBMTRGNDZCMTMwMDQxQTI0RSAvKiBCdWlsZCBjb25m
aWd1cmF0aW9uIGxpc3QgZm9yIFBCWE5hdGl2ZVRhcmdldCAiSlNDTExJbnRPZmZzZXRzRXh0cmFj
dG9yIiAqLyA9IHsKIAkJCWlzYSA9IFhDQ29uZmlndXJhdGlvbkxpc3Q7CiAJCQlidWlsZENvbmZp
Z3VyYXRpb25zID0gKApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdQbGFuLmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1BsYW4uY3BwCShy
ZXZpc2lvbiAxNTcyMDQpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1BsYW4uY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC02Nyw2ICs2Nyw3IEBACiAjaW5jbHVkZSAiRlRMTGluay5oIgog
I2luY2x1ZGUgIkZUTExvd2VyREZHVG9MTFZNLmgiCiAjaW5jbHVkZSAiRlRMU3RhdGUuaCIKKyNp
bmNsdWRlICJJbml0aWFsaXplTExWTS5oIgogI2VuZGlmCiAKIG5hbWVzcGFjZSBKU0MgeyBuYW1l
c3BhY2UgREZHIHsKQEAgLTI1NSw4ICsyNTYsNyBAQCBQbGFuOjpDb21waWxhdGlvblBhdGggUGxh
bjo6Y29tcGlsZUluVGhyCiAgICAgICAgIAogICAgICAgICBkdW1wQW5kVmVyaWZ5R3JhcGgoZGZn
LCAiR3JhcGgganVzdCBiZWZvcmUgRlRMIGxvd2VyaW5nOiIpOwogICAgICAgICAKLSAgICAgICAg
Ly8gRklYTUU6IFN1cHBvcnQgT1NSIGVudHJ5LgotICAgICAgICAvLyBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTEzNjI1CisgICAgICAgIGluaXRpYWxpemVMTFZNKCk7
CiAgICAgICAgIAogICAgICAgICBGVEw6OlN0YXRlIHN0YXRlKGRmZyk7CiAgICAgICAgIEZUTDo6
bG93ZXJERkdUb0xMVk0oc3RhdGUpOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2Rpc2Fz
c2VtYmxlci9MTFZNRGlzYXNzZW1ibGVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvZGlzYXNzZW1ibGVyL0xMVk1EaXNhc3NlbWJsZXIuY3BwCShyZXZpc2lvbiAxNTcy
MDQpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGlzYXNzZW1ibGVyL0xMVk1EaXNhc3NlbWJs
ZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yOCw4ICsyOCw5IEBACiAKICNpZiBVU0UoTExWTV9E
SVNBU1NFTUJMRVIpCiAKKyNpbmNsdWRlICJJbml0aWFsaXplTExWTS5oIgorI2luY2x1ZGUgIkxM
Vk1BUEkuaCIKICNpbmNsdWRlICJNYWNyb0Fzc2VtYmxlckNvZGVSZWYuaCIKLSNpbmNsdWRlIDx3
dGYvTExWTUhlYWRlcnMuaD4KIAogbmFtZXNwYWNlIEpTQyB7CiAKQEAgLTc5LDYgKzgwLDggQEAg
Ym9vbCB0cnlUb0Rpc2Fzc2VtYmxlV2l0aExMVk0oCiAgICAgY29uc3QgTWFjcm9Bc3NlbWJsZXJD
b2RlUHRyJiBjb2RlUHRyLCBzaXplX3Qgc2l6ZSwgY29uc3QgY2hhciogcHJlZml4LCBQcmludFN0
cmVhbSYgb3V0LAogICAgIEluc3RydWN0aW9uU3Vic2V0SGludCkKIHsKKyAgICBpbml0aWFsaXpl
TExWTSgpOworICAgIAogICAgIGNvbnN0IGNoYXIqIHRyaXBsZTsKICNpZiBDUFUoWDg2XzY0KQog
ICAgIHRyaXBsZSA9ICJ4ODZfNjQtYXBwbGUtZGFyd2luIjsKQEAgLTkxLDcgKzk0LDcgQEAgYm9v
bCB0cnlUb0Rpc2Fzc2VtYmxlV2l0aExMVk0oCiAgICAgY2hhciBzeW1ib2xTdHJpbmdbc3ltYm9s
U3RyaW5nU2l6ZV07CiAgICAgCiAgICAgTExWTURpc2FzbUNvbnRleHRSZWYgZGlzYXNzZW1ibHlD
b250ZXh0ID0KLSAgICAgICAgTExWTUNyZWF0ZURpc2FzbSh0cmlwbGUsIHN5bWJvbFN0cmluZywg
MCwgMCwgc3ltYm9sTG9va3VwQ2FsbGJhY2spOworICAgICAgICBsbHZtLT5DcmVhdGVEaXNhc20o
dHJpcGxlLCBzeW1ib2xTdHJpbmcsIDAsIDAsIHN5bWJvbExvb2t1cENhbGxiYWNrKTsKICAgICBS
RUxFQVNFX0FTU0VSVChkaXNhc3NlbWJseUNvbnRleHQpOwogICAgIAogICAgIGNoYXIgcGNTdHJp
bmdbMjBdOwpAQCAtMTA1LDcgKzEwOCw3IEBAIGJvb2wgdHJ5VG9EaXNhc3NlbWJsZVdpdGhMTFZN
KAogICAgICAgICAgICAgcGNTdHJpbmcsIHNpemVvZihwY1N0cmluZyksICIweCVseCIsCiAgICAg
ICAgICAgICBzdGF0aWNfY2FzdDx1bnNpZ25lZCBsb25nPihiaXR3aXNlX2Nhc3Q8dWludHB0cl90
PihwYykpKTsKIAotICAgICAgICBzaXplX3QgaW5zdHJ1Y3Rpb25TaXplID0gTExWTURpc2FzbUlu
c3RydWN0aW9uKAorICAgICAgICBzaXplX3QgaW5zdHJ1Y3Rpb25TaXplID0gbGx2bS0+RGlzYXNt
SW5zdHJ1Y3Rpb24oCiAgICAgICAgICAgICBkaXNhc3NlbWJseUNvbnRleHQsIHBjLCBlbmQgLSBw
YywgYml0d2lzZV9jYXN0PHVpbnRwdHJfdD4ocGMpLAogICAgICAgICAgICAgaW5zdHJ1Y3Rpb25T
dHJpbmcsIHNpemVvZihpbnN0cnVjdGlvblN0cmluZykpOwogICAgICAgICAKQEAgLTExNyw3ICsx
MjAsNyBAQCBib29sIHRyeVRvRGlzYXNzZW1ibGVXaXRoTExWTSgKICAgICAgICAgb3V0LnByaW50
ZigiJXMlMTZzOiAlc1xuIiwgcHJlZml4LCBwY1N0cmluZywgaW5zdHJ1Y3Rpb25TdHJpbmcpOwog
ICAgIH0KICAgICAKLSAgICBMTFZNRGlzYXNtRGlzcG9zZShkaXNhc3NlbWJseUNvbnRleHQpOwor
ICAgIGxsdm0tPkRpc2FzbURpc3Bvc2UoZGlzYXNzZW1ibHlDb250ZXh0KTsKICAgICAKICAgICBy
ZXR1cm4gdHJ1ZTsKIH0KSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMQWJicmV2
aWF0ZWRUeXBlcy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRM
QWJicmV2aWF0ZWRUeXBlcy5oCShyZXZpc2lvbiAxNTcyMDQpCisrKyBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvZnRsL0ZUTEFiYnJldmlhdGVkVHlwZXMuaAkod29ya2luZyBjb3B5KQpAQCAtMzAsNyAr
MzAsNyBAQAogCiAjaWYgRU5BQkxFKEZUTF9KSVQpCiAKLSNpbmNsdWRlIDx3dGYvTExWTUhlYWRl
cnMuaD4KKyNpbmNsdWRlICJMTFZNQVBJLmgiCiAKIG5hbWVzcGFjZSBKU0MgeyBuYW1lc3BhY2Ug
RlRMIHsKIApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExBYmJyZXZpYXRpb25z
LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExBYmJyZXZpYXRp
b25zLmgJKHJldmlzaW9uIDE1NzIwNCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRM
QWJicmV2aWF0aW9ucy5oCSh3b3JraW5nIGNvcHkpCkBAIC0zMyw2ICszMyw3IEBACiAjaW5jbHVk
ZSAiRlRMQWJicmV2aWF0ZWRUeXBlcy5oIgogI2luY2x1ZGUgIkZUTFN3aXRjaENhc2UuaCIKICNp
bmNsdWRlICJGVExWYWx1ZUZyb21CbG9jay5oIgorI2luY2x1ZGUgIkxMVk1BUEkuaCIKICNpbmNs
dWRlIDxjc3RyaW5nPgogCiBuYW1lc3BhY2UgSlNDIHsgbmFtZXNwYWNlIEZUTCB7CkBAIC00Niwy
MiArNDcsMjIgQEAgbmFtZXNwYWNlIEpTQyB7IG5hbWVzcGFjZSBGVEwgewogI2Vycm9yICJUaGUg
RlRMIGJhY2tlbmQgYXNzdW1lcyB0aGF0IHBvaW50ZXJzIGFyZSA2NC1iaXQuIgogI2VuZGlmCiAK
LXN0YXRpYyBpbmxpbmUgTFR5cGUgdm9pZFR5cGUoTENvbnRleHQgY29udGV4dCkgeyByZXR1cm4g
TExWTVZvaWRUeXBlSW5Db250ZXh0KGNvbnRleHQpOyB9Ci1zdGF0aWMgaW5saW5lIExUeXBlIGlu
dDFUeXBlKExDb250ZXh0IGNvbnRleHQpIHsgcmV0dXJuIExMVk1JbnQxVHlwZUluQ29udGV4dChj
b250ZXh0KTsgfQotc3RhdGljIGlubGluZSBMVHlwZSBpbnQ4VHlwZShMQ29udGV4dCBjb250ZXh0
KSB7IHJldHVybiBMTFZNSW50OFR5cGVJbkNvbnRleHQoY29udGV4dCk7IH0KLXN0YXRpYyBpbmxp
bmUgTFR5cGUgaW50MTZUeXBlKExDb250ZXh0IGNvbnRleHQpIHsgcmV0dXJuIExMVk1JbnQxNlR5
cGVJbkNvbnRleHQoY29udGV4dCk7IH0KLXN0YXRpYyBpbmxpbmUgTFR5cGUgaW50MzJUeXBlKExD
b250ZXh0IGNvbnRleHQpIHsgcmV0dXJuIExMVk1JbnQzMlR5cGVJbkNvbnRleHQoY29udGV4dCk7
IH0KLXN0YXRpYyBpbmxpbmUgTFR5cGUgaW50NjRUeXBlKExDb250ZXh0IGNvbnRleHQpIHsgcmV0
dXJuIExMVk1JbnQ2NFR5cGVJbkNvbnRleHQoY29udGV4dCk7IH0KLXN0YXRpYyBpbmxpbmUgTFR5
cGUgaW50UHRyVHlwZShMQ29udGV4dCBjb250ZXh0KSB7IHJldHVybiBMTFZNSW50NjRUeXBlSW5D
b250ZXh0KGNvbnRleHQpOyB9Ci1zdGF0aWMgaW5saW5lIExUeXBlIGZsb2F0VHlwZShMQ29udGV4
dCBjb250ZXh0KSB7IHJldHVybiBMTFZNRmxvYXRUeXBlSW5Db250ZXh0KGNvbnRleHQpOyB9Ci1z
dGF0aWMgaW5saW5lIExUeXBlIGRvdWJsZVR5cGUoTENvbnRleHQgY29udGV4dCkgeyByZXR1cm4g
TExWTURvdWJsZVR5cGVJbkNvbnRleHQoY29udGV4dCk7IH0KK3N0YXRpYyBpbmxpbmUgTFR5cGUg
dm9pZFR5cGUoTENvbnRleHQgY29udGV4dCkgeyByZXR1cm4gbGx2bS0+Vm9pZFR5cGVJbkNvbnRl
eHQoY29udGV4dCk7IH0KK3N0YXRpYyBpbmxpbmUgTFR5cGUgaW50MVR5cGUoTENvbnRleHQgY29u
dGV4dCkgeyByZXR1cm4gbGx2bS0+SW50MVR5cGVJbkNvbnRleHQoY29udGV4dCk7IH0KK3N0YXRp
YyBpbmxpbmUgTFR5cGUgaW50OFR5cGUoTENvbnRleHQgY29udGV4dCkgeyByZXR1cm4gbGx2bS0+
SW50OFR5cGVJbkNvbnRleHQoY29udGV4dCk7IH0KK3N0YXRpYyBpbmxpbmUgTFR5cGUgaW50MTZU
eXBlKExDb250ZXh0IGNvbnRleHQpIHsgcmV0dXJuIGxsdm0tPkludDE2VHlwZUluQ29udGV4dChj
b250ZXh0KTsgfQorc3RhdGljIGlubGluZSBMVHlwZSBpbnQzMlR5cGUoTENvbnRleHQgY29udGV4
dCkgeyByZXR1cm4gbGx2bS0+SW50MzJUeXBlSW5Db250ZXh0KGNvbnRleHQpOyB9CitzdGF0aWMg
aW5saW5lIExUeXBlIGludDY0VHlwZShMQ29udGV4dCBjb250ZXh0KSB7IHJldHVybiBsbHZtLT5J
bnQ2NFR5cGVJbkNvbnRleHQoY29udGV4dCk7IH0KK3N0YXRpYyBpbmxpbmUgTFR5cGUgaW50UHRy
VHlwZShMQ29udGV4dCBjb250ZXh0KSB7IHJldHVybiBsbHZtLT5JbnQ2NFR5cGVJbkNvbnRleHQo
Y29udGV4dCk7IH0KK3N0YXRpYyBpbmxpbmUgTFR5cGUgZmxvYXRUeXBlKExDb250ZXh0IGNvbnRl
eHQpIHsgcmV0dXJuIGxsdm0tPkZsb2F0VHlwZUluQ29udGV4dChjb250ZXh0KTsgfQorc3RhdGlj
IGlubGluZSBMVHlwZSBkb3VibGVUeXBlKExDb250ZXh0IGNvbnRleHQpIHsgcmV0dXJuIGxsdm0t
PkRvdWJsZVR5cGVJbkNvbnRleHQoY29udGV4dCk7IH0KIAotc3RhdGljIGlubGluZSBMVHlwZSBw
b2ludGVyVHlwZShMVHlwZSB0eXBlKSB7IHJldHVybiBMTFZNUG9pbnRlclR5cGUodHlwZSwgMCk7
IH0KK3N0YXRpYyBpbmxpbmUgTFR5cGUgcG9pbnRlclR5cGUoTFR5cGUgdHlwZSkgeyByZXR1cm4g
bGx2bS0+UG9pbnRlclR5cGUodHlwZSwgMCk7IH0KIAogZW51bSBQYWNraW5nTW9kZSB7IE5vdFBh
Y2tlZCwgUGFja2VkIH07CiBzdGF0aWMgaW5saW5lIExUeXBlIHN0cnVjdFR5cGUoTENvbnRleHQg
Y29udGV4dCwgTFR5cGUqIGVsZW1lbnRUeXBlcywgdW5zaWduZWQgZWxlbWVudENvdW50LCBQYWNr
aW5nTW9kZSBwYWNraW5nID0gTm90UGFja2VkKQogewotICAgIHJldHVybiBMTFZNU3RydWN0VHlw
ZUluQ29udGV4dChjb250ZXh0LCBlbGVtZW50VHlwZXMsIGVsZW1lbnRDb3VudCwgcGFja2luZyA9
PSBQYWNrZWQpOworICAgIHJldHVybiBsbHZtLT5TdHJ1Y3RUeXBlSW5Db250ZXh0KGNvbnRleHQs
IGVsZW1lbnRUeXBlcywgZWxlbWVudENvdW50LCBwYWNraW5nID09IFBhY2tlZCk7CiB9CiBzdGF0
aWMgaW5saW5lIExUeXBlIHN0cnVjdFR5cGUoTENvbnRleHQgY29udGV4dCwgUGFja2luZ01vZGUg
cGFja2luZyA9IE5vdFBhY2tlZCkKIHsKQEAgLTgwLDcgKzgxLDcgQEAgc3RhdGljIGlubGluZSBM
VHlwZSBzdHJ1Y3RUeXBlKExDb250ZXh0IAogZW51bSBWYXJpYWRpY2l0eSB7IE5vdFZhcmlhZGlj
LCBWYXJpYWRpYyB9Owogc3RhdGljIGlubGluZSBMVHlwZSBmdW5jdGlvblR5cGUoTFR5cGUgcmV0
dXJuVHlwZSwgY29uc3QgTFR5cGUqIHBhcmFtVHlwZXMsIHVuc2lnbmVkIHBhcmFtQ291bnQsIFZh
cmlhZGljaXR5IHZhcmlhZGljaXR5KQogewotICAgIHJldHVybiBMTFZNRnVuY3Rpb25UeXBlKHJl
dHVyblR5cGUsIGNvbnN0X2Nhc3Q8TFR5cGUqPihwYXJhbVR5cGVzKSwgcGFyYW1Db3VudCwgdmFy
aWFkaWNpdHkgPT0gVmFyaWFkaWMpOworICAgIHJldHVybiBsbHZtLT5GdW5jdGlvblR5cGUocmV0
dXJuVHlwZSwgY29uc3RfY2FzdDxMVHlwZSo+KHBhcmFtVHlwZXMpLCBwYXJhbUNvdW50LCB2YXJp
YWRpY2l0eSA9PSBWYXJpYWRpYyk7CiB9CiB0ZW1wbGF0ZTx0eXBlbmFtZSBWZWN0b3JUeXBlPgog
aW5saW5lIExUeXBlIGZ1bmN0aW9uVHlwZShMVHlwZSByZXR1cm5UeXBlLCBjb25zdCBWZWN0b3JU
eXBlJiB2ZWN0b3IsIFZhcmlhZGljaXR5IHZhcmlhZGljaXR5ID0gTm90VmFyaWFkaWMpCkBAIC0x
MTEsMTIgKzExMiwxMiBAQCBzdGF0aWMgaW5saW5lIExUeXBlIGZ1bmN0aW9uVHlwZShMVHlwZSBy
CiAgICAgcmV0dXJuIGZ1bmN0aW9uVHlwZShyZXR1cm5UeXBlLCBwYXJhbVR5cGVzLCA0LCB2YXJp
YWRpY2l0eSk7CiB9CiAKLXN0YXRpYyBpbmxpbmUgTFR5cGUgdHlwZU9mKExWYWx1ZSB2YWx1ZSkg
eyByZXR1cm4gTExWTVR5cGVPZih2YWx1ZSk7IH0KK3N0YXRpYyBpbmxpbmUgTFR5cGUgdHlwZU9m
KExWYWx1ZSB2YWx1ZSkgeyByZXR1cm4gbGx2bS0+VHlwZU9mKHZhbHVlKTsgfQogCi1zdGF0aWMg
aW5saW5lIHVuc2lnbmVkIG1kS2luZElEKExDb250ZXh0IGNvbnRleHQsIGNvbnN0IGNoYXIqIHN0
cmluZykgeyByZXR1cm4gTExWTUdldE1ES2luZElESW5Db250ZXh0KGNvbnRleHQsIHN0cmluZywg
c3RkOjpzdHJsZW4oc3RyaW5nKSk7IH0KLXN0YXRpYyBpbmxpbmUgTFZhbHVlIG1kU3RyaW5nKExD
b250ZXh0IGNvbnRleHQsIGNvbnN0IGNoYXIqIHN0cmluZywgdW5zaWduZWQgbGVuZ3RoKSB7IHJl
dHVybiBMTFZNTURTdHJpbmdJbkNvbnRleHQoY29udGV4dCwgc3RyaW5nLCBsZW5ndGgpOyB9Citz
dGF0aWMgaW5saW5lIHVuc2lnbmVkIG1kS2luZElEKExDb250ZXh0IGNvbnRleHQsIGNvbnN0IGNo
YXIqIHN0cmluZykgeyByZXR1cm4gbGx2bS0+R2V0TURLaW5kSURJbkNvbnRleHQoY29udGV4dCwg
c3RyaW5nLCBzdGQ6OnN0cmxlbihzdHJpbmcpKTsgfQorc3RhdGljIGlubGluZSBMVmFsdWUgbWRT
dHJpbmcoTENvbnRleHQgY29udGV4dCwgY29uc3QgY2hhciogc3RyaW5nLCB1bnNpZ25lZCBsZW5n
dGgpIHsgcmV0dXJuIGxsdm0tPk1EU3RyaW5nSW5Db250ZXh0KGNvbnRleHQsIHN0cmluZywgbGVu
Z3RoKTsgfQogc3RhdGljIGlubGluZSBMVmFsdWUgbWRTdHJpbmcoTENvbnRleHQgY29udGV4dCwg
Y29uc3QgY2hhciogc3RyaW5nKSB7IHJldHVybiBtZFN0cmluZyhjb250ZXh0LCBzdHJpbmcsIHN0
ZDo6c3RybGVuKHN0cmluZykpOyB9Ci1zdGF0aWMgaW5saW5lIExWYWx1ZSBtZE5vZGUoTENvbnRl
eHQgY29udGV4dCwgTFZhbHVlKiBhcmdzLCB1bnNpZ25lZCBudW1BcmdzKSB7IHJldHVybiBMTFZN
TUROb2RlSW5Db250ZXh0KGNvbnRleHQsIGFyZ3MsIG51bUFyZ3MpOyB9CitzdGF0aWMgaW5saW5l
IExWYWx1ZSBtZE5vZGUoTENvbnRleHQgY29udGV4dCwgTFZhbHVlKiBhcmdzLCB1bnNpZ25lZCBu
dW1BcmdzKSB7IHJldHVybiBsbHZtLT5NRE5vZGVJbkNvbnRleHQoY29udGV4dCwgYXJncywgbnVt
QXJncyk7IH0KIHN0YXRpYyBpbmxpbmUgTFZhbHVlIG1kTm9kZShMQ29udGV4dCBjb250ZXh0KSB7
IHJldHVybiBtZE5vZGUoY29udGV4dCwgMCwgMCk7IH0KIHN0YXRpYyBpbmxpbmUgTFZhbHVlIG1k
Tm9kZShMQ29udGV4dCBjb250ZXh0LCBMVmFsdWUgYXJnMSkgeyByZXR1cm4gbWROb2RlKGNvbnRl
eHQsICZhcmcxLCAxKTsgfQogc3RhdGljIGlubGluZSBMVmFsdWUgbWROb2RlKExDb250ZXh0IGNv
bnRleHQsIExWYWx1ZSBhcmcxLCBMVmFsdWUgYXJnMikKQEAgLTEyNSwxMSArMTI2LDExIEBAIHN0
YXRpYyBpbmxpbmUgTFZhbHVlIG1kTm9kZShMQ29udGV4dCBjb24KICAgICByZXR1cm4gbWROb2Rl
KGNvbnRleHQsIGFyZ3MsIDIpOwogfQogCi1zdGF0aWMgaW5saW5lIHZvaWQgc2V0TWV0YWRhdGEo
TFZhbHVlIGluc3RydWN0aW9uLCB1bnNpZ25lZCBraW5kLCBMVmFsdWUgbWV0YWRhdGEpIHsgTExW
TVNldE1ldGFkYXRhKGluc3RydWN0aW9uLCBraW5kLCBtZXRhZGF0YSk7IH0KK3N0YXRpYyBpbmxp
bmUgdm9pZCBzZXRNZXRhZGF0YShMVmFsdWUgaW5zdHJ1Y3Rpb24sIHVuc2lnbmVkIGtpbmQsIExW
YWx1ZSBtZXRhZGF0YSkgeyBsbHZtLT5TZXRNZXRhZGF0YShpbnN0cnVjdGlvbiwga2luZCwgbWV0
YWRhdGEpOyB9CiAKLXN0YXRpYyBpbmxpbmUgTFZhbHVlIGFkZEZ1bmN0aW9uKExNb2R1bGUgbW9k
dWxlLCBjb25zdCBjaGFyKiBuYW1lLCBMVHlwZSB0eXBlKSB7IHJldHVybiBMTFZNQWRkRnVuY3Rp
b24obW9kdWxlLCBuYW1lLCB0eXBlKTsgfQotc3RhdGljIGlubGluZSB2b2lkIHNldExpbmthZ2Uo
TFZhbHVlIGdsb2JhbCwgTExpbmthZ2UgbGlua2FnZSkgeyBMTFZNU2V0TGlua2FnZShnbG9iYWws
IGxpbmthZ2UpOyB9Ci1zdGF0aWMgaW5saW5lIHZvaWQgc2V0RnVuY3Rpb25DYWxsaW5nQ29udihM
VmFsdWUgZnVuY3Rpb24sIExDYWxsQ29udiBjb252ZW50aW9uKSB7IExMVk1TZXRGdW5jdGlvbkNh
bGxDb252KGZ1bmN0aW9uLCBjb252ZW50aW9uKTsgfQorc3RhdGljIGlubGluZSBMVmFsdWUgYWRk
RnVuY3Rpb24oTE1vZHVsZSBtb2R1bGUsIGNvbnN0IGNoYXIqIG5hbWUsIExUeXBlIHR5cGUpIHsg
cmV0dXJuIGxsdm0tPkFkZEZ1bmN0aW9uKG1vZHVsZSwgbmFtZSwgdHlwZSk7IH0KK3N0YXRpYyBp
bmxpbmUgdm9pZCBzZXRMaW5rYWdlKExWYWx1ZSBnbG9iYWwsIExMaW5rYWdlIGxpbmthZ2UpIHsg
bGx2bS0+U2V0TGlua2FnZShnbG9iYWwsIGxpbmthZ2UpOyB9CitzdGF0aWMgaW5saW5lIHZvaWQg
c2V0RnVuY3Rpb25DYWxsaW5nQ29udihMVmFsdWUgZnVuY3Rpb24sIExDYWxsQ29udiBjb252ZW50
aW9uKSB7IGxsdm0tPlNldEZ1bmN0aW9uQ2FsbENvbnYoZnVuY3Rpb24sIGNvbnZlbnRpb24pOyB9
CiAKIHN0YXRpYyBpbmxpbmUgTFZhbHVlIGFkZEV4dGVybkZ1bmN0aW9uKExNb2R1bGUgbW9kdWxl
LCBjb25zdCBjaGFyKiBuYW1lLCBMVHlwZSB0eXBlKQogewpAQCAtMTM4LDIxICsxMzksMjEgQEAg
c3RhdGljIGlubGluZSBMVmFsdWUgYWRkRXh0ZXJuRnVuY3Rpb24oTAogICAgIHJldHVybiByZXN1
bHQ7CiB9CiAKLXN0YXRpYyBpbmxpbmUgTFZhbHVlIGdldFBhcmFtKExWYWx1ZSBmdW5jdGlvbiwg
dW5zaWduZWQgaW5kZXgpIHsgcmV0dXJuIExMVk1HZXRQYXJhbShmdW5jdGlvbiwgaW5kZXgpOyB9
CitzdGF0aWMgaW5saW5lIExWYWx1ZSBnZXRQYXJhbShMVmFsdWUgZnVuY3Rpb24sIHVuc2lnbmVk
IGluZGV4KSB7IHJldHVybiBsbHZtLT5HZXRQYXJhbShmdW5jdGlvbiwgaW5kZXgpOyB9CiAKIGVu
dW0gQml0RXh0ZW5zaW9uIHsgWmVyb0V4dGVuZCwgU2lnbkV4dGVuZCB9Owotc3RhdGljIGlubGlu
ZSBMVmFsdWUgY29uc3RJbnQoTFR5cGUgdHlwZSwgdW5zaWduZWQgbG9uZyBsb25nIHZhbHVlLCBC
aXRFeHRlbnNpb24gZXh0ZW5zaW9uID0gWmVyb0V4dGVuZCkgeyByZXR1cm4gTExWTUNvbnN0SW50
KHR5cGUsIHZhbHVlLCBleHRlbnNpb24gPT0gU2lnbkV4dGVuZCk7IH0KLXN0YXRpYyBpbmxpbmUg
TFZhbHVlIGNvbnN0UmVhbChMVHlwZSB0eXBlLCBkb3VibGUgdmFsdWUpIHsgcmV0dXJuIExMVk1D
b25zdFJlYWwodHlwZSwgdmFsdWUpOyB9Ci1zdGF0aWMgaW5saW5lIExWYWx1ZSBjb25zdEludFRv
UHRyKExWYWx1ZSB2YWx1ZSwgTFR5cGUgdHlwZSkgeyByZXR1cm4gTExWTUNvbnN0SW50VG9QdHIo
dmFsdWUsIHR5cGUpOyB9Ci1zdGF0aWMgaW5saW5lIExWYWx1ZSBjb25zdEJpdENhc3QoTFZhbHVl
IHZhbHVlLCBMVHlwZSB0eXBlKSB7IHJldHVybiBMTFZNQ29uc3RCaXRDYXN0KHZhbHVlLCB0eXBl
KTsgfQorc3RhdGljIGlubGluZSBMVmFsdWUgY29uc3RJbnQoTFR5cGUgdHlwZSwgdW5zaWduZWQg
bG9uZyBsb25nIHZhbHVlLCBCaXRFeHRlbnNpb24gZXh0ZW5zaW9uID0gWmVyb0V4dGVuZCkgeyBy
ZXR1cm4gbGx2bS0+Q29uc3RJbnQodHlwZSwgdmFsdWUsIGV4dGVuc2lvbiA9PSBTaWduRXh0ZW5k
KTsgfQorc3RhdGljIGlubGluZSBMVmFsdWUgY29uc3RSZWFsKExUeXBlIHR5cGUsIGRvdWJsZSB2
YWx1ZSkgeyByZXR1cm4gbGx2bS0+Q29uc3RSZWFsKHR5cGUsIHZhbHVlKTsgfQorc3RhdGljIGlu
bGluZSBMVmFsdWUgY29uc3RJbnRUb1B0cihMVmFsdWUgdmFsdWUsIExUeXBlIHR5cGUpIHsgcmV0
dXJuIGxsdm0tPkNvbnN0SW50VG9QdHIodmFsdWUsIHR5cGUpOyB9CitzdGF0aWMgaW5saW5lIExW
YWx1ZSBjb25zdEJpdENhc3QoTFZhbHVlIHZhbHVlLCBMVHlwZSB0eXBlKSB7IHJldHVybiBsbHZt
LT5Db25zdEJpdENhc3QodmFsdWUsIHR5cGUpOyB9CiAKLXN0YXRpYyBpbmxpbmUgTEJhc2ljQmxv
Y2sgYXBwZW5kQmFzaWNCbG9jayhMQ29udGV4dCBjb250ZXh0LCBMVmFsdWUgZnVuY3Rpb24sIGNv
bnN0IGNoYXIqIG5hbWUgPSAiIikgeyByZXR1cm4gTExWTUFwcGVuZEJhc2ljQmxvY2tJbkNvbnRl
eHQoY29udGV4dCwgZnVuY3Rpb24sIG5hbWUpOyB9Ci1zdGF0aWMgaW5saW5lIExCYXNpY0Jsb2Nr
IGluc2VydEJhc2ljQmxvY2soTENvbnRleHQgY29udGV4dCwgTEJhc2ljQmxvY2sgYmVmb3JlQmFz
aWNCbG9jaywgY29uc3QgY2hhciogbmFtZSA9ICIiKSB7IHJldHVybiBMTFZNSW5zZXJ0QmFzaWNC
bG9ja0luQ29udGV4dChjb250ZXh0LCBiZWZvcmVCYXNpY0Jsb2NrLCBuYW1lKTsgfQorc3RhdGlj
IGlubGluZSBMQmFzaWNCbG9jayBhcHBlbmRCYXNpY0Jsb2NrKExDb250ZXh0IGNvbnRleHQsIExW
YWx1ZSBmdW5jdGlvbiwgY29uc3QgY2hhciogbmFtZSA9ICIiKSB7IHJldHVybiBsbHZtLT5BcHBl
bmRCYXNpY0Jsb2NrSW5Db250ZXh0KGNvbnRleHQsIGZ1bmN0aW9uLCBuYW1lKTsgfQorc3RhdGlj
IGlubGluZSBMQmFzaWNCbG9jayBpbnNlcnRCYXNpY0Jsb2NrKExDb250ZXh0IGNvbnRleHQsIExC
YXNpY0Jsb2NrIGJlZm9yZUJhc2ljQmxvY2ssIGNvbnN0IGNoYXIqIG5hbWUgPSAiIikgeyByZXR1
cm4gbGx2bS0+SW5zZXJ0QmFzaWNCbG9ja0luQ29udGV4dChjb250ZXh0LCBiZWZvcmVCYXNpY0Js
b2NrLCBuYW1lKTsgfQogCi1zdGF0aWMgaW5saW5lIExWYWx1ZSBidWlsZFBoaShMQnVpbGRlciBi
dWlsZGVyLCBMVHlwZSB0eXBlKSB7IHJldHVybiBMTFZNQnVpbGRQaGkoYnVpbGRlciwgdHlwZSwg
IiIpOyB9CitzdGF0aWMgaW5saW5lIExWYWx1ZSBidWlsZFBoaShMQnVpbGRlciBidWlsZGVyLCBM
VHlwZSB0eXBlKSB7IHJldHVybiBsbHZtLT5CdWlsZFBoaShidWlsZGVyLCB0eXBlLCAiIik7IH0K
IHN0YXRpYyBpbmxpbmUgdm9pZCBhZGRJbmNvbWluZyhMVmFsdWUgcGhpLCBjb25zdCBMVmFsdWUq
IHZhbHVlcywgY29uc3QgTEJhc2ljQmxvY2sqIGJsb2NrcywgdW5zaWduZWQgbnVtUHJlZGVjZXNz
b3JzKQogewotICAgIExMVk1BZGRJbmNvbWluZyhwaGksIGNvbnN0X2Nhc3Q8TFZhbHVlKj4odmFs
dWVzKSwgY29uc3RfY2FzdDxMQmFzaWNCbG9jayo+KGJsb2NrcyksIG51bVByZWRlY2Vzc29ycyk7
CisgICAgbGx2bS0+QWRkSW5jb21pbmcocGhpLCBjb25zdF9jYXN0PExWYWx1ZSo+KHZhbHVlcyks
IGNvbnN0X2Nhc3Q8TEJhc2ljQmxvY2sqPihibG9ja3MpLCBudW1QcmVkZWNlc3NvcnMpOwogfQog
c3RhdGljIGlubGluZSB2b2lkIGFkZEluY29taW5nKExWYWx1ZSBwaGksIFZhbHVlRnJvbUJsb2Nr
IHZhbHVlMSkKIHsKQEAgLTE4MCw0NCArMTgxLDQ0IEBAIHN0YXRpYyBpbmxpbmUgTFZhbHVlIGJ1
aWxkUGhpKAogICAgIHJldHVybiByZXN1bHQ7CiB9CiAKLXN0YXRpYyBpbmxpbmUgTFZhbHVlIGJ1
aWxkQWxsb2NhKExCdWlsZGVyIGJ1aWxkZXIsIExUeXBlIHR5cGUpIHsgcmV0dXJuIExMVk1CdWls
ZEFsbG9jYShidWlsZGVyLCB0eXBlLCAiIik7IH0KLXN0YXRpYyBpbmxpbmUgTFZhbHVlIGJ1aWxk
QWRkKExCdWlsZGVyIGJ1aWxkZXIsIExWYWx1ZSBsZWZ0LCBMVmFsdWUgcmlnaHQpIHsgcmV0dXJu
IExMVk1CdWlsZEFkZChidWlsZGVyLCBsZWZ0LCByaWdodCwgIiIpOyB9Ci1zdGF0aWMgaW5saW5l
IExWYWx1ZSBidWlsZFN1YihMQnVpbGRlciBidWlsZGVyLCBMVmFsdWUgbGVmdCwgTFZhbHVlIHJp
Z2h0KSB7IHJldHVybiBMTFZNQnVpbGRTdWIoYnVpbGRlciwgbGVmdCwgcmlnaHQsICIiKTsgfQot
c3RhdGljIGlubGluZSBMVmFsdWUgYnVpbGRNdWwoTEJ1aWxkZXIgYnVpbGRlciwgTFZhbHVlIGxl
ZnQsIExWYWx1ZSByaWdodCkgeyByZXR1cm4gTExWTUJ1aWxkTXVsKGJ1aWxkZXIsIGxlZnQsIHJp
Z2h0LCAiIik7IH0KLXN0YXRpYyBpbmxpbmUgTFZhbHVlIGJ1aWxkRGl2KExCdWlsZGVyIGJ1aWxk
ZXIsIExWYWx1ZSBsZWZ0LCBMVmFsdWUgcmlnaHQpIHsgcmV0dXJuIExMVk1CdWlsZFNEaXYoYnVp
bGRlciwgbGVmdCwgcmlnaHQsICIiKTsgfQotc3RhdGljIGlubGluZSBMVmFsdWUgYnVpbGRSZW0o
TEJ1aWxkZXIgYnVpbGRlciwgTFZhbHVlIGxlZnQsIExWYWx1ZSByaWdodCkgeyByZXR1cm4gTExW
TUJ1aWxkU1JlbShidWlsZGVyLCBsZWZ0LCByaWdodCwgIiIpOyB9Ci1zdGF0aWMgaW5saW5lIExW
YWx1ZSBidWlsZE5lZyhMQnVpbGRlciBidWlsZGVyLCBMVmFsdWUgdmFsdWUpIHsgcmV0dXJuIExM
Vk1CdWlsZE5lZyhidWlsZGVyLCB2YWx1ZSwgIiIpOyB9Ci1zdGF0aWMgaW5saW5lIExWYWx1ZSBi
dWlsZEZBZGQoTEJ1aWxkZXIgYnVpbGRlciwgTFZhbHVlIGxlZnQsIExWYWx1ZSByaWdodCkgeyBy
ZXR1cm4gTExWTUJ1aWxkRkFkZChidWlsZGVyLCBsZWZ0LCByaWdodCwgIiIpOyB9Ci1zdGF0aWMg
aW5saW5lIExWYWx1ZSBidWlsZEZTdWIoTEJ1aWxkZXIgYnVpbGRlciwgTFZhbHVlIGxlZnQsIExW
YWx1ZSByaWdodCkgeyByZXR1cm4gTExWTUJ1aWxkRlN1YihidWlsZGVyLCBsZWZ0LCByaWdodCwg
IiIpOyB9Ci1zdGF0aWMgaW5saW5lIExWYWx1ZSBidWlsZEZNdWwoTEJ1aWxkZXIgYnVpbGRlciwg
TFZhbHVlIGxlZnQsIExWYWx1ZSByaWdodCkgeyByZXR1cm4gTExWTUJ1aWxkRk11bChidWlsZGVy
LCBsZWZ0LCByaWdodCwgIiIpOyB9Ci1zdGF0aWMgaW5saW5lIExWYWx1ZSBidWlsZEZEaXYoTEJ1
aWxkZXIgYnVpbGRlciwgTFZhbHVlIGxlZnQsIExWYWx1ZSByaWdodCkgeyByZXR1cm4gTExWTUJ1
aWxkRkRpdihidWlsZGVyLCBsZWZ0LCByaWdodCwgIiIpOyB9Ci1zdGF0aWMgaW5saW5lIExWYWx1
ZSBidWlsZEZSZW0oTEJ1aWxkZXIgYnVpbGRlciwgTFZhbHVlIGxlZnQsIExWYWx1ZSByaWdodCkg
eyByZXR1cm4gTExWTUJ1aWxkRlJlbShidWlsZGVyLCBsZWZ0LCByaWdodCwgIiIpOyB9Ci1zdGF0
aWMgaW5saW5lIExWYWx1ZSBidWlsZEZOZWcoTEJ1aWxkZXIgYnVpbGRlciwgTFZhbHVlIHZhbHVl
KSB7IHJldHVybiBMTFZNQnVpbGRGTmVnKGJ1aWxkZXIsIHZhbHVlLCAiIik7IH0KLXN0YXRpYyBp
bmxpbmUgTFZhbHVlIGJ1aWxkQW5kKExCdWlsZGVyIGJ1aWxkZXIsIExWYWx1ZSBsZWZ0LCBMVmFs
dWUgcmlnaHQpIHsgcmV0dXJuIExMVk1CdWlsZEFuZChidWlsZGVyLCBsZWZ0LCByaWdodCwgIiIp
OyB9Ci1zdGF0aWMgaW5saW5lIExWYWx1ZSBidWlsZE9yKExCdWlsZGVyIGJ1aWxkZXIsIExWYWx1
ZSBsZWZ0LCBMVmFsdWUgcmlnaHQpIHsgcmV0dXJuIExMVk1CdWlsZE9yKGJ1aWxkZXIsIGxlZnQs
IHJpZ2h0LCAiIik7IH0KLXN0YXRpYyBpbmxpbmUgTFZhbHVlIGJ1aWxkWG9yKExCdWlsZGVyIGJ1
aWxkZXIsIExWYWx1ZSBsZWZ0LCBMVmFsdWUgcmlnaHQpIHsgcmV0dXJuIExMVk1CdWlsZFhvcihi
dWlsZGVyLCBsZWZ0LCByaWdodCwgIiIpOyB9Ci1zdGF0aWMgaW5saW5lIExWYWx1ZSBidWlsZFNo
bChMQnVpbGRlciBidWlsZGVyLCBMVmFsdWUgbGVmdCwgTFZhbHVlIHJpZ2h0KSB7IHJldHVybiBM
TFZNQnVpbGRTaGwoYnVpbGRlciwgbGVmdCwgcmlnaHQsICIiKTsgfQotc3RhdGljIGlubGluZSBM
VmFsdWUgYnVpbGRBU2hyKExCdWlsZGVyIGJ1aWxkZXIsIExWYWx1ZSBsZWZ0LCBMVmFsdWUgcmln
aHQpIHsgcmV0dXJuIExMVk1CdWlsZEFTaHIoYnVpbGRlciwgbGVmdCwgcmlnaHQsICIiKTsgfQot
c3RhdGljIGlubGluZSBMVmFsdWUgYnVpbGRMU2hyKExCdWlsZGVyIGJ1aWxkZXIsIExWYWx1ZSBs
ZWZ0LCBMVmFsdWUgcmlnaHQpIHsgcmV0dXJuIExMVk1CdWlsZExTaHIoYnVpbGRlciwgbGVmdCwg
cmlnaHQsICIiKTsgfQotc3RhdGljIGlubGluZSBMVmFsdWUgYnVpbGROb3QoTEJ1aWxkZXIgYnVp
bGRlciwgTFZhbHVlIHZhbHVlKSB7IHJldHVybiBMTFZNQnVpbGROb3QoYnVpbGRlciwgdmFsdWUs
ICIiKTsgfQotc3RhdGljIGlubGluZSBMVmFsdWUgYnVpbGRMb2FkKExCdWlsZGVyIGJ1aWxkZXIs
IExWYWx1ZSBwb2ludGVyKSB7IHJldHVybiBMTFZNQnVpbGRMb2FkKGJ1aWxkZXIsIHBvaW50ZXIs
ICIiKTsgfQotc3RhdGljIGlubGluZSBMVmFsdWUgYnVpbGRTdG9yZShMQnVpbGRlciBidWlsZGVy
LCBMVmFsdWUgdmFsdWUsIExWYWx1ZSBwb2ludGVyKSB7IHJldHVybiBMTFZNQnVpbGRTdG9yZShi
dWlsZGVyLCB2YWx1ZSwgcG9pbnRlcik7IH0KLXN0YXRpYyBpbmxpbmUgTFZhbHVlIGJ1aWxkU0V4
dChMQnVpbGRlciBidWlsZGVyLCBMVmFsdWUgdmFsdWUsIExUeXBlIHR5cGUpIHsgcmV0dXJuIExM
Vk1CdWlsZFNFeHQoYnVpbGRlciwgdmFsdWUsIHR5cGUsICIiKTsgfQotc3RhdGljIGlubGluZSBM
VmFsdWUgYnVpbGRaRXh0KExCdWlsZGVyIGJ1aWxkZXIsIExWYWx1ZSB2YWx1ZSwgTFR5cGUgdHlw
ZSkgeyByZXR1cm4gTExWTUJ1aWxkWkV4dChidWlsZGVyLCB2YWx1ZSwgdHlwZSwgIiIpOyB9Ci1z
dGF0aWMgaW5saW5lIExWYWx1ZSBidWlsZEZQVG9TSShMQnVpbGRlciBidWlsZGVyLCBMVmFsdWUg
dmFsdWUsIExUeXBlIHR5cGUpIHsgcmV0dXJuIExMVk1CdWlsZEZQVG9TSShidWlsZGVyLCB2YWx1
ZSwgdHlwZSwgIiIpOyB9Ci1zdGF0aWMgaW5saW5lIExWYWx1ZSBidWlsZEZQVG9VSShMQnVpbGRl
ciBidWlsZGVyLCBMVmFsdWUgdmFsdWUsIExUeXBlIHR5cGUpIHsgcmV0dXJuIExMVk1CdWlsZEZQ
VG9VSShidWlsZGVyLCB2YWx1ZSwgdHlwZSwgIiIpOyB9Ci1zdGF0aWMgaW5saW5lIExWYWx1ZSBi
dWlsZFNJVG9GUChMQnVpbGRlciBidWlsZGVyLCBMVmFsdWUgdmFsdWUsIExUeXBlIHR5cGUpIHsg
cmV0dXJuIExMVk1CdWlsZFNJVG9GUChidWlsZGVyLCB2YWx1ZSwgdHlwZSwgIiIpOyB9Ci1zdGF0
aWMgaW5saW5lIExWYWx1ZSBidWlsZFVJVG9GUChMQnVpbGRlciBidWlsZGVyLCBMVmFsdWUgdmFs
dWUsIExUeXBlIHR5cGUpIHsgcmV0dXJuIExMVk1CdWlsZFVJVG9GUChidWlsZGVyLCB2YWx1ZSwg
dHlwZSwgIiIpOyB9Ci1zdGF0aWMgaW5saW5lIExWYWx1ZSBidWlsZEludENhc3QoTEJ1aWxkZXIg
YnVpbGRlciwgTFZhbHVlIHZhbHVlLCBMVHlwZSB0eXBlKSB7IHJldHVybiBMTFZNQnVpbGRJbnRD
YXN0KGJ1aWxkZXIsIHZhbHVlLCB0eXBlLCAiIik7IH0KLXN0YXRpYyBpbmxpbmUgTFZhbHVlIGJ1
aWxkRlBDYXN0KExCdWlsZGVyIGJ1aWxkZXIsIExWYWx1ZSB2YWx1ZSwgTFR5cGUgdHlwZSkgeyBy
ZXR1cm4gTExWTUJ1aWxkRlBDYXN0KGJ1aWxkZXIsIHZhbHVlLCB0eXBlLCAiIik7IH0KLXN0YXRp
YyBpbmxpbmUgTFZhbHVlIGJ1aWxkSW50VG9QdHIoTEJ1aWxkZXIgYnVpbGRlciwgTFZhbHVlIHZh
bHVlLCBMVHlwZSB0eXBlKSB7IHJldHVybiBMTFZNQnVpbGRJbnRUb1B0cihidWlsZGVyLCB2YWx1
ZSwgdHlwZSwgIiIpOyB9Ci1zdGF0aWMgaW5saW5lIExWYWx1ZSBidWlsZFB0clRvSW50KExCdWls
ZGVyIGJ1aWxkZXIsIExWYWx1ZSB2YWx1ZSwgTFR5cGUgdHlwZSkgeyByZXR1cm4gTExWTUJ1aWxk
UHRyVG9JbnQoYnVpbGRlciwgdmFsdWUsIHR5cGUsICIiKTsgfQotc3RhdGljIGlubGluZSBMVmFs
dWUgYnVpbGRCaXRDYXN0KExCdWlsZGVyIGJ1aWxkZXIsIExWYWx1ZSB2YWx1ZSwgTFR5cGUgdHlw
ZSkgeyByZXR1cm4gTExWTUJ1aWxkQml0Q2FzdChidWlsZGVyLCB2YWx1ZSwgdHlwZSwgIiIpOyB9
Ci1zdGF0aWMgaW5saW5lIExWYWx1ZSBidWlsZElDbXAoTEJ1aWxkZXIgYnVpbGRlciwgTEludFBy
ZWRpY2F0ZSBjb25kLCBMVmFsdWUgbGVmdCwgTFZhbHVlIHJpZ2h0KSB7IHJldHVybiBMTFZNQnVp
bGRJQ21wKGJ1aWxkZXIsIGNvbmQsIGxlZnQsIHJpZ2h0LCAiIik7IH0KLXN0YXRpYyBpbmxpbmUg
TFZhbHVlIGJ1aWxkRkNtcChMQnVpbGRlciBidWlsZGVyLCBMUmVhbFByZWRpY2F0ZSBjb25kLCBM
VmFsdWUgbGVmdCwgTFZhbHVlIHJpZ2h0KSB7IHJldHVybiBMTFZNQnVpbGRGQ21wKGJ1aWxkZXIs
IGNvbmQsIGxlZnQsIHJpZ2h0LCAiIik7IH0KK3N0YXRpYyBpbmxpbmUgTFZhbHVlIGJ1aWxkQWxs
b2NhKExCdWlsZGVyIGJ1aWxkZXIsIExUeXBlIHR5cGUpIHsgcmV0dXJuIGxsdm0tPkJ1aWxkQWxs
b2NhKGJ1aWxkZXIsIHR5cGUsICIiKTsgfQorc3RhdGljIGlubGluZSBMVmFsdWUgYnVpbGRBZGQo
TEJ1aWxkZXIgYnVpbGRlciwgTFZhbHVlIGxlZnQsIExWYWx1ZSByaWdodCkgeyByZXR1cm4gbGx2
bS0+QnVpbGRBZGQoYnVpbGRlciwgbGVmdCwgcmlnaHQsICIiKTsgfQorc3RhdGljIGlubGluZSBM
VmFsdWUgYnVpbGRTdWIoTEJ1aWxkZXIgYnVpbGRlciwgTFZhbHVlIGxlZnQsIExWYWx1ZSByaWdo
dCkgeyByZXR1cm4gbGx2bS0+QnVpbGRTdWIoYnVpbGRlciwgbGVmdCwgcmlnaHQsICIiKTsgfQor
c3RhdGljIGlubGluZSBMVmFsdWUgYnVpbGRNdWwoTEJ1aWxkZXIgYnVpbGRlciwgTFZhbHVlIGxl
ZnQsIExWYWx1ZSByaWdodCkgeyByZXR1cm4gbGx2bS0+QnVpbGRNdWwoYnVpbGRlciwgbGVmdCwg
cmlnaHQsICIiKTsgfQorc3RhdGljIGlubGluZSBMVmFsdWUgYnVpbGREaXYoTEJ1aWxkZXIgYnVp
bGRlciwgTFZhbHVlIGxlZnQsIExWYWx1ZSByaWdodCkgeyByZXR1cm4gbGx2bS0+QnVpbGRTRGl2
KGJ1aWxkZXIsIGxlZnQsIHJpZ2h0LCAiIik7IH0KK3N0YXRpYyBpbmxpbmUgTFZhbHVlIGJ1aWxk
UmVtKExCdWlsZGVyIGJ1aWxkZXIsIExWYWx1ZSBsZWZ0LCBMVmFsdWUgcmlnaHQpIHsgcmV0dXJu
IGxsdm0tPkJ1aWxkU1JlbShidWlsZGVyLCBsZWZ0LCByaWdodCwgIiIpOyB9CitzdGF0aWMgaW5s
aW5lIExWYWx1ZSBidWlsZE5lZyhMQnVpbGRlciBidWlsZGVyLCBMVmFsdWUgdmFsdWUpIHsgcmV0
dXJuIGxsdm0tPkJ1aWxkTmVnKGJ1aWxkZXIsIHZhbHVlLCAiIik7IH0KK3N0YXRpYyBpbmxpbmUg
TFZhbHVlIGJ1aWxkRkFkZChMQnVpbGRlciBidWlsZGVyLCBMVmFsdWUgbGVmdCwgTFZhbHVlIHJp
Z2h0KSB7IHJldHVybiBsbHZtLT5CdWlsZEZBZGQoYnVpbGRlciwgbGVmdCwgcmlnaHQsICIiKTsg
fQorc3RhdGljIGlubGluZSBMVmFsdWUgYnVpbGRGU3ViKExCdWlsZGVyIGJ1aWxkZXIsIExWYWx1
ZSBsZWZ0LCBMVmFsdWUgcmlnaHQpIHsgcmV0dXJuIGxsdm0tPkJ1aWxkRlN1YihidWlsZGVyLCBs
ZWZ0LCByaWdodCwgIiIpOyB9CitzdGF0aWMgaW5saW5lIExWYWx1ZSBidWlsZEZNdWwoTEJ1aWxk
ZXIgYnVpbGRlciwgTFZhbHVlIGxlZnQsIExWYWx1ZSByaWdodCkgeyByZXR1cm4gbGx2bS0+QnVp
bGRGTXVsKGJ1aWxkZXIsIGxlZnQsIHJpZ2h0LCAiIik7IH0KK3N0YXRpYyBpbmxpbmUgTFZhbHVl
IGJ1aWxkRkRpdihMQnVpbGRlciBidWlsZGVyLCBMVmFsdWUgbGVmdCwgTFZhbHVlIHJpZ2h0KSB7
IHJldHVybiBsbHZtLT5CdWlsZEZEaXYoYnVpbGRlciwgbGVmdCwgcmlnaHQsICIiKTsgfQorc3Rh
dGljIGlubGluZSBMVmFsdWUgYnVpbGRGUmVtKExCdWlsZGVyIGJ1aWxkZXIsIExWYWx1ZSBsZWZ0
LCBMVmFsdWUgcmlnaHQpIHsgcmV0dXJuIGxsdm0tPkJ1aWxkRlJlbShidWlsZGVyLCBsZWZ0LCBy
aWdodCwgIiIpOyB9CitzdGF0aWMgaW5saW5lIExWYWx1ZSBidWlsZEZOZWcoTEJ1aWxkZXIgYnVp
bGRlciwgTFZhbHVlIHZhbHVlKSB7IHJldHVybiBsbHZtLT5CdWlsZEZOZWcoYnVpbGRlciwgdmFs
dWUsICIiKTsgfQorc3RhdGljIGlubGluZSBMVmFsdWUgYnVpbGRBbmQoTEJ1aWxkZXIgYnVpbGRl
ciwgTFZhbHVlIGxlZnQsIExWYWx1ZSByaWdodCkgeyByZXR1cm4gbGx2bS0+QnVpbGRBbmQoYnVp
bGRlciwgbGVmdCwgcmlnaHQsICIiKTsgfQorc3RhdGljIGlubGluZSBMVmFsdWUgYnVpbGRPcihM
QnVpbGRlciBidWlsZGVyLCBMVmFsdWUgbGVmdCwgTFZhbHVlIHJpZ2h0KSB7IHJldHVybiBsbHZt
LT5CdWlsZE9yKGJ1aWxkZXIsIGxlZnQsIHJpZ2h0LCAiIik7IH0KK3N0YXRpYyBpbmxpbmUgTFZh
bHVlIGJ1aWxkWG9yKExCdWlsZGVyIGJ1aWxkZXIsIExWYWx1ZSBsZWZ0LCBMVmFsdWUgcmlnaHQp
IHsgcmV0dXJuIGxsdm0tPkJ1aWxkWG9yKGJ1aWxkZXIsIGxlZnQsIHJpZ2h0LCAiIik7IH0KK3N0
YXRpYyBpbmxpbmUgTFZhbHVlIGJ1aWxkU2hsKExCdWlsZGVyIGJ1aWxkZXIsIExWYWx1ZSBsZWZ0
LCBMVmFsdWUgcmlnaHQpIHsgcmV0dXJuIGxsdm0tPkJ1aWxkU2hsKGJ1aWxkZXIsIGxlZnQsIHJp
Z2h0LCAiIik7IH0KK3N0YXRpYyBpbmxpbmUgTFZhbHVlIGJ1aWxkQVNocihMQnVpbGRlciBidWls
ZGVyLCBMVmFsdWUgbGVmdCwgTFZhbHVlIHJpZ2h0KSB7IHJldHVybiBsbHZtLT5CdWlsZEFTaHIo
YnVpbGRlciwgbGVmdCwgcmlnaHQsICIiKTsgfQorc3RhdGljIGlubGluZSBMVmFsdWUgYnVpbGRM
U2hyKExCdWlsZGVyIGJ1aWxkZXIsIExWYWx1ZSBsZWZ0LCBMVmFsdWUgcmlnaHQpIHsgcmV0dXJu
IGxsdm0tPkJ1aWxkTFNocihidWlsZGVyLCBsZWZ0LCByaWdodCwgIiIpOyB9CitzdGF0aWMgaW5s
aW5lIExWYWx1ZSBidWlsZE5vdChMQnVpbGRlciBidWlsZGVyLCBMVmFsdWUgdmFsdWUpIHsgcmV0
dXJuIGxsdm0tPkJ1aWxkTm90KGJ1aWxkZXIsIHZhbHVlLCAiIik7IH0KK3N0YXRpYyBpbmxpbmUg
TFZhbHVlIGJ1aWxkTG9hZChMQnVpbGRlciBidWlsZGVyLCBMVmFsdWUgcG9pbnRlcikgeyByZXR1
cm4gbGx2bS0+QnVpbGRMb2FkKGJ1aWxkZXIsIHBvaW50ZXIsICIiKTsgfQorc3RhdGljIGlubGlu
ZSBMVmFsdWUgYnVpbGRTdG9yZShMQnVpbGRlciBidWlsZGVyLCBMVmFsdWUgdmFsdWUsIExWYWx1
ZSBwb2ludGVyKSB7IHJldHVybiBsbHZtLT5CdWlsZFN0b3JlKGJ1aWxkZXIsIHZhbHVlLCBwb2lu
dGVyKTsgfQorc3RhdGljIGlubGluZSBMVmFsdWUgYnVpbGRTRXh0KExCdWlsZGVyIGJ1aWxkZXIs
IExWYWx1ZSB2YWx1ZSwgTFR5cGUgdHlwZSkgeyByZXR1cm4gbGx2bS0+QnVpbGRTRXh0KGJ1aWxk
ZXIsIHZhbHVlLCB0eXBlLCAiIik7IH0KK3N0YXRpYyBpbmxpbmUgTFZhbHVlIGJ1aWxkWkV4dChM
QnVpbGRlciBidWlsZGVyLCBMVmFsdWUgdmFsdWUsIExUeXBlIHR5cGUpIHsgcmV0dXJuIGxsdm0t
PkJ1aWxkWkV4dChidWlsZGVyLCB2YWx1ZSwgdHlwZSwgIiIpOyB9CitzdGF0aWMgaW5saW5lIExW
YWx1ZSBidWlsZEZQVG9TSShMQnVpbGRlciBidWlsZGVyLCBMVmFsdWUgdmFsdWUsIExUeXBlIHR5
cGUpIHsgcmV0dXJuIGxsdm0tPkJ1aWxkRlBUb1NJKGJ1aWxkZXIsIHZhbHVlLCB0eXBlLCAiIik7
IH0KK3N0YXRpYyBpbmxpbmUgTFZhbHVlIGJ1aWxkRlBUb1VJKExCdWlsZGVyIGJ1aWxkZXIsIExW
YWx1ZSB2YWx1ZSwgTFR5cGUgdHlwZSkgeyByZXR1cm4gbGx2bS0+QnVpbGRGUFRvVUkoYnVpbGRl
ciwgdmFsdWUsIHR5cGUsICIiKTsgfQorc3RhdGljIGlubGluZSBMVmFsdWUgYnVpbGRTSVRvRlAo
TEJ1aWxkZXIgYnVpbGRlciwgTFZhbHVlIHZhbHVlLCBMVHlwZSB0eXBlKSB7IHJldHVybiBsbHZt
LT5CdWlsZFNJVG9GUChidWlsZGVyLCB2YWx1ZSwgdHlwZSwgIiIpOyB9CitzdGF0aWMgaW5saW5l
IExWYWx1ZSBidWlsZFVJVG9GUChMQnVpbGRlciBidWlsZGVyLCBMVmFsdWUgdmFsdWUsIExUeXBl
IHR5cGUpIHsgcmV0dXJuIGxsdm0tPkJ1aWxkVUlUb0ZQKGJ1aWxkZXIsIHZhbHVlLCB0eXBlLCAi
Iik7IH0KK3N0YXRpYyBpbmxpbmUgTFZhbHVlIGJ1aWxkSW50Q2FzdChMQnVpbGRlciBidWlsZGVy
LCBMVmFsdWUgdmFsdWUsIExUeXBlIHR5cGUpIHsgcmV0dXJuIGxsdm0tPkJ1aWxkSW50Q2FzdChi
dWlsZGVyLCB2YWx1ZSwgdHlwZSwgIiIpOyB9CitzdGF0aWMgaW5saW5lIExWYWx1ZSBidWlsZEZQ
Q2FzdChMQnVpbGRlciBidWlsZGVyLCBMVmFsdWUgdmFsdWUsIExUeXBlIHR5cGUpIHsgcmV0dXJu
IGxsdm0tPkJ1aWxkRlBDYXN0KGJ1aWxkZXIsIHZhbHVlLCB0eXBlLCAiIik7IH0KK3N0YXRpYyBp
bmxpbmUgTFZhbHVlIGJ1aWxkSW50VG9QdHIoTEJ1aWxkZXIgYnVpbGRlciwgTFZhbHVlIHZhbHVl
LCBMVHlwZSB0eXBlKSB7IHJldHVybiBsbHZtLT5CdWlsZEludFRvUHRyKGJ1aWxkZXIsIHZhbHVl
LCB0eXBlLCAiIik7IH0KK3N0YXRpYyBpbmxpbmUgTFZhbHVlIGJ1aWxkUHRyVG9JbnQoTEJ1aWxk
ZXIgYnVpbGRlciwgTFZhbHVlIHZhbHVlLCBMVHlwZSB0eXBlKSB7IHJldHVybiBsbHZtLT5CdWls
ZFB0clRvSW50KGJ1aWxkZXIsIHZhbHVlLCB0eXBlLCAiIik7IH0KK3N0YXRpYyBpbmxpbmUgTFZh
bHVlIGJ1aWxkQml0Q2FzdChMQnVpbGRlciBidWlsZGVyLCBMVmFsdWUgdmFsdWUsIExUeXBlIHR5
cGUpIHsgcmV0dXJuIGxsdm0tPkJ1aWxkQml0Q2FzdChidWlsZGVyLCB2YWx1ZSwgdHlwZSwgIiIp
OyB9CitzdGF0aWMgaW5saW5lIExWYWx1ZSBidWlsZElDbXAoTEJ1aWxkZXIgYnVpbGRlciwgTElu
dFByZWRpY2F0ZSBjb25kLCBMVmFsdWUgbGVmdCwgTFZhbHVlIHJpZ2h0KSB7IHJldHVybiBsbHZt
LT5CdWlsZElDbXAoYnVpbGRlciwgY29uZCwgbGVmdCwgcmlnaHQsICIiKTsgfQorc3RhdGljIGlu
bGluZSBMVmFsdWUgYnVpbGRGQ21wKExCdWlsZGVyIGJ1aWxkZXIsIExSZWFsUHJlZGljYXRlIGNv
bmQsIExWYWx1ZSBsZWZ0LCBMVmFsdWUgcmlnaHQpIHsgcmV0dXJuIGxsdm0tPkJ1aWxkRkNtcChi
dWlsZGVyLCBjb25kLCBsZWZ0LCByaWdodCwgIiIpOyB9CiBzdGF0aWMgaW5saW5lIExWYWx1ZSBi
dWlsZENhbGwoTEJ1aWxkZXIgYnVpbGRlciwgTFZhbHVlIGZ1bmN0aW9uLCBjb25zdCBMVmFsdWUq
IGFyZ3MsIHVuc2lnbmVkIG51bUFyZ3MpCiB7Ci0gICAgcmV0dXJuIExMVk1CdWlsZENhbGwoYnVp
bGRlciwgZnVuY3Rpb24sIGNvbnN0X2Nhc3Q8TFZhbHVlKj4oYXJncyksIG51bUFyZ3MsICIiKTsK
KyAgICByZXR1cm4gbGx2bS0+QnVpbGRDYWxsKGJ1aWxkZXIsIGZ1bmN0aW9uLCBjb25zdF9jYXN0
PExWYWx1ZSo+KGFyZ3MpLCBudW1BcmdzLCAiIik7CiB9CiB0ZW1wbGF0ZTx0eXBlbmFtZSBWZWN0
b3JUeXBlPgogaW5saW5lIExWYWx1ZSBidWlsZENhbGwoTEJ1aWxkZXIgYnVpbGRlciwgTFZhbHVl
IGZ1bmN0aW9uLCBjb25zdCBWZWN0b3JUeXBlJiB2ZWN0b3IpCkBAIC0yNDgsMTMgKzI0OSwxMyBA
QCBzdGF0aWMgaW5saW5lIExWYWx1ZSBidWlsZENhbGwoTEJ1aWxkZXIgCiAgICAgcmV0dXJuIGJ1
aWxkQ2FsbChidWlsZGVyLCBmdW5jdGlvbiwgYXJncywgNCk7CiB9CiBlbnVtIFRhaWxDYWxsTW9k
ZSB7IElzTm90VGFpbENhbGwsIElzVGFpbENhbGwgfTsKLXN0YXRpYyBpbmxpbmUgdm9pZCBzZXRU
YWlsQ2FsbChMVmFsdWUgY2FsbCwgVGFpbENhbGxNb2RlIG1vZGUpIHsgTExWTVNldFRhaWxDYWxs
KGNhbGwsIG1vZGUgPT0gSXNUYWlsQ2FsbCk7IH0KLXN0YXRpYyBpbmxpbmUgTFZhbHVlIGJ1aWxk
RXh0cmFjdFZhbHVlKExCdWlsZGVyIGJ1aWxkZXIsIExWYWx1ZSBhZ2dWYWwsIHVuc2lnbmVkIGlu
ZGV4KSB7IHJldHVybiBMTFZNQnVpbGRFeHRyYWN0VmFsdWUoYnVpbGRlciwgYWdnVmFsLCBpbmRl
eCwgIiIpOyB9Ci1zdGF0aWMgaW5saW5lIExWYWx1ZSBidWlsZFNlbGVjdChMQnVpbGRlciBidWls
ZGVyLCBMVmFsdWUgY29uZGl0aW9uLCBMVmFsdWUgdGFrZW4sIExWYWx1ZSBub3RUYWtlbikgeyBy
ZXR1cm4gTExWTUJ1aWxkU2VsZWN0KGJ1aWxkZXIsIGNvbmRpdGlvbiwgdGFrZW4sIG5vdFRha2Vu
LCAiIik7IH0KLXN0YXRpYyBpbmxpbmUgTFZhbHVlIGJ1aWxkQnIoTEJ1aWxkZXIgYnVpbGRlciwg
TEJhc2ljQmxvY2sgZGVzdGluYXRpb24pIHsgcmV0dXJuIExMVk1CdWlsZEJyKGJ1aWxkZXIsIGRl
c3RpbmF0aW9uKTsgfQotc3RhdGljIGlubGluZSBMVmFsdWUgYnVpbGRDb25kQnIoTEJ1aWxkZXIg
YnVpbGRlciwgTFZhbHVlIGNvbmRpdGlvbiwgTEJhc2ljQmxvY2sgdGFrZW4sIExCYXNpY0Jsb2Nr
IG5vdFRha2VuKSB7IHJldHVybiBMTFZNQnVpbGRDb25kQnIoYnVpbGRlciwgY29uZGl0aW9uLCB0
YWtlbiwgbm90VGFrZW4pOyB9Ci1zdGF0aWMgaW5saW5lIExWYWx1ZSBidWlsZFN3aXRjaChMQnVp
bGRlciBidWlsZGVyLCBMVmFsdWUgdmFsdWUsIExCYXNpY0Jsb2NrIGZhbGxUaHJvdWdoLCB1bnNp
Z25lZCBudW1DYXNlcykgeyByZXR1cm4gTExWTUJ1aWxkU3dpdGNoKGJ1aWxkZXIsIHZhbHVlLCBm
YWxsVGhyb3VnaCwgbnVtQ2FzZXMpOyB9Ci1zdGF0aWMgaW5saW5lIHZvaWQgYWRkQ2FzZShMVmFs
dWUgc3dpdGNoSW5zdCwgTFZhbHVlIHZhbHVlLCBMQmFzaWNCbG9jayB0YXJnZXQpIHsgTExWTUFk
ZENhc2Uoc3dpdGNoSW5zdCwgdmFsdWUsIHRhcmdldCk7IH0KK3N0YXRpYyBpbmxpbmUgdm9pZCBz
ZXRUYWlsQ2FsbChMVmFsdWUgY2FsbCwgVGFpbENhbGxNb2RlIG1vZGUpIHsgbGx2bS0+U2V0VGFp
bENhbGwoY2FsbCwgbW9kZSA9PSBJc1RhaWxDYWxsKTsgfQorc3RhdGljIGlubGluZSBMVmFsdWUg
YnVpbGRFeHRyYWN0VmFsdWUoTEJ1aWxkZXIgYnVpbGRlciwgTFZhbHVlIGFnZ1ZhbCwgdW5zaWdu
ZWQgaW5kZXgpIHsgcmV0dXJuIGxsdm0tPkJ1aWxkRXh0cmFjdFZhbHVlKGJ1aWxkZXIsIGFnZ1Zh
bCwgaW5kZXgsICIiKTsgfQorc3RhdGljIGlubGluZSBMVmFsdWUgYnVpbGRTZWxlY3QoTEJ1aWxk
ZXIgYnVpbGRlciwgTFZhbHVlIGNvbmRpdGlvbiwgTFZhbHVlIHRha2VuLCBMVmFsdWUgbm90VGFr
ZW4pIHsgcmV0dXJuIGxsdm0tPkJ1aWxkU2VsZWN0KGJ1aWxkZXIsIGNvbmRpdGlvbiwgdGFrZW4s
IG5vdFRha2VuLCAiIik7IH0KK3N0YXRpYyBpbmxpbmUgTFZhbHVlIGJ1aWxkQnIoTEJ1aWxkZXIg
YnVpbGRlciwgTEJhc2ljQmxvY2sgZGVzdGluYXRpb24pIHsgcmV0dXJuIGxsdm0tPkJ1aWxkQnIo
YnVpbGRlciwgZGVzdGluYXRpb24pOyB9CitzdGF0aWMgaW5saW5lIExWYWx1ZSBidWlsZENvbmRC
cihMQnVpbGRlciBidWlsZGVyLCBMVmFsdWUgY29uZGl0aW9uLCBMQmFzaWNCbG9jayB0YWtlbiwg
TEJhc2ljQmxvY2sgbm90VGFrZW4pIHsgcmV0dXJuIGxsdm0tPkJ1aWxkQ29uZEJyKGJ1aWxkZXIs
IGNvbmRpdGlvbiwgdGFrZW4sIG5vdFRha2VuKTsgfQorc3RhdGljIGlubGluZSBMVmFsdWUgYnVp
bGRTd2l0Y2goTEJ1aWxkZXIgYnVpbGRlciwgTFZhbHVlIHZhbHVlLCBMQmFzaWNCbG9jayBmYWxs
VGhyb3VnaCwgdW5zaWduZWQgbnVtQ2FzZXMpIHsgcmV0dXJuIGxsdm0tPkJ1aWxkU3dpdGNoKGJ1
aWxkZXIsIHZhbHVlLCBmYWxsVGhyb3VnaCwgbnVtQ2FzZXMpOyB9CitzdGF0aWMgaW5saW5lIHZv
aWQgYWRkQ2FzZShMVmFsdWUgc3dpdGNoSW5zdCwgTFZhbHVlIHZhbHVlLCBMQmFzaWNCbG9jayB0
YXJnZXQpIHsgbGx2bS0+QWRkQ2FzZShzd2l0Y2hJbnN0LCB2YWx1ZSwgdGFyZ2V0KTsgfQogdGVt
cGxhdGU8dHlwZW5hbWUgVmVjdG9yVHlwZT4KIHN0YXRpYyBpbmxpbmUgTFZhbHVlIGJ1aWxkU3dp
dGNoKExCdWlsZGVyIGJ1aWxkZXIsIExWYWx1ZSB2YWx1ZSwgY29uc3QgVmVjdG9yVHlwZSYgY2Fz
ZXMsIExCYXNpY0Jsb2NrIGZhbGxUaHJvdWdoKQogewpAQCAtMjYzLDE1ICsyNjQsMTUgQEAgc3Rh
dGljIGlubGluZSBMVmFsdWUgYnVpbGRTd2l0Y2goTEJ1aWxkZQogICAgICAgICBhZGRDYXNlKHJl
c3VsdCwgY2FzZXNbaV0udmFsdWUoKSwgY2FzZXNbaV0udGFyZ2V0KCkpOwogICAgIHJldHVybiBy
ZXN1bHQ7CiB9Ci1zdGF0aWMgaW5saW5lIExWYWx1ZSBidWlsZFJldChMQnVpbGRlciBidWlsZGVy
LCBMVmFsdWUgdmFsdWUpIHsgcmV0dXJuIExMVk1CdWlsZFJldChidWlsZGVyLCB2YWx1ZSk7IH0K
LXN0YXRpYyBpbmxpbmUgTFZhbHVlIGJ1aWxkVW5yZWFjaGFibGUoTEJ1aWxkZXIgYnVpbGRlcikg
eyByZXR1cm4gTExWTUJ1aWxkVW5yZWFjaGFibGUoYnVpbGRlcik7IH0KK3N0YXRpYyBpbmxpbmUg
TFZhbHVlIGJ1aWxkUmV0KExCdWlsZGVyIGJ1aWxkZXIsIExWYWx1ZSB2YWx1ZSkgeyByZXR1cm4g
bGx2bS0+QnVpbGRSZXQoYnVpbGRlciwgdmFsdWUpOyB9CitzdGF0aWMgaW5saW5lIExWYWx1ZSBi
dWlsZFVucmVhY2hhYmxlKExCdWlsZGVyIGJ1aWxkZXIpIHsgcmV0dXJuIGxsdm0tPkJ1aWxkVW5y
ZWFjaGFibGUoYnVpbGRlcik7IH0KIAotc3RhdGljIGlubGluZSB2b2lkIGR1bXBNb2R1bGUoTE1v
ZHVsZSBtb2R1bGUpIHsgTExWTUR1bXBNb2R1bGUobW9kdWxlKTsgfQorc3RhdGljIGlubGluZSB2
b2lkIGR1bXBNb2R1bGUoTE1vZHVsZSBtb2R1bGUpIHsgbGx2bS0+RHVtcE1vZHVsZShtb2R1bGUp
OyB9CiBzdGF0aWMgaW5saW5lIHZvaWQgdmVyaWZ5TW9kdWxlKExNb2R1bGUgbW9kdWxlKQogewog
ICAgIGNoYXIqIGVycm9yID0gMDsKLSAgICBMTFZNVmVyaWZ5TW9kdWxlKG1vZHVsZSwgTExWTUFi
b3J0UHJvY2Vzc0FjdGlvbiwgJmVycm9yKTsKLSAgICBMTFZNRGlzcG9zZU1lc3NhZ2UoZXJyb3Ip
OworICAgIGxsdm0tPlZlcmlmeU1vZHVsZShtb2R1bGUsIExMVk1BYm9ydFByb2Nlc3NBY3Rpb24s
ICZlcnJvcik7CisgICAgbGx2bS0+RGlzcG9zZU1lc3NhZ2UoZXJyb3IpOwogfQogCiB9IH0gLy8g
bmFtZXNwYWNlIEpTQzo6RlRMCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTENv
bXBpbGUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMQ29t
cGlsZS5jcHAJKHJldmlzaW9uIDE1NzIwNCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwv
RlRMQ29tcGlsZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM0LDggKzM0LDggQEAKICNpbmNsdWRl
ICJEaXNhc3NlbWJsZXIuaCIKICNpbmNsdWRlICJGVExKSVRDb2RlLmgiCiAjaW5jbHVkZSAiSklU
U3R1YnMuaCIKKyNpbmNsdWRlICJMTFZNQVBJLmgiCiAjaW5jbHVkZSAiTGlua0J1ZmZlci5oIgot
I2luY2x1ZGUgPHd0Zi9MTFZNSGVhZGVycy5oPgogCiBuYW1lc3BhY2UgSlNDIHsgbmFtZXNwYWNl
IEZUTCB7CiAKQEAgLTk1LDUyICs5NSw1MiBAQCB2b2lkIGNvbXBpbGUoU3RhdGUmIHN0YXRlKQog
ICAgIGNoYXIqIGVycm9yID0gMDsKICAgICAKICAgICBMTFZNTUNKSVRDb21waWxlck9wdGlvbnMg
b3B0aW9uczsKLSAgICBMTFZNSW5pdGlhbGl6ZU1DSklUQ29tcGlsZXJPcHRpb25zKCZvcHRpb25z
LCBzaXplb2Yob3B0aW9ucykpOworICAgIGxsdm0tPkluaXRpYWxpemVNQ0pJVENvbXBpbGVyT3B0
aW9ucygmb3B0aW9ucywgc2l6ZW9mKG9wdGlvbnMpKTsKICAgICBvcHRpb25zLk9wdExldmVsID0g
T3B0aW9uczo6bGx2bUJhY2tlbmRPcHRpbWl6YXRpb25MZXZlbCgpOwogICAgIG9wdGlvbnMuTm9G
cmFtZVBvaW50ZXJFbGltID0gdHJ1ZTsKICAgICBpZiAoT3B0aW9uczo6dXNlTExWTVNtYWxsQ29k
ZU1vZGVsKCkpCiAgICAgICAgIG9wdGlvbnMuQ29kZU1vZGVsID0gTExWTUNvZGVNb2RlbFNtYWxs
OwogICAgIG9wdGlvbnMuRW5hYmxlRmFzdElTZWwgPSBPcHRpb25zOjplbmFibGVMTFZNRmFzdElT
ZWwoKTsKLSAgICBvcHRpb25zLk1DSk1NID0gTExWTUNyZWF0ZVNpbXBsZU1DSklUTWVtb3J5TWFu
YWdlcigKKyAgICBvcHRpb25zLk1DSk1NID0gbGx2bS0+Q3JlYXRlU2ltcGxlTUNKSVRNZW1vcnlN
YW5hZ2VyKAogICAgICAgICAmc3RhdGUsIG1tQWxsb2NhdGVDb2RlU2VjdGlvbiwgbW1BbGxvY2F0
ZURhdGFTZWN0aW9uLCBtbUFwcGx5UGVybWlzc2lvbnMsIG1tRGVzdHJveSk7CiAgICAgCiAgICAg
TExWTUV4ZWN1dGlvbkVuZ2luZVJlZiBlbmdpbmU7CiAgICAgCi0gICAgaWYgKExMVk1DcmVhdGVN
Q0pJVENvbXBpbGVyRm9yTW9kdWxlKCZlbmdpbmUsIHN0YXRlLm1vZHVsZSwgJm9wdGlvbnMsIHNp
emVvZihvcHRpb25zKSwgJmVycm9yKSkgeworICAgIGlmIChsbHZtLT5DcmVhdGVNQ0pJVENvbXBp
bGVyRm9yTW9kdWxlKCZlbmdpbmUsIHN0YXRlLm1vZHVsZSwgJm9wdGlvbnMsIHNpemVvZihvcHRp
b25zKSwgJmVycm9yKSkgewogICAgICAgICBkYXRhTG9nKCJGQVRBTDogQ291bGQgbm90IGNyZWF0
ZSBMTFZNIGV4ZWN1dGlvbiBlbmdpbmU6ICIsIGVycm9yLCAiXG4iKTsKICAgICAgICAgQ1JBU0go
KTsKICAgICB9CiAKLSAgICBMTFZNUGFzc01hbmFnZXJCdWlsZGVyUmVmIHBhc3NCdWlsZGVyID0g
TExWTVBhc3NNYW5hZ2VyQnVpbGRlckNyZWF0ZSgpOwotICAgIExMVk1QYXNzTWFuYWdlckJ1aWxk
ZXJTZXRPcHRMZXZlbChwYXNzQnVpbGRlciwgT3B0aW9uczo6bGx2bU9wdGltaXphdGlvbkxldmVs
KCkpOwotICAgIExMVk1QYXNzTWFuYWdlckJ1aWxkZXJTZXRTaXplTGV2ZWwocGFzc0J1aWxkZXIs
IE9wdGlvbnM6Omxsdm1TaXplTGV2ZWwoKSk7CisgICAgTExWTVBhc3NNYW5hZ2VyQnVpbGRlclJl
ZiBwYXNzQnVpbGRlciA9IGxsdm0tPlBhc3NNYW5hZ2VyQnVpbGRlckNyZWF0ZSgpOworICAgIGxs
dm0tPlBhc3NNYW5hZ2VyQnVpbGRlclNldE9wdExldmVsKHBhc3NCdWlsZGVyLCBPcHRpb25zOjps
bHZtT3B0aW1pemF0aW9uTGV2ZWwoKSk7CisgICAgbGx2bS0+UGFzc01hbmFnZXJCdWlsZGVyU2V0
U2l6ZUxldmVsKHBhc3NCdWlsZGVyLCBPcHRpb25zOjpsbHZtU2l6ZUxldmVsKCkpOwogICAgIAot
ICAgIExMVk1QYXNzTWFuYWdlclJlZiBmdW5jdGlvblBhc3NlcyA9IExMVk1DcmVhdGVGdW5jdGlv
blBhc3NNYW5hZ2VyRm9yTW9kdWxlKHN0YXRlLm1vZHVsZSk7Ci0gICAgTExWTVBhc3NNYW5hZ2Vy
UmVmIG1vZHVsZVBhc3NlcyA9IExMVk1DcmVhdGVQYXNzTWFuYWdlcigpOworICAgIExMVk1QYXNz
TWFuYWdlclJlZiBmdW5jdGlvblBhc3NlcyA9IGxsdm0tPkNyZWF0ZUZ1bmN0aW9uUGFzc01hbmFn
ZXJGb3JNb2R1bGUoc3RhdGUubW9kdWxlKTsKKyAgICBMTFZNUGFzc01hbmFnZXJSZWYgbW9kdWxl
UGFzc2VzID0gbGx2bS0+Q3JlYXRlUGFzc01hbmFnZXIoKTsKICAgICAKLSAgICBMTFZNQWRkVGFy
Z2V0RGF0YShMTFZNR2V0RXhlY3V0aW9uRW5naW5lVGFyZ2V0RGF0YShlbmdpbmUpLCBtb2R1bGVQ
YXNzZXMpOworICAgIGxsdm0tPkFkZFRhcmdldERhdGEobGx2bS0+R2V0RXhlY3V0aW9uRW5naW5l
VGFyZ2V0RGF0YShlbmdpbmUpLCBtb2R1bGVQYXNzZXMpOwogICAgIAotICAgIExMVk1QYXNzTWFu
YWdlckJ1aWxkZXJQb3B1bGF0ZUZ1bmN0aW9uUGFzc01hbmFnZXIocGFzc0J1aWxkZXIsIGZ1bmN0
aW9uUGFzc2VzKTsKLSAgICBMTFZNUGFzc01hbmFnZXJCdWlsZGVyUG9wdWxhdGVNb2R1bGVQYXNz
TWFuYWdlcihwYXNzQnVpbGRlciwgbW9kdWxlUGFzc2VzKTsKKyAgICBsbHZtLT5QYXNzTWFuYWdl
ckJ1aWxkZXJQb3B1bGF0ZUZ1bmN0aW9uUGFzc01hbmFnZXIocGFzc0J1aWxkZXIsIGZ1bmN0aW9u
UGFzc2VzKTsKKyAgICBsbHZtLT5QYXNzTWFuYWdlckJ1aWxkZXJQb3B1bGF0ZU1vZHVsZVBhc3NN
YW5hZ2VyKHBhc3NCdWlsZGVyLCBtb2R1bGVQYXNzZXMpOwogICAgIAotICAgIExMVk1QYXNzTWFu
YWdlckJ1aWxkZXJEaXNwb3NlKHBhc3NCdWlsZGVyKTsKKyAgICBsbHZtLT5QYXNzTWFuYWdlckJ1
aWxkZXJEaXNwb3NlKHBhc3NCdWlsZGVyKTsKIAotICAgIExMVk1Jbml0aWFsaXplRnVuY3Rpb25Q
YXNzTWFuYWdlcihmdW5jdGlvblBhc3Nlcyk7Ci0gICAgZm9yIChMVmFsdWUgZnVuY3Rpb24gPSBM
TFZNR2V0Rmlyc3RGdW5jdGlvbihzdGF0ZS5tb2R1bGUpOyBmdW5jdGlvbjsgZnVuY3Rpb24gPSBM
TFZNR2V0TmV4dEZ1bmN0aW9uKGZ1bmN0aW9uKSkKLSAgICAgICAgTExWTVJ1bkZ1bmN0aW9uUGFz
c01hbmFnZXIoZnVuY3Rpb25QYXNzZXMsIGZ1bmN0aW9uKTsKLSAgICBMTFZNRmluYWxpemVGdW5j
dGlvblBhc3NNYW5hZ2VyKGZ1bmN0aW9uUGFzc2VzKTsKKyAgICBsbHZtLT5Jbml0aWFsaXplRnVu
Y3Rpb25QYXNzTWFuYWdlcihmdW5jdGlvblBhc3Nlcyk7CisgICAgZm9yIChMVmFsdWUgZnVuY3Rp
b24gPSBsbHZtLT5HZXRGaXJzdEZ1bmN0aW9uKHN0YXRlLm1vZHVsZSk7IGZ1bmN0aW9uOyBmdW5j
dGlvbiA9IGxsdm0tPkdldE5leHRGdW5jdGlvbihmdW5jdGlvbikpCisgICAgICAgIGxsdm0tPlJ1
bkZ1bmN0aW9uUGFzc01hbmFnZXIoZnVuY3Rpb25QYXNzZXMsIGZ1bmN0aW9uKTsKKyAgICBsbHZt
LT5GaW5hbGl6ZUZ1bmN0aW9uUGFzc01hbmFnZXIoZnVuY3Rpb25QYXNzZXMpOwogICAgIAotICAg
IExMVk1SdW5QYXNzTWFuYWdlcihtb2R1bGVQYXNzZXMsIHN0YXRlLm1vZHVsZSk7CisgICAgbGx2
bS0+UnVuUGFzc01hbmFnZXIobW9kdWxlUGFzc2VzLCBzdGF0ZS5tb2R1bGUpOwogCiAgICAgaWYg
KERGRzo6c2hvdWxkU2hvd0Rpc2Fzc2VtYmx5KCkgfHwgREZHOjp2ZXJib3NlQ29tcGlsYXRpb25F
bmFibGVkKCkpCiAgICAgICAgIHN0YXRlLmR1bXBTdGF0ZSgiYWZ0ZXIgb3B0aW1pemF0aW9uIik7
CiAgICAgCiAgICAgLy8gRklYTUU6IE5lZWQgdG8gYWRkIHN1cHBvcnQgZm9yIHRoZSBjYXNlIHdo
ZXJlIEpJVCBtZW1vcnkgYWxsb2NhdGlvbiBmYWlsZWQuCiAgICAgLy8gaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTExMzYyMAotICAgIHN0YXRlLmdlbmVyYXRlZEZ1bmN0
aW9uID0gcmVpbnRlcnByZXRfY2FzdDxHZW5lcmF0ZWRGdW5jdGlvbj4oTExWTUdldFBvaW50ZXJU
b0dsb2JhbChlbmdpbmUsIHN0YXRlLmZ1bmN0aW9uKSk7Ci0gICAgTExWTURpc3Bvc2VQYXNzTWFu
YWdlcihmdW5jdGlvblBhc3Nlcyk7Ci0gICAgTExWTURpc3Bvc2VQYXNzTWFuYWdlcihtb2R1bGVQ
YXNzZXMpOwotICAgIExMVk1EaXNwb3NlRXhlY3V0aW9uRW5naW5lKGVuZ2luZSk7CisgICAgc3Rh
dGUuZ2VuZXJhdGVkRnVuY3Rpb24gPSByZWludGVycHJldF9jYXN0PEdlbmVyYXRlZEZ1bmN0aW9u
PihsbHZtLT5HZXRQb2ludGVyVG9HbG9iYWwoZW5naW5lLCBzdGF0ZS5mdW5jdGlvbikpOworICAg
IGxsdm0tPkRpc3Bvc2VQYXNzTWFuYWdlcihmdW5jdGlvblBhc3Nlcyk7CisgICAgbGx2bS0+RGlz
cG9zZVBhc3NNYW5hZ2VyKG1vZHVsZVBhc3Nlcyk7CisgICAgbGx2bS0+RGlzcG9zZUV4ZWN1dGlv
bkVuZ2luZShlbmdpbmUpOwogCiAgICAgaWYgKHNob3VsZFNob3dEaXNhc3NlbWJseSgpKSB7CiAg
ICAgICAgIC8vIEZJWE1FOiBmb3VydGhUaWVyOiBGVEwgbWVtb3J5IGFsbG9jYXRvciBzaG91bGQg
YmUgYWJsZSB0byB0ZWxsIHVzIHdoaWNoIG9mCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
ZnRsL0ZUTEZhaWwuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwv
RlRMRmFpbC5jcHAJKHJldmlzaW9uIDE1NzIwNCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9m
dGwvRlRMRmFpbC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMwLDcgKzMwLDcgQEAKIAogI2luY2x1
ZGUgIkRGR0ZhaWxlZEZpbmFsaXplci5oIgogI2luY2x1ZGUgIkZUTEpJVENvZGUuaCIKLSNpbmNs
dWRlIDx3dGYvTExWTUhlYWRlcnMuaD4KKyNpbmNsdWRlICJMTFZNQVBJLmgiCiAKIG5hbWVzcGFj
ZSBKU0MgeyBuYW1lc3BhY2UgRlRMIHsKIApAQCAtNDAsNyArNDAsNyBAQCB2b2lkIGZhaWwoU3Rh
dGUmIHN0YXRlKQogewogICAgIHN0YXRlLmdyYXBoLm1fcGxhbi5maW5hbGl6ZXIgPSBhZG9wdFB0
cihuZXcgRmFpbGVkRmluYWxpemVyKHN0YXRlLmdyYXBoLm1fcGxhbikpOwogICAgIAotICAgIExM
Vk1EaXNwb3NlTW9kdWxlKHN0YXRlLm1vZHVsZSk7CisgICAgbGx2bS0+RGlzcG9zZU1vZHVsZShz
dGF0ZS5tb2R1bGUpOwogfQogCiB9IH0gLy8gbmFtZXNwYWNlIEpTQzo6RlRMCkluZGV4OiBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTEpJVENvZGUuaAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvZnRsL0ZUTEpJVENvZGUuaAkocmV2aXNpb24gMTU3MjA0KQorKysgU291
cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExKSVRDb2RlLmgJKHdvcmtpbmcgY29weSkKQEAgLTMz
LDcgKzMzLDcgQEAKICNpbmNsdWRlICJERkdDb21tb25EYXRhLmgiCiAjaW5jbHVkZSAiRlRMT1NS
RXhpdC5oIgogI2luY2x1ZGUgIkpJVENvZGUuaCIKLSNpbmNsdWRlIDx3dGYvTExWTUhlYWRlcnMu
aD4KKyNpbmNsdWRlICJMTFZNQVBJLmgiCiAjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWRBcnJheS5o
PgogCiBuYW1lc3BhY2UgSlNDIHsgbmFtZXNwYWNlIEZUTCB7CkluZGV4OiBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvZnRsL0ZUTEpJVEZpbmFsaXplci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9mdGwvRlRMSklURmluYWxpemVyLmgJKHJldmlzaW9uIDE1NzIwNCkKKysrIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMSklURmluYWxpemVyLmgJKHdvcmtpbmcgY29weSkK
QEAgLTMzLDkgKzMzLDkgQEAKICNpbmNsdWRlICJERkdGaW5hbGl6ZXIuaCIKICNpbmNsdWRlICJG
VExHZW5lcmF0ZWRGdW5jdGlvbi5oIgogI2luY2x1ZGUgIkZUTEpJVENvZGUuaCIKKyNpbmNsdWRl
ICJMTFZNQVBJLmgiCiAjaW5jbHVkZSAiTGlua0J1ZmZlci5oIgogI2luY2x1ZGUgIk1hY3JvQXNz
ZW1ibGVyLmgiCi0jaW5jbHVkZSA8d3RmL0xMVk1IZWFkZXJzLmg+CiAKIG5hbWVzcGFjZSBKU0Mg
eyBuYW1lc3BhY2UgRlRMIHsKIApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExM
aW5rLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTExpbmsu
Y3BwCShyZXZpc2lvbiAxNTcyMDQpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTExp
bmsuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zNSw5ICszNSw5IEBACiAjaW5jbHVkZSAiRlRMSklU
Q29kZS5oIgogI2luY2x1ZGUgIkpJVE9wZXJhdGlvbnMuaCIKICNpbmNsdWRlICJKSVRTdHVicy5o
IgorI2luY2x1ZGUgIkxMVk1BUEkuaCIKICNpbmNsdWRlICJMaW5rQnVmZmVyLmgiCiAjaW5jbHVk
ZSAiVmlydHVhbFJlZ2lzdGVyLmgiCi0jaW5jbHVkZSA8d3RmL0xMVk1IZWFkZXJzLmg+CiAKIG5h
bWVzcGFjZSBKU0MgeyBuYW1lc3BhY2UgRlRMIHsKIApJbmRleDogU291cmNlL0phdmFTY3JpcHRD
b3JlL2Z0bC9GVExMb3dlckRGR1RvTExWTS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFT
Y3JpcHRDb3JlL2Z0bC9GVExMb3dlckRGR1RvTExWTS5jcHAJKHJldmlzaW9uIDE1NzIwNCkKKysr
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMTG93ZXJERkdUb0xMVk0uY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC05MSw3ICs5MSw3IEBAIHB1YmxpYzoKICAgICAgICAgbV9ncmFwaC5tX2RvbWlu
YXRvcnMuY29tcHV0ZUlmTmVjZXNzYXJ5KG1fZ3JhcGgpOwogICAgICAgICAKICAgICAgICAgbV9m
dGxTdGF0ZS5tb2R1bGUgPQotICAgICAgICAgICAgTExWTU1vZHVsZUNyZWF0ZVdpdGhOYW1lSW5D
b250ZXh0KG5hbWUuZGF0YSgpLCBtX2Z0bFN0YXRlLmNvbnRleHQpOworICAgICAgICAgICAgbGx2
bS0+TW9kdWxlQ3JlYXRlV2l0aE5hbWVJbkNvbnRleHQobmFtZS5kYXRhKCksIG1fZnRsU3RhdGUu
Y29udGV4dCk7CiAgICAgICAgIAogICAgICAgICBtX2Z0bFN0YXRlLmZ1bmN0aW9uID0gYWRkRnVu
Y3Rpb24oCiAgICAgICAgICAgICBtX2Z0bFN0YXRlLm1vZHVsZSwgbmFtZS5kYXRhKCksIGZ1bmN0
aW9uVHlwZShtX291dC5pbnQ2NCwgbV9vdXQuaW50UHRyKSk7CkluZGV4OiBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvZnRsL0ZUTE91dHB1dC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3Jp
cHRDb3JlL2Z0bC9GVExPdXRwdXQuY3BwCShyZXZpc2lvbiAxNTcyMDQpCisrKyBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvZnRsL0ZUTE91dHB1dC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM0LDcgKzM0
LDcgQEAgT3V0cHV0OjpPdXRwdXQoTENvbnRleHQgY29udGV4dCkKICAgICA6IEludHJpbnNpY1Jl
cG9zaXRvcnkoY29udGV4dCkKICAgICAsIG1fZnVuY3Rpb24oMCkKICAgICAsIG1faGVhcHMoMCkK
LSAgICAsIG1fYnVpbGRlcihMTFZNQ3JlYXRlQnVpbGRlckluQ29udGV4dChtX2NvbnRleHQpKQor
ICAgICwgbV9idWlsZGVyKGxsdm0tPkNyZWF0ZUJ1aWxkZXJJbkNvbnRleHQobV9jb250ZXh0KSkK
ICAgICAsIG1fYmxvY2soMCkKICAgICAsIG1fbmV4dEJsb2NrKDApCiB7CkBAIC00Miw3ICs0Miw3
IEBAIE91dHB1dDo6T3V0cHV0KExDb250ZXh0IGNvbnRleHQpCiAKIE91dHB1dDo6fk91dHB1dCgp
CiB7Ci0gICAgTExWTURpc3Bvc2VCdWlsZGVyKG1fYnVpbGRlcik7CisgICAgbGx2bS0+RGlzcG9z
ZUJ1aWxkZXIobV9idWlsZGVyKTsKIH0KIAogfSB9IC8vIG5hbWVzcGFjZSBKU0M6OkZUTApJbmRl
eDogU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExPdXRwdXQuaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTE91dHB1dC5oCShyZXZpc2lvbiAxNTcyMDQpCisr
KyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTE91dHB1dC5oCSh3b3JraW5nIGNvcHkpCkBA
IC05NCw3ICs5NCw3IEBAIHB1YmxpYzoKICAgICB7CiAgICAgICAgIG1fYmxvY2sgPSBibG9jazsK
ICAgICAgICAgCi0gICAgICAgIExMVk1Qb3NpdGlvbkJ1aWxkZXJBdEVuZChtX2J1aWxkZXIsIGJs
b2NrKTsKKyAgICAgICAgbGx2bS0+UG9zaXRpb25CdWlsZGVyQXRFbmQobV9idWlsZGVyLCBibG9j
ayk7CiAgICAgfQogICAgIExCYXNpY0Jsb2NrIG5ld0Jsb2NrKGNvbnN0IGNoYXIqIG5hbWUgPSAi
IikKICAgICB7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTFN0YXRlLmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTFN0YXRlLmNwcAkocmV2
aXNpb24gMTU3MjA0KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExTdGF0ZS5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTM5LDcgKzM5LDcgQEAgdXNpbmcgbmFtZXNwYWNlIERGRzsKIAog
U3RhdGU6OlN0YXRlKEdyYXBoJiBncmFwaCkKICAgICA6IGdyYXBoKGdyYXBoKQotICAgICwgY29u
dGV4dChMTFZNQ29udGV4dENyZWF0ZSgpKQorICAgICwgY29udGV4dChsbHZtLT5Db250ZXh0Q3Jl
YXRlKCkpCiAgICAgLCBtb2R1bGUoMCkKICAgICAsIGZ1bmN0aW9uKDApCiAgICAgLCBnZW5lcmF0
ZWRGdW5jdGlvbigwKQpAQCAtNjcsNyArNjcsNyBAQCBTdGF0ZTo6U3RhdGUoR3JhcGgmIGdyYXBo
KQogCiBTdGF0ZTo6flN0YXRlKCkKIHsKLSAgICBMTFZNQ29udGV4dERpc3Bvc2UoY29udGV4dCk7
CisgICAgbGx2bS0+Q29udGV4dERpc3Bvc2UoY29udGV4dCk7CiB9CiAKIHZvaWQgU3RhdGU6OmR1
bXBTdGF0ZShjb25zdCBjaGFyKiB3aGVuKQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0
bC9XZWJLaXRMTFZNTGlicmFyeUFuY2hvci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFT
Y3JpcHRDb3JlL2Z0bC9XZWJLaXRMTFZNTGlicmFyeUFuY2hvci5jcHAJKHJldmlzaW9uIDE1NzIw
NCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvV2ViS2l0TExWTUxpYnJhcnlBbmNob3Iu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xLDM0ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMp
IDIwMTMgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAot
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIu
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUg
Y29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQot
ICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBUSEUKLSAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElO
IE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKLSAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUg
Rk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAotICogRVhFTVBM
QVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLAotICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9T
UyBPRiBVU0UsIERBVEEsIE9SCi0gKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04p
IEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCi0gKiBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RQotICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4gCi0gKi8KLQotI2luY2x1ZGUgImNvbmZpZy5oIgotCi0jaWYgRU5B
QkxFKEZUTF9KSVQpCi0vLyBUaGlzIGlzIGEgaGFjayBmb3IgZW5zdXJpbmcgdGhhdCB0aGUgYnVp
bGQgc3lzdGVtIHJlbGlua3MgSmF2YVNjcmlwdENvcmUgaWYgYW55Ci0vLyBvZiB0aGUgTExWTSBs
aWJyYXJpZXMgYXJlIGtub3duIHRvIGhhdmUgY2hhbmdlZC4KLSNpbmNsdWRlICJXZWJLaXRMTFZN
TGlicmFyeVRva2VuLmgiCi0KLSNlbmRpZgotCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGx2bS9Jbml0aWFsaXplTExWTS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsdm0vSW5pdGlhbGl6ZUxMVk0uY3BwCShyZXZpc2lvbiAwKQorKysgU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsdm0vSW5pdGlhbGl6ZUxMVk0uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAg
KzEsNDUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTMgQXBwbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0Ogor
ICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhl
CisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
QVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgor
ICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4g
T1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFH
RVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9G
SVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkg
VEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisgKi8KKwor
I2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIkluaXRpYWxpemVMTFZNLmgiCisKKyNpZiBI
QVZFKExMVk0pCisKKyNpbmNsdWRlIDx3dGYvVGhyZWFkaW5nLmg+CisKK25hbWVzcGFjZSBKU0Mg
eworCitzdGF0aWMgcHRocmVhZF9vbmNlX3QgaW5pdGlhbGl6ZUxMVk1PbmNlS2V5ID0gUFRIUkVB
RF9PTkNFX0lOSVQ7CisKK3ZvaWQgaW5pdGlhbGl6ZUxMVk0oKQoreworICAgIHB0aHJlYWRfb25j
ZSgmaW5pdGlhbGl6ZUxMVk1PbmNlS2V5LCBpbml0aWFsaXplTExWTUltcGwpOworfQorCit9IC8v
IG5hbWVzcGFjZSBKU0MKKworI2VuZGlmIC8vIEhBVkUoTExWTSkKKwpJbmRleDogU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsdm0vSW5pdGlhbGl6ZUxMVk0uaAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGx2bS9Jbml0aWFsaXplTExWTS5oCShyZXZpc2lvbiAwKQorKysgU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsdm0vSW5pdGlhbGl6ZUxMVk0uaAkod29ya2luZyBjb3B5KQpA
QCAtMCwwICsxLDQ0IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEzIEFwcGxlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJl
IG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJ
Q1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBM
RSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElB
TCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5U
IE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgor
ICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAor
ICovCisKKyNpZm5kZWYgSW5pdGlhbGl6ZUxMVk1faAorI2RlZmluZSBJbml0aWFsaXplTExWTV9o
CisKKyNpbmNsdWRlIDx3dGYvUGxhdGZvcm0uaD4KKworI2lmIEhBVkUoTExWTSkKKworbmFtZXNw
YWNlIEpTQyB7CisKK3ZvaWQgaW5pdGlhbGl6ZUxMVk1JbXBsKCk7CisKK3ZvaWQgaW5pdGlhbGl6
ZUxMVk0oKTsgLy8gSXQncyBzYWZlIHRvIGNhbGwgdGhpcyBtdWx0aXBsZSB0aW1lcy4KKworfSAv
LyBuYW1lc3BhY2UgSlNDCisKKyNlbmRpZiAvLyBIQVZFKExMVk0pCisKKyNlbmRpZiAvLyBJbml0
aWFsaXplTExWTV9oCisKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbHZtL0luaXRpYWxp
emVMTFZNTWFjLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbHZtL0lu
aXRpYWxpemVMTFZNTWFjLm1tCShyZXZpc2lvbiAwKQorKysgU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsdm0vSW5pdGlhbGl6ZUxMVk1NYWMubW0JKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw1NSBA
QAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAg
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJ
TkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICog
Q09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9S
IEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkK
KyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwg
T1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKyAqLworCisjaW1wb3J0
ICJjb25maWcuaCIKKyNpbXBvcnQgIkluaXRpYWxpemVMTFZNLmgiCisKKyNpZiBIQVZFKExMVk0p
CisKKyNpbXBvcnQgIkluaXRpYWxpemVMTFZNUE9TSVguaCIKKyNpbXBvcnQgPEZvdW5kYXRpb24v
Rm91bmRhdGlvbi5oPgorCisvLyBVc2UgdGhlICJKUyIgcHJlZml4IHRvIG1ha2UgY2hlY2stZm9y
LWluYXBwcm9wcmlhdGUtb2JqYy1jbGFzcy1uYW1lcyBoYXBweS4gSQorLy8gdGhpbmsgdGhpcyBp
cyBiZXR0ZXIgdGhhbiBoYWNraW5nIHRoYXQgc2NyaXB0LgorCitAaW50ZXJmYWNlIEpTSmF2YVNj
cmlwdENvcmVCdW5kbGVGaW5kZXIgOiBOU09iamVjdAorQGVuZAorCitAaW1wbGVtZW50YXRpb24g
SlNKYXZhU2NyaXB0Q29yZUJ1bmRsZUZpbmRlcgorQGVuZAorCituYW1lc3BhY2UgSlNDIHsKKwor
dm9pZCBpbml0aWFsaXplTExWTUltcGwoKQoreworICAgIE5TQnVuZGxlICpteUJ1bmRsZSA9IFtO
U0J1bmRsZSBidW5kbGVGb3JDbGFzczpbSlNKYXZhU2NyaXB0Q29yZUJ1bmRsZUZpbmRlciBjbGFz
c11dOworICAgIE5TU3RyaW5nICpwYXRoID0gW1tteUJ1bmRsZSBidW5kbGVQYXRoXSBzdHJpbmdC
eUFwcGVuZGluZ1BhdGhDb21wb25lbnQ6QCJMaWJyYXJpZXMvbGlibGx2bUZvckpTQy5keWxpYiJd
OworICAgIAorICAgIGluaXRpYWxpemVMTFZNUE9TSVgoW3BhdGggVVRGOFN0cmluZ10pOworfQor
Cit9IC8vIG5hbWVzcGFjZSBKU0MKKworI2VuZGlmIC8vIEhBVkUoTExWTSkKSW5kZXg6IFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbHZtL0luaXRpYWxpemVMTFZNUE9TSVguY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbHZtL0luaXRpYWxpemVMTFZNUE9TSVguY3BwCShy
ZXZpc2lvbiAwKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2xsdm0vSW5pdGlhbGl6ZUxMVk1Q
T1NJWC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw1MyBAQAorLyoKKyAqIENvcHlyaWdo
dCAoQykgMjAxMyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgor
ICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgor
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQg
QU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJ
QUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBF
WEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT
OyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5j
bHVkZSAiSW5pdGlhbGl6ZUxMVk1QT1NJWC5oIgorCisjaWYgSEFWRShMTFZNKQorCisjaW5jbHVk
ZSAiTExWTUFQSS5oIgorI2luY2x1ZGUgPGRsZmNuLmg+CisKK25hbWVzcGFjZSBKU0MgeworCit0
eXBlZGVmIExMVk1BUEkqICgqSW5pdGlhbGl6ZXJGdW5jdGlvbikoKTsKKwordm9pZCBpbml0aWFs
aXplTExWTVBPU0lYKGNvbnN0IGNoYXIqIGxpYnJhcnlOYW1lKQoreworICAgIHZvaWQqIGxpYnJh
cnkgPSBkbG9wZW4obGlicmFyeU5hbWUsIFJUTERfTk9XKTsKKyAgICBBU1NFUlRfV0lUSF9NRVNT
QUdFKGxpYnJhcnksICIlcyIsIGRsZXJyb3IoKSk7CisgICAgCisgICAgSW5pdGlhbGl6ZXJGdW5j
dGlvbiBpbml0aWFsaXplciA9IGJpdHdpc2VfY2FzdDxJbml0aWFsaXplckZ1bmN0aW9uPigKKyAg
ICAgICAgZGxzeW0obGlicmFyeSwgImluaXRpYWxpemVBbmRHZXRKU0NMTFZNQVBJIikpOworICAg
IEFTU0VSVF9XSVRIX01FU1NBR0UoaW5pdGlhbGl6ZXIsICIlcyIsIGRsZXJyb3IoKSk7CisgICAg
CisgICAgbGx2bSA9IGluaXRpYWxpemVyKCk7Cit9CisKK30gLy8gbmFtZXNwYWNlIEpTQworCisj
ZW5kaWYgLy8gSEFWRShMTFZNKQorCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvbGx2bS9J
bml0aWFsaXplTExWTVBPU0lYLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsdm0vSW5pdGlhbGl6ZUxMVk1QT1NJWC5oCShyZXZpc2lvbiAwKQorKysgU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsdm0vSW5pdGlhbGl6ZUxMVk1QT1NJWC5oCSh3b3JraW5nIGNvcHkpCkBAIC0w
LDAgKzEsNDIgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTMgQXBwbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0
OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4g
dGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB
UgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElO
Qy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERB
TUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0Yg
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBB
TlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisgKi8K
KworI2lmbmRlZiBJbml0aWFsaXplTExWTVBPU0lYX2gKKyNkZWZpbmUgSW5pdGlhbGl6ZUxMVk1Q
T1NJWF9oCisKKyNpbmNsdWRlIDx3dGYvUGxhdGZvcm0uaD4KKworI2lmIEhBVkUoTExWTSkKKwor
bmFtZXNwYWNlIEpTQyB7CisKK3ZvaWQgaW5pdGlhbGl6ZUxMVk1QT1NJWChjb25zdCBjaGFyKiBs
aWJyYXJ5TmFtZSk7CisKK30gLy8gbmFtZXNwYWNlIEpTQworCisjZW5kaWYgLy8gSEFWRShMTFZN
KQorCisjZW5kaWYgLy8gSW5pdGlhbGl6ZUxMVk1QT1NJWF9oCisKSW5kZXg6IFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbHZtL0xMVk1BUEkuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbHZtL0xMVk1BUEkuY3BwCShyZXZpc2lvbiAwKQorKysgU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsdm0vTExWTUFQSS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzNyBAQAor
LyoKKyAqIENvcHlyaWdodCAoQykgMjAxMyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0
cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMu
IGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NF
IEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09O
VFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
IFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJV
U0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAq
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1Ig
VE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
RUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKyAqLworCisjaW5jbHVkZSAi
Y29uZmlnLmgiCisjaW5jbHVkZSAiTExWTUFQSS5oIgorCisjaWYgSEFWRShMTFZNKQorCituYW1l
c3BhY2UgSlNDIHsKKworTExWTUFQSSogbGx2bTsKKworfQorCisjZW5kaWYgLy8gSEFWRShMTFZN
KQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2xsdm0vTExWTUFQSS5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbHZtL0xMVk1BUEkuaAkocmV2aXNpb24gMCkKKysr
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbHZtL0xMVk1BUEkuaAkod29ya2luZyBjb3B5KQpAQCAt
MCwwICsxLDUyIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEzIEFwcGxlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1l
dDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVE
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM
QVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJ
TkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVD
VCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBE
QU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9G
IFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICog
UFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04g
QU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1Qg
TElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorICov
CisKKyNpZm5kZWYgTExWTUFQSV9oCisjZGVmaW5lIExMVk1BUElfaAorCisjaW5jbHVkZSA8d3Rm
L1BsYXRmb3JtLmg+CisKKyNpZiBIQVZFKExMVk0pCisKKyNpbmNsdWRlICJMTFZNQVBJRnVuY3Rp
b25zLmgiCisjaW5jbHVkZSAiTExWTUhlYWRlcnMuaCIKKworbmFtZXNwYWNlIEpTQyB7CisKK3N0
cnVjdCBMTFZNQVBJIHsKKyNkZWZpbmUgTExWTV9BUElfRlVOQ1RJT05fREVDTEFSQVRJT04ocmV0
dXJuVHlwZSwgbmFtZSwgc2lnbmF0dXJlKSBcCisgICAgcmV0dXJuVHlwZSAoKm5hbWUpIHNpZ25h
dHVyZTsKKyAgICBGT1JfRUFDSF9MTFZNX0FQSV9GVU5DVElPTihMTFZNX0FQSV9GVU5DVElPTl9E
RUNMQVJBVElPTikKKyN1bmRlZiBMTFZNX0FQSV9GVU5DVElPTl9ERUNMQVJBVElPTgorfTsKKwor
ZXh0ZXJuIExMVk1BUEkqIGxsdm07CisKK30gLy8gbmFtZXNwYWNlIEpTQworCisjZW5kaWYgLy8g
SEFWRShMTFZNKQorCisjZW5kaWYgLy8gTExWTUFQSV9oCisKSW5kZXg6IFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbHZtL0xMVk1BUElGdW5jdGlvbnMuaAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGx2bS9MTFZNQVBJRnVuY3Rpb25zLmgJKHJldmlzaW9uIDApCisrKyBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGx2bS9MTFZNQVBJRnVuY3Rpb25zLmgJKHdvcmtpbmcgY29weSkK
QEAgLTAsMCArMSw2MzYgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTMgQXBwbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBh
cmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElN
UExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFS
VElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQ
UExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1F
TlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9S
CisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4g
CisgKi8KKworI2lmbmRlZiBMTFZNQVBJRnVuY3Rpb25zX2gKKyNkZWZpbmUgTExWTUFQSUZ1bmN0
aW9uc19oCisKKyNpbmNsdWRlICJMTFZNSGVhZGVycy5oIgorCisjZGVmaW5lIEZPUl9FQUNIX0xM
Vk1fQVBJX0ZVTkNUSU9OKG1hY3JvKSBcCisgICAgbWFjcm8odm9pZCwgSW5pdGlhbGl6ZUNvcmUs
IChMTFZNUGFzc1JlZ2lzdHJ5UmVmIFIpKSBcCisgICAgbWFjcm8odm9pZCwgU2h1dGRvd24sICgp
KSBcCisgICAgbWFjcm8oY2hhciAqLCBDcmVhdGVNZXNzYWdlLCAoY29uc3QgY2hhciAqTWVzc2Fn
ZSkpIFwKKyAgICBtYWNybyh2b2lkLCBEaXNwb3NlTWVzc2FnZSwgKGNoYXIgKk1lc3NhZ2UpKSBc
CisgICAgbWFjcm8oTExWTUNvbnRleHRSZWYsIENvbnRleHRDcmVhdGUsICh2b2lkKSkgXAorICAg
IG1hY3JvKExMVk1Db250ZXh0UmVmLCBHZXRHbG9iYWxDb250ZXh0LCAodm9pZCkpIFwKKyAgICBt
YWNybyh2b2lkLCBDb250ZXh0RGlzcG9zZSwgKExMVk1Db250ZXh0UmVmIEMpKSBcCisgICAgbWFj
cm8odW5zaWduZWQsIEdldE1ES2luZElESW5Db250ZXh0LCAoTExWTUNvbnRleHRSZWYgQywgY29u
c3QgY2hhciogTmFtZSwgdW5zaWduZWQgU0xlbikpIFwKKyAgICBtYWNybyh1bnNpZ25lZCwgR2V0
TURLaW5kSUQsIChjb25zdCBjaGFyKiBOYW1lLCB1bnNpZ25lZCBTTGVuKSkgXAorICAgIG1hY3Jv
KExMVk1Nb2R1bGVSZWYsIE1vZHVsZUNyZWF0ZVdpdGhOYW1lLCAoY29uc3QgY2hhciAqTW9kdWxl
SUQpKSBcCisgICAgbWFjcm8oTExWTU1vZHVsZVJlZiwgTW9kdWxlQ3JlYXRlV2l0aE5hbWVJbkNv
bnRleHQsIChjb25zdCBjaGFyICpNb2R1bGVJRCwgTExWTUNvbnRleHRSZWYgQykpIFwKKyAgICBt
YWNybyh2b2lkLCBEaXNwb3NlTW9kdWxlLCAoTExWTU1vZHVsZVJlZiBNKSkgXAorICAgIG1hY3Jv
KGNvbnN0IGNoYXIgKiwgR2V0RGF0YUxheW91dCwgKExMVk1Nb2R1bGVSZWYgTSkpIFwKKyAgICBt
YWNybyh2b2lkLCBTZXREYXRhTGF5b3V0LCAoTExWTU1vZHVsZVJlZiBNLCBjb25zdCBjaGFyICpU
cmlwbGUpKSBcCisgICAgbWFjcm8oY29uc3QgY2hhciAqLCBHZXRUYXJnZXQsIChMTFZNTW9kdWxl
UmVmIE0pKSBcCisgICAgbWFjcm8odm9pZCwgU2V0VGFyZ2V0LCAoTExWTU1vZHVsZVJlZiBNLCBj
b25zdCBjaGFyICpUcmlwbGUpKSBcCisgICAgbWFjcm8odm9pZCwgRHVtcE1vZHVsZSwgKExMVk1N
b2R1bGVSZWYgTSkpIFwKKyAgICBtYWNybyhMTFZNQm9vbCwgUHJpbnRNb2R1bGVUb0ZpbGUsIChM
TFZNTW9kdWxlUmVmIE0sIGNvbnN0IGNoYXIgKkZpbGVuYW1lLCBjaGFyICoqRXJyb3JNZXNzYWdl
KSkgXAorICAgIG1hY3JvKHZvaWQsIFNldE1vZHVsZUlubGluZUFzbSwgKExMVk1Nb2R1bGVSZWYg
TSwgY29uc3QgY2hhciAqQXNtKSkgXAorICAgIG1hY3JvKExMVk1Db250ZXh0UmVmLCBHZXRNb2R1
bGVDb250ZXh0LCAoTExWTU1vZHVsZVJlZiBNKSkgXAorICAgIG1hY3JvKExMVk1UeXBlUmVmLCBH
ZXRUeXBlQnlOYW1lLCAoTExWTU1vZHVsZVJlZiBNLCBjb25zdCBjaGFyICpOYW1lKSkgXAorICAg
IG1hY3JvKHVuc2lnbmVkLCBHZXROYW1lZE1ldGFkYXRhTnVtT3BlcmFuZHMsIChMTFZNTW9kdWxl
UmVmIE0sIGNvbnN0IGNoYXIqIG5hbWUpKSBcCisgICAgbWFjcm8odm9pZCwgR2V0TmFtZWRNZXRh
ZGF0YU9wZXJhbmRzLCAoTExWTU1vZHVsZVJlZiBNLCBjb25zdCBjaGFyKiBuYW1lLCBMTFZNVmFs
dWVSZWYgKkRlc3QpKSBcCisgICAgbWFjcm8odm9pZCwgQWRkTmFtZWRNZXRhZGF0YU9wZXJhbmQs
IChMTFZNTW9kdWxlUmVmIE0sIGNvbnN0IGNoYXIqIG5hbWUsIExMVk1WYWx1ZVJlZiBWYWwpKSBc
CisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBBZGRGdW5jdGlvbiwgKExMVk1Nb2R1bGVSZWYgTSwg
Y29uc3QgY2hhciAqTmFtZSwgTExWTVR5cGVSZWYgRnVuY3Rpb25UeSkpIFwKKyAgICBtYWNybyhM
TFZNVmFsdWVSZWYsIEdldE5hbWVkRnVuY3Rpb24sIChMTFZNTW9kdWxlUmVmIE0sIGNvbnN0IGNo
YXIgKk5hbWUpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBHZXRGaXJzdEZ1bmN0aW9uLCAo
TExWTU1vZHVsZVJlZiBNKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgR2V0TGFzdEZ1bmN0
aW9uLCAoTExWTU1vZHVsZVJlZiBNKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgR2V0TmV4
dEZ1bmN0aW9uLCAoTExWTVZhbHVlUmVmIEZuKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwg
R2V0UHJldmlvdXNGdW5jdGlvbiwgKExMVk1WYWx1ZVJlZiBGbikpIFwKKyAgICBtYWNybyhMTFZN
VHlwZUtpbmQsIEdldFR5cGVLaW5kLCAoTExWTVR5cGVSZWYgVHkpKSBcCisgICAgbWFjcm8oTExW
TUJvb2wsIFR5cGVJc1NpemVkLCAoTExWTVR5cGVSZWYgVHkpKSBcCisgICAgbWFjcm8oTExWTUNv
bnRleHRSZWYsIEdldFR5cGVDb250ZXh0LCAoTExWTVR5cGVSZWYgVHkpKSBcCisgICAgbWFjcm8o
TExWTVR5cGVSZWYsIEludDFUeXBlSW5Db250ZXh0LCAoTExWTUNvbnRleHRSZWYgQykpIFwKKyAg
ICBtYWNybyhMTFZNVHlwZVJlZiwgSW50OFR5cGVJbkNvbnRleHQsIChMTFZNQ29udGV4dFJlZiBD
KSkgXAorICAgIG1hY3JvKExMVk1UeXBlUmVmLCBJbnQxNlR5cGVJbkNvbnRleHQsIChMTFZNQ29u
dGV4dFJlZiBDKSkgXAorICAgIG1hY3JvKExMVk1UeXBlUmVmLCBJbnQzMlR5cGVJbkNvbnRleHQs
IChMTFZNQ29udGV4dFJlZiBDKSkgXAorICAgIG1hY3JvKExMVk1UeXBlUmVmLCBJbnQ2NFR5cGVJ
bkNvbnRleHQsIChMTFZNQ29udGV4dFJlZiBDKSkgXAorICAgIG1hY3JvKExMVk1UeXBlUmVmLCBJ
bnRUeXBlSW5Db250ZXh0LCAoTExWTUNvbnRleHRSZWYgQywgdW5zaWduZWQgTnVtQml0cykpIFwK
KyAgICBtYWNybyhMTFZNVHlwZVJlZiwgSW50MVR5cGUsICh2b2lkKSkgXAorICAgIG1hY3JvKExM
Vk1UeXBlUmVmLCBJbnQ4VHlwZSwgKHZvaWQpKSBcCisgICAgbWFjcm8oTExWTVR5cGVSZWYsIElu
dDE2VHlwZSwgKHZvaWQpKSBcCisgICAgbWFjcm8oTExWTVR5cGVSZWYsIEludDMyVHlwZSwgKHZv
aWQpKSBcCisgICAgbWFjcm8oTExWTVR5cGVSZWYsIEludDY0VHlwZSwgKHZvaWQpKSBcCisgICAg
bWFjcm8oTExWTVR5cGVSZWYsIEludFR5cGUsICh1bnNpZ25lZCBOdW1CaXRzKSkgXAorICAgIG1h
Y3JvKHVuc2lnbmVkLCBHZXRJbnRUeXBlV2lkdGgsIChMTFZNVHlwZVJlZiBJbnRlZ2VyVHkpKSBc
CisgICAgbWFjcm8oTExWTVR5cGVSZWYsIEhhbGZUeXBlSW5Db250ZXh0LCAoTExWTUNvbnRleHRS
ZWYgQykpIFwKKyAgICBtYWNybyhMTFZNVHlwZVJlZiwgRmxvYXRUeXBlSW5Db250ZXh0LCAoTExW
TUNvbnRleHRSZWYgQykpIFwKKyAgICBtYWNybyhMTFZNVHlwZVJlZiwgRG91YmxlVHlwZUluQ29u
dGV4dCwgKExMVk1Db250ZXh0UmVmIEMpKSBcCisgICAgbWFjcm8oTExWTVR5cGVSZWYsIFg4NkZQ
ODBUeXBlSW5Db250ZXh0LCAoTExWTUNvbnRleHRSZWYgQykpIFwKKyAgICBtYWNybyhMTFZNVHlw
ZVJlZiwgRlAxMjhUeXBlSW5Db250ZXh0LCAoTExWTUNvbnRleHRSZWYgQykpIFwKKyAgICBtYWNy
byhMTFZNVHlwZVJlZiwgUFBDRlAxMjhUeXBlSW5Db250ZXh0LCAoTExWTUNvbnRleHRSZWYgQykp
IFwKKyAgICBtYWNybyhMTFZNVHlwZVJlZiwgSGFsZlR5cGUsICh2b2lkKSkgXAorICAgIG1hY3Jv
KExMVk1UeXBlUmVmLCBGbG9hdFR5cGUsICh2b2lkKSkgXAorICAgIG1hY3JvKExMVk1UeXBlUmVm
LCBEb3VibGVUeXBlLCAodm9pZCkpIFwKKyAgICBtYWNybyhMTFZNVHlwZVJlZiwgWDg2RlA4MFR5
cGUsICh2b2lkKSkgXAorICAgIG1hY3JvKExMVk1UeXBlUmVmLCBGUDEyOFR5cGUsICh2b2lkKSkg
XAorICAgIG1hY3JvKExMVk1UeXBlUmVmLCBQUENGUDEyOFR5cGUsICh2b2lkKSkgXAorICAgIG1h
Y3JvKExMVk1UeXBlUmVmLCBGdW5jdGlvblR5cGUsIChMTFZNVHlwZVJlZiBSZXR1cm5UeXBlLCBM
TFZNVHlwZVJlZiAqUGFyYW1UeXBlcywgdW5zaWduZWQgUGFyYW1Db3VudCwgTExWTUJvb2wgSXNW
YXJBcmcpKSBcCisgICAgbWFjcm8oTExWTUJvb2wsIElzRnVuY3Rpb25WYXJBcmcsIChMTFZNVHlw
ZVJlZiBGdW5jdGlvblR5KSkgXAorICAgIG1hY3JvKExMVk1UeXBlUmVmLCBHZXRSZXR1cm5UeXBl
LCAoTExWTVR5cGVSZWYgRnVuY3Rpb25UeSkpIFwKKyAgICBtYWNybyh1bnNpZ25lZCwgQ291bnRQ
YXJhbVR5cGVzLCAoTExWTVR5cGVSZWYgRnVuY3Rpb25UeSkpIFwKKyAgICBtYWNybyh2b2lkLCBH
ZXRQYXJhbVR5cGVzLCAoTExWTVR5cGVSZWYgRnVuY3Rpb25UeSwgTExWTVR5cGVSZWYgKkRlc3Qp
KSBcCisgICAgbWFjcm8oTExWTVR5cGVSZWYsIFN0cnVjdFR5cGVJbkNvbnRleHQsIChMTFZNQ29u
dGV4dFJlZiBDLCBMTFZNVHlwZVJlZiAqRWxlbWVudFR5cGVzLCB1bnNpZ25lZCBFbGVtZW50Q291
bnQsIExMVk1Cb29sIFBhY2tlZCkpIFwKKyAgICBtYWNybyhMTFZNVHlwZVJlZiwgU3RydWN0VHlw
ZSwgKExMVk1UeXBlUmVmICpFbGVtZW50VHlwZXMsIHVuc2lnbmVkIEVsZW1lbnRDb3VudCwgTExW
TUJvb2wgUGFja2VkKSkgXAorICAgIG1hY3JvKExMVk1UeXBlUmVmLCBTdHJ1Y3RDcmVhdGVOYW1l
ZCwgKExMVk1Db250ZXh0UmVmIEMsIGNvbnN0IGNoYXIgKk5hbWUpKSBcCisgICAgbWFjcm8oY29u
c3QgY2hhciAqLCBHZXRTdHJ1Y3ROYW1lLCAoTExWTVR5cGVSZWYgVHkpKSBcCisgICAgbWFjcm8o
dm9pZCwgU3RydWN0U2V0Qm9keSwgKExMVk1UeXBlUmVmIFN0cnVjdFR5LCBMTFZNVHlwZVJlZiAq
RWxlbWVudFR5cGVzLCB1bnNpZ25lZCBFbGVtZW50Q291bnQsIExMVk1Cb29sIFBhY2tlZCkpIFwK
KyAgICBtYWNybyh1bnNpZ25lZCwgQ291bnRTdHJ1Y3RFbGVtZW50VHlwZXMsIChMTFZNVHlwZVJl
ZiBTdHJ1Y3RUeSkpIFwKKyAgICBtYWNybyh2b2lkLCBHZXRTdHJ1Y3RFbGVtZW50VHlwZXMsIChM
TFZNVHlwZVJlZiBTdHJ1Y3RUeSwgTExWTVR5cGVSZWYgKkRlc3QpKSBcCisgICAgbWFjcm8oTExW
TUJvb2wsIElzUGFja2VkU3RydWN0LCAoTExWTVR5cGVSZWYgU3RydWN0VHkpKSBcCisgICAgbWFj
cm8oTExWTUJvb2wsIElzT3BhcXVlU3RydWN0LCAoTExWTVR5cGVSZWYgU3RydWN0VHkpKSBcCisg
ICAgbWFjcm8oTExWTVR5cGVSZWYsIEdldEVsZW1lbnRUeXBlLCAoTExWTVR5cGVSZWYgVHkpKSBc
CisgICAgbWFjcm8oTExWTVR5cGVSZWYsIEFycmF5VHlwZSwgKExMVk1UeXBlUmVmIEVsZW1lbnRU
eXBlLCB1bnNpZ25lZCBFbGVtZW50Q291bnQpKSBcCisgICAgbWFjcm8odW5zaWduZWQsIEdldEFy
cmF5TGVuZ3RoLCAoTExWTVR5cGVSZWYgQXJyYXlUeSkpIFwKKyAgICBtYWNybyhMTFZNVHlwZVJl
ZiwgUG9pbnRlclR5cGUsIChMTFZNVHlwZVJlZiBFbGVtZW50VHlwZSwgdW5zaWduZWQgQWRkcmVz
c1NwYWNlKSkgXAorICAgIG1hY3JvKHVuc2lnbmVkLCBHZXRQb2ludGVyQWRkcmVzc1NwYWNlLCAo
TExWTVR5cGVSZWYgUG9pbnRlclR5KSkgXAorICAgIG1hY3JvKExMVk1UeXBlUmVmLCBWZWN0b3JU
eXBlLCAoTExWTVR5cGVSZWYgRWxlbWVudFR5cGUsIHVuc2lnbmVkIEVsZW1lbnRDb3VudCkpIFwK
KyAgICBtYWNybyh1bnNpZ25lZCwgR2V0VmVjdG9yU2l6ZSwgKExMVk1UeXBlUmVmIFZlY3RvclR5
KSkgXAorICAgIG1hY3JvKExMVk1UeXBlUmVmLCBWb2lkVHlwZUluQ29udGV4dCwgKExMVk1Db250
ZXh0UmVmIEMpKSBcCisgICAgbWFjcm8oTExWTVR5cGVSZWYsIExhYmVsVHlwZUluQ29udGV4dCwg
KExMVk1Db250ZXh0UmVmIEMpKSBcCisgICAgbWFjcm8oTExWTVR5cGVSZWYsIFg4Nk1NWFR5cGVJ
bkNvbnRleHQsIChMTFZNQ29udGV4dFJlZiBDKSkgXAorICAgIG1hY3JvKExMVk1UeXBlUmVmLCBW
b2lkVHlwZSwgKHZvaWQpKSBcCisgICAgbWFjcm8oTExWTVR5cGVSZWYsIExhYmVsVHlwZSwgKHZv
aWQpKSBcCisgICAgbWFjcm8oTExWTVR5cGVSZWYsIFg4Nk1NWFR5cGUsICh2b2lkKSkgXAorICAg
IG1hY3JvKExMVk1UeXBlUmVmLCBUeXBlT2YsIChMTFZNVmFsdWVSZWYgVmFsKSkgXAorICAgIG1h
Y3JvKGNvbnN0IGNoYXIgKiwgR2V0VmFsdWVOYW1lLCAoTExWTVZhbHVlUmVmIFZhbCkpIFwKKyAg
ICBtYWNybyh2b2lkLCBTZXRWYWx1ZU5hbWUsIChMTFZNVmFsdWVSZWYgVmFsLCBjb25zdCBjaGFy
ICpOYW1lKSkgXAorICAgIG1hY3JvKHZvaWQsIER1bXBWYWx1ZSwgKExMVk1WYWx1ZVJlZiBWYWwp
KSBcCisgICAgbWFjcm8odm9pZCwgUmVwbGFjZUFsbFVzZXNXaXRoLCAoTExWTVZhbHVlUmVmIE9s
ZFZhbCwgTExWTVZhbHVlUmVmIE5ld1ZhbCkpIFwKKyAgICBtYWNybyhMTFZNQm9vbCwgSXNDb25z
dGFudCwgKExMVk1WYWx1ZVJlZiBWYWwpKSBcCisgICAgbWFjcm8oTExWTUJvb2wsIElzVW5kZWYs
IChMTFZNVmFsdWVSZWYgVmFsKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgSXNBQXJndW1l
bnQsIChMTFZNVmFsdWVSZWYgVmFsKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgSXNBQmFz
aWNCbG9jaywgKExMVk1WYWx1ZVJlZiBWYWwpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBJ
c0FJbmxpbmVBc20sIChMTFZNVmFsdWVSZWYgVmFsKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJl
ZiwgSXNBTUROb2RlLCAoTExWTVZhbHVlUmVmIFZhbCkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVS
ZWYsIElzQU1EU3RyaW5nLCAoTExWTVZhbHVlUmVmIFZhbCkpIFwKKyAgICBtYWNybyhMTFZNVmFs
dWVSZWYsIElzQVVzZXIsIChMTFZNVmFsdWVSZWYgVmFsKSkgXAorICAgIG1hY3JvKExMVk1WYWx1
ZVJlZiwgSXNBQ29uc3RhbnQsIChMTFZNVmFsdWVSZWYgVmFsKSkgXAorICAgIG1hY3JvKExMVk1W
YWx1ZVJlZiwgSXNBQmxvY2tBZGRyZXNzLCAoTExWTVZhbHVlUmVmIFZhbCkpIFwKKyAgICBtYWNy
byhMTFZNVmFsdWVSZWYsIElzQUNvbnN0YW50QWdncmVnYXRlWmVybywgKExMVk1WYWx1ZVJlZiBW
YWwpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBJc0FDb25zdGFudEFycmF5LCAoTExWTVZh
bHVlUmVmIFZhbCkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIElzQUNvbnN0YW50RXhwciwg
KExMVk1WYWx1ZVJlZiBWYWwpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBJc0FDb25zdGFu
dEZQLCAoTExWTVZhbHVlUmVmIFZhbCkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIElzQUNv
bnN0YW50SW50LCAoTExWTVZhbHVlUmVmIFZhbCkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYs
IElzQUNvbnN0YW50UG9pbnRlck51bGwsIChMTFZNVmFsdWVSZWYgVmFsKSkgXAorICAgIG1hY3Jv
KExMVk1WYWx1ZVJlZiwgSXNBQ29uc3RhbnRTdHJ1Y3QsIChMTFZNVmFsdWVSZWYgVmFsKSkgXAor
ICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgSXNBQ29uc3RhbnRWZWN0b3IsIChMTFZNVmFsdWVSZWYg
VmFsKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgSXNBR2xvYmFsVmFsdWUsIChMTFZNVmFs
dWVSZWYgVmFsKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgSXNBRnVuY3Rpb24sIChMTFZN
VmFsdWVSZWYgVmFsKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgSXNBR2xvYmFsQWxpYXMs
IChMTFZNVmFsdWVSZWYgVmFsKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgSXNBR2xvYmFs
VmFyaWFibGUsIChMTFZNVmFsdWVSZWYgVmFsKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwg
SXNBVW5kZWZWYWx1ZSwgKExMVk1WYWx1ZVJlZiBWYWwpKSBcCisgICAgbWFjcm8oTExWTVZhbHVl
UmVmLCBJc0FJbnN0cnVjdGlvbiwgKExMVk1WYWx1ZVJlZiBWYWwpKSBcCisgICAgbWFjcm8oTExW
TVZhbHVlUmVmLCBJc0FCaW5hcnlPcGVyYXRvciwgKExMVk1WYWx1ZVJlZiBWYWwpKSBcCisgICAg
bWFjcm8oTExWTVZhbHVlUmVmLCBJc0FDYWxsSW5zdCwgKExMVk1WYWx1ZVJlZiBWYWwpKSBcCisg
ICAgbWFjcm8oTExWTVZhbHVlUmVmLCBJc0FJbnRyaW5zaWNJbnN0LCAoTExWTVZhbHVlUmVmIFZh
bCkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIElzQURiZ0luZm9JbnRyaW5zaWMsIChMTFZN
VmFsdWVSZWYgVmFsKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgSXNBRGJnRGVjbGFyZUlu
c3QsIChMTFZNVmFsdWVSZWYgVmFsKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgSXNBTWVt
SW50cmluc2ljLCAoTExWTVZhbHVlUmVmIFZhbCkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYs
IElzQU1lbUNweUluc3QsIChMTFZNVmFsdWVSZWYgVmFsKSkgXAorICAgIG1hY3JvKExMVk1WYWx1
ZVJlZiwgSXNBTWVtTW92ZUluc3QsIChMTFZNVmFsdWVSZWYgVmFsKSkgXAorICAgIG1hY3JvKExM
Vk1WYWx1ZVJlZiwgSXNBTWVtU2V0SW5zdCwgKExMVk1WYWx1ZVJlZiBWYWwpKSBcCisgICAgbWFj
cm8oTExWTVZhbHVlUmVmLCBJc0FDbXBJbnN0LCAoTExWTVZhbHVlUmVmIFZhbCkpIFwKKyAgICBt
YWNybyhMTFZNVmFsdWVSZWYsIElzQUZDbXBJbnN0LCAoTExWTVZhbHVlUmVmIFZhbCkpIFwKKyAg
ICBtYWNybyhMTFZNVmFsdWVSZWYsIElzQUlDbXBJbnN0LCAoTExWTVZhbHVlUmVmIFZhbCkpIFwK
KyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIElzQUV4dHJhY3RFbGVtZW50SW5zdCwgKExMVk1WYWx1
ZVJlZiBWYWwpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBJc0FHZXRFbGVtZW50UHRySW5z
dCwgKExMVk1WYWx1ZVJlZiBWYWwpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBJc0FJbnNl
cnRFbGVtZW50SW5zdCwgKExMVk1WYWx1ZVJlZiBWYWwpKSBcCisgICAgbWFjcm8oTExWTVZhbHVl
UmVmLCBJc0FJbnNlcnRWYWx1ZUluc3QsIChMTFZNVmFsdWVSZWYgVmFsKSkgXAorICAgIG1hY3Jv
KExMVk1WYWx1ZVJlZiwgSXNBTGFuZGluZ1BhZEluc3QsIChMTFZNVmFsdWVSZWYgVmFsKSkgXAor
ICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgSXNBUEhJTm9kZSwgKExMVk1WYWx1ZVJlZiBWYWwpKSBc
CisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBJc0FTZWxlY3RJbnN0LCAoTExWTVZhbHVlUmVmIFZh
bCkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIElzQVNodWZmbGVWZWN0b3JJbnN0LCAoTExW
TVZhbHVlUmVmIFZhbCkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIElzQVN0b3JlSW5zdCwg
KExMVk1WYWx1ZVJlZiBWYWwpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBJc0FUZXJtaW5h
dG9ySW5zdCwgKExMVk1WYWx1ZVJlZiBWYWwpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBJ
c0FCcmFuY2hJbnN0LCAoTExWTVZhbHVlUmVmIFZhbCkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVS
ZWYsIElzQUluZGlyZWN0QnJJbnN0LCAoTExWTVZhbHVlUmVmIFZhbCkpIFwKKyAgICBtYWNybyhM
TFZNVmFsdWVSZWYsIElzQUludm9rZUluc3QsIChMTFZNVmFsdWVSZWYgVmFsKSkgXAorICAgIG1h
Y3JvKExMVk1WYWx1ZVJlZiwgSXNBUmV0dXJuSW5zdCwgKExMVk1WYWx1ZVJlZiBWYWwpKSBcCisg
ICAgbWFjcm8oTExWTVZhbHVlUmVmLCBJc0FTd2l0Y2hJbnN0LCAoTExWTVZhbHVlUmVmIFZhbCkp
IFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIElzQVVucmVhY2hhYmxlSW5zdCwgKExMVk1WYWx1
ZVJlZiBWYWwpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBJc0FSZXN1bWVJbnN0LCAoTExW
TVZhbHVlUmVmIFZhbCkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIElzQVVuYXJ5SW5zdHJ1
Y3Rpb24sIChMTFZNVmFsdWVSZWYgVmFsKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgSXNB
QWxsb2NhSW5zdCwgKExMVk1WYWx1ZVJlZiBWYWwpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVm
LCBJc0FDYXN0SW5zdCwgKExMVk1WYWx1ZVJlZiBWYWwpKSBcCisgICAgbWFjcm8oTExWTVZhbHVl
UmVmLCBJc0FCaXRDYXN0SW5zdCwgKExMVk1WYWx1ZVJlZiBWYWwpKSBcCisgICAgbWFjcm8oTExW
TVZhbHVlUmVmLCBJc0FGUEV4dEluc3QsIChMTFZNVmFsdWVSZWYgVmFsKSkgXAorICAgIG1hY3Jv
KExMVk1WYWx1ZVJlZiwgSXNBRlBUb1NJSW5zdCwgKExMVk1WYWx1ZVJlZiBWYWwpKSBcCisgICAg
bWFjcm8oTExWTVZhbHVlUmVmLCBJc0FGUFRvVUlJbnN0LCAoTExWTVZhbHVlUmVmIFZhbCkpIFwK
KyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIElzQUZQVHJ1bmNJbnN0LCAoTExWTVZhbHVlUmVmIFZh
bCkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIElzQUludFRvUHRySW5zdCwgKExMVk1WYWx1
ZVJlZiBWYWwpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBJc0FQdHJUb0ludEluc3QsIChM
TFZNVmFsdWVSZWYgVmFsKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgSXNBU0V4dEluc3Qs
IChMTFZNVmFsdWVSZWYgVmFsKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgSXNBU0lUb0ZQ
SW5zdCwgKExMVk1WYWx1ZVJlZiBWYWwpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBJc0FU
cnVuY0luc3QsIChMTFZNVmFsdWVSZWYgVmFsKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwg
SXNBVUlUb0ZQSW5zdCwgKExMVk1WYWx1ZVJlZiBWYWwpKSBcCisgICAgbWFjcm8oTExWTVZhbHVl
UmVmLCBJc0FaRXh0SW5zdCwgKExMVk1WYWx1ZVJlZiBWYWwpKSBcCisgICAgbWFjcm8oTExWTVZh
bHVlUmVmLCBJc0FFeHRyYWN0VmFsdWVJbnN0LCAoTExWTVZhbHVlUmVmIFZhbCkpIFwKKyAgICBt
YWNybyhMTFZNVmFsdWVSZWYsIElzQUxvYWRJbnN0LCAoTExWTVZhbHVlUmVmIFZhbCkpIFwKKyAg
ICBtYWNybyhMTFZNVmFsdWVSZWYsIElzQVZBQXJnSW5zdCwgKExMVk1WYWx1ZVJlZiBWYWwpKSBc
CisgICAgbWFjcm8oTExWTVVzZVJlZiwgR2V0Rmlyc3RVc2UsIChMTFZNVmFsdWVSZWYgVmFsKSkg
XAorICAgIG1hY3JvKExMVk1Vc2VSZWYsIEdldE5leHRVc2UsIChMTFZNVXNlUmVmIFUpKSBcCisg
ICAgbWFjcm8oTExWTVZhbHVlUmVmLCBHZXRVc2VyLCAoTExWTVVzZVJlZiBVKSkgXAorICAgIG1h
Y3JvKExMVk1WYWx1ZVJlZiwgR2V0VXNlZFZhbHVlLCAoTExWTVVzZVJlZiBVKSkgXAorICAgIG1h
Y3JvKExMVk1WYWx1ZVJlZiwgR2V0T3BlcmFuZCwgKExMVk1WYWx1ZVJlZiBWYWwsIHVuc2lnbmVk
IEluZGV4KSkgXAorICAgIG1hY3JvKHZvaWQsIFNldE9wZXJhbmQsIChMTFZNVmFsdWVSZWYgVXNl
ciwgdW5zaWduZWQgSW5kZXgsIExMVk1WYWx1ZVJlZiBWYWwpKSBcCisgICAgbWFjcm8oaW50LCBH
ZXROdW1PcGVyYW5kcywgKExMVk1WYWx1ZVJlZiBWYWwpKSBcCisgICAgbWFjcm8oTExWTVZhbHVl
UmVmLCBDb25zdE51bGwsIChMTFZNVHlwZVJlZiBUeSkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVS
ZWYsIENvbnN0QWxsT25lcywgKExMVk1UeXBlUmVmIFR5KSkgXAorICAgIG1hY3JvKExMVk1WYWx1
ZVJlZiwgR2V0VW5kZWYsIChMTFZNVHlwZVJlZiBUeSkpIFwKKyAgICBtYWNybyhMTFZNQm9vbCwg
SXNOdWxsLCAoTExWTVZhbHVlUmVmIFZhbCkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIENv
bnN0UG9pbnRlck51bGwsIChMTFZNVHlwZVJlZiBUeSkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVS
ZWYsIENvbnN0SW50LCAoTExWTVR5cGVSZWYgSW50VHksIHVuc2lnbmVkIGxvbmcgbG9uZyBOLCBM
TFZNQm9vbCBTaWduRXh0ZW5kKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgQ29uc3RJbnRP
ZkFyYml0cmFyeVByZWNpc2lvbiwgKExMVk1UeXBlUmVmIEludFR5LCB1bnNpZ25lZCBOdW1Xb3Jk
cywgY29uc3QgdWludDY0X3QgV29yZHNbXSkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIENv
bnN0SW50T2ZTdHJpbmcsIChMTFZNVHlwZVJlZiBJbnRUeSwgY29uc3QgY2hhciAqVGV4dCwgdWlu
dDhfdCBSYWRpeCkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIENvbnN0SW50T2ZTdHJpbmdB
bmRTaXplLCAoTExWTVR5cGVSZWYgSW50VHksIGNvbnN0IGNoYXIgKlRleHQsIHVuc2lnbmVkIFNM
ZW4sIHVpbnQ4X3QgUmFkaXgpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBDb25zdFJlYWws
IChMTFZNVHlwZVJlZiBSZWFsVHksIGRvdWJsZSBOKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJl
ZiwgQ29uc3RSZWFsT2ZTdHJpbmcsIChMTFZNVHlwZVJlZiBSZWFsVHksIGNvbnN0IGNoYXIgKlRl
eHQpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBDb25zdFJlYWxPZlN0cmluZ0FuZFNpemUs
IChMTFZNVHlwZVJlZiBSZWFsVHksIGNvbnN0IGNoYXIgKlRleHQsIHVuc2lnbmVkIFNMZW4pKSBc
CisgICAgbWFjcm8odW5zaWduZWQgbG9uZyBsb25nLCBDb25zdEludEdldFpFeHRWYWx1ZSwgKExM
Vk1WYWx1ZVJlZiBDb25zdGFudFZhbCkpIFwKKyAgICBtYWNybyhsb25nIGxvbmcsIENvbnN0SW50
R2V0U0V4dFZhbHVlLCAoTExWTVZhbHVlUmVmIENvbnN0YW50VmFsKSkgXAorICAgIG1hY3JvKExM
Vk1WYWx1ZVJlZiwgQ29uc3RTdHJpbmdJbkNvbnRleHQsIChMTFZNQ29udGV4dFJlZiBDLCBjb25z
dCBjaGFyICpTdHIsIHVuc2lnbmVkIExlbmd0aCwgTExWTUJvb2wgRG9udE51bGxUZXJtaW5hdGUp
KSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBDb25zdFN0cmluZywgKGNvbnN0IGNoYXIgKlN0
ciwgdW5zaWduZWQgTGVuZ3RoLCBMTFZNQm9vbCBEb250TnVsbFRlcm1pbmF0ZSkpIFwKKyAgICBt
YWNybyhMTFZNVmFsdWVSZWYsIENvbnN0U3RydWN0SW5Db250ZXh0LCAoTExWTUNvbnRleHRSZWYg
QywgTExWTVZhbHVlUmVmICpDb25zdGFudFZhbHMsIHVuc2lnbmVkIENvdW50LCBMTFZNQm9vbCBQ
YWNrZWQpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBDb25zdFN0cnVjdCwgKExMVk1WYWx1
ZVJlZiAqQ29uc3RhbnRWYWxzLCB1bnNpZ25lZCBDb3VudCwgTExWTUJvb2wgUGFja2VkKSkgXAor
ICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgQ29uc3RBcnJheSwgKExMVk1UeXBlUmVmIEVsZW1lbnRU
eSwgTExWTVZhbHVlUmVmICpDb25zdGFudFZhbHMsIHVuc2lnbmVkIExlbmd0aCkpIFwKKyAgICBt
YWNybyhMTFZNVmFsdWVSZWYsIENvbnN0TmFtZWRTdHJ1Y3QsIChMTFZNVHlwZVJlZiBTdHJ1Y3RU
eSwgTExWTVZhbHVlUmVmICpDb25zdGFudFZhbHMsIHVuc2lnbmVkIENvdW50KSkgXAorICAgIG1h
Y3JvKExMVk1WYWx1ZVJlZiwgQ29uc3RWZWN0b3IsIChMTFZNVmFsdWVSZWYgKlNjYWxhckNvbnN0
YW50VmFscywgdW5zaWduZWQgU2l6ZSkpIFwKKyAgICBtYWNybyhMTFZNT3Bjb2RlLCBHZXRDb25z
dE9wY29kZSwgKExMVk1WYWx1ZVJlZiBDb25zdGFudFZhbCkpIFwKKyAgICBtYWNybyhMTFZNVmFs
dWVSZWYsIEFsaWduT2YsIChMTFZNVHlwZVJlZiBUeSkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVS
ZWYsIFNpemVPZiwgKExMVk1UeXBlUmVmIFR5KSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwg
Q29uc3ROZWcsIChMTFZNVmFsdWVSZWYgQ29uc3RhbnRWYWwpKSBcCisgICAgbWFjcm8oTExWTVZh
bHVlUmVmLCBDb25zdE5TV05lZywgKExMVk1WYWx1ZVJlZiBDb25zdGFudFZhbCkpIFwKKyAgICBt
YWNybyhMTFZNVmFsdWVSZWYsIENvbnN0TlVXTmVnLCAoTExWTVZhbHVlUmVmIENvbnN0YW50VmFs
KSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgQ29uc3RGTmVnLCAoTExWTVZhbHVlUmVmIENv
bnN0YW50VmFsKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgQ29uc3ROb3QsIChMTFZNVmFs
dWVSZWYgQ29uc3RhbnRWYWwpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBDb25zdEFkZCwg
KExMVk1WYWx1ZVJlZiBMSFNDb25zdGFudCwgTExWTVZhbHVlUmVmIFJIU0NvbnN0YW50KSkgXAor
ICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgQ29uc3ROU1dBZGQsIChMTFZNVmFsdWVSZWYgTEhTQ29u
c3RhbnQsIExMVk1WYWx1ZVJlZiBSSFNDb25zdGFudCkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVS
ZWYsIENvbnN0TlVXQWRkLCAoTExWTVZhbHVlUmVmIExIU0NvbnN0YW50LCBMTFZNVmFsdWVSZWYg
UkhTQ29uc3RhbnQpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBDb25zdEZBZGQsIChMTFZN
VmFsdWVSZWYgTEhTQ29uc3RhbnQsIExMVk1WYWx1ZVJlZiBSSFNDb25zdGFudCkpIFwKKyAgICBt
YWNybyhMTFZNVmFsdWVSZWYsIENvbnN0U3ViLCAoTExWTVZhbHVlUmVmIExIU0NvbnN0YW50LCBM
TFZNVmFsdWVSZWYgUkhTQ29uc3RhbnQpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBDb25z
dE5TV1N1YiwgKExMVk1WYWx1ZVJlZiBMSFNDb25zdGFudCwgTExWTVZhbHVlUmVmIFJIU0NvbnN0
YW50KSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgQ29uc3ROVVdTdWIsIChMTFZNVmFsdWVS
ZWYgTEhTQ29uc3RhbnQsIExMVk1WYWx1ZVJlZiBSSFNDb25zdGFudCkpIFwKKyAgICBtYWNybyhM
TFZNVmFsdWVSZWYsIENvbnN0RlN1YiwgKExMVk1WYWx1ZVJlZiBMSFNDb25zdGFudCwgTExWTVZh
bHVlUmVmIFJIU0NvbnN0YW50KSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgQ29uc3RNdWws
IChMTFZNVmFsdWVSZWYgTEhTQ29uc3RhbnQsIExMVk1WYWx1ZVJlZiBSSFNDb25zdGFudCkpIFwK
KyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIENvbnN0TlNXTXVsLCAoTExWTVZhbHVlUmVmIExIU0Nv
bnN0YW50LCBMTFZNVmFsdWVSZWYgUkhTQ29uc3RhbnQpKSBcCisgICAgbWFjcm8oTExWTVZhbHVl
UmVmLCBDb25zdE5VV011bCwgKExMVk1WYWx1ZVJlZiBMSFNDb25zdGFudCwgTExWTVZhbHVlUmVm
IFJIU0NvbnN0YW50KSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgQ29uc3RGTXVsLCAoTExW
TVZhbHVlUmVmIExIU0NvbnN0YW50LCBMTFZNVmFsdWVSZWYgUkhTQ29uc3RhbnQpKSBcCisgICAg
bWFjcm8oTExWTVZhbHVlUmVmLCBDb25zdFVEaXYsIChMTFZNVmFsdWVSZWYgTEhTQ29uc3RhbnQs
IExMVk1WYWx1ZVJlZiBSSFNDb25zdGFudCkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIENv
bnN0U0RpdiwgKExMVk1WYWx1ZVJlZiBMSFNDb25zdGFudCwgTExWTVZhbHVlUmVmIFJIU0NvbnN0
YW50KSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgQ29uc3RFeGFjdFNEaXYsIChMTFZNVmFs
dWVSZWYgTEhTQ29uc3RhbnQsIExMVk1WYWx1ZVJlZiBSSFNDb25zdGFudCkpIFwKKyAgICBtYWNy
byhMTFZNVmFsdWVSZWYsIENvbnN0RkRpdiwgKExMVk1WYWx1ZVJlZiBMSFNDb25zdGFudCwgTExW
TVZhbHVlUmVmIFJIU0NvbnN0YW50KSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgQ29uc3RV
UmVtLCAoTExWTVZhbHVlUmVmIExIU0NvbnN0YW50LCBMTFZNVmFsdWVSZWYgUkhTQ29uc3RhbnQp
KSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBDb25zdFNSZW0sIChMTFZNVmFsdWVSZWYgTEhT
Q29uc3RhbnQsIExMVk1WYWx1ZVJlZiBSSFNDb25zdGFudCkpIFwKKyAgICBtYWNybyhMTFZNVmFs
dWVSZWYsIENvbnN0RlJlbSwgKExMVk1WYWx1ZVJlZiBMSFNDb25zdGFudCwgTExWTVZhbHVlUmVm
IFJIU0NvbnN0YW50KSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgQ29uc3RBbmQsIChMTFZN
VmFsdWVSZWYgTEhTQ29uc3RhbnQsIExMVk1WYWx1ZVJlZiBSSFNDb25zdGFudCkpIFwKKyAgICBt
YWNybyhMTFZNVmFsdWVSZWYsIENvbnN0T3IsIChMTFZNVmFsdWVSZWYgTEhTQ29uc3RhbnQsIExM
Vk1WYWx1ZVJlZiBSSFNDb25zdGFudCkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIENvbnN0
WG9yLCAoTExWTVZhbHVlUmVmIExIU0NvbnN0YW50LCBMTFZNVmFsdWVSZWYgUkhTQ29uc3RhbnQp
KSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBDb25zdElDbXAsIChMTFZNSW50UHJlZGljYXRl
IFByZWRpY2F0ZSwgTExWTVZhbHVlUmVmIExIU0NvbnN0YW50LCBMTFZNVmFsdWVSZWYgUkhTQ29u
c3RhbnQpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBDb25zdEZDbXAsIChMTFZNUmVhbFBy
ZWRpY2F0ZSBQcmVkaWNhdGUsIExMVk1WYWx1ZVJlZiBMSFNDb25zdGFudCwgTExWTVZhbHVlUmVm
IFJIU0NvbnN0YW50KSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgQ29uc3RTaGwsIChMTFZN
VmFsdWVSZWYgTEhTQ29uc3RhbnQsIExMVk1WYWx1ZVJlZiBSSFNDb25zdGFudCkpIFwKKyAgICBt
YWNybyhMTFZNVmFsdWVSZWYsIENvbnN0TFNociwgKExMVk1WYWx1ZVJlZiBMSFNDb25zdGFudCwg
TExWTVZhbHVlUmVmIFJIU0NvbnN0YW50KSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgQ29u
c3RBU2hyLCAoTExWTVZhbHVlUmVmIExIU0NvbnN0YW50LCBMTFZNVmFsdWVSZWYgUkhTQ29uc3Rh
bnQpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBDb25zdEdFUCwgKExMVk1WYWx1ZVJlZiBD
b25zdGFudFZhbCwgTExWTVZhbHVlUmVmICpDb25zdGFudEluZGljZXMsIHVuc2lnbmVkIE51bUlu
ZGljZXMpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBDb25zdEluQm91bmRzR0VQLCAoTExW
TVZhbHVlUmVmIENvbnN0YW50VmFsLCBMTFZNVmFsdWVSZWYgKkNvbnN0YW50SW5kaWNlcywgdW5z
aWduZWQgTnVtSW5kaWNlcykpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIENvbnN0VHJ1bmMs
IChMTFZNVmFsdWVSZWYgQ29uc3RhbnRWYWwsIExMVk1UeXBlUmVmIFRvVHlwZSkpIFwKKyAgICBt
YWNybyhMTFZNVmFsdWVSZWYsIENvbnN0U0V4dCwgKExMVk1WYWx1ZVJlZiBDb25zdGFudFZhbCwg
TExWTVR5cGVSZWYgVG9UeXBlKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgQ29uc3RaRXh0
LCAoTExWTVZhbHVlUmVmIENvbnN0YW50VmFsLCBMTFZNVHlwZVJlZiBUb1R5cGUpKSBcCisgICAg
bWFjcm8oTExWTVZhbHVlUmVmLCBDb25zdEZQVHJ1bmMsIChMTFZNVmFsdWVSZWYgQ29uc3RhbnRW
YWwsIExMVk1UeXBlUmVmIFRvVHlwZSkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIENvbnN0
RlBFeHQsIChMTFZNVmFsdWVSZWYgQ29uc3RhbnRWYWwsIExMVk1UeXBlUmVmIFRvVHlwZSkpIFwK
KyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIENvbnN0VUlUb0ZQLCAoTExWTVZhbHVlUmVmIENvbnN0
YW50VmFsLCBMTFZNVHlwZVJlZiBUb1R5cGUpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBD
b25zdFNJVG9GUCwgKExMVk1WYWx1ZVJlZiBDb25zdGFudFZhbCwgTExWTVR5cGVSZWYgVG9UeXBl
KSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgQ29uc3RGUFRvVUksIChMTFZNVmFsdWVSZWYg
Q29uc3RhbnRWYWwsIExMVk1UeXBlUmVmIFRvVHlwZSkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVS
ZWYsIENvbnN0RlBUb1NJLCAoTExWTVZhbHVlUmVmIENvbnN0YW50VmFsLCBMTFZNVHlwZVJlZiBU
b1R5cGUpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBDb25zdFB0clRvSW50LCAoTExWTVZh
bHVlUmVmIENvbnN0YW50VmFsLCBMTFZNVHlwZVJlZiBUb1R5cGUpKSBcCisgICAgbWFjcm8oTExW
TVZhbHVlUmVmLCBDb25zdEludFRvUHRyLCAoTExWTVZhbHVlUmVmIENvbnN0YW50VmFsLCBMTFZN
VHlwZVJlZiBUb1R5cGUpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBDb25zdEJpdENhc3Qs
IChMTFZNVmFsdWVSZWYgQ29uc3RhbnRWYWwsIExMVk1UeXBlUmVmIFRvVHlwZSkpIFwKKyAgICBt
YWNybyhMTFZNVmFsdWVSZWYsIENvbnN0WkV4dE9yQml0Q2FzdCwgKExMVk1WYWx1ZVJlZiBDb25z
dGFudFZhbCwgTExWTVR5cGVSZWYgVG9UeXBlKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwg
Q29uc3RTRXh0T3JCaXRDYXN0LCAoTExWTVZhbHVlUmVmIENvbnN0YW50VmFsLCBMTFZNVHlwZVJl
ZiBUb1R5cGUpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBDb25zdFRydW5jT3JCaXRDYXN0
LCAoTExWTVZhbHVlUmVmIENvbnN0YW50VmFsLCBMTFZNVHlwZVJlZiBUb1R5cGUpKSBcCisgICAg
bWFjcm8oTExWTVZhbHVlUmVmLCBDb25zdFBvaW50ZXJDYXN0LCAoTExWTVZhbHVlUmVmIENvbnN0
YW50VmFsLCBMTFZNVHlwZVJlZiBUb1R5cGUpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBD
b25zdEludENhc3QsIChMTFZNVmFsdWVSZWYgQ29uc3RhbnRWYWwsIExMVk1UeXBlUmVmIFRvVHlw
ZSwgTExWTUJvb2wgaXNTaWduZWQpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBDb25zdEZQ
Q2FzdCwgKExMVk1WYWx1ZVJlZiBDb25zdGFudFZhbCwgTExWTVR5cGVSZWYgVG9UeXBlKSkgXAor
ICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgQ29uc3RTZWxlY3QsIChMTFZNVmFsdWVSZWYgQ29uc3Rh
bnRDb25kaXRpb24sIExMVk1WYWx1ZVJlZiBDb25zdGFudElmVHJ1ZSwgTExWTVZhbHVlUmVmIENv
bnN0YW50SWZGYWxzZSkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIENvbnN0RXh0cmFjdEVs
ZW1lbnQsIChMTFZNVmFsdWVSZWYgVmVjdG9yQ29uc3RhbnQsIExMVk1WYWx1ZVJlZiBJbmRleENv
bnN0YW50KSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgQ29uc3RJbnNlcnRFbGVtZW50LCAo
TExWTVZhbHVlUmVmIFZlY3RvckNvbnN0YW50LCBMTFZNVmFsdWVSZWYgRWxlbWVudFZhbHVlQ29u
c3RhbnQsIExMVk1WYWx1ZVJlZiBJbmRleENvbnN0YW50KSkgXAorICAgIG1hY3JvKExMVk1WYWx1
ZVJlZiwgQ29uc3RTaHVmZmxlVmVjdG9yLCAoTExWTVZhbHVlUmVmIFZlY3RvckFDb25zdGFudCwg
TExWTVZhbHVlUmVmIFZlY3RvckJDb25zdGFudCwgTExWTVZhbHVlUmVmIE1hc2tDb25zdGFudCkp
IFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIENvbnN0RXh0cmFjdFZhbHVlLCAoTExWTVZhbHVl
UmVmIEFnZ0NvbnN0YW50LCB1bnNpZ25lZCAqSWR4TGlzdCwgdW5zaWduZWQgTnVtSWR4KSkgXAor
ICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgQ29uc3RJbnNlcnRWYWx1ZSwgKExMVk1WYWx1ZVJlZiBB
Z2dDb25zdGFudCwgTExWTVZhbHVlUmVmIEVsZW1lbnRWYWx1ZUNvbnN0YW50LCB1bnNpZ25lZCAq
SWR4TGlzdCwgdW5zaWduZWQgTnVtSWR4KSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgQ29u
c3RJbmxpbmVBc20sIChMTFZNVHlwZVJlZiBUeSwgY29uc3QgY2hhciAqQXNtU3RyaW5nLCBjb25z
dCBjaGFyICpDb25zdHJhaW50cywgTExWTUJvb2wgSGFzU2lkZUVmZmVjdHMsIExMVk1Cb29sIElz
QWxpZ25TdGFjaykpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIEJsb2NrQWRkcmVzcywgKExM
Vk1WYWx1ZVJlZiBGLCBMTFZNQmFzaWNCbG9ja1JlZiBCQikpIFwKKyAgICBtYWNybyhMTFZNTW9k
dWxlUmVmLCBHZXRHbG9iYWxQYXJlbnQsIChMTFZNVmFsdWVSZWYgR2xvYmFsKSkgXAorICAgIG1h
Y3JvKExMVk1Cb29sLCBJc0RlY2xhcmF0aW9uLCAoTExWTVZhbHVlUmVmIEdsb2JhbCkpIFwKKyAg
ICBtYWNybyhMTFZNTGlua2FnZSwgR2V0TGlua2FnZSwgKExMVk1WYWx1ZVJlZiBHbG9iYWwpKSBc
CisgICAgbWFjcm8odm9pZCwgU2V0TGlua2FnZSwgKExMVk1WYWx1ZVJlZiBHbG9iYWwsIExMVk1M
aW5rYWdlIExpbmthZ2UpKSBcCisgICAgbWFjcm8oY29uc3QgY2hhciAqLCBHZXRTZWN0aW9uLCAo
TExWTVZhbHVlUmVmIEdsb2JhbCkpIFwKKyAgICBtYWNybyh2b2lkLCBTZXRTZWN0aW9uLCAoTExW
TVZhbHVlUmVmIEdsb2JhbCwgY29uc3QgY2hhciAqU2VjdGlvbikpIFwKKyAgICBtYWNybyhMTFZN
VmlzaWJpbGl0eSwgR2V0VmlzaWJpbGl0eSwgKExMVk1WYWx1ZVJlZiBHbG9iYWwpKSBcCisgICAg
bWFjcm8odm9pZCwgU2V0VmlzaWJpbGl0eSwgKExMVk1WYWx1ZVJlZiBHbG9iYWwsIExMVk1WaXNp
YmlsaXR5IFZpeikpIFwKKyAgICBtYWNybyh1bnNpZ25lZCwgR2V0QWxpZ25tZW50LCAoTExWTVZh
bHVlUmVmIEdsb2JhbCkpIFwKKyAgICBtYWNybyh2b2lkLCBTZXRBbGlnbm1lbnQsIChMTFZNVmFs
dWVSZWYgR2xvYmFsLCB1bnNpZ25lZCBCeXRlcykpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYs
IEFkZEdsb2JhbCwgKExMVk1Nb2R1bGVSZWYgTSwgTExWTVR5cGVSZWYgVHksIGNvbnN0IGNoYXIg
Kk5hbWUpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBBZGRHbG9iYWxJbkFkZHJlc3NTcGFj
ZSwgKExMVk1Nb2R1bGVSZWYgTSwgTExWTVR5cGVSZWYgVHksIGNvbnN0IGNoYXIgKk5hbWUsIHVu
c2lnbmVkIEFkZHJlc3NTcGFjZSkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIEdldE5hbWVk
R2xvYmFsLCAoTExWTU1vZHVsZVJlZiBNLCBjb25zdCBjaGFyICpOYW1lKSkgXAorICAgIG1hY3Jv
KExMVk1WYWx1ZVJlZiwgR2V0Rmlyc3RHbG9iYWwsIChMTFZNTW9kdWxlUmVmIE0pKSBcCisgICAg
bWFjcm8oTExWTVZhbHVlUmVmLCBHZXRMYXN0R2xvYmFsLCAoTExWTU1vZHVsZVJlZiBNKSkgXAor
ICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgR2V0TmV4dEdsb2JhbCwgKExMVk1WYWx1ZVJlZiBHbG9i
YWxWYXIpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBHZXRQcmV2aW91c0dsb2JhbCwgKExM
Vk1WYWx1ZVJlZiBHbG9iYWxWYXIpKSBcCisgICAgbWFjcm8odm9pZCwgRGVsZXRlR2xvYmFsLCAo
TExWTVZhbHVlUmVmIEdsb2JhbFZhcikpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIEdldElu
aXRpYWxpemVyLCAoTExWTVZhbHVlUmVmIEdsb2JhbFZhcikpIFwKKyAgICBtYWNybyh2b2lkLCBT
ZXRJbml0aWFsaXplciwgKExMVk1WYWx1ZVJlZiBHbG9iYWxWYXIsIExMVk1WYWx1ZVJlZiBDb25z
dGFudFZhbCkpIFwKKyAgICBtYWNybyhMTFZNQm9vbCwgSXNUaHJlYWRMb2NhbCwgKExMVk1WYWx1
ZVJlZiBHbG9iYWxWYXIpKSBcCisgICAgbWFjcm8odm9pZCwgU2V0VGhyZWFkTG9jYWwsIChMTFZN
VmFsdWVSZWYgR2xvYmFsVmFyLCBMTFZNQm9vbCBJc1RocmVhZExvY2FsKSkgXAorICAgIG1hY3Jv
KExMVk1Cb29sLCBJc0dsb2JhbENvbnN0YW50LCAoTExWTVZhbHVlUmVmIEdsb2JhbFZhcikpIFwK
KyAgICBtYWNybyh2b2lkLCBTZXRHbG9iYWxDb25zdGFudCwgKExMVk1WYWx1ZVJlZiBHbG9iYWxW
YXIsIExMVk1Cb29sIElzQ29uc3RhbnQpKSBcCisgICAgbWFjcm8oTExWTVRocmVhZExvY2FsTW9k
ZSwgR2V0VGhyZWFkTG9jYWxNb2RlLCAoTExWTVZhbHVlUmVmIEdsb2JhbFZhcikpIFwKKyAgICBt
YWNybyh2b2lkLCBTZXRUaHJlYWRMb2NhbE1vZGUsIChMTFZNVmFsdWVSZWYgR2xvYmFsVmFyLCBM
TFZNVGhyZWFkTG9jYWxNb2RlIE1vZGUpKSBcCisgICAgbWFjcm8oTExWTUJvb2wsIElzRXh0ZXJu
YWxseUluaXRpYWxpemVkLCAoTExWTVZhbHVlUmVmIEdsb2JhbFZhcikpIFwKKyAgICBtYWNybyh2
b2lkLCBTZXRFeHRlcm5hbGx5SW5pdGlhbGl6ZWQsIChMTFZNVmFsdWVSZWYgR2xvYmFsVmFyLCBM
TFZNQm9vbCBJc0V4dEluaXQpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBBZGRBbGlhcywg
KExMVk1Nb2R1bGVSZWYgTSwgTExWTVR5cGVSZWYgVHksIExMVk1WYWx1ZVJlZiBBbGlhc2VlLCBj
b25zdCBjaGFyICpOYW1lKSkgXAorICAgIG1hY3JvKHZvaWQsIERlbGV0ZUZ1bmN0aW9uLCAoTExW
TVZhbHVlUmVmIEZuKSkgXAorICAgIG1hY3JvKHVuc2lnbmVkLCBHZXRJbnRyaW5zaWNJRCwgKExM
Vk1WYWx1ZVJlZiBGbikpIFwKKyAgICBtYWNybyh1bnNpZ25lZCwgR2V0RnVuY3Rpb25DYWxsQ29u
diwgKExMVk1WYWx1ZVJlZiBGbikpIFwKKyAgICBtYWNybyh2b2lkLCBTZXRGdW5jdGlvbkNhbGxD
b252LCAoTExWTVZhbHVlUmVmIEZuLCB1bnNpZ25lZCBDQykpIFwKKyAgICBtYWNybyhjb25zdCBj
aGFyICosIEdldEdDLCAoTExWTVZhbHVlUmVmIEZuKSkgXAorICAgIG1hY3JvKHZvaWQsIFNldEdD
LCAoTExWTVZhbHVlUmVmIEZuLCBjb25zdCBjaGFyICpOYW1lKSkgXAorICAgIG1hY3JvKHZvaWQs
IEFkZEZ1bmN0aW9uQXR0ciwgKExMVk1WYWx1ZVJlZiBGbiwgTExWTUF0dHJpYnV0ZSBQQSkpIFwK
KyAgICBtYWNybyh2b2lkLCBBZGRUYXJnZXREZXBlbmRlbnRGdW5jdGlvbkF0dHIsIChMTFZNVmFs
dWVSZWYgRm4sIGNvbnN0IGNoYXIgKkEsIGNvbnN0IGNoYXIgKlYpKSBcCisgICAgbWFjcm8oTExW
TUF0dHJpYnV0ZSwgR2V0RnVuY3Rpb25BdHRyLCAoTExWTVZhbHVlUmVmIEZuKSkgXAorICAgIG1h
Y3JvKHZvaWQsIFJlbW92ZUZ1bmN0aW9uQXR0ciwgKExMVk1WYWx1ZVJlZiBGbiwgTExWTUF0dHJp
YnV0ZSBQQSkpIFwKKyAgICBtYWNybyh1bnNpZ25lZCwgQ291bnRQYXJhbXMsIChMTFZNVmFsdWVS
ZWYgRm4pKSBcCisgICAgbWFjcm8odm9pZCwgR2V0UGFyYW1zLCAoTExWTVZhbHVlUmVmIEZuLCBM
TFZNVmFsdWVSZWYgKlBhcmFtcykpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIEdldFBhcmFt
LCAoTExWTVZhbHVlUmVmIEZuLCB1bnNpZ25lZCBJbmRleCkpIFwKKyAgICBtYWNybyhMTFZNVmFs
dWVSZWYsIEdldFBhcmFtUGFyZW50LCAoTExWTVZhbHVlUmVmIEluc3QpKSBcCisgICAgbWFjcm8o
TExWTVZhbHVlUmVmLCBHZXRGaXJzdFBhcmFtLCAoTExWTVZhbHVlUmVmIEZuKSkgXAorICAgIG1h
Y3JvKExMVk1WYWx1ZVJlZiwgR2V0TGFzdFBhcmFtLCAoTExWTVZhbHVlUmVmIEZuKSkgXAorICAg
IG1hY3JvKExMVk1WYWx1ZVJlZiwgR2V0TmV4dFBhcmFtLCAoTExWTVZhbHVlUmVmIEFyZykpIFwK
KyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIEdldFByZXZpb3VzUGFyYW0sIChMTFZNVmFsdWVSZWYg
QXJnKSkgXAorICAgIG1hY3JvKHZvaWQsIEFkZEF0dHJpYnV0ZSwgKExMVk1WYWx1ZVJlZiBBcmcs
IExMVk1BdHRyaWJ1dGUgUEEpKSBcCisgICAgbWFjcm8odm9pZCwgUmVtb3ZlQXR0cmlidXRlLCAo
TExWTVZhbHVlUmVmIEFyZywgTExWTUF0dHJpYnV0ZSBQQSkpIFwKKyAgICBtYWNybyhMTFZNQXR0
cmlidXRlLCBHZXRBdHRyaWJ1dGUsIChMTFZNVmFsdWVSZWYgQXJnKSkgXAorICAgIG1hY3JvKHZv
aWQsIFNldFBhcmFtQWxpZ25tZW50LCAoTExWTVZhbHVlUmVmIEFyZywgdW5zaWduZWQgYWxpZ24p
KSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBNRFN0cmluZ0luQ29udGV4dCwgKExMVk1Db250
ZXh0UmVmIEMsIGNvbnN0IGNoYXIgKlN0ciwgdW5zaWduZWQgU0xlbikpIFwKKyAgICBtYWNybyhM
TFZNVmFsdWVSZWYsIE1EU3RyaW5nLCAoY29uc3QgY2hhciAqU3RyLCB1bnNpZ25lZCBTTGVuKSkg
XAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgTUROb2RlSW5Db250ZXh0LCAoTExWTUNvbnRleHRS
ZWYgQywgTExWTVZhbHVlUmVmICpWYWxzLCB1bnNpZ25lZCBDb3VudCkpIFwKKyAgICBtYWNybyhM
TFZNVmFsdWVSZWYsIE1ETm9kZSwgKExMVk1WYWx1ZVJlZiAqVmFscywgdW5zaWduZWQgQ291bnQp
KSBcCisgICAgbWFjcm8oY29uc3QgY2hhciAqLCBHZXRNRFN0cmluZywgKExMVk1WYWx1ZVJlZiBW
LCB1bnNpZ25lZCogTGVuKSkgXAorICAgIG1hY3JvKHVuc2lnbmVkLCBHZXRNRE5vZGVOdW1PcGVy
YW5kcywgKExMVk1WYWx1ZVJlZiBWKSkgXAorICAgIG1hY3JvKHZvaWQsIEdldE1ETm9kZU9wZXJh
bmRzLCAoTExWTVZhbHVlUmVmIFYsIExMVk1WYWx1ZVJlZiAqRGVzdCkpIFwKKyAgICBtYWNybyhM
TFZNVmFsdWVSZWYsIEJhc2ljQmxvY2tBc1ZhbHVlLCAoTExWTUJhc2ljQmxvY2tSZWYgQkIpKSBc
CisgICAgbWFjcm8oTExWTUJvb2wsIFZhbHVlSXNCYXNpY0Jsb2NrLCAoTExWTVZhbHVlUmVmIFZh
bCkpIFwKKyAgICBtYWNybyhMTFZNQmFzaWNCbG9ja1JlZiwgVmFsdWVBc0Jhc2ljQmxvY2ssIChM
TFZNVmFsdWVSZWYgVmFsKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgR2V0QmFzaWNCbG9j
a1BhcmVudCwgKExMVk1CYXNpY0Jsb2NrUmVmIEJCKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJl
ZiwgR2V0QmFzaWNCbG9ja1Rlcm1pbmF0b3IsIChMTFZNQmFzaWNCbG9ja1JlZiBCQikpIFwKKyAg
ICBtYWNybyh1bnNpZ25lZCwgQ291bnRCYXNpY0Jsb2NrcywgKExMVk1WYWx1ZVJlZiBGbikpIFwK
KyAgICBtYWNybyh2b2lkLCBHZXRCYXNpY0Jsb2NrcywgKExMVk1WYWx1ZVJlZiBGbiwgTExWTUJh
c2ljQmxvY2tSZWYgKkJhc2ljQmxvY2tzKSkgXAorICAgIG1hY3JvKExMVk1CYXNpY0Jsb2NrUmVm
LCBHZXRGaXJzdEJhc2ljQmxvY2ssIChMTFZNVmFsdWVSZWYgRm4pKSBcCisgICAgbWFjcm8oTExW
TUJhc2ljQmxvY2tSZWYsIEdldExhc3RCYXNpY0Jsb2NrLCAoTExWTVZhbHVlUmVmIEZuKSkgXAor
ICAgIG1hY3JvKExMVk1CYXNpY0Jsb2NrUmVmLCBHZXROZXh0QmFzaWNCbG9jaywgKExMVk1CYXNp
Y0Jsb2NrUmVmIEJCKSkgXAorICAgIG1hY3JvKExMVk1CYXNpY0Jsb2NrUmVmLCBHZXRQcmV2aW91
c0Jhc2ljQmxvY2ssIChMTFZNQmFzaWNCbG9ja1JlZiBCQikpIFwKKyAgICBtYWNybyhMTFZNQmFz
aWNCbG9ja1JlZiwgR2V0RW50cnlCYXNpY0Jsb2NrLCAoTExWTVZhbHVlUmVmIEZuKSkgXAorICAg
IG1hY3JvKExMVk1CYXNpY0Jsb2NrUmVmLCBBcHBlbmRCYXNpY0Jsb2NrSW5Db250ZXh0LCAoTExW
TUNvbnRleHRSZWYgQywgTExWTVZhbHVlUmVmIEZuLCBjb25zdCBjaGFyICpOYW1lKSkgXAorICAg
IG1hY3JvKExMVk1CYXNpY0Jsb2NrUmVmLCBBcHBlbmRCYXNpY0Jsb2NrLCAoTExWTVZhbHVlUmVm
IEZuLCBjb25zdCBjaGFyICpOYW1lKSkgXAorICAgIG1hY3JvKExMVk1CYXNpY0Jsb2NrUmVmLCBJ
bnNlcnRCYXNpY0Jsb2NrSW5Db250ZXh0LCAoTExWTUNvbnRleHRSZWYgQywgTExWTUJhc2ljQmxv
Y2tSZWYgQkIsIGNvbnN0IGNoYXIgKk5hbWUpKSBcCisgICAgbWFjcm8oTExWTUJhc2ljQmxvY2tS
ZWYsIEluc2VydEJhc2ljQmxvY2ssIChMTFZNQmFzaWNCbG9ja1JlZiBJbnNlcnRCZWZvcmVCQiwg
Y29uc3QgY2hhciAqTmFtZSkpIFwKKyAgICBtYWNybyh2b2lkLCBEZWxldGVCYXNpY0Jsb2NrLCAo
TExWTUJhc2ljQmxvY2tSZWYgQkIpKSBcCisgICAgbWFjcm8odm9pZCwgUmVtb3ZlQmFzaWNCbG9j
a0Zyb21QYXJlbnQsIChMTFZNQmFzaWNCbG9ja1JlZiBCQikpIFwKKyAgICBtYWNybyh2b2lkLCBN
b3ZlQmFzaWNCbG9ja0JlZm9yZSwgKExMVk1CYXNpY0Jsb2NrUmVmIEJCLCBMTFZNQmFzaWNCbG9j
a1JlZiBNb3ZlUG9zKSkgXAorICAgIG1hY3JvKHZvaWQsIE1vdmVCYXNpY0Jsb2NrQWZ0ZXIsIChM
TFZNQmFzaWNCbG9ja1JlZiBCQiwgTExWTUJhc2ljQmxvY2tSZWYgTW92ZVBvcykpIFwKKyAgICBt
YWNybyhMTFZNVmFsdWVSZWYsIEdldEZpcnN0SW5zdHJ1Y3Rpb24sIChMTFZNQmFzaWNCbG9ja1Jl
ZiBCQikpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIEdldExhc3RJbnN0cnVjdGlvbiwgKExM
Vk1CYXNpY0Jsb2NrUmVmIEJCKSkgXAorICAgIG1hY3JvKGludCwgSGFzTWV0YWRhdGEsIChMTFZN
VmFsdWVSZWYgVmFsKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgR2V0TWV0YWRhdGEsIChM
TFZNVmFsdWVSZWYgVmFsLCB1bnNpZ25lZCBLaW5kSUQpKSBcCisgICAgbWFjcm8odm9pZCwgU2V0
TWV0YWRhdGEsIChMTFZNVmFsdWVSZWYgVmFsLCB1bnNpZ25lZCBLaW5kSUQsIExMVk1WYWx1ZVJl
ZiBOb2RlKSkgXAorICAgIG1hY3JvKExMVk1CYXNpY0Jsb2NrUmVmLCBHZXRJbnN0cnVjdGlvblBh
cmVudCwgKExMVk1WYWx1ZVJlZiBJbnN0KSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgR2V0
TmV4dEluc3RydWN0aW9uLCAoTExWTVZhbHVlUmVmIEluc3QpKSBcCisgICAgbWFjcm8oTExWTVZh
bHVlUmVmLCBHZXRQcmV2aW91c0luc3RydWN0aW9uLCAoTExWTVZhbHVlUmVmIEluc3QpKSBcCisg
ICAgbWFjcm8odm9pZCwgSW5zdHJ1Y3Rpb25FcmFzZUZyb21QYXJlbnQsIChMTFZNVmFsdWVSZWYg
SW5zdCkpIFwKKyAgICBtYWNybyhMTFZNT3Bjb2RlLCBHZXRJbnN0cnVjdGlvbk9wY29kZSwgKExM
Vk1WYWx1ZVJlZiBJbnN0KSkgXAorICAgIG1hY3JvKExMVk1JbnRQcmVkaWNhdGUsIEdldElDbXBQ
cmVkaWNhdGUsIChMTFZNVmFsdWVSZWYgSW5zdCkpIFwKKyAgICBtYWNybyh2b2lkLCBTZXRJbnN0
cnVjdGlvbkNhbGxDb252LCAoTExWTVZhbHVlUmVmIEluc3RyLCB1bnNpZ25lZCBDQykpIFwKKyAg
ICBtYWNybyh1bnNpZ25lZCwgR2V0SW5zdHJ1Y3Rpb25DYWxsQ29udiwgKExMVk1WYWx1ZVJlZiBJ
bnN0cikpIFwKKyAgICBtYWNybyh2b2lkLCBBZGRJbnN0ckF0dHJpYnV0ZSwgKExMVk1WYWx1ZVJl
ZiBJbnN0ciwgdW5zaWduZWQgaW5kZXgsIExMVk1BdHRyaWJ1dGUpKSBcCisgICAgbWFjcm8odm9p
ZCwgUmVtb3ZlSW5zdHJBdHRyaWJ1dGUsIChMTFZNVmFsdWVSZWYgSW5zdHIsIHVuc2lnbmVkIGlu
ZGV4LCBMTFZNQXR0cmlidXRlKSkgXAorICAgIG1hY3JvKHZvaWQsIFNldEluc3RyUGFyYW1BbGln
bm1lbnQsIChMTFZNVmFsdWVSZWYgSW5zdHIsIHVuc2lnbmVkIGluZGV4LCB1bnNpZ25lZCBhbGln
bikpIFwKKyAgICBtYWNybyhMTFZNQm9vbCwgSXNUYWlsQ2FsbCwgKExMVk1WYWx1ZVJlZiBDYWxs
SW5zdCkpIFwKKyAgICBtYWNybyh2b2lkLCBTZXRUYWlsQ2FsbCwgKExMVk1WYWx1ZVJlZiBDYWxs
SW5zdCwgTExWTUJvb2wgSXNUYWlsQ2FsbCkpIFwKKyAgICBtYWNybyhMTFZNQmFzaWNCbG9ja1Jl
ZiwgR2V0U3dpdGNoRGVmYXVsdERlc3QsIChMTFZNVmFsdWVSZWYgU3dpdGNoSW5zdHIpKSBcCisg
ICAgbWFjcm8odm9pZCwgQWRkSW5jb21pbmcsIChMTFZNVmFsdWVSZWYgUGhpTm9kZSwgTExWTVZh
bHVlUmVmICpJbmNvbWluZ1ZhbHVlcywgTExWTUJhc2ljQmxvY2tSZWYgKkluY29taW5nQmxvY2tz
LCB1bnNpZ25lZCBDb3VudCkpIFwKKyAgICBtYWNybyh1bnNpZ25lZCwgQ291bnRJbmNvbWluZywg
KExMVk1WYWx1ZVJlZiBQaGlOb2RlKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgR2V0SW5j
b21pbmdWYWx1ZSwgKExMVk1WYWx1ZVJlZiBQaGlOb2RlLCB1bnNpZ25lZCBJbmRleCkpIFwKKyAg
ICBtYWNybyhMTFZNQmFzaWNCbG9ja1JlZiwgR2V0SW5jb21pbmdCbG9jaywgKExMVk1WYWx1ZVJl
ZiBQaGlOb2RlLCB1bnNpZ25lZCBJbmRleCkpIFwKKyAgICBtYWNybyhMTFZNQnVpbGRlclJlZiwg
Q3JlYXRlQnVpbGRlckluQ29udGV4dCwgKExMVk1Db250ZXh0UmVmIEMpKSBcCisgICAgbWFjcm8o
TExWTUJ1aWxkZXJSZWYsIENyZWF0ZUJ1aWxkZXIsICh2b2lkKSkgXAorICAgIG1hY3JvKHZvaWQs
IFBvc2l0aW9uQnVpbGRlciwgKExMVk1CdWlsZGVyUmVmIEJ1aWxkZXIsIExMVk1CYXNpY0Jsb2Nr
UmVmIEJsb2NrLCBMTFZNVmFsdWVSZWYgSW5zdHIpKSBcCisgICAgbWFjcm8odm9pZCwgUG9zaXRp
b25CdWlsZGVyQmVmb3JlLCAoTExWTUJ1aWxkZXJSZWYgQnVpbGRlciwgTExWTVZhbHVlUmVmIElu
c3RyKSkgXAorICAgIG1hY3JvKHZvaWQsIFBvc2l0aW9uQnVpbGRlckF0RW5kLCAoTExWTUJ1aWxk
ZXJSZWYgQnVpbGRlciwgTExWTUJhc2ljQmxvY2tSZWYgQmxvY2spKSBcCisgICAgbWFjcm8oTExW
TUJhc2ljQmxvY2tSZWYsIEdldEluc2VydEJsb2NrLCAoTExWTUJ1aWxkZXJSZWYgQnVpbGRlcikp
IFwKKyAgICBtYWNybyh2b2lkLCBDbGVhckluc2VydGlvblBvc2l0aW9uLCAoTExWTUJ1aWxkZXJS
ZWYgQnVpbGRlcikpIFwKKyAgICBtYWNybyh2b2lkLCBJbnNlcnRJbnRvQnVpbGRlciwgKExMVk1C
dWlsZGVyUmVmIEJ1aWxkZXIsIExMVk1WYWx1ZVJlZiBJbnN0cikpIFwKKyAgICBtYWNybyh2b2lk
LCBJbnNlcnRJbnRvQnVpbGRlcldpdGhOYW1lLCAoTExWTUJ1aWxkZXJSZWYgQnVpbGRlciwgTExW
TVZhbHVlUmVmIEluc3RyLCBjb25zdCBjaGFyICpOYW1lKSkgXAorICAgIG1hY3JvKHZvaWQsIERp
c3Bvc2VCdWlsZGVyLCAoTExWTUJ1aWxkZXJSZWYgQnVpbGRlcikpIFwKKyAgICBtYWNybyh2b2lk
LCBTZXRDdXJyZW50RGVidWdMb2NhdGlvbiwgKExMVk1CdWlsZGVyUmVmIEJ1aWxkZXIsIExMVk1W
YWx1ZVJlZiBMKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgR2V0Q3VycmVudERlYnVnTG9j
YXRpb24sIChMTFZNQnVpbGRlclJlZiBCdWlsZGVyKSkgXAorICAgIG1hY3JvKHZvaWQsIFNldElu
c3REZWJ1Z0xvY2F0aW9uLCAoTExWTUJ1aWxkZXJSZWYgQnVpbGRlciwgTExWTVZhbHVlUmVmIElu
c3QpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBCdWlsZFJldFZvaWQsIChMTFZNQnVpbGRl
clJlZikpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIEJ1aWxkUmV0LCAoTExWTUJ1aWxkZXJS
ZWYsIExMVk1WYWx1ZVJlZiBWKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgQnVpbGRBZ2dy
ZWdhdGVSZXQsIChMTFZNQnVpbGRlclJlZiwgTExWTVZhbHVlUmVmICpSZXRWYWxzLCB1bnNpZ25l
ZCBOKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgQnVpbGRCciwgKExMVk1CdWlsZGVyUmVm
LCBMTFZNQmFzaWNCbG9ja1JlZiBEZXN0KSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgQnVp
bGRDb25kQnIsIChMTFZNQnVpbGRlclJlZiwgTExWTVZhbHVlUmVmIElmLCBMTFZNQmFzaWNCbG9j
a1JlZiBUaGVuLCBMTFZNQmFzaWNCbG9ja1JlZiBFbHNlKSkgXAorICAgIG1hY3JvKExMVk1WYWx1
ZVJlZiwgQnVpbGRTd2l0Y2gsIChMTFZNQnVpbGRlclJlZiwgTExWTVZhbHVlUmVmIFYsIExMVk1C
YXNpY0Jsb2NrUmVmIEVsc2UsIHVuc2lnbmVkIE51bUNhc2VzKSkgXAorICAgIG1hY3JvKExMVk1W
YWx1ZVJlZiwgQnVpbGRJbmRpcmVjdEJyLCAoTExWTUJ1aWxkZXJSZWYgQiwgTExWTVZhbHVlUmVm
IEFkZHIsIHVuc2lnbmVkIE51bURlc3RzKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgQnVp
bGRJbnZva2UsIChMTFZNQnVpbGRlclJlZiwgTExWTVZhbHVlUmVmIEZuLCBMTFZNVmFsdWVSZWYg
KkFyZ3MsIHVuc2lnbmVkIE51bUFyZ3MsIExMVk1CYXNpY0Jsb2NrUmVmIFRoZW4sIExMVk1CYXNp
Y0Jsb2NrUmVmIENhdGNoLCBjb25zdCBjaGFyICpOYW1lKSkgXAorICAgIG1hY3JvKExMVk1WYWx1
ZVJlZiwgQnVpbGRMYW5kaW5nUGFkLCAoTExWTUJ1aWxkZXJSZWYgQiwgTExWTVR5cGVSZWYgVHks
IExMVk1WYWx1ZVJlZiBQZXJzRm4sIHVuc2lnbmVkIE51bUNsYXVzZXMsIGNvbnN0IGNoYXIgKk5h
bWUpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBCdWlsZFJlc3VtZSwgKExMVk1CdWlsZGVy
UmVmIEIsIExMVk1WYWx1ZVJlZiBFeG4pKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBCdWls
ZFVucmVhY2hhYmxlLCAoTExWTUJ1aWxkZXJSZWYpKSBcCisgICAgbWFjcm8odm9pZCwgQWRkQ2Fz
ZSwgKExMVk1WYWx1ZVJlZiBTd2l0Y2gsIExMVk1WYWx1ZVJlZiBPblZhbCwgTExWTUJhc2ljQmxv
Y2tSZWYgRGVzdCkpIFwKKyAgICBtYWNybyh2b2lkLCBBZGREZXN0aW5hdGlvbiwgKExMVk1WYWx1
ZVJlZiBJbmRpcmVjdEJyLCBMTFZNQmFzaWNCbG9ja1JlZiBEZXN0KSkgXAorICAgIG1hY3JvKHZv
aWQsIEFkZENsYXVzZSwgKExMVk1WYWx1ZVJlZiBMYW5kaW5nUGFkLCBMTFZNVmFsdWVSZWYgQ2xh
dXNlVmFsKSkgXAorICAgIG1hY3JvKHZvaWQsIFNldENsZWFudXAsIChMTFZNVmFsdWVSZWYgTGFu
ZGluZ1BhZCwgTExWTUJvb2wgVmFsKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgQnVpbGRB
ZGQsIChMTFZNQnVpbGRlclJlZiwgTExWTVZhbHVlUmVmIExIUywgTExWTVZhbHVlUmVmIFJIUywg
Y29uc3QgY2hhciAqTmFtZSkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIEJ1aWxkTlNXQWRk
LCAoTExWTUJ1aWxkZXJSZWYsIExMVk1WYWx1ZVJlZiBMSFMsIExMVk1WYWx1ZVJlZiBSSFMsIGNv
bnN0IGNoYXIgKk5hbWUpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBCdWlsZE5VV0FkZCwg
KExMVk1CdWlsZGVyUmVmLCBMTFZNVmFsdWVSZWYgTEhTLCBMTFZNVmFsdWVSZWYgUkhTLCBjb25z
dCBjaGFyICpOYW1lKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgQnVpbGRGQWRkLCAoTExW
TUJ1aWxkZXJSZWYsIExMVk1WYWx1ZVJlZiBMSFMsIExMVk1WYWx1ZVJlZiBSSFMsIGNvbnN0IGNo
YXIgKk5hbWUpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBCdWlsZFN1YiwgKExMVk1CdWls
ZGVyUmVmLCBMTFZNVmFsdWVSZWYgTEhTLCBMTFZNVmFsdWVSZWYgUkhTLCBjb25zdCBjaGFyICpO
YW1lKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgQnVpbGROU1dTdWIsIChMTFZNQnVpbGRl
clJlZiwgTExWTVZhbHVlUmVmIExIUywgTExWTVZhbHVlUmVmIFJIUywgY29uc3QgY2hhciAqTmFt
ZSkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIEJ1aWxkTlVXU3ViLCAoTExWTUJ1aWxkZXJS
ZWYsIExMVk1WYWx1ZVJlZiBMSFMsIExMVk1WYWx1ZVJlZiBSSFMsIGNvbnN0IGNoYXIgKk5hbWUp
KSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBCdWlsZEZTdWIsIChMTFZNQnVpbGRlclJlZiwg
TExWTVZhbHVlUmVmIExIUywgTExWTVZhbHVlUmVmIFJIUywgY29uc3QgY2hhciAqTmFtZSkpIFwK
KyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIEJ1aWxkTXVsLCAoTExWTUJ1aWxkZXJSZWYsIExMVk1W
YWx1ZVJlZiBMSFMsIExMVk1WYWx1ZVJlZiBSSFMsIGNvbnN0IGNoYXIgKk5hbWUpKSBcCisgICAg
bWFjcm8oTExWTVZhbHVlUmVmLCBCdWlsZE5TV011bCwgKExMVk1CdWlsZGVyUmVmLCBMTFZNVmFs
dWVSZWYgTEhTLCBMTFZNVmFsdWVSZWYgUkhTLCBjb25zdCBjaGFyICpOYW1lKSkgXAorICAgIG1h
Y3JvKExMVk1WYWx1ZVJlZiwgQnVpbGROVVdNdWwsIChMTFZNQnVpbGRlclJlZiwgTExWTVZhbHVl
UmVmIExIUywgTExWTVZhbHVlUmVmIFJIUywgY29uc3QgY2hhciAqTmFtZSkpIFwKKyAgICBtYWNy
byhMTFZNVmFsdWVSZWYsIEJ1aWxkRk11bCwgKExMVk1CdWlsZGVyUmVmLCBMTFZNVmFsdWVSZWYg
TEhTLCBMTFZNVmFsdWVSZWYgUkhTLCBjb25zdCBjaGFyICpOYW1lKSkgXAorICAgIG1hY3JvKExM
Vk1WYWx1ZVJlZiwgQnVpbGRVRGl2LCAoTExWTUJ1aWxkZXJSZWYsIExMVk1WYWx1ZVJlZiBMSFMs
IExMVk1WYWx1ZVJlZiBSSFMsIGNvbnN0IGNoYXIgKk5hbWUpKSBcCisgICAgbWFjcm8oTExWTVZh
bHVlUmVmLCBCdWlsZFNEaXYsIChMTFZNQnVpbGRlclJlZiwgTExWTVZhbHVlUmVmIExIUywgTExW
TVZhbHVlUmVmIFJIUywgY29uc3QgY2hhciAqTmFtZSkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVS
ZWYsIEJ1aWxkRXhhY3RTRGl2LCAoTExWTUJ1aWxkZXJSZWYsIExMVk1WYWx1ZVJlZiBMSFMsIExM
Vk1WYWx1ZVJlZiBSSFMsIGNvbnN0IGNoYXIgKk5hbWUpKSBcCisgICAgbWFjcm8oTExWTVZhbHVl
UmVmLCBCdWlsZEZEaXYsIChMTFZNQnVpbGRlclJlZiwgTExWTVZhbHVlUmVmIExIUywgTExWTVZh
bHVlUmVmIFJIUywgY29uc3QgY2hhciAqTmFtZSkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYs
IEJ1aWxkVVJlbSwgKExMVk1CdWlsZGVyUmVmLCBMTFZNVmFsdWVSZWYgTEhTLCBMTFZNVmFsdWVS
ZWYgUkhTLCBjb25zdCBjaGFyICpOYW1lKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgQnVp
bGRTUmVtLCAoTExWTUJ1aWxkZXJSZWYsIExMVk1WYWx1ZVJlZiBMSFMsIExMVk1WYWx1ZVJlZiBS
SFMsIGNvbnN0IGNoYXIgKk5hbWUpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBCdWlsZEZS
ZW0sIChMTFZNQnVpbGRlclJlZiwgTExWTVZhbHVlUmVmIExIUywgTExWTVZhbHVlUmVmIFJIUywg
Y29uc3QgY2hhciAqTmFtZSkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIEJ1aWxkU2hsLCAo
TExWTUJ1aWxkZXJSZWYsIExMVk1WYWx1ZVJlZiBMSFMsIExMVk1WYWx1ZVJlZiBSSFMsIGNvbnN0
IGNoYXIgKk5hbWUpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBCdWlsZExTaHIsIChMTFZN
QnVpbGRlclJlZiwgTExWTVZhbHVlUmVmIExIUywgTExWTVZhbHVlUmVmIFJIUywgY29uc3QgY2hh
ciAqTmFtZSkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIEJ1aWxkQVNociwgKExMVk1CdWls
ZGVyUmVmLCBMTFZNVmFsdWVSZWYgTEhTLCBMTFZNVmFsdWVSZWYgUkhTLCBjb25zdCBjaGFyICpO
YW1lKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgQnVpbGRBbmQsIChMTFZNQnVpbGRlclJl
ZiwgTExWTVZhbHVlUmVmIExIUywgTExWTVZhbHVlUmVmIFJIUywgY29uc3QgY2hhciAqTmFtZSkp
IFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIEJ1aWxkT3IsIChMTFZNQnVpbGRlclJlZiwgTExW
TVZhbHVlUmVmIExIUywgTExWTVZhbHVlUmVmIFJIUywgY29uc3QgY2hhciAqTmFtZSkpIFwKKyAg
ICBtYWNybyhMTFZNVmFsdWVSZWYsIEJ1aWxkWG9yLCAoTExWTUJ1aWxkZXJSZWYsIExMVk1WYWx1
ZVJlZiBMSFMsIExMVk1WYWx1ZVJlZiBSSFMsIGNvbnN0IGNoYXIgKk5hbWUpKSBcCisgICAgbWFj
cm8oTExWTVZhbHVlUmVmLCBCdWlsZEJpbk9wLCAoTExWTUJ1aWxkZXJSZWYgQiwgTExWTU9wY29k
ZSBPcCwgTExWTVZhbHVlUmVmIExIUywgTExWTVZhbHVlUmVmIFJIUywgY29uc3QgY2hhciAqTmFt
ZSkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIEJ1aWxkTmVnLCAoTExWTUJ1aWxkZXJSZWYs
IExMVk1WYWx1ZVJlZiBWLCBjb25zdCBjaGFyICpOYW1lKSkgXAorICAgIG1hY3JvKExMVk1WYWx1
ZVJlZiwgQnVpbGROU1dOZWcsIChMTFZNQnVpbGRlclJlZiBCLCBMTFZNVmFsdWVSZWYgViwgY29u
c3QgY2hhciAqTmFtZSkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIEJ1aWxkTlVXTmVnLCAo
TExWTUJ1aWxkZXJSZWYgQiwgTExWTVZhbHVlUmVmIFYsIGNvbnN0IGNoYXIgKk5hbWUpKSBcCisg
ICAgbWFjcm8oTExWTVZhbHVlUmVmLCBCdWlsZEZOZWcsIChMTFZNQnVpbGRlclJlZiwgTExWTVZh
bHVlUmVmIFYsIGNvbnN0IGNoYXIgKk5hbWUpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBC
dWlsZE5vdCwgKExMVk1CdWlsZGVyUmVmLCBMTFZNVmFsdWVSZWYgViwgY29uc3QgY2hhciAqTmFt
ZSkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIEJ1aWxkTWFsbG9jLCAoTExWTUJ1aWxkZXJS
ZWYsIExMVk1UeXBlUmVmIFR5LCBjb25zdCBjaGFyICpOYW1lKSkgXAorICAgIG1hY3JvKExMVk1W
YWx1ZVJlZiwgQnVpbGRBcnJheU1hbGxvYywgKExMVk1CdWlsZGVyUmVmLCBMTFZNVHlwZVJlZiBU
eSwgTExWTVZhbHVlUmVmIFZhbCwgY29uc3QgY2hhciAqTmFtZSkpIFwKKyAgICBtYWNybyhMTFZN
VmFsdWVSZWYsIEJ1aWxkQWxsb2NhLCAoTExWTUJ1aWxkZXJSZWYsIExMVk1UeXBlUmVmIFR5LCBj
b25zdCBjaGFyICpOYW1lKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgQnVpbGRBcnJheUFs
bG9jYSwgKExMVk1CdWlsZGVyUmVmLCBMTFZNVHlwZVJlZiBUeSwgTExWTVZhbHVlUmVmIFZhbCwg
Y29uc3QgY2hhciAqTmFtZSkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIEJ1aWxkRnJlZSwg
KExMVk1CdWlsZGVyUmVmLCBMTFZNVmFsdWVSZWYgUG9pbnRlclZhbCkpIFwKKyAgICBtYWNybyhM
TFZNVmFsdWVSZWYsIEJ1aWxkTG9hZCwgKExMVk1CdWlsZGVyUmVmLCBMTFZNVmFsdWVSZWYgUG9p
bnRlclZhbCwgY29uc3QgY2hhciAqTmFtZSkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIEJ1
aWxkU3RvcmUsIChMTFZNQnVpbGRlclJlZiwgTExWTVZhbHVlUmVmIFZhbCwgTExWTVZhbHVlUmVm
IFB0cikpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIEJ1aWxkR0VQLCAoTExWTUJ1aWxkZXJS
ZWYgQiwgTExWTVZhbHVlUmVmIFBvaW50ZXIsIExMVk1WYWx1ZVJlZiAqSW5kaWNlcywgdW5zaWdu
ZWQgTnVtSW5kaWNlcywgY29uc3QgY2hhciAqTmFtZSkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVS
ZWYsIEJ1aWxkSW5Cb3VuZHNHRVAsIChMTFZNQnVpbGRlclJlZiBCLCBMTFZNVmFsdWVSZWYgUG9p
bnRlciwgTExWTVZhbHVlUmVmICpJbmRpY2VzLCB1bnNpZ25lZCBOdW1JbmRpY2VzLCBjb25zdCBj
aGFyICpOYW1lKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgQnVpbGRTdHJ1Y3RHRVAsIChM
TFZNQnVpbGRlclJlZiBCLCBMTFZNVmFsdWVSZWYgUG9pbnRlciwgdW5zaWduZWQgSWR4LCBjb25z
dCBjaGFyICpOYW1lKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgQnVpbGRHbG9iYWxTdHJp
bmcsIChMTFZNQnVpbGRlclJlZiBCLCBjb25zdCBjaGFyICpTdHIsIGNvbnN0IGNoYXIgKk5hbWUp
KSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBCdWlsZEdsb2JhbFN0cmluZ1B0ciwgKExMVk1C
dWlsZGVyUmVmIEIsIGNvbnN0IGNoYXIgKlN0ciwgY29uc3QgY2hhciAqTmFtZSkpIFwKKyAgICBt
YWNybyhMTFZNQm9vbCwgR2V0Vm9sYXRpbGUsIChMTFZNVmFsdWVSZWYgTWVtb3J5QWNjZXNzSW5z
dCkpIFwKKyAgICBtYWNybyh2b2lkLCBTZXRWb2xhdGlsZSwgKExMVk1WYWx1ZVJlZiBNZW1vcnlB
Y2Nlc3NJbnN0LCBMTFZNQm9vbCBJc1ZvbGF0aWxlKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJl
ZiwgQnVpbGRUcnVuYywgKExMVk1CdWlsZGVyUmVmLCBMTFZNVmFsdWVSZWYgVmFsLCBMTFZNVHlw
ZVJlZiBEZXN0VHksIGNvbnN0IGNoYXIgKk5hbWUpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVm
LCBCdWlsZFpFeHQsIChMTFZNQnVpbGRlclJlZiwgTExWTVZhbHVlUmVmIFZhbCwgTExWTVR5cGVS
ZWYgRGVzdFR5LCBjb25zdCBjaGFyICpOYW1lKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwg
QnVpbGRTRXh0LCAoTExWTUJ1aWxkZXJSZWYsIExMVk1WYWx1ZVJlZiBWYWwsIExMVk1UeXBlUmVm
IERlc3RUeSwgY29uc3QgY2hhciAqTmFtZSkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIEJ1
aWxkRlBUb1VJLCAoTExWTUJ1aWxkZXJSZWYsIExMVk1WYWx1ZVJlZiBWYWwsIExMVk1UeXBlUmVm
IERlc3RUeSwgY29uc3QgY2hhciAqTmFtZSkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIEJ1
aWxkRlBUb1NJLCAoTExWTUJ1aWxkZXJSZWYsIExMVk1WYWx1ZVJlZiBWYWwsIExMVk1UeXBlUmVm
IERlc3RUeSwgY29uc3QgY2hhciAqTmFtZSkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIEJ1
aWxkVUlUb0ZQLCAoTExWTUJ1aWxkZXJSZWYsIExMVk1WYWx1ZVJlZiBWYWwsIExMVk1UeXBlUmVm
IERlc3RUeSwgY29uc3QgY2hhciAqTmFtZSkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIEJ1
aWxkU0lUb0ZQLCAoTExWTUJ1aWxkZXJSZWYsIExMVk1WYWx1ZVJlZiBWYWwsIExMVk1UeXBlUmVm
IERlc3RUeSwgY29uc3QgY2hhciAqTmFtZSkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIEJ1
aWxkRlBUcnVuYywgKExMVk1CdWlsZGVyUmVmLCBMTFZNVmFsdWVSZWYgVmFsLCBMTFZNVHlwZVJl
ZiBEZXN0VHksIGNvbnN0IGNoYXIgKk5hbWUpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBC
dWlsZEZQRXh0LCAoTExWTUJ1aWxkZXJSZWYsIExMVk1WYWx1ZVJlZiBWYWwsIExMVk1UeXBlUmVm
IERlc3RUeSwgY29uc3QgY2hhciAqTmFtZSkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIEJ1
aWxkUHRyVG9JbnQsIChMTFZNQnVpbGRlclJlZiwgTExWTVZhbHVlUmVmIFZhbCwgTExWTVR5cGVS
ZWYgRGVzdFR5LCBjb25zdCBjaGFyICpOYW1lKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwg
QnVpbGRJbnRUb1B0ciwgKExMVk1CdWlsZGVyUmVmLCBMTFZNVmFsdWVSZWYgVmFsLCBMTFZNVHlw
ZVJlZiBEZXN0VHksIGNvbnN0IGNoYXIgKk5hbWUpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVm
LCBCdWlsZEJpdENhc3QsIChMTFZNQnVpbGRlclJlZiwgTExWTVZhbHVlUmVmIFZhbCwgTExWTVR5
cGVSZWYgRGVzdFR5LCBjb25zdCBjaGFyICpOYW1lKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJl
ZiwgQnVpbGRaRXh0T3JCaXRDYXN0LCAoTExWTUJ1aWxkZXJSZWYsIExMVk1WYWx1ZVJlZiBWYWws
IExMVk1UeXBlUmVmIERlc3RUeSwgY29uc3QgY2hhciAqTmFtZSkpIFwKKyAgICBtYWNybyhMTFZN
VmFsdWVSZWYsIEJ1aWxkU0V4dE9yQml0Q2FzdCwgKExMVk1CdWlsZGVyUmVmLCBMTFZNVmFsdWVS
ZWYgVmFsLCBMTFZNVHlwZVJlZiBEZXN0VHksIGNvbnN0IGNoYXIgKk5hbWUpKSBcCisgICAgbWFj
cm8oTExWTVZhbHVlUmVmLCBCdWlsZFRydW5jT3JCaXRDYXN0LCAoTExWTUJ1aWxkZXJSZWYsIExM
Vk1WYWx1ZVJlZiBWYWwsIExMVk1UeXBlUmVmIERlc3RUeSwgY29uc3QgY2hhciAqTmFtZSkpIFwK
KyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIEJ1aWxkQ2FzdCwgKExMVk1CdWlsZGVyUmVmIEIsIExM
Vk1PcGNvZGUgT3AsIExMVk1WYWx1ZVJlZiBWYWwsIExMVk1UeXBlUmVmIERlc3RUeSwgY29uc3Qg
Y2hhciAqTmFtZSkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIEJ1aWxkUG9pbnRlckNhc3Qs
IChMTFZNQnVpbGRlclJlZiwgTExWTVZhbHVlUmVmIFZhbCwgTExWTVR5cGVSZWYgRGVzdFR5LCBj
b25zdCBjaGFyICpOYW1lKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgQnVpbGRJbnRDYXN0
LCAoTExWTUJ1aWxkZXJSZWYsIExMVk1WYWx1ZVJlZiBWYWwsIExMVk1UeXBlUmVmIERlc3RUeSwg
Y29uc3QgY2hhciAqTmFtZSkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIEJ1aWxkRlBDYXN0
LCAoTExWTUJ1aWxkZXJSZWYsIExMVk1WYWx1ZVJlZiBWYWwsIExMVk1UeXBlUmVmIERlc3RUeSwg
Y29uc3QgY2hhciAqTmFtZSkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIEJ1aWxkSUNtcCwg
KExMVk1CdWlsZGVyUmVmLCBMTFZNSW50UHJlZGljYXRlIE9wLCBMTFZNVmFsdWVSZWYgTEhTLCBM
TFZNVmFsdWVSZWYgUkhTLCBjb25zdCBjaGFyICpOYW1lKSkgXAorICAgIG1hY3JvKExMVk1WYWx1
ZVJlZiwgQnVpbGRGQ21wLCAoTExWTUJ1aWxkZXJSZWYsIExMVk1SZWFsUHJlZGljYXRlIE9wLCBM
TFZNVmFsdWVSZWYgTEhTLCBMTFZNVmFsdWVSZWYgUkhTLCBjb25zdCBjaGFyICpOYW1lKSkgXAor
ICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgQnVpbGRQaGksIChMTFZNQnVpbGRlclJlZiwgTExWTVR5
cGVSZWYgVHksIGNvbnN0IGNoYXIgKk5hbWUpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBC
dWlsZENhbGwsIChMTFZNQnVpbGRlclJlZiwgTExWTVZhbHVlUmVmIEZuLCBMTFZNVmFsdWVSZWYg
KkFyZ3MsIHVuc2lnbmVkIE51bUFyZ3MsIGNvbnN0IGNoYXIgKk5hbWUpKSBcCisgICAgbWFjcm8o
TExWTVZhbHVlUmVmLCBCdWlsZFNlbGVjdCwgKExMVk1CdWlsZGVyUmVmLCBMTFZNVmFsdWVSZWYg
SWYsIExMVk1WYWx1ZVJlZiBUaGVuLCBMTFZNVmFsdWVSZWYgRWxzZSwgY29uc3QgY2hhciAqTmFt
ZSkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIEJ1aWxkVkFBcmcsIChMTFZNQnVpbGRlclJl
ZiwgTExWTVZhbHVlUmVmIExpc3QsIExMVk1UeXBlUmVmIFR5LCBjb25zdCBjaGFyICpOYW1lKSkg
XAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgQnVpbGRFeHRyYWN0RWxlbWVudCwgKExMVk1CdWls
ZGVyUmVmLCBMTFZNVmFsdWVSZWYgVmVjVmFsLCBMTFZNVmFsdWVSZWYgSW5kZXgsIGNvbnN0IGNo
YXIgKk5hbWUpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBCdWlsZEluc2VydEVsZW1lbnQs
IChMTFZNQnVpbGRlclJlZiwgTExWTVZhbHVlUmVmIFZlY1ZhbCwgTExWTVZhbHVlUmVmIEVsdFZh
bCwgTExWTVZhbHVlUmVmIEluZGV4LCBjb25zdCBjaGFyICpOYW1lKSkgXAorICAgIG1hY3JvKExM
Vk1WYWx1ZVJlZiwgQnVpbGRTaHVmZmxlVmVjdG9yLCAoTExWTUJ1aWxkZXJSZWYsIExMVk1WYWx1
ZVJlZiBWMSwgTExWTVZhbHVlUmVmIFYyLCBMTFZNVmFsdWVSZWYgTWFzaywgY29uc3QgY2hhciAq
TmFtZSkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIEJ1aWxkRXh0cmFjdFZhbHVlLCAoTExW
TUJ1aWxkZXJSZWYsIExMVk1WYWx1ZVJlZiBBZ2dWYWwsIHVuc2lnbmVkIEluZGV4LCBjb25zdCBj
aGFyICpOYW1lKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgQnVpbGRJbnNlcnRWYWx1ZSwg
KExMVk1CdWlsZGVyUmVmLCBMTFZNVmFsdWVSZWYgQWdnVmFsLCBMTFZNVmFsdWVSZWYgRWx0VmFs
LCB1bnNpZ25lZCBJbmRleCwgY29uc3QgY2hhciAqTmFtZSkpIFwKKyAgICBtYWNybyhMTFZNVmFs
dWVSZWYsIEJ1aWxkSXNOdWxsLCAoTExWTUJ1aWxkZXJSZWYsIExMVk1WYWx1ZVJlZiBWYWwsIGNv
bnN0IGNoYXIgKk5hbWUpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBCdWlsZElzTm90TnVs
bCwgKExMVk1CdWlsZGVyUmVmLCBMTFZNVmFsdWVSZWYgVmFsLCBjb25zdCBjaGFyICpOYW1lKSkg
XAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgQnVpbGRQdHJEaWZmLCAoTExWTUJ1aWxkZXJSZWYs
IExMVk1WYWx1ZVJlZiBMSFMsIExMVk1WYWx1ZVJlZiBSSFMsIGNvbnN0IGNoYXIgKk5hbWUpKSBc
CisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBCdWlsZEF0b21pY1JNVywgKExMVk1CdWlsZGVyUmVm
IEIsIExMVk1BdG9taWNSTVdCaW5PcCBvcCwgTExWTVZhbHVlUmVmIFBUUiwgTExWTVZhbHVlUmVm
IFZhbCwgTExWTUF0b21pY09yZGVyaW5nIG9yZGVyaW5nLCBMTFZNQm9vbCBzaW5nbGVUaHJlYWQp
KSBcCisgICAgbWFjcm8oTExWTU1vZHVsZVByb3ZpZGVyUmVmLCBDcmVhdGVNb2R1bGVQcm92aWRl
ckZvckV4aXN0aW5nTW9kdWxlLCAoTExWTU1vZHVsZVJlZiBNKSkgXAorICAgIG1hY3JvKHZvaWQs
IERpc3Bvc2VNb2R1bGVQcm92aWRlciwgKExMVk1Nb2R1bGVQcm92aWRlclJlZiBNKSkgXAorICAg
IG1hY3JvKExMVk1Cb29sLCBDcmVhdGVNZW1vcnlCdWZmZXJXaXRoQ29udGVudHNPZkZpbGUsIChj
b25zdCBjaGFyICpQYXRoLCBMTFZNTWVtb3J5QnVmZmVyUmVmICpPdXRNZW1CdWYsIGNoYXIgKipP
dXRNZXNzYWdlKSkgXAorICAgIG1hY3JvKExMVk1Cb29sLCBDcmVhdGVNZW1vcnlCdWZmZXJXaXRo
U1RESU4sIChMTFZNTWVtb3J5QnVmZmVyUmVmICpPdXRNZW1CdWYsIGNoYXIgKipPdXRNZXNzYWdl
KSkgXAorICAgIG1hY3JvKExMVk1NZW1vcnlCdWZmZXJSZWYsIENyZWF0ZU1lbW9yeUJ1ZmZlcldp
dGhNZW1vcnlSYW5nZSwgKGNvbnN0IGNoYXIgKklucHV0RGF0YSwgc2l6ZV90IElucHV0RGF0YUxl
bmd0aCwgY29uc3QgY2hhciAqQnVmZmVyTmFtZSwgTExWTUJvb2wgUmVxdWlyZXNOdWxsVGVybWlu
YXRvcikpIFwKKyAgICBtYWNybyhMTFZNTWVtb3J5QnVmZmVyUmVmLCBDcmVhdGVNZW1vcnlCdWZm
ZXJXaXRoTWVtb3J5UmFuZ2VDb3B5LCAoY29uc3QgY2hhciAqSW5wdXREYXRhLCBzaXplX3QgSW5w
dXREYXRhTGVuZ3RoLCBjb25zdCBjaGFyICpCdWZmZXJOYW1lKSkgXAorICAgIG1hY3JvKGNvbnN0
IGNoYXIgKiwgR2V0QnVmZmVyU3RhcnQsIChMTFZNTWVtb3J5QnVmZmVyUmVmIE1lbUJ1ZikpIFwK
KyAgICBtYWNybyhzaXplX3QsIEdldEJ1ZmZlclNpemUsIChMTFZNTWVtb3J5QnVmZmVyUmVmIE1l
bUJ1ZikpIFwKKyAgICBtYWNybyh2b2lkLCBEaXNwb3NlTWVtb3J5QnVmZmVyLCAoTExWTU1lbW9y
eUJ1ZmZlclJlZiBNZW1CdWYpKSBcCisgICAgbWFjcm8oTExWTVBhc3NSZWdpc3RyeVJlZiwgR2V0
R2xvYmFsUGFzc1JlZ2lzdHJ5LCAodm9pZCkpIFwKKyAgICBtYWNybyhMTFZNUGFzc01hbmFnZXJS
ZWYsIENyZWF0ZVBhc3NNYW5hZ2VyLCAodm9pZCkpIFwKKyAgICBtYWNybyhMTFZNUGFzc01hbmFn
ZXJSZWYsIENyZWF0ZUZ1bmN0aW9uUGFzc01hbmFnZXJGb3JNb2R1bGUsIChMTFZNTW9kdWxlUmVm
IE0pKSBcCisgICAgbWFjcm8oTExWTVBhc3NNYW5hZ2VyUmVmLCBDcmVhdGVGdW5jdGlvblBhc3NN
YW5hZ2VyLCAoTExWTU1vZHVsZVByb3ZpZGVyUmVmIE1QKSkgXAorICAgIG1hY3JvKExMVk1Cb29s
LCBSdW5QYXNzTWFuYWdlciwgKExMVk1QYXNzTWFuYWdlclJlZiBQTSwgTExWTU1vZHVsZVJlZiBN
KSkgXAorICAgIG1hY3JvKExMVk1Cb29sLCBJbml0aWFsaXplRnVuY3Rpb25QYXNzTWFuYWdlciwg
KExMVk1QYXNzTWFuYWdlclJlZiBGUE0pKSBcCisgICAgbWFjcm8oTExWTUJvb2wsIFJ1bkZ1bmN0
aW9uUGFzc01hbmFnZXIsIChMTFZNUGFzc01hbmFnZXJSZWYgRlBNLCBMTFZNVmFsdWVSZWYgRikp
IFwKKyAgICBtYWNybyhMTFZNQm9vbCwgRmluYWxpemVGdW5jdGlvblBhc3NNYW5hZ2VyLCAoTExW
TVBhc3NNYW5hZ2VyUmVmIEZQTSkpIFwKKyAgICBtYWNybyh2b2lkLCBEaXNwb3NlUGFzc01hbmFn
ZXIsIChMTFZNUGFzc01hbmFnZXJSZWYgUE0pKSBcCisgICAgbWFjcm8oTExWTUJvb2wsIFN0YXJ0
TXVsdGl0aHJlYWRlZCwgKCkpIFwKKyAgICBtYWNybyh2b2lkLCBTdG9wTXVsdGl0aHJlYWRlZCwg
KCkpIFwKKyAgICBtYWNybyhMTFZNQm9vbCwgSXNNdWx0aXRocmVhZGVkLCAoKSkgXAorICAgIG1h
Y3JvKExMVk1UYXJnZXREYXRhUmVmLCBDcmVhdGVUYXJnZXREYXRhLCAoY29uc3QgY2hhciAqU3Ry
aW5nUmVwKSkgXAorICAgIG1hY3JvKHZvaWQsIEFkZFRhcmdldERhdGEsIChMTFZNVGFyZ2V0RGF0
YVJlZiwgTExWTVBhc3NNYW5hZ2VyUmVmKSkgXAorICAgIG1hY3JvKHZvaWQsIEFkZFRhcmdldExp
YnJhcnlJbmZvLCAoTExWTVRhcmdldExpYnJhcnlJbmZvUmVmLCBMTFZNUGFzc01hbmFnZXJSZWYp
KSBcCisgICAgbWFjcm8oY2hhciAqLCBDb3B5U3RyaW5nUmVwT2ZUYXJnZXREYXRhLCAoTExWTVRh
cmdldERhdGFSZWYpKSBcCisgICAgbWFjcm8oZW51bSBMTFZNQnl0ZU9yZGVyaW5nLCBCeXRlT3Jk
ZXIsIChMTFZNVGFyZ2V0RGF0YVJlZikpIFwKKyAgICBtYWNybyh1bnNpZ25lZCwgUG9pbnRlclNp
emUsIChMTFZNVGFyZ2V0RGF0YVJlZikpIFwKKyAgICBtYWNybyhMTFZNVHlwZVJlZiwgSW50UHRy
VHlwZSwgKExMVk1UYXJnZXREYXRhUmVmKSkgXAorICAgIG1hY3JvKHVuc2lnbmVkIGxvbmcgbG9u
ZywgU2l6ZU9mVHlwZUluQml0cywgKExMVk1UYXJnZXREYXRhUmVmLCBMTFZNVHlwZVJlZikpIFwK
KyAgICBtYWNybyh1bnNpZ25lZCBsb25nIGxvbmcsIFN0b3JlU2l6ZU9mVHlwZSwgKExMVk1UYXJn
ZXREYXRhUmVmLCBMTFZNVHlwZVJlZikpIFwKKyAgICBtYWNybyh1bnNpZ25lZCBsb25nIGxvbmcs
IEFCSVNpemVPZlR5cGUsIChMTFZNVGFyZ2V0RGF0YVJlZiwgTExWTVR5cGVSZWYpKSBcCisgICAg
bWFjcm8odW5zaWduZWQsIEFCSUFsaWdubWVudE9mVHlwZSwgKExMVk1UYXJnZXREYXRhUmVmLCBM
TFZNVHlwZVJlZikpIFwKKyAgICBtYWNybyh1bnNpZ25lZCwgQ2FsbEZyYW1lQWxpZ25tZW50T2ZU
eXBlLCAoTExWTVRhcmdldERhdGFSZWYsIExMVk1UeXBlUmVmKSkgXAorICAgIG1hY3JvKHVuc2ln
bmVkLCBQcmVmZXJyZWRBbGlnbm1lbnRPZlR5cGUsIChMTFZNVGFyZ2V0RGF0YVJlZiwgTExWTVR5
cGVSZWYpKSBcCisgICAgbWFjcm8odW5zaWduZWQsIFByZWZlcnJlZEFsaWdubWVudE9mR2xvYmFs
LCAoTExWTVRhcmdldERhdGFSZWYsIExMVk1WYWx1ZVJlZiBHbG9iYWxWYXIpKSBcCisgICAgbWFj
cm8odW5zaWduZWQsIEVsZW1lbnRBdE9mZnNldCwgKExMVk1UYXJnZXREYXRhUmVmLCBMTFZNVHlw
ZVJlZiBTdHJ1Y3RUeSwgdW5zaWduZWQgbG9uZyBsb25nIE9mZnNldCkpIFwKKyAgICBtYWNybyh1
bnNpZ25lZCBsb25nIGxvbmcsIE9mZnNldE9mRWxlbWVudCwgKExMVk1UYXJnZXREYXRhUmVmLCBM
TFZNVHlwZVJlZiBTdHJ1Y3RUeSwgdW5zaWduZWQgRWxlbWVudCkpIFwKKyAgICBtYWNybyh2b2lk
LCBEaXNwb3NlVGFyZ2V0RGF0YSwgKExMVk1UYXJnZXREYXRhUmVmKSkgXAorICAgIG1hY3JvKExM
Vk1UYXJnZXRSZWYsIEdldEZpcnN0VGFyZ2V0LCAoKSkgXAorICAgIG1hY3JvKExMVk1UYXJnZXRS
ZWYsIEdldE5leHRUYXJnZXQsIChMTFZNVGFyZ2V0UmVmIFQpKSBcCisgICAgbWFjcm8oY29uc3Qg
Y2hhciAqLCBHZXRUYXJnZXROYW1lLCAoTExWTVRhcmdldFJlZiBUKSkgXAorICAgIG1hY3JvKGNv
bnN0IGNoYXIgKiwgR2V0VGFyZ2V0RGVzY3JpcHRpb24sIChMTFZNVGFyZ2V0UmVmIFQpKSBcCisg
ICAgbWFjcm8oTExWTUJvb2wsIFRhcmdldEhhc0pJVCwgKExMVk1UYXJnZXRSZWYgVCkpIFwKKyAg
ICBtYWNybyhMTFZNQm9vbCwgVGFyZ2V0SGFzVGFyZ2V0TWFjaGluZSwgKExMVk1UYXJnZXRSZWYg
VCkpIFwKKyAgICBtYWNybyhMTFZNQm9vbCwgVGFyZ2V0SGFzQXNtQmFja2VuZCwgKExMVk1UYXJn
ZXRSZWYgVCkpIFwKKyAgICBtYWNybyhMTFZNVGFyZ2V0TWFjaGluZVJlZiwgQ3JlYXRlVGFyZ2V0
TWFjaGluZSwgKExMVk1UYXJnZXRSZWYgVCwgY2hhciAqVHJpcGxlLCBjaGFyICpDUFUsIGNoYXIg
KkZlYXR1cmVzLCBMTFZNQ29kZUdlbk9wdExldmVsIExldmVsLCBMTFZNUmVsb2NNb2RlIFJlbG9j
LCBMTFZNQ29kZU1vZGVsIENvZGVNb2RlbCkpIFwKKyAgICBtYWNybyh2b2lkLCBEaXNwb3NlVGFy
Z2V0TWFjaGluZSwgKExMVk1UYXJnZXRNYWNoaW5lUmVmIFQpKSBcCisgICAgbWFjcm8oTExWTVRh
cmdldFJlZiwgR2V0VGFyZ2V0TWFjaGluZVRhcmdldCwgKExMVk1UYXJnZXRNYWNoaW5lUmVmIFQp
KSBcCisgICAgbWFjcm8oY2hhciAqLCBHZXRUYXJnZXRNYWNoaW5lVHJpcGxlLCAoTExWTVRhcmdl
dE1hY2hpbmVSZWYgVCkpIFwKKyAgICBtYWNybyhjaGFyICosIEdldFRhcmdldE1hY2hpbmVDUFUs
IChMTFZNVGFyZ2V0TWFjaGluZVJlZiBUKSkgXAorICAgIG1hY3JvKGNoYXIgKiwgR2V0VGFyZ2V0
TWFjaGluZUZlYXR1cmVTdHJpbmcsIChMTFZNVGFyZ2V0TWFjaGluZVJlZiBUKSkgXAorICAgIG1h
Y3JvKExMVk1UYXJnZXREYXRhUmVmLCBHZXRUYXJnZXRNYWNoaW5lRGF0YSwgKExMVk1UYXJnZXRN
YWNoaW5lUmVmIFQpKSBcCisgICAgbWFjcm8oTExWTUJvb2wsIFRhcmdldE1hY2hpbmVFbWl0VG9G
aWxlLCAoTExWTVRhcmdldE1hY2hpbmVSZWYgVCwgTExWTU1vZHVsZVJlZiBNLCBjaGFyICpGaWxl
bmFtZSwgTExWTUNvZGVHZW5GaWxlVHlwZSBjb2RlZ2VuLCBjaGFyICoqRXJyb3JNZXNzYWdlKSkg
XAorICAgIG1hY3JvKHZvaWQsIExpbmtJbkpJVCwgKHZvaWQpKSBcCisgICAgbWFjcm8odm9pZCwg
TGlua0luTUNKSVQsICh2b2lkKSkgXAorICAgIG1hY3JvKHZvaWQsIExpbmtJbkludGVycHJldGVy
LCAodm9pZCkpIFwKKyAgICBtYWNybyhMTFZNR2VuZXJpY1ZhbHVlUmVmLCBDcmVhdGVHZW5lcmlj
VmFsdWVPZkludCwgKExMVk1UeXBlUmVmIFR5LCB1bnNpZ25lZCBsb25nIGxvbmcgTiwgTExWTUJv
b2wgSXNTaWduZWQpKSBcCisgICAgbWFjcm8oTExWTUdlbmVyaWNWYWx1ZVJlZiwgQ3JlYXRlR2Vu
ZXJpY1ZhbHVlT2ZQb2ludGVyLCAodm9pZCAqUCkpIFwKKyAgICBtYWNybyhMTFZNR2VuZXJpY1Zh
bHVlUmVmLCBDcmVhdGVHZW5lcmljVmFsdWVPZkZsb2F0LCAoTExWTVR5cGVSZWYgVHksIGRvdWJs
ZSBOKSkgXAorICAgIG1hY3JvKHVuc2lnbmVkLCBHZW5lcmljVmFsdWVJbnRXaWR0aCwgKExMVk1H
ZW5lcmljVmFsdWVSZWYgR2VuVmFsUmVmKSkgXAorICAgIG1hY3JvKHVuc2lnbmVkIGxvbmcgbG9u
ZywgR2VuZXJpY1ZhbHVlVG9JbnQsIChMTFZNR2VuZXJpY1ZhbHVlUmVmIEdlblZhbCwgTExWTUJv
b2wgSXNTaWduZWQpKSBcCisgICAgbWFjcm8odm9pZCAqLCBHZW5lcmljVmFsdWVUb1BvaW50ZXIs
IChMTFZNR2VuZXJpY1ZhbHVlUmVmIEdlblZhbCkpIFwKKyAgICBtYWNybyhkb3VibGUsIEdlbmVy
aWNWYWx1ZVRvRmxvYXQsIChMTFZNVHlwZVJlZiBUeVJlZiwgTExWTUdlbmVyaWNWYWx1ZVJlZiBH
ZW5WYWwpKSBcCisgICAgbWFjcm8odm9pZCwgRGlzcG9zZUdlbmVyaWNWYWx1ZSwgKExMVk1HZW5l
cmljVmFsdWVSZWYgR2VuVmFsKSkgXAorICAgIG1hY3JvKExMVk1Cb29sLCBDcmVhdGVFeGVjdXRp
b25FbmdpbmVGb3JNb2R1bGUsIChMTFZNRXhlY3V0aW9uRW5naW5lUmVmICpPdXRFRSwgTExWTU1v
ZHVsZVJlZiBNLCBjaGFyICoqT3V0RXJyb3IpKSBcCisgICAgbWFjcm8oTExWTUJvb2wsIENyZWF0
ZUludGVycHJldGVyRm9yTW9kdWxlLCAoTExWTUV4ZWN1dGlvbkVuZ2luZVJlZiAqT3V0SW50ZXJw
LCBMTFZNTW9kdWxlUmVmIE0sIGNoYXIgKipPdXRFcnJvcikpIFwKKyAgICBtYWNybyhMTFZNQm9v
bCwgQ3JlYXRlSklUQ29tcGlsZXJGb3JNb2R1bGUsIChMTFZNRXhlY3V0aW9uRW5naW5lUmVmICpP
dXRKSVQsIExMVk1Nb2R1bGVSZWYgTSwgdW5zaWduZWQgT3B0TGV2ZWwsIGNoYXIgKipPdXRFcnJv
cikpIFwKKyAgICBtYWNybyh2b2lkLCBJbml0aWFsaXplTUNKSVRDb21waWxlck9wdGlvbnMsIChz
dHJ1Y3QgTExWTU1DSklUQ29tcGlsZXJPcHRpb25zICpPcHRpb25zLCBzaXplX3QgU2l6ZU9mT3B0
aW9ucykpIFwKKyAgICBtYWNybyhMTFZNQm9vbCwgQ3JlYXRlTUNKSVRDb21waWxlckZvck1vZHVs
ZSwgKExMVk1FeGVjdXRpb25FbmdpbmVSZWYgKk91dEpJVCwgTExWTU1vZHVsZVJlZiBNLCBzdHJ1
Y3QgTExWTU1DSklUQ29tcGlsZXJPcHRpb25zICpPcHRpb25zLCBzaXplX3QgU2l6ZU9mT3B0aW9u
cywgY2hhciAqKk91dEVycm9yKSkgXAorICAgIG1hY3JvKExMVk1Cb29sLCBDcmVhdGVFeGVjdXRp
b25FbmdpbmUsIChMTFZNRXhlY3V0aW9uRW5naW5lUmVmICpPdXRFRSwgTExWTU1vZHVsZVByb3Zp
ZGVyUmVmIE1QLCBjaGFyICoqT3V0RXJyb3IpKSBcCisgICAgbWFjcm8oTExWTUJvb2wsIENyZWF0
ZUludGVycHJldGVyLCAoTExWTUV4ZWN1dGlvbkVuZ2luZVJlZiAqT3V0SW50ZXJwLCBMTFZNTW9k
dWxlUHJvdmlkZXJSZWYgTVAsIGNoYXIgKipPdXRFcnJvcikpIFwKKyAgICBtYWNybyhMTFZNQm9v
bCwgQ3JlYXRlSklUQ29tcGlsZXIsIChMTFZNRXhlY3V0aW9uRW5naW5lUmVmICpPdXRKSVQsIExM
Vk1Nb2R1bGVQcm92aWRlclJlZiBNUCwgdW5zaWduZWQgT3B0TGV2ZWwsIGNoYXIgKipPdXRFcnJv
cikpIFwKKyAgICBtYWNybyh2b2lkLCBEaXNwb3NlRXhlY3V0aW9uRW5naW5lLCAoTExWTUV4ZWN1
dGlvbkVuZ2luZVJlZiBFRSkpIFwKKyAgICBtYWNybyh2b2lkLCBSdW5TdGF0aWNDb25zdHJ1Y3Rv
cnMsIChMTFZNRXhlY3V0aW9uRW5naW5lUmVmIEVFKSkgXAorICAgIG1hY3JvKHZvaWQsIFJ1blN0
YXRpY0Rlc3RydWN0b3JzLCAoTExWTUV4ZWN1dGlvbkVuZ2luZVJlZiBFRSkpIFwKKyAgICBtYWNy
byhpbnQsIFJ1bkZ1bmN0aW9uQXNNYWluLCAoTExWTUV4ZWN1dGlvbkVuZ2luZVJlZiBFRSwgTExW
TVZhbHVlUmVmIEYsIHVuc2lnbmVkIEFyZ0MsIGNvbnN0IGNoYXIgKiBjb25zdCAqQXJnViwgY29u
c3QgY2hhciAqIGNvbnN0ICpFbnZQKSkgXAorICAgIG1hY3JvKExMVk1HZW5lcmljVmFsdWVSZWYs
IFJ1bkZ1bmN0aW9uLCAoTExWTUV4ZWN1dGlvbkVuZ2luZVJlZiBFRSwgTExWTVZhbHVlUmVmIEYs
IHVuc2lnbmVkIE51bUFyZ3MsIExMVk1HZW5lcmljVmFsdWVSZWYgKkFyZ3MpKSBcCisgICAgbWFj
cm8odm9pZCwgRnJlZU1hY2hpbmVDb2RlRm9yRnVuY3Rpb24sIChMTFZNRXhlY3V0aW9uRW5naW5l
UmVmIEVFLCBMTFZNVmFsdWVSZWYgRikpIFwKKyAgICBtYWNybyh2b2lkLCBBZGRNb2R1bGUsIChM
TFZNRXhlY3V0aW9uRW5naW5lUmVmIEVFLCBMTFZNTW9kdWxlUmVmIE0pKSBcCisgICAgbWFjcm8o
dm9pZCwgQWRkTW9kdWxlUHJvdmlkZXIsIChMTFZNRXhlY3V0aW9uRW5naW5lUmVmIEVFLCBMTFZN
TW9kdWxlUHJvdmlkZXJSZWYgTVApKSBcCisgICAgbWFjcm8oTExWTUJvb2wsIFJlbW92ZU1vZHVs
ZSwgKExMVk1FeGVjdXRpb25FbmdpbmVSZWYgRUUsIExMVk1Nb2R1bGVSZWYgTSwgTExWTU1vZHVs
ZVJlZiAqT3V0TW9kLCBjaGFyICoqT3V0RXJyb3IpKSBcCisgICAgbWFjcm8oTExWTUJvb2wsIFJl
bW92ZU1vZHVsZVByb3ZpZGVyLCAoTExWTUV4ZWN1dGlvbkVuZ2luZVJlZiBFRSwgTExWTU1vZHVs
ZVByb3ZpZGVyUmVmIE1QLCBMTFZNTW9kdWxlUmVmICpPdXRNb2QsIGNoYXIgKipPdXRFcnJvcikp
IFwKKyAgICBtYWNybyhMTFZNQm9vbCwgRmluZEZ1bmN0aW9uLCAoTExWTUV4ZWN1dGlvbkVuZ2lu
ZVJlZiBFRSwgY29uc3QgY2hhciAqTmFtZSwgTExWTVZhbHVlUmVmICpPdXRGbikpIFwKKyAgICBt
YWNybyh2b2lkICosIFJlY29tcGlsZUFuZFJlbGlua0Z1bmN0aW9uLCAoTExWTUV4ZWN1dGlvbkVu
Z2luZVJlZiBFRSwgTExWTVZhbHVlUmVmIEZuKSkgXAorICAgIG1hY3JvKExMVk1UYXJnZXREYXRh
UmVmLCBHZXRFeGVjdXRpb25FbmdpbmVUYXJnZXREYXRhLCAoTExWTUV4ZWN1dGlvbkVuZ2luZVJl
ZiBFRSkpIFwKKyAgICBtYWNybyh2b2lkLCBBZGRHbG9iYWxNYXBwaW5nLCAoTExWTUV4ZWN1dGlv
bkVuZ2luZVJlZiBFRSwgTExWTVZhbHVlUmVmIEdsb2JhbCwgdm9pZCogQWRkcikpIFwKKyAgICBt
YWNybyh2b2lkICosIEdldFBvaW50ZXJUb0dsb2JhbCwgKExMVk1FeGVjdXRpb25FbmdpbmVSZWYg
RUUsIExMVk1WYWx1ZVJlZiBHbG9iYWwpKSBcCisgICAgbWFjcm8oTExWTU1DSklUTWVtb3J5TWFu
YWdlclJlZiwgQ3JlYXRlU2ltcGxlTUNKSVRNZW1vcnlNYW5hZ2VyLCAodm9pZCAqT3BhcXVlLCBM
TFZNTWVtb3J5TWFuYWdlckFsbG9jYXRlQ29kZVNlY3Rpb25DYWxsYmFjayBBbGxvY2F0ZUNvZGVT
ZWN0aW9uLCBMTFZNTWVtb3J5TWFuYWdlckFsbG9jYXRlRGF0YVNlY3Rpb25DYWxsYmFjayBBbGxv
Y2F0ZURhdGFTZWN0aW9uLCBMTFZNTWVtb3J5TWFuYWdlckZpbmFsaXplTWVtb3J5Q2FsbGJhY2sg
RmluYWxpemVNZW1vcnksIExMVk1NZW1vcnlNYW5hZ2VyRGVzdHJveUNhbGxiYWNrIERlc3Rvcnkp
KSBcCisgICAgbWFjcm8odm9pZCwgRGlzcG9zZU1DSklUTWVtb3J5TWFuYWdlciwgKExMVk1NQ0pJ
VE1lbW9yeU1hbmFnZXJSZWYgTU0pKSBcCisgICAgbWFjcm8oTExWTUJvb2wsIFZlcmlmeU1vZHVs
ZSwgKExMVk1Nb2R1bGVSZWYgTSwgTExWTVZlcmlmaWVyRmFpbHVyZUFjdGlvbiBBY3Rpb24sIGNo
YXIgKipPdXRNZXNzYWdlKSkgXAorICAgIG1hY3JvKExMVk1Cb29sLCBWZXJpZnlGdW5jdGlvbiwg
KExMVk1WYWx1ZVJlZiBGbiwgTExWTVZlcmlmaWVyRmFpbHVyZUFjdGlvbiBBY3Rpb24pKSBcCisg
ICAgbWFjcm8odm9pZCwgVmlld0Z1bmN0aW9uQ0ZHLCAoTExWTVZhbHVlUmVmIEZuKSkgXAorICAg
IG1hY3JvKHZvaWQsIFZpZXdGdW5jdGlvbkNGR09ubHksIChMTFZNVmFsdWVSZWYgRm4pKSBcCisg
ICAgbWFjcm8oTExWTURpc2FzbUNvbnRleHRSZWYsIENyZWF0ZURpc2FzbSwgKGNvbnN0IGNoYXIg
KlRyaXBsZU5hbWUsIHZvaWQgKkRpc0luZm8sIGludCBUYWdUeXBlLCBMTFZNT3BJbmZvQ2FsbGJh
Y2sgR2V0T3BJbmZvLCBMTFZNU3ltYm9sTG9va3VwQ2FsbGJhY2sgU3ltYm9sTG9va1VwKSkgXAor
ICAgIG1hY3JvKExMVk1EaXNhc21Db250ZXh0UmVmLCBDcmVhdGVEaXNhc21DUFUsIChjb25zdCBj
aGFyICpUcmlwbGUsIGNvbnN0IGNoYXIgKkNQVSwgdm9pZCAqRGlzSW5mbywgaW50IFRhZ1R5cGUs
IExMVk1PcEluZm9DYWxsYmFjayBHZXRPcEluZm8sIExMVk1TeW1ib2xMb29rdXBDYWxsYmFjayBT
eW1ib2xMb29rVXApKSBcCisgICAgbWFjcm8oaW50LCBTZXREaXNhc21PcHRpb25zLCAoTExWTURp
c2FzbUNvbnRleHRSZWYgREMsIHVpbnQ2NF90IE9wdGlvbnMpKSBcCisgICAgbWFjcm8odm9pZCwg
RGlzYXNtRGlzcG9zZSwgKExMVk1EaXNhc21Db250ZXh0UmVmIERDKSkgXAorICAgIG1hY3JvKHNp
emVfdCwgRGlzYXNtSW5zdHJ1Y3Rpb24sIChMTFZNRGlzYXNtQ29udGV4dFJlZiBEQywgdWludDhf
dCAqQnl0ZXMsIHVpbnQ2NF90IEJ5dGVzU2l6ZSwgdWludDY0X3QgUEMsIGNoYXIgKk91dFN0cmlu
Zywgc2l6ZV90IE91dFN0cmluZ1NpemUpKSBcCisgICAgbWFjcm8odW5zaWduZWQsIFBvaW50ZXJT
aXplRm9yQVMsIChMTFZNVGFyZ2V0RGF0YVJlZiwgdW5zaWduZWQgQVMpKSBcCisgICAgbWFjcm8o
TExWTVR5cGVSZWYsIEludFB0clR5cGVGb3JBUywgKExMVk1UYXJnZXREYXRhUmVmLCB1bnNpZ25l
ZCBBUykpIFwKKyAgICBtYWNybyhMTFZNUGFzc01hbmFnZXJCdWlsZGVyUmVmLCBQYXNzTWFuYWdl
ckJ1aWxkZXJDcmVhdGUsICh2b2lkKSkgXAorICAgIG1hY3JvKHZvaWQsIFBhc3NNYW5hZ2VyQnVp
bGRlckRpc3Bvc2UsIChMTFZNUGFzc01hbmFnZXJCdWlsZGVyUmVmIFBNQikpIFwKKyAgICBtYWNy
byh2b2lkLCBQYXNzTWFuYWdlckJ1aWxkZXJTZXRPcHRMZXZlbCwgKExMVk1QYXNzTWFuYWdlckJ1
aWxkZXJSZWYgUE1CLCB1bnNpZ25lZCBPcHRMZXZlbCkpIFwKKyAgICBtYWNybyh2b2lkLCBQYXNz
TWFuYWdlckJ1aWxkZXJTZXRTaXplTGV2ZWwsIChMTFZNUGFzc01hbmFnZXJCdWlsZGVyUmVmIFBN
QiwgdW5zaWduZWQgU2l6ZUxldmVsKSkgXAorICAgIG1hY3JvKHZvaWQsIFBhc3NNYW5hZ2VyQnVp
bGRlclNldERpc2FibGVVbml0QXRBVGltZSwgKExMVk1QYXNzTWFuYWdlckJ1aWxkZXJSZWYgUE1C
LCBMTFZNQm9vbCBWYWx1ZSkpIFwKKyAgICBtYWNybyh2b2lkLCBQYXNzTWFuYWdlckJ1aWxkZXJT
ZXREaXNhYmxlVW5yb2xsTG9vcHMsIChMTFZNUGFzc01hbmFnZXJCdWlsZGVyUmVmIFBNQiwgTExW
TUJvb2wgVmFsdWUpKSBcCisgICAgbWFjcm8odm9pZCwgUGFzc01hbmFnZXJCdWlsZGVyU2V0RGlz
YWJsZVNpbXBsaWZ5TGliQ2FsbHMsIChMTFZNUGFzc01hbmFnZXJCdWlsZGVyUmVmIFBNQiwgTExW
TUJvb2wgVmFsdWUpKSBcCisgICAgbWFjcm8odm9pZCwgUGFzc01hbmFnZXJCdWlsZGVyVXNlSW5s
aW5lcldpdGhUaHJlc2hvbGQsIChMTFZNUGFzc01hbmFnZXJCdWlsZGVyUmVmIFBNQiwgdW5zaWdu
ZWQgVGhyZXNob2xkKSkgXAorICAgIG1hY3JvKHZvaWQsIFBhc3NNYW5hZ2VyQnVpbGRlclBvcHVs
YXRlRnVuY3Rpb25QYXNzTWFuYWdlciwgKExMVk1QYXNzTWFuYWdlckJ1aWxkZXJSZWYgUE1CLCBM
TFZNUGFzc01hbmFnZXJSZWYgUE0pKSBcCisgICAgbWFjcm8odm9pZCwgUGFzc01hbmFnZXJCdWls
ZGVyUG9wdWxhdGVNb2R1bGVQYXNzTWFuYWdlciwgKExMVk1QYXNzTWFuYWdlckJ1aWxkZXJSZWYg
UE1CLCBMTFZNUGFzc01hbmFnZXJSZWYgUE0pKSBcCisgICAgbWFjcm8odm9pZCwgUGFzc01hbmFn
ZXJCdWlsZGVyUG9wdWxhdGVMVE9QYXNzTWFuYWdlciwgKExMVk1QYXNzTWFuYWdlckJ1aWxkZXJS
ZWYgUE1CLCBMTFZNUGFzc01hbmFnZXJSZWYgUE0sIExMVk1Cb29sIEludGVybmFsaXplLCBMTFZN
Qm9vbCBSdW5JbmxpbmVyKSkgXAorICAgIG1hY3JvKHZvaWQsIEFkZEFnZ3Jlc3NpdmVEQ0VQYXNz
LCAoTExWTVBhc3NNYW5hZ2VyUmVmIFBNKSkgXAorICAgIG1hY3JvKHZvaWQsIEFkZENGR1NpbXBs
aWZpY2F0aW9uUGFzcywgKExMVk1QYXNzTWFuYWdlclJlZiBQTSkpIFwKKyAgICBtYWNybyh2b2lk
LCBBZGREZWFkU3RvcmVFbGltaW5hdGlvblBhc3MsIChMTFZNUGFzc01hbmFnZXJSZWYgUE0pKSBc
CisgICAgbWFjcm8odm9pZCwgQWRkR1ZOUGFzcywgKExMVk1QYXNzTWFuYWdlclJlZiBQTSkpIFwK
KyAgICBtYWNybyh2b2lkLCBBZGRJbmRWYXJTaW1wbGlmeVBhc3MsIChMTFZNUGFzc01hbmFnZXJS
ZWYgUE0pKSBcCisgICAgbWFjcm8odm9pZCwgQWRkSW5zdHJ1Y3Rpb25Db21iaW5pbmdQYXNzLCAo
TExWTVBhc3NNYW5hZ2VyUmVmIFBNKSkgXAorICAgIG1hY3JvKHZvaWQsIEFkZEp1bXBUaHJlYWRp
bmdQYXNzLCAoTExWTVBhc3NNYW5hZ2VyUmVmIFBNKSkgXAorICAgIG1hY3JvKHZvaWQsIEFkZExJ
Q01QYXNzLCAoTExWTVBhc3NNYW5hZ2VyUmVmIFBNKSkgXAorICAgIG1hY3JvKHZvaWQsIEFkZExv
b3BEZWxldGlvblBhc3MsIChMTFZNUGFzc01hbmFnZXJSZWYgUE0pKSBcCisgICAgbWFjcm8odm9p
ZCwgQWRkTG9vcElkaW9tUGFzcywgKExMVk1QYXNzTWFuYWdlclJlZiBQTSkpIFwKKyAgICBtYWNy
byh2b2lkLCBBZGRMb29wUm90YXRlUGFzcywgKExMVk1QYXNzTWFuYWdlclJlZiBQTSkpIFwKKyAg
ICBtYWNybyh2b2lkLCBBZGRMb29wVW5yb2xsUGFzcywgKExMVk1QYXNzTWFuYWdlclJlZiBQTSkp
IFwKKyAgICBtYWNybyh2b2lkLCBBZGRMb29wVW5zd2l0Y2hQYXNzLCAoTExWTVBhc3NNYW5hZ2Vy
UmVmIFBNKSkgXAorICAgIG1hY3JvKHZvaWQsIEFkZE1lbUNweU9wdFBhc3MsIChMTFZNUGFzc01h
bmFnZXJSZWYgUE0pKSBcCisgICAgbWFjcm8odm9pZCwgQWRkUGFydGlhbGx5SW5saW5lTGliQ2Fs
bHNQYXNzLCAoTExWTVBhc3NNYW5hZ2VyUmVmIFBNKSkgXAorICAgIG1hY3JvKHZvaWQsIEFkZFBy
b21vdGVNZW1vcnlUb1JlZ2lzdGVyUGFzcywgKExMVk1QYXNzTWFuYWdlclJlZiBQTSkpIFwKKyAg
ICBtYWNybyh2b2lkLCBBZGRSZWFzc29jaWF0ZVBhc3MsIChMTFZNUGFzc01hbmFnZXJSZWYgUE0p
KSBcCisgICAgbWFjcm8odm9pZCwgQWRkU0NDUFBhc3MsIChMTFZNUGFzc01hbmFnZXJSZWYgUE0p
KSBcCisgICAgbWFjcm8odm9pZCwgQWRkU2NhbGFyUmVwbEFnZ3JlZ2F0ZXNQYXNzLCAoTExWTVBh
c3NNYW5hZ2VyUmVmIFBNKSkgXAorICAgIG1hY3JvKHZvaWQsIEFkZFNjYWxhclJlcGxBZ2dyZWdh
dGVzUGFzc1NTQSwgKExMVk1QYXNzTWFuYWdlclJlZiBQTSkpIFwKKyAgICBtYWNybyh2b2lkLCBB
ZGRTY2FsYXJSZXBsQWdncmVnYXRlc1Bhc3NXaXRoVGhyZXNob2xkLCAoTExWTVBhc3NNYW5hZ2Vy
UmVmIFBNLCBpbnQgVGhyZXNob2xkKSkgXAorICAgIG1hY3JvKHZvaWQsIEFkZFNpbXBsaWZ5TGli
Q2FsbHNQYXNzLCAoTExWTVBhc3NNYW5hZ2VyUmVmIFBNKSkgXAorICAgIG1hY3JvKHZvaWQsIEFk
ZFRhaWxDYWxsRWxpbWluYXRpb25QYXNzLCAoTExWTVBhc3NNYW5hZ2VyUmVmIFBNKSkgXAorICAg
IG1hY3JvKHZvaWQsIEFkZENvbnN0YW50UHJvcGFnYXRpb25QYXNzLCAoTExWTVBhc3NNYW5hZ2Vy
UmVmIFBNKSkgXAorICAgIG1hY3JvKHZvaWQsIEFkZERlbW90ZU1lbW9yeVRvUmVnaXN0ZXJQYXNz
LCAoTExWTVBhc3NNYW5hZ2VyUmVmIFBNKSkgXAorICAgIG1hY3JvKHZvaWQsIEFkZFZlcmlmaWVy
UGFzcywgKExMVk1QYXNzTWFuYWdlclJlZiBQTSkpIFwKKyAgICBtYWNybyh2b2lkLCBBZGRDb3Jy
ZWxhdGVkVmFsdWVQcm9wYWdhdGlvblBhc3MsIChMTFZNUGFzc01hbmFnZXJSZWYgUE0pKSBcCisg
ICAgbWFjcm8odm9pZCwgQWRkRWFybHlDU0VQYXNzLCAoTExWTVBhc3NNYW5hZ2VyUmVmIFBNKSkg
XAorICAgIG1hY3JvKHZvaWQsIEFkZExvd2VyRXhwZWN0SW50cmluc2ljUGFzcywgKExMVk1QYXNz
TWFuYWdlclJlZiBQTSkpIFwKKyAgICBtYWNybyh2b2lkLCBBZGRUeXBlQmFzZWRBbGlhc0FuYWx5
c2lzUGFzcywgKExMVk1QYXNzTWFuYWdlclJlZiBQTSkpIFwKKyAgICBtYWNybyh2b2lkLCBBZGRC
YXNpY0FsaWFzQW5hbHlzaXNQYXNzLCAoTExWTVBhc3NNYW5hZ2VyUmVmIFBNKSkKKworI2VuZGlm
IC8vIExMVk1BUElGdW5jdGlvbnNfaAorCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvbGx2
bS9MTFZNSGVhZGVycy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbHZt
L0xMVk1IZWFkZXJzLmgJKHJldmlzaW9uIDApCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvbGx2
bS9MTFZNSGVhZGVycy5oCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNjQgQEAKKy8qCisgKiBD
b3B5cmlnaHQgKEMpIDIwMTMgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9u
LgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElT
JycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9S
UyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFM
LAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAq
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisgKi8KKworI2lmbmRlZiBMTFZNSGVhZGVy
c19oCisjZGVmaW5lIExMVk1IZWFkZXJzX2gKKworI2lmIEhBVkUoTExWTSkKKworLy8gSXQgaXMg
bmVjZXNzYXJ5IHRvIGluY2x1ZGUgTExWTSBoZWFkZXJzIHZpYSB0aGlzIGZpbGUsIGJlY2F1c2U6
CisvLyAtIExMVk0gcmVxdWlyZXMgZGVmaW5pbmcgdGhpbmdzIHRoYXQgd2UgZG9uJ3Qgbm9ybWFs
bHkgZGVmaW5lLCBhbmQKKy8vIC0gTExWTSBpbmNsdWRlcyBpdHMgQysrIGhlYWRlcnMgZnJvbSBp
dHMgQyBoZWFkZXJzLCBhbmQgaXRzIEMrKworLy8gICBoZWFkZXJzIGRvbid0IGNvbXBpbGUgY2xl
YW5seSB3aXRoIG91ciB3YXJuaW5ncy4KKworI2RlZmluZSBfX1NURENfTElNSVRfTUFDUk9TCisj
ZGVmaW5lIF9fU1REQ19DT05TVEFOVF9NQUNST1MKKworI2lmIENPTVBJTEVSKENMQU5HKQorI3By
YWdtYSBjbGFuZyBkaWFnbm9zdGljIHB1c2gKKyNwcmFnbWEgY2xhbmcgZGlhZ25vc3RpYyBpZ25v
cmVkICItV21pc3Npbmctbm9yZXR1cm4iCisjcHJhZ21hIGNsYW5nIGRpYWdub3N0aWMgaWdub3Jl
ZCAiLVd1bnVzZWQtcGFyYW1ldGVyIgorI2VuZGlmIC8vIENPTVBJTEVSKENMQU5HKQorCisjaW5j
bHVkZSA8bGx2bS1jL0FuYWx5c2lzLmg+CisjaW5jbHVkZSA8bGx2bS1jL0NvcmUuaD4KKyNpbmNs
dWRlIDxsbHZtLWMvRGlzYXNzZW1ibGVyLmg+CisjaW5jbHVkZSA8bGx2bS1jL0V4ZWN1dGlvbkVu
Z2luZS5oPgorI2luY2x1ZGUgPGxsdm0tYy9UYXJnZXQuaD4KKyNpbmNsdWRlIDxsbHZtLWMvVHJh
bnNmb3Jtcy9QYXNzTWFuYWdlckJ1aWxkZXIuaD4KKyNpbmNsdWRlIDxsbHZtLWMvVHJhbnNmb3Jt
cy9TY2FsYXIuaD4KKworI2lmIENPTVBJTEVSKENMQU5HKQorI3ByYWdtYSBjbGFuZyBkaWFnbm9z
dGljIHBvcAorI2VuZGlmIC8vIENPTVBJTEVSKENMQU5HKQorCisjdW5kZWYgX19TVERDX0xJTUlU
X01BQ1JPUworI3VuZGVmIF9fU1REQ19DT05TVEFOVF9NQUNST1MKKworI2VuZGlmIC8vIEhBVkUo
TExWTSkKKworI2VuZGlmIC8vIExMVk1IZWFkZXJzX2gKKworCkluZGV4OiBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGx2bS9saWJyYXJ5L0xMVk1BbmNob3IuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbHZtL2xpYnJhcnkvTExWTUFuY2hvci5jcHAJKHJldmlzaW9uIDAp
CisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvbGx2bS9saWJyYXJ5L0xMVk1BbmNob3IuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMzUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTMg
QXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVW
RU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBP
UiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAor
ICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4g
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICog
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4gCisgKi8KKworI2luY2x1ZGUgImNvbmZpZ19sbHZtLmgiCisKKyNpZiBIQVZF
KExMVk0pCisKKy8vIFRoaXMgaXMgYSBoYWNrIGZvciBlbnN1cmluZyB0aGF0IHRoZSBidWlsZCBz
eXN0ZW0gcmVsaW5rcyBKYXZhU2NyaXB0Q29yZSBpZiBhbnkKKy8vIG9mIHRoZSBMTFZNIGxpYnJh
cmllcyBhcmUga25vd24gdG8gaGF2ZSBjaGFuZ2VkLgorI2luY2x1ZGUgIldlYktpdExMVk1MaWJy
YXJ5VG9rZW4uaCIKKworI2VuZGlmIC8vIEhBVkUoTExWTSkKKwpJbmRleDogU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsdm0vbGlicmFyeS9MTFZNRXhwb3J0cy5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsdm0vbGlicmFyeS9MTFZNRXhwb3J0cy5jcHAJKHJldmlzaW9u
IDApCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvbGx2bS9saWJyYXJ5L0xMVk1FeHBvcnRzLmNw
cAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDUxIEBACisvKgorICogQ29weXJpZ2h0IChDKSAy
MDEzIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAq
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBO
TyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFS
WSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UK
KyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuIAorICovCisKKyNpbmNsdWRlICJjb25maWdfbGx2bS5oIgorCisjaWYg
SEFWRShMTFZNKQorCisjaW5jbHVkZSAiTExWTUFQSS5oIgorCitleHRlcm4gIkMiIFdURl9FWFBP
UlRfUFJJVkFURSBKU0M6OkxMVk1BUEkqIGluaXRpYWxpemVBbmRHZXRKU0NMTFZNQVBJKCk7CisK
K2V4dGVybiAiQyIgSlNDOjpMTFZNQVBJKiBpbml0aWFsaXplQW5kR2V0SlNDTExWTUFQSSgpCit7
CisgICAgTExWTUxpbmtJbk1DSklUKCk7CisgICAgTExWTUluaXRpYWxpemVOYXRpdmVUYXJnZXQo
KTsKKyAgICBMTFZNSW5pdGlhbGl6ZVg4NkFzbVByaW50ZXIoKTsKKyAgICBMTFZNSW5pdGlhbGl6
ZVg4NkRpc2Fzc2VtYmxlcigpOworICAgIAorICAgIEpTQzo6TExWTUFQSSogcmVzdWx0ID0gbmV3
IEpTQzo6TExWTUFQSTsKKyAgICAKKyNkZWZpbmUgTExWTV9BUElfRlVOQ1RJT05fQVNTSUdOTUVO
VChyZXR1cm5UeXBlLCBuYW1lLCBzaWduYXR1cmUpIFwKKyAgICByZXN1bHQtPm5hbWUgPSBMTFZN
IyNuYW1lOworICAgIEZPUl9FQUNIX0xMVk1fQVBJX0ZVTkNUSU9OKExMVk1fQVBJX0ZVTkNUSU9O
X0FTU0lHTk1FTlQpOworI3VuZGVmIExMVk1fQVBJX0ZVTkNUSU9OX0FTU0lHTk1FTlQKKyAgICAK
KyAgICByZXR1cm4gcmVzdWx0OworfQorCisjZW5kaWYgLy8gSEFWRShMTFZNKQpJbmRleDogU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsdm0vbGlicmFyeS9MTFZNT3ZlcnJpZGVzLmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvbGx2bS9saWJyYXJ5L0xMVk1PdmVycmlkZXMu
Y3BwCShyZXZpc2lvbiAwKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2xsdm0vbGlicmFyeS9M
TFZNT3ZlcnJpZGVzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDMzIEBACisvKgorICog
Q29weXJpZ2h0IChDKSAyMDEzIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisg
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlv
bi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJ
UycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRP
UlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1Mg
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisg
KiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorICovCisKKyNpbmNsdWRlICJjb25maWdf
bGx2bS5oIgorCisjaWYgSEFWRShMTFZNKQorCitleHRlcm4gIkMiIGludCBfX2N4YV9hdGV4aXQo
KTsKK2V4dGVybiAiQyIgaW50IF9fY3hhX2F0ZXhpdCgpIHsgcmV0dXJuIDA7IH0KKworI2VuZGlm
IC8vIEhBVkUoTExWTSkKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbHZtL2xpYnJhcnkv
Y29uZmlnX2xsdm0uaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvbGx2bS9s
aWJyYXJ5L2NvbmZpZ19sbHZtLmgJKHJldmlzaW9uIDApCisrKyBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGx2bS9saWJyYXJ5L2NvbmZpZ19sbHZtLmgJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwy
OCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAx
LiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAq
ICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBM
RSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgor
ICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7
IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVP
UlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKyAqLworCisjaW5j
bHVkZSA8d3RmL1BsYXRmb3JtLmg+CisjaW5jbHVkZSA8d3RmL0V4cG9ydE1hY3Jvcy5oPgorCklu
ZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Jbml0aWFsaXplVGhyZWFkaW5nLmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Jbml0aWFsaXpl
VGhyZWFkaW5nLmNwcAkocmV2aXNpb24gMTU3MjA0KQorKysgU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvSW5pdGlhbGl6ZVRocmVhZGluZy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQwLDcg
KzQwLDYgQEAKICNpbmNsdWRlICJMTEludERhdGEuaCIKICNpbmNsdWRlICJXcml0ZUJhcnJpZXIu
aCIKICNpbmNsdWRlIDx3dGYvZHRvYS5oPgotI2luY2x1ZGUgPHd0Zi9MTFZNSGVhZGVycy5oPgog
I2luY2x1ZGUgPHd0Zi9UaHJlYWRpbmcuaD4KICNpbmNsdWRlIDx3dGYvZHRvYS9jYWNoZWQtcG93
ZXJzLmg+CiAKQEAgLTcwLDI0ICs2OSw2IEBAIHN0YXRpYyB2b2lkIGluaXRpYWxpemVUaHJlYWRp
bmdPbmNlKCkKICNpZiBFTkFCTEUoTExJTlQpCiAgICAgTExJbnQ6OmluaXRpYWxpemUoKTsKICNl
bmRpZgotI2lmIEhBVkUoTExWTSkKLSAgICBib29sIGZ0bCA9IGZhbHNlOwotICAgIGJvb2wgZGlz
YXNzZW1ibGVyID0gZmFsc2U7Ci0jaWYgRU5BQkxFKEZUTF9KSVQpCi0gICAgZnRsID0gdHJ1ZTsK
LSNlbmRpZgotI2lmIFVTRShMTFZNX0RJU0FTU0VNQkxFUikKLSAgICBkaXNhc3NlbWJsZXIgPSB0
cnVlOwotI2VuZGlmCi0gICAgaWYgKGZ0bCkKLSAgICAgICAgTExWTUxpbmtJbk1DSklUKCk7Ci0g
ICAgaWYgKGZ0bCB8fCBkaXNhc3NlbWJsZXIpCi0gICAgICAgIExMVk1Jbml0aWFsaXplTmF0aXZl
VGFyZ2V0KCk7Ci0gICAgaWYgKGZ0bCkKLSAgICAgICAgTExWTUluaXRpYWxpemVYODZBc21Qcmlu
dGVyKCk7Ci0gICAgaWYgKGRpc2Fzc2VtYmxlcikKLSAgICAgICAgTExWTUluaXRpYWxpemVYODZE
aXNhc3NlbWJsZXIoKTsKLSNlbmRpZiAvLyBIQVZFKExMVk0pCiB9CiAKIHZvaWQgaW5pdGlhbGl6
ZVRocmVhZGluZygpCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9PcHRpb25z
LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvT3B0aW9ucy5o
CShyZXZpc2lvbiAxNTcyMDQpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9PcHRp
b25zLmgJKHdvcmtpbmcgY29weSkKQEAgLTIwNSw5ICsyMDUsNyBAQCB0eXBlZGVmIE9wdGlvblJh
bmdlIG9wdGlvblJhbmdlOwogICAgIHYoYm9vbCwgbG9nR0MsIGZhbHNlKSBcCiAgICAgdih1bnNp
Z25lZCwgZ2NNYXhIZWFwU2l6ZSwgMCkgXAogICAgIHYoYm9vbCwgcmVjb3JkR0NQYXVzZVRpbWVz
LCBmYWxzZSkgXAotICAgIHYoYm9vbCwgbG9nSGVhcFN0YXRpc3RpY3NBdEV4aXQsIGZhbHNlKSBc
Ci0gICAgXAotICAgIHYoYm9vbCwgbmV2ZXJEZWxldGVWTUluQ29tbWFuZExpbmUsIGZhbHNlKQor
ICAgIHYoYm9vbCwgbG9nSGVhcFN0YXRpc3RpY3NBdEV4aXQsIGZhbHNlKQogCiBjbGFzcyBPcHRp
b25zIHsKIHB1YmxpYzoKSW5kZXg6IFNvdXJjZS9XVEYvQ2hhbmdlTG9nCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XVEYvQ2hhbmdlTG9nCShyZXZpc2lvbiAxNTcyMDQpCisrKyBTb3VyY2UvV1RGL0No
YW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIwIEBACisyMDEzLTEwLTA5ICBGaWxp
cCBQaXpsbyAgPGZwaXpsb0BhcHBsZS5jb20+CisKKyAgICAgICAgRlRMOiBTb2Z0LWxpbmsgTExW
TSBhcyBhIHdvcmthcm91bmQgZm9yIExMVk0ncyBzdGF0aWMgaW5pdGlhbGl6ZXJzIGFuZCBleGl0
LXRpbWUgZGVzdHJ1Y3RvcnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTEyMjU2NgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
ICAgICAgICAKKyAgICAgICAgUmVtb3ZlIGFsbCBMTFZNIHN0dWZmIGZyb20gV1RGIHNpbmNlIHRv
IGdldCBMTFZNIHlvdSBuZWVkIHRvIHNvZnQtbGluayBhbmQgaXQncworICAgICAgICBlbnRpcmVs
eSB0aGUgcmVzcG9uc2liaWxpdHkgb2YgSlNDIHRvIGRvIHRoYXQuCisgICAgICAgIAorICAgICAg
ICBBbHNvIGZpeGVkIGFuIGV4cG9ydCBnb29mIHRoYXQgSSBmb3VuZCBhZnRlciBmaXhpbmcgdGhl
IHdlYWsgdGhpbmd5IHNjcmlwdCBpbiBKU0MuCisKKyAgICAgICAgKiBXVEYueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvajoKKyAgICAgICAgKiB3dGYvTExWTUhlYWRlcnMuaDogUmVtb3ZlZC4KKyAg
ICAgICAgKiB3dGYvdGV4dC9DU3RyaW5nLmg6CisgICAgICAgIChXVEY6OkNTdHJpbmdIYXNoOjpo
YXNoKToKKwogMjAxMy0xMC0wOSAgTWljaGFlbCBTYWJvZmYgIDxtc2Fib2ZmQGFwcGxlLmNvbT4K
IAogICAgICAgICBDaGFuZ2UgdG8gc3RkOjp1bmlxdWVfcHRyIGJyZWFrcyB3dGYvRGF0YUxvZy5j
cHAgd2hlbiBEQVRBX0xPR19UT19GSUxFIHNldCB0byAxCkluZGV4OiBTb3VyY2UvV1RGL1dURi54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XVEYvV1RGLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHJldmlzaW9uIDE1NzIwNCkKKysrIFNvdXJjZS9XVEYv
V1RGLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHdvcmtpbmcgY29weSkKQEAgLTMzMCw3ICsz
MzAsNiBAQAogCQk5QkQ4RjQwQTE3NkMyQUQ4MDAwMkQ4NjUgLyogQXRvbWljU3RyaW5nVGFibGUu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gQXRvbWljU3RyaW5nVGFibGUuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJQTcwREEwODIxNzk5RjA0RDAwNTI5QTlCIC8qIEluc2VydGlvbi5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBJbnNlcnRpb24uaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJQTcwREEwODMxNzk5RjA0RDAwNTI5QTlCIC8qIExpc3REdW1wLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IExpc3REdW1wLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07Ci0JCUE3MzZCMzU4MTc5OUUxMUEwMEM2RjA1RSAvKiBMTFZNSGVhZGVycy5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBMTFZNSGVhZGVycy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQlBNzQ4NzQ0RjE3QTBCREFFMDBGQTA0Q0IgLyogU2l4Q2hhcmFjdGVySGFzaC5jcHAgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTaXhDaGFyYWN0ZXJIYXNoLmNwcDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTc0ODc0NTAxN0EwQkRBRTAwRkEwNENCIC8q
IFNpeENoYXJhY3Rlckhhc2guaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU2l4
Q2hhcmFjdGVySGFzaC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBNzQ4NzQ1MTE3
QTBCREFFMDBGQTA0Q0IgLyogU3RyaW5nSGFzaER1bXBDb250ZXh0LmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IFN0cmluZ0hhc2hEdW1wQ29udGV4dC5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwpAQCAtNjcyLDcgKzY3MSw2IEBACiAJCQkJQTcwREEwODIxNzk5RjA0RDAw
NTI5QTlCIC8qIEluc2VydGlvbi5oICovLAogCQkJCUE3MERBMDgzMTc5OUYwNEQwMDUyOUE5QiAv
KiBMaXN0RHVtcC5oICovLAogCQkJCUE4QTQ3MkMxMTUxQTgyNUEwMDQxMjNGRiAvKiBMaXN0SGFz
aFNldC5oICovLAotCQkJCUE3MzZCMzU4MTc5OUUxMUEwMEM2RjA1RSAvKiBMTFZNSGVhZGVycy5o
ICovLAogCQkJCUE4QTQ3MkMzMTUxQTgyNUEwMDQxMjNGRiAvKiBMb2NrZXIuaCAqLywKIAkJCQlB
OEE0NzJDQTE1MUE4MjVCMDA0MTIzRkYgLyogTUQ1LmNwcCAqLywKIAkJCQlBOEE0NzJDQjE1MUE4
MjVCMDA0MTIzRkYgLyogTUQ1LmggKi8sCkluZGV4OiBTb3VyY2UvV1RGL3d0Zi9MTFZNSGVhZGVy
cy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XVEYvd3RmL0xMVk1IZWFkZXJzLmgJKHJldmlzaW9u
IDE1NzIwNCkKKysrIFNvdXJjZS9XVEYvd3RmL0xMVk1IZWFkZXJzLmgJKHdvcmtpbmcgY29weSkK
QEAgLTEsNjIgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxMyBBcHBsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFy
ZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCi0gKiBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQotICogSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQ
TEUgSU5DLiBPUgotICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCi0gKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBQUk9DVVJFTUVO
VCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IK
LSAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkKLSAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAK
LSAqLwotCi0jaWZuZGVmIExMVk1IZWFkZXJzX2gKLSNkZWZpbmUgTExWTUhlYWRlcnNfaAotCi0j
aW5jbHVkZSA8d3RmL1BsYXRmb3JtLmg+Ci0KLSNpZiBIQVZFKExMVk0pCi0KLS8vIEl0IGlzIG5l
Y2Vzc2FyeSB0byBpbmNsdWRlIExMVk0gaGVhZGVycyB2aWEgdGhpcyBmaWxlLCBiZWNhdXNlOgot
Ly8gLSBMTFZNIHJlcXVpcmVzIGRlZmluaW5nIHRoaW5ncyB0aGF0IHdlIGRvbid0IG5vcm1hbGx5
IGRlZmluZSwgYW5kCi0vLyAtIExMVk0gaW5jbHVkZXMgaXRzIEMrKyBoZWFkZXJzIGZyb20gaXRz
IEMgaGVhZGVycywgYW5kIGl0cyBDKysKLS8vICAgaGVhZGVycyBkb24ndCBjb21waWxlIGNsZWFu
bHkgd2l0aCBvdXIgd2FybmluZ3MuCi0KLSN1bmRlZiBfX1NURENfTElNSVRfTUFDUk9TCi0jdW5k
ZWYgX19TVERDX0NPTlNUQU5UX01BQ1JPUwotI2RlZmluZSBfX1NURENfTElNSVRfTUFDUk9TCi0j
ZGVmaW5lIF9fU1REQ19DT05TVEFOVF9NQUNST1MKLQotI2lmIENPTVBJTEVSKENMQU5HKQotI3By
YWdtYSBjbGFuZyBkaWFnbm9zdGljIHB1c2gKLSNwcmFnbWEgY2xhbmcgZGlhZ25vc3RpYyBpZ25v
cmVkICItV21pc3Npbmctbm9yZXR1cm4iCi0jcHJhZ21hIGNsYW5nIGRpYWdub3N0aWMgaWdub3Jl
ZCAiLVd1bnVzZWQtcGFyYW1ldGVyIgotI2VuZGlmCi0KLSNpbmNsdWRlIDxsbHZtLWMvQW5hbHlz
aXMuaD4KLSNpbmNsdWRlIDxsbHZtLWMvQ29yZS5oPgotI2luY2x1ZGUgPGxsdm0tYy9EaXNhc3Nl
bWJsZXIuaD4KLSNpbmNsdWRlIDxsbHZtLWMvRXhlY3V0aW9uRW5naW5lLmg+Ci0jaW5jbHVkZSA8
bGx2bS1jL1RhcmdldC5oPgotI2luY2x1ZGUgPGxsdm0tYy9UcmFuc2Zvcm1zL1Bhc3NNYW5hZ2Vy
QnVpbGRlci5oPgotCi0jaWYgQ09NUElMRVIoQ0xBTkcpCi0jcHJhZ21hIGNsYW5nIGRpYWdub3N0
aWMgcG9wCi0jZW5kaWYKLQotI2VuZGlmIC8vIEhBVkUoTExWTSkKLQotI2VuZGlmIC8vIExMVk1I
ZWFkZXJzX2gKSW5kZXg6IFNvdXJjZS9XVEYvd3RmL3RleHQvQ1N0cmluZy5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XVEYvd3RmL3RleHQvQ1N0cmluZy5oCShyZXZpc2lvbiAxNTcyMDQpCisrKyBT
b3VyY2UvV1RGL3d0Zi90ZXh0L0NTdHJpbmcuaAkod29ya2luZyBjb3B5KQpAQCAtOTQsNyArOTQs
NyBAQCBpbmxpbmUgYm9vbCBvcGVyYXRvciE9KGNvbnN0IENTdHJpbmcmIGEsCiBib29sIG9wZXJh
dG9yPChjb25zdCBDU3RyaW5nJiBhLCBjb25zdCBDU3RyaW5nJiBiKTsKIAogc3RydWN0IENTdHJp
bmdIYXNoIHsKLSAgICBXVEZfRVhQT1JUX1BSSVZBVEUgc3RhdGljIHVuc2lnbmVkIGhhc2goY29u
c3QgQ1N0cmluZyYgc3RyaW5nKSB7IHJldHVybiBzdHJpbmcuaGFzaCgpOyB9CisgICAgc3RhdGlj
IHVuc2lnbmVkIGhhc2goY29uc3QgQ1N0cmluZyYgc3RyaW5nKSB7IHJldHVybiBzdHJpbmcuaGFz
aCgpOyB9CiAgICAgV1RGX0VYUE9SVF9QUklWQVRFIHN0YXRpYyBib29sIGVxdWFsKGNvbnN0IENT
dHJpbmcmIGEsIGNvbnN0IENTdHJpbmcmIGIpOwogICAgIHN0YXRpYyBjb25zdCBib29sIHNhZmVU
b0NvbXBhcmVUb0VtcHR5T3JEZWxldGVkID0gdHJ1ZTsKIH07Cg==
</data>
<flag name="review"
          id="236326"
          type_id="1"
          status="+"
          setter="mrowe"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>213912</attachid>
            <date>2013-10-10 12:24:44 -0700</date>
            <delta_ts>2013-10-10 12:24:44 -0700</delta_ts>
            <desc>patch for ews</desc>
            <filename>blah.patch</filename>
            <type>text/plain</type>
            <size>160765</size>
            <attacher name="Filip Pizlo">fpizlo</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTU3MjM3KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE1MCBA
QAorMjAxMy0xMC0wOSAgRmlsaXAgUGl6bG8gIDxmcGl6bG9AYXBwbGUuY29tPgorCisgICAgICAg
IEZUTDogU29mdC1saW5rIExMVk0gYXMgYSB3b3JrYXJvdW5kIGZvciBMTFZNJ3Mgc3RhdGljIGlu
aXRpYWxpemVycyBhbmQgZXhpdC10aW1lIGRlc3RydWN0b3JzCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjI1NjYKKworICAgICAgICBSZXZpZXdlZCBi
eSBNYXJrIFJvd2UuCisgICAgICAgIAorICAgICAgICBUaGUgSlNDIHByb2plY3Qgbm93IGJ1aWxk
cyBhIGxpYmxsdm1Gb3JKU0MuZHlsaWIuIElmIEZUTCBpcyBlbmFibGVkLCB0aGlzCisgICAgICAg
IGdldHMgY29waWVkIGludG8gSmF2YVNjcmlwdENvcmUuZnJhbWV3b3JrL1ZlcnNpb25zL0EvTGli
cmFyaWVzLiBKU0Mgd2lsbAorICAgICAgICBsb2FkIHRoZSBkeWxpYiBieSBmaW5kaW5nIGl0IHVz
aW5nIE5TQnVuZGxlIEFQSXMgYW5kIHRoZW4gZG9pbmcgZGxvcGVuKCkuCisgICAgICAgIFRoYXQg
d2lsbCBvbmx5IGhhcHBlbiBsYXppbHksIHdoZW4gc29tZXRoaW5nIGhhcHBlbnMgdGhhdCByZXF1
aXJlcyBMTFZNLgorICAgICAgICAKKyAgICAgICAgVGhpcyBtb3N0bHkgdGFrZXMgY2FyZSBvZiBM
TFZNIHN0YXRpYyBpbml0aWFsaXphdGlvbiBvdmVyaGVhZCBieSBkZWZlcnJpbmcKKyAgICAgICAg
aXQgdW50aWwgaXQncyByZWFsbHkgbmVlZGVkLgorICAgICAgICAKKyAgICAgICAgVGhpcyB0YWtl
cyBjYXJlIG9mIExMVk0ncyBleGl0LXRpbWUgZGVzdHJ1Y3RvcnMgYmVjYXVzZSBpbnNpZGUKKyAg
ICAgICAgbGlibGx2bUZvckpTQy5keWxpYiwgd2Ugb3ZlcnJpZGUgX19jeGFfYXRleGl0LgorICAg
ICAgICAKKyAgICAgICAgKiBDb25maWd1cmF0aW9ucy9KYXZhU2NyaXB0Q29yZS54Y2NvbmZpZzoK
KyAgICAgICAgKiBDb25maWd1cmF0aW9ucy9MTFZNRm9ySlNDLnhjY29uZmlnOiBBZGRlZC4KKyAg
ICAgICAgKiBKYXZhU2NyaXB0Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAg
ICAqIGRmZy9ERkdQbGFuLmNwcDoKKyAgICAgICAgKEpTQzo6REZHOjpQbGFuOjpjb21waWxlSW5U
aHJlYWRJbXBsKToKKyAgICAgICAgKiBkaXNhc3NlbWJsZXIvTExWTURpc2Fzc2VtYmxlci5jcHA6
CisgICAgICAgIChKU0M6OnRyeVRvRGlzYXNzZW1ibGVXaXRoTExWTSk6CisgICAgICAgICogZnRs
L0ZUTEFiYnJldmlhdGVkVHlwZXMuaDoKKyAgICAgICAgKiBmdGwvRlRMQWJicmV2aWF0aW9ucy5o
OgorICAgICAgICAoSlNDOjpGVEw6OnZvaWRUeXBlKToKKyAgICAgICAgKEpTQzo6RlRMOjppbnQx
VHlwZSk6CisgICAgICAgIChKU0M6OkZUTDo6aW50OFR5cGUpOgorICAgICAgICAoSlNDOjpGVEw6
OmludDE2VHlwZSk6CisgICAgICAgIChKU0M6OkZUTDo6aW50MzJUeXBlKToKKyAgICAgICAgKEpT
Qzo6RlRMOjppbnQ2NFR5cGUpOgorICAgICAgICAoSlNDOjpGVEw6OmludFB0clR5cGUpOgorICAg
ICAgICAoSlNDOjpGVEw6OmZsb2F0VHlwZSk6CisgICAgICAgIChKU0M6OkZUTDo6ZG91YmxlVHlw
ZSk6CisgICAgICAgIChKU0M6OkZUTDo6cG9pbnRlclR5cGUpOgorICAgICAgICAoSlNDOjpGVEw6
OnN0cnVjdFR5cGUpOgorICAgICAgICAoSlNDOjpGVEw6OmZ1bmN0aW9uVHlwZSk6CisgICAgICAg
IChKU0M6OkZUTDo6dHlwZU9mKToKKyAgICAgICAgKEpTQzo6RlRMOjptZEtpbmRJRCk6CisgICAg
ICAgIChKU0M6OkZUTDo6bWRTdHJpbmcpOgorICAgICAgICAoSlNDOjpGVEw6Om1kTm9kZSk6Cisg
ICAgICAgIChKU0M6OkZUTDo6c2V0TWV0YWRhdGEpOgorICAgICAgICAoSlNDOjpGVEw6OmFkZEZ1
bmN0aW9uKToKKyAgICAgICAgKEpTQzo6RlRMOjpzZXRMaW5rYWdlKToKKyAgICAgICAgKEpTQzo6
RlRMOjpzZXRGdW5jdGlvbkNhbGxpbmdDb252KToKKyAgICAgICAgKEpTQzo6RlRMOjpnZXRQYXJh
bSk6CisgICAgICAgIChKU0M6OkZUTDo6Y29uc3RJbnQpOgorICAgICAgICAoSlNDOjpGVEw6OmNv
bnN0UmVhbCk6CisgICAgICAgIChKU0M6OkZUTDo6Y29uc3RJbnRUb1B0cik6CisgICAgICAgIChK
U0M6OkZUTDo6Y29uc3RCaXRDYXN0KToKKyAgICAgICAgKEpTQzo6RlRMOjphcHBlbmRCYXNpY0Js
b2NrKToKKyAgICAgICAgKEpTQzo6RlRMOjppbnNlcnRCYXNpY0Jsb2NrKToKKyAgICAgICAgKEpT
Qzo6RlRMOjpidWlsZFBoaSk6CisgICAgICAgIChKU0M6OkZUTDo6YWRkSW5jb21pbmcpOgorICAg
ICAgICAoSlNDOjpGVEw6OmJ1aWxkQWxsb2NhKToKKyAgICAgICAgKEpTQzo6RlRMOjpidWlsZEFk
ZCk6CisgICAgICAgIChKU0M6OkZUTDo6YnVpbGRTdWIpOgorICAgICAgICAoSlNDOjpGVEw6OmJ1
aWxkTXVsKToKKyAgICAgICAgKEpTQzo6RlRMOjpidWlsZERpdik6CisgICAgICAgIChKU0M6OkZU
TDo6YnVpbGRSZW0pOgorICAgICAgICAoSlNDOjpGVEw6OmJ1aWxkTmVnKToKKyAgICAgICAgKEpT
Qzo6RlRMOjpidWlsZEZBZGQpOgorICAgICAgICAoSlNDOjpGVEw6OmJ1aWxkRlN1Yik6CisgICAg
ICAgIChKU0M6OkZUTDo6YnVpbGRGTXVsKToKKyAgICAgICAgKEpTQzo6RlRMOjpidWlsZEZEaXYp
OgorICAgICAgICAoSlNDOjpGVEw6OmJ1aWxkRlJlbSk6CisgICAgICAgIChKU0M6OkZUTDo6YnVp
bGRGTmVnKToKKyAgICAgICAgKEpTQzo6RlRMOjpidWlsZEFuZCk6CisgICAgICAgIChKU0M6OkZU
TDo6YnVpbGRPcik6CisgICAgICAgIChKU0M6OkZUTDo6YnVpbGRYb3IpOgorICAgICAgICAoSlND
OjpGVEw6OmJ1aWxkU2hsKToKKyAgICAgICAgKEpTQzo6RlRMOjpidWlsZEFTaHIpOgorICAgICAg
ICAoSlNDOjpGVEw6OmJ1aWxkTFNocik6CisgICAgICAgIChKU0M6OkZUTDo6YnVpbGROb3QpOgor
ICAgICAgICAoSlNDOjpGVEw6OmJ1aWxkTG9hZCk6CisgICAgICAgIChKU0M6OkZUTDo6YnVpbGRT
dG9yZSk6CisgICAgICAgIChKU0M6OkZUTDo6YnVpbGRTRXh0KToKKyAgICAgICAgKEpTQzo6RlRM
OjpidWlsZFpFeHQpOgorICAgICAgICAoSlNDOjpGVEw6OmJ1aWxkRlBUb1NJKToKKyAgICAgICAg
KEpTQzo6RlRMOjpidWlsZEZQVG9VSSk6CisgICAgICAgIChKU0M6OkZUTDo6YnVpbGRTSVRvRlAp
OgorICAgICAgICAoSlNDOjpGVEw6OmJ1aWxkVUlUb0ZQKToKKyAgICAgICAgKEpTQzo6RlRMOjpi
dWlsZEludENhc3QpOgorICAgICAgICAoSlNDOjpGVEw6OmJ1aWxkRlBDYXN0KToKKyAgICAgICAg
KEpTQzo6RlRMOjpidWlsZEludFRvUHRyKToKKyAgICAgICAgKEpTQzo6RlRMOjpidWlsZFB0clRv
SW50KToKKyAgICAgICAgKEpTQzo6RlRMOjpidWlsZEJpdENhc3QpOgorICAgICAgICAoSlNDOjpG
VEw6OmJ1aWxkSUNtcCk6CisgICAgICAgIChKU0M6OkZUTDo6YnVpbGRGQ21wKToKKyAgICAgICAg
KEpTQzo6RlRMOjpidWlsZENhbGwpOgorICAgICAgICAoSlNDOjpGVEw6OnNldFRhaWxDYWxsKToK
KyAgICAgICAgKEpTQzo6RlRMOjpidWlsZEV4dHJhY3RWYWx1ZSk6CisgICAgICAgIChKU0M6OkZU
TDo6YnVpbGRTZWxlY3QpOgorICAgICAgICAoSlNDOjpGVEw6OmJ1aWxkQnIpOgorICAgICAgICAo
SlNDOjpGVEw6OmJ1aWxkQ29uZEJyKToKKyAgICAgICAgKEpTQzo6RlRMOjpidWlsZFN3aXRjaCk6
CisgICAgICAgIChKU0M6OkZUTDo6YWRkQ2FzZSk6CisgICAgICAgIChKU0M6OkZUTDo6YnVpbGRS
ZXQpOgorICAgICAgICAoSlNDOjpGVEw6OmJ1aWxkVW5yZWFjaGFibGUpOgorICAgICAgICAoSlND
OjpGVEw6OmR1bXBNb2R1bGUpOgorICAgICAgICAoSlNDOjpGVEw6OnZlcmlmeU1vZHVsZSk6Cisg
ICAgICAgICogZnRsL0ZUTENvbXBpbGUuY3BwOgorICAgICAgICAoSlNDOjpGVEw6OmNvbXBpbGUp
OgorICAgICAgICAqIGZ0bC9GVExGYWlsLmNwcDoKKyAgICAgICAgKEpTQzo6RlRMOjpmYWlsKToK
KyAgICAgICAgKiBmdGwvRlRMSklUQ29kZS5oOgorICAgICAgICAqIGZ0bC9GVExKSVRGaW5hbGl6
ZXIuaDoKKyAgICAgICAgKiBmdGwvRlRMTGluay5jcHA6CisgICAgICAgICogZnRsL0ZUTExvd2Vy
REZHVG9MTFZNLmNwcDoKKyAgICAgICAgKEpTQzo6RlRMOjpMb3dlckRGR1RvTExWTTo6bG93ZXIp
OgorICAgICAgICAqIGZ0bC9GVExPdXRwdXQuY3BwOgorICAgICAgICAoSlNDOjpGVEw6Ok91dHB1
dDo6T3V0cHV0KToKKyAgICAgICAgKEpTQzo6RlRMOjpPdXRwdXQ6On5PdXRwdXQpOgorICAgICAg
ICAqIGZ0bC9GVExPdXRwdXQuaDoKKyAgICAgICAgKEpTQzo6RlRMOjpPdXRwdXQ6OmFwcGVuZFRv
KToKKyAgICAgICAgKiBmdGwvRlRMU3RhdGUuY3BwOgorICAgICAgICAoSlNDOjpGVEw6OlN0YXRl
OjpTdGF0ZSk6CisgICAgICAgIChKU0M6OkZUTDo6U3RhdGU6On5TdGF0ZSk6CisgICAgICAgICog
ZnRsL1dlYktpdExMVk1MaWJyYXJ5QW5jaG9yLmNwcDogUmVtb3ZlZC4KKyAgICAgICAgKiBqc2Mu
Y3BwOgorICAgICAgICAoanNjbWFpbik6CisgICAgICAgICogbGx2bTogQWRkZWQuCisgICAgICAg
ICogbGx2bS9Jbml0aWFsaXplTExWTS5jcHA6IEFkZGVkLgorICAgICAgICAoSlNDOjppbml0aWFs
aXplTExWTSk6CisgICAgICAgICogbGx2bS9Jbml0aWFsaXplTExWTS5oOiBBZGRlZC4KKyAgICAg
ICAgKiBsbHZtL0luaXRpYWxpemVMTFZNTWFjLm1tOiBBZGRlZC4KKyAgICAgICAgKEpTQzo6aW5p
dGlhbGl6ZUxMVk1JbXBsKToKKyAgICAgICAgKiBsbHZtL0luaXRpYWxpemVMTFZNUE9TSVguY3Bw
OiBBZGRlZC4KKyAgICAgICAgKEpTQzo6aW5pdGlhbGl6ZUxMVk1QT1NJWCk6CisgICAgICAgICog
bGx2bS9Jbml0aWFsaXplTExWTVBPU0lYLmg6IEFkZGVkLgorICAgICAgICAqIGxsdm0vTExWTUFQ
SS5jcHA6IEFkZGVkLgorICAgICAgICAqIGxsdm0vTExWTUFQSS5oOiBBZGRlZC4KKyAgICAgICAg
KiBsbHZtL0xMVk1BUElGdW5jdGlvbnMuaDogQWRkZWQuCisgICAgICAgICogbGx2bS9MTFZNSGVh
ZGVycy5oOiBBZGRlZC4KKyAgICAgICAgKiBsbHZtL2xpYnJhcnk6IEFkZGVkLgorICAgICAgICAq
IGxsdm0vbGlicmFyeS9MTFZNQW5jaG9yLmNwcDogQWRkZWQuCisgICAgICAgICogbGx2bS9saWJy
YXJ5L0xMVk1FeHBvcnRzLmNwcDogQWRkZWQuCisgICAgICAgIChpbml0aWFsaXplQW5kR2V0SlND
TExWTUFQSSk6CisgICAgICAgICogbGx2bS9saWJyYXJ5L0xMVk1PdmVycmlkZXMuY3BwOiBBZGRl
ZC4KKyAgICAgICAgKF9fY3hhX2F0ZXhpdCk6CisgICAgICAgICogbGx2bS9saWJyYXJ5L2NvbmZp
Z19sbHZtLmg6IEFkZGVkLgorICAgICAgICAqIHJ1bnRpbWUvSW5pdGlhbGl6ZVRocmVhZGluZy5j
cHA6CisgICAgICAgIChKU0M6OmluaXRpYWxpemVUaHJlYWRpbmdPbmNlKToKKyAgICAgICAgKiBy
dW50aW1lL09wdGlvbnMuaDoKKwogMjAxMy0xMC0xMCAgTWFyayBIYWhuZW5iZXJnICA8bWhhaG5l
bmJlcmdAYXBwbGUuY29tPgogCiAgICAgICAgIE9iamVjdGl2ZS1DIEFQSTogYmxvY2tzIGFyZW4n
dCBjYWxsYWJsZSB2aWEgJ25ldycKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qc2MuY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qc2MuY3BwCShyZXZpc2lvbiAx
NTcyMzcpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvanNjLmNwcAkod29ya2luZyBjb3B5KQpA
QCAtODQ2LDEwICs4NDYsMTAgQEAgaW50IGpzY21haW4oaW50IGFyZ2MsIGNoYXIqKiBhcmd2KQog
ICAgIC8vIE5vdGUgdGhhdCB0aGUgb3B0aW9ucyBwYXJzaW5nIGNhbiBhZmZlY3QgVk0gY3JlYXRp
b24sIGFuZCB0aHVzCiAgICAgLy8gY29tZXMgZmlyc3QuCiAgICAgQ29tbWFuZExpbmUgb3B0aW9u
cyhhcmdjLCBhcmd2KTsKLSAgICBSZWZQdHI8Vk0+IHZtID0gVk06OmNyZWF0ZShMYXJnZUhlYXAp
OworICAgIFZNKiB2bSA9IFZNOjpjcmVhdGUoTGFyZ2VIZWFwKS5sZWFrUmVmKCk7CiAgICAgaW50
IHJlc3VsdDsKICAgICB7Ci0gICAgICAgIEFQSUVudHJ5U2hpbSBzaGltKHZtLmdldCgpKTsKKyAg
ICAgICAgQVBJRW50cnlTaGltIHNoaW0odm0pOwogCiAgICAgICAgIGlmIChvcHRpb25zLm1fcHJv
ZmlsZSAmJiAhdm0tPm1fcGVyQnl0ZWNvZGVQcm9maWxlcikKICAgICAgICAgICAgIHZtLT5tX3Bl
ckJ5dGVjb2RlUHJvZmlsZXIgPSBhZG9wdFB0cihuZXcgUHJvZmlsZXI6OkRhdGFiYXNlKCp2bSkp
OwpAQCAtODcwLDE0ICs4NzAsNiBAQCBpbnQganNjbWFpbihpbnQgYXJnYywgY2hhcioqIGFyZ3Yp
CiAgICAgICAgIH0KICAgICB9CiAgICAgCi0gICAgaWYgKE9wdGlvbnM6Om5ldmVyRGVsZXRlVk1J
bkNvbW1hbmRMaW5lKCkpIHsKLSAgICAgICAgSlNDOjpWTSogdGVtcCA9IHZtLnJlbGVhc2UoKS5s
ZWFrUmVmKCk7Ci0gICAgICAgIFVOVVNFRF9QQVJBTSh0ZW1wKTsKLSAgICB9IGVsc2UgewotICAg
ICAgICBKU0xvY2tIb2xkZXIgbG9jaygqdm0pOwotICAgICAgICB2bS5jbGVhcigpOwotICAgIH0K
LSAgICAKICAgICByZXR1cm4gcmVzdWx0OwogfQogCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ29uZmlndXJhdGlvbnMvSmF2YVNjcmlwdENvcmUueGNjb25maWcKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL0phdmFTY3JpcHRDb3JlL0NvbmZpZ3VyYXRpb25zL0phdmFTY3JpcHRDb3JlLnhjY29u
ZmlnCShyZXZpc2lvbiAxNTcyMzcpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvQ29uZmlndXJh
dGlvbnMvSmF2YVNjcmlwdENvcmUueGNjb25maWcJKHdvcmtpbmcgY29weSkKQEAgLTM1LDE1ICsz
NSwxMSBAQCBKU1ZBTFVFX01PREVMX3g4Nl82NCA9IDY0OwogLy8gUHJldmVudCBDKysgc3RhbmRh
cmQgbGlicmFyeSBvcGVyYXRvciBuZXcsIGRlbGV0ZSBhbmQgdGhlaXIgcmVsYXRlZCBleGNlcHRp
b24gdHlwZXMgZnJvbSBiZWluZyBleHBvcnRlZCBhcyB3ZWFrIHN5bWJvbHMuCiBPVEhFUl9MREZM
QUdTX0hJREVfU1lNQk9MUyA9IC1XbCwtdW5leHBvcnRlZF9zeW1ib2wgLVdsLF9fWlRJU3Q5YmFk
X2FsbG9jIC1XbCwtdW5leHBvcnRlZF9zeW1ib2wgLVdsLF9fWlRJU3Q5ZXhjZXB0aW9uIC1XbCwt
dW5leHBvcnRlZF9zeW1ib2wgLVdsLF9fWlRTU3Q5YmFkX2FsbG9jIC1XbCwtdW5leHBvcnRlZF9z
eW1ib2wgLVdsLF9fWlRTU3Q5ZXhjZXB0aW9uIC1XbCwtdW5leHBvcnRlZF9zeW1ib2wgLVdsLF9f
WmRsUHZTXyAtV2wsLXVuZXhwb3J0ZWRfc3ltYm9sIC1XbCxfX1pud21QdiAtV2wsLWFsbF9sb2Fk
OwogCi1PVEhFUl9MREZMQUdTX0xMVk0gPSAkKE9USEVSX0xERkxBR1NfTExWTV8kKEVOQUJMRV9G
VExfSklUKSk7Ci1PVEhFUl9MREZMQUdTX0xMVk1fID0gOwotT1RIRVJfTERGTEFHU19MTFZNX0VO
QUJMRV9GVExfSklUID0gLWxwdGhyZWFkIC1sbSAtbExMVk1UYWJsZUdlbiAtbExMVk1EZWJ1Z0lu
Zm8gLWxMTFZNT3B0aW9uIC1sTExWTVg4NkRpc2Fzc2VtYmxlciAtbExMVk1YODZBc21QYXJzZXIg
LWxMTFZNWDg2Q29kZUdlbiAtbExMVk1TZWxlY3Rpb25EQUcgLWxMTFZNQXNtUHJpbnRlciAtbExM
Vk1YODZEZXNjIC1sTExWTVg4NkluZm8gLWxMTFZNWDg2QXNtUHJpbnRlciAtbExMVk1YODZVdGls
cyAtbExMVk1JUlJlYWRlciAtbExMVk1Bc21QYXJzZXIgLWxMTFZNTUNEaXNhc3NlbWJsZXIgLWxM
TFZNTUNQYXJzZXIgLWxMTFZNSW5zdHJ1bWVudGF0aW9uIC1sTExWTUJpdFJlYWRlciAtbExMVk1J
bnRlcnByZXRlciAtbExMVk1pcG8gLWxMTFZNVmVjdG9yaXplIC1sTExWTUxpbmtlciAtbExMVk1C
aXRXcml0ZXIgLWxMTFZNTUNKSVQgLWxMTFZNSklUIC1sTExWTUNvZGVHZW4gLWxMTFZNT2JqQ0FS
Q09wdHMgLWxMTFZNU2NhbGFyT3B0cyAtbExMVk1JbnN0Q29tYmluZSAtbExMVk1UcmFuc2Zvcm1V
dGlscyAtbExMVk1pcGEgLWxMTFZNQW5hbHlzaXMgLWxMTFZNUnVudGltZUR5bGQgLWxMTFZNRXhl
Y3V0aW9uRW5naW5lIC1sTExWTVRhcmdldCAtbExMVk1NQyAtbExMVk1PYmplY3QgLWxMTFZNQ29y
ZSAtbExMVk1TdXBwb3J0OwotCiBPVEhFUl9MREZMQUdTX0JBU0UgPSAtbG9iamMgLVdsLC1ZLDMg
JChPVEhFUl9MREZMQUdTX0hJREVfU1lNQk9MUyk7CiBPVEhFUl9MREZMQUdTID0gJChpbmhlcml0
ZWQpICQoT1RIRVJfTERGTEFHU18kKFBMQVRGT1JNX05BTUUpKTsKIE9USEVSX0xERkxBR1NfaXBo
b25lb3MgPSAkKE9USEVSX0xERkxBR1NfQkFTRSk7CiBPVEhFUl9MREZMQUdTX2lwaG9uZXNpbXVs
YXRvciA9ICQoT1RIRVJfTERGTEFHU19pcGhvbmVvcyk7Ci1PVEhFUl9MREZMQUdTX21hY29zeCA9
ICQoT1RIRVJfTERGTEFHU19CQVNFKSAkKE9USEVSX0xERkxBR1NfTExWTSkgLXN1Yl9saWJyYXJ5
IGxpYm9iamMgLWZyYW1ld29yayBDb3JlU2VydmljZXM7CitPVEhFUl9MREZMQUdTX21hY29zeCA9
ICQoT1RIRVJfTERGTEFHU19CQVNFKSAtc3ViX2xpYnJhcnkgbGlib2JqYyAtZnJhbWV3b3JrIENv
cmVTZXJ2aWNlczsKIEdDQ19QUkVGSVhfSEVBREVSID0gSmF2YVNjcmlwdENvcmVQcmVmaXguaDsK
IEdDQ19TWU1CT0xTX1BSSVZBVEVfRVhURVJOID0gWUVTOwogSEVBREVSX1NFQVJDSF9QQVRIUyA9
ICIke0JVSUxUX1BST0RVQ1RTX0RJUn0vRGVyaXZlZFNvdXJjZXMvSmF2YVNjcmlwdENvcmUiICQo
SEVBREVSX1NFQVJDSF9QQVRIUyk7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvQ29uZmln
dXJhdGlvbnMvTExWTUZvckpTQy54Y2NvbmZpZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvQ29uZmlndXJhdGlvbnMvTExWTUZvckpTQy54Y2NvbmZpZwkocmV2aXNpb24gMCkK
KysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9Db25maWd1cmF0aW9ucy9MTFZNRm9ySlNDLnhjY29u
ZmlnCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDQ0IEBACisvLyBDb3B5cmlnaHQgKEMpIDIwMTMg
QXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8KKy8vIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorLy8gbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zCisvLyBhcmUgbWV0OgorLy8gMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKy8vICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKy8vIDIuIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJp
Z2h0CisvLyAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIgaW4gdGhlCisvLyAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorLy8KKy8vIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorLy8gRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBUSEUKKy8vIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MgRk9SIEEgUEFSVElDVUxBUgorLy8gUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVW
RU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKy8vIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorLy8gRVhFTVBMQVJZLCBP
UiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAor
Ly8gUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsIERBVEEsIE9SCisvLyBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisvLyBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4g
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKy8vIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorLy8g
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4gCisKKyNpbmNsdWRlICJGZWF0dXJlRGVmaW5lcy54Y2NvbmZpZyIKKyNpbmNs
dWRlICJWZXJzaW9uLnhjY29uZmlnIgorCisvLyBQcmV2ZW50IEMrKyBzdGFuZGFyZCBsaWJyYXJ5
IG9wZXJhdG9yIG5ldywgZGVsZXRlIGFuZCB0aGVpciByZWxhdGVkIGV4Y2VwdGlvbiB0eXBlcyBm
cm9tIGJlaW5nIGV4cG9ydGVkIGFzIHdlYWsgc3ltYm9scy4KK09USEVSX0xERkxBR1NfSElERV9T
WU1CT0xTID0gLVdsLC11bmV4cG9ydGVkX3N5bWJvbCAtV2wsX19aVElTdDliYWRfYWxsb2MgLVds
LC11bmV4cG9ydGVkX3N5bWJvbCAtV2wsX19aVElTdDlleGNlcHRpb24gLVdsLC11bmV4cG9ydGVk
X3N5bWJvbCAtV2wsX19aVFNTdDliYWRfYWxsb2MgLVdsLC11bmV4cG9ydGVkX3N5bWJvbCAtV2ws
X19aVFNTdDlleGNlcHRpb24gLVdsLC11bmV4cG9ydGVkX3N5bWJvbCAtV2wsX19aZGxQdlNfIC1X
bCwtdW5leHBvcnRlZF9zeW1ib2wgLVdsLF9fWm53bVB2IC1XbCwtYWxsX2xvYWQ7CisKK09USEVS
X0xERkxBR1NfTExWTSA9ICQoT1RIRVJfTERGTEFHU19MTFZNXyQoRU5BQkxFX0ZUTF9KSVQpKTsK
K09USEVSX0xERkxBR1NfTExWTV8gPSA7CitPVEhFUl9MREZMQUdTX0xMVk1fRU5BQkxFX0ZUTF9K
SVQgPSAtbHB0aHJlYWQgLWxtIC1sTExWTVRhYmxlR2VuIC1sTExWTURlYnVnSW5mbyAtbExMVk1P
cHRpb24gLWxMTFZNWDg2RGlzYXNzZW1ibGVyIC1sTExWTVg4NkFzbVBhcnNlciAtbExMVk1YODZD
b2RlR2VuIC1sTExWTVNlbGVjdGlvbkRBRyAtbExMVk1Bc21QcmludGVyIC1sTExWTVg4NkRlc2Mg
LWxMTFZNWDg2SW5mbyAtbExMVk1YODZBc21QcmludGVyIC1sTExWTVg4NlV0aWxzIC1sTExWTUlS
UmVhZGVyIC1sTExWTUFzbVBhcnNlciAtbExMVk1NQ0Rpc2Fzc2VtYmxlciAtbExMVk1NQ1BhcnNl
ciAtbExMVk1JbnN0cnVtZW50YXRpb24gLWxMTFZNQml0UmVhZGVyIC1sTExWTUludGVycHJldGVy
IC1sTExWTWlwbyAtbExMVk1WZWN0b3JpemUgLWxMTFZNTGlua2VyIC1sTExWTUJpdFdyaXRlciAt
bExMVk1NQ0pJVCAtbExMVk1KSVQgLWxMTFZNQ29kZUdlbiAtbExMVk1PYmpDQVJDT3B0cyAtbExM
Vk1TY2FsYXJPcHRzIC1sTExWTUluc3RDb21iaW5lIC1sTExWTVRyYW5zZm9ybVV0aWxzIC1sTExW
TWlwYSAtbExMVk1BbmFseXNpcyAtbExMVk1SdW50aW1lRHlsZCAtbExMVk1FeGVjdXRpb25Fbmdp
bmUgLWxMTFZNVGFyZ2V0IC1sTExWTU1DIC1sTExWTU9iamVjdCAtbExMVk1Db3JlIC1sTExWTVN1
cHBvcnQ7CisKK09USEVSX0xERkxBR1NfQkFTRSA9IC1sb2JqYyAtV2wsLVksMyAkKE9USEVSX0xE
RkxBR1NfSElERV9TWU1CT0xTKTsKK09USEVSX0xERkxBR1MgPSAkKGluaGVyaXRlZCkgJChPVEhF
Ul9MREZMQUdTXyQoUExBVEZPUk1fTkFNRSkpOworT1RIRVJfTERGTEFHU19pcGhvbmVvcyA9ICQo
T1RIRVJfTERGTEFHU19CQVNFKTsKK09USEVSX0xERkxBR1NfaXBob25lc2ltdWxhdG9yID0gJChP
VEhFUl9MREZMQUdTX2lwaG9uZW9zKTsKK09USEVSX0xERkxBR1NfbWFjb3N4ID0gJChPVEhFUl9M
REZMQUdTX0JBU0UpICQoT1RIRVJfTERGTEFHU19MTFZNKQorR0NDX1NZTUJPTFNfUFJJVkFURV9F
WFRFUk4gPSBZRVM7CitIRUFERVJfU0VBUkNIX1BBVEhTID0gIiQoQlVJTFRfUFJPRFVDVFNfRElS
KS9EZXJpdmVkU291cmNlcy9KYXZhU2NyaXB0Q29yZSIgJChIRUFERVJfU0VBUkNIX1BBVEhTKTsK
KworUFJPRFVDVF9OQU1FID0gbGx2bUZvckpTQzsKK0VYRUNVVEFCTEVfUFJFRklYID0gbGliOwor
CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvago9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNj
cmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkocmV2aXNpb24gMTU3MjM3KQorKysg
U291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2oJKHdvcmtpbmcgY29weSkKQEAgLTI1Nyw3ICsyNTcsNiBAQAogCQkwRjYzOTQ4NTE1RTQ4
MTFCMDA2QTU5N0MgLyogREZHQXJyYXlNb2RlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSAwRjYzOTQ4MjE1RTQ4MTE0MDA2QTU5N0MgLyogREZHQXJyYXlN
b2RlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJ
MEY2NkUxNkIxNERGM0YxNjAwQjdCMkU0IC8qIERGR0FkamFjZW5jeUxpc3QuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGNjZFMTY4MTRERjNGMTMwMEI3
QjJFNCAvKiBERkdBZGphY2VuY3lMaXN0LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAo
UHJpdmF0ZSwgKTsgfTsgfTsKIAkJMEY2NkUxNkMxNERGM0YxNjAwQjdCMkU0IC8qIERGR0VkZ2Uu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGNjZFMTY5
MTRERjNGMTMwMEI3QjJFNCAvKiBERkdFZGdlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMg
PSAoUHJpdmF0ZSwgKTsgfTsgfTsKLQkJMEY2RTVDMTkxNzI0QUYzRDAwNUM1NzRGIC8qIFdlYktp
dExMVk1MaWJyYXJ5QW5jaG9yLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDBGNkU1QzE4MTcyNEFGM0QwMDVDNTc0RiAvKiBXZWJLaXRMTFZNTGlicmFy
eUFuY2hvci5jcHAgKi87IH07CiAJCTBGNzAyNUE5MTcxNEIwRkEwMDM4MkMwRSAvKiBERkdPU1JF
eGl0Q29tcGlsZXJDb21tb24uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gMEY3MDI1QTcxNzE0QjBGODAwMzgyQzBFIC8qIERGR09TUkV4aXRDb21waWxl
ckNvbW1vbi5jcHAgKi87IH07CiAJCTBGNzAyNUFBMTcxNEIwRkMwMDM4MkMwRSAvKiBERkdPU1JF
eGl0Q29tcGlsZXJDb21tb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDBGNzAyNUE4MTcxNEIwRjgwMDM4MkMwRSAvKiBERkdPU1JFeGl0Q29tcGlsZXJD
b21tb24uaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9Owog
CQkwRjcxNENBNDE2RUE5MkYwMDBGM0VCRUIgLyogREZHQmFja3dhcmRzUHJvcGFnYXRpb25QaGFz
ZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjcx
NENBMTE2RUE5MkVEMDBGM0VCRUIgLyogREZHQmFja3dhcmRzUHJvcGFnYXRpb25QaGFzZS5jcHAg
Ki87IH07CkBAIC0zNzQsNiArMzczLDIyIEBACiAJCTBGQzgxNTE1MTQwNTExOUIwMENGQTYwMyAv
KiBWVGFibGVTcGVjdHJ1bS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gMEZDODE1MTQxNDA1MTE4RDAwQ0ZBNjAzIC8qIFZUYWJsZVNwZWN0cnVtLmggKi87
IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJMEZDODE1MTYx
NDA1MTFCNTAwQ0ZBNjAzIC8qIFZUYWJsZVNwZWN0cnVtLmNwcCBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGQzgxNTEyMTQwNTExODYwMENGQTYwMyAvKiBW
VGFibGVTcGVjdHJ1bS5jcHAgKi87IH07CiAJCTBGQ0NBRTQ1MTZEMENGNzQwMEQwQzY1QiAvKiBQ
YXJzZXJFcnJvci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gMEZDQ0FFNDMxNkQwQ0Y2RTAwRDBDNjVCIC8qIFBhcnNlckVycm9yLmggKi87IHNldHRpbmdz
ID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMEZDRUZBQjAxODA1Q0E2RDAw
NDcyQ0U0IC8qIEluaXRpYWxpemVMTFZNLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSAwRkNFRkFBRTE4MDVDQTZEMDA0NzJDRTQgLyogSW5pdGlhbGl6ZUxM
Vk0uaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQkw
RkNFRkFCMTE4MDVDQTZEMDA0NzJDRTQgLyogSW5pdGlhbGl6ZUxMVk1NYWMubW0gaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRkNFRkFBRjE4MDVDQTZEMDA0
NzJDRTQgLyogSW5pdGlhbGl6ZUxMVk1NYWMubW0gKi87IH07CisJCTBGQ0VGQUMxMTgwNUQ5NEUw
MDQ3MkNFNCAvKiBMTFZNT3ZlcnJpZGVzLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDBGQ0VGQUMwMTgwNUQ5NDEwMDQ3MkNFNCAvKiBMTFZNT3ZlcnJp
ZGVzLmNwcCAqLzsgfTsKKwkJMEZDRUZBQzMxODA1RTc0MDAwNDcyQ0U0IC8qIExMVk1FeHBvcnRz
LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGQ0VG
QUMyMTgwNUU3NDAwMDQ3MkNFNCAvKiBMTFZNRXhwb3J0cy5jcHAgKi87IH07CisJCTBGQ0VGQUNB
MTgwNUU3NTUwMDQ3MkNFNCAvKiBJbml0aWFsaXplTExWTS5jcHAgaW4gU291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRkNFRkFDNDE4MDVFNzU1MDA0NzJDRTQgLyog
SW5pdGlhbGl6ZUxMVk0uY3BwICovOyB9OworCQkwRkNFRkFDQjE4MDVFNzU1MDA0NzJDRTQgLyog
SW5pdGlhbGl6ZUxMVk1QT1NJWC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSAwRkNFRkFDNTE4MDVFNzU1MDA0NzJDRTQgLyogSW5pdGlhbGl6ZUxMVk1Q
T1NJWC5jcHAgKi87IH07CisJCTBGQ0VGQUNDMTgwNUU3NTUwMDQ3MkNFNCAvKiBJbml0aWFsaXpl
TExWTVBPU0lYLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSAwRkNFRkFDNjE4MDVFNzU1MDA0NzJDRTQgLyogSW5pdGlhbGl6ZUxMVk1QT1NJWC5oICovOyBz
ZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTBGQ0VGQUNEMTgw
NUU3NTUwMDQ3MkNFNCAvKiBMTFZNQVBJLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDBGQ0VGQUM3MTgwNUU3NTUwMDQ3MkNFNCAvKiBMTFZNQVBJLmNw
cCAqLzsgfTsKKwkJMEZDRUZBQ0UxODA1RTc1NTAwNDcyQ0U0IC8qIExMVk1BUEkuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGQ0VGQUM4MTgwNUU3NTUw
MDQ3MkNFNCAvKiBMTFZNQVBJLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0
ZSwgKTsgfTsgfTsKKwkJMEZDRUZBQ0YxODA1RTc1NTAwNDcyQ0U0IC8qIExMVk1BUElGdW5jdGlv
bnMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGQ0VG
QUM5MTgwNUU3NTUwMDQ3MkNFNCAvKiBMTFZNQVBJRnVuY3Rpb25zLmggKi87IHNldHRpbmdzID0g
e0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMEZDRUZBRDExODA1RTc3OTAwNDcy
Q0U0IC8qIExMVk1BUElGdW5jdGlvbnMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDBGQ0VGQUM5MTgwNUU3NTUwMDQ3MkNFNCAvKiBMTFZNQVBJRnVuY3Rp
b25zLmggKi87IH07CisJCTBGQ0VGQUQzMTgwNUVEQ0MwMDQ3MkNFNCAvKiBMTFZNSGVhZGVycy5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZDRUZBRDIx
ODA1RURDQzAwNDcyQ0U0IC8qIExMVk1IZWFkZXJzLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVU
RVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMEZDRUZBRDQxODA1RURDQzAwNDcyQ0U0IC8qIExM
Vk1IZWFkZXJzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSAwRkNFRkFEMjE4MDVFRENDMDA0NzJDRTQgLyogTExWTUhlYWRlcnMuaCAqLzsgfTsKKwkJMEZD
RUZBRDcxODA2MTc0NjAwNDcyQ0U0IC8qIExMVk1BbmNob3IuY3BwIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZDRUZBRDYxODA2MTc0NjAwNDcyQ0U0IC8q
IExMVk1BbmNob3IuY3BwICovOyB9OworCQkwRkNFRkFEQTE4MDYyMERBMDA0NzJDRTQgLyogTExW
TUFQSS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZD
RUZBQzgxODA1RTc1NTAwNDcyQ0U0IC8qIExMVk1BUEkuaCAqLzsgfTsKKwkJMEZDRUZBREMxODA2
NEExNDAwNDcyQ0U0IC8qIGNvbmZpZ19sbHZtLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSAwRkNFRkFEQjE4MDY0QTE0MDA0NzJDRTQgLyogY29uZmlnX2xs
dm0uaCAqLzsgfTsKIAkJMEZDRUZBQUIxODA0QzEzRTAwNDcyQ0U0IC8qIEZUTFNhdmVSZXN0b3Jl
LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGQ0VG
QUE5MTgwNEMxM0UwMDQ3MkNFNCAvKiBGVExTYXZlUmVzdG9yZS5jcHAgKi87IH07CiAJCTBGQ0VG
QUFDMTgwNEMxM0UwMDQ3MkNFNCAvKiBGVExTYXZlUmVzdG9yZS5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZDRUZBQUExODA0QzEzRTAwNDcyQ0U0IC8q
IEZUTFNhdmVSZXN0b3JlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwg
KTsgfTsgfTsKIAkJMEZEMkM5MjQxNkQwMUVFOTAwQzc4MDNGIC8qIFN0cnVjdHVyZUlubGluZXMu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGRDJDOTIz
MTZEMDFFRTkwMEM3ODAzRiAvKiBTdHJ1Y3R1cmVJbmxpbmVzLmggKi87IHNldHRpbmdzID0ge0FU
VFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKQEAgLTExODUsNiArMTIwMCwxMyBAQAogLyog
RW5kIFBCWEJ1aWxkRmlsZSBzZWN0aW9uICovCiAKIC8qIEJlZ2luIFBCWENvbnRhaW5lckl0ZW1Q
cm94eSBzZWN0aW9uICovCisJCTBGQ0VGQUJDMTgwNUQ2NjMwMDQ3MkNFNCAvKiBQQlhDb250YWlu
ZXJJdGVtUHJveHkgKi8gPSB7CisJCQlpc2EgPSBQQlhDb250YWluZXJJdGVtUHJveHk7CisJCQlj
b250YWluZXJQb3J0YWwgPSAwODY3RDY5MEZFODQwMjhGQzAyQUFDMDcgLyogUHJvamVjdCBvYmpl
Y3QgKi87CisJCQlwcm94eVR5cGUgPSAxOworCQkJcmVtb3RlR2xvYmFsSURTdHJpbmcgPSAwRkNF
RkFCNTE4MDVENjE2MDA0NzJDRTQ7CisJCQlyZW1vdGVJbmZvID0gbGx2bUZvckpTQzsKKwkJfTsK
IAkJMEZGOTIyRDIxNEY0NkIyRjAwNDFBMjRFIC8qIFBCWENvbnRhaW5lckl0ZW1Qcm94eSAqLyA9
IHsKIAkJCWlzYSA9IFBCWENvbnRhaW5lckl0ZW1Qcm94eTsKIAkJCWNvbnRhaW5lclBvcnRhbCA9
IDA4NjdENjkwRkU4NDAyOEZDMDJBQUMwNyAvKiBQcm9qZWN0IG9iamVjdCAqLzsKQEAgLTE0NzUs
NyArMTQ5Nyw2IEBACiAJCTBGNjM5NDgyMTVFNDgxMTQwMDZBNTk3QyAvKiBERkdBcnJheU1vZGUu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gREZHQXJyYXlNb2RlLmg7IHBhdGgg
PSBkZmcvREZHQXJyYXlNb2RlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTBGNjZF
MTY4MTRERjNGMTMwMEI3QjJFNCAvKiBERkdBZGphY2VuY3lMaXN0LmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgbmFtZSA9IERGR0FkamFjZW5jeUxpc3QuaDsgcGF0aCA9IGRmZy9ERkdBZGph
Y2VuY3lMaXN0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTBGNjZFMTY5MTRERjNG
MTMwMEI3QjJFNCAvKiBERkdFZGdlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9
IERGR0VkZ2UuaDsgcGF0aCA9IGRmZy9ERkdFZGdlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07Ci0JCTBGNkU1QzE4MTcyNEFGM0QwMDVDNTc0RiAvKiBXZWJLaXRMTFZNTGlicmFyeUFuY2hv
ci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBXZWJLaXRMTFZNTGli
cmFyeUFuY2hvci5jcHA7IHBhdGggPSBmdGwvV2ViS2l0TExWTUxpYnJhcnlBbmNob3IuY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkwRjcwMjVBNzE3MTRCMEY4MDAzODJDMEUgLyog
REZHT1NSRXhpdENvbXBpbGVyQ29tbW9uLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgbmFtZSA9IERGR09TUkV4aXRDb21waWxlckNvbW1vbi5jcHA7IHBhdGggPSBkZmcvREZHT1NS
RXhpdENvbXBpbGVyQ29tbW9uLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMEY3
MDI1QTgxNzE0QjBGODAwMzgyQzBFIC8qIERGR09TUkV4aXRDb21waWxlckNvbW1vbi5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBERkdPU1JFeGl0Q29tcGlsZXJDb21tb24uaDsg
cGF0aCA9IGRmZy9ERkdPU1JFeGl0Q29tcGlsZXJDb21tb24uaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJMEY3MTRDQTExNkVBOTJFRDAwRjNFQkVCIC8qIERGR0JhY2t3YXJkc1Byb3Bh
Z2F0aW9uUGhhc2UuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gREZH
QmFja3dhcmRzUHJvcGFnYXRpb25QaGFzZS5jcHA7IHBhdGggPSBkZmcvREZHQmFja3dhcmRzUHJv
cGFnYXRpb25QaGFzZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xNjA0LDYg
KzE2MjUsMjEgQEAKIAkJMEZDODE1MTQxNDA1MTE4RDAwQ0ZBNjAzIC8qIFZUYWJsZVNwZWN0cnVt
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFZUYWJsZVNwZWN0cnVtLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTBGQ0I0MDg1MTVDMEEzQzMwMDQ4OTMyQiAvKiBT
bG90VmlzaXRvcklubGluZXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU2xv
dFZpc2l0b3JJbmxpbmVzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTBGQ0NBRTQz
MTZEMENGNkUwMEQwQzY1QiAvKiBQYXJzZXJFcnJvci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBQYXJzZXJFcnJvci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkw
RkNFRkFBRTE4MDVDQTZEMDA0NzJDRTQgLyogSW5pdGlhbGl6ZUxMVk0uaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBuYW1lID0gSW5pdGlhbGl6ZUxMVk0uaDsgcGF0aCA9IGxsdm0vSW5pdGlh
bGl6ZUxMVk0uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEZDRUZBQUYxODA1Q0E2
RDAwNDcyQ0U0IC8qIEluaXRpYWxpemVMTFZNTWFjLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAub2JqY3BwOyBuYW1lID0gSW5pdGlhbGl6ZUxMVk1NYWMubW07IHBhdGggPSBsbHZtL0luaXRp
YWxpemVMTFZNTWFjLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRkNFRkFCNjE4
MDVENjE2MDA0NzJDRTQgLyogbGlibGx2bUZvckpTQy5keWxpYiAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBleHBsaWNpdEZpbGVUeXBlID0gImNvbXBpbGVkLm1hY2gtby5keWxpYiI7IGlu
Y2x1ZGVJbkluZGV4ID0gMDsgcGF0aCA9IGxpYmxsdm1Gb3JKU0MuZHlsaWI7IHNvdXJjZVRyZWUg
PSBCVUlMVF9QUk9EVUNUU19ESVI7IH07CisJCTBGQ0VGQUJFMTgwNUQ4NjkwMDQ3MkNFNCAvKiBM
TFZNRm9ySlNDLnhjY29uZmlnICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93
bkZpbGVUeXBlID0gdGV4dC54Y2NvbmZpZzsgcGF0aCA9IExMVk1Gb3JKU0MueGNjb25maWc7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGQ0VGQUMwMTgwNUQ5NDEwMDQ3MkNFNCAvKiBM
TFZNT3ZlcnJpZGVzLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IExMVk1PdmVycmlkZXMuY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRkNFRkFDMjE4MDVFNzQwMDA0NzJDRTQgLyog
TExWTUV4cG9ydHMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gTExW
TUV4cG9ydHMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRkNFRkFDNDE4MDVF
NzU1MDA0NzJDRTQgLyogSW5pdGlhbGl6ZUxMVk0uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAuY3BwOyBuYW1lID0gSW5pdGlhbGl6ZUxMVk0uY3BwOyBwYXRoID0gbGx2bS9Jbml0aWFsaXpl
TExWTS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGQ0VGQUM1MTgwNUU3NTUw
MDQ3MkNFNCAvKiBJbml0aWFsaXplTExWTVBPU0lYLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgbmFtZSA9IEluaXRpYWxpemVMTFZNUE9TSVguY3BwOyBwYXRoID0gbGx2bS9Jbml0
aWFsaXplTExWTVBPU0lYLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEZDRUZB
QzYxODA1RTc1NTAwNDcyQ0U0IC8qIEluaXRpYWxpemVMTFZNUE9TSVguaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBuYW1lID0gSW5pdGlhbGl6ZUxMVk1QT1NJWC5oOyBwYXRoID0gbGx2bS9J
bml0aWFsaXplTExWTVBPU0lYLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGQ0VG
QUM3MTgwNUU3NTUwMDQ3MkNFNCAvKiBMTFZNQVBJLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgbmFtZSA9IExMVk1BUEkuY3BwOyBwYXRoID0gbGx2bS9MTFZNQVBJLmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEZDRUZBQzgxODA1RTc1NTAwNDcyQ0U0IC8qIExM
Vk1BUEkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gTExWTUFQSS5oOyBwYXRo
ID0gbGx2bS9MTFZNQVBJLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGQ0VGQUM5
MTgwNUU3NTUwMDQ3MkNFNCAvKiBMTFZNQVBJRnVuY3Rpb25zLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgbmFtZSA9IExMVk1BUElGdW5jdGlvbnMuaDsgcGF0aCA9IGxsdm0vTExWTUFQSUZ1
bmN0aW9ucy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRkNFRkFEMjE4MDVFREND
MDA0NzJDRTQgLyogTExWTUhlYWRlcnMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1l
ID0gTExWTUhlYWRlcnMuaDsgcGF0aCA9IGxsdm0vTExWTUhlYWRlcnMuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJMEZDRUZBRDYxODA2MTc0NjAwNDcyQ0U0IC8qIExMVk1BbmNob3Iu
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gTExWTUFuY2hvci5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGQ0VGQURCMTgwNjRBMTQwMDQ3MkNFNCAv
KiBjb25maWdfbGx2bS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBjb25maWdf
bGx2bS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkwRkNFRkFBOTE4MDRDMTNFMDA0
NzJDRTQgLyogRlRMU2F2ZVJlc3RvcmUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBuYW1lID0gRlRMU2F2ZVJlc3RvcmUuY3BwOyBwYXRoID0gZnRsL0ZUTFNhdmVSZXN0b3JlLmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMEZDRUZBQUExODA0QzEzRTAwNDcyQ0U0
IC8qIEZUTFNhdmVSZXN0b3JlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IEZU
TFNhdmVSZXN0b3JlLmg7IHBhdGggPSBmdGwvRlRMU2F2ZVJlc3RvcmUuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJMEZEMkM5MjMxNkQwMUVFOTAwQzc4MDNGIC8qIFN0cnVjdHVyZUlu
bGluZXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU3RydWN0dXJlSW5saW5l
cy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMjQzOSw2ICsyNDc1LDEzIEBACiAv
KiBFbmQgUEJYRmlsZVJlZmVyZW5jZSBzZWN0aW9uICovCiAKIC8qIEJlZ2luIFBCWEZyYW1ld29y
a3NCdWlsZFBoYXNlIHNlY3Rpb24gKi8KKwkJMEZDRUZBQjMxODA1RDYxNjAwNDcyQ0U0IC8qIEZy
YW1ld29ya3MgKi8gPSB7CisJCQlpc2EgPSBQQlhGcmFtZXdvcmtzQnVpbGRQaGFzZTsKKwkJCWJ1
aWxkQWN0aW9uTWFzayA9IDIxNDc0ODM2NDc7CisJCQlmaWxlcyA9ICgKKwkJCSk7CisJCQlydW5P
bmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKKwkJfTsKIAkJMEZGOTIyQzYxNEY0
NkIxMzAwNDFBMjRFIC8qIEZyYW1ld29ya3MgKi8gPSB7CiAJCQlpc2EgPSBQQlhGcmFtZXdvcmtz
QnVpbGRQaGFzZTsKIAkJCWJ1aWxkQWN0aW9uTWFzayA9IDIxNDc0ODM2NDc7CkBAIC0yNTA3LDYg
KzI1NTAsNyBAQAogCQkJCTE0MTIxMTIwMEE0ODc5M0MwMDQ4MDI1NSAvKiBtaW5pZG9tICovLAog
CQkJCTE0QkQ1OUJGMEEzRThGOTAwMEJBRjU5QyAvKiB0ZXN0YXBpICovLAogCQkJCTY1MTEyMzA1
MTQwNDZBNEMwMDJCMTAxRCAvKiB0ZXN0UmVnRXhwICovLAorCQkJCTBGQ0VGQUI2MTgwNUQ2MTYw
MDQ3MkNFNCAvKiBsaWJsbHZtRm9ySlNDLmR5bGliICovLAogCQkJKTsKIAkJCW5hbWUgPSBQcm9k
dWN0czsKIAkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CkBAIC0yNTM5LDYgKzI1ODMsNyBAQAog
CQkJCTE0MjlENzdBMEVEMjBENzMwMEI4OTYxOSAvKiBpbnRlcnByZXRlciAqLywKIAkJCQkxNDI5
RDkyQzBFRDIyRDcwMDBCODk2MTkgLyogaml0ICovLAogCQkJCTBGNDY4MDlDMTRCQTdGNEQwMEJG
RTI3MiAvKiBsbGludCAqLywKKwkJCQkwRkNFRkFBRDE4MDVDQTQ0MDA0NzJDRTQgLyogbGx2bSAq
LywKIAkJCQk3RTM5RDgzNzBFQzNBMzg4MDAzQUYxMUEgLyogcGFyc2VyICovLAogCQkJCTAzNDc2
OERGRkYzOEE1MDQxMURCOUM4QiAvKiBQcm9kdWN0cyAqLywKIAkJCQk5NUFCODMxQTBEQTQyQzY5
MDBCQzgzRjMgLyogcHJvZmlsZXIgKi8sCkBAIC0yNTk2LDYgKzI2NDEsMzUgQEAKIAkJCW5hbWUg
PSBsbGludDsKIAkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CiAJCX07CisJCTBGQ0VGQUFEMTgw
NUNBNDQwMDQ3MkNFNCAvKiBsbHZtICovID0geworCQkJaXNhID0gUEJYR3JvdXA7CisJCQljaGls
ZHJlbiA9ICgKKwkJCQkwRkNFRkFCRjE4MDVEOTQxMDA0NzJDRTQgLyogbGlicmFyeSAqLywKKwkJ
CQkwRkNFRkFDNDE4MDVFNzU1MDA0NzJDRTQgLyogSW5pdGlhbGl6ZUxMVk0uY3BwICovLAorCQkJ
CTBGQ0VGQUFFMTgwNUNBNkQwMDQ3MkNFNCAvKiBJbml0aWFsaXplTExWTS5oICovLAorCQkJCTBG
Q0VGQUFGMTgwNUNBNkQwMDQ3MkNFNCAvKiBJbml0aWFsaXplTExWTU1hYy5tbSAqLywKKwkJCQkw
RkNFRkFDNTE4MDVFNzU1MDA0NzJDRTQgLyogSW5pdGlhbGl6ZUxMVk1QT1NJWC5jcHAgKi8sCisJ
CQkJMEZDRUZBQzYxODA1RTc1NTAwNDcyQ0U0IC8qIEluaXRpYWxpemVMTFZNUE9TSVguaCAqLywK
KwkJCQkwRkNFRkFDNzE4MDVFNzU1MDA0NzJDRTQgLyogTExWTUFQSS5jcHAgKi8sCisJCQkJMEZD
RUZBQzgxODA1RTc1NTAwNDcyQ0U0IC8qIExMVk1BUEkuaCAqLywKKwkJCQkwRkNFRkFDOTE4MDVF
NzU1MDA0NzJDRTQgLyogTExWTUFQSUZ1bmN0aW9ucy5oICovLAorCQkJCTBGQ0VGQUQyMTgwNUVE
Q0MwMDQ3MkNFNCAvKiBMTFZNSGVhZGVycy5oICovLAorCQkJKTsKKwkJCW5hbWUgPSBsbHZtOwor
CQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKKwkJfTsKKwkJMEZDRUZBQkYxODA1RDk0MTAwNDcy
Q0U0IC8qIGxpYnJhcnkgKi8gPSB7CisJCQlpc2EgPSBQQlhHcm91cDsKKwkJCWNoaWxkcmVuID0g
KAorCQkJCTBGQ0VGQURCMTgwNjRBMTQwMDQ3MkNFNCAvKiBjb25maWdfbGx2bS5oICovLAorCQkJ
CTBGQ0VGQUQ2MTgwNjE3NDYwMDQ3MkNFNCAvKiBMTFZNQW5jaG9yLmNwcCAqLywKKwkJCQkwRkNF
RkFDMjE4MDVFNzQwMDA0NzJDRTQgLyogTExWTUV4cG9ydHMuY3BwICovLAorCQkJCTBGQ0VGQUMw
MTgwNUQ5NDEwMDQ3MkNFNCAvKiBMTFZNT3ZlcnJpZGVzLmNwcCAqLywKKwkJCSk7CisJCQluYW1l
ID0gbGlicmFyeTsKKwkJCXBhdGggPSBsbHZtL2xpYnJhcnk7CisJCQlzb3VyY2VUcmVlID0gIjxn
cm91cD4iOworCQl9OwogCQkwRkVBMDlGQzE3MDUxMzdGMDBCQjcyMkMgLyogZnRsICovID0gewog
CQkJaXNhID0gUEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9ICgKQEAgLTI2NjMsNyArMjczNyw2IEBA
CiAJCQkJMEZEQjJDQzgxNzNEQTUxRTAwN0IzQzFCIC8qIEZUTFZhbHVlRnJvbUJsb2NrLmggKi8s
CiAJCQkJMEYyMzVCQ0YxNzE3OEUxQzAwNjkwQzdGIC8qIEZUTFZhbHVlU291cmNlLmNwcCAqLywK
IAkJCQkwRjIzNUJEMDE3MTc4RTFDMDA2OTBDN0YgLyogRlRMVmFsdWVTb3VyY2UuaCAqLywKLQkJ
CQkwRjZFNUMxODE3MjRBRjNEMDA1QzU3NEYgLyogV2ViS2l0TExWTUxpYnJhcnlBbmNob3IuY3Bw
ICovLAogCQkJKTsKIAkJCW5hbWUgPSBmdGw7CiAJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOwpA
QCAtMzAyMCw2ICszMDkzLDcgQEAKIAkJMUM5MDUxM0UwQkE5RTg4MzAwODFFOUQwIC8qIENvbmZp
Z3VyYXRpb25zICovID0gewogCQkJaXNhID0gUEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9ICgKKwkJ
CQkwRkNFRkFCRTE4MDVEODY5MDA0NzJDRTQgLyogTExWTUZvckpTQy54Y2NvbmZpZyAqLywKIAkJ
CQkxQzkwNTE0NTBCQTlFOEE3MDA4MUU5RDAgLyogQmFzZS54Y2NvbmZpZyAqLywKIAkJCQkxQzkw
NTE0NDBCQTlFOEE3MDA4MUU5RDAgLyogRGVidWdSZWxlYXNlLnhjY29uZmlnICovLAogCQkJCTQ0
OTA5N0VFMEY4RjgxQjUwMDc2QTMyNyAvKiBGZWF0dXJlRGVmaW5lcy54Y2NvbmZpZyAqLywKQEAg
LTM4OTQsNiArMzk2OCwxNyBAQAogLyogRW5kIFBCWEdyb3VwIHNlY3Rpb24gKi8KIAogLyogQmVn
aW4gUEJYSGVhZGVyc0J1aWxkUGhhc2Ugc2VjdGlvbiAqLworCQkwRkNFRkFCNDE4MDVENjE2MDA0
NzJDRTQgLyogSGVhZGVycyAqLyA9IHsKKwkJCWlzYSA9IFBCWEhlYWRlcnNCdWlsZFBoYXNlOwor
CQkJYnVpbGRBY3Rpb25NYXNrID0gMjE0NzQ4MzY0NzsKKwkJCWZpbGVzID0gKAorCQkJCTBGQ0VG
QUQ0MTgwNUVEQ0MwMDQ3MkNFNCAvKiBMTFZNSGVhZGVycy5oIGluIEhlYWRlcnMgKi8sCisJCQkJ
MEZDRUZBREExODA2MjBEQTAwNDcyQ0U0IC8qIExMVk1BUEkuaCBpbiBIZWFkZXJzICovLAorCQkJ
CTBGQ0VGQUQxMTgwNUU3NzkwMDQ3MkNFNCAvKiBMTFZNQVBJRnVuY3Rpb25zLmggaW4gSGVhZGVy
cyAqLywKKwkJCQkwRkNFRkFEQzE4MDY0QTE0MDA0NzJDRTQgLyogY29uZmlnX2xsdm0uaCBpbiBI
ZWFkZXJzICovLAorCQkJKTsKKwkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3Npbmcg
PSAwOworCQl9OwogCQkxNDQwMDVDNzBBNTMzOEM2MDAwNUYwNjEgLyogSGVhZGVycyAqLyA9IHsK
IAkJCWlzYSA9IFBCWEhlYWRlcnNCdWlsZFBoYXNlOwogCQkJYnVpbGRBY3Rpb25NYXNrID0gMjE0
NzQ4MzY0NzsKQEAgLTM5NTIsNiArNDAzNyw3IEBACiAJCQkJMEYwQjgzQjExNEJDRjcxODAwODg1
QjRGIC8qIENhbGxMaW5rSW5mby5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEY5MzMyOUUxNENBN0RD
NTAwODVGM0M2IC8qIENhbGxMaW5rU3RhdHVzLmggaW4gSGVhZGVycyAqLywKIAkJCQkwRjBCODNC
OTE0QkNGOTVGMDA4ODVCNEYgLyogQ2FsbFJldHVybk9mZnNldFRvQnl0ZWNvZGVPZmZzZXQuaCBp
biBIZWFkZXJzICovLAorCQkJCTBGQ0VGQUQzMTgwNUVEQ0MwMDQ3MkNFNCAvKiBMTFZNSGVhZGVy
cy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkM2QUFBRTUwRTFGNDI2NTAwQUQ4N0Q4IC8qIENsYXNz
SW5mby5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEY3M0Q3QUYxNjVBMTQzMDAwQUNBQjcxIC8qIENs
b3N1cmVDYWxsU3R1YlJvdXRpbmUuaCBpbiBIZWFkZXJzICovLAogCQkJCTk2OUEwNzk3MEVEMUQz
QUUwMEYxRjY4MSAvKiBDb2RlQmxvY2suaCBpbiBIZWFkZXJzICovLApAQCAtMzk4Miw2ICs0MDY4
LDcgQEAKIAkJCQlDMjIzOUQxODE2MjYyQkREMDA1QUM1RkQgLyogQ29weVZpc2l0b3IuaCBpbiBI
ZWFkZXJzICovLAogCQkJCUMyMjM5RDE5MTYyNjJCREQwMDVBQzVGRCAvKiBDb3B5VmlzaXRvcklu
bGluZXMuaCBpbiBIZWFkZXJzICovLAogCQkJCUMyMThEMTQwMTY1NUNGRDUwMDYyQkI4MSAvKiBD
b3B5V29ya0xpc3QuaCBpbiBIZWFkZXJzICovLAorCQkJCTBGQ0VGQUNGMTgwNUU3NTUwMDQ3MkNF
NCAvKiBMTFZNQVBJRnVuY3Rpb25zLmggaW4gSGVhZGVycyAqLywKIAkJCQk1REU2RTVCMzBFMTcy
OEVDMDAxODA0MDcgLyogY3JlYXRlX2hhc2hfdGFibGUgaW4gSGVhZGVycyAqLywKIAkJCQkwRjQy
NkE0QjE0NjBDRDZFMDAxMzFGOEYgLyogRGF0YUZvcm1hdC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
MEYyQjY2REYxN0I2QjVBQjAwQTdBRTNGIC8qIERhdGFWaWV3LmggaW4gSGVhZGVycyAqLywKQEAg
LTQwOTksNiArNDE4Niw3IEBACiAJCQkJODZFQzlERDMxMzI4REY4MjAwMkIyQUQ3IC8qIERGR1Nw
ZWN1bGF0aXZlSklULmggaW4gSGVhZGVycyAqLywKIAkJCQlBN0Q4OUQwMDE3QTBCOENDMDA3NzNB
RDggLyogREZHU1NBQ29udmVyc2lvblBoYXNlLmggaW4gSGVhZGVycyAqLywKIAkJCQkwRjYzOTQ3
ODE1RENFMzRCMDA2QTU5N0MgLyogREZHU3RydWN0dXJlQWJzdHJhY3RWYWx1ZS5oIGluIEhlYWRl
cnMgKi8sCisJCQkJMEZDRUZBQ0MxODA1RTc1NTAwNDcyQ0U0IC8qIEluaXRpYWxpemVMTFZNUE9T
SVguaCBpbiBIZWFkZXJzICovLAogCQkJCTBGQzA5N0EyMTQ2QjI4Q0MwMENGMjQ0MiAvKiBERkdU
aHVua3MuaCBpbiBIZWFkZXJzICovLAogCQkJCTBGNjM5NDNGMTVDNzVGMTkwMDZBNTk3QyAvKiBE
RkdUeXBlQ2hlY2tIb2lzdGluZ1BoYXNlLmggaW4gSGVhZGVycyAqLywKIAkJCQkwRkJFMEY3NzE2
QzFEQjEyMDA4MkM1RTggLyogREZHVW5pZmljYXRpb25QaGFzZS5oIGluIEhlYWRlcnMgKi8sCkBA
IC00MjA1LDYgKzQyOTMsNyBAQAogCQkJCUE3ODg1M0ZBMTc5NzI2MjkwMDE0NDBFNCAvKiBJbnRl
bmRlZFN0cnVjdHVyZUNoYWluLmggaW4gSGVhZGVycyAqLywKIAkJCQlCQzExNjY3QjBFMTk5QzA1
MDA4MDY2REQgLyogSW50ZXJuYWxGdW5jdGlvbi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMTQyOUQ3
N0MwRUQyMEQ3MzAwQjg5NjE5IC8qIEludGVycHJldGVyLmggaW4gSGVhZGVycyAqLywKKwkJCQkw
RkNFRkFCMDE4MDVDQTZEMDA0NzJDRTQgLyogSW5pdGlhbGl6ZUxMVk0uaCBpbiBIZWFkZXJzICov
LAogCQkJCTg2MEJEODAxMTQ4RUE2RjIwMDExMkIyRiAvKiBJbnRyaW5zaWMuaCBpbiBIZWFkZXJz
ICovLAogCQkJCUJDMThDNDEzMEUxNkY1Q0QwMEIzNDQ2MCAvKiBKYXZhU2NyaXB0LmggaW4gSGVh
ZGVycyAqLywKIAkJCQlCQzE4QzQxNDBFMTZGNUNEMDBCMzQ0NjAgLyogSmF2YVNjcmlwdENvcmUu
aCBpbiBIZWFkZXJzICovLApAQCAtNDI1OCw2ICs0MzQ3LDcgQEAKIAkJCQlBNzIwMjhCODE3OTc2
MDFFMDA5ODAyOEMgLyogSlNDVGVzdFJ1bm5lclV0aWxzLmggaW4gSGVhZGVycyAqLywKIAkJCQkw
RjJCNjZFQzE3QjZCNUFCMDBBN0FFM0YgLyogSlNEYXRhVmlldy5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJMEYyQjY2RUUxN0I2QjVBQjAwQTdBRTNGIC8qIEpTRGF0YVZpZXdQcm90b3R5cGUuaCBpbiBI
ZWFkZXJzICovLAorCQkJCTBGQ0VGQUNFMTgwNUU3NTUwMDQ3MkNFNCAvKiBMTFZNQVBJLmggaW4g
SGVhZGVycyAqLywKIAkJCQk5Nzg4MDE0MTE0NzFBRDkyMDA0MUIwMTYgLyogSlNEYXRlTWF0aC5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJQzJBN0Y2ODgxNjA0MzJENDAwRjc2Qjk4IC8qIEpTRGVzdHJ1
Y3RpYmxlT2JqZWN0LmggaW4gSGVhZGVycyAqLywKIAkJCQk4NkUzQzYxNDE2N0JBQkQ3MDA2RDc2
MEEgLyogSlNFeHBvcnQuaCBpbiBIZWFkZXJzICovLApAQCAtNDU3Nyw2ICs0NjY3LDIzIEBACiAv
KiBFbmQgUEJYSGVhZGVyc0J1aWxkUGhhc2Ugc2VjdGlvbiAqLwogCiAvKiBCZWdpbiBQQlhOYXRp
dmVUYXJnZXQgc2VjdGlvbiAqLworCQkwRkNFRkFCNTE4MDVENjE2MDA0NzJDRTQgLyogbGx2bUZv
ckpTQyAqLyA9IHsKKwkJCWlzYSA9IFBCWE5hdGl2ZVRhcmdldDsKKwkJCWJ1aWxkQ29uZmlndXJh
dGlvbkxpc3QgPSAwRkNFRkFCNzE4MDVENjE2MDA0NzJDRTQgLyogQnVpbGQgY29uZmlndXJhdGlv
biBsaXN0IGZvciBQQlhOYXRpdmVUYXJnZXQgImxsdm1Gb3JKU0MiICovOworCQkJYnVpbGRQaGFz
ZXMgPSAoCisJCQkJMEZDRUZBQjIxODA1RDYxNjAwNDcyQ0U0IC8qIFNvdXJjZXMgKi8sCisJCQkJ
MEZDRUZBQjMxODA1RDYxNjAwNDcyQ0U0IC8qIEZyYW1ld29ya3MgKi8sCisJCQkJMEZDRUZBQjQx
ODA1RDYxNjAwNDcyQ0U0IC8qIEhlYWRlcnMgKi8sCisJCQkpOworCQkJYnVpbGRSdWxlcyA9ICgK
KwkJCSk7CisJCQlkZXBlbmRlbmNpZXMgPSAoCisJCQkpOworCQkJbmFtZSA9IGxsdm1Gb3JKU0M7
CisJCQlwcm9kdWN0TmFtZSA9IGxsdm1Gb3JKU0M7CisJCQlwcm9kdWN0UmVmZXJlbmNlID0gMEZD
RUZBQjYxODA1RDYxNjAwNDcyQ0U0IC8qIGxpYmxsdm1Gb3JKU0MuZHlsaWIgKi87CisJCQlwcm9k
dWN0VHlwZSA9ICJjb20uYXBwbGUucHJvZHVjdC10eXBlLmxpYnJhcnkuZHluYW1pYyI7CisJCX07
CiAJCTBGRjkyMkMzMTRGNDZCMTMwMDQxQTI0RSAvKiBKU0NMTEludE9mZnNldHNFeHRyYWN0b3Ig
Ki8gPSB7CiAJCQlpc2EgPSBQQlhOYXRpdmVUYXJnZXQ7CiAJCQlidWlsZENvbmZpZ3VyYXRpb25M
aXN0ID0gMEZGOTIyQ0ExNEY0NkIxMzAwNDFBMjRFIC8qIEJ1aWxkIGNvbmZpZ3VyYXRpb24gbGlz
dCBmb3IgUEJYTmF0aXZlVGFyZ2V0ICJKU0NMTEludE9mZnNldHNFeHRyYWN0b3IiICovOwpAQCAt
NDY1Nyw2ICs0NzY0LDcgQEAKIAkJCQkzNzMyODExQTE3RkNEMjM1MDA0QUQ1MTkgLyogUG9zdHBy
b2Nlc3MgSGVhZGVycyAqLywKIAkJCQk5MzJGNUI5MTA4MjJBMUM3MDA3MzY5NzUgLyogU291cmNl
cyAqLywKIAkJCQk5MzJGNUJEMjA4MjJBMUM3MDA3MzY5NzUgLyogRnJhbWV3b3JrcyAqLywKKwkJ
CQkwRkNFRkFEOTE4MDYxOTE4MDA0NzJDRTQgLyogQ29weSBMTFZNIExpYnJhcnkgSW50byBGcmFt
ZXdvcmsgKi8sCiAJCQkJNUQyOUQ4QkUwRTk4NjBCNDAwQzNEMkQwIC8qIENoZWNrIEZvciBXZWFr
IFZUYWJsZXMgYW5kIEV4dGVybmFscyAqLywKIAkJCQkzNzEzRjAxNDE0MjkwNTI0MDAzNjM4N0Yg
LyogQ2hlY2sgRm9yIEluYXBwcm9wcmlhdGUgT2JqZWN0aXZlLUMgQ2xhc3MgTmFtZXMgKi8sCiAJ
CQkJQTU1REVBQTQxNjcwM0RGNzAwM0RCODQxIC8qIENoZWNrIEZvciBJbmFwcHJvcHJpYXRlIE1h
Y3JvcyBpbiBFeHRlcm5hbCBIZWFkZXJzICovLApAQCAtNDY2NCw2ICs0NzcyLDcgQEAKIAkJCWJ1
aWxkUnVsZXMgPSAoCiAJCQkpOwogCQkJZGVwZW5kZW5jaWVzID0gKAorCQkJCTBGQ0VGQUJEMTgw
NUQ2NjMwMDQ3MkNFNCAvKiBQQlhUYXJnZXREZXBlbmRlbmN5ICovLAogCQkJCTY1RkIzRjdFMDlE
MTFFRjMwMEY0OURFQiAvKiBQQlhUYXJnZXREZXBlbmRlbmN5ICovLAogCQkJKTsKIAkJCW5hbWUg
PSBKYXZhU2NyaXB0Q29yZTsKQEAgLTQ3MjQsNiArNDgzMyw3IEBACiAJCQkJMEY0NjgwQTkxNEJB
N0ZEOTAwQkZFMjcyIC8qIExMSW50IE9mZnNldHMgKi8sCiAJCQkJMEZGOTIyQzMxNEY0NkIxMzAw
NDFBMjRFIC8qIEpTQ0xMSW50T2Zmc2V0c0V4dHJhY3RvciAqLywKIAkJCQk1RDZCMkE0NzE1MkI5
RTE3MDA1MjMxREUgLyogVGVzdCBUb29scyAqLywKKwkJCQkwRkNFRkFCNTE4MDVENjE2MDA0NzJD
RTQgLyogbGx2bUZvckpTQyAqLywKIAkJCSk7CiAJCX07CiAvKiBFbmQgUEJYUHJvamVjdCBzZWN0
aW9uICovCkBAIC00NzQ1LDYgKzQ4NTUsMjEgQEAKIAkJCXNoZWxsUGF0aCA9IC9iaW4vc2g7CiAJ
CQlzaGVsbFNjcmlwdCA9ICJta2RpciAtcCBcIiR7QlVJTFRfUFJPRFVDVFNfRElSfS9MTEludE9m
ZnNldHMvXCJcblxuL3Vzci9iaW4vZW52IHJ1YnkgXCIke1NSQ1JPT1R9L29mZmxpbmVhc20vZ2Vu
ZXJhdGVfb2Zmc2V0X2V4dHJhY3Rvci5yYlwiIFwiJHtTUkNST09UfS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyLmFzbVwiIFwiJHtCVUlMVF9QUk9EVUNUU19ESVJ9L0xMSW50T2Zmc2V0cy9MTElu
dERlc2lyZWRPZmZzZXRzLmhcIlxuIjsKIAkJfTsKKwkJMEZDRUZBRDkxODA2MTkxODAwNDcyQ0U0
IC8qIENvcHkgTExWTSBMaWJyYXJ5IEludG8gRnJhbWV3b3JrICovID0geworCQkJaXNhID0gUEJY
U2hlbGxTY3JpcHRCdWlsZFBoYXNlOworCQkJYnVpbGRBY3Rpb25NYXNrID0gMjE0NzQ4MzY0NzsK
KwkJCWZpbGVzID0gKAorCQkJKTsKKwkJCWlucHV0UGF0aHMgPSAoCisJCQkJIiQoQlVJTFRfUFJP
RFVDVFNfRElSKS9saWJsbHZtRm9ySlNDLmR5bGliIiwKKwkJCSk7CisJCQluYW1lID0gIkNvcHkg
TExWTSBMaWJyYXJ5IEludG8gRnJhbWV3b3JrIjsKKwkJCW91dHB1dFBhdGhzID0gKAorCQkJKTsK
KwkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOworCQkJc2hlbGxQYXRo
ID0gL2Jpbi9zaDsKKwkJCXNoZWxsU2NyaXB0ID0gImlmIFtbICRFTkFCTEVfRlRMX0pJVCAhPSBc
IkVOQUJMRV9GVExfSklUXCIgXV1cbnRoZW5cbiAgICBleGl0IDBcbmZpXG5cbiMgQ29weSB0aGUg
bGx2bUZvckpTQyBsaWJyYXJ5IGludG8gdGhlIGZyYW1ld29yay5cbmRpdHRvIFwiJHtCVUlMVF9Q
Uk9EVUNUU19ESVJ9L2xpYmxsdm1Gb3JKU0MuZHlsaWJcIiBcIiR7QlVJTFRfUFJPRFVDVFNfRElS
fS8ke0NPTlRFTlRTX0ZPTERFUl9QQVRIfS9MaWJyYXJpZXMvbGlibGx2bUZvckpTQy5keWxpYlwi
XG5pZiBbICEgLWUgXCIke0JVSUxUX1BST0RVQ1RTX0RJUn0vJHtXUkFQUEVSX05BTUV9L0xpYnJh
cmllc1wiIF1cbnRoZW5cbiAgICBsbiAtZnMgXCJWZXJzaW9ucy9DdXJyZW50L0xpYnJhcmllc1wi
IFwiJHtCVUlMVF9QUk9EVUNUU19ESVJ9LyR7V1JBUFBFUl9OQU1FfS9MaWJyYXJpZXNcIlxuZmki
OworCQl9OwogCQkzNzEzRjAxNDE0MjkwNTI0MDAzNjM4N0YgLyogQ2hlY2sgRm9yIEluYXBwcm9w
cmlhdGUgT2JqZWN0aXZlLUMgQ2xhc3MgTmFtZXMgKi8gPSB7CiAJCQlpc2EgPSBQQlhTaGVsbFNj
cmlwdEJ1aWxkUGhhc2U7CiAJCQlidWlsZEFjdGlvbk1hc2sgPSAyMTQ3NDgzNjQ3OwpAQCAtNDc5
Miw3ICs0OTE3LDcgQEAKIAkJCSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNz
aW5nID0gMDsKIAkJCXNoZWxsUGF0aCA9IC9iaW4vc2g7Ci0JCQlzaGVsbFNjcmlwdCA9ICIjIEZJ
WE1FOiA8cmRhcjovL3Byb2JsZW0vMTM1Mzk4ODg+IExMVk0gbGlicmFyaWVzIHNob3VsZG4ndCBo
YXZlIHdlYWsgdnRhYmxlc1xuZXhpdCAwXG5cbmlmIFsgLWYgLi4vLi4vVG9vbHMvU2NyaXB0cy9j
aGVjay1mb3Itd2Vhay12dGFibGVzLWFuZC1leHRlcm5hbHMgXTsgdGhlblxuICAgIC4uLy4uL1Rv
b2xzL1NjcmlwdHMvY2hlY2stZm9yLXdlYWstdnRhYmxlcy1hbmQtZXh0ZXJuYWxzIHx8IGV4aXQg
JD9cbmZpIjsKKwkJCXNoZWxsU2NyaXB0ID0gImlmIFsgLWYgLi4vLi4vVG9vbHMvU2NyaXB0cy9j
aGVjay1mb3Itd2Vhay12dGFibGVzLWFuZC1leHRlcm5hbHMgXTsgdGhlblxuICAgIC4uLy4uL1Rv
b2xzL1NjcmlwdHMvY2hlY2stZm9yLXdlYWstdnRhYmxlcy1hbmQtZXh0ZXJuYWxzIHx8IGV4aXQg
JD9cbmZpIjsKIAkJfTsKIAkJNUQyRjdDRjkwQzY4NzVCQjAwQjVCNzJCIC8qIFVwZGF0ZSBJbmZv
LnBsaXN0IHdpdGggdmVyc2lvbiBpbmZvcm1hdGlvbiAqLyA9IHsKIAkJCWlzYSA9IFBCWFNoZWxs
U2NyaXB0QnVpbGRQaGFzZTsKQEAgLTQ4OTAsNiArNTAxNSwxNiBAQAogLyogRW5kIFBCWFNoZWxs
U2NyaXB0QnVpbGRQaGFzZSBzZWN0aW9uICovCiAKIC8qIEJlZ2luIFBCWFNvdXJjZXNCdWlsZFBo
YXNlIHNlY3Rpb24gKi8KKwkJMEZDRUZBQjIxODA1RDYxNjAwNDcyQ0U0IC8qIFNvdXJjZXMgKi8g
PSB7CisJCQlpc2EgPSBQQlhTb3VyY2VzQnVpbGRQaGFzZTsKKwkJCWJ1aWxkQWN0aW9uTWFzayA9
IDIxNDc0ODM2NDc7CisJCQlmaWxlcyA9ICgKKwkJCQkwRkNFRkFDMzE4MDVFNzQwMDA0NzJDRTQg
LyogTExWTUV4cG9ydHMuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMEZDRUZBRDcxODA2MTc0NjAw
NDcyQ0U0IC8qIExMVk1BbmNob3IuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMEZDRUZBQzExODA1
RDk0RTAwNDcyQ0U0IC8qIExMVk1PdmVycmlkZXMuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkpOwor
CQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CisJCX07CiAJCTBGRjky
MkM0MTRGNDZCMTMwMDQxQTI0RSAvKiBTb3VyY2VzICovID0gewogCQkJaXNhID0gUEJYU291cmNl
c0J1aWxkUGhhc2U7CiAJCQlidWlsZEFjdGlvbk1hc2sgPSAyMTQ3NDgzNjQ3OwpAQCAtNDk1MCw2
ICs1MDg1LDcgQEAKIAkJCQkxNDI4MDg2NTEwN0VDMTFBMDAxM0U3QjIgLyogQm9vbGVhblByb3Rv
dHlwZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkxNDhGMjFBQTEwN0VDNTNBMDA0MkVDMkMgLyog
Qnl0ZWNvZGVHZW5lcmF0b3IuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMTQyODA4MkQxMDdFQzA1
NzAwMTNFN0IyIC8qIENhbGxEYXRhLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTBGQ0VGQUIxMTgw
NUNBNkQwMDQ3MkNFNCAvKiBJbml0aWFsaXplTExWTU1hYy5tbSBpbiBTb3VyY2VzICovLAogCQkJ
CTE0MjlEOEREMEVEMjIwNUIwMEI4OTYxOSAvKiBDYWxsRnJhbWUuY3BwIGluIFNvdXJjZXMgKi8s
CiAJCQkJMEYwQjgzQjAxNEJDRjcxNjAwODg1QjRGIC8qIENhbGxMaW5rSW5mby5jcHAgaW4gU291
cmNlcyAqLywKIAkJCQkwRjkzMzI5RDE0Q0E3REMzMDA4NUYzQzYgLyogQ2FsbExpbmtTdGF0dXMu
Y3BwIGluIFNvdXJjZXMgKi8sCkBAIC01MDg5LDYgKzUyMjUsNyBAQAogCQkJCTBGMjM1QkQxMTcx
NzhFMUMwMDY5MEM3RiAvKiBGVExDQXJndW1lbnRHZXR0ZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJ
CQkJMEZFQTBBMjcxNzA5NjIzQjAwQkI3MjJDIC8qIEZUTENvbW1vblZhbHVlcy5jcHAgaW4gU291
cmNlcyAqLywKIAkJCQkwRkVBMEEwQjE3MDUxM0RCMDBCQjcyMkMgLyogRlRMQ29tcGlsZS5jcHAg
aW4gU291cmNlcyAqLywKKwkJCQkwRkNFRkFDRDE4MDVFNzU1MDA0NzJDRTQgLyogTExWTUFQSS5j
cHAgaW4gU291cmNlcyAqLywKIAkJCQkwRjIzNUJEMzE3MTc4RTFDMDA2OTBDN0YgLyogRlRMRXhp
dEFyZ3VtZW50LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTBGMjM1QkQ1MTcxNzhFMUMwMDY5MEM3
RiAvKiBGVExFeGl0QXJndW1lbnRGb3JPcGVyYW5kLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTBG
MjM1QkQ4MTcxNzhFMUMwMDY5MEM3RiAvKiBGVExFeGl0VGh1bmtHZW5lcmF0b3IuY3BwIGluIFNv
dXJjZXMgKi8sCkBAIC01MTA2LDYgKzUyNDMsNyBAQAogCQkJCTBGMjM1QkUxMTcxNzhFMUMwMDY5
MEM3RiAvKiBGVExUaHVua3MuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMEYyMzVCRTMxNzE3OEUx
QzAwNjkwQzdGIC8qIEZUTFZhbHVlRm9ybWF0LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTBGMjM1
QkU1MTcxNzhFMUMwMDY5MEM3RiAvKiBGVExWYWx1ZVNvdXJjZS5jcHAgaW4gU291cmNlcyAqLywK
KwkJCQkwRkNFRkFDQTE4MDVFNzU1MDA0NzJDRTQgLyogSW5pdGlhbGl6ZUxMVk0uY3BwIGluIFNv
dXJjZXMgKi8sCiAJCQkJMTQ3RjM5Q0IxMDdFQzM3NjAwNDI3QTQ4IC8qIEZ1bmN0aW9uQ29uc3Ry
dWN0b3IuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMEZGMEYxOUYxNkI3MkExNzAwNURGOTVCIC8q
IEZ1bmN0aW9uRXhlY3V0YWJsZUR1bXAuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMTQ3RjM5Q0Mx
MDdFQzM3NjAwNDI3QTQ4IC8qIEZ1bmN0aW9uUHJvdG90eXBlLmNwcCBpbiBTb3VyY2VzICovLApA
QCAtNTI3NCw2ICs1NDEyLDcgQEAKIAkJCQk5NUFCODM1NjBEQTQzQzMwMDBCQzgzRjMgLyogUHJv
ZmlsZU5vZGUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMEZGNzI5QUQxNjZBRDM1QzAwMEY1QkEz
IC8qIFByb2ZpbGVyQnl0ZWNvZGUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMEZGNzI5QUUxNjZB
RDM1QzAwMEY1QkEzIC8qIFByb2ZpbGVyQnl0ZWNvZGVzLmNwcCBpbiBTb3VyY2VzICovLAorCQkJ
CTBGQ0VGQUNCMTgwNUU3NTUwMDQ3MkNFNCAvKiBJbml0aWFsaXplTExWTVBPU0lYLmNwcCBpbiBT
b3VyY2VzICovLAogCQkJCTBGMTM5MTI5MTY3NzFDMzMwMDlDQ0IwNyAvKiBQcm9maWxlckJ5dGVj
b2RlU2VxdWVuY2UuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMEZGNzI5QUYxNjZBRDM1QzAwMEY1
QkEzIC8qIFByb2ZpbGVyQ29tcGlsYXRpb24uY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMEZGNzI5
QjAxNjZBRDM1QzAwMEY1QkEzIC8qIFByb2ZpbGVyQ29tcGlsYXRpb25LaW5kLmNwcCBpbiBTb3Vy
Y2VzICovLApAQCAtNTM1Myw3ICs1NDkyLDYgQEAKIAkJCQkxNEU4NEY5RTE0RUUxQUNDMDBENkQ1
RDQgLyogV2Vha0Jsb2NrLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTE0RjcyNTY1MTRFRTI2NUUw
MEIxNjUyQiAvKiBXZWFrSGFuZGxlT3duZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMTRFODRG
QTAxNEVFMUFDQzAwRDZENUQ0IC8qIFdlYWtTZXQuY3BwIGluIFNvdXJjZXMgKi8sCi0JCQkJMEY2
RTVDMTkxNzI0QUYzRDAwNUM1NzRGIC8qIFdlYktpdExMVk1MaWJyYXJ5QW5jaG9yLmNwcCBpbiBT
b3VyY2VzICovLAogCQkJCTBGQzgxNTBCMTQwNDNDMEUwMENGQTYwMyAvKiBXcml0ZUJhcnJpZXJT
dXBwb3J0LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTBGMjRFNTU4MTdGNzRFREIwMEFCQjIxNyAv
KiBWYWx1ZVJlY292ZXJ5LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUE3RTVBQjNBMTc5OUU0QjIw
MEQyODMzRCAvKiBYODZEaXNhc3NlbWJsZXIuY3BwIGluIFNvdXJjZXMgKi8sCkBAIC01Mzc3LDYg
KzU1MTUsMTEgQEAKIC8qIEVuZCBQQlhTb3VyY2VzQnVpbGRQaGFzZSBzZWN0aW9uICovCiAKIC8q
IEJlZ2luIFBCWFRhcmdldERlcGVuZGVuY3kgc2VjdGlvbiAqLworCQkwRkNFRkFCRDE4MDVENjYz
MDA0NzJDRTQgLyogUEJYVGFyZ2V0RGVwZW5kZW5jeSAqLyA9IHsKKwkJCWlzYSA9IFBCWFRhcmdl
dERlcGVuZGVuY3k7CisJCQl0YXJnZXQgPSAwRkNFRkFCNTE4MDVENjE2MDA0NzJDRTQgLyogbGx2
bUZvckpTQyAqLzsKKwkJCXRhcmdldFByb3h5ID0gMEZDRUZBQkMxODA1RDY2MzAwNDcyQ0U0IC8q
IFBCWENvbnRhaW5lckl0ZW1Qcm94eSAqLzsKKwkJfTsKIAkJMEZGOTIyRDMxNEY0NkIyRjAwNDFB
MjRFIC8qIFBCWFRhcmdldERlcGVuZGVuY3kgKi8gPSB7CiAJCQlpc2EgPSBQQlhUYXJnZXREZXBl
bmRlbmN5OwogCQkJdGFyZ2V0ID0gMEY0NjgwQTkxNEJBN0ZEOTAwQkZFMjcyIC8qIExMSW50IE9m
ZnNldHMgKi87CkBAIC01NDUzLDYgKzU1OTYsMzQgQEAKIAkJCX07CiAJCQluYW1lID0gUHJvZHVj
dGlvbjsKIAkJfTsKKwkJMEZDRUZBQjgxODA1RDYxNjAwNDcyQ0U0IC8qIERlYnVnICovID0gewor
CQkJaXNhID0gWENCdWlsZENvbmZpZ3VyYXRpb247CisJCQliYXNlQ29uZmlndXJhdGlvblJlZmVy
ZW5jZSA9IDBGQ0VGQUJFMTgwNUQ4NjkwMDQ3MkNFNCAvKiBMTFZNRm9ySlNDLnhjY29uZmlnICov
OworCQkJYnVpbGRTZXR0aW5ncyA9IHsKKwkJCX07CisJCQluYW1lID0gRGVidWc7CisJCX07CisJ
CTBGQ0VGQUI5MTgwNUQ2MTYwMDQ3MkNFNCAvKiBSZWxlYXNlICovID0geworCQkJaXNhID0gWENC
dWlsZENvbmZpZ3VyYXRpb247CisJCQliYXNlQ29uZmlndXJhdGlvblJlZmVyZW5jZSA9IDBGQ0VG
QUJFMTgwNUQ4NjkwMDQ3MkNFNCAvKiBMTFZNRm9ySlNDLnhjY29uZmlnICovOworCQkJYnVpbGRT
ZXR0aW5ncyA9IHsKKwkJCX07CisJCQluYW1lID0gUmVsZWFzZTsKKwkJfTsKKwkJMEZDRUZBQkEx
ODA1RDYxNjAwNDcyQ0U0IC8qIFByb2ZpbGluZyAqLyA9IHsKKwkJCWlzYSA9IFhDQnVpbGRDb25m
aWd1cmF0aW9uOworCQkJYmFzZUNvbmZpZ3VyYXRpb25SZWZlcmVuY2UgPSAwRkNFRkFCRTE4MDVE
ODY5MDA0NzJDRTQgLyogTExWTUZvckpTQy54Y2NvbmZpZyAqLzsKKwkJCWJ1aWxkU2V0dGluZ3Mg
PSB7CisJCQl9OworCQkJbmFtZSA9IFByb2ZpbGluZzsKKwkJfTsKKwkJMEZDRUZBQkIxODA1RDYx
NjAwNDcyQ0U0IC8qIFByb2R1Y3Rpb24gKi8gPSB7CisJCQlpc2EgPSBYQ0J1aWxkQ29uZmlndXJh
dGlvbjsKKwkJCWJhc2VDb25maWd1cmF0aW9uUmVmZXJlbmNlID0gMEZDRUZBQkUxODA1RDg2OTAw
NDcyQ0U0IC8qIExMVk1Gb3JKU0MueGNjb25maWcgKi87CisJCQlidWlsZFNldHRpbmdzID0gewor
CQkJfTsKKwkJCW5hbWUgPSBQcm9kdWN0aW9uOworCQl9OwogCQkwRkY5MjJDQjE0RjQ2QjEzMDA0
MUEyNEUgLyogRGVidWcgKi8gPSB7CiAJCQlpc2EgPSBYQ0J1aWxkQ29uZmlndXJhdGlvbjsKIAkJ
CWJhc2VDb25maWd1cmF0aW9uUmVmZXJlbmNlID0gQkMwMjFCRjIxMzY5MDBDMzAwRkM1NDY3IC8q
IFRvb2xFeGVjdXRhYmxlLnhjY29uZmlnICovOwpAQCAtNTc1Nyw2ICs1OTI4LDE3IEBACiAJCQlk
ZWZhdWx0Q29uZmlndXJhdGlvbklzVmlzaWJsZSA9IDA7CiAJCQlkZWZhdWx0Q29uZmlndXJhdGlv
bk5hbWUgPSBQcm9kdWN0aW9uOwogCQl9OworCQkwRkNFRkFCNzE4MDVENjE2MDA0NzJDRTQgLyog
QnVpbGQgY29uZmlndXJhdGlvbiBsaXN0IGZvciBQQlhOYXRpdmVUYXJnZXQgImxsdm1Gb3JKU0Mi
ICovID0geworCQkJaXNhID0gWENDb25maWd1cmF0aW9uTGlzdDsKKwkJCWJ1aWxkQ29uZmlndXJh
dGlvbnMgPSAoCisJCQkJMEZDRUZBQjgxODA1RDYxNjAwNDcyQ0U0IC8qIERlYnVnICovLAorCQkJ
CTBGQ0VGQUI5MTgwNUQ2MTYwMDQ3MkNFNCAvKiBSZWxlYXNlICovLAorCQkJCTBGQ0VGQUJBMTgw
NUQ2MTYwMDQ3MkNFNCAvKiBQcm9maWxpbmcgKi8sCisJCQkJMEZDRUZBQkIxODA1RDYxNjAwNDcy
Q0U0IC8qIFByb2R1Y3Rpb24gKi8sCisJCQkpOworCQkJZGVmYXVsdENvbmZpZ3VyYXRpb25Jc1Zp
c2libGUgPSAwOworCQkJZGVmYXVsdENvbmZpZ3VyYXRpb25OYW1lID0gUHJvZHVjdGlvbjsKKwkJ
fTsKIAkJMEZGOTIyQ0ExNEY0NkIxMzAwNDFBMjRFIC8qIEJ1aWxkIGNvbmZpZ3VyYXRpb24gbGlz
dCBmb3IgUEJYTmF0aXZlVGFyZ2V0ICJKU0NMTEludE9mZnNldHNFeHRyYWN0b3IiICovID0gewog
CQkJaXNhID0gWENDb25maWd1cmF0aW9uTGlzdDsKIAkJCWJ1aWxkQ29uZmlndXJhdGlvbnMgPSAo
CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1BsYW4uY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHUGxhbi5jcHAJKHJldmlzaW9uIDE1NzIz
NykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHUGxhbi5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTY3LDYgKzY3LDcgQEAKICNpbmNsdWRlICJGVExMaW5rLmgiCiAjaW5jbHVkZSAiRlRM
TG93ZXJERkdUb0xMVk0uaCIKICNpbmNsdWRlICJGVExTdGF0ZS5oIgorI2luY2x1ZGUgIkluaXRp
YWxpemVMTFZNLmgiCiAjZW5kaWYKIAogbmFtZXNwYWNlIEpTQyB7IG5hbWVzcGFjZSBERkcgewpA
QCAtMjU1LDggKzI1Niw3IEBAIFBsYW46OkNvbXBpbGF0aW9uUGF0aCBQbGFuOjpjb21waWxlSW5U
aHIKICAgICAgICAgCiAgICAgICAgIGR1bXBBbmRWZXJpZnlHcmFwaChkZmcsICJHcmFwaCBqdXN0
IGJlZm9yZSBGVEwgbG93ZXJpbmc6Iik7CiAgICAgICAgIAotICAgICAgICAvLyBGSVhNRTogU3Vw
cG9ydCBPU1IgZW50cnkuCi0gICAgICAgIC8vIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xMTM2MjUKKyAgICAgICAgaW5pdGlhbGl6ZUxMVk0oKTsKICAgICAgICAgCiAg
ICAgICAgIEZUTDo6U3RhdGUgc3RhdGUoZGZnKTsKICAgICAgICAgRlRMOjpsb3dlckRGR1RvTExW
TShzdGF0ZSk7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGlzYXNzZW1ibGVyL0xMVk1E
aXNhc3NlbWJsZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kaXNh
c3NlbWJsZXIvTExWTURpc2Fzc2VtYmxlci5jcHAJKHJldmlzaW9uIDE1NzIzNykKKysrIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9kaXNhc3NlbWJsZXIvTExWTURpc2Fzc2VtYmxlci5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTI4LDggKzI4LDkgQEAKIAogI2lmIFVTRShMTFZNX0RJU0FTU0VNQkxFUikK
IAorI2luY2x1ZGUgIkluaXRpYWxpemVMTFZNLmgiCisjaW5jbHVkZSAiTExWTUFQSS5oIgogI2lu
Y2x1ZGUgIk1hY3JvQXNzZW1ibGVyQ29kZVJlZi5oIgotI2luY2x1ZGUgPHd0Zi9MTFZNSGVhZGVy
cy5oPgogCiBuYW1lc3BhY2UgSlNDIHsKIApAQCAtNzksNiArODAsOCBAQCBib29sIHRyeVRvRGlz
YXNzZW1ibGVXaXRoTExWTSgKICAgICBjb25zdCBNYWNyb0Fzc2VtYmxlckNvZGVQdHImIGNvZGVQ
dHIsIHNpemVfdCBzaXplLCBjb25zdCBjaGFyKiBwcmVmaXgsIFByaW50U3RyZWFtJiBvdXQsCiAg
ICAgSW5zdHJ1Y3Rpb25TdWJzZXRIaW50KQogeworICAgIGluaXRpYWxpemVMTFZNKCk7CisgICAg
CiAgICAgY29uc3QgY2hhciogdHJpcGxlOwogI2lmIENQVShYODZfNjQpCiAgICAgdHJpcGxlID0g
Ing4Nl82NC1hcHBsZS1kYXJ3aW4iOwpAQCAtOTEsNyArOTQsNyBAQCBib29sIHRyeVRvRGlzYXNz
ZW1ibGVXaXRoTExWTSgKICAgICBjaGFyIHN5bWJvbFN0cmluZ1tzeW1ib2xTdHJpbmdTaXplXTsK
ICAgICAKICAgICBMTFZNRGlzYXNtQ29udGV4dFJlZiBkaXNhc3NlbWJseUNvbnRleHQgPQotICAg
ICAgICBMTFZNQ3JlYXRlRGlzYXNtKHRyaXBsZSwgc3ltYm9sU3RyaW5nLCAwLCAwLCBzeW1ib2xM
b29rdXBDYWxsYmFjayk7CisgICAgICAgIGxsdm0tPkNyZWF0ZURpc2FzbSh0cmlwbGUsIHN5bWJv
bFN0cmluZywgMCwgMCwgc3ltYm9sTG9va3VwQ2FsbGJhY2spOwogICAgIFJFTEVBU0VfQVNTRVJU
KGRpc2Fzc2VtYmx5Q29udGV4dCk7CiAgICAgCiAgICAgY2hhciBwY1N0cmluZ1syMF07CkBAIC0x
MDUsNyArMTA4LDcgQEAgYm9vbCB0cnlUb0Rpc2Fzc2VtYmxlV2l0aExMVk0oCiAgICAgICAgICAg
ICBwY1N0cmluZywgc2l6ZW9mKHBjU3RyaW5nKSwgIjB4JWx4IiwKICAgICAgICAgICAgIHN0YXRp
Y19jYXN0PHVuc2lnbmVkIGxvbmc+KGJpdHdpc2VfY2FzdDx1aW50cHRyX3Q+KHBjKSkpOwogCi0g
ICAgICAgIHNpemVfdCBpbnN0cnVjdGlvblNpemUgPSBMTFZNRGlzYXNtSW5zdHJ1Y3Rpb24oCisg
ICAgICAgIHNpemVfdCBpbnN0cnVjdGlvblNpemUgPSBsbHZtLT5EaXNhc21JbnN0cnVjdGlvbigK
ICAgICAgICAgICAgIGRpc2Fzc2VtYmx5Q29udGV4dCwgcGMsIGVuZCAtIHBjLCBiaXR3aXNlX2Nh
c3Q8dWludHB0cl90PihwYyksCiAgICAgICAgICAgICBpbnN0cnVjdGlvblN0cmluZywgc2l6ZW9m
KGluc3RydWN0aW9uU3RyaW5nKSk7CiAgICAgICAgIApAQCAtMTE3LDcgKzEyMCw3IEBAIGJvb2wg
dHJ5VG9EaXNhc3NlbWJsZVdpdGhMTFZNKAogICAgICAgICBvdXQucHJpbnRmKCIlcyUxNnM6ICVz
XG4iLCBwcmVmaXgsIHBjU3RyaW5nLCBpbnN0cnVjdGlvblN0cmluZyk7CiAgICAgfQogICAgIAot
ICAgIExMVk1EaXNhc21EaXNwb3NlKGRpc2Fzc2VtYmx5Q29udGV4dCk7CisgICAgbGx2bS0+RGlz
YXNtRGlzcG9zZShkaXNhc3NlbWJseUNvbnRleHQpOwogICAgIAogICAgIHJldHVybiB0cnVlOwog
fQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExBYmJyZXZpYXRlZFR5cGVzLmgK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExBYmJyZXZpYXRlZFR5
cGVzLmgJKHJldmlzaW9uIDE1NzIzNykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRM
QWJicmV2aWF0ZWRUeXBlcy5oCSh3b3JraW5nIGNvcHkpCkBAIC0zMCw3ICszMCw3IEBACiAKICNp
ZiBFTkFCTEUoRlRMX0pJVCkKIAotI2luY2x1ZGUgPHd0Zi9MTFZNSGVhZGVycy5oPgorI2luY2x1
ZGUgIkxMVk1BUEkuaCIKIAogbmFtZXNwYWNlIEpTQyB7IG5hbWVzcGFjZSBGVEwgewogCkluZGV4
OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTEFiYnJldmlhdGlvbnMuaAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTEFiYnJldmlhdGlvbnMuaAkocmV2aXNp
b24gMTU3MjM3KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExBYmJyZXZpYXRpb25z
LmgJKHdvcmtpbmcgY29weSkKQEAgLTMzLDYgKzMzLDcgQEAKICNpbmNsdWRlICJGVExBYmJyZXZp
YXRlZFR5cGVzLmgiCiAjaW5jbHVkZSAiRlRMU3dpdGNoQ2FzZS5oIgogI2luY2x1ZGUgIkZUTFZh
bHVlRnJvbUJsb2NrLmgiCisjaW5jbHVkZSAiTExWTUFQSS5oIgogI2luY2x1ZGUgPGNzdHJpbmc+
CiAKIG5hbWVzcGFjZSBKU0MgeyBuYW1lc3BhY2UgRlRMIHsKQEAgLTQ2LDIyICs0NywyMiBAQCBu
YW1lc3BhY2UgSlNDIHsgbmFtZXNwYWNlIEZUTCB7CiAjZXJyb3IgIlRoZSBGVEwgYmFja2VuZCBh
c3N1bWVzIHRoYXQgcG9pbnRlcnMgYXJlIDY0LWJpdC4iCiAjZW5kaWYKIAotc3RhdGljIGlubGlu
ZSBMVHlwZSB2b2lkVHlwZShMQ29udGV4dCBjb250ZXh0KSB7IHJldHVybiBMTFZNVm9pZFR5cGVJ
bkNvbnRleHQoY29udGV4dCk7IH0KLXN0YXRpYyBpbmxpbmUgTFR5cGUgaW50MVR5cGUoTENvbnRl
eHQgY29udGV4dCkgeyByZXR1cm4gTExWTUludDFUeXBlSW5Db250ZXh0KGNvbnRleHQpOyB9Ci1z
dGF0aWMgaW5saW5lIExUeXBlIGludDhUeXBlKExDb250ZXh0IGNvbnRleHQpIHsgcmV0dXJuIExM
Vk1JbnQ4VHlwZUluQ29udGV4dChjb250ZXh0KTsgfQotc3RhdGljIGlubGluZSBMVHlwZSBpbnQx
NlR5cGUoTENvbnRleHQgY29udGV4dCkgeyByZXR1cm4gTExWTUludDE2VHlwZUluQ29udGV4dChj
b250ZXh0KTsgfQotc3RhdGljIGlubGluZSBMVHlwZSBpbnQzMlR5cGUoTENvbnRleHQgY29udGV4
dCkgeyByZXR1cm4gTExWTUludDMyVHlwZUluQ29udGV4dChjb250ZXh0KTsgfQotc3RhdGljIGlu
bGluZSBMVHlwZSBpbnQ2NFR5cGUoTENvbnRleHQgY29udGV4dCkgeyByZXR1cm4gTExWTUludDY0
VHlwZUluQ29udGV4dChjb250ZXh0KTsgfQotc3RhdGljIGlubGluZSBMVHlwZSBpbnRQdHJUeXBl
KExDb250ZXh0IGNvbnRleHQpIHsgcmV0dXJuIExMVk1JbnQ2NFR5cGVJbkNvbnRleHQoY29udGV4
dCk7IH0KLXN0YXRpYyBpbmxpbmUgTFR5cGUgZmxvYXRUeXBlKExDb250ZXh0IGNvbnRleHQpIHsg
cmV0dXJuIExMVk1GbG9hdFR5cGVJbkNvbnRleHQoY29udGV4dCk7IH0KLXN0YXRpYyBpbmxpbmUg
TFR5cGUgZG91YmxlVHlwZShMQ29udGV4dCBjb250ZXh0KSB7IHJldHVybiBMTFZNRG91YmxlVHlw
ZUluQ29udGV4dChjb250ZXh0KTsgfQorc3RhdGljIGlubGluZSBMVHlwZSB2b2lkVHlwZShMQ29u
dGV4dCBjb250ZXh0KSB7IHJldHVybiBsbHZtLT5Wb2lkVHlwZUluQ29udGV4dChjb250ZXh0KTsg
fQorc3RhdGljIGlubGluZSBMVHlwZSBpbnQxVHlwZShMQ29udGV4dCBjb250ZXh0KSB7IHJldHVy
biBsbHZtLT5JbnQxVHlwZUluQ29udGV4dChjb250ZXh0KTsgfQorc3RhdGljIGlubGluZSBMVHlw
ZSBpbnQ4VHlwZShMQ29udGV4dCBjb250ZXh0KSB7IHJldHVybiBsbHZtLT5JbnQ4VHlwZUluQ29u
dGV4dChjb250ZXh0KTsgfQorc3RhdGljIGlubGluZSBMVHlwZSBpbnQxNlR5cGUoTENvbnRleHQg
Y29udGV4dCkgeyByZXR1cm4gbGx2bS0+SW50MTZUeXBlSW5Db250ZXh0KGNvbnRleHQpOyB9Citz
dGF0aWMgaW5saW5lIExUeXBlIGludDMyVHlwZShMQ29udGV4dCBjb250ZXh0KSB7IHJldHVybiBs
bHZtLT5JbnQzMlR5cGVJbkNvbnRleHQoY29udGV4dCk7IH0KK3N0YXRpYyBpbmxpbmUgTFR5cGUg
aW50NjRUeXBlKExDb250ZXh0IGNvbnRleHQpIHsgcmV0dXJuIGxsdm0tPkludDY0VHlwZUluQ29u
dGV4dChjb250ZXh0KTsgfQorc3RhdGljIGlubGluZSBMVHlwZSBpbnRQdHJUeXBlKExDb250ZXh0
IGNvbnRleHQpIHsgcmV0dXJuIGxsdm0tPkludDY0VHlwZUluQ29udGV4dChjb250ZXh0KTsgfQor
c3RhdGljIGlubGluZSBMVHlwZSBmbG9hdFR5cGUoTENvbnRleHQgY29udGV4dCkgeyByZXR1cm4g
bGx2bS0+RmxvYXRUeXBlSW5Db250ZXh0KGNvbnRleHQpOyB9CitzdGF0aWMgaW5saW5lIExUeXBl
IGRvdWJsZVR5cGUoTENvbnRleHQgY29udGV4dCkgeyByZXR1cm4gbGx2bS0+RG91YmxlVHlwZUlu
Q29udGV4dChjb250ZXh0KTsgfQogCi1zdGF0aWMgaW5saW5lIExUeXBlIHBvaW50ZXJUeXBlKExU
eXBlIHR5cGUpIHsgcmV0dXJuIExMVk1Qb2ludGVyVHlwZSh0eXBlLCAwKTsgfQorc3RhdGljIGlu
bGluZSBMVHlwZSBwb2ludGVyVHlwZShMVHlwZSB0eXBlKSB7IHJldHVybiBsbHZtLT5Qb2ludGVy
VHlwZSh0eXBlLCAwKTsgfQogCiBlbnVtIFBhY2tpbmdNb2RlIHsgTm90UGFja2VkLCBQYWNrZWQg
fTsKIHN0YXRpYyBpbmxpbmUgTFR5cGUgc3RydWN0VHlwZShMQ29udGV4dCBjb250ZXh0LCBMVHlw
ZSogZWxlbWVudFR5cGVzLCB1bnNpZ25lZCBlbGVtZW50Q291bnQsIFBhY2tpbmdNb2RlIHBhY2tp
bmcgPSBOb3RQYWNrZWQpCiB7Ci0gICAgcmV0dXJuIExMVk1TdHJ1Y3RUeXBlSW5Db250ZXh0KGNv
bnRleHQsIGVsZW1lbnRUeXBlcywgZWxlbWVudENvdW50LCBwYWNraW5nID09IFBhY2tlZCk7Cisg
ICAgcmV0dXJuIGxsdm0tPlN0cnVjdFR5cGVJbkNvbnRleHQoY29udGV4dCwgZWxlbWVudFR5cGVz
LCBlbGVtZW50Q291bnQsIHBhY2tpbmcgPT0gUGFja2VkKTsKIH0KIHN0YXRpYyBpbmxpbmUgTFR5
cGUgc3RydWN0VHlwZShMQ29udGV4dCBjb250ZXh0LCBQYWNraW5nTW9kZSBwYWNraW5nID0gTm90
UGFja2VkKQogewpAQCAtODAsNyArODEsNyBAQCBzdGF0aWMgaW5saW5lIExUeXBlIHN0cnVjdFR5
cGUoTENvbnRleHQgCiBlbnVtIFZhcmlhZGljaXR5IHsgTm90VmFyaWFkaWMsIFZhcmlhZGljIH07
CiBzdGF0aWMgaW5saW5lIExUeXBlIGZ1bmN0aW9uVHlwZShMVHlwZSByZXR1cm5UeXBlLCBjb25z
dCBMVHlwZSogcGFyYW1UeXBlcywgdW5zaWduZWQgcGFyYW1Db3VudCwgVmFyaWFkaWNpdHkgdmFy
aWFkaWNpdHkpCiB7Ci0gICAgcmV0dXJuIExMVk1GdW5jdGlvblR5cGUocmV0dXJuVHlwZSwgY29u
c3RfY2FzdDxMVHlwZSo+KHBhcmFtVHlwZXMpLCBwYXJhbUNvdW50LCB2YXJpYWRpY2l0eSA9PSBW
YXJpYWRpYyk7CisgICAgcmV0dXJuIGxsdm0tPkZ1bmN0aW9uVHlwZShyZXR1cm5UeXBlLCBjb25z
dF9jYXN0PExUeXBlKj4ocGFyYW1UeXBlcyksIHBhcmFtQ291bnQsIHZhcmlhZGljaXR5ID09IFZh
cmlhZGljKTsKIH0KIHRlbXBsYXRlPHR5cGVuYW1lIFZlY3RvclR5cGU+CiBpbmxpbmUgTFR5cGUg
ZnVuY3Rpb25UeXBlKExUeXBlIHJldHVyblR5cGUsIGNvbnN0IFZlY3RvclR5cGUmIHZlY3Rvciwg
VmFyaWFkaWNpdHkgdmFyaWFkaWNpdHkgPSBOb3RWYXJpYWRpYykKQEAgLTExMSwxMiArMTEyLDEy
IEBAIHN0YXRpYyBpbmxpbmUgTFR5cGUgZnVuY3Rpb25UeXBlKExUeXBlIHIKICAgICByZXR1cm4g
ZnVuY3Rpb25UeXBlKHJldHVyblR5cGUsIHBhcmFtVHlwZXMsIDQsIHZhcmlhZGljaXR5KTsKIH0K
IAotc3RhdGljIGlubGluZSBMVHlwZSB0eXBlT2YoTFZhbHVlIHZhbHVlKSB7IHJldHVybiBMTFZN
VHlwZU9mKHZhbHVlKTsgfQorc3RhdGljIGlubGluZSBMVHlwZSB0eXBlT2YoTFZhbHVlIHZhbHVl
KSB7IHJldHVybiBsbHZtLT5UeXBlT2YodmFsdWUpOyB9CiAKLXN0YXRpYyBpbmxpbmUgdW5zaWdu
ZWQgbWRLaW5kSUQoTENvbnRleHQgY29udGV4dCwgY29uc3QgY2hhciogc3RyaW5nKSB7IHJldHVy
biBMTFZNR2V0TURLaW5kSURJbkNvbnRleHQoY29udGV4dCwgc3RyaW5nLCBzdGQ6OnN0cmxlbihz
dHJpbmcpKTsgfQotc3RhdGljIGlubGluZSBMVmFsdWUgbWRTdHJpbmcoTENvbnRleHQgY29udGV4
dCwgY29uc3QgY2hhciogc3RyaW5nLCB1bnNpZ25lZCBsZW5ndGgpIHsgcmV0dXJuIExMVk1NRFN0
cmluZ0luQ29udGV4dChjb250ZXh0LCBzdHJpbmcsIGxlbmd0aCk7IH0KK3N0YXRpYyBpbmxpbmUg
dW5zaWduZWQgbWRLaW5kSUQoTENvbnRleHQgY29udGV4dCwgY29uc3QgY2hhciogc3RyaW5nKSB7
IHJldHVybiBsbHZtLT5HZXRNREtpbmRJREluQ29udGV4dChjb250ZXh0LCBzdHJpbmcsIHN0ZDo6
c3RybGVuKHN0cmluZykpOyB9CitzdGF0aWMgaW5saW5lIExWYWx1ZSBtZFN0cmluZyhMQ29udGV4
dCBjb250ZXh0LCBjb25zdCBjaGFyKiBzdHJpbmcsIHVuc2lnbmVkIGxlbmd0aCkgeyByZXR1cm4g
bGx2bS0+TURTdHJpbmdJbkNvbnRleHQoY29udGV4dCwgc3RyaW5nLCBsZW5ndGgpOyB9CiBzdGF0
aWMgaW5saW5lIExWYWx1ZSBtZFN0cmluZyhMQ29udGV4dCBjb250ZXh0LCBjb25zdCBjaGFyKiBz
dHJpbmcpIHsgcmV0dXJuIG1kU3RyaW5nKGNvbnRleHQsIHN0cmluZywgc3RkOjpzdHJsZW4oc3Ry
aW5nKSk7IH0KLXN0YXRpYyBpbmxpbmUgTFZhbHVlIG1kTm9kZShMQ29udGV4dCBjb250ZXh0LCBM
VmFsdWUqIGFyZ3MsIHVuc2lnbmVkIG51bUFyZ3MpIHsgcmV0dXJuIExMVk1NRE5vZGVJbkNvbnRl
eHQoY29udGV4dCwgYXJncywgbnVtQXJncyk7IH0KK3N0YXRpYyBpbmxpbmUgTFZhbHVlIG1kTm9k
ZShMQ29udGV4dCBjb250ZXh0LCBMVmFsdWUqIGFyZ3MsIHVuc2lnbmVkIG51bUFyZ3MpIHsgcmV0
dXJuIGxsdm0tPk1ETm9kZUluQ29udGV4dChjb250ZXh0LCBhcmdzLCBudW1BcmdzKTsgfQogc3Rh
dGljIGlubGluZSBMVmFsdWUgbWROb2RlKExDb250ZXh0IGNvbnRleHQpIHsgcmV0dXJuIG1kTm9k
ZShjb250ZXh0LCAwLCAwKTsgfQogc3RhdGljIGlubGluZSBMVmFsdWUgbWROb2RlKExDb250ZXh0
IGNvbnRleHQsIExWYWx1ZSBhcmcxKSB7IHJldHVybiBtZE5vZGUoY29udGV4dCwgJmFyZzEsIDEp
OyB9CiBzdGF0aWMgaW5saW5lIExWYWx1ZSBtZE5vZGUoTENvbnRleHQgY29udGV4dCwgTFZhbHVl
IGFyZzEsIExWYWx1ZSBhcmcyKQpAQCAtMTI1LDExICsxMjYsMTEgQEAgc3RhdGljIGlubGluZSBM
VmFsdWUgbWROb2RlKExDb250ZXh0IGNvbgogICAgIHJldHVybiBtZE5vZGUoY29udGV4dCwgYXJn
cywgMik7CiB9CiAKLXN0YXRpYyBpbmxpbmUgdm9pZCBzZXRNZXRhZGF0YShMVmFsdWUgaW5zdHJ1
Y3Rpb24sIHVuc2lnbmVkIGtpbmQsIExWYWx1ZSBtZXRhZGF0YSkgeyBMTFZNU2V0TWV0YWRhdGEo
aW5zdHJ1Y3Rpb24sIGtpbmQsIG1ldGFkYXRhKTsgfQorc3RhdGljIGlubGluZSB2b2lkIHNldE1l
dGFkYXRhKExWYWx1ZSBpbnN0cnVjdGlvbiwgdW5zaWduZWQga2luZCwgTFZhbHVlIG1ldGFkYXRh
KSB7IGxsdm0tPlNldE1ldGFkYXRhKGluc3RydWN0aW9uLCBraW5kLCBtZXRhZGF0YSk7IH0KIAot
c3RhdGljIGlubGluZSBMVmFsdWUgYWRkRnVuY3Rpb24oTE1vZHVsZSBtb2R1bGUsIGNvbnN0IGNo
YXIqIG5hbWUsIExUeXBlIHR5cGUpIHsgcmV0dXJuIExMVk1BZGRGdW5jdGlvbihtb2R1bGUsIG5h
bWUsIHR5cGUpOyB9Ci1zdGF0aWMgaW5saW5lIHZvaWQgc2V0TGlua2FnZShMVmFsdWUgZ2xvYmFs
LCBMTGlua2FnZSBsaW5rYWdlKSB7IExMVk1TZXRMaW5rYWdlKGdsb2JhbCwgbGlua2FnZSk7IH0K
LXN0YXRpYyBpbmxpbmUgdm9pZCBzZXRGdW5jdGlvbkNhbGxpbmdDb252KExWYWx1ZSBmdW5jdGlv
biwgTENhbGxDb252IGNvbnZlbnRpb24pIHsgTExWTVNldEZ1bmN0aW9uQ2FsbENvbnYoZnVuY3Rp
b24sIGNvbnZlbnRpb24pOyB9CitzdGF0aWMgaW5saW5lIExWYWx1ZSBhZGRGdW5jdGlvbihMTW9k
dWxlIG1vZHVsZSwgY29uc3QgY2hhciogbmFtZSwgTFR5cGUgdHlwZSkgeyByZXR1cm4gbGx2bS0+
QWRkRnVuY3Rpb24obW9kdWxlLCBuYW1lLCB0eXBlKTsgfQorc3RhdGljIGlubGluZSB2b2lkIHNl
dExpbmthZ2UoTFZhbHVlIGdsb2JhbCwgTExpbmthZ2UgbGlua2FnZSkgeyBsbHZtLT5TZXRMaW5r
YWdlKGdsb2JhbCwgbGlua2FnZSk7IH0KK3N0YXRpYyBpbmxpbmUgdm9pZCBzZXRGdW5jdGlvbkNh
bGxpbmdDb252KExWYWx1ZSBmdW5jdGlvbiwgTENhbGxDb252IGNvbnZlbnRpb24pIHsgbGx2bS0+
U2V0RnVuY3Rpb25DYWxsQ29udihmdW5jdGlvbiwgY29udmVudGlvbik7IH0KIAogc3RhdGljIGlu
bGluZSBMVmFsdWUgYWRkRXh0ZXJuRnVuY3Rpb24oTE1vZHVsZSBtb2R1bGUsIGNvbnN0IGNoYXIq
IG5hbWUsIExUeXBlIHR5cGUpCiB7CkBAIC0xMzgsMjEgKzEzOSwyMSBAQCBzdGF0aWMgaW5saW5l
IExWYWx1ZSBhZGRFeHRlcm5GdW5jdGlvbihMCiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIAotc3Rh
dGljIGlubGluZSBMVmFsdWUgZ2V0UGFyYW0oTFZhbHVlIGZ1bmN0aW9uLCB1bnNpZ25lZCBpbmRl
eCkgeyByZXR1cm4gTExWTUdldFBhcmFtKGZ1bmN0aW9uLCBpbmRleCk7IH0KK3N0YXRpYyBpbmxp
bmUgTFZhbHVlIGdldFBhcmFtKExWYWx1ZSBmdW5jdGlvbiwgdW5zaWduZWQgaW5kZXgpIHsgcmV0
dXJuIGxsdm0tPkdldFBhcmFtKGZ1bmN0aW9uLCBpbmRleCk7IH0KIAogZW51bSBCaXRFeHRlbnNp
b24geyBaZXJvRXh0ZW5kLCBTaWduRXh0ZW5kIH07Ci1zdGF0aWMgaW5saW5lIExWYWx1ZSBjb25z
dEludChMVHlwZSB0eXBlLCB1bnNpZ25lZCBsb25nIGxvbmcgdmFsdWUsIEJpdEV4dGVuc2lvbiBl
eHRlbnNpb24gPSBaZXJvRXh0ZW5kKSB7IHJldHVybiBMTFZNQ29uc3RJbnQodHlwZSwgdmFsdWUs
IGV4dGVuc2lvbiA9PSBTaWduRXh0ZW5kKTsgfQotc3RhdGljIGlubGluZSBMVmFsdWUgY29uc3RS
ZWFsKExUeXBlIHR5cGUsIGRvdWJsZSB2YWx1ZSkgeyByZXR1cm4gTExWTUNvbnN0UmVhbCh0eXBl
LCB2YWx1ZSk7IH0KLXN0YXRpYyBpbmxpbmUgTFZhbHVlIGNvbnN0SW50VG9QdHIoTFZhbHVlIHZh
bHVlLCBMVHlwZSB0eXBlKSB7IHJldHVybiBMTFZNQ29uc3RJbnRUb1B0cih2YWx1ZSwgdHlwZSk7
IH0KLXN0YXRpYyBpbmxpbmUgTFZhbHVlIGNvbnN0Qml0Q2FzdChMVmFsdWUgdmFsdWUsIExUeXBl
IHR5cGUpIHsgcmV0dXJuIExMVk1Db25zdEJpdENhc3QodmFsdWUsIHR5cGUpOyB9CitzdGF0aWMg
aW5saW5lIExWYWx1ZSBjb25zdEludChMVHlwZSB0eXBlLCB1bnNpZ25lZCBsb25nIGxvbmcgdmFs
dWUsIEJpdEV4dGVuc2lvbiBleHRlbnNpb24gPSBaZXJvRXh0ZW5kKSB7IHJldHVybiBsbHZtLT5D
b25zdEludCh0eXBlLCB2YWx1ZSwgZXh0ZW5zaW9uID09IFNpZ25FeHRlbmQpOyB9CitzdGF0aWMg
aW5saW5lIExWYWx1ZSBjb25zdFJlYWwoTFR5cGUgdHlwZSwgZG91YmxlIHZhbHVlKSB7IHJldHVy
biBsbHZtLT5Db25zdFJlYWwodHlwZSwgdmFsdWUpOyB9CitzdGF0aWMgaW5saW5lIExWYWx1ZSBj
b25zdEludFRvUHRyKExWYWx1ZSB2YWx1ZSwgTFR5cGUgdHlwZSkgeyByZXR1cm4gbGx2bS0+Q29u
c3RJbnRUb1B0cih2YWx1ZSwgdHlwZSk7IH0KK3N0YXRpYyBpbmxpbmUgTFZhbHVlIGNvbnN0Qml0
Q2FzdChMVmFsdWUgdmFsdWUsIExUeXBlIHR5cGUpIHsgcmV0dXJuIGxsdm0tPkNvbnN0Qml0Q2Fz
dCh2YWx1ZSwgdHlwZSk7IH0KIAotc3RhdGljIGlubGluZSBMQmFzaWNCbG9jayBhcHBlbmRCYXNp
Y0Jsb2NrKExDb250ZXh0IGNvbnRleHQsIExWYWx1ZSBmdW5jdGlvbiwgY29uc3QgY2hhciogbmFt
ZSA9ICIiKSB7IHJldHVybiBMTFZNQXBwZW5kQmFzaWNCbG9ja0luQ29udGV4dChjb250ZXh0LCBm
dW5jdGlvbiwgbmFtZSk7IH0KLXN0YXRpYyBpbmxpbmUgTEJhc2ljQmxvY2sgaW5zZXJ0QmFzaWNC
bG9jayhMQ29udGV4dCBjb250ZXh0LCBMQmFzaWNCbG9jayBiZWZvcmVCYXNpY0Jsb2NrLCBjb25z
dCBjaGFyKiBuYW1lID0gIiIpIHsgcmV0dXJuIExMVk1JbnNlcnRCYXNpY0Jsb2NrSW5Db250ZXh0
KGNvbnRleHQsIGJlZm9yZUJhc2ljQmxvY2ssIG5hbWUpOyB9CitzdGF0aWMgaW5saW5lIExCYXNp
Y0Jsb2NrIGFwcGVuZEJhc2ljQmxvY2soTENvbnRleHQgY29udGV4dCwgTFZhbHVlIGZ1bmN0aW9u
LCBjb25zdCBjaGFyKiBuYW1lID0gIiIpIHsgcmV0dXJuIGxsdm0tPkFwcGVuZEJhc2ljQmxvY2tJ
bkNvbnRleHQoY29udGV4dCwgZnVuY3Rpb24sIG5hbWUpOyB9CitzdGF0aWMgaW5saW5lIExCYXNp
Y0Jsb2NrIGluc2VydEJhc2ljQmxvY2soTENvbnRleHQgY29udGV4dCwgTEJhc2ljQmxvY2sgYmVm
b3JlQmFzaWNCbG9jaywgY29uc3QgY2hhciogbmFtZSA9ICIiKSB7IHJldHVybiBsbHZtLT5JbnNl
cnRCYXNpY0Jsb2NrSW5Db250ZXh0KGNvbnRleHQsIGJlZm9yZUJhc2ljQmxvY2ssIG5hbWUpOyB9
CiAKLXN0YXRpYyBpbmxpbmUgTFZhbHVlIGJ1aWxkUGhpKExCdWlsZGVyIGJ1aWxkZXIsIExUeXBl
IHR5cGUpIHsgcmV0dXJuIExMVk1CdWlsZFBoaShidWlsZGVyLCB0eXBlLCAiIik7IH0KK3N0YXRp
YyBpbmxpbmUgTFZhbHVlIGJ1aWxkUGhpKExCdWlsZGVyIGJ1aWxkZXIsIExUeXBlIHR5cGUpIHsg
cmV0dXJuIGxsdm0tPkJ1aWxkUGhpKGJ1aWxkZXIsIHR5cGUsICIiKTsgfQogc3RhdGljIGlubGlu
ZSB2b2lkIGFkZEluY29taW5nKExWYWx1ZSBwaGksIGNvbnN0IExWYWx1ZSogdmFsdWVzLCBjb25z
dCBMQmFzaWNCbG9jayogYmxvY2tzLCB1bnNpZ25lZCBudW1QcmVkZWNlc3NvcnMpCiB7Ci0gICAg
TExWTUFkZEluY29taW5nKHBoaSwgY29uc3RfY2FzdDxMVmFsdWUqPih2YWx1ZXMpLCBjb25zdF9j
YXN0PExCYXNpY0Jsb2NrKj4oYmxvY2tzKSwgbnVtUHJlZGVjZXNzb3JzKTsKKyAgICBsbHZtLT5B
ZGRJbmNvbWluZyhwaGksIGNvbnN0X2Nhc3Q8TFZhbHVlKj4odmFsdWVzKSwgY29uc3RfY2FzdDxM
QmFzaWNCbG9jayo+KGJsb2NrcyksIG51bVByZWRlY2Vzc29ycyk7CiB9CiBzdGF0aWMgaW5saW5l
IHZvaWQgYWRkSW5jb21pbmcoTFZhbHVlIHBoaSwgVmFsdWVGcm9tQmxvY2sgdmFsdWUxKQogewpA
QCAtMTgwLDQ0ICsxODEsNDQgQEAgc3RhdGljIGlubGluZSBMVmFsdWUgYnVpbGRQaGkoCiAgICAg
cmV0dXJuIHJlc3VsdDsKIH0KIAotc3RhdGljIGlubGluZSBMVmFsdWUgYnVpbGRBbGxvY2EoTEJ1
aWxkZXIgYnVpbGRlciwgTFR5cGUgdHlwZSkgeyByZXR1cm4gTExWTUJ1aWxkQWxsb2NhKGJ1aWxk
ZXIsIHR5cGUsICIiKTsgfQotc3RhdGljIGlubGluZSBMVmFsdWUgYnVpbGRBZGQoTEJ1aWxkZXIg
YnVpbGRlciwgTFZhbHVlIGxlZnQsIExWYWx1ZSByaWdodCkgeyByZXR1cm4gTExWTUJ1aWxkQWRk
KGJ1aWxkZXIsIGxlZnQsIHJpZ2h0LCAiIik7IH0KLXN0YXRpYyBpbmxpbmUgTFZhbHVlIGJ1aWxk
U3ViKExCdWlsZGVyIGJ1aWxkZXIsIExWYWx1ZSBsZWZ0LCBMVmFsdWUgcmlnaHQpIHsgcmV0dXJu
IExMVk1CdWlsZFN1YihidWlsZGVyLCBsZWZ0LCByaWdodCwgIiIpOyB9Ci1zdGF0aWMgaW5saW5l
IExWYWx1ZSBidWlsZE11bChMQnVpbGRlciBidWlsZGVyLCBMVmFsdWUgbGVmdCwgTFZhbHVlIHJp
Z2h0KSB7IHJldHVybiBMTFZNQnVpbGRNdWwoYnVpbGRlciwgbGVmdCwgcmlnaHQsICIiKTsgfQot
c3RhdGljIGlubGluZSBMVmFsdWUgYnVpbGREaXYoTEJ1aWxkZXIgYnVpbGRlciwgTFZhbHVlIGxl
ZnQsIExWYWx1ZSByaWdodCkgeyByZXR1cm4gTExWTUJ1aWxkU0RpdihidWlsZGVyLCBsZWZ0LCBy
aWdodCwgIiIpOyB9Ci1zdGF0aWMgaW5saW5lIExWYWx1ZSBidWlsZFJlbShMQnVpbGRlciBidWls
ZGVyLCBMVmFsdWUgbGVmdCwgTFZhbHVlIHJpZ2h0KSB7IHJldHVybiBMTFZNQnVpbGRTUmVtKGJ1
aWxkZXIsIGxlZnQsIHJpZ2h0LCAiIik7IH0KLXN0YXRpYyBpbmxpbmUgTFZhbHVlIGJ1aWxkTmVn
KExCdWlsZGVyIGJ1aWxkZXIsIExWYWx1ZSB2YWx1ZSkgeyByZXR1cm4gTExWTUJ1aWxkTmVnKGJ1
aWxkZXIsIHZhbHVlLCAiIik7IH0KLXN0YXRpYyBpbmxpbmUgTFZhbHVlIGJ1aWxkRkFkZChMQnVp
bGRlciBidWlsZGVyLCBMVmFsdWUgbGVmdCwgTFZhbHVlIHJpZ2h0KSB7IHJldHVybiBMTFZNQnVp
bGRGQWRkKGJ1aWxkZXIsIGxlZnQsIHJpZ2h0LCAiIik7IH0KLXN0YXRpYyBpbmxpbmUgTFZhbHVl
IGJ1aWxkRlN1YihMQnVpbGRlciBidWlsZGVyLCBMVmFsdWUgbGVmdCwgTFZhbHVlIHJpZ2h0KSB7
IHJldHVybiBMTFZNQnVpbGRGU3ViKGJ1aWxkZXIsIGxlZnQsIHJpZ2h0LCAiIik7IH0KLXN0YXRp
YyBpbmxpbmUgTFZhbHVlIGJ1aWxkRk11bChMQnVpbGRlciBidWlsZGVyLCBMVmFsdWUgbGVmdCwg
TFZhbHVlIHJpZ2h0KSB7IHJldHVybiBMTFZNQnVpbGRGTXVsKGJ1aWxkZXIsIGxlZnQsIHJpZ2h0
LCAiIik7IH0KLXN0YXRpYyBpbmxpbmUgTFZhbHVlIGJ1aWxkRkRpdihMQnVpbGRlciBidWlsZGVy
LCBMVmFsdWUgbGVmdCwgTFZhbHVlIHJpZ2h0KSB7IHJldHVybiBMTFZNQnVpbGRGRGl2KGJ1aWxk
ZXIsIGxlZnQsIHJpZ2h0LCAiIik7IH0KLXN0YXRpYyBpbmxpbmUgTFZhbHVlIGJ1aWxkRlJlbShM
QnVpbGRlciBidWlsZGVyLCBMVmFsdWUgbGVmdCwgTFZhbHVlIHJpZ2h0KSB7IHJldHVybiBMTFZN
QnVpbGRGUmVtKGJ1aWxkZXIsIGxlZnQsIHJpZ2h0LCAiIik7IH0KLXN0YXRpYyBpbmxpbmUgTFZh
bHVlIGJ1aWxkRk5lZyhMQnVpbGRlciBidWlsZGVyLCBMVmFsdWUgdmFsdWUpIHsgcmV0dXJuIExM
Vk1CdWlsZEZOZWcoYnVpbGRlciwgdmFsdWUsICIiKTsgfQotc3RhdGljIGlubGluZSBMVmFsdWUg
YnVpbGRBbmQoTEJ1aWxkZXIgYnVpbGRlciwgTFZhbHVlIGxlZnQsIExWYWx1ZSByaWdodCkgeyBy
ZXR1cm4gTExWTUJ1aWxkQW5kKGJ1aWxkZXIsIGxlZnQsIHJpZ2h0LCAiIik7IH0KLXN0YXRpYyBp
bmxpbmUgTFZhbHVlIGJ1aWxkT3IoTEJ1aWxkZXIgYnVpbGRlciwgTFZhbHVlIGxlZnQsIExWYWx1
ZSByaWdodCkgeyByZXR1cm4gTExWTUJ1aWxkT3IoYnVpbGRlciwgbGVmdCwgcmlnaHQsICIiKTsg
fQotc3RhdGljIGlubGluZSBMVmFsdWUgYnVpbGRYb3IoTEJ1aWxkZXIgYnVpbGRlciwgTFZhbHVl
IGxlZnQsIExWYWx1ZSByaWdodCkgeyByZXR1cm4gTExWTUJ1aWxkWG9yKGJ1aWxkZXIsIGxlZnQs
IHJpZ2h0LCAiIik7IH0KLXN0YXRpYyBpbmxpbmUgTFZhbHVlIGJ1aWxkU2hsKExCdWlsZGVyIGJ1
aWxkZXIsIExWYWx1ZSBsZWZ0LCBMVmFsdWUgcmlnaHQpIHsgcmV0dXJuIExMVk1CdWlsZFNobChi
dWlsZGVyLCBsZWZ0LCByaWdodCwgIiIpOyB9Ci1zdGF0aWMgaW5saW5lIExWYWx1ZSBidWlsZEFT
aHIoTEJ1aWxkZXIgYnVpbGRlciwgTFZhbHVlIGxlZnQsIExWYWx1ZSByaWdodCkgeyByZXR1cm4g
TExWTUJ1aWxkQVNocihidWlsZGVyLCBsZWZ0LCByaWdodCwgIiIpOyB9Ci1zdGF0aWMgaW5saW5l
IExWYWx1ZSBidWlsZExTaHIoTEJ1aWxkZXIgYnVpbGRlciwgTFZhbHVlIGxlZnQsIExWYWx1ZSBy
aWdodCkgeyByZXR1cm4gTExWTUJ1aWxkTFNocihidWlsZGVyLCBsZWZ0LCByaWdodCwgIiIpOyB9
Ci1zdGF0aWMgaW5saW5lIExWYWx1ZSBidWlsZE5vdChMQnVpbGRlciBidWlsZGVyLCBMVmFsdWUg
dmFsdWUpIHsgcmV0dXJuIExMVk1CdWlsZE5vdChidWlsZGVyLCB2YWx1ZSwgIiIpOyB9Ci1zdGF0
aWMgaW5saW5lIExWYWx1ZSBidWlsZExvYWQoTEJ1aWxkZXIgYnVpbGRlciwgTFZhbHVlIHBvaW50
ZXIpIHsgcmV0dXJuIExMVk1CdWlsZExvYWQoYnVpbGRlciwgcG9pbnRlciwgIiIpOyB9Ci1zdGF0
aWMgaW5saW5lIExWYWx1ZSBidWlsZFN0b3JlKExCdWlsZGVyIGJ1aWxkZXIsIExWYWx1ZSB2YWx1
ZSwgTFZhbHVlIHBvaW50ZXIpIHsgcmV0dXJuIExMVk1CdWlsZFN0b3JlKGJ1aWxkZXIsIHZhbHVl
LCBwb2ludGVyKTsgfQotc3RhdGljIGlubGluZSBMVmFsdWUgYnVpbGRTRXh0KExCdWlsZGVyIGJ1
aWxkZXIsIExWYWx1ZSB2YWx1ZSwgTFR5cGUgdHlwZSkgeyByZXR1cm4gTExWTUJ1aWxkU0V4dChi
dWlsZGVyLCB2YWx1ZSwgdHlwZSwgIiIpOyB9Ci1zdGF0aWMgaW5saW5lIExWYWx1ZSBidWlsZFpF
eHQoTEJ1aWxkZXIgYnVpbGRlciwgTFZhbHVlIHZhbHVlLCBMVHlwZSB0eXBlKSB7IHJldHVybiBM
TFZNQnVpbGRaRXh0KGJ1aWxkZXIsIHZhbHVlLCB0eXBlLCAiIik7IH0KLXN0YXRpYyBpbmxpbmUg
TFZhbHVlIGJ1aWxkRlBUb1NJKExCdWlsZGVyIGJ1aWxkZXIsIExWYWx1ZSB2YWx1ZSwgTFR5cGUg
dHlwZSkgeyByZXR1cm4gTExWTUJ1aWxkRlBUb1NJKGJ1aWxkZXIsIHZhbHVlLCB0eXBlLCAiIik7
IH0KLXN0YXRpYyBpbmxpbmUgTFZhbHVlIGJ1aWxkRlBUb1VJKExCdWlsZGVyIGJ1aWxkZXIsIExW
YWx1ZSB2YWx1ZSwgTFR5cGUgdHlwZSkgeyByZXR1cm4gTExWTUJ1aWxkRlBUb1VJKGJ1aWxkZXIs
IHZhbHVlLCB0eXBlLCAiIik7IH0KLXN0YXRpYyBpbmxpbmUgTFZhbHVlIGJ1aWxkU0lUb0ZQKExC
dWlsZGVyIGJ1aWxkZXIsIExWYWx1ZSB2YWx1ZSwgTFR5cGUgdHlwZSkgeyByZXR1cm4gTExWTUJ1
aWxkU0lUb0ZQKGJ1aWxkZXIsIHZhbHVlLCB0eXBlLCAiIik7IH0KLXN0YXRpYyBpbmxpbmUgTFZh
bHVlIGJ1aWxkVUlUb0ZQKExCdWlsZGVyIGJ1aWxkZXIsIExWYWx1ZSB2YWx1ZSwgTFR5cGUgdHlw
ZSkgeyByZXR1cm4gTExWTUJ1aWxkVUlUb0ZQKGJ1aWxkZXIsIHZhbHVlLCB0eXBlLCAiIik7IH0K
LXN0YXRpYyBpbmxpbmUgTFZhbHVlIGJ1aWxkSW50Q2FzdChMQnVpbGRlciBidWlsZGVyLCBMVmFs
dWUgdmFsdWUsIExUeXBlIHR5cGUpIHsgcmV0dXJuIExMVk1CdWlsZEludENhc3QoYnVpbGRlciwg
dmFsdWUsIHR5cGUsICIiKTsgfQotc3RhdGljIGlubGluZSBMVmFsdWUgYnVpbGRGUENhc3QoTEJ1
aWxkZXIgYnVpbGRlciwgTFZhbHVlIHZhbHVlLCBMVHlwZSB0eXBlKSB7IHJldHVybiBMTFZNQnVp
bGRGUENhc3QoYnVpbGRlciwgdmFsdWUsIHR5cGUsICIiKTsgfQotc3RhdGljIGlubGluZSBMVmFs
dWUgYnVpbGRJbnRUb1B0cihMQnVpbGRlciBidWlsZGVyLCBMVmFsdWUgdmFsdWUsIExUeXBlIHR5
cGUpIHsgcmV0dXJuIExMVk1CdWlsZEludFRvUHRyKGJ1aWxkZXIsIHZhbHVlLCB0eXBlLCAiIik7
IH0KLXN0YXRpYyBpbmxpbmUgTFZhbHVlIGJ1aWxkUHRyVG9JbnQoTEJ1aWxkZXIgYnVpbGRlciwg
TFZhbHVlIHZhbHVlLCBMVHlwZSB0eXBlKSB7IHJldHVybiBMTFZNQnVpbGRQdHJUb0ludChidWls
ZGVyLCB2YWx1ZSwgdHlwZSwgIiIpOyB9Ci1zdGF0aWMgaW5saW5lIExWYWx1ZSBidWlsZEJpdENh
c3QoTEJ1aWxkZXIgYnVpbGRlciwgTFZhbHVlIHZhbHVlLCBMVHlwZSB0eXBlKSB7IHJldHVybiBM
TFZNQnVpbGRCaXRDYXN0KGJ1aWxkZXIsIHZhbHVlLCB0eXBlLCAiIik7IH0KLXN0YXRpYyBpbmxp
bmUgTFZhbHVlIGJ1aWxkSUNtcChMQnVpbGRlciBidWlsZGVyLCBMSW50UHJlZGljYXRlIGNvbmQs
IExWYWx1ZSBsZWZ0LCBMVmFsdWUgcmlnaHQpIHsgcmV0dXJuIExMVk1CdWlsZElDbXAoYnVpbGRl
ciwgY29uZCwgbGVmdCwgcmlnaHQsICIiKTsgfQotc3RhdGljIGlubGluZSBMVmFsdWUgYnVpbGRG
Q21wKExCdWlsZGVyIGJ1aWxkZXIsIExSZWFsUHJlZGljYXRlIGNvbmQsIExWYWx1ZSBsZWZ0LCBM
VmFsdWUgcmlnaHQpIHsgcmV0dXJuIExMVk1CdWlsZEZDbXAoYnVpbGRlciwgY29uZCwgbGVmdCwg
cmlnaHQsICIiKTsgfQorc3RhdGljIGlubGluZSBMVmFsdWUgYnVpbGRBbGxvY2EoTEJ1aWxkZXIg
YnVpbGRlciwgTFR5cGUgdHlwZSkgeyByZXR1cm4gbGx2bS0+QnVpbGRBbGxvY2EoYnVpbGRlciwg
dHlwZSwgIiIpOyB9CitzdGF0aWMgaW5saW5lIExWYWx1ZSBidWlsZEFkZChMQnVpbGRlciBidWls
ZGVyLCBMVmFsdWUgbGVmdCwgTFZhbHVlIHJpZ2h0KSB7IHJldHVybiBsbHZtLT5CdWlsZEFkZChi
dWlsZGVyLCBsZWZ0LCByaWdodCwgIiIpOyB9CitzdGF0aWMgaW5saW5lIExWYWx1ZSBidWlsZFN1
YihMQnVpbGRlciBidWlsZGVyLCBMVmFsdWUgbGVmdCwgTFZhbHVlIHJpZ2h0KSB7IHJldHVybiBs
bHZtLT5CdWlsZFN1YihidWlsZGVyLCBsZWZ0LCByaWdodCwgIiIpOyB9CitzdGF0aWMgaW5saW5l
IExWYWx1ZSBidWlsZE11bChMQnVpbGRlciBidWlsZGVyLCBMVmFsdWUgbGVmdCwgTFZhbHVlIHJp
Z2h0KSB7IHJldHVybiBsbHZtLT5CdWlsZE11bChidWlsZGVyLCBsZWZ0LCByaWdodCwgIiIpOyB9
CitzdGF0aWMgaW5saW5lIExWYWx1ZSBidWlsZERpdihMQnVpbGRlciBidWlsZGVyLCBMVmFsdWUg
bGVmdCwgTFZhbHVlIHJpZ2h0KSB7IHJldHVybiBsbHZtLT5CdWlsZFNEaXYoYnVpbGRlciwgbGVm
dCwgcmlnaHQsICIiKTsgfQorc3RhdGljIGlubGluZSBMVmFsdWUgYnVpbGRSZW0oTEJ1aWxkZXIg
YnVpbGRlciwgTFZhbHVlIGxlZnQsIExWYWx1ZSByaWdodCkgeyByZXR1cm4gbGx2bS0+QnVpbGRT
UmVtKGJ1aWxkZXIsIGxlZnQsIHJpZ2h0LCAiIik7IH0KK3N0YXRpYyBpbmxpbmUgTFZhbHVlIGJ1
aWxkTmVnKExCdWlsZGVyIGJ1aWxkZXIsIExWYWx1ZSB2YWx1ZSkgeyByZXR1cm4gbGx2bS0+QnVp
bGROZWcoYnVpbGRlciwgdmFsdWUsICIiKTsgfQorc3RhdGljIGlubGluZSBMVmFsdWUgYnVpbGRG
QWRkKExCdWlsZGVyIGJ1aWxkZXIsIExWYWx1ZSBsZWZ0LCBMVmFsdWUgcmlnaHQpIHsgcmV0dXJu
IGxsdm0tPkJ1aWxkRkFkZChidWlsZGVyLCBsZWZ0LCByaWdodCwgIiIpOyB9CitzdGF0aWMgaW5s
aW5lIExWYWx1ZSBidWlsZEZTdWIoTEJ1aWxkZXIgYnVpbGRlciwgTFZhbHVlIGxlZnQsIExWYWx1
ZSByaWdodCkgeyByZXR1cm4gbGx2bS0+QnVpbGRGU3ViKGJ1aWxkZXIsIGxlZnQsIHJpZ2h0LCAi
Iik7IH0KK3N0YXRpYyBpbmxpbmUgTFZhbHVlIGJ1aWxkRk11bChMQnVpbGRlciBidWlsZGVyLCBM
VmFsdWUgbGVmdCwgTFZhbHVlIHJpZ2h0KSB7IHJldHVybiBsbHZtLT5CdWlsZEZNdWwoYnVpbGRl
ciwgbGVmdCwgcmlnaHQsICIiKTsgfQorc3RhdGljIGlubGluZSBMVmFsdWUgYnVpbGRGRGl2KExC
dWlsZGVyIGJ1aWxkZXIsIExWYWx1ZSBsZWZ0LCBMVmFsdWUgcmlnaHQpIHsgcmV0dXJuIGxsdm0t
PkJ1aWxkRkRpdihidWlsZGVyLCBsZWZ0LCByaWdodCwgIiIpOyB9CitzdGF0aWMgaW5saW5lIExW
YWx1ZSBidWlsZEZSZW0oTEJ1aWxkZXIgYnVpbGRlciwgTFZhbHVlIGxlZnQsIExWYWx1ZSByaWdo
dCkgeyByZXR1cm4gbGx2bS0+QnVpbGRGUmVtKGJ1aWxkZXIsIGxlZnQsIHJpZ2h0LCAiIik7IH0K
K3N0YXRpYyBpbmxpbmUgTFZhbHVlIGJ1aWxkRk5lZyhMQnVpbGRlciBidWlsZGVyLCBMVmFsdWUg
dmFsdWUpIHsgcmV0dXJuIGxsdm0tPkJ1aWxkRk5lZyhidWlsZGVyLCB2YWx1ZSwgIiIpOyB9Citz
dGF0aWMgaW5saW5lIExWYWx1ZSBidWlsZEFuZChMQnVpbGRlciBidWlsZGVyLCBMVmFsdWUgbGVm
dCwgTFZhbHVlIHJpZ2h0KSB7IHJldHVybiBsbHZtLT5CdWlsZEFuZChidWlsZGVyLCBsZWZ0LCBy
aWdodCwgIiIpOyB9CitzdGF0aWMgaW5saW5lIExWYWx1ZSBidWlsZE9yKExCdWlsZGVyIGJ1aWxk
ZXIsIExWYWx1ZSBsZWZ0LCBMVmFsdWUgcmlnaHQpIHsgcmV0dXJuIGxsdm0tPkJ1aWxkT3IoYnVp
bGRlciwgbGVmdCwgcmlnaHQsICIiKTsgfQorc3RhdGljIGlubGluZSBMVmFsdWUgYnVpbGRYb3Io
TEJ1aWxkZXIgYnVpbGRlciwgTFZhbHVlIGxlZnQsIExWYWx1ZSByaWdodCkgeyByZXR1cm4gbGx2
bS0+QnVpbGRYb3IoYnVpbGRlciwgbGVmdCwgcmlnaHQsICIiKTsgfQorc3RhdGljIGlubGluZSBM
VmFsdWUgYnVpbGRTaGwoTEJ1aWxkZXIgYnVpbGRlciwgTFZhbHVlIGxlZnQsIExWYWx1ZSByaWdo
dCkgeyByZXR1cm4gbGx2bS0+QnVpbGRTaGwoYnVpbGRlciwgbGVmdCwgcmlnaHQsICIiKTsgfQor
c3RhdGljIGlubGluZSBMVmFsdWUgYnVpbGRBU2hyKExCdWlsZGVyIGJ1aWxkZXIsIExWYWx1ZSBs
ZWZ0LCBMVmFsdWUgcmlnaHQpIHsgcmV0dXJuIGxsdm0tPkJ1aWxkQVNocihidWlsZGVyLCBsZWZ0
LCByaWdodCwgIiIpOyB9CitzdGF0aWMgaW5saW5lIExWYWx1ZSBidWlsZExTaHIoTEJ1aWxkZXIg
YnVpbGRlciwgTFZhbHVlIGxlZnQsIExWYWx1ZSByaWdodCkgeyByZXR1cm4gbGx2bS0+QnVpbGRM
U2hyKGJ1aWxkZXIsIGxlZnQsIHJpZ2h0LCAiIik7IH0KK3N0YXRpYyBpbmxpbmUgTFZhbHVlIGJ1
aWxkTm90KExCdWlsZGVyIGJ1aWxkZXIsIExWYWx1ZSB2YWx1ZSkgeyByZXR1cm4gbGx2bS0+QnVp
bGROb3QoYnVpbGRlciwgdmFsdWUsICIiKTsgfQorc3RhdGljIGlubGluZSBMVmFsdWUgYnVpbGRM
b2FkKExCdWlsZGVyIGJ1aWxkZXIsIExWYWx1ZSBwb2ludGVyKSB7IHJldHVybiBsbHZtLT5CdWls
ZExvYWQoYnVpbGRlciwgcG9pbnRlciwgIiIpOyB9CitzdGF0aWMgaW5saW5lIExWYWx1ZSBidWls
ZFN0b3JlKExCdWlsZGVyIGJ1aWxkZXIsIExWYWx1ZSB2YWx1ZSwgTFZhbHVlIHBvaW50ZXIpIHsg
cmV0dXJuIGxsdm0tPkJ1aWxkU3RvcmUoYnVpbGRlciwgdmFsdWUsIHBvaW50ZXIpOyB9CitzdGF0
aWMgaW5saW5lIExWYWx1ZSBidWlsZFNFeHQoTEJ1aWxkZXIgYnVpbGRlciwgTFZhbHVlIHZhbHVl
LCBMVHlwZSB0eXBlKSB7IHJldHVybiBsbHZtLT5CdWlsZFNFeHQoYnVpbGRlciwgdmFsdWUsIHR5
cGUsICIiKTsgfQorc3RhdGljIGlubGluZSBMVmFsdWUgYnVpbGRaRXh0KExCdWlsZGVyIGJ1aWxk
ZXIsIExWYWx1ZSB2YWx1ZSwgTFR5cGUgdHlwZSkgeyByZXR1cm4gbGx2bS0+QnVpbGRaRXh0KGJ1
aWxkZXIsIHZhbHVlLCB0eXBlLCAiIik7IH0KK3N0YXRpYyBpbmxpbmUgTFZhbHVlIGJ1aWxkRlBU
b1NJKExCdWlsZGVyIGJ1aWxkZXIsIExWYWx1ZSB2YWx1ZSwgTFR5cGUgdHlwZSkgeyByZXR1cm4g
bGx2bS0+QnVpbGRGUFRvU0koYnVpbGRlciwgdmFsdWUsIHR5cGUsICIiKTsgfQorc3RhdGljIGlu
bGluZSBMVmFsdWUgYnVpbGRGUFRvVUkoTEJ1aWxkZXIgYnVpbGRlciwgTFZhbHVlIHZhbHVlLCBM
VHlwZSB0eXBlKSB7IHJldHVybiBsbHZtLT5CdWlsZEZQVG9VSShidWlsZGVyLCB2YWx1ZSwgdHlw
ZSwgIiIpOyB9CitzdGF0aWMgaW5saW5lIExWYWx1ZSBidWlsZFNJVG9GUChMQnVpbGRlciBidWls
ZGVyLCBMVmFsdWUgdmFsdWUsIExUeXBlIHR5cGUpIHsgcmV0dXJuIGxsdm0tPkJ1aWxkU0lUb0ZQ
KGJ1aWxkZXIsIHZhbHVlLCB0eXBlLCAiIik7IH0KK3N0YXRpYyBpbmxpbmUgTFZhbHVlIGJ1aWxk
VUlUb0ZQKExCdWlsZGVyIGJ1aWxkZXIsIExWYWx1ZSB2YWx1ZSwgTFR5cGUgdHlwZSkgeyByZXR1
cm4gbGx2bS0+QnVpbGRVSVRvRlAoYnVpbGRlciwgdmFsdWUsIHR5cGUsICIiKTsgfQorc3RhdGlj
IGlubGluZSBMVmFsdWUgYnVpbGRJbnRDYXN0KExCdWlsZGVyIGJ1aWxkZXIsIExWYWx1ZSB2YWx1
ZSwgTFR5cGUgdHlwZSkgeyByZXR1cm4gbGx2bS0+QnVpbGRJbnRDYXN0KGJ1aWxkZXIsIHZhbHVl
LCB0eXBlLCAiIik7IH0KK3N0YXRpYyBpbmxpbmUgTFZhbHVlIGJ1aWxkRlBDYXN0KExCdWlsZGVy
IGJ1aWxkZXIsIExWYWx1ZSB2YWx1ZSwgTFR5cGUgdHlwZSkgeyByZXR1cm4gbGx2bS0+QnVpbGRG
UENhc3QoYnVpbGRlciwgdmFsdWUsIHR5cGUsICIiKTsgfQorc3RhdGljIGlubGluZSBMVmFsdWUg
YnVpbGRJbnRUb1B0cihMQnVpbGRlciBidWlsZGVyLCBMVmFsdWUgdmFsdWUsIExUeXBlIHR5cGUp
IHsgcmV0dXJuIGxsdm0tPkJ1aWxkSW50VG9QdHIoYnVpbGRlciwgdmFsdWUsIHR5cGUsICIiKTsg
fQorc3RhdGljIGlubGluZSBMVmFsdWUgYnVpbGRQdHJUb0ludChMQnVpbGRlciBidWlsZGVyLCBM
VmFsdWUgdmFsdWUsIExUeXBlIHR5cGUpIHsgcmV0dXJuIGxsdm0tPkJ1aWxkUHRyVG9JbnQoYnVp
bGRlciwgdmFsdWUsIHR5cGUsICIiKTsgfQorc3RhdGljIGlubGluZSBMVmFsdWUgYnVpbGRCaXRD
YXN0KExCdWlsZGVyIGJ1aWxkZXIsIExWYWx1ZSB2YWx1ZSwgTFR5cGUgdHlwZSkgeyByZXR1cm4g
bGx2bS0+QnVpbGRCaXRDYXN0KGJ1aWxkZXIsIHZhbHVlLCB0eXBlLCAiIik7IH0KK3N0YXRpYyBp
bmxpbmUgTFZhbHVlIGJ1aWxkSUNtcChMQnVpbGRlciBidWlsZGVyLCBMSW50UHJlZGljYXRlIGNv
bmQsIExWYWx1ZSBsZWZ0LCBMVmFsdWUgcmlnaHQpIHsgcmV0dXJuIGxsdm0tPkJ1aWxkSUNtcChi
dWlsZGVyLCBjb25kLCBsZWZ0LCByaWdodCwgIiIpOyB9CitzdGF0aWMgaW5saW5lIExWYWx1ZSBi
dWlsZEZDbXAoTEJ1aWxkZXIgYnVpbGRlciwgTFJlYWxQcmVkaWNhdGUgY29uZCwgTFZhbHVlIGxl
ZnQsIExWYWx1ZSByaWdodCkgeyByZXR1cm4gbGx2bS0+QnVpbGRGQ21wKGJ1aWxkZXIsIGNvbmQs
IGxlZnQsIHJpZ2h0LCAiIik7IH0KIHN0YXRpYyBpbmxpbmUgTFZhbHVlIGJ1aWxkQ2FsbChMQnVp
bGRlciBidWlsZGVyLCBMVmFsdWUgZnVuY3Rpb24sIGNvbnN0IExWYWx1ZSogYXJncywgdW5zaWdu
ZWQgbnVtQXJncykKIHsKLSAgICByZXR1cm4gTExWTUJ1aWxkQ2FsbChidWlsZGVyLCBmdW5jdGlv
biwgY29uc3RfY2FzdDxMVmFsdWUqPihhcmdzKSwgbnVtQXJncywgIiIpOworICAgIHJldHVybiBs
bHZtLT5CdWlsZENhbGwoYnVpbGRlciwgZnVuY3Rpb24sIGNvbnN0X2Nhc3Q8TFZhbHVlKj4oYXJn
cyksIG51bUFyZ3MsICIiKTsKIH0KIHRlbXBsYXRlPHR5cGVuYW1lIFZlY3RvclR5cGU+CiBpbmxp
bmUgTFZhbHVlIGJ1aWxkQ2FsbChMQnVpbGRlciBidWlsZGVyLCBMVmFsdWUgZnVuY3Rpb24sIGNv
bnN0IFZlY3RvclR5cGUmIHZlY3RvcikKQEAgLTI0OCwxMyArMjQ5LDEzIEBAIHN0YXRpYyBpbmxp
bmUgTFZhbHVlIGJ1aWxkQ2FsbChMQnVpbGRlciAKICAgICByZXR1cm4gYnVpbGRDYWxsKGJ1aWxk
ZXIsIGZ1bmN0aW9uLCBhcmdzLCA0KTsKIH0KIGVudW0gVGFpbENhbGxNb2RlIHsgSXNOb3RUYWls
Q2FsbCwgSXNUYWlsQ2FsbCB9Owotc3RhdGljIGlubGluZSB2b2lkIHNldFRhaWxDYWxsKExWYWx1
ZSBjYWxsLCBUYWlsQ2FsbE1vZGUgbW9kZSkgeyBMTFZNU2V0VGFpbENhbGwoY2FsbCwgbW9kZSA9
PSBJc1RhaWxDYWxsKTsgfQotc3RhdGljIGlubGluZSBMVmFsdWUgYnVpbGRFeHRyYWN0VmFsdWUo
TEJ1aWxkZXIgYnVpbGRlciwgTFZhbHVlIGFnZ1ZhbCwgdW5zaWduZWQgaW5kZXgpIHsgcmV0dXJu
IExMVk1CdWlsZEV4dHJhY3RWYWx1ZShidWlsZGVyLCBhZ2dWYWwsIGluZGV4LCAiIik7IH0KLXN0
YXRpYyBpbmxpbmUgTFZhbHVlIGJ1aWxkU2VsZWN0KExCdWlsZGVyIGJ1aWxkZXIsIExWYWx1ZSBj
b25kaXRpb24sIExWYWx1ZSB0YWtlbiwgTFZhbHVlIG5vdFRha2VuKSB7IHJldHVybiBMTFZNQnVp
bGRTZWxlY3QoYnVpbGRlciwgY29uZGl0aW9uLCB0YWtlbiwgbm90VGFrZW4sICIiKTsgfQotc3Rh
dGljIGlubGluZSBMVmFsdWUgYnVpbGRCcihMQnVpbGRlciBidWlsZGVyLCBMQmFzaWNCbG9jayBk
ZXN0aW5hdGlvbikgeyByZXR1cm4gTExWTUJ1aWxkQnIoYnVpbGRlciwgZGVzdGluYXRpb24pOyB9
Ci1zdGF0aWMgaW5saW5lIExWYWx1ZSBidWlsZENvbmRCcihMQnVpbGRlciBidWlsZGVyLCBMVmFs
dWUgY29uZGl0aW9uLCBMQmFzaWNCbG9jayB0YWtlbiwgTEJhc2ljQmxvY2sgbm90VGFrZW4pIHsg
cmV0dXJuIExMVk1CdWlsZENvbmRCcihidWlsZGVyLCBjb25kaXRpb24sIHRha2VuLCBub3RUYWtl
bik7IH0KLXN0YXRpYyBpbmxpbmUgTFZhbHVlIGJ1aWxkU3dpdGNoKExCdWlsZGVyIGJ1aWxkZXIs
IExWYWx1ZSB2YWx1ZSwgTEJhc2ljQmxvY2sgZmFsbFRocm91Z2gsIHVuc2lnbmVkIG51bUNhc2Vz
KSB7IHJldHVybiBMTFZNQnVpbGRTd2l0Y2goYnVpbGRlciwgdmFsdWUsIGZhbGxUaHJvdWdoLCBu
dW1DYXNlcyk7IH0KLXN0YXRpYyBpbmxpbmUgdm9pZCBhZGRDYXNlKExWYWx1ZSBzd2l0Y2hJbnN0
LCBMVmFsdWUgdmFsdWUsIExCYXNpY0Jsb2NrIHRhcmdldCkgeyBMTFZNQWRkQ2FzZShzd2l0Y2hJ
bnN0LCB2YWx1ZSwgdGFyZ2V0KTsgfQorc3RhdGljIGlubGluZSB2b2lkIHNldFRhaWxDYWxsKExW
YWx1ZSBjYWxsLCBUYWlsQ2FsbE1vZGUgbW9kZSkgeyBsbHZtLT5TZXRUYWlsQ2FsbChjYWxsLCBt
b2RlID09IElzVGFpbENhbGwpOyB9CitzdGF0aWMgaW5saW5lIExWYWx1ZSBidWlsZEV4dHJhY3RW
YWx1ZShMQnVpbGRlciBidWlsZGVyLCBMVmFsdWUgYWdnVmFsLCB1bnNpZ25lZCBpbmRleCkgeyBy
ZXR1cm4gbGx2bS0+QnVpbGRFeHRyYWN0VmFsdWUoYnVpbGRlciwgYWdnVmFsLCBpbmRleCwgIiIp
OyB9CitzdGF0aWMgaW5saW5lIExWYWx1ZSBidWlsZFNlbGVjdChMQnVpbGRlciBidWlsZGVyLCBM
VmFsdWUgY29uZGl0aW9uLCBMVmFsdWUgdGFrZW4sIExWYWx1ZSBub3RUYWtlbikgeyByZXR1cm4g
bGx2bS0+QnVpbGRTZWxlY3QoYnVpbGRlciwgY29uZGl0aW9uLCB0YWtlbiwgbm90VGFrZW4sICIi
KTsgfQorc3RhdGljIGlubGluZSBMVmFsdWUgYnVpbGRCcihMQnVpbGRlciBidWlsZGVyLCBMQmFz
aWNCbG9jayBkZXN0aW5hdGlvbikgeyByZXR1cm4gbGx2bS0+QnVpbGRCcihidWlsZGVyLCBkZXN0
aW5hdGlvbik7IH0KK3N0YXRpYyBpbmxpbmUgTFZhbHVlIGJ1aWxkQ29uZEJyKExCdWlsZGVyIGJ1
aWxkZXIsIExWYWx1ZSBjb25kaXRpb24sIExCYXNpY0Jsb2NrIHRha2VuLCBMQmFzaWNCbG9jayBu
b3RUYWtlbikgeyByZXR1cm4gbGx2bS0+QnVpbGRDb25kQnIoYnVpbGRlciwgY29uZGl0aW9uLCB0
YWtlbiwgbm90VGFrZW4pOyB9CitzdGF0aWMgaW5saW5lIExWYWx1ZSBidWlsZFN3aXRjaChMQnVp
bGRlciBidWlsZGVyLCBMVmFsdWUgdmFsdWUsIExCYXNpY0Jsb2NrIGZhbGxUaHJvdWdoLCB1bnNp
Z25lZCBudW1DYXNlcykgeyByZXR1cm4gbGx2bS0+QnVpbGRTd2l0Y2goYnVpbGRlciwgdmFsdWUs
IGZhbGxUaHJvdWdoLCBudW1DYXNlcyk7IH0KK3N0YXRpYyBpbmxpbmUgdm9pZCBhZGRDYXNlKExW
YWx1ZSBzd2l0Y2hJbnN0LCBMVmFsdWUgdmFsdWUsIExCYXNpY0Jsb2NrIHRhcmdldCkgeyBsbHZt
LT5BZGRDYXNlKHN3aXRjaEluc3QsIHZhbHVlLCB0YXJnZXQpOyB9CiB0ZW1wbGF0ZTx0eXBlbmFt
ZSBWZWN0b3JUeXBlPgogc3RhdGljIGlubGluZSBMVmFsdWUgYnVpbGRTd2l0Y2goTEJ1aWxkZXIg
YnVpbGRlciwgTFZhbHVlIHZhbHVlLCBjb25zdCBWZWN0b3JUeXBlJiBjYXNlcywgTEJhc2ljQmxv
Y2sgZmFsbFRocm91Z2gpCiB7CkBAIC0yNjMsMTUgKzI2NCwxNSBAQCBzdGF0aWMgaW5saW5lIExW
YWx1ZSBidWlsZFN3aXRjaChMQnVpbGRlCiAgICAgICAgIGFkZENhc2UocmVzdWx0LCBjYXNlc1tp
XS52YWx1ZSgpLCBjYXNlc1tpXS50YXJnZXQoKSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLXN0
YXRpYyBpbmxpbmUgTFZhbHVlIGJ1aWxkUmV0KExCdWlsZGVyIGJ1aWxkZXIsIExWYWx1ZSB2YWx1
ZSkgeyByZXR1cm4gTExWTUJ1aWxkUmV0KGJ1aWxkZXIsIHZhbHVlKTsgfQotc3RhdGljIGlubGlu
ZSBMVmFsdWUgYnVpbGRVbnJlYWNoYWJsZShMQnVpbGRlciBidWlsZGVyKSB7IHJldHVybiBMTFZN
QnVpbGRVbnJlYWNoYWJsZShidWlsZGVyKTsgfQorc3RhdGljIGlubGluZSBMVmFsdWUgYnVpbGRS
ZXQoTEJ1aWxkZXIgYnVpbGRlciwgTFZhbHVlIHZhbHVlKSB7IHJldHVybiBsbHZtLT5CdWlsZFJl
dChidWlsZGVyLCB2YWx1ZSk7IH0KK3N0YXRpYyBpbmxpbmUgTFZhbHVlIGJ1aWxkVW5yZWFjaGFi
bGUoTEJ1aWxkZXIgYnVpbGRlcikgeyByZXR1cm4gbGx2bS0+QnVpbGRVbnJlYWNoYWJsZShidWls
ZGVyKTsgfQogCi1zdGF0aWMgaW5saW5lIHZvaWQgZHVtcE1vZHVsZShMTW9kdWxlIG1vZHVsZSkg
eyBMTFZNRHVtcE1vZHVsZShtb2R1bGUpOyB9CitzdGF0aWMgaW5saW5lIHZvaWQgZHVtcE1vZHVs
ZShMTW9kdWxlIG1vZHVsZSkgeyBsbHZtLT5EdW1wTW9kdWxlKG1vZHVsZSk7IH0KIHN0YXRpYyBp
bmxpbmUgdm9pZCB2ZXJpZnlNb2R1bGUoTE1vZHVsZSBtb2R1bGUpCiB7CiAgICAgY2hhciogZXJy
b3IgPSAwOwotICAgIExMVk1WZXJpZnlNb2R1bGUobW9kdWxlLCBMTFZNQWJvcnRQcm9jZXNzQWN0
aW9uLCAmZXJyb3IpOwotICAgIExMVk1EaXNwb3NlTWVzc2FnZShlcnJvcik7CisgICAgbGx2bS0+
VmVyaWZ5TW9kdWxlKG1vZHVsZSwgTExWTUFib3J0UHJvY2Vzc0FjdGlvbiwgJmVycm9yKTsKKyAg
ICBsbHZtLT5EaXNwb3NlTWVzc2FnZShlcnJvcik7CiB9CiAKIH0gfSAvLyBuYW1lc3BhY2UgSlND
OjpGVEwKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMQ29tcGlsZS5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExDb21waWxlLmNwcAkocmV2
aXNpb24gMTU3MjM3KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExDb21waWxlLmNw
cAkod29ya2luZyBjb3B5KQpAQCAtMzcsOSArMzcsOSBAQAogI2luY2x1ZGUgIkZUTEpJVENvZGUu
aCIKICNpbmNsdWRlICJGVExUaHVua3MuaCIKICNpbmNsdWRlICJKSVRTdHVicy5oIgorI2luY2x1
ZGUgIkxMVk1BUEkuaCIKICNpbmNsdWRlICJMaW5rQnVmZmVyLmgiCiAjaW5jbHVkZSAiUmVwYXRj
aEJ1ZmZlci5oIgotI2luY2x1ZGUgPHd0Zi9MTFZNSGVhZGVycy5oPgogCiBuYW1lc3BhY2UgSlND
IHsgbmFtZXNwYWNlIEZUTCB7CiAKQEAgLTE1NSw1MiArMTU1LDUyIEBAIHZvaWQgY29tcGlsZShT
dGF0ZSYgc3RhdGUpCiAgICAgY2hhciogZXJyb3IgPSAwOwogICAgIAogICAgIExMVk1NQ0pJVENv
bXBpbGVyT3B0aW9ucyBvcHRpb25zOwotICAgIExMVk1Jbml0aWFsaXplTUNKSVRDb21waWxlck9w
dGlvbnMoJm9wdGlvbnMsIHNpemVvZihvcHRpb25zKSk7CisgICAgbGx2bS0+SW5pdGlhbGl6ZU1D
SklUQ29tcGlsZXJPcHRpb25zKCZvcHRpb25zLCBzaXplb2Yob3B0aW9ucykpOwogICAgIG9wdGlv
bnMuT3B0TGV2ZWwgPSBPcHRpb25zOjpsbHZtQmFja2VuZE9wdGltaXphdGlvbkxldmVsKCk7CiAg
ICAgb3B0aW9ucy5Ob0ZyYW1lUG9pbnRlckVsaW0gPSB0cnVlOwogICAgIGlmIChPcHRpb25zOjp1
c2VMTFZNU21hbGxDb2RlTW9kZWwoKSkKICAgICAgICAgb3B0aW9ucy5Db2RlTW9kZWwgPSBMTFZN
Q29kZU1vZGVsU21hbGw7CiAgICAgb3B0aW9ucy5FbmFibGVGYXN0SVNlbCA9IE9wdGlvbnM6OmVu
YWJsZUxMVk1GYXN0SVNlbCgpOwotICAgIG9wdGlvbnMuTUNKTU0gPSBMTFZNQ3JlYXRlU2ltcGxl
TUNKSVRNZW1vcnlNYW5hZ2VyKAorICAgIG9wdGlvbnMuTUNKTU0gPSBsbHZtLT5DcmVhdGVTaW1w
bGVNQ0pJVE1lbW9yeU1hbmFnZXIoCiAgICAgICAgICZzdGF0ZSwgbW1BbGxvY2F0ZUNvZGVTZWN0
aW9uLCBtbUFsbG9jYXRlRGF0YVNlY3Rpb24sIG1tQXBwbHlQZXJtaXNzaW9ucywgbW1EZXN0cm95
KTsKICAgICAKICAgICBMTFZNRXhlY3V0aW9uRW5naW5lUmVmIGVuZ2luZTsKICAgICAKLSAgICBp
ZiAoTExWTUNyZWF0ZU1DSklUQ29tcGlsZXJGb3JNb2R1bGUoJmVuZ2luZSwgc3RhdGUubW9kdWxl
LCAmb3B0aW9ucywgc2l6ZW9mKG9wdGlvbnMpLCAmZXJyb3IpKSB7CisgICAgaWYgKGxsdm0tPkNy
ZWF0ZU1DSklUQ29tcGlsZXJGb3JNb2R1bGUoJmVuZ2luZSwgc3RhdGUubW9kdWxlLCAmb3B0aW9u
cywgc2l6ZW9mKG9wdGlvbnMpLCAmZXJyb3IpKSB7CiAgICAgICAgIGRhdGFMb2coIkZBVEFMOiBD
b3VsZCBub3QgY3JlYXRlIExMVk0gZXhlY3V0aW9uIGVuZ2luZTogIiwgZXJyb3IsICJcbiIpOwog
ICAgICAgICBDUkFTSCgpOwogICAgIH0KIAotICAgIExMVk1QYXNzTWFuYWdlckJ1aWxkZXJSZWYg
cGFzc0J1aWxkZXIgPSBMTFZNUGFzc01hbmFnZXJCdWlsZGVyQ3JlYXRlKCk7Ci0gICAgTExWTVBh
c3NNYW5hZ2VyQnVpbGRlclNldE9wdExldmVsKHBhc3NCdWlsZGVyLCBPcHRpb25zOjpsbHZtT3B0
aW1pemF0aW9uTGV2ZWwoKSk7Ci0gICAgTExWTVBhc3NNYW5hZ2VyQnVpbGRlclNldFNpemVMZXZl
bChwYXNzQnVpbGRlciwgT3B0aW9uczo6bGx2bVNpemVMZXZlbCgpKTsKKyAgICBMTFZNUGFzc01h
bmFnZXJCdWlsZGVyUmVmIHBhc3NCdWlsZGVyID0gbGx2bS0+UGFzc01hbmFnZXJCdWlsZGVyQ3Jl
YXRlKCk7CisgICAgbGx2bS0+UGFzc01hbmFnZXJCdWlsZGVyU2V0T3B0TGV2ZWwocGFzc0J1aWxk
ZXIsIE9wdGlvbnM6Omxsdm1PcHRpbWl6YXRpb25MZXZlbCgpKTsKKyAgICBsbHZtLT5QYXNzTWFu
YWdlckJ1aWxkZXJTZXRTaXplTGV2ZWwocGFzc0J1aWxkZXIsIE9wdGlvbnM6Omxsdm1TaXplTGV2
ZWwoKSk7CiAgICAgCi0gICAgTExWTVBhc3NNYW5hZ2VyUmVmIGZ1bmN0aW9uUGFzc2VzID0gTExW
TUNyZWF0ZUZ1bmN0aW9uUGFzc01hbmFnZXJGb3JNb2R1bGUoc3RhdGUubW9kdWxlKTsKLSAgICBM
TFZNUGFzc01hbmFnZXJSZWYgbW9kdWxlUGFzc2VzID0gTExWTUNyZWF0ZVBhc3NNYW5hZ2VyKCk7
CisgICAgTExWTVBhc3NNYW5hZ2VyUmVmIGZ1bmN0aW9uUGFzc2VzID0gbGx2bS0+Q3JlYXRlRnVu
Y3Rpb25QYXNzTWFuYWdlckZvck1vZHVsZShzdGF0ZS5tb2R1bGUpOworICAgIExMVk1QYXNzTWFu
YWdlclJlZiBtb2R1bGVQYXNzZXMgPSBsbHZtLT5DcmVhdGVQYXNzTWFuYWdlcigpOwogICAgIAot
ICAgIExMVk1BZGRUYXJnZXREYXRhKExMVk1HZXRFeGVjdXRpb25FbmdpbmVUYXJnZXREYXRhKGVu
Z2luZSksIG1vZHVsZVBhc3Nlcyk7CisgICAgbGx2bS0+QWRkVGFyZ2V0RGF0YShsbHZtLT5HZXRF
eGVjdXRpb25FbmdpbmVUYXJnZXREYXRhKGVuZ2luZSksIG1vZHVsZVBhc3Nlcyk7CiAgICAgCi0g
ICAgTExWTVBhc3NNYW5hZ2VyQnVpbGRlclBvcHVsYXRlRnVuY3Rpb25QYXNzTWFuYWdlcihwYXNz
QnVpbGRlciwgZnVuY3Rpb25QYXNzZXMpOwotICAgIExMVk1QYXNzTWFuYWdlckJ1aWxkZXJQb3B1
bGF0ZU1vZHVsZVBhc3NNYW5hZ2VyKHBhc3NCdWlsZGVyLCBtb2R1bGVQYXNzZXMpOworICAgIGxs
dm0tPlBhc3NNYW5hZ2VyQnVpbGRlclBvcHVsYXRlRnVuY3Rpb25QYXNzTWFuYWdlcihwYXNzQnVp
bGRlciwgZnVuY3Rpb25QYXNzZXMpOworICAgIGxsdm0tPlBhc3NNYW5hZ2VyQnVpbGRlclBvcHVs
YXRlTW9kdWxlUGFzc01hbmFnZXIocGFzc0J1aWxkZXIsIG1vZHVsZVBhc3Nlcyk7CiAgICAgCi0g
ICAgTExWTVBhc3NNYW5hZ2VyQnVpbGRlckRpc3Bvc2UocGFzc0J1aWxkZXIpOworICAgIGxsdm0t
PlBhc3NNYW5hZ2VyQnVpbGRlckRpc3Bvc2UocGFzc0J1aWxkZXIpOwogCi0gICAgTExWTUluaXRp
YWxpemVGdW5jdGlvblBhc3NNYW5hZ2VyKGZ1bmN0aW9uUGFzc2VzKTsKLSAgICBmb3IgKExWYWx1
ZSBmdW5jdGlvbiA9IExMVk1HZXRGaXJzdEZ1bmN0aW9uKHN0YXRlLm1vZHVsZSk7IGZ1bmN0aW9u
OyBmdW5jdGlvbiA9IExMVk1HZXROZXh0RnVuY3Rpb24oZnVuY3Rpb24pKQotICAgICAgICBMTFZN
UnVuRnVuY3Rpb25QYXNzTWFuYWdlcihmdW5jdGlvblBhc3NlcywgZnVuY3Rpb24pOwotICAgIExM
Vk1GaW5hbGl6ZUZ1bmN0aW9uUGFzc01hbmFnZXIoZnVuY3Rpb25QYXNzZXMpOworICAgIGxsdm0t
PkluaXRpYWxpemVGdW5jdGlvblBhc3NNYW5hZ2VyKGZ1bmN0aW9uUGFzc2VzKTsKKyAgICBmb3Ig
KExWYWx1ZSBmdW5jdGlvbiA9IGxsdm0tPkdldEZpcnN0RnVuY3Rpb24oc3RhdGUubW9kdWxlKTsg
ZnVuY3Rpb247IGZ1bmN0aW9uID0gbGx2bS0+R2V0TmV4dEZ1bmN0aW9uKGZ1bmN0aW9uKSkKKyAg
ICAgICAgbGx2bS0+UnVuRnVuY3Rpb25QYXNzTWFuYWdlcihmdW5jdGlvblBhc3NlcywgZnVuY3Rp
b24pOworICAgIGxsdm0tPkZpbmFsaXplRnVuY3Rpb25QYXNzTWFuYWdlcihmdW5jdGlvblBhc3Nl
cyk7CiAgICAgCi0gICAgTExWTVJ1blBhc3NNYW5hZ2VyKG1vZHVsZVBhc3Nlcywgc3RhdGUubW9k
dWxlKTsKKyAgICBsbHZtLT5SdW5QYXNzTWFuYWdlcihtb2R1bGVQYXNzZXMsIHN0YXRlLm1vZHVs
ZSk7CiAKICAgICBpZiAoREZHOjpzaG91bGRTaG93RGlzYXNzZW1ibHkoKSB8fCBERkc6OnZlcmJv
c2VDb21waWxhdGlvbkVuYWJsZWQoKSkKICAgICAgICAgc3RhdGUuZHVtcFN0YXRlKCJhZnRlciBv
cHRpbWl6YXRpb24iKTsKICAgICAKICAgICAvLyBGSVhNRTogTmVlZCB0byBhZGQgc3VwcG9ydCBm
b3IgdGhlIGNhc2Ugd2hlcmUgSklUIG1lbW9yeSBhbGxvY2F0aW9uIGZhaWxlZC4KICAgICAvLyBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTEzNjIwCi0gICAgc3RhdGUu
Z2VuZXJhdGVkRnVuY3Rpb24gPSByZWludGVycHJldF9jYXN0PEdlbmVyYXRlZEZ1bmN0aW9uPihM
TFZNR2V0UG9pbnRlclRvR2xvYmFsKGVuZ2luZSwgc3RhdGUuZnVuY3Rpb24pKTsKLSAgICBMTFZN
RGlzcG9zZVBhc3NNYW5hZ2VyKGZ1bmN0aW9uUGFzc2VzKTsKLSAgICBMTFZNRGlzcG9zZVBhc3NN
YW5hZ2VyKG1vZHVsZVBhc3Nlcyk7Ci0gICAgTExWTURpc3Bvc2VFeGVjdXRpb25FbmdpbmUoZW5n
aW5lKTsKKyAgICBzdGF0ZS5nZW5lcmF0ZWRGdW5jdGlvbiA9IHJlaW50ZXJwcmV0X2Nhc3Q8R2Vu
ZXJhdGVkRnVuY3Rpb24+KGxsdm0tPkdldFBvaW50ZXJUb0dsb2JhbChlbmdpbmUsIHN0YXRlLmZ1
bmN0aW9uKSk7CisgICAgbGx2bS0+RGlzcG9zZVBhc3NNYW5hZ2VyKGZ1bmN0aW9uUGFzc2VzKTsK
KyAgICBsbHZtLT5EaXNwb3NlUGFzc01hbmFnZXIobW9kdWxlUGFzc2VzKTsKKyAgICBsbHZtLT5E
aXNwb3NlRXhlY3V0aW9uRW5naW5lKGVuZ2luZSk7CiAKICAgICBpZiAoc2hvdWxkU2hvd0Rpc2Fz
c2VtYmx5KCkpIHsKICAgICAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IHN0YXRlLmppdENv
ZGUtPmhhbmRsZXMoKS5zaXplKCk7ICsraSkgewpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3Jl
L2Z0bC9GVExGYWlsLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRs
L0ZUTEZhaWwuY3BwCShyZXZpc2lvbiAxNTcyMzcpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
ZnRsL0ZUTEZhaWwuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMCw3ICszMCw3IEBACiAKICNpbmNs
dWRlICJERkdGYWlsZWRGaW5hbGl6ZXIuaCIKICNpbmNsdWRlICJGVExKSVRDb2RlLmgiCi0jaW5j
bHVkZSA8d3RmL0xMVk1IZWFkZXJzLmg+CisjaW5jbHVkZSAiTExWTUFQSS5oIgogCiBuYW1lc3Bh
Y2UgSlNDIHsgbmFtZXNwYWNlIEZUTCB7CiAKQEAgLTQxLDcgKzQxLDcgQEAgdm9pZCBmYWlsKFN0
YXRlJiBzdGF0ZSkKICAgICBzdGF0ZS5ncmFwaC5tX3BsYW4uZmluYWxpemVyID0gYWRvcHRQdHIo
bmV3IEZhaWxlZEZpbmFsaXplcihzdGF0ZS5ncmFwaC5tX3BsYW4pKTsKICAgICAKICAgICBpZiAo
c3RhdGUubW9kdWxlKQotICAgICAgICBMTFZNRGlzcG9zZU1vZHVsZShzdGF0ZS5tb2R1bGUpOwor
ICAgICAgICBsbHZtLT5EaXNwb3NlTW9kdWxlKHN0YXRlLm1vZHVsZSk7CiB9CiAKIH0gfSAvLyBu
YW1lc3BhY2UgSlNDOjpGVEwKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMSklU
Q29kZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMSklUQ29k
ZS5oCShyZXZpc2lvbiAxNTcyMzcpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTEpJ
VENvZGUuaAkod29ya2luZyBjb3B5KQpAQCAtMzQsNyArMzQsNyBAQAogI2luY2x1ZGUgIkZUTE9T
UkV4aXQuaCIKICNpbmNsdWRlICJGVExTdGFja01hcHMuaCIKICNpbmNsdWRlICJKSVRDb2RlLmgi
Ci0jaW5jbHVkZSA8d3RmL0xMVk1IZWFkZXJzLmg+CisjaW5jbHVkZSAiTExWTUFQSS5oIgogI2lu
Y2x1ZGUgPHd0Zi9SZWZDb3VudGVkQXJyYXkuaD4KIAogbmFtZXNwYWNlIEpTQyB7IG5hbWVzcGFj
ZSBGVEwgewpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExKSVRGaW5hbGl6ZXIu
aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTEpJVEZpbmFsaXpl
ci5oCShyZXZpc2lvbiAxNTcyMzcpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTEpJ
VEZpbmFsaXplci5oCSh3b3JraW5nIGNvcHkpCkBAIC0zMyw5ICszMyw5IEBACiAjaW5jbHVkZSAi
REZHRmluYWxpemVyLmgiCiAjaW5jbHVkZSAiRlRMR2VuZXJhdGVkRnVuY3Rpb24uaCIKICNpbmNs
dWRlICJGVExKSVRDb2RlLmgiCisjaW5jbHVkZSAiTExWTUFQSS5oIgogI2luY2x1ZGUgIkxpbmtC
dWZmZXIuaCIKICNpbmNsdWRlICJNYWNyb0Fzc2VtYmxlci5oIgotI2luY2x1ZGUgPHd0Zi9MTFZN
SGVhZGVycy5oPgogCiBuYW1lc3BhY2UgSlNDIHsgbmFtZXNwYWNlIEZUTCB7CiAKSW5kZXg6IFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMTGluay5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L0phdmFTY3JpcHRDb3JlL2Z0bC9GVExMaW5rLmNwcAkocmV2aXNpb24gMTU3MjM3KQorKysgU291
cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExMaW5rLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzUs
OSArMzUsOSBAQAogI2luY2x1ZGUgIkZUTEpJVENvZGUuaCIKICNpbmNsdWRlICJKSVRPcGVyYXRp
b25zLmgiCiAjaW5jbHVkZSAiSklUU3R1YnMuaCIKKyNpbmNsdWRlICJMTFZNQVBJLmgiCiAjaW5j
bHVkZSAiTGlua0J1ZmZlci5oIgogI2luY2x1ZGUgIlZpcnR1YWxSZWdpc3Rlci5oIgotI2luY2x1
ZGUgPHd0Zi9MTFZNSGVhZGVycy5oPgogCiBuYW1lc3BhY2UgSlNDIHsgbmFtZXNwYWNlIEZUTCB7
CiAKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMTG93ZXJERkdUb0xMVk0uY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMTG93ZXJERkdUb0xM
Vk0uY3BwCShyZXZpc2lvbiAxNTcyMzcpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZU
TExvd2VyREZHVG9MTFZNLmNwcAkod29ya2luZyBjb3B5KQpAQCAtOTcsNyArOTcsNyBAQCBwdWJs
aWM6CiAgICAgICAgIG1fZ3JhcGgubV9kb21pbmF0b3JzLmNvbXB1dGVJZk5lY2Vzc2FyeShtX2dy
YXBoKTsKICAgICAgICAgCiAgICAgICAgIG1fZnRsU3RhdGUubW9kdWxlID0KLSAgICAgICAgICAg
IExMVk1Nb2R1bGVDcmVhdGVXaXRoTmFtZUluQ29udGV4dChuYW1lLmRhdGEoKSwgbV9mdGxTdGF0
ZS5jb250ZXh0KTsKKyAgICAgICAgICAgIGxsdm0tPk1vZHVsZUNyZWF0ZVdpdGhOYW1lSW5Db250
ZXh0KG5hbWUuZGF0YSgpLCBtX2Z0bFN0YXRlLmNvbnRleHQpOwogICAgICAgICAKICAgICAgICAg
bV9mdGxTdGF0ZS5mdW5jdGlvbiA9IGFkZEZ1bmN0aW9uKAogICAgICAgICAgICAgbV9mdGxTdGF0
ZS5tb2R1bGUsIG5hbWUuZGF0YSgpLCBmdW5jdGlvblR5cGUobV9vdXQuaW50NjQsIG1fb3V0Lmlu
dFB0cikpOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExPdXRwdXQuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMT3V0cHV0LmNwcAkocmV2
aXNpb24gMTU3MjM3KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExPdXRwdXQuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC0zNCw3ICszNCw3IEBAIE91dHB1dDo6T3V0cHV0KExDb250ZXh0
IGNvbnRleHQpCiAgICAgOiBJbnRyaW5zaWNSZXBvc2l0b3J5KGNvbnRleHQpCiAgICAgLCBtX2Z1
bmN0aW9uKDApCiAgICAgLCBtX2hlYXBzKDApCi0gICAgLCBtX2J1aWxkZXIoTExWTUNyZWF0ZUJ1
aWxkZXJJbkNvbnRleHQobV9jb250ZXh0KSkKKyAgICAsIG1fYnVpbGRlcihsbHZtLT5DcmVhdGVC
dWlsZGVySW5Db250ZXh0KG1fY29udGV4dCkpCiAgICAgLCBtX2Jsb2NrKDApCiAgICAgLCBtX25l
eHRCbG9jaygwKQogewpAQCAtNDIsNyArNDIsNyBAQCBPdXRwdXQ6Ok91dHB1dChMQ29udGV4dCBj
b250ZXh0KQogCiBPdXRwdXQ6On5PdXRwdXQoKQogewotICAgIExMVk1EaXNwb3NlQnVpbGRlciht
X2J1aWxkZXIpOworICAgIGxsdm0tPkRpc3Bvc2VCdWlsZGVyKG1fYnVpbGRlcik7CiB9CiAKIH0g
fSAvLyBuYW1lc3BhY2UgSlNDOjpGVEwKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwv
RlRMT3V0cHV0LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExP
dXRwdXQuaAkocmV2aXNpb24gMTU3MjM3KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9G
VExPdXRwdXQuaAkod29ya2luZyBjb3B5KQpAQCAtOTQsNyArOTQsNyBAQCBwdWJsaWM6CiAgICAg
ewogICAgICAgICBtX2Jsb2NrID0gYmxvY2s7CiAgICAgICAgIAotICAgICAgICBMTFZNUG9zaXRp
b25CdWlsZGVyQXRFbmQobV9idWlsZGVyLCBibG9jayk7CisgICAgICAgIGxsdm0tPlBvc2l0aW9u
QnVpbGRlckF0RW5kKG1fYnVpbGRlciwgYmxvY2spOwogICAgIH0KICAgICBMQmFzaWNCbG9jayBu
ZXdCbG9jayhjb25zdCBjaGFyKiBuYW1lID0gIiIpCiAgICAgewpJbmRleDogU291cmNlL0phdmFT
Y3JpcHRDb3JlL2Z0bC9GVExTdGF0ZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3Jp
cHRDb3JlL2Z0bC9GVExTdGF0ZS5jcHAJKHJldmlzaW9uIDE1NzIzNykKKysrIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9mdGwvRlRMU3RhdGUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zOSw3ICszOSw3
IEBAIHVzaW5nIG5hbWVzcGFjZSBERkc7CiAKIFN0YXRlOjpTdGF0ZShHcmFwaCYgZ3JhcGgpCiAg
ICAgOiBncmFwaChncmFwaCkKLSAgICAsIGNvbnRleHQoTExWTUNvbnRleHRDcmVhdGUoKSkKKyAg
ICAsIGNvbnRleHQobGx2bS0+Q29udGV4dENyZWF0ZSgpKQogICAgICwgbW9kdWxlKDApCiAgICAg
LCBmdW5jdGlvbigwKQogICAgICwgZ2VuZXJhdGVkRnVuY3Rpb24oMCkKQEAgLTY3LDcgKzY3LDcg
QEAgU3RhdGU6OlN0YXRlKEdyYXBoJiBncmFwaCkKIAogU3RhdGU6On5TdGF0ZSgpCiB7Ci0gICAg
TExWTUNvbnRleHREaXNwb3NlKGNvbnRleHQpOworICAgIGxsdm0tPkNvbnRleHREaXNwb3NlKGNv
bnRleHQpOwogfQogCiB2b2lkIFN0YXRlOjpkdW1wU3RhdGUoY29uc3QgY2hhciogd2hlbikKSW5k
ZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvV2ViS2l0TExWTUxpYnJhcnlBbmNob3IuY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvV2ViS2l0TExWTUxpYnJh
cnlBbmNob3IuY3BwCShyZXZpc2lvbiAxNTcyMzcpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
ZnRsL1dlYktpdExMVk1MaWJyYXJ5QW5jaG9yLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMSwzNCAr
MCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDEzIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAq
IDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg
Y29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQot
ICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQ
UExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKLSAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCi0gKiBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAq
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9S
Ci0gKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwgU1BFQ0lBTCwKLSAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFBST0NVUkVNRU5UIE9GIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgotICogUFJPRklU
UzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRI
RU9SWQotICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAotICovCi0KLSNp
bmNsdWRlICJjb25maWcuaCIKLQotI2lmIEVOQUJMRShGVExfSklUKQotLy8gVGhpcyBpcyBhIGhh
Y2sgZm9yIGVuc3VyaW5nIHRoYXQgdGhlIGJ1aWxkIHN5c3RlbSByZWxpbmtzIEphdmFTY3JpcHRD
b3JlIGlmIGFueQotLy8gb2YgdGhlIExMVk0gbGlicmFyaWVzIGFyZSBrbm93biB0byBoYXZlIGNo
YW5nZWQuCi0jaW5jbHVkZSAiV2ViS2l0TExWTUxpYnJhcnlUb2tlbi5oIgotCi0jZW5kaWYKLQpJ
bmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2xsdm0vSW5pdGlhbGl6ZUxMVk0uY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbHZtL0luaXRpYWxpemVMTFZNLmNwcAko
cmV2aXNpb24gMCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbHZtL0luaXRpYWxpemVMTFZN
LmNwcAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw0NSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykg
MjAxMyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cisg
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4g
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisg
KiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4g
Tk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExB
UlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
CisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLiAKKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAi
SW5pdGlhbGl6ZUxMVk0uaCIKKworI2lmIEhBVkUoTExWTSkKKworI2luY2x1ZGUgPHB0aHJlYWQu
aD4KKworbmFtZXNwYWNlIEpTQyB7CisKK3N0YXRpYyBwdGhyZWFkX29uY2VfdCBpbml0aWFsaXpl
TExWTU9uY2VLZXkgPSBQVEhSRUFEX09OQ0VfSU5JVDsKKwordm9pZCBpbml0aWFsaXplTExWTSgp
Cit7CisgICAgcHRocmVhZF9vbmNlKCZpbml0aWFsaXplTExWTU9uY2VLZXksIGluaXRpYWxpemVM
TFZNSW1wbCk7Cit9CisKK30gLy8gbmFtZXNwYWNlIEpTQworCisjZW5kaWYgLy8gSEFWRShMTFZN
KQorCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvbGx2bS9Jbml0aWFsaXplTExWTS5oCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbHZtL0luaXRpYWxpemVMTFZNLmgJ
KHJldmlzaW9uIDApCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvbGx2bS9Jbml0aWFsaXplTExW
TS5oCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDQ0IEBACisvKgorICogQ29weXJpZ2h0IChDKSAy
MDEzIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAq
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBO
TyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFS
WSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UK
KyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuIAorICovCisKKyNpZm5kZWYgSW5pdGlhbGl6ZUxMVk1faAorI2RlZmlu
ZSBJbml0aWFsaXplTExWTV9oCisKKyNpbmNsdWRlIDx3dGYvUGxhdGZvcm0uaD4KKworI2lmIEhB
VkUoTExWTSkKKworbmFtZXNwYWNlIEpTQyB7CisKK3ZvaWQgaW5pdGlhbGl6ZUxMVk1JbXBsKCk7
CisKK3ZvaWQgaW5pdGlhbGl6ZUxMVk0oKTsgLy8gSXQncyBzYWZlIHRvIGNhbGwgdGhpcyBtdWx0
aXBsZSB0aW1lcy4KKworfSAvLyBuYW1lc3BhY2UgSlNDCisKKyNlbmRpZiAvLyBIQVZFKExMVk0p
CisKKyNlbmRpZiAvLyBJbml0aWFsaXplTExWTV9oCisKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbHZtL0luaXRpYWxpemVMTFZNTWFjLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbHZtL0luaXRpYWxpemVMTFZNTWFjLm1tCShyZXZpc2lvbiAwKQorKysgU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsdm0vSW5pdGlhbGl6ZUxMVk1NYWMubW0JKHJldmlzaW9uIDAp
CkBAIC0wLDAgKzEsNTcgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTMgQXBwbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBh
cmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElN
UExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFS
VElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQ
UExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1F
TlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9S
CisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4g
CisgKi8KKworI2ltcG9ydCAiY29uZmlnLmgiCisjaW1wb3J0ICJJbml0aWFsaXplTExWTS5oIgor
CisjaWYgSEFWRShMTFZNKQorCisjaW1wb3J0ICJJbml0aWFsaXplTExWTVBPU0lYLmgiCisjaW1w
b3J0IDxGb3VuZGF0aW9uL0ZvdW5kYXRpb24uaD4KKworLy8gVXNlIHRoZSAiSlMiIHByZWZpeCB0
byBtYWtlIGNoZWNrLWZvci1pbmFwcHJvcHJpYXRlLW9iamMtY2xhc3MtbmFtZXMgaGFwcHkuIEkK
Ky8vIHRoaW5rIHRoaXMgaXMgYmV0dGVyIHRoYW4gaGFja2luZyB0aGF0IHNjcmlwdC4KKworQGlu
dGVyZmFjZSBKU0phdmFTY3JpcHRDb3JlQnVuZGxlRmluZGVyIDogTlNPYmplY3QKK0BlbmQKKwor
QGltcGxlbWVudGF0aW9uIEpTSmF2YVNjcmlwdENvcmVCdW5kbGVGaW5kZXIKK0BlbmQKKworbmFt
ZXNwYWNlIEpTQyB7CisKK3ZvaWQgaW5pdGlhbGl6ZUxMVk1JbXBsKCkKK3sKKyAgICBAYXV0b3Jl
bGVhc2Vwb29sIHsKKyAgICAgICAgTlNCdW5kbGUgKm15QnVuZGxlID0gW05TQnVuZGxlIGJ1bmRs
ZUZvckNsYXNzOltKU0phdmFTY3JpcHRDb3JlQnVuZGxlRmluZGVyIGNsYXNzXV07CisgICAgICAg
IE5TU3RyaW5nICpwYXRoID0gW1tteUJ1bmRsZSBidW5kbGVQYXRoXSBzdHJpbmdCeUFwcGVuZGlu
Z1BhdGhDb21wb25lbnQ6QCJMaWJyYXJpZXMvbGlibGx2bUZvckpTQy5keWxpYiJdOworICAgICAg
ICAKKyAgICAgICAgaW5pdGlhbGl6ZUxMVk1QT1NJWChbcGF0aCBVVEY4U3RyaW5nXSk7CisgICAg
fQorfQorCit9IC8vIG5hbWVzcGFjZSBKU0MKKworI2VuZGlmIC8vIEhBVkUoTExWTSkKSW5kZXg6
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbHZtL0luaXRpYWxpemVMTFZNUE9TSVguY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbHZtL0luaXRpYWxpemVMTFZNUE9TSVgu
Y3BwCShyZXZpc2lvbiAwKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2xsdm0vSW5pdGlhbGl6
ZUxMVk1QT1NJWC5jcHAJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsNTMgQEAKKy8qCisgKiBDb3B5
cmlnaHQgKEMpIDIwMTMgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25z
IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgor
ICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycg
QU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBC
RSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAor
ICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgor
I2luY2x1ZGUgIkluaXRpYWxpemVMTFZNUE9TSVguaCIKKworI2lmIEhBVkUoTExWTSkKKworI2lu
Y2x1ZGUgIkxMVk1BUEkuaCIKKyNpbmNsdWRlIDxkbGZjbi5oPgorCituYW1lc3BhY2UgSlNDIHsK
KwordHlwZWRlZiBMTFZNQVBJKiAoKkluaXRpYWxpemVyRnVuY3Rpb24pKCk7CisKK3ZvaWQgaW5p
dGlhbGl6ZUxMVk1QT1NJWChjb25zdCBjaGFyKiBsaWJyYXJ5TmFtZSkKK3sKKyAgICB2b2lkKiBs
aWJyYXJ5ID0gZGxvcGVuKGxpYnJhcnlOYW1lLCBSVExEX05PVyk7CisgICAgQVNTRVJUX1dJVEhf
TUVTU0FHRShsaWJyYXJ5LCAiJXMiLCBkbGVycm9yKCkpOworICAgIAorICAgIEluaXRpYWxpemVy
RnVuY3Rpb24gaW5pdGlhbGl6ZXIgPSBiaXR3aXNlX2Nhc3Q8SW5pdGlhbGl6ZXJGdW5jdGlvbj4o
CisgICAgICAgIGRsc3ltKGxpYnJhcnksICJpbml0aWFsaXplQW5kR2V0SlNDTExWTUFQSSIpKTsK
KyAgICBBU1NFUlRfV0lUSF9NRVNTQUdFKGluaXRpYWxpemVyLCAiJXMiLCBkbGVycm9yKCkpOwor
ICAgIAorICAgIGxsdm0gPSBpbml0aWFsaXplcigpOworfQorCit9IC8vIG5hbWVzcGFjZSBKU0MK
KworI2VuZGlmIC8vIEhBVkUoTExWTSkKKwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
dm0vSW5pdGlhbGl6ZUxMVk1QT1NJWC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbHZtL0luaXRpYWxpemVMTFZNUE9TSVguaAkocmV2aXNpb24gMCkKKysrIFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbHZtL0luaXRpYWxpemVMTFZNUE9TSVguaAkocmV2aXNpb24gMCkKQEAg
LTAsMCArMSw0MiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMyBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBt
ZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUg
SU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBP
RiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAq
IFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKyAq
LworCisjaWZuZGVmIEluaXRpYWxpemVMTFZNUE9TSVhfaAorI2RlZmluZSBJbml0aWFsaXplTExW
TVBPU0lYX2gKKworI2luY2x1ZGUgPHd0Zi9QbGF0Zm9ybS5oPgorCisjaWYgSEFWRShMTFZNKQor
CituYW1lc3BhY2UgSlNDIHsKKwordm9pZCBpbml0aWFsaXplTExWTVBPU0lYKGNvbnN0IGNoYXIq
IGxpYnJhcnlOYW1lKTsKKworfSAvLyBuYW1lc3BhY2UgSlNDCisKKyNlbmRpZiAvLyBIQVZFKExM
Vk0pCisKKyNlbmRpZiAvLyBJbml0aWFsaXplTExWTVBPU0lYX2gKKwpJbmRleDogU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsdm0vTExWTUFQSS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsdm0vTExWTUFQSS5jcHAJKHJldmlzaW9uIDApCisrKyBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGx2bS9MTFZNQVBJLmNwcAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwzNyBAQAor
LyoKKyAqIENvcHlyaWdodCAoQykgMjAxMyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0
cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMu
IGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NF
IEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09O
VFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
IFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJV
U0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAq
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1Ig
VE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
RUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKyAqLworCisjaW5jbHVkZSAi
Y29uZmlnLmgiCisjaW5jbHVkZSAiTExWTUFQSS5oIgorCisjaWYgSEFWRShMTFZNKQorCituYW1l
c3BhY2UgSlNDIHsKKworTExWTUFQSSogbGx2bTsKKworfQorCisjZW5kaWYgLy8gSEFWRShMTFZN
KQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2xsdm0vTExWTUFQSS5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbHZtL0xMVk1BUEkuaAkocmV2aXNpb24gMCkKKysr
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbHZtL0xMVk1BUEkuaAkocmV2aXNpb24gMCkKQEAgLTAs
MCArMSw1MiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMyBBcHBsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6
CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
CisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5D
LiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBS
T0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkg
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKyAqLwor
CisjaWZuZGVmIExMVk1BUElfaAorI2RlZmluZSBMTFZNQVBJX2gKKworI2luY2x1ZGUgPHd0Zi9Q
bGF0Zm9ybS5oPgorCisjaWYgSEFWRShMTFZNKQorCisjaW5jbHVkZSAiTExWTUFQSUZ1bmN0aW9u
cy5oIgorI2luY2x1ZGUgIkxMVk1IZWFkZXJzLmgiCisKK25hbWVzcGFjZSBKU0MgeworCitzdHJ1
Y3QgTExWTUFQSSB7CisjZGVmaW5lIExMVk1fQVBJX0ZVTkNUSU9OX0RFQ0xBUkFUSU9OKHJldHVy
blR5cGUsIG5hbWUsIHNpZ25hdHVyZSkgXAorICAgIHJldHVyblR5cGUgKCpuYW1lKSBzaWduYXR1
cmU7CisgICAgRk9SX0VBQ0hfTExWTV9BUElfRlVOQ1RJT04oTExWTV9BUElfRlVOQ1RJT05fREVD
TEFSQVRJT04pCisjdW5kZWYgTExWTV9BUElfRlVOQ1RJT05fREVDTEFSQVRJT04KK307CisKK2V4
dGVybiBMTFZNQVBJKiBsbHZtOworCit9IC8vIG5hbWVzcGFjZSBKU0MKKworI2VuZGlmIC8vIEhB
VkUoTExWTSkKKworI2VuZGlmIC8vIExMVk1BUElfaAorCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGx2bS9MTFZNQVBJRnVuY3Rpb25zLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsdm0vTExWTUFQSUZ1bmN0aW9ucy5oCShyZXZpc2lvbiAwKQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsdm0vTExWTUFQSUZ1bmN0aW9ucy5oCShyZXZpc2lvbiAwKQpAQCAt
MCwwICsxLDYzNiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMyBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBt
ZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUg
SU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBP
RiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAq
IFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKyAq
LworCisjaWZuZGVmIExMVk1BUElGdW5jdGlvbnNfaAorI2RlZmluZSBMTFZNQVBJRnVuY3Rpb25z
X2gKKworI2luY2x1ZGUgIkxMVk1IZWFkZXJzLmgiCisKKyNkZWZpbmUgRk9SX0VBQ0hfTExWTV9B
UElfRlVOQ1RJT04obWFjcm8pIFwKKyAgICBtYWNybyh2b2lkLCBJbml0aWFsaXplQ29yZSwgKExM
Vk1QYXNzUmVnaXN0cnlSZWYgUikpIFwKKyAgICBtYWNybyh2b2lkLCBTaHV0ZG93biwgKCkpIFwK
KyAgICBtYWNybyhjaGFyICosIENyZWF0ZU1lc3NhZ2UsIChjb25zdCBjaGFyICpNZXNzYWdlKSkg
XAorICAgIG1hY3JvKHZvaWQsIERpc3Bvc2VNZXNzYWdlLCAoY2hhciAqTWVzc2FnZSkpIFwKKyAg
ICBtYWNybyhMTFZNQ29udGV4dFJlZiwgQ29udGV4dENyZWF0ZSwgKHZvaWQpKSBcCisgICAgbWFj
cm8oTExWTUNvbnRleHRSZWYsIEdldEdsb2JhbENvbnRleHQsICh2b2lkKSkgXAorICAgIG1hY3Jv
KHZvaWQsIENvbnRleHREaXNwb3NlLCAoTExWTUNvbnRleHRSZWYgQykpIFwKKyAgICBtYWNybyh1
bnNpZ25lZCwgR2V0TURLaW5kSURJbkNvbnRleHQsIChMTFZNQ29udGV4dFJlZiBDLCBjb25zdCBj
aGFyKiBOYW1lLCB1bnNpZ25lZCBTTGVuKSkgXAorICAgIG1hY3JvKHVuc2lnbmVkLCBHZXRNREtp
bmRJRCwgKGNvbnN0IGNoYXIqIE5hbWUsIHVuc2lnbmVkIFNMZW4pKSBcCisgICAgbWFjcm8oTExW
TU1vZHVsZVJlZiwgTW9kdWxlQ3JlYXRlV2l0aE5hbWUsIChjb25zdCBjaGFyICpNb2R1bGVJRCkp
IFwKKyAgICBtYWNybyhMTFZNTW9kdWxlUmVmLCBNb2R1bGVDcmVhdGVXaXRoTmFtZUluQ29udGV4
dCwgKGNvbnN0IGNoYXIgKk1vZHVsZUlELCBMTFZNQ29udGV4dFJlZiBDKSkgXAorICAgIG1hY3Jv
KHZvaWQsIERpc3Bvc2VNb2R1bGUsIChMTFZNTW9kdWxlUmVmIE0pKSBcCisgICAgbWFjcm8oY29u
c3QgY2hhciAqLCBHZXREYXRhTGF5b3V0LCAoTExWTU1vZHVsZVJlZiBNKSkgXAorICAgIG1hY3Jv
KHZvaWQsIFNldERhdGFMYXlvdXQsIChMTFZNTW9kdWxlUmVmIE0sIGNvbnN0IGNoYXIgKlRyaXBs
ZSkpIFwKKyAgICBtYWNybyhjb25zdCBjaGFyICosIEdldFRhcmdldCwgKExMVk1Nb2R1bGVSZWYg
TSkpIFwKKyAgICBtYWNybyh2b2lkLCBTZXRUYXJnZXQsIChMTFZNTW9kdWxlUmVmIE0sIGNvbnN0
IGNoYXIgKlRyaXBsZSkpIFwKKyAgICBtYWNybyh2b2lkLCBEdW1wTW9kdWxlLCAoTExWTU1vZHVs
ZVJlZiBNKSkgXAorICAgIG1hY3JvKExMVk1Cb29sLCBQcmludE1vZHVsZVRvRmlsZSwgKExMVk1N
b2R1bGVSZWYgTSwgY29uc3QgY2hhciAqRmlsZW5hbWUsIGNoYXIgKipFcnJvck1lc3NhZ2UpKSBc
CisgICAgbWFjcm8odm9pZCwgU2V0TW9kdWxlSW5saW5lQXNtLCAoTExWTU1vZHVsZVJlZiBNLCBj
b25zdCBjaGFyICpBc20pKSBcCisgICAgbWFjcm8oTExWTUNvbnRleHRSZWYsIEdldE1vZHVsZUNv
bnRleHQsIChMTFZNTW9kdWxlUmVmIE0pKSBcCisgICAgbWFjcm8oTExWTVR5cGVSZWYsIEdldFR5
cGVCeU5hbWUsIChMTFZNTW9kdWxlUmVmIE0sIGNvbnN0IGNoYXIgKk5hbWUpKSBcCisgICAgbWFj
cm8odW5zaWduZWQsIEdldE5hbWVkTWV0YWRhdGFOdW1PcGVyYW5kcywgKExMVk1Nb2R1bGVSZWYg
TSwgY29uc3QgY2hhciogbmFtZSkpIFwKKyAgICBtYWNybyh2b2lkLCBHZXROYW1lZE1ldGFkYXRh
T3BlcmFuZHMsIChMTFZNTW9kdWxlUmVmIE0sIGNvbnN0IGNoYXIqIG5hbWUsIExMVk1WYWx1ZVJl
ZiAqRGVzdCkpIFwKKyAgICBtYWNybyh2b2lkLCBBZGROYW1lZE1ldGFkYXRhT3BlcmFuZCwgKExM
Vk1Nb2R1bGVSZWYgTSwgY29uc3QgY2hhciogbmFtZSwgTExWTVZhbHVlUmVmIFZhbCkpIFwKKyAg
ICBtYWNybyhMTFZNVmFsdWVSZWYsIEFkZEZ1bmN0aW9uLCAoTExWTU1vZHVsZVJlZiBNLCBjb25z
dCBjaGFyICpOYW1lLCBMTFZNVHlwZVJlZiBGdW5jdGlvblR5KSkgXAorICAgIG1hY3JvKExMVk1W
YWx1ZVJlZiwgR2V0TmFtZWRGdW5jdGlvbiwgKExMVk1Nb2R1bGVSZWYgTSwgY29uc3QgY2hhciAq
TmFtZSkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIEdldEZpcnN0RnVuY3Rpb24sIChMTFZN
TW9kdWxlUmVmIE0pKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBHZXRMYXN0RnVuY3Rpb24s
IChMTFZNTW9kdWxlUmVmIE0pKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBHZXROZXh0RnVu
Y3Rpb24sIChMTFZNVmFsdWVSZWYgRm4pKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBHZXRQ
cmV2aW91c0Z1bmN0aW9uLCAoTExWTVZhbHVlUmVmIEZuKSkgXAorICAgIG1hY3JvKExMVk1UeXBl
S2luZCwgR2V0VHlwZUtpbmQsIChMTFZNVHlwZVJlZiBUeSkpIFwKKyAgICBtYWNybyhMTFZNQm9v
bCwgVHlwZUlzU2l6ZWQsIChMTFZNVHlwZVJlZiBUeSkpIFwKKyAgICBtYWNybyhMTFZNQ29udGV4
dFJlZiwgR2V0VHlwZUNvbnRleHQsIChMTFZNVHlwZVJlZiBUeSkpIFwKKyAgICBtYWNybyhMTFZN
VHlwZVJlZiwgSW50MVR5cGVJbkNvbnRleHQsIChMTFZNQ29udGV4dFJlZiBDKSkgXAorICAgIG1h
Y3JvKExMVk1UeXBlUmVmLCBJbnQ4VHlwZUluQ29udGV4dCwgKExMVk1Db250ZXh0UmVmIEMpKSBc
CisgICAgbWFjcm8oTExWTVR5cGVSZWYsIEludDE2VHlwZUluQ29udGV4dCwgKExMVk1Db250ZXh0
UmVmIEMpKSBcCisgICAgbWFjcm8oTExWTVR5cGVSZWYsIEludDMyVHlwZUluQ29udGV4dCwgKExM
Vk1Db250ZXh0UmVmIEMpKSBcCisgICAgbWFjcm8oTExWTVR5cGVSZWYsIEludDY0VHlwZUluQ29u
dGV4dCwgKExMVk1Db250ZXh0UmVmIEMpKSBcCisgICAgbWFjcm8oTExWTVR5cGVSZWYsIEludFR5
cGVJbkNvbnRleHQsIChMTFZNQ29udGV4dFJlZiBDLCB1bnNpZ25lZCBOdW1CaXRzKSkgXAorICAg
IG1hY3JvKExMVk1UeXBlUmVmLCBJbnQxVHlwZSwgKHZvaWQpKSBcCisgICAgbWFjcm8oTExWTVR5
cGVSZWYsIEludDhUeXBlLCAodm9pZCkpIFwKKyAgICBtYWNybyhMTFZNVHlwZVJlZiwgSW50MTZU
eXBlLCAodm9pZCkpIFwKKyAgICBtYWNybyhMTFZNVHlwZVJlZiwgSW50MzJUeXBlLCAodm9pZCkp
IFwKKyAgICBtYWNybyhMTFZNVHlwZVJlZiwgSW50NjRUeXBlLCAodm9pZCkpIFwKKyAgICBtYWNy
byhMTFZNVHlwZVJlZiwgSW50VHlwZSwgKHVuc2lnbmVkIE51bUJpdHMpKSBcCisgICAgbWFjcm8o
dW5zaWduZWQsIEdldEludFR5cGVXaWR0aCwgKExMVk1UeXBlUmVmIEludGVnZXJUeSkpIFwKKyAg
ICBtYWNybyhMTFZNVHlwZVJlZiwgSGFsZlR5cGVJbkNvbnRleHQsIChMTFZNQ29udGV4dFJlZiBD
KSkgXAorICAgIG1hY3JvKExMVk1UeXBlUmVmLCBGbG9hdFR5cGVJbkNvbnRleHQsIChMTFZNQ29u
dGV4dFJlZiBDKSkgXAorICAgIG1hY3JvKExMVk1UeXBlUmVmLCBEb3VibGVUeXBlSW5Db250ZXh0
LCAoTExWTUNvbnRleHRSZWYgQykpIFwKKyAgICBtYWNybyhMTFZNVHlwZVJlZiwgWDg2RlA4MFR5
cGVJbkNvbnRleHQsIChMTFZNQ29udGV4dFJlZiBDKSkgXAorICAgIG1hY3JvKExMVk1UeXBlUmVm
LCBGUDEyOFR5cGVJbkNvbnRleHQsIChMTFZNQ29udGV4dFJlZiBDKSkgXAorICAgIG1hY3JvKExM
Vk1UeXBlUmVmLCBQUENGUDEyOFR5cGVJbkNvbnRleHQsIChMTFZNQ29udGV4dFJlZiBDKSkgXAor
ICAgIG1hY3JvKExMVk1UeXBlUmVmLCBIYWxmVHlwZSwgKHZvaWQpKSBcCisgICAgbWFjcm8oTExW
TVR5cGVSZWYsIEZsb2F0VHlwZSwgKHZvaWQpKSBcCisgICAgbWFjcm8oTExWTVR5cGVSZWYsIERv
dWJsZVR5cGUsICh2b2lkKSkgXAorICAgIG1hY3JvKExMVk1UeXBlUmVmLCBYODZGUDgwVHlwZSwg
KHZvaWQpKSBcCisgICAgbWFjcm8oTExWTVR5cGVSZWYsIEZQMTI4VHlwZSwgKHZvaWQpKSBcCisg
ICAgbWFjcm8oTExWTVR5cGVSZWYsIFBQQ0ZQMTI4VHlwZSwgKHZvaWQpKSBcCisgICAgbWFjcm8o
TExWTVR5cGVSZWYsIEZ1bmN0aW9uVHlwZSwgKExMVk1UeXBlUmVmIFJldHVyblR5cGUsIExMVk1U
eXBlUmVmICpQYXJhbVR5cGVzLCB1bnNpZ25lZCBQYXJhbUNvdW50LCBMTFZNQm9vbCBJc1ZhckFy
ZykpIFwKKyAgICBtYWNybyhMTFZNQm9vbCwgSXNGdW5jdGlvblZhckFyZywgKExMVk1UeXBlUmVm
IEZ1bmN0aW9uVHkpKSBcCisgICAgbWFjcm8oTExWTVR5cGVSZWYsIEdldFJldHVyblR5cGUsIChM
TFZNVHlwZVJlZiBGdW5jdGlvblR5KSkgXAorICAgIG1hY3JvKHVuc2lnbmVkLCBDb3VudFBhcmFt
VHlwZXMsIChMTFZNVHlwZVJlZiBGdW5jdGlvblR5KSkgXAorICAgIG1hY3JvKHZvaWQsIEdldFBh
cmFtVHlwZXMsIChMTFZNVHlwZVJlZiBGdW5jdGlvblR5LCBMTFZNVHlwZVJlZiAqRGVzdCkpIFwK
KyAgICBtYWNybyhMTFZNVHlwZVJlZiwgU3RydWN0VHlwZUluQ29udGV4dCwgKExMVk1Db250ZXh0
UmVmIEMsIExMVk1UeXBlUmVmICpFbGVtZW50VHlwZXMsIHVuc2lnbmVkIEVsZW1lbnRDb3VudCwg
TExWTUJvb2wgUGFja2VkKSkgXAorICAgIG1hY3JvKExMVk1UeXBlUmVmLCBTdHJ1Y3RUeXBlLCAo
TExWTVR5cGVSZWYgKkVsZW1lbnRUeXBlcywgdW5zaWduZWQgRWxlbWVudENvdW50LCBMTFZNQm9v
bCBQYWNrZWQpKSBcCisgICAgbWFjcm8oTExWTVR5cGVSZWYsIFN0cnVjdENyZWF0ZU5hbWVkLCAo
TExWTUNvbnRleHRSZWYgQywgY29uc3QgY2hhciAqTmFtZSkpIFwKKyAgICBtYWNybyhjb25zdCBj
aGFyICosIEdldFN0cnVjdE5hbWUsIChMTFZNVHlwZVJlZiBUeSkpIFwKKyAgICBtYWNybyh2b2lk
LCBTdHJ1Y3RTZXRCb2R5LCAoTExWTVR5cGVSZWYgU3RydWN0VHksIExMVk1UeXBlUmVmICpFbGVt
ZW50VHlwZXMsIHVuc2lnbmVkIEVsZW1lbnRDb3VudCwgTExWTUJvb2wgUGFja2VkKSkgXAorICAg
IG1hY3JvKHVuc2lnbmVkLCBDb3VudFN0cnVjdEVsZW1lbnRUeXBlcywgKExMVk1UeXBlUmVmIFN0
cnVjdFR5KSkgXAorICAgIG1hY3JvKHZvaWQsIEdldFN0cnVjdEVsZW1lbnRUeXBlcywgKExMVk1U
eXBlUmVmIFN0cnVjdFR5LCBMTFZNVHlwZVJlZiAqRGVzdCkpIFwKKyAgICBtYWNybyhMTFZNQm9v
bCwgSXNQYWNrZWRTdHJ1Y3QsIChMTFZNVHlwZVJlZiBTdHJ1Y3RUeSkpIFwKKyAgICBtYWNybyhM
TFZNQm9vbCwgSXNPcGFxdWVTdHJ1Y3QsIChMTFZNVHlwZVJlZiBTdHJ1Y3RUeSkpIFwKKyAgICBt
YWNybyhMTFZNVHlwZVJlZiwgR2V0RWxlbWVudFR5cGUsIChMTFZNVHlwZVJlZiBUeSkpIFwKKyAg
ICBtYWNybyhMTFZNVHlwZVJlZiwgQXJyYXlUeXBlLCAoTExWTVR5cGVSZWYgRWxlbWVudFR5cGUs
IHVuc2lnbmVkIEVsZW1lbnRDb3VudCkpIFwKKyAgICBtYWNybyh1bnNpZ25lZCwgR2V0QXJyYXlM
ZW5ndGgsIChMTFZNVHlwZVJlZiBBcnJheVR5KSkgXAorICAgIG1hY3JvKExMVk1UeXBlUmVmLCBQ
b2ludGVyVHlwZSwgKExMVk1UeXBlUmVmIEVsZW1lbnRUeXBlLCB1bnNpZ25lZCBBZGRyZXNzU3Bh
Y2UpKSBcCisgICAgbWFjcm8odW5zaWduZWQsIEdldFBvaW50ZXJBZGRyZXNzU3BhY2UsIChMTFZN
VHlwZVJlZiBQb2ludGVyVHkpKSBcCisgICAgbWFjcm8oTExWTVR5cGVSZWYsIFZlY3RvclR5cGUs
IChMTFZNVHlwZVJlZiBFbGVtZW50VHlwZSwgdW5zaWduZWQgRWxlbWVudENvdW50KSkgXAorICAg
IG1hY3JvKHVuc2lnbmVkLCBHZXRWZWN0b3JTaXplLCAoTExWTVR5cGVSZWYgVmVjdG9yVHkpKSBc
CisgICAgbWFjcm8oTExWTVR5cGVSZWYsIFZvaWRUeXBlSW5Db250ZXh0LCAoTExWTUNvbnRleHRS
ZWYgQykpIFwKKyAgICBtYWNybyhMTFZNVHlwZVJlZiwgTGFiZWxUeXBlSW5Db250ZXh0LCAoTExW
TUNvbnRleHRSZWYgQykpIFwKKyAgICBtYWNybyhMTFZNVHlwZVJlZiwgWDg2TU1YVHlwZUluQ29u
dGV4dCwgKExMVk1Db250ZXh0UmVmIEMpKSBcCisgICAgbWFjcm8oTExWTVR5cGVSZWYsIFZvaWRU
eXBlLCAodm9pZCkpIFwKKyAgICBtYWNybyhMTFZNVHlwZVJlZiwgTGFiZWxUeXBlLCAodm9pZCkp
IFwKKyAgICBtYWNybyhMTFZNVHlwZVJlZiwgWDg2TU1YVHlwZSwgKHZvaWQpKSBcCisgICAgbWFj
cm8oTExWTVR5cGVSZWYsIFR5cGVPZiwgKExMVk1WYWx1ZVJlZiBWYWwpKSBcCisgICAgbWFjcm8o
Y29uc3QgY2hhciAqLCBHZXRWYWx1ZU5hbWUsIChMTFZNVmFsdWVSZWYgVmFsKSkgXAorICAgIG1h
Y3JvKHZvaWQsIFNldFZhbHVlTmFtZSwgKExMVk1WYWx1ZVJlZiBWYWwsIGNvbnN0IGNoYXIgKk5h
bWUpKSBcCisgICAgbWFjcm8odm9pZCwgRHVtcFZhbHVlLCAoTExWTVZhbHVlUmVmIFZhbCkpIFwK
KyAgICBtYWNybyh2b2lkLCBSZXBsYWNlQWxsVXNlc1dpdGgsIChMTFZNVmFsdWVSZWYgT2xkVmFs
LCBMTFZNVmFsdWVSZWYgTmV3VmFsKSkgXAorICAgIG1hY3JvKExMVk1Cb29sLCBJc0NvbnN0YW50
LCAoTExWTVZhbHVlUmVmIFZhbCkpIFwKKyAgICBtYWNybyhMTFZNQm9vbCwgSXNVbmRlZiwgKExM
Vk1WYWx1ZVJlZiBWYWwpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBJc0FBcmd1bWVudCwg
KExMVk1WYWx1ZVJlZiBWYWwpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBJc0FCYXNpY0Js
b2NrLCAoTExWTVZhbHVlUmVmIFZhbCkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIElzQUlu
bGluZUFzbSwgKExMVk1WYWx1ZVJlZiBWYWwpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBJ
c0FNRE5vZGUsIChMTFZNVmFsdWVSZWYgVmFsKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwg
SXNBTURTdHJpbmcsIChMTFZNVmFsdWVSZWYgVmFsKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJl
ZiwgSXNBVXNlciwgKExMVk1WYWx1ZVJlZiBWYWwpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVm
LCBJc0FDb25zdGFudCwgKExMVk1WYWx1ZVJlZiBWYWwpKSBcCisgICAgbWFjcm8oTExWTVZhbHVl
UmVmLCBJc0FCbG9ja0FkZHJlc3MsIChMTFZNVmFsdWVSZWYgVmFsKSkgXAorICAgIG1hY3JvKExM
Vk1WYWx1ZVJlZiwgSXNBQ29uc3RhbnRBZ2dyZWdhdGVaZXJvLCAoTExWTVZhbHVlUmVmIFZhbCkp
IFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIElzQUNvbnN0YW50QXJyYXksIChMTFZNVmFsdWVS
ZWYgVmFsKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgSXNBQ29uc3RhbnRFeHByLCAoTExW
TVZhbHVlUmVmIFZhbCkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIElzQUNvbnN0YW50RlAs
IChMTFZNVmFsdWVSZWYgVmFsKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgSXNBQ29uc3Rh
bnRJbnQsIChMTFZNVmFsdWVSZWYgVmFsKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgSXNB
Q29uc3RhbnRQb2ludGVyTnVsbCwgKExMVk1WYWx1ZVJlZiBWYWwpKSBcCisgICAgbWFjcm8oTExW
TVZhbHVlUmVmLCBJc0FDb25zdGFudFN0cnVjdCwgKExMVk1WYWx1ZVJlZiBWYWwpKSBcCisgICAg
bWFjcm8oTExWTVZhbHVlUmVmLCBJc0FDb25zdGFudFZlY3RvciwgKExMVk1WYWx1ZVJlZiBWYWwp
KSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBJc0FHbG9iYWxWYWx1ZSwgKExMVk1WYWx1ZVJl
ZiBWYWwpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBJc0FGdW5jdGlvbiwgKExMVk1WYWx1
ZVJlZiBWYWwpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBJc0FHbG9iYWxBbGlhcywgKExM
Vk1WYWx1ZVJlZiBWYWwpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBJc0FHbG9iYWxWYXJp
YWJsZSwgKExMVk1WYWx1ZVJlZiBWYWwpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBJc0FV
bmRlZlZhbHVlLCAoTExWTVZhbHVlUmVmIFZhbCkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYs
IElzQUluc3RydWN0aW9uLCAoTExWTVZhbHVlUmVmIFZhbCkpIFwKKyAgICBtYWNybyhMTFZNVmFs
dWVSZWYsIElzQUJpbmFyeU9wZXJhdG9yLCAoTExWTVZhbHVlUmVmIFZhbCkpIFwKKyAgICBtYWNy
byhMTFZNVmFsdWVSZWYsIElzQUNhbGxJbnN0LCAoTExWTVZhbHVlUmVmIFZhbCkpIFwKKyAgICBt
YWNybyhMTFZNVmFsdWVSZWYsIElzQUludHJpbnNpY0luc3QsIChMTFZNVmFsdWVSZWYgVmFsKSkg
XAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgSXNBRGJnSW5mb0ludHJpbnNpYywgKExMVk1WYWx1
ZVJlZiBWYWwpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBJc0FEYmdEZWNsYXJlSW5zdCwg
KExMVk1WYWx1ZVJlZiBWYWwpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBJc0FNZW1JbnRy
aW5zaWMsIChMTFZNVmFsdWVSZWYgVmFsKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgSXNB
TWVtQ3B5SW5zdCwgKExMVk1WYWx1ZVJlZiBWYWwpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVm
LCBJc0FNZW1Nb3ZlSW5zdCwgKExMVk1WYWx1ZVJlZiBWYWwpKSBcCisgICAgbWFjcm8oTExWTVZh
bHVlUmVmLCBJc0FNZW1TZXRJbnN0LCAoTExWTVZhbHVlUmVmIFZhbCkpIFwKKyAgICBtYWNybyhM
TFZNVmFsdWVSZWYsIElzQUNtcEluc3QsIChMTFZNVmFsdWVSZWYgVmFsKSkgXAorICAgIG1hY3Jv
KExMVk1WYWx1ZVJlZiwgSXNBRkNtcEluc3QsIChMTFZNVmFsdWVSZWYgVmFsKSkgXAorICAgIG1h
Y3JvKExMVk1WYWx1ZVJlZiwgSXNBSUNtcEluc3QsIChMTFZNVmFsdWVSZWYgVmFsKSkgXAorICAg
IG1hY3JvKExMVk1WYWx1ZVJlZiwgSXNBRXh0cmFjdEVsZW1lbnRJbnN0LCAoTExWTVZhbHVlUmVm
IFZhbCkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIElzQUdldEVsZW1lbnRQdHJJbnN0LCAo
TExWTVZhbHVlUmVmIFZhbCkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIElzQUluc2VydEVs
ZW1lbnRJbnN0LCAoTExWTVZhbHVlUmVmIFZhbCkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYs
IElzQUluc2VydFZhbHVlSW5zdCwgKExMVk1WYWx1ZVJlZiBWYWwpKSBcCisgICAgbWFjcm8oTExW
TVZhbHVlUmVmLCBJc0FMYW5kaW5nUGFkSW5zdCwgKExMVk1WYWx1ZVJlZiBWYWwpKSBcCisgICAg
bWFjcm8oTExWTVZhbHVlUmVmLCBJc0FQSElOb2RlLCAoTExWTVZhbHVlUmVmIFZhbCkpIFwKKyAg
ICBtYWNybyhMTFZNVmFsdWVSZWYsIElzQVNlbGVjdEluc3QsIChMTFZNVmFsdWVSZWYgVmFsKSkg
XAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgSXNBU2h1ZmZsZVZlY3Rvckluc3QsIChMTFZNVmFs
dWVSZWYgVmFsKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgSXNBU3RvcmVJbnN0LCAoTExW
TVZhbHVlUmVmIFZhbCkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIElzQVRlcm1pbmF0b3JJ
bnN0LCAoTExWTVZhbHVlUmVmIFZhbCkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIElzQUJy
YW5jaEluc3QsIChMTFZNVmFsdWVSZWYgVmFsKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwg
SXNBSW5kaXJlY3RCckluc3QsIChMTFZNVmFsdWVSZWYgVmFsKSkgXAorICAgIG1hY3JvKExMVk1W
YWx1ZVJlZiwgSXNBSW52b2tlSW5zdCwgKExMVk1WYWx1ZVJlZiBWYWwpKSBcCisgICAgbWFjcm8o
TExWTVZhbHVlUmVmLCBJc0FSZXR1cm5JbnN0LCAoTExWTVZhbHVlUmVmIFZhbCkpIFwKKyAgICBt
YWNybyhMTFZNVmFsdWVSZWYsIElzQVN3aXRjaEluc3QsIChMTFZNVmFsdWVSZWYgVmFsKSkgXAor
ICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgSXNBVW5yZWFjaGFibGVJbnN0LCAoTExWTVZhbHVlUmVm
IFZhbCkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIElzQVJlc3VtZUluc3QsIChMTFZNVmFs
dWVSZWYgVmFsKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgSXNBVW5hcnlJbnN0cnVjdGlv
biwgKExMVk1WYWx1ZVJlZiBWYWwpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBJc0FBbGxv
Y2FJbnN0LCAoTExWTVZhbHVlUmVmIFZhbCkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIElz
QUNhc3RJbnN0LCAoTExWTVZhbHVlUmVmIFZhbCkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYs
IElzQUJpdENhc3RJbnN0LCAoTExWTVZhbHVlUmVmIFZhbCkpIFwKKyAgICBtYWNybyhMTFZNVmFs
dWVSZWYsIElzQUZQRXh0SW5zdCwgKExMVk1WYWx1ZVJlZiBWYWwpKSBcCisgICAgbWFjcm8oTExW
TVZhbHVlUmVmLCBJc0FGUFRvU0lJbnN0LCAoTExWTVZhbHVlUmVmIFZhbCkpIFwKKyAgICBtYWNy
byhMTFZNVmFsdWVSZWYsIElzQUZQVG9VSUluc3QsIChMTFZNVmFsdWVSZWYgVmFsKSkgXAorICAg
IG1hY3JvKExMVk1WYWx1ZVJlZiwgSXNBRlBUcnVuY0luc3QsIChMTFZNVmFsdWVSZWYgVmFsKSkg
XAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgSXNBSW50VG9QdHJJbnN0LCAoTExWTVZhbHVlUmVm
IFZhbCkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIElzQVB0clRvSW50SW5zdCwgKExMVk1W
YWx1ZVJlZiBWYWwpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBJc0FTRXh0SW5zdCwgKExM
Vk1WYWx1ZVJlZiBWYWwpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBJc0FTSVRvRlBJbnN0
LCAoTExWTVZhbHVlUmVmIFZhbCkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIElzQVRydW5j
SW5zdCwgKExMVk1WYWx1ZVJlZiBWYWwpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBJc0FV
SVRvRlBJbnN0LCAoTExWTVZhbHVlUmVmIFZhbCkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYs
IElzQVpFeHRJbnN0LCAoTExWTVZhbHVlUmVmIFZhbCkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVS
ZWYsIElzQUV4dHJhY3RWYWx1ZUluc3QsIChMTFZNVmFsdWVSZWYgVmFsKSkgXAorICAgIG1hY3Jv
KExMVk1WYWx1ZVJlZiwgSXNBTG9hZEluc3QsIChMTFZNVmFsdWVSZWYgVmFsKSkgXAorICAgIG1h
Y3JvKExMVk1WYWx1ZVJlZiwgSXNBVkFBcmdJbnN0LCAoTExWTVZhbHVlUmVmIFZhbCkpIFwKKyAg
ICBtYWNybyhMTFZNVXNlUmVmLCBHZXRGaXJzdFVzZSwgKExMVk1WYWx1ZVJlZiBWYWwpKSBcCisg
ICAgbWFjcm8oTExWTVVzZVJlZiwgR2V0TmV4dFVzZSwgKExMVk1Vc2VSZWYgVSkpIFwKKyAgICBt
YWNybyhMTFZNVmFsdWVSZWYsIEdldFVzZXIsIChMTFZNVXNlUmVmIFUpKSBcCisgICAgbWFjcm8o
TExWTVZhbHVlUmVmLCBHZXRVc2VkVmFsdWUsIChMTFZNVXNlUmVmIFUpKSBcCisgICAgbWFjcm8o
TExWTVZhbHVlUmVmLCBHZXRPcGVyYW5kLCAoTExWTVZhbHVlUmVmIFZhbCwgdW5zaWduZWQgSW5k
ZXgpKSBcCisgICAgbWFjcm8odm9pZCwgU2V0T3BlcmFuZCwgKExMVk1WYWx1ZVJlZiBVc2VyLCB1
bnNpZ25lZCBJbmRleCwgTExWTVZhbHVlUmVmIFZhbCkpIFwKKyAgICBtYWNybyhpbnQsIEdldE51
bU9wZXJhbmRzLCAoTExWTVZhbHVlUmVmIFZhbCkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYs
IENvbnN0TnVsbCwgKExMVk1UeXBlUmVmIFR5KSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwg
Q29uc3RBbGxPbmVzLCAoTExWTVR5cGVSZWYgVHkpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVm
LCBHZXRVbmRlZiwgKExMVk1UeXBlUmVmIFR5KSkgXAorICAgIG1hY3JvKExMVk1Cb29sLCBJc051
bGwsIChMTFZNVmFsdWVSZWYgVmFsKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgQ29uc3RQ
b2ludGVyTnVsbCwgKExMVk1UeXBlUmVmIFR5KSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwg
Q29uc3RJbnQsIChMTFZNVHlwZVJlZiBJbnRUeSwgdW5zaWduZWQgbG9uZyBsb25nIE4sIExMVk1C
b29sIFNpZ25FeHRlbmQpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBDb25zdEludE9mQXJi
aXRyYXJ5UHJlY2lzaW9uLCAoTExWTVR5cGVSZWYgSW50VHksIHVuc2lnbmVkIE51bVdvcmRzLCBj
b25zdCB1aW50NjRfdCBXb3Jkc1tdKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgQ29uc3RJ
bnRPZlN0cmluZywgKExMVk1UeXBlUmVmIEludFR5LCBjb25zdCBjaGFyICpUZXh0LCB1aW50OF90
IFJhZGl4KSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgQ29uc3RJbnRPZlN0cmluZ0FuZFNp
emUsIChMTFZNVHlwZVJlZiBJbnRUeSwgY29uc3QgY2hhciAqVGV4dCwgdW5zaWduZWQgU0xlbiwg
dWludDhfdCBSYWRpeCkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIENvbnN0UmVhbCwgKExM
Vk1UeXBlUmVmIFJlYWxUeSwgZG91YmxlIE4pKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBD
b25zdFJlYWxPZlN0cmluZywgKExMVk1UeXBlUmVmIFJlYWxUeSwgY29uc3QgY2hhciAqVGV4dCkp
IFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIENvbnN0UmVhbE9mU3RyaW5nQW5kU2l6ZSwgKExM
Vk1UeXBlUmVmIFJlYWxUeSwgY29uc3QgY2hhciAqVGV4dCwgdW5zaWduZWQgU0xlbikpIFwKKyAg
ICBtYWNybyh1bnNpZ25lZCBsb25nIGxvbmcsIENvbnN0SW50R2V0WkV4dFZhbHVlLCAoTExWTVZh
bHVlUmVmIENvbnN0YW50VmFsKSkgXAorICAgIG1hY3JvKGxvbmcgbG9uZywgQ29uc3RJbnRHZXRT
RXh0VmFsdWUsIChMTFZNVmFsdWVSZWYgQ29uc3RhbnRWYWwpKSBcCisgICAgbWFjcm8oTExWTVZh
bHVlUmVmLCBDb25zdFN0cmluZ0luQ29udGV4dCwgKExMVk1Db250ZXh0UmVmIEMsIGNvbnN0IGNo
YXIgKlN0ciwgdW5zaWduZWQgTGVuZ3RoLCBMTFZNQm9vbCBEb250TnVsbFRlcm1pbmF0ZSkpIFwK
KyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIENvbnN0U3RyaW5nLCAoY29uc3QgY2hhciAqU3RyLCB1
bnNpZ25lZCBMZW5ndGgsIExMVk1Cb29sIERvbnROdWxsVGVybWluYXRlKSkgXAorICAgIG1hY3Jv
KExMVk1WYWx1ZVJlZiwgQ29uc3RTdHJ1Y3RJbkNvbnRleHQsIChMTFZNQ29udGV4dFJlZiBDLCBM
TFZNVmFsdWVSZWYgKkNvbnN0YW50VmFscywgdW5zaWduZWQgQ291bnQsIExMVk1Cb29sIFBhY2tl
ZCkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIENvbnN0U3RydWN0LCAoTExWTVZhbHVlUmVm
ICpDb25zdGFudFZhbHMsIHVuc2lnbmVkIENvdW50LCBMTFZNQm9vbCBQYWNrZWQpKSBcCisgICAg
bWFjcm8oTExWTVZhbHVlUmVmLCBDb25zdEFycmF5LCAoTExWTVR5cGVSZWYgRWxlbWVudFR5LCBM
TFZNVmFsdWVSZWYgKkNvbnN0YW50VmFscywgdW5zaWduZWQgTGVuZ3RoKSkgXAorICAgIG1hY3Jv
KExMVk1WYWx1ZVJlZiwgQ29uc3ROYW1lZFN0cnVjdCwgKExMVk1UeXBlUmVmIFN0cnVjdFR5LCBM
TFZNVmFsdWVSZWYgKkNvbnN0YW50VmFscywgdW5zaWduZWQgQ291bnQpKSBcCisgICAgbWFjcm8o
TExWTVZhbHVlUmVmLCBDb25zdFZlY3RvciwgKExMVk1WYWx1ZVJlZiAqU2NhbGFyQ29uc3RhbnRW
YWxzLCB1bnNpZ25lZCBTaXplKSkgXAorICAgIG1hY3JvKExMVk1PcGNvZGUsIEdldENvbnN0T3Bj
b2RlLCAoTExWTVZhbHVlUmVmIENvbnN0YW50VmFsKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJl
ZiwgQWxpZ25PZiwgKExMVk1UeXBlUmVmIFR5KSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwg
U2l6ZU9mLCAoTExWTVR5cGVSZWYgVHkpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBDb25z
dE5lZywgKExMVk1WYWx1ZVJlZiBDb25zdGFudFZhbCkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVS
ZWYsIENvbnN0TlNXTmVnLCAoTExWTVZhbHVlUmVmIENvbnN0YW50VmFsKSkgXAorICAgIG1hY3Jv
KExMVk1WYWx1ZVJlZiwgQ29uc3ROVVdOZWcsIChMTFZNVmFsdWVSZWYgQ29uc3RhbnRWYWwpKSBc
CisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBDb25zdEZOZWcsIChMTFZNVmFsdWVSZWYgQ29uc3Rh
bnRWYWwpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBDb25zdE5vdCwgKExMVk1WYWx1ZVJl
ZiBDb25zdGFudFZhbCkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIENvbnN0QWRkLCAoTExW
TVZhbHVlUmVmIExIU0NvbnN0YW50LCBMTFZNVmFsdWVSZWYgUkhTQ29uc3RhbnQpKSBcCisgICAg
bWFjcm8oTExWTVZhbHVlUmVmLCBDb25zdE5TV0FkZCwgKExMVk1WYWx1ZVJlZiBMSFNDb25zdGFu
dCwgTExWTVZhbHVlUmVmIFJIU0NvbnN0YW50KSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwg
Q29uc3ROVVdBZGQsIChMTFZNVmFsdWVSZWYgTEhTQ29uc3RhbnQsIExMVk1WYWx1ZVJlZiBSSFND
b25zdGFudCkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIENvbnN0RkFkZCwgKExMVk1WYWx1
ZVJlZiBMSFNDb25zdGFudCwgTExWTVZhbHVlUmVmIFJIU0NvbnN0YW50KSkgXAorICAgIG1hY3Jv
KExMVk1WYWx1ZVJlZiwgQ29uc3RTdWIsIChMTFZNVmFsdWVSZWYgTEhTQ29uc3RhbnQsIExMVk1W
YWx1ZVJlZiBSSFNDb25zdGFudCkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIENvbnN0TlNX
U3ViLCAoTExWTVZhbHVlUmVmIExIU0NvbnN0YW50LCBMTFZNVmFsdWVSZWYgUkhTQ29uc3RhbnQp
KSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBDb25zdE5VV1N1YiwgKExMVk1WYWx1ZVJlZiBM
SFNDb25zdGFudCwgTExWTVZhbHVlUmVmIFJIU0NvbnN0YW50KSkgXAorICAgIG1hY3JvKExMVk1W
YWx1ZVJlZiwgQ29uc3RGU3ViLCAoTExWTVZhbHVlUmVmIExIU0NvbnN0YW50LCBMTFZNVmFsdWVS
ZWYgUkhTQ29uc3RhbnQpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBDb25zdE11bCwgKExM
Vk1WYWx1ZVJlZiBMSFNDb25zdGFudCwgTExWTVZhbHVlUmVmIFJIU0NvbnN0YW50KSkgXAorICAg
IG1hY3JvKExMVk1WYWx1ZVJlZiwgQ29uc3ROU1dNdWwsIChMTFZNVmFsdWVSZWYgTEhTQ29uc3Rh
bnQsIExMVk1WYWx1ZVJlZiBSSFNDb25zdGFudCkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYs
IENvbnN0TlVXTXVsLCAoTExWTVZhbHVlUmVmIExIU0NvbnN0YW50LCBMTFZNVmFsdWVSZWYgUkhT
Q29uc3RhbnQpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBDb25zdEZNdWwsIChMTFZNVmFs
dWVSZWYgTEhTQ29uc3RhbnQsIExMVk1WYWx1ZVJlZiBSSFNDb25zdGFudCkpIFwKKyAgICBtYWNy
byhMTFZNVmFsdWVSZWYsIENvbnN0VURpdiwgKExMVk1WYWx1ZVJlZiBMSFNDb25zdGFudCwgTExW
TVZhbHVlUmVmIFJIU0NvbnN0YW50KSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgQ29uc3RT
RGl2LCAoTExWTVZhbHVlUmVmIExIU0NvbnN0YW50LCBMTFZNVmFsdWVSZWYgUkhTQ29uc3RhbnQp
KSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBDb25zdEV4YWN0U0RpdiwgKExMVk1WYWx1ZVJl
ZiBMSFNDb25zdGFudCwgTExWTVZhbHVlUmVmIFJIU0NvbnN0YW50KSkgXAorICAgIG1hY3JvKExM
Vk1WYWx1ZVJlZiwgQ29uc3RGRGl2LCAoTExWTVZhbHVlUmVmIExIU0NvbnN0YW50LCBMTFZNVmFs
dWVSZWYgUkhTQ29uc3RhbnQpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBDb25zdFVSZW0s
IChMTFZNVmFsdWVSZWYgTEhTQ29uc3RhbnQsIExMVk1WYWx1ZVJlZiBSSFNDb25zdGFudCkpIFwK
KyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIENvbnN0U1JlbSwgKExMVk1WYWx1ZVJlZiBMSFNDb25z
dGFudCwgTExWTVZhbHVlUmVmIFJIU0NvbnN0YW50KSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJl
ZiwgQ29uc3RGUmVtLCAoTExWTVZhbHVlUmVmIExIU0NvbnN0YW50LCBMTFZNVmFsdWVSZWYgUkhT
Q29uc3RhbnQpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBDb25zdEFuZCwgKExMVk1WYWx1
ZVJlZiBMSFNDb25zdGFudCwgTExWTVZhbHVlUmVmIFJIU0NvbnN0YW50KSkgXAorICAgIG1hY3Jv
KExMVk1WYWx1ZVJlZiwgQ29uc3RPciwgKExMVk1WYWx1ZVJlZiBMSFNDb25zdGFudCwgTExWTVZh
bHVlUmVmIFJIU0NvbnN0YW50KSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgQ29uc3RYb3Is
IChMTFZNVmFsdWVSZWYgTEhTQ29uc3RhbnQsIExMVk1WYWx1ZVJlZiBSSFNDb25zdGFudCkpIFwK
KyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIENvbnN0SUNtcCwgKExMVk1JbnRQcmVkaWNhdGUgUHJl
ZGljYXRlLCBMTFZNVmFsdWVSZWYgTEhTQ29uc3RhbnQsIExMVk1WYWx1ZVJlZiBSSFNDb25zdGFu
dCkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIENvbnN0RkNtcCwgKExMVk1SZWFsUHJlZGlj
YXRlIFByZWRpY2F0ZSwgTExWTVZhbHVlUmVmIExIU0NvbnN0YW50LCBMTFZNVmFsdWVSZWYgUkhT
Q29uc3RhbnQpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBDb25zdFNobCwgKExMVk1WYWx1
ZVJlZiBMSFNDb25zdGFudCwgTExWTVZhbHVlUmVmIFJIU0NvbnN0YW50KSkgXAorICAgIG1hY3Jv
KExMVk1WYWx1ZVJlZiwgQ29uc3RMU2hyLCAoTExWTVZhbHVlUmVmIExIU0NvbnN0YW50LCBMTFZN
VmFsdWVSZWYgUkhTQ29uc3RhbnQpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBDb25zdEFT
aHIsIChMTFZNVmFsdWVSZWYgTEhTQ29uc3RhbnQsIExMVk1WYWx1ZVJlZiBSSFNDb25zdGFudCkp
IFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIENvbnN0R0VQLCAoTExWTVZhbHVlUmVmIENvbnN0
YW50VmFsLCBMTFZNVmFsdWVSZWYgKkNvbnN0YW50SW5kaWNlcywgdW5zaWduZWQgTnVtSW5kaWNl
cykpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIENvbnN0SW5Cb3VuZHNHRVAsIChMTFZNVmFs
dWVSZWYgQ29uc3RhbnRWYWwsIExMVk1WYWx1ZVJlZiAqQ29uc3RhbnRJbmRpY2VzLCB1bnNpZ25l
ZCBOdW1JbmRpY2VzKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgQ29uc3RUcnVuYywgKExM
Vk1WYWx1ZVJlZiBDb25zdGFudFZhbCwgTExWTVR5cGVSZWYgVG9UeXBlKSkgXAorICAgIG1hY3Jv
KExMVk1WYWx1ZVJlZiwgQ29uc3RTRXh0LCAoTExWTVZhbHVlUmVmIENvbnN0YW50VmFsLCBMTFZN
VHlwZVJlZiBUb1R5cGUpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBDb25zdFpFeHQsIChM
TFZNVmFsdWVSZWYgQ29uc3RhbnRWYWwsIExMVk1UeXBlUmVmIFRvVHlwZSkpIFwKKyAgICBtYWNy
byhMTFZNVmFsdWVSZWYsIENvbnN0RlBUcnVuYywgKExMVk1WYWx1ZVJlZiBDb25zdGFudFZhbCwg
TExWTVR5cGVSZWYgVG9UeXBlKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgQ29uc3RGUEV4
dCwgKExMVk1WYWx1ZVJlZiBDb25zdGFudFZhbCwgTExWTVR5cGVSZWYgVG9UeXBlKSkgXAorICAg
IG1hY3JvKExMVk1WYWx1ZVJlZiwgQ29uc3RVSVRvRlAsIChMTFZNVmFsdWVSZWYgQ29uc3RhbnRW
YWwsIExMVk1UeXBlUmVmIFRvVHlwZSkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIENvbnN0
U0lUb0ZQLCAoTExWTVZhbHVlUmVmIENvbnN0YW50VmFsLCBMTFZNVHlwZVJlZiBUb1R5cGUpKSBc
CisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBDb25zdEZQVG9VSSwgKExMVk1WYWx1ZVJlZiBDb25z
dGFudFZhbCwgTExWTVR5cGVSZWYgVG9UeXBlKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwg
Q29uc3RGUFRvU0ksIChMTFZNVmFsdWVSZWYgQ29uc3RhbnRWYWwsIExMVk1UeXBlUmVmIFRvVHlw
ZSkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIENvbnN0UHRyVG9JbnQsIChMTFZNVmFsdWVS
ZWYgQ29uc3RhbnRWYWwsIExMVk1UeXBlUmVmIFRvVHlwZSkpIFwKKyAgICBtYWNybyhMTFZNVmFs
dWVSZWYsIENvbnN0SW50VG9QdHIsIChMTFZNVmFsdWVSZWYgQ29uc3RhbnRWYWwsIExMVk1UeXBl
UmVmIFRvVHlwZSkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIENvbnN0Qml0Q2FzdCwgKExM
Vk1WYWx1ZVJlZiBDb25zdGFudFZhbCwgTExWTVR5cGVSZWYgVG9UeXBlKSkgXAorICAgIG1hY3Jv
KExMVk1WYWx1ZVJlZiwgQ29uc3RaRXh0T3JCaXRDYXN0LCAoTExWTVZhbHVlUmVmIENvbnN0YW50
VmFsLCBMTFZNVHlwZVJlZiBUb1R5cGUpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBDb25z
dFNFeHRPckJpdENhc3QsIChMTFZNVmFsdWVSZWYgQ29uc3RhbnRWYWwsIExMVk1UeXBlUmVmIFRv
VHlwZSkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIENvbnN0VHJ1bmNPckJpdENhc3QsIChM
TFZNVmFsdWVSZWYgQ29uc3RhbnRWYWwsIExMVk1UeXBlUmVmIFRvVHlwZSkpIFwKKyAgICBtYWNy
byhMTFZNVmFsdWVSZWYsIENvbnN0UG9pbnRlckNhc3QsIChMTFZNVmFsdWVSZWYgQ29uc3RhbnRW
YWwsIExMVk1UeXBlUmVmIFRvVHlwZSkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIENvbnN0
SW50Q2FzdCwgKExMVk1WYWx1ZVJlZiBDb25zdGFudFZhbCwgTExWTVR5cGVSZWYgVG9UeXBlLCBM
TFZNQm9vbCBpc1NpZ25lZCkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIENvbnN0RlBDYXN0
LCAoTExWTVZhbHVlUmVmIENvbnN0YW50VmFsLCBMTFZNVHlwZVJlZiBUb1R5cGUpKSBcCisgICAg
bWFjcm8oTExWTVZhbHVlUmVmLCBDb25zdFNlbGVjdCwgKExMVk1WYWx1ZVJlZiBDb25zdGFudENv
bmRpdGlvbiwgTExWTVZhbHVlUmVmIENvbnN0YW50SWZUcnVlLCBMTFZNVmFsdWVSZWYgQ29uc3Rh
bnRJZkZhbHNlKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgQ29uc3RFeHRyYWN0RWxlbWVu
dCwgKExMVk1WYWx1ZVJlZiBWZWN0b3JDb25zdGFudCwgTExWTVZhbHVlUmVmIEluZGV4Q29uc3Rh
bnQpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBDb25zdEluc2VydEVsZW1lbnQsIChMTFZN
VmFsdWVSZWYgVmVjdG9yQ29uc3RhbnQsIExMVk1WYWx1ZVJlZiBFbGVtZW50VmFsdWVDb25zdGFu
dCwgTExWTVZhbHVlUmVmIEluZGV4Q29uc3RhbnQpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVm
LCBDb25zdFNodWZmbGVWZWN0b3IsIChMTFZNVmFsdWVSZWYgVmVjdG9yQUNvbnN0YW50LCBMTFZN
VmFsdWVSZWYgVmVjdG9yQkNvbnN0YW50LCBMTFZNVmFsdWVSZWYgTWFza0NvbnN0YW50KSkgXAor
ICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgQ29uc3RFeHRyYWN0VmFsdWUsIChMTFZNVmFsdWVSZWYg
QWdnQ29uc3RhbnQsIHVuc2lnbmVkICpJZHhMaXN0LCB1bnNpZ25lZCBOdW1JZHgpKSBcCisgICAg
bWFjcm8oTExWTVZhbHVlUmVmLCBDb25zdEluc2VydFZhbHVlLCAoTExWTVZhbHVlUmVmIEFnZ0Nv
bnN0YW50LCBMTFZNVmFsdWVSZWYgRWxlbWVudFZhbHVlQ29uc3RhbnQsIHVuc2lnbmVkICpJZHhM
aXN0LCB1bnNpZ25lZCBOdW1JZHgpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBDb25zdElu
bGluZUFzbSwgKExMVk1UeXBlUmVmIFR5LCBjb25zdCBjaGFyICpBc21TdHJpbmcsIGNvbnN0IGNo
YXIgKkNvbnN0cmFpbnRzLCBMTFZNQm9vbCBIYXNTaWRlRWZmZWN0cywgTExWTUJvb2wgSXNBbGln
blN0YWNrKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgQmxvY2tBZGRyZXNzLCAoTExWTVZh
bHVlUmVmIEYsIExMVk1CYXNpY0Jsb2NrUmVmIEJCKSkgXAorICAgIG1hY3JvKExMVk1Nb2R1bGVS
ZWYsIEdldEdsb2JhbFBhcmVudCwgKExMVk1WYWx1ZVJlZiBHbG9iYWwpKSBcCisgICAgbWFjcm8o
TExWTUJvb2wsIElzRGVjbGFyYXRpb24sIChMTFZNVmFsdWVSZWYgR2xvYmFsKSkgXAorICAgIG1h
Y3JvKExMVk1MaW5rYWdlLCBHZXRMaW5rYWdlLCAoTExWTVZhbHVlUmVmIEdsb2JhbCkpIFwKKyAg
ICBtYWNybyh2b2lkLCBTZXRMaW5rYWdlLCAoTExWTVZhbHVlUmVmIEdsb2JhbCwgTExWTUxpbmth
Z2UgTGlua2FnZSkpIFwKKyAgICBtYWNybyhjb25zdCBjaGFyICosIEdldFNlY3Rpb24sIChMTFZN
VmFsdWVSZWYgR2xvYmFsKSkgXAorICAgIG1hY3JvKHZvaWQsIFNldFNlY3Rpb24sIChMTFZNVmFs
dWVSZWYgR2xvYmFsLCBjb25zdCBjaGFyICpTZWN0aW9uKSkgXAorICAgIG1hY3JvKExMVk1WaXNp
YmlsaXR5LCBHZXRWaXNpYmlsaXR5LCAoTExWTVZhbHVlUmVmIEdsb2JhbCkpIFwKKyAgICBtYWNy
byh2b2lkLCBTZXRWaXNpYmlsaXR5LCAoTExWTVZhbHVlUmVmIEdsb2JhbCwgTExWTVZpc2liaWxp
dHkgVml6KSkgXAorICAgIG1hY3JvKHVuc2lnbmVkLCBHZXRBbGlnbm1lbnQsIChMTFZNVmFsdWVS
ZWYgR2xvYmFsKSkgXAorICAgIG1hY3JvKHZvaWQsIFNldEFsaWdubWVudCwgKExMVk1WYWx1ZVJl
ZiBHbG9iYWwsIHVuc2lnbmVkIEJ5dGVzKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgQWRk
R2xvYmFsLCAoTExWTU1vZHVsZVJlZiBNLCBMTFZNVHlwZVJlZiBUeSwgY29uc3QgY2hhciAqTmFt
ZSkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIEFkZEdsb2JhbEluQWRkcmVzc1NwYWNlLCAo
TExWTU1vZHVsZVJlZiBNLCBMTFZNVHlwZVJlZiBUeSwgY29uc3QgY2hhciAqTmFtZSwgdW5zaWdu
ZWQgQWRkcmVzc1NwYWNlKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgR2V0TmFtZWRHbG9i
YWwsIChMTFZNTW9kdWxlUmVmIE0sIGNvbnN0IGNoYXIgKk5hbWUpKSBcCisgICAgbWFjcm8oTExW
TVZhbHVlUmVmLCBHZXRGaXJzdEdsb2JhbCwgKExMVk1Nb2R1bGVSZWYgTSkpIFwKKyAgICBtYWNy
byhMTFZNVmFsdWVSZWYsIEdldExhc3RHbG9iYWwsIChMTFZNTW9kdWxlUmVmIE0pKSBcCisgICAg
bWFjcm8oTExWTVZhbHVlUmVmLCBHZXROZXh0R2xvYmFsLCAoTExWTVZhbHVlUmVmIEdsb2JhbFZh
cikpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIEdldFByZXZpb3VzR2xvYmFsLCAoTExWTVZh
bHVlUmVmIEdsb2JhbFZhcikpIFwKKyAgICBtYWNybyh2b2lkLCBEZWxldGVHbG9iYWwsIChMTFZN
VmFsdWVSZWYgR2xvYmFsVmFyKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgR2V0SW5pdGlh
bGl6ZXIsIChMTFZNVmFsdWVSZWYgR2xvYmFsVmFyKSkgXAorICAgIG1hY3JvKHZvaWQsIFNldElu
aXRpYWxpemVyLCAoTExWTVZhbHVlUmVmIEdsb2JhbFZhciwgTExWTVZhbHVlUmVmIENvbnN0YW50
VmFsKSkgXAorICAgIG1hY3JvKExMVk1Cb29sLCBJc1RocmVhZExvY2FsLCAoTExWTVZhbHVlUmVm
IEdsb2JhbFZhcikpIFwKKyAgICBtYWNybyh2b2lkLCBTZXRUaHJlYWRMb2NhbCwgKExMVk1WYWx1
ZVJlZiBHbG9iYWxWYXIsIExMVk1Cb29sIElzVGhyZWFkTG9jYWwpKSBcCisgICAgbWFjcm8oTExW
TUJvb2wsIElzR2xvYmFsQ29uc3RhbnQsIChMTFZNVmFsdWVSZWYgR2xvYmFsVmFyKSkgXAorICAg
IG1hY3JvKHZvaWQsIFNldEdsb2JhbENvbnN0YW50LCAoTExWTVZhbHVlUmVmIEdsb2JhbFZhciwg
TExWTUJvb2wgSXNDb25zdGFudCkpIFwKKyAgICBtYWNybyhMTFZNVGhyZWFkTG9jYWxNb2RlLCBH
ZXRUaHJlYWRMb2NhbE1vZGUsIChMTFZNVmFsdWVSZWYgR2xvYmFsVmFyKSkgXAorICAgIG1hY3Jv
KHZvaWQsIFNldFRocmVhZExvY2FsTW9kZSwgKExMVk1WYWx1ZVJlZiBHbG9iYWxWYXIsIExMVk1U
aHJlYWRMb2NhbE1vZGUgTW9kZSkpIFwKKyAgICBtYWNybyhMTFZNQm9vbCwgSXNFeHRlcm5hbGx5
SW5pdGlhbGl6ZWQsIChMTFZNVmFsdWVSZWYgR2xvYmFsVmFyKSkgXAorICAgIG1hY3JvKHZvaWQs
IFNldEV4dGVybmFsbHlJbml0aWFsaXplZCwgKExMVk1WYWx1ZVJlZiBHbG9iYWxWYXIsIExMVk1C
b29sIElzRXh0SW5pdCkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIEFkZEFsaWFzLCAoTExW
TU1vZHVsZVJlZiBNLCBMTFZNVHlwZVJlZiBUeSwgTExWTVZhbHVlUmVmIEFsaWFzZWUsIGNvbnN0
IGNoYXIgKk5hbWUpKSBcCisgICAgbWFjcm8odm9pZCwgRGVsZXRlRnVuY3Rpb24sIChMTFZNVmFs
dWVSZWYgRm4pKSBcCisgICAgbWFjcm8odW5zaWduZWQsIEdldEludHJpbnNpY0lELCAoTExWTVZh
bHVlUmVmIEZuKSkgXAorICAgIG1hY3JvKHVuc2lnbmVkLCBHZXRGdW5jdGlvbkNhbGxDb252LCAo
TExWTVZhbHVlUmVmIEZuKSkgXAorICAgIG1hY3JvKHZvaWQsIFNldEZ1bmN0aW9uQ2FsbENvbnYs
IChMTFZNVmFsdWVSZWYgRm4sIHVuc2lnbmVkIENDKSkgXAorICAgIG1hY3JvKGNvbnN0IGNoYXIg
KiwgR2V0R0MsIChMTFZNVmFsdWVSZWYgRm4pKSBcCisgICAgbWFjcm8odm9pZCwgU2V0R0MsIChM
TFZNVmFsdWVSZWYgRm4sIGNvbnN0IGNoYXIgKk5hbWUpKSBcCisgICAgbWFjcm8odm9pZCwgQWRk
RnVuY3Rpb25BdHRyLCAoTExWTVZhbHVlUmVmIEZuLCBMTFZNQXR0cmlidXRlIFBBKSkgXAorICAg
IG1hY3JvKHZvaWQsIEFkZFRhcmdldERlcGVuZGVudEZ1bmN0aW9uQXR0ciwgKExMVk1WYWx1ZVJl
ZiBGbiwgY29uc3QgY2hhciAqQSwgY29uc3QgY2hhciAqVikpIFwKKyAgICBtYWNybyhMTFZNQXR0
cmlidXRlLCBHZXRGdW5jdGlvbkF0dHIsIChMTFZNVmFsdWVSZWYgRm4pKSBcCisgICAgbWFjcm8o
dm9pZCwgUmVtb3ZlRnVuY3Rpb25BdHRyLCAoTExWTVZhbHVlUmVmIEZuLCBMTFZNQXR0cmlidXRl
IFBBKSkgXAorICAgIG1hY3JvKHVuc2lnbmVkLCBDb3VudFBhcmFtcywgKExMVk1WYWx1ZVJlZiBG
bikpIFwKKyAgICBtYWNybyh2b2lkLCBHZXRQYXJhbXMsIChMTFZNVmFsdWVSZWYgRm4sIExMVk1W
YWx1ZVJlZiAqUGFyYW1zKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgR2V0UGFyYW0sIChM
TFZNVmFsdWVSZWYgRm4sIHVuc2lnbmVkIEluZGV4KSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJl
ZiwgR2V0UGFyYW1QYXJlbnQsIChMTFZNVmFsdWVSZWYgSW5zdCkpIFwKKyAgICBtYWNybyhMTFZN
VmFsdWVSZWYsIEdldEZpcnN0UGFyYW0sIChMTFZNVmFsdWVSZWYgRm4pKSBcCisgICAgbWFjcm8o
TExWTVZhbHVlUmVmLCBHZXRMYXN0UGFyYW0sIChMTFZNVmFsdWVSZWYgRm4pKSBcCisgICAgbWFj
cm8oTExWTVZhbHVlUmVmLCBHZXROZXh0UGFyYW0sIChMTFZNVmFsdWVSZWYgQXJnKSkgXAorICAg
IG1hY3JvKExMVk1WYWx1ZVJlZiwgR2V0UHJldmlvdXNQYXJhbSwgKExMVk1WYWx1ZVJlZiBBcmcp
KSBcCisgICAgbWFjcm8odm9pZCwgQWRkQXR0cmlidXRlLCAoTExWTVZhbHVlUmVmIEFyZywgTExW
TUF0dHJpYnV0ZSBQQSkpIFwKKyAgICBtYWNybyh2b2lkLCBSZW1vdmVBdHRyaWJ1dGUsIChMTFZN
VmFsdWVSZWYgQXJnLCBMTFZNQXR0cmlidXRlIFBBKSkgXAorICAgIG1hY3JvKExMVk1BdHRyaWJ1
dGUsIEdldEF0dHJpYnV0ZSwgKExMVk1WYWx1ZVJlZiBBcmcpKSBcCisgICAgbWFjcm8odm9pZCwg
U2V0UGFyYW1BbGlnbm1lbnQsIChMTFZNVmFsdWVSZWYgQXJnLCB1bnNpZ25lZCBhbGlnbikpIFwK
KyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIE1EU3RyaW5nSW5Db250ZXh0LCAoTExWTUNvbnRleHRS
ZWYgQywgY29uc3QgY2hhciAqU3RyLCB1bnNpZ25lZCBTTGVuKSkgXAorICAgIG1hY3JvKExMVk1W
YWx1ZVJlZiwgTURTdHJpbmcsIChjb25zdCBjaGFyICpTdHIsIHVuc2lnbmVkIFNMZW4pKSBcCisg
ICAgbWFjcm8oTExWTVZhbHVlUmVmLCBNRE5vZGVJbkNvbnRleHQsIChMTFZNQ29udGV4dFJlZiBD
LCBMTFZNVmFsdWVSZWYgKlZhbHMsIHVuc2lnbmVkIENvdW50KSkgXAorICAgIG1hY3JvKExMVk1W
YWx1ZVJlZiwgTUROb2RlLCAoTExWTVZhbHVlUmVmICpWYWxzLCB1bnNpZ25lZCBDb3VudCkpIFwK
KyAgICBtYWNybyhjb25zdCBjaGFyICosIEdldE1EU3RyaW5nLCAoTExWTVZhbHVlUmVmIFYsIHVu
c2lnbmVkKiBMZW4pKSBcCisgICAgbWFjcm8odW5zaWduZWQsIEdldE1ETm9kZU51bU9wZXJhbmRz
LCAoTExWTVZhbHVlUmVmIFYpKSBcCisgICAgbWFjcm8odm9pZCwgR2V0TUROb2RlT3BlcmFuZHMs
IChMTFZNVmFsdWVSZWYgViwgTExWTVZhbHVlUmVmICpEZXN0KSkgXAorICAgIG1hY3JvKExMVk1W
YWx1ZVJlZiwgQmFzaWNCbG9ja0FzVmFsdWUsIChMTFZNQmFzaWNCbG9ja1JlZiBCQikpIFwKKyAg
ICBtYWNybyhMTFZNQm9vbCwgVmFsdWVJc0Jhc2ljQmxvY2ssIChMTFZNVmFsdWVSZWYgVmFsKSkg
XAorICAgIG1hY3JvKExMVk1CYXNpY0Jsb2NrUmVmLCBWYWx1ZUFzQmFzaWNCbG9jaywgKExMVk1W
YWx1ZVJlZiBWYWwpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBHZXRCYXNpY0Jsb2NrUGFy
ZW50LCAoTExWTUJhc2ljQmxvY2tSZWYgQkIpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBH
ZXRCYXNpY0Jsb2NrVGVybWluYXRvciwgKExMVk1CYXNpY0Jsb2NrUmVmIEJCKSkgXAorICAgIG1h
Y3JvKHVuc2lnbmVkLCBDb3VudEJhc2ljQmxvY2tzLCAoTExWTVZhbHVlUmVmIEZuKSkgXAorICAg
IG1hY3JvKHZvaWQsIEdldEJhc2ljQmxvY2tzLCAoTExWTVZhbHVlUmVmIEZuLCBMTFZNQmFzaWNC
bG9ja1JlZiAqQmFzaWNCbG9ja3MpKSBcCisgICAgbWFjcm8oTExWTUJhc2ljQmxvY2tSZWYsIEdl
dEZpcnN0QmFzaWNCbG9jaywgKExMVk1WYWx1ZVJlZiBGbikpIFwKKyAgICBtYWNybyhMTFZNQmFz
aWNCbG9ja1JlZiwgR2V0TGFzdEJhc2ljQmxvY2ssIChMTFZNVmFsdWVSZWYgRm4pKSBcCisgICAg
bWFjcm8oTExWTUJhc2ljQmxvY2tSZWYsIEdldE5leHRCYXNpY0Jsb2NrLCAoTExWTUJhc2ljQmxv
Y2tSZWYgQkIpKSBcCisgICAgbWFjcm8oTExWTUJhc2ljQmxvY2tSZWYsIEdldFByZXZpb3VzQmFz
aWNCbG9jaywgKExMVk1CYXNpY0Jsb2NrUmVmIEJCKSkgXAorICAgIG1hY3JvKExMVk1CYXNpY0Js
b2NrUmVmLCBHZXRFbnRyeUJhc2ljQmxvY2ssIChMTFZNVmFsdWVSZWYgRm4pKSBcCisgICAgbWFj
cm8oTExWTUJhc2ljQmxvY2tSZWYsIEFwcGVuZEJhc2ljQmxvY2tJbkNvbnRleHQsIChMTFZNQ29u
dGV4dFJlZiBDLCBMTFZNVmFsdWVSZWYgRm4sIGNvbnN0IGNoYXIgKk5hbWUpKSBcCisgICAgbWFj
cm8oTExWTUJhc2ljQmxvY2tSZWYsIEFwcGVuZEJhc2ljQmxvY2ssIChMTFZNVmFsdWVSZWYgRm4s
IGNvbnN0IGNoYXIgKk5hbWUpKSBcCisgICAgbWFjcm8oTExWTUJhc2ljQmxvY2tSZWYsIEluc2Vy
dEJhc2ljQmxvY2tJbkNvbnRleHQsIChMTFZNQ29udGV4dFJlZiBDLCBMTFZNQmFzaWNCbG9ja1Jl
ZiBCQiwgY29uc3QgY2hhciAqTmFtZSkpIFwKKyAgICBtYWNybyhMTFZNQmFzaWNCbG9ja1JlZiwg
SW5zZXJ0QmFzaWNCbG9jaywgKExMVk1CYXNpY0Jsb2NrUmVmIEluc2VydEJlZm9yZUJCLCBjb25z
dCBjaGFyICpOYW1lKSkgXAorICAgIG1hY3JvKHZvaWQsIERlbGV0ZUJhc2ljQmxvY2ssIChMTFZN
QmFzaWNCbG9ja1JlZiBCQikpIFwKKyAgICBtYWNybyh2b2lkLCBSZW1vdmVCYXNpY0Jsb2NrRnJv
bVBhcmVudCwgKExMVk1CYXNpY0Jsb2NrUmVmIEJCKSkgXAorICAgIG1hY3JvKHZvaWQsIE1vdmVC
YXNpY0Jsb2NrQmVmb3JlLCAoTExWTUJhc2ljQmxvY2tSZWYgQkIsIExMVk1CYXNpY0Jsb2NrUmVm
IE1vdmVQb3MpKSBcCisgICAgbWFjcm8odm9pZCwgTW92ZUJhc2ljQmxvY2tBZnRlciwgKExMVk1C
YXNpY0Jsb2NrUmVmIEJCLCBMTFZNQmFzaWNCbG9ja1JlZiBNb3ZlUG9zKSkgXAorICAgIG1hY3Jv
KExMVk1WYWx1ZVJlZiwgR2V0Rmlyc3RJbnN0cnVjdGlvbiwgKExMVk1CYXNpY0Jsb2NrUmVmIEJC
KSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgR2V0TGFzdEluc3RydWN0aW9uLCAoTExWTUJh
c2ljQmxvY2tSZWYgQkIpKSBcCisgICAgbWFjcm8oaW50LCBIYXNNZXRhZGF0YSwgKExMVk1WYWx1
ZVJlZiBWYWwpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBHZXRNZXRhZGF0YSwgKExMVk1W
YWx1ZVJlZiBWYWwsIHVuc2lnbmVkIEtpbmRJRCkpIFwKKyAgICBtYWNybyh2b2lkLCBTZXRNZXRh
ZGF0YSwgKExMVk1WYWx1ZVJlZiBWYWwsIHVuc2lnbmVkIEtpbmRJRCwgTExWTVZhbHVlUmVmIE5v
ZGUpKSBcCisgICAgbWFjcm8oTExWTUJhc2ljQmxvY2tSZWYsIEdldEluc3RydWN0aW9uUGFyZW50
LCAoTExWTVZhbHVlUmVmIEluc3QpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBHZXROZXh0
SW5zdHJ1Y3Rpb24sIChMTFZNVmFsdWVSZWYgSW5zdCkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVS
ZWYsIEdldFByZXZpb3VzSW5zdHJ1Y3Rpb24sIChMTFZNVmFsdWVSZWYgSW5zdCkpIFwKKyAgICBt
YWNybyh2b2lkLCBJbnN0cnVjdGlvbkVyYXNlRnJvbVBhcmVudCwgKExMVk1WYWx1ZVJlZiBJbnN0
KSkgXAorICAgIG1hY3JvKExMVk1PcGNvZGUsIEdldEluc3RydWN0aW9uT3Bjb2RlLCAoTExWTVZh
bHVlUmVmIEluc3QpKSBcCisgICAgbWFjcm8oTExWTUludFByZWRpY2F0ZSwgR2V0SUNtcFByZWRp
Y2F0ZSwgKExMVk1WYWx1ZVJlZiBJbnN0KSkgXAorICAgIG1hY3JvKHZvaWQsIFNldEluc3RydWN0
aW9uQ2FsbENvbnYsIChMTFZNVmFsdWVSZWYgSW5zdHIsIHVuc2lnbmVkIENDKSkgXAorICAgIG1h
Y3JvKHVuc2lnbmVkLCBHZXRJbnN0cnVjdGlvbkNhbGxDb252LCAoTExWTVZhbHVlUmVmIEluc3Ry
KSkgXAorICAgIG1hY3JvKHZvaWQsIEFkZEluc3RyQXR0cmlidXRlLCAoTExWTVZhbHVlUmVmIElu
c3RyLCB1bnNpZ25lZCBpbmRleCwgTExWTUF0dHJpYnV0ZSkpIFwKKyAgICBtYWNybyh2b2lkLCBS
ZW1vdmVJbnN0ckF0dHJpYnV0ZSwgKExMVk1WYWx1ZVJlZiBJbnN0ciwgdW5zaWduZWQgaW5kZXgs
IExMVk1BdHRyaWJ1dGUpKSBcCisgICAgbWFjcm8odm9pZCwgU2V0SW5zdHJQYXJhbUFsaWdubWVu
dCwgKExMVk1WYWx1ZVJlZiBJbnN0ciwgdW5zaWduZWQgaW5kZXgsIHVuc2lnbmVkIGFsaWduKSkg
XAorICAgIG1hY3JvKExMVk1Cb29sLCBJc1RhaWxDYWxsLCAoTExWTVZhbHVlUmVmIENhbGxJbnN0
KSkgXAorICAgIG1hY3JvKHZvaWQsIFNldFRhaWxDYWxsLCAoTExWTVZhbHVlUmVmIENhbGxJbnN0
LCBMTFZNQm9vbCBJc1RhaWxDYWxsKSkgXAorICAgIG1hY3JvKExMVk1CYXNpY0Jsb2NrUmVmLCBH
ZXRTd2l0Y2hEZWZhdWx0RGVzdCwgKExMVk1WYWx1ZVJlZiBTd2l0Y2hJbnN0cikpIFwKKyAgICBt
YWNybyh2b2lkLCBBZGRJbmNvbWluZywgKExMVk1WYWx1ZVJlZiBQaGlOb2RlLCBMTFZNVmFsdWVS
ZWYgKkluY29taW5nVmFsdWVzLCBMTFZNQmFzaWNCbG9ja1JlZiAqSW5jb21pbmdCbG9ja3MsIHVu
c2lnbmVkIENvdW50KSkgXAorICAgIG1hY3JvKHVuc2lnbmVkLCBDb3VudEluY29taW5nLCAoTExW
TVZhbHVlUmVmIFBoaU5vZGUpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBHZXRJbmNvbWlu
Z1ZhbHVlLCAoTExWTVZhbHVlUmVmIFBoaU5vZGUsIHVuc2lnbmVkIEluZGV4KSkgXAorICAgIG1h
Y3JvKExMVk1CYXNpY0Jsb2NrUmVmLCBHZXRJbmNvbWluZ0Jsb2NrLCAoTExWTVZhbHVlUmVmIFBo
aU5vZGUsIHVuc2lnbmVkIEluZGV4KSkgXAorICAgIG1hY3JvKExMVk1CdWlsZGVyUmVmLCBDcmVh
dGVCdWlsZGVySW5Db250ZXh0LCAoTExWTUNvbnRleHRSZWYgQykpIFwKKyAgICBtYWNybyhMTFZN
QnVpbGRlclJlZiwgQ3JlYXRlQnVpbGRlciwgKHZvaWQpKSBcCisgICAgbWFjcm8odm9pZCwgUG9z
aXRpb25CdWlsZGVyLCAoTExWTUJ1aWxkZXJSZWYgQnVpbGRlciwgTExWTUJhc2ljQmxvY2tSZWYg
QmxvY2ssIExMVk1WYWx1ZVJlZiBJbnN0cikpIFwKKyAgICBtYWNybyh2b2lkLCBQb3NpdGlvbkJ1
aWxkZXJCZWZvcmUsIChMTFZNQnVpbGRlclJlZiBCdWlsZGVyLCBMTFZNVmFsdWVSZWYgSW5zdHIp
KSBcCisgICAgbWFjcm8odm9pZCwgUG9zaXRpb25CdWlsZGVyQXRFbmQsIChMTFZNQnVpbGRlclJl
ZiBCdWlsZGVyLCBMTFZNQmFzaWNCbG9ja1JlZiBCbG9jaykpIFwKKyAgICBtYWNybyhMTFZNQmFz
aWNCbG9ja1JlZiwgR2V0SW5zZXJ0QmxvY2ssIChMTFZNQnVpbGRlclJlZiBCdWlsZGVyKSkgXAor
ICAgIG1hY3JvKHZvaWQsIENsZWFySW5zZXJ0aW9uUG9zaXRpb24sIChMTFZNQnVpbGRlclJlZiBC
dWlsZGVyKSkgXAorICAgIG1hY3JvKHZvaWQsIEluc2VydEludG9CdWlsZGVyLCAoTExWTUJ1aWxk
ZXJSZWYgQnVpbGRlciwgTExWTVZhbHVlUmVmIEluc3RyKSkgXAorICAgIG1hY3JvKHZvaWQsIElu
c2VydEludG9CdWlsZGVyV2l0aE5hbWUsIChMTFZNQnVpbGRlclJlZiBCdWlsZGVyLCBMTFZNVmFs
dWVSZWYgSW5zdHIsIGNvbnN0IGNoYXIgKk5hbWUpKSBcCisgICAgbWFjcm8odm9pZCwgRGlzcG9z
ZUJ1aWxkZXIsIChMTFZNQnVpbGRlclJlZiBCdWlsZGVyKSkgXAorICAgIG1hY3JvKHZvaWQsIFNl
dEN1cnJlbnREZWJ1Z0xvY2F0aW9uLCAoTExWTUJ1aWxkZXJSZWYgQnVpbGRlciwgTExWTVZhbHVl
UmVmIEwpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBHZXRDdXJyZW50RGVidWdMb2NhdGlv
biwgKExMVk1CdWlsZGVyUmVmIEJ1aWxkZXIpKSBcCisgICAgbWFjcm8odm9pZCwgU2V0SW5zdERl
YnVnTG9jYXRpb24sIChMTFZNQnVpbGRlclJlZiBCdWlsZGVyLCBMTFZNVmFsdWVSZWYgSW5zdCkp
IFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIEJ1aWxkUmV0Vm9pZCwgKExMVk1CdWlsZGVyUmVm
KSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgQnVpbGRSZXQsIChMTFZNQnVpbGRlclJlZiwg
TExWTVZhbHVlUmVmIFYpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBCdWlsZEFnZ3JlZ2F0
ZVJldCwgKExMVk1CdWlsZGVyUmVmLCBMTFZNVmFsdWVSZWYgKlJldFZhbHMsIHVuc2lnbmVkIE4p
KSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBCdWlsZEJyLCAoTExWTUJ1aWxkZXJSZWYsIExM
Vk1CYXNpY0Jsb2NrUmVmIERlc3QpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBCdWlsZENv
bmRCciwgKExMVk1CdWlsZGVyUmVmLCBMTFZNVmFsdWVSZWYgSWYsIExMVk1CYXNpY0Jsb2NrUmVm
IFRoZW4sIExMVk1CYXNpY0Jsb2NrUmVmIEVsc2UpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVm
LCBCdWlsZFN3aXRjaCwgKExMVk1CdWlsZGVyUmVmLCBMTFZNVmFsdWVSZWYgViwgTExWTUJhc2lj
QmxvY2tSZWYgRWxzZSwgdW5zaWduZWQgTnVtQ2FzZXMpKSBcCisgICAgbWFjcm8oTExWTVZhbHVl
UmVmLCBCdWlsZEluZGlyZWN0QnIsIChMTFZNQnVpbGRlclJlZiBCLCBMTFZNVmFsdWVSZWYgQWRk
ciwgdW5zaWduZWQgTnVtRGVzdHMpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBCdWlsZElu
dm9rZSwgKExMVk1CdWlsZGVyUmVmLCBMTFZNVmFsdWVSZWYgRm4sIExMVk1WYWx1ZVJlZiAqQXJn
cywgdW5zaWduZWQgTnVtQXJncywgTExWTUJhc2ljQmxvY2tSZWYgVGhlbiwgTExWTUJhc2ljQmxv
Y2tSZWYgQ2F0Y2gsIGNvbnN0IGNoYXIgKk5hbWUpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVm
LCBCdWlsZExhbmRpbmdQYWQsIChMTFZNQnVpbGRlclJlZiBCLCBMTFZNVHlwZVJlZiBUeSwgTExW
TVZhbHVlUmVmIFBlcnNGbiwgdW5zaWduZWQgTnVtQ2xhdXNlcywgY29uc3QgY2hhciAqTmFtZSkp
IFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIEJ1aWxkUmVzdW1lLCAoTExWTUJ1aWxkZXJSZWYg
QiwgTExWTVZhbHVlUmVmIEV4bikpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIEJ1aWxkVW5y
ZWFjaGFibGUsIChMTFZNQnVpbGRlclJlZikpIFwKKyAgICBtYWNybyh2b2lkLCBBZGRDYXNlLCAo
TExWTVZhbHVlUmVmIFN3aXRjaCwgTExWTVZhbHVlUmVmIE9uVmFsLCBMTFZNQmFzaWNCbG9ja1Jl
ZiBEZXN0KSkgXAorICAgIG1hY3JvKHZvaWQsIEFkZERlc3RpbmF0aW9uLCAoTExWTVZhbHVlUmVm
IEluZGlyZWN0QnIsIExMVk1CYXNpY0Jsb2NrUmVmIERlc3QpKSBcCisgICAgbWFjcm8odm9pZCwg
QWRkQ2xhdXNlLCAoTExWTVZhbHVlUmVmIExhbmRpbmdQYWQsIExMVk1WYWx1ZVJlZiBDbGF1c2VW
YWwpKSBcCisgICAgbWFjcm8odm9pZCwgU2V0Q2xlYW51cCwgKExMVk1WYWx1ZVJlZiBMYW5kaW5n
UGFkLCBMTFZNQm9vbCBWYWwpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBCdWlsZEFkZCwg
KExMVk1CdWlsZGVyUmVmLCBMTFZNVmFsdWVSZWYgTEhTLCBMTFZNVmFsdWVSZWYgUkhTLCBjb25z
dCBjaGFyICpOYW1lKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgQnVpbGROU1dBZGQsIChM
TFZNQnVpbGRlclJlZiwgTExWTVZhbHVlUmVmIExIUywgTExWTVZhbHVlUmVmIFJIUywgY29uc3Qg
Y2hhciAqTmFtZSkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIEJ1aWxkTlVXQWRkLCAoTExW
TUJ1aWxkZXJSZWYsIExMVk1WYWx1ZVJlZiBMSFMsIExMVk1WYWx1ZVJlZiBSSFMsIGNvbnN0IGNo
YXIgKk5hbWUpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBCdWlsZEZBZGQsIChMTFZNQnVp
bGRlclJlZiwgTExWTVZhbHVlUmVmIExIUywgTExWTVZhbHVlUmVmIFJIUywgY29uc3QgY2hhciAq
TmFtZSkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIEJ1aWxkU3ViLCAoTExWTUJ1aWxkZXJS
ZWYsIExMVk1WYWx1ZVJlZiBMSFMsIExMVk1WYWx1ZVJlZiBSSFMsIGNvbnN0IGNoYXIgKk5hbWUp
KSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBCdWlsZE5TV1N1YiwgKExMVk1CdWlsZGVyUmVm
LCBMTFZNVmFsdWVSZWYgTEhTLCBMTFZNVmFsdWVSZWYgUkhTLCBjb25zdCBjaGFyICpOYW1lKSkg
XAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgQnVpbGROVVdTdWIsIChMTFZNQnVpbGRlclJlZiwg
TExWTVZhbHVlUmVmIExIUywgTExWTVZhbHVlUmVmIFJIUywgY29uc3QgY2hhciAqTmFtZSkpIFwK
KyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIEJ1aWxkRlN1YiwgKExMVk1CdWlsZGVyUmVmLCBMTFZN
VmFsdWVSZWYgTEhTLCBMTFZNVmFsdWVSZWYgUkhTLCBjb25zdCBjaGFyICpOYW1lKSkgXAorICAg
IG1hY3JvKExMVk1WYWx1ZVJlZiwgQnVpbGRNdWwsIChMTFZNQnVpbGRlclJlZiwgTExWTVZhbHVl
UmVmIExIUywgTExWTVZhbHVlUmVmIFJIUywgY29uc3QgY2hhciAqTmFtZSkpIFwKKyAgICBtYWNy
byhMTFZNVmFsdWVSZWYsIEJ1aWxkTlNXTXVsLCAoTExWTUJ1aWxkZXJSZWYsIExMVk1WYWx1ZVJl
ZiBMSFMsIExMVk1WYWx1ZVJlZiBSSFMsIGNvbnN0IGNoYXIgKk5hbWUpKSBcCisgICAgbWFjcm8o
TExWTVZhbHVlUmVmLCBCdWlsZE5VV011bCwgKExMVk1CdWlsZGVyUmVmLCBMTFZNVmFsdWVSZWYg
TEhTLCBMTFZNVmFsdWVSZWYgUkhTLCBjb25zdCBjaGFyICpOYW1lKSkgXAorICAgIG1hY3JvKExM
Vk1WYWx1ZVJlZiwgQnVpbGRGTXVsLCAoTExWTUJ1aWxkZXJSZWYsIExMVk1WYWx1ZVJlZiBMSFMs
IExMVk1WYWx1ZVJlZiBSSFMsIGNvbnN0IGNoYXIgKk5hbWUpKSBcCisgICAgbWFjcm8oTExWTVZh
bHVlUmVmLCBCdWlsZFVEaXYsIChMTFZNQnVpbGRlclJlZiwgTExWTVZhbHVlUmVmIExIUywgTExW
TVZhbHVlUmVmIFJIUywgY29uc3QgY2hhciAqTmFtZSkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVS
ZWYsIEJ1aWxkU0RpdiwgKExMVk1CdWlsZGVyUmVmLCBMTFZNVmFsdWVSZWYgTEhTLCBMTFZNVmFs
dWVSZWYgUkhTLCBjb25zdCBjaGFyICpOYW1lKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwg
QnVpbGRFeGFjdFNEaXYsIChMTFZNQnVpbGRlclJlZiwgTExWTVZhbHVlUmVmIExIUywgTExWTVZh
bHVlUmVmIFJIUywgY29uc3QgY2hhciAqTmFtZSkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYs
IEJ1aWxkRkRpdiwgKExMVk1CdWlsZGVyUmVmLCBMTFZNVmFsdWVSZWYgTEhTLCBMTFZNVmFsdWVS
ZWYgUkhTLCBjb25zdCBjaGFyICpOYW1lKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgQnVp
bGRVUmVtLCAoTExWTUJ1aWxkZXJSZWYsIExMVk1WYWx1ZVJlZiBMSFMsIExMVk1WYWx1ZVJlZiBS
SFMsIGNvbnN0IGNoYXIgKk5hbWUpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBCdWlsZFNS
ZW0sIChMTFZNQnVpbGRlclJlZiwgTExWTVZhbHVlUmVmIExIUywgTExWTVZhbHVlUmVmIFJIUywg
Y29uc3QgY2hhciAqTmFtZSkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIEJ1aWxkRlJlbSwg
KExMVk1CdWlsZGVyUmVmLCBMTFZNVmFsdWVSZWYgTEhTLCBMTFZNVmFsdWVSZWYgUkhTLCBjb25z
dCBjaGFyICpOYW1lKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgQnVpbGRTaGwsIChMTFZN
QnVpbGRlclJlZiwgTExWTVZhbHVlUmVmIExIUywgTExWTVZhbHVlUmVmIFJIUywgY29uc3QgY2hh
ciAqTmFtZSkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIEJ1aWxkTFNociwgKExMVk1CdWls
ZGVyUmVmLCBMTFZNVmFsdWVSZWYgTEhTLCBMTFZNVmFsdWVSZWYgUkhTLCBjb25zdCBjaGFyICpO
YW1lKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgQnVpbGRBU2hyLCAoTExWTUJ1aWxkZXJS
ZWYsIExMVk1WYWx1ZVJlZiBMSFMsIExMVk1WYWx1ZVJlZiBSSFMsIGNvbnN0IGNoYXIgKk5hbWUp
KSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBCdWlsZEFuZCwgKExMVk1CdWlsZGVyUmVmLCBM
TFZNVmFsdWVSZWYgTEhTLCBMTFZNVmFsdWVSZWYgUkhTLCBjb25zdCBjaGFyICpOYW1lKSkgXAor
ICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgQnVpbGRPciwgKExMVk1CdWlsZGVyUmVmLCBMTFZNVmFs
dWVSZWYgTEhTLCBMTFZNVmFsdWVSZWYgUkhTLCBjb25zdCBjaGFyICpOYW1lKSkgXAorICAgIG1h
Y3JvKExMVk1WYWx1ZVJlZiwgQnVpbGRYb3IsIChMTFZNQnVpbGRlclJlZiwgTExWTVZhbHVlUmVm
IExIUywgTExWTVZhbHVlUmVmIFJIUywgY29uc3QgY2hhciAqTmFtZSkpIFwKKyAgICBtYWNybyhM
TFZNVmFsdWVSZWYsIEJ1aWxkQmluT3AsIChMTFZNQnVpbGRlclJlZiBCLCBMTFZNT3Bjb2RlIE9w
LCBMTFZNVmFsdWVSZWYgTEhTLCBMTFZNVmFsdWVSZWYgUkhTLCBjb25zdCBjaGFyICpOYW1lKSkg
XAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgQnVpbGROZWcsIChMTFZNQnVpbGRlclJlZiwgTExW
TVZhbHVlUmVmIFYsIGNvbnN0IGNoYXIgKk5hbWUpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVm
LCBCdWlsZE5TV05lZywgKExMVk1CdWlsZGVyUmVmIEIsIExMVk1WYWx1ZVJlZiBWLCBjb25zdCBj
aGFyICpOYW1lKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgQnVpbGROVVdOZWcsIChMTFZN
QnVpbGRlclJlZiBCLCBMTFZNVmFsdWVSZWYgViwgY29uc3QgY2hhciAqTmFtZSkpIFwKKyAgICBt
YWNybyhMTFZNVmFsdWVSZWYsIEJ1aWxkRk5lZywgKExMVk1CdWlsZGVyUmVmLCBMTFZNVmFsdWVS
ZWYgViwgY29uc3QgY2hhciAqTmFtZSkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIEJ1aWxk
Tm90LCAoTExWTUJ1aWxkZXJSZWYsIExMVk1WYWx1ZVJlZiBWLCBjb25zdCBjaGFyICpOYW1lKSkg
XAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgQnVpbGRNYWxsb2MsIChMTFZNQnVpbGRlclJlZiwg
TExWTVR5cGVSZWYgVHksIGNvbnN0IGNoYXIgKk5hbWUpKSBcCisgICAgbWFjcm8oTExWTVZhbHVl
UmVmLCBCdWlsZEFycmF5TWFsbG9jLCAoTExWTUJ1aWxkZXJSZWYsIExMVk1UeXBlUmVmIFR5LCBM
TFZNVmFsdWVSZWYgVmFsLCBjb25zdCBjaGFyICpOYW1lKSkgXAorICAgIG1hY3JvKExMVk1WYWx1
ZVJlZiwgQnVpbGRBbGxvY2EsIChMTFZNQnVpbGRlclJlZiwgTExWTVR5cGVSZWYgVHksIGNvbnN0
IGNoYXIgKk5hbWUpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBCdWlsZEFycmF5QWxsb2Nh
LCAoTExWTUJ1aWxkZXJSZWYsIExMVk1UeXBlUmVmIFR5LCBMTFZNVmFsdWVSZWYgVmFsLCBjb25z
dCBjaGFyICpOYW1lKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgQnVpbGRGcmVlLCAoTExW
TUJ1aWxkZXJSZWYsIExMVk1WYWx1ZVJlZiBQb2ludGVyVmFsKSkgXAorICAgIG1hY3JvKExMVk1W
YWx1ZVJlZiwgQnVpbGRMb2FkLCAoTExWTUJ1aWxkZXJSZWYsIExMVk1WYWx1ZVJlZiBQb2ludGVy
VmFsLCBjb25zdCBjaGFyICpOYW1lKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgQnVpbGRT
dG9yZSwgKExMVk1CdWlsZGVyUmVmLCBMTFZNVmFsdWVSZWYgVmFsLCBMTFZNVmFsdWVSZWYgUHRy
KSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgQnVpbGRHRVAsIChMTFZNQnVpbGRlclJlZiBC
LCBMTFZNVmFsdWVSZWYgUG9pbnRlciwgTExWTVZhbHVlUmVmICpJbmRpY2VzLCB1bnNpZ25lZCBO
dW1JbmRpY2VzLCBjb25zdCBjaGFyICpOYW1lKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwg
QnVpbGRJbkJvdW5kc0dFUCwgKExMVk1CdWlsZGVyUmVmIEIsIExMVk1WYWx1ZVJlZiBQb2ludGVy
LCBMTFZNVmFsdWVSZWYgKkluZGljZXMsIHVuc2lnbmVkIE51bUluZGljZXMsIGNvbnN0IGNoYXIg
Kk5hbWUpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBCdWlsZFN0cnVjdEdFUCwgKExMVk1C
dWlsZGVyUmVmIEIsIExMVk1WYWx1ZVJlZiBQb2ludGVyLCB1bnNpZ25lZCBJZHgsIGNvbnN0IGNo
YXIgKk5hbWUpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBCdWlsZEdsb2JhbFN0cmluZywg
KExMVk1CdWlsZGVyUmVmIEIsIGNvbnN0IGNoYXIgKlN0ciwgY29uc3QgY2hhciAqTmFtZSkpIFwK
KyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIEJ1aWxkR2xvYmFsU3RyaW5nUHRyLCAoTExWTUJ1aWxk
ZXJSZWYgQiwgY29uc3QgY2hhciAqU3RyLCBjb25zdCBjaGFyICpOYW1lKSkgXAorICAgIG1hY3Jv
KExMVk1Cb29sLCBHZXRWb2xhdGlsZSwgKExMVk1WYWx1ZVJlZiBNZW1vcnlBY2Nlc3NJbnN0KSkg
XAorICAgIG1hY3JvKHZvaWQsIFNldFZvbGF0aWxlLCAoTExWTVZhbHVlUmVmIE1lbW9yeUFjY2Vz
c0luc3QsIExMVk1Cb29sIElzVm9sYXRpbGUpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBC
dWlsZFRydW5jLCAoTExWTUJ1aWxkZXJSZWYsIExMVk1WYWx1ZVJlZiBWYWwsIExMVk1UeXBlUmVm
IERlc3RUeSwgY29uc3QgY2hhciAqTmFtZSkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIEJ1
aWxkWkV4dCwgKExMVk1CdWlsZGVyUmVmLCBMTFZNVmFsdWVSZWYgVmFsLCBMTFZNVHlwZVJlZiBE
ZXN0VHksIGNvbnN0IGNoYXIgKk5hbWUpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBCdWls
ZFNFeHQsIChMTFZNQnVpbGRlclJlZiwgTExWTVZhbHVlUmVmIFZhbCwgTExWTVR5cGVSZWYgRGVz
dFR5LCBjb25zdCBjaGFyICpOYW1lKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgQnVpbGRG
UFRvVUksIChMTFZNQnVpbGRlclJlZiwgTExWTVZhbHVlUmVmIFZhbCwgTExWTVR5cGVSZWYgRGVz
dFR5LCBjb25zdCBjaGFyICpOYW1lKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgQnVpbGRG
UFRvU0ksIChMTFZNQnVpbGRlclJlZiwgTExWTVZhbHVlUmVmIFZhbCwgTExWTVR5cGVSZWYgRGVz
dFR5LCBjb25zdCBjaGFyICpOYW1lKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgQnVpbGRV
SVRvRlAsIChMTFZNQnVpbGRlclJlZiwgTExWTVZhbHVlUmVmIFZhbCwgTExWTVR5cGVSZWYgRGVz
dFR5LCBjb25zdCBjaGFyICpOYW1lKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgQnVpbGRT
SVRvRlAsIChMTFZNQnVpbGRlclJlZiwgTExWTVZhbHVlUmVmIFZhbCwgTExWTVR5cGVSZWYgRGVz
dFR5LCBjb25zdCBjaGFyICpOYW1lKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgQnVpbGRG
UFRydW5jLCAoTExWTUJ1aWxkZXJSZWYsIExMVk1WYWx1ZVJlZiBWYWwsIExMVk1UeXBlUmVmIERl
c3RUeSwgY29uc3QgY2hhciAqTmFtZSkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIEJ1aWxk
RlBFeHQsIChMTFZNQnVpbGRlclJlZiwgTExWTVZhbHVlUmVmIFZhbCwgTExWTVR5cGVSZWYgRGVz
dFR5LCBjb25zdCBjaGFyICpOYW1lKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgQnVpbGRQ
dHJUb0ludCwgKExMVk1CdWlsZGVyUmVmLCBMTFZNVmFsdWVSZWYgVmFsLCBMTFZNVHlwZVJlZiBE
ZXN0VHksIGNvbnN0IGNoYXIgKk5hbWUpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBCdWls
ZEludFRvUHRyLCAoTExWTUJ1aWxkZXJSZWYsIExMVk1WYWx1ZVJlZiBWYWwsIExMVk1UeXBlUmVm
IERlc3RUeSwgY29uc3QgY2hhciAqTmFtZSkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIEJ1
aWxkQml0Q2FzdCwgKExMVk1CdWlsZGVyUmVmLCBMTFZNVmFsdWVSZWYgVmFsLCBMTFZNVHlwZVJl
ZiBEZXN0VHksIGNvbnN0IGNoYXIgKk5hbWUpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBC
dWlsZFpFeHRPckJpdENhc3QsIChMTFZNQnVpbGRlclJlZiwgTExWTVZhbHVlUmVmIFZhbCwgTExW
TVR5cGVSZWYgRGVzdFR5LCBjb25zdCBjaGFyICpOYW1lKSkgXAorICAgIG1hY3JvKExMVk1WYWx1
ZVJlZiwgQnVpbGRTRXh0T3JCaXRDYXN0LCAoTExWTUJ1aWxkZXJSZWYsIExMVk1WYWx1ZVJlZiBW
YWwsIExMVk1UeXBlUmVmIERlc3RUeSwgY29uc3QgY2hhciAqTmFtZSkpIFwKKyAgICBtYWNybyhM
TFZNVmFsdWVSZWYsIEJ1aWxkVHJ1bmNPckJpdENhc3QsIChMTFZNQnVpbGRlclJlZiwgTExWTVZh
bHVlUmVmIFZhbCwgTExWTVR5cGVSZWYgRGVzdFR5LCBjb25zdCBjaGFyICpOYW1lKSkgXAorICAg
IG1hY3JvKExMVk1WYWx1ZVJlZiwgQnVpbGRDYXN0LCAoTExWTUJ1aWxkZXJSZWYgQiwgTExWTU9w
Y29kZSBPcCwgTExWTVZhbHVlUmVmIFZhbCwgTExWTVR5cGVSZWYgRGVzdFR5LCBjb25zdCBjaGFy
ICpOYW1lKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgQnVpbGRQb2ludGVyQ2FzdCwgKExM
Vk1CdWlsZGVyUmVmLCBMTFZNVmFsdWVSZWYgVmFsLCBMTFZNVHlwZVJlZiBEZXN0VHksIGNvbnN0
IGNoYXIgKk5hbWUpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBCdWlsZEludENhc3QsIChM
TFZNQnVpbGRlclJlZiwgTExWTVZhbHVlUmVmIFZhbCwgTExWTVR5cGVSZWYgRGVzdFR5LCBjb25z
dCBjaGFyICpOYW1lKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgQnVpbGRGUENhc3QsIChM
TFZNQnVpbGRlclJlZiwgTExWTVZhbHVlUmVmIFZhbCwgTExWTVR5cGVSZWYgRGVzdFR5LCBjb25z
dCBjaGFyICpOYW1lKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgQnVpbGRJQ21wLCAoTExW
TUJ1aWxkZXJSZWYsIExMVk1JbnRQcmVkaWNhdGUgT3AsIExMVk1WYWx1ZVJlZiBMSFMsIExMVk1W
YWx1ZVJlZiBSSFMsIGNvbnN0IGNoYXIgKk5hbWUpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVm
LCBCdWlsZEZDbXAsIChMTFZNQnVpbGRlclJlZiwgTExWTVJlYWxQcmVkaWNhdGUgT3AsIExMVk1W
YWx1ZVJlZiBMSFMsIExMVk1WYWx1ZVJlZiBSSFMsIGNvbnN0IGNoYXIgKk5hbWUpKSBcCisgICAg
bWFjcm8oTExWTVZhbHVlUmVmLCBCdWlsZFBoaSwgKExMVk1CdWlsZGVyUmVmLCBMTFZNVHlwZVJl
ZiBUeSwgY29uc3QgY2hhciAqTmFtZSkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIEJ1aWxk
Q2FsbCwgKExMVk1CdWlsZGVyUmVmLCBMTFZNVmFsdWVSZWYgRm4sIExMVk1WYWx1ZVJlZiAqQXJn
cywgdW5zaWduZWQgTnVtQXJncywgY29uc3QgY2hhciAqTmFtZSkpIFwKKyAgICBtYWNybyhMTFZN
VmFsdWVSZWYsIEJ1aWxkU2VsZWN0LCAoTExWTUJ1aWxkZXJSZWYsIExMVk1WYWx1ZVJlZiBJZiwg
TExWTVZhbHVlUmVmIFRoZW4sIExMVk1WYWx1ZVJlZiBFbHNlLCBjb25zdCBjaGFyICpOYW1lKSkg
XAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgQnVpbGRWQUFyZywgKExMVk1CdWlsZGVyUmVmLCBM
TFZNVmFsdWVSZWYgTGlzdCwgTExWTVR5cGVSZWYgVHksIGNvbnN0IGNoYXIgKk5hbWUpKSBcCisg
ICAgbWFjcm8oTExWTVZhbHVlUmVmLCBCdWlsZEV4dHJhY3RFbGVtZW50LCAoTExWTUJ1aWxkZXJS
ZWYsIExMVk1WYWx1ZVJlZiBWZWNWYWwsIExMVk1WYWx1ZVJlZiBJbmRleCwgY29uc3QgY2hhciAq
TmFtZSkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIEJ1aWxkSW5zZXJ0RWxlbWVudCwgKExM
Vk1CdWlsZGVyUmVmLCBMTFZNVmFsdWVSZWYgVmVjVmFsLCBMTFZNVmFsdWVSZWYgRWx0VmFsLCBM
TFZNVmFsdWVSZWYgSW5kZXgsIGNvbnN0IGNoYXIgKk5hbWUpKSBcCisgICAgbWFjcm8oTExWTVZh
bHVlUmVmLCBCdWlsZFNodWZmbGVWZWN0b3IsIChMTFZNQnVpbGRlclJlZiwgTExWTVZhbHVlUmVm
IFYxLCBMTFZNVmFsdWVSZWYgVjIsIExMVk1WYWx1ZVJlZiBNYXNrLCBjb25zdCBjaGFyICpOYW1l
KSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJlZiwgQnVpbGRFeHRyYWN0VmFsdWUsIChMTFZNQnVp
bGRlclJlZiwgTExWTVZhbHVlUmVmIEFnZ1ZhbCwgdW5zaWduZWQgSW5kZXgsIGNvbnN0IGNoYXIg
Kk5hbWUpKSBcCisgICAgbWFjcm8oTExWTVZhbHVlUmVmLCBCdWlsZEluc2VydFZhbHVlLCAoTExW
TUJ1aWxkZXJSZWYsIExMVk1WYWx1ZVJlZiBBZ2dWYWwsIExMVk1WYWx1ZVJlZiBFbHRWYWwsIHVu
c2lnbmVkIEluZGV4LCBjb25zdCBjaGFyICpOYW1lKSkgXAorICAgIG1hY3JvKExMVk1WYWx1ZVJl
ZiwgQnVpbGRJc051bGwsIChMTFZNQnVpbGRlclJlZiwgTExWTVZhbHVlUmVmIFZhbCwgY29uc3Qg
Y2hhciAqTmFtZSkpIFwKKyAgICBtYWNybyhMTFZNVmFsdWVSZWYsIEJ1aWxkSXNOb3ROdWxsLCAo
TExWTUJ1aWxkZXJSZWYsIExMVk1WYWx1ZVJlZiBWYWwsIGNvbnN0IGNoYXIgKk5hbWUpKSBcCisg
ICAgbWFjcm8oTExWTVZhbHVlUmVmLCBCdWlsZFB0ckRpZmYsIChMTFZNQnVpbGRlclJlZiwgTExW
TVZhbHVlUmVmIExIUywgTExWTVZhbHVlUmVmIFJIUywgY29uc3QgY2hhciAqTmFtZSkpIFwKKyAg
ICBtYWNybyhMTFZNVmFsdWVSZWYsIEJ1aWxkQXRvbWljUk1XLCAoTExWTUJ1aWxkZXJSZWYgQiwg
TExWTUF0b21pY1JNV0Jpbk9wIG9wLCBMTFZNVmFsdWVSZWYgUFRSLCBMTFZNVmFsdWVSZWYgVmFs
LCBMTFZNQXRvbWljT3JkZXJpbmcgb3JkZXJpbmcsIExMVk1Cb29sIHNpbmdsZVRocmVhZCkpIFwK
KyAgICBtYWNybyhMTFZNTW9kdWxlUHJvdmlkZXJSZWYsIENyZWF0ZU1vZHVsZVByb3ZpZGVyRm9y
RXhpc3RpbmdNb2R1bGUsIChMTFZNTW9kdWxlUmVmIE0pKSBcCisgICAgbWFjcm8odm9pZCwgRGlz
cG9zZU1vZHVsZVByb3ZpZGVyLCAoTExWTU1vZHVsZVByb3ZpZGVyUmVmIE0pKSBcCisgICAgbWFj
cm8oTExWTUJvb2wsIENyZWF0ZU1lbW9yeUJ1ZmZlcldpdGhDb250ZW50c09mRmlsZSwgKGNvbnN0
IGNoYXIgKlBhdGgsIExMVk1NZW1vcnlCdWZmZXJSZWYgKk91dE1lbUJ1ZiwgY2hhciAqKk91dE1l
c3NhZ2UpKSBcCisgICAgbWFjcm8oTExWTUJvb2wsIENyZWF0ZU1lbW9yeUJ1ZmZlcldpdGhTVERJ
TiwgKExMVk1NZW1vcnlCdWZmZXJSZWYgKk91dE1lbUJ1ZiwgY2hhciAqKk91dE1lc3NhZ2UpKSBc
CisgICAgbWFjcm8oTExWTU1lbW9yeUJ1ZmZlclJlZiwgQ3JlYXRlTWVtb3J5QnVmZmVyV2l0aE1l
bW9yeVJhbmdlLCAoY29uc3QgY2hhciAqSW5wdXREYXRhLCBzaXplX3QgSW5wdXREYXRhTGVuZ3Ro
LCBjb25zdCBjaGFyICpCdWZmZXJOYW1lLCBMTFZNQm9vbCBSZXF1aXJlc051bGxUZXJtaW5hdG9y
KSkgXAorICAgIG1hY3JvKExMVk1NZW1vcnlCdWZmZXJSZWYsIENyZWF0ZU1lbW9yeUJ1ZmZlcldp
dGhNZW1vcnlSYW5nZUNvcHksIChjb25zdCBjaGFyICpJbnB1dERhdGEsIHNpemVfdCBJbnB1dERh
dGFMZW5ndGgsIGNvbnN0IGNoYXIgKkJ1ZmZlck5hbWUpKSBcCisgICAgbWFjcm8oY29uc3QgY2hh
ciAqLCBHZXRCdWZmZXJTdGFydCwgKExMVk1NZW1vcnlCdWZmZXJSZWYgTWVtQnVmKSkgXAorICAg
IG1hY3JvKHNpemVfdCwgR2V0QnVmZmVyU2l6ZSwgKExMVk1NZW1vcnlCdWZmZXJSZWYgTWVtQnVm
KSkgXAorICAgIG1hY3JvKHZvaWQsIERpc3Bvc2VNZW1vcnlCdWZmZXIsIChMTFZNTWVtb3J5QnVm
ZmVyUmVmIE1lbUJ1ZikpIFwKKyAgICBtYWNybyhMTFZNUGFzc1JlZ2lzdHJ5UmVmLCBHZXRHbG9i
YWxQYXNzUmVnaXN0cnksICh2b2lkKSkgXAorICAgIG1hY3JvKExMVk1QYXNzTWFuYWdlclJlZiwg
Q3JlYXRlUGFzc01hbmFnZXIsICh2b2lkKSkgXAorICAgIG1hY3JvKExMVk1QYXNzTWFuYWdlclJl
ZiwgQ3JlYXRlRnVuY3Rpb25QYXNzTWFuYWdlckZvck1vZHVsZSwgKExMVk1Nb2R1bGVSZWYgTSkp
IFwKKyAgICBtYWNybyhMTFZNUGFzc01hbmFnZXJSZWYsIENyZWF0ZUZ1bmN0aW9uUGFzc01hbmFn
ZXIsIChMTFZNTW9kdWxlUHJvdmlkZXJSZWYgTVApKSBcCisgICAgbWFjcm8oTExWTUJvb2wsIFJ1
blBhc3NNYW5hZ2VyLCAoTExWTVBhc3NNYW5hZ2VyUmVmIFBNLCBMTFZNTW9kdWxlUmVmIE0pKSBc
CisgICAgbWFjcm8oTExWTUJvb2wsIEluaXRpYWxpemVGdW5jdGlvblBhc3NNYW5hZ2VyLCAoTExW
TVBhc3NNYW5hZ2VyUmVmIEZQTSkpIFwKKyAgICBtYWNybyhMTFZNQm9vbCwgUnVuRnVuY3Rpb25Q
YXNzTWFuYWdlciwgKExMVk1QYXNzTWFuYWdlclJlZiBGUE0sIExMVk1WYWx1ZVJlZiBGKSkgXAor
ICAgIG1hY3JvKExMVk1Cb29sLCBGaW5hbGl6ZUZ1bmN0aW9uUGFzc01hbmFnZXIsIChMTFZNUGFz
c01hbmFnZXJSZWYgRlBNKSkgXAorICAgIG1hY3JvKHZvaWQsIERpc3Bvc2VQYXNzTWFuYWdlciwg
KExMVk1QYXNzTWFuYWdlclJlZiBQTSkpIFwKKyAgICBtYWNybyhMTFZNQm9vbCwgU3RhcnRNdWx0
aXRocmVhZGVkLCAoKSkgXAorICAgIG1hY3JvKHZvaWQsIFN0b3BNdWx0aXRocmVhZGVkLCAoKSkg
XAorICAgIG1hY3JvKExMVk1Cb29sLCBJc011bHRpdGhyZWFkZWQsICgpKSBcCisgICAgbWFjcm8o
TExWTVRhcmdldERhdGFSZWYsIENyZWF0ZVRhcmdldERhdGEsIChjb25zdCBjaGFyICpTdHJpbmdS
ZXApKSBcCisgICAgbWFjcm8odm9pZCwgQWRkVGFyZ2V0RGF0YSwgKExMVk1UYXJnZXREYXRhUmVm
LCBMTFZNUGFzc01hbmFnZXJSZWYpKSBcCisgICAgbWFjcm8odm9pZCwgQWRkVGFyZ2V0TGlicmFy
eUluZm8sIChMTFZNVGFyZ2V0TGlicmFyeUluZm9SZWYsIExMVk1QYXNzTWFuYWdlclJlZikpIFwK
KyAgICBtYWNybyhjaGFyICosIENvcHlTdHJpbmdSZXBPZlRhcmdldERhdGEsIChMTFZNVGFyZ2V0
RGF0YVJlZikpIFwKKyAgICBtYWNybyhlbnVtIExMVk1CeXRlT3JkZXJpbmcsIEJ5dGVPcmRlciwg
KExMVk1UYXJnZXREYXRhUmVmKSkgXAorICAgIG1hY3JvKHVuc2lnbmVkLCBQb2ludGVyU2l6ZSwg
KExMVk1UYXJnZXREYXRhUmVmKSkgXAorICAgIG1hY3JvKExMVk1UeXBlUmVmLCBJbnRQdHJUeXBl
LCAoTExWTVRhcmdldERhdGFSZWYpKSBcCisgICAgbWFjcm8odW5zaWduZWQgbG9uZyBsb25nLCBT
aXplT2ZUeXBlSW5CaXRzLCAoTExWTVRhcmdldERhdGFSZWYsIExMVk1UeXBlUmVmKSkgXAorICAg
IG1hY3JvKHVuc2lnbmVkIGxvbmcgbG9uZywgU3RvcmVTaXplT2ZUeXBlLCAoTExWTVRhcmdldERh
dGFSZWYsIExMVk1UeXBlUmVmKSkgXAorICAgIG1hY3JvKHVuc2lnbmVkIGxvbmcgbG9uZywgQUJJ
U2l6ZU9mVHlwZSwgKExMVk1UYXJnZXREYXRhUmVmLCBMTFZNVHlwZVJlZikpIFwKKyAgICBtYWNy
byh1bnNpZ25lZCwgQUJJQWxpZ25tZW50T2ZUeXBlLCAoTExWTVRhcmdldERhdGFSZWYsIExMVk1U
eXBlUmVmKSkgXAorICAgIG1hY3JvKHVuc2lnbmVkLCBDYWxsRnJhbWVBbGlnbm1lbnRPZlR5cGUs
IChMTFZNVGFyZ2V0RGF0YVJlZiwgTExWTVR5cGVSZWYpKSBcCisgICAgbWFjcm8odW5zaWduZWQs
IFByZWZlcnJlZEFsaWdubWVudE9mVHlwZSwgKExMVk1UYXJnZXREYXRhUmVmLCBMTFZNVHlwZVJl
ZikpIFwKKyAgICBtYWNybyh1bnNpZ25lZCwgUHJlZmVycmVkQWxpZ25tZW50T2ZHbG9iYWwsIChM
TFZNVGFyZ2V0RGF0YVJlZiwgTExWTVZhbHVlUmVmIEdsb2JhbFZhcikpIFwKKyAgICBtYWNybyh1
bnNpZ25lZCwgRWxlbWVudEF0T2Zmc2V0LCAoTExWTVRhcmdldERhdGFSZWYsIExMVk1UeXBlUmVm
IFN0cnVjdFR5LCB1bnNpZ25lZCBsb25nIGxvbmcgT2Zmc2V0KSkgXAorICAgIG1hY3JvKHVuc2ln
bmVkIGxvbmcgbG9uZywgT2Zmc2V0T2ZFbGVtZW50LCAoTExWTVRhcmdldERhdGFSZWYsIExMVk1U
eXBlUmVmIFN0cnVjdFR5LCB1bnNpZ25lZCBFbGVtZW50KSkgXAorICAgIG1hY3JvKHZvaWQsIERp
c3Bvc2VUYXJnZXREYXRhLCAoTExWTVRhcmdldERhdGFSZWYpKSBcCisgICAgbWFjcm8oTExWTVRh
cmdldFJlZiwgR2V0Rmlyc3RUYXJnZXQsICgpKSBcCisgICAgbWFjcm8oTExWTVRhcmdldFJlZiwg
R2V0TmV4dFRhcmdldCwgKExMVk1UYXJnZXRSZWYgVCkpIFwKKyAgICBtYWNybyhjb25zdCBjaGFy
ICosIEdldFRhcmdldE5hbWUsIChMTFZNVGFyZ2V0UmVmIFQpKSBcCisgICAgbWFjcm8oY29uc3Qg
Y2hhciAqLCBHZXRUYXJnZXREZXNjcmlwdGlvbiwgKExMVk1UYXJnZXRSZWYgVCkpIFwKKyAgICBt
YWNybyhMTFZNQm9vbCwgVGFyZ2V0SGFzSklULCAoTExWTVRhcmdldFJlZiBUKSkgXAorICAgIG1h
Y3JvKExMVk1Cb29sLCBUYXJnZXRIYXNUYXJnZXRNYWNoaW5lLCAoTExWTVRhcmdldFJlZiBUKSkg
XAorICAgIG1hY3JvKExMVk1Cb29sLCBUYXJnZXRIYXNBc21CYWNrZW5kLCAoTExWTVRhcmdldFJl
ZiBUKSkgXAorICAgIG1hY3JvKExMVk1UYXJnZXRNYWNoaW5lUmVmLCBDcmVhdGVUYXJnZXRNYWNo
aW5lLCAoTExWTVRhcmdldFJlZiBULCBjaGFyICpUcmlwbGUsIGNoYXIgKkNQVSwgY2hhciAqRmVh
dHVyZXMsIExMVk1Db2RlR2VuT3B0TGV2ZWwgTGV2ZWwsIExMVk1SZWxvY01vZGUgUmVsb2MsIExM
Vk1Db2RlTW9kZWwgQ29kZU1vZGVsKSkgXAorICAgIG1hY3JvKHZvaWQsIERpc3Bvc2VUYXJnZXRN
YWNoaW5lLCAoTExWTVRhcmdldE1hY2hpbmVSZWYgVCkpIFwKKyAgICBtYWNybyhMTFZNVGFyZ2V0
UmVmLCBHZXRUYXJnZXRNYWNoaW5lVGFyZ2V0LCAoTExWTVRhcmdldE1hY2hpbmVSZWYgVCkpIFwK
KyAgICBtYWNybyhjaGFyICosIEdldFRhcmdldE1hY2hpbmVUcmlwbGUsIChMTFZNVGFyZ2V0TWFj
aGluZVJlZiBUKSkgXAorICAgIG1hY3JvKGNoYXIgKiwgR2V0VGFyZ2V0TWFjaGluZUNQVSwgKExM
Vk1UYXJnZXRNYWNoaW5lUmVmIFQpKSBcCisgICAgbWFjcm8oY2hhciAqLCBHZXRUYXJnZXRNYWNo
aW5lRmVhdHVyZVN0cmluZywgKExMVk1UYXJnZXRNYWNoaW5lUmVmIFQpKSBcCisgICAgbWFjcm8o
TExWTVRhcmdldERhdGFSZWYsIEdldFRhcmdldE1hY2hpbmVEYXRhLCAoTExWTVRhcmdldE1hY2hp
bmVSZWYgVCkpIFwKKyAgICBtYWNybyhMTFZNQm9vbCwgVGFyZ2V0TWFjaGluZUVtaXRUb0ZpbGUs
IChMTFZNVGFyZ2V0TWFjaGluZVJlZiBULCBMTFZNTW9kdWxlUmVmIE0sIGNoYXIgKkZpbGVuYW1l
LCBMTFZNQ29kZUdlbkZpbGVUeXBlIGNvZGVnZW4sIGNoYXIgKipFcnJvck1lc3NhZ2UpKSBcCisg
ICAgbWFjcm8odm9pZCwgTGlua0luSklULCAodm9pZCkpIFwKKyAgICBtYWNybyh2b2lkLCBMaW5r
SW5NQ0pJVCwgKHZvaWQpKSBcCisgICAgbWFjcm8odm9pZCwgTGlua0luSW50ZXJwcmV0ZXIsICh2
b2lkKSkgXAorICAgIG1hY3JvKExMVk1HZW5lcmljVmFsdWVSZWYsIENyZWF0ZUdlbmVyaWNWYWx1
ZU9mSW50LCAoTExWTVR5cGVSZWYgVHksIHVuc2lnbmVkIGxvbmcgbG9uZyBOLCBMTFZNQm9vbCBJ
c1NpZ25lZCkpIFwKKyAgICBtYWNybyhMTFZNR2VuZXJpY1ZhbHVlUmVmLCBDcmVhdGVHZW5lcmlj
VmFsdWVPZlBvaW50ZXIsICh2b2lkICpQKSkgXAorICAgIG1hY3JvKExMVk1HZW5lcmljVmFsdWVS
ZWYsIENyZWF0ZUdlbmVyaWNWYWx1ZU9mRmxvYXQsIChMTFZNVHlwZVJlZiBUeSwgZG91YmxlIE4p
KSBcCisgICAgbWFjcm8odW5zaWduZWQsIEdlbmVyaWNWYWx1ZUludFdpZHRoLCAoTExWTUdlbmVy
aWNWYWx1ZVJlZiBHZW5WYWxSZWYpKSBcCisgICAgbWFjcm8odW5zaWduZWQgbG9uZyBsb25nLCBH
ZW5lcmljVmFsdWVUb0ludCwgKExMVk1HZW5lcmljVmFsdWVSZWYgR2VuVmFsLCBMTFZNQm9vbCBJ
c1NpZ25lZCkpIFwKKyAgICBtYWNybyh2b2lkICosIEdlbmVyaWNWYWx1ZVRvUG9pbnRlciwgKExM
Vk1HZW5lcmljVmFsdWVSZWYgR2VuVmFsKSkgXAorICAgIG1hY3JvKGRvdWJsZSwgR2VuZXJpY1Zh
bHVlVG9GbG9hdCwgKExMVk1UeXBlUmVmIFR5UmVmLCBMTFZNR2VuZXJpY1ZhbHVlUmVmIEdlblZh
bCkpIFwKKyAgICBtYWNybyh2b2lkLCBEaXNwb3NlR2VuZXJpY1ZhbHVlLCAoTExWTUdlbmVyaWNW
YWx1ZVJlZiBHZW5WYWwpKSBcCisgICAgbWFjcm8oTExWTUJvb2wsIENyZWF0ZUV4ZWN1dGlvbkVu
Z2luZUZvck1vZHVsZSwgKExMVk1FeGVjdXRpb25FbmdpbmVSZWYgKk91dEVFLCBMTFZNTW9kdWxl
UmVmIE0sIGNoYXIgKipPdXRFcnJvcikpIFwKKyAgICBtYWNybyhMTFZNQm9vbCwgQ3JlYXRlSW50
ZXJwcmV0ZXJGb3JNb2R1bGUsIChMTFZNRXhlY3V0aW9uRW5naW5lUmVmICpPdXRJbnRlcnAsIExM
Vk1Nb2R1bGVSZWYgTSwgY2hhciAqKk91dEVycm9yKSkgXAorICAgIG1hY3JvKExMVk1Cb29sLCBD
cmVhdGVKSVRDb21waWxlckZvck1vZHVsZSwgKExMVk1FeGVjdXRpb25FbmdpbmVSZWYgKk91dEpJ
VCwgTExWTU1vZHVsZVJlZiBNLCB1bnNpZ25lZCBPcHRMZXZlbCwgY2hhciAqKk91dEVycm9yKSkg
XAorICAgIG1hY3JvKHZvaWQsIEluaXRpYWxpemVNQ0pJVENvbXBpbGVyT3B0aW9ucywgKHN0cnVj
dCBMTFZNTUNKSVRDb21waWxlck9wdGlvbnMgKk9wdGlvbnMsIHNpemVfdCBTaXplT2ZPcHRpb25z
KSkgXAorICAgIG1hY3JvKExMVk1Cb29sLCBDcmVhdGVNQ0pJVENvbXBpbGVyRm9yTW9kdWxlLCAo
TExWTUV4ZWN1dGlvbkVuZ2luZVJlZiAqT3V0SklULCBMTFZNTW9kdWxlUmVmIE0sIHN0cnVjdCBM
TFZNTUNKSVRDb21waWxlck9wdGlvbnMgKk9wdGlvbnMsIHNpemVfdCBTaXplT2ZPcHRpb25zLCBj
aGFyICoqT3V0RXJyb3IpKSBcCisgICAgbWFjcm8oTExWTUJvb2wsIENyZWF0ZUV4ZWN1dGlvbkVu
Z2luZSwgKExMVk1FeGVjdXRpb25FbmdpbmVSZWYgKk91dEVFLCBMTFZNTW9kdWxlUHJvdmlkZXJS
ZWYgTVAsIGNoYXIgKipPdXRFcnJvcikpIFwKKyAgICBtYWNybyhMTFZNQm9vbCwgQ3JlYXRlSW50
ZXJwcmV0ZXIsIChMTFZNRXhlY3V0aW9uRW5naW5lUmVmICpPdXRJbnRlcnAsIExMVk1Nb2R1bGVQ
cm92aWRlclJlZiBNUCwgY2hhciAqKk91dEVycm9yKSkgXAorICAgIG1hY3JvKExMVk1Cb29sLCBD
cmVhdGVKSVRDb21waWxlciwgKExMVk1FeGVjdXRpb25FbmdpbmVSZWYgKk91dEpJVCwgTExWTU1v
ZHVsZVByb3ZpZGVyUmVmIE1QLCB1bnNpZ25lZCBPcHRMZXZlbCwgY2hhciAqKk91dEVycm9yKSkg
XAorICAgIG1hY3JvKHZvaWQsIERpc3Bvc2VFeGVjdXRpb25FbmdpbmUsIChMTFZNRXhlY3V0aW9u
RW5naW5lUmVmIEVFKSkgXAorICAgIG1hY3JvKHZvaWQsIFJ1blN0YXRpY0NvbnN0cnVjdG9ycywg
KExMVk1FeGVjdXRpb25FbmdpbmVSZWYgRUUpKSBcCisgICAgbWFjcm8odm9pZCwgUnVuU3RhdGlj
RGVzdHJ1Y3RvcnMsIChMTFZNRXhlY3V0aW9uRW5naW5lUmVmIEVFKSkgXAorICAgIG1hY3JvKGlu
dCwgUnVuRnVuY3Rpb25Bc01haW4sIChMTFZNRXhlY3V0aW9uRW5naW5lUmVmIEVFLCBMTFZNVmFs
dWVSZWYgRiwgdW5zaWduZWQgQXJnQywgY29uc3QgY2hhciAqIGNvbnN0ICpBcmdWLCBjb25zdCBj
aGFyICogY29uc3QgKkVudlApKSBcCisgICAgbWFjcm8oTExWTUdlbmVyaWNWYWx1ZVJlZiwgUnVu
RnVuY3Rpb24sIChMTFZNRXhlY3V0aW9uRW5naW5lUmVmIEVFLCBMTFZNVmFsdWVSZWYgRiwgdW5z
aWduZWQgTnVtQXJncywgTExWTUdlbmVyaWNWYWx1ZVJlZiAqQXJncykpIFwKKyAgICBtYWNybyh2
b2lkLCBGcmVlTWFjaGluZUNvZGVGb3JGdW5jdGlvbiwgKExMVk1FeGVjdXRpb25FbmdpbmVSZWYg
RUUsIExMVk1WYWx1ZVJlZiBGKSkgXAorICAgIG1hY3JvKHZvaWQsIEFkZE1vZHVsZSwgKExMVk1F
eGVjdXRpb25FbmdpbmVSZWYgRUUsIExMVk1Nb2R1bGVSZWYgTSkpIFwKKyAgICBtYWNybyh2b2lk
LCBBZGRNb2R1bGVQcm92aWRlciwgKExMVk1FeGVjdXRpb25FbmdpbmVSZWYgRUUsIExMVk1Nb2R1
bGVQcm92aWRlclJlZiBNUCkpIFwKKyAgICBtYWNybyhMTFZNQm9vbCwgUmVtb3ZlTW9kdWxlLCAo
TExWTUV4ZWN1dGlvbkVuZ2luZVJlZiBFRSwgTExWTU1vZHVsZVJlZiBNLCBMTFZNTW9kdWxlUmVm
ICpPdXRNb2QsIGNoYXIgKipPdXRFcnJvcikpIFwKKyAgICBtYWNybyhMTFZNQm9vbCwgUmVtb3Zl
TW9kdWxlUHJvdmlkZXIsIChMTFZNRXhlY3V0aW9uRW5naW5lUmVmIEVFLCBMTFZNTW9kdWxlUHJv
dmlkZXJSZWYgTVAsIExMVk1Nb2R1bGVSZWYgKk91dE1vZCwgY2hhciAqKk91dEVycm9yKSkgXAor
ICAgIG1hY3JvKExMVk1Cb29sLCBGaW5kRnVuY3Rpb24sIChMTFZNRXhlY3V0aW9uRW5naW5lUmVm
IEVFLCBjb25zdCBjaGFyICpOYW1lLCBMTFZNVmFsdWVSZWYgKk91dEZuKSkgXAorICAgIG1hY3Jv
KHZvaWQgKiwgUmVjb21waWxlQW5kUmVsaW5rRnVuY3Rpb24sIChMTFZNRXhlY3V0aW9uRW5naW5l
UmVmIEVFLCBMTFZNVmFsdWVSZWYgRm4pKSBcCisgICAgbWFjcm8oTExWTVRhcmdldERhdGFSZWYs
IEdldEV4ZWN1dGlvbkVuZ2luZVRhcmdldERhdGEsIChMTFZNRXhlY3V0aW9uRW5naW5lUmVmIEVF
KSkgXAorICAgIG1hY3JvKHZvaWQsIEFkZEdsb2JhbE1hcHBpbmcsIChMTFZNRXhlY3V0aW9uRW5n
aW5lUmVmIEVFLCBMTFZNVmFsdWVSZWYgR2xvYmFsLCB2b2lkKiBBZGRyKSkgXAorICAgIG1hY3Jv
KHZvaWQgKiwgR2V0UG9pbnRlclRvR2xvYmFsLCAoTExWTUV4ZWN1dGlvbkVuZ2luZVJlZiBFRSwg
TExWTVZhbHVlUmVmIEdsb2JhbCkpIFwKKyAgICBtYWNybyhMTFZNTUNKSVRNZW1vcnlNYW5hZ2Vy
UmVmLCBDcmVhdGVTaW1wbGVNQ0pJVE1lbW9yeU1hbmFnZXIsICh2b2lkICpPcGFxdWUsIExMVk1N
ZW1vcnlNYW5hZ2VyQWxsb2NhdGVDb2RlU2VjdGlvbkNhbGxiYWNrIEFsbG9jYXRlQ29kZVNlY3Rp
b24sIExMVk1NZW1vcnlNYW5hZ2VyQWxsb2NhdGVEYXRhU2VjdGlvbkNhbGxiYWNrIEFsbG9jYXRl
RGF0YVNlY3Rpb24sIExMVk1NZW1vcnlNYW5hZ2VyRmluYWxpemVNZW1vcnlDYWxsYmFjayBGaW5h
bGl6ZU1lbW9yeSwgTExWTU1lbW9yeU1hbmFnZXJEZXN0cm95Q2FsbGJhY2sgRGVzdG9yeSkpIFwK
KyAgICBtYWNybyh2b2lkLCBEaXNwb3NlTUNKSVRNZW1vcnlNYW5hZ2VyLCAoTExWTU1DSklUTWVt
b3J5TWFuYWdlclJlZiBNTSkpIFwKKyAgICBtYWNybyhMTFZNQm9vbCwgVmVyaWZ5TW9kdWxlLCAo
TExWTU1vZHVsZVJlZiBNLCBMTFZNVmVyaWZpZXJGYWlsdXJlQWN0aW9uIEFjdGlvbiwgY2hhciAq
Kk91dE1lc3NhZ2UpKSBcCisgICAgbWFjcm8oTExWTUJvb2wsIFZlcmlmeUZ1bmN0aW9uLCAoTExW
TVZhbHVlUmVmIEZuLCBMTFZNVmVyaWZpZXJGYWlsdXJlQWN0aW9uIEFjdGlvbikpIFwKKyAgICBt
YWNybyh2b2lkLCBWaWV3RnVuY3Rpb25DRkcsIChMTFZNVmFsdWVSZWYgRm4pKSBcCisgICAgbWFj
cm8odm9pZCwgVmlld0Z1bmN0aW9uQ0ZHT25seSwgKExMVk1WYWx1ZVJlZiBGbikpIFwKKyAgICBt
YWNybyhMTFZNRGlzYXNtQ29udGV4dFJlZiwgQ3JlYXRlRGlzYXNtLCAoY29uc3QgY2hhciAqVHJp
cGxlTmFtZSwgdm9pZCAqRGlzSW5mbywgaW50IFRhZ1R5cGUsIExMVk1PcEluZm9DYWxsYmFjayBH
ZXRPcEluZm8sIExMVk1TeW1ib2xMb29rdXBDYWxsYmFjayBTeW1ib2xMb29rVXApKSBcCisgICAg
bWFjcm8oTExWTURpc2FzbUNvbnRleHRSZWYsIENyZWF0ZURpc2FzbUNQVSwgKGNvbnN0IGNoYXIg
KlRyaXBsZSwgY29uc3QgY2hhciAqQ1BVLCB2b2lkICpEaXNJbmZvLCBpbnQgVGFnVHlwZSwgTExW
TU9wSW5mb0NhbGxiYWNrIEdldE9wSW5mbywgTExWTVN5bWJvbExvb2t1cENhbGxiYWNrIFN5bWJv
bExvb2tVcCkpIFwKKyAgICBtYWNybyhpbnQsIFNldERpc2FzbU9wdGlvbnMsIChMTFZNRGlzYXNt
Q29udGV4dFJlZiBEQywgdWludDY0X3QgT3B0aW9ucykpIFwKKyAgICBtYWNybyh2b2lkLCBEaXNh
c21EaXNwb3NlLCAoTExWTURpc2FzbUNvbnRleHRSZWYgREMpKSBcCisgICAgbWFjcm8oc2l6ZV90
LCBEaXNhc21JbnN0cnVjdGlvbiwgKExMVk1EaXNhc21Db250ZXh0UmVmIERDLCB1aW50OF90ICpC
eXRlcywgdWludDY0X3QgQnl0ZXNTaXplLCB1aW50NjRfdCBQQywgY2hhciAqT3V0U3RyaW5nLCBz
aXplX3QgT3V0U3RyaW5nU2l6ZSkpIFwKKyAgICBtYWNybyh1bnNpZ25lZCwgUG9pbnRlclNpemVG
b3JBUywgKExMVk1UYXJnZXREYXRhUmVmLCB1bnNpZ25lZCBBUykpIFwKKyAgICBtYWNybyhMTFZN
VHlwZVJlZiwgSW50UHRyVHlwZUZvckFTLCAoTExWTVRhcmdldERhdGFSZWYsIHVuc2lnbmVkIEFT
KSkgXAorICAgIG1hY3JvKExMVk1QYXNzTWFuYWdlckJ1aWxkZXJSZWYsIFBhc3NNYW5hZ2VyQnVp
bGRlckNyZWF0ZSwgKHZvaWQpKSBcCisgICAgbWFjcm8odm9pZCwgUGFzc01hbmFnZXJCdWlsZGVy
RGlzcG9zZSwgKExMVk1QYXNzTWFuYWdlckJ1aWxkZXJSZWYgUE1CKSkgXAorICAgIG1hY3JvKHZv
aWQsIFBhc3NNYW5hZ2VyQnVpbGRlclNldE9wdExldmVsLCAoTExWTVBhc3NNYW5hZ2VyQnVpbGRl
clJlZiBQTUIsIHVuc2lnbmVkIE9wdExldmVsKSkgXAorICAgIG1hY3JvKHZvaWQsIFBhc3NNYW5h
Z2VyQnVpbGRlclNldFNpemVMZXZlbCwgKExMVk1QYXNzTWFuYWdlckJ1aWxkZXJSZWYgUE1CLCB1
bnNpZ25lZCBTaXplTGV2ZWwpKSBcCisgICAgbWFjcm8odm9pZCwgUGFzc01hbmFnZXJCdWlsZGVy
U2V0RGlzYWJsZVVuaXRBdEFUaW1lLCAoTExWTVBhc3NNYW5hZ2VyQnVpbGRlclJlZiBQTUIsIExM
Vk1Cb29sIFZhbHVlKSkgXAorICAgIG1hY3JvKHZvaWQsIFBhc3NNYW5hZ2VyQnVpbGRlclNldERp
c2FibGVVbnJvbGxMb29wcywgKExMVk1QYXNzTWFuYWdlckJ1aWxkZXJSZWYgUE1CLCBMTFZNQm9v
bCBWYWx1ZSkpIFwKKyAgICBtYWNybyh2b2lkLCBQYXNzTWFuYWdlckJ1aWxkZXJTZXREaXNhYmxl
U2ltcGxpZnlMaWJDYWxscywgKExMVk1QYXNzTWFuYWdlckJ1aWxkZXJSZWYgUE1CLCBMTFZNQm9v
bCBWYWx1ZSkpIFwKKyAgICBtYWNybyh2b2lkLCBQYXNzTWFuYWdlckJ1aWxkZXJVc2VJbmxpbmVy
V2l0aFRocmVzaG9sZCwgKExMVk1QYXNzTWFuYWdlckJ1aWxkZXJSZWYgUE1CLCB1bnNpZ25lZCBU
aHJlc2hvbGQpKSBcCisgICAgbWFjcm8odm9pZCwgUGFzc01hbmFnZXJCdWlsZGVyUG9wdWxhdGVG
dW5jdGlvblBhc3NNYW5hZ2VyLCAoTExWTVBhc3NNYW5hZ2VyQnVpbGRlclJlZiBQTUIsIExMVk1Q
YXNzTWFuYWdlclJlZiBQTSkpIFwKKyAgICBtYWNybyh2b2lkLCBQYXNzTWFuYWdlckJ1aWxkZXJQ
b3B1bGF0ZU1vZHVsZVBhc3NNYW5hZ2VyLCAoTExWTVBhc3NNYW5hZ2VyQnVpbGRlclJlZiBQTUIs
IExMVk1QYXNzTWFuYWdlclJlZiBQTSkpIFwKKyAgICBtYWNybyh2b2lkLCBQYXNzTWFuYWdlckJ1
aWxkZXJQb3B1bGF0ZUxUT1Bhc3NNYW5hZ2VyLCAoTExWTVBhc3NNYW5hZ2VyQnVpbGRlclJlZiBQ
TUIsIExMVk1QYXNzTWFuYWdlclJlZiBQTSwgTExWTUJvb2wgSW50ZXJuYWxpemUsIExMVk1Cb29s
IFJ1bklubGluZXIpKSBcCisgICAgbWFjcm8odm9pZCwgQWRkQWdncmVzc2l2ZURDRVBhc3MsIChM
TFZNUGFzc01hbmFnZXJSZWYgUE0pKSBcCisgICAgbWFjcm8odm9pZCwgQWRkQ0ZHU2ltcGxpZmlj
YXRpb25QYXNzLCAoTExWTVBhc3NNYW5hZ2VyUmVmIFBNKSkgXAorICAgIG1hY3JvKHZvaWQsIEFk
ZERlYWRTdG9yZUVsaW1pbmF0aW9uUGFzcywgKExMVk1QYXNzTWFuYWdlclJlZiBQTSkpIFwKKyAg
ICBtYWNybyh2b2lkLCBBZGRHVk5QYXNzLCAoTExWTVBhc3NNYW5hZ2VyUmVmIFBNKSkgXAorICAg
IG1hY3JvKHZvaWQsIEFkZEluZFZhclNpbXBsaWZ5UGFzcywgKExMVk1QYXNzTWFuYWdlclJlZiBQ
TSkpIFwKKyAgICBtYWNybyh2b2lkLCBBZGRJbnN0cnVjdGlvbkNvbWJpbmluZ1Bhc3MsIChMTFZN
UGFzc01hbmFnZXJSZWYgUE0pKSBcCisgICAgbWFjcm8odm9pZCwgQWRkSnVtcFRocmVhZGluZ1Bh
c3MsIChMTFZNUGFzc01hbmFnZXJSZWYgUE0pKSBcCisgICAgbWFjcm8odm9pZCwgQWRkTElDTVBh
c3MsIChMTFZNUGFzc01hbmFnZXJSZWYgUE0pKSBcCisgICAgbWFjcm8odm9pZCwgQWRkTG9vcERl
bGV0aW9uUGFzcywgKExMVk1QYXNzTWFuYWdlclJlZiBQTSkpIFwKKyAgICBtYWNybyh2b2lkLCBB
ZGRMb29wSWRpb21QYXNzLCAoTExWTVBhc3NNYW5hZ2VyUmVmIFBNKSkgXAorICAgIG1hY3JvKHZv
aWQsIEFkZExvb3BSb3RhdGVQYXNzLCAoTExWTVBhc3NNYW5hZ2VyUmVmIFBNKSkgXAorICAgIG1h
Y3JvKHZvaWQsIEFkZExvb3BVbnJvbGxQYXNzLCAoTExWTVBhc3NNYW5hZ2VyUmVmIFBNKSkgXAor
ICAgIG1hY3JvKHZvaWQsIEFkZExvb3BVbnN3aXRjaFBhc3MsIChMTFZNUGFzc01hbmFnZXJSZWYg
UE0pKSBcCisgICAgbWFjcm8odm9pZCwgQWRkTWVtQ3B5T3B0UGFzcywgKExMVk1QYXNzTWFuYWdl
clJlZiBQTSkpIFwKKyAgICBtYWNybyh2b2lkLCBBZGRQYXJ0aWFsbHlJbmxpbmVMaWJDYWxsc1Bh
c3MsIChMTFZNUGFzc01hbmFnZXJSZWYgUE0pKSBcCisgICAgbWFjcm8odm9pZCwgQWRkUHJvbW90
ZU1lbW9yeVRvUmVnaXN0ZXJQYXNzLCAoTExWTVBhc3NNYW5hZ2VyUmVmIFBNKSkgXAorICAgIG1h
Y3JvKHZvaWQsIEFkZFJlYXNzb2NpYXRlUGFzcywgKExMVk1QYXNzTWFuYWdlclJlZiBQTSkpIFwK
KyAgICBtYWNybyh2b2lkLCBBZGRTQ0NQUGFzcywgKExMVk1QYXNzTWFuYWdlclJlZiBQTSkpIFwK
KyAgICBtYWNybyh2b2lkLCBBZGRTY2FsYXJSZXBsQWdncmVnYXRlc1Bhc3MsIChMTFZNUGFzc01h
bmFnZXJSZWYgUE0pKSBcCisgICAgbWFjcm8odm9pZCwgQWRkU2NhbGFyUmVwbEFnZ3JlZ2F0ZXNQ
YXNzU1NBLCAoTExWTVBhc3NNYW5hZ2VyUmVmIFBNKSkgXAorICAgIG1hY3JvKHZvaWQsIEFkZFNj
YWxhclJlcGxBZ2dyZWdhdGVzUGFzc1dpdGhUaHJlc2hvbGQsIChMTFZNUGFzc01hbmFnZXJSZWYg
UE0sIGludCBUaHJlc2hvbGQpKSBcCisgICAgbWFjcm8odm9pZCwgQWRkU2ltcGxpZnlMaWJDYWxs
c1Bhc3MsIChMTFZNUGFzc01hbmFnZXJSZWYgUE0pKSBcCisgICAgbWFjcm8odm9pZCwgQWRkVGFp
bENhbGxFbGltaW5hdGlvblBhc3MsIChMTFZNUGFzc01hbmFnZXJSZWYgUE0pKSBcCisgICAgbWFj
cm8odm9pZCwgQWRkQ29uc3RhbnRQcm9wYWdhdGlvblBhc3MsIChMTFZNUGFzc01hbmFnZXJSZWYg
UE0pKSBcCisgICAgbWFjcm8odm9pZCwgQWRkRGVtb3RlTWVtb3J5VG9SZWdpc3RlclBhc3MsIChM
TFZNUGFzc01hbmFnZXJSZWYgUE0pKSBcCisgICAgbWFjcm8odm9pZCwgQWRkVmVyaWZpZXJQYXNz
LCAoTExWTVBhc3NNYW5hZ2VyUmVmIFBNKSkgXAorICAgIG1hY3JvKHZvaWQsIEFkZENvcnJlbGF0
ZWRWYWx1ZVByb3BhZ2F0aW9uUGFzcywgKExMVk1QYXNzTWFuYWdlclJlZiBQTSkpIFwKKyAgICBt
YWNybyh2b2lkLCBBZGRFYXJseUNTRVBhc3MsIChMTFZNUGFzc01hbmFnZXJSZWYgUE0pKSBcCisg
ICAgbWFjcm8odm9pZCwgQWRkTG93ZXJFeHBlY3RJbnRyaW5zaWNQYXNzLCAoTExWTVBhc3NNYW5h
Z2VyUmVmIFBNKSkgXAorICAgIG1hY3JvKHZvaWQsIEFkZFR5cGVCYXNlZEFsaWFzQW5hbHlzaXNQ
YXNzLCAoTExWTVBhc3NNYW5hZ2VyUmVmIFBNKSkgXAorICAgIG1hY3JvKHZvaWQsIEFkZEJhc2lj
QWxpYXNBbmFseXNpc1Bhc3MsIChMTFZNUGFzc01hbmFnZXJSZWYgUE0pKQorCisjZW5kaWYgLy8g
TExWTUFQSUZ1bmN0aW9uc19oCisKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbHZtL0xM
Vk1IZWFkZXJzLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2xsdm0vTExW
TUhlYWRlcnMuaAkocmV2aXNpb24gMCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbHZtL0xM
Vk1IZWFkZXJzLmgJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsNjQgQEAKKy8qCisgKiBDb3B5cmln
aHQgKEMpIDIwMTMgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4K
KyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoK
KyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5E
IEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1F
RC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBM
SUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICog
RVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisgKi8KKworI2lmbmRlZiBMTFZNSGVhZGVyc19oCisj
ZGVmaW5lIExMVk1IZWFkZXJzX2gKKworI2lmIEhBVkUoTExWTSkKKworLy8gSXQgaXMgbmVjZXNz
YXJ5IHRvIGluY2x1ZGUgTExWTSBoZWFkZXJzIHZpYSB0aGlzIGZpbGUsIGJlY2F1c2U6CisvLyAt
IExMVk0gcmVxdWlyZXMgZGVmaW5pbmcgdGhpbmdzIHRoYXQgd2UgZG9uJ3Qgbm9ybWFsbHkgZGVm
aW5lLCBhbmQKKy8vIC0gTExWTSBpbmNsdWRlcyBpdHMgQysrIGhlYWRlcnMgZnJvbSBpdHMgQyBo
ZWFkZXJzLCBhbmQgaXRzIEMrKworLy8gICBoZWFkZXJzIGRvbid0IGNvbXBpbGUgY2xlYW5seSB3
aXRoIG91ciB3YXJuaW5ncy4KKworI2RlZmluZSBfX1NURENfTElNSVRfTUFDUk9TCisjZGVmaW5l
IF9fU1REQ19DT05TVEFOVF9NQUNST1MKKworI2lmIENPTVBJTEVSKENMQU5HKQorI3ByYWdtYSBj
bGFuZyBkaWFnbm9zdGljIHB1c2gKKyNwcmFnbWEgY2xhbmcgZGlhZ25vc3RpYyBpZ25vcmVkICIt
V21pc3Npbmctbm9yZXR1cm4iCisjcHJhZ21hIGNsYW5nIGRpYWdub3N0aWMgaWdub3JlZCAiLVd1
bnVzZWQtcGFyYW1ldGVyIgorI2VuZGlmIC8vIENPTVBJTEVSKENMQU5HKQorCisjaW5jbHVkZSA8
bGx2bS1jL0FuYWx5c2lzLmg+CisjaW5jbHVkZSA8bGx2bS1jL0NvcmUuaD4KKyNpbmNsdWRlIDxs
bHZtLWMvRGlzYXNzZW1ibGVyLmg+CisjaW5jbHVkZSA8bGx2bS1jL0V4ZWN1dGlvbkVuZ2luZS5o
PgorI2luY2x1ZGUgPGxsdm0tYy9UYXJnZXQuaD4KKyNpbmNsdWRlIDxsbHZtLWMvVHJhbnNmb3Jt
cy9QYXNzTWFuYWdlckJ1aWxkZXIuaD4KKyNpbmNsdWRlIDxsbHZtLWMvVHJhbnNmb3Jtcy9TY2Fs
YXIuaD4KKworI2lmIENPTVBJTEVSKENMQU5HKQorI3ByYWdtYSBjbGFuZyBkaWFnbm9zdGljIHBv
cAorI2VuZGlmIC8vIENPTVBJTEVSKENMQU5HKQorCisjdW5kZWYgX19TVERDX0xJTUlUX01BQ1JP
UworI3VuZGVmIF9fU1REQ19DT05TVEFOVF9NQUNST1MKKworI2VuZGlmIC8vIEhBVkUoTExWTSkK
KworI2VuZGlmIC8vIExMVk1IZWFkZXJzX2gKKworCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGx2bS9saWJyYXJ5L0xMVk1BbmNob3IuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbHZtL2xpYnJhcnkvTExWTUFuY2hvci5jcHAJKHJldmlzaW9uIDApCisrKyBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGx2bS9saWJyYXJ5L0xMVk1BbmNob3IuY3BwCShyZXZpc2lv
biAwKQpAQCAtMCwwICsxLDM1IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEzIEFwcGxlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwor
ICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1Ig
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisg
KiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBB
IFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFM
TCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VR
VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NV
UkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRB
LCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuIAorICovCisKKyNpbmNsdWRlICJjb25maWdfbGx2bS5oIgorCisjaWYgSEFWRShMTFZNKQor
CisvLyBUaGlzIGlzIGEgaGFjayBmb3IgZW5zdXJpbmcgdGhhdCB0aGUgYnVpbGQgc3lzdGVtIHJl
bGlua3MgSmF2YVNjcmlwdENvcmUgaWYgYW55CisvLyBvZiB0aGUgTExWTSBsaWJyYXJpZXMgYXJl
IGtub3duIHRvIGhhdmUgY2hhbmdlZC4KKyNpbmNsdWRlICJXZWJLaXRMTFZNTGlicmFyeVRva2Vu
LmgiCisKKyNlbmRpZiAvLyBIQVZFKExMVk0pCisKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbHZtL2xpYnJhcnkvTExWTUV4cG9ydHMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbHZtL2xpYnJhcnkvTExWTUV4cG9ydHMuY3BwCShyZXZpc2lvbiAwKQorKysg
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsdm0vbGlicmFyeS9MTFZNRXhwb3J0cy5jcHAJKHJldmlz
aW9uIDApCkBAIC0wLDAgKzEsNTEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTMgQXBwbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
CisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBP
UiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUK
KyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9S
IEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNI
QUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJP
Q1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERB
VEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4gCisgKi8KKworI2luY2x1ZGUgImNvbmZpZ19sbHZtLmgiCisKKyNpZiBIQVZFKExMVk0p
CisKKyNpbmNsdWRlICJMTFZNQVBJLmgiCisKK2V4dGVybiAiQyIgV1RGX0VYUE9SVF9QUklWQVRF
IEpTQzo6TExWTUFQSSogaW5pdGlhbGl6ZUFuZEdldEpTQ0xMVk1BUEkoKTsKKworZXh0ZXJuICJD
IiBKU0M6OkxMVk1BUEkqIGluaXRpYWxpemVBbmRHZXRKU0NMTFZNQVBJKCkKK3sKKyAgICBMTFZN
TGlua0luTUNKSVQoKTsKKyAgICBMTFZNSW5pdGlhbGl6ZU5hdGl2ZVRhcmdldCgpOworICAgIExM
Vk1Jbml0aWFsaXplWDg2QXNtUHJpbnRlcigpOworICAgIExMVk1Jbml0aWFsaXplWDg2RGlzYXNz
ZW1ibGVyKCk7CisgICAgCisgICAgSlNDOjpMTFZNQVBJKiByZXN1bHQgPSBuZXcgSlNDOjpMTFZN
QVBJOworICAgIAorI2RlZmluZSBMTFZNX0FQSV9GVU5DVElPTl9BU1NJR05NRU5UKHJldHVyblR5
cGUsIG5hbWUsIHNpZ25hdHVyZSkgXAorICAgIHJlc3VsdC0+bmFtZSA9IExMVk0jI25hbWU7Cisg
ICAgRk9SX0VBQ0hfTExWTV9BUElfRlVOQ1RJT04oTExWTV9BUElfRlVOQ1RJT05fQVNTSUdOTUVO
VCk7CisjdW5kZWYgTExWTV9BUElfRlVOQ1RJT05fQVNTSUdOTUVOVAorICAgIAorICAgIHJldHVy
biByZXN1bHQ7Cit9CisKKyNlbmRpZiAvLyBIQVZFKExMVk0pCkluZGV4OiBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGx2bS9saWJyYXJ5L0xMVk1PdmVycmlkZXMuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbHZtL2xpYnJhcnkvTExWTU92ZXJyaWRlcy5jcHAJKHJldmlz
aW9uIDApCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvbGx2bS9saWJyYXJ5L0xMVk1PdmVycmlk
ZXMuY3BwCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDMzIEBACisvKgorICogQ29weXJpZ2h0IChD
KSAyMDEzIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
KyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAy
LiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkK
KyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJ
TiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxF
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1Q
TEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuIAorICovCisKKyNpbmNsdWRlICJjb25maWdfbGx2bS5oIgorCisj
aWYgSEFWRShMTFZNKQorCitleHRlcm4gIkMiIGludCBfX2N4YV9hdGV4aXQoKTsKK2V4dGVybiAi
QyIgaW50IF9fY3hhX2F0ZXhpdCgpIHsgcmV0dXJuIDA7IH0KKworI2VuZGlmIC8vIEhBVkUoTExW
TSkKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbHZtL2xpYnJhcnkvY29uZmlnX2xsdm0u
aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvbGx2bS9saWJyYXJ5L2NvbmZp
Z19sbHZtLmgJKHJldmlzaW9uIDApCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvbGx2bS9saWJy
YXJ5L2NvbmZpZ19sbHZtLmgJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMjggQEAKKy8qCisgKiBD
b3B5cmlnaHQgKEMpIDIwMTMgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9u
LgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElT
JycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9S
UyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFM
LAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAq
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisgKi8KKworI2luY2x1ZGUgPHd0Zi9QbGF0
Zm9ybS5oPgorI2luY2x1ZGUgPHd0Zi9FeHBvcnRNYWNyb3MuaD4KKwpJbmRleDogU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvSW5pdGlhbGl6ZVRocmVhZGluZy5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSW5pdGlhbGl6ZVRocmVhZGluZy5jcHAJ
KHJldmlzaW9uIDE1NzIzNykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0luaXRp
YWxpemVUaHJlYWRpbmcuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00MCw3ICs0MCw2IEBACiAjaW5j
bHVkZSAiTExJbnREYXRhLmgiCiAjaW5jbHVkZSAiV3JpdGVCYXJyaWVyLmgiCiAjaW5jbHVkZSA8
d3RmL2R0b2EuaD4KLSNpbmNsdWRlIDx3dGYvTExWTUhlYWRlcnMuaD4KICNpbmNsdWRlIDx3dGYv
VGhyZWFkaW5nLmg+CiAjaW5jbHVkZSA8d3RmL2R0b2EvY2FjaGVkLXBvd2Vycy5oPgogCkBAIC03
MCwyNCArNjksNiBAQCBzdGF0aWMgdm9pZCBpbml0aWFsaXplVGhyZWFkaW5nT25jZSgpCiAjaWYg
RU5BQkxFKExMSU5UKQogICAgIExMSW50Ojppbml0aWFsaXplKCk7CiAjZW5kaWYKLSNpZiBIQVZF
KExMVk0pCi0gICAgYm9vbCBmdGwgPSBmYWxzZTsKLSAgICBib29sIGRpc2Fzc2VtYmxlciA9IGZh
bHNlOwotI2lmIEVOQUJMRShGVExfSklUKQotICAgIGZ0bCA9IHRydWU7Ci0jZW5kaWYKLSNpZiBV
U0UoTExWTV9ESVNBU1NFTUJMRVIpCi0gICAgZGlzYXNzZW1ibGVyID0gdHJ1ZTsKLSNlbmRpZgot
ICAgIGlmIChmdGwpCi0gICAgICAgIExMVk1MaW5rSW5NQ0pJVCgpOwotICAgIGlmIChmdGwgfHwg
ZGlzYXNzZW1ibGVyKQotICAgICAgICBMTFZNSW5pdGlhbGl6ZU5hdGl2ZVRhcmdldCgpOwotICAg
IGlmIChmdGwpCi0gICAgICAgIExMVk1Jbml0aWFsaXplWDg2QXNtUHJpbnRlcigpOwotICAgIGlm
IChkaXNhc3NlbWJsZXIpCi0gICAgICAgIExMVk1Jbml0aWFsaXplWDg2RGlzYXNzZW1ibGVyKCk7
Ci0jZW5kaWYgLy8gSEFWRShMTFZNKQogfQogCiB2b2lkIGluaXRpYWxpemVUaHJlYWRpbmcoKQpJ
bmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvT3B0aW9ucy5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL09wdGlvbnMuaAkocmV2aXNpb24gMTU3
MjM3KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvT3B0aW9ucy5oCSh3b3JraW5n
IGNvcHkpCkBAIC0yMDcsOSArMjA3LDcgQEAgdHlwZWRlZiBPcHRpb25SYW5nZSBvcHRpb25SYW5n
ZTsKICAgICB2KGJvb2wsIGxvZ0dDLCBmYWxzZSkgXAogICAgIHYodW5zaWduZWQsIGdjTWF4SGVh
cFNpemUsIDApIFwKICAgICB2KGJvb2wsIHJlY29yZEdDUGF1c2VUaW1lcywgZmFsc2UpIFwKLSAg
ICB2KGJvb2wsIGxvZ0hlYXBTdGF0aXN0aWNzQXRFeGl0LCBmYWxzZSkgXAotICAgIFwKLSAgICB2
KGJvb2wsIG5ldmVyRGVsZXRlVk1JbkNvbW1hbmRMaW5lLCBmYWxzZSkKKyAgICB2KGJvb2wsIGxv
Z0hlYXBTdGF0aXN0aWNzQXRFeGl0LCBmYWxzZSkKIAogY2xhc3MgT3B0aW9ucyB7CiBwdWJsaWM6
CkluZGV4OiBTb3VyY2UvV1RGL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV1RGL0No
YW5nZUxvZwkocmV2aXNpb24gMTU3MjM3KQorKysgU291cmNlL1dURi9DaGFuZ2VMb2cJKHdvcmtp
bmcgY29weSkKQEAgLTEsMyArMSwyMCBAQAorMjAxMy0xMC0wOSAgRmlsaXAgUGl6bG8gIDxmcGl6
bG9AYXBwbGUuY29tPgorCisgICAgICAgIEZUTDogU29mdC1saW5rIExMVk0gYXMgYSB3b3JrYXJv
dW5kIGZvciBMTFZNJ3Mgc3RhdGljIGluaXRpYWxpemVycyBhbmQgZXhpdC10aW1lIGRlc3RydWN0
b3JzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjI1
NjYKKworICAgICAgICBSZXZpZXdlZCBieSBNYXJrIFJvd2UuCisgICAgICAgIAorICAgICAgICBS
ZW1vdmUgYWxsIExMVk0gc3R1ZmYgZnJvbSBXVEYgc2luY2UgdG8gZ2V0IExMVk0geW91IG5lZWQg
dG8gc29mdC1saW5rIGFuZCBpdCdzCisgICAgICAgIGVudGlyZWx5IHRoZSByZXNwb25zaWJpbGl0
eSBvZiBKU0MgdG8gZG8gdGhhdC4KKyAgICAgICAgCisgICAgICAgIEFsc28gZml4ZWQgYW4gZXhw
b3J0IGdvb2YgdGhhdCBJIGZvdW5kIGFmdGVyIGZpeGluZyB0aGUgd2VhayB0aGluZ3kgc2NyaXB0
IGluIEpTQy4KKworICAgICAgICAqIFdURi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAg
ICAgICAqIHd0Zi9MTFZNSGVhZGVycy5oOiBSZW1vdmVkLgorICAgICAgICAqIHd0Zi90ZXh0L0NT
dHJpbmcuaDoKKyAgICAgICAgKFdURjo6Q1N0cmluZ0hhc2g6Omhhc2gpOgorCiAyMDEzLTEwLTA4
ICBGaWxpcCBQaXpsbyAgPGZwaXpsb0BhcHBsZS5jb20+CiAKICAgICAgICAgRlRMIHNob3VsZCBi
ZSBhYmxlIHRvIGRvIHNpbXBsZSBPU1IgZXhpdHMgdXNpbmcgbGx2bS53ZWJraXQuc3RhY2ttYXAK
SW5kZXg6IFNvdXJjZS9XVEYvV1RGLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dURi9XVEYueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkocmV2aXNpb24g
MTU3MjM3KQorKysgU291cmNlL1dURi9XVEYueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkod29y
a2luZyBjb3B5KQpAQCAtMzMwLDcgKzMzMCw2IEBACiAJCTlCRDhGNDBBMTc2QzJBRDgwMDAyRDg2
NSAvKiBBdG9taWNTdHJpbmdUYWJsZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBBdG9taWNTdHJpbmdUYWJs
ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBNzBEQTA4MjE3OTlGMDREMDA1MjlB
OUIgLyogSW5zZXJ0aW9uLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEluc2Vy
dGlvbi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBNzBEQTA4MzE3OTlGMDREMDA1
MjlBOUIgLyogTGlzdER1bXAuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTGlz
dER1bXAuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJQTczNkIzNTgxNzk5RTExQTAw
QzZGMDVFIC8qIExMVk1IZWFkZXJzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IExMVk1IZWFkZXJzLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUE3NDg3NDRGMTdBMEJEQUUwMEZBMDRDQiAvKiBT
aXhDaGFyYWN0ZXJIYXNoLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9
IFNpeENoYXJhY3Rlckhhc2guY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBNzQ4
NzQ1MDE3QTBCREFFMDBGQTA0Q0IgLyogU2l4Q2hhcmFjdGVySGFzaC5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBTaXhDaGFyYWN0ZXJIYXNoLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCUE3NDg3NDUxMTdBMEJEQUUwMEZBMDRDQiAvKiBTdHJpbmdIYXNoRHVtcENv
bnRleHQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU3RyaW5nSGFzaER1bXBD
b250ZXh0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC02NzIsNyArNjcxLDYgQEAK
IAkJCQlBNzBEQTA4MjE3OTlGMDREMDA1MjlBOUIgLyogSW5zZXJ0aW9uLmggKi8sCiAJCQkJQTcw
REEwODMxNzk5RjA0RDAwNTI5QTlCIC8qIExpc3REdW1wLmggKi8sCiAJCQkJQThBNDcyQzExNTFB
ODI1QTAwNDEyM0ZGIC8qIExpc3RIYXNoU2V0LmggKi8sCi0JCQkJQTczNkIzNTgxNzk5RTExQTAw
QzZGMDVFIC8qIExMVk1IZWFkZXJzLmggKi8sCiAJCQkJQThBNDcyQzMxNTFBODI1QTAwNDEyM0ZG
IC8qIExvY2tlci5oICovLAogCQkJCUE4QTQ3MkNBMTUxQTgyNUIwMDQxMjNGRiAvKiBNRDUuY3Bw
ICovLAogCQkJCUE4QTQ3MkNCMTUxQTgyNUIwMDQxMjNGRiAvKiBNRDUuaCAqLywKSW5kZXg6IFNv
dXJjZS9XVEYvd3RmL0xMVk1IZWFkZXJzLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dURi93dGYv
TExWTUhlYWRlcnMuaAkocmV2aXNpb24gMTU3MjM3KQorKysgU291cmNlL1dURi93dGYvTExWTUhl
YWRlcnMuaAkod29ya2luZyBjb3B5KQpAQCAtMSw2MiArMCwwIEBACi0vKgotICogQ29weXJpZ2h0
IChDKSAyMDEzIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0g
KiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0g
KiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBB
TlkKLSAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywgVEhFCi0gKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQu
ICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCi0gKiBDT05UUklCVVRPUlMgQkUgTElB
QkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKLSAqIEVY
RU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywKLSAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLCBEQVRBLCBPUgotICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQotICogT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UKLSAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuIAotICovCi0KLSNpZm5kZWYgTExWTUhlYWRlcnNfaAotI2Rl
ZmluZSBMTFZNSGVhZGVyc19oCi0KLSNpbmNsdWRlIDx3dGYvUGxhdGZvcm0uaD4KLQotI2lmIEhB
VkUoTExWTSkKLQotLy8gSXQgaXMgbmVjZXNzYXJ5IHRvIGluY2x1ZGUgTExWTSBoZWFkZXJzIHZp
YSB0aGlzIGZpbGUsIGJlY2F1c2U6Ci0vLyAtIExMVk0gcmVxdWlyZXMgZGVmaW5pbmcgdGhpbmdz
IHRoYXQgd2UgZG9uJ3Qgbm9ybWFsbHkgZGVmaW5lLCBhbmQKLS8vIC0gTExWTSBpbmNsdWRlcyBp
dHMgQysrIGhlYWRlcnMgZnJvbSBpdHMgQyBoZWFkZXJzLCBhbmQgaXRzIEMrKwotLy8gICBoZWFk
ZXJzIGRvbid0IGNvbXBpbGUgY2xlYW5seSB3aXRoIG91ciB3YXJuaW5ncy4KLQotI3VuZGVmIF9f
U1REQ19MSU1JVF9NQUNST1MKLSN1bmRlZiBfX1NURENfQ09OU1RBTlRfTUFDUk9TCi0jZGVmaW5l
IF9fU1REQ19MSU1JVF9NQUNST1MKLSNkZWZpbmUgX19TVERDX0NPTlNUQU5UX01BQ1JPUwotCi0j
aWYgQ09NUElMRVIoQ0xBTkcpCi0jcHJhZ21hIGNsYW5nIGRpYWdub3N0aWMgcHVzaAotI3ByYWdt
YSBjbGFuZyBkaWFnbm9zdGljIGlnbm9yZWQgIi1XbWlzc2luZy1ub3JldHVybiIKLSNwcmFnbWEg
Y2xhbmcgZGlhZ25vc3RpYyBpZ25vcmVkICItV3VudXNlZC1wYXJhbWV0ZXIiCi0jZW5kaWYKLQot
I2luY2x1ZGUgPGxsdm0tYy9BbmFseXNpcy5oPgotI2luY2x1ZGUgPGxsdm0tYy9Db3JlLmg+Ci0j
aW5jbHVkZSA8bGx2bS1jL0Rpc2Fzc2VtYmxlci5oPgotI2luY2x1ZGUgPGxsdm0tYy9FeGVjdXRp
b25FbmdpbmUuaD4KLSNpbmNsdWRlIDxsbHZtLWMvVGFyZ2V0Lmg+Ci0jaW5jbHVkZSA8bGx2bS1j
L1RyYW5zZm9ybXMvUGFzc01hbmFnZXJCdWlsZGVyLmg+Ci0KLSNpZiBDT01QSUxFUihDTEFORykK
LSNwcmFnbWEgY2xhbmcgZGlhZ25vc3RpYyBwb3AKLSNlbmRpZgotCi0jZW5kaWYgLy8gSEFWRShM
TFZNKQotCi0jZW5kaWYgLy8gTExWTUhlYWRlcnNfaApJbmRleDogU291cmNlL1dURi93dGYvdGV4
dC9DU3RyaW5nLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dURi93dGYvdGV4dC9DU3RyaW5nLmgJ
KHJldmlzaW9uIDE1NzIzNykKKysrIFNvdXJjZS9XVEYvd3RmL3RleHQvQ1N0cmluZy5oCSh3b3Jr
aW5nIGNvcHkpCkBAIC05NCw3ICs5NCw3IEBAIGlubGluZSBib29sIG9wZXJhdG9yIT0oY29uc3Qg
Q1N0cmluZyYgYSwKIGJvb2wgb3BlcmF0b3I8KGNvbnN0IENTdHJpbmcmIGEsIGNvbnN0IENTdHJp
bmcmIGIpOwogCiBzdHJ1Y3QgQ1N0cmluZ0hhc2ggewotICAgIFdURl9FWFBPUlRfUFJJVkFURSBz
dGF0aWMgdW5zaWduZWQgaGFzaChjb25zdCBDU3RyaW5nJiBzdHJpbmcpIHsgcmV0dXJuIHN0cmlu
Zy5oYXNoKCk7IH0KKyAgICBzdGF0aWMgdW5zaWduZWQgaGFzaChjb25zdCBDU3RyaW5nJiBzdHJp
bmcpIHsgcmV0dXJuIHN0cmluZy5oYXNoKCk7IH0KICAgICBXVEZfRVhQT1JUX1BSSVZBVEUgc3Rh
dGljIGJvb2wgZXF1YWwoY29uc3QgQ1N0cmluZyYgYSwgY29uc3QgQ1N0cmluZyYgYik7CiAgICAg
c3RhdGljIGNvbnN0IGJvb2wgc2FmZVRvQ29tcGFyZVRvRW1wdHlPckRlbGV0ZWQgPSB0cnVlOwog
fTsKSW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJ
KHJldmlzaW9uIDE1NzIzOCkKKysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAt
MSwzICsxLDEyIEBACisyMDEzLTEwLTEwICBGaWxpcCBQaXpsbyAgPGZwaXpsb0BhcHBsZS5jb20+
CisKKyAgICAgICAgRlRMOiBTb2Z0LWxpbmsgTExWTSBhcyBhIHdvcmthcm91bmQgZm9yIExMVk0n
cyBzdGF0aWMgaW5pdGlhbGl6ZXJzIGFuZCBleGl0LXRpbWUgZGVzdHJ1Y3RvcnMKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEyMjU2NgorCisgICAgICAg
IFJldmlld2VkIGJ5IE1hcmsgUm93ZS4KKworICAgICAgICAqIFNjcmlwdHMvY29uZmlndXJlLWxs
dm06CisKIDIwMTMtMTAtMTAgIEd1c3Rhdm8gTm9yb25oYSBTaWx2YSAgPGduc0Bnbm9tZS5vcmc+
CiAKICAgICAgICAgVW5yZXZpZXdlZCBnYXJkZW5pbmcsIHRoZSBpbnNwZWN0b3IgcHJvdG9jb2wg
dGltZW91dHMgYXJlIGFsc28gYWZmZWN0aW5nIFRlc3RJbnNwZWN0b3JTZXJ2ZXIuCkluZGV4OiBU
b29scy9TY3JpcHRzL2NvbmZpZ3VyZS1sbHZtCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1NjcmlwdHMv
Y29uZmlndXJlLWxsdm0JKHJldmlzaW9uIDE1NzIzNykKKysrIFRvb2xzL1NjcmlwdHMvY29uZmln
dXJlLWxsdm0JKHdvcmtpbmcgY29weSkKQEAgLTM3LDggKzM3LDUgQEAgZmkKICMgb25seSB3YW50
IHRvIGJ1aWxkIGEgYmFja2VuZCBmb3Igb3VyIGN1cnJlbnQgdGFyZ2V0KSBhbmQgdG8gYWRkIG1v
cmUgZmxhZ3MgdG8gcmVtb3ZlCiAjIGRlcGVuZGVuY2llcyBhbmQgZmVhdHVyZXMuCiAKLSMgRklY
TUU6IFdlIG5lZWQgTExWTSB0byBoYXZlIGl0cyBvd24gc2Vuc2libGUgc3RvcnkgZm9yIGhpZGlu
ZyBzeW1ib2xzLiBCdXQgd2hpbGUgd2UKLSMgZG9uJ3QgaGF2ZSBhIHNlbnNpYmxlIHN0b3J5LCB3
ZSB1c2UgYSBoaWxhcmlvdXMgb25lOiBDUFBGTEFHUz0tZnZpc2liaWxpdHk9aGlkZGVuCi0KLS4v
Y29uZmlndXJlIC0tZW5hYmxlLW9wdGltaXplZD15ZXMgLS1lbmFibGUtYmFja3RyYWNlcz1ubyAt
LWVuYWJsZS10YXJnZXRzPXg4Nl82NCAtLWVuYWJsZS1saWJjcHA9eWVzIC0tZW5hYmxlLXpsaWI9
bm8gLS1lbmFibGUtdGVybWluZm89bm8gQ1BQRkxBR1M9LWZ2aXNpYmlsaXR5PWhpZGRlbgorLi9j
b25maWd1cmUgLS1lbmFibGUtb3B0aW1pemVkPXllcyAtLWVuYWJsZS1iYWNrdHJhY2VzPW5vIC0t
ZW5hYmxlLXRhcmdldHM9eDg2XzY0IC0tZW5hYmxlLWxpYmNwcD15ZXMgLS1lbmFibGUtemxpYj1u
byAtLWVuYWJsZS10ZXJtaW5mbz1ubwogCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>