<?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>168347</bug_id>
          
          <creation_ts>2017-02-14 17:55:45 -0800</creation_ts>
          <short_desc>Resource Load Statistics: Add alternate classification method</short_desc>
          <delta_ts>2017-02-24 01:21:51 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit2</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=168619</see_also>
    
    <see_also>https://bugs.webkit.org/show_bug.cgi?id=168703</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="John Wilander">wilander</reporter>
          <assigned_to name="John Wilander">wilander</assigned_to>
          <cc>achristensen</cc>
    
    <cc>aestes</cc>
    
    <cc>benjamin</cc>
    
    <cc>bfulgham</cc>
    
    <cc>cdumez</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dbates</cc>
    
    <cc>ddkilzer</cc>
    
    <cc>japhet</cc>
    
    <cc>ryanhaddad</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>wilander</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1277012</commentid>
    <comment_count>0</comment_count>
    <who name="John Wilander">wilander</who>
    <bug_when>2017-02-14 17:55:45 -0800</bug_when>
    <thetext>Add an SVM-based classification method for resource load statistics.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1277013</commentid>
    <comment_count>1</comment_count>
    <who name="John Wilander">wilander</who>
    <bug_when>2017-02-14 17:56:17 -0800</bug_when>
    <thetext>rdar://problem/30352793</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1277019</commentid>
    <comment_count>2</comment_count>
      <attachid>301570</attachid>
    <who name="John Wilander">wilander</who>
    <bug_when>2017-02-14 18:20:42 -0800</bug_when>
    <thetext>Created attachment 301570
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1277110</commentid>
    <comment_count>3</comment_count>
      <attachid>301570</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2017-02-15 00:15:17 -0800</bug_when>
    <thetext>Comment on attachment 301570
Patch

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

&gt; Source/WebKit2/ChangeLog:53
&gt; +        * libsvm_model: Added.

This should go in a subdirectory.

&gt; Source/WebKit2/UIProcess/WebResourceLoadStatisticsStore.cpp:71
&gt; +#if PLATFORM(IOS) || (PLATFORM(MAC) &amp;&amp; __MAC_OS_X_VERSION_MIN_REQUIRED &gt;= 101200)
&gt; +#if USE(CF)

Inner conditions probably not necessary.  All Cocoa platforms use CF.

&gt; Source/WebKit2/UIProcess/WebResourceLoadStatisticsStore.h:32
&gt; +#if PLATFORM(IOS) || (PLATFORM(MAC) &amp;&amp; __MAC_OS_X_VERSION_MIN_REQUIRED &gt;= 101200)

This is used a lot.  Let&apos;s give it a name.
#if PLATFORM(IOS) || (PLATFORM(MAC) &amp;&amp; __MAC_OS_X_VERSION_MIN_REQUIRED &gt;= 101200)
#define HAVE_SVM 1
#endif</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1277213</commentid>
    <comment_count>4</comment_count>
      <attachid>301570</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2017-02-15 09:10:34 -0800</bug_when>
    <thetext>Comment on attachment 301570
Patch

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

Overall, I think you need to make a platform abstraction around the CorePrediction stuff, and use the abstraction instead of svm_model/etc. directly.

&gt; Source/WebKit2/ChangeLog:9
&gt; +        This patch adds an SVM-based classifier to the WebResourceLoadStatisticsStore.

What is SVM?  Support Vector Machine? Could use a definition since it&apos;s not the most well known acronym.

&gt; Source/WebKit2/UIProcess/WebResourceLoadStatisticsStore.cpp:37
&gt; +#if USE(CF)
&gt; +#include &lt;CoreFoundation/CoreFoundation.h&gt;
&gt; +#endif

Please don&apos;t include CoreFoundation like this in a cross platform class.

&gt; Source/WebKit2/UIProcess/WebResourceLoadStatisticsStore.cpp:53
&gt; +#if PLATFORM(IOS) || (PLATFORM(MAC) &amp;&amp; __MAC_OS_X_VERSION_MIN_REQUIRED &gt;= 101200)
&gt; +static bool useSVM = true;
&gt; +#endif

It seems odd to have this be a global? Usually setting like this are in WebPreferences.

&gt; Source/WebKit2/UIProcess/WebResourceLoadStatisticsStore.cpp:81
&gt; +    CFBundleRef webKitBundle = CFBundleGetBundleWithIdentifier(CFSTR(&quot;com.apple.WebKit&quot;));
&gt; +    CFURLRef resourceUrl = CFBundleCopyResourcesDirectoryURL(webKitBundle);
&gt; +    resourceUrl = CFURLCreateCopyAppendingPathComponent(nullptr, resourceUrl, CFSTR(&quot;libsvm_model&quot;), false);
&gt; +    CFErrorRef error = nullptr;
&gt; +    resourceUrl = CFURLCreateFilePathURL(nullptr, resourceUrl, &amp;error);
&gt; +    CFURLPathStyle pathStyle = kCFURLPOSIXPathStyle;
&gt; +    if (!error &amp;&amp; resourceUrl) {
&gt; +        CFStringRef resourceUrlString = CFURLCopyFileSystemPath(resourceUrl, pathStyle);
&gt; +        m_svmModelStoragePath = String(resourceUrlString);
&gt; +    }

Can this be moved into a platform abstraction? Having CF code like this in a cross platform class is not something we like to do.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1278020</commentid>
    <comment_count>5</comment_count>
      <attachid>301858</attachid>
    <who name="John Wilander">wilander</who>
    <bug_when>2017-02-16 16:54:28 -0800</bug_when>
    <thetext>Created attachment 301858
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1278021</commentid>
    <comment_count>6</comment_count>
    <who name="John Wilander">wilander</who>
    <bug_when>2017-02-16 16:55:33 -0800</bug_when>
    <thetext>Thanks for looking at this, Alex!

(In reply to comment #3)
&gt; Comment on attachment 301570 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=301570&amp;action=review
&gt; 
&gt; &gt; Source/WebKit2/ChangeLog:53
&gt; &gt; +        * libsvm_model: Added.
&gt; 
&gt; This should go in a subdirectory.

For sure. Fixed.

&gt; &gt; Source/WebKit2/UIProcess/WebResourceLoadStatisticsStore.cpp:71
&gt; &gt; +#if PLATFORM(IOS) || (PLATFORM(MAC) &amp;&amp; __MAC_OS_X_VERSION_MIN_REQUIRED &gt;= 101200)
&gt; &gt; +#if USE(CF)
&gt; 
&gt; Inner conditions probably not necessary.  All Cocoa platforms use CF.

Fixed.

&gt; &gt; Source/WebKit2/UIProcess/WebResourceLoadStatisticsStore.h:32
&gt; &gt; +#if PLATFORM(IOS) || (PLATFORM(MAC) &amp;&amp; __MAC_OS_X_VERSION_MIN_REQUIRED &gt;= 101200)
&gt; 
&gt; This is used a lot.  Let&apos;s give it a name.
&gt; #if PLATFORM(IOS) || (PLATFORM(MAC) &amp;&amp; __MAC_OS_X_VERSION_MIN_REQUIRED &gt;=
&gt; 101200)
&gt; #define HAVE_SVM 1
&gt; #endif

Fixed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1278023</commentid>
    <comment_count>7</comment_count>
    <who name="John Wilander">wilander</who>
    <bug_when>2017-02-16 16:57:47 -0800</bug_when>
    <thetext>Thanks for your review, Sam!

(In reply to comment #4)
&gt; Comment on attachment 301570 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=301570&amp;action=review
&gt; 
&gt; Overall, I think you need to make a platform abstraction around the
&gt; CorePrediction stuff, and use the abstraction instead of svm_model/etc.
&gt; directly.

I agree. Fixed as a platform abstraction.

&gt; &gt; Source/WebKit2/ChangeLog:9
&gt; &gt; +        This patch adds an SVM-based classifier to the WebResourceLoadStatisticsStore.
&gt; 
&gt; What is SVM?  Support Vector Machine? Could use a definition since it&apos;s not
&gt; the most well known acronym.

Consistently renamed CorePrediction.

&gt; &gt; Source/WebKit2/UIProcess/WebResourceLoadStatisticsStore.cpp:37
&gt; &gt; +#if USE(CF)
&gt; &gt; +#include &lt;CoreFoundation/CoreFoundation.h&gt;
&gt; &gt; +#endif
&gt; 
&gt; Please don&apos;t include CoreFoundation like this in a cross platform class.

Fixed.

&gt; &gt; Source/WebKit2/UIProcess/WebResourceLoadStatisticsStore.cpp:53
&gt; &gt; +#if PLATFORM(IOS) || (PLATFORM(MAC) &amp;&amp; __MAC_OS_X_VERSION_MIN_REQUIRED &gt;= 101200)
&gt; &gt; +static bool useSVM = true;
&gt; &gt; +#endif
&gt; 
&gt; It seems odd to have this be a global? Usually setting like this are in
&gt; WebPreferences.

It is no longer needed as a global and is now a member variable of the Cocoa classifier class.

&gt; &gt; Source/WebKit2/UIProcess/WebResourceLoadStatisticsStore.cpp:81
&gt; &gt; +    CFBundleRef webKitBundle = CFBundleGetBundleWithIdentifier(CFSTR(&quot;com.apple.WebKit&quot;));
&gt; &gt; +    CFURLRef resourceUrl = CFBundleCopyResourcesDirectoryURL(webKitBundle);
&gt; &gt; +    resourceUrl = CFURLCreateCopyAppendingPathComponent(nullptr, resourceUrl, CFSTR(&quot;libsvm_model&quot;), false);
&gt; &gt; +    CFErrorRef error = nullptr;
&gt; &gt; +    resourceUrl = CFURLCreateFilePathURL(nullptr, resourceUrl, &amp;error);
&gt; &gt; +    CFURLPathStyle pathStyle = kCFURLPOSIXPathStyle;
&gt; &gt; +    if (!error &amp;&amp; resourceUrl) {
&gt; &gt; +        CFStringRef resourceUrlString = CFURLCopyFileSystemPath(resourceUrl, pathStyle);
&gt; &gt; +        m_svmModelStoragePath = String(resourceUrlString);
&gt; &gt; +    }
&gt; 
&gt; Can this be moved into a platform abstraction? Having CF code like this in a
&gt; cross platform class is not something we like to do.

Yes, this is a great suggestion. Fixed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1278025</commentid>
    <comment_count>8</comment_count>
    <who name="John Wilander">wilander</who>
    <bug_when>2017-02-16 17:01:24 -0800</bug_when>
    <thetext>Alexey has given me some pointer on how to get EWS builds for iOS green. I will look into it but would appreciate a review of the code as is. I might even enable on iOS in a follow-up patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1278029</commentid>
    <comment_count>9</comment_count>
      <attachid>301862</attachid>
    <who name="John Wilander">wilander</who>
    <bug_when>2017-02-16 17:05:43 -0800</bug_when>
    <thetext>Created attachment 301862
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1278030</commentid>
    <comment_count>10</comment_count>
    <who name="John Wilander">wilander</who>
    <bug_when>2017-02-16 17:06:40 -0800</bug_when>
    <thetext>Fixed my #if:s into #ifdef:s for HAVE_CORE_PREDICTION.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1278054</commentid>
    <comment_count>11</comment_count>
      <attachid>301862</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2017-02-16 18:05:19 -0800</bug_when>
    <thetext>Comment on attachment 301862
Patch

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

&gt; Source/WebKit2/Platform/classifier/cocoa/ResourceLoadStatisticsClassifierCocoa.h:32
&gt; +// FIXME: Add PLATFORM(IOS) as a supported platform once we have figured out
&gt; +// how to support private frameworks on EWS.
&gt; +#if (PLATFORM(MAC) &amp;&amp; __MAC_OS_X_VERSION_MIN_REQUIRED &gt;= 101200)
&gt; +#define HAVE_CORE_PREDICTION 1
&gt; +#endif

This should move to WTF&apos;s Platform.h and users of it should use the HAVE(CORE_PREDICTION) form.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1278109</commentid>
    <comment_count>12</comment_count>
      <attachid>301879</attachid>
    <who name="John Wilander">wilander</who>
    <bug_when>2017-02-16 21:24:54 -0800</bug_when>
    <thetext>Created attachment 301879
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1278110</commentid>
    <comment_count>13</comment_count>
    <who name="John Wilander">wilander</who>
    <bug_when>2017-02-16 21:25:35 -0800</bug_when>
    <thetext>(In reply to comment #11)
&gt; Comment on attachment 301862 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=301862&amp;action=review
&gt; 
&gt; &gt; Source/WebKit2/Platform/classifier/cocoa/ResourceLoadStatisticsClassifierCocoa.h:32
&gt; &gt; +// FIXME: Add PLATFORM(IOS) as a supported platform once we have figured out
&gt; &gt; +// how to support private frameworks on EWS.
&gt; &gt; +#if (PLATFORM(MAC) &amp;&amp; __MAC_OS_X_VERSION_MIN_REQUIRED &gt;= 101200)
&gt; &gt; +#define HAVE_CORE_PREDICTION 1
&gt; &gt; +#endif
&gt; 
&gt; This should move to WTF&apos;s Platform.h and users of it should use the
&gt; HAVE(CORE_PREDICTION) form.

Got it. Fixed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1278125</commentid>
    <comment_count>14</comment_count>
      <attachid>301882</attachid>
    <who name="John Wilander">wilander</who>
    <bug_when>2017-02-16 22:21:46 -0800</bug_when>
    <thetext>Created attachment 301882
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1278140</commentid>
    <comment_count>15</comment_count>
      <attachid>301887</attachid>
    <who name="John Wilander">wilander</who>
    <bug_when>2017-02-16 23:22:56 -0800</bug_when>
    <thetext>Created attachment 301887
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1278141</commentid>
    <comment_count>16</comment_count>
    <who name="John Wilander">wilander</who>
    <bug_when>2017-02-16 23:24:35 -0800</bug_when>
    <thetext>Compiler got confused about what it thought was a missing return.

Added an attempt to fix the three cmake files by adding the classifier directory and implementation file(s).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1278466</commentid>
    <comment_count>17</comment_count>
      <attachid>301887</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2017-02-17 15:03:47 -0800</bug_when>
    <thetext>Comment on attachment 301887
Patch

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

&gt; Source/WTF/wtf/Platform.h:1211
&gt; +#if PLATFORM(IOS) &amp;&amp; USE(APPLE_INTERNAL_SDK) || (PLATFORM(MAC) &amp;&amp; __MAC_OS_X_VERSION_MIN_REQUIRED &gt;= 101200)

This should be PLATFORM(IOS) || (PLATFORM(MAC) &amp;&amp; __MAC_OS_X_VERSION_MIN_REQUIRED &gt;= 101200)

&gt; Source/WebKit2/Configurations/WebKit.xcconfig:37
&gt; +FRAMEWORK_AND_LIBRARY_LDFLAGS_BASE_ios = -lobjc -framework AssertionServices -framework CFNetwork -framework CoreFoundation -framework CoreGraphics -framework CorePDF -framework CorePrediction -framework CoreText -framework Foundation -framework GraphicsServices -framework ImageIO -framework UIKit -framework OpenGLES -framework MobileCoreServices -lMobileGestalt $(FRAMEWORK_AND_LIBRARY_LDFLAGS_PLATFORM_$(PLATFORM_NAME));

To make this link, please add a framework stub for iOS in WebKitLibraries/WebKitPrivateFrameworkStubs.

&gt; Source/WebKit2/Configurations/WebKit.xcconfig:44
&gt; +FRAMEWORK_AND_LIBRARY_LDFLAGS[sdk=macosx*] = -framework ApplicationServices -framework Carbon -framework Cocoa -framework CoreServices -framework IOKit -framework CoreAudio -framework IOSurface -framework OpenGL $(FRAMEWORK_AND_LIBRARY_LDFLAGS_macosx_$(TARGET_MAC_OS_X_VERSION_MAJOR));
&gt; +FRAMEWORK_AND_LIBRARY_LDFLAGS_macosx_101200 = -framework CorePrediction;
&gt; +FRAMEWORK_AND_LIBRARY_LDFLAGS_macosx_101300 = -framework CorePrediction;

I think that it would be cleaner to use a different name for the extra, as our normal pattern is to put the whole list in the _$(TARGET_MAC_OS_X_VERSION_MAJOR) variable.

Maybe something like EXTRA_FRAMEWORK_AND_LIBRARY_LDFLAGS_101200 would be best.

&gt; Source/WebKit2/Platform/classifier/cocoa/ResourceLoadStatisticsClassifierCocoa.h:32
&gt; +#if HAVE(CORE_PREDICTION)
&gt; +#include &lt;CorePrediction/svm.h&gt;
&gt; +#endif

This should be in a separate CorePredictionSPI.h header. After conditionally importing svm.h, please declare all functions and types that you use (see other SPI headers for example).

For the include check, please use #if USE(APPLE_INTERNAL_SDK) &amp;&amp; HAVE(CORE_PREDICTION).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1278514</commentid>
    <comment_count>18</comment_count>
      <attachid>302014</attachid>
    <who name="John Wilander">wilander</who>
    <bug_when>2017-02-17 16:56:20 -0800</bug_when>
    <thetext>Created attachment 302014
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1278517</commentid>
    <comment_count>19</comment_count>
    <who name="John Wilander">wilander</who>
    <bug_when>2017-02-17 16:58:40 -0800</bug_when>
    <thetext>(In reply to comment #17)
&gt; Comment on attachment 301887 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=301887&amp;action=review
&gt; 
&gt; &gt; Source/WTF/wtf/Platform.h:1211
&gt; &gt; +#if PLATFORM(IOS) &amp;&amp; USE(APPLE_INTERNAL_SDK) || (PLATFORM(MAC) &amp;&amp; __MAC_OS_X_VERSION_MIN_REQUIRED &gt;= 101200)
&gt; 
&gt; This should be PLATFORM(IOS) || (PLATFORM(MAC) &amp;&amp;
&gt; __MAC_OS_X_VERSION_MIN_REQUIRED &gt;= 101200)

Fixed.

&gt; &gt; Source/WebKit2/Configurations/WebKit.xcconfig:37
&gt; &gt; +FRAMEWORK_AND_LIBRARY_LDFLAGS_BASE_ios = -lobjc -framework AssertionServices -framework CFNetwork -framework CoreFoundation -framework CoreGraphics -framework CorePDF -framework CorePrediction -framework CoreText -framework Foundation -framework GraphicsServices -framework ImageIO -framework UIKit -framework OpenGLES -framework MobileCoreServices -lMobileGestalt $(FRAMEWORK_AND_LIBRARY_LDFLAGS_PLATFORM_$(PLATFORM_NAME));
&gt; 
&gt; To make this link, please add a framework stub for iOS in
&gt; WebKitLibraries/WebKitPrivateFrameworkStubs.

Fixed. Please review since it&apos;s the first time I&apos;ve added a framework stub.

&gt; &gt; Source/WebKit2/Configurations/WebKit.xcconfig:44
&gt; &gt; +FRAMEWORK_AND_LIBRARY_LDFLAGS[sdk=macosx*] = -framework ApplicationServices -framework Carbon -framework Cocoa -framework CoreServices -framework IOKit -framework CoreAudio -framework IOSurface -framework OpenGL $(FRAMEWORK_AND_LIBRARY_LDFLAGS_macosx_$(TARGET_MAC_OS_X_VERSION_MAJOR));
&gt; &gt; +FRAMEWORK_AND_LIBRARY_LDFLAGS_macosx_101200 = -framework CorePrediction;
&gt; &gt; +FRAMEWORK_AND_LIBRARY_LDFLAGS_macosx_101300 = -framework CorePrediction;
&gt; 
&gt; I think that it would be cleaner to use a different name for the extra, as
&gt; our normal pattern is to put the whole list in the
&gt; _$(TARGET_MAC_OS_X_VERSION_MAJOR) variable.
&gt; 
&gt; Maybe something like EXTRA_FRAMEWORK_AND_LIBRARY_LDFLAGS_101200 would be
&gt; best.

Fixed.

&gt; &gt; Source/WebKit2/Platform/classifier/cocoa/ResourceLoadStatisticsClassifierCocoa.h:32
&gt; &gt; +#if HAVE(CORE_PREDICTION)
&gt; &gt; +#include &lt;CorePrediction/svm.h&gt;
&gt; &gt; +#endif
&gt; 
&gt; This should be in a separate CorePredictionSPI.h header. After conditionally
&gt; importing svm.h, please declare all functions and types that you use (see
&gt; other SPI headers for example).
&gt; 
&gt; For the include check, please use #if USE(APPLE_INTERNAL_SDK) &amp;&amp;
&gt; HAVE(CORE_PREDICTION).

Fixed.

Thanks, Alexey!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1278522</commentid>
    <comment_count>20</comment_count>
      <attachid>302018</attachid>
    <who name="John Wilander">wilander</who>
    <bug_when>2017-02-17 17:08:25 -0800</bug_when>
    <thetext>Created attachment 302018
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1278524</commentid>
    <comment_count>21</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-02-17 17:10:58 -0800</bug_when>
    <thetext>Attachment 302018 did not pass style-queue:


ERROR: Source/WebKit2/Platform/classifier/cocoa/CorePredictionSPI.h:39:  svm_predict_values is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
Total errors found: 1 in 52 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>1278533</commentid>
    <comment_count>22</comment_count>
    <who name="John Wilander">wilander</who>
    <bug_when>2017-02-17 17:29:28 -0800</bug_when>
    <thetext>(In reply to comment #21)
&gt; Attachment 302018 [details] did not pass style-queue:
&gt; 
&gt; 
&gt; ERROR: Source/WebKit2/Platform/classifier/cocoa/CorePredictionSPI.h:39: 
&gt; svm_predict_values is incorrectly named. Don&apos;t use underscores in your
&gt; identifier names.  [readability/naming/underscores] [4]
&gt; Total errors found: 1 in 52 files

This is a deliberate violation, declaring symbols from CorePrediction in case we can&apos;t include the real header file.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1278534</commentid>
    <comment_count>23</comment_count>
      <attachid>302022</attachid>
    <who name="John Wilander">wilander</who>
    <bug_when>2017-02-17 17:31:57 -0800</bug_when>
    <thetext>Created attachment 302022
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1278535</commentid>
    <comment_count>24</comment_count>
    <who name="John Wilander">wilander</who>
    <bug_when>2017-02-17 17:33:06 -0800</bug_when>
    <thetext>(In reply to comment #23)
&gt; Created attachment 302022 [details]
&gt; Patch

svm_load_model() was missing from the re-declaration in the SPI file.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1278536</commentid>
    <comment_count>25</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-02-17 17:35:28 -0800</bug_when>
    <thetext>Attachment 302022 did not pass style-queue:


ERROR: Source/WebKit2/Platform/classifier/cocoa/CorePredictionSPI.h:39:  svm_predict_values is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
Total errors found: 1 in 52 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>1278548</commentid>
    <comment_count>26</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2017-02-17 17:55:12 -0800</bug_when>
    <thetext>View in context: https://bugs.webkit.org/attachment.cgi?id=302018&amp;action=review

&gt; Source/WebKit2/Platform/classifier/cocoa/ResourceLoadStatisticsClassifierCocoa.cpp:76
&gt; +    CFURLRef resourceUrl = CFBundleCopyResourcesDirectoryURL(webKitBundle);

You should be using RetainPtr&lt;&gt; for this stuff.

The &quot;Copy/Create&quot; rule of Objective C says that CFBundleCopyResources... is returning a CFURLRef with a +1 reference count. This is getting leaked when you pass it to CFURLCreateCopyAppendingPathComponent, which creates a brand new CFURL with a +1 count.

Use:
RetainPtr&lt;CFURLRef&gt; resourceURL = adoptCF(CFBundleCopyResourcesDirectoryURL(webKitBundle));

&gt; Source/WebKit2/Platform/classifier/cocoa/ResourceLoadStatisticsClassifierCocoa.cpp:77
&gt; +    resourceUrl = CFURLCreateCopyAppendingPathComponent(nullptr, resourceUrl, CFSTR(&quot;corePrediction_model&quot;), false);

Same thing:

resourceURL = adoptCF(CFURLCreateCopyAppendingPathComponent(nullptr, resourceUrl.get(), CFSTR(&quot;corePrediction_model&quot;), false);

&gt; Source/WebKit2/Platform/classifier/cocoa/ResourceLoadStatisticsClassifierCocoa.cpp:79
&gt; +    resourceUrl = CFURLCreateFilePathURL(nullptr, resourceUrl, &amp;error);

and again:

resourceURL = adoptCF(CFURLCreateFilePathURL(nullptr, resourceURL.get(), &amp;error);

&gt; Source/WebKit2/Platform/classifier/cocoa/ResourceLoadStatisticsClassifierCocoa.cpp:85
&gt; +    CFStringRef resourceUrlString = CFURLCopyFileSystemPath(resourceUrl, pathStyle);

RetainPtr&lt;CFStringRef&gt; resourceURLString = adoptCF(CFURLCopyFileSystemPath(resourceURL.get(), kCFURLPOSIXPathStyle);

&gt; Source/WebKit2/Platform/classifier/cocoa/ResourceLoadStatisticsClassifierCocoa.cpp:86
&gt; +    return String(resourceUrlString);

return String(resourceURLString.get());</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1279061</commentid>
    <comment_count>27</comment_count>
      <attachid>302172</attachid>
    <who name="John Wilander">wilander</who>
    <bug_when>2017-02-20 14:46:18 -0800</bug_when>
    <thetext>Created attachment 302172
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1279062</commentid>
    <comment_count>28</comment_count>
    <who name="John Wilander">wilander</who>
    <bug_when>2017-02-20 14:47:49 -0800</bug_when>
    <thetext>(In reply to comment #26)
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=302018&amp;action=review
&gt; 
&gt; &gt; Source/WebKit2/Platform/classifier/cocoa/ResourceLoadStatisticsClassifierCocoa.cpp:76
&gt; &gt; +    CFURLRef resourceUrl = CFBundleCopyResourcesDirectoryURL(webKitBundle);
&gt; 
&gt; You should be using RetainPtr&lt;&gt; for this stuff.
&gt; 
&gt; The &quot;Copy/Create&quot; rule of Objective C says that CFBundleCopyResources... is
&gt; returning a CFURLRef with a +1 reference count. This is getting leaked when
&gt; you pass it to CFURLCreateCopyAppendingPathComponent, which creates a brand
&gt; new CFURL with a +1 count.
&gt; 
&gt; Use:
&gt; RetainPtr&lt;CFURLRef&gt; resourceURL =
&gt; adoptCF(CFBundleCopyResourcesDirectoryURL(webKitBundle));
&gt; 
&gt; &gt; Source/WebKit2/Platform/classifier/cocoa/ResourceLoadStatisticsClassifierCocoa.cpp:77
&gt; &gt; +    resourceUrl = CFURLCreateCopyAppendingPathComponent(nullptr, resourceUrl, CFSTR(&quot;corePrediction_model&quot;), false);
&gt; 
&gt; Same thing:
&gt; 
&gt; resourceURL = adoptCF(CFURLCreateCopyAppendingPathComponent(nullptr,
&gt; resourceUrl.get(), CFSTR(&quot;corePrediction_model&quot;), false);
&gt; 
&gt; &gt; Source/WebKit2/Platform/classifier/cocoa/ResourceLoadStatisticsClassifierCocoa.cpp:79
&gt; &gt; +    resourceUrl = CFURLCreateFilePathURL(nullptr, resourceUrl, &amp;error);
&gt; 
&gt; and again:
&gt; 
&gt; resourceURL = adoptCF(CFURLCreateFilePathURL(nullptr, resourceURL.get(),
&gt; &amp;error);
&gt; 
&gt; &gt; Source/WebKit2/Platform/classifier/cocoa/ResourceLoadStatisticsClassifierCocoa.cpp:85
&gt; &gt; +    CFStringRef resourceUrlString = CFURLCopyFileSystemPath(resourceUrl, pathStyle);
&gt; 
&gt; RetainPtr&lt;CFStringRef&gt; resourceURLString =
&gt; adoptCF(CFURLCopyFileSystemPath(resourceURL.get(), kCFURLPOSIXPathStyle);
&gt; 
&gt; &gt; Source/WebKit2/Platform/classifier/cocoa/ResourceLoadStatisticsClassifierCocoa.cpp:86
&gt; &gt; +    return String(resourceUrlString);
&gt; 
&gt; return String(resourceURLString.get());

Thanks, Brent! I fixed all of these.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1279063</commentid>
    <comment_count>29</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-02-20 14:48:29 -0800</bug_when>
    <thetext>Attachment 302172 did not pass style-queue:


ERROR: Source/WebKit2/Platform/classifier/cocoa/CorePredictionSPI.h:45:  svm_predict_values is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
Total errors found: 1 in 52 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>1279096</commentid>
    <comment_count>30</comment_count>
      <attachid>302172</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2017-02-20 15:56:44 -0800</bug_when>
    <thetext>Comment on attachment 302172
Patch

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

&gt; Source/WebKit2/Platform/classifier/ResourceLoadStatisticsClassifierBase.cpp:35
&gt; +static const auto featureVectorLengthThreshold = 3;

Moving this might make sense, but it might also be useful to have one collection of the values we can tune them easier.

&gt; Source/WebKit2/Platform/classifier/cocoa/ResourceLoadStatisticsClassifierCocoa.cpp:55
&gt; +    svm_node* exampleVector = new svm_node[nonZeroFeatures.size() + 1];

Can we use a std::unique_ptr&lt;svm_node[]&gt; instead of new and delete?  I know right now it looks obvious that there is one code path, but it might become more complex, and there&apos;s no reason to use new and delete.
We might even want Vector&lt;svm_node&gt; instead to get the bounds checking that comes with Vector.

&gt; LayoutTests/http/tests/loading/resourceLoadStatistics/classify-as-prevalent-based-on-subresource-unique-redirects-to.html:33
&gt; +        testRunner.statisticsResetToConsistentState();

We might want to call this from Internals::resetToConsistentState so we won&apos;t get flaky tests in tests run after this if this tests fails to call this for some reason.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1279105</commentid>
    <comment_count>31</comment_count>
    <who name="John Wilander">wilander</who>
    <bug_when>2017-02-20 16:09:39 -0800</bug_when>
    <thetext>(In reply to comment #30)
&gt; Comment on attachment 302172 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=302172&amp;action=review
&gt; 
&gt; &gt; Source/WebKit2/Platform/classifier/ResourceLoadStatisticsClassifierBase.cpp:35
&gt; &gt; +static const auto featureVectorLengthThreshold = 3;
&gt; 
&gt; Moving this might make sense, but it might also be useful to have one
&gt; collection of the values we can tune them easier.

We will revisit depending on whether we want to expose these settings in API or have them in a file outside the bundle.

&gt; &gt; Source/WebKit2/Platform/classifier/cocoa/ResourceLoadStatisticsClassifierCocoa.cpp:55
&gt; &gt; +    svm_node* exampleVector = new svm_node[nonZeroFeatures.size() + 1];
&gt; 
&gt; Can we use a std::unique_ptr&lt;svm_node[]&gt; instead of new and delete?  I know
&gt; right now it looks obvious that there is one code path, but it might become
&gt; more complex, and there&apos;s no reason to use new and delete.
&gt; We might even want Vector&lt;svm_node&gt; instead to get the bounds checking that
&gt; comes with Vector.

That&apos;s a good suggestion. Saving for later since we need to land this.

&gt; &gt; LayoutTests/http/tests/loading/resourceLoadStatistics/classify-as-prevalent-based-on-subresource-unique-redirects-to.html:33
&gt; &gt; +        testRunner.statisticsResetToConsistentState();
&gt; 
&gt; We might want to call this from Internals::resetToConsistentState so we
&gt; won&apos;t get flaky tests in tests run after this if this tests fails to call
&gt; this for some reason.

Yes, I did look into that but since Internals operates on WebCore and my TestRunner functions go through WebKit2 I wasn&apos;t sure where to have the single point where we reset the statistics.
I filed https://bugs.webkit.org/show_bug.cgi?id=168619 for this task.

Thanks for the reviews, Alex, Sam, Alexey, and Brent!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1279125</commentid>
    <comment_count>32</comment_count>
      <attachid>302172</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-02-20 16:36:23 -0800</bug_when>
    <thetext>Comment on attachment 302172
Patch

Clearing flags on attachment: 302172

Committed r212685: &lt;http://trac.webkit.org/changeset/212685&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1279126</commentid>
    <comment_count>33</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-02-20 16:36:31 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1279158</commentid>
    <comment_count>34</comment_count>
    <who name="Ryan Haddad">ryanhaddad</who>
    <bug_when>2017-02-20 17:39:33 -0800</bug_when>
    <thetext>This change appears to have broken the Sierra 32-bit build:

Undefined symbols for architecture i386:
  &quot;_svm_load_model&quot;, referenced from:
      WebKit::ResourceLoadStatisticsClassifier::shouldUseCorePrediction() in ResourceLoadStatisticsClassifierCocoa.o
  &quot;_svm_predict_values&quot;, referenced from:
      WebKit::ResourceLoadStatisticsClassifier::classify(unsigned int, unsigned int, unsigned int) in ResourceLoadStatisticsClassifierCocoa.o
ld: symbol(s) not found for architecture i386


https://build.webkit.org/builders/Apple%20Sierra%20Release%20%2832-bit%20Build%29/builds/3867</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1279163</commentid>
    <comment_count>35</comment_count>
    <who name="Ryan Haddad">ryanhaddad</who>
    <bug_when>2017-02-20 17:49:59 -0800</bug_when>
    <thetext>Reverted r212685 for reason:

This change broke the 32-bit Sierra build.

Committed r212691: &lt;http://trac.webkit.org/changeset/212691&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1279415</commentid>
    <comment_count>36</comment_count>
      <attachid>302281</attachid>
    <who name="John Wilander">wilander</who>
    <bug_when>2017-02-21 10:36:32 -0800</bug_when>
    <thetext>Created attachment 302281
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1279419</commentid>
    <comment_count>37</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-02-21 10:43:41 -0800</bug_when>
    <thetext>Attachment 302281 did not pass style-queue:


ERROR: Source/WebKit2/Platform/classifier/cocoa/CorePredictionSPI.h:45:  svm_predict_values is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
Total errors found: 1 in 52 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>1279421</commentid>
    <comment_count>38</comment_count>
      <attachid>302281</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2017-02-21 10:48:14 -0800</bug_when>
    <thetext>Comment on attachment 302281
Patch

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

r=me for the new HAVE(CORE_PREDICTION) macro.

&gt; Source/WebKit2/Configurations/BaseTarget.xcconfig:35
&gt; +FRAMEWORK_SEARCH_PATHS_base = &quot;$(UMBRELLA_FRAMEWORKS_DIR)&quot; /System/Library/PrivateFrameworks $(FRAMEWORK_SEARCH_PATHS);

Is this correct? I thought this was what the &quot;spi&quot; folders were used for?

&gt; Source/WebKit2/Configurations/WebKit.xcconfig:44
&gt; +EXTRA_FRAMEWORK_AND_LIBRARY_LDFLAGS_101300 = -framework CorePrediction;

I&apos;m worried that CorePrediction will fail to link here on the 32-bit Sierra build. This might need to be soft-linked.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1279526</commentid>
    <comment_count>39</comment_count>
      <attachid>302281</attachid>
    <who name="John Wilander">wilander</who>
    <bug_when>2017-02-21 14:15:06 -0800</bug_when>
    <thetext>Comment on attachment 302281
Patch

Thanks for having a look again, Brent. Flagging for commit. We can change the frameworks path in a follow-up if needed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1279541</commentid>
    <comment_count>40</comment_count>
      <attachid>302281</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-02-21 14:42:16 -0800</bug_when>
    <thetext>Comment on attachment 302281
Patch

Clearing flags on attachment: 302281

Committed r212757: &lt;http://trac.webkit.org/changeset/212757&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1279542</commentid>
    <comment_count>41</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-02-21 14:42:23 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1279753</commentid>
    <comment_count>42</comment_count>
    <who name="John Wilander">wilander</who>
    <bug_when>2017-02-21 20:30:07 -0800</bug_when>
    <thetext>Committed r212800: &lt;http://trac.webkit.org/changeset/212800&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1279755</commentid>
    <comment_count>43</comment_count>
    <who name="John Wilander">wilander</who>
    <bug_when>2017-02-21 20:31:31 -0800</bug_when>
    <thetext>(In reply to comment #42)
&gt; Committed r212800: &lt;http://trac.webkit.org/changeset/212800&gt;

This is a temporary skip of the test cases while we investigate bot test crashes in https://bugs.webkit.org/show_bug.cgi?id=168703.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1280133</commentid>
    <comment_count>44</comment_count>
    <who name="John Wilander">wilander</who>
    <bug_when>2017-02-22 17:57:03 -0800</bug_when>
    <thetext>Reopening to attach new patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1280134</commentid>
    <comment_count>45</comment_count>
      <attachid>302473</attachid>
    <who name="John Wilander">wilander</who>
    <bug_when>2017-02-22 17:57:06 -0800</bug_when>
    <thetext>Created attachment 302473
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1280135</commentid>
    <comment_count>46</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-02-22 17:59:03 -0800</bug_when>
    <thetext>Attachment 302473 did not pass style-queue:


ERROR: Source/WebKit2/Platform/classifier/cocoa/CorePredictionSPI.h:45:  svm_predict_values is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
Total errors found: 1 in 56 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>1280136</commentid>
    <comment_count>47</comment_count>
    <who name="John Wilander">wilander</who>
    <bug_when>2017-02-22 17:59:30 -0800</bug_when>
    <thetext>The previous patch was rolled out in https://trac.webkit.org/changeset/212841.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1280162</commentid>
    <comment_count>48</comment_count>
    <who name="John Wilander">wilander</who>
    <bug_when>2017-02-22 19:04:20 -0800</bug_when>
    <thetext>The new things that need a re-review.

1. WebKit2/Platform/classifier/cocoa/ResourceLoadStatisticsClassifierCocoa.cpp

a) Soft linking:
SOFT_LINK_PRIVATE_FRAMEWORK_OPTIONAL(CorePrediction)
SOFT_LINK(CorePrediction, svm_predict_values, double, (const struct svm_model *model, const struct svm_node *x, double* dec_values), (model, x, dec_values))
SOFT_LINK(CorePrediction, svm_load_model, svm_model*, (const char *model_file_name), (model_file_name))

b) New function with static variable:
struct svm_model* ResourceLoadStatisticsClassifier::singletonPredictionModel()

c) Added logging.


2. WebKit2/Platform/classifier/ResourceLoadStatisticsClassifierBase.cpp

a) Added logging.


3. WebKit2/Platform/Logging.h

a) Added a channel.


4. Testcases

a) Now call internals.setResourceLoadStatisticsEnabled(false) before testRunner.notifyDone().</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1280173</commentid>
    <comment_count>49</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2017-02-22 20:18:31 -0800</bug_when>
    <thetext>It would be great if David could double-check that we did the SOFT_LINK stuff properly.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1280175</commentid>
    <comment_count>50</comment_count>
      <attachid>302473</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2017-02-22 20:35:15 -0800</bug_when>
    <thetext>Comment on attachment 302473
Patch

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

Looks good to me. Alex or another anointed WK2 reviewer needs to do final signoff.

&gt; Source/WebKit2/Platform/classifier/ResourceLoadStatisticsClassifierBase.h:41
&gt; +    bool classifyWithVectorThreshold(const unsigned, const unsigned, const unsigned);

nit: It&apos;s not really necessary to pass unsigned as const, unless we want to be sure &apos;classifyWithVectorThreshold&apos; does not modify its input values for some reason.

&gt; Source/WebKit2/Platform/classifier/cocoa/ResourceLoadStatisticsClassifierCocoa.cpp:61
&gt; +    svm_node* exampleVector = new svm_node[nonZeroFeatures.size() + 1];

Rather than new/delete, we should use a Vector&lt;svm_node*&gt;:

Vector&lt;svm_node*&gt; exampleVector(nonZeroFeatures.size() + 1);

&gt; Source/WebKit2/Platform/classifier/cocoa/ResourceLoadStatisticsClassifierCocoa.cpp:65
&gt; +    }

Add a newline, please

&gt; Source/WebKit2/Platform/classifier/cocoa/ResourceLoadStatisticsClassifierCocoa.cpp:72
&gt; +    classification = svm_predict_values(singletonPredictionModel(), exampleVector, &amp;score);

int classification = svm_predict_values(singletonPredictionModel(), exampleVector.data(), &amp;score);

&gt; Source/WebKit2/Platform/classifier/cocoa/ResourceLoadStatisticsClassifierCocoa.cpp:73
&gt; +    delete[] exampleVector;

Then this could go away...

&gt; Tools/WebKitTestRunner/InjectedBundle/TestRunner.cpp:1243
&gt; +    rawValues.resize(values.size());

I think these can just be:

Vector&lt;WKStringRef&gt; rawKeys(keys.size());
Vector&lt;WKTypeRef&gt; rawValues(values.size());

This should create two vectors, sized properly with default values (hopefully nullptr).

&gt; Tools/WebKitTestRunner/InjectedBundle/TestRunner.cpp:1269
&gt; +    rawValues.resize(values.size());

Ditto above -- just declare vectors of the right size, rather than do it in two steps.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1280200</commentid>
    <comment_count>51</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2017-02-22 22:14:59 -0800</bug_when>
    <thetext>I can confirm that the release-mode crashes I was getting with the older patch are resolved with this new version.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1280476</commentid>
    <comment_count>52</comment_count>
      <attachid>302473</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2017-02-23 13:54:41 -0800</bug_when>
    <thetext>Comment on attachment 302473
Patch

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

&gt; Source/WebKit2/Platform/classifier/cocoa/CorePredictionSPI.h:47
&gt; +struct svm_model *svm_load_model(const char*);

I think we need soft linking headers instead of this.  See CoreVideoSoftLink.h and CoreVideoSoftLink.cpp as an example.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1280617</commentid>
    <comment_count>53</comment_count>
      <attachid>302626</attachid>
    <who name="John Wilander">wilander</who>
    <bug_when>2017-02-23 18:33:40 -0800</bug_when>
    <thetext>Created attachment 302626
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1280669</commentid>
    <comment_count>54</comment_count>
      <attachid>302640</attachid>
    <who name="John Wilander">wilander</who>
    <bug_when>2017-02-23 21:38:29 -0800</bug_when>
    <thetext>Created attachment 302640
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1280672</commentid>
    <comment_count>55</comment_count>
      <attachid>302641</attachid>
    <who name="John Wilander">wilander</who>
    <bug_when>2017-02-23 21:45:16 -0800</bug_when>
    <thetext>Created attachment 302641
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1280705</commentid>
    <comment_count>56</comment_count>
      <attachid>302641</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2017-02-23 23:23:18 -0800</bug_when>
    <thetext>Comment on attachment 302641
Patch

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

&gt; Source/WebKit2/Platform/classifier/cocoa/CorePredictionSoftLink.h:28
&gt; +#if USE(APPLE_INTERNAL_SDK) &amp;&amp; HAVE(CORE_PREDICTION)

We should make this buildable for open-source contributors who don&apos;t have the internal sdk.  If we declare what we use and soft link, it should work.  Then we can have the open source bots having the same behavior as the internal bots.

&gt; Source/WebKit2/Platform/classifier/cocoa/ResourceLoadStatisticsClassifierCocoa.cpp:89
&gt; +bool ResourceLoadStatisticsClassifier::shouldUseCorePredictionAndHaveModelLoaded()

Would canUseCorePrediction be a better name?  You can&apos;t use it if you don&apos;t have a model loaded.

&gt; WebKitLibraries/ChangeLog:11
&gt; +        * WebKitPrivateFrameworkStubs/iOS/10/CorePrediction.framework/CorePrediction.tbd: Added.

Is this still needed when we soft link?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1280710</commentid>
    <comment_count>57</comment_count>
      <attachid>302641</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2017-02-23 23:51:39 -0800</bug_when>
    <thetext>Comment on attachment 302641
Patch

I&apos;m going to clean this up a bit.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1280712</commentid>
    <comment_count>58</comment_count>
    <who name="John Wilander">wilander</who>
    <bug_when>2017-02-23 23:59:17 -0800</bug_when>
    <thetext>(In reply to comment #56)
&gt; Comment on attachment 302641 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=302641&amp;action=review
&gt; 
&gt; &gt; Source/WebKit2/Platform/classifier/cocoa/CorePredictionSoftLink.h:28
&gt; &gt; +#if USE(APPLE_INTERNAL_SDK) &amp;&amp; HAVE(CORE_PREDICTION)
&gt; 
&gt; We should make this buildable for open-source contributors who don&apos;t have
&gt; the internal sdk.  If we declare what we use and soft link, it should work. 
&gt; Then we can have the open source bots having the same behavior as the
&gt; internal bots.

To the best of my knowledge this is buildable and usable by open source platforms without internal SDK. It&apos;s designed that way.

&gt; &gt; Source/WebKit2/Platform/classifier/cocoa/ResourceLoadStatisticsClassifierCocoa.cpp:89
&gt; &gt; +bool ResourceLoadStatisticsClassifier::shouldUseCorePredictionAndHaveModelLoaded()
&gt; 
&gt; Would canUseCorePrediction be a better name?  You can&apos;t use it if you don&apos;t
&gt; have a model loaded.

Maybe. I guess I had thoughts on it being configurable but maybe that&apos;s not really what we want.

&gt; &gt; WebKitLibraries/ChangeLog:11
&gt; &gt; +        * WebKitPrivateFrameworkStubs/iOS/10/CorePrediction.framework/CorePrediction.tbd: Added.
&gt; 
&gt; Is this still needed when we soft link?

Maybe not.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1280721</commentid>
    <comment_count>59</comment_count>
      <attachid>302655</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2017-02-24 00:35:45 -0800</bug_when>
    <thetext>Created attachment 302655
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1280723</commentid>
    <comment_count>60</comment_count>
      <attachid>302655</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2017-02-24 00:44:52 -0800</bug_when>
    <thetext>Comment on attachment 302655
Patch

I cleaned it up a bit.  I made it build for non-Apple-internal builds, I got rid of ResourceLoadStatisticsClassifierBase in favor of just ResourceLoadStatisticsClassifier and ResourceLoadStatisticsClassifierCocoa, I made the soft linking work without including the CorePrediction headers directly, and I removed unnecessary Vector allocation when generating the feature vector.  This passes all the new tests on my computer.  Feel free to land.  r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1280724</commentid>
    <comment_count>61</comment_count>
    <who name="John Wilander">wilander</who>
    <bug_when>2017-02-24 00:50:21 -0800</bug_when>
    <thetext>(In reply to comment #60)
&gt; Comment on attachment 302655 [details]
&gt; Patch
&gt; 
&gt; I cleaned it up a bit.  I made it build for non-Apple-internal builds, I got
&gt; rid of ResourceLoadStatisticsClassifierBase in favor of just
&gt; ResourceLoadStatisticsClassifier and ResourceLoadStatisticsClassifierCocoa,
&gt; I made the soft linking work without including the CorePrediction headers
&gt; directly, and I removed unnecessary Vector allocation when generating the
&gt; feature vector.  This passes all the new tests on my computer.  Feel free to
&gt; land.  r=me

Thanks! The split into a Base class was because that seemed to be the way we do it and other platforms may want to use open source libsvm. But that&apos;s future work.

I&apos;ll land it and check tomorrow on a debug build that we&apos;re actually executing on CorePrediction on internal SDKs. The tests pass either way (intended).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1280732</commentid>
    <comment_count>62</comment_count>
      <attachid>302655</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-02-24 01:21:42 -0800</bug_when>
    <thetext>Comment on attachment 302655
Patch

Clearing flags on attachment: 302655

Committed r212949: &lt;http://trac.webkit.org/changeset/212949&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1280733</commentid>
    <comment_count>63</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-02-24 01:21:51 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>301570</attachid>
            <date>2017-02-14 18:20:42 -0800</date>
            <delta_ts>2017-02-16 16:54:23 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-168347-20170214181808.patch</filename>
            <type>text/plain</type>
            <size>85836</size>
            <attacher name="John Wilander">wilander</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDIxMjIzMCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI4IEBACisyMDE3LTAyLTE0ICBKb2huIFdp
bGFuZGVyICA8d2lsYW5kZXJAYXBwbGUuY29tPgorCisgICAgICAgIFJlc291cmNlIExvYWQgU3Rh
dGlzdGljczogQWRkIGFsdGVybmF0ZSBjbGFzc2lmaWNhdGlvbiBtZXRob2QKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2ODM0NworICAgICAgICA8cmRh
cjovL3Byb2JsZW0vMzAzNTI3OTM+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgVGhpcyBwYXRjaCBvbmx5IGFkZHMgdGVzdCBpbmZyYXN0cnVjdHVyZSBp
biBXZWJDb3JlLgorCisgICAgICAgIFRlc3RzOiBodHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VM
b2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1ub24tcHJldmFsZW50LWJhc2VkLW9uLW1peGVkLXN0
YXRpc3RpY3MuaHRtbAorICAgICAgICAgICAgICAgaHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNl
TG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtbm9uLXByZXZhbGVudC1iYXNlZC1vbi1zdWItZnJh
bWUtdW5kZXItdG9wLWZyYW1lLW9yaWdpbnMuaHRtbAorICAgICAgICAgICAgICAgaHR0cC90ZXN0
cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtbm9uLXByZXZhbGVu
dC1iYXNlZC1vbi1zdWJyZXNvdXJjZS11bmRlci10b3AtZnJhbWUtb3JpZ2lucy5odG1sCisgICAg
ICAgICAgICAgICBodHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFz
c2lmeS1hcy1ub24tcHJldmFsZW50LWJhc2VkLW9uLXN1YnJlc291cmNlLXVuaXF1ZS1yZWRpcmVj
dHMtdG8uaHRtbAorICAgICAgICAgICAgICAgaHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9h
ZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtcHJldmFsZW50LWJhc2VkLW9uLW1peGVkLXN0YXRpc3Rp
Y3MuaHRtbAorICAgICAgICAgICAgICAgaHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0
YXRpc3RpY3MvY2xhc3NpZnktYXMtcHJldmFsZW50LWJhc2VkLW9uLXN1Yi1mcmFtZS11bmRlci10
b3AtZnJhbWUtb3JpZ2lucy5odG1sCisgICAgICAgICAgICAgICBodHRwL3Rlc3RzL2xvYWRpbmcv
cmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1wcmV2YWxlbnQtYmFzZWQtb24tc3Vi
cmVzb3VyY2UtdW5kZXItdG9wLWZyYW1lLW9yaWdpbnMuaHRtbAorICAgICAgICAgICAgICAgaHR0
cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtcHJldmFs
ZW50LWJhc2VkLW9uLXN1YnJlc291cmNlLXVuaXF1ZS1yZWRpcmVjdHMtdG8uaHRtbAorCisgICAg
ICAgICogbG9hZGVyL1Jlc291cmNlTG9hZE9ic2VydmVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OlJlc291cmNlTG9hZE9ic2VydmVyOjpzZXRTdWJmcmFtZVVuZGVyVG9wRnJhbWVPcmlnaW4pOgor
ICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VMb2FkT2JzZXJ2ZXI6OnNldFN1YnJlc291cmNlVW5k
ZXJUb3BGcmFtZU9yaWdpbik6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZUxvYWRPYnNlcnZl
cjo6c2V0U3VicmVzb3VyY2VVbmlxdWVSZWRpcmVjdFRvKToKKyAgICAgICAgKiBsb2FkZXIvUmVz
b3VyY2VMb2FkT2JzZXJ2ZXIuaDoKKwogMjAxNy0wMi0xMyAgQ2FybG9zIEdhcmNpYSBDYW1wb3Mg
IDxjZ2FyY2lhQGlnYWxpYS5jb20+CiAKICAgICAgICAgW0dUS10gTm9uLWFjY2VsZXJhdGVkIGRy
YXdpbmcgaXMgYnJva2VuIHdpdGggSGlEUEkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2xvYWRlci9S
ZXNvdXJjZUxvYWRPYnNlcnZlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvbG9h
ZGVyL1Jlc291cmNlTG9hZE9ic2VydmVyLmNwcAkocmV2aXNpb24gMjEyMjMwKQorKysgU291cmNl
L1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlTG9hZE9ic2VydmVyLmNwcAkod29ya2luZyBjb3B5KQpA
QCAtMzc1LDYgKzM3NSwzMyBAQCB2b2lkIFJlc291cmNlTG9hZE9ic2VydmVyOjpjbGVhclByZXZh
bGVuCiAgICAgc3RhdGlzdGljcy5pc1ByZXZhbGVudFJlc291cmNlID0gZmFsc2U7CiB9CiAKK3Zv
aWQgUmVzb3VyY2VMb2FkT2JzZXJ2ZXI6OnNldFN1YmZyYW1lVW5kZXJUb3BGcmFtZU9yaWdpbihj
b25zdCBVUkwmIHN1YmZyYW1lLCBjb25zdCBVUkwmIHRvcEZyYW1lKQoreworICAgIGlmIChzdWJm
cmFtZS5pc0JsYW5rVVJMKCkgfHwgc3ViZnJhbWUuaXNFbXB0eSgpIHx8IHRvcEZyYW1lLmlzQmxh
bmtVUkwoKSB8fCB0b3BGcmFtZS5pc0VtcHR5KCkpCisgICAgICAgIHJldHVybjsKKyAgICAKKyAg
ICBhdXRvJiBzdGF0aXN0aWNzID0gbV9zdG9yZS0+ZW5zdXJlUmVzb3VyY2VTdGF0aXN0aWNzRm9y
UHJpbWFyeURvbWFpbihwcmltYXJ5RG9tYWluKHN1YmZyYW1lKSk7CisgICAgc3RhdGlzdGljcy5z
dWJmcmFtZVVuZGVyVG9wRnJhbWVPcmlnaW5zLmFkZChwcmltYXJ5RG9tYWluKHRvcEZyYW1lKSk7
Cit9CisKK3ZvaWQgUmVzb3VyY2VMb2FkT2JzZXJ2ZXI6OnNldFN1YnJlc291cmNlVW5kZXJUb3BG
cmFtZU9yaWdpbihjb25zdCBVUkwmIHN1YnJlc291cmNlLCBjb25zdCBVUkwmIHRvcEZyYW1lKQor
eworICAgIGlmIChzdWJyZXNvdXJjZS5pc0JsYW5rVVJMKCkgfHwgc3VicmVzb3VyY2UuaXNFbXB0
eSgpIHx8IHRvcEZyYW1lLmlzQmxhbmtVUkwoKSB8fCB0b3BGcmFtZS5pc0VtcHR5KCkpCisgICAg
ICAgIHJldHVybjsKKyAgICAKKyAgICBhdXRvJiBzdGF0aXN0aWNzID0gbV9zdG9yZS0+ZW5zdXJl
UmVzb3VyY2VTdGF0aXN0aWNzRm9yUHJpbWFyeURvbWFpbihwcmltYXJ5RG9tYWluKHN1YnJlc291
cmNlKSk7CisgICAgc3RhdGlzdGljcy5zdWJyZXNvdXJjZVVuZGVyVG9wRnJhbWVPcmlnaW5zLmFk
ZChwcmltYXJ5RG9tYWluKHRvcEZyYW1lKSk7Cit9CisKK3ZvaWQgUmVzb3VyY2VMb2FkT2JzZXJ2
ZXI6OnNldFN1YnJlc291cmNlVW5pcXVlUmVkaXJlY3RUbyhjb25zdCBVUkwmIHN1YnJlc291cmNl
LCBjb25zdCBVUkwmIGhvc3ROYW1lUmVkaXJlY3RlZFRvKQoreworICAgIGlmIChzdWJyZXNvdXJj
ZS5pc0JsYW5rVVJMKCkgfHwgc3VicmVzb3VyY2UuaXNFbXB0eSgpIHx8IGhvc3ROYW1lUmVkaXJl
Y3RlZFRvLmlzQmxhbmtVUkwoKSB8fCBob3N0TmFtZVJlZGlyZWN0ZWRUby5pc0VtcHR5KCkpCisg
ICAgICAgIHJldHVybjsKKyAgICAKKyAgICBhdXRvJiBzdGF0aXN0aWNzID0gbV9zdG9yZS0+ZW5z
dXJlUmVzb3VyY2VTdGF0aXN0aWNzRm9yUHJpbWFyeURvbWFpbihwcmltYXJ5RG9tYWluKHN1YnJl
c291cmNlKSk7CisgICAgc3RhdGlzdGljcy5zdWJyZXNvdXJjZVVuaXF1ZVJlZGlyZWN0c1RvLmFk
ZChwcmltYXJ5RG9tYWluKGhvc3ROYW1lUmVkaXJlY3RlZFRvKSk7Cit9CisKIHZvaWQgUmVzb3Vy
Y2VMb2FkT2JzZXJ2ZXI6OnNldFRpbWVUb0xpdmVVc2VySW50ZXJhY3Rpb24oZG91YmxlIHNlY29u
ZHMpCiB7CiAgICAgbV9zdG9yZS0+c2V0VGltZVRvTGl2ZVVzZXJJbnRlcmFjdGlvbihzZWNvbmRz
KTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZUxvYWRPYnNlcnZlci5oCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZUxvYWRPYnNlcnZlci5o
CShyZXZpc2lvbiAyMTIyMzApCisrKyBTb3VyY2UvV2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VMb2Fk
T2JzZXJ2ZXIuaAkod29ya2luZyBjb3B5KQpAQCAtNTgsNiArNTgsMTAgQEAgcHVibGljOgogICAg
IFdFQkNPUkVfRVhQT1JUIGJvb2wgaXNQcmV2YWxlbnRSZXNvdXJjZShjb25zdCBVUkwmKTsKICAg
ICBXRUJDT1JFX0VYUE9SVCB2b2lkIGNsZWFyUHJldmFsZW50UmVzb3VyY2UoY29uc3QgVVJMJik7
CiAKKyAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHNldFN1YmZyYW1lVW5kZXJUb3BGcmFtZU9yaWdp
bihjb25zdCBVUkwmIHN1YmZyYW1lLCBjb25zdCBVUkwmIHRvcEZyYW1lKTsKKyAgICBXRUJDT1JF
X0VYUE9SVCB2b2lkIHNldFN1YnJlc291cmNlVW5kZXJUb3BGcmFtZU9yaWdpbihjb25zdCBVUkwm
IHN1YnJlc291cmNlLCBjb25zdCBVUkwmIHRvcEZyYW1lKTsKKyAgICBXRUJDT1JFX0VYUE9SVCB2
b2lkIHNldFN1YnJlc291cmNlVW5pcXVlUmVkaXJlY3RUbyhjb25zdCBVUkwmIHN1YnJlc291cmNl
LCBjb25zdCBVUkwmIGhvc3ROYW1lUmVkaXJlY3RlZFRvKTsKKwogICAgIFdFQkNPUkVfRVhQT1JU
IHZvaWQgc2V0VGltZVRvTGl2ZVVzZXJJbnRlcmFjdGlvbihkb3VibGUgc2Vjb25kcyk7CiAgICAg
V0VCQ09SRV9FWFBPUlQgdm9pZCBzZXRSZWR1Y2VkVGltZXN0YW1wUmVzb2x1dGlvbihkb3VibGUg
c2Vjb25kcyk7CiAKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cJKHJldmlzaW9uIDIxMjIzMCkKKysrIFNvdXJjZS9X
ZWJLaXQyL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDU3IEBACisyMDE3LTAy
LTE0ICBKb2huIFdpbGFuZGVyICA8d2lsYW5kZXJAYXBwbGUuY29tPgorCisgICAgICAgIFJlc291
cmNlIExvYWQgU3RhdGlzdGljczogQWRkIGFsdGVybmF0ZSBjbGFzc2lmaWNhdGlvbiBtZXRob2QK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2ODM0Nwor
ICAgICAgICA8cmRhcjovL3Byb2JsZW0vMzAzNTI3OTM+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhpcyBwYXRjaCBhZGRzIGFuIFNWTS1iYXNlZCBj
bGFzc2lmaWVyIHRvIHRoZSBXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmUuCisgICAgICAg
IFRoZSBuZXcgY2xhc3NpZmllciByZWxpZXMgb24gQ29yZVByZWRpY3Rpb24gd2hpY2ggaXMgaW50
cm9kdWNlZCBhcyBhCisgICAgICAgIGRlcGVuZGVuY3kgZm9yIGlPUyBhbmQgbWFjT1MuIFRoZSBw
YXRjaCBhbHNvIGFkZHMgZnVuY3Rpb25zIHRvIHN1cHBvcnQgbGF5b3V0CisgICAgICAgIHRlc3Rz
IG9mIHRoZSBmZWF0dXJlLgorCisgICAgICAgICogQ29uZmlndXJhdGlvbnMvQmFzZVRhcmdldC54
Y2NvbmZpZzoKKyAgICAgICAgKiBDb25maWd1cmF0aW9ucy9XZWJLaXQueGNjb25maWc6CisgICAg
ICAgICAgICBBZGRlZCBkZXBlbmRlbmN5IG9uIENvcmVQcmVkaWN0aW9uLgorICAgICAgICAqIFVJ
UHJvY2Vzcy9BUEkvQy9XS1Jlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VyLmNwcDoKKyAgICAg
ICAgKFdLUmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFnZXJTZXRTdWJmcmFtZVVuZGVyVG9wRnJh
bWVPcmlnaW4pOgorICAgICAgICAoV0tSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdlclNldFN1
YnJlc291cmNlVW5kZXJUb3BGcmFtZU9yaWdpbik6CisgICAgICAgIChXS1Jlc291cmNlTG9hZFN0
YXRpc3RpY3NNYW5hZ2VyU2V0U3VicmVzb3VyY2VVbmlxdWVSZWRpcmVjdFRvKToKKyAgICAgICAg
ICAgIFRlc3QgaW5mcmFzdHJ1Y3R1cmUuCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9DL1dLUmVz
b3VyY2VMb2FkU3RhdGlzdGljc01hbmFnZXIuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUmVz
b3VyY2VMb2FkU3RhdGlzdGljc01hbmFnZXIuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJSZXNv
dXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdlcjo6c2V0U3ViZnJhbWVVbmRlclRvcEZyYW1lT3JpZ2lu
KToKKyAgICAgICAgKFdlYktpdDo6V2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFnZXI6OnNl
dFN1YnJlc291cmNlVW5kZXJUb3BGcmFtZU9yaWdpbik6CisgICAgICAgIChXZWJLaXQ6OldlYlJl
c291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VyOjpzZXRTdWJyZXNvdXJjZVVuaXF1ZVJlZGlyZWN0
VG8pOgorICAgICAgICAgICAgVGVzdCBpbmZyYXN0cnVjdHVyZS4KKyAgICAgICAgKiBVSVByb2Nl
c3MvV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFnZXIuaDoKKyAgICAgICAgKiBVSVByb2Nl
c3MvV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlLmNwcDoKKyAgICAgICAgKFdlYktpdDo6
V2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlOjpXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNz
U3RvcmUpOgorICAgICAgICAgICAgVGhlIGNvbnN0cnVjdG9yIG5vdyBsb2FkcyBhIGxpYnN2bSBt
b2RlbCBmaWxlIG9uIGlPUyBhbmQgbWFjT1MuCisgICAgICAgIChXZWJLaXQ6OldlYlJlc291cmNl
TG9hZFN0YXRpc3RpY3NTdG9yZTo6c2hvdWxkVXNlU3ZtKToKKyAgICAgICAgICAgIENvbnZlbmll
bmNlIGZ1bmN0aW9uIHRvIHNpbXBsaWZ5IHdoZW4gYW5kIHdoZW4gbm90IHRvIHVzZSB0aGUKKyAg
ICAgICAgICAgIFNWTSBjbGFzc2lmaWVyLgorICAgICAgICAoV2ViS2l0OjpXZWJSZXNvdXJjZUxv
YWRTdGF0aXN0aWNzU3RvcmU6OmNsYXNzaWZ5V2l0aFNWTSk6CisgICAgICAgICAgICBUaGUgbmV3
IGNsYXNzaWZpZXIuCisgICAgICAgIChXZWJLaXQ6OldlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NT
dG9yZTo6Y2xhc3NpZnlXaXRoVmVjdG9yVGhyZXNob2xkKToKKyAgICAgICAgICAgIFRoZSBvbGQg
YW5kIGZhbGxiYWNrIGNsYXNzaWZpZXIuCisgICAgICAgIChXZWJLaXQ6OldlYlJlc291cmNlTG9h
ZFN0YXRpc3RpY3NTdG9yZTo6aGFzUHJldmFsZW50UmVzb3VyY2VDaGFyYWN0ZXJpc3RpY3MpOgor
ICAgICAgICAgICAgTm93IG1ha2VzIHVzZSBvZiB0aGUgbmV3IGNsYXNzaWZpZXIgaWYgY29uZmln
dXJlZCB0byBkbyBzby4KKyAgICAgICAgKFdlYktpdDo6V2ViUmVzb3VyY2VMb2FkU3RhdGlzdGlj
c1N0b3JlOjpjbGFzc2lmeVJlc291cmNlKToKKyAgICAgICAgICAgIFJlbW92ZWQgdW5uZWVkZWQg
Y3VybHkgYnJhY2tldHMuCisgICAgICAgIChXZWJLaXQ6OldlYlJlc291cmNlTG9hZFN0YXRpc3Rp
Y3NTdG9yZTo6cGVyc2lzdGVudFN0b3JhZ2VQYXRoKToKKyAgICAgICAgICAgIFJlbmFtZWQgbV9z
dG9yYWdlUGF0aCB0byBtX3N0YXRpc3RpY3NTdG9yYWdlUGF0aCB0byBhdm9pZCBjb25mdXNpb24g
bm93CisgICAgICAgICAgICB0aGF0IHdlIHVzZSB0d28gZmlsZSBwYXRocyBmb3IgdHdvIGRpZmZl
cmVudCBmaWxlcy4KKyAgICAgICAgKFdlYktpdDo6V2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0
b3JlOjp3cml0ZUVuY29kZXJUb0Rpc2spOgorICAgICAgICAgICAgUmVuYW1lZCBtX3N0b3JhZ2VQ
YXRoIHRvIG1fc3RhdGlzdGljc1N0b3JhZ2VQYXRoIHRvIGF2b2lkIGNvbmZ1c2lvbiBub3cKKyAg
ICAgICAgICAgIHRoYXQgd2UgdXNlIHR3byBmaWxlIHBhdGhzIGZvciB0d28gZGlmZmVyZW50IGZp
bGVzLgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmUu
aDoKKyAgICAgICAgICAgIFJlbmFtZWQgbV9zdG9yYWdlUGF0aCB0byBtX3N0YXRpc3RpY3NTdG9y
YWdlUGF0aCB0byBhdm9pZCBjb25mdXNpb24gbm93CisgICAgICAgICAgICB0aGF0IHdlIHVzZSB0
d28gZmlsZSBwYXRocyBmb3IgdHdvIGRpZmZlcmVudCBmaWxlcy4KKyAgICAgICAgKiBXZWJLaXQy
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogbGlic3ZtX21vZGVsOiBBZGRl
ZC4KKwogMjAxNy0wMi0xMyAgTWljaGFlbCBDYXRhbnphcm8gIDxtY2F0YW56YXJvQGlnYWxpYS5j
b20+CiAKICAgICAgICAgW0dUS10gVW5yZXZpZXdlZCwgYWRkIG1pc3NpbmcgcHJlY29uZGl0aW9u
IGNoZWNrCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9saWJzdm1fbW9kZWwKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYktpdDIvbGlic3ZtX21vZGVsCShub25leGlzdGVudCkKKysrIFNvdXJjZS9XZWJL
aXQyL2xpYnN2bV9tb2RlbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDMzOSBAQAorc3ZtX3R5
cGUgY19zdmMKK2tlcm5lbF90eXBlIHJiZgorZ2FtbWEgMC4xCitucl9jbGFzcyAyCit0b3RhbF9z
diAzMzAKK3JobyAwLjI4Nzk0NTY0MjI2MQorbGFiZWwgLTEgMQorbnJfc3YgMzAwIDMwCitTVgor
LTAuMDU0NjY5NzAzODcyNCAxOjE0LjAgMjozLjAgMzo3LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6
MS4wIDI6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTox
LjAgMzoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MTIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo3
LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIDI6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEu
MCAzOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTozLjAgMjoxNi4wIAorLTAuMDU0NjY5NzAzODcy
NCAxOjEuMCAzOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMjoyLjAgCistMC4wNTQ2Njk3
MDM4NzI0IDE6MS4wIDM6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAKKy0wLjA1NDY2OTcw
Mzg3MjQgMTozLjAgMjoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6NS4wIAorLTAuMDU0NjY5NzAz
ODcyNCAxOjE2LjAgMjoyLjAgMzoyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDI6MS4wIAor
LTAuMDU0NjY5NzAzODcyNCAxOjExLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6NC4wIDM6My4wIAor
LTAuMDU0NjY5NzAzODcyNCAxOjI4LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIAorLTAuMDU0
NjY5NzAzODcyNCAxOjEuMCAzOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMzoxLjAgCist
MC4wNTQ2Njk3MDM4NzI0IDE6MjIuMCAyOjEuMCAzOjEyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6
MTQuMCAzOjUuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMzoxLjAgCistMC4wNTQ2Njk3MDM4
NzI0IDE6NDguMCAyOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyNS4wIDM6MTYuMCAKKy0wLjA1
NDY2OTcwMzg3MjQgMToxLjAgMjoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDM6MS4wIAor
LTAuMDU0NjY5NzAzODcyNCAxOjYuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo3LjAgCistMC4wNTQ2
Njk3MDM4NzI0IDE6MS4wIDI6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAzOjEuMCAKKy0w
LjA1NDY2OTcwMzg3MjQgMTozLjAgMzoyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Ny4wIDI6MS4w
IDM6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo3LjAg
CistMC4wNTQ2Njk3MDM4NzI0IDE6NS4wIDI6Mi4wIDM6My4wIAorLTAuMDU0NjY5NzAzODcyNCAx
OjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMjoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6
NC4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAyOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTox
LjAgMzoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6OS4wIDM6NC4wIAorLTAuMDU0NjY5NzAzODcy
NCAxOjEuMCAyOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMzoxLjAgCistMC4wNTQ2Njk3
MDM4NzI0IDE6NDcuMCAyOjIxLjAgMzozMy4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjExLjAgMjoy
LjAgMzo1LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MTEuMCAyOjMuMCAzOjEuMCAKKy0wLjA1NDY2
OTcwMzg3MjQgMToxLjAgMzoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIDI6MS4wIAorLTAu
MDU0NjY5NzAzODcyNCAxOjQzLjAgMzoyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MTMuMCAzOjcu
MCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMzoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6NC4w
IAorLTAuMDU0NjY5NzAzODcyNCAxOjEzLjAgMzo0LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6NDIu
MCAyOjQuMCAzOjMyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MTAuMCAyOjUuMCAzOjEuMCAKKy0w
LjA1NDY2OTcwMzg3MjQgMTo3LjAgMzo0LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIAorLTAu
MDU0NjY5NzAzODcyNCAxOjEuMCAzOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMzoxLjAg
CistMC4wNTQ2Njk3MDM4NzI0IDE6Ni4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAyOjEuMCAK
Ky0wLjA1NDY2OTcwMzg3MjQgMTo2LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MTYuMCAyOjQuMCAK
Ky0wLjA1NDY2OTcwMzg3MjQgMToxMC4wIDI6MS4wIDM6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAx
OjE4LjAgMjozLjAgMzo2LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDM6MS4wIAorLTAuMDU0
NjY5NzAzODcyNCAxOjEuMCAyOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAgCistMC4wNTQ2
Njk3MDM4NzI0IDE6My4wIDI6MS4wIDM6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAyOjEu
MCAKKy0wLjA1NDY2OTcwMzg3MjQgMTozLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6My4wIAorLTAu
MDU0NjY5NzAzODcyNCAxOjQuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAgCistMC4wNTQ2Njk3
MDM4NzI0IDE6Mi4wIDM6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAKKy0wLjA1NDY2OTcw
Mzg3MjQgMToxLjAgMzoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MjEuMCAKKy0wLjA1NDY2OTcw
Mzg3MjQgMToyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIDI6Mi4wIAorLTAuMDU0NjY5NzAz
ODcyNCAxOjE0LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIDI6MS4wIAorLTAuMDU0NjY5NzAz
ODcyNCAxOjIuMCAzOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo0LjAgMzozLjAgCistMC4wNTQ2
Njk3MDM4NzI0IDE6Mi4wIDM6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjMuMCAKKy0wLjA1NDY2
OTcwMzg3MjQgMToyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDI6MS4wIAorLTAuMDU0NjY5
NzAzODcyNCAxOjQuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTozOS4wIDM6NC4wIAorLTAuMDU0NjY5
NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAgMjoxLjAgMzoxLjAgCistMC4w
NTQ2Njk3MDM4NzI0IDE6NC4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAyOjEuMCAKKy0wLjA1
NDY2OTcwMzg3MjQgMTo0LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDI6MS4wIAorLTAuMDU0
NjY5NzAzODcyNCAxOjEuMCAyOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2
Njk3MDM4NzI0IDE6Mi4wIDI6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2
OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcy
NCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTozLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4w
IDI6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAg
CistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1
NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDM6MS4wIAorLTAuMDU0
NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4
NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTox
LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0w
LjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5
NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxNi4wIDI6MS4wIDM6MS4wIAorLTAu
MDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3
MDM4NzI0IDE6MS4wIDI6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcw
Mzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6My4wIDI6MS4wIAorLTAuMDU0NjY5NzAz
ODcyNCAxOjEuMCAzOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4
NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTox
LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0w
LjA1NDY2OTcwMzg3MjQgMToyMC4wIDM6My4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0w
LjA1NDY2OTcwMzg3MjQgMToyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5
NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0
IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAg
MzoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAz
OjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6OC4wIAor
LTAuMDU0NjY5NzAzODcyNCAxOjcuMCAyOjEuMCAzOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo4
LjAgMjoyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDI6MS4wIAorLTAuMDU0NjY5NzAzODcy
NCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4w
IDI6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAg
CistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1
NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIAorLTAuMDU0NjY5NzAz
ODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxMi4wIDM6Ny4wIAorLTAuMDU0NjY5NzAz
ODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo5LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6
Ny4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMjox
LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDM6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEu
MCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo4LjAgMjoyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MTcu
MCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAgMjoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4w
IAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4w
NTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjQuMCAKKy0wLjA1NDY2OTcw
Mzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAx
OjEzLjAgMjo0LjAgMzoyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDM6MS4wIAorLTAuMDU0
NjY5NzAzODcyNCAxOjIuMCAzOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2
Njk3MDM4NzI0IDE6MTYuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTozLjAgCistMC4wNTQ2Njk3MDM4
NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTox
LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAKKy0w
LjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIAorLTAuMDU0NjY5
NzAzODcyNCAxOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0
IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAg
CistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjMuMCAzOjMuMCAK
Ky0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIAorLTAuMDU0
NjY5NzAzODcyNCAxOjExLjAgMzoxMS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1
NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAz
ODcyNCAxOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6
MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCist
MC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2
OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcy
NCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxNS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEu
MCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MjAuMCAyOjEy
LjAgMzozLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEu
MCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAu
MDU0NjY5NzAzODcyNCAxOjcuMCAzOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4w
NTQ2Njk3MDM4NzI0IDE6MS4wIDM6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1
NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDM6MS4wIAorLTAuMDU0
NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTozLjAgMzoyLjAgCistMC4wNTQ2
Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3
MjQgMTo5LjAgMjozLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDM6MS4wIAorLTAuMDU0NjY5
NzAzODcyNCAxOjYuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo0LjAgCistMC4wNTQ2Njk3MDM4NzI0
IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjcuMCAyOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQg
MToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDM6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAx
OjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6OS4wIAor
LTAuMDU0NjY5NzAzODcyNCAxOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2
Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3
MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjE0
LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MTIuMCAzOjYuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToz
LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6NC4wIDI6MS4wIDM6MS4wIAorLTAuMDU0NjY5NzAzODcy
NCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4w
IAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo5LjAgCistMC4w
NTQ2Njk3MDM4NzI0IDE6OS4wIDI6MS4wIDM6NC4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAK
Ky0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6OS4wIDI6MS4wIAor
LTAuMDU0NjY5NzAzODcyNCAxOjMuMCAyOjMuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAgMjoy
LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDI6MS4wIDM6MS4wIAorLTAuMDU0NjY5NzAzODcy
NCAxOjguMCAyOjEuMCAzOjMuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3
MDM4NzI0IDE6Mi4wIDI6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjkuMCAyOjEuMCAKKy0wLjA1
NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAz
ODcyNCAxOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6
MzYuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAor
LTAuMDU0NjY5NzAzODcyNCAxOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2
Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAKKy0wLjA1NDY2OTcwMzg3
MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjYu
MCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMzoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4w
IAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4w
NTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAKKy0wLjA1NDY2OTcw
Mzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAx
OjQuMCAzOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxMy4wIDM6NC4wIAorLTAuMDU0NjY5NzAz
ODcyNCAxOjEuMCAKKy0wLjA0MDIwNzUxNzg5NDIgMToxLjAgCiswLjU4NTM2NTg1MzY1OSAxOjEu
MCAKKzAuNDc5Mjc2MTM5MDAxIDE6Ni4wIDI6My4wIAorMC41ODUzNjU4NTM2NTkgMToyLjAgCisw
LjU4NTM2NTg1MzY1OSAxOjEuMCAKKzAuNTg1MzY1ODUzNjU5IDE6My4wIDM6My4wIAorMC41ODUz
NjU4NTM2NTkgMTo0Mi4wIDI6Mi4wIDM6MjguMCAKKzAuNTg1MzY1ODUzNjU5IDE6Mi4wIAorMC41
ODUzNjU4NTM2NTkgMToxMi4wIAorMC40NzkyODMwNDY1NzggMTo3LjAgCiswLjMwMDM5Nzg3MzQ3
NiAxOjMuMCAzOjEuMCAKKzAuMDU0MzE3MzMwNjQ0MiAxOjYuMCAzOjIuMCAKKzAuNTYzNDY1MTI2
Mjk5IDE6MTEuMCAKKzAuNTg1MzY1ODUzNjU5IDE6Mi4wIAorMC41ODUzNjU4NTM2NTkgMToxMC4w
IDI6My4wIDM6Ni4wIAorMC41ODUzNjU4NTM2NTkgMToxLjAgMjoxLjAgCiswLjU4NTM2NTg1MzY1
OSAxOjIuMCAKKzAuNTg1MzY1ODUzNjU5IDE6MS4wIDI6MS4wIAorMC41ODUzNjU4NTM2NTkgMToz
LjAgMzoxLjAgCiswLjU4NTM2NTg1MzY1OSAxOjEuMCAKKzAuNTg1MzY1ODUzNjU5IDE6Mi4wIAor
MC41ODUzNjU4NTM2NTkgMToxLjAgMjoxLjAgCiswLjU4NDk4OTcxOTkwOSAxOjcuMCAKKzAuNTg1
MzY1ODUzNjU5IDE6My4wIAorMC41ODUzNjU4NTM2NTkgMTozLjAgCiswLjUyNTkyNTEzNjk4MyAx
OjMuMCAyOjIuMCAKKzAuNTg1MzY1ODUzNjU5IDE6MS4wIAorMC41ODUzNjU4NTM2NTkgMToxLjAg
CiswLjU4NTM2NTg1MzY1OSAxOjMuMCAzOjEuMCAKKzAuNTg1MzY1ODUzNjU5IDE6MS4wIAorMC41
MjA3NDU4MjIzNzQgMTozLjAgCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9Db25maWd1cmF0aW9ucy9C
YXNlVGFyZ2V0LnhjY29uZmlnCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL0NvbmZpZ3Vy
YXRpb25zL0Jhc2VUYXJnZXQueGNjb25maWcJKHJldmlzaW9uIDIxMjIzMCkKKysrIFNvdXJjZS9X
ZWJLaXQyL0NvbmZpZ3VyYXRpb25zL0Jhc2VUYXJnZXQueGNjb25maWcJKHdvcmtpbmcgY29weSkK
QEAgLTMyLDcgKzMyLDcgQEAgV0tfUFJJVkFURV9GUkFNRVdPUktTX0RJUl9bc2RrPWlwaG9uZW9z
KgogV0tfUFJJVkFURV9GUkFNRVdPUktTX0RJUl9pcGhvbmVvc19ZRVMgPSAkKFNSQ1JPT1QpLy4u
Ly4uL1dlYktpdExpYnJhcmllcy9XZWJLaXRQcml2YXRlRnJhbWV3b3JrU3R1YnMvaU9TLyQoV0tf
VEFSR0VUX0lPU19WRVJTSU9OX01BSk9SKTsKIFdLX1BSSVZBVEVfRlJBTUVXT1JLU19ESVJfaXBo
b25lb3NfTk8gPSAkKFBST0RVQ1RJT05fRlJBTUVXT1JLU19ESVIpOwogCi1GUkFNRVdPUktfU0VB
UkNIX1BBVEhTX2Jhc2UgPSAiJChVTUJSRUxMQV9GUkFNRVdPUktTX0RJUikiICQoRlJBTUVXT1JL
X1NFQVJDSF9QQVRIUyk7CitGUkFNRVdPUktfU0VBUkNIX1BBVEhTX2Jhc2UgPSAiJChVTUJSRUxM
QV9GUkFNRVdPUktTX0RJUikiIC9TeXN0ZW0vTGlicmFyeS9Qcml2YXRlRnJhbWV3b3JrcyAkKEZS
QU1FV09SS19TRUFSQ0hfUEFUSFMpOwogRlJBTUVXT1JLX1NFQVJDSF9QQVRIU1tzZGs9aXBob25l
Kl0gPSAkKEZSQU1FV09SS19TRUFSQ0hfUEFUSFNfYmFzZSkgJChXS19QUklWQVRFX0ZSQU1FV09S
S1NfRElSKTsKIEZSQU1FV09SS19TRUFSQ0hfUEFUSFMgPSAkKEZSQU1FV09SS19TRUFSQ0hfUEFU
SFNfYmFzZSk7CiAKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL0NvbmZpZ3VyYXRpb25zL1dlYktpdC54
Y2NvbmZpZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9Db25maWd1cmF0aW9ucy9XZWJL
aXQueGNjb25maWcJKHJldmlzaW9uIDIxMjIzMCkKKysrIFNvdXJjZS9XZWJLaXQyL0NvbmZpZ3Vy
YXRpb25zL1dlYktpdC54Y2NvbmZpZwkod29ya2luZyBjb3B5KQpAQCAtMzQsMTIgKzM0LDE0IEBA
IE1PRFVMRU1BUF9GSUxFW3Nkaz1pcGhvbmUqXT1Nb2R1bGVzL2lPUy4KIElOU1RBTExfUEFUSCA9
ICQoV0VCS0lUX0ZSQU1FV09SS1NfRElSKTsKIERZTElCX0lOU1RBTExfTkFNRV9CQVNFID0gJChO
T1JNQUxfV0VCS0lUX0ZSQU1FV09SS1NfRElSKTsKIAotRlJBTUVXT1JLX0FORF9MSUJSQVJZX0xE
RkxBR1NfQkFTRV9pb3MgPSAtbG9iamMgLWZyYW1ld29yayBBc3NlcnRpb25TZXJ2aWNlcyAtZnJh
bWV3b3JrIENGTmV0d29yayAtZnJhbWV3b3JrIENvcmVGb3VuZGF0aW9uIC1mcmFtZXdvcmsgQ29y
ZUdyYXBoaWNzIC1mcmFtZXdvcmsgQ29yZVBERiAtZnJhbWV3b3JrIENvcmVUZXh0IC1mcmFtZXdv
cmsgRm91bmRhdGlvbiAtZnJhbWV3b3JrIEdyYXBoaWNzU2VydmljZXMgLWZyYW1ld29yayBJbWFn
ZUlPIC1mcmFtZXdvcmsgVUlLaXQgLWZyYW1ld29yayBPcGVuR0xFUyAtZnJhbWV3b3JrIE1vYmls
ZUNvcmVTZXJ2aWNlcyAtbE1vYmlsZUdlc3RhbHQgJChGUkFNRVdPUktfQU5EX0xJQlJBUllfTERG
TEFHU19QTEFURk9STV8kKFBMQVRGT1JNX05BTUUpKTsKK0ZSQU1FV09SS19BTkRfTElCUkFSWV9M
REZMQUdTX0JBU0VfaW9zID0gLWxvYmpjIC1mcmFtZXdvcmsgQXNzZXJ0aW9uU2VydmljZXMgLWZy
YW1ld29yayBDRk5ldHdvcmsgLWZyYW1ld29yayBDb3JlRm91bmRhdGlvbiAtZnJhbWV3b3JrIENv
cmVHcmFwaGljcyAtZnJhbWV3b3JrIENvcmVQREYgLWZyYW1ld29yayBDb3JlUHJlZGljdGlvbiAt
ZnJhbWV3b3JrIENvcmVUZXh0IC1mcmFtZXdvcmsgRm91bmRhdGlvbiAtZnJhbWV3b3JrIEdyYXBo
aWNzU2VydmljZXMgLWZyYW1ld29yayBJbWFnZUlPIC1mcmFtZXdvcmsgVUlLaXQgLWZyYW1ld29y
ayBPcGVuR0xFUyAtZnJhbWV3b3JrIE1vYmlsZUNvcmVTZXJ2aWNlcyAtbE1vYmlsZUdlc3RhbHQg
JChGUkFNRVdPUktfQU5EX0xJQlJBUllfTERGTEFHU19QTEFURk9STV8kKFBMQVRGT1JNX05BTUUp
KTsKIEZSQU1FV09SS19BTkRfTElCUkFSWV9MREZMQUdTW3Nkaz1pcGhvbmVvcypdID0gJChGUkFN
RVdPUktfQU5EX0xJQlJBUllfTERGTEFHU19CQVNFX2lvcykgLWZyYW1ld29yayBJT1N1cmZhY2U7
CiBGUkFNRVdPUktfQU5EX0xJQlJBUllfTERGTEFHU1tzZGs9aXBob25lc2ltdWxhdG9yKl0gPSAk
KEZSQU1FV09SS19BTkRfTElCUkFSWV9MREZMQUdTX0JBU0VfaW9zKTsKIEZSQU1FV09SS19BTkRf
TElCUkFSWV9MREZMQUdTX1BMQVRGT1JNX2lwaG9uZW9zID0gOwogRlJBTUVXT1JLX0FORF9MSUJS
QVJZX0xERkxBR1NfUExBVEZPUk1faXBob25lc2ltdWxhdG9yID0gOwotRlJBTUVXT1JLX0FORF9M
SUJSQVJZX0xERkxBR1Nbc2RrPW1hY29zeCpdID0gLWZyYW1ld29yayBBcHBsaWNhdGlvblNlcnZp
Y2VzIC1mcmFtZXdvcmsgQ2FyYm9uIC1mcmFtZXdvcmsgQ29jb2EgLWZyYW1ld29yayBDb3JlU2Vy
dmljZXMgLWZyYW1ld29yayBJT0tpdCAtZnJhbWV3b3JrIENvcmVBdWRpbyAtZnJhbWV3b3JrIElP
U3VyZmFjZSAtZnJhbWV3b3JrIE9wZW5HTDsKK0ZSQU1FV09SS19BTkRfTElCUkFSWV9MREZMQUdT
W3Nkaz1tYWNvc3gqXSA9IC1mcmFtZXdvcmsgQXBwbGljYXRpb25TZXJ2aWNlcyAtZnJhbWV3b3Jr
IENhcmJvbiAtZnJhbWV3b3JrIENvY29hIC1mcmFtZXdvcmsgQ29yZVNlcnZpY2VzIC1mcmFtZXdv
cmsgSU9LaXQgLWZyYW1ld29yayBDb3JlQXVkaW8gLWZyYW1ld29yayBJT1N1cmZhY2UgLWZyYW1l
d29yayBPcGVuR0wgJChGUkFNRVdPUktfQU5EX0xJQlJBUllfTERGTEFHU19tYWNvc3hfJChUQVJH
RVRfTUFDX09TX1hfVkVSU0lPTl9NQUpPUikpOworRlJBTUVXT1JLX0FORF9MSUJSQVJZX0xERkxB
R1NfbWFjb3N4XzEwMTIwMCA9IC1mcmFtZXdvcmsgQ29yZVByZWRpY3Rpb247CitGUkFNRVdPUktf
QU5EX0xJQlJBUllfTERGTEFHU19tYWNvc3hfMTAxMzAwID0gLWZyYW1ld29yayBDb3JlUHJlZGlj
dGlvbjsKIAogLy8gUHJldmVudCBDKysgc3RhbmRhcmQgbGlicmFyeSBvcGVyYXRvciBuZXcsIGRl
bGV0ZSBhbmQgdGhlaXIgcmVsYXRlZCBleGNlcHRpb24gdHlwZXMgZnJvbSBiZWluZyBleHBvcnRl
ZCBhcyB3ZWFrIHN5bWJvbHMuCiBVTkVYUE9SVEVEX1NZTUJPTF9MREZMQUdTID0gLVdsLC11bmV4
cG9ydGVkX3N5bWJvbCAtV2wsX19aVElTdDliYWRfYWxsb2MgLVdsLC11bmV4cG9ydGVkX3N5bWJv
bCAtV2wsX19aVElTdDlleGNlcHRpb24gLVdsLC11bmV4cG9ydGVkX3N5bWJvbCAtV2wsX19aVFNT
dDliYWRfYWxsb2MgLVdsLC11bmV4cG9ydGVkX3N5bWJvbCAtV2wsX19aVFNTdDlleGNlcHRpb24g
LVdsLC11bmV4cG9ydGVkX3N5bWJvbCAtV2wsX19aZGxQdlNfIC1XbCwtdW5leHBvcnRlZF9zeW1i
b2wgLVdsLF9fWm53bVB2IC1XbCwtdW5leHBvcnRlZF9zeW1ib2wgLVdsLF9fWm53bSAtV2wsLXVu
ZXhwb3J0ZWRfc3ltYm9sLCAtV2wsX19aTlN0M19fMThmdW5jdGlvbklGdk43V2ViQ29yZTEyUG9s
aWN5QWN0aW9uRUVFQzJFT1M0XyAtV2wsLXVuZXhwb3J0ZWRfc3ltYm9sLCAtV2wsX19aTlN0M19f
MThmdW5jdGlvbklGdk43V2ViQ29yZTEyUG9saWN5QWN0aW9uRUVFQzFFT1M0XyAtV2wsLXVuZXhw
b3J0ZWRfc3ltYm9sLCAtV2wsX19aTlN0M19fMThmdW5jdGlvbklGdk43V2ViQ29yZTEyUG9saWN5
QWN0aW9uRUVFYVNFRG4gLVdsLC11bmV4cG9ydGVkX3N5bWJvbCwgLVdsLF9fWk5LU3QzX18xOGZ1
bmN0aW9uSUZ2TjdXZWJDb3JlMTJQb2xpY3lBY3Rpb25FRUVjbEVTMl8gLVdsLC11bmV4cG9ydGVk
X3N5bWJvbCwgLVdsLF9fWk5TdDNfXzE4ZnVuY3Rpb25JRnZON1dlYkNvcmUxMlBvbGljeUFjdGlv
bkVFRTRzd2FwRVJTNF8gLVdsLC11bmV4cG9ydGVkX3N5bWJvbCwgLVdsLF9fWk5TdDNfXzE4ZnVu
Y3Rpb25JRnZON1dlYkNvcmUxMlBvbGljeUFjdGlvbkVFRUMxRVJLUzRfIC1XbCwtdW5leHBvcnRl
ZF9zeW1ib2wsIC1XbCxfX1pOU3QzX18xOGZ1bmN0aW9uSUZ2TjdXZWJDb3JlMTJQb2xpY3lBY3Rp
b25FRUVDMkVSS1M0XyAtV2wsLXVuZXhwb3J0ZWRfc3ltYm9sLCAtV2wsX19aTlN0M19fMThmdW5j
dGlvbklGdk43V2ViQ29yZTEyUG9saWN5QWN0aW9uRUVFRDFFdiAtV2wsLXVuZXhwb3J0ZWRfc3lt
Ym9sLCAtV2wsX19aTlN0M19fMThmdW5jdGlvbklGdk43V2ViQ29yZTEyUG9saWN5QWN0aW9uRUVF
RDJFdiAtV2wsLXVuZXhwb3J0ZWRfc3ltYm9sLCAtV2wsX19aTlN0M19fMThmdW5jdGlvbklGdk43
V2ViQ29yZTEyUG9saWN5QWN0aW9uRUVFYVNFUktTNF8gLVdsLC11bmV4cG9ydGVkX3N5bWJvbCwg
LVdsLF9fWlRWTlN0M19fMTE3YmFkX2Z1bmN0aW9uX2NhbGxFOwpJbmRleDogU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL1dlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VyLmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGlj
c01hbmFnZXIuY3BwCShyZXZpc2lvbiAyMTIyMzApCisrKyBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFnZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC02MSw2ICs2MSwyMSBAQCBib29sIFdlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VyOjpo
CiAgICAgcmV0dXJuIFdlYkNvcmU6OlJlc291cmNlTG9hZE9ic2VydmVyOjpzaGFyZWRPYnNlcnZl
cigpLmhhc0hhZFVzZXJJbnRlcmFjdGlvbihVUkwoVVJMKCksIGhvc3ROYW1lKSk7CiB9CiAKK3Zv
aWQgV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFnZXI6OnNldFN1YmZyYW1lVW5kZXJUb3BG
cmFtZU9yaWdpbihjb25zdCBTdHJpbmcmIGhvc3ROYW1lLCBjb25zdCBTdHJpbmcmIHRvcEZyYW1l
SG9zdE5hbWUpCit7CisgICAgV2ViQ29yZTo6UmVzb3VyY2VMb2FkT2JzZXJ2ZXI6OnNoYXJlZE9i
c2VydmVyKCkuc2V0U3ViZnJhbWVVbmRlclRvcEZyYW1lT3JpZ2luKFVSTChVUkwoKSwgaG9zdE5h
bWUpLCBVUkwoVVJMKCksIHRvcEZyYW1lSG9zdE5hbWUpKTsKK30KKwordm9pZCBXZWJSZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzTWFuYWdlcjo6c2V0U3VicmVzb3VyY2VVbmRlclRvcEZyYW1lT3JpZ2lu
KGNvbnN0IFN0cmluZyYgaG9zdE5hbWUsIGNvbnN0IFN0cmluZyYgdG9wRnJhbWVIb3N0TmFtZSkK
K3sKKyAgICBXZWJDb3JlOjpSZXNvdXJjZUxvYWRPYnNlcnZlcjo6c2hhcmVkT2JzZXJ2ZXIoKS5z
ZXRTdWJyZXNvdXJjZVVuZGVyVG9wRnJhbWVPcmlnaW4oVVJMKFVSTCgpLCBob3N0TmFtZSksIFVS
TChVUkwoKSwgdG9wRnJhbWVIb3N0TmFtZSkpOworfQorCit2b2lkIFdlYlJlc291cmNlTG9hZFN0
YXRpc3RpY3NNYW5hZ2VyOjpzZXRTdWJyZXNvdXJjZVVuaXF1ZVJlZGlyZWN0VG8oY29uc3QgU3Ry
aW5nJiBob3N0TmFtZSwgY29uc3QgU3RyaW5nJiBob3N0TmFtZVJlZGlyZWN0ZWRUbykKK3sKKyAg
ICBXZWJDb3JlOjpSZXNvdXJjZUxvYWRPYnNlcnZlcjo6c2hhcmVkT2JzZXJ2ZXIoKS5zZXRTdWJy
ZXNvdXJjZVVuaXF1ZVJlZGlyZWN0VG8oVVJMKFVSTCgpLCBob3N0TmFtZSksIFVSTChVUkwoKSwg
aG9zdE5hbWVSZWRpcmVjdGVkVG8pKTsKK30KKwogdm9pZCBXZWJSZXNvdXJjZUxvYWRTdGF0aXN0
aWNzTWFuYWdlcjo6c2V0VGltZVRvTGl2ZVVzZXJJbnRlcmFjdGlvbihkb3VibGUgc2Vjb25kcykK
IHsKICAgICBXZWJDb3JlOjpSZXNvdXJjZUxvYWRPYnNlcnZlcjo6c2hhcmVkT2JzZXJ2ZXIoKS5z
ZXRUaW1lVG9MaXZlVXNlckludGVyYWN0aW9uKHNlY29uZHMpOwpJbmRleDogU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL1dlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VyLmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NN
YW5hZ2VyLmgJKHJldmlzaW9uIDIxMjIzMCkKKysrIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9X
ZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdlci5oCSh3b3JraW5nIGNvcHkpCkBAIC00Miw2
ICs0Miw5IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgYm9vbCBpc1ByZXZhbGVudFJlc291cmNlKGNv
bnN0IFN0cmluZyYgaG9zdE5hbWUpOwogICAgIHN0YXRpYyB2b2lkIHNldEhhc0hhZFVzZXJJbnRl
cmFjdGlvbihjb25zdCBTdHJpbmcmIGhvc3ROYW1lLCBib29sIHZhbHVlKTsKICAgICBzdGF0aWMg
Ym9vbCBoYXNIYWRVc2VySW50ZXJhY3Rpb24oY29uc3QgU3RyaW5nJiBob3N0TmFtZSk7CisgICAg
c3RhdGljIHZvaWQgc2V0U3ViZnJhbWVVbmRlclRvcEZyYW1lT3JpZ2luKGNvbnN0IFN0cmluZyYg
aG9zdE5hbWUsIGNvbnN0IFN0cmluZyYgdG9wRnJhbWVIb3N0TmFtZSk7CisgICAgc3RhdGljIHZv
aWQgc2V0U3VicmVzb3VyY2VVbmRlclRvcEZyYW1lT3JpZ2luKGNvbnN0IFN0cmluZyYgaG9zdE5h
bWUsIGNvbnN0IFN0cmluZyYgdG9wRnJhbWVIb3N0TmFtZSk7CisgICAgc3RhdGljIHZvaWQgc2V0
U3VicmVzb3VyY2VVbmlxdWVSZWRpcmVjdFRvKGNvbnN0IFN0cmluZyYgaG9zdE5hbWUsIGNvbnN0
IFN0cmluZyYgaG9zdE5hbWVSZWRpcmVjdGVkVG8pOwogICAgIHN0YXRpYyB2b2lkIHNldFRpbWVU
b0xpdmVVc2VySW50ZXJhY3Rpb24oZG91YmxlIHNlY29uZHMpOwogICAgIHN0YXRpYyB2b2lkIHNl
dFJlZHVjZWRUaW1lc3RhbXBSZXNvbHV0aW9uKGRvdWJsZSBzZWNvbmRzKTsKICAgICBzdGF0aWMg
dm9pZCBmaXJlRGF0YU1vZGlmaWNhdGlvbkhhbmRsZXIoKTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9XZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmUuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3Rv
cmUuY3BwCShyZXZpc2lvbiAyMTIyMzApCisrKyBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2Vi
UmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzIsNiAr
MzIsOSBAQAogI2luY2x1ZGUgIldlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZU1lc3NhZ2Vz
LmgiCiAjaW5jbHVkZSAiV2Vic2l0ZURhdGFGZXRjaE9wdGlvbi5oIgogI2luY2x1ZGUgIldlYnNp
dGVEYXRhVHlwZS5oIgorI2lmIFVTRShDRikKKyNpbmNsdWRlIDxDb3JlRm91bmRhdGlvbi9Db3Jl
Rm91bmRhdGlvbi5oPgorI2VuZGlmCiAjaW5jbHVkZSA8V2ViQ29yZS9LZXllZENvZGluZy5oPgog
I2luY2x1ZGUgPFdlYkNvcmUvUmVzb3VyY2VMb2FkT2JzZXJ2ZXIuaD4KICNpbmNsdWRlIDxXZWJD
b3JlL1Jlc291cmNlTG9hZFN0YXRpc3RpY3MuaD4KQEAgLTQ1LDYgKzQ4LDkgQEAgdXNpbmcgbmFt
ZXNwYWNlIFdlYkNvcmU7CiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCisjaWYgUExBVEZPUk0oSU9T
KSB8fCAoUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49
IDEwMTIwMCkKK3N0YXRpYyBib29sIHVzZVNWTSA9IHRydWU7CisjZW5kaWYKIHN0YXRpYyBjb25z
dCBhdXRvIGZlYXR1cmVWZWN0b3JMZW5ndGhUaHJlc2hvbGQgPSAzOwogc3RhdGljIGF1dG8gbWlu
aW11bVRpbWVCZXR3ZWVlbkRhdGFSZWNvcmRzUmVtb3ZhbCA9IDYwOwogc3RhdGljIE9wdGlvblNl
dDxXZWJLaXQ6OldlYnNpdGVEYXRhVHlwZT4gZGF0YVR5cGVzVG9SZW1vdmU7CkBAIC01OSw4ICs2
NSwyMiBAQCBSZWY8V2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlPiBXZWJSCiBXZWJSZXNv
dXJjZUxvYWRTdGF0aXN0aWNzU3RvcmU6OldlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZShj
b25zdCBTdHJpbmcmIHJlc291cmNlTG9hZFN0YXRpc3RpY3NEaXJlY3RvcnkpCiAgICAgOiBtX3Jl
c291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZShSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmU6OmNy
ZWF0ZSgpKQogICAgICwgbV9zdGF0aXN0aWNzUXVldWUoV29ya1F1ZXVlOjpjcmVhdGUoIldlYlJl
c291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZSBQcm9jZXNzIERhdGEgUXVldWUiKSkKLSAgICAsIG1f
c3RvcmFnZVBhdGgocmVzb3VyY2VMb2FkU3RhdGlzdGljc0RpcmVjdG9yeSkKKyAgICAsIG1fc3Rh
dGlzdGljc1N0b3JhZ2VQYXRoKHJlc291cmNlTG9hZFN0YXRpc3RpY3NEaXJlY3RvcnkpCiB7Cisj
aWYgUExBVEZPUk0oSU9TKSB8fCAoUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05f
TUlOX1JFUVVJUkVEID49IDEwMTIwMCkKKyNpZiBVU0UoQ0YpCisgICAgQ0ZCdW5kbGVSZWYgd2Vi
S2l0QnVuZGxlID0gQ0ZCdW5kbGVHZXRCdW5kbGVXaXRoSWRlbnRpZmllcihDRlNUUigiY29tLmFw
cGxlLldlYktpdCIpKTsKKyAgICBDRlVSTFJlZiByZXNvdXJjZVVybCA9IENGQnVuZGxlQ29weVJl
c291cmNlc0RpcmVjdG9yeVVSTCh3ZWJLaXRCdW5kbGUpOworICAgIHJlc291cmNlVXJsID0gQ0ZV
UkxDcmVhdGVDb3B5QXBwZW5kaW5nUGF0aENvbXBvbmVudChudWxscHRyLCByZXNvdXJjZVVybCwg
Q0ZTVFIoImxpYnN2bV9tb2RlbCIpLCBmYWxzZSk7CisgICAgQ0ZFcnJvclJlZiBlcnJvciA9IG51
bGxwdHI7CisgICAgcmVzb3VyY2VVcmwgPSBDRlVSTENyZWF0ZUZpbGVQYXRoVVJMKG51bGxwdHIs
IHJlc291cmNlVXJsLCAmZXJyb3IpOworICAgIENGVVJMUGF0aFN0eWxlIHBhdGhTdHlsZSA9IGtD
RlVSTFBPU0lYUGF0aFN0eWxlOworICAgIGlmICghZXJyb3IgJiYgcmVzb3VyY2VVcmwpIHsKKyAg
ICAgICAgQ0ZTdHJpbmdSZWYgcmVzb3VyY2VVcmxTdHJpbmcgPSBDRlVSTENvcHlGaWxlU3lzdGVt
UGF0aChyZXNvdXJjZVVybCwgcGF0aFN0eWxlKTsKKyAgICAgICAgbV9zdm1Nb2RlbFN0b3JhZ2VQ
YXRoID0gU3RyaW5nKHJlc291cmNlVXJsU3RyaW5nKTsKKyAgICB9CisjZW5kaWYKKyNlbmRpZgog
fQogCiBXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmU6On5XZWJSZXNvdXJjZUxvYWRTdGF0
aXN0aWNzU3RvcmUoKQpAQCAtODMsNiArMTAzLDY5IEBAIHZvaWQgV2ViUmVzb3VyY2VMb2FkU3Rh
dGlzdGljc1N0b3JlOjpzZXQKICAgICAgICAgbWluaW11bVRpbWVCZXR3ZWVlbkRhdGFSZWNvcmRz
UmVtb3ZhbCA9IHNlY29uZHM7CiB9CiAKKyNpZiBQTEFURk9STShJT1MpIHx8IChQTEFURk9STShN
QUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxMjAwKQorYm9vbCBX
ZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmU6OnNob3VsZFVzZVN2bSgpCit7CisgICAgaWYg
KG1fc3ZtTW9kZWwpCisgICAgICAgIHJldHVybiB0cnVlOworICAgIAorICAgIGlmICghdXNlU1ZN
KQorICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgCisgICAgaWYgKG1fc3ZtTW9kZWxTdG9yYWdl
UGF0aC5pc051bGwoKSB8fCBtX3N2bU1vZGVsU3RvcmFnZVBhdGguaXNFbXB0eSgpKSB7CisgICAg
ICAgIHVzZVNWTSA9IGZhbHNlOworICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgfQorICAgIAor
ICAgIG1fc3ZtTW9kZWwgPSBzdm1fbG9hZF9tb2RlbCgobV9zdm1Nb2RlbFN0b3JhZ2VQYXRoKS51
dGY4KCkuZGF0YSgpKTsKKyAgICAKKyAgICBpZiAobV9zdm1Nb2RlbCkKKyAgICAgICAgcmV0dXJu
IHRydWU7CisKKyAgICB1c2VTVk0gPSBmYWxzZTsKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKK2Jv
b2wgV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlOjpjbGFzc2lmeVdpdGhTVk0oY29uc3Qg
dW5zaWduZWQgc3VicmVzb3VyY2VVbmRlclRvcEZyYW1lT3JpZ2luc0NvdW50LCBjb25zdCB1bnNp
Z25lZCBzdWJyZXNvdXJjZVVuaXF1ZVJlZGlyZWN0c1RvQ291bnQsIGNvbnN0IHVuc2lnbmVkIHN1
YmZyYW1lVW5kZXJUb3BGcmFtZU9yaWdpbnNDb3VudCkKK3sKKyAgICBWZWN0b3I8dW5zaWduZWQ+
IG5vblplcm9GZWF0dXJlczsKKyAgICBWZWN0b3I8dW5zaWduZWQ+IGluZGljZXM7CisgICAgCisg
ICAgaWYgKHN1YnJlc291cmNlVW5kZXJUb3BGcmFtZU9yaWdpbnNDb3VudCkgeworICAgICAgICBu
b25aZXJvRmVhdHVyZXMuYXBwZW5kKHN1YnJlc291cmNlVW5kZXJUb3BGcmFtZU9yaWdpbnNDb3Vu
dCk7CisgICAgICAgIGluZGljZXMuYXBwZW5kKDEpOworICAgIH0KKyAgICBpZiAoc3VicmVzb3Vy
Y2VVbmlxdWVSZWRpcmVjdHNUb0NvdW50KSB7CisgICAgICAgIG5vblplcm9GZWF0dXJlcy5hcHBl
bmQoc3VicmVzb3VyY2VVbmlxdWVSZWRpcmVjdHNUb0NvdW50KTsKKyAgICAgICAgaW5kaWNlcy5h
cHBlbmQoMik7CisgICAgfQorICAgIGlmIChzdWJmcmFtZVVuZGVyVG9wRnJhbWVPcmlnaW5zQ291
bnQpIHsKKyAgICAgICAgbm9uWmVyb0ZlYXR1cmVzLmFwcGVuZChzdWJmcmFtZVVuZGVyVG9wRnJh
bWVPcmlnaW5zQ291bnQpOworICAgICAgICBpbmRpY2VzLmFwcGVuZCgzKTsKKyAgICB9CisgICAg
CisgICAgc3ZtX25vZGUqIGV4YW1wbGVWZWN0b3IgPSBuZXcgc3ZtX25vZGVbbm9uWmVyb0ZlYXR1
cmVzLnNpemUoKSArIDFdOworICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgbm9uWmVyb0ZlYXR1
cmVzLnNpemUoKTsgaSsrKSB7CisgICAgICAgIGV4YW1wbGVWZWN0b3JbaV0uaW5kZXggPSBpbmRp
Y2VzLmF0KGkpOworICAgICAgICBleGFtcGxlVmVjdG9yW2ldLnZhbHVlID0gbm9uWmVyb0ZlYXR1
cmVzLmF0KGkpOworICAgIH0KKyAgICAvLyBBZGQgdGVybWluYXRpb24gbm9kZSB3aXRoIGluZGV4
IC0xLgorICAgIGV4YW1wbGVWZWN0b3Jbbm9uWmVyb0ZlYXR1cmVzLnNpemUoKV0uaW5kZXggPSAt
MTsKKyAgICBleGFtcGxlVmVjdG9yW25vblplcm9GZWF0dXJlcy5zaXplKCldLnZhbHVlID0gLTE7
CisgICAgCisgICAgaW50IGNsYXNzaWZpY2F0aW9uOworICAgIGRvdWJsZSBzY29yZTsKKyAgICBj
bGFzc2lmaWNhdGlvbiA9IHN2bV9wcmVkaWN0X3ZhbHVlcyhtX3N2bU1vZGVsLCBleGFtcGxlVmVj
dG9yLCAmc2NvcmUpOworICAgIGRlbGV0ZVtdIGV4YW1wbGVWZWN0b3I7CisgICAgcmV0dXJuIGNs
YXNzaWZpY2F0aW9uIDwgMDsKK30KKyNlbmRpZgorCitib29sIFdlYlJlc291cmNlTG9hZFN0YXRp
c3RpY3NTdG9yZTo6Y2xhc3NpZnlXaXRoVmVjdG9yVGhyZXNob2xkKGNvbnN0IHVuc2lnbmVkIGEs
IGNvbnN0IHVuc2lnbmVkIGIsIGNvbnN0IHVuc2lnbmVkIGMpCit7CisgICAgcmV0dXJuIHNxcnQo
YSAqIGEgKyBiICogYiArIGMgKiBjKSA+IGZlYXR1cmVWZWN0b3JMZW5ndGhUaHJlc2hvbGQ7Cit9
CisKIGJvb2wgV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlOjpoYXNQcmV2YWxlbnRSZXNv
dXJjZUNoYXJhY3RlcmlzdGljcyhjb25zdCBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzJiByZXNvdXJj
ZVN0YXRpc3RpYykKIHsKICAgICBhdXRvIHN1YnJlc291cmNlVW5kZXJUb3BGcmFtZU9yaWdpbnND
b3VudCA9IHJlc291cmNlU3RhdGlzdGljLnN1YnJlc291cmNlVW5kZXJUb3BGcmFtZU9yaWdpbnMu
c2l6ZSgpOwpAQCAtOTksMjQgKzE4MiwxOCBAQCBib29sIFdlYlJlc291cmNlTG9hZFN0YXRpc3Rp
Y3NTdG9yZTo6aGFzCiAgICAgICAgIHx8IHN1YmZyYW1lVW5kZXJUb3BGcmFtZU9yaWdpbnNDb3Vu
dCA+IGZlYXR1cmVWZWN0b3JMZW5ndGhUaHJlc2hvbGQpCiAgICAgICAgIHJldHVybiB0cnVlOwog
Ci0gICAgLy8gVGhlIHJlc291cmNlIGlzIGNvbnNpZGVyZWQgcHJldmFsZW50IGlmIHRoZSBmZWF0
dXJlIHZlY3RvcgotICAgIC8vIGlzIGxvbmdlciB0aGFuIHRoZSB0aHJlc2hvbGQuCi0gICAgLy8g
VmVjdG9yIGxlbmd0aCBmb3IgbiBkaW1lbnNpb25zIGlzIHNxcnQoYV4yICsgKC4uLikgKyBuXjIp
LgotICAgIGRvdWJsZSB2ZWN0b3JMZW5ndGggPSAwOwotICAgIHZlY3Rvckxlbmd0aCArPSBzdWJy
ZXNvdXJjZVVuZGVyVG9wRnJhbWVPcmlnaW5zQ291bnQgKiBzdWJyZXNvdXJjZVVuZGVyVG9wRnJh
bWVPcmlnaW5zQ291bnQ7Ci0gICAgdmVjdG9yTGVuZ3RoICs9IHN1YnJlc291cmNlVW5pcXVlUmVk
aXJlY3RzVG9Db3VudCAqIHN1YnJlc291cmNlVW5pcXVlUmVkaXJlY3RzVG9Db3VudDsKLSAgICB2
ZWN0b3JMZW5ndGggKz0gc3ViZnJhbWVVbmRlclRvcEZyYW1lT3JpZ2luc0NvdW50ICogc3ViZnJh
bWVVbmRlclRvcEZyYW1lT3JpZ2luc0NvdW50OwotCi0gICAgQVNTRVJUKHZlY3Rvckxlbmd0aCA+
IDApOworI2lmIFBMQVRGT1JNKElPUykgfHwgKFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9W
RVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDEyMDApCisgICAgaWYgKHNob3VsZFVzZVN2bSgpKQor
ICAgICAgICByZXR1cm4gY2xhc3NpZnlXaXRoU1ZNKHN1YnJlc291cmNlVW5kZXJUb3BGcmFtZU9y
aWdpbnNDb3VudCwgc3VicmVzb3VyY2VVbmlxdWVSZWRpcmVjdHNUb0NvdW50LCBzdWJmcmFtZVVu
ZGVyVG9wRnJhbWVPcmlnaW5zQ291bnQpOworI2VuZGlmCiAKLSAgICByZXR1cm4gc3FydCh2ZWN0
b3JMZW5ndGgpID4gZmVhdHVyZVZlY3Rvckxlbmd0aFRocmVzaG9sZDsKKyAgICByZXR1cm4gY2xh
c3NpZnlXaXRoVmVjdG9yVGhyZXNob2xkKHN1YnJlc291cmNlVW5kZXJUb3BGcmFtZU9yaWdpbnND
b3VudCwgc3VicmVzb3VyY2VVbmlxdWVSZWRpcmVjdHNUb0NvdW50LCBzdWJmcmFtZVVuZGVyVG9w
RnJhbWVPcmlnaW5zQ291bnQpOwogfQogICAgIAogdm9pZCBXZWJSZXNvdXJjZUxvYWRTdGF0aXN0
aWNzU3RvcmU6OmNsYXNzaWZ5UmVzb3VyY2UoUmVzb3VyY2VMb2FkU3RhdGlzdGljcyYgcmVzb3Vy
Y2VTdGF0aXN0aWMpCiB7Ci0gICAgaWYgKCFyZXNvdXJjZVN0YXRpc3RpYy5pc1ByZXZhbGVudFJl
c291cmNlICYmIGhhc1ByZXZhbGVudFJlc291cmNlQ2hhcmFjdGVyaXN0aWNzKHJlc291cmNlU3Rh
dGlzdGljKSkgeworICAgIGlmICghcmVzb3VyY2VTdGF0aXN0aWMuaXNQcmV2YWxlbnRSZXNvdXJj
ZSAmJiBoYXNQcmV2YWxlbnRSZXNvdXJjZUNoYXJhY3RlcmlzdGljcyhyZXNvdXJjZVN0YXRpc3Rp
YykpCiAgICAgICAgIHJlc291cmNlU3RhdGlzdGljLmlzUHJldmFsZW50UmVzb3VyY2UgPSB0cnVl
OwotICAgIH0KIH0KIAogdm9pZCBXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmU6OnJlbW92
ZURhdGFSZWNvcmRzKCkKQEAgLTI0OCwxMSArMzI1LDExIEBAIHZvaWQgV2ViUmVzb3VyY2VMb2Fk
U3RhdGlzdGljc1N0b3JlOjphcHAKIAogU3RyaW5nIFdlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NT
dG9yZTo6cGVyc2lzdGVudFN0b3JhZ2VQYXRoKGNvbnN0IFN0cmluZyYgbGFiZWwpIGNvbnN0CiB7
Ci0gICAgaWYgKG1fc3RvcmFnZVBhdGguaXNFbXB0eSgpKQorICAgIGlmIChtX3N0YXRpc3RpY3NT
dG9yYWdlUGF0aC5pc0VtcHR5KCkpCiAgICAgICAgIHJldHVybiBlbXB0eVN0cmluZygpOwogCiAg
ICAgLy8gVE9ETyBEZWNpZGUgd2hhdCB0byBjYWxsIHRoaXMgZmlsZQotICAgIHJldHVybiBwYXRo
QnlBcHBlbmRpbmdDb21wb25lbnQobV9zdG9yYWdlUGF0aCwgbGFiZWwgKyAiX3Jlc291cmNlTG9n
LnBsaXN0Iik7CisgICAgcmV0dXJuIHBhdGhCeUFwcGVuZGluZ0NvbXBvbmVudChtX3N0YXRpc3Rp
Y3NTdG9yYWdlUGF0aCwgbGFiZWwgKyAiX3Jlc291cmNlTG9nLnBsaXN0Iik7CiB9CiAKIHZvaWQg
V2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlOjp3cml0ZUVuY29kZXJUb0Rpc2soS2V5ZWRF
bmNvZGVyJiBlbmNvZGVyLCBjb25zdCBTdHJpbmcmIGxhYmVsKSBjb25zdApAQCAtMjY1LDggKzM0
Miw4IEBAIHZvaWQgV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlOjp3cmkKICAgICBpZiAo
cmVzb3VyY2VMb2cuaXNFbXB0eSgpKQogICAgICAgICByZXR1cm47CiAKLSAgICBpZiAoIW1fc3Rv
cmFnZVBhdGguaXNFbXB0eSgpKQotICAgICAgICBtYWtlQWxsRGlyZWN0b3JpZXMobV9zdG9yYWdl
UGF0aCk7CisgICAgaWYgKCFtX3N0YXRpc3RpY3NTdG9yYWdlUGF0aC5pc0VtcHR5KCkpCisgICAg
ICAgIG1ha2VBbGxEaXJlY3RvcmllcyhtX3N0YXRpc3RpY3NTdG9yYWdlUGF0aCk7CiAKICAgICBh
dXRvIGhhbmRsZSA9IG9wZW5GaWxlKHJlc291cmNlTG9nLCBPcGVuRm9yV3JpdGUpOwogICAgIGlm
ICghaGFuZGxlKQpJbmRleDogU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlJlc291cmNlTG9h
ZFN0YXRpc3RpY3NTdG9yZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9XZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmUuaAkocmV2aXNpb24gMjEyMjMwKQorKysg
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZS5o
CSh3b3JraW5nIGNvcHkpCkBAIC0yOSw2ICsyOSw5IEBACiAjaW5jbHVkZSAiQVBJT2JqZWN0Lmgi
CiAjaW5jbHVkZSAiQ29ubmVjdGlvbi5oIgogI2luY2x1ZGUgIldlYnNpdGVEYXRhUmVjb3JkLmgi
CisjaWYgUExBVEZPUk0oSU9TKSB8fCAoUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJ
T05fTUlOX1JFUVVJUkVEID49IDEwMTIwMCkKKyNpbmNsdWRlIDxDb3JlUHJlZGljdGlvbi9zdm0u
aD4KKyNlbmRpZgogI2luY2x1ZGUgPFdlYkNvcmUvUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3Jl
Lmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmlu
Zy5oPgpAQCAtNzcsNiArODAsMTUgQEAgcHJpdmF0ZToKICAgICB2b2lkIHByb2Nlc3NTdGF0aXN0
aWNzQW5kRGF0YVJlY29yZHMoKTsKIAogICAgIGJvb2wgaGFzUHJldmFsZW50UmVzb3VyY2VDaGFy
YWN0ZXJpc3RpY3MoY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VMb2FkU3RhdGlzdGljcyYpOworCisj
aWYgUExBVEZPUk0oSU9TKSB8fCAoUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05f
TUlOX1JFUVVJUkVEID49IDEwMTIwMCkKKyAgICBib29sIHNob3VsZFVzZVN2bSgpOworICAgIGJv
b2wgY2xhc3NpZnlXaXRoU1ZNKGNvbnN0IHVuc2lnbmVkLCBjb25zdCB1bnNpZ25lZCwgY29uc3Qg
dW5zaWduZWQpOworICAgIFN0cmluZyBtX3N2bU1vZGVsU3RvcmFnZVBhdGg7CisgICAgc3RydWN0
IHN2bV9tb2RlbCogbV9zdm1Nb2RlbDsKKyNlbmRpZgorICAgIAorICAgIGJvb2wgY2xhc3NpZnlX
aXRoVmVjdG9yVGhyZXNob2xkKGNvbnN0IHVuc2lnbmVkLCBjb25zdCB1bnNpZ25lZCwgY29uc3Qg
dW5zaWduZWQpOwogICAgIHZvaWQgY2xhc3NpZnlSZXNvdXJjZShXZWJDb3JlOjpSZXNvdXJjZUxv
YWRTdGF0aXN0aWNzJik7CiAgICAgdm9pZCByZW1vdmVEYXRhUmVjb3JkcygpOwogCkBAIC05MCw3
ICsxMDIsNyBAQCBwcml2YXRlOgogCiAgICAgUmVmPFdlYkNvcmU6OlJlc291cmNlTG9hZFN0YXRp
c3RpY3NTdG9yZT4gbV9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmU7CiAgICAgUmVmPFdURjo6
V29ya1F1ZXVlPiBtX3N0YXRpc3RpY3NRdWV1ZTsKLSAgICBTdHJpbmcgbV9zdG9yYWdlUGF0aDsK
KyAgICBTdHJpbmcgbV9zdGF0aXN0aWNzU3RvcmFnZVBhdGg7CiAgICAgYm9vbCBtX3Jlc291cmNl
TG9hZFN0YXRpc3RpY3NFbmFibGVkIHsgZmFsc2UgfTsKIAogICAgIGRvdWJsZSBtX2xhc3RUaW1l
RGF0YVJlY29yZHNXZXJlUmVtb3ZlZCB7IDAgfTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9BUEkvQy9XS1Jlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VyLmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tSZXNvdXJjZUxvYWRTdGF0aXN0
aWNzTWFuYWdlci5jcHAJKHJldmlzaW9uIDIxMjIzMCkKKysrIFNvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9BUEkvQy9XS1Jlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VyLmNwcAkod29ya2luZyBj
b3B5KQpAQCAtNTYsNiArNTYsMjEgQEAgYm9vbCBXS1Jlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5h
Z2VySXNIYQogICAgIHJldHVybiBXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdlcjo6aGFz
SGFkVXNlckludGVyYWN0aW9uKHRvV1RGU3RyaW5nKGhvc3ROYW1lKSk7CiB9CiAKK3ZvaWQgV0tS
ZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdlclNldFN1YmZyYW1lVW5kZXJUb3BGcmFtZU9yaWdp
bihXS1N0cmluZ1JlZiBob3N0TmFtZSwgV0tTdHJpbmdSZWYgdG9wRnJhbWVIb3N0TmFtZSkKK3sK
KyAgICBXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdlcjo6c2V0U3ViZnJhbWVVbmRlclRv
cEZyYW1lT3JpZ2luKHRvV1RGU3RyaW5nKGhvc3ROYW1lKSwgdG9XVEZTdHJpbmcodG9wRnJhbWVI
b3N0TmFtZSkpOworfQorCit2b2lkIFdLUmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFnZXJTZXRT
dWJyZXNvdXJjZVVuZGVyVG9wRnJhbWVPcmlnaW4oV0tTdHJpbmdSZWYgaG9zdE5hbWUsIFdLU3Ry
aW5nUmVmIHRvcEZyYW1lSG9zdE5hbWUpCit7CisgICAgV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGlj
c01hbmFnZXI6OnNldFN1YnJlc291cmNlVW5kZXJUb3BGcmFtZU9yaWdpbih0b1dURlN0cmluZyho
b3N0TmFtZSksIHRvV1RGU3RyaW5nKHRvcEZyYW1lSG9zdE5hbWUpKTsKK30KKwordm9pZCBXS1Jl
c291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VyU2V0U3VicmVzb3VyY2VVbmlxdWVSZWRpcmVjdFRv
KFdLU3RyaW5nUmVmIGhvc3ROYW1lLCBXS1N0cmluZ1JlZiBob3N0TmFtZVJlZGlyZWN0ZWRUbykK
K3sKKyAgICBXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdlcjo6c2V0U3VicmVzb3VyY2VV
bmlxdWVSZWRpcmVjdFRvKHRvV1RGU3RyaW5nKGhvc3ROYW1lKSwgdG9XVEZTdHJpbmcoaG9zdE5h
bWVSZWRpcmVjdGVkVG8pKTsKK30KKwogdm9pZCBXS1Jlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5h
Z2VyU2V0VGltZVRvTGl2ZVVzZXJJbnRlcmFjdGlvbihkb3VibGUgc2Vjb25kcykKIHsKICAgICBX
ZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdlcjo6c2V0VGltZVRvTGl2ZVVzZXJJbnRlcmFj
dGlvbihzZWNvbmRzKTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1Jl
c291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VyLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0FQSS9DL1dLUmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFnZXIuaAkocmV2
aXNpb24gMjEyMjMwKQorKysgU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUmVzb3Vy
Y2VMb2FkU3RhdGlzdGljc01hbmFnZXIuaAkod29ya2luZyBjb3B5KQpAQCAtMzgsNiArMzgsOSBA
QCBleHRlcm4gIkMiIHsKICAgICBXS19FWFBPUlQgYm9vbCBXS1Jlc291cmNlTG9hZFN0YXRpc3Rp
Y3NNYW5hZ2VySXNQcmV2YWxlbnRSZXNvdXJjZShXS1N0cmluZ1JlZiBob3N0TmFtZSk7CiAgICAg
V0tfRVhQT1JUIHZvaWQgV0tSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdlclNldEhhc0hhZFVz
ZXJJbnRlcmFjdGlvbihXS1N0cmluZ1JlZiBob3N0TmFtZSwgYm9vbCB2YWx1ZSk7CiAgICAgV0tf
RVhQT1JUIGJvb2wgV0tSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdlcklzSGFzSGFkVXNlcklu
dGVyYWN0aW9uKFdLU3RyaW5nUmVmIGhvc3ROYW1lKTsKKyAgICBXS19FWFBPUlQgdm9pZCBXS1Jl
c291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VyU2V0U3ViZnJhbWVVbmRlclRvcEZyYW1lT3JpZ2lu
KFdLU3RyaW5nUmVmIGhvc3ROYW1lLCBXS1N0cmluZ1JlZiB0b3BGcmFtZUhvc3ROYW1lKTsKKyAg
ICBXS19FWFBPUlQgdm9pZCBXS1Jlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VyU2V0U3VicmVz
b3VyY2VVbmRlclRvcEZyYW1lT3JpZ2luKFdLU3RyaW5nUmVmIGhvc3ROYW1lLCBXS1N0cmluZ1Jl
ZiB0b3BGcmFtZUhvc3ROYW1lKTsKKyAgICBXS19FWFBPUlQgdm9pZCBXS1Jlc291cmNlTG9hZFN0
YXRpc3RpY3NNYW5hZ2VyU2V0U3VicmVzb3VyY2VVbmlxdWVSZWRpcmVjdFRvKFdLU3RyaW5nUmVm
IGhvc3ROYW1lLCBXS1N0cmluZ1JlZiBob3N0TmFtZVJlZGlyZWN0ZWRUbyk7CiAgICAgV0tfRVhQ
T1JUIHZvaWQgV0tSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdlclNldFRpbWVUb0xpdmVVc2Vy
SW50ZXJhY3Rpb24oZG91YmxlIHNlY29uZHMpOwogICAgIFdLX0VYUE9SVCB2b2lkIFdLUmVzb3Vy
Y2VMb2FkU3RhdGlzdGljc01hbmFnZXJTZXRSZWR1Y2VkVGltZXN0YW1wUmVzb2x1dGlvbihkb3Vi
bGUgc2Vjb25kcyk7CiAgICAgV0tfRVhQT1JUIHZvaWQgV0tSZXNvdXJjZUxvYWRTdGF0aXN0aWNz
TWFuYWdlckZpcmVEYXRhTW9kaWZpY2F0aW9uSGFuZGxlcigpOwpJbmRleDogU291cmNlL1dlYktp
dDIvV2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJLaXQyL1dlYktpdDIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkocmV2aXNpb24gMjEy
MjMwKQorKysgU291cmNlL1dlYktpdDIvV2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
CSh3b3JraW5nIGNvcHkpCkBAIC0xMTUwLDYgKzExNTAsNyBAQAogCQk2QkU5Njk5RTFFNDNCNDFE
MDA4Qjc0ODMgLyogV0tSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdlci5jcHAgaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA2QkU5Njk5RDFFNDNCNDFEMDA4
Qjc0ODMgLyogV0tSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdlci5jcHAgKi87IH07CiAJCTZC
RTk2OUEwMUU0M0I4NkUwMDhCNzQ4MyAvKiBXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdl
ci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNkJFOTY5
OUYxRTQzQjg2RTAwOEI3NDgzIC8qIFdlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VyLmgg
Ki87IH07CiAJCTZCRTk2OUEyMUU0M0I4QTQwMDhCNzQ4MyAvKiBXZWJSZXNvdXJjZUxvYWRTdGF0
aXN0aWNzTWFuYWdlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA2QkU5NjlBMTFFNDNCOEE0MDA4Qjc0ODMgLyogV2ViUmVzb3VyY2VMb2FkU3RhdGlz
dGljc01hbmFnZXIuY3BwICovOyB9OworCQk2QkU5NjlCMjFFNTJDMzMyMDA4Qjc0ODMgLyogbGli
c3ZtX21vZGVsIGluIFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA2QkU5NjlCMTFFNTJDMzMyMDA4Qjc0ODMgLyogbGlic3ZtX21vZGVsICovOyB9OwogCQk2RUU4
NDlDODEzNjhEOTM5MDAzOEQ0ODEgLyogV0tJbnNwZWN0b3JQcml2YXRlTWFjLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA2RUU4NDlDNjEzNjhEOTJEMDAz
OEQ0ODEgLyogV0tJbnNwZWN0b3JQcml2YXRlTWFjLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVU
RVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNzI4RTg2RjExNzk1MTg4QzAwODc4NzlFIC8qIFdl
YkNvbG9yUGlja2VyTWFjLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA3MjhFODZFRjE3OTUxODhDMDA4Nzg3OUUgLyogV2ViQ29sb3JQaWNrZXJNYWMuaCAq
LzsgfTsKIAkJNzI4RTg2RjIxNzk1MTg4QzAwODc4NzlFIC8qIFdlYkNvbG9yUGlja2VyTWFjLm1t
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNzI4RTg2RjAx
Nzk1MTg4QzAwODc4NzlFIC8qIFdlYkNvbG9yUGlja2VyTWFjLm1tICovOyB9OwpAQCAtMzMzNyw2
ICszMzM4LDcgQEAKIAkJNkJFOTY5OUQxRTQzQjQxRDAwOEI3NDgzIC8qIFdLUmVzb3VyY2VMb2Fk
U3RhdGlzdGljc01hbmFnZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRo
ID0gV0tSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCTZCRTk2OTlGMUU0M0I4NkUwMDhCNzQ4MyAvKiBXZWJSZXNvdXJjZUxvYWRT
dGF0aXN0aWNzTWFuYWdlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJS
ZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQk2QkU5NjlBMTFFNDNCOEE0MDA4Qjc0ODMgLyogV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGlj
c01hbmFnZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV2ViUmVz
b3VyY2VMb2FkU3RhdGlzdGljc01hbmFnZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OworCQk2QkU5NjlCMTFFNTJDMzMyMDA4Qjc0ODMgLyogbGlic3ZtX21vZGVsICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
dGV4dDsgcGF0aCA9IGxpYnN2bV9tb2RlbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
NkQ4QTkxQTUxMUYwRUZEMTAwREQwMUZFIC8qIGNvbS5hcHBsZS5XZWJQcm9jZXNzLnNiLmluICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gdGV4dDsgbmFtZSA9IGNvbS5hcHBsZS5XZWJQcm9jZXNzLnNiLmluOyBwYXRoID0g
V2ViUHJvY2Vzcy9jb20uYXBwbGUuV2ViUHJvY2Vzcy5zYi5pbjsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJNkVFODQ5QzYxMzY4RDkyRDAwMzhENDgxIC8qIFdLSW5zcGVjdG9yUHJpdmF0
ZU1hYy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBXS0luc3BlY3RvclByaXZh
dGVNYWMuaDsgcGF0aCA9IG1hYy9XS0luc3BlY3RvclByaXZhdGVNYWMuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJNzI4RTg2RUYxNzk1MTg4QzAwODc4NzlFIC8qIFdlYkNvbG9yUGlj
a2VyTWFjLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYkNvbG9yUGlja2Vy
TWFjLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC00MzQ4LDYgKzQzNTAsNyBAQAog
CQkwODlDMTY2NUZFODQxMTU4QzAyQUFDMDcgLyogUmVzb3VyY2VzICovID0gewogCQkJaXNhID0g
UEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9ICgKKwkJCQk2QkU5NjlCMDFFNTJDMkU3MDA4Qjc0ODMg
LyogUmVzb3VyY2VMb2FkU3RhdGlzdGljcyAqLywKIAkJCQkzN0Y4Qzk0RjFBRTIyQkQ4MDA3REFC
OUUgLyogbWFjICovLAogCQkJCTdDQjE2RkUxMTcyNEI5QjUwMDdBMEE5NSAvKiBQbHVnSW5TYW5k
Ym94UHJvZmlsZXMgKi8sCiAJCQkJQTc4Q0NERDUxOTNBQzlFMzAwNUVDQzI1IC8qIFNhbmRib3hQ
cm9maWxlcyAqLywKQEAgLTYxMDAsNiArNjEwMywxNCBAQAogCQkJbmFtZSA9IENvY29hOwogCQkJ
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKIAkJfTsKKwkJNkJFOTY5QjAxRTUyQzJFNzAwOEI3NDgz
IC8qIFJlc291cmNlTG9hZFN0YXRpc3RpY3MgKi8gPSB7CisJCQlpc2EgPSBQQlhHcm91cDsKKwkJ
CWNoaWxkcmVuID0gKAorCQkJCTZCRTk2OUIxMUU1MkMzMzIwMDhCNzQ4MyAvKiBsaWJzdm1fbW9k
ZWwgKi8sCisJCQkpOworCQkJbmFtZSA9IFJlc291cmNlTG9hZFN0YXRpc3RpY3M7CisJCQlzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOworCQl9OwogCQk2RUU4NDlDNDEzNjhEOTA0MDAzOEQ0ODEgLyog
bWFjICovID0gewogCQkJaXNhID0gUEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9ICgKQEAgLTkwMzQs
NiArOTA0NSw3IEBACiAJCQkJN0E1RTM5NEExRDVCRDhCRTAwQjRCN0NFIC8qIGNvbS5tYWNyb21l
ZGlhLkZsYXNoIFBsYXllciBFU1IucGx1Z2luLnNiIGluIFJlc291cmNlcyAqLywKIAkJCQk4REMy
RUY1MzA0ODZBNjk0MDA5OEIyMTYgLyogSW5mb1BsaXN0LnN0cmluZ3MgaW4gUmVzb3VyY2VzICov
LAogCQkJCTkzQTJBMzQ2MUQyNDYxMjUwMDJCNTlEMyAvKiBtZWRpYUljb24ucGRmIGluIFJlc291
cmNlcyAqLywKKwkJCQk2QkU5NjlCMjFFNTJDMzMyMDA4Qjc0ODMgLyogbGlic3ZtX21vZGVsIGlu
IFJlc291cmNlcyAqLywKIAkJCSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNz
aW5nID0gMDsKIAkJfTsKQEAgLTk5OTIsNyArMTAwMDQsNyBAQAogCQkJCTM3NjA4ODFFMTUwNDEz
RTkwMEZDODJDNyAvKiBXZWJSZW5kZXJPYmplY3QuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNTEw
QUZGQjkxNjU0MjA0ODAwMUJBMDVFIC8qIFdlYlJlc291cmNlTG9hZGVyLmNwcCBpbiBTb3VyY2Vz
ICovLAogCQkJCTUxRjA2MEUxMTY1NDMxODUwMEYzMjgxQiAvKiBXZWJSZXNvdXJjZUxvYWRlck1l
c3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLywKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgNkJFOTY5QTIxRTQzQjhBNDAwOEI3NDgzIC8qIFdlYlJlc291cmNlTG9hZFN0YXRp
c3RpY3NNYW5hZ2VyLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTZCRTk2OUEyMUU0M0I4QTQwMDhC
NzQ4MyAvKiBXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdlci5jcHAgaW4gU291cmNlcyAq
LywKIAkJCQk1MUYwNjBFMTE2NTQzMTg1MDBGMzI4MUMgLyogV2ViUlRDU29ja2V0TWVzc2FnZVJl
Y2VpdmVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTUxRjA2MEUxMTY1NDMxODUwMEYzMjgyQyAv
KiBXZWJSVENSZXNvbHZlck1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk1
MUYwNjBFMTE2NTQzMTg1MDBGMzI4MUQgLyogTmV0d29ya1JUQ1NvY2tldE1lc3NhZ2VSZWNlaXZl
ci5jcHAgaW4gU291cmNlcyAqLywKQEAgLTEwMTgzLDcgKzEwMTk1LDcgQEAKIAkJCQkzNzk0ODQw
ODE1MEM0Qjk3MDBFNTJDRTkgLyogV0tSZW5kZXJMYXllci5jcHAgaW4gU291cmNlcyAqLywKIAkJ
CQkzNzYwODgyMjE1MDQxNEY3MDBGQzgyQzcgLyogV0tSZW5kZXJPYmplY3QuY3BwIGluIFNvdXJj
ZXMgKi8sCiAJCQkJMzMzNjc2M0ExMzBDOTlEQzAwNkM5REUyIC8qIFdLUmVzb3VyY2VDYWNoZU1h
bmFnZXIuY3BwIGluIFNvdXJjZXMgKi8sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IDZCRTk2OTlFMUU0M0I0MUQwMDhCNzQ4MyAvKiBXS1Jlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5h
Z2VyLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTZCRTk2OTlFMUU0M0I0MUQwMDhCNzQ4MyAvKiBX
S1Jlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTFB
N0UzNzc4MThFNEE0RkUwMDNEMEZGRiAvKiBXS1NjcmlwdE1lc3NhZ2UubW0gaW4gU291cmNlcyAq
LywKIAkJCQkwRkNCNEU1NTE4QkJFMDQ0MDAwRkNGQzkgLyogV0tTY3JvbGxWaWV3Lm1tIGluIFNv
dXJjZXMgKi8sCiAJCQkJNTFDRDFDNjYxQjM0QjlEQzAwMTQyQ0E1IC8qIFdLU2VjdXJpdHlPcmln
aW4ubW0gaW4gU291cmNlcyAqLywKSW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBUb29scy9DaGFuZ2VMb2cJKHJldmlzaW9uIDIxMjMzOSkKKysrIFRvb2xzL0NoYW5nZUxvZwko
d29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDMwIEBACisyMDE3LTAyLTE0ICBKb2huIFdpbGFuZGVy
ICA8d2lsYW5kZXJAYXBwbGUuY29tPgorCisgICAgICAgIFJlc291cmNlIExvYWQgU3RhdGlzdGlj
czogQWRkIGFsdGVybmF0ZSBjbGFzc2lmaWNhdGlvbiBtZXRob2QKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2ODM0NworICAgICAgICA8cmRhcjovL3By
b2JsZW0vMzAzNTI3OTM+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgQWRkZWQgdGhyZWUgdGVzdFJ1bm5lciBmdW5jdGlvbnMgdG8gZmFjaWxpdGF0ZSBs
YXlvdXQgdGVzdHM6CisgICAgICAgIC0gc2V0U3RhdGlzdGljc1N1YmZyYW1lVW5kZXJUb3BGcmFt
ZU9yaWdpbigpCisgICAgICAgIC0gc2V0U3RhdGlzdGljc1N1YnJlc291cmNlVW5kZXJUb3BGcmFt
ZU9yaWdpbigpCisgICAgICAgIC0gc2V0U3RhdGlzdGljc1N1YnJlc291cmNlVW5pcXVlUmVkaXJl
Y3RUbygpCisKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0JpbmRp
bmdzL1Rlc3RSdW5uZXIuaWRsOgorICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRC
dW5kbGUvVGVzdFJ1bm5lci5jcHA6CisgICAgICAgIChXVFI6OlRlc3RSdW5uZXI6OnNldFN0YXRp
c3RpY3NTdWJmcmFtZVVuZGVyVG9wRnJhbWVPcmlnaW4pOgorICAgICAgICAoV1RSOjpUZXN0UnVu
bmVyOjpzZXRTdGF0aXN0aWNzU3VicmVzb3VyY2VVbmRlclRvcEZyYW1lT3JpZ2luKToKKyAgICAg
ICAgKFdUUjo6VGVzdFJ1bm5lcjo6c2V0U3RhdGlzdGljc1N1YnJlc291cmNlVW5pcXVlUmVkaXJl
Y3RUbyk6CisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9UZXN0UnVu
bmVyLmg6CisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5jcHA6Cisg
ICAgICAgIChXVFI6OlRlc3RDb250cm9sbGVyOjpzZXRTdGF0aXN0aWNzU3ViZnJhbWVVbmRlclRv
cEZyYW1lT3JpZ2luKToKKyAgICAgICAgKFdUUjo6VGVzdENvbnRyb2xsZXI6OnNldFN0YXRpc3Rp
Y3NTdWJyZXNvdXJjZVVuZGVyVG9wRnJhbWVPcmlnaW4pOgorICAgICAgICAoV1RSOjpUZXN0Q29u
dHJvbGxlcjo6c2V0U3RhdGlzdGljc1N1YnJlc291cmNlVW5pcXVlUmVkaXJlY3RUbyk6CisgICAg
ICAgICogV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5oOgorICAgICAgICAqIFdlYktp
dFRlc3RSdW5uZXIvVGVzdEludm9jYXRpb24uY3BwOgorICAgICAgICAoV1RSOjpUZXN0SW52b2Nh
dGlvbjo6ZGlkUmVjZWl2ZVN5bmNocm9ub3VzTWVzc2FnZUZyb21JbmplY3RlZEJ1bmRsZSk6CisK
IDIwMTctMDItMTQgIEphc29uIFJpbm4gIDxqcmlubkBhcHBsZS5jb20+CiAKICAgICAgICAgQWRk
IGEgdGVzdCBmb3IgbmV3IFdlYktpdCBDb2NvYSBBUEksIF9nZXRDb250ZW50c0FzU3RyaW5nLgpJ
bmRleDogVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5jcHAJKHJldmlzaW9u
IDIxMjIzMCkKKysrIFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC0yMjI4LDYgKzIyMjgsMjEgQEAgYm9vbCBUZXN0Q29udHJvbGxlcjo6
aXNTdGF0aXN0aWNzSGFzSGFkVQogICAgIHJldHVybiBXS1Jlc291cmNlTG9hZFN0YXRpc3RpY3NN
YW5hZ2VySXNIYXNIYWRVc2VySW50ZXJhY3Rpb24oaG9zdE5hbWUpOwogfQogCit2b2lkIFRlc3RD
b250cm9sbGVyOjpzZXRTdGF0aXN0aWNzU3ViZnJhbWVVbmRlclRvcEZyYW1lT3JpZ2luKFdLU3Ry
aW5nUmVmIGhvc3ROYW1lLCBXS1N0cmluZ1JlZiB0b3BGcmFtZUhvc3ROYW1lKQoreworICAgIFdL
UmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFnZXJTZXRTdWJmcmFtZVVuZGVyVG9wRnJhbWVPcmln
aW4oaG9zdE5hbWUsIHRvcEZyYW1lSG9zdE5hbWUpOworfQorCit2b2lkIFRlc3RDb250cm9sbGVy
OjpzZXRTdGF0aXN0aWNzU3VicmVzb3VyY2VVbmRlclRvcEZyYW1lT3JpZ2luKFdLU3RyaW5nUmVm
IGhvc3ROYW1lLCBXS1N0cmluZ1JlZiB0b3BGcmFtZUhvc3ROYW1lKQoreworICAgIFdLUmVzb3Vy
Y2VMb2FkU3RhdGlzdGljc01hbmFnZXJTZXRTdWJyZXNvdXJjZVVuZGVyVG9wRnJhbWVPcmlnaW4o
aG9zdE5hbWUsIHRvcEZyYW1lSG9zdE5hbWUpOworfQorICAgIAordm9pZCBUZXN0Q29udHJvbGxl
cjo6c2V0U3RhdGlzdGljc1N1YnJlc291cmNlVW5pcXVlUmVkaXJlY3RUbyhXS1N0cmluZ1JlZiBo
b3N0TmFtZSwgV0tTdHJpbmdSZWYgaG9zdE5hbWVSZWRpcmVjdGVkVG8pCit7CisgICAgV0tSZXNv
dXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdlclNldFN1YnJlc291cmNlVW5pcXVlUmVkaXJlY3RUbyho
b3N0TmFtZSwgaG9zdE5hbWVSZWRpcmVjdGVkVG8pOworfQorCiB2b2lkIFRlc3RDb250cm9sbGVy
OjpzZXRTdGF0aXN0aWNzVGltZVRvTGl2ZVVzZXJJbnRlcmFjdGlvbihkb3VibGUgc2Vjb25kcykK
IHsKICAgICBXS1Jlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VyU2V0VGltZVRvTGl2ZVVzZXJJ
bnRlcmFjdGlvbihzZWNvbmRzKTsKSW5kZXg6IFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdENv
bnRyb2xsZXIuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250
cm9sbGVyLmgJKHJldmlzaW9uIDIxMjIzMCkKKysrIFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVz
dENvbnRyb2xsZXIuaAkod29ya2luZyBjb3B5KQpAQCAtMTUyLDYgKzE1Miw5IEBAIHB1YmxpYzoK
ICAgICBib29sIGlzU3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNlKFdLU3RyaW5nUmVmIGhvc3RO
YW1lKTsKICAgICB2b2lkIHNldFN0YXRpc3RpY3NIYXNIYWRVc2VySW50ZXJhY3Rpb24oV0tTdHJp
bmdSZWYgaG9zdE5hbWUsIGJvb2wgdmFsdWUpOwogICAgIGJvb2wgaXNTdGF0aXN0aWNzSGFzSGFk
VXNlckludGVyYWN0aW9uKFdLU3RyaW5nUmVmIGhvc3ROYW1lKTsKKyAgICB2b2lkIHNldFN0YXRp
c3RpY3NTdWJmcmFtZVVuZGVyVG9wRnJhbWVPcmlnaW4oV0tTdHJpbmdSZWYgaG9zdE5hbWUsIFdL
U3RyaW5nUmVmIHRvcEZyYW1lSG9zdE5hbWUpOworICAgIHZvaWQgc2V0U3RhdGlzdGljc1N1YnJl
c291cmNlVW5kZXJUb3BGcmFtZU9yaWdpbihXS1N0cmluZ1JlZiBob3N0TmFtZSwgV0tTdHJpbmdS
ZWYgdG9wRnJhbWVIb3N0TmFtZSk7CisgICAgdm9pZCBzZXRTdGF0aXN0aWNzU3VicmVzb3VyY2VV
bmlxdWVSZWRpcmVjdFRvKFdLU3RyaW5nUmVmIGhvc3ROYW1lLCBXS1N0cmluZ1JlZiBob3N0TmFt
ZVJlZGlyZWN0ZWRUbyk7CiAgICAgdm9pZCBzZXRTdGF0aXN0aWNzVGltZVRvTGl2ZVVzZXJJbnRl
cmFjdGlvbihkb3VibGUgc2Vjb25kcyk7CiAgICAgdm9pZCBzdGF0aXN0aWNzRmlyZURhdGFNb2Rp
ZmljYXRpb25IYW5kbGVyKCk7CiAgICAgdm9pZCBzZXRTdGF0aXN0aWNzTm90aWZ5UGFnZXNXaGVu
RGF0YVJlY29yZHNXZXJlU2Nhbm5lZChib29sKTsKSW5kZXg6IFRvb2xzL1dlYktpdFRlc3RSdW5u
ZXIvVGVzdEludm9jYXRpb24uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1dlYktpdFRlc3RSdW5u
ZXIvVGVzdEludm9jYXRpb24uY3BwCShyZXZpc2lvbiAyMTIyMzApCisrKyBUb29scy9XZWJLaXRU
ZXN0UnVubmVyL1Rlc3RJbnZvY2F0aW9uLmNwcAkod29ya2luZyBjb3B5KQpAQCAtOTMyLDYgKzkz
Miw0OCBAQCBXS1JldGFpblB0cjxXS1R5cGVSZWY+IFRlc3RJbnZvY2F0aW9uOjpkCiAgICAgICAg
IHJldHVybiByZXN1bHQ7CiAgICAgfQogICAgIAorICAgIGlmIChXS1N0cmluZ0lzRXF1YWxUb1VU
RjhDU3RyaW5nKG1lc3NhZ2VOYW1lLCAiU2V0U3RhdGlzdGljc1N1YmZyYW1lVW5kZXJUb3BGcmFt
ZU9yaWdpbiIpKSB7CisgICAgICAgIEFTU0VSVChXS0dldFR5cGVJRChtZXNzYWdlQm9keSkgPT0g
V0tEaWN0aW9uYXJ5R2V0VHlwZUlEKCkpOworICAgICAgICAKKyAgICAgICAgV0tEaWN0aW9uYXJ5
UmVmIG1lc3NhZ2VCb2R5RGljdGlvbmFyeSA9IHN0YXRpY19jYXN0PFdLRGljdGlvbmFyeVJlZj4o
bWVzc2FnZUJvZHkpOworICAgICAgICBXS1JldGFpblB0cjxXS1N0cmluZ1JlZj4gaG9zdE5hbWVL
ZXkoQWRvcHRXSywgV0tTdHJpbmdDcmVhdGVXaXRoVVRGOENTdHJpbmcoIkhvc3ROYW1lIikpOwor
ICAgICAgICBXS1JldGFpblB0cjxXS1N0cmluZ1JlZj4gdG9wRnJhbWVIb3N0TmFtZUtleShBZG9w
dFdLLCBXS1N0cmluZ0NyZWF0ZVdpdGhVVEY4Q1N0cmluZygiVG9wRnJhbWVIb3N0TmFtZSIpKTsK
KyAgICAgICAgCisgICAgICAgIFdLU3RyaW5nUmVmIGhvc3ROYW1lID0gc3RhdGljX2Nhc3Q8V0tT
dHJpbmdSZWY+KFdLRGljdGlvbmFyeUdldEl0ZW1Gb3JLZXkobWVzc2FnZUJvZHlEaWN0aW9uYXJ5
LCBob3N0TmFtZUtleS5nZXQoKSkpOworICAgICAgICBXS1N0cmluZ1JlZiB0b3BGcmFtZUhvc3RO
YW1lID0gc3RhdGljX2Nhc3Q8V0tTdHJpbmdSZWY+KFdLRGljdGlvbmFyeUdldEl0ZW1Gb3JLZXko
bWVzc2FnZUJvZHlEaWN0aW9uYXJ5LCB0b3BGcmFtZUhvc3ROYW1lS2V5LmdldCgpKSk7CisKKyAg
ICAgICAgVGVzdENvbnRyb2xsZXI6OnNpbmdsZXRvbigpLnNldFN0YXRpc3RpY3NTdWJmcmFtZVVu
ZGVyVG9wRnJhbWVPcmlnaW4oaG9zdE5hbWUsIHRvcEZyYW1lSG9zdE5hbWUpOworICAgICAgICBy
ZXR1cm4gbnVsbHB0cjsKKyAgICB9CisgICAgCisgICAgaWYgKFdLU3RyaW5nSXNFcXVhbFRvVVRG
OENTdHJpbmcobWVzc2FnZU5hbWUsICJTZXRTdGF0aXN0aWNzU3VicmVzb3VyY2VVbmRlclRvcEZy
YW1lT3JpZ2luIikpIHsKKyAgICAgICAgQVNTRVJUKFdLR2V0VHlwZUlEKG1lc3NhZ2VCb2R5KSA9
PSBXS0RpY3Rpb25hcnlHZXRUeXBlSUQoKSk7CisgICAgICAgIAorICAgICAgICBXS0RpY3Rpb25h
cnlSZWYgbWVzc2FnZUJvZHlEaWN0aW9uYXJ5ID0gc3RhdGljX2Nhc3Q8V0tEaWN0aW9uYXJ5UmVm
PihtZXNzYWdlQm9keSk7CisgICAgICAgIFdLUmV0YWluUHRyPFdLU3RyaW5nUmVmPiBob3N0TmFt
ZUtleShBZG9wdFdLLCBXS1N0cmluZ0NyZWF0ZVdpdGhVVEY4Q1N0cmluZygiSG9zdE5hbWUiKSk7
CisgICAgICAgIFdLUmV0YWluUHRyPFdLU3RyaW5nUmVmPiB0b3BGcmFtZUhvc3ROYW1lS2V5KEFk
b3B0V0ssIFdLU3RyaW5nQ3JlYXRlV2l0aFVURjhDU3RyaW5nKCJUb3BGcmFtZUhvc3ROYW1lIikp
OworICAgICAgICAKKyAgICAgICAgV0tTdHJpbmdSZWYgaG9zdE5hbWUgPSBzdGF0aWNfY2FzdDxX
S1N0cmluZ1JlZj4oV0tEaWN0aW9uYXJ5R2V0SXRlbUZvcktleShtZXNzYWdlQm9keURpY3Rpb25h
cnksIGhvc3ROYW1lS2V5LmdldCgpKSk7CisgICAgICAgIFdLU3RyaW5nUmVmIHRvcEZyYW1lSG9z
dE5hbWUgPSBzdGF0aWNfY2FzdDxXS1N0cmluZ1JlZj4oV0tEaWN0aW9uYXJ5R2V0SXRlbUZvcktl
eShtZXNzYWdlQm9keURpY3Rpb25hcnksIHRvcEZyYW1lSG9zdE5hbWVLZXkuZ2V0KCkpKTsKKyAg
ICAgICAgCisgICAgICAgIFRlc3RDb250cm9sbGVyOjpzaW5nbGV0b24oKS5zZXRTdGF0aXN0aWNz
U3VicmVzb3VyY2VVbmRlclRvcEZyYW1lT3JpZ2luKGhvc3ROYW1lLCB0b3BGcmFtZUhvc3ROYW1l
KTsKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7CisgICAgfQorICAgIAorICAgIGlmIChXS1N0cmlu
Z0lzRXF1YWxUb1VURjhDU3RyaW5nKG1lc3NhZ2VOYW1lLCAiU2V0U3RhdGlzdGljc1N1YnJlc291
cmNlVW5pcXVlUmVkaXJlY3RUbyIpKSB7CisgICAgICAgIEFTU0VSVChXS0dldFR5cGVJRChtZXNz
YWdlQm9keSkgPT0gV0tEaWN0aW9uYXJ5R2V0VHlwZUlEKCkpOworICAgICAgICAKKyAgICAgICAg
V0tEaWN0aW9uYXJ5UmVmIG1lc3NhZ2VCb2R5RGljdGlvbmFyeSA9IHN0YXRpY19jYXN0PFdLRGlj
dGlvbmFyeVJlZj4obWVzc2FnZUJvZHkpOworICAgICAgICBXS1JldGFpblB0cjxXS1N0cmluZ1Jl
Zj4gaG9zdE5hbWVLZXkoQWRvcHRXSywgV0tTdHJpbmdDcmVhdGVXaXRoVVRGOENTdHJpbmcoIkhv
c3ROYW1lIikpOworICAgICAgICBXS1JldGFpblB0cjxXS1N0cmluZ1JlZj4gaG9zdE5hbWVSZWRp
cmVjdGVkVG9LZXkoQWRvcHRXSywgV0tTdHJpbmdDcmVhdGVXaXRoVVRGOENTdHJpbmcoIkhvc3RO
YW1lUmVkaXJlY3RlZFRvIikpOworICAgICAgICAKKyAgICAgICAgV0tTdHJpbmdSZWYgaG9zdE5h
bWUgPSBzdGF0aWNfY2FzdDxXS1N0cmluZ1JlZj4oV0tEaWN0aW9uYXJ5R2V0SXRlbUZvcktleSht
ZXNzYWdlQm9keURpY3Rpb25hcnksIGhvc3ROYW1lS2V5LmdldCgpKSk7CisgICAgICAgIFdLU3Ry
aW5nUmVmIGhvc3ROYW1lUmVkaXJlY3RlZFRvID0gc3RhdGljX2Nhc3Q8V0tTdHJpbmdSZWY+KFdL
RGljdGlvbmFyeUdldEl0ZW1Gb3JLZXkobWVzc2FnZUJvZHlEaWN0aW9uYXJ5LCBob3N0TmFtZVJl
ZGlyZWN0ZWRUb0tleS5nZXQoKSkpOworICAgICAgICAKKyAgICAgICAgVGVzdENvbnRyb2xsZXI6
OnNpbmdsZXRvbigpLnNldFN0YXRpc3RpY3NTdWJyZXNvdXJjZVVuaXF1ZVJlZGlyZWN0VG8oaG9z
dE5hbWUsIGhvc3ROYW1lUmVkaXJlY3RlZFRvKTsKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7Cisg
ICAgfQorCiAgICAgaWYgKFdLU3RyaW5nSXNFcXVhbFRvVVRGOENTdHJpbmcobWVzc2FnZU5hbWUs
ICJTZXRTdGF0aXN0aWNzVGltZVRvTGl2ZVVzZXJJbnRlcmFjdGlvbiIpKSB7CiAgICAgICAgIEFT
U0VSVChXS0dldFR5cGVJRChtZXNzYWdlQm9keSkgPT0gV0tEb3VibGVHZXRUeXBlSUQoKSk7CiAg
ICAgICAgIFdLRG91YmxlUmVmIHNlY29uZHMgPSBzdGF0aWNfY2FzdDxXS0RvdWJsZVJlZj4obWVz
c2FnZUJvZHkpOwpJbmRleDogVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9U
ZXN0UnVubmVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9XZWJLaXRUZXN0UnVubmVyL0luamVj
dGVkQnVuZGxlL1Rlc3RSdW5uZXIuY3BwCShyZXZpc2lvbiAyMTIyMzApCisrKyBUb29scy9XZWJL
aXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL1Rlc3RSdW5uZXIuY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC0xMjI2LDYgKzEyMjYsODQgQEAgYm9vbCBUZXN0UnVubmVyOjppc1N0YXRpc3RpY3NIYXNI
YWRVc2VySQogICAgIHJldHVybiBXS0Jvb2xlYW5HZXRWYWx1ZShzdGF0aWNfY2FzdDxXS0Jvb2xl
YW5SZWY+KHJldHVybkRhdGEpKTsKIH0KIAordm9pZCBUZXN0UnVubmVyOjpzZXRTdGF0aXN0aWNz
U3ViZnJhbWVVbmRlclRvcEZyYW1lT3JpZ2luKEpTU3RyaW5nUmVmIGhvc3ROYW1lLCBKU1N0cmlu
Z1JlZiB0b3BGcmFtZUhvc3ROYW1lKQoreworICAgIFZlY3RvcjxXS1JldGFpblB0cjxXS1N0cmlu
Z1JlZj4+IGtleXM7CisgICAgVmVjdG9yPFdLUmV0YWluUHRyPFdLVHlwZVJlZj4+IHZhbHVlczsK
KyAgICAKKyAgICBrZXlzLmFwcGVuZCh7IEFkb3B0V0ssIFdLU3RyaW5nQ3JlYXRlV2l0aFVURjhD
U3RyaW5nKCJIb3N0TmFtZSIpIH0pOworICAgIHZhbHVlcy5hcHBlbmQoeyBBZG9wdFdLLCBXS1N0
cmluZ0NyZWF0ZVdpdGhKU1N0cmluZyhob3N0TmFtZSkgfSk7CisgICAgCisgICAga2V5cy5hcHBl
bmQoeyBBZG9wdFdLLCBXS1N0cmluZ0NyZWF0ZVdpdGhVVEY4Q1N0cmluZygiVG9wRnJhbWVIb3N0
TmFtZSIpIH0pOworICAgIHZhbHVlcy5hcHBlbmQoeyBBZG9wdFdLLCBXS1N0cmluZ0NyZWF0ZVdp
dGhKU1N0cmluZyh0b3BGcmFtZUhvc3ROYW1lKSB9KTsKKyAgICAKKyAgICBWZWN0b3I8V0tTdHJp
bmdSZWY+IHJhd0tleXM7CisgICAgVmVjdG9yPFdLVHlwZVJlZj4gcmF3VmFsdWVzOworICAgIHJh
d0tleXMucmVzaXplKGtleXMuc2l6ZSgpKTsKKyAgICByYXdWYWx1ZXMucmVzaXplKHZhbHVlcy5z
aXplKCkpOworICAgIAorICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwga2V5cy5zaXplKCk7ICsr
aSkgeworICAgICAgICByYXdLZXlzW2ldID0ga2V5c1tpXS5nZXQoKTsKKyAgICAgICAgcmF3VmFs
dWVzW2ldID0gdmFsdWVzW2ldLmdldCgpOworICAgIH0KKyAgICAKKyAgICBXS1JldGFpblB0cjxX
S1N0cmluZ1JlZj4gbWVzc2FnZU5hbWUoQWRvcHRXSywgV0tTdHJpbmdDcmVhdGVXaXRoVVRGOENT
dHJpbmcoIlNldFN0YXRpc3RpY3NTdWJmcmFtZVVuZGVyVG9wRnJhbWVPcmlnaW4iKSk7CisgICAg
V0tSZXRhaW5QdHI8V0tEaWN0aW9uYXJ5UmVmPiBtZXNzYWdlQm9keShBZG9wdFdLLCBXS0RpY3Rp
b25hcnlDcmVhdGUocmF3S2V5cy5kYXRhKCksIHJhd1ZhbHVlcy5kYXRhKCksIHJhd0tleXMuc2l6
ZSgpKSk7CisgICAgV0tCdW5kbGVQb3N0U3luY2hyb25vdXNNZXNzYWdlKEluamVjdGVkQnVuZGxl
OjpzaW5nbGV0b24oKS5idW5kbGUoKSwgbWVzc2FnZU5hbWUuZ2V0KCksIG1lc3NhZ2VCb2R5Lmdl
dCgpLCBudWxscHRyKTsKK30KKwordm9pZCBUZXN0UnVubmVyOjpzZXRTdGF0aXN0aWNzU3VicmVz
b3VyY2VVbmRlclRvcEZyYW1lT3JpZ2luKEpTU3RyaW5nUmVmIGhvc3ROYW1lLCBKU1N0cmluZ1Jl
ZiB0b3BGcmFtZUhvc3ROYW1lKQoreworICAgIFZlY3RvcjxXS1JldGFpblB0cjxXS1N0cmluZ1Jl
Zj4+IGtleXM7CisgICAgVmVjdG9yPFdLUmV0YWluUHRyPFdLVHlwZVJlZj4+IHZhbHVlczsKKyAg
ICAKKyAgICBrZXlzLmFwcGVuZCh7IEFkb3B0V0ssIFdLU3RyaW5nQ3JlYXRlV2l0aFVURjhDU3Ry
aW5nKCJIb3N0TmFtZSIpIH0pOworICAgIHZhbHVlcy5hcHBlbmQoeyBBZG9wdFdLLCBXS1N0cmlu
Z0NyZWF0ZVdpdGhKU1N0cmluZyhob3N0TmFtZSkgfSk7CisgICAgCisgICAga2V5cy5hcHBlbmQo
eyBBZG9wdFdLLCBXS1N0cmluZ0NyZWF0ZVdpdGhVVEY4Q1N0cmluZygiVG9wRnJhbWVIb3N0TmFt
ZSIpIH0pOworICAgIHZhbHVlcy5hcHBlbmQoeyBBZG9wdFdLLCBXS1N0cmluZ0NyZWF0ZVdpdGhK
U1N0cmluZyh0b3BGcmFtZUhvc3ROYW1lKSB9KTsKKyAgICAKKyAgICBWZWN0b3I8V0tTdHJpbmdS
ZWY+IHJhd0tleXM7CisgICAgVmVjdG9yPFdLVHlwZVJlZj4gcmF3VmFsdWVzOworICAgIHJhd0tl
eXMucmVzaXplKGtleXMuc2l6ZSgpKTsKKyAgICByYXdWYWx1ZXMucmVzaXplKHZhbHVlcy5zaXpl
KCkpOworICAgIAorICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwga2V5cy5zaXplKCk7ICsraSkg
eworICAgICAgICByYXdLZXlzW2ldID0ga2V5c1tpXS5nZXQoKTsKKyAgICAgICAgcmF3VmFsdWVz
W2ldID0gdmFsdWVzW2ldLmdldCgpOworICAgIH0KKyAgICAKKyAgICBXS1JldGFpblB0cjxXS1N0
cmluZ1JlZj4gbWVzc2FnZU5hbWUoQWRvcHRXSywgV0tTdHJpbmdDcmVhdGVXaXRoVVRGOENTdHJp
bmcoIlNldFN0YXRpc3RpY3NTdWJyZXNvdXJjZVVuZGVyVG9wRnJhbWVPcmlnaW4iKSk7CisgICAg
V0tSZXRhaW5QdHI8V0tEaWN0aW9uYXJ5UmVmPiBtZXNzYWdlQm9keShBZG9wdFdLLCBXS0RpY3Rp
b25hcnlDcmVhdGUocmF3S2V5cy5kYXRhKCksIHJhd1ZhbHVlcy5kYXRhKCksIHJhd0tleXMuc2l6
ZSgpKSk7CisgICAgV0tCdW5kbGVQb3N0U3luY2hyb25vdXNNZXNzYWdlKEluamVjdGVkQnVuZGxl
OjpzaW5nbGV0b24oKS5idW5kbGUoKSwgbWVzc2FnZU5hbWUuZ2V0KCksIG1lc3NhZ2VCb2R5Lmdl
dCgpLCBudWxscHRyKTsKK30KKwordm9pZCBUZXN0UnVubmVyOjpzZXRTdGF0aXN0aWNzU3VicmVz
b3VyY2VVbmlxdWVSZWRpcmVjdFRvKEpTU3RyaW5nUmVmIGhvc3ROYW1lLCBKU1N0cmluZ1JlZiBo
b3N0TmFtZVJlZGlyZWN0ZWRUbykKK3sKKyAgICBWZWN0b3I8V0tSZXRhaW5QdHI8V0tTdHJpbmdS
ZWY+PiBrZXlzOworICAgIFZlY3RvcjxXS1JldGFpblB0cjxXS1R5cGVSZWY+PiB2YWx1ZXM7Cisg
ICAgCisgICAga2V5cy5hcHBlbmQoeyBBZG9wdFdLLCBXS1N0cmluZ0NyZWF0ZVdpdGhVVEY4Q1N0
cmluZygiSG9zdE5hbWUiKSB9KTsKKyAgICB2YWx1ZXMuYXBwZW5kKHsgQWRvcHRXSywgV0tTdHJp
bmdDcmVhdGVXaXRoSlNTdHJpbmcoaG9zdE5hbWUpIH0pOworICAgIAorICAgIGtleXMuYXBwZW5k
KHsgQWRvcHRXSywgV0tTdHJpbmdDcmVhdGVXaXRoVVRGOENTdHJpbmcoIkhvc3ROYW1lUmVkaXJl
Y3RlZFRvIikgfSk7CisgICAgdmFsdWVzLmFwcGVuZCh7IEFkb3B0V0ssIFdLU3RyaW5nQ3JlYXRl
V2l0aEpTU3RyaW5nKGhvc3ROYW1lUmVkaXJlY3RlZFRvKSB9KTsKKyAgICAKKyAgICBWZWN0b3I8
V0tTdHJpbmdSZWY+IHJhd0tleXM7CisgICAgVmVjdG9yPFdLVHlwZVJlZj4gcmF3VmFsdWVzOwor
ICAgIHJhd0tleXMucmVzaXplKGtleXMuc2l6ZSgpKTsKKyAgICByYXdWYWx1ZXMucmVzaXplKHZh
bHVlcy5zaXplKCkpOworICAgIAorICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwga2V5cy5zaXpl
KCk7ICsraSkgeworICAgICAgICByYXdLZXlzW2ldID0ga2V5c1tpXS5nZXQoKTsKKyAgICAgICAg
cmF3VmFsdWVzW2ldID0gdmFsdWVzW2ldLmdldCgpOworICAgIH0KKyAgICAKKyAgICBXS1JldGFp
blB0cjxXS1N0cmluZ1JlZj4gbWVzc2FnZU5hbWUoQWRvcHRXSywgV0tTdHJpbmdDcmVhdGVXaXRo
VVRGOENTdHJpbmcoIlNldFN0YXRpc3RpY3NTdWJyZXNvdXJjZVVuaXF1ZVJlZGlyZWN0VG8iKSk7
CisgICAgV0tSZXRhaW5QdHI8V0tEaWN0aW9uYXJ5UmVmPiBtZXNzYWdlQm9keShBZG9wdFdLLCBX
S0RpY3Rpb25hcnlDcmVhdGUocmF3S2V5cy5kYXRhKCksIHJhd1ZhbHVlcy5kYXRhKCksIHJhd0tl
eXMuc2l6ZSgpKSk7CisgICAgV0tCdW5kbGVQb3N0U3luY2hyb25vdXNNZXNzYWdlKEluamVjdGVk
QnVuZGxlOjpzaW5nbGV0b24oKS5idW5kbGUoKSwgbWVzc2FnZU5hbWUuZ2V0KCksIG1lc3NhZ2VC
b2R5LmdldCgpLCBudWxscHRyKTsKK30KKwogdm9pZCBUZXN0UnVubmVyOjpzZXRTdGF0aXN0aWNz
VGltZVRvTGl2ZVVzZXJJbnRlcmFjdGlvbihkb3VibGUgc2Vjb25kcykKIHsKICAgICBXS1JldGFp
blB0cjxXS1N0cmluZ1JlZj4gbWVzc2FnZU5hbWUoQWRvcHRXSywgV0tTdHJpbmdDcmVhdGVXaXRo
VVRGOENTdHJpbmcoIlNldFN0YXRpc3RpY3NUaW1lVG9MaXZlVXNlckludGVyYWN0aW9uIikpOwpJ
bmRleDogVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9UZXN0UnVubmVyLmgK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9UZXN0
UnVubmVyLmgJKHJldmlzaW9uIDIxMjIzMCkKKysrIFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5q
ZWN0ZWRCdW5kbGUvVGVzdFJ1bm5lci5oCSh3b3JraW5nIGNvcHkpCkBAIC0zNTQsNiArMzU0LDkg
QEAgcHVibGljOgogICAgIGJvb2wgaXNTdGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2UoSlNTdHJp
bmdSZWYgaG9zdE5hbWUpOwogICAgIHZvaWQgc2V0U3RhdGlzdGljc0hhc0hhZFVzZXJJbnRlcmFj
dGlvbihKU1N0cmluZ1JlZiBob3N0TmFtZSwgYm9vbCB2YWx1ZSk7CiAgICAgYm9vbCBpc1N0YXRp
c3RpY3NIYXNIYWRVc2VySW50ZXJhY3Rpb24oSlNTdHJpbmdSZWYgaG9zdE5hbWUpOworICAgIHZv
aWQgc2V0U3RhdGlzdGljc1N1YmZyYW1lVW5kZXJUb3BGcmFtZU9yaWdpbihKU1N0cmluZ1JlZiBo
b3N0TmFtZSwgSlNTdHJpbmdSZWYgdG9wRnJhbWVIb3N0TmFtZSk7CisgICAgdm9pZCBzZXRTdGF0
aXN0aWNzU3VicmVzb3VyY2VVbmRlclRvcEZyYW1lT3JpZ2luKEpTU3RyaW5nUmVmIGhvc3ROYW1l
LCBKU1N0cmluZ1JlZiB0b3BGcmFtZUhvc3ROYW1lKTsKKyAgICB2b2lkIHNldFN0YXRpc3RpY3NT
dWJyZXNvdXJjZVVuaXF1ZVJlZGlyZWN0VG8oSlNTdHJpbmdSZWYgaG9zdE5hbWUsIEpTU3RyaW5n
UmVmIGhvc3ROYW1lUmVkaXJlY3RlZFRvKTsKICAgICB2b2lkIHNldFN0YXRpc3RpY3NUaW1lVG9M
aXZlVXNlckludGVyYWN0aW9uKGRvdWJsZSBzZWNvbmRzKTsKICAgICB2b2lkIHNldFN0YXRpc3Rp
Y3NOb3RpZnlQYWdlc1doZW5EYXRhUmVjb3Jkc1dlcmVTY2FubmVkKGJvb2wpOwogICAgIHZvaWQg
c2V0U3RhdGlzdGljc1Nob3VsZENsYXNzaWZ5UmVzb3VyY2VzQmVmb3JlRGF0YVJlY29yZHNSZW1v
dmFsKGJvb2wpOwpJbmRleDogVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9C
aW5kaW5ncy9UZXN0UnVubmVyLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9XZWJLaXRUZXN0UnVu
bmVyL0luamVjdGVkQnVuZGxlL0JpbmRpbmdzL1Rlc3RSdW5uZXIuaWRsCShyZXZpc2lvbiAyMTIy
MzApCisrKyBUb29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0JpbmRpbmdzL1Rl
c3RSdW5uZXIuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yNTMsNiArMjUzLDkgQEAgaW50ZXJmYWNl
IFRlc3RSdW5uZXIgewogICAgIGJvb2xlYW4gaXNTdGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2Uo
RE9NU3RyaW5nIGhvc3ROYW1lKTsKICAgICB2b2lkIHNldFN0YXRpc3RpY3NIYXNIYWRVc2VySW50
ZXJhY3Rpb24oRE9NU3RyaW5nIGhvc3ROYW1lLCBib29sZWFuIHZhbHVlKTsKICAgICBib29sZWFu
IGlzU3RhdGlzdGljc0hhc0hhZFVzZXJJbnRlcmFjdGlvbihET01TdHJpbmcgaG9zdE5hbWUpOwor
ICAgIHZvaWQgc2V0U3RhdGlzdGljc1N1YmZyYW1lVW5kZXJUb3BGcmFtZU9yaWdpbihET01TdHJp
bmcgaG9zdE5hbWUsIERPTVN0cmluZyB0b3BGcmFtZUhvc3ROYW1lKTsKKyAgICB2b2lkIHNldFN0
YXRpc3RpY3NTdWJyZXNvdXJjZVVuZGVyVG9wRnJhbWVPcmlnaW4oRE9NU3RyaW5nIGhvc3ROYW1l
LCBET01TdHJpbmcgdG9wRnJhbWVIb3N0TmFtZSk7CisgICAgdm9pZCBzZXRTdGF0aXN0aWNzU3Vi
cmVzb3VyY2VVbmlxdWVSZWRpcmVjdFRvKERPTVN0cmluZyBob3N0TmFtZSwgRE9NU3RyaW5nIGhv
c3ROYW1lUmVkaXJlY3RlZFRvKTsKICAgICB2b2lkIHNldFN0YXRpc3RpY3NUaW1lVG9MaXZlVXNl
ckludGVyYWN0aW9uKGRvdWJsZSBzZWNvbmRzKTsKICAgICB2b2lkIHN0YXRpc3RpY3NGaXJlRGF0
YU1vZGlmaWNhdGlvbkhhbmRsZXIoKTsKICAgICB2b2lkIHNldFN0YXRpc3RpY3NOb3RpZnlQYWdl
c1doZW5EYXRhUmVjb3Jkc1dlcmVTY2FubmVkKGJvb2xlYW4gdmFsdWUpOwpJbmRleDogTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL0NoYW5nZUxvZwkocmV2
aXNpb24gMjEyMjMwKQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMzMgQEAKKzIwMTctMDItMTQgIEpvaG4gV2lsYW5kZXIgIDx3aWxhbmRlckBhcHBs
ZS5jb20+CisKKyAgICAgICAgUmVzb3VyY2UgTG9hZCBTdGF0aXN0aWNzOiBBZGQgYWx0ZXJuYXRl
IGNsYXNzaWZpY2F0aW9uIG1ldGhvZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTY4MzQ3CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8zMDM1Mjc5Mz4K
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGh0dHAv
dGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLW5vbi1wcmV2
YWxlbnQtYmFzZWQtb24tbWl4ZWQtc3RhdGlzdGljcy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGh0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5
LWFzLW5vbi1wcmV2YWxlbnQtYmFzZWQtb24tbWl4ZWQtc3RhdGlzdGljcy5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiBodHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFz
c2lmeS1hcy1ub24tcHJldmFsZW50LWJhc2VkLW9uLXN1Yi1mcmFtZS11bmRlci10b3AtZnJhbWUt
b3JpZ2lucy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvbG9hZGlu
Zy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLW5vbi1wcmV2YWxlbnQtYmFzZWQt
b24tc3ViLWZyYW1lLXVuZGVyLXRvcC1mcmFtZS1vcmlnaW5zLmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIGh0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFz
LW5vbi1wcmV2YWxlbnQtYmFzZWQtb24tc3VicmVzb3VyY2UtdW5kZXItdG9wLWZyYW1lLW9yaWdp
bnMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2xvYWRpbmcvcmVz
b3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1ub24tcHJldmFsZW50LWJhc2VkLW9uLXN1
YnJlc291cmNlLXVuZGVyLXRvcC1mcmFtZS1vcmlnaW5zLmh0bWw6IEFkZGVkLgorICAgICAgICAq
IGh0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLW5v
bi1wcmV2YWxlbnQtYmFzZWQtb24tc3VicmVzb3VyY2UtdW5pcXVlLXJlZGlyZWN0cy10by1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxv
YWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLW5vbi1wcmV2YWxlbnQtYmFzZWQtb24tc3VicmVzb3Vy
Y2UtdW5pcXVlLXJlZGlyZWN0cy10by5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3Rz
L2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1wcmV2YWxlbnQtYmFz
ZWQtb24tbWl4ZWQtc3RhdGlzdGljcy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0
dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLXByZXZh
bGVudC1iYXNlZC1vbi1taXhlZC1zdGF0aXN0aWNzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGh0
dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLXByZXZh
bGVudC1iYXNlZC1vbi1zdWItZnJhbWUtdW5kZXItdG9wLWZyYW1lLW9yaWdpbnMtZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3Rh
dGlzdGljcy9jbGFzc2lmeS1hcy1wcmV2YWxlbnQtYmFzZWQtb24tc3ViLWZyYW1lLXVuZGVyLXRv
cC1mcmFtZS1vcmlnaW5zLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvbG9hZGlu
Zy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLXByZXZhbGVudC1iYXNlZC1vbi1z
dWJyZXNvdXJjZS11bmRlci10b3AtZnJhbWUtb3JpZ2lucy1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGh0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNz
aWZ5LWFzLXByZXZhbGVudC1iYXNlZC1vbi1zdWJyZXNvdXJjZS11bmRlci10b3AtZnJhbWUtb3Jp
Z2lucy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VM
b2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1wcmV2YWxlbnQtYmFzZWQtb24tc3VicmVzb3VyY2Ut
dW5pcXVlLXJlZGlyZWN0cy10by1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAv
dGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLXByZXZhbGVu
dC1iYXNlZC1vbi1zdWJyZXNvdXJjZS11bmlxdWUtcmVkaXJlY3RzLXRvLmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIHBsYXRmb3JtL3drMi9UZXN0RXhwZWN0YXRpb25zOgorICAgICAgICAgICAgTWFy
a2VkIHRoZSB0ZXN0IGNhc2VzIGFkZGVkIGluIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xNjc0NzQKKyAgICAgICAgICAgIGFzIFsgUGFzcyBUaW1lb3V0IF0gYmVjYXVz
ZSBvZiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY4MjYyLgorICAg
ICAgICAgICAgVGhleSB3aWxsIGFnYWluIGJlIG1hcmtlZCBbIFBhc3MgXSB3aGVuIHRoYXQgYnVn
IGlzIGZpeGVkLiBUaGUgbmV3IHRlc3RzIGluCisgICAgICAgICAgICB0aGlzIHBhdGNoIGFyZSBh
bGwgbWFya2VkIGFzIFsgUGFzcyBdLgorCiAyMDE3LTAyLTEyICBSeW9zdWtlIE5pd2EgIDxybml3
YUB3ZWJraXQub3JnPgogCiAgICAgICAgIHBhcnNlclJlbW92ZUNoaWxkIHNob3VsZCB1bmxvYWQg
c3ViZnJhbWVzCkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VM
b2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1ub24tcHJldmFsZW50LWJhc2VkLW9uLW1peGVkLXN0
YXRpc3RpY3MtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVz
dHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLW5vbi1wcmV2YWxl
bnQtYmFzZWQtb24tbWl4ZWQtc3RhdGlzdGljcy1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQor
KysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mv
Y2xhc3NpZnktYXMtbm9uLXByZXZhbGVudC1iYXNlZC1vbi1taXhlZC1zdGF0aXN0aWNzLWV4cGVj
dGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDggQEAKK21haW4gZnJhbWUgLSBkaWRT
dGFydFByb3Zpc2lvbmFsTG9hZEZvckZyYW1lCittYWluIGZyYW1lIC0gZGlkQ29tbWl0TG9hZEZv
ckZyYW1lCittYWluIGZyYW1lIC0gZGlkUmVjZWl2ZVRpdGxlOiBUZXN0cyBmb3IgQ2xhc3NpZmlj
YXRpb24gQmFzZWQgb24gTWl4ZWQgU3RhdGlzdGljcworbWFpbiBmcmFtZSAtIGRpZEZpbmlzaERv
Y3VtZW50TG9hZEZvckZyYW1lCittYWluIGZyYW1lIC0gZGlkSGFuZGxlT25sb2FkRXZlbnRzRm9y
RnJhbWUKK21haW4gZnJhbWUgLSBkaWRGaW5pc2hMb2FkRm9yRnJhbWUKK1BBU1MgSG9zdCBkaWQg
bm90IGdldCBjbGFzc2lmaWVkIGFzIHByZXZhbGVudCByZXNvdXJjZS4KKwpJbmRleDogTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnkt
YXMtbm9uLXByZXZhbGVudC1iYXNlZC1vbi1taXhlZC1zdGF0aXN0aWNzLmh0bWwKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0YXRpc3Rp
Y3MvY2xhc3NpZnktYXMtbm9uLXByZXZhbGVudC1iYXNlZC1vbi1taXhlZC1zdGF0aXN0aWNzLmh0
bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291
cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtbm9uLXByZXZhbGVudC1iYXNlZC1vbi1taXhl
ZC1zdGF0aXN0aWNzLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw0MiBAQAorPCFET0NU
WVBFIGh0bWw+Cis8aHRtbCBsYW5nPSJlbiI+Cis8aGVhZD4KKyAgICA8bWV0YSBjaGFyc2V0PSJV
VEYtOCI+CisgICAgPHRpdGxlPlRlc3RzIGZvciBDbGFzc2lmaWNhdGlvbiBCYXNlZCBvbiBNaXhl
ZCBTdGF0aXN0aWNzPC90aXRsZT4KKyAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdD4KKyAgICBj
b25zdCBob3N0VW5kZXJUZXN0ID0gIjEyNy4wLjAuMTo4MDAwIjsKKyAgICBjb25zdCBzdGF0aXN0
aWNzVXJsID0gImh0dHA6Ly8iICsgaG9zdFVuZGVyVGVzdCArICIvdGVtcCI7CisgICAgY29uc3Qg
dG9wRnJhbWVPcmlnaW4xID0gImh0dHA6Ly8xMjcuMC4wLjI6ODAwMC90ZW1wIjsKKyAgICBjb25z
dCB0b3BGcmFtZU9yaWdpbjIgPSAiaHR0cDovLzEyNy4wLjAuMzo4MDAwL3RlbXAiOworICAgIGNv
bnN0IHRvcEZyYW1lT3JpZ2luMyA9ICJodHRwOi8vMTI3LjAuMC40OjgwMDAvdGVtcCI7CisgICAg
ZnVuY3Rpb24gcnVuVGVzdFJ1bm5lclRlc3QoKSB7CisgICAgICAgIHRlc3RSdW5uZXIuc2V0U3Rh
dGlzdGljc1ByZXZhbGVudFJlc291cmNlKHN0YXRpc3RpY3NVcmwsIGZhbHNlKTsKKyAgICAgICAg
aWYgKHRlc3RSdW5uZXIuaXNTdGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2Uoc3RhdGlzdGljc1Vy
bCkpCisgICAgICAgICAgICB0ZXN0RmFpbGVkKCJIb3N0IGRpZCBub3QgZ2V0IHNldCBhcyBub24t
cHJldmFsZW50IHJlc291cmNlLiIpOworCisgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGlj
c1N1YmZyYW1lVW5kZXJUb3BGcmFtZU9yaWdpbihzdGF0aXN0aWNzVXJsLCB0b3BGcmFtZU9yaWdp
bjEpOworICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NTdWJyZXNvdXJjZVVuZGVyVG9w
RnJhbWVPcmlnaW4oc3RhdGlzdGljc1VybCwgdG9wRnJhbWVPcmlnaW4yKTsKKyAgICAgICAgdGVz
dFJ1bm5lci5zZXRTdGF0aXN0aWNzU3VicmVzb3VyY2VVbmlxdWVSZWRpcmVjdFRvKHN0YXRpc3Rp
Y3NVcmwsIHRvcEZyYW1lT3JpZ2luMyk7CisKKyAgICAgICAgdGVzdFJ1bm5lci5zdGF0aXN0aWNz
RmlyZURhdGFNb2RpZmljYXRpb25IYW5kbGVyKCk7CisKKyAgICAgICAgaWYgKHRlc3RSdW5uZXIu
aXNTdGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2Uoc3RhdGlzdGljc1VybCkpCisgICAgICAgICAg
ICB0ZXN0RmFpbGVkKCJIb3N0IGNsYXNzaWZpZWQgYXMgcHJldmFsZW50IHJlc291cmNlLiIpOwor
ICAgICAgICBlbHNlCisgICAgICAgICAgICB0ZXN0UGFzc2VkKCJIb3N0IGRpZCBub3QgZ2V0IGNs
YXNzaWZpZWQgYXMgcHJldmFsZW50IHJlc291cmNlLiIpOworCisgICAgICAgIHRlc3RSdW5uZXIu
c3RhdGlzdGljc1Jlc2V0VG9Db25zaXN0ZW50U3RhdGUoKTsKKyAgICAgICAgdGVzdFJ1bm5lci5u
b3RpZnlEb25lKCk7CisgICAgfQorCisgICAgaWYgKGRvY3VtZW50LmxvY2F0aW9uLmhvc3QgPT09
IGhvc3RVbmRlclRlc3QgJiYgd2luZG93LnRlc3RSdW5uZXIgJiYgd2luZG93LmludGVybmFscykg
eworICAgICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKKyAgICAgICAgaW50ZXJuYWxz
LnNldFJlc291cmNlTG9hZFN0YXRpc3RpY3NFbmFibGVkKHRydWUpOworICAgICAgICBydW5UZXN0
UnVubmVyVGVzdCgpOworICAgIH0KKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvbG9hZGlu
Zy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLW5vbi1wcmV2YWxlbnQtYmFzZWQt
b24tc3ViLWZyYW1lLXVuZGVyLXRvcC1mcmFtZS1vcmlnaW5zLWV4cGVjdGVkLnR4dAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlz
dGljcy9jbGFzc2lmeS1hcy1ub24tcHJldmFsZW50LWJhc2VkLW9uLXN1Yi1mcmFtZS11bmRlci10
b3AtZnJhbWUtb3JpZ2lucy1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMt
bm9uLXByZXZhbGVudC1iYXNlZC1vbi1zdWItZnJhbWUtdW5kZXItdG9wLWZyYW1lLW9yaWdpbnMt
ZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsOCBAQAorbWFpbiBmcmFtZSAt
IGRpZFN0YXJ0UHJvdmlzaW9uYWxMb2FkRm9yRnJhbWUKK21haW4gZnJhbWUgLSBkaWRDb21taXRM
b2FkRm9yRnJhbWUKK21haW4gZnJhbWUgLSBkaWRSZWNlaXZlVGl0bGU6IFRlc3RzIGZvciBDbGFz
c2lmaWNhdGlvbiBCYXNlZCBvbiBTdWIgRnJhbWUgVW5kZXIgVG9wIEZyYW1lIE9yaWdpbnMKK21h
aW4gZnJhbWUgLSBkaWRGaW5pc2hEb2N1bWVudExvYWRGb3JGcmFtZQorbWFpbiBmcmFtZSAtIGRp
ZEhhbmRsZU9ubG9hZEV2ZW50c0ZvckZyYW1lCittYWluIGZyYW1lIC0gZGlkRmluaXNoTG9hZEZv
ckZyYW1lCitQQVNTIEhvc3QgZGlkIG5vdCBnZXQgY2xhc3NpZmllZCBhcyBwcmV2YWxlbnQgcmVz
b3VyY2UuCisKSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxv
YWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLW5vbi1wcmV2YWxlbnQtYmFzZWQtb24tc3ViLWZyYW1l
LXVuZGVyLXRvcC1mcmFtZS1vcmlnaW5zLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtbm9u
LXByZXZhbGVudC1iYXNlZC1vbi1zdWItZnJhbWUtdW5kZXItdG9wLWZyYW1lLW9yaWdpbnMuaHRt
bAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3Vy
Y2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1ub24tcHJldmFsZW50LWJhc2VkLW9uLXN1Yi1m
cmFtZS11bmRlci10b3AtZnJhbWUtb3JpZ2lucy5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAg
KzEsNDIgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWwgbGFuZz0iZW4iPgorPGhlYWQ+CisgICAg
PG1ldGEgY2hhcnNldD0iVVRGLTgiPgorICAgIDx0aXRsZT5UZXN0cyBmb3IgQ2xhc3NpZmljYXRp
b24gQmFzZWQgb24gU3ViIEZyYW1lIFVuZGVyIFRvcCBGcmFtZSBPcmlnaW5zPC90aXRsZT4KKyAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdD4KKyAgICBjb25zdCBob3N0VW5kZXJUZXN0ID0gIjEy
Ny4wLjAuMTo4MDAwIjsKKyAgICBjb25zdCBzdGF0aXN0aWNzVXJsID0gImh0dHA6Ly8iICsgaG9z
dFVuZGVyVGVzdCArICIvdGVtcCI7CisgICAgY29uc3QgdG9wRnJhbWVPcmlnaW4xID0gImh0dHA6
Ly8xMjcuMC4wLjI6ODAwMC90ZW1wIjsKKyAgICBjb25zdCB0b3BGcmFtZU9yaWdpbjIgPSAiaHR0
cDovLzEyNy4wLjAuMzo4MDAwL3RlbXAiOworICAgIGNvbnN0IHRvcEZyYW1lT3JpZ2luMyA9ICJo
dHRwOi8vMTI3LjAuMC40OjgwMDAvdGVtcCI7CisgICAgZnVuY3Rpb24gcnVuVGVzdFJ1bm5lclRl
c3QoKSB7CisgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNl
KHN0YXRpc3RpY3NVcmwsIGZhbHNlKTsKKyAgICAgICAgaWYgKHRlc3RSdW5uZXIuaXNTdGF0aXN0
aWNzUHJldmFsZW50UmVzb3VyY2Uoc3RhdGlzdGljc1VybCkpCisgICAgICAgICAgICB0ZXN0RmFp
bGVkKCJIb3N0IGRpZCBub3QgZ2V0IHNldCBhcyBub24tcHJldmFsZW50IHJlc291cmNlLiIpOwor
CisgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1N1YmZyYW1lVW5kZXJUb3BGcmFtZU9y
aWdpbihzdGF0aXN0aWNzVXJsLCB0b3BGcmFtZU9yaWdpbjEpOworICAgICAgICB0ZXN0UnVubmVy
LnNldFN0YXRpc3RpY3NTdWJmcmFtZVVuZGVyVG9wRnJhbWVPcmlnaW4oc3RhdGlzdGljc1VybCwg
dG9wRnJhbWVPcmlnaW4yKTsKKyAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzU3ViZnJh
bWVVbmRlclRvcEZyYW1lT3JpZ2luKHN0YXRpc3RpY3NVcmwsIHRvcEZyYW1lT3JpZ2luMyk7CisK
KyAgICAgICAgdGVzdFJ1bm5lci5zdGF0aXN0aWNzRmlyZURhdGFNb2RpZmljYXRpb25IYW5kbGVy
KCk7CisKKyAgICAgICAgaWYgKHRlc3RSdW5uZXIuaXNTdGF0aXN0aWNzUHJldmFsZW50UmVzb3Vy
Y2Uoc3RhdGlzdGljc1VybCkpCisgICAgICAgICAgICB0ZXN0RmFpbGVkKCJIb3N0IGNsYXNzaWZp
ZWQgYXMgcHJldmFsZW50IHJlc291cmNlLiIpOworICAgICAgICBlbHNlCisgICAgICAgICAgICB0
ZXN0UGFzc2VkKCJIb3N0IGRpZCBub3QgZ2V0IGNsYXNzaWZpZWQgYXMgcHJldmFsZW50IHJlc291
cmNlLiIpOworCisgICAgICAgIHRlc3RSdW5uZXIuc3RhdGlzdGljc1Jlc2V0VG9Db25zaXN0ZW50
U3RhdGUoKTsKKyAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7CisgICAgfQorCisgICAg
aWYgKGRvY3VtZW50LmxvY2F0aW9uLmhvc3QgPT09IGhvc3RVbmRlclRlc3QgJiYgd2luZG93LnRl
c3RSdW5uZXIgJiYgd2luZG93LmludGVybmFscykgeworICAgICAgICB0ZXN0UnVubmVyLndhaXRV
bnRpbERvbmUoKTsKKyAgICAgICAgaW50ZXJuYWxzLnNldFJlc291cmNlTG9hZFN0YXRpc3RpY3NF
bmFibGVkKHRydWUpOworICAgICAgICBydW5UZXN0UnVubmVyVGVzdCgpOworICAgIH0KKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKSW5kZXg6
IExheW91dFRlc3RzL2h0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2Ns
YXNzaWZ5LWFzLW5vbi1wcmV2YWxlbnQtYmFzZWQtb24tc3VicmVzb3VyY2UtdW5kZXItdG9wLWZy
YW1lLW9yaWdpbnMtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAv
dGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLW5vbi1wcmV2
YWxlbnQtYmFzZWQtb24tc3VicmVzb3VyY2UtdW5kZXItdG9wLWZyYW1lLW9yaWdpbnMtZXhwZWN0
ZWQudHh0CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvbG9hZGluZy9y
ZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLW5vbi1wcmV2YWxlbnQtYmFzZWQtb24t
c3VicmVzb3VyY2UtdW5kZXItdG9wLWZyYW1lLW9yaWdpbnMtZXhwZWN0ZWQudHh0CSh3b3JraW5n
IGNvcHkpCkBAIC0wLDAgKzEsOCBAQAorbWFpbiBmcmFtZSAtIGRpZFN0YXJ0UHJvdmlzaW9uYWxM
b2FkRm9yRnJhbWUKK21haW4gZnJhbWUgLSBkaWRDb21taXRMb2FkRm9yRnJhbWUKK21haW4gZnJh
bWUgLSBkaWRSZWNlaXZlVGl0bGU6IFRlc3RzIGZvciBDbGFzc2lmaWNhdGlvbiBCYXNlZCBvbiBT
dWJyZXNvdXJjZSBVbmRlciBUb3AgRnJhbWUgT3JpZ2lucworbWFpbiBmcmFtZSAtIGRpZEZpbmlz
aERvY3VtZW50TG9hZEZvckZyYW1lCittYWluIGZyYW1lIC0gZGlkSGFuZGxlT25sb2FkRXZlbnRz
Rm9yRnJhbWUKK21haW4gZnJhbWUgLSBkaWRGaW5pc2hMb2FkRm9yRnJhbWUKK1BBU1MgSG9zdCBk
aWQgbm90IGdldCBjbGFzc2lmaWVkIGFzIHByZXZhbGVudCByZXNvdXJjZS4KKwpJbmRleDogTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3Np
ZnktYXMtbm9uLXByZXZhbGVudC1iYXNlZC1vbi1zdWJyZXNvdXJjZS11bmRlci10b3AtZnJhbWUt
b3JpZ2lucy5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvbG9hZGlu
Zy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLW5vbi1wcmV2YWxlbnQtYmFzZWQt
b24tc3VicmVzb3VyY2UtdW5kZXItdG9wLWZyYW1lLW9yaWdpbnMuaHRtbAkobm9uZXhpc3RlbnQp
CisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGlj
cy9jbGFzc2lmeS1hcy1ub24tcHJldmFsZW50LWJhc2VkLW9uLXN1YnJlc291cmNlLXVuZGVyLXRv
cC1mcmFtZS1vcmlnaW5zLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw0MCBAQAorPCFE
T0NUWVBFIGh0bWw+Cis8aHRtbCBsYW5nPSJlbiI+Cis8aGVhZD4KKyAgICA8bWV0YSBjaGFyc2V0
PSJVVEYtOCI+CisgICAgPHRpdGxlPlRlc3RzIGZvciBDbGFzc2lmaWNhdGlvbiBCYXNlZCBvbiBT
dWJyZXNvdXJjZSBVbmRlciBUb3AgRnJhbWUgT3JpZ2luczwvdGl0bGU+CisgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxzY3JpcHQ+CisgICAgY29uc3QgaG9zdFVuZGVyVGVzdCA9ICIxMjcuMC4wLjE6ODAw
MCI7CisgICAgY29uc3Qgc3RhdGlzdGljc1VybCA9ICJodHRwOi8vIiArIGhvc3RVbmRlclRlc3Qg
KyAiL3RlbXAiOworICAgIGNvbnN0IHRvcEZyYW1lT3JpZ2luMSA9ICJodHRwOi8vMTI3LjAuMC4y
OjgwMDAvdGVtcCI7CisgICAgY29uc3QgdG9wRnJhbWVPcmlnaW4yID0gImh0dHA6Ly8xMjcuMC4w
LjM6ODAwMC90ZW1wIjsKKyAgICBmdW5jdGlvbiBydW5UZXN0UnVubmVyVGVzdCgpIHsKKyAgICAg
ICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2Uoc3RhdGlzdGljc1Vy
bCwgZmFsc2UpOworICAgICAgICBpZiAodGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NQcmV2YWxlbnRS
ZXNvdXJjZShzdGF0aXN0aWNzVXJsKSkKKyAgICAgICAgICAgIHRlc3RGYWlsZWQoIkhvc3QgZGlk
IG5vdCBnZXQgc2V0IGFzIG5vbi1wcmV2YWxlbnQgcmVzb3VyY2UuIik7CisKKyAgICAgICAgdGVz
dFJ1bm5lci5zZXRTdGF0aXN0aWNzU3VicmVzb3VyY2VVbmRlclRvcEZyYW1lT3JpZ2luKHN0YXRp
c3RpY3NVcmwsIHRvcEZyYW1lT3JpZ2luMSk7CisgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlz
dGljc1N1YnJlc291cmNlVW5kZXJUb3BGcmFtZU9yaWdpbihzdGF0aXN0aWNzVXJsLCB0b3BGcmFt
ZU9yaWdpbjIpOworCisgICAgICAgIHRlc3RSdW5uZXIuc3RhdGlzdGljc0ZpcmVEYXRhTW9kaWZp
Y2F0aW9uSGFuZGxlcigpOworCisgICAgICAgIGlmICh0ZXN0UnVubmVyLmlzU3RhdGlzdGljc1By
ZXZhbGVudFJlc291cmNlKHN0YXRpc3RpY3NVcmwpKQorICAgICAgICAgICAgdGVzdEZhaWxlZCgi
SG9zdCBjbGFzc2lmaWVkIGFzIHByZXZhbGVudCByZXNvdXJjZS4iKTsKKyAgICAgICAgZWxzZQor
ICAgICAgICAgICAgdGVzdFBhc3NlZCgiSG9zdCBkaWQgbm90IGdldCBjbGFzc2lmaWVkIGFzIHBy
ZXZhbGVudCByZXNvdXJjZS4iKTsKKworICAgICAgICB0ZXN0UnVubmVyLnN0YXRpc3RpY3NSZXNl
dFRvQ29uc2lzdGVudFN0YXRlKCk7CisgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwor
ICAgIH0KKworICAgIGlmIChkb2N1bWVudC5sb2NhdGlvbi5ob3N0ID09PSBob3N0VW5kZXJUZXN0
ICYmIHdpbmRvdy50ZXN0UnVubmVyICYmIHdpbmRvdy5pbnRlcm5hbHMpIHsKKyAgICAgICAgdGVz
dFJ1bm5lci53YWl0VW50aWxEb25lKCk7CisgICAgICAgIGludGVybmFscy5zZXRSZXNvdXJjZUxv
YWRTdGF0aXN0aWNzRW5hYmxlZCh0cnVlKTsKKyAgICAgICAgcnVuVGVzdFJ1bm5lclRlc3QoKTsK
KyAgICB9Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2Fk
U3RhdGlzdGljcy9jbGFzc2lmeS1hcy1ub24tcHJldmFsZW50LWJhc2VkLW9uLXN1YnJlc291cmNl
LXVuaXF1ZS1yZWRpcmVjdHMtdG8tZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL2h0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFz
LW5vbi1wcmV2YWxlbnQtYmFzZWQtb24tc3VicmVzb3VyY2UtdW5pcXVlLXJlZGlyZWN0cy10by1l
eHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9sb2Fk
aW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtbm9uLXByZXZhbGVudC1iYXNl
ZC1vbi1zdWJyZXNvdXJjZS11bmlxdWUtcmVkaXJlY3RzLXRvLWV4cGVjdGVkLnR4dAkod29ya2lu
ZyBjb3B5KQpAQCAtMCwwICsxLDggQEAKK21haW4gZnJhbWUgLSBkaWRTdGFydFByb3Zpc2lvbmFs
TG9hZEZvckZyYW1lCittYWluIGZyYW1lIC0gZGlkQ29tbWl0TG9hZEZvckZyYW1lCittYWluIGZy
YW1lIC0gZGlkUmVjZWl2ZVRpdGxlOiBUZXN0cyBmb3IgQ2xhc3NpZmljYXRpb24gQmFzZWQgb24g
U3VicmVzb3VyY2UgVW5pcXVlIFJlZGlyZWN0cyBUbworbWFpbiBmcmFtZSAtIGRpZEZpbmlzaERv
Y3VtZW50TG9hZEZvckZyYW1lCittYWluIGZyYW1lIC0gZGlkSGFuZGxlT25sb2FkRXZlbnRzRm9y
RnJhbWUKK21haW4gZnJhbWUgLSBkaWRGaW5pc2hMb2FkRm9yRnJhbWUKK1BBU1MgSG9zdCBkaWQg
bm90IGdldCBjbGFzc2lmaWVkIGFzIHByZXZhbGVudCByZXNvdXJjZS4KKwpJbmRleDogTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnkt
YXMtbm9uLXByZXZhbGVudC1iYXNlZC1vbi1zdWJyZXNvdXJjZS11bmlxdWUtcmVkaXJlY3RzLXRv
Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291
cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtbm9uLXByZXZhbGVudC1iYXNlZC1vbi1zdWJy
ZXNvdXJjZS11bmlxdWUtcmVkaXJlY3RzLXRvLmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnkt
YXMtbm9uLXByZXZhbGVudC1iYXNlZC1vbi1zdWJyZXNvdXJjZS11bmlxdWUtcmVkaXJlY3RzLXRv
Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw0MCBAQAorPCFET0NUWVBFIGh0bWw+Cis8
aHRtbCBsYW5nPSJlbiI+Cis8aGVhZD4KKyAgICA8bWV0YSBjaGFyc2V0PSJVVEYtOCI+CisgICAg
PHRpdGxlPlRlc3RzIGZvciBDbGFzc2lmaWNhdGlvbiBCYXNlZCBvbiBTdWJyZXNvdXJjZSBVbmlx
dWUgUmVkaXJlY3RzIFRvPC90aXRsZT4KKyAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdD4KKyAg
ICBjb25zdCBob3N0VW5kZXJUZXN0ID0gIjEyNy4wLjAuMTo4MDAwIjsKKyAgICBjb25zdCBzdGF0
aXN0aWNzVXJsID0gImh0dHA6Ly8iICsgaG9zdFVuZGVyVGVzdCArICIvdGVtcCI7CisgICAgY29u
c3QgdG9wRnJhbWVPcmlnaW4xID0gImh0dHA6Ly8xMjcuMC4wLjI6ODAwMC90ZW1wIjsKKyAgICBj
b25zdCB0b3BGcmFtZU9yaWdpbjIgPSAiaHR0cDovLzEyNy4wLjAuMzo4MDAwL3RlbXAiOworICAg
IGZ1bmN0aW9uIHJ1blRlc3RSdW5uZXJUZXN0KCkgeworICAgICAgICB0ZXN0UnVubmVyLnNldFN0
YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJjZShzdGF0aXN0aWNzVXJsLCBmYWxzZSk7CisgICAgICAg
IGlmICh0ZXN0UnVubmVyLmlzU3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNlKHN0YXRpc3RpY3NV
cmwpKQorICAgICAgICAgICAgdGVzdEZhaWxlZCgiSG9zdCBkaWQgbm90IGdldCBzZXQgYXMgbm9u
LXByZXZhbGVudCByZXNvdXJjZS4iKTsKKworICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3Rp
Y3NTdWJyZXNvdXJjZVVuaXF1ZVJlZGlyZWN0VG8oc3RhdGlzdGljc1VybCwgdG9wRnJhbWVPcmln
aW4xKTsKKyAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzU3VicmVzb3VyY2VVbmlxdWVS
ZWRpcmVjdFRvKHN0YXRpc3RpY3NVcmwsIHRvcEZyYW1lT3JpZ2luMik7CisKKyAgICAgICAgdGVz
dFJ1bm5lci5zdGF0aXN0aWNzRmlyZURhdGFNb2RpZmljYXRpb25IYW5kbGVyKCk7CisKKyAgICAg
ICAgaWYgKHRlc3RSdW5uZXIuaXNTdGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2Uoc3RhdGlzdGlj
c1VybCkpCisgICAgICAgICAgICB0ZXN0RmFpbGVkKCJIb3N0IGNsYXNzaWZpZWQgYXMgcHJldmFs
ZW50IHJlc291cmNlLiIpOworICAgICAgICBlbHNlCisgICAgICAgICAgICB0ZXN0UGFzc2VkKCJI
b3N0IGRpZCBub3QgZ2V0IGNsYXNzaWZpZWQgYXMgcHJldmFsZW50IHJlc291cmNlLiIpOworCisg
ICAgICAgIHRlc3RSdW5uZXIuc3RhdGlzdGljc1Jlc2V0VG9Db25zaXN0ZW50U3RhdGUoKTsKKyAg
ICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7CisgICAgfQorCisgICAgaWYgKGRvY3VtZW50
LmxvY2F0aW9uLmhvc3QgPT09IGhvc3RVbmRlclRlc3QgJiYgd2luZG93LnRlc3RSdW5uZXIgJiYg
d2luZG93LmludGVybmFscykgeworICAgICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsK
KyAgICAgICAgaW50ZXJuYWxzLnNldFJlc291cmNlTG9hZFN0YXRpc3RpY3NFbmFibGVkKHRydWUp
OworICAgICAgICBydW5UZXN0UnVubmVyVGVzdCgpOworICAgIH0KKzwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKSW5kZXg6IExheW91dFRlc3Rz
L2h0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLXBy
ZXZhbGVudC1iYXNlZC1vbi1taXhlZC1zdGF0aXN0aWNzLWV4cGVjdGVkLnR4dAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGlj
cy9jbGFzc2lmeS1hcy1wcmV2YWxlbnQtYmFzZWQtb24tbWl4ZWQtc3RhdGlzdGljcy1leHBlY3Rl
ZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9sb2FkaW5nL3Jl
c291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtcHJldmFsZW50LWJhc2VkLW9uLW1peGVk
LXN0YXRpc3RpY3MtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsOCBAQAor
bWFpbiBmcmFtZSAtIGRpZFN0YXJ0UHJvdmlzaW9uYWxMb2FkRm9yRnJhbWUKK21haW4gZnJhbWUg
LSBkaWRDb21taXRMb2FkRm9yRnJhbWUKK21haW4gZnJhbWUgLSBkaWRSZWNlaXZlVGl0bGU6IFRl
c3RzIGZvciBDbGFzc2lmaWNhdGlvbiBCYXNlZCBvbiBNaXhlZCBTdGF0aXN0aWNzCittYWluIGZy
YW1lIC0gZGlkRmluaXNoRG9jdW1lbnRMb2FkRm9yRnJhbWUKK21haW4gZnJhbWUgLSBkaWRIYW5k
bGVPbmxvYWRFdmVudHNGb3JGcmFtZQorbWFpbiBmcmFtZSAtIGRpZEZpbmlzaExvYWRGb3JGcmFt
ZQorUEFTUyBIb3N0IGNsYXNzaWZpZWQgYXMgcHJldmFsZW50IHJlc291cmNlLgorCkluZGV4OiBM
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFz
c2lmeS1hcy1wcmV2YWxlbnQtYmFzZWQtb24tbWl4ZWQtc3RhdGlzdGljcy5odG1sCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0
aWNzL2NsYXNzaWZ5LWFzLXByZXZhbGVudC1iYXNlZC1vbi1taXhlZC1zdGF0aXN0aWNzLmh0bWwJ
KG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNl
TG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtcHJldmFsZW50LWJhc2VkLW9uLW1peGVkLXN0YXRp
c3RpY3MuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDQ5IEBACis8IURPQ1RZUEUgaHRt
bD4KKzxodG1sIGxhbmc9ImVuIj4KKzxoZWFkPgorICAgIDxtZXRhIGNoYXJzZXQ9IlVURi04Ij4K
KyAgICA8dGl0bGU+VGVzdHMgZm9yIENsYXNzaWZpY2F0aW9uIEJhc2VkIG9uIE1peGVkIFN0YXRp
c3RpY3M8L3RpdGxlPgorICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0PgorICAgIGNvbnN0IGhv
c3RVbmRlclRlc3QgPSAiMTI3LjAuMC4xOjgwMDAiOworICAgIGNvbnN0IHN0YXRpc3RpY3NVcmwg
PSAiaHR0cDovLyIgKyBob3N0VW5kZXJUZXN0ICsgIi90ZW1wIjsKKyAgICBjb25zdCB0b3BGcmFt
ZU9yaWdpbjEgPSAiaHR0cDovLzEyNy4wLjAuMjo4MDAwL3RlbXAiOworICAgIGNvbnN0IHRvcEZy
YW1lT3JpZ2luMiA9ICJodHRwOi8vMTI3LjAuMC4zOjgwMDAvdGVtcCI7CisgICAgY29uc3QgdG9w
RnJhbWVPcmlnaW4zID0gImh0dHA6Ly8xMjcuMC4wLjQ6ODAwMC90ZW1wIjsKKyAgICBjb25zdCB0
b3BGcmFtZU9yaWdpbjQgPSAiaHR0cDovLzEyNy4wLjAuNTo4MDAwL3RlbXAiOworICAgIGZ1bmN0
aW9uIHJ1blRlc3RSdW5uZXJUZXN0KCkgeworICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3Rp
Y3NQcmV2YWxlbnRSZXNvdXJjZShzdGF0aXN0aWNzVXJsLCBmYWxzZSk7CisgICAgICAgIGlmICh0
ZXN0UnVubmVyLmlzU3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNlKHN0YXRpc3RpY3NVcmwpKQor
ICAgICAgICAgICAgdGVzdEZhaWxlZCgiSG9zdCBkaWQgbm90IGdldCBzZXQgYXMgbm9uLXByZXZh
bGVudCByZXNvdXJjZS4iKTsKKworICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NTdWJm
cmFtZVVuZGVyVG9wRnJhbWVPcmlnaW4oc3RhdGlzdGljc1VybCwgdG9wRnJhbWVPcmlnaW4xKTsK
KyAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzU3ViZnJhbWVVbmRlclRvcEZyYW1lT3Jp
Z2luKHN0YXRpc3RpY3NVcmwsIHRvcEZyYW1lT3JpZ2luNCk7CisKKyAgICAgICAgdGVzdFJ1bm5l
ci5zZXRTdGF0aXN0aWNzU3VicmVzb3VyY2VVbmRlclRvcEZyYW1lT3JpZ2luKHN0YXRpc3RpY3NV
cmwsIHRvcEZyYW1lT3JpZ2luMik7CisgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1N1
YnJlc291cmNlVW5kZXJUb3BGcmFtZU9yaWdpbihzdGF0aXN0aWNzVXJsLCB0b3BGcmFtZU9yaWdp
bjMpOworICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NTdWJyZXNvdXJjZVVuZGVyVG9w
RnJhbWVPcmlnaW4oc3RhdGlzdGljc1VybCwgdG9wRnJhbWVPcmlnaW40KTsKKworICAgICAgICB0
ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NTdWJyZXNvdXJjZVVuaXF1ZVJlZGlyZWN0VG8oc3RhdGlz
dGljc1VybCwgdG9wRnJhbWVPcmlnaW4zKTsKKyAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0
aWNzU3VicmVzb3VyY2VVbmlxdWVSZWRpcmVjdFRvKHN0YXRpc3RpY3NVcmwsIHRvcEZyYW1lT3Jp
Z2luMSk7CisKKyAgICAgICAgdGVzdFJ1bm5lci5zdGF0aXN0aWNzRmlyZURhdGFNb2RpZmljYXRp
b25IYW5kbGVyKCk7CisKKyAgICAgICAgaWYgKCF0ZXN0UnVubmVyLmlzU3RhdGlzdGljc1ByZXZh
bGVudFJlc291cmNlKHN0YXRpc3RpY3NVcmwpKQorICAgICAgICAgICAgdGVzdEZhaWxlZCgiSG9z
dCBkaWQgbm90IGdldCBjbGFzc2lmaWVkIGFzIHByZXZhbGVudCByZXNvdXJjZS4iKTsKKyAgICAg
ICAgZWxzZQorICAgICAgICAgICAgdGVzdFBhc3NlZCgiSG9zdCBjbGFzc2lmaWVkIGFzIHByZXZh
bGVudCByZXNvdXJjZS4iKTsKKworICAgICAgICB0ZXN0UnVubmVyLnN0YXRpc3RpY3NSZXNldFRv
Q29uc2lzdGVudFN0YXRlKCk7CisgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOworICAg
IH0KKworICAgIGlmIChkb2N1bWVudC5sb2NhdGlvbi5ob3N0ID09PSBob3N0VW5kZXJUZXN0ICYm
IHdpbmRvdy50ZXN0UnVubmVyICYmIHdpbmRvdy5pbnRlcm5hbHMpIHsKKyAgICAgICAgdGVzdFJ1
bm5lci53YWl0VW50aWxEb25lKCk7CisgICAgICAgIGludGVybmFscy5zZXRSZXNvdXJjZUxvYWRT
dGF0aXN0aWNzRW5hYmxlZCh0cnVlKTsKKyAgICAgICAgcnVuVGVzdFJ1bm5lclRlc3QoKTsKKyAg
ICB9Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3Rh
dGlzdGljcy9jbGFzc2lmeS1hcy1wcmV2YWxlbnQtYmFzZWQtb24tc3ViLWZyYW1lLXVuZGVyLXRv
cC1mcmFtZS1vcmlnaW5zLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1wcmV2
YWxlbnQtYmFzZWQtb24tc3ViLWZyYW1lLXVuZGVyLXRvcC1mcmFtZS1vcmlnaW5zLWV4cGVjdGVk
LnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2xvYWRpbmcvcmVz
b3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1wcmV2YWxlbnQtYmFzZWQtb24tc3ViLWZy
YW1lLXVuZGVyLXRvcC1mcmFtZS1vcmlnaW5zLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpA
QCAtMCwwICsxLDggQEAKK21haW4gZnJhbWUgLSBkaWRTdGFydFByb3Zpc2lvbmFsTG9hZEZvckZy
YW1lCittYWluIGZyYW1lIC0gZGlkQ29tbWl0TG9hZEZvckZyYW1lCittYWluIGZyYW1lIC0gZGlk
UmVjZWl2ZVRpdGxlOiBUZXN0cyBmb3IgQ2xhc3NpZmljYXRpb24gQmFzZWQgb24gU3ViIEZyYW1l
IFVuZGVyIFRvcCBGcmFtZSBPcmlnaW5zCittYWluIGZyYW1lIC0gZGlkRmluaXNoRG9jdW1lbnRM
b2FkRm9yRnJhbWUKK21haW4gZnJhbWUgLSBkaWRIYW5kbGVPbmxvYWRFdmVudHNGb3JGcmFtZQor
bWFpbiBmcmFtZSAtIGRpZEZpbmlzaExvYWRGb3JGcmFtZQorUEFTUyBIb3N0IGNsYXNzaWZpZWQg
YXMgcHJldmFsZW50IHJlc291cmNlLgorCkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2xv
YWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1wcmV2YWxlbnQtYmFzZWQt
b24tc3ViLWZyYW1lLXVuZGVyLXRvcC1mcmFtZS1vcmlnaW5zLmh0bWwKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xh
c3NpZnktYXMtcHJldmFsZW50LWJhc2VkLW9uLXN1Yi1mcmFtZS11bmRlci10b3AtZnJhbWUtb3Jp
Z2lucy5odG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvbG9hZGlu
Zy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLXByZXZhbGVudC1iYXNlZC1vbi1z
dWItZnJhbWUtdW5kZXItdG9wLWZyYW1lLW9yaWdpbnMuaHRtbAkod29ya2luZyBjb3B5KQpAQCAt
MCwwICsxLDQ0IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sIGxhbmc9ImVuIj4KKzxoZWFkPgor
ICAgIDxtZXRhIGNoYXJzZXQ9IlVURi04Ij4KKyAgICA8dGl0bGU+VGVzdHMgZm9yIENsYXNzaWZp
Y2F0aW9uIEJhc2VkIG9uIFN1YiBGcmFtZSBVbmRlciBUb3AgRnJhbWUgT3JpZ2luczwvdGl0bGU+
CisgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3Jp
cHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQ+CisgICAgY29uc3QgaG9zdFVuZGVyVGVzdCA9
ICIxMjcuMC4wLjE6ODAwMCI7CisgICAgY29uc3Qgc3RhdGlzdGljc1VybCA9ICJodHRwOi8vIiAr
IGhvc3RVbmRlclRlc3QgKyAiL3RlbXAiOworICAgIGNvbnN0IHRvcEZyYW1lT3JpZ2luMSA9ICJo
dHRwOi8vMTI3LjAuMC4yOjgwMDAvdGVtcCI7CisgICAgY29uc3QgdG9wRnJhbWVPcmlnaW4yID0g
Imh0dHA6Ly8xMjcuMC4wLjM6ODAwMC90ZW1wIjsKKyAgICBjb25zdCB0b3BGcmFtZU9yaWdpbjMg
PSAiaHR0cDovLzEyNy4wLjAuNDo4MDAwL3RlbXAiOworICAgIGNvbnN0IHRvcEZyYW1lT3JpZ2lu
NCA9ICJodHRwOi8vMTI3LjAuMC41OjgwMDAvdGVtcCI7CisgICAgZnVuY3Rpb24gcnVuVGVzdFJ1
bm5lclRlc3QoKSB7CisgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1ByZXZhbGVudFJl
c291cmNlKHN0YXRpc3RpY3NVcmwsIGZhbHNlKTsKKyAgICAgICAgaWYgKHRlc3RSdW5uZXIuaXNT
dGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2Uoc3RhdGlzdGljc1VybCkpCisgICAgICAgICAgICB0
ZXN0RmFpbGVkKCJIb3N0IGRpZCBub3QgZ2V0IHNldCBhcyBub24tcHJldmFsZW50IHJlc291cmNl
LiIpOworCisgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1N1YmZyYW1lVW5kZXJUb3BG
cmFtZU9yaWdpbihzdGF0aXN0aWNzVXJsLCB0b3BGcmFtZU9yaWdpbjEpOworICAgICAgICB0ZXN0
UnVubmVyLnNldFN0YXRpc3RpY3NTdWJmcmFtZVVuZGVyVG9wRnJhbWVPcmlnaW4oc3RhdGlzdGlj
c1VybCwgdG9wRnJhbWVPcmlnaW4yKTsKKyAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNz
U3ViZnJhbWVVbmRlclRvcEZyYW1lT3JpZ2luKHN0YXRpc3RpY3NVcmwsIHRvcEZyYW1lT3JpZ2lu
Myk7CisgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1N1YmZyYW1lVW5kZXJUb3BGcmFt
ZU9yaWdpbihzdGF0aXN0aWNzVXJsLCB0b3BGcmFtZU9yaWdpbjQpOworCisgICAgICAgIHRlc3RS
dW5uZXIuc3RhdGlzdGljc0ZpcmVEYXRhTW9kaWZpY2F0aW9uSGFuZGxlcigpOworCisgICAgICAg
IGlmICghdGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJjZShzdGF0aXN0aWNz
VXJsKSkKKyAgICAgICAgICAgIHRlc3RGYWlsZWQoIkhvc3QgZGlkIG5vdCBnZXQgY2xhc3NpZmll
ZCBhcyBwcmV2YWxlbnQgcmVzb3VyY2UuIik7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIHRl
c3RQYXNzZWQoIkhvc3QgY2xhc3NpZmllZCBhcyBwcmV2YWxlbnQgcmVzb3VyY2UuIik7CisKKyAg
ICAgICAgdGVzdFJ1bm5lci5zdGF0aXN0aWNzUmVzZXRUb0NvbnNpc3RlbnRTdGF0ZSgpOworICAg
ICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKKyAgICB9CisKKyAgICBpZiAoZG9jdW1lbnQu
bG9jYXRpb24uaG9zdCA9PT0gaG9zdFVuZGVyVGVzdCAmJiB3aW5kb3cudGVzdFJ1bm5lciAmJiB3
aW5kb3cuaW50ZXJuYWxzKSB7CisgICAgICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwor
ICAgICAgICBpbnRlcm5hbHMuc2V0UmVzb3VyY2VMb2FkU3RhdGlzdGljc0VuYWJsZWQodHJ1ZSk7
CisgICAgICAgIHJ1blRlc3RSdW5uZXJUZXN0KCk7CisgICAgfQorPC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpJbmRleDogTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtcHJl
dmFsZW50LWJhc2VkLW9uLXN1YnJlc291cmNlLXVuZGVyLXRvcC1mcmFtZS1vcmlnaW5zLWV4cGVj
dGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2xvYWRpbmcvcmVz
b3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1wcmV2YWxlbnQtYmFzZWQtb24tc3VicmVz
b3VyY2UtdW5kZXItdG9wLWZyYW1lLW9yaWdpbnMtZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkK
KysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNz
L2NsYXNzaWZ5LWFzLXByZXZhbGVudC1iYXNlZC1vbi1zdWJyZXNvdXJjZS11bmRlci10b3AtZnJh
bWUtb3JpZ2lucy1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw4IEBACitt
YWluIGZyYW1lIC0gZGlkU3RhcnRQcm92aXNpb25hbExvYWRGb3JGcmFtZQorbWFpbiBmcmFtZSAt
IGRpZENvbW1pdExvYWRGb3JGcmFtZQorbWFpbiBmcmFtZSAtIGRpZFJlY2VpdmVUaXRsZTogVGVz
dHMgZm9yIENsYXNzaWZpY2F0aW9uIEJhc2VkIG9uIFN1YnJlc291cmNlIFVuZGVyIFRvcCBGcmFt
ZSBPcmlnaW5zCittYWluIGZyYW1lIC0gZGlkRmluaXNoRG9jdW1lbnRMb2FkRm9yRnJhbWUKK21h
aW4gZnJhbWUgLSBkaWRIYW5kbGVPbmxvYWRFdmVudHNGb3JGcmFtZQorbWFpbiBmcmFtZSAtIGRp
ZEZpbmlzaExvYWRGb3JGcmFtZQorUEFTUyBIb3N0IGNsYXNzaWZpZWQgYXMgcHJldmFsZW50IHJl
c291cmNlLgorCkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VM
b2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1wcmV2YWxlbnQtYmFzZWQtb24tc3VicmVzb3VyY2Ut
dW5kZXItdG9wLWZyYW1lLW9yaWdpbnMuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1wcmV2
YWxlbnQtYmFzZWQtb24tc3VicmVzb3VyY2UtdW5kZXItdG9wLWZyYW1lLW9yaWdpbnMuaHRtbAko
bm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VM
b2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1wcmV2YWxlbnQtYmFzZWQtb24tc3VicmVzb3VyY2Ut
dW5kZXItdG9wLWZyYW1lLW9yaWdpbnMuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDQ0
IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sIGxhbmc9ImVuIj4KKzxoZWFkPgorICAgIDxtZXRh
IGNoYXJzZXQ9IlVURi04Ij4KKyAgICA8dGl0bGU+VGVzdHMgZm9yIENsYXNzaWZpY2F0aW9uIEJh
c2VkIG9uIFN1YnJlc291cmNlIFVuZGVyIFRvcCBGcmFtZSBPcmlnaW5zPC90aXRsZT4KKyAgICA8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHNjcmlwdD4KKyAgICBjb25zdCBob3N0VW5kZXJUZXN0ID0gIjEyNy4w
LjAuMTo4MDAwIjsKKyAgICBjb25zdCBzdGF0aXN0aWNzVXJsID0gImh0dHA6Ly8iICsgaG9zdFVu
ZGVyVGVzdCArICIvdGVtcCI7CisgICAgY29uc3QgdG9wRnJhbWVPcmlnaW4xID0gImh0dHA6Ly8x
MjcuMC4wLjI6ODAwMC90ZW1wIjsKKyAgICBjb25zdCB0b3BGcmFtZU9yaWdpbjIgPSAiaHR0cDov
LzEyNy4wLjAuMzo4MDAwL3RlbXAiOworICAgIGNvbnN0IHRvcEZyYW1lT3JpZ2luMyA9ICJodHRw
Oi8vMTI3LjAuMC40OjgwMDAvdGVtcCI7CisgICAgY29uc3QgdG9wRnJhbWVPcmlnaW40ID0gImh0
dHA6Ly8xMjcuMC4wLjU6ODAwMC90ZW1wIjsKKyAgICBmdW5jdGlvbiBydW5UZXN0UnVubmVyVGVz
dCgpIHsKKyAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2Uo
c3RhdGlzdGljc1VybCwgZmFsc2UpOworICAgICAgICBpZiAodGVzdFJ1bm5lci5pc1N0YXRpc3Rp
Y3NQcmV2YWxlbnRSZXNvdXJjZShzdGF0aXN0aWNzVXJsKSkKKyAgICAgICAgICAgIHRlc3RGYWls
ZWQoIkhvc3QgZGlkIG5vdCBnZXQgc2V0IGFzIG5vbi1wcmV2YWxlbnQgcmVzb3VyY2UuIik7CisK
KyAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzU3VicmVzb3VyY2VVbmRlclRvcEZyYW1l
T3JpZ2luKHN0YXRpc3RpY3NVcmwsIHRvcEZyYW1lT3JpZ2luMSk7CisgICAgICAgIHRlc3RSdW5u
ZXIuc2V0U3RhdGlzdGljc1N1YnJlc291cmNlVW5kZXJUb3BGcmFtZU9yaWdpbihzdGF0aXN0aWNz
VXJsLCB0b3BGcmFtZU9yaWdpbjIpOworICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NT
dWJyZXNvdXJjZVVuZGVyVG9wRnJhbWVPcmlnaW4oc3RhdGlzdGljc1VybCwgdG9wRnJhbWVPcmln
aW4zKTsKKyAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzU3VicmVzb3VyY2VVbmRlclRv
cEZyYW1lT3JpZ2luKHN0YXRpc3RpY3NVcmwsIHRvcEZyYW1lT3JpZ2luNCk7CisKKyAgICAgICAg
dGVzdFJ1bm5lci5zdGF0aXN0aWNzRmlyZURhdGFNb2RpZmljYXRpb25IYW5kbGVyKCk7CisKKyAg
ICAgICAgaWYgKCF0ZXN0UnVubmVyLmlzU3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNlKHN0YXRp
c3RpY3NVcmwpKQorICAgICAgICAgICAgdGVzdEZhaWxlZCgiSG9zdCBkaWQgbm90IGdldCBjbGFz
c2lmaWVkIGFzIHByZXZhbGVudCByZXNvdXJjZS4iKTsKKyAgICAgICAgZWxzZQorICAgICAgICAg
ICAgdGVzdFBhc3NlZCgiSG9zdCBjbGFzc2lmaWVkIGFzIHByZXZhbGVudCByZXNvdXJjZS4iKTsK
KworICAgICAgICB0ZXN0UnVubmVyLnN0YXRpc3RpY3NSZXNldFRvQ29uc2lzdGVudFN0YXRlKCk7
CisgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOworICAgIH0KKworICAgIGlmIChkb2N1
bWVudC5sb2NhdGlvbi5ob3N0ID09PSBob3N0VW5kZXJUZXN0ICYmIHdpbmRvdy50ZXN0UnVubmVy
ICYmIHdpbmRvdy5pbnRlcm5hbHMpIHsKKyAgICAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25l
KCk7CisgICAgICAgIGludGVybmFscy5zZXRSZXNvdXJjZUxvYWRTdGF0aXN0aWNzRW5hYmxlZCh0
cnVlKTsKKyAgICAgICAgcnVuVGVzdFJ1bm5lclRlc3QoKTsKKyAgICB9Cis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCkluZGV4OiBMYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1h
cy1wcmV2YWxlbnQtYmFzZWQtb24tc3VicmVzb3VyY2UtdW5pcXVlLXJlZGlyZWN0cy10by1leHBl
Y3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9sb2FkaW5nL3Jl
c291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtcHJldmFsZW50LWJhc2VkLW9uLXN1YnJl
c291cmNlLXVuaXF1ZS1yZWRpcmVjdHMtdG8tZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKKysr
IExheW91dFRlc3RzL2h0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2Ns
YXNzaWZ5LWFzLXByZXZhbGVudC1iYXNlZC1vbi1zdWJyZXNvdXJjZS11bmlxdWUtcmVkaXJlY3Rz
LXRvLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDggQEAKK21haW4gZnJh
bWUgLSBkaWRTdGFydFByb3Zpc2lvbmFsTG9hZEZvckZyYW1lCittYWluIGZyYW1lIC0gZGlkQ29t
bWl0TG9hZEZvckZyYW1lCittYWluIGZyYW1lIC0gZGlkUmVjZWl2ZVRpdGxlOiBUZXN0cyBmb3Ig
Q2xhc3NpZmljYXRpb24gQmFzZWQgb24gU3VicmVzb3VyY2UgVW5pcXVlIFJlZGlyZWN0cyBUbwor
bWFpbiBmcmFtZSAtIGRpZEZpbmlzaERvY3VtZW50TG9hZEZvckZyYW1lCittYWluIGZyYW1lIC0g
ZGlkSGFuZGxlT25sb2FkRXZlbnRzRm9yRnJhbWUKK21haW4gZnJhbWUgLSBkaWRGaW5pc2hMb2Fk
Rm9yRnJhbWUKK1BBU1MgSG9zdCBjbGFzc2lmaWVkIGFzIHByZXZhbGVudCByZXNvdXJjZS4KKwpJ
bmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0YXRpc3Rp
Y3MvY2xhc3NpZnktYXMtcHJldmFsZW50LWJhc2VkLW9uLXN1YnJlc291cmNlLXVuaXF1ZS1yZWRp
cmVjdHMtdG8uaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2xvYWRp
bmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1wcmV2YWxlbnQtYmFzZWQtb24t
c3VicmVzb3VyY2UtdW5pcXVlLXJlZGlyZWN0cy10by5odG1sCShub25leGlzdGVudCkKKysrIExh
eW91dFRlc3RzL2h0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNz
aWZ5LWFzLXByZXZhbGVudC1iYXNlZC1vbi1zdWJyZXNvdXJjZS11bmlxdWUtcmVkaXJlY3RzLXRv
Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw0NCBAQAorPCFET0NUWVBFIGh0bWw+Cis8
aHRtbCBsYW5nPSJlbiI+Cis8aGVhZD4KKyAgICA8bWV0YSBjaGFyc2V0PSJVVEYtOCI+CisgICAg
PHRpdGxlPlRlc3RzIGZvciBDbGFzc2lmaWNhdGlvbiBCYXNlZCBvbiBTdWJyZXNvdXJjZSBVbmlx
dWUgUmVkaXJlY3RzIFRvPC90aXRsZT4KKyAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdD4KKyAg
ICBjb25zdCBob3N0VW5kZXJUZXN0ID0gIjEyNy4wLjAuMTo4MDAwIjsKKyAgICBjb25zdCBzdGF0
aXN0aWNzVXJsID0gImh0dHA6Ly8iICsgaG9zdFVuZGVyVGVzdCArICIvdGVtcCI7CisgICAgY29u
c3QgdG9wRnJhbWVPcmlnaW4xID0gImh0dHA6Ly8xMjcuMC4wLjI6ODAwMC90ZW1wIjsKKyAgICBj
b25zdCB0b3BGcmFtZU9yaWdpbjIgPSAiaHR0cDovLzEyNy4wLjAuMzo4MDAwL3RlbXAiOworICAg
IGNvbnN0IHRvcEZyYW1lT3JpZ2luMyA9ICJodHRwOi8vMTI3LjAuMC40OjgwMDAvdGVtcCI7Cisg
ICAgY29uc3QgdG9wRnJhbWVPcmlnaW40ID0gImh0dHA6Ly8xMjcuMC4wLjU6ODAwMC90ZW1wIjsK
KyAgICBmdW5jdGlvbiBydW5UZXN0UnVubmVyVGVzdCgpIHsKKyAgICAgICAgdGVzdFJ1bm5lci5z
ZXRTdGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2Uoc3RhdGlzdGljc1VybCwgZmFsc2UpOworICAg
ICAgICBpZiAodGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJjZShzdGF0aXN0
aWNzVXJsKSkKKyAgICAgICAgICAgIHRlc3RGYWlsZWQoIkhvc3QgZGlkIG5vdCBnZXQgc2V0IGFz
IG5vbi1wcmV2YWxlbnQgcmVzb3VyY2UuIik7CisKKyAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0
aXN0aWNzU3VicmVzb3VyY2VVbmlxdWVSZWRpcmVjdFRvKHN0YXRpc3RpY3NVcmwsIHRvcEZyYW1l
T3JpZ2luMSk7CisgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1N1YnJlc291cmNlVW5p
cXVlUmVkaXJlY3RUbyhzdGF0aXN0aWNzVXJsLCB0b3BGcmFtZU9yaWdpbjIpOworICAgICAgICB0
ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NTdWJyZXNvdXJjZVVuaXF1ZVJlZGlyZWN0VG8oc3RhdGlz
dGljc1VybCwgdG9wRnJhbWVPcmlnaW4zKTsKKyAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0
aWNzU3VicmVzb3VyY2VVbmlxdWVSZWRpcmVjdFRvKHN0YXRpc3RpY3NVcmwsIHRvcEZyYW1lT3Jp
Z2luNCk7CisKKyAgICAgICAgdGVzdFJ1bm5lci5zdGF0aXN0aWNzRmlyZURhdGFNb2RpZmljYXRp
b25IYW5kbGVyKCk7CisKKyAgICAgICAgaWYgKCF0ZXN0UnVubmVyLmlzU3RhdGlzdGljc1ByZXZh
bGVudFJlc291cmNlKHN0YXRpc3RpY3NVcmwpKQorICAgICAgICAgICAgdGVzdEZhaWxlZCgiSG9z
dCBkaWQgbm90IGdldCBjbGFzc2lmaWVkIGFzIHByZXZhbGVudCByZXNvdXJjZS4iKTsKKyAgICAg
ICAgZWxzZQorICAgICAgICAgICAgdGVzdFBhc3NlZCgiSG9zdCBjbGFzc2lmaWVkIGFzIHByZXZh
bGVudCByZXNvdXJjZS4iKTsKKworICAgICAgICB0ZXN0UnVubmVyLnN0YXRpc3RpY3NSZXNldFRv
Q29uc2lzdGVudFN0YXRlKCk7CisgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOworICAg
IH0KKworICAgIGlmIChkb2N1bWVudC5sb2NhdGlvbi5ob3N0ID09PSBob3N0VW5kZXJUZXN0ICYm
IHdpbmRvdy50ZXN0UnVubmVyICYmIHdpbmRvdy5pbnRlcm5hbHMpIHsKKyAgICAgICAgdGVzdFJ1
bm5lci53YWl0VW50aWxEb25lKCk7CisgICAgICAgIGludGVybmFscy5zZXRSZXNvdXJjZUxvYWRT
dGF0aXN0aWNzRW5hYmxlZCh0cnVlKTsKKyAgICAgICAgcnVuVGVzdFJ1bm5lclRlc3QoKTsKKyAg
ICB9Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS93azIvVGVzdEV4cGVjdGF0aW9ucwo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS93azIvVGVzdEV4cGVjdGF0aW9ucwkocmV2
aXNpb24gMjEyMjMwKQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2syL1Rlc3RFeHBlY3RhdGlv
bnMJKHdvcmtpbmcgY29weSkKQEAgLTY5OCw4ICs2OTgsMjEgQEAgaHR0cC90ZXN0cy9taXNjL3dp
bGwtc2VuZC1yZXF1ZXN0LXdpdGgtYwogIyBidWcgMTYyMjgxCiBpbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2ZldGNoL2FwaS9yZXF1ZXN0L3JlcXVlc3QtY2FjaGUtb25seS1pZi1jYWNo
ZWQuaHRtbCBbIEZhaWx1cmUgXQogCi0jIFJlc291cmNlIExvYWQgU3RhdGlzdGljcyBhcmUgb25s
eSBzdXBwb3J0ZWQgaW4gV2ViS2l0MgotaHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0
YXRpc3RpY3MvIFsgUGFzcyBdCisjIFJlc291cmNlIExvYWQgU3RhdGlzdGljcyBhcmUgb25seSBz
dXBwb3J0ZWQgaW4gV2ViS2l0Mi4KKyMgTWFya2luZyBmaXJzdCBmaXZlIGFzIHRpbWVvdXQgdW50
aWwgPGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjgyNjI+IGlzIGZp
eGVkLgoraHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvbm9uLXByZXZh
bGVudC1yZXNvdXJjZS13aXRoLXVzZXItaW50ZXJhY3Rpb24uaHRtbCBbIFBhc3MgVGltZW91dCBd
CitodHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9wcmV2YWxlbnQtcmVz
b3VyY2Utd2l0aC11c2VyLWludGVyYWN0aW9uLmh0bWwgWyBQYXNzIFRpbWVvdXQgXQoraHR0cC90
ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvbm9uLXByZXZhbGVudC1yZXNvdXJj
ZS13aXRob3V0LXVzZXItaW50ZXJhY3Rpb24uaHRtbCBbIFBhc3MgVGltZW91dCBdCitodHRwL3Rl
c3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9wcmV2YWxlbnQtcmVzb3VyY2Utd2l0
aG91dC11c2VyLWludGVyYWN0aW9uLmh0bWwgWyBQYXNzIFRpbWVvdXQgXQoraHR0cC90ZXN0cy9s
b2FkaW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvcHJldmFsZW50LXJlc291cmNlLXdpdGgtdXNl
ci1pbnRlcmFjdGlvbi10aW1lb3V0Lmh0bWwgWyBQYXNzIFRpbWVvdXQgXQoraHR0cC90ZXN0cy9s
b2FkaW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtbm9uLXByZXZhbGVudC1i
YXNlZC1vbi1taXhlZC1zdGF0aXN0aWNzLmh0bWwgWyBQYXNzIF0KK2h0dHAvdGVzdHMvbG9hZGlu
Zy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLW5vbi1wcmV2YWxlbnQtYmFzZWQt
b24tc3ViLWZyYW1lLXVuZGVyLXRvcC1mcmFtZS1vcmlnaW5zLmh0bWwgWyBQYXNzIF0KK2h0dHAv
dGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLW5vbi1wcmV2
YWxlbnQtYmFzZWQtb24tc3VicmVzb3VyY2UtdW5kZXItdG9wLWZyYW1lLW9yaWdpbnMuaHRtbCBb
IFBhc3MgXQoraHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3Np
ZnktYXMtbm9uLXByZXZhbGVudC1iYXNlZC1vbi1zdWJyZXNvdXJjZS11bmlxdWUtcmVkaXJlY3Rz
LXRvLmh0bWwgWyBQYXNzIF0KK2h0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0
aWNzL2NsYXNzaWZ5LWFzLXByZXZhbGVudC1iYXNlZC1vbi1taXhlZC1zdGF0aXN0aWNzLmh0bWwg
WyBQYXNzIF0KK2h0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNz
aWZ5LWFzLXByZXZhbGVudC1iYXNlZC1vbi1zdWItZnJhbWUtdW5kZXItdG9wLWZyYW1lLW9yaWdp
bnMuaHRtbCBbIFBhc3MgXQoraHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0YXRpc3Rp
Y3MvY2xhc3NpZnktYXMtcHJldmFsZW50LWJhc2VkLW9uLXN1YnJlc291cmNlLXVuZGVyLXRvcC1m
cmFtZS1vcmlnaW5zLmh0bWwgWyBQYXNzIF0KK2h0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxv
YWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLXByZXZhbGVudC1iYXNlZC1vbi1zdWJyZXNvdXJjZS11
bmlxdWUtcmVkaXJlY3RzLXRvLmh0bWwgWyBQYXNzIF0KIAogIyMjIEVORCBPRiAoNSkgUHJvZ3Jl
c3Npb25zLCBleHBlY3RlZCBzdWNjZXNzZXMgdGhhdCBhcmUgZXhwZWN0ZWQgZmFpbHVyZXMgaW4g
V2ViS2l0MS4KICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>301858</attachid>
            <date>2017-02-16 16:54:28 -0800</date>
            <delta_ts>2017-02-16 17:05:39 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-168347-20170216165151.patch</filename>
            <type>text/plain</type>
            <size>113398</size>
            <attacher name="John Wilander">wilander</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDIxMjQzOSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI4IEBACisyMDE3LTAyLTE2ICBKb2huIFdp
bGFuZGVyICA8d2lsYW5kZXJAYXBwbGUuY29tPgorCisgICAgICAgIFJlc291cmNlIExvYWQgU3Rh
dGlzdGljczogQWRkIGFsdGVybmF0ZSBjbGFzc2lmaWNhdGlvbiBtZXRob2QKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2ODM0NworICAgICAgICA8cmRh
cjovL3Byb2JsZW0vMzAzNTI3OTM+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgVGhpcyBwYXRjaCBvbmx5IGFkZHMgdGVzdCBpbmZyYXN0cnVjdHVyZSBp
biBXZWJDb3JlLgorCisgICAgICAgIFRlc3RzOiBodHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VM
b2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1ub24tcHJldmFsZW50LWJhc2VkLW9uLW1peGVkLXN0
YXRpc3RpY3MuaHRtbAorICAgICAgICAgICAgICAgaHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNl
TG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtbm9uLXByZXZhbGVudC1iYXNlZC1vbi1zdWItZnJh
bWUtdW5kZXItdG9wLWZyYW1lLW9yaWdpbnMuaHRtbAorICAgICAgICAgICAgICAgaHR0cC90ZXN0
cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtbm9uLXByZXZhbGVu
dC1iYXNlZC1vbi1zdWJyZXNvdXJjZS11bmRlci10b3AtZnJhbWUtb3JpZ2lucy5odG1sCisgICAg
ICAgICAgICAgICBodHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFz
c2lmeS1hcy1ub24tcHJldmFsZW50LWJhc2VkLW9uLXN1YnJlc291cmNlLXVuaXF1ZS1yZWRpcmVj
dHMtdG8uaHRtbAorICAgICAgICAgICAgICAgaHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9h
ZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtcHJldmFsZW50LWJhc2VkLW9uLW1peGVkLXN0YXRpc3Rp
Y3MuaHRtbAorICAgICAgICAgICAgICAgaHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0
YXRpc3RpY3MvY2xhc3NpZnktYXMtcHJldmFsZW50LWJhc2VkLW9uLXN1Yi1mcmFtZS11bmRlci10
b3AtZnJhbWUtb3JpZ2lucy5odG1sCisgICAgICAgICAgICAgICBodHRwL3Rlc3RzL2xvYWRpbmcv
cmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1wcmV2YWxlbnQtYmFzZWQtb24tc3Vi
cmVzb3VyY2UtdW5kZXItdG9wLWZyYW1lLW9yaWdpbnMuaHRtbAorICAgICAgICAgICAgICAgaHR0
cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtcHJldmFs
ZW50LWJhc2VkLW9uLXN1YnJlc291cmNlLXVuaXF1ZS1yZWRpcmVjdHMtdG8uaHRtbAorCisgICAg
ICAgICogbG9hZGVyL1Jlc291cmNlTG9hZE9ic2VydmVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OlJlc291cmNlTG9hZE9ic2VydmVyOjpzZXRTdWJmcmFtZVVuZGVyVG9wRnJhbWVPcmlnaW4pOgor
ICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VMb2FkT2JzZXJ2ZXI6OnNldFN1YnJlc291cmNlVW5k
ZXJUb3BGcmFtZU9yaWdpbik6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZUxvYWRPYnNlcnZl
cjo6c2V0U3VicmVzb3VyY2VVbmlxdWVSZWRpcmVjdFRvKToKKyAgICAgICAgKiBsb2FkZXIvUmVz
b3VyY2VMb2FkT2JzZXJ2ZXIuaDoKKwogMjAxNy0wMi0xNiAgU2ltb24gRnJhc2VyICA8c2ltb24u
ZnJhc2VyQGFwcGxlLmNvbT4KIAogICAgICAgICBDbGVhbiB1cCB1c2Ugb2Ygc29tZSBDQUxheWVy
LXJlbGF0ZWQgU1BJCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VMb2FkT2Jz
ZXJ2ZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZUxv
YWRPYnNlcnZlci5jcHAJKHJldmlzaW9uIDIxMjQzOSkKKysrIFNvdXJjZS9XZWJDb3JlL2xvYWRl
ci9SZXNvdXJjZUxvYWRPYnNlcnZlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM3NSw2ICszNzUs
MzMgQEAgdm9pZCBSZXNvdXJjZUxvYWRPYnNlcnZlcjo6Y2xlYXJQcmV2YWxlbgogICAgIHN0YXRp
c3RpY3MuaXNQcmV2YWxlbnRSZXNvdXJjZSA9IGZhbHNlOwogfQogCit2b2lkIFJlc291cmNlTG9h
ZE9ic2VydmVyOjpzZXRTdWJmcmFtZVVuZGVyVG9wRnJhbWVPcmlnaW4oY29uc3QgVVJMJiBzdWJm
cmFtZSwgY29uc3QgVVJMJiB0b3BGcmFtZSkKK3sKKyAgICBpZiAoc3ViZnJhbWUuaXNCbGFua1VS
TCgpIHx8IHN1YmZyYW1lLmlzRW1wdHkoKSB8fCB0b3BGcmFtZS5pc0JsYW5rVVJMKCkgfHwgdG9w
RnJhbWUuaXNFbXB0eSgpKQorICAgICAgICByZXR1cm47CisgICAgCisgICAgYXV0byYgc3RhdGlz
dGljcyA9IG1fc3RvcmUtPmVuc3VyZVJlc291cmNlU3RhdGlzdGljc0ZvclByaW1hcnlEb21haW4o
cHJpbWFyeURvbWFpbihzdWJmcmFtZSkpOworICAgIHN0YXRpc3RpY3Muc3ViZnJhbWVVbmRlclRv
cEZyYW1lT3JpZ2lucy5hZGQocHJpbWFyeURvbWFpbih0b3BGcmFtZSkpOworfQorCit2b2lkIFJl
c291cmNlTG9hZE9ic2VydmVyOjpzZXRTdWJyZXNvdXJjZVVuZGVyVG9wRnJhbWVPcmlnaW4oY29u
c3QgVVJMJiBzdWJyZXNvdXJjZSwgY29uc3QgVVJMJiB0b3BGcmFtZSkKK3sKKyAgICBpZiAoc3Vi
cmVzb3VyY2UuaXNCbGFua1VSTCgpIHx8IHN1YnJlc291cmNlLmlzRW1wdHkoKSB8fCB0b3BGcmFt
ZS5pc0JsYW5rVVJMKCkgfHwgdG9wRnJhbWUuaXNFbXB0eSgpKQorICAgICAgICByZXR1cm47Cisg
ICAgCisgICAgYXV0byYgc3RhdGlzdGljcyA9IG1fc3RvcmUtPmVuc3VyZVJlc291cmNlU3RhdGlz
dGljc0ZvclByaW1hcnlEb21haW4ocHJpbWFyeURvbWFpbihzdWJyZXNvdXJjZSkpOworICAgIHN0
YXRpc3RpY3Muc3VicmVzb3VyY2VVbmRlclRvcEZyYW1lT3JpZ2lucy5hZGQocHJpbWFyeURvbWFp
bih0b3BGcmFtZSkpOworfQorCit2b2lkIFJlc291cmNlTG9hZE9ic2VydmVyOjpzZXRTdWJyZXNv
dXJjZVVuaXF1ZVJlZGlyZWN0VG8oY29uc3QgVVJMJiBzdWJyZXNvdXJjZSwgY29uc3QgVVJMJiBo
b3N0TmFtZVJlZGlyZWN0ZWRUbykKK3sKKyAgICBpZiAoc3VicmVzb3VyY2UuaXNCbGFua1VSTCgp
IHx8IHN1YnJlc291cmNlLmlzRW1wdHkoKSB8fCBob3N0TmFtZVJlZGlyZWN0ZWRUby5pc0JsYW5r
VVJMKCkgfHwgaG9zdE5hbWVSZWRpcmVjdGVkVG8uaXNFbXB0eSgpKQorICAgICAgICByZXR1cm47
CisgICAgCisgICAgYXV0byYgc3RhdGlzdGljcyA9IG1fc3RvcmUtPmVuc3VyZVJlc291cmNlU3Rh
dGlzdGljc0ZvclByaW1hcnlEb21haW4ocHJpbWFyeURvbWFpbihzdWJyZXNvdXJjZSkpOworICAg
IHN0YXRpc3RpY3Muc3VicmVzb3VyY2VVbmlxdWVSZWRpcmVjdHNUby5hZGQocHJpbWFyeURvbWFp
bihob3N0TmFtZVJlZGlyZWN0ZWRUbykpOworfQorCiB2b2lkIFJlc291cmNlTG9hZE9ic2VydmVy
OjpzZXRUaW1lVG9MaXZlVXNlckludGVyYWN0aW9uKGRvdWJsZSBzZWNvbmRzKQogewogICAgIG1f
c3RvcmUtPnNldFRpbWVUb0xpdmVVc2VySW50ZXJhY3Rpb24oc2Vjb25kcyk7CkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VMb2FkT2JzZXJ2ZXIuaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VMb2FkT2JzZXJ2ZXIuaAkocmV2aXNpb24gMjEy
NDM5KQorKysgU291cmNlL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlTG9hZE9ic2VydmVyLmgJKHdv
cmtpbmcgY29weSkKQEAgLTU4LDYgKzU4LDEwIEBAIHB1YmxpYzoKICAgICBXRUJDT1JFX0VYUE9S
VCBib29sIGlzUHJldmFsZW50UmVzb3VyY2UoY29uc3QgVVJMJik7CiAgICAgV0VCQ09SRV9FWFBP
UlQgdm9pZCBjbGVhclByZXZhbGVudFJlc291cmNlKGNvbnN0IFVSTCYpOwogCisgICAgV0VCQ09S
RV9FWFBPUlQgdm9pZCBzZXRTdWJmcmFtZVVuZGVyVG9wRnJhbWVPcmlnaW4oY29uc3QgVVJMJiBz
dWJmcmFtZSwgY29uc3QgVVJMJiB0b3BGcmFtZSk7CisgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBz
ZXRTdWJyZXNvdXJjZVVuZGVyVG9wRnJhbWVPcmlnaW4oY29uc3QgVVJMJiBzdWJyZXNvdXJjZSwg
Y29uc3QgVVJMJiB0b3BGcmFtZSk7CisgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBzZXRTdWJyZXNv
dXJjZVVuaXF1ZVJlZGlyZWN0VG8oY29uc3QgVVJMJiBzdWJyZXNvdXJjZSwgY29uc3QgVVJMJiBo
b3N0TmFtZVJlZGlyZWN0ZWRUbyk7CisKICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHNldFRpbWVU
b0xpdmVVc2VySW50ZXJhY3Rpb24oZG91YmxlIHNlY29uZHMpOwogICAgIFdFQkNPUkVfRVhQT1JU
IHZvaWQgc2V0UmVkdWNlZFRpbWVzdGFtcFJlc29sdXRpb24oZG91YmxlIHNlY29uZHMpOwogCklu
ZGV4OiBTb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktp
dDIvQ2hhbmdlTG9nCShyZXZpc2lvbiAyMTI0MzkpCisrKyBTb3VyY2UvV2ViS2l0Mi9DaGFuZ2VM
b2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSw3MyBAQAorMjAxNy0wMi0xNiAgSm9obiBXaWxh
bmRlciAgPHdpbGFuZGVyQGFwcGxlLmNvbT4KKworICAgICAgICBSZXNvdXJjZSBMb2FkIFN0YXRp
c3RpY3M6IEFkZCBhbHRlcm5hdGUgY2xhc3NpZmljYXRpb24gbWV0aG9kCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjgzNDcKKyAgICAgICAgPHJkYXI6
Ly9wcm9ibGVtLzMwMzUyNzkzPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIFRoaXMgcGF0Y2ggYWRkcyBhIENvcmVQcmVkaWN0aW9uLWJhc2VkIGNsYXNz
aWZpZXIgdG8gdGhlIFdlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZS4KKyAgICAgICAgVGhl
IENvcmVQcmVkaWN0aW9uIGZyYW1ld29yayBpcyBpbnRyb2R1Y2VkIGFzIGEgZGVwZW5kZW5jeSBm
b3IgbWFjT1MuIFRoZSBpbnRlbnRpb24gaXMgCisgICAgICAgIHRvIHVzZSBDb3JlUHJlZGljdGlv
biBvbiBpT1MgdG9vIGJ1dCBFV1MgY3VycmVudGx5IGRvZXNuJ3QgYnVpbGQgd2l0aCBhY2Nlc3Mg
dG8gcHJpdmF0ZQorICAgICAgICBmcmFtZXdvcmtzIHNvIGl0J3MgbWFya2VkIGFzIGEgRklYTUUu
IFRoZSBwYXRjaCBhbHNvIGFkZHMgZnVuY3Rpb25zIHRvIHN1cHBvcnQgbGF5b3V0IAorICAgICAg
ICB0ZXN0cyBvZiB0aGUgZmVhdHVyZS4KKworICAgICAgICAqIENvbmZpZ3VyYXRpb25zL0Jhc2VU
YXJnZXQueGNjb25maWc6CisgICAgICAgICogQ29uZmlndXJhdGlvbnMvV2ViS2l0LnhjY29uZmln
OgorICAgICAgICAgICAgQWRkZWQgZGVwZW5kZW5jeSBvbiBDb3JlUHJlZGljdGlvbi4KKyAgICAg
ICAgKiBQbGF0Zm9ybS9jbGFzc2lmaWVyOiBBZGRlZC4KKyAgICAgICAgKiBQbGF0Zm9ybS9jbGFz
c2lmaWVyL1Jlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyLmg6IEFkZGVkLgorICAgICAg
ICAoV2ViS2l0OjpSZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllcjo6UmVzb3VyY2VMb2Fk
U3RhdGlzdGljc0NsYXNzaWZpZXIpOgorICAgICAgICAgICAgUHVsbHMgaW4gdGhlIENvY29hLXNw
ZWNpZmljIGNsYXNzaWZpZXIgZm9yIENvY29hLWJhc2VkIHBsYXRmb3Jtcy4KKyAgICAgICAgKiBQ
bGF0Zm9ybS9jbGFzc2lmaWVyL1Jlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQmFzZS5j
cHA6IEFkZGVkLgorICAgICAgICAoV2ViS2l0OjpSZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3Np
ZmllckJhc2U6Omhhc1ByZXZhbGVudFJlc291cmNlQ2hhcmFjdGVyaXN0aWNzKToKKyAgICAgICAg
KFdlYktpdDo6UmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXJCYXNlOjpjbGFzc2lmeSk6
CisgICAgICAgICogUGxhdGZvcm0vY2xhc3NpZmllci9SZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xh
c3NpZmllckJhc2UuaDogQWRkZWQuCisgICAgICAgIChXZWJLaXQ6OlJlc291cmNlTG9hZFN0YXRp
c3RpY3NDbGFzc2lmaWVyQmFzZTo6UmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXJCYXNl
KToKKyAgICAgICAgKFdlYktpdDo6UmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXJCYXNl
Ojp+UmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXJCYXNlKToKKyAgICAgICAgICAgIFRo
ZSBkZWZhdWx0IGNsYXNzaWZpZXIgbm93IGxpdmVzIGluIFJlc291cmNlTG9hZFN0YXRpc3RpY3ND
bGFzc2lmaWVyQmFzZS4KKyAgICAgICAgKiBQbGF0Zm9ybS9jbGFzc2lmaWVyL2NvY29hOiBBZGRl
ZC4KKyAgICAgICAgKiBQbGF0Zm9ybS9jbGFzc2lmaWVyL2NvY29hL1Jlc291cmNlTG9hZFN0YXRp
c3RpY3NDbGFzc2lmaWVyQ29jb2EuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYktpdDo6UmVzb3Vy
Y2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXI6OmNsYXNzaWZ5KToKKyAgICAgICAgKFdlYktpdDo6
UmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXI6OnN0b3JhZ2VQYXRoKToKKyAgICAgICAg
KFdlYktpdDo6UmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXI6OnNob3VsZFVzZUNvcmVQ
cmVkaWN0aW9uKToKKyAgICAgICAgKiBQbGF0Zm9ybS9jbGFzc2lmaWVyL2NvY29hL1Jlc291cmNl
TG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQ29jb2EuaDogQWRkZWQuCisgICAgICAgIChXZWJLaXQ6
OlJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyOjpSZXNvdXJjZUxvYWRTdGF0aXN0aWNz
Q2xhc3NpZmllcik6CisgICAgICAgICAgICBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmll
ckNvY29hIGhvc3RzIHRoZSBDb3JlUHJlZGljdGlvbi1iYXNlZAorICAgICAgICAgICAgY2xhc3Np
Zmllci4KKyAgICAgICAgKiBSZXNvdXJjZXMvUmVzb3VyY2VMb2FkU3RhdGlzdGljczogQWRkZWQu
CisgICAgICAgICogUmVzb3VyY2VzL1Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY29yZVByZWRpY3Rp
b25fbW9kZWw6IEFkZGVkLgorICAgICAgICAgICAgTW9kZWwgZmlsZSB0byBsb2FkIGludG8gQ29y
ZVByZWRpY3Rpb24uCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9DL1dLUmVzb3VyY2VMb2FkU3Rh
dGlzdGljc01hbmFnZXIuY3BwOgorICAgICAgICAoV0tSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFu
YWdlclNldFN1YmZyYW1lVW5kZXJUb3BGcmFtZU9yaWdpbik6CisgICAgICAgIChXS1Jlc291cmNl
TG9hZFN0YXRpc3RpY3NNYW5hZ2VyU2V0U3VicmVzb3VyY2VVbmRlclRvcEZyYW1lT3JpZ2luKToK
KyAgICAgICAgKFdLUmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFnZXJTZXRTdWJyZXNvdXJjZVVu
aXF1ZVJlZGlyZWN0VG8pOgorICAgICAgICAgICAgVGVzdCBpbmZyYXN0cnVjdHVyZS4KKyAgICAg
ICAgKiBVSVByb2Nlc3MvQVBJL0MvV0tSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdlci5oOgor
ICAgICAgICAqIFVJUHJvY2Vzcy9XZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdlci5jcHA6
CisgICAgICAgIChXZWJLaXQ6OldlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VyOjpzZXRT
dWJmcmFtZVVuZGVyVG9wRnJhbWVPcmlnaW4pOgorICAgICAgICAoV2ViS2l0OjpXZWJSZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzTWFuYWdlcjo6c2V0U3VicmVzb3VyY2VVbmRlclRvcEZyYW1lT3JpZ2lu
KToKKyAgICAgICAgKFdlYktpdDo6V2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFnZXI6OnNl
dFN1YnJlc291cmNlVW5pcXVlUmVkaXJlY3RUbyk6CisgICAgICAgICAgICBUZXN0IGluZnJhc3Ry
dWN0dXJlLgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFu
YWdlci5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3Rv
cmUuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmU6
OldlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZSk6CisgICAgICAgICAgICBSZW5hbWVkIG1f
c3RvcmFnZVBhdGggdG8gbV9zdGF0aXN0aWNzU3RvcmFnZVBhdGggZm9yIGNsYXJpdHkuCisgICAg
ICAgIChXZWJLaXQ6OldlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZTo6Y2xhc3NpZnlSZXNv
dXJjZSk6CisgICAgICAgICAgICBOb3cgY2FsbHMgdGhlIGNsYXNzaWZpZXIgdGhyb3VnaCBpdHMg
UmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXIKKyAgICAgICAgICAgIG1lbWJlciB2YXJp
YWJsZS4KKyAgICAgICAgKFdlYktpdDo6V2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlOjpw
ZXJzaXN0ZW50U3RvcmFnZVBhdGgpOgorICAgICAgICAgICAgUmVuYW1lZCBtX3N0b3JhZ2VQYXRo
IHRvIG1fc3RhdGlzdGljc1N0b3JhZ2VQYXRoIGZvciBjbGFyaXR5LgorICAgICAgICAoV2ViS2l0
OjpXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmU6OndyaXRlRW5jb2RlclRvRGlzayk6Cisg
ICAgICAgICAgICBSZW5hbWVkIG1fc3RvcmFnZVBhdGggdG8gbV9zdGF0aXN0aWNzU3RvcmFnZVBh
dGggZm9yIGNsYXJpdHkuCisgICAgICAgIChXZWJLaXQ6OldlYlJlc291cmNlTG9hZFN0YXRpc3Rp
Y3NTdG9yZTo6aGFzUHJldmFsZW50UmVzb3VyY2VDaGFyYWN0ZXJpc3RpY3MpOiBEZWxldGVkLgor
ICAgICAgICAgICAgTW92ZWQgaW50byBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllckJh
c2UuCisgICAgICAgICogVUlQcm9jZXNzL1dlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZS5o
OgorICAgICAgICAgICAgUmVuYW1lZCBtX3N0b3JhZ2VQYXRoIHRvIG1fc3RhdGlzdGljc1N0b3Jh
Z2VQYXRoIGZvciBjbGFyaXR5LgorICAgICAgICAqIFdlYktpdDIueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvajoKKyAgICAgICAgICAgIEFkZGVkIHRoZSBuZXcgY2xhc3NpZmllciBzb3VyY2UgZmls
ZXMgdW5kZXIgUGxhdGZvcm0vY2xhc3NpZmllciBhbmQgdGhlCisgICAgICAgICAgICBjb3JlUHJl
ZGljdGlvbl9tb2RlbCBmaWxlIHVuZGVyIFJlc291cmNlcy9SZXNvdXJjZUxvYWRTdGF0aXN0aWNz
LgorCiAyMDE3LTAyLTE2ICBFcmljIENhcmxzb24gIDxlcmljLmNhcmxzb25AYXBwbGUuY29tPgog
CiAgICAgICAgIEFkZCBXZWJSVEMgYXMgYW4gb2ZmLWJ5LWRlZmF1bHQgZXhwZXJpbWVudGFsIGZl
YXR1cmUgbWVudSBpdGVtLgpJbmRleDogU291cmNlL1dlYktpdDIvQ29uZmlndXJhdGlvbnMvQmFz
ZVRhcmdldC54Y2NvbmZpZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9Db25maWd1cmF0
aW9ucy9CYXNlVGFyZ2V0LnhjY29uZmlnCShyZXZpc2lvbiAyMTI0MzkpCisrKyBTb3VyY2UvV2Vi
S2l0Mi9Db25maWd1cmF0aW9ucy9CYXNlVGFyZ2V0LnhjY29uZmlnCSh3b3JraW5nIGNvcHkpCkBA
IC0zMiw3ICszMiw3IEBAIFdLX1BSSVZBVEVfRlJBTUVXT1JLU19ESVJfW3Nkaz1pcGhvbmVvcyoK
IFdLX1BSSVZBVEVfRlJBTUVXT1JLU19ESVJfaXBob25lb3NfWUVTID0gJChTUkNST09UKS8uLi8u
Li9XZWJLaXRMaWJyYXJpZXMvV2ViS2l0UHJpdmF0ZUZyYW1ld29ya1N0dWJzL2lPUy8kKFdLX1RB
UkdFVF9JT1NfVkVSU0lPTl9NQUpPUik7CiBXS19QUklWQVRFX0ZSQU1FV09SS1NfRElSX2lwaG9u
ZW9zX05PID0gJChQUk9EVUNUSU9OX0ZSQU1FV09SS1NfRElSKTsKIAotRlJBTUVXT1JLX1NFQVJD
SF9QQVRIU19iYXNlID0gIiQoVU1CUkVMTEFfRlJBTUVXT1JLU19ESVIpIiAkKEZSQU1FV09SS19T
RUFSQ0hfUEFUSFMpOworRlJBTUVXT1JLX1NFQVJDSF9QQVRIU19iYXNlID0gIiQoVU1CUkVMTEFf
RlJBTUVXT1JLU19ESVIpIiAvU3lzdGVtL0xpYnJhcnkvUHJpdmF0ZUZyYW1ld29ya3MgJChGUkFN
RVdPUktfU0VBUkNIX1BBVEhTKTsKIEZSQU1FV09SS19TRUFSQ0hfUEFUSFNbc2RrPWlwaG9uZSpd
ID0gJChGUkFNRVdPUktfU0VBUkNIX1BBVEhTX2Jhc2UpICQoV0tfUFJJVkFURV9GUkFNRVdPUktT
X0RJUik7CiBGUkFNRVdPUktfU0VBUkNIX1BBVEhTID0gJChGUkFNRVdPUktfU0VBUkNIX1BBVEhT
X2Jhc2UpOwogCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9Db25maWd1cmF0aW9ucy9XZWJLaXQueGNj
b25maWcKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvQ29uZmlndXJhdGlvbnMvV2ViS2l0
LnhjY29uZmlnCShyZXZpc2lvbiAyMTI0MzkpCisrKyBTb3VyY2UvV2ViS2l0Mi9Db25maWd1cmF0
aW9ucy9XZWJLaXQueGNjb25maWcJKHdvcmtpbmcgY29weSkKQEAgLTM0LDEyICszNCwxNCBAQCBN
T0RVTEVNQVBfRklMRVtzZGs9aXBob25lKl09TW9kdWxlcy9pT1MuCiBJTlNUQUxMX1BBVEggPSAk
KFdFQktJVF9GUkFNRVdPUktTX0RJUik7CiBEWUxJQl9JTlNUQUxMX05BTUVfQkFTRSA9ICQoTk9S
TUFMX1dFQktJVF9GUkFNRVdPUktTX0RJUik7CiAKLUZSQU1FV09SS19BTkRfTElCUkFSWV9MREZM
QUdTX0JBU0VfaW9zID0gLWxvYmpjIC1mcmFtZXdvcmsgQXNzZXJ0aW9uU2VydmljZXMgLWZyYW1l
d29yayBDRk5ldHdvcmsgLWZyYW1ld29yayBDb3JlRm91bmRhdGlvbiAtZnJhbWV3b3JrIENvcmVH
cmFwaGljcyAtZnJhbWV3b3JrIENvcmVQREYgLWZyYW1ld29yayBDb3JlVGV4dCAtZnJhbWV3b3Jr
IEZvdW5kYXRpb24gLWZyYW1ld29yayBHcmFwaGljc1NlcnZpY2VzIC1mcmFtZXdvcmsgSW1hZ2VJ
TyAtZnJhbWV3b3JrIFVJS2l0IC1mcmFtZXdvcmsgT3BlbkdMRVMgLWZyYW1ld29yayBNb2JpbGVD
b3JlU2VydmljZXMgLWxNb2JpbGVHZXN0YWx0ICQoRlJBTUVXT1JLX0FORF9MSUJSQVJZX0xERkxB
R1NfUExBVEZPUk1fJChQTEFURk9STV9OQU1FKSk7CitGUkFNRVdPUktfQU5EX0xJQlJBUllfTERG
TEFHU19CQVNFX2lvcyA9IC1sb2JqYyAtZnJhbWV3b3JrIEFzc2VydGlvblNlcnZpY2VzIC1mcmFt
ZXdvcmsgQ0ZOZXR3b3JrIC1mcmFtZXdvcmsgQ29yZUZvdW5kYXRpb24gLWZyYW1ld29yayBDb3Jl
R3JhcGhpY3MgLWZyYW1ld29yayBDb3JlUERGIC1mcmFtZXdvcmsgQ29yZVByZWRpY3Rpb24gLWZy
YW1ld29yayBDb3JlVGV4dCAtZnJhbWV3b3JrIEZvdW5kYXRpb24gLWZyYW1ld29yayBHcmFwaGlj
c1NlcnZpY2VzIC1mcmFtZXdvcmsgSW1hZ2VJTyAtZnJhbWV3b3JrIFVJS2l0IC1mcmFtZXdvcmsg
T3BlbkdMRVMgLWZyYW1ld29yayBNb2JpbGVDb3JlU2VydmljZXMgLWxNb2JpbGVHZXN0YWx0ICQo
RlJBTUVXT1JLX0FORF9MSUJSQVJZX0xERkxBR1NfUExBVEZPUk1fJChQTEFURk9STV9OQU1FKSk7
CiBGUkFNRVdPUktfQU5EX0xJQlJBUllfTERGTEFHU1tzZGs9aXBob25lb3MqXSA9ICQoRlJBTUVX
T1JLX0FORF9MSUJSQVJZX0xERkxBR1NfQkFTRV9pb3MpIC1mcmFtZXdvcmsgSU9TdXJmYWNlOwog
RlJBTUVXT1JLX0FORF9MSUJSQVJZX0xERkxBR1Nbc2RrPWlwaG9uZXNpbXVsYXRvcipdID0gJChG
UkFNRVdPUktfQU5EX0xJQlJBUllfTERGTEFHU19CQVNFX2lvcyk7CiBGUkFNRVdPUktfQU5EX0xJ
QlJBUllfTERGTEFHU19QTEFURk9STV9pcGhvbmVvcyA9IDsKIEZSQU1FV09SS19BTkRfTElCUkFS
WV9MREZMQUdTX1BMQVRGT1JNX2lwaG9uZXNpbXVsYXRvciA9IDsKLUZSQU1FV09SS19BTkRfTElC
UkFSWV9MREZMQUdTW3Nkaz1tYWNvc3gqXSA9IC1mcmFtZXdvcmsgQXBwbGljYXRpb25TZXJ2aWNl
cyAtZnJhbWV3b3JrIENhcmJvbiAtZnJhbWV3b3JrIENvY29hIC1mcmFtZXdvcmsgQ29yZVNlcnZp
Y2VzIC1mcmFtZXdvcmsgSU9LaXQgLWZyYW1ld29yayBDb3JlQXVkaW8gLWZyYW1ld29yayBJT1N1
cmZhY2UgLWZyYW1ld29yayBPcGVuR0w7CitGUkFNRVdPUktfQU5EX0xJQlJBUllfTERGTEFHU1tz
ZGs9bWFjb3N4Kl0gPSAtZnJhbWV3b3JrIEFwcGxpY2F0aW9uU2VydmljZXMgLWZyYW1ld29yayBD
YXJib24gLWZyYW1ld29yayBDb2NvYSAtZnJhbWV3b3JrIENvcmVTZXJ2aWNlcyAtZnJhbWV3b3Jr
IElPS2l0IC1mcmFtZXdvcmsgQ29yZUF1ZGlvIC1mcmFtZXdvcmsgSU9TdXJmYWNlIC1mcmFtZXdv
cmsgT3BlbkdMICQoRlJBTUVXT1JLX0FORF9MSUJSQVJZX0xERkxBR1NfbWFjb3N4XyQoVEFSR0VU
X01BQ19PU19YX1ZFUlNJT05fTUFKT1IpKTsKK0ZSQU1FV09SS19BTkRfTElCUkFSWV9MREZMQUdT
X21hY29zeF8xMDEyMDAgPSAtZnJhbWV3b3JrIENvcmVQcmVkaWN0aW9uOworRlJBTUVXT1JLX0FO
RF9MSUJSQVJZX0xERkxBR1NfbWFjb3N4XzEwMTMwMCA9IC1mcmFtZXdvcmsgQ29yZVByZWRpY3Rp
b247CiAKIC8vIFByZXZlbnQgQysrIHN0YW5kYXJkIGxpYnJhcnkgb3BlcmF0b3IgbmV3LCBkZWxl
dGUgYW5kIHRoZWlyIHJlbGF0ZWQgZXhjZXB0aW9uIHR5cGVzIGZyb20gYmVpbmcgZXhwb3J0ZWQg
YXMgd2VhayBzeW1ib2xzLgogVU5FWFBPUlRFRF9TWU1CT0xfTERGTEFHUyA9IC1XbCwtdW5leHBv
cnRlZF9zeW1ib2wgLVdsLF9fWlRJU3Q5YmFkX2FsbG9jIC1XbCwtdW5leHBvcnRlZF9zeW1ib2wg
LVdsLF9fWlRJU3Q5ZXhjZXB0aW9uIC1XbCwtdW5leHBvcnRlZF9zeW1ib2wgLVdsLF9fWlRTU3Q5
YmFkX2FsbG9jIC1XbCwtdW5leHBvcnRlZF9zeW1ib2wgLVdsLF9fWlRTU3Q5ZXhjZXB0aW9uIC1X
bCwtdW5leHBvcnRlZF9zeW1ib2wgLVdsLF9fWmRsUHZTXyAtV2wsLXVuZXhwb3J0ZWRfc3ltYm9s
IC1XbCxfX1pud21QdiAtV2wsLXVuZXhwb3J0ZWRfc3ltYm9sIC1XbCxfX1pud20gLVdsLC11bmV4
cG9ydGVkX3N5bWJvbCwgLVdsLF9fWk5TdDNfXzE4ZnVuY3Rpb25JRnZON1dlYkNvcmUxMlBvbGlj
eUFjdGlvbkVFRUMyRU9TNF8gLVdsLC11bmV4cG9ydGVkX3N5bWJvbCwgLVdsLF9fWk5TdDNfXzE4
ZnVuY3Rpb25JRnZON1dlYkNvcmUxMlBvbGljeUFjdGlvbkVFRUMxRU9TNF8gLVdsLC11bmV4cG9y
dGVkX3N5bWJvbCwgLVdsLF9fWk5TdDNfXzE4ZnVuY3Rpb25JRnZON1dlYkNvcmUxMlBvbGljeUFj
dGlvbkVFRWFTRURuIC1XbCwtdW5leHBvcnRlZF9zeW1ib2wsIC1XbCxfX1pOS1N0M19fMThmdW5j
dGlvbklGdk43V2ViQ29yZTEyUG9saWN5QWN0aW9uRUVFY2xFUzJfIC1XbCwtdW5leHBvcnRlZF9z
eW1ib2wsIC1XbCxfX1pOU3QzX18xOGZ1bmN0aW9uSUZ2TjdXZWJDb3JlMTJQb2xpY3lBY3Rpb25F
RUU0c3dhcEVSUzRfIC1XbCwtdW5leHBvcnRlZF9zeW1ib2wsIC1XbCxfX1pOU3QzX18xOGZ1bmN0
aW9uSUZ2TjdXZWJDb3JlMTJQb2xpY3lBY3Rpb25FRUVDMUVSS1M0XyAtV2wsLXVuZXhwb3J0ZWRf
c3ltYm9sLCAtV2wsX19aTlN0M19fMThmdW5jdGlvbklGdk43V2ViQ29yZTEyUG9saWN5QWN0aW9u
RUVFQzJFUktTNF8gLVdsLC11bmV4cG9ydGVkX3N5bWJvbCwgLVdsLF9fWk5TdDNfXzE4ZnVuY3Rp
b25JRnZON1dlYkNvcmUxMlBvbGljeUFjdGlvbkVFRUQxRXYgLVdsLC11bmV4cG9ydGVkX3N5bWJv
bCwgLVdsLF9fWk5TdDNfXzE4ZnVuY3Rpb25JRnZON1dlYkNvcmUxMlBvbGljeUFjdGlvbkVFRUQy
RXYgLVdsLC11bmV4cG9ydGVkX3N5bWJvbCwgLVdsLF9fWk5TdDNfXzE4ZnVuY3Rpb25JRnZON1dl
YkNvcmUxMlBvbGljeUFjdGlvbkVFRWFTRVJLUzRfIC1XbCwtdW5leHBvcnRlZF9zeW1ib2wsIC1X
bCxfX1pUVk5TdDNfXzExN2JhZF9mdW5jdGlvbl9jYWxsRTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQy
L1BsYXRmb3JtL2NsYXNzaWZpZXIvUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXIuaAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9jbGFzc2lmaWVyL1Jlc291cmNl
TG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyLmgJKG5vbmV4aXN0ZW50KQorKysgU291cmNlL1dlYktp
dDIvUGxhdGZvcm0vY2xhc3NpZmllci9SZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllci5o
CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNTUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIw
MTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBg
YEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBB
UkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJ
QlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lO
RVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9S
IFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9u
Y2UKKworI2luY2x1ZGUgPHd0Zi9QbGF0Zm9ybS5oPgorCisjaWYgUExBVEZPUk0oQ09DT0EpCisj
aW5jbHVkZSAiUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXJDb2NvYS5oIgorI2Vsc2UK
KworI2luY2x1ZGUgIlJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQmFzZS5oIgorCitu
YW1lc3BhY2UgV2ViQ29yZSB7CitzdHJ1Y3QgUmVzb3VyY2VMb2FkU3RhdGlzdGljczsKK30KKwor
bmFtZXNwYWNlIFdlYktpdCB7CisKK2NsYXNzIFJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lm
aWVyIDogcHVibGljIFJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQmFzZSB7CisKK3B1
YmxpYzoKKyAgICBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllcigpIHsgfQorICAgIGJv
b2wgaGFzUHJldmFsZW50UmVzb3VyY2VDaGFyYWN0ZXJpc3RpY3MoY29uc3QgV2ViQ29yZTo6UmVz
b3VyY2VMb2FkU3RhdGlzdGljcyYgcmVzb3VyY2VTdGF0aXN0aWMpOworCitwcml2YXRlOgorICAg
IGJvb2wgY2xhc3NpZnkoY29uc3QgdW5zaWduZWQsIGNvbnN0IHVuc2lnbmVkLCBjb25zdCB1bnNp
Z25lZCk7CisKK307CisKK30KKworI2VuZGlmCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9QbGF0Zm9y
bS9jbGFzc2lmaWVyL1Jlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQmFzZS5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvUGxhdGZvcm0vY2xhc3NpZmllci9SZXNvdXJjZUxv
YWRTdGF0aXN0aWNzQ2xhc3NpZmllckJhc2UuY3BwCShub25leGlzdGVudCkKKysrIFNvdXJjZS9X
ZWJLaXQyL1BsYXRmb3JtL2NsYXNzaWZpZXIvUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZp
ZXJCYXNlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDYwIEBACisvKgorICogQ29weXJp
Z2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
CisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAq
CisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05U
UklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAq
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1Ig
SVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRT
OyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
IFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKwor
I2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIlJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFz
c2lmaWVyQmFzZS5oIgorCisjaW5jbHVkZSA8V2ViQ29yZS9SZXNvdXJjZUxvYWRTdGF0aXN0aWNz
Lmg+CisKK3VzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOworCituYW1lc3BhY2UgV2ViS2l0IHsKKwor
c3RhdGljIGNvbnN0IGF1dG8gZmVhdHVyZVZlY3Rvckxlbmd0aFRocmVzaG9sZCA9IDM7Citib29s
IFJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQmFzZTo6aGFzUHJldmFsZW50UmVzb3Vy
Y2VDaGFyYWN0ZXJpc3RpY3MoY29uc3QgUmVzb3VyY2VMb2FkU3RhdGlzdGljcyYgcmVzb3VyY2VT
dGF0aXN0aWMpCit7CisgICAgYXV0byBzdWJyZXNvdXJjZVVuZGVyVG9wRnJhbWVPcmlnaW5zQ291
bnQgPSByZXNvdXJjZVN0YXRpc3RpYy5zdWJyZXNvdXJjZVVuZGVyVG9wRnJhbWVPcmlnaW5zLnNp
emUoKTsKKyAgICBhdXRvIHN1YnJlc291cmNlVW5pcXVlUmVkaXJlY3RzVG9Db3VudCA9IHJlc291
cmNlU3RhdGlzdGljLnN1YnJlc291cmNlVW5pcXVlUmVkaXJlY3RzVG8uc2l6ZSgpOworICAgIGF1
dG8gc3ViZnJhbWVVbmRlclRvcEZyYW1lT3JpZ2luc0NvdW50ID0gcmVzb3VyY2VTdGF0aXN0aWMu
c3ViZnJhbWVVbmRlclRvcEZyYW1lT3JpZ2lucy5zaXplKCk7CisgICAgCisgICAgaWYgKCFzdWJy
ZXNvdXJjZVVuZGVyVG9wRnJhbWVPcmlnaW5zQ291bnQKKyAgICAgICAgJiYgIXN1YnJlc291cmNl
VW5pcXVlUmVkaXJlY3RzVG9Db3VudAorICAgICAgICAmJiAhc3ViZnJhbWVVbmRlclRvcEZyYW1l
T3JpZ2luc0NvdW50KQorICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgCisgICAgaWYgKHN1YnJl
c291cmNlVW5kZXJUb3BGcmFtZU9yaWdpbnNDb3VudCA+IGZlYXR1cmVWZWN0b3JMZW5ndGhUaHJl
c2hvbGQKKyAgICAgICAgfHwgc3VicmVzb3VyY2VVbmlxdWVSZWRpcmVjdHNUb0NvdW50ID4gZmVh
dHVyZVZlY3Rvckxlbmd0aFRocmVzaG9sZAorICAgICAgICB8fCBzdWJmcmFtZVVuZGVyVG9wRnJh
bWVPcmlnaW5zQ291bnQgPiBmZWF0dXJlVmVjdG9yTGVuZ3RoVGhyZXNob2xkKQorICAgICAgICBy
ZXR1cm4gdHJ1ZTsKKworICAgIHJldHVybiBjbGFzc2lmeShzdWJyZXNvdXJjZVVuZGVyVG9wRnJh
bWVPcmlnaW5zQ291bnQsIHN1YnJlc291cmNlVW5pcXVlUmVkaXJlY3RzVG9Db3VudCwgc3ViZnJh
bWVVbmRlclRvcEZyYW1lT3JpZ2luc0NvdW50KTsKK30KKworYm9vbCBSZXNvdXJjZUxvYWRTdGF0
aXN0aWNzQ2xhc3NpZmllckJhc2U6OmNsYXNzaWZ5KGNvbnN0IHVuc2lnbmVkIGEsIGNvbnN0IHVu
c2lnbmVkIGIsIGNvbnN0IHVuc2lnbmVkIGMpCit7CisgICAgcmV0dXJuIHNxcnQoYSAqIGEgKyBi
ICogYiArIGMgKiBjKSA+IGZlYXR1cmVWZWN0b3JMZW5ndGhUaHJlc2hvbGQ7Cit9CisgICAgCit9
CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9jbGFzc2lmaWVyL1Jlc291cmNlTG9hZFN0
YXRpc3RpY3NDbGFzc2lmaWVyQmFzZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1Bs
YXRmb3JtL2NsYXNzaWZpZXIvUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXJCYXNlLmgJ
KG5vbmV4aXN0ZW50KQorKysgU291cmNlL1dlYktpdDIvUGxhdGZvcm0vY2xhc3NpZmllci9SZXNv
dXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllckJhc2UuaAkod29ya2luZyBjb3B5KQpAQCAtMCww
ICsxLDQzIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoK
KyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBP
UgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4K
KyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0Ug
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKK25hbWVzcGFjZSBXZWJDb3Jl
IHsKK3N0cnVjdCBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzOworfQorCituYW1lc3BhY2UgV2ViS2l0
IHsKKworY2xhc3MgUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXJCYXNlIHsKK3B1Ymxp
YzoKKyAgICBib29sIGhhc1ByZXZhbGVudFJlc291cmNlQ2hhcmFjdGVyaXN0aWNzKGNvbnN0IFdl
YkNvcmU6OlJlc291cmNlTG9hZFN0YXRpc3RpY3MmIHJlc291cmNlU3RhdGlzdGljKTsKK3Byb3Rl
Y3RlZDoKKyAgICBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllckJhc2UoKSB7IH0KKyAg
ICB2aXJ0dWFsIH5SZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllckJhc2UoKSB7IH0KKyAg
ICB2aXJ0dWFsIGJvb2wgY2xhc3NpZnkoY29uc3QgdW5zaWduZWQsIGNvbnN0IHVuc2lnbmVkLCBj
b25zdCB1bnNpZ25lZCk7Cit9OworCit9CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9j
bGFzc2lmaWVyL2NvY29hL1Jlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQ29jb2EuY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL2NsYXNzaWZpZXIvY29jb2Ev
UmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXJDb2NvYS5jcHAJKG5vbmV4aXN0ZW50KQor
KysgU291cmNlL1dlYktpdDIvUGxhdGZvcm0vY2xhc3NpZmllci9jb2NvYS9SZXNvdXJjZUxvYWRT
dGF0aXN0aWNzQ2xhc3NpZmllckNvY29hLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDEx
MyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAx
LiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAq
ICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBM
RSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNT
IE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisg
KiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBG
T1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBT
SEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAq
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBS
T0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJSZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllckNvY29hLmgiCisKKyNpbmNsdWRlICJMb2dnaW5nLmgi
CisKK25hbWVzcGFjZSBXZWJLaXQgeworCitib29sIFJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFz
c2lmaWVyOjpjbGFzc2lmeShjb25zdCB1bnNpZ25lZCBzdWJyZXNvdXJjZVVuZGVyVG9wRnJhbWVP
cmlnaW5zQ291bnQsIGNvbnN0IHVuc2lnbmVkIHN1YnJlc291cmNlVW5pcXVlUmVkaXJlY3RzVG9D
b3VudCwgY29uc3QgdW5zaWduZWQgc3ViZnJhbWVVbmRlclRvcEZyYW1lT3JpZ2luc0NvdW50KQor
eworICAgIGlmICghc2hvdWxkVXNlQ29yZVByZWRpY3Rpb24oKSkKKyAgICAgICAgcmV0dXJuIFJl
c291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQmFzZTo6Y2xhc3NpZnkoc3VicmVzb3VyY2VV
bmRlclRvcEZyYW1lT3JpZ2luc0NvdW50LCBzdWJyZXNvdXJjZVVuaXF1ZVJlZGlyZWN0c1RvQ291
bnQsIHN1YmZyYW1lVW5kZXJUb3BGcmFtZU9yaWdpbnNDb3VudCk7CisjaWYgSEFWRV9DT1JFX1BS
RURJQ1RJT04KKyAgICBWZWN0b3I8dW5zaWduZWQ+IG5vblplcm9GZWF0dXJlczsKKyAgICBWZWN0
b3I8dW5zaWduZWQ+IGluZGljZXM7CisKKyAgICBpZiAoc3VicmVzb3VyY2VVbmRlclRvcEZyYW1l
T3JpZ2luc0NvdW50KSB7CisgICAgICAgIG5vblplcm9GZWF0dXJlcy5hcHBlbmQoc3VicmVzb3Vy
Y2VVbmRlclRvcEZyYW1lT3JpZ2luc0NvdW50KTsKKyAgICAgICAgaW5kaWNlcy5hcHBlbmQoMSk7
CisgICAgfQorICAgIGlmIChzdWJyZXNvdXJjZVVuaXF1ZVJlZGlyZWN0c1RvQ291bnQpIHsKKyAg
ICAgICAgbm9uWmVyb0ZlYXR1cmVzLmFwcGVuZChzdWJyZXNvdXJjZVVuaXF1ZVJlZGlyZWN0c1Rv
Q291bnQpOworICAgICAgICBpbmRpY2VzLmFwcGVuZCgyKTsKKyAgICB9CisgICAgaWYgKHN1YmZy
YW1lVW5kZXJUb3BGcmFtZU9yaWdpbnNDb3VudCkgeworICAgICAgICBub25aZXJvRmVhdHVyZXMu
YXBwZW5kKHN1YmZyYW1lVW5kZXJUb3BGcmFtZU9yaWdpbnNDb3VudCk7CisgICAgICAgIGluZGlj
ZXMuYXBwZW5kKDMpOworICAgIH0KKworICAgIHN2bV9ub2RlKiBleGFtcGxlVmVjdG9yID0gbmV3
IHN2bV9ub2RlW25vblplcm9GZWF0dXJlcy5zaXplKCkgKyAxXTsKKyAgICBmb3IgKHNpemVfdCBp
ID0gMDsgaSA8IG5vblplcm9GZWF0dXJlcy5zaXplKCk7IGkrKykgeworICAgICAgICBleGFtcGxl
VmVjdG9yW2ldLmluZGV4ID0gaW5kaWNlcy5hdChpKTsKKyAgICAgICAgZXhhbXBsZVZlY3Rvcltp
XS52YWx1ZSA9IG5vblplcm9GZWF0dXJlcy5hdChpKTsKKyAgICB9CisgICAgLy8gQWRkIHRlcm1p
bmF0aW9uIG5vZGUgd2l0aCBpbmRleCAtMS4KKyAgICBleGFtcGxlVmVjdG9yW25vblplcm9GZWF0
dXJlcy5zaXplKCldLmluZGV4ID0gLTE7CisgICAgZXhhbXBsZVZlY3Rvcltub25aZXJvRmVhdHVy
ZXMuc2l6ZSgpXS52YWx1ZSA9IC0xOworCisgICAgaW50IGNsYXNzaWZpY2F0aW9uOworICAgIGRv
dWJsZSBzY29yZTsKKyAgICBjbGFzc2lmaWNhdGlvbiA9IHN2bV9wcmVkaWN0X3ZhbHVlcyhtX2Nv
cmVQcmVkaWN0aW9uTW9kZWwsIGV4YW1wbGVWZWN0b3IsICZzY29yZSk7CisgICAgZGVsZXRlW10g
ZXhhbXBsZVZlY3RvcjsKKyAgICByZXR1cm4gY2xhc3NpZmljYXRpb24gPCAwOworI2VuZGlmCit9
CisKK1N0cmluZyBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllcjo6c3RvcmFnZVBhdGgo
KQoreworICAgIENGQnVuZGxlUmVmIHdlYktpdEJ1bmRsZSA9IENGQnVuZGxlR2V0QnVuZGxlV2l0
aElkZW50aWZpZXIoQ0ZTVFIoImNvbS5hcHBsZS5XZWJLaXQiKSk7CisgICAgQ0ZVUkxSZWYgcmVz
b3VyY2VVcmwgPSBDRkJ1bmRsZUNvcHlSZXNvdXJjZXNEaXJlY3RvcnlVUkwod2ViS2l0QnVuZGxl
KTsKKyAgICByZXNvdXJjZVVybCA9IENGVVJMQ3JlYXRlQ29weUFwcGVuZGluZ1BhdGhDb21wb25l
bnQobnVsbHB0ciwgcmVzb3VyY2VVcmwsIENGU1RSKCJjb3JlUHJlZGljdGlvbl9tb2RlbCIpLCBm
YWxzZSk7CisgICAgQ0ZFcnJvclJlZiBlcnJvciA9IG51bGxwdHI7CisgICAgcmVzb3VyY2VVcmwg
PSBDRlVSTENyZWF0ZUZpbGVQYXRoVVJMKG51bGxwdHIsIHJlc291cmNlVXJsLCAmZXJyb3IpOwor
CisgICAgaWYgKGVycm9yIHx8ICFyZXNvdXJjZVVybCkKKyAgICAgICAgcmV0dXJuIFN0cmluZygp
OworCisgICAgQ0ZVUkxQYXRoU3R5bGUgcGF0aFN0eWxlID0ga0NGVVJMUE9TSVhQYXRoU3R5bGU7
CisgICAgQ0ZTdHJpbmdSZWYgcmVzb3VyY2VVcmxTdHJpbmcgPSBDRlVSTENvcHlGaWxlU3lzdGVt
UGF0aChyZXNvdXJjZVVybCwgcGF0aFN0eWxlKTsKKyAgICByZXR1cm4gU3RyaW5nKHJlc291cmNl
VXJsU3RyaW5nKTsKK30KKworYm9vbCBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllcjo6
c2hvdWxkVXNlQ29yZVByZWRpY3Rpb24oKQoreworI2lmIEhBVkVfQ09SRV9QUkVESUNUSU9OCisg
ICAgaWYgKG1fY29yZVByZWRpY3Rpb25Nb2RlbCkKKyAgICAgICAgcmV0dXJuIHRydWU7CisKKyAg
ICBpZiAoIW1fdXNlQ29yZVByZWRpY3Rpb24pCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAg
IFN0cmluZyBzdG9yYWdlUGF0aFN0ciA9IHN0b3JhZ2VQYXRoKCk7CisgICAgaWYgKHN0b3JhZ2VQ
YXRoU3RyLmlzTnVsbCgpIHx8IHN0b3JhZ2VQYXRoU3RyLmlzRW1wdHkoKSkgeworICAgICAgICBt
X3VzZUNvcmVQcmVkaWN0aW9uID0gZmFsc2U7CisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICB9
CisKKyAgICBtX2NvcmVQcmVkaWN0aW9uTW9kZWwgPSBzdm1fbG9hZF9tb2RlbCgoc3RvcmFnZVBh
dGhTdHIpLnV0ZjgoKS5kYXRhKCkpOworICAgIAorICAgIGlmIChtX2NvcmVQcmVkaWN0aW9uTW9k
ZWwpCisgICAgICAgIHJldHVybiB0cnVlOworCisgICAgV1RGTG9nQWx3YXlzKCJSZXNvdXJjZUxv
YWRTdGF0aXN0aWNzQ2xhc3NpZmllcjo6c2hvdWxkVXNlQ29yZVByZWRpY3Rpb24oKTogQ291bGRu
J3QgbG9hZCBtb2RlbCBmaWxlIGF0IHBhdGggJXMuIiwgc3RvcmFnZVBhdGhTdHIudXRmOCgpLmRh
dGEoKSk7CisgICAgbV91c2VDb3JlUHJlZGljdGlvbiA9IGZhbHNlOworI2VuZGlmCisgICAgcmV0
dXJuIGZhbHNlOworfQorCit9CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9jbGFzc2lm
aWVyL2NvY29hL1Jlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQ29jb2EuaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9jbGFzc2lmaWVyL2NvY29hL1Jlc291cmNl
TG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQ29jb2EuaAkobm9uZXhpc3RlbnQpCisrKyBTb3VyY2Uv
V2ViS2l0Mi9QbGF0Zm9ybS9jbGFzc2lmaWVyL2NvY29hL1Jlc291cmNlTG9hZFN0YXRpc3RpY3ND
bGFzc2lmaWVyQ29jb2EuaAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDU5IEBACisvKgorICog
Q29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisg
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlv
bi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElU
UyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVE
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM
QVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElO
Qy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElB
TCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YK
KyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
CisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisg
Ki8KKworI3ByYWdtYSBvbmNlCisKKy8vIEZJWE1FOiBBZGQgUExBVEZPUk0oSU9TKSBhcyBhIHN1
cHBvcnRlZCBwbGF0Zm9ybSBvbmNlIHdlIGhhdmUgZmlndXJlZCBvdXQKKy8vIGhvdyB0byBzdXBw
b3J0IHByaXZhdGUgZnJhbWV3b3JrcyBvbiBFV1MuCisjaWYgKFBMQVRGT1JNKE1BQykgJiYgX19N
QUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDEyMDApCisjZGVmaW5lIEhBVkVfQ09S
RV9QUkVESUNUSU9OIDEKKyNlbmRpZgorCisjaW5jbHVkZSAiUmVzb3VyY2VMb2FkU3RhdGlzdGlj
c0NsYXNzaWZpZXJCYXNlLmgiCisjaW5jbHVkZSA8Q29yZUZvdW5kYXRpb24vQ29yZUZvdW5kYXRp
b24uaD4KKyNpZiBIQVZFX0NPUkVfUFJFRElDVElPTgorI2luY2x1ZGUgPENvcmVQcmVkaWN0aW9u
L3N2bS5oPgorI2VuZGlmCisjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CisKK25hbWVz
cGFjZSBXZWJLaXQgeworCitjbGFzcyBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllciA6
IHB1YmxpYyBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllckJhc2UgeworCitwdWJsaWM6
CisgICAgUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXIoKQorICAgICAgICA6IFJlc291
cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQmFzZSgpIHsgfQorICAgIAorcHJpdmF0ZToKKyAg
ICBib29sIGNsYXNzaWZ5KGNvbnN0IHVuc2lnbmVkLCBjb25zdCB1bnNpZ25lZCwgY29uc3QgdW5z
aWduZWQpOworICAgIFN0cmluZyBzdG9yYWdlUGF0aCgpOworICAgIGJvb2wgc2hvdWxkVXNlQ29y
ZVByZWRpY3Rpb24oKTsKKyNpZiBIQVZFX0NPUkVfUFJFRElDVElPTgorICAgIHN0cnVjdCBzdm1f
bW9kZWwqIG1fY29yZVByZWRpY3Rpb25Nb2RlbDsKKyAgICBib29sIG1fdXNlQ29yZVByZWRpY3Rp
b24geyB0cnVlIH07CisjZW5kaWYKK307CisKK30KSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1Jlc291
cmNlcy9SZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NvcmVQcmVkaWN0aW9uX21vZGVsCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1Jlc291cmNlcy9SZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2Nv
cmVQcmVkaWN0aW9uX21vZGVsCShub25leGlzdGVudCkKKysrIFNvdXJjZS9XZWJLaXQyL1Jlc291
cmNlcy9SZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NvcmVQcmVkaWN0aW9uX21vZGVsCSh3b3JraW5n
IGNvcHkpCkBAIC0wLDAgKzEsNjc4IEBACitzdm1fdHlwZSBjX3N2Ywora2VybmVsX3R5cGUgcmJm
CitnYW1tYSAwLjEKK25yX2NsYXNzIDIKK3RvdGFsX3N2IDMzMAorcmhvIDAuMjg3OTQ1NjQyMjYx
CitsYWJlbCAtMSAxCitucl9zdiAzMDAgMzAKK1NWCistMC4wNTQ2Njk3MDM4NzI0IDE6MTQuMCAy
OjMuMCAzOjcuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMjoxLjAgCistMC4wNTQ2Njk3MDM4
NzI0IDE6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAzOjEuMCAKKy0wLjA1NDY2OTcwMzg3
MjQgMToxMi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjcuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToy
LjAgMjoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDM6MS4wIAorLTAuMDU0NjY5NzAzODcy
NCAxOjMuMCAyOjE2LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDM6MS4wIAorLTAuMDU0NjY5
NzAzODcyNCAxOjEuMCAyOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMzoxLjAgCistMC4w
NTQ2Njk3MDM4NzI0IDE6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjMuMCAyOjEuMCAKKy0wLjA1
NDY2OTcwMzg3MjQgMTo1LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MTYuMCAyOjIuMCAzOjIuMCAK
Ky0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMjoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MTEuMCAK
Ky0wLjA1NDY2OTcwMzg3MjQgMTo0LjAgMzozLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MjguMCAK
Ky0wLjA1NDY2OTcwMzg3MjQgMToyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDM6MS4wIAor
LTAuMDU0NjY5NzAzODcyNCAxOjEuMCAzOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyMi4wIDI6
MS4wIDM6MTIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxNC4wIDM6NS4wIAorLTAuMDU0NjY5NzAz
ODcyNCAxOjEuMCAzOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo0OC4wIDI6MS4wIAorLTAuMDU0
NjY5NzAzODcyNCAxOjI1LjAgMzoxNi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAyOjEuMCAK
Ky0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMzoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Ni4wIAor
LTAuMDU0NjY5NzAzODcyNCAxOjcuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMjoxLjAgCist
MC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDM6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjMuMCAzOjIu
MCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo3LjAgMjoxLjAgMzoxLjAgCistMC4wNTQ2Njk3MDM4NzI0
IDE6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjcuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo1LjAg
MjoyLjAgMzozLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAx
OjEuMCAyOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo0LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6
MS4wIDI6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAzOjEuMCAKKy0wLjA1NDY2OTcwMzg3
MjQgMTo5LjAgMzo0LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDI6MS4wIAorLTAuMDU0NjY5
NzAzODcyNCAxOjEuMCAzOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo0Ny4wIDI6MjEuMCAzOjMz
LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MTEuMCAyOjIuMCAzOjUuMCAKKy0wLjA1NDY2OTcwMzg3
MjQgMToxMS4wIDI6My4wIDM6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAzOjEuMCAKKy0w
LjA1NDY2OTcwMzg3MjQgMToyLjAgMjoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6NDMuMCAzOjIu
MCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxMy4wIDM6Ny4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEu
MCAzOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo0LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MTMu
MCAzOjQuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo0Mi4wIDI6NC4wIDM6MzIuMCAKKy0wLjA1NDY2
OTcwMzg3MjQgMToxMC4wIDI6NS4wIDM6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjcuMCAzOjQu
MCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDM6MS4w
IAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAzOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo2LjAg
CistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDI6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjYuMCAK
Ky0wLjA1NDY2OTcwMzg3MjQgMToxNi4wIDI6NC4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEwLjAg
MjoxLjAgMzoyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MTguMCAyOjMuMCAzOjYuMCAKKy0wLjA1
NDY2OTcwMzg3MjQgMToxLjAgMzoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDI6MS4wIAor
LTAuMDU0NjY5NzAzODcyNCAxOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTozLjAgMjoxLjAgMzox
LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDI6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjMu
MCAKKy0wLjA1NDY2OTcwMzg3MjQgMTozLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6NC4wIAorLTAu
MDU0NjY5NzAzODcyNCAxOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAgMzoyLjAgCistMC4w
NTQ2Njk3MDM4NzI0IDE6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAzOjEuMCAKKy0wLjA1
NDY2OTcwMzg3MjQgMToyMS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAKKy0wLjA1NDY2OTcw
Mzg3MjQgMToyLjAgMjoyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MTQuMCAKKy0wLjA1NDY2OTcw
Mzg3MjQgMToyLjAgMjoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIDM6Mi4wIAorLTAuMDU0
NjY5NzAzODcyNCAxOjQuMCAzOjMuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAgMzoxLjAgCist
MC4wNTQ2Njk3MDM4NzI0IDE6My4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAKKy0wLjA1NDY2
OTcwMzg3MjQgMToxLjAgMjoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6NC4wIAorLTAuMDU0NjY5
NzAzODcyNCAxOjM5LjAgMzo0LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5
NzAzODcyNCAxOjIuMCAyOjEuMCAzOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo0LjAgCistMC4w
NTQ2Njk3MDM4NzI0IDE6Mi4wIDI6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjQuMCAKKy0wLjA1
NDY2OTcwMzg3MjQgMToxLjAgMjoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDI6Mi4wIAor
LTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAgMjoxLjAgCist
MC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2
OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcy
NCAxOjMuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMjoxLjAgCistMC4wNTQ2Njk3MDM4NzI0
IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAg
CistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1
NDY2OTcwMzg3MjQgMToxLjAgMzoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0
NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4
NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTox
LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0w
LjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5
NzAzODcyNCAxOjE2LjAgMjoxLjAgMzoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAu
MDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMjoxLjAgCistMC4w
NTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcw
Mzg3MjQgMTozLjAgMjoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDM6MS4wIAorLTAuMDU0
NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4
NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToy
LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIwLjAgMzoz
LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAKKy0w
LjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5
NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0
IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAzOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQg
MToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDM6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAx
OjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo4LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Ny4wIDI6
MS4wIDM6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjguMCAyOjIuMCAKKy0wLjA1NDY2OTcwMzg3
MjQgMToxLjAgMjoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcy
NCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMjoxLjAgCistMC4wNTQ2Njk3MDM4NzI0
IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAg
CistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1
NDY2OTcwMzg3MjQgMToyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAz
ODcyNCAxOjEyLjAgMzo3LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAz
ODcyNCAxOjkuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo3LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6
MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAyOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTox
LjAgMzoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjgu
MCAyOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxNy4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIu
MCAyOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4w
IAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4w
NTQ2Njk3MDM4NzI0IDE6NC4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcw
Mzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MTMuMCAyOjQuMCAzOjIuMCAKKy0wLjA1
NDY2OTcwMzg3MjQgMToxLjAgMzoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIDM6Mi4wIAor
LTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxNi4wIAorLTAuMDU0
NjY5NzAzODcyNCAxOjMuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4
NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTox
LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0w
LjA1NDY2OTcwMzg3MjQgMToyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIAorLTAuMDU0NjY5
NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0
IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAg
CistMC4wNTQ2Njk3MDM4NzI0IDE6My4wIDM6My4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAK
Ky0wLjA1NDY2OTcwMzg3MjQgMToyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MTEuMCAzOjExLjAg
CistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1
NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIAorLTAuMDU0NjY5NzAz
ODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6
MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAgCist
MC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2
OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcy
NCAxOjE1LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEu
MCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyMC4wIDI6MTIuMCAzOjMuMCAKKy0wLjA1NDY2OTcwMzg3
MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEu
MCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Ny4wIDM6MS4w
IAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMzoxLjAg
CistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1
NDY2OTcwMzg3MjQgMToxLjAgMzoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0
NjY5NzAzODcyNCAxOjMuMCAzOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2
Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjkuMCAyOjMuMCAKKy0wLjA1NDY2
OTcwMzg3MjQgMToxLjAgMzoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Ni4wIAorLTAuMDU0NjY5
NzAzODcyNCAxOjQuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0
IDE6Ny4wIDI6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQg
MToxLjAgMzoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAx
OjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo5LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIAor
LTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2
Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3
MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MTQuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTox
Mi4wIDM6Ni4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjMuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo0
LjAgMjoxLjAgMzoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcy
NCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4w
IAorLTAuMDU0NjY5NzAzODcyNCAxOjkuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo5LjAgMjoxLjAg
Mzo0LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAK
Ky0wLjA1NDY2OTcwMzg3MjQgMTo5LjAgMjoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6My4wIDI6
My4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAyOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTox
LjAgMjoxLjAgMzoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6OC4wIDI6MS4wIDM6My4wIAorLTAu
MDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAgMjoxLjAgCistMC4w
NTQ2Njk3MDM4NzI0IDE6OS4wIDI6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1
NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIAorLTAuMDU0NjY5NzAz
ODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTozNi4wIAorLTAuMDU0NjY5NzAzODcyNCAx
OjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIAor
LTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2
Njk3MDM4NzI0IDE6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3
MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Ni4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEu
MCAzOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4w
IAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4w
NTQ2Njk3MDM4NzI0IDE6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcw
Mzg3MjQgMToyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6NC4wIDM6Mi4wIAorLTAuMDU0NjY5NzAz
ODcyNCAxOjEzLjAgMzo0LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDQwMjA3NTE3
ODk0MiAxOjEuMCAKKzAuNTg1MzY1ODUzNjU5IDE6MS4wIAorMC40NzkyNzYxMzkwMDEgMTo2LjAg
MjozLjAgCiswLjU4NTM2NTg1MzY1OSAxOjIuMCAKKzAuNTg1MzY1ODUzNjU5IDE6MS4wIAorMC41
ODUzNjU4NTM2NTkgMTozLjAgMzozLjAgCiswLjU4NTM2NTg1MzY1OSAxOjQyLjAgMjoyLjAgMzoy
OC4wIAorMC41ODUzNjU4NTM2NTkgMToyLjAgCiswLjU4NTM2NTg1MzY1OSAxOjEyLjAgCiswLjQ3
OTI4MzA0NjU3OCAxOjcuMCAKKzAuMzAwMzk3ODczNDc2IDE6My4wIDM6MS4wIAorMC4wNTQzMTcz
MzA2NDQyIDE6Ni4wIDM6Mi4wIAorMC41NjM0NjUxMjYyOTkgMToxMS4wIAorMC41ODUzNjU4NTM2
NTkgMToyLjAgCiswLjU4NTM2NTg1MzY1OSAxOjEwLjAgMjozLjAgMzo2LjAgCiswLjU4NTM2NTg1
MzY1OSAxOjEuMCAyOjEuMCAKKzAuNTg1MzY1ODUzNjU5IDE6Mi4wIAorMC41ODUzNjU4NTM2NTkg
MToxLjAgMjoxLjAgCiswLjU4NTM2NTg1MzY1OSAxOjMuMCAzOjEuMCAKKzAuNTg1MzY1ODUzNjU5
IDE6MS4wIAorMC41ODUzNjU4NTM2NTkgMToyLjAgCiswLjU4NTM2NTg1MzY1OSAxOjEuMCAyOjEu
MCAKKzAuNTg0OTg5NzE5OTA5IDE6Ny4wIAorMC41ODUzNjU4NTM2NTkgMTozLjAgCiswLjU4NTM2
NTg1MzY1OSAxOjMuMCAKKzAuNTI1OTI1MTM2OTgzIDE6My4wIDI6Mi4wIAorMC41ODUzNjU4NTM2
NTkgMToxLjAgCiswLjU4NTM2NTg1MzY1OSAxOjEuMCAKKzAuNTg1MzY1ODUzNjU5IDE6My4wIDM6
MS4wIAorMC41ODUzNjU4NTM2NTkgMToxLjAgCiswLjUyMDc0NTgyMjM3NCAxOjMuMCAKK3N2bV90
eXBlIGNfc3ZjCitrZXJuZWxfdHlwZSByYmYKK2dhbW1hIDAuMQorbnJfY2xhc3MgMgordG90YWxf
c3YgMzMwCityaG8gMC4yODc5NDU2NDIyNjEKK2xhYmVsIC0xIDEKK25yX3N2IDMwMCAzMAorU1YK
Ky0wLjA1NDY2OTcwMzg3MjQgMToxNC4wIDI6My4wIDM6Ny4wIAorLTAuMDU0NjY5NzAzODcyNCAx
OjEuMCAyOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6
MS4wIDM6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6
Ny4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAyOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTox
LjAgMzoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6My4wIDI6MTYuMCAKKy0wLjA1NDY2OTcwMzg3
MjQgMToxLjAgMzoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDI6Mi4wIAorLTAuMDU0NjY5
NzAzODcyNCAxOjEuMCAzOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAgCistMC4wNTQ2Njk3
MDM4NzI0IDE6My4wIDI6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjUuMCAKKy0wLjA1NDY2OTcw
Mzg3MjQgMToxNi4wIDI6Mi4wIDM6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAyOjEuMCAK
Ky0wLjA1NDY2OTcwMzg3MjQgMToxMS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjQuMCAzOjMuMCAK
Ky0wLjA1NDY2OTcwMzg3MjQgMToyOC4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAKKy0wLjA1
NDY2OTcwMzg3MjQgMToxLjAgMzoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDM6MS4wIAor
LTAuMDU0NjY5NzAzODcyNCAxOjIyLjAgMjoxLjAgMzoxMi4wIAorLTAuMDU0NjY5NzAzODcyNCAx
OjE0LjAgMzo1LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDM6MS4wIAorLTAuMDU0NjY5NzAz
ODcyNCAxOjQ4LjAgMjoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MjUuMCAzOjE2LjAgCistMC4w
NTQ2Njk3MDM4NzI0IDE6MS4wIDI6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAzOjEuMCAK
Ky0wLjA1NDY2OTcwMzg3MjQgMTo2LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Ny4wIAorLTAuMDU0
NjY5NzAzODcyNCAxOjEuMCAyOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMzoxLjAgCist
MC4wNTQ2Njk3MDM4NzI0IDE6My4wIDM6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjcuMCAyOjEu
MCAzOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Ny4w
IAorLTAuMDU0NjY5NzAzODcyNCAxOjUuMCAyOjIuMCAzOjMuMCAKKy0wLjA1NDY2OTcwMzg3MjQg
MToyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDI6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAx
OjQuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMjoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6
MS4wIDM6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjkuMCAzOjQuMCAKKy0wLjA1NDY2OTcwMzg3
MjQgMToxLjAgMjoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDM6MS4wIAorLTAuMDU0NjY5
NzAzODcyNCAxOjQ3LjAgMjoyMS4wIDM6MzMuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxMS4wIDI6
Mi4wIDM6NS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjExLjAgMjozLjAgMzoxLjAgCistMC4wNTQ2
Njk3MDM4NzI0IDE6MS4wIDM6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAyOjEuMCAKKy0w
LjA1NDY2OTcwMzg3MjQgMTo0My4wIDM6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEzLjAgMzo3
LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDM6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjQu
MCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxMy4wIDM6NC4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjQy
LjAgMjo0LjAgMzozMi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEwLjAgMjo1LjAgMzoxLjAgCist
MC4wNTQ2Njk3MDM4NzI0IDE6Ny4wIDM6NC4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAKKy0w
LjA1NDY2OTcwMzg3MjQgMToxLjAgMzoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDM6MS4w
IAorLTAuMDU0NjY5NzAzODcyNCAxOjYuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMjoxLjAg
CistMC4wNTQ2Njk3MDM4NzI0IDE6Ni4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjE2LjAgMjo0LjAg
CistMC4wNTQ2Njk3MDM4NzI0IDE6MTAuMCAyOjEuMCAzOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQg
MToxOC4wIDI6My4wIDM6Ni4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAzOjEuMCAKKy0wLjA1
NDY2OTcwMzg3MjQgMToxLjAgMjoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIAorLTAuMDU0
NjY5NzAzODcyNCAxOjMuMCAyOjEuMCAzOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMjox
LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6My4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjMuMCAKKy0w
LjA1NDY2OTcwMzg3MjQgMTo0LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIAorLTAuMDU0NjY5
NzAzODcyNCAxOjIuMCAzOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAgCistMC4wNTQ2Njk3
MDM4NzI0IDE6MS4wIDM6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIxLjAgCistMC4wNTQ2Njk3
MDM4NzI0IDE6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAyOjIuMCAKKy0wLjA1NDY2OTcw
Mzg3MjQgMToxNC4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAyOjEuMCAKKy0wLjA1NDY2OTcw
Mzg3MjQgMToyLjAgMzoyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6NC4wIDM6My4wIAorLTAuMDU0
NjY5NzAzODcyNCAxOjIuMCAzOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTozLjAgCistMC4wNTQ2
Njk3MDM4NzI0IDE6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAyOjEuMCAKKy0wLjA1NDY2
OTcwMzg3MjQgMTo0LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MzkuMCAzOjQuMCAKKy0wLjA1NDY2
OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIDI6MS4wIDM6MS4wIAorLTAu
MDU0NjY5NzAzODcyNCAxOjQuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAgMjoxLjAgCistMC4w
NTQ2Njk3MDM4NzI0IDE6NC4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAyOjEuMCAKKy0wLjA1
NDY2OTcwMzg3MjQgMToxLjAgMjoyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0
NjY5NzAzODcyNCAxOjIuMCAyOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2
Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3
MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6My4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEu
MCAyOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4w
IAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4w
NTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAzOjEuMCAKKy0wLjA1
NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAz
ODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6
MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCist
MC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2
OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MTYuMCAyOjEuMCAzOjEuMCAKKy0w
LjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5
NzAzODcyNCAxOjEuMCAyOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3
MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjMuMCAyOjEuMCAKKy0wLjA1NDY2OTcw
Mzg3MjQgMToxLjAgMzoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAz
ODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6
MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCist
MC4wNTQ2Njk3MDM4NzI0IDE6MjAuMCAzOjMuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCist
MC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2
OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcy
NCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4w
IDM6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAg
MzoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjguMCAK
Ky0wLjA1NDY2OTcwMzg3MjQgMTo3LjAgMjoxLjAgMzoyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6
OC4wIDI6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAyOjEuMCAKKy0wLjA1NDY2OTcwMzg3
MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEu
MCAyOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4w
IAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4w
NTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAKKy0wLjA1NDY2OTcw
Mzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MTIuMCAzOjcuMCAKKy0wLjA1NDY2OTcw
Mzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6OS4wIAorLTAuMDU0NjY5NzAzODcyNCAx
OjcuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDI6
MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAzOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTox
LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6OC4wIDI6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjE3
LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIDI6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEu
MCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAu
MDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo0LjAgCistMC4wNTQ2Njk3
MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQg
MToxMy4wIDI6NC4wIDM6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAzOjEuMCAKKy0wLjA1
NDY2OTcwMzg3MjQgMToyLjAgMzoyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0
NjY5NzAzODcyNCAxOjE2LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6My4wIAorLTAuMDU0NjY5NzAz
ODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6
MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAgCist
MC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAKKy0wLjA1NDY2
OTcwMzg3MjQgMToyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcy
NCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4w
IAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTozLjAgMzozLjAg
CistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAKKy0wLjA1
NDY2OTcwMzg3MjQgMToxMS4wIDM6MTEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4w
NTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcw
Mzg3MjQgMToyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAx
OjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAor
LTAuMDU0NjY5NzAzODcyNCAxOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2
Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3
MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MTUuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTox
LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIwLjAgMjox
Mi4wIDM6My4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTox
LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0w
LjA1NDY2OTcwMzg3MjQgMTo3LjAgMzoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAu
MDU0NjY5NzAzODcyNCAxOjEuMCAzOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4w
NTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAzOjEuMCAKKy0wLjA1
NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6My4wIDM6Mi4wIAorLTAuMDU0
NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4
NzI0IDE6OS4wIDI6My4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAzOjEuMCAKKy0wLjA1NDY2
OTcwMzg3MjQgMTo2LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6NC4wIAorLTAuMDU0NjY5NzAzODcy
NCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo3LjAgMjoyLjAgCistMC4wNTQ2Njk3MDM4NzI0
IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAzOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQg
MToyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjkuMCAK
Ky0wLjA1NDY2OTcwMzg3MjQgMToyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0
NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4
NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTox
NC4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEyLjAgMzo2LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6
My4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjQuMCAyOjEuMCAzOjEuMCAKKy0wLjA1NDY2OTcwMzg3
MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEu
MCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6OS4wIAorLTAu
MDU0NjY5NzAzODcyNCAxOjkuMCAyOjEuMCAzOjQuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAg
CistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjkuMCAyOjEuMCAK
Ky0wLjA1NDY2OTcwMzg3MjQgMTozLjAgMjozLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIDI6
Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAyOjEuMCAzOjEuMCAKKy0wLjA1NDY2OTcwMzg3
MjQgMTo4LjAgMjoxLjAgMzozLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5
NzAzODcyNCAxOjIuMCAyOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo5LjAgMjoxLjAgCistMC4w
NTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcw
Mzg3MjQgMToyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAx
OjM2LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAK
Ky0wLjA1NDY2OTcwMzg3MjQgMToyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0
NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAgCistMC4wNTQ2Njk3MDM4
NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo2
LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDM6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEu
MCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAu
MDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAgCistMC4wNTQ2Njk3
MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQg
MTo0LjAgMzoyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MTMuMCAzOjQuMCAKKy0wLjA1NDY2OTcw
Mzg3MjQgMToxLjAgCistMC4wNDAyMDc1MTc4OTQyIDE6MS4wIAorMC41ODUzNjU4NTM2NTkgMTox
LjAgCiswLjQ3OTI3NjEzOTAwMSAxOjYuMCAyOjMuMCAKKzAuNTg1MzY1ODUzNjU5IDE6Mi4wIAor
MC41ODUzNjU4NTM2NTkgMToxLjAgCiswLjU4NTM2NTg1MzY1OSAxOjMuMCAzOjMuMCAKKzAuNTg1
MzY1ODUzNjU5IDE6NDIuMCAyOjIuMCAzOjI4LjAgCiswLjU4NTM2NTg1MzY1OSAxOjIuMCAKKzAu
NTg1MzY1ODUzNjU5IDE6MTIuMCAKKzAuNDc5MjgzMDQ2NTc4IDE6Ny4wIAorMC4zMDAzOTc4NzM0
NzYgMTozLjAgMzoxLjAgCiswLjA1NDMxNzMzMDY0NDIgMTo2LjAgMzoyLjAgCiswLjU2MzQ2NTEy
NjI5OSAxOjExLjAgCiswLjU4NTM2NTg1MzY1OSAxOjIuMCAKKzAuNTg1MzY1ODUzNjU5IDE6MTAu
MCAyOjMuMCAzOjYuMCAKKzAuNTg1MzY1ODUzNjU5IDE6MS4wIDI6MS4wIAorMC41ODUzNjU4NTM2
NTkgMToyLjAgCiswLjU4NTM2NTg1MzY1OSAxOjEuMCAyOjEuMCAKKzAuNTg1MzY1ODUzNjU5IDE6
My4wIDM6MS4wIAorMC41ODUzNjU4NTM2NTkgMToxLjAgCiswLjU4NTM2NTg1MzY1OSAxOjIuMCAK
KzAuNTg1MzY1ODUzNjU5IDE6MS4wIDI6MS4wIAorMC41ODQ5ODk3MTk5MDkgMTo3LjAgCiswLjU4
NTM2NTg1MzY1OSAxOjMuMCAKKzAuNTg1MzY1ODUzNjU5IDE6My4wIAorMC41MjU5MjUxMzY5ODMg
MTozLjAgMjoyLjAgCiswLjU4NTM2NTg1MzY1OSAxOjEuMCAKKzAuNTg1MzY1ODUzNjU5IDE6MS4w
IAorMC41ODUzNjU4NTM2NTkgMTozLjAgMzoxLjAgCiswLjU4NTM2NTg1MzY1OSAxOjEuMCAKKzAu
NTIwNzQ1ODIyMzc0IDE6My4wIApJbmRleDogU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlJl
c291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFnZXIuY3BwCShyZXZp
c2lvbiAyMTI0MzkpCisrKyBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUmVzb3VyY2VMb2Fk
U3RhdGlzdGljc01hbmFnZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC02MSw2ICs2MSwyMSBAQCBi
b29sIFdlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VyOjpoCiAgICAgcmV0dXJuIFdlYkNv
cmU6OlJlc291cmNlTG9hZE9ic2VydmVyOjpzaGFyZWRPYnNlcnZlcigpLmhhc0hhZFVzZXJJbnRl
cmFjdGlvbihVUkwoVVJMKCksIGhvc3ROYW1lKSk7CiB9CiAKK3ZvaWQgV2ViUmVzb3VyY2VMb2Fk
U3RhdGlzdGljc01hbmFnZXI6OnNldFN1YmZyYW1lVW5kZXJUb3BGcmFtZU9yaWdpbihjb25zdCBT
dHJpbmcmIGhvc3ROYW1lLCBjb25zdCBTdHJpbmcmIHRvcEZyYW1lSG9zdE5hbWUpCit7CisgICAg
V2ViQ29yZTo6UmVzb3VyY2VMb2FkT2JzZXJ2ZXI6OnNoYXJlZE9ic2VydmVyKCkuc2V0U3ViZnJh
bWVVbmRlclRvcEZyYW1lT3JpZ2luKFVSTChVUkwoKSwgaG9zdE5hbWUpLCBVUkwoVVJMKCksIHRv
cEZyYW1lSG9zdE5hbWUpKTsKK30KKwordm9pZCBXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFu
YWdlcjo6c2V0U3VicmVzb3VyY2VVbmRlclRvcEZyYW1lT3JpZ2luKGNvbnN0IFN0cmluZyYgaG9z
dE5hbWUsIGNvbnN0IFN0cmluZyYgdG9wRnJhbWVIb3N0TmFtZSkKK3sKKyAgICBXZWJDb3JlOjpS
ZXNvdXJjZUxvYWRPYnNlcnZlcjo6c2hhcmVkT2JzZXJ2ZXIoKS5zZXRTdWJyZXNvdXJjZVVuZGVy
VG9wRnJhbWVPcmlnaW4oVVJMKFVSTCgpLCBob3N0TmFtZSksIFVSTChVUkwoKSwgdG9wRnJhbWVI
b3N0TmFtZSkpOworfQorCit2b2lkIFdlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VyOjpz
ZXRTdWJyZXNvdXJjZVVuaXF1ZVJlZGlyZWN0VG8oY29uc3QgU3RyaW5nJiBob3N0TmFtZSwgY29u
c3QgU3RyaW5nJiBob3N0TmFtZVJlZGlyZWN0ZWRUbykKK3sKKyAgICBXZWJDb3JlOjpSZXNvdXJj
ZUxvYWRPYnNlcnZlcjo6c2hhcmVkT2JzZXJ2ZXIoKS5zZXRTdWJyZXNvdXJjZVVuaXF1ZVJlZGly
ZWN0VG8oVVJMKFVSTCgpLCBob3N0TmFtZSksIFVSTChVUkwoKSwgaG9zdE5hbWVSZWRpcmVjdGVk
VG8pKTsKK30KKwogdm9pZCBXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdlcjo6c2V0VGlt
ZVRvTGl2ZVVzZXJJbnRlcmFjdGlvbihkb3VibGUgc2Vjb25kcykKIHsKICAgICBXZWJDb3JlOjpS
ZXNvdXJjZUxvYWRPYnNlcnZlcjo6c2hhcmVkT2JzZXJ2ZXIoKS5zZXRUaW1lVG9MaXZlVXNlcklu
dGVyYWN0aW9uKHNlY29uZHMpOwpJbmRleDogU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlJl
c291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VyLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL1dlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VyLmgJKHJldmlzaW9u
IDIxMjQzOSkKKysrIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJSZXNvdXJjZUxvYWRTdGF0
aXN0aWNzTWFuYWdlci5oCSh3b3JraW5nIGNvcHkpCkBAIC00Miw2ICs0Miw5IEBAIHB1YmxpYzoK
ICAgICBzdGF0aWMgYm9vbCBpc1ByZXZhbGVudFJlc291cmNlKGNvbnN0IFN0cmluZyYgaG9zdE5h
bWUpOwogICAgIHN0YXRpYyB2b2lkIHNldEhhc0hhZFVzZXJJbnRlcmFjdGlvbihjb25zdCBTdHJp
bmcmIGhvc3ROYW1lLCBib29sIHZhbHVlKTsKICAgICBzdGF0aWMgYm9vbCBoYXNIYWRVc2VySW50
ZXJhY3Rpb24oY29uc3QgU3RyaW5nJiBob3N0TmFtZSk7CisgICAgc3RhdGljIHZvaWQgc2V0U3Vi
ZnJhbWVVbmRlclRvcEZyYW1lT3JpZ2luKGNvbnN0IFN0cmluZyYgaG9zdE5hbWUsIGNvbnN0IFN0
cmluZyYgdG9wRnJhbWVIb3N0TmFtZSk7CisgICAgc3RhdGljIHZvaWQgc2V0U3VicmVzb3VyY2VV
bmRlclRvcEZyYW1lT3JpZ2luKGNvbnN0IFN0cmluZyYgaG9zdE5hbWUsIGNvbnN0IFN0cmluZyYg
dG9wRnJhbWVIb3N0TmFtZSk7CisgICAgc3RhdGljIHZvaWQgc2V0U3VicmVzb3VyY2VVbmlxdWVS
ZWRpcmVjdFRvKGNvbnN0IFN0cmluZyYgaG9zdE5hbWUsIGNvbnN0IFN0cmluZyYgaG9zdE5hbWVS
ZWRpcmVjdGVkVG8pOwogICAgIHN0YXRpYyB2b2lkIHNldFRpbWVUb0xpdmVVc2VySW50ZXJhY3Rp
b24oZG91YmxlIHNlY29uZHMpOwogICAgIHN0YXRpYyB2b2lkIHNldFJlZHVjZWRUaW1lc3RhbXBS
ZXNvbHV0aW9uKGRvdWJsZSBzZWNvbmRzKTsKICAgICBzdGF0aWMgdm9pZCBmaXJlRGF0YU1vZGlm
aWNhdGlvbkhhbmRsZXIoKTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJSZXNv
dXJjZUxvYWRTdGF0aXN0aWNzU3RvcmUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9XZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmUuY3BwCShyZXZpc2lvbiAy
MTI0MzkpCisrKyBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUmVzb3VyY2VMb2FkU3RhdGlz
dGljc1N0b3JlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDUsNyArNDUsNiBAQCB1c2luZyBuYW1l
c3BhY2UgV2ViQ29yZTsKIAogbmFtZXNwYWNlIFdlYktpdCB7CiAKLXN0YXRpYyBjb25zdCBhdXRv
IGZlYXR1cmVWZWN0b3JMZW5ndGhUaHJlc2hvbGQgPSAzOwogc3RhdGljIGF1dG8gbWluaW11bVRp
bWVCZXR3ZWVlbkRhdGFSZWNvcmRzUmVtb3ZhbCA9IDYwOwogc3RhdGljIE9wdGlvblNldDxXZWJL
aXQ6OldlYnNpdGVEYXRhVHlwZT4gZGF0YVR5cGVzVG9SZW1vdmU7CiBzdGF0aWMgYXV0byBub3Rp
ZnlQYWdlcyA9IGZhbHNlOwpAQCAtNTksNyArNTgsNyBAQCBSZWY8V2ViUmVzb3VyY2VMb2FkU3Rh
dGlzdGljc1N0b3JlPiBXZWJSCiBXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmU6OldlYlJl
c291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZShjb25zdCBTdHJpbmcmIHJlc291cmNlTG9hZFN0YXRp
c3RpY3NEaXJlY3RvcnkpCiAgICAgOiBtX3Jlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZShSZXNv
dXJjZUxvYWRTdGF0aXN0aWNzU3RvcmU6OmNyZWF0ZSgpKQogICAgICwgbV9zdGF0aXN0aWNzUXVl
dWUoV29ya1F1ZXVlOjpjcmVhdGUoIldlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZSBQcm9j
ZXNzIERhdGEgUXVldWUiKSkKLSAgICAsIG1fc3RvcmFnZVBhdGgocmVzb3VyY2VMb2FkU3RhdGlz
dGljc0RpcmVjdG9yeSkKKyAgICAsIG1fc3RhdGlzdGljc1N0b3JhZ2VQYXRoKHJlc291cmNlTG9h
ZFN0YXRpc3RpY3NEaXJlY3RvcnkpCiB7CiB9CiAKQEAgLTgzLDQwICs4MiwxMSBAQCB2b2lkIFdl
YlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZTo6c2V0CiAgICAgICAgIG1pbmltdW1UaW1lQmV0
d2VlZW5EYXRhUmVjb3Jkc1JlbW92YWwgPSBzZWNvbmRzOwogfQogCi1ib29sIFdlYlJlc291cmNl
TG9hZFN0YXRpc3RpY3NTdG9yZTo6aGFzUHJldmFsZW50UmVzb3VyY2VDaGFyYWN0ZXJpc3RpY3Mo
Y29uc3QgUmVzb3VyY2VMb2FkU3RhdGlzdGljcyYgcmVzb3VyY2VTdGF0aXN0aWMpCi17Ci0gICAg
YXV0byBzdWJyZXNvdXJjZVVuZGVyVG9wRnJhbWVPcmlnaW5zQ291bnQgPSByZXNvdXJjZVN0YXRp
c3RpYy5zdWJyZXNvdXJjZVVuZGVyVG9wRnJhbWVPcmlnaW5zLnNpemUoKTsKLSAgICBhdXRvIHN1
YnJlc291cmNlVW5pcXVlUmVkaXJlY3RzVG9Db3VudCA9IHJlc291cmNlU3RhdGlzdGljLnN1YnJl
c291cmNlVW5pcXVlUmVkaXJlY3RzVG8uc2l6ZSgpOwotICAgIGF1dG8gc3ViZnJhbWVVbmRlclRv
cEZyYW1lT3JpZ2luc0NvdW50ID0gcmVzb3VyY2VTdGF0aXN0aWMuc3ViZnJhbWVVbmRlclRvcEZy
YW1lT3JpZ2lucy5zaXplKCk7Ci0gICAgCi0gICAgaWYgKCFzdWJyZXNvdXJjZVVuZGVyVG9wRnJh
bWVPcmlnaW5zQ291bnQKLSAgICAgICAgJiYgIXN1YnJlc291cmNlVW5pcXVlUmVkaXJlY3RzVG9D
b3VudAotICAgICAgICAmJiAhc3ViZnJhbWVVbmRlclRvcEZyYW1lT3JpZ2luc0NvdW50KQotICAg
ICAgICByZXR1cm4gZmFsc2U7Ci0KLSAgICBpZiAoc3VicmVzb3VyY2VVbmRlclRvcEZyYW1lT3Jp
Z2luc0NvdW50ID4gZmVhdHVyZVZlY3Rvckxlbmd0aFRocmVzaG9sZAotICAgICAgICB8fCBzdWJy
ZXNvdXJjZVVuaXF1ZVJlZGlyZWN0c1RvQ291bnQgPiBmZWF0dXJlVmVjdG9yTGVuZ3RoVGhyZXNo
b2xkCi0gICAgICAgIHx8IHN1YmZyYW1lVW5kZXJUb3BGcmFtZU9yaWdpbnNDb3VudCA+IGZlYXR1
cmVWZWN0b3JMZW5ndGhUaHJlc2hvbGQpCi0gICAgICAgIHJldHVybiB0cnVlOwotCi0gICAgLy8g
VGhlIHJlc291cmNlIGlzIGNvbnNpZGVyZWQgcHJldmFsZW50IGlmIHRoZSBmZWF0dXJlIHZlY3Rv
cgotICAgIC8vIGlzIGxvbmdlciB0aGFuIHRoZSB0aHJlc2hvbGQuCi0gICAgLy8gVmVjdG9yIGxl
bmd0aCBmb3IgbiBkaW1lbnNpb25zIGlzIHNxcnQoYV4yICsgKC4uLikgKyBuXjIpLgotICAgIGRv
dWJsZSB2ZWN0b3JMZW5ndGggPSAwOwotICAgIHZlY3Rvckxlbmd0aCArPSBzdWJyZXNvdXJjZVVu
ZGVyVG9wRnJhbWVPcmlnaW5zQ291bnQgKiBzdWJyZXNvdXJjZVVuZGVyVG9wRnJhbWVPcmlnaW5z
Q291bnQ7Ci0gICAgdmVjdG9yTGVuZ3RoICs9IHN1YnJlc291cmNlVW5pcXVlUmVkaXJlY3RzVG9D
b3VudCAqIHN1YnJlc291cmNlVW5pcXVlUmVkaXJlY3RzVG9Db3VudDsKLSAgICB2ZWN0b3JMZW5n
dGggKz0gc3ViZnJhbWVVbmRlclRvcEZyYW1lT3JpZ2luc0NvdW50ICogc3ViZnJhbWVVbmRlclRv
cEZyYW1lT3JpZ2luc0NvdW50OwotCi0gICAgQVNTRVJUKHZlY3Rvckxlbmd0aCA+IDApOwotCi0g
ICAgcmV0dXJuIHNxcnQodmVjdG9yTGVuZ3RoKSA+IGZlYXR1cmVWZWN0b3JMZW5ndGhUaHJlc2hv
bGQ7Ci19Ci0gICAgCiB2b2lkIFdlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZTo6Y2xhc3Np
ZnlSZXNvdXJjZShSZXNvdXJjZUxvYWRTdGF0aXN0aWNzJiByZXNvdXJjZVN0YXRpc3RpYykKIHsK
LSAgICBpZiAoIXJlc291cmNlU3RhdGlzdGljLmlzUHJldmFsZW50UmVzb3VyY2UgJiYgaGFzUHJl
dmFsZW50UmVzb3VyY2VDaGFyYWN0ZXJpc3RpY3MocmVzb3VyY2VTdGF0aXN0aWMpKSB7CisgICAg
aWYgKCFyZXNvdXJjZVN0YXRpc3RpYy5pc1ByZXZhbGVudFJlc291cmNlCisgICAgICAgICYmIG1f
cmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXIuaGFzUHJldmFsZW50UmVzb3VyY2VDaGFy
YWN0ZXJpc3RpY3MocmVzb3VyY2VTdGF0aXN0aWMpKQogICAgICAgICByZXNvdXJjZVN0YXRpc3Rp
Yy5pc1ByZXZhbGVudFJlc291cmNlID0gdHJ1ZTsKLSAgICB9CiB9CiAKIHZvaWQgV2ViUmVzb3Vy
Y2VMb2FkU3RhdGlzdGljc1N0b3JlOjpyZW1vdmVEYXRhUmVjb3JkcygpCkBAIC0yNDgsMTEgKzIx
OCwxMSBAQCB2b2lkIFdlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZTo6YXBwCiAKIFN0cmlu
ZyBXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmU6OnBlcnNpc3RlbnRTdG9yYWdlUGF0aChj
b25zdCBTdHJpbmcmIGxhYmVsKSBjb25zdAogewotICAgIGlmIChtX3N0b3JhZ2VQYXRoLmlzRW1w
dHkoKSkKKyAgICBpZiAobV9zdGF0aXN0aWNzU3RvcmFnZVBhdGguaXNFbXB0eSgpKQogICAgICAg
ICByZXR1cm4gZW1wdHlTdHJpbmcoKTsKIAogICAgIC8vIFRPRE8gRGVjaWRlIHdoYXQgdG8gY2Fs
bCB0aGlzIGZpbGUKLSAgICByZXR1cm4gcGF0aEJ5QXBwZW5kaW5nQ29tcG9uZW50KG1fc3RvcmFn
ZVBhdGgsIGxhYmVsICsgIl9yZXNvdXJjZUxvZy5wbGlzdCIpOworICAgIHJldHVybiBwYXRoQnlB
cHBlbmRpbmdDb21wb25lbnQobV9zdGF0aXN0aWNzU3RvcmFnZVBhdGgsIGxhYmVsICsgIl9yZXNv
dXJjZUxvZy5wbGlzdCIpOwogfQogCiB2b2lkIFdlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9y
ZTo6d3JpdGVFbmNvZGVyVG9EaXNrKEtleWVkRW5jb2RlciYgZW5jb2RlciwgY29uc3QgU3RyaW5n
JiBsYWJlbCkgY29uc3QKQEAgLTI2NSw4ICsyMzUsOCBAQCB2b2lkIFdlYlJlc291cmNlTG9hZFN0
YXRpc3RpY3NTdG9yZTo6d3JpCiAgICAgaWYgKHJlc291cmNlTG9nLmlzRW1wdHkoKSkKICAgICAg
ICAgcmV0dXJuOwogCi0gICAgaWYgKCFtX3N0b3JhZ2VQYXRoLmlzRW1wdHkoKSkKLSAgICAgICAg
bWFrZUFsbERpcmVjdG9yaWVzKG1fc3RvcmFnZVBhdGgpOworICAgIGlmICghbV9zdGF0aXN0aWNz
U3RvcmFnZVBhdGguaXNFbXB0eSgpKQorICAgICAgICBtYWtlQWxsRGlyZWN0b3JpZXMobV9zdGF0
aXN0aWNzU3RvcmFnZVBhdGgpOwogCiAgICAgYXV0byBoYW5kbGUgPSBvcGVuRmlsZShyZXNvdXJj
ZUxvZywgT3BlbkZvcldyaXRlKTsKICAgICBpZiAoIWhhbmRsZSkKSW5kZXg6IFNvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9XZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmUuaAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0
b3JlLmgJKHJldmlzaW9uIDIxMjQzOSkKKysrIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJS
ZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmUuaAkod29ya2luZyBjb3B5KQpAQCAtMjgsNiArMjgs
NyBAQAogCiAjaW5jbHVkZSAiQVBJT2JqZWN0LmgiCiAjaW5jbHVkZSAiQ29ubmVjdGlvbi5oIgor
I2luY2x1ZGUgIlJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyLmgiCiAjaW5jbHVkZSAi
V2Vic2l0ZURhdGFSZWNvcmQuaCIKICNpbmNsdWRlIDxXZWJDb3JlL1Jlc291cmNlTG9hZFN0YXRp
c3RpY3NTdG9yZS5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KQEAgLTc2LDcgKzc3LDYgQEAg
cHJpdmF0ZToKIAogICAgIHZvaWQgcHJvY2Vzc1N0YXRpc3RpY3NBbmREYXRhUmVjb3JkcygpOwog
Ci0gICAgYm9vbCBoYXNQcmV2YWxlbnRSZXNvdXJjZUNoYXJhY3RlcmlzdGljcyhjb25zdCBXZWJD
b3JlOjpSZXNvdXJjZUxvYWRTdGF0aXN0aWNzJik7CiAgICAgdm9pZCBjbGFzc2lmeVJlc291cmNl
KFdlYkNvcmU6OlJlc291cmNlTG9hZFN0YXRpc3RpY3MmKTsKICAgICB2b2lkIHJlbW92ZURhdGFS
ZWNvcmRzKCk7CiAKQEAgLTg5LDggKzg5LDkgQEAgcHJpdmF0ZToKICAgICBzdGQ6OnVuaXF1ZV9w
dHI8V2ViQ29yZTo6S2V5ZWREZWNvZGVyPiBjcmVhdGVEZWNvZGVyRnJvbURpc2soY29uc3QgU3Ry
aW5nJiBsYWJlbCkgY29uc3Q7CiAKICAgICBSZWY8V2ViQ29yZTo6UmVzb3VyY2VMb2FkU3RhdGlz
dGljc1N0b3JlPiBtX3Jlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZTsKKyAgICBSZXNvdXJjZUxv
YWRTdGF0aXN0aWNzQ2xhc3NpZmllciBtX3Jlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVy
OwogICAgIFJlZjxXVEY6OldvcmtRdWV1ZT4gbV9zdGF0aXN0aWNzUXVldWU7Ci0gICAgU3RyaW5n
IG1fc3RvcmFnZVBhdGg7CisgICAgU3RyaW5nIG1fc3RhdGlzdGljc1N0b3JhZ2VQYXRoOwogICAg
IGJvb2wgbV9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzRW5hYmxlZCB7IGZhbHNlIH07CiAKICAgICBk
b3VibGUgbV9sYXN0VGltZURhdGFSZWNvcmRzV2VyZVJlbW92ZWQgeyAwIH07CkluZGV4OiBTb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdl
ci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUmVz
b3VyY2VMb2FkU3RhdGlzdGljc01hbmFnZXIuY3BwCShyZXZpc2lvbiAyMTI0MzkpCisrKyBTb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdl
ci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTU2LDYgKzU2LDIxIEBAIGJvb2wgV0tSZXNvdXJjZUxv
YWRTdGF0aXN0aWNzTWFuYWdlcklzSGEKICAgICByZXR1cm4gV2ViUmVzb3VyY2VMb2FkU3RhdGlz
dGljc01hbmFnZXI6Omhhc0hhZFVzZXJJbnRlcmFjdGlvbih0b1dURlN0cmluZyhob3N0TmFtZSkp
OwogfQogCit2b2lkIFdLUmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFnZXJTZXRTdWJmcmFtZVVu
ZGVyVG9wRnJhbWVPcmlnaW4oV0tTdHJpbmdSZWYgaG9zdE5hbWUsIFdLU3RyaW5nUmVmIHRvcEZy
YW1lSG9zdE5hbWUpCit7CisgICAgV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFnZXI6OnNl
dFN1YmZyYW1lVW5kZXJUb3BGcmFtZU9yaWdpbih0b1dURlN0cmluZyhob3N0TmFtZSksIHRvV1RG
U3RyaW5nKHRvcEZyYW1lSG9zdE5hbWUpKTsKK30KKwordm9pZCBXS1Jlc291cmNlTG9hZFN0YXRp
c3RpY3NNYW5hZ2VyU2V0U3VicmVzb3VyY2VVbmRlclRvcEZyYW1lT3JpZ2luKFdLU3RyaW5nUmVm
IGhvc3ROYW1lLCBXS1N0cmluZ1JlZiB0b3BGcmFtZUhvc3ROYW1lKQoreworICAgIFdlYlJlc291
cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VyOjpzZXRTdWJyZXNvdXJjZVVuZGVyVG9wRnJhbWVPcmln
aW4odG9XVEZTdHJpbmcoaG9zdE5hbWUpLCB0b1dURlN0cmluZyh0b3BGcmFtZUhvc3ROYW1lKSk7
Cit9CisKK3ZvaWQgV0tSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdlclNldFN1YnJlc291cmNl
VW5pcXVlUmVkaXJlY3RUbyhXS1N0cmluZ1JlZiBob3N0TmFtZSwgV0tTdHJpbmdSZWYgaG9zdE5h
bWVSZWRpcmVjdGVkVG8pCit7CisgICAgV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFnZXI6
OnNldFN1YnJlc291cmNlVW5pcXVlUmVkaXJlY3RUbyh0b1dURlN0cmluZyhob3N0TmFtZSksIHRv
V1RGU3RyaW5nKGhvc3ROYW1lUmVkaXJlY3RlZFRvKSk7Cit9CisKIHZvaWQgV0tSZXNvdXJjZUxv
YWRTdGF0aXN0aWNzTWFuYWdlclNldFRpbWVUb0xpdmVVc2VySW50ZXJhY3Rpb24oZG91YmxlIHNl
Y29uZHMpCiB7CiAgICAgV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFnZXI6OnNldFRpbWVU
b0xpdmVVc2VySW50ZXJhY3Rpb24oc2Vjb25kcyk7CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQVBJL0MvV0tSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdlci5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1Jlc291cmNlTG9hZFN0YXRpc3Rp
Y3NNYW5hZ2VyLmgJKHJldmlzaW9uIDIxMjQzOSkKKysrIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9BUEkvQy9XS1Jlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VyLmgJKHdvcmtpbmcgY29weSkK
QEAgLTM4LDYgKzM4LDkgQEAgZXh0ZXJuICJDIiB7CiAgICAgV0tfRVhQT1JUIGJvb2wgV0tSZXNv
dXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdlcklzUHJldmFsZW50UmVzb3VyY2UoV0tTdHJpbmdSZWYg
aG9zdE5hbWUpOwogICAgIFdLX0VYUE9SVCB2b2lkIFdLUmVzb3VyY2VMb2FkU3RhdGlzdGljc01h
bmFnZXJTZXRIYXNIYWRVc2VySW50ZXJhY3Rpb24oV0tTdHJpbmdSZWYgaG9zdE5hbWUsIGJvb2wg
dmFsdWUpOwogICAgIFdLX0VYUE9SVCBib29sIFdLUmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFn
ZXJJc0hhc0hhZFVzZXJJbnRlcmFjdGlvbihXS1N0cmluZ1JlZiBob3N0TmFtZSk7CisgICAgV0tf
RVhQT1JUIHZvaWQgV0tSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdlclNldFN1YmZyYW1lVW5k
ZXJUb3BGcmFtZU9yaWdpbihXS1N0cmluZ1JlZiBob3N0TmFtZSwgV0tTdHJpbmdSZWYgdG9wRnJh
bWVIb3N0TmFtZSk7CisgICAgV0tfRVhQT1JUIHZvaWQgV0tSZXNvdXJjZUxvYWRTdGF0aXN0aWNz
TWFuYWdlclNldFN1YnJlc291cmNlVW5kZXJUb3BGcmFtZU9yaWdpbihXS1N0cmluZ1JlZiBob3N0
TmFtZSwgV0tTdHJpbmdSZWYgdG9wRnJhbWVIb3N0TmFtZSk7CisgICAgV0tfRVhQT1JUIHZvaWQg
V0tSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdlclNldFN1YnJlc291cmNlVW5pcXVlUmVkaXJl
Y3RUbyhXS1N0cmluZ1JlZiBob3N0TmFtZSwgV0tTdHJpbmdSZWYgaG9zdE5hbWVSZWRpcmVjdGVk
VG8pOwogICAgIFdLX0VYUE9SVCB2b2lkIFdLUmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFnZXJT
ZXRUaW1lVG9MaXZlVXNlckludGVyYWN0aW9uKGRvdWJsZSBzZWNvbmRzKTsKICAgICBXS19FWFBP
UlQgdm9pZCBXS1Jlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VyU2V0UmVkdWNlZFRpbWVzdGFt
cFJlc29sdXRpb24oZG91YmxlIHNlY29uZHMpOwogICAgIFdLX0VYUE9SVCB2b2lkIFdLUmVzb3Vy
Y2VMb2FkU3RhdGlzdGljc01hbmFnZXJGaXJlRGF0YU1vZGlmaWNhdGlvbkhhbmRsZXIoKTsKSW5k
ZXg6IFNvdXJjZS9XZWJLaXQyL1dlYktpdDIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvago9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9XZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2oJKHJldmlzaW9uIDIxMjQzOSkKKysrIFNvdXJjZS9XZWJLaXQyL1dlYktpdDIueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvagkod29ya2luZyBjb3B5KQpAQCAtMTE1MCw2ICsxMTUwLDEyIEBACiAJ
CTZCRTk2OTlFMUU0M0I0MUQwMDhCNzQ4MyAvKiBXS1Jlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5h
Z2VyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDZC
RTk2OTlEMUU0M0I0MUQwMDhCNzQ4MyAvKiBXS1Jlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2Vy
LmNwcCAqLzsgfTsKIAkJNkJFOTY5QTAxRTQzQjg2RTAwOEI3NDgzIC8qIFdlYlJlc291cmNlTG9h
ZFN0YXRpc3RpY3NNYW5hZ2VyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA2QkU5Njk5RjFFNDNCODZFMDA4Qjc0ODMgLyogV2ViUmVzb3VyY2VMb2FkU3Rh
dGlzdGljc01hbmFnZXIuaCAqLzsgfTsKIAkJNkJFOTY5QTIxRTQzQjhBNDAwOEI3NDgzIC8qIFdl
YlJlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDZCRTk2OUExMUU0M0I4QTQwMDhCNzQ4MyAvKiBXZWJS
ZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdlci5jcHAgKi87IH07CisJCTZCRTk2OUMxMUU1NEQ0
NTIwMDhCNzQ4MyAvKiBjb3JlUHJlZGljdGlvbl9tb2RlbCBpbiBSZXNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNkJFOTY5QzAxRTU0RDQ1MjAwOEI3NDgzIC8qIGNv
cmVQcmVkaWN0aW9uX21vZGVsICovOyB9OworCQk2QkU5NjlDNTFFNTRENEE0MDA4Qjc0ODMgLyog
UmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDZCRTk2OUM0MUU1NEQ0QTQwMDhCNzQ4MyAvKiBSZXNv
dXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllci5oICovOyB9OworCQk2QkU5NjlDNzFFNTRENEI2
MDA4Qjc0ODMgLyogUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXJCYXNlLmNwcCBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDZCRTk2OUM2MUU1NEQ0
QjYwMDhCNzQ4MyAvKiBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllckJhc2UuY3BwICov
OyB9OworCQk2QkU5NjlDQTFFNTRENENGMDA4Qjc0ODMgLyogUmVzb3VyY2VMb2FkU3RhdGlzdGlj
c0NsYXNzaWZpZXJDb2NvYS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA2QkU5NjlDODFFNTRENENGMDA4Qjc0ODMgLyogUmVzb3VyY2VMb2FkU3RhdGlz
dGljc0NsYXNzaWZpZXJDb2NvYS5jcHAgKi87IH07CisJCTZCRTk2OUNCMUU1NEQ0Q0YwMDhCNzQ4
MyAvKiBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllckNvY29hLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA2QkU5NjlDOTFFNTRENENGMDA4Qjc0
ODMgLyogUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXJDb2NvYS5oICovOyB9OworCQk2
QkU5NjlDRDFFNTRFMDU0MDA4Qjc0ODMgLyogUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZp
ZXJCYXNlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA2
QkU5NjlDQzFFNTRFMDU0MDA4Qjc0ODMgLyogUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZp
ZXJCYXNlLmggKi87IH07CiAJCTZFRTg0OUM4MTM2OEQ5MzkwMDM4RDQ4MSAvKiBXS0luc3BlY3Rv
clByaXZhdGVNYWMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDZFRTg0OUM2MTM2OEQ5MkQwMDM4RDQ4MSAvKiBXS0luc3BlY3RvclByaXZhdGVNYWMuaCAq
Lzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk3MjhFODZG
MTE3OTUxODhDMDA4Nzg3OUUgLyogV2ViQ29sb3JQaWNrZXJNYWMuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDcyOEU4NkVGMTc5NTE4OEMwMDg3ODc5RSAv
KiBXZWJDb2xvclBpY2tlck1hYy5oICovOyB9OwogCQk3MjhFODZGMjE3OTUxODhDMDA4Nzg3OUUg
LyogV2ViQ29sb3JQaWNrZXJNYWMubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA3MjhFODZGMDE3OTUxODhDMDA4Nzg3OUUgLyogV2ViQ29sb3JQaWNrZXJN
YWMubW0gKi87IH07CkBAIC0zMzM4LDYgKzMzNDQsMTIgQEAKIAkJNkJFOTY5OUQxRTQzQjQxRDAw
OEI3NDgzIC8qIFdLUmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFnZXIuY3BwICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV0tSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdl
ci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTZCRTk2OTlGMUU0M0I4NkUwMDhC
NzQ4MyAvKiBXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdlci5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdlci5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk2QkU5NjlBMTFFNDNCOEE0MDA4Qjc0ODMgLyog
V2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFnZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBwYXRoID0gV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFnZXIuY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk2QkU5NjlDMDFFNTRENDUyMDA4Qjc0ODMgLyog
Y29yZVByZWRpY3Rpb25fbW9kZWwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gY29yZVByZWRpY3Rp
b25fbW9kZWw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTZCRTk2OUM0MUU1NEQ0QTQw
MDhCNzQ4MyAvKiBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllci5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllci5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk2QkU5NjlDNjFFNTRENEI2MDA4Qjc0ODMg
LyogUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXJCYXNlLmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVy
QmFzZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTZCRTk2OUM4MUU1NEQ0Q0Yw
MDhCNzQ4MyAvKiBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllckNvY29hLmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFJlc291cmNlTG9hZFN0YXRpc3RpY3ND
bGFzc2lmaWVyQ29jb2EuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk2QkU5NjlD
OTFFNTRENENGMDA4Qjc0ODMgLyogUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXJDb2Nv
YS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBSZXNvdXJjZUxvYWRTdGF0aXN0
aWNzQ2xhc3NpZmllckNvY29hLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTZCRTk2
OUNDMUU1NEUwNTQwMDhCNzQ4MyAvKiBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllckJh
c2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUmVzb3VyY2VMb2FkU3RhdGlz
dGljc0NsYXNzaWZpZXJCYXNlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTZEOEE5
MUE1MTFGMEVGRDEwMEREMDFGRSAvKiBjb20uYXBwbGUuV2ViUHJvY2Vzcy5zYi5pbiAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHRleHQ7IG5hbWUgPSBjb20uYXBwbGUuV2ViUHJvY2Vzcy5zYi5pbjsgcGF0aCA9IFdlYlBy
b2Nlc3MvY29tLmFwcGxlLldlYlByb2Nlc3Muc2IuaW47IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCTZFRTg0OUM2MTM2OEQ5MkQwMDM4RDQ4MSAvKiBXS0luc3BlY3RvclByaXZhdGVNYWMu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gV0tJbnNwZWN0b3JQcml2YXRlTWFj
Lmg7IHBhdGggPSBtYWMvV0tJbnNwZWN0b3JQcml2YXRlTWFjLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCTcyOEU4NkVGMTc5NTE4OEMwMDg3ODc5RSAvKiBXZWJDb2xvclBpY2tlck1h
Yy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJDb2xvclBpY2tlck1hYy5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtNDM1MCw2ICs0MzYyLDcgQEAKIAkJMDg5
QzE2NjVGRTg0MTE1OEMwMkFBQzA3IC8qIFJlc291cmNlcyAqLyA9IHsKIAkJCWlzYSA9IFBCWEdy
b3VwOwogCQkJY2hpbGRyZW4gPSAoCisJCQkJNkJFOTY5QkYxRTU0RDQ1MjAwOEI3NDgzIC8qIFJl
c291cmNlTG9hZFN0YXRpc3RpY3MgKi8sCiAJCQkJMzdGOEM5NEYxQUUyMkJEODAwN0RBQjlFIC8q
IG1hYyAqLywKIAkJCQk3Q0IxNkZFMTE3MjRCOUI1MDA3QTBBOTUgLyogUGx1Z0luU2FuZGJveFBy
b2ZpbGVzICovLAogCQkJCUE3OENDREQ1MTkzQUM5RTMwMDVFQ0MyNSAvKiBTYW5kYm94UHJvZmls
ZXMgKi8sCkBAIC02MTAzLDYgKzYxMTYsMzUgQEAKIAkJCW5hbWUgPSBDb2NvYTsKIAkJCXNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7CiAJCX07CisJCTZCRTk2OUJGMUU1NEQ0NTIwMDhCNzQ4MyAvKiBS
ZXNvdXJjZUxvYWRTdGF0aXN0aWNzICovID0geworCQkJaXNhID0gUEJYR3JvdXA7CisJCQljaGls
ZHJlbiA9ICgKKwkJCQk2QkU5NjlDMDFFNTRENDUyMDA4Qjc0ODMgLyogY29yZVByZWRpY3Rpb25f
bW9kZWwgKi8sCisJCQkpOworCQkJbmFtZSA9IFJlc291cmNlTG9hZFN0YXRpc3RpY3M7CisJCQlw
YXRoID0gUmVzb3VyY2VzL1Jlc291cmNlTG9hZFN0YXRpc3RpY3M7CisJCQlzb3VyY2VUcmVlID0g
Ijxncm91cD4iOworCQl9OworCQk2QkU5NjlDMjFFNTRENDY3MDA4Qjc0ODMgLyogY2xhc3NpZmll
ciAqLyA9IHsKKwkJCWlzYSA9IFBCWEdyb3VwOworCQkJY2hpbGRyZW4gPSAoCisJCQkJNkJFOTY5
QzMxRTU0RDQ2NzAwOEI3NDgzIC8qIGNvY29hICovLAorCQkJCTZCRTk2OUM2MUU1NEQ0QjYwMDhC
NzQ4MyAvKiBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllckJhc2UuY3BwICovLAorCQkJ
CTZCRTk2OUM0MUU1NEQ0QTQwMDhCNzQ4MyAvKiBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3Np
Zmllci5oICovLAorCQkJCTZCRTk2OUNDMUU1NEUwNTQwMDhCNzQ4MyAvKiBSZXNvdXJjZUxvYWRT
dGF0aXN0aWNzQ2xhc3NpZmllckJhc2UuaCAqLywKKwkJCSk7CisJCQlwYXRoID0gY2xhc3NpZmll
cjsKKwkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CisJCX07CisJCTZCRTk2OUMzMUU1NEQ0Njcw
MDhCNzQ4MyAvKiBjb2NvYSAqLyA9IHsKKwkJCWlzYSA9IFBCWEdyb3VwOworCQkJY2hpbGRyZW4g
PSAoCisJCQkJNkJFOTY5QzgxRTU0RDRDRjAwOEI3NDgzIC8qIFJlc291cmNlTG9hZFN0YXRpc3Rp
Y3NDbGFzc2lmaWVyQ29jb2EuY3BwICovLAorCQkJCTZCRTk2OUM5MUU1NEQ0Q0YwMDhCNzQ4MyAv
KiBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllckNvY29hLmggKi8sCisJCQkpOworCQkJ
cGF0aCA9IGNvY29hOworCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKKwkJfTsKIAkJNkVFODQ5
QzQxMzY4RDkwNDAwMzhENDgxIC8qIG1hYyAqLyA9IHsKIAkJCWlzYSA9IFBCWEdyb3VwOwogCQkJ
Y2hpbGRyZW4gPSAoCkBAIC03MDAxLDYgKzcwNDMsNyBAQAogCQlCQzJFNkU3NDExNDE5NkYwMDBB
NjNCMUUgLyogUGxhdGZvcm0gKi8gPSB7CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVu
ID0gKAorCQkJCTZCRTk2OUMyMUU1NEQ0NjcwMDhCNzQ4MyAvKiBjbGFzc2lmaWVyICovLAogCQkJ
CTM3MDk1MDQxMThBODhCQTQwMDg3QUU1RCAvKiBjZiAqLywKIAkJCQkxQUEyRTUxQTEyRTRDMDU2
MDBCQzQ5NjYgLyogY2cgKi8sCiAJCQkJNDQ1MEFFQkUxREMzRkFBQzAwOTk0M0YyIC8qIGNvY29h
ICovLApAQCAtNzg4Myw2ICs3OTI2LDcgQEAKIAkJCQk0MURDNDU5NjFFM0Q2RTIyMDBCMTFGNTEg
LyogTmV0d29ya1JUQ1Byb3ZpZGVyLmggaW4gSGVhZGVycyAqLywKIAkJCQk3QzFCQTMzRTFBNEEw
RTYwMDA0M0UyNDkgLyogQVBJRGljdGlvbmFyeS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUY3RDM2
QzExOERBNTEzRjAwRDlENjU5IC8qIEFQSURvd25sb2FkQ2xpZW50LmggaW4gSGVhZGVycyAqLywK
KwkJCQk2QkU5NjlDQjFFNTRENENGMDA4Qjc0ODMgLyogUmVzb3VyY2VMb2FkU3RhdGlzdGljc0Ns
YXNzaWZpZXJDb2NvYS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTE2QTRBNUQxMjBBMkNDRDAwQzA1
QjdGIC8qIEFQSUVycm9yLmggaW4gSGVhZGVycyAqLywKIAkJCQkzMTdGRTdDNTFDNDg3QTZDMDBB
MENBODkgLyogQVBJRXhwZXJpbWVudGFsRmVhdHVyZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMDBC
OTY2MTYxOEUyNENCQTAwQ0UxRjg4IC8qIEFQSUZpbmRDbGllbnQuaCBpbiBIZWFkZXJzICovLApA
QCAtODMwMiw2ICs4MzQ2LDcgQEAKIAkJCQkzMzA5MzQ0QTEzMTVCOTIyMDA5N0E3QkMgLyogV2Vi
Q29va2llTWFuYWdlclByb3h5TWVzc2FnZXMuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDMUREN0Iy
MTE0REMzOTYwMDVBREFGMyAvKiBXZWJDb3JlQXJndW1lbnRDb2RlcnMuaCBpbiBIZWFkZXJzICov
LAogCQkJCTUxMkY1ODlCMTJBODgzODgwMDYyOTUzMCAvKiBXZWJDcmVkZW50aWFsLmggaW4gSGVh
ZGVycyAqLywKKwkJCQk2QkU5NjlDNTFFNTRENEE0MDA4Qjc0ODMgLyogUmVzb3VyY2VMb2FkU3Rh
dGlzdGljc0NsYXNzaWZpZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTFBQTgzRjZEMUE1QjYzRkYw
MDAyNkVDNiAvKiBXZWJEYXRhYmFzZVByb3ZpZGVyLmggaW4gSGVhZGVycyAqLywKIAkJCQlDRDE5
QTI2RTFBMTNFODM0MDA4RDY1MEUgLyogV2ViRGlhZ25vc3RpY0xvZ2dpbmdDbGllbnQuaCBpbiBI
ZWFkZXJzICovLAogCQkJCTFBNUIxQzU1MTg5ODdFREYwMDRGQ0Y5QiAvKiBXZWJEb2N1bWVudExv
YWRlci5oIGluIEhlYWRlcnMgKi8sCkBAIC04NTA1LDYgKzg1NTAsNyBAQAogCQkJCUJDN0I2MzNE
MTJBNDVEMTIwMEQxNzRBNCAvKiBXS0J1bmRsZVBhZ2VHcm91cC5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJMUFCNDc0RDgxODRENDNGRDAwNTFCNjIyIC8qIFdLQnVuZGxlUGFnZUxvYWRlckNsaWVudC5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJRUQ4MkE3RjIxMjhDNkZBRjAwNDQ3N0IzIC8qIFdLQnVuZGxl
UGFnZU92ZXJsYXkuaCBpbiBIZWFkZXJzICovLAorCQkJCTZCRTk2OUNEMUU1NEUwNTQwMDhCNzQ4
MyAvKiBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllckJhc2UuaCBpbiBIZWFkZXJzICov
LAogCQkJCTFBQjQ3NEVBMTg0RDQ1MTMwMDUxQjYyMiAvKiBXS0J1bmRsZVBhZ2VQb2xpY3lDbGll
bnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDMUI0MTk4MTFENDFENTcwMDExRThERCAvKiBXS0J1
bmRsZVBhZ2VQcml2YXRlLmggaW4gSGVhZGVycyAqLywKIAkJCQkxQUI0NzREQTE4NEQ0NDI1MDA1
MUI2MjIgLyogV0tCdW5kbGVQYWdlUmVzb3VyY2VMb2FkQ2xpZW50LmggaW4gSGVhZGVycyAqLywK
QEAgLTkwMzgsNiArOTA4NCw3IEBACiAJCQkJN0E1RTM5NEExRDVCRDhCRTAwQjRCN0NFIC8qIGNv
bS5tYWNyb21lZGlhLkZsYXNoIFBsYXllciBFU1IucGx1Z2luLnNiIGluIFJlc291cmNlcyAqLywK
IAkJCQk4REMyRUY1MzA0ODZBNjk0MDA5OEIyMTYgLyogSW5mb1BsaXN0LnN0cmluZ3MgaW4gUmVz
b3VyY2VzICovLAogCQkJCTkzQTJBMzQ2MUQyNDYxMjUwMDJCNTlEMyAvKiBtZWRpYUljb24ucGRm
IGluIFJlc291cmNlcyAqLywKKwkJCQk2QkU5NjlDMTFFNTRENDUyMDA4Qjc0ODMgLyogY29yZVBy
ZWRpY3Rpb25fbW9kZWwgaW4gUmVzb3VyY2VzICovLAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBs
b3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwogCQl9OwpAQCAtOTYyNiw2ICs5NjczLDcgQEAKIAkJ
CQk1MTc5NTU2NzE2Mjg3NkNCMDBGQTQzQjYgLyogTmV0d29ya1Byb2Nlc3NNYWMubW0gaW4gU291
cmNlcyAqLywKIAkJCQk1MTYzMTk5NDE2Mjg5QTYwMDBFMjJGMDAgLyogTmV0d29ya1Byb2Nlc3NN
ZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJRTE0QTk1NDkxNkUwMTZBNDAw
NjhERTgyIC8qIE5ldHdvcmtQcm9jZXNzUGxhdGZvcm1TdHJhdGVnaWVzLmNwcCBpbiBTb3VyY2Vz
ICovLAorCQkJCTZCRTk2OUNBMUU1NEQ0Q0YwMDhCNzQ4MyAvKiBSZXNvdXJjZUxvYWRTdGF0aXN0
aWNzQ2xhc3NpZmllckNvY29hLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTUxNzk1NTZEMTYyODc3
QjEwMEZBNDNCNiAvKiBOZXR3b3JrUHJvY2Vzc1Byb3h5LmNwcCBpbiBTb3VyY2VzICovLAogCQkJ
CTUxNjMxOTkyMTYyODk4MEEwMEUyMkYwMCAvKiBOZXR3b3JrUHJvY2Vzc1Byb3h5TWFjLm1tIGlu
IFNvdXJjZXMgKi8sCiAJCQkJNTEzQTE2M0MxNjMwODhGNjAwNUQ3RDIyIC8qIE5ldHdvcmtQcm9j
ZXNzUHJveHlNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8sCkBAIC05OTY5LDYgKzEw
MDE3LDcgQEAKIAkJCQlEM0I5NDg0NjExRkY0QjY1MDAwMzJCMzkgLyogV2ViUG9wdXBNZW51LmNw
cCBpbiBTb3VyY2VzICovLAogCQkJCUJDQzQzQUM3MTI3Qjk5REUwMDMxN0YxNiAvKiBXZWJQb3B1
cE1lbnVNYWMubW0gaW4gU291cmNlcyAqLywKIAkJCQlCQzU3NTA5ODEyNjhGM0M2MDA2RjBGMTIg
LyogV2ViUG9wdXBNZW51UHJveHlNYWMubW0gaW4gU291cmNlcyAqLywKKwkJCQk2QkU5NjlDNzFF
NTRENEI2MDA4Qjc0ODMgLyogUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXJCYXNlLmNw
cCBpbiBTb3VyY2VzICovLAogCQkJCUJDRDU5ODAwMTEyQjU3QkUwMEVDOEMyMyAvKiBXZWJQcmVm
ZXJlbmNlcy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk3Qzg1RkQ3RjE5MzQxNjY1MDAwMTc3QzQg
LyogV2ViUHJlZmVyZW5jZXNLZXlzLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUJDODRFQjE4MTJB
NzEwMEMwMDgzRjJEQSAvKiBXZWJQcmVmZXJlbmNlc01hYy5tbSBpbiBTb3VyY2VzICovLApAQCAt
OTk5Niw3ICsxMDA0NSw3IEBACiAJCQkJMzc2MDg4MUUxNTA0MTNFOTAwRkM4MkM3IC8qIFdlYlJl
bmRlck9iamVjdC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk1MTBBRkZCOTE2NTQyMDQ4MDAxQkEw
NUUgLyogV2ViUmVzb3VyY2VMb2FkZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNTFGMDYwRTEx
NjU0MzE4NTAwRjMyODFCIC8qIFdlYlJlc291cmNlTG9hZGVyTWVzc2FnZVJlY2VpdmVyLmNwcCBp
biBTb3VyY2VzICovLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA2QkU5NjlBMjFF
NDNCOEE0MDA4Qjc0ODMgLyogV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFnZXIuY3BwIGlu
IFNvdXJjZXMgKi8sCisJCQkJNkJFOTY5QTIxRTQzQjhBNDAwOEI3NDgzIC8qIFdlYlJlc291cmNl
TG9hZFN0YXRpc3RpY3NNYW5hZ2VyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTUxRjA2MEUxMTY1
NDMxODUwMEYzMjgxQyAvKiBXZWJSVENTb2NrZXRNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJj
ZXMgKi8sCiAJCQkJNTFGMDYwRTExNjU0MzE4NTAwRjMyODJDIC8qIFdlYlJUQ1Jlc29sdmVyTWVz
c2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTUxRjA2MEUxMTY1NDMxODUwMEYz
MjgxRCAvKiBOZXR3b3JrUlRDU29ja2V0TWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICov
LApAQCAtMTAxODcsNyArMTAyMzYsNyBAQAogCQkJCTM3OTQ4NDA4MTUwQzRCOTcwMEU1MkNFOSAv
KiBXS1JlbmRlckxheWVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTM3NjA4ODIyMTUwNDE0Rjcw
MEZDODJDNyAvKiBXS1JlbmRlck9iamVjdC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkzMzM2NzYz
QTEzMEM5OURDMDA2QzlERTIgLyogV0tSZXNvdXJjZUNhY2hlTWFuYWdlci5jcHAgaW4gU291cmNl
cyAqLywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNkJFOTY5OUUxRTQzQjQxRDAw
OEI3NDgzIC8qIFdLUmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFnZXIuY3BwIGluIFNvdXJjZXMg
Ki8sCisJCQkJNkJFOTY5OUUxRTQzQjQxRDAwOEI3NDgzIC8qIFdLUmVzb3VyY2VMb2FkU3RhdGlz
dGljc01hbmFnZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMUE3RTM3NzgxOEU0QTRGRTAwM0Qw
RkZGIC8qIFdLU2NyaXB0TWVzc2FnZS5tbSBpbiBTb3VyY2VzICovLAogCQkJCTBGQ0I0RTU1MThC
QkUwNDQwMDBGQ0ZDOSAvKiBXS1Njcm9sbFZpZXcubW0gaW4gU291cmNlcyAqLywKIAkJCQk1MUNE
MUM2NjFCMzRCOURDMDAxNDJDQTUgLyogV0tTZWN1cml0eU9yaWdpbi5tbSBpbiBTb3VyY2VzICov
LApJbmRleDogVG9vbHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL0NoYW5nZUxvZwko
cmV2aXNpb24gMjEyNDgyKQorKysgVG9vbHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0x
LDMgKzEsMzAgQEAKKzIwMTctMDItMTYgIEpvaG4gV2lsYW5kZXIgIDx3aWxhbmRlckBhcHBsZS5j
b20+CisKKyAgICAgICAgUmVzb3VyY2UgTG9hZCBTdGF0aXN0aWNzOiBBZGQgYWx0ZXJuYXRlIGNs
YXNzaWZpY2F0aW9uIG1ldGhvZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTY4MzQ3CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8zMDM1Mjc5Mz4KKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGRlZCB0aHJl
ZSB0ZXN0UnVubmVyIGZ1bmN0aW9ucyB0byBmYWNpbGl0YXRlIGxheW91dCB0ZXN0czoKKyAgICAg
ICAgLSBzZXRTdGF0aXN0aWNzU3ViZnJhbWVVbmRlclRvcEZyYW1lT3JpZ2luKCkKKyAgICAgICAg
LSBzZXRTdGF0aXN0aWNzU3VicmVzb3VyY2VVbmRlclRvcEZyYW1lT3JpZ2luKCkKKyAgICAgICAg
LSBzZXRTdGF0aXN0aWNzU3VicmVzb3VyY2VVbmlxdWVSZWRpcmVjdFRvKCkKKworICAgICAgICAq
IFdlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvQmluZGluZ3MvVGVzdFJ1bm5lci5pZGw6
CisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9UZXN0UnVubmVyLmNw
cDoKKyAgICAgICAgKFdUUjo6VGVzdFJ1bm5lcjo6c2V0U3RhdGlzdGljc1N1YmZyYW1lVW5kZXJU
b3BGcmFtZU9yaWdpbik6CisgICAgICAgIChXVFI6OlRlc3RSdW5uZXI6OnNldFN0YXRpc3RpY3NT
dWJyZXNvdXJjZVVuZGVyVG9wRnJhbWVPcmlnaW4pOgorICAgICAgICAoV1RSOjpUZXN0UnVubmVy
OjpzZXRTdGF0aXN0aWNzU3VicmVzb3VyY2VVbmlxdWVSZWRpcmVjdFRvKToKKyAgICAgICAgKiBX
ZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL1Rlc3RSdW5uZXIuaDoKKyAgICAgICAgKiBX
ZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKFdUUjo6VGVzdENv
bnRyb2xsZXI6OnNldFN0YXRpc3RpY3NTdWJmcmFtZVVuZGVyVG9wRnJhbWVPcmlnaW4pOgorICAg
ICAgICAoV1RSOjpUZXN0Q29udHJvbGxlcjo6c2V0U3RhdGlzdGljc1N1YnJlc291cmNlVW5kZXJU
b3BGcmFtZU9yaWdpbik6CisgICAgICAgIChXVFI6OlRlc3RDb250cm9sbGVyOjpzZXRTdGF0aXN0
aWNzU3VicmVzb3VyY2VVbmlxdWVSZWRpcmVjdFRvKToKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVu
bmVyL1Rlc3RDb250cm9sbGVyLmg6CisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9UZXN0SW52
b2NhdGlvbi5jcHA6CisgICAgICAgIChXVFI6OlRlc3RJbnZvY2F0aW9uOjpkaWRSZWNlaXZlU3lu
Y2hyb25vdXNNZXNzYWdlRnJvbUluamVjdGVkQnVuZGxlKToKKwogMjAxNy0wMi0xNiAgQWxleCBD
aHJpc3RlbnNlbiAgPGFjaHJpc3RlbnNlbkB3ZWJraXQub3JnPgogCiAgICAgICAgIFNwZWNpYWwg
VVJMcyB3aXRob3V0IGEgaG9zdCBhcmUgaW52YWxpZApJbmRleDogVG9vbHMvV2ViS2l0VGVzdFJ1
bm5lci9UZXN0Q29udHJvbGxlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvV2ViS2l0VGVzdFJ1
bm5lci9UZXN0Q29udHJvbGxlci5jcHAJKHJldmlzaW9uIDIxMjQzOSkKKysrIFRvb2xzL1dlYktp
dFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yMjI5LDYg
KzIyMjksMjEgQEAgYm9vbCBUZXN0Q29udHJvbGxlcjo6aXNTdGF0aXN0aWNzSGFzSGFkVQogICAg
IHJldHVybiBXS1Jlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VySXNIYXNIYWRVc2VySW50ZXJh
Y3Rpb24oaG9zdE5hbWUpOwogfQogCit2b2lkIFRlc3RDb250cm9sbGVyOjpzZXRTdGF0aXN0aWNz
U3ViZnJhbWVVbmRlclRvcEZyYW1lT3JpZ2luKFdLU3RyaW5nUmVmIGhvc3ROYW1lLCBXS1N0cmlu
Z1JlZiB0b3BGcmFtZUhvc3ROYW1lKQoreworICAgIFdLUmVzb3VyY2VMb2FkU3RhdGlzdGljc01h
bmFnZXJTZXRTdWJmcmFtZVVuZGVyVG9wRnJhbWVPcmlnaW4oaG9zdE5hbWUsIHRvcEZyYW1lSG9z
dE5hbWUpOworfQorCit2b2lkIFRlc3RDb250cm9sbGVyOjpzZXRTdGF0aXN0aWNzU3VicmVzb3Vy
Y2VVbmRlclRvcEZyYW1lT3JpZ2luKFdLU3RyaW5nUmVmIGhvc3ROYW1lLCBXS1N0cmluZ1JlZiB0
b3BGcmFtZUhvc3ROYW1lKQoreworICAgIFdLUmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFnZXJT
ZXRTdWJyZXNvdXJjZVVuZGVyVG9wRnJhbWVPcmlnaW4oaG9zdE5hbWUsIHRvcEZyYW1lSG9zdE5h
bWUpOworfQorICAgIAordm9pZCBUZXN0Q29udHJvbGxlcjo6c2V0U3RhdGlzdGljc1N1YnJlc291
cmNlVW5pcXVlUmVkaXJlY3RUbyhXS1N0cmluZ1JlZiBob3N0TmFtZSwgV0tTdHJpbmdSZWYgaG9z
dE5hbWVSZWRpcmVjdGVkVG8pCit7CisgICAgV0tSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdl
clNldFN1YnJlc291cmNlVW5pcXVlUmVkaXJlY3RUbyhob3N0TmFtZSwgaG9zdE5hbWVSZWRpcmVj
dGVkVG8pOworfQorCiB2b2lkIFRlc3RDb250cm9sbGVyOjpzZXRTdGF0aXN0aWNzVGltZVRvTGl2
ZVVzZXJJbnRlcmFjdGlvbihkb3VibGUgc2Vjb25kcykKIHsKICAgICBXS1Jlc291cmNlTG9hZFN0
YXRpc3RpY3NNYW5hZ2VyU2V0VGltZVRvTGl2ZVVzZXJJbnRlcmFjdGlvbihzZWNvbmRzKTsKSW5k
ZXg6IFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBUb29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmgJKHJldmlzaW9uIDIxMjQz
OSkKKysrIFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuaAkod29ya2luZyBj
b3B5KQpAQCAtMTUyLDYgKzE1Miw5IEBAIHB1YmxpYzoKICAgICBib29sIGlzU3RhdGlzdGljc1By
ZXZhbGVudFJlc291cmNlKFdLU3RyaW5nUmVmIGhvc3ROYW1lKTsKICAgICB2b2lkIHNldFN0YXRp
c3RpY3NIYXNIYWRVc2VySW50ZXJhY3Rpb24oV0tTdHJpbmdSZWYgaG9zdE5hbWUsIGJvb2wgdmFs
dWUpOwogICAgIGJvb2wgaXNTdGF0aXN0aWNzSGFzSGFkVXNlckludGVyYWN0aW9uKFdLU3RyaW5n
UmVmIGhvc3ROYW1lKTsKKyAgICB2b2lkIHNldFN0YXRpc3RpY3NTdWJmcmFtZVVuZGVyVG9wRnJh
bWVPcmlnaW4oV0tTdHJpbmdSZWYgaG9zdE5hbWUsIFdLU3RyaW5nUmVmIHRvcEZyYW1lSG9zdE5h
bWUpOworICAgIHZvaWQgc2V0U3RhdGlzdGljc1N1YnJlc291cmNlVW5kZXJUb3BGcmFtZU9yaWdp
bihXS1N0cmluZ1JlZiBob3N0TmFtZSwgV0tTdHJpbmdSZWYgdG9wRnJhbWVIb3N0TmFtZSk7Cisg
ICAgdm9pZCBzZXRTdGF0aXN0aWNzU3VicmVzb3VyY2VVbmlxdWVSZWRpcmVjdFRvKFdLU3RyaW5n
UmVmIGhvc3ROYW1lLCBXS1N0cmluZ1JlZiBob3N0TmFtZVJlZGlyZWN0ZWRUbyk7CiAgICAgdm9p
ZCBzZXRTdGF0aXN0aWNzVGltZVRvTGl2ZVVzZXJJbnRlcmFjdGlvbihkb3VibGUgc2Vjb25kcyk7
CiAgICAgdm9pZCBzdGF0aXN0aWNzRmlyZURhdGFNb2RpZmljYXRpb25IYW5kbGVyKCk7CiAgICAg
dm9pZCBzZXRTdGF0aXN0aWNzTm90aWZ5UGFnZXNXaGVuRGF0YVJlY29yZHNXZXJlU2Nhbm5lZChi
b29sKTsKSW5kZXg6IFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdEludm9jYXRpb24uY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdEludm9jYXRpb24uY3BwCShy
ZXZpc2lvbiAyMTI0MzkpCisrKyBUb29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RJbnZvY2F0aW9u
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtOTMyLDYgKzkzMiw0OCBAQCBXS1JldGFpblB0cjxXS1R5
cGVSZWY+IFRlc3RJbnZvY2F0aW9uOjpkCiAgICAgICAgIHJldHVybiByZXN1bHQ7CiAgICAgfQog
ICAgIAorICAgIGlmIChXS1N0cmluZ0lzRXF1YWxUb1VURjhDU3RyaW5nKG1lc3NhZ2VOYW1lLCAi
U2V0U3RhdGlzdGljc1N1YmZyYW1lVW5kZXJUb3BGcmFtZU9yaWdpbiIpKSB7CisgICAgICAgIEFT
U0VSVChXS0dldFR5cGVJRChtZXNzYWdlQm9keSkgPT0gV0tEaWN0aW9uYXJ5R2V0VHlwZUlEKCkp
OworICAgICAgICAKKyAgICAgICAgV0tEaWN0aW9uYXJ5UmVmIG1lc3NhZ2VCb2R5RGljdGlvbmFy
eSA9IHN0YXRpY19jYXN0PFdLRGljdGlvbmFyeVJlZj4obWVzc2FnZUJvZHkpOworICAgICAgICBX
S1JldGFpblB0cjxXS1N0cmluZ1JlZj4gaG9zdE5hbWVLZXkoQWRvcHRXSywgV0tTdHJpbmdDcmVh
dGVXaXRoVVRGOENTdHJpbmcoIkhvc3ROYW1lIikpOworICAgICAgICBXS1JldGFpblB0cjxXS1N0
cmluZ1JlZj4gdG9wRnJhbWVIb3N0TmFtZUtleShBZG9wdFdLLCBXS1N0cmluZ0NyZWF0ZVdpdGhV
VEY4Q1N0cmluZygiVG9wRnJhbWVIb3N0TmFtZSIpKTsKKyAgICAgICAgCisgICAgICAgIFdLU3Ry
aW5nUmVmIGhvc3ROYW1lID0gc3RhdGljX2Nhc3Q8V0tTdHJpbmdSZWY+KFdLRGljdGlvbmFyeUdl
dEl0ZW1Gb3JLZXkobWVzc2FnZUJvZHlEaWN0aW9uYXJ5LCBob3N0TmFtZUtleS5nZXQoKSkpOwor
ICAgICAgICBXS1N0cmluZ1JlZiB0b3BGcmFtZUhvc3ROYW1lID0gc3RhdGljX2Nhc3Q8V0tTdHJp
bmdSZWY+KFdLRGljdGlvbmFyeUdldEl0ZW1Gb3JLZXkobWVzc2FnZUJvZHlEaWN0aW9uYXJ5LCB0
b3BGcmFtZUhvc3ROYW1lS2V5LmdldCgpKSk7CisKKyAgICAgICAgVGVzdENvbnRyb2xsZXI6OnNp
bmdsZXRvbigpLnNldFN0YXRpc3RpY3NTdWJmcmFtZVVuZGVyVG9wRnJhbWVPcmlnaW4oaG9zdE5h
bWUsIHRvcEZyYW1lSG9zdE5hbWUpOworICAgICAgICByZXR1cm4gbnVsbHB0cjsKKyAgICB9Cisg
ICAgCisgICAgaWYgKFdLU3RyaW5nSXNFcXVhbFRvVVRGOENTdHJpbmcobWVzc2FnZU5hbWUsICJT
ZXRTdGF0aXN0aWNzU3VicmVzb3VyY2VVbmRlclRvcEZyYW1lT3JpZ2luIikpIHsKKyAgICAgICAg
QVNTRVJUKFdLR2V0VHlwZUlEKG1lc3NhZ2VCb2R5KSA9PSBXS0RpY3Rpb25hcnlHZXRUeXBlSUQo
KSk7CisgICAgICAgIAorICAgICAgICBXS0RpY3Rpb25hcnlSZWYgbWVzc2FnZUJvZHlEaWN0aW9u
YXJ5ID0gc3RhdGljX2Nhc3Q8V0tEaWN0aW9uYXJ5UmVmPihtZXNzYWdlQm9keSk7CisgICAgICAg
IFdLUmV0YWluUHRyPFdLU3RyaW5nUmVmPiBob3N0TmFtZUtleShBZG9wdFdLLCBXS1N0cmluZ0Ny
ZWF0ZVdpdGhVVEY4Q1N0cmluZygiSG9zdE5hbWUiKSk7CisgICAgICAgIFdLUmV0YWluUHRyPFdL
U3RyaW5nUmVmPiB0b3BGcmFtZUhvc3ROYW1lS2V5KEFkb3B0V0ssIFdLU3RyaW5nQ3JlYXRlV2l0
aFVURjhDU3RyaW5nKCJUb3BGcmFtZUhvc3ROYW1lIikpOworICAgICAgICAKKyAgICAgICAgV0tT
dHJpbmdSZWYgaG9zdE5hbWUgPSBzdGF0aWNfY2FzdDxXS1N0cmluZ1JlZj4oV0tEaWN0aW9uYXJ5
R2V0SXRlbUZvcktleShtZXNzYWdlQm9keURpY3Rpb25hcnksIGhvc3ROYW1lS2V5LmdldCgpKSk7
CisgICAgICAgIFdLU3RyaW5nUmVmIHRvcEZyYW1lSG9zdE5hbWUgPSBzdGF0aWNfY2FzdDxXS1N0
cmluZ1JlZj4oV0tEaWN0aW9uYXJ5R2V0SXRlbUZvcktleShtZXNzYWdlQm9keURpY3Rpb25hcnks
IHRvcEZyYW1lSG9zdE5hbWVLZXkuZ2V0KCkpKTsKKyAgICAgICAgCisgICAgICAgIFRlc3RDb250
cm9sbGVyOjpzaW5nbGV0b24oKS5zZXRTdGF0aXN0aWNzU3VicmVzb3VyY2VVbmRlclRvcEZyYW1l
T3JpZ2luKGhvc3ROYW1lLCB0b3BGcmFtZUhvc3ROYW1lKTsKKyAgICAgICAgcmV0dXJuIG51bGxw
dHI7CisgICAgfQorICAgIAorICAgIGlmIChXS1N0cmluZ0lzRXF1YWxUb1VURjhDU3RyaW5nKG1l
c3NhZ2VOYW1lLCAiU2V0U3RhdGlzdGljc1N1YnJlc291cmNlVW5pcXVlUmVkaXJlY3RUbyIpKSB7
CisgICAgICAgIEFTU0VSVChXS0dldFR5cGVJRChtZXNzYWdlQm9keSkgPT0gV0tEaWN0aW9uYXJ5
R2V0VHlwZUlEKCkpOworICAgICAgICAKKyAgICAgICAgV0tEaWN0aW9uYXJ5UmVmIG1lc3NhZ2VC
b2R5RGljdGlvbmFyeSA9IHN0YXRpY19jYXN0PFdLRGljdGlvbmFyeVJlZj4obWVzc2FnZUJvZHkp
OworICAgICAgICBXS1JldGFpblB0cjxXS1N0cmluZ1JlZj4gaG9zdE5hbWVLZXkoQWRvcHRXSywg
V0tTdHJpbmdDcmVhdGVXaXRoVVRGOENTdHJpbmcoIkhvc3ROYW1lIikpOworICAgICAgICBXS1Jl
dGFpblB0cjxXS1N0cmluZ1JlZj4gaG9zdE5hbWVSZWRpcmVjdGVkVG9LZXkoQWRvcHRXSywgV0tT
dHJpbmdDcmVhdGVXaXRoVVRGOENTdHJpbmcoIkhvc3ROYW1lUmVkaXJlY3RlZFRvIikpOworICAg
ICAgICAKKyAgICAgICAgV0tTdHJpbmdSZWYgaG9zdE5hbWUgPSBzdGF0aWNfY2FzdDxXS1N0cmlu
Z1JlZj4oV0tEaWN0aW9uYXJ5R2V0SXRlbUZvcktleShtZXNzYWdlQm9keURpY3Rpb25hcnksIGhv
c3ROYW1lS2V5LmdldCgpKSk7CisgICAgICAgIFdLU3RyaW5nUmVmIGhvc3ROYW1lUmVkaXJlY3Rl
ZFRvID0gc3RhdGljX2Nhc3Q8V0tTdHJpbmdSZWY+KFdLRGljdGlvbmFyeUdldEl0ZW1Gb3JLZXko
bWVzc2FnZUJvZHlEaWN0aW9uYXJ5LCBob3N0TmFtZVJlZGlyZWN0ZWRUb0tleS5nZXQoKSkpOwor
ICAgICAgICAKKyAgICAgICAgVGVzdENvbnRyb2xsZXI6OnNpbmdsZXRvbigpLnNldFN0YXRpc3Rp
Y3NTdWJyZXNvdXJjZVVuaXF1ZVJlZGlyZWN0VG8oaG9zdE5hbWUsIGhvc3ROYW1lUmVkaXJlY3Rl
ZFRvKTsKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7CisgICAgfQorCiAgICAgaWYgKFdLU3RyaW5n
SXNFcXVhbFRvVVRGOENTdHJpbmcobWVzc2FnZU5hbWUsICJTZXRTdGF0aXN0aWNzVGltZVRvTGl2
ZVVzZXJJbnRlcmFjdGlvbiIpKSB7CiAgICAgICAgIEFTU0VSVChXS0dldFR5cGVJRChtZXNzYWdl
Qm9keSkgPT0gV0tEb3VibGVHZXRUeXBlSUQoKSk7CiAgICAgICAgIFdLRG91YmxlUmVmIHNlY29u
ZHMgPSBzdGF0aWNfY2FzdDxXS0RvdWJsZVJlZj4obWVzc2FnZUJvZHkpOwpJbmRleDogVG9vbHMv
V2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9UZXN0UnVubmVyLmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBUb29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL1Rlc3RSdW5uZXIuY3Bw
CShyZXZpc2lvbiAyMTI0MzkpCisrKyBUb29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVu
ZGxlL1Rlc3RSdW5uZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMjI2LDYgKzEyMjYsODQgQEAg
Ym9vbCBUZXN0UnVubmVyOjppc1N0YXRpc3RpY3NIYXNIYWRVc2VySQogICAgIHJldHVybiBXS0Jv
b2xlYW5HZXRWYWx1ZShzdGF0aWNfY2FzdDxXS0Jvb2xlYW5SZWY+KHJldHVybkRhdGEpKTsKIH0K
IAordm9pZCBUZXN0UnVubmVyOjpzZXRTdGF0aXN0aWNzU3ViZnJhbWVVbmRlclRvcEZyYW1lT3Jp
Z2luKEpTU3RyaW5nUmVmIGhvc3ROYW1lLCBKU1N0cmluZ1JlZiB0b3BGcmFtZUhvc3ROYW1lKQor
eworICAgIFZlY3RvcjxXS1JldGFpblB0cjxXS1N0cmluZ1JlZj4+IGtleXM7CisgICAgVmVjdG9y
PFdLUmV0YWluUHRyPFdLVHlwZVJlZj4+IHZhbHVlczsKKyAgICAKKyAgICBrZXlzLmFwcGVuZCh7
IEFkb3B0V0ssIFdLU3RyaW5nQ3JlYXRlV2l0aFVURjhDU3RyaW5nKCJIb3N0TmFtZSIpIH0pOwor
ICAgIHZhbHVlcy5hcHBlbmQoeyBBZG9wdFdLLCBXS1N0cmluZ0NyZWF0ZVdpdGhKU1N0cmluZyho
b3N0TmFtZSkgfSk7CisgICAgCisgICAga2V5cy5hcHBlbmQoeyBBZG9wdFdLLCBXS1N0cmluZ0Ny
ZWF0ZVdpdGhVVEY4Q1N0cmluZygiVG9wRnJhbWVIb3N0TmFtZSIpIH0pOworICAgIHZhbHVlcy5h
cHBlbmQoeyBBZG9wdFdLLCBXS1N0cmluZ0NyZWF0ZVdpdGhKU1N0cmluZyh0b3BGcmFtZUhvc3RO
YW1lKSB9KTsKKyAgICAKKyAgICBWZWN0b3I8V0tTdHJpbmdSZWY+IHJhd0tleXM7CisgICAgVmVj
dG9yPFdLVHlwZVJlZj4gcmF3VmFsdWVzOworICAgIHJhd0tleXMucmVzaXplKGtleXMuc2l6ZSgp
KTsKKyAgICByYXdWYWx1ZXMucmVzaXplKHZhbHVlcy5zaXplKCkpOworICAgIAorICAgIGZvciAo
c2l6ZV90IGkgPSAwOyBpIDwga2V5cy5zaXplKCk7ICsraSkgeworICAgICAgICByYXdLZXlzW2ld
ID0ga2V5c1tpXS5nZXQoKTsKKyAgICAgICAgcmF3VmFsdWVzW2ldID0gdmFsdWVzW2ldLmdldCgp
OworICAgIH0KKyAgICAKKyAgICBXS1JldGFpblB0cjxXS1N0cmluZ1JlZj4gbWVzc2FnZU5hbWUo
QWRvcHRXSywgV0tTdHJpbmdDcmVhdGVXaXRoVVRGOENTdHJpbmcoIlNldFN0YXRpc3RpY3NTdWJm
cmFtZVVuZGVyVG9wRnJhbWVPcmlnaW4iKSk7CisgICAgV0tSZXRhaW5QdHI8V0tEaWN0aW9uYXJ5
UmVmPiBtZXNzYWdlQm9keShBZG9wdFdLLCBXS0RpY3Rpb25hcnlDcmVhdGUocmF3S2V5cy5kYXRh
KCksIHJhd1ZhbHVlcy5kYXRhKCksIHJhd0tleXMuc2l6ZSgpKSk7CisgICAgV0tCdW5kbGVQb3N0
U3luY2hyb25vdXNNZXNzYWdlKEluamVjdGVkQnVuZGxlOjpzaW5nbGV0b24oKS5idW5kbGUoKSwg
bWVzc2FnZU5hbWUuZ2V0KCksIG1lc3NhZ2VCb2R5LmdldCgpLCBudWxscHRyKTsKK30KKwordm9p
ZCBUZXN0UnVubmVyOjpzZXRTdGF0aXN0aWNzU3VicmVzb3VyY2VVbmRlclRvcEZyYW1lT3JpZ2lu
KEpTU3RyaW5nUmVmIGhvc3ROYW1lLCBKU1N0cmluZ1JlZiB0b3BGcmFtZUhvc3ROYW1lKQorewor
ICAgIFZlY3RvcjxXS1JldGFpblB0cjxXS1N0cmluZ1JlZj4+IGtleXM7CisgICAgVmVjdG9yPFdL
UmV0YWluUHRyPFdLVHlwZVJlZj4+IHZhbHVlczsKKyAgICAKKyAgICBrZXlzLmFwcGVuZCh7IEFk
b3B0V0ssIFdLU3RyaW5nQ3JlYXRlV2l0aFVURjhDU3RyaW5nKCJIb3N0TmFtZSIpIH0pOworICAg
IHZhbHVlcy5hcHBlbmQoeyBBZG9wdFdLLCBXS1N0cmluZ0NyZWF0ZVdpdGhKU1N0cmluZyhob3N0
TmFtZSkgfSk7CisgICAgCisgICAga2V5cy5hcHBlbmQoeyBBZG9wdFdLLCBXS1N0cmluZ0NyZWF0
ZVdpdGhVVEY4Q1N0cmluZygiVG9wRnJhbWVIb3N0TmFtZSIpIH0pOworICAgIHZhbHVlcy5hcHBl
bmQoeyBBZG9wdFdLLCBXS1N0cmluZ0NyZWF0ZVdpdGhKU1N0cmluZyh0b3BGcmFtZUhvc3ROYW1l
KSB9KTsKKyAgICAKKyAgICBWZWN0b3I8V0tTdHJpbmdSZWY+IHJhd0tleXM7CisgICAgVmVjdG9y
PFdLVHlwZVJlZj4gcmF3VmFsdWVzOworICAgIHJhd0tleXMucmVzaXplKGtleXMuc2l6ZSgpKTsK
KyAgICByYXdWYWx1ZXMucmVzaXplKHZhbHVlcy5zaXplKCkpOworICAgIAorICAgIGZvciAoc2l6
ZV90IGkgPSAwOyBpIDwga2V5cy5zaXplKCk7ICsraSkgeworICAgICAgICByYXdLZXlzW2ldID0g
a2V5c1tpXS5nZXQoKTsKKyAgICAgICAgcmF3VmFsdWVzW2ldID0gdmFsdWVzW2ldLmdldCgpOwor
ICAgIH0KKyAgICAKKyAgICBXS1JldGFpblB0cjxXS1N0cmluZ1JlZj4gbWVzc2FnZU5hbWUoQWRv
cHRXSywgV0tTdHJpbmdDcmVhdGVXaXRoVVRGOENTdHJpbmcoIlNldFN0YXRpc3RpY3NTdWJyZXNv
dXJjZVVuZGVyVG9wRnJhbWVPcmlnaW4iKSk7CisgICAgV0tSZXRhaW5QdHI8V0tEaWN0aW9uYXJ5
UmVmPiBtZXNzYWdlQm9keShBZG9wdFdLLCBXS0RpY3Rpb25hcnlDcmVhdGUocmF3S2V5cy5kYXRh
KCksIHJhd1ZhbHVlcy5kYXRhKCksIHJhd0tleXMuc2l6ZSgpKSk7CisgICAgV0tCdW5kbGVQb3N0
U3luY2hyb25vdXNNZXNzYWdlKEluamVjdGVkQnVuZGxlOjpzaW5nbGV0b24oKS5idW5kbGUoKSwg
bWVzc2FnZU5hbWUuZ2V0KCksIG1lc3NhZ2VCb2R5LmdldCgpLCBudWxscHRyKTsKK30KKwordm9p
ZCBUZXN0UnVubmVyOjpzZXRTdGF0aXN0aWNzU3VicmVzb3VyY2VVbmlxdWVSZWRpcmVjdFRvKEpT
U3RyaW5nUmVmIGhvc3ROYW1lLCBKU1N0cmluZ1JlZiBob3N0TmFtZVJlZGlyZWN0ZWRUbykKK3sK
KyAgICBWZWN0b3I8V0tSZXRhaW5QdHI8V0tTdHJpbmdSZWY+PiBrZXlzOworICAgIFZlY3RvcjxX
S1JldGFpblB0cjxXS1R5cGVSZWY+PiB2YWx1ZXM7CisgICAgCisgICAga2V5cy5hcHBlbmQoeyBB
ZG9wdFdLLCBXS1N0cmluZ0NyZWF0ZVdpdGhVVEY4Q1N0cmluZygiSG9zdE5hbWUiKSB9KTsKKyAg
ICB2YWx1ZXMuYXBwZW5kKHsgQWRvcHRXSywgV0tTdHJpbmdDcmVhdGVXaXRoSlNTdHJpbmcoaG9z
dE5hbWUpIH0pOworICAgIAorICAgIGtleXMuYXBwZW5kKHsgQWRvcHRXSywgV0tTdHJpbmdDcmVh
dGVXaXRoVVRGOENTdHJpbmcoIkhvc3ROYW1lUmVkaXJlY3RlZFRvIikgfSk7CisgICAgdmFsdWVz
LmFwcGVuZCh7IEFkb3B0V0ssIFdLU3RyaW5nQ3JlYXRlV2l0aEpTU3RyaW5nKGhvc3ROYW1lUmVk
aXJlY3RlZFRvKSB9KTsKKyAgICAKKyAgICBWZWN0b3I8V0tTdHJpbmdSZWY+IHJhd0tleXM7Cisg
ICAgVmVjdG9yPFdLVHlwZVJlZj4gcmF3VmFsdWVzOworICAgIHJhd0tleXMucmVzaXplKGtleXMu
c2l6ZSgpKTsKKyAgICByYXdWYWx1ZXMucmVzaXplKHZhbHVlcy5zaXplKCkpOworICAgIAorICAg
IGZvciAoc2l6ZV90IGkgPSAwOyBpIDwga2V5cy5zaXplKCk7ICsraSkgeworICAgICAgICByYXdL
ZXlzW2ldID0ga2V5c1tpXS5nZXQoKTsKKyAgICAgICAgcmF3VmFsdWVzW2ldID0gdmFsdWVzW2ld
LmdldCgpOworICAgIH0KKyAgICAKKyAgICBXS1JldGFpblB0cjxXS1N0cmluZ1JlZj4gbWVzc2Fn
ZU5hbWUoQWRvcHRXSywgV0tTdHJpbmdDcmVhdGVXaXRoVVRGOENTdHJpbmcoIlNldFN0YXRpc3Rp
Y3NTdWJyZXNvdXJjZVVuaXF1ZVJlZGlyZWN0VG8iKSk7CisgICAgV0tSZXRhaW5QdHI8V0tEaWN0
aW9uYXJ5UmVmPiBtZXNzYWdlQm9keShBZG9wdFdLLCBXS0RpY3Rpb25hcnlDcmVhdGUocmF3S2V5
cy5kYXRhKCksIHJhd1ZhbHVlcy5kYXRhKCksIHJhd0tleXMuc2l6ZSgpKSk7CisgICAgV0tCdW5k
bGVQb3N0U3luY2hyb25vdXNNZXNzYWdlKEluamVjdGVkQnVuZGxlOjpzaW5nbGV0b24oKS5idW5k
bGUoKSwgbWVzc2FnZU5hbWUuZ2V0KCksIG1lc3NhZ2VCb2R5LmdldCgpLCBudWxscHRyKTsKK30K
Kwogdm9pZCBUZXN0UnVubmVyOjpzZXRTdGF0aXN0aWNzVGltZVRvTGl2ZVVzZXJJbnRlcmFjdGlv
bihkb3VibGUgc2Vjb25kcykKIHsKICAgICBXS1JldGFpblB0cjxXS1N0cmluZ1JlZj4gbWVzc2Fn
ZU5hbWUoQWRvcHRXSywgV0tTdHJpbmdDcmVhdGVXaXRoVVRGOENTdHJpbmcoIlNldFN0YXRpc3Rp
Y3NUaW1lVG9MaXZlVXNlckludGVyYWN0aW9uIikpOwpJbmRleDogVG9vbHMvV2ViS2l0VGVzdFJ1
bm5lci9JbmplY3RlZEJ1bmRsZS9UZXN0UnVubmVyLmgKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvV2Vi
S2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9UZXN0UnVubmVyLmgJKHJldmlzaW9uIDIxMjQz
OSkKKysrIFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvVGVzdFJ1bm5lci5o
CSh3b3JraW5nIGNvcHkpCkBAIC0zNTQsNiArMzU0LDkgQEAgcHVibGljOgogICAgIGJvb2wgaXNT
dGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2UoSlNTdHJpbmdSZWYgaG9zdE5hbWUpOwogICAgIHZv
aWQgc2V0U3RhdGlzdGljc0hhc0hhZFVzZXJJbnRlcmFjdGlvbihKU1N0cmluZ1JlZiBob3N0TmFt
ZSwgYm9vbCB2YWx1ZSk7CiAgICAgYm9vbCBpc1N0YXRpc3RpY3NIYXNIYWRVc2VySW50ZXJhY3Rp
b24oSlNTdHJpbmdSZWYgaG9zdE5hbWUpOworICAgIHZvaWQgc2V0U3RhdGlzdGljc1N1YmZyYW1l
VW5kZXJUb3BGcmFtZU9yaWdpbihKU1N0cmluZ1JlZiBob3N0TmFtZSwgSlNTdHJpbmdSZWYgdG9w
RnJhbWVIb3N0TmFtZSk7CisgICAgdm9pZCBzZXRTdGF0aXN0aWNzU3VicmVzb3VyY2VVbmRlclRv
cEZyYW1lT3JpZ2luKEpTU3RyaW5nUmVmIGhvc3ROYW1lLCBKU1N0cmluZ1JlZiB0b3BGcmFtZUhv
c3ROYW1lKTsKKyAgICB2b2lkIHNldFN0YXRpc3RpY3NTdWJyZXNvdXJjZVVuaXF1ZVJlZGlyZWN0
VG8oSlNTdHJpbmdSZWYgaG9zdE5hbWUsIEpTU3RyaW5nUmVmIGhvc3ROYW1lUmVkaXJlY3RlZFRv
KTsKICAgICB2b2lkIHNldFN0YXRpc3RpY3NUaW1lVG9MaXZlVXNlckludGVyYWN0aW9uKGRvdWJs
ZSBzZWNvbmRzKTsKICAgICB2b2lkIHNldFN0YXRpc3RpY3NOb3RpZnlQYWdlc1doZW5EYXRhUmVj
b3Jkc1dlcmVTY2FubmVkKGJvb2wpOwogICAgIHZvaWQgc2V0U3RhdGlzdGljc1Nob3VsZENsYXNz
aWZ5UmVzb3VyY2VzQmVmb3JlRGF0YVJlY29yZHNSZW1vdmFsKGJvb2wpOwpJbmRleDogVG9vbHMv
V2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9CaW5kaW5ncy9UZXN0UnVubmVyLmlkbAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBUb29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0JpbmRp
bmdzL1Rlc3RSdW5uZXIuaWRsCShyZXZpc2lvbiAyMTI0MzkpCisrKyBUb29scy9XZWJLaXRUZXN0
UnVubmVyL0luamVjdGVkQnVuZGxlL0JpbmRpbmdzL1Rlc3RSdW5uZXIuaWRsCSh3b3JraW5nIGNv
cHkpCkBAIC0yNTMsNiArMjUzLDkgQEAgaW50ZXJmYWNlIFRlc3RSdW5uZXIgewogICAgIGJvb2xl
YW4gaXNTdGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2UoRE9NU3RyaW5nIGhvc3ROYW1lKTsKICAg
ICB2b2lkIHNldFN0YXRpc3RpY3NIYXNIYWRVc2VySW50ZXJhY3Rpb24oRE9NU3RyaW5nIGhvc3RO
YW1lLCBib29sZWFuIHZhbHVlKTsKICAgICBib29sZWFuIGlzU3RhdGlzdGljc0hhc0hhZFVzZXJJ
bnRlcmFjdGlvbihET01TdHJpbmcgaG9zdE5hbWUpOworICAgIHZvaWQgc2V0U3RhdGlzdGljc1N1
YmZyYW1lVW5kZXJUb3BGcmFtZU9yaWdpbihET01TdHJpbmcgaG9zdE5hbWUsIERPTVN0cmluZyB0
b3BGcmFtZUhvc3ROYW1lKTsKKyAgICB2b2lkIHNldFN0YXRpc3RpY3NTdWJyZXNvdXJjZVVuZGVy
VG9wRnJhbWVPcmlnaW4oRE9NU3RyaW5nIGhvc3ROYW1lLCBET01TdHJpbmcgdG9wRnJhbWVIb3N0
TmFtZSk7CisgICAgdm9pZCBzZXRTdGF0aXN0aWNzU3VicmVzb3VyY2VVbmlxdWVSZWRpcmVjdFRv
KERPTVN0cmluZyBob3N0TmFtZSwgRE9NU3RyaW5nIGhvc3ROYW1lUmVkaXJlY3RlZFRvKTsKICAg
ICB2b2lkIHNldFN0YXRpc3RpY3NUaW1lVG9MaXZlVXNlckludGVyYWN0aW9uKGRvdWJsZSBzZWNv
bmRzKTsKICAgICB2b2lkIHN0YXRpc3RpY3NGaXJlRGF0YU1vZGlmaWNhdGlvbkhhbmRsZXIoKTsK
ICAgICB2b2lkIHNldFN0YXRpc3RpY3NOb3RpZnlQYWdlc1doZW5EYXRhUmVjb3Jkc1dlcmVTY2Fu
bmVkKGJvb2xlYW4gdmFsdWUpOwpJbmRleDogTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL0NoYW5nZUxvZwkocmV2aXNpb24gMjEyNDM5KQorKysgTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMzAgQEAKKzIwMTctMDIt
MTYgIEpvaG4gV2lsYW5kZXIgIDx3aWxhbmRlckBhcHBsZS5jb20+CisKKyAgICAgICAgUmVzb3Vy
Y2UgTG9hZCBTdGF0aXN0aWNzOiBBZGQgYWx0ZXJuYXRlIGNsYXNzaWZpY2F0aW9uIG1ldGhvZAor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY4MzQ3Cisg
ICAgICAgIDxyZGFyOi8vcHJvYmxlbS8zMDM1Mjc5Mz4KKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGh0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxv
YWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLW5vbi1wcmV2YWxlbnQtYmFzZWQtb24tbWl4ZWQtc3Rh
dGlzdGljcy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvbG9hZGlu
Zy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLW5vbi1wcmV2YWxlbnQtYmFzZWQt
b24tbWl4ZWQtc3RhdGlzdGljcy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2xv
YWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1ub24tcHJldmFsZW50LWJh
c2VkLW9uLXN1Yi1mcmFtZS11bmRlci10b3AtZnJhbWUtb3JpZ2lucy1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNz
L2NsYXNzaWZ5LWFzLW5vbi1wcmV2YWxlbnQtYmFzZWQtb24tc3ViLWZyYW1lLXVuZGVyLXRvcC1m
cmFtZS1vcmlnaW5zLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvbG9hZGluZy9y
ZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLW5vbi1wcmV2YWxlbnQtYmFzZWQtb24t
c3VicmVzb3VyY2UtdW5kZXItdG9wLWZyYW1lLW9yaWdpbnMtZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiBodHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFz
c2lmeS1hcy1ub24tcHJldmFsZW50LWJhc2VkLW9uLXN1YnJlc291cmNlLXVuZGVyLXRvcC1mcmFt
ZS1vcmlnaW5zLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvbG9hZGluZy9yZXNv
dXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLW5vbi1wcmV2YWxlbnQtYmFzZWQtb24tc3Vi
cmVzb3VyY2UtdW5pcXVlLXJlZGlyZWN0cy10by1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIGh0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFz
LW5vbi1wcmV2YWxlbnQtYmFzZWQtb24tc3VicmVzb3VyY2UtdW5pcXVlLXJlZGlyZWN0cy10by5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3Rh
dGlzdGljcy9jbGFzc2lmeS1hcy1wcmV2YWxlbnQtYmFzZWQtb24tbWl4ZWQtc3RhdGlzdGljcy1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLXByZXZhbGVudC1iYXNlZC1vbi1taXhlZC1zdGF0
aXN0aWNzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLXByZXZhbGVudC1iYXNlZC1vbi1zdWItZnJhbWUt
dW5kZXItdG9wLWZyYW1lLW9yaWdpbnMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBo
dHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1wcmV2
YWxlbnQtYmFzZWQtb24tc3ViLWZyYW1lLXVuZGVyLXRvcC1mcmFtZS1vcmlnaW5zLmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNz
L2NsYXNzaWZ5LWFzLXByZXZhbGVudC1iYXNlZC1vbi1zdWJyZXNvdXJjZS11bmRlci10b3AtZnJh
bWUtb3JpZ2lucy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvbG9h
ZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLXByZXZhbGVudC1iYXNlZC1v
bi1zdWJyZXNvdXJjZS11bmRlci10b3AtZnJhbWUtb3JpZ2lucy5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBodHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1h
cy1wcmV2YWxlbnQtYmFzZWQtb24tc3VicmVzb3VyY2UtdW5pcXVlLXJlZGlyZWN0cy10by1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxv
YWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLXByZXZhbGVudC1iYXNlZC1vbi1zdWJyZXNvdXJjZS11
bmlxdWUtcmVkaXJlY3RzLXRvLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL3drMi9U
ZXN0RXhwZWN0YXRpb25zOgorICAgICAgICAgICAgVGhlIGFib3ZlIHRlc3RzIGFyZSBvbmx5IHZh
bGlkIGZvciBXZWJLaXQyLiBNYXJrZWQgYXMgWyBQYXNzIF0uCisKIDIwMTctMDItMTYgIFl1c3Vr
ZSBTdXp1a2kgIDx1dGF0YW5lLnRlYUBnbWFpbC5jb20+CiAKICAgICAgICAgV2ViIEluc3BlY3Rv
cjogYWxsb3cgaW1wb3J0KCkgaW5zaWRlIHRoZSBpbnNwZWN0b3IKSW5kZXg6IExheW91dFRlc3Rz
L2h0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLW5v
bi1wcmV2YWxlbnQtYmFzZWQtb24tbWl4ZWQtc3RhdGlzdGljcy1leHBlY3RlZC50eHQKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0YXRp
c3RpY3MvY2xhc3NpZnktYXMtbm9uLXByZXZhbGVudC1iYXNlZC1vbi1taXhlZC1zdGF0aXN0aWNz
LWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2xv
YWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1ub24tcHJldmFsZW50LWJh
c2VkLW9uLW1peGVkLXN0YXRpc3RpY3MtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0w
LDAgKzEsOCBAQAorbWFpbiBmcmFtZSAtIGRpZFN0YXJ0UHJvdmlzaW9uYWxMb2FkRm9yRnJhbWUK
K21haW4gZnJhbWUgLSBkaWRDb21taXRMb2FkRm9yRnJhbWUKK21haW4gZnJhbWUgLSBkaWRSZWNl
aXZlVGl0bGU6IFRlc3RzIGZvciBDbGFzc2lmaWNhdGlvbiBCYXNlZCBvbiBNaXhlZCBTdGF0aXN0
aWNzCittYWluIGZyYW1lIC0gZGlkRmluaXNoRG9jdW1lbnRMb2FkRm9yRnJhbWUKK21haW4gZnJh
bWUgLSBkaWRIYW5kbGVPbmxvYWRFdmVudHNGb3JGcmFtZQorbWFpbiBmcmFtZSAtIGRpZEZpbmlz
aExvYWRGb3JGcmFtZQorUEFTUyBIb3N0IGRpZCBub3QgZ2V0IGNsYXNzaWZpZWQgYXMgcHJldmFs
ZW50IHJlc291cmNlLgorCkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2xvYWRpbmcvcmVz
b3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1ub24tcHJldmFsZW50LWJhc2VkLW9uLW1p
eGVkLXN0YXRpc3RpY3MuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1ub24tcHJldmFsZW50
LWJhc2VkLW9uLW1peGVkLXN0YXRpc3RpY3MuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1h
cy1ub24tcHJldmFsZW50LWJhc2VkLW9uLW1peGVkLXN0YXRpc3RpY3MuaHRtbAkod29ya2luZyBj
b3B5KQpAQCAtMCwwICsxLDQyIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sIGxhbmc9ImVuIj4K
KzxoZWFkPgorICAgIDxtZXRhIGNoYXJzZXQ9IlVURi04Ij4KKyAgICA8dGl0bGU+VGVzdHMgZm9y
IENsYXNzaWZpY2F0aW9uIEJhc2VkIG9uIE1peGVkIFN0YXRpc3RpY3M8L3RpdGxlPgorICAgIDxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9o
ZWFkPgorPGJvZHk+Cis8c2NyaXB0PgorICAgIGNvbnN0IGhvc3RVbmRlclRlc3QgPSAiMTI3LjAu
MC4xOjgwMDAiOworICAgIGNvbnN0IHN0YXRpc3RpY3NVcmwgPSAiaHR0cDovLyIgKyBob3N0VW5k
ZXJUZXN0ICsgIi90ZW1wIjsKKyAgICBjb25zdCB0b3BGcmFtZU9yaWdpbjEgPSAiaHR0cDovLzEy
Ny4wLjAuMjo4MDAwL3RlbXAiOworICAgIGNvbnN0IHRvcEZyYW1lT3JpZ2luMiA9ICJodHRwOi8v
MTI3LjAuMC4zOjgwMDAvdGVtcCI7CisgICAgY29uc3QgdG9wRnJhbWVPcmlnaW4zID0gImh0dHA6
Ly8xMjcuMC4wLjQ6ODAwMC90ZW1wIjsKKyAgICBmdW5jdGlvbiBydW5UZXN0UnVubmVyVGVzdCgp
IHsKKyAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2Uoc3Rh
dGlzdGljc1VybCwgZmFsc2UpOworICAgICAgICBpZiAodGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NQ
cmV2YWxlbnRSZXNvdXJjZShzdGF0aXN0aWNzVXJsKSkKKyAgICAgICAgICAgIHRlc3RGYWlsZWQo
Ikhvc3QgZGlkIG5vdCBnZXQgc2V0IGFzIG5vbi1wcmV2YWxlbnQgcmVzb3VyY2UuIik7CisKKyAg
ICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzU3ViZnJhbWVVbmRlclRvcEZyYW1lT3JpZ2lu
KHN0YXRpc3RpY3NVcmwsIHRvcEZyYW1lT3JpZ2luMSk7CisgICAgICAgIHRlc3RSdW5uZXIuc2V0
U3RhdGlzdGljc1N1YnJlc291cmNlVW5kZXJUb3BGcmFtZU9yaWdpbihzdGF0aXN0aWNzVXJsLCB0
b3BGcmFtZU9yaWdpbjIpOworICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NTdWJyZXNv
dXJjZVVuaXF1ZVJlZGlyZWN0VG8oc3RhdGlzdGljc1VybCwgdG9wRnJhbWVPcmlnaW4zKTsKKwor
ICAgICAgICB0ZXN0UnVubmVyLnN0YXRpc3RpY3NGaXJlRGF0YU1vZGlmaWNhdGlvbkhhbmRsZXIo
KTsKKworICAgICAgICBpZiAodGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJj
ZShzdGF0aXN0aWNzVXJsKSkKKyAgICAgICAgICAgIHRlc3RGYWlsZWQoIkhvc3QgY2xhc3NpZmll
ZCBhcyBwcmV2YWxlbnQgcmVzb3VyY2UuIik7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIHRl
c3RQYXNzZWQoIkhvc3QgZGlkIG5vdCBnZXQgY2xhc3NpZmllZCBhcyBwcmV2YWxlbnQgcmVzb3Vy
Y2UuIik7CisKKyAgICAgICAgdGVzdFJ1bm5lci5zdGF0aXN0aWNzUmVzZXRUb0NvbnNpc3RlbnRT
dGF0ZSgpOworICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKKyAgICB9CisKKyAgICBp
ZiAoZG9jdW1lbnQubG9jYXRpb24uaG9zdCA9PT0gaG9zdFVuZGVyVGVzdCAmJiB3aW5kb3cudGVz
dFJ1bm5lciAmJiB3aW5kb3cuaW50ZXJuYWxzKSB7CisgICAgICAgIHRlc3RSdW5uZXIud2FpdFVu
dGlsRG9uZSgpOworICAgICAgICBpbnRlcm5hbHMuc2V0UmVzb3VyY2VMb2FkU3RhdGlzdGljc0Vu
YWJsZWQodHJ1ZSk7CisgICAgICAgIHJ1blRlc3RSdW5uZXJUZXN0KCk7CisgICAgfQorPC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpJbmRleDog
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xh
c3NpZnktYXMtbm9uLXByZXZhbGVudC1iYXNlZC1vbi1zdWItZnJhbWUtdW5kZXItdG9wLWZyYW1l
LW9yaWdpbnMtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVz
dHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLW5vbi1wcmV2YWxl
bnQtYmFzZWQtb24tc3ViLWZyYW1lLXVuZGVyLXRvcC1mcmFtZS1vcmlnaW5zLWV4cGVjdGVkLnR4
dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3Vy
Y2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1ub24tcHJldmFsZW50LWJhc2VkLW9uLXN1Yi1m
cmFtZS11bmRlci10b3AtZnJhbWUtb3JpZ2lucy1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkK
QEAgLTAsMCArMSw4IEBACittYWluIGZyYW1lIC0gZGlkU3RhcnRQcm92aXNpb25hbExvYWRGb3JG
cmFtZQorbWFpbiBmcmFtZSAtIGRpZENvbW1pdExvYWRGb3JGcmFtZQorbWFpbiBmcmFtZSAtIGRp
ZFJlY2VpdmVUaXRsZTogVGVzdHMgZm9yIENsYXNzaWZpY2F0aW9uIEJhc2VkIG9uIFN1YiBGcmFt
ZSBVbmRlciBUb3AgRnJhbWUgT3JpZ2lucworbWFpbiBmcmFtZSAtIGRpZEZpbmlzaERvY3VtZW50
TG9hZEZvckZyYW1lCittYWluIGZyYW1lIC0gZGlkSGFuZGxlT25sb2FkRXZlbnRzRm9yRnJhbWUK
K21haW4gZnJhbWUgLSBkaWRGaW5pc2hMb2FkRm9yRnJhbWUKK1BBU1MgSG9zdCBkaWQgbm90IGdl
dCBjbGFzc2lmaWVkIGFzIHByZXZhbGVudCByZXNvdXJjZS4KKwpJbmRleDogTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtbm9u
LXByZXZhbGVudC1iYXNlZC1vbi1zdWItZnJhbWUtdW5kZXItdG9wLWZyYW1lLW9yaWdpbnMuaHRt
bAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VM
b2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1ub24tcHJldmFsZW50LWJhc2VkLW9uLXN1Yi1mcmFt
ZS11bmRlci10b3AtZnJhbWUtb3JpZ2lucy5odG1sCShub25leGlzdGVudCkKKysrIExheW91dFRl
c3RzL2h0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFz
LW5vbi1wcmV2YWxlbnQtYmFzZWQtb24tc3ViLWZyYW1lLXVuZGVyLXRvcC1mcmFtZS1vcmlnaW5z
Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw0MiBAQAorPCFET0NUWVBFIGh0bWw+Cis8
aHRtbCBsYW5nPSJlbiI+Cis8aGVhZD4KKyAgICA8bWV0YSBjaGFyc2V0PSJVVEYtOCI+CisgICAg
PHRpdGxlPlRlc3RzIGZvciBDbGFzc2lmaWNhdGlvbiBCYXNlZCBvbiBTdWIgRnJhbWUgVW5kZXIg
VG9wIEZyYW1lIE9yaWdpbnM8L3RpdGxlPgorICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0Pgor
ICAgIGNvbnN0IGhvc3RVbmRlclRlc3QgPSAiMTI3LjAuMC4xOjgwMDAiOworICAgIGNvbnN0IHN0
YXRpc3RpY3NVcmwgPSAiaHR0cDovLyIgKyBob3N0VW5kZXJUZXN0ICsgIi90ZW1wIjsKKyAgICBj
b25zdCB0b3BGcmFtZU9yaWdpbjEgPSAiaHR0cDovLzEyNy4wLjAuMjo4MDAwL3RlbXAiOworICAg
IGNvbnN0IHRvcEZyYW1lT3JpZ2luMiA9ICJodHRwOi8vMTI3LjAuMC4zOjgwMDAvdGVtcCI7Cisg
ICAgY29uc3QgdG9wRnJhbWVPcmlnaW4zID0gImh0dHA6Ly8xMjcuMC4wLjQ6ODAwMC90ZW1wIjsK
KyAgICBmdW5jdGlvbiBydW5UZXN0UnVubmVyVGVzdCgpIHsKKyAgICAgICAgdGVzdFJ1bm5lci5z
ZXRTdGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2Uoc3RhdGlzdGljc1VybCwgZmFsc2UpOworICAg
ICAgICBpZiAodGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJjZShzdGF0aXN0
aWNzVXJsKSkKKyAgICAgICAgICAgIHRlc3RGYWlsZWQoIkhvc3QgZGlkIG5vdCBnZXQgc2V0IGFz
IG5vbi1wcmV2YWxlbnQgcmVzb3VyY2UuIik7CisKKyAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0
aXN0aWNzU3ViZnJhbWVVbmRlclRvcEZyYW1lT3JpZ2luKHN0YXRpc3RpY3NVcmwsIHRvcEZyYW1l
T3JpZ2luMSk7CisgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1N1YmZyYW1lVW5kZXJU
b3BGcmFtZU9yaWdpbihzdGF0aXN0aWNzVXJsLCB0b3BGcmFtZU9yaWdpbjIpOworICAgICAgICB0
ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NTdWJmcmFtZVVuZGVyVG9wRnJhbWVPcmlnaW4oc3RhdGlz
dGljc1VybCwgdG9wRnJhbWVPcmlnaW4zKTsKKworICAgICAgICB0ZXN0UnVubmVyLnN0YXRpc3Rp
Y3NGaXJlRGF0YU1vZGlmaWNhdGlvbkhhbmRsZXIoKTsKKworICAgICAgICBpZiAodGVzdFJ1bm5l
ci5pc1N0YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJjZShzdGF0aXN0aWNzVXJsKSkKKyAgICAgICAg
ICAgIHRlc3RGYWlsZWQoIkhvc3QgY2xhc3NpZmllZCBhcyBwcmV2YWxlbnQgcmVzb3VyY2UuIik7
CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIHRlc3RQYXNzZWQoIkhvc3QgZGlkIG5vdCBnZXQg
Y2xhc3NpZmllZCBhcyBwcmV2YWxlbnQgcmVzb3VyY2UuIik7CisKKyAgICAgICAgdGVzdFJ1bm5l
ci5zdGF0aXN0aWNzUmVzZXRUb0NvbnNpc3RlbnRTdGF0ZSgpOworICAgICAgICB0ZXN0UnVubmVy
Lm5vdGlmeURvbmUoKTsKKyAgICB9CisKKyAgICBpZiAoZG9jdW1lbnQubG9jYXRpb24uaG9zdCA9
PT0gaG9zdFVuZGVyVGVzdCAmJiB3aW5kb3cudGVzdFJ1bm5lciAmJiB3aW5kb3cuaW50ZXJuYWxz
KSB7CisgICAgICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOworICAgICAgICBpbnRlcm5h
bHMuc2V0UmVzb3VyY2VMb2FkU3RhdGlzdGljc0VuYWJsZWQodHJ1ZSk7CisgICAgICAgIHJ1blRl
c3RSdW5uZXJUZXN0KCk7CisgICAgfQorPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9sb2Fk
aW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtbm9uLXByZXZhbGVudC1iYXNl
ZC1vbi1zdWJyZXNvdXJjZS11bmRlci10b3AtZnJhbWUtb3JpZ2lucy1leHBlY3RlZC50eHQKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0
YXRpc3RpY3MvY2xhc3NpZnktYXMtbm9uLXByZXZhbGVudC1iYXNlZC1vbi1zdWJyZXNvdXJjZS11
bmRlci10b3AtZnJhbWUtb3JpZ2lucy1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3Np
ZnktYXMtbm9uLXByZXZhbGVudC1iYXNlZC1vbi1zdWJyZXNvdXJjZS11bmRlci10b3AtZnJhbWUt
b3JpZ2lucy1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw4IEBACittYWlu
IGZyYW1lIC0gZGlkU3RhcnRQcm92aXNpb25hbExvYWRGb3JGcmFtZQorbWFpbiBmcmFtZSAtIGRp
ZENvbW1pdExvYWRGb3JGcmFtZQorbWFpbiBmcmFtZSAtIGRpZFJlY2VpdmVUaXRsZTogVGVzdHMg
Zm9yIENsYXNzaWZpY2F0aW9uIEJhc2VkIG9uIFN1YnJlc291cmNlIFVuZGVyIFRvcCBGcmFtZSBP
cmlnaW5zCittYWluIGZyYW1lIC0gZGlkRmluaXNoRG9jdW1lbnRMb2FkRm9yRnJhbWUKK21haW4g
ZnJhbWUgLSBkaWRIYW5kbGVPbmxvYWRFdmVudHNGb3JGcmFtZQorbWFpbiBmcmFtZSAtIGRpZEZp
bmlzaExvYWRGb3JGcmFtZQorUEFTUyBIb3N0IGRpZCBub3QgZ2V0IGNsYXNzaWZpZWQgYXMgcHJl
dmFsZW50IHJlc291cmNlLgorCkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2xvYWRpbmcv
cmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1ub24tcHJldmFsZW50LWJhc2VkLW9u
LXN1YnJlc291cmNlLXVuZGVyLXRvcC1mcmFtZS1vcmlnaW5zLmh0bWwKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xh
c3NpZnktYXMtbm9uLXByZXZhbGVudC1iYXNlZC1vbi1zdWJyZXNvdXJjZS11bmRlci10b3AtZnJh
bWUtb3JpZ2lucy5odG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMv
bG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLW5vbi1wcmV2YWxlbnQt
YmFzZWQtb24tc3VicmVzb3VyY2UtdW5kZXItdG9wLWZyYW1lLW9yaWdpbnMuaHRtbAkod29ya2lu
ZyBjb3B5KQpAQCAtMCwwICsxLDQwIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sIGxhbmc9ImVu
Ij4KKzxoZWFkPgorICAgIDxtZXRhIGNoYXJzZXQ9IlVURi04Ij4KKyAgICA8dGl0bGU+VGVzdHMg
Zm9yIENsYXNzaWZpY2F0aW9uIEJhc2VkIG9uIFN1YnJlc291cmNlIFVuZGVyIFRvcCBGcmFtZSBP
cmlnaW5zPC90aXRsZT4KKyAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdD4KKyAgICBjb25zdCBo
b3N0VW5kZXJUZXN0ID0gIjEyNy4wLjAuMTo4MDAwIjsKKyAgICBjb25zdCBzdGF0aXN0aWNzVXJs
ID0gImh0dHA6Ly8iICsgaG9zdFVuZGVyVGVzdCArICIvdGVtcCI7CisgICAgY29uc3QgdG9wRnJh
bWVPcmlnaW4xID0gImh0dHA6Ly8xMjcuMC4wLjI6ODAwMC90ZW1wIjsKKyAgICBjb25zdCB0b3BG
cmFtZU9yaWdpbjIgPSAiaHR0cDovLzEyNy4wLjAuMzo4MDAwL3RlbXAiOworICAgIGZ1bmN0aW9u
IHJ1blRlc3RSdW5uZXJUZXN0KCkgeworICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NQ
cmV2YWxlbnRSZXNvdXJjZShzdGF0aXN0aWNzVXJsLCBmYWxzZSk7CisgICAgICAgIGlmICh0ZXN0
UnVubmVyLmlzU3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNlKHN0YXRpc3RpY3NVcmwpKQorICAg
ICAgICAgICAgdGVzdEZhaWxlZCgiSG9zdCBkaWQgbm90IGdldCBzZXQgYXMgbm9uLXByZXZhbGVu
dCByZXNvdXJjZS4iKTsKKworICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NTdWJyZXNv
dXJjZVVuZGVyVG9wRnJhbWVPcmlnaW4oc3RhdGlzdGljc1VybCwgdG9wRnJhbWVPcmlnaW4xKTsK
KyAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzU3VicmVzb3VyY2VVbmRlclRvcEZyYW1l
T3JpZ2luKHN0YXRpc3RpY3NVcmwsIHRvcEZyYW1lT3JpZ2luMik7CisKKyAgICAgICAgdGVzdFJ1
bm5lci5zdGF0aXN0aWNzRmlyZURhdGFNb2RpZmljYXRpb25IYW5kbGVyKCk7CisKKyAgICAgICAg
aWYgKHRlc3RSdW5uZXIuaXNTdGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2Uoc3RhdGlzdGljc1Vy
bCkpCisgICAgICAgICAgICB0ZXN0RmFpbGVkKCJIb3N0IGNsYXNzaWZpZWQgYXMgcHJldmFsZW50
IHJlc291cmNlLiIpOworICAgICAgICBlbHNlCisgICAgICAgICAgICB0ZXN0UGFzc2VkKCJIb3N0
IGRpZCBub3QgZ2V0IGNsYXNzaWZpZWQgYXMgcHJldmFsZW50IHJlc291cmNlLiIpOworCisgICAg
ICAgIHRlc3RSdW5uZXIuc3RhdGlzdGljc1Jlc2V0VG9Db25zaXN0ZW50U3RhdGUoKTsKKyAgICAg
ICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7CisgICAgfQorCisgICAgaWYgKGRvY3VtZW50Lmxv
Y2F0aW9uLmhvc3QgPT09IGhvc3RVbmRlclRlc3QgJiYgd2luZG93LnRlc3RSdW5uZXIgJiYgd2lu
ZG93LmludGVybmFscykgeworICAgICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKKyAg
ICAgICAgaW50ZXJuYWxzLnNldFJlc291cmNlTG9hZFN0YXRpc3RpY3NFbmFibGVkKHRydWUpOwor
ICAgICAgICBydW5UZXN0UnVubmVyVGVzdCgpOworICAgIH0KKzwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKSW5kZXg6IExheW91dFRlc3RzL2h0
dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLW5vbi1w
cmV2YWxlbnQtYmFzZWQtb24tc3VicmVzb3VyY2UtdW5pcXVlLXJlZGlyZWN0cy10by1leHBlY3Rl
ZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291
cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtbm9uLXByZXZhbGVudC1iYXNlZC1vbi1zdWJy
ZXNvdXJjZS11bmlxdWUtcmVkaXJlY3RzLXRvLWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisr
KyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9j
bGFzc2lmeS1hcy1ub24tcHJldmFsZW50LWJhc2VkLW9uLXN1YnJlc291cmNlLXVuaXF1ZS1yZWRp
cmVjdHMtdG8tZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsOCBAQAorbWFp
biBmcmFtZSAtIGRpZFN0YXJ0UHJvdmlzaW9uYWxMb2FkRm9yRnJhbWUKK21haW4gZnJhbWUgLSBk
aWRDb21taXRMb2FkRm9yRnJhbWUKK21haW4gZnJhbWUgLSBkaWRSZWNlaXZlVGl0bGU6IFRlc3Rz
IGZvciBDbGFzc2lmaWNhdGlvbiBCYXNlZCBvbiBTdWJyZXNvdXJjZSBVbmlxdWUgUmVkaXJlY3Rz
IFRvCittYWluIGZyYW1lIC0gZGlkRmluaXNoRG9jdW1lbnRMb2FkRm9yRnJhbWUKK21haW4gZnJh
bWUgLSBkaWRIYW5kbGVPbmxvYWRFdmVudHNGb3JGcmFtZQorbWFpbiBmcmFtZSAtIGRpZEZpbmlz
aExvYWRGb3JGcmFtZQorUEFTUyBIb3N0IGRpZCBub3QgZ2V0IGNsYXNzaWZpZWQgYXMgcHJldmFs
ZW50IHJlc291cmNlLgorCkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2xvYWRpbmcvcmVz
b3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1ub24tcHJldmFsZW50LWJhc2VkLW9uLXN1
YnJlc291cmNlLXVuaXF1ZS1yZWRpcmVjdHMtdG8uaHRtbAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1h
cy1ub24tcHJldmFsZW50LWJhc2VkLW9uLXN1YnJlc291cmNlLXVuaXF1ZS1yZWRpcmVjdHMtdG8u
aHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2xvYWRpbmcvcmVz
b3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1ub24tcHJldmFsZW50LWJhc2VkLW9uLXN1
YnJlc291cmNlLXVuaXF1ZS1yZWRpcmVjdHMtdG8uaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCww
ICsxLDQwIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sIGxhbmc9ImVuIj4KKzxoZWFkPgorICAg
IDxtZXRhIGNoYXJzZXQ9IlVURi04Ij4KKyAgICA8dGl0bGU+VGVzdHMgZm9yIENsYXNzaWZpY2F0
aW9uIEJhc2VkIG9uIFN1YnJlc291cmNlIFVuaXF1ZSBSZWRpcmVjdHMgVG88L3RpdGxlPgorICAg
IDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0PgorICAgIGNvbnN0IGhvc3RVbmRlclRlc3QgPSAiMTI3
LjAuMC4xOjgwMDAiOworICAgIGNvbnN0IHN0YXRpc3RpY3NVcmwgPSAiaHR0cDovLyIgKyBob3N0
VW5kZXJUZXN0ICsgIi90ZW1wIjsKKyAgICBjb25zdCB0b3BGcmFtZU9yaWdpbjEgPSAiaHR0cDov
LzEyNy4wLjAuMjo4MDAwL3RlbXAiOworICAgIGNvbnN0IHRvcEZyYW1lT3JpZ2luMiA9ICJodHRw
Oi8vMTI3LjAuMC4zOjgwMDAvdGVtcCI7CisgICAgZnVuY3Rpb24gcnVuVGVzdFJ1bm5lclRlc3Qo
KSB7CisgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNlKHN0
YXRpc3RpY3NVcmwsIGZhbHNlKTsKKyAgICAgICAgaWYgKHRlc3RSdW5uZXIuaXNTdGF0aXN0aWNz
UHJldmFsZW50UmVzb3VyY2Uoc3RhdGlzdGljc1VybCkpCisgICAgICAgICAgICB0ZXN0RmFpbGVk
KCJIb3N0IGRpZCBub3QgZ2V0IHNldCBhcyBub24tcHJldmFsZW50IHJlc291cmNlLiIpOworCisg
ICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1N1YnJlc291cmNlVW5pcXVlUmVkaXJlY3RU
byhzdGF0aXN0aWNzVXJsLCB0b3BGcmFtZU9yaWdpbjEpOworICAgICAgICB0ZXN0UnVubmVyLnNl
dFN0YXRpc3RpY3NTdWJyZXNvdXJjZVVuaXF1ZVJlZGlyZWN0VG8oc3RhdGlzdGljc1VybCwgdG9w
RnJhbWVPcmlnaW4yKTsKKworICAgICAgICB0ZXN0UnVubmVyLnN0YXRpc3RpY3NGaXJlRGF0YU1v
ZGlmaWNhdGlvbkhhbmRsZXIoKTsKKworICAgICAgICBpZiAodGVzdFJ1bm5lci5pc1N0YXRpc3Rp
Y3NQcmV2YWxlbnRSZXNvdXJjZShzdGF0aXN0aWNzVXJsKSkKKyAgICAgICAgICAgIHRlc3RGYWls
ZWQoIkhvc3QgY2xhc3NpZmllZCBhcyBwcmV2YWxlbnQgcmVzb3VyY2UuIik7CisgICAgICAgIGVs
c2UKKyAgICAgICAgICAgIHRlc3RQYXNzZWQoIkhvc3QgZGlkIG5vdCBnZXQgY2xhc3NpZmllZCBh
cyBwcmV2YWxlbnQgcmVzb3VyY2UuIik7CisKKyAgICAgICAgdGVzdFJ1bm5lci5zdGF0aXN0aWNz
UmVzZXRUb0NvbnNpc3RlbnRTdGF0ZSgpOworICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUo
KTsKKyAgICB9CisKKyAgICBpZiAoZG9jdW1lbnQubG9jYXRpb24uaG9zdCA9PT0gaG9zdFVuZGVy
VGVzdCAmJiB3aW5kb3cudGVzdFJ1bm5lciAmJiB3aW5kb3cuaW50ZXJuYWxzKSB7CisgICAgICAg
IHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOworICAgICAgICBpbnRlcm5hbHMuc2V0UmVzb3Vy
Y2VMb2FkU3RhdGlzdGljc0VuYWJsZWQodHJ1ZSk7CisgICAgICAgIHJ1blRlc3RSdW5uZXJUZXN0
KCk7CisgICAgfQorPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNl
TG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtcHJldmFsZW50LWJhc2VkLW9uLW1peGVkLXN0YXRp
c3RpY3MtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMv
bG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLXByZXZhbGVudC1iYXNl
ZC1vbi1taXhlZC1zdGF0aXN0aWNzLWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lm
eS1hcy1wcmV2YWxlbnQtYmFzZWQtb24tbWl4ZWQtc3RhdGlzdGljcy1leHBlY3RlZC50eHQJKHdv
cmtpbmcgY29weSkKQEAgLTAsMCArMSw4IEBACittYWluIGZyYW1lIC0gZGlkU3RhcnRQcm92aXNp
b25hbExvYWRGb3JGcmFtZQorbWFpbiBmcmFtZSAtIGRpZENvbW1pdExvYWRGb3JGcmFtZQorbWFp
biBmcmFtZSAtIGRpZFJlY2VpdmVUaXRsZTogVGVzdHMgZm9yIENsYXNzaWZpY2F0aW9uIEJhc2Vk
IG9uIE1peGVkIFN0YXRpc3RpY3MKK21haW4gZnJhbWUgLSBkaWRGaW5pc2hEb2N1bWVudExvYWRG
b3JGcmFtZQorbWFpbiBmcmFtZSAtIGRpZEhhbmRsZU9ubG9hZEV2ZW50c0ZvckZyYW1lCittYWlu
IGZyYW1lIC0gZGlkRmluaXNoTG9hZEZvckZyYW1lCitQQVNTIEhvc3QgY2xhc3NpZmllZCBhcyBw
cmV2YWxlbnQgcmVzb3VyY2UuCisKSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvbG9hZGlu
Zy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLXByZXZhbGVudC1iYXNlZC1vbi1t
aXhlZC1zdGF0aXN0aWNzLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtcHJldmFsZW50LWJh
c2VkLW9uLW1peGVkLXN0YXRpc3RpY3MuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1w
cmV2YWxlbnQtYmFzZWQtb24tbWl4ZWQtc3RhdGlzdGljcy5odG1sCSh3b3JraW5nIGNvcHkpCkBA
IC0wLDAgKzEsNDkgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWwgbGFuZz0iZW4iPgorPGhlYWQ+
CisgICAgPG1ldGEgY2hhcnNldD0iVVRGLTgiPgorICAgIDx0aXRsZT5UZXN0cyBmb3IgQ2xhc3Np
ZmljYXRpb24gQmFzZWQgb24gTWl4ZWQgU3RhdGlzdGljczwvdGl0bGU+CisgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxzY3JpcHQ+CisgICAgY29uc3QgaG9zdFVuZGVyVGVzdCA9ICIxMjcuMC4wLjE6ODAw
MCI7CisgICAgY29uc3Qgc3RhdGlzdGljc1VybCA9ICJodHRwOi8vIiArIGhvc3RVbmRlclRlc3Qg
KyAiL3RlbXAiOworICAgIGNvbnN0IHRvcEZyYW1lT3JpZ2luMSA9ICJodHRwOi8vMTI3LjAuMC4y
OjgwMDAvdGVtcCI7CisgICAgY29uc3QgdG9wRnJhbWVPcmlnaW4yID0gImh0dHA6Ly8xMjcuMC4w
LjM6ODAwMC90ZW1wIjsKKyAgICBjb25zdCB0b3BGcmFtZU9yaWdpbjMgPSAiaHR0cDovLzEyNy4w
LjAuNDo4MDAwL3RlbXAiOworICAgIGNvbnN0IHRvcEZyYW1lT3JpZ2luNCA9ICJodHRwOi8vMTI3
LjAuMC41OjgwMDAvdGVtcCI7CisgICAgZnVuY3Rpb24gcnVuVGVzdFJ1bm5lclRlc3QoKSB7Cisg
ICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNlKHN0YXRpc3Rp
Y3NVcmwsIGZhbHNlKTsKKyAgICAgICAgaWYgKHRlc3RSdW5uZXIuaXNTdGF0aXN0aWNzUHJldmFs
ZW50UmVzb3VyY2Uoc3RhdGlzdGljc1VybCkpCisgICAgICAgICAgICB0ZXN0RmFpbGVkKCJIb3N0
IGRpZCBub3QgZ2V0IHNldCBhcyBub24tcHJldmFsZW50IHJlc291cmNlLiIpOworCisgICAgICAg
IHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1N1YmZyYW1lVW5kZXJUb3BGcmFtZU9yaWdpbihzdGF0
aXN0aWNzVXJsLCB0b3BGcmFtZU9yaWdpbjEpOworICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRp
c3RpY3NTdWJmcmFtZVVuZGVyVG9wRnJhbWVPcmlnaW4oc3RhdGlzdGljc1VybCwgdG9wRnJhbWVP
cmlnaW40KTsKKworICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NTdWJyZXNvdXJjZVVu
ZGVyVG9wRnJhbWVPcmlnaW4oc3RhdGlzdGljc1VybCwgdG9wRnJhbWVPcmlnaW4yKTsKKyAgICAg
ICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzU3VicmVzb3VyY2VVbmRlclRvcEZyYW1lT3JpZ2lu
KHN0YXRpc3RpY3NVcmwsIHRvcEZyYW1lT3JpZ2luMyk7CisgICAgICAgIHRlc3RSdW5uZXIuc2V0
U3RhdGlzdGljc1N1YnJlc291cmNlVW5kZXJUb3BGcmFtZU9yaWdpbihzdGF0aXN0aWNzVXJsLCB0
b3BGcmFtZU9yaWdpbjQpOworCisgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1N1YnJl
c291cmNlVW5pcXVlUmVkaXJlY3RUbyhzdGF0aXN0aWNzVXJsLCB0b3BGcmFtZU9yaWdpbjMpOwor
ICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NTdWJyZXNvdXJjZVVuaXF1ZVJlZGlyZWN0
VG8oc3RhdGlzdGljc1VybCwgdG9wRnJhbWVPcmlnaW4xKTsKKworICAgICAgICB0ZXN0UnVubmVy
LnN0YXRpc3RpY3NGaXJlRGF0YU1vZGlmaWNhdGlvbkhhbmRsZXIoKTsKKworICAgICAgICBpZiAo
IXRlc3RSdW5uZXIuaXNTdGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2Uoc3RhdGlzdGljc1VybCkp
CisgICAgICAgICAgICB0ZXN0RmFpbGVkKCJIb3N0IGRpZCBub3QgZ2V0IGNsYXNzaWZpZWQgYXMg
cHJldmFsZW50IHJlc291cmNlLiIpOworICAgICAgICBlbHNlCisgICAgICAgICAgICB0ZXN0UGFz
c2VkKCJIb3N0IGNsYXNzaWZpZWQgYXMgcHJldmFsZW50IHJlc291cmNlLiIpOworCisgICAgICAg
IHRlc3RSdW5uZXIuc3RhdGlzdGljc1Jlc2V0VG9Db25zaXN0ZW50U3RhdGUoKTsKKyAgICAgICAg
dGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7CisgICAgfQorCisgICAgaWYgKGRvY3VtZW50LmxvY2F0
aW9uLmhvc3QgPT09IGhvc3RVbmRlclRlc3QgJiYgd2luZG93LnRlc3RSdW5uZXIgJiYgd2luZG93
LmludGVybmFscykgeworICAgICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKKyAgICAg
ICAgaW50ZXJuYWxzLnNldFJlc291cmNlTG9hZFN0YXRpc3RpY3NFbmFibGVkKHRydWUpOworICAg
ICAgICBydW5UZXN0UnVubmVyVGVzdCgpOworICAgIH0KKzwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKSW5kZXg6IExheW91dFRlc3RzL2h0dHAv
dGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLXByZXZhbGVu
dC1iYXNlZC1vbi1zdWItZnJhbWUtdW5kZXItdG9wLWZyYW1lLW9yaWdpbnMtZXhwZWN0ZWQudHh0
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxv
YWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLXByZXZhbGVudC1iYXNlZC1vbi1zdWItZnJhbWUtdW5k
ZXItdG9wLWZyYW1lLW9yaWdpbnMtZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKKysrIExheW91
dFRlc3RzL2h0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5
LWFzLXByZXZhbGVudC1iYXNlZC1vbi1zdWItZnJhbWUtdW5kZXItdG9wLWZyYW1lLW9yaWdpbnMt
ZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsOCBAQAorbWFpbiBmcmFtZSAt
IGRpZFN0YXJ0UHJvdmlzaW9uYWxMb2FkRm9yRnJhbWUKK21haW4gZnJhbWUgLSBkaWRDb21taXRM
b2FkRm9yRnJhbWUKK21haW4gZnJhbWUgLSBkaWRSZWNlaXZlVGl0bGU6IFRlc3RzIGZvciBDbGFz
c2lmaWNhdGlvbiBCYXNlZCBvbiBTdWIgRnJhbWUgVW5kZXIgVG9wIEZyYW1lIE9yaWdpbnMKK21h
aW4gZnJhbWUgLSBkaWRGaW5pc2hEb2N1bWVudExvYWRGb3JGcmFtZQorbWFpbiBmcmFtZSAtIGRp
ZEhhbmRsZU9ubG9hZEV2ZW50c0ZvckZyYW1lCittYWluIGZyYW1lIC0gZGlkRmluaXNoTG9hZEZv
ckZyYW1lCitQQVNTIEhvc3QgY2xhc3NpZmllZCBhcyBwcmV2YWxlbnQgcmVzb3VyY2UuCisKSW5k
ZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNz
L2NsYXNzaWZ5LWFzLXByZXZhbGVudC1iYXNlZC1vbi1zdWItZnJhbWUtdW5kZXItdG9wLWZyYW1l
LW9yaWdpbnMuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2xvYWRp
bmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1wcmV2YWxlbnQtYmFzZWQtb24t
c3ViLWZyYW1lLXVuZGVyLXRvcC1mcmFtZS1vcmlnaW5zLmh0bWwJKG5vbmV4aXN0ZW50KQorKysg
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xh
c3NpZnktYXMtcHJldmFsZW50LWJhc2VkLW9uLXN1Yi1mcmFtZS11bmRlci10b3AtZnJhbWUtb3Jp
Z2lucy5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNDQgQEAKKzwhRE9DVFlQRSBodG1s
PgorPGh0bWwgbGFuZz0iZW4iPgorPGhlYWQ+CisgICAgPG1ldGEgY2hhcnNldD0iVVRGLTgiPgor
ICAgIDx0aXRsZT5UZXN0cyBmb3IgQ2xhc3NpZmljYXRpb24gQmFzZWQgb24gU3ViIEZyYW1lIFVu
ZGVyIFRvcCBGcmFtZSBPcmlnaW5zPC90aXRsZT4KKyAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlw
dD4KKyAgICBjb25zdCBob3N0VW5kZXJUZXN0ID0gIjEyNy4wLjAuMTo4MDAwIjsKKyAgICBjb25z
dCBzdGF0aXN0aWNzVXJsID0gImh0dHA6Ly8iICsgaG9zdFVuZGVyVGVzdCArICIvdGVtcCI7Cisg
ICAgY29uc3QgdG9wRnJhbWVPcmlnaW4xID0gImh0dHA6Ly8xMjcuMC4wLjI6ODAwMC90ZW1wIjsK
KyAgICBjb25zdCB0b3BGcmFtZU9yaWdpbjIgPSAiaHR0cDovLzEyNy4wLjAuMzo4MDAwL3RlbXAi
OworICAgIGNvbnN0IHRvcEZyYW1lT3JpZ2luMyA9ICJodHRwOi8vMTI3LjAuMC40OjgwMDAvdGVt
cCI7CisgICAgY29uc3QgdG9wRnJhbWVPcmlnaW40ID0gImh0dHA6Ly8xMjcuMC4wLjU6ODAwMC90
ZW1wIjsKKyAgICBmdW5jdGlvbiBydW5UZXN0UnVubmVyVGVzdCgpIHsKKyAgICAgICAgdGVzdFJ1
bm5lci5zZXRTdGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2Uoc3RhdGlzdGljc1VybCwgZmFsc2Up
OworICAgICAgICBpZiAodGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJjZShz
dGF0aXN0aWNzVXJsKSkKKyAgICAgICAgICAgIHRlc3RGYWlsZWQoIkhvc3QgZGlkIG5vdCBnZXQg
c2V0IGFzIG5vbi1wcmV2YWxlbnQgcmVzb3VyY2UuIik7CisKKyAgICAgICAgdGVzdFJ1bm5lci5z
ZXRTdGF0aXN0aWNzU3ViZnJhbWVVbmRlclRvcEZyYW1lT3JpZ2luKHN0YXRpc3RpY3NVcmwsIHRv
cEZyYW1lT3JpZ2luMSk7CisgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1N1YmZyYW1l
VW5kZXJUb3BGcmFtZU9yaWdpbihzdGF0aXN0aWNzVXJsLCB0b3BGcmFtZU9yaWdpbjIpOworICAg
ICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NTdWJmcmFtZVVuZGVyVG9wRnJhbWVPcmlnaW4o
c3RhdGlzdGljc1VybCwgdG9wRnJhbWVPcmlnaW4zKTsKKyAgICAgICAgdGVzdFJ1bm5lci5zZXRT
dGF0aXN0aWNzU3ViZnJhbWVVbmRlclRvcEZyYW1lT3JpZ2luKHN0YXRpc3RpY3NVcmwsIHRvcEZy
YW1lT3JpZ2luNCk7CisKKyAgICAgICAgdGVzdFJ1bm5lci5zdGF0aXN0aWNzRmlyZURhdGFNb2Rp
ZmljYXRpb25IYW5kbGVyKCk7CisKKyAgICAgICAgaWYgKCF0ZXN0UnVubmVyLmlzU3RhdGlzdGlj
c1ByZXZhbGVudFJlc291cmNlKHN0YXRpc3RpY3NVcmwpKQorICAgICAgICAgICAgdGVzdEZhaWxl
ZCgiSG9zdCBkaWQgbm90IGdldCBjbGFzc2lmaWVkIGFzIHByZXZhbGVudCByZXNvdXJjZS4iKTsK
KyAgICAgICAgZWxzZQorICAgICAgICAgICAgdGVzdFBhc3NlZCgiSG9zdCBjbGFzc2lmaWVkIGFz
IHByZXZhbGVudCByZXNvdXJjZS4iKTsKKworICAgICAgICB0ZXN0UnVubmVyLnN0YXRpc3RpY3NS
ZXNldFRvQ29uc2lzdGVudFN0YXRlKCk7CisgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgp
OworICAgIH0KKworICAgIGlmIChkb2N1bWVudC5sb2NhdGlvbi5ob3N0ID09PSBob3N0VW5kZXJU
ZXN0ICYmIHdpbmRvdy50ZXN0UnVubmVyICYmIHdpbmRvdy5pbnRlcm5hbHMpIHsKKyAgICAgICAg
dGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7CisgICAgICAgIGludGVybmFscy5zZXRSZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzRW5hYmxlZCh0cnVlKTsKKyAgICAgICAgcnVuVGVzdFJ1bm5lclRlc3Qo
KTsKKyAgICB9Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VM
b2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1wcmV2YWxlbnQtYmFzZWQtb24tc3VicmVzb3VyY2Ut
dW5kZXItdG9wLWZyYW1lLW9yaWdpbnMtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL2h0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5
LWFzLXByZXZhbGVudC1iYXNlZC1vbi1zdWJyZXNvdXJjZS11bmRlci10b3AtZnJhbWUtb3JpZ2lu
cy1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9s
b2FkaW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtcHJldmFsZW50LWJhc2Vk
LW9uLXN1YnJlc291cmNlLXVuZGVyLXRvcC1mcmFtZS1vcmlnaW5zLWV4cGVjdGVkLnR4dAkod29y
a2luZyBjb3B5KQpAQCAtMCwwICsxLDggQEAKK21haW4gZnJhbWUgLSBkaWRTdGFydFByb3Zpc2lv
bmFsTG9hZEZvckZyYW1lCittYWluIGZyYW1lIC0gZGlkQ29tbWl0TG9hZEZvckZyYW1lCittYWlu
IGZyYW1lIC0gZGlkUmVjZWl2ZVRpdGxlOiBUZXN0cyBmb3IgQ2xhc3NpZmljYXRpb24gQmFzZWQg
b24gU3VicmVzb3VyY2UgVW5kZXIgVG9wIEZyYW1lIE9yaWdpbnMKK21haW4gZnJhbWUgLSBkaWRG
aW5pc2hEb2N1bWVudExvYWRGb3JGcmFtZQorbWFpbiBmcmFtZSAtIGRpZEhhbmRsZU9ubG9hZEV2
ZW50c0ZvckZyYW1lCittYWluIGZyYW1lIC0gZGlkRmluaXNoTG9hZEZvckZyYW1lCitQQVNTIEhv
c3QgY2xhc3NpZmllZCBhcyBwcmV2YWxlbnQgcmVzb3VyY2UuCisKSW5kZXg6IExheW91dFRlc3Rz
L2h0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLXBy
ZXZhbGVudC1iYXNlZC1vbi1zdWJyZXNvdXJjZS11bmRlci10b3AtZnJhbWUtb3JpZ2lucy5odG1s
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxv
YWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLXByZXZhbGVudC1iYXNlZC1vbi1zdWJyZXNvdXJjZS11
bmRlci10b3AtZnJhbWUtb3JpZ2lucy5odG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3Rz
L2h0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLXBy
ZXZhbGVudC1iYXNlZC1vbi1zdWJyZXNvdXJjZS11bmRlci10b3AtZnJhbWUtb3JpZ2lucy5odG1s
CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNDQgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWwg
bGFuZz0iZW4iPgorPGhlYWQ+CisgICAgPG1ldGEgY2hhcnNldD0iVVRGLTgiPgorICAgIDx0aXRs
ZT5UZXN0cyBmb3IgQ2xhc3NpZmljYXRpb24gQmFzZWQgb24gU3VicmVzb3VyY2UgVW5kZXIgVG9w
IEZyYW1lIE9yaWdpbnM8L3RpdGxlPgorICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0PgorICAg
IGNvbnN0IGhvc3RVbmRlclRlc3QgPSAiMTI3LjAuMC4xOjgwMDAiOworICAgIGNvbnN0IHN0YXRp
c3RpY3NVcmwgPSAiaHR0cDovLyIgKyBob3N0VW5kZXJUZXN0ICsgIi90ZW1wIjsKKyAgICBjb25z
dCB0b3BGcmFtZU9yaWdpbjEgPSAiaHR0cDovLzEyNy4wLjAuMjo4MDAwL3RlbXAiOworICAgIGNv
bnN0IHRvcEZyYW1lT3JpZ2luMiA9ICJodHRwOi8vMTI3LjAuMC4zOjgwMDAvdGVtcCI7CisgICAg
Y29uc3QgdG9wRnJhbWVPcmlnaW4zID0gImh0dHA6Ly8xMjcuMC4wLjQ6ODAwMC90ZW1wIjsKKyAg
ICBjb25zdCB0b3BGcmFtZU9yaWdpbjQgPSAiaHR0cDovLzEyNy4wLjAuNTo4MDAwL3RlbXAiOwor
ICAgIGZ1bmN0aW9uIHJ1blRlc3RSdW5uZXJUZXN0KCkgeworICAgICAgICB0ZXN0UnVubmVyLnNl
dFN0YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJjZShzdGF0aXN0aWNzVXJsLCBmYWxzZSk7CisgICAg
ICAgIGlmICh0ZXN0UnVubmVyLmlzU3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNlKHN0YXRpc3Rp
Y3NVcmwpKQorICAgICAgICAgICAgdGVzdEZhaWxlZCgiSG9zdCBkaWQgbm90IGdldCBzZXQgYXMg
bm9uLXByZXZhbGVudCByZXNvdXJjZS4iKTsKKworICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRp
c3RpY3NTdWJyZXNvdXJjZVVuZGVyVG9wRnJhbWVPcmlnaW4oc3RhdGlzdGljc1VybCwgdG9wRnJh
bWVPcmlnaW4xKTsKKyAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzU3VicmVzb3VyY2VV
bmRlclRvcEZyYW1lT3JpZ2luKHN0YXRpc3RpY3NVcmwsIHRvcEZyYW1lT3JpZ2luMik7CisgICAg
ICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1N1YnJlc291cmNlVW5kZXJUb3BGcmFtZU9yaWdp
bihzdGF0aXN0aWNzVXJsLCB0b3BGcmFtZU9yaWdpbjMpOworICAgICAgICB0ZXN0UnVubmVyLnNl
dFN0YXRpc3RpY3NTdWJyZXNvdXJjZVVuZGVyVG9wRnJhbWVPcmlnaW4oc3RhdGlzdGljc1VybCwg
dG9wRnJhbWVPcmlnaW40KTsKKworICAgICAgICB0ZXN0UnVubmVyLnN0YXRpc3RpY3NGaXJlRGF0
YU1vZGlmaWNhdGlvbkhhbmRsZXIoKTsKKworICAgICAgICBpZiAoIXRlc3RSdW5uZXIuaXNTdGF0
aXN0aWNzUHJldmFsZW50UmVzb3VyY2Uoc3RhdGlzdGljc1VybCkpCisgICAgICAgICAgICB0ZXN0
RmFpbGVkKCJIb3N0IGRpZCBub3QgZ2V0IGNsYXNzaWZpZWQgYXMgcHJldmFsZW50IHJlc291cmNl
LiIpOworICAgICAgICBlbHNlCisgICAgICAgICAgICB0ZXN0UGFzc2VkKCJIb3N0IGNsYXNzaWZp
ZWQgYXMgcHJldmFsZW50IHJlc291cmNlLiIpOworCisgICAgICAgIHRlc3RSdW5uZXIuc3RhdGlz
dGljc1Jlc2V0VG9Db25zaXN0ZW50U3RhdGUoKTsKKyAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlE
b25lKCk7CisgICAgfQorCisgICAgaWYgKGRvY3VtZW50LmxvY2F0aW9uLmhvc3QgPT09IGhvc3RV
bmRlclRlc3QgJiYgd2luZG93LnRlc3RSdW5uZXIgJiYgd2luZG93LmludGVybmFscykgeworICAg
ICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKKyAgICAgICAgaW50ZXJuYWxzLnNldFJl
c291cmNlTG9hZFN0YXRpc3RpY3NFbmFibGVkKHRydWUpOworICAgICAgICBydW5UZXN0UnVubmVy
VGVzdCgpOworICAgIH0KKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvbG9hZGluZy9yZXNv
dXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLXByZXZhbGVudC1iYXNlZC1vbi1zdWJyZXNv
dXJjZS11bmlxdWUtcmVkaXJlY3RzLXRvLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lm
eS1hcy1wcmV2YWxlbnQtYmFzZWQtb24tc3VicmVzb3VyY2UtdW5pcXVlLXJlZGlyZWN0cy10by1l
eHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9sb2Fk
aW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtcHJldmFsZW50LWJhc2VkLW9u
LXN1YnJlc291cmNlLXVuaXF1ZS1yZWRpcmVjdHMtdG8tZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNv
cHkpCkBAIC0wLDAgKzEsOCBAQAorbWFpbiBmcmFtZSAtIGRpZFN0YXJ0UHJvdmlzaW9uYWxMb2Fk
Rm9yRnJhbWUKK21haW4gZnJhbWUgLSBkaWRDb21taXRMb2FkRm9yRnJhbWUKK21haW4gZnJhbWUg
LSBkaWRSZWNlaXZlVGl0bGU6IFRlc3RzIGZvciBDbGFzc2lmaWNhdGlvbiBCYXNlZCBvbiBTdWJy
ZXNvdXJjZSBVbmlxdWUgUmVkaXJlY3RzIFRvCittYWluIGZyYW1lIC0gZGlkRmluaXNoRG9jdW1l
bnRMb2FkRm9yRnJhbWUKK21haW4gZnJhbWUgLSBkaWRIYW5kbGVPbmxvYWRFdmVudHNGb3JGcmFt
ZQorbWFpbiBmcmFtZSAtIGRpZEZpbmlzaExvYWRGb3JGcmFtZQorUEFTUyBIb3N0IGNsYXNzaWZp
ZWQgYXMgcHJldmFsZW50IHJlc291cmNlLgorCkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1wcmV2YWxlbnQtYmFz
ZWQtb24tc3VicmVzb3VyY2UtdW5pcXVlLXJlZGlyZWN0cy10by5odG1sCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL2h0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2Ns
YXNzaWZ5LWFzLXByZXZhbGVudC1iYXNlZC1vbi1zdWJyZXNvdXJjZS11bmlxdWUtcmVkaXJlY3Rz
LXRvLmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9sb2FkaW5n
L3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtcHJldmFsZW50LWJhc2VkLW9uLXN1
YnJlc291cmNlLXVuaXF1ZS1yZWRpcmVjdHMtdG8uaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCww
ICsxLDQ0IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sIGxhbmc9ImVuIj4KKzxoZWFkPgorICAg
IDxtZXRhIGNoYXJzZXQ9IlVURi04Ij4KKyAgICA8dGl0bGU+VGVzdHMgZm9yIENsYXNzaWZpY2F0
aW9uIEJhc2VkIG9uIFN1YnJlc291cmNlIFVuaXF1ZSBSZWRpcmVjdHMgVG88L3RpdGxlPgorICAg
IDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0PgorICAgIGNvbnN0IGhvc3RVbmRlclRlc3QgPSAiMTI3
LjAuMC4xOjgwMDAiOworICAgIGNvbnN0IHN0YXRpc3RpY3NVcmwgPSAiaHR0cDovLyIgKyBob3N0
VW5kZXJUZXN0ICsgIi90ZW1wIjsKKyAgICBjb25zdCB0b3BGcmFtZU9yaWdpbjEgPSAiaHR0cDov
LzEyNy4wLjAuMjo4MDAwL3RlbXAiOworICAgIGNvbnN0IHRvcEZyYW1lT3JpZ2luMiA9ICJodHRw
Oi8vMTI3LjAuMC4zOjgwMDAvdGVtcCI7CisgICAgY29uc3QgdG9wRnJhbWVPcmlnaW4zID0gImh0
dHA6Ly8xMjcuMC4wLjQ6ODAwMC90ZW1wIjsKKyAgICBjb25zdCB0b3BGcmFtZU9yaWdpbjQgPSAi
aHR0cDovLzEyNy4wLjAuNTo4MDAwL3RlbXAiOworICAgIGZ1bmN0aW9uIHJ1blRlc3RSdW5uZXJU
ZXN0KCkgeworICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJj
ZShzdGF0aXN0aWNzVXJsLCBmYWxzZSk7CisgICAgICAgIGlmICh0ZXN0UnVubmVyLmlzU3RhdGlz
dGljc1ByZXZhbGVudFJlc291cmNlKHN0YXRpc3RpY3NVcmwpKQorICAgICAgICAgICAgdGVzdEZh
aWxlZCgiSG9zdCBkaWQgbm90IGdldCBzZXQgYXMgbm9uLXByZXZhbGVudCByZXNvdXJjZS4iKTsK
KworICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NTdWJyZXNvdXJjZVVuaXF1ZVJlZGly
ZWN0VG8oc3RhdGlzdGljc1VybCwgdG9wRnJhbWVPcmlnaW4xKTsKKyAgICAgICAgdGVzdFJ1bm5l
ci5zZXRTdGF0aXN0aWNzU3VicmVzb3VyY2VVbmlxdWVSZWRpcmVjdFRvKHN0YXRpc3RpY3NVcmws
IHRvcEZyYW1lT3JpZ2luMik7CisgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1N1YnJl
c291cmNlVW5pcXVlUmVkaXJlY3RUbyhzdGF0aXN0aWNzVXJsLCB0b3BGcmFtZU9yaWdpbjMpOwor
ICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NTdWJyZXNvdXJjZVVuaXF1ZVJlZGlyZWN0
VG8oc3RhdGlzdGljc1VybCwgdG9wRnJhbWVPcmlnaW40KTsKKworICAgICAgICB0ZXN0UnVubmVy
LnN0YXRpc3RpY3NGaXJlRGF0YU1vZGlmaWNhdGlvbkhhbmRsZXIoKTsKKworICAgICAgICBpZiAo
IXRlc3RSdW5uZXIuaXNTdGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2Uoc3RhdGlzdGljc1VybCkp
CisgICAgICAgICAgICB0ZXN0RmFpbGVkKCJIb3N0IGRpZCBub3QgZ2V0IGNsYXNzaWZpZWQgYXMg
cHJldmFsZW50IHJlc291cmNlLiIpOworICAgICAgICBlbHNlCisgICAgICAgICAgICB0ZXN0UGFz
c2VkKCJIb3N0IGNsYXNzaWZpZWQgYXMgcHJldmFsZW50IHJlc291cmNlLiIpOworCisgICAgICAg
IHRlc3RSdW5uZXIuc3RhdGlzdGljc1Jlc2V0VG9Db25zaXN0ZW50U3RhdGUoKTsKKyAgICAgICAg
dGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7CisgICAgfQorCisgICAgaWYgKGRvY3VtZW50LmxvY2F0
aW9uLmhvc3QgPT09IGhvc3RVbmRlclRlc3QgJiYgd2luZG93LnRlc3RSdW5uZXIgJiYgd2luZG93
LmludGVybmFscykgeworICAgICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKKyAgICAg
ICAgaW50ZXJuYWxzLnNldFJlc291cmNlTG9hZFN0YXRpc3RpY3NFbmFibGVkKHRydWUpOworICAg
ICAgICBydW5UZXN0UnVubmVyVGVzdCgpOworICAgIH0KKzwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2syL1Rlc3RFeHBlY3RhdGlvbnMKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2syL1Rlc3RFeHBlY3RhdGlvbnMJKHJl
dmlzaW9uIDIxMjQzOSkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL3drMi9UZXN0RXhwZWN0YXRp
b25zCSh3b3JraW5nIGNvcHkpCkBAIC03MDUsNiArNzA1LDE0IEBAIGh0dHAvdGVzdHMvbG9hZGlu
Zy9yZXNvdXJjZUxvYWRTdGF0aXN0aWMKIGh0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRT
dGF0aXN0aWNzL25vbi1wcmV2YWxlbnQtcmVzb3VyY2Utd2l0aG91dC11c2VyLWludGVyYWN0aW9u
Lmh0bWwgWyBQYXNzIFRpbWVvdXQgXQogaHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0
YXRpc3RpY3MvcHJldmFsZW50LXJlc291cmNlLXdpdGhvdXQtdXNlci1pbnRlcmFjdGlvbi5odG1s
IFsgUGFzcyBUaW1lb3V0IF0KIGh0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0
aWNzL3ByZXZhbGVudC1yZXNvdXJjZS13aXRoLXVzZXItaW50ZXJhY3Rpb24tdGltZW91dC5odG1s
IFsgUGFzcyBUaW1lb3V0IF0KK2h0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0
aWNzL2NsYXNzaWZ5LWFzLW5vbi1wcmV2YWxlbnQtYmFzZWQtb24tbWl4ZWQtc3RhdGlzdGljcy5o
dG1sIFsgUGFzcyBdCitodHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9j
bGFzc2lmeS1hcy1ub24tcHJldmFsZW50LWJhc2VkLW9uLXN1Yi1mcmFtZS11bmRlci10b3AtZnJh
bWUtb3JpZ2lucy5odG1sIFsgUGFzcyBdCitodHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2Fk
U3RhdGlzdGljcy9jbGFzc2lmeS1hcy1ub24tcHJldmFsZW50LWJhc2VkLW9uLXN1YnJlc291cmNl
LXVuZGVyLXRvcC1mcmFtZS1vcmlnaW5zLmh0bWwgWyBQYXNzIF0KK2h0dHAvdGVzdHMvbG9hZGlu
Zy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLW5vbi1wcmV2YWxlbnQtYmFzZWQt
b24tc3VicmVzb3VyY2UtdW5pcXVlLXJlZGlyZWN0cy10by5odG1sIFsgUGFzcyBdCitodHRwL3Rl
c3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1wcmV2YWxlbnQt
YmFzZWQtb24tbWl4ZWQtc3RhdGlzdGljcy5odG1sIFsgUGFzcyBdCitodHRwL3Rlc3RzL2xvYWRp
bmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1wcmV2YWxlbnQtYmFzZWQtb24t
c3ViLWZyYW1lLXVuZGVyLXRvcC1mcmFtZS1vcmlnaW5zLmh0bWwgWyBQYXNzIF0KK2h0dHAvdGVz
dHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLXByZXZhbGVudC1i
YXNlZC1vbi1zdWJyZXNvdXJjZS11bmRlci10b3AtZnJhbWUtb3JpZ2lucy5odG1sIFsgUGFzcyBd
CitodHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1w
cmV2YWxlbnQtYmFzZWQtb24tc3VicmVzb3VyY2UtdW5pcXVlLXJlZGlyZWN0cy10by5odG1sIFsg
UGFzcyBdCiAKICMjIyBFTkQgT0YgKDUpIFByb2dyZXNzaW9ucywgZXhwZWN0ZWQgc3VjY2Vzc2Vz
IHRoYXQgYXJlIGV4cGVjdGVkIGZhaWx1cmVzIGluIFdlYktpdDEuCiAjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>301862</attachid>
            <date>2017-02-16 17:05:43 -0800</date>
            <delta_ts>2017-02-16 21:24:48 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-168347-20170216170306.patch</filename>
            <type>text/plain</type>
            <size>113410</size>
            <attacher name="John Wilander">wilander</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDIxMjQzOSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI4IEBACisyMDE3LTAyLTE2ICBKb2huIFdp
bGFuZGVyICA8d2lsYW5kZXJAYXBwbGUuY29tPgorCisgICAgICAgIFJlc291cmNlIExvYWQgU3Rh
dGlzdGljczogQWRkIGFsdGVybmF0ZSBjbGFzc2lmaWNhdGlvbiBtZXRob2QKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2ODM0NworICAgICAgICA8cmRh
cjovL3Byb2JsZW0vMzAzNTI3OTM+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgVGhpcyBwYXRjaCBvbmx5IGFkZHMgdGVzdCBpbmZyYXN0cnVjdHVyZSBp
biBXZWJDb3JlLgorCisgICAgICAgIFRlc3RzOiBodHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VM
b2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1ub24tcHJldmFsZW50LWJhc2VkLW9uLW1peGVkLXN0
YXRpc3RpY3MuaHRtbAorICAgICAgICAgICAgICAgaHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNl
TG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtbm9uLXByZXZhbGVudC1iYXNlZC1vbi1zdWItZnJh
bWUtdW5kZXItdG9wLWZyYW1lLW9yaWdpbnMuaHRtbAorICAgICAgICAgICAgICAgaHR0cC90ZXN0
cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtbm9uLXByZXZhbGVu
dC1iYXNlZC1vbi1zdWJyZXNvdXJjZS11bmRlci10b3AtZnJhbWUtb3JpZ2lucy5odG1sCisgICAg
ICAgICAgICAgICBodHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFz
c2lmeS1hcy1ub24tcHJldmFsZW50LWJhc2VkLW9uLXN1YnJlc291cmNlLXVuaXF1ZS1yZWRpcmVj
dHMtdG8uaHRtbAorICAgICAgICAgICAgICAgaHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9h
ZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtcHJldmFsZW50LWJhc2VkLW9uLW1peGVkLXN0YXRpc3Rp
Y3MuaHRtbAorICAgICAgICAgICAgICAgaHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0
YXRpc3RpY3MvY2xhc3NpZnktYXMtcHJldmFsZW50LWJhc2VkLW9uLXN1Yi1mcmFtZS11bmRlci10
b3AtZnJhbWUtb3JpZ2lucy5odG1sCisgICAgICAgICAgICAgICBodHRwL3Rlc3RzL2xvYWRpbmcv
cmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1wcmV2YWxlbnQtYmFzZWQtb24tc3Vi
cmVzb3VyY2UtdW5kZXItdG9wLWZyYW1lLW9yaWdpbnMuaHRtbAorICAgICAgICAgICAgICAgaHR0
cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtcHJldmFs
ZW50LWJhc2VkLW9uLXN1YnJlc291cmNlLXVuaXF1ZS1yZWRpcmVjdHMtdG8uaHRtbAorCisgICAg
ICAgICogbG9hZGVyL1Jlc291cmNlTG9hZE9ic2VydmVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OlJlc291cmNlTG9hZE9ic2VydmVyOjpzZXRTdWJmcmFtZVVuZGVyVG9wRnJhbWVPcmlnaW4pOgor
ICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VMb2FkT2JzZXJ2ZXI6OnNldFN1YnJlc291cmNlVW5k
ZXJUb3BGcmFtZU9yaWdpbik6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZUxvYWRPYnNlcnZl
cjo6c2V0U3VicmVzb3VyY2VVbmlxdWVSZWRpcmVjdFRvKToKKyAgICAgICAgKiBsb2FkZXIvUmVz
b3VyY2VMb2FkT2JzZXJ2ZXIuaDoKKwogMjAxNy0wMi0xNiAgU2ltb24gRnJhc2VyICA8c2ltb24u
ZnJhc2VyQGFwcGxlLmNvbT4KIAogICAgICAgICBDbGVhbiB1cCB1c2Ugb2Ygc29tZSBDQUxheWVy
LXJlbGF0ZWQgU1BJCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VMb2FkT2Jz
ZXJ2ZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZUxv
YWRPYnNlcnZlci5jcHAJKHJldmlzaW9uIDIxMjQzOSkKKysrIFNvdXJjZS9XZWJDb3JlL2xvYWRl
ci9SZXNvdXJjZUxvYWRPYnNlcnZlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM3NSw2ICszNzUs
MzMgQEAgdm9pZCBSZXNvdXJjZUxvYWRPYnNlcnZlcjo6Y2xlYXJQcmV2YWxlbgogICAgIHN0YXRp
c3RpY3MuaXNQcmV2YWxlbnRSZXNvdXJjZSA9IGZhbHNlOwogfQogCit2b2lkIFJlc291cmNlTG9h
ZE9ic2VydmVyOjpzZXRTdWJmcmFtZVVuZGVyVG9wRnJhbWVPcmlnaW4oY29uc3QgVVJMJiBzdWJm
cmFtZSwgY29uc3QgVVJMJiB0b3BGcmFtZSkKK3sKKyAgICBpZiAoc3ViZnJhbWUuaXNCbGFua1VS
TCgpIHx8IHN1YmZyYW1lLmlzRW1wdHkoKSB8fCB0b3BGcmFtZS5pc0JsYW5rVVJMKCkgfHwgdG9w
RnJhbWUuaXNFbXB0eSgpKQorICAgICAgICByZXR1cm47CisgICAgCisgICAgYXV0byYgc3RhdGlz
dGljcyA9IG1fc3RvcmUtPmVuc3VyZVJlc291cmNlU3RhdGlzdGljc0ZvclByaW1hcnlEb21haW4o
cHJpbWFyeURvbWFpbihzdWJmcmFtZSkpOworICAgIHN0YXRpc3RpY3Muc3ViZnJhbWVVbmRlclRv
cEZyYW1lT3JpZ2lucy5hZGQocHJpbWFyeURvbWFpbih0b3BGcmFtZSkpOworfQorCit2b2lkIFJl
c291cmNlTG9hZE9ic2VydmVyOjpzZXRTdWJyZXNvdXJjZVVuZGVyVG9wRnJhbWVPcmlnaW4oY29u
c3QgVVJMJiBzdWJyZXNvdXJjZSwgY29uc3QgVVJMJiB0b3BGcmFtZSkKK3sKKyAgICBpZiAoc3Vi
cmVzb3VyY2UuaXNCbGFua1VSTCgpIHx8IHN1YnJlc291cmNlLmlzRW1wdHkoKSB8fCB0b3BGcmFt
ZS5pc0JsYW5rVVJMKCkgfHwgdG9wRnJhbWUuaXNFbXB0eSgpKQorICAgICAgICByZXR1cm47Cisg
ICAgCisgICAgYXV0byYgc3RhdGlzdGljcyA9IG1fc3RvcmUtPmVuc3VyZVJlc291cmNlU3RhdGlz
dGljc0ZvclByaW1hcnlEb21haW4ocHJpbWFyeURvbWFpbihzdWJyZXNvdXJjZSkpOworICAgIHN0
YXRpc3RpY3Muc3VicmVzb3VyY2VVbmRlclRvcEZyYW1lT3JpZ2lucy5hZGQocHJpbWFyeURvbWFp
bih0b3BGcmFtZSkpOworfQorCit2b2lkIFJlc291cmNlTG9hZE9ic2VydmVyOjpzZXRTdWJyZXNv
dXJjZVVuaXF1ZVJlZGlyZWN0VG8oY29uc3QgVVJMJiBzdWJyZXNvdXJjZSwgY29uc3QgVVJMJiBo
b3N0TmFtZVJlZGlyZWN0ZWRUbykKK3sKKyAgICBpZiAoc3VicmVzb3VyY2UuaXNCbGFua1VSTCgp
IHx8IHN1YnJlc291cmNlLmlzRW1wdHkoKSB8fCBob3N0TmFtZVJlZGlyZWN0ZWRUby5pc0JsYW5r
VVJMKCkgfHwgaG9zdE5hbWVSZWRpcmVjdGVkVG8uaXNFbXB0eSgpKQorICAgICAgICByZXR1cm47
CisgICAgCisgICAgYXV0byYgc3RhdGlzdGljcyA9IG1fc3RvcmUtPmVuc3VyZVJlc291cmNlU3Rh
dGlzdGljc0ZvclByaW1hcnlEb21haW4ocHJpbWFyeURvbWFpbihzdWJyZXNvdXJjZSkpOworICAg
IHN0YXRpc3RpY3Muc3VicmVzb3VyY2VVbmlxdWVSZWRpcmVjdHNUby5hZGQocHJpbWFyeURvbWFp
bihob3N0TmFtZVJlZGlyZWN0ZWRUbykpOworfQorCiB2b2lkIFJlc291cmNlTG9hZE9ic2VydmVy
OjpzZXRUaW1lVG9MaXZlVXNlckludGVyYWN0aW9uKGRvdWJsZSBzZWNvbmRzKQogewogICAgIG1f
c3RvcmUtPnNldFRpbWVUb0xpdmVVc2VySW50ZXJhY3Rpb24oc2Vjb25kcyk7CkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VMb2FkT2JzZXJ2ZXIuaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VMb2FkT2JzZXJ2ZXIuaAkocmV2aXNpb24gMjEy
NDM5KQorKysgU291cmNlL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlTG9hZE9ic2VydmVyLmgJKHdv
cmtpbmcgY29weSkKQEAgLTU4LDYgKzU4LDEwIEBAIHB1YmxpYzoKICAgICBXRUJDT1JFX0VYUE9S
VCBib29sIGlzUHJldmFsZW50UmVzb3VyY2UoY29uc3QgVVJMJik7CiAgICAgV0VCQ09SRV9FWFBP
UlQgdm9pZCBjbGVhclByZXZhbGVudFJlc291cmNlKGNvbnN0IFVSTCYpOwogCisgICAgV0VCQ09S
RV9FWFBPUlQgdm9pZCBzZXRTdWJmcmFtZVVuZGVyVG9wRnJhbWVPcmlnaW4oY29uc3QgVVJMJiBz
dWJmcmFtZSwgY29uc3QgVVJMJiB0b3BGcmFtZSk7CisgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBz
ZXRTdWJyZXNvdXJjZVVuZGVyVG9wRnJhbWVPcmlnaW4oY29uc3QgVVJMJiBzdWJyZXNvdXJjZSwg
Y29uc3QgVVJMJiB0b3BGcmFtZSk7CisgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBzZXRTdWJyZXNv
dXJjZVVuaXF1ZVJlZGlyZWN0VG8oY29uc3QgVVJMJiBzdWJyZXNvdXJjZSwgY29uc3QgVVJMJiBo
b3N0TmFtZVJlZGlyZWN0ZWRUbyk7CisKICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHNldFRpbWVU
b0xpdmVVc2VySW50ZXJhY3Rpb24oZG91YmxlIHNlY29uZHMpOwogICAgIFdFQkNPUkVfRVhQT1JU
IHZvaWQgc2V0UmVkdWNlZFRpbWVzdGFtcFJlc29sdXRpb24oZG91YmxlIHNlY29uZHMpOwogCklu
ZGV4OiBTb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktp
dDIvQ2hhbmdlTG9nCShyZXZpc2lvbiAyMTI0MzkpCisrKyBTb3VyY2UvV2ViS2l0Mi9DaGFuZ2VM
b2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSw3MyBAQAorMjAxNy0wMi0xNiAgSm9obiBXaWxh
bmRlciAgPHdpbGFuZGVyQGFwcGxlLmNvbT4KKworICAgICAgICBSZXNvdXJjZSBMb2FkIFN0YXRp
c3RpY3M6IEFkZCBhbHRlcm5hdGUgY2xhc3NpZmljYXRpb24gbWV0aG9kCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjgzNDcKKyAgICAgICAgPHJkYXI6
Ly9wcm9ibGVtLzMwMzUyNzkzPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIFRoaXMgcGF0Y2ggYWRkcyBhIENvcmVQcmVkaWN0aW9uLWJhc2VkIGNsYXNz
aWZpZXIgdG8gdGhlIFdlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZS4KKyAgICAgICAgVGhl
IENvcmVQcmVkaWN0aW9uIGZyYW1ld29yayBpcyBpbnRyb2R1Y2VkIGFzIGEgZGVwZW5kZW5jeSBm
b3IgbWFjT1MuIFRoZSBpbnRlbnRpb24gaXMgCisgICAgICAgIHRvIHVzZSBDb3JlUHJlZGljdGlv
biBvbiBpT1MgdG9vIGJ1dCBFV1MgY3VycmVudGx5IGRvZXNuJ3QgYnVpbGQgd2l0aCBhY2Nlc3Mg
dG8gcHJpdmF0ZQorICAgICAgICBmcmFtZXdvcmtzIHNvIGl0J3MgbWFya2VkIGFzIGEgRklYTUUu
IFRoZSBwYXRjaCBhbHNvIGFkZHMgZnVuY3Rpb25zIHRvIHN1cHBvcnQgbGF5b3V0IAorICAgICAg
ICB0ZXN0cyBvZiB0aGUgZmVhdHVyZS4KKworICAgICAgICAqIENvbmZpZ3VyYXRpb25zL0Jhc2VU
YXJnZXQueGNjb25maWc6CisgICAgICAgICogQ29uZmlndXJhdGlvbnMvV2ViS2l0LnhjY29uZmln
OgorICAgICAgICAgICAgQWRkZWQgZGVwZW5kZW5jeSBvbiBDb3JlUHJlZGljdGlvbi4KKyAgICAg
ICAgKiBQbGF0Zm9ybS9jbGFzc2lmaWVyOiBBZGRlZC4KKyAgICAgICAgKiBQbGF0Zm9ybS9jbGFz
c2lmaWVyL1Jlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyLmg6IEFkZGVkLgorICAgICAg
ICAoV2ViS2l0OjpSZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllcjo6UmVzb3VyY2VMb2Fk
U3RhdGlzdGljc0NsYXNzaWZpZXIpOgorICAgICAgICAgICAgUHVsbHMgaW4gdGhlIENvY29hLXNw
ZWNpZmljIGNsYXNzaWZpZXIgZm9yIENvY29hLWJhc2VkIHBsYXRmb3Jtcy4KKyAgICAgICAgKiBQ
bGF0Zm9ybS9jbGFzc2lmaWVyL1Jlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQmFzZS5j
cHA6IEFkZGVkLgorICAgICAgICAoV2ViS2l0OjpSZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3Np
ZmllckJhc2U6Omhhc1ByZXZhbGVudFJlc291cmNlQ2hhcmFjdGVyaXN0aWNzKToKKyAgICAgICAg
KFdlYktpdDo6UmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXJCYXNlOjpjbGFzc2lmeSk6
CisgICAgICAgICogUGxhdGZvcm0vY2xhc3NpZmllci9SZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xh
c3NpZmllckJhc2UuaDogQWRkZWQuCisgICAgICAgIChXZWJLaXQ6OlJlc291cmNlTG9hZFN0YXRp
c3RpY3NDbGFzc2lmaWVyQmFzZTo6UmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXJCYXNl
KToKKyAgICAgICAgKFdlYktpdDo6UmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXJCYXNl
Ojp+UmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXJCYXNlKToKKyAgICAgICAgICAgIFRo
ZSBkZWZhdWx0IGNsYXNzaWZpZXIgbm93IGxpdmVzIGluIFJlc291cmNlTG9hZFN0YXRpc3RpY3ND
bGFzc2lmaWVyQmFzZS4KKyAgICAgICAgKiBQbGF0Zm9ybS9jbGFzc2lmaWVyL2NvY29hOiBBZGRl
ZC4KKyAgICAgICAgKiBQbGF0Zm9ybS9jbGFzc2lmaWVyL2NvY29hL1Jlc291cmNlTG9hZFN0YXRp
c3RpY3NDbGFzc2lmaWVyQ29jb2EuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYktpdDo6UmVzb3Vy
Y2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXI6OmNsYXNzaWZ5KToKKyAgICAgICAgKFdlYktpdDo6
UmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXI6OnN0b3JhZ2VQYXRoKToKKyAgICAgICAg
KFdlYktpdDo6UmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXI6OnNob3VsZFVzZUNvcmVQ
cmVkaWN0aW9uKToKKyAgICAgICAgKiBQbGF0Zm9ybS9jbGFzc2lmaWVyL2NvY29hL1Jlc291cmNl
TG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQ29jb2EuaDogQWRkZWQuCisgICAgICAgIChXZWJLaXQ6
OlJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyOjpSZXNvdXJjZUxvYWRTdGF0aXN0aWNz
Q2xhc3NpZmllcik6CisgICAgICAgICAgICBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmll
ckNvY29hIGhvc3RzIHRoZSBDb3JlUHJlZGljdGlvbi1iYXNlZAorICAgICAgICAgICAgY2xhc3Np
Zmllci4KKyAgICAgICAgKiBSZXNvdXJjZXMvUmVzb3VyY2VMb2FkU3RhdGlzdGljczogQWRkZWQu
CisgICAgICAgICogUmVzb3VyY2VzL1Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY29yZVByZWRpY3Rp
b25fbW9kZWw6IEFkZGVkLgorICAgICAgICAgICAgTW9kZWwgZmlsZSB0byBsb2FkIGludG8gQ29y
ZVByZWRpY3Rpb24uCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9DL1dLUmVzb3VyY2VMb2FkU3Rh
dGlzdGljc01hbmFnZXIuY3BwOgorICAgICAgICAoV0tSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFu
YWdlclNldFN1YmZyYW1lVW5kZXJUb3BGcmFtZU9yaWdpbik6CisgICAgICAgIChXS1Jlc291cmNl
TG9hZFN0YXRpc3RpY3NNYW5hZ2VyU2V0U3VicmVzb3VyY2VVbmRlclRvcEZyYW1lT3JpZ2luKToK
KyAgICAgICAgKFdLUmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFnZXJTZXRTdWJyZXNvdXJjZVVu
aXF1ZVJlZGlyZWN0VG8pOgorICAgICAgICAgICAgVGVzdCBpbmZyYXN0cnVjdHVyZS4KKyAgICAg
ICAgKiBVSVByb2Nlc3MvQVBJL0MvV0tSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdlci5oOgor
ICAgICAgICAqIFVJUHJvY2Vzcy9XZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdlci5jcHA6
CisgICAgICAgIChXZWJLaXQ6OldlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VyOjpzZXRT
dWJmcmFtZVVuZGVyVG9wRnJhbWVPcmlnaW4pOgorICAgICAgICAoV2ViS2l0OjpXZWJSZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzTWFuYWdlcjo6c2V0U3VicmVzb3VyY2VVbmRlclRvcEZyYW1lT3JpZ2lu
KToKKyAgICAgICAgKFdlYktpdDo6V2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFnZXI6OnNl
dFN1YnJlc291cmNlVW5pcXVlUmVkaXJlY3RUbyk6CisgICAgICAgICAgICBUZXN0IGluZnJhc3Ry
dWN0dXJlLgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFu
YWdlci5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3Rv
cmUuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmU6
OldlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZSk6CisgICAgICAgICAgICBSZW5hbWVkIG1f
c3RvcmFnZVBhdGggdG8gbV9zdGF0aXN0aWNzU3RvcmFnZVBhdGggZm9yIGNsYXJpdHkuCisgICAg
ICAgIChXZWJLaXQ6OldlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZTo6Y2xhc3NpZnlSZXNv
dXJjZSk6CisgICAgICAgICAgICBOb3cgY2FsbHMgdGhlIGNsYXNzaWZpZXIgdGhyb3VnaCBpdHMg
UmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXIKKyAgICAgICAgICAgIG1lbWJlciB2YXJp
YWJsZS4KKyAgICAgICAgKFdlYktpdDo6V2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlOjpw
ZXJzaXN0ZW50U3RvcmFnZVBhdGgpOgorICAgICAgICAgICAgUmVuYW1lZCBtX3N0b3JhZ2VQYXRo
IHRvIG1fc3RhdGlzdGljc1N0b3JhZ2VQYXRoIGZvciBjbGFyaXR5LgorICAgICAgICAoV2ViS2l0
OjpXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmU6OndyaXRlRW5jb2RlclRvRGlzayk6Cisg
ICAgICAgICAgICBSZW5hbWVkIG1fc3RvcmFnZVBhdGggdG8gbV9zdGF0aXN0aWNzU3RvcmFnZVBh
dGggZm9yIGNsYXJpdHkuCisgICAgICAgIChXZWJLaXQ6OldlYlJlc291cmNlTG9hZFN0YXRpc3Rp
Y3NTdG9yZTo6aGFzUHJldmFsZW50UmVzb3VyY2VDaGFyYWN0ZXJpc3RpY3MpOiBEZWxldGVkLgor
ICAgICAgICAgICAgTW92ZWQgaW50byBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllckJh
c2UuCisgICAgICAgICogVUlQcm9jZXNzL1dlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZS5o
OgorICAgICAgICAgICAgUmVuYW1lZCBtX3N0b3JhZ2VQYXRoIHRvIG1fc3RhdGlzdGljc1N0b3Jh
Z2VQYXRoIGZvciBjbGFyaXR5LgorICAgICAgICAqIFdlYktpdDIueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvajoKKyAgICAgICAgICAgIEFkZGVkIHRoZSBuZXcgY2xhc3NpZmllciBzb3VyY2UgZmls
ZXMgdW5kZXIgUGxhdGZvcm0vY2xhc3NpZmllciBhbmQgdGhlCisgICAgICAgICAgICBjb3JlUHJl
ZGljdGlvbl9tb2RlbCBmaWxlIHVuZGVyIFJlc291cmNlcy9SZXNvdXJjZUxvYWRTdGF0aXN0aWNz
LgorCiAyMDE3LTAyLTE2ICBFcmljIENhcmxzb24gIDxlcmljLmNhcmxzb25AYXBwbGUuY29tPgog
CiAgICAgICAgIEFkZCBXZWJSVEMgYXMgYW4gb2ZmLWJ5LWRlZmF1bHQgZXhwZXJpbWVudGFsIGZl
YXR1cmUgbWVudSBpdGVtLgpJbmRleDogU291cmNlL1dlYktpdDIvQ29uZmlndXJhdGlvbnMvQmFz
ZVRhcmdldC54Y2NvbmZpZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9Db25maWd1cmF0
aW9ucy9CYXNlVGFyZ2V0LnhjY29uZmlnCShyZXZpc2lvbiAyMTI0MzkpCisrKyBTb3VyY2UvV2Vi
S2l0Mi9Db25maWd1cmF0aW9ucy9CYXNlVGFyZ2V0LnhjY29uZmlnCSh3b3JraW5nIGNvcHkpCkBA
IC0zMiw3ICszMiw3IEBAIFdLX1BSSVZBVEVfRlJBTUVXT1JLU19ESVJfW3Nkaz1pcGhvbmVvcyoK
IFdLX1BSSVZBVEVfRlJBTUVXT1JLU19ESVJfaXBob25lb3NfWUVTID0gJChTUkNST09UKS8uLi8u
Li9XZWJLaXRMaWJyYXJpZXMvV2ViS2l0UHJpdmF0ZUZyYW1ld29ya1N0dWJzL2lPUy8kKFdLX1RB
UkdFVF9JT1NfVkVSU0lPTl9NQUpPUik7CiBXS19QUklWQVRFX0ZSQU1FV09SS1NfRElSX2lwaG9u
ZW9zX05PID0gJChQUk9EVUNUSU9OX0ZSQU1FV09SS1NfRElSKTsKIAotRlJBTUVXT1JLX1NFQVJD
SF9QQVRIU19iYXNlID0gIiQoVU1CUkVMTEFfRlJBTUVXT1JLU19ESVIpIiAkKEZSQU1FV09SS19T
RUFSQ0hfUEFUSFMpOworRlJBTUVXT1JLX1NFQVJDSF9QQVRIU19iYXNlID0gIiQoVU1CUkVMTEFf
RlJBTUVXT1JLU19ESVIpIiAvU3lzdGVtL0xpYnJhcnkvUHJpdmF0ZUZyYW1ld29ya3MgJChGUkFN
RVdPUktfU0VBUkNIX1BBVEhTKTsKIEZSQU1FV09SS19TRUFSQ0hfUEFUSFNbc2RrPWlwaG9uZSpd
ID0gJChGUkFNRVdPUktfU0VBUkNIX1BBVEhTX2Jhc2UpICQoV0tfUFJJVkFURV9GUkFNRVdPUktT
X0RJUik7CiBGUkFNRVdPUktfU0VBUkNIX1BBVEhTID0gJChGUkFNRVdPUktfU0VBUkNIX1BBVEhT
X2Jhc2UpOwogCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9Db25maWd1cmF0aW9ucy9XZWJLaXQueGNj
b25maWcKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvQ29uZmlndXJhdGlvbnMvV2ViS2l0
LnhjY29uZmlnCShyZXZpc2lvbiAyMTI0MzkpCisrKyBTb3VyY2UvV2ViS2l0Mi9Db25maWd1cmF0
aW9ucy9XZWJLaXQueGNjb25maWcJKHdvcmtpbmcgY29weSkKQEAgLTM0LDEyICszNCwxNCBAQCBN
T0RVTEVNQVBfRklMRVtzZGs9aXBob25lKl09TW9kdWxlcy9pT1MuCiBJTlNUQUxMX1BBVEggPSAk
KFdFQktJVF9GUkFNRVdPUktTX0RJUik7CiBEWUxJQl9JTlNUQUxMX05BTUVfQkFTRSA9ICQoTk9S
TUFMX1dFQktJVF9GUkFNRVdPUktTX0RJUik7CiAKLUZSQU1FV09SS19BTkRfTElCUkFSWV9MREZM
QUdTX0JBU0VfaW9zID0gLWxvYmpjIC1mcmFtZXdvcmsgQXNzZXJ0aW9uU2VydmljZXMgLWZyYW1l
d29yayBDRk5ldHdvcmsgLWZyYW1ld29yayBDb3JlRm91bmRhdGlvbiAtZnJhbWV3b3JrIENvcmVH
cmFwaGljcyAtZnJhbWV3b3JrIENvcmVQREYgLWZyYW1ld29yayBDb3JlVGV4dCAtZnJhbWV3b3Jr
IEZvdW5kYXRpb24gLWZyYW1ld29yayBHcmFwaGljc1NlcnZpY2VzIC1mcmFtZXdvcmsgSW1hZ2VJ
TyAtZnJhbWV3b3JrIFVJS2l0IC1mcmFtZXdvcmsgT3BlbkdMRVMgLWZyYW1ld29yayBNb2JpbGVD
b3JlU2VydmljZXMgLWxNb2JpbGVHZXN0YWx0ICQoRlJBTUVXT1JLX0FORF9MSUJSQVJZX0xERkxB
R1NfUExBVEZPUk1fJChQTEFURk9STV9OQU1FKSk7CitGUkFNRVdPUktfQU5EX0xJQlJBUllfTERG
TEFHU19CQVNFX2lvcyA9IC1sb2JqYyAtZnJhbWV3b3JrIEFzc2VydGlvblNlcnZpY2VzIC1mcmFt
ZXdvcmsgQ0ZOZXR3b3JrIC1mcmFtZXdvcmsgQ29yZUZvdW5kYXRpb24gLWZyYW1ld29yayBDb3Jl
R3JhcGhpY3MgLWZyYW1ld29yayBDb3JlUERGIC1mcmFtZXdvcmsgQ29yZVByZWRpY3Rpb24gLWZy
YW1ld29yayBDb3JlVGV4dCAtZnJhbWV3b3JrIEZvdW5kYXRpb24gLWZyYW1ld29yayBHcmFwaGlj
c1NlcnZpY2VzIC1mcmFtZXdvcmsgSW1hZ2VJTyAtZnJhbWV3b3JrIFVJS2l0IC1mcmFtZXdvcmsg
T3BlbkdMRVMgLWZyYW1ld29yayBNb2JpbGVDb3JlU2VydmljZXMgLWxNb2JpbGVHZXN0YWx0ICQo
RlJBTUVXT1JLX0FORF9MSUJSQVJZX0xERkxBR1NfUExBVEZPUk1fJChQTEFURk9STV9OQU1FKSk7
CiBGUkFNRVdPUktfQU5EX0xJQlJBUllfTERGTEFHU1tzZGs9aXBob25lb3MqXSA9ICQoRlJBTUVX
T1JLX0FORF9MSUJSQVJZX0xERkxBR1NfQkFTRV9pb3MpIC1mcmFtZXdvcmsgSU9TdXJmYWNlOwog
RlJBTUVXT1JLX0FORF9MSUJSQVJZX0xERkxBR1Nbc2RrPWlwaG9uZXNpbXVsYXRvcipdID0gJChG
UkFNRVdPUktfQU5EX0xJQlJBUllfTERGTEFHU19CQVNFX2lvcyk7CiBGUkFNRVdPUktfQU5EX0xJ
QlJBUllfTERGTEFHU19QTEFURk9STV9pcGhvbmVvcyA9IDsKIEZSQU1FV09SS19BTkRfTElCUkFS
WV9MREZMQUdTX1BMQVRGT1JNX2lwaG9uZXNpbXVsYXRvciA9IDsKLUZSQU1FV09SS19BTkRfTElC
UkFSWV9MREZMQUdTW3Nkaz1tYWNvc3gqXSA9IC1mcmFtZXdvcmsgQXBwbGljYXRpb25TZXJ2aWNl
cyAtZnJhbWV3b3JrIENhcmJvbiAtZnJhbWV3b3JrIENvY29hIC1mcmFtZXdvcmsgQ29yZVNlcnZp
Y2VzIC1mcmFtZXdvcmsgSU9LaXQgLWZyYW1ld29yayBDb3JlQXVkaW8gLWZyYW1ld29yayBJT1N1
cmZhY2UgLWZyYW1ld29yayBPcGVuR0w7CitGUkFNRVdPUktfQU5EX0xJQlJBUllfTERGTEFHU1tz
ZGs9bWFjb3N4Kl0gPSAtZnJhbWV3b3JrIEFwcGxpY2F0aW9uU2VydmljZXMgLWZyYW1ld29yayBD
YXJib24gLWZyYW1ld29yayBDb2NvYSAtZnJhbWV3b3JrIENvcmVTZXJ2aWNlcyAtZnJhbWV3b3Jr
IElPS2l0IC1mcmFtZXdvcmsgQ29yZUF1ZGlvIC1mcmFtZXdvcmsgSU9TdXJmYWNlIC1mcmFtZXdv
cmsgT3BlbkdMICQoRlJBTUVXT1JLX0FORF9MSUJSQVJZX0xERkxBR1NfbWFjb3N4XyQoVEFSR0VU
X01BQ19PU19YX1ZFUlNJT05fTUFKT1IpKTsKK0ZSQU1FV09SS19BTkRfTElCUkFSWV9MREZMQUdT
X21hY29zeF8xMDEyMDAgPSAtZnJhbWV3b3JrIENvcmVQcmVkaWN0aW9uOworRlJBTUVXT1JLX0FO
RF9MSUJSQVJZX0xERkxBR1NfbWFjb3N4XzEwMTMwMCA9IC1mcmFtZXdvcmsgQ29yZVByZWRpY3Rp
b247CiAKIC8vIFByZXZlbnQgQysrIHN0YW5kYXJkIGxpYnJhcnkgb3BlcmF0b3IgbmV3LCBkZWxl
dGUgYW5kIHRoZWlyIHJlbGF0ZWQgZXhjZXB0aW9uIHR5cGVzIGZyb20gYmVpbmcgZXhwb3J0ZWQg
YXMgd2VhayBzeW1ib2xzLgogVU5FWFBPUlRFRF9TWU1CT0xfTERGTEFHUyA9IC1XbCwtdW5leHBv
cnRlZF9zeW1ib2wgLVdsLF9fWlRJU3Q5YmFkX2FsbG9jIC1XbCwtdW5leHBvcnRlZF9zeW1ib2wg
LVdsLF9fWlRJU3Q5ZXhjZXB0aW9uIC1XbCwtdW5leHBvcnRlZF9zeW1ib2wgLVdsLF9fWlRTU3Q5
YmFkX2FsbG9jIC1XbCwtdW5leHBvcnRlZF9zeW1ib2wgLVdsLF9fWlRTU3Q5ZXhjZXB0aW9uIC1X
bCwtdW5leHBvcnRlZF9zeW1ib2wgLVdsLF9fWmRsUHZTXyAtV2wsLXVuZXhwb3J0ZWRfc3ltYm9s
IC1XbCxfX1pud21QdiAtV2wsLXVuZXhwb3J0ZWRfc3ltYm9sIC1XbCxfX1pud20gLVdsLC11bmV4
cG9ydGVkX3N5bWJvbCwgLVdsLF9fWk5TdDNfXzE4ZnVuY3Rpb25JRnZON1dlYkNvcmUxMlBvbGlj
eUFjdGlvbkVFRUMyRU9TNF8gLVdsLC11bmV4cG9ydGVkX3N5bWJvbCwgLVdsLF9fWk5TdDNfXzE4
ZnVuY3Rpb25JRnZON1dlYkNvcmUxMlBvbGljeUFjdGlvbkVFRUMxRU9TNF8gLVdsLC11bmV4cG9y
dGVkX3N5bWJvbCwgLVdsLF9fWk5TdDNfXzE4ZnVuY3Rpb25JRnZON1dlYkNvcmUxMlBvbGljeUFj
dGlvbkVFRWFTRURuIC1XbCwtdW5leHBvcnRlZF9zeW1ib2wsIC1XbCxfX1pOS1N0M19fMThmdW5j
dGlvbklGdk43V2ViQ29yZTEyUG9saWN5QWN0aW9uRUVFY2xFUzJfIC1XbCwtdW5leHBvcnRlZF9z
eW1ib2wsIC1XbCxfX1pOU3QzX18xOGZ1bmN0aW9uSUZ2TjdXZWJDb3JlMTJQb2xpY3lBY3Rpb25F
RUU0c3dhcEVSUzRfIC1XbCwtdW5leHBvcnRlZF9zeW1ib2wsIC1XbCxfX1pOU3QzX18xOGZ1bmN0
aW9uSUZ2TjdXZWJDb3JlMTJQb2xpY3lBY3Rpb25FRUVDMUVSS1M0XyAtV2wsLXVuZXhwb3J0ZWRf
c3ltYm9sLCAtV2wsX19aTlN0M19fMThmdW5jdGlvbklGdk43V2ViQ29yZTEyUG9saWN5QWN0aW9u
RUVFQzJFUktTNF8gLVdsLC11bmV4cG9ydGVkX3N5bWJvbCwgLVdsLF9fWk5TdDNfXzE4ZnVuY3Rp
b25JRnZON1dlYkNvcmUxMlBvbGljeUFjdGlvbkVFRUQxRXYgLVdsLC11bmV4cG9ydGVkX3N5bWJv
bCwgLVdsLF9fWk5TdDNfXzE4ZnVuY3Rpb25JRnZON1dlYkNvcmUxMlBvbGljeUFjdGlvbkVFRUQy
RXYgLVdsLC11bmV4cG9ydGVkX3N5bWJvbCwgLVdsLF9fWk5TdDNfXzE4ZnVuY3Rpb25JRnZON1dl
YkNvcmUxMlBvbGljeUFjdGlvbkVFRWFTRVJLUzRfIC1XbCwtdW5leHBvcnRlZF9zeW1ib2wsIC1X
bCxfX1pUVk5TdDNfXzExN2JhZF9mdW5jdGlvbl9jYWxsRTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQy
L1BsYXRmb3JtL2NsYXNzaWZpZXIvUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXIuaAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9jbGFzc2lmaWVyL1Jlc291cmNl
TG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyLmgJKG5vbmV4aXN0ZW50KQorKysgU291cmNlL1dlYktp
dDIvUGxhdGZvcm0vY2xhc3NpZmllci9SZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllci5o
CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNTUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIw
MTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBg
YEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBB
UkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJ
QlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lO
RVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9S
IFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9u
Y2UKKworI2luY2x1ZGUgPHd0Zi9QbGF0Zm9ybS5oPgorCisjaWYgUExBVEZPUk0oQ09DT0EpCisj
aW5jbHVkZSAiUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXJDb2NvYS5oIgorI2Vsc2UK
KworI2luY2x1ZGUgIlJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQmFzZS5oIgorCitu
YW1lc3BhY2UgV2ViQ29yZSB7CitzdHJ1Y3QgUmVzb3VyY2VMb2FkU3RhdGlzdGljczsKK30KKwor
bmFtZXNwYWNlIFdlYktpdCB7CisKK2NsYXNzIFJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lm
aWVyIDogcHVibGljIFJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQmFzZSB7CisKK3B1
YmxpYzoKKyAgICBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllcigpIHsgfQorICAgIGJv
b2wgaGFzUHJldmFsZW50UmVzb3VyY2VDaGFyYWN0ZXJpc3RpY3MoY29uc3QgV2ViQ29yZTo6UmVz
b3VyY2VMb2FkU3RhdGlzdGljcyYgcmVzb3VyY2VTdGF0aXN0aWMpOworCitwcml2YXRlOgorICAg
IGJvb2wgY2xhc3NpZnkoY29uc3QgdW5zaWduZWQsIGNvbnN0IHVuc2lnbmVkLCBjb25zdCB1bnNp
Z25lZCk7CisKK307CisKK30KKworI2VuZGlmCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9QbGF0Zm9y
bS9jbGFzc2lmaWVyL1Jlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQmFzZS5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvUGxhdGZvcm0vY2xhc3NpZmllci9SZXNvdXJjZUxv
YWRTdGF0aXN0aWNzQ2xhc3NpZmllckJhc2UuY3BwCShub25leGlzdGVudCkKKysrIFNvdXJjZS9X
ZWJLaXQyL1BsYXRmb3JtL2NsYXNzaWZpZXIvUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZp
ZXJCYXNlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDYwIEBACisvKgorICogQ29weXJp
Z2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
CisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAq
CisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05U
UklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAq
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1Ig
SVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRT
OyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
IFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKwor
I2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIlJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFz
c2lmaWVyQmFzZS5oIgorCisjaW5jbHVkZSA8V2ViQ29yZS9SZXNvdXJjZUxvYWRTdGF0aXN0aWNz
Lmg+CisKK3VzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOworCituYW1lc3BhY2UgV2ViS2l0IHsKKwor
c3RhdGljIGNvbnN0IGF1dG8gZmVhdHVyZVZlY3Rvckxlbmd0aFRocmVzaG9sZCA9IDM7Citib29s
IFJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQmFzZTo6aGFzUHJldmFsZW50UmVzb3Vy
Y2VDaGFyYWN0ZXJpc3RpY3MoY29uc3QgUmVzb3VyY2VMb2FkU3RhdGlzdGljcyYgcmVzb3VyY2VT
dGF0aXN0aWMpCit7CisgICAgYXV0byBzdWJyZXNvdXJjZVVuZGVyVG9wRnJhbWVPcmlnaW5zQ291
bnQgPSByZXNvdXJjZVN0YXRpc3RpYy5zdWJyZXNvdXJjZVVuZGVyVG9wRnJhbWVPcmlnaW5zLnNp
emUoKTsKKyAgICBhdXRvIHN1YnJlc291cmNlVW5pcXVlUmVkaXJlY3RzVG9Db3VudCA9IHJlc291
cmNlU3RhdGlzdGljLnN1YnJlc291cmNlVW5pcXVlUmVkaXJlY3RzVG8uc2l6ZSgpOworICAgIGF1
dG8gc3ViZnJhbWVVbmRlclRvcEZyYW1lT3JpZ2luc0NvdW50ID0gcmVzb3VyY2VTdGF0aXN0aWMu
c3ViZnJhbWVVbmRlclRvcEZyYW1lT3JpZ2lucy5zaXplKCk7CisgICAgCisgICAgaWYgKCFzdWJy
ZXNvdXJjZVVuZGVyVG9wRnJhbWVPcmlnaW5zQ291bnQKKyAgICAgICAgJiYgIXN1YnJlc291cmNl
VW5pcXVlUmVkaXJlY3RzVG9Db3VudAorICAgICAgICAmJiAhc3ViZnJhbWVVbmRlclRvcEZyYW1l
T3JpZ2luc0NvdW50KQorICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgCisgICAgaWYgKHN1YnJl
c291cmNlVW5kZXJUb3BGcmFtZU9yaWdpbnNDb3VudCA+IGZlYXR1cmVWZWN0b3JMZW5ndGhUaHJl
c2hvbGQKKyAgICAgICAgfHwgc3VicmVzb3VyY2VVbmlxdWVSZWRpcmVjdHNUb0NvdW50ID4gZmVh
dHVyZVZlY3Rvckxlbmd0aFRocmVzaG9sZAorICAgICAgICB8fCBzdWJmcmFtZVVuZGVyVG9wRnJh
bWVPcmlnaW5zQ291bnQgPiBmZWF0dXJlVmVjdG9yTGVuZ3RoVGhyZXNob2xkKQorICAgICAgICBy
ZXR1cm4gdHJ1ZTsKKworICAgIHJldHVybiBjbGFzc2lmeShzdWJyZXNvdXJjZVVuZGVyVG9wRnJh
bWVPcmlnaW5zQ291bnQsIHN1YnJlc291cmNlVW5pcXVlUmVkaXJlY3RzVG9Db3VudCwgc3ViZnJh
bWVVbmRlclRvcEZyYW1lT3JpZ2luc0NvdW50KTsKK30KKworYm9vbCBSZXNvdXJjZUxvYWRTdGF0
aXN0aWNzQ2xhc3NpZmllckJhc2U6OmNsYXNzaWZ5KGNvbnN0IHVuc2lnbmVkIGEsIGNvbnN0IHVu
c2lnbmVkIGIsIGNvbnN0IHVuc2lnbmVkIGMpCit7CisgICAgcmV0dXJuIHNxcnQoYSAqIGEgKyBi
ICogYiArIGMgKiBjKSA+IGZlYXR1cmVWZWN0b3JMZW5ndGhUaHJlc2hvbGQ7Cit9CisgICAgCit9
CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9jbGFzc2lmaWVyL1Jlc291cmNlTG9hZFN0
YXRpc3RpY3NDbGFzc2lmaWVyQmFzZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1Bs
YXRmb3JtL2NsYXNzaWZpZXIvUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXJCYXNlLmgJ
KG5vbmV4aXN0ZW50KQorKysgU291cmNlL1dlYktpdDIvUGxhdGZvcm0vY2xhc3NpZmllci9SZXNv
dXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllckJhc2UuaAkod29ya2luZyBjb3B5KQpAQCAtMCww
ICsxLDQzIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoK
KyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBP
UgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4K
KyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0Ug
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKK25hbWVzcGFjZSBXZWJDb3Jl
IHsKK3N0cnVjdCBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzOworfQorCituYW1lc3BhY2UgV2ViS2l0
IHsKKworY2xhc3MgUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXJCYXNlIHsKK3B1Ymxp
YzoKKyAgICBib29sIGhhc1ByZXZhbGVudFJlc291cmNlQ2hhcmFjdGVyaXN0aWNzKGNvbnN0IFdl
YkNvcmU6OlJlc291cmNlTG9hZFN0YXRpc3RpY3MmIHJlc291cmNlU3RhdGlzdGljKTsKK3Byb3Rl
Y3RlZDoKKyAgICBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllckJhc2UoKSB7IH0KKyAg
ICB2aXJ0dWFsIH5SZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllckJhc2UoKSB7IH0KKyAg
ICB2aXJ0dWFsIGJvb2wgY2xhc3NpZnkoY29uc3QgdW5zaWduZWQsIGNvbnN0IHVuc2lnbmVkLCBj
b25zdCB1bnNpZ25lZCk7Cit9OworCit9CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9j
bGFzc2lmaWVyL2NvY29hL1Jlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQ29jb2EuY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL2NsYXNzaWZpZXIvY29jb2Ev
UmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXJDb2NvYS5jcHAJKG5vbmV4aXN0ZW50KQor
KysgU291cmNlL1dlYktpdDIvUGxhdGZvcm0vY2xhc3NpZmllci9jb2NvYS9SZXNvdXJjZUxvYWRT
dGF0aXN0aWNzQ2xhc3NpZmllckNvY29hLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDEx
MyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAx
LiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAq
ICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBM
RSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNT
IE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisg
KiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBG
T1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBT
SEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAq
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBS
T0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJSZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllckNvY29hLmgiCisKKyNpbmNsdWRlICJMb2dnaW5nLmgi
CisKK25hbWVzcGFjZSBXZWJLaXQgeworCitib29sIFJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFz
c2lmaWVyOjpjbGFzc2lmeShjb25zdCB1bnNpZ25lZCBzdWJyZXNvdXJjZVVuZGVyVG9wRnJhbWVP
cmlnaW5zQ291bnQsIGNvbnN0IHVuc2lnbmVkIHN1YnJlc291cmNlVW5pcXVlUmVkaXJlY3RzVG9D
b3VudCwgY29uc3QgdW5zaWduZWQgc3ViZnJhbWVVbmRlclRvcEZyYW1lT3JpZ2luc0NvdW50KQor
eworICAgIGlmICghc2hvdWxkVXNlQ29yZVByZWRpY3Rpb24oKSkKKyAgICAgICAgcmV0dXJuIFJl
c291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQmFzZTo6Y2xhc3NpZnkoc3VicmVzb3VyY2VV
bmRlclRvcEZyYW1lT3JpZ2luc0NvdW50LCBzdWJyZXNvdXJjZVVuaXF1ZVJlZGlyZWN0c1RvQ291
bnQsIHN1YmZyYW1lVW5kZXJUb3BGcmFtZU9yaWdpbnNDb3VudCk7CisjaWZkZWYgSEFWRV9DT1JF
X1BSRURJQ1RJT04KKyAgICBWZWN0b3I8dW5zaWduZWQ+IG5vblplcm9GZWF0dXJlczsKKyAgICBW
ZWN0b3I8dW5zaWduZWQ+IGluZGljZXM7CisKKyAgICBpZiAoc3VicmVzb3VyY2VVbmRlclRvcEZy
YW1lT3JpZ2luc0NvdW50KSB7CisgICAgICAgIG5vblplcm9GZWF0dXJlcy5hcHBlbmQoc3VicmVz
b3VyY2VVbmRlclRvcEZyYW1lT3JpZ2luc0NvdW50KTsKKyAgICAgICAgaW5kaWNlcy5hcHBlbmQo
MSk7CisgICAgfQorICAgIGlmIChzdWJyZXNvdXJjZVVuaXF1ZVJlZGlyZWN0c1RvQ291bnQpIHsK
KyAgICAgICAgbm9uWmVyb0ZlYXR1cmVzLmFwcGVuZChzdWJyZXNvdXJjZVVuaXF1ZVJlZGlyZWN0
c1RvQ291bnQpOworICAgICAgICBpbmRpY2VzLmFwcGVuZCgyKTsKKyAgICB9CisgICAgaWYgKHN1
YmZyYW1lVW5kZXJUb3BGcmFtZU9yaWdpbnNDb3VudCkgeworICAgICAgICBub25aZXJvRmVhdHVy
ZXMuYXBwZW5kKHN1YmZyYW1lVW5kZXJUb3BGcmFtZU9yaWdpbnNDb3VudCk7CisgICAgICAgIGlu
ZGljZXMuYXBwZW5kKDMpOworICAgIH0KKworICAgIHN2bV9ub2RlKiBleGFtcGxlVmVjdG9yID0g
bmV3IHN2bV9ub2RlW25vblplcm9GZWF0dXJlcy5zaXplKCkgKyAxXTsKKyAgICBmb3IgKHNpemVf
dCBpID0gMDsgaSA8IG5vblplcm9GZWF0dXJlcy5zaXplKCk7IGkrKykgeworICAgICAgICBleGFt
cGxlVmVjdG9yW2ldLmluZGV4ID0gaW5kaWNlcy5hdChpKTsKKyAgICAgICAgZXhhbXBsZVZlY3Rv
cltpXS52YWx1ZSA9IG5vblplcm9GZWF0dXJlcy5hdChpKTsKKyAgICB9CisgICAgLy8gQWRkIHRl
cm1pbmF0aW9uIG5vZGUgd2l0aCBpbmRleCAtMS4KKyAgICBleGFtcGxlVmVjdG9yW25vblplcm9G
ZWF0dXJlcy5zaXplKCldLmluZGV4ID0gLTE7CisgICAgZXhhbXBsZVZlY3Rvcltub25aZXJvRmVh
dHVyZXMuc2l6ZSgpXS52YWx1ZSA9IC0xOworCisgICAgaW50IGNsYXNzaWZpY2F0aW9uOworICAg
IGRvdWJsZSBzY29yZTsKKyAgICBjbGFzc2lmaWNhdGlvbiA9IHN2bV9wcmVkaWN0X3ZhbHVlcyht
X2NvcmVQcmVkaWN0aW9uTW9kZWwsIGV4YW1wbGVWZWN0b3IsICZzY29yZSk7CisgICAgZGVsZXRl
W10gZXhhbXBsZVZlY3RvcjsKKyAgICByZXR1cm4gY2xhc3NpZmljYXRpb24gPCAwOworI2VuZGlm
Cit9CisKK1N0cmluZyBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllcjo6c3RvcmFnZVBh
dGgoKQoreworICAgIENGQnVuZGxlUmVmIHdlYktpdEJ1bmRsZSA9IENGQnVuZGxlR2V0QnVuZGxl
V2l0aElkZW50aWZpZXIoQ0ZTVFIoImNvbS5hcHBsZS5XZWJLaXQiKSk7CisgICAgQ0ZVUkxSZWYg
cmVzb3VyY2VVcmwgPSBDRkJ1bmRsZUNvcHlSZXNvdXJjZXNEaXJlY3RvcnlVUkwod2ViS2l0QnVu
ZGxlKTsKKyAgICByZXNvdXJjZVVybCA9IENGVVJMQ3JlYXRlQ29weUFwcGVuZGluZ1BhdGhDb21w
b25lbnQobnVsbHB0ciwgcmVzb3VyY2VVcmwsIENGU1RSKCJjb3JlUHJlZGljdGlvbl9tb2RlbCIp
LCBmYWxzZSk7CisgICAgQ0ZFcnJvclJlZiBlcnJvciA9IG51bGxwdHI7CisgICAgcmVzb3VyY2VV
cmwgPSBDRlVSTENyZWF0ZUZpbGVQYXRoVVJMKG51bGxwdHIsIHJlc291cmNlVXJsLCAmZXJyb3Ip
OworCisgICAgaWYgKGVycm9yIHx8ICFyZXNvdXJjZVVybCkKKyAgICAgICAgcmV0dXJuIFN0cmlu
ZygpOworCisgICAgQ0ZVUkxQYXRoU3R5bGUgcGF0aFN0eWxlID0ga0NGVVJMUE9TSVhQYXRoU3R5
bGU7CisgICAgQ0ZTdHJpbmdSZWYgcmVzb3VyY2VVcmxTdHJpbmcgPSBDRlVSTENvcHlGaWxlU3lz
dGVtUGF0aChyZXNvdXJjZVVybCwgcGF0aFN0eWxlKTsKKyAgICByZXR1cm4gU3RyaW5nKHJlc291
cmNlVXJsU3RyaW5nKTsKK30KKworYm9vbCBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmll
cjo6c2hvdWxkVXNlQ29yZVByZWRpY3Rpb24oKQoreworI2lmZGVmIEhBVkVfQ09SRV9QUkVESUNU
SU9OCisgICAgaWYgKG1fY29yZVByZWRpY3Rpb25Nb2RlbCkKKyAgICAgICAgcmV0dXJuIHRydWU7
CisKKyAgICBpZiAoIW1fdXNlQ29yZVByZWRpY3Rpb24pCisgICAgICAgIHJldHVybiBmYWxzZTsK
KworICAgIFN0cmluZyBzdG9yYWdlUGF0aFN0ciA9IHN0b3JhZ2VQYXRoKCk7CisgICAgaWYgKHN0
b3JhZ2VQYXRoU3RyLmlzTnVsbCgpIHx8IHN0b3JhZ2VQYXRoU3RyLmlzRW1wdHkoKSkgeworICAg
ICAgICBtX3VzZUNvcmVQcmVkaWN0aW9uID0gZmFsc2U7CisgICAgICAgIHJldHVybiBmYWxzZTsK
KyAgICB9CisKKyAgICBtX2NvcmVQcmVkaWN0aW9uTW9kZWwgPSBzdm1fbG9hZF9tb2RlbCgoc3Rv
cmFnZVBhdGhTdHIpLnV0ZjgoKS5kYXRhKCkpOworICAgIAorICAgIGlmIChtX2NvcmVQcmVkaWN0
aW9uTW9kZWwpCisgICAgICAgIHJldHVybiB0cnVlOworCisgICAgV1RGTG9nQWx3YXlzKCJSZXNv
dXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllcjo6c2hvdWxkVXNlQ29yZVByZWRpY3Rpb24oKTog
Q291bGRuJ3QgbG9hZCBtb2RlbCBmaWxlIGF0IHBhdGggJXMuIiwgc3RvcmFnZVBhdGhTdHIudXRm
OCgpLmRhdGEoKSk7CisgICAgbV91c2VDb3JlUHJlZGljdGlvbiA9IGZhbHNlOworI2VuZGlmCisg
ICAgcmV0dXJuIGZhbHNlOworfQorCit9CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9j
bGFzc2lmaWVyL2NvY29hL1Jlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQ29jb2EuaAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9jbGFzc2lmaWVyL2NvY29hL1Jl
c291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQ29jb2EuaAkobm9uZXhpc3RlbnQpCisrKyBT
b3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9jbGFzc2lmaWVyL2NvY29hL1Jlc291cmNlTG9hZFN0YXRp
c3RpY3NDbGFzc2lmaWVyQ29jb2EuaAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDU5IEBACisv
KgorICogQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3Ry
aWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4g
QU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQ
UExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VR
VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1F
TlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRB
LCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKy8vIEZJWE1FOiBBZGQgUExBVEZPUk0oSU9TKSBh
cyBhIHN1cHBvcnRlZCBwbGF0Zm9ybSBvbmNlIHdlIGhhdmUgZmlndXJlZCBvdXQKKy8vIGhvdyB0
byBzdXBwb3J0IHByaXZhdGUgZnJhbWV3b3JrcyBvbiBFV1MuCisjaWYgKFBMQVRGT1JNKE1BQykg
JiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDEyMDApCisjZGVmaW5lIEhB
VkVfQ09SRV9QUkVESUNUSU9OIDEKKyNlbmRpZgorCisjaW5jbHVkZSAiUmVzb3VyY2VMb2FkU3Rh
dGlzdGljc0NsYXNzaWZpZXJCYXNlLmgiCisjaW5jbHVkZSA8Q29yZUZvdW5kYXRpb24vQ29yZUZv
dW5kYXRpb24uaD4KKyNpZmRlZiBIQVZFX0NPUkVfUFJFRElDVElPTgorI2luY2x1ZGUgPENvcmVQ
cmVkaWN0aW9uL3N2bS5oPgorI2VuZGlmCisjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+
CisKK25hbWVzcGFjZSBXZWJLaXQgeworCitjbGFzcyBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xh
c3NpZmllciA6IHB1YmxpYyBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllckJhc2Ugewor
CitwdWJsaWM6CisgICAgUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXIoKQorICAgICAg
ICA6IFJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQmFzZSgpIHsgfQorICAgIAorcHJp
dmF0ZToKKyAgICBib29sIGNsYXNzaWZ5KGNvbnN0IHVuc2lnbmVkLCBjb25zdCB1bnNpZ25lZCwg
Y29uc3QgdW5zaWduZWQpOworICAgIFN0cmluZyBzdG9yYWdlUGF0aCgpOworICAgIGJvb2wgc2hv
dWxkVXNlQ29yZVByZWRpY3Rpb24oKTsKKyNpZmRlZiBIQVZFX0NPUkVfUFJFRElDVElPTgorICAg
IHN0cnVjdCBzdm1fbW9kZWwqIG1fY29yZVByZWRpY3Rpb25Nb2RlbDsKKyAgICBib29sIG1fdXNl
Q29yZVByZWRpY3Rpb24geyB0cnVlIH07CisjZW5kaWYKK307CisKK30KSW5kZXg6IFNvdXJjZS9X
ZWJLaXQyL1Jlc291cmNlcy9SZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NvcmVQcmVkaWN0aW9uX21v
ZGVsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1Jlc291cmNlcy9SZXNvdXJjZUxvYWRT
dGF0aXN0aWNzL2NvcmVQcmVkaWN0aW9uX21vZGVsCShub25leGlzdGVudCkKKysrIFNvdXJjZS9X
ZWJLaXQyL1Jlc291cmNlcy9SZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NvcmVQcmVkaWN0aW9uX21v
ZGVsCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNjc4IEBACitzdm1fdHlwZSBjX3N2Ywora2Vy
bmVsX3R5cGUgcmJmCitnYW1tYSAwLjEKK25yX2NsYXNzIDIKK3RvdGFsX3N2IDMzMAorcmhvIDAu
Mjg3OTQ1NjQyMjYxCitsYWJlbCAtMSAxCitucl9zdiAzMDAgMzAKK1NWCistMC4wNTQ2Njk3MDM4
NzI0IDE6MTQuMCAyOjMuMCAzOjcuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMjoxLjAgCist
MC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAzOjEuMCAKKy0w
LjA1NDY2OTcwMzg3MjQgMToxMi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjcuMCAKKy0wLjA1NDY2
OTcwMzg3MjQgMToyLjAgMjoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDM6MS4wIAorLTAu
MDU0NjY5NzAzODcyNCAxOjMuMCAyOjE2LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDM6MS4w
IAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAyOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAg
MzoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjMuMCAy
OjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo1LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MTYuMCAy
OjIuMCAzOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMjoxLjAgCistMC4wNTQ2Njk3MDM4
NzI0IDE6MTEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo0LjAgMzozLjAgCistMC4wNTQ2Njk3MDM4
NzI0IDE6MjguMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6
MS4wIDM6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAzOjEuMCAKKy0wLjA1NDY2OTcwMzg3
MjQgMToyMi4wIDI6MS4wIDM6MTIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxNC4wIDM6NS4wIAor
LTAuMDU0NjY5NzAzODcyNCAxOjEuMCAzOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo0OC4wIDI6
MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjI1LjAgMzoxNi4wIAorLTAuMDU0NjY5NzAzODcyNCAx
OjEuMCAyOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMzoxLjAgCistMC4wNTQ2Njk3MDM4
NzI0IDE6Ni4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjcuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTox
LjAgMjoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDM6MS4wIAorLTAuMDU0NjY5NzAzODcy
NCAxOjMuMCAzOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo3LjAgMjoxLjAgMzoxLjAgCistMC4w
NTQ2Njk3MDM4NzI0IDE6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjcuMCAKKy0wLjA1NDY2OTcw
Mzg3MjQgMTo1LjAgMjoyLjAgMzozLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIAorLTAuMDU0
NjY5NzAzODcyNCAxOjEuMCAyOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo0LjAgCistMC4wNTQ2
Njk3MDM4NzI0IDE6MS4wIDI6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAzOjEuMCAKKy0w
LjA1NDY2OTcwMzg3MjQgMTo5LjAgMzo0LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDI6MS4w
IAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAzOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo0Ny4w
IDI6MjEuMCAzOjMzLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MTEuMCAyOjIuMCAzOjUuMCAKKy0w
LjA1NDY2OTcwMzg3MjQgMToxMS4wIDI6My4wIDM6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEu
MCAzOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAgMjoxLjAgCistMC4wNTQ2Njk3MDM4NzI0
IDE6NDMuMCAzOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxMy4wIDM6Ny4wIAorLTAuMDU0NjY5
NzAzODcyNCAxOjEuMCAzOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo0LjAgCistMC4wNTQ2Njk3
MDM4NzI0IDE6MTMuMCAzOjQuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo0Mi4wIDI6NC4wIDM6MzIu
MCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxMC4wIDI6NS4wIDM6MS4wIAorLTAuMDU0NjY5NzAzODcy
NCAxOjcuMCAzOjQuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAgCistMC4wNTQ2Njk3MDM4NzI0
IDE6MS4wIDM6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAzOjEuMCAKKy0wLjA1NDY2OTcw
Mzg3MjQgMTo2LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDI6MS4wIAorLTAuMDU0NjY5NzAz
ODcyNCAxOjYuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxNi4wIDI6NC4wIAorLTAuMDU0NjY5NzAz
ODcyNCAxOjEwLjAgMjoxLjAgMzoyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MTguMCAyOjMuMCAz
OjYuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMzoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6
MS4wIDI6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToz
LjAgMjoxLjAgMzoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDI6MS4wIAorLTAuMDU0NjY5
NzAzODcyNCAxOjMuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTozLjAgCistMC4wNTQ2Njk3MDM4NzI0
IDE6NC4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAg
MzoyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAz
OjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyMS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAK
Ky0wLjA1NDY2OTcwMzg3MjQgMToyLjAgMjoyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MTQuMCAK
Ky0wLjA1NDY2OTcwMzg3MjQgMToyLjAgMjoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIDM6
Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjQuMCAzOjMuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToy
LjAgMzoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6My4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIu
MCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMjoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6NC4w
IAorLTAuMDU0NjY5NzAzODcyNCAxOjM5LjAgMzo0LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4w
IAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAyOjEuMCAzOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQg
MTo0LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIDI6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAx
OjQuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMjoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6
MS4wIDI6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToy
LjAgMjoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEu
MCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAu
MDU0NjY5NzAzODcyNCAxOjMuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMjoxLjAgCistMC4w
NTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcw
Mzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAx
OjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMzoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6
MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCist
MC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2
OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcy
NCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4w
IAorLTAuMDU0NjY5NzAzODcyNCAxOjE2LjAgMjoxLjAgMzoxLjAgCistMC4wNTQ2Njk3MDM4NzI0
IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAg
MjoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAK
Ky0wLjA1NDY2OTcwMzg3MjQgMTozLjAgMjoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDM6
MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCist
MC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2
OTcwMzg3MjQgMToyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcy
NCAxOjIwLjAgMzozLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcy
NCAxOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4w
IAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4w
NTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAzOjEuMCAKKy0wLjA1
NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDM6MS4wIAorLTAuMDU0
NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo4LjAgCistMC4wNTQ2Njk3MDM4
NzI0IDE6Ny4wIDI6MS4wIDM6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjguMCAyOjIuMCAKKy0w
LjA1NDY2OTcwMzg3MjQgMToxLjAgMjoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAu
MDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMjoxLjAgCistMC4w
NTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcw
Mzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAx
OjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAor
LTAuMDU0NjY5NzAzODcyNCAxOjEyLjAgMzo3LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAor
LTAuMDU0NjY5NzAzODcyNCAxOjkuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo3LjAgCistMC4wNTQ2
Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAyOjEuMCAKKy0wLjA1NDY2
OTcwMzg3MjQgMToxLjAgMzoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5
NzAzODcyNCAxOjguMCAyOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxNy4wIAorLTAuMDU0NjY5
NzAzODcyNCAxOjIuMCAyOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3
MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQg
MToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6NC4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAK
Ky0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MTMuMCAyOjQuMCAz
OjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMzoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6
Mi4wIDM6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTox
Ni4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjMuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCist
MC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2
OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIAorLTAuMDU0NjY5NzAzODcy
NCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4w
IAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4w
NTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcw
Mzg3MjQgMToyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6My4wIDM6My4wIAorLTAuMDU0NjY5NzAz
ODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6
MTEuMCAzOjExLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAx
OjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIAor
LTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2
Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3
MjQgMToyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEu
MCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAu
MDU0NjY5NzAzODcyNCAxOjE1LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5
NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyMC4wIDI6MTIuMCAzOjMuMCAKKy0w
LjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5
NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0
IDE6Ny4wIDM6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQg
MToxLjAgMzoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAx
OjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMzoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6
MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjMuMCAzOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTox
LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjkuMCAyOjMu
MCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMzoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Ni4w
IAorLTAuMDU0NjY5NzAzODcyNCAxOjQuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4w
NTQ2Njk3MDM4NzI0IDE6Ny4wIDI6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1
NDY2OTcwMzg3MjQgMToxLjAgMzoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIAorLTAuMDU0
NjY5NzAzODcyNCAxOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo5LjAgCistMC4wNTQ2Njk3MDM4
NzI0IDE6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTox
LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0w
LjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MTQuMCAKKy0wLjA1NDY2
OTcwMzg3MjQgMToxMi4wIDM6Ni4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjMuMCAKKy0wLjA1NDY2
OTcwMzg3MjQgMTo0LjAgMjoxLjAgMzoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAu
MDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3
MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjkuMCAKKy0wLjA1NDY2OTcwMzg3MjQg
MTo5LjAgMjoxLjAgMzo0LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAz
ODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo5LjAgMjoxLjAgCistMC4wNTQ2Njk3MDM4
NzI0IDE6My4wIDI6My4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAyOjIuMCAKKy0wLjA1NDY2
OTcwMzg3MjQgMToxLjAgMjoxLjAgMzoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6OC4wIDI6MS4w
IDM6My4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAg
MjoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6OS4wIDI6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAx
OjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIAor
LTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTozNi4wIAorLTAuMDU0
NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4
NzI0IDE6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTox
LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0w
LjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Ni4wIAorLTAuMDU0NjY5
NzAzODcyNCAxOjEuMCAzOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3
MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQg
MToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAK
Ky0wLjA1NDY2OTcwMzg3MjQgMToyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6NC4wIDM6Mi4wIAor
LTAuMDU0NjY5NzAzODcyNCAxOjEzLjAgMzo0LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAor
LTAuMDQwMjA3NTE3ODk0MiAxOjEuMCAKKzAuNTg1MzY1ODUzNjU5IDE6MS4wIAorMC40NzkyNzYx
MzkwMDEgMTo2LjAgMjozLjAgCiswLjU4NTM2NTg1MzY1OSAxOjIuMCAKKzAuNTg1MzY1ODUzNjU5
IDE6MS4wIAorMC41ODUzNjU4NTM2NTkgMTozLjAgMzozLjAgCiswLjU4NTM2NTg1MzY1OSAxOjQy
LjAgMjoyLjAgMzoyOC4wIAorMC41ODUzNjU4NTM2NTkgMToyLjAgCiswLjU4NTM2NTg1MzY1OSAx
OjEyLjAgCiswLjQ3OTI4MzA0NjU3OCAxOjcuMCAKKzAuMzAwMzk3ODczNDc2IDE6My4wIDM6MS4w
IAorMC4wNTQzMTczMzA2NDQyIDE6Ni4wIDM6Mi4wIAorMC41NjM0NjUxMjYyOTkgMToxMS4wIAor
MC41ODUzNjU4NTM2NTkgMToyLjAgCiswLjU4NTM2NTg1MzY1OSAxOjEwLjAgMjozLjAgMzo2LjAg
CiswLjU4NTM2NTg1MzY1OSAxOjEuMCAyOjEuMCAKKzAuNTg1MzY1ODUzNjU5IDE6Mi4wIAorMC41
ODUzNjU4NTM2NTkgMToxLjAgMjoxLjAgCiswLjU4NTM2NTg1MzY1OSAxOjMuMCAzOjEuMCAKKzAu
NTg1MzY1ODUzNjU5IDE6MS4wIAorMC41ODUzNjU4NTM2NTkgMToyLjAgCiswLjU4NTM2NTg1MzY1
OSAxOjEuMCAyOjEuMCAKKzAuNTg0OTg5NzE5OTA5IDE6Ny4wIAorMC41ODUzNjU4NTM2NTkgMToz
LjAgCiswLjU4NTM2NTg1MzY1OSAxOjMuMCAKKzAuNTI1OTI1MTM2OTgzIDE6My4wIDI6Mi4wIAor
MC41ODUzNjU4NTM2NTkgMToxLjAgCiswLjU4NTM2NTg1MzY1OSAxOjEuMCAKKzAuNTg1MzY1ODUz
NjU5IDE6My4wIDM6MS4wIAorMC41ODUzNjU4NTM2NTkgMToxLjAgCiswLjUyMDc0NTgyMjM3NCAx
OjMuMCAKK3N2bV90eXBlIGNfc3ZjCitrZXJuZWxfdHlwZSByYmYKK2dhbW1hIDAuMQorbnJfY2xh
c3MgMgordG90YWxfc3YgMzMwCityaG8gMC4yODc5NDU2NDIyNjEKK2xhYmVsIC0xIDEKK25yX3N2
IDMwMCAzMAorU1YKKy0wLjA1NDY2OTcwMzg3MjQgMToxNC4wIDI6My4wIDM6Ny4wIAorLTAuMDU0
NjY5NzAzODcyNCAxOjEuMCAyOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAgCistMC4wNTQ2
Njk3MDM4NzI0IDE6MS4wIDM6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEyLjAgCistMC4wNTQ2
Njk3MDM4NzI0IDE6Ny4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAyOjEuMCAKKy0wLjA1NDY2
OTcwMzg3MjQgMToxLjAgMzoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6My4wIDI6MTYuMCAKKy0w
LjA1NDY2OTcwMzg3MjQgMToxLjAgMzoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDI6Mi4w
IAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAzOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAg
CistMC4wNTQ2Njk3MDM4NzI0IDE6My4wIDI6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjUuMCAK
Ky0wLjA1NDY2OTcwMzg3MjQgMToxNi4wIDI6Mi4wIDM6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAx
OjEuMCAyOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxMS4wIAorLTAuMDU0NjY5NzAzODcyNCAx
OjQuMCAzOjMuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyOC4wIAorLTAuMDU0NjY5NzAzODcyNCAx
OjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMzoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6
MS4wIDM6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIyLjAgMjoxLjAgMzoxMi4wIAorLTAuMDU0
NjY5NzAzODcyNCAxOjE0LjAgMzo1LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDM6MS4wIAor
LTAuMDU0NjY5NzAzODcyNCAxOjQ4LjAgMjoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MjUuMCAz
OjE2LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDI6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAx
OjEuMCAzOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo2LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6
Ny4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAyOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTox
LjAgMzoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6My4wIDM6Mi4wIAorLTAuMDU0NjY5NzAzODcy
NCAxOjcuMCAyOjEuMCAzOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAgCistMC4wNTQ2Njk3
MDM4NzI0IDE6Ny4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjUuMCAyOjIuMCAzOjMuMCAKKy0wLjA1
NDY2OTcwMzg3MjQgMToyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDI6MS4wIAorLTAuMDU0
NjY5NzAzODcyNCAxOjQuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMjoxLjAgCistMC4wNTQ2
Njk3MDM4NzI0IDE6MS4wIDM6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjkuMCAzOjQuMCAKKy0w
LjA1NDY2OTcwMzg3MjQgMToxLjAgMjoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDM6MS4w
IAorLTAuMDU0NjY5NzAzODcyNCAxOjQ3LjAgMjoyMS4wIDM6MzMuMCAKKy0wLjA1NDY2OTcwMzg3
MjQgMToxMS4wIDI6Mi4wIDM6NS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjExLjAgMjozLjAgMzox
LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDM6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIu
MCAyOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo0My4wIDM6Mi4wIAorLTAuMDU0NjY5NzAzODcy
NCAxOjEzLjAgMzo3LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDM6MS4wIAorLTAuMDU0NjY5
NzAzODcyNCAxOjQuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxMy4wIDM6NC4wIAorLTAuMDU0NjY5
NzAzODcyNCAxOjQyLjAgMjo0LjAgMzozMi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEwLjAgMjo1
LjAgMzoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Ny4wIDM6NC4wIAorLTAuMDU0NjY5NzAzODcy
NCAxOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMzoxLjAgCistMC4wNTQ2Njk3MDM4NzI0
IDE6MS4wIDM6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjYuMCAKKy0wLjA1NDY2OTcwMzg3MjQg
MToxLjAgMjoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Ni4wIAorLTAuMDU0NjY5NzAzODcyNCAx
OjE2LjAgMjo0LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MTAuMCAyOjEuMCAzOjIuMCAKKy0wLjA1
NDY2OTcwMzg3MjQgMToxOC4wIDI6My4wIDM6Ni4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAz
OjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMjoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6
Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjMuMCAyOjEuMCAzOjEuMCAKKy0wLjA1NDY2OTcwMzg3
MjQgMToxLjAgMjoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6My4wIAorLTAuMDU0NjY5NzAzODcy
NCAxOjMuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo0LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4w
IAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAzOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAg
CistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDM6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIxLjAg
CistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAyOjIuMCAK
Ky0wLjA1NDY2OTcwMzg3MjQgMToxNC4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAyOjEuMCAK
Ky0wLjA1NDY2OTcwMzg3MjQgMToyLjAgMzoyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6NC4wIDM6
My4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAzOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToz
LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAyOjEu
MCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo0LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MzkuMCAzOjQu
MCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIDI6MS4w
IDM6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjQuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAg
MjoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6NC4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAy
OjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMjoyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6
MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAyOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTox
LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0w
LjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6My4wIAorLTAuMDU0NjY5
NzAzODcyNCAxOjEuMCAyOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3
MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQg
MToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAz
OjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAor
LTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2
Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3
MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEu
MCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MTYuMCAyOjEu
MCAzOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4w
IAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAyOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAg
CistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjMuMCAyOjEuMCAK
Ky0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMzoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAor
LTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2
Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAKKy0wLjA1NDY2OTcwMzg3
MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MjAuMCAzOjMuMCAKKy0wLjA1NDY2OTcwMzg3
MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEu
MCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAu
MDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3
MDM4NzI0IDE6MS4wIDM6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcw
Mzg3MjQgMToxLjAgMzoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAz
ODcyNCAxOjguMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo3LjAgMjoxLjAgMzoyLjAgCistMC4wNTQ2
Njk3MDM4NzI0IDE6OC4wIDI6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAyOjEuMCAKKy0w
LjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5
NzAzODcyNCAxOjEuMCAyOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3
MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQg
MToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAK
Ky0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MTIuMCAzOjcuMCAK
Ky0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6OS4wIAorLTAuMDU0
NjY5NzAzODcyNCAxOjcuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4
NzI0IDE6MS4wIDI6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAzOjEuMCAKKy0wLjA1NDY2
OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6OC4wIDI6Mi4wIAorLTAuMDU0NjY5
NzAzODcyNCAxOjE3LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIDI6MS4wIAorLTAuMDU0NjY5
NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0
IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo0LjAg
CistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1
NDY2OTcwMzg3MjQgMToxMy4wIDI6NC4wIDM6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAz
OjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAgMzoyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6
MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjE2LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6My4wIAor
LTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2
Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3
MjQgMToyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIu
MCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAu
MDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3
MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQg
MTozLjAgMzozLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAx
OjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxMS4wIDM6MTEuMCAKKy0wLjA1NDY2OTcwMzg3MjQg
MToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAK
Ky0wLjA1NDY2OTcwMzg3MjQgMToyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0
NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4
NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTox
LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0w
LjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MTUuMCAKKy0wLjA1NDY2
OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcy
NCAxOjIwLjAgMjoxMi4wIDM6My4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2
OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcy
NCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo3LjAgMzoxLjAgCistMC4wNTQ2Njk3MDM4NzI0
IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAzOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQg
MToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAz
OjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6My4wIDM6
Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCist
MC4wNTQ2Njk3MDM4NzI0IDE6OS4wIDI6My4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAzOjEu
MCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo2LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6NC4wIAorLTAu
MDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo3LjAgMjoyLjAgCistMC4w
NTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAzOjEuMCAKKy0wLjA1
NDY2OTcwMzg3MjQgMToyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIAorLTAuMDU0NjY5NzAz
ODcyNCAxOjkuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6
MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCist
MC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2
OTcwMzg3MjQgMToxNC4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEyLjAgMzo2LjAgCistMC4wNTQ2
Njk3MDM4NzI0IDE6My4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjQuMCAyOjEuMCAzOjEuMCAKKy0w
LjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5
NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0
IDE6OS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjkuMCAyOjEuMCAzOjQuMCAKKy0wLjA1NDY2OTcw
Mzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAx
OjkuMCAyOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTozLjAgMjozLjAgCistMC4wNTQ2Njk3MDM4
NzI0IDE6Mi4wIDI6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAyOjEuMCAzOjEuMCAKKy0w
LjA1NDY2OTcwMzg3MjQgMTo4LjAgMjoxLjAgMzozLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4w
IAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAyOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo5LjAg
MjoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAK
Ky0wLjA1NDY2OTcwMzg3MjQgMToyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0
NjY5NzAzODcyNCAxOjM2LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAz
ODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6
MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAgCist
MC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2
OTcwMzg3MjQgMTo2LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDM6MS4wIAorLTAuMDU0NjY5
NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0
IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAg
CistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAKKy0wLjA1
NDY2OTcwMzg3MjQgMTo0LjAgMzoyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MTMuMCAzOjQuMCAK
Ky0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNDAyMDc1MTc4OTQyIDE6MS4wIAorMC41ODUz
NjU4NTM2NTkgMToxLjAgCiswLjQ3OTI3NjEzOTAwMSAxOjYuMCAyOjMuMCAKKzAuNTg1MzY1ODUz
NjU5IDE6Mi4wIAorMC41ODUzNjU4NTM2NTkgMToxLjAgCiswLjU4NTM2NTg1MzY1OSAxOjMuMCAz
OjMuMCAKKzAuNTg1MzY1ODUzNjU5IDE6NDIuMCAyOjIuMCAzOjI4LjAgCiswLjU4NTM2NTg1MzY1
OSAxOjIuMCAKKzAuNTg1MzY1ODUzNjU5IDE6MTIuMCAKKzAuNDc5MjgzMDQ2NTc4IDE6Ny4wIAor
MC4zMDAzOTc4NzM0NzYgMTozLjAgMzoxLjAgCiswLjA1NDMxNzMzMDY0NDIgMTo2LjAgMzoyLjAg
CiswLjU2MzQ2NTEyNjI5OSAxOjExLjAgCiswLjU4NTM2NTg1MzY1OSAxOjIuMCAKKzAuNTg1MzY1
ODUzNjU5IDE6MTAuMCAyOjMuMCAzOjYuMCAKKzAuNTg1MzY1ODUzNjU5IDE6MS4wIDI6MS4wIAor
MC41ODUzNjU4NTM2NTkgMToyLjAgCiswLjU4NTM2NTg1MzY1OSAxOjEuMCAyOjEuMCAKKzAuNTg1
MzY1ODUzNjU5IDE6My4wIDM6MS4wIAorMC41ODUzNjU4NTM2NTkgMToxLjAgCiswLjU4NTM2NTg1
MzY1OSAxOjIuMCAKKzAuNTg1MzY1ODUzNjU5IDE6MS4wIDI6MS4wIAorMC41ODQ5ODk3MTk5MDkg
MTo3LjAgCiswLjU4NTM2NTg1MzY1OSAxOjMuMCAKKzAuNTg1MzY1ODUzNjU5IDE6My4wIAorMC41
MjU5MjUxMzY5ODMgMTozLjAgMjoyLjAgCiswLjU4NTM2NTg1MzY1OSAxOjEuMCAKKzAuNTg1MzY1
ODUzNjU5IDE6MS4wIAorMC41ODUzNjU4NTM2NTkgMTozLjAgMzoxLjAgCiswLjU4NTM2NTg1MzY1
OSAxOjEuMCAKKzAuNTIwNzQ1ODIyMzc0IDE6My4wIApJbmRleDogU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL1dlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VyLmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFn
ZXIuY3BwCShyZXZpc2lvbiAyMTI0MzkpCisrKyBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2Vi
UmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFnZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC02MSw2
ICs2MSwyMSBAQCBib29sIFdlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VyOjpoCiAgICAg
cmV0dXJuIFdlYkNvcmU6OlJlc291cmNlTG9hZE9ic2VydmVyOjpzaGFyZWRPYnNlcnZlcigpLmhh
c0hhZFVzZXJJbnRlcmFjdGlvbihVUkwoVVJMKCksIGhvc3ROYW1lKSk7CiB9CiAKK3ZvaWQgV2Vi
UmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFnZXI6OnNldFN1YmZyYW1lVW5kZXJUb3BGcmFtZU9y
aWdpbihjb25zdCBTdHJpbmcmIGhvc3ROYW1lLCBjb25zdCBTdHJpbmcmIHRvcEZyYW1lSG9zdE5h
bWUpCit7CisgICAgV2ViQ29yZTo6UmVzb3VyY2VMb2FkT2JzZXJ2ZXI6OnNoYXJlZE9ic2VydmVy
KCkuc2V0U3ViZnJhbWVVbmRlclRvcEZyYW1lT3JpZ2luKFVSTChVUkwoKSwgaG9zdE5hbWUpLCBV
UkwoVVJMKCksIHRvcEZyYW1lSG9zdE5hbWUpKTsKK30KKwordm9pZCBXZWJSZXNvdXJjZUxvYWRT
dGF0aXN0aWNzTWFuYWdlcjo6c2V0U3VicmVzb3VyY2VVbmRlclRvcEZyYW1lT3JpZ2luKGNvbnN0
IFN0cmluZyYgaG9zdE5hbWUsIGNvbnN0IFN0cmluZyYgdG9wRnJhbWVIb3N0TmFtZSkKK3sKKyAg
ICBXZWJDb3JlOjpSZXNvdXJjZUxvYWRPYnNlcnZlcjo6c2hhcmVkT2JzZXJ2ZXIoKS5zZXRTdWJy
ZXNvdXJjZVVuZGVyVG9wRnJhbWVPcmlnaW4oVVJMKFVSTCgpLCBob3N0TmFtZSksIFVSTChVUkwo
KSwgdG9wRnJhbWVIb3N0TmFtZSkpOworfQorCit2b2lkIFdlYlJlc291cmNlTG9hZFN0YXRpc3Rp
Y3NNYW5hZ2VyOjpzZXRTdWJyZXNvdXJjZVVuaXF1ZVJlZGlyZWN0VG8oY29uc3QgU3RyaW5nJiBo
b3N0TmFtZSwgY29uc3QgU3RyaW5nJiBob3N0TmFtZVJlZGlyZWN0ZWRUbykKK3sKKyAgICBXZWJD
b3JlOjpSZXNvdXJjZUxvYWRPYnNlcnZlcjo6c2hhcmVkT2JzZXJ2ZXIoKS5zZXRTdWJyZXNvdXJj
ZVVuaXF1ZVJlZGlyZWN0VG8oVVJMKFVSTCgpLCBob3N0TmFtZSksIFVSTChVUkwoKSwgaG9zdE5h
bWVSZWRpcmVjdGVkVG8pKTsKK30KKwogdm9pZCBXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFu
YWdlcjo6c2V0VGltZVRvTGl2ZVVzZXJJbnRlcmFjdGlvbihkb3VibGUgc2Vjb25kcykKIHsKICAg
ICBXZWJDb3JlOjpSZXNvdXJjZUxvYWRPYnNlcnZlcjo6c2hhcmVkT2JzZXJ2ZXIoKS5zZXRUaW1l
VG9MaXZlVXNlckludGVyYWN0aW9uKHNlY29uZHMpOwpJbmRleDogU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL1dlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VyLmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2Vy
LmgJKHJldmlzaW9uIDIxMjQzOSkKKysrIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJSZXNv
dXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdlci5oCSh3b3JraW5nIGNvcHkpCkBAIC00Miw2ICs0Miw5
IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgYm9vbCBpc1ByZXZhbGVudFJlc291cmNlKGNvbnN0IFN0
cmluZyYgaG9zdE5hbWUpOwogICAgIHN0YXRpYyB2b2lkIHNldEhhc0hhZFVzZXJJbnRlcmFjdGlv
bihjb25zdCBTdHJpbmcmIGhvc3ROYW1lLCBib29sIHZhbHVlKTsKICAgICBzdGF0aWMgYm9vbCBo
YXNIYWRVc2VySW50ZXJhY3Rpb24oY29uc3QgU3RyaW5nJiBob3N0TmFtZSk7CisgICAgc3RhdGlj
IHZvaWQgc2V0U3ViZnJhbWVVbmRlclRvcEZyYW1lT3JpZ2luKGNvbnN0IFN0cmluZyYgaG9zdE5h
bWUsIGNvbnN0IFN0cmluZyYgdG9wRnJhbWVIb3N0TmFtZSk7CisgICAgc3RhdGljIHZvaWQgc2V0
U3VicmVzb3VyY2VVbmRlclRvcEZyYW1lT3JpZ2luKGNvbnN0IFN0cmluZyYgaG9zdE5hbWUsIGNv
bnN0IFN0cmluZyYgdG9wRnJhbWVIb3N0TmFtZSk7CisgICAgc3RhdGljIHZvaWQgc2V0U3VicmVz
b3VyY2VVbmlxdWVSZWRpcmVjdFRvKGNvbnN0IFN0cmluZyYgaG9zdE5hbWUsIGNvbnN0IFN0cmlu
ZyYgaG9zdE5hbWVSZWRpcmVjdGVkVG8pOwogICAgIHN0YXRpYyB2b2lkIHNldFRpbWVUb0xpdmVV
c2VySW50ZXJhY3Rpb24oZG91YmxlIHNlY29uZHMpOwogICAgIHN0YXRpYyB2b2lkIHNldFJlZHVj
ZWRUaW1lc3RhbXBSZXNvbHV0aW9uKGRvdWJsZSBzZWNvbmRzKTsKICAgICBzdGF0aWMgdm9pZCBm
aXJlRGF0YU1vZGlmaWNhdGlvbkhhbmRsZXIoKTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9XZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmUuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmUuY3Bw
CShyZXZpc2lvbiAyMTI0MzkpCisrKyBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUmVzb3Vy
Y2VMb2FkU3RhdGlzdGljc1N0b3JlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDUsNyArNDUsNiBA
QCB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIAogbmFtZXNwYWNlIFdlYktpdCB7CiAKLXN0YXRp
YyBjb25zdCBhdXRvIGZlYXR1cmVWZWN0b3JMZW5ndGhUaHJlc2hvbGQgPSAzOwogc3RhdGljIGF1
dG8gbWluaW11bVRpbWVCZXR3ZWVlbkRhdGFSZWNvcmRzUmVtb3ZhbCA9IDYwOwogc3RhdGljIE9w
dGlvblNldDxXZWJLaXQ6OldlYnNpdGVEYXRhVHlwZT4gZGF0YVR5cGVzVG9SZW1vdmU7CiBzdGF0
aWMgYXV0byBub3RpZnlQYWdlcyA9IGZhbHNlOwpAQCAtNTksNyArNTgsNyBAQCBSZWY8V2ViUmVz
b3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlPiBXZWJSCiBXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNz
U3RvcmU6OldlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZShjb25zdCBTdHJpbmcmIHJlc291
cmNlTG9hZFN0YXRpc3RpY3NEaXJlY3RvcnkpCiAgICAgOiBtX3Jlc291cmNlTG9hZFN0YXRpc3Rp
Y3NTdG9yZShSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmU6OmNyZWF0ZSgpKQogICAgICwgbV9z
dGF0aXN0aWNzUXVldWUoV29ya1F1ZXVlOjpjcmVhdGUoIldlYlJlc291cmNlTG9hZFN0YXRpc3Rp
Y3NTdG9yZSBQcm9jZXNzIERhdGEgUXVldWUiKSkKLSAgICAsIG1fc3RvcmFnZVBhdGgocmVzb3Vy
Y2VMb2FkU3RhdGlzdGljc0RpcmVjdG9yeSkKKyAgICAsIG1fc3RhdGlzdGljc1N0b3JhZ2VQYXRo
KHJlc291cmNlTG9hZFN0YXRpc3RpY3NEaXJlY3RvcnkpCiB7CiB9CiAKQEAgLTgzLDQwICs4Miwx
MSBAQCB2b2lkIFdlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZTo6c2V0CiAgICAgICAgIG1p
bmltdW1UaW1lQmV0d2VlZW5EYXRhUmVjb3Jkc1JlbW92YWwgPSBzZWNvbmRzOwogfQogCi1ib29s
IFdlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZTo6aGFzUHJldmFsZW50UmVzb3VyY2VDaGFy
YWN0ZXJpc3RpY3MoY29uc3QgUmVzb3VyY2VMb2FkU3RhdGlzdGljcyYgcmVzb3VyY2VTdGF0aXN0
aWMpCi17Ci0gICAgYXV0byBzdWJyZXNvdXJjZVVuZGVyVG9wRnJhbWVPcmlnaW5zQ291bnQgPSBy
ZXNvdXJjZVN0YXRpc3RpYy5zdWJyZXNvdXJjZVVuZGVyVG9wRnJhbWVPcmlnaW5zLnNpemUoKTsK
LSAgICBhdXRvIHN1YnJlc291cmNlVW5pcXVlUmVkaXJlY3RzVG9Db3VudCA9IHJlc291cmNlU3Rh
dGlzdGljLnN1YnJlc291cmNlVW5pcXVlUmVkaXJlY3RzVG8uc2l6ZSgpOwotICAgIGF1dG8gc3Vi
ZnJhbWVVbmRlclRvcEZyYW1lT3JpZ2luc0NvdW50ID0gcmVzb3VyY2VTdGF0aXN0aWMuc3ViZnJh
bWVVbmRlclRvcEZyYW1lT3JpZ2lucy5zaXplKCk7Ci0gICAgCi0gICAgaWYgKCFzdWJyZXNvdXJj
ZVVuZGVyVG9wRnJhbWVPcmlnaW5zQ291bnQKLSAgICAgICAgJiYgIXN1YnJlc291cmNlVW5pcXVl
UmVkaXJlY3RzVG9Db3VudAotICAgICAgICAmJiAhc3ViZnJhbWVVbmRlclRvcEZyYW1lT3JpZ2lu
c0NvdW50KQotICAgICAgICByZXR1cm4gZmFsc2U7Ci0KLSAgICBpZiAoc3VicmVzb3VyY2VVbmRl
clRvcEZyYW1lT3JpZ2luc0NvdW50ID4gZmVhdHVyZVZlY3Rvckxlbmd0aFRocmVzaG9sZAotICAg
ICAgICB8fCBzdWJyZXNvdXJjZVVuaXF1ZVJlZGlyZWN0c1RvQ291bnQgPiBmZWF0dXJlVmVjdG9y
TGVuZ3RoVGhyZXNob2xkCi0gICAgICAgIHx8IHN1YmZyYW1lVW5kZXJUb3BGcmFtZU9yaWdpbnND
b3VudCA+IGZlYXR1cmVWZWN0b3JMZW5ndGhUaHJlc2hvbGQpCi0gICAgICAgIHJldHVybiB0cnVl
OwotCi0gICAgLy8gVGhlIHJlc291cmNlIGlzIGNvbnNpZGVyZWQgcHJldmFsZW50IGlmIHRoZSBm
ZWF0dXJlIHZlY3RvcgotICAgIC8vIGlzIGxvbmdlciB0aGFuIHRoZSB0aHJlc2hvbGQuCi0gICAg
Ly8gVmVjdG9yIGxlbmd0aCBmb3IgbiBkaW1lbnNpb25zIGlzIHNxcnQoYV4yICsgKC4uLikgKyBu
XjIpLgotICAgIGRvdWJsZSB2ZWN0b3JMZW5ndGggPSAwOwotICAgIHZlY3Rvckxlbmd0aCArPSBz
dWJyZXNvdXJjZVVuZGVyVG9wRnJhbWVPcmlnaW5zQ291bnQgKiBzdWJyZXNvdXJjZVVuZGVyVG9w
RnJhbWVPcmlnaW5zQ291bnQ7Ci0gICAgdmVjdG9yTGVuZ3RoICs9IHN1YnJlc291cmNlVW5pcXVl
UmVkaXJlY3RzVG9Db3VudCAqIHN1YnJlc291cmNlVW5pcXVlUmVkaXJlY3RzVG9Db3VudDsKLSAg
ICB2ZWN0b3JMZW5ndGggKz0gc3ViZnJhbWVVbmRlclRvcEZyYW1lT3JpZ2luc0NvdW50ICogc3Vi
ZnJhbWVVbmRlclRvcEZyYW1lT3JpZ2luc0NvdW50OwotCi0gICAgQVNTRVJUKHZlY3Rvckxlbmd0
aCA+IDApOwotCi0gICAgcmV0dXJuIHNxcnQodmVjdG9yTGVuZ3RoKSA+IGZlYXR1cmVWZWN0b3JM
ZW5ndGhUaHJlc2hvbGQ7Ci19Ci0gICAgCiB2b2lkIFdlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NT
dG9yZTo6Y2xhc3NpZnlSZXNvdXJjZShSZXNvdXJjZUxvYWRTdGF0aXN0aWNzJiByZXNvdXJjZVN0
YXRpc3RpYykKIHsKLSAgICBpZiAoIXJlc291cmNlU3RhdGlzdGljLmlzUHJldmFsZW50UmVzb3Vy
Y2UgJiYgaGFzUHJldmFsZW50UmVzb3VyY2VDaGFyYWN0ZXJpc3RpY3MocmVzb3VyY2VTdGF0aXN0
aWMpKSB7CisgICAgaWYgKCFyZXNvdXJjZVN0YXRpc3RpYy5pc1ByZXZhbGVudFJlc291cmNlCisg
ICAgICAgICYmIG1fcmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXIuaGFzUHJldmFsZW50
UmVzb3VyY2VDaGFyYWN0ZXJpc3RpY3MocmVzb3VyY2VTdGF0aXN0aWMpKQogICAgICAgICByZXNv
dXJjZVN0YXRpc3RpYy5pc1ByZXZhbGVudFJlc291cmNlID0gdHJ1ZTsKLSAgICB9CiB9CiAKIHZv
aWQgV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlOjpyZW1vdmVEYXRhUmVjb3JkcygpCkBA
IC0yNDgsMTEgKzIxOCwxMSBAQCB2b2lkIFdlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZTo6
YXBwCiAKIFN0cmluZyBXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmU6OnBlcnNpc3RlbnRT
dG9yYWdlUGF0aChjb25zdCBTdHJpbmcmIGxhYmVsKSBjb25zdAogewotICAgIGlmIChtX3N0b3Jh
Z2VQYXRoLmlzRW1wdHkoKSkKKyAgICBpZiAobV9zdGF0aXN0aWNzU3RvcmFnZVBhdGguaXNFbXB0
eSgpKQogICAgICAgICByZXR1cm4gZW1wdHlTdHJpbmcoKTsKIAogICAgIC8vIFRPRE8gRGVjaWRl
IHdoYXQgdG8gY2FsbCB0aGlzIGZpbGUKLSAgICByZXR1cm4gcGF0aEJ5QXBwZW5kaW5nQ29tcG9u
ZW50KG1fc3RvcmFnZVBhdGgsIGxhYmVsICsgIl9yZXNvdXJjZUxvZy5wbGlzdCIpOworICAgIHJl
dHVybiBwYXRoQnlBcHBlbmRpbmdDb21wb25lbnQobV9zdGF0aXN0aWNzU3RvcmFnZVBhdGgsIGxh
YmVsICsgIl9yZXNvdXJjZUxvZy5wbGlzdCIpOwogfQogCiB2b2lkIFdlYlJlc291cmNlTG9hZFN0
YXRpc3RpY3NTdG9yZTo6d3JpdGVFbmNvZGVyVG9EaXNrKEtleWVkRW5jb2RlciYgZW5jb2Rlciwg
Y29uc3QgU3RyaW5nJiBsYWJlbCkgY29uc3QKQEAgLTI2NSw4ICsyMzUsOCBAQCB2b2lkIFdlYlJl
c291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZTo6d3JpCiAgICAgaWYgKHJlc291cmNlTG9nLmlzRW1w
dHkoKSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgaWYgKCFtX3N0b3JhZ2VQYXRoLmlzRW1wdHko
KSkKLSAgICAgICAgbWFrZUFsbERpcmVjdG9yaWVzKG1fc3RvcmFnZVBhdGgpOworICAgIGlmICgh
bV9zdGF0aXN0aWNzU3RvcmFnZVBhdGguaXNFbXB0eSgpKQorICAgICAgICBtYWtlQWxsRGlyZWN0
b3JpZXMobV9zdGF0aXN0aWNzU3RvcmFnZVBhdGgpOwogCiAgICAgYXV0byBoYW5kbGUgPSBvcGVu
RmlsZShyZXNvdXJjZUxvZywgT3BlbkZvcldyaXRlKTsKICAgICBpZiAoIWhhbmRsZSkKSW5kZXg6
IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmUu
aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUmVzb3VyY2VMb2Fk
U3RhdGlzdGljc1N0b3JlLmgJKHJldmlzaW9uIDIxMjQzOSkKKysrIFNvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9XZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmUuaAkod29ya2luZyBjb3B5KQpA
QCAtMjgsNiArMjgsNyBAQAogCiAjaW5jbHVkZSAiQVBJT2JqZWN0LmgiCiAjaW5jbHVkZSAiQ29u
bmVjdGlvbi5oIgorI2luY2x1ZGUgIlJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyLmgi
CiAjaW5jbHVkZSAiV2Vic2l0ZURhdGFSZWNvcmQuaCIKICNpbmNsdWRlIDxXZWJDb3JlL1Jlc291
cmNlTG9hZFN0YXRpc3RpY3NTdG9yZS5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KQEAgLTc2
LDcgKzc3LDYgQEAgcHJpdmF0ZToKIAogICAgIHZvaWQgcHJvY2Vzc1N0YXRpc3RpY3NBbmREYXRh
UmVjb3JkcygpOwogCi0gICAgYm9vbCBoYXNQcmV2YWxlbnRSZXNvdXJjZUNoYXJhY3RlcmlzdGlj
cyhjb25zdCBXZWJDb3JlOjpSZXNvdXJjZUxvYWRTdGF0aXN0aWNzJik7CiAgICAgdm9pZCBjbGFz
c2lmeVJlc291cmNlKFdlYkNvcmU6OlJlc291cmNlTG9hZFN0YXRpc3RpY3MmKTsKICAgICB2b2lk
IHJlbW92ZURhdGFSZWNvcmRzKCk7CiAKQEAgLTg5LDggKzg5LDkgQEAgcHJpdmF0ZToKICAgICBz
dGQ6OnVuaXF1ZV9wdHI8V2ViQ29yZTo6S2V5ZWREZWNvZGVyPiBjcmVhdGVEZWNvZGVyRnJvbURp
c2soY29uc3QgU3RyaW5nJiBsYWJlbCkgY29uc3Q7CiAKICAgICBSZWY8V2ViQ29yZTo6UmVzb3Vy
Y2VMb2FkU3RhdGlzdGljc1N0b3JlPiBtX3Jlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZTsKKyAg
ICBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllciBtX3Jlc291cmNlTG9hZFN0YXRpc3Rp
Y3NDbGFzc2lmaWVyOwogICAgIFJlZjxXVEY6OldvcmtRdWV1ZT4gbV9zdGF0aXN0aWNzUXVldWU7
Ci0gICAgU3RyaW5nIG1fc3RvcmFnZVBhdGg7CisgICAgU3RyaW5nIG1fc3RhdGlzdGljc1N0b3Jh
Z2VQYXRoOwogICAgIGJvb2wgbV9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzRW5hYmxlZCB7IGZhbHNl
IH07CiAKICAgICBkb3VibGUgbV9sYXN0VGltZURhdGFSZWNvcmRzV2VyZVJlbW92ZWQgeyAwIH07
CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tSZXNvdXJjZUxvYWRTdGF0
aXN0aWNzTWFuYWdlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0FQSS9DL1dLUmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFnZXIuY3BwCShyZXZpc2lvbiAyMTI0
MzkpCisrKyBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tSZXNvdXJjZUxvYWRTdGF0
aXN0aWNzTWFuYWdlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTU2LDYgKzU2LDIxIEBAIGJvb2wg
V0tSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdlcklzSGEKICAgICByZXR1cm4gV2ViUmVzb3Vy
Y2VMb2FkU3RhdGlzdGljc01hbmFnZXI6Omhhc0hhZFVzZXJJbnRlcmFjdGlvbih0b1dURlN0cmlu
Zyhob3N0TmFtZSkpOwogfQogCit2b2lkIFdLUmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFnZXJT
ZXRTdWJmcmFtZVVuZGVyVG9wRnJhbWVPcmlnaW4oV0tTdHJpbmdSZWYgaG9zdE5hbWUsIFdLU3Ry
aW5nUmVmIHRvcEZyYW1lSG9zdE5hbWUpCit7CisgICAgV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGlj
c01hbmFnZXI6OnNldFN1YmZyYW1lVW5kZXJUb3BGcmFtZU9yaWdpbih0b1dURlN0cmluZyhob3N0
TmFtZSksIHRvV1RGU3RyaW5nKHRvcEZyYW1lSG9zdE5hbWUpKTsKK30KKwordm9pZCBXS1Jlc291
cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VyU2V0U3VicmVzb3VyY2VVbmRlclRvcEZyYW1lT3JpZ2lu
KFdLU3RyaW5nUmVmIGhvc3ROYW1lLCBXS1N0cmluZ1JlZiB0b3BGcmFtZUhvc3ROYW1lKQorewor
ICAgIFdlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VyOjpzZXRTdWJyZXNvdXJjZVVuZGVy
VG9wRnJhbWVPcmlnaW4odG9XVEZTdHJpbmcoaG9zdE5hbWUpLCB0b1dURlN0cmluZyh0b3BGcmFt
ZUhvc3ROYW1lKSk7Cit9CisKK3ZvaWQgV0tSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdlclNl
dFN1YnJlc291cmNlVW5pcXVlUmVkaXJlY3RUbyhXS1N0cmluZ1JlZiBob3N0TmFtZSwgV0tTdHJp
bmdSZWYgaG9zdE5hbWVSZWRpcmVjdGVkVG8pCit7CisgICAgV2ViUmVzb3VyY2VMb2FkU3RhdGlz
dGljc01hbmFnZXI6OnNldFN1YnJlc291cmNlVW5pcXVlUmVkaXJlY3RUbyh0b1dURlN0cmluZyho
b3N0TmFtZSksIHRvV1RGU3RyaW5nKGhvc3ROYW1lUmVkaXJlY3RlZFRvKSk7Cit9CisKIHZvaWQg
V0tSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdlclNldFRpbWVUb0xpdmVVc2VySW50ZXJhY3Rp
b24oZG91YmxlIHNlY29uZHMpCiB7CiAgICAgV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFn
ZXI6OnNldFRpbWVUb0xpdmVVc2VySW50ZXJhY3Rpb24oc2Vjb25kcyk7CkluZGV4OiBTb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdlci5o
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1Jlc291cmNl
TG9hZFN0YXRpc3RpY3NNYW5hZ2VyLmgJKHJldmlzaW9uIDIxMjQzOSkKKysrIFNvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1Jlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VyLmgJKHdv
cmtpbmcgY29weSkKQEAgLTM4LDYgKzM4LDkgQEAgZXh0ZXJuICJDIiB7CiAgICAgV0tfRVhQT1JU
IGJvb2wgV0tSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdlcklzUHJldmFsZW50UmVzb3VyY2Uo
V0tTdHJpbmdSZWYgaG9zdE5hbWUpOwogICAgIFdLX0VYUE9SVCB2b2lkIFdLUmVzb3VyY2VMb2Fk
U3RhdGlzdGljc01hbmFnZXJTZXRIYXNIYWRVc2VySW50ZXJhY3Rpb24oV0tTdHJpbmdSZWYgaG9z
dE5hbWUsIGJvb2wgdmFsdWUpOwogICAgIFdLX0VYUE9SVCBib29sIFdLUmVzb3VyY2VMb2FkU3Rh
dGlzdGljc01hbmFnZXJJc0hhc0hhZFVzZXJJbnRlcmFjdGlvbihXS1N0cmluZ1JlZiBob3N0TmFt
ZSk7CisgICAgV0tfRVhQT1JUIHZvaWQgV0tSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdlclNl
dFN1YmZyYW1lVW5kZXJUb3BGcmFtZU9yaWdpbihXS1N0cmluZ1JlZiBob3N0TmFtZSwgV0tTdHJp
bmdSZWYgdG9wRnJhbWVIb3N0TmFtZSk7CisgICAgV0tfRVhQT1JUIHZvaWQgV0tSZXNvdXJjZUxv
YWRTdGF0aXN0aWNzTWFuYWdlclNldFN1YnJlc291cmNlVW5kZXJUb3BGcmFtZU9yaWdpbihXS1N0
cmluZ1JlZiBob3N0TmFtZSwgV0tTdHJpbmdSZWYgdG9wRnJhbWVIb3N0TmFtZSk7CisgICAgV0tf
RVhQT1JUIHZvaWQgV0tSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdlclNldFN1YnJlc291cmNl
VW5pcXVlUmVkaXJlY3RUbyhXS1N0cmluZ1JlZiBob3N0TmFtZSwgV0tTdHJpbmdSZWYgaG9zdE5h
bWVSZWRpcmVjdGVkVG8pOwogICAgIFdLX0VYUE9SVCB2b2lkIFdLUmVzb3VyY2VMb2FkU3RhdGlz
dGljc01hbmFnZXJTZXRUaW1lVG9MaXZlVXNlckludGVyYWN0aW9uKGRvdWJsZSBzZWNvbmRzKTsK
ICAgICBXS19FWFBPUlQgdm9pZCBXS1Jlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VyU2V0UmVk
dWNlZFRpbWVzdGFtcFJlc29sdXRpb24oZG91YmxlIHNlY29uZHMpOwogICAgIFdLX0VYUE9SVCB2
b2lkIFdLUmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFnZXJGaXJlRGF0YU1vZGlmaWNhdGlvbkhh
bmRsZXIoKTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1dlYktpdDIueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvago9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9XZWJLaXQyLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2oJKHJldmlzaW9uIDIxMjQzOSkKKysrIFNvdXJjZS9XZWJLaXQyL1dlYktp
dDIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkod29ya2luZyBjb3B5KQpAQCAtMTE1MCw2ICsx
MTUwLDEyIEBACiAJCTZCRTk2OTlFMUU0M0I0MUQwMDhCNzQ4MyAvKiBXS1Jlc291cmNlTG9hZFN0
YXRpc3RpY3NNYW5hZ2VyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDZCRTk2OTlEMUU0M0I0MUQwMDhCNzQ4MyAvKiBXS1Jlc291cmNlTG9hZFN0YXRp
c3RpY3NNYW5hZ2VyLmNwcCAqLzsgfTsKIAkJNkJFOTY5QTAxRTQzQjg2RTAwOEI3NDgzIC8qIFdl
YlJlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA2QkU5Njk5RjFFNDNCODZFMDA4Qjc0ODMgLyogV2ViUmVz
b3VyY2VMb2FkU3RhdGlzdGljc01hbmFnZXIuaCAqLzsgfTsKIAkJNkJFOTY5QTIxRTQzQjhBNDAw
OEI3NDgzIC8qIFdlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VyLmNwcCBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDZCRTk2OUExMUU0M0I4QTQwMDhC
NzQ4MyAvKiBXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdlci5jcHAgKi87IH07CisJCTZC
RTk2OUMxMUU1NEQ0NTIwMDhCNzQ4MyAvKiBjb3JlUHJlZGljdGlvbl9tb2RlbCBpbiBSZXNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNkJFOTY5QzAxRTU0RDQ1MjAw
OEI3NDgzIC8qIGNvcmVQcmVkaWN0aW9uX21vZGVsICovOyB9OworCQk2QkU5NjlDNTFFNTRENEE0
MDA4Qjc0ODMgLyogUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXIuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDZCRTk2OUM0MUU1NEQ0QTQwMDhC
NzQ4MyAvKiBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllci5oICovOyB9OworCQk2QkU5
NjlDNzFFNTRENEI2MDA4Qjc0ODMgLyogUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXJC
YXNlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDZC
RTk2OUM2MUU1NEQ0QjYwMDhCNzQ4MyAvKiBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmll
ckJhc2UuY3BwICovOyB9OworCQk2QkU5NjlDQTFFNTRENENGMDA4Qjc0ODMgLyogUmVzb3VyY2VM
b2FkU3RhdGlzdGljc0NsYXNzaWZpZXJDb2NvYS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA2QkU5NjlDODFFNTRENENGMDA4Qjc0ODMgLyogUmVzb3Vy
Y2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXJDb2NvYS5jcHAgKi87IH07CisJCTZCRTk2OUNCMUU1
NEQ0Q0YwMDhCNzQ4MyAvKiBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllckNvY29hLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA2QkU5NjlDOTFF
NTRENENGMDA4Qjc0ODMgLyogUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXJDb2NvYS5o
ICovOyB9OworCQk2QkU5NjlDRDFFNTRFMDU0MDA4Qjc0ODMgLyogUmVzb3VyY2VMb2FkU3RhdGlz
dGljc0NsYXNzaWZpZXJCYXNlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA2QkU5NjlDQzFFNTRFMDU0MDA4Qjc0ODMgLyogUmVzb3VyY2VMb2FkU3RhdGlz
dGljc0NsYXNzaWZpZXJCYXNlLmggKi87IH07CiAJCTZFRTg0OUM4MTM2OEQ5MzkwMDM4RDQ4MSAv
KiBXS0luc3BlY3RvclByaXZhdGVNYWMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDZFRTg0OUM2MTM2OEQ5MkQwMDM4RDQ4MSAvKiBXS0luc3BlY3RvclBy
aXZhdGVNYWMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9
OwogCQk3MjhFODZGMTE3OTUxODhDMDA4Nzg3OUUgLyogV2ViQ29sb3JQaWNrZXJNYWMuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDcyOEU4NkVGMTc5NTE4
OEMwMDg3ODc5RSAvKiBXZWJDb2xvclBpY2tlck1hYy5oICovOyB9OwogCQk3MjhFODZGMjE3OTUx
ODhDMDA4Nzg3OUUgLyogV2ViQ29sb3JQaWNrZXJNYWMubW0gaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3MjhFODZGMDE3OTUxODhDMDA4Nzg3OUUgLyogV2Vi
Q29sb3JQaWNrZXJNYWMubW0gKi87IH07CkBAIC0zMzM4LDYgKzMzNDQsMTIgQEAKIAkJNkJFOTY5
OUQxRTQzQjQxRDAwOEI3NDgzIC8qIFdLUmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFnZXIuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV0tSZXNvdXJjZUxvYWRTdGF0
aXN0aWNzTWFuYWdlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTZCRTk2OTlG
MUU0M0I4NkUwMDhCNzQ4MyAvKiBXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdlci5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNz
TWFuYWdlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk2QkU5NjlBMTFFNDNCOEE0
MDA4Qjc0ODMgLyogV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFnZXIuY3BwICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc01h
bmFnZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk2QkU5NjlDMDFFNTRENDUy
MDA4Qjc0ODMgLyogY29yZVByZWRpY3Rpb25fbW9kZWwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0g
Y29yZVByZWRpY3Rpb25fbW9kZWw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTZCRTk2
OUM0MUU1NEQ0QTQwMDhCNzQ4MyAvKiBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllci5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBSZXNvdXJjZUxvYWRTdGF0aXN0aWNz
Q2xhc3NpZmllci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk2QkU5NjlDNjFFNTRE
NEI2MDA4Qjc0ODMgLyogUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXJCYXNlLmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFJlc291cmNlTG9hZFN0YXRpc3Rp
Y3NDbGFzc2lmaWVyQmFzZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTZCRTk2
OUM4MUU1NEQ0Q0YwMDhCNzQ4MyAvKiBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllckNv
Y29hLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFJlc291cmNlTG9h
ZFN0YXRpc3RpY3NDbGFzc2lmaWVyQ29jb2EuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OworCQk2QkU5NjlDOTFFNTRENENGMDA4Qjc0ODMgLyogUmVzb3VyY2VMb2FkU3RhdGlzdGljc0Ns
YXNzaWZpZXJDb2NvYS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBSZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllckNvY29hLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CisJCTZCRTk2OUNDMUU1NEUwNTQwMDhCNzQ4MyAvKiBSZXNvdXJjZUxvYWRTdGF0aXN0aWNz
Q2xhc3NpZmllckJhc2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUmVzb3Vy
Y2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXJCYXNlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCTZEOEE5MUE1MTFGMEVGRDEwMEREMDFGRSAvKiBjb20uYXBwbGUuV2ViUHJvY2Vzcy5z
Yi5pbiAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHRleHQ7IG5hbWUgPSBjb20uYXBwbGUuV2ViUHJvY2Vzcy5zYi5pbjsg
cGF0aCA9IFdlYlByb2Nlc3MvY29tLmFwcGxlLldlYlByb2Nlc3Muc2IuaW47IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTZFRTg0OUM2MTM2OEQ5MkQwMDM4RDQ4MSAvKiBXS0luc3BlY3Rv
clByaXZhdGVNYWMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gV0tJbnNwZWN0
b3JQcml2YXRlTWFjLmg7IHBhdGggPSBtYWMvV0tJbnNwZWN0b3JQcml2YXRlTWFjLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTcyOEU4NkVGMTc5NTE4OEMwMDg3ODc5RSAvKiBXZWJD
b2xvclBpY2tlck1hYy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJDb2xv
clBpY2tlck1hYy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtNDM1MCw2ICs0MzYy
LDcgQEAKIAkJMDg5QzE2NjVGRTg0MTE1OEMwMkFBQzA3IC8qIFJlc291cmNlcyAqLyA9IHsKIAkJ
CWlzYSA9IFBCWEdyb3VwOwogCQkJY2hpbGRyZW4gPSAoCisJCQkJNkJFOTY5QkYxRTU0RDQ1MjAw
OEI3NDgzIC8qIFJlc291cmNlTG9hZFN0YXRpc3RpY3MgKi8sCiAJCQkJMzdGOEM5NEYxQUUyMkJE
ODAwN0RBQjlFIC8qIG1hYyAqLywKIAkJCQk3Q0IxNkZFMTE3MjRCOUI1MDA3QTBBOTUgLyogUGx1
Z0luU2FuZGJveFByb2ZpbGVzICovLAogCQkJCUE3OENDREQ1MTkzQUM5RTMwMDVFQ0MyNSAvKiBT
YW5kYm94UHJvZmlsZXMgKi8sCkBAIC02MTAzLDYgKzYxMTYsMzUgQEAKIAkJCW5hbWUgPSBDb2Nv
YTsKIAkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CiAJCX07CisJCTZCRTk2OUJGMUU1NEQ0NTIw
MDhCNzQ4MyAvKiBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzICovID0geworCQkJaXNhID0gUEJYR3Jv
dXA7CisJCQljaGlsZHJlbiA9ICgKKwkJCQk2QkU5NjlDMDFFNTRENDUyMDA4Qjc0ODMgLyogY29y
ZVByZWRpY3Rpb25fbW9kZWwgKi8sCisJCQkpOworCQkJbmFtZSA9IFJlc291cmNlTG9hZFN0YXRp
c3RpY3M7CisJCQlwYXRoID0gUmVzb3VyY2VzL1Jlc291cmNlTG9hZFN0YXRpc3RpY3M7CisJCQlz
b3VyY2VUcmVlID0gIjxncm91cD4iOworCQl9OworCQk2QkU5NjlDMjFFNTRENDY3MDA4Qjc0ODMg
LyogY2xhc3NpZmllciAqLyA9IHsKKwkJCWlzYSA9IFBCWEdyb3VwOworCQkJY2hpbGRyZW4gPSAo
CisJCQkJNkJFOTY5QzMxRTU0RDQ2NzAwOEI3NDgzIC8qIGNvY29hICovLAorCQkJCTZCRTk2OUM2
MUU1NEQ0QjYwMDhCNzQ4MyAvKiBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllckJhc2Uu
Y3BwICovLAorCQkJCTZCRTk2OUM0MUU1NEQ0QTQwMDhCNzQ4MyAvKiBSZXNvdXJjZUxvYWRTdGF0
aXN0aWNzQ2xhc3NpZmllci5oICovLAorCQkJCTZCRTk2OUNDMUU1NEUwNTQwMDhCNzQ4MyAvKiBS
ZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllckJhc2UuaCAqLywKKwkJCSk7CisJCQlwYXRo
ID0gY2xhc3NpZmllcjsKKwkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CisJCX07CisJCTZCRTk2
OUMzMUU1NEQ0NjcwMDhCNzQ4MyAvKiBjb2NvYSAqLyA9IHsKKwkJCWlzYSA9IFBCWEdyb3VwOwor
CQkJY2hpbGRyZW4gPSAoCisJCQkJNkJFOTY5QzgxRTU0RDRDRjAwOEI3NDgzIC8qIFJlc291cmNl
TG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQ29jb2EuY3BwICovLAorCQkJCTZCRTk2OUM5MUU1NEQ0
Q0YwMDhCNzQ4MyAvKiBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllckNvY29hLmggKi8s
CisJCQkpOworCQkJcGF0aCA9IGNvY29hOworCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKKwkJ
fTsKIAkJNkVFODQ5QzQxMzY4RDkwNDAwMzhENDgxIC8qIG1hYyAqLyA9IHsKIAkJCWlzYSA9IFBC
WEdyb3VwOwogCQkJY2hpbGRyZW4gPSAoCkBAIC03MDAxLDYgKzcwNDMsNyBAQAogCQlCQzJFNkU3
NDExNDE5NkYwMDBBNjNCMUUgLyogUGxhdGZvcm0gKi8gPSB7CiAJCQlpc2EgPSBQQlhHcm91cDsK
IAkJCWNoaWxkcmVuID0gKAorCQkJCTZCRTk2OUMyMUU1NEQ0NjcwMDhCNzQ4MyAvKiBjbGFzc2lm
aWVyICovLAogCQkJCTM3MDk1MDQxMThBODhCQTQwMDg3QUU1RCAvKiBjZiAqLywKIAkJCQkxQUEy
RTUxQTEyRTRDMDU2MDBCQzQ5NjYgLyogY2cgKi8sCiAJCQkJNDQ1MEFFQkUxREMzRkFBQzAwOTk0
M0YyIC8qIGNvY29hICovLApAQCAtNzg4Myw2ICs3OTI2LDcgQEAKIAkJCQk0MURDNDU5NjFFM0Q2
RTIyMDBCMTFGNTEgLyogTmV0d29ya1JUQ1Byb3ZpZGVyLmggaW4gSGVhZGVycyAqLywKIAkJCQk3
QzFCQTMzRTFBNEEwRTYwMDA0M0UyNDkgLyogQVBJRGljdGlvbmFyeS5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJMUY3RDM2QzExOERBNTEzRjAwRDlENjU5IC8qIEFQSURvd25sb2FkQ2xpZW50LmggaW4g
SGVhZGVycyAqLywKKwkJCQk2QkU5NjlDQjFFNTRENENGMDA4Qjc0ODMgLyogUmVzb3VyY2VMb2Fk
U3RhdGlzdGljc0NsYXNzaWZpZXJDb2NvYS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTE2QTRBNUQx
MjBBMkNDRDAwQzA1QjdGIC8qIEFQSUVycm9yLmggaW4gSGVhZGVycyAqLywKIAkJCQkzMTdGRTdD
NTFDNDg3QTZDMDBBMENBODkgLyogQVBJRXhwZXJpbWVudGFsRmVhdHVyZS5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJMDBCOTY2MTYxOEUyNENCQTAwQ0UxRjg4IC8qIEFQSUZpbmRDbGllbnQuaCBpbiBI
ZWFkZXJzICovLApAQCAtODMwMiw2ICs4MzQ2LDcgQEAKIAkJCQkzMzA5MzQ0QTEzMTVCOTIyMDA5
N0E3QkMgLyogV2ViQ29va2llTWFuYWdlclByb3h5TWVzc2FnZXMuaCBpbiBIZWFkZXJzICovLAog
CQkJCUJDMUREN0IyMTE0REMzOTYwMDVBREFGMyAvKiBXZWJDb3JlQXJndW1lbnRDb2RlcnMuaCBp
biBIZWFkZXJzICovLAogCQkJCTUxMkY1ODlCMTJBODgzODgwMDYyOTUzMCAvKiBXZWJDcmVkZW50
aWFsLmggaW4gSGVhZGVycyAqLywKKwkJCQk2QkU5NjlDNTFFNTRENEE0MDA4Qjc0ODMgLyogUmVz
b3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTFBQTgz
RjZEMUE1QjYzRkYwMDAyNkVDNiAvKiBXZWJEYXRhYmFzZVByb3ZpZGVyLmggaW4gSGVhZGVycyAq
LywKIAkJCQlDRDE5QTI2RTFBMTNFODM0MDA4RDY1MEUgLyogV2ViRGlhZ25vc3RpY0xvZ2dpbmdD
bGllbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTFBNUIxQzU1MTg5ODdFREYwMDRGQ0Y5QiAvKiBX
ZWJEb2N1bWVudExvYWRlci5oIGluIEhlYWRlcnMgKi8sCkBAIC04NTA1LDYgKzg1NTAsNyBAQAog
CQkJCUJDN0I2MzNEMTJBNDVEMTIwMEQxNzRBNCAvKiBXS0J1bmRsZVBhZ2VHcm91cC5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJMUFCNDc0RDgxODRENDNGRDAwNTFCNjIyIC8qIFdLQnVuZGxlUGFnZUxv
YWRlckNsaWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRUQ4MkE3RjIxMjhDNkZBRjAwNDQ3N0Iz
IC8qIFdLQnVuZGxlUGFnZU92ZXJsYXkuaCBpbiBIZWFkZXJzICovLAorCQkJCTZCRTk2OUNEMUU1
NEUwNTQwMDhCNzQ4MyAvKiBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllckJhc2UuaCBp
biBIZWFkZXJzICovLAogCQkJCTFBQjQ3NEVBMTg0RDQ1MTMwMDUxQjYyMiAvKiBXS0J1bmRsZVBh
Z2VQb2xpY3lDbGllbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDMUI0MTk4MTFENDFENTcwMDEx
RThERCAvKiBXS0J1bmRsZVBhZ2VQcml2YXRlLmggaW4gSGVhZGVycyAqLywKIAkJCQkxQUI0NzRE
QTE4NEQ0NDI1MDA1MUI2MjIgLyogV0tCdW5kbGVQYWdlUmVzb3VyY2VMb2FkQ2xpZW50LmggaW4g
SGVhZGVycyAqLywKQEAgLTkwMzgsNiArOTA4NCw3IEBACiAJCQkJN0E1RTM5NEExRDVCRDhCRTAw
QjRCN0NFIC8qIGNvbS5tYWNyb21lZGlhLkZsYXNoIFBsYXllciBFU1IucGx1Z2luLnNiIGluIFJl
c291cmNlcyAqLywKIAkJCQk4REMyRUY1MzA0ODZBNjk0MDA5OEIyMTYgLyogSW5mb1BsaXN0LnN0
cmluZ3MgaW4gUmVzb3VyY2VzICovLAogCQkJCTkzQTJBMzQ2MUQyNDYxMjUwMDJCNTlEMyAvKiBt
ZWRpYUljb24ucGRmIGluIFJlc291cmNlcyAqLywKKwkJCQk2QkU5NjlDMTFFNTRENDUyMDA4Qjc0
ODMgLyogY29yZVByZWRpY3Rpb25fbW9kZWwgaW4gUmVzb3VyY2VzICovLAogCQkJKTsKIAkJCXJ1
bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwogCQl9OwpAQCAtOTYyNiw2ICs5
NjczLDcgQEAKIAkJCQk1MTc5NTU2NzE2Mjg3NkNCMDBGQTQzQjYgLyogTmV0d29ya1Byb2Nlc3NN
YWMubW0gaW4gU291cmNlcyAqLywKIAkJCQk1MTYzMTk5NDE2Mjg5QTYwMDBFMjJGMDAgLyogTmV0
d29ya1Byb2Nlc3NNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJRTE0QTk1
NDkxNkUwMTZBNDAwNjhERTgyIC8qIE5ldHdvcmtQcm9jZXNzUGxhdGZvcm1TdHJhdGVnaWVzLmNw
cCBpbiBTb3VyY2VzICovLAorCQkJCTZCRTk2OUNBMUU1NEQ0Q0YwMDhCNzQ4MyAvKiBSZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllckNvY29hLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTUx
Nzk1NTZEMTYyODc3QjEwMEZBNDNCNiAvKiBOZXR3b3JrUHJvY2Vzc1Byb3h5LmNwcCBpbiBTb3Vy
Y2VzICovLAogCQkJCTUxNjMxOTkyMTYyODk4MEEwMEUyMkYwMCAvKiBOZXR3b3JrUHJvY2Vzc1By
b3h5TWFjLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJNTEzQTE2M0MxNjMwODhGNjAwNUQ3RDIyIC8q
IE5ldHdvcmtQcm9jZXNzUHJveHlNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8sCkBA
IC05OTY5LDYgKzEwMDE3LDcgQEAKIAkJCQlEM0I5NDg0NjExRkY0QjY1MDAwMzJCMzkgLyogV2Vi
UG9wdXBNZW51LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUJDQzQzQUM3MTI3Qjk5REUwMDMxN0Yx
NiAvKiBXZWJQb3B1cE1lbnVNYWMubW0gaW4gU291cmNlcyAqLywKIAkJCQlCQzU3NTA5ODEyNjhG
M0M2MDA2RjBGMTIgLyogV2ViUG9wdXBNZW51UHJveHlNYWMubW0gaW4gU291cmNlcyAqLywKKwkJ
CQk2QkU5NjlDNzFFNTRENEI2MDA4Qjc0ODMgLyogUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNz
aWZpZXJCYXNlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUJDRDU5ODAwMTEyQjU3QkUwMEVDOEMy
MyAvKiBXZWJQcmVmZXJlbmNlcy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk3Qzg1RkQ3RjE5MzQx
NjY1MDAwMTc3QzQgLyogV2ViUHJlZmVyZW5jZXNLZXlzLmNwcCBpbiBTb3VyY2VzICovLAogCQkJ
CUJDODRFQjE4MTJBNzEwMEMwMDgzRjJEQSAvKiBXZWJQcmVmZXJlbmNlc01hYy5tbSBpbiBTb3Vy
Y2VzICovLApAQCAtOTk5Niw3ICsxMDA0NSw3IEBACiAJCQkJMzc2MDg4MUUxNTA0MTNFOTAwRkM4
MkM3IC8qIFdlYlJlbmRlck9iamVjdC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk1MTBBRkZCOTE2
NTQyMDQ4MDAxQkEwNUUgLyogV2ViUmVzb3VyY2VMb2FkZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJ
CQkJNTFGMDYwRTExNjU0MzE4NTAwRjMyODFCIC8qIFdlYlJlc291cmNlTG9hZGVyTWVzc2FnZVJl
Y2VpdmVyLmNwcCBpbiBTb3VyY2VzICovLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICA2QkU5NjlBMjFFNDNCOEE0MDA4Qjc0ODMgLyogV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc01h
bmFnZXIuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJNkJFOTY5QTIxRTQzQjhBNDAwOEI3NDgzIC8q
IFdlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJ
CTUxRjA2MEUxMTY1NDMxODUwMEYzMjgxQyAvKiBXZWJSVENTb2NrZXRNZXNzYWdlUmVjZWl2ZXIu
Y3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNTFGMDYwRTExNjU0MzE4NTAwRjMyODJDIC8qIFdlYlJU
Q1Jlc29sdmVyTWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTUxRjA2MEUx
MTY1NDMxODUwMEYzMjgxRCAvKiBOZXR3b3JrUlRDU29ja2V0TWVzc2FnZVJlY2VpdmVyLmNwcCBp
biBTb3VyY2VzICovLApAQCAtMTAxODcsNyArMTAyMzYsNyBAQAogCQkJCTM3OTQ4NDA4MTUwQzRC
OTcwMEU1MkNFOSAvKiBXS1JlbmRlckxheWVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTM3NjA4
ODIyMTUwNDE0RjcwMEZDODJDNyAvKiBXS1JlbmRlck9iamVjdC5jcHAgaW4gU291cmNlcyAqLywK
IAkJCQkzMzM2NzYzQTEzMEM5OURDMDA2QzlERTIgLyogV0tSZXNvdXJjZUNhY2hlTWFuYWdlci5j
cHAgaW4gU291cmNlcyAqLywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNkJFOTY5
OUUxRTQzQjQxRDAwOEI3NDgzIC8qIFdLUmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFnZXIuY3Bw
IGluIFNvdXJjZXMgKi8sCisJCQkJNkJFOTY5OUUxRTQzQjQxRDAwOEI3NDgzIC8qIFdLUmVzb3Vy
Y2VMb2FkU3RhdGlzdGljc01hbmFnZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMUE3RTM3Nzgx
OEU0QTRGRTAwM0QwRkZGIC8qIFdLU2NyaXB0TWVzc2FnZS5tbSBpbiBTb3VyY2VzICovLAogCQkJ
CTBGQ0I0RTU1MThCQkUwNDQwMDBGQ0ZDOSAvKiBXS1Njcm9sbFZpZXcubW0gaW4gU291cmNlcyAq
LywKIAkJCQk1MUNEMUM2NjFCMzRCOURDMDAxNDJDQTUgLyogV0tTZWN1cml0eU9yaWdpbi5tbSBp
biBTb3VyY2VzICovLApJbmRleDogVG9vbHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xz
L0NoYW5nZUxvZwkocmV2aXNpb24gMjEyNDgyKQorKysgVG9vbHMvQ2hhbmdlTG9nCSh3b3JraW5n
IGNvcHkpCkBAIC0xLDMgKzEsMzAgQEAKKzIwMTctMDItMTYgIEpvaG4gV2lsYW5kZXIgIDx3aWxh
bmRlckBhcHBsZS5jb20+CisKKyAgICAgICAgUmVzb3VyY2UgTG9hZCBTdGF0aXN0aWNzOiBBZGQg
YWx0ZXJuYXRlIGNsYXNzaWZpY2F0aW9uIG1ldGhvZAorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY4MzQ3CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8z
MDM1Mjc5Mz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBBZGRlZCB0aHJlZSB0ZXN0UnVubmVyIGZ1bmN0aW9ucyB0byBmYWNpbGl0YXRlIGxheW91dCB0
ZXN0czoKKyAgICAgICAgLSBzZXRTdGF0aXN0aWNzU3ViZnJhbWVVbmRlclRvcEZyYW1lT3JpZ2lu
KCkKKyAgICAgICAgLSBzZXRTdGF0aXN0aWNzU3VicmVzb3VyY2VVbmRlclRvcEZyYW1lT3JpZ2lu
KCkKKyAgICAgICAgLSBzZXRTdGF0aXN0aWNzU3VicmVzb3VyY2VVbmlxdWVSZWRpcmVjdFRvKCkK
KworICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvQmluZGluZ3MvVGVz
dFJ1bm5lci5pZGw6CisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9U
ZXN0UnVubmVyLmNwcDoKKyAgICAgICAgKFdUUjo6VGVzdFJ1bm5lcjo6c2V0U3RhdGlzdGljc1N1
YmZyYW1lVW5kZXJUb3BGcmFtZU9yaWdpbik6CisgICAgICAgIChXVFI6OlRlc3RSdW5uZXI6OnNl
dFN0YXRpc3RpY3NTdWJyZXNvdXJjZVVuZGVyVG9wRnJhbWVPcmlnaW4pOgorICAgICAgICAoV1RS
OjpUZXN0UnVubmVyOjpzZXRTdGF0aXN0aWNzU3VicmVzb3VyY2VVbmlxdWVSZWRpcmVjdFRvKToK
KyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL1Rlc3RSdW5uZXIuaDoK
KyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmNwcDoKKyAgICAgICAg
KFdUUjo6VGVzdENvbnRyb2xsZXI6OnNldFN0YXRpc3RpY3NTdWJmcmFtZVVuZGVyVG9wRnJhbWVP
cmlnaW4pOgorICAgICAgICAoV1RSOjpUZXN0Q29udHJvbGxlcjo6c2V0U3RhdGlzdGljc1N1YnJl
c291cmNlVW5kZXJUb3BGcmFtZU9yaWdpbik6CisgICAgICAgIChXVFI6OlRlc3RDb250cm9sbGVy
OjpzZXRTdGF0aXN0aWNzU3VicmVzb3VyY2VVbmlxdWVSZWRpcmVjdFRvKToKKyAgICAgICAgKiBX
ZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmg6CisgICAgICAgICogV2ViS2l0VGVzdFJ1
bm5lci9UZXN0SW52b2NhdGlvbi5jcHA6CisgICAgICAgIChXVFI6OlRlc3RJbnZvY2F0aW9uOjpk
aWRSZWNlaXZlU3luY2hyb25vdXNNZXNzYWdlRnJvbUluamVjdGVkQnVuZGxlKToKKwogMjAxNy0w
Mi0xNiAgQWxleCBDaHJpc3RlbnNlbiAgPGFjaHJpc3RlbnNlbkB3ZWJraXQub3JnPgogCiAgICAg
ICAgIFNwZWNpYWwgVVJMcyB3aXRob3V0IGEgaG9zdCBhcmUgaW52YWxpZApJbmRleDogVG9vbHMv
V2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMv
V2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5jcHAJKHJldmlzaW9uIDIxMjQzOSkKKysr
IFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC0yMjI5LDYgKzIyMjksMjEgQEAgYm9vbCBUZXN0Q29udHJvbGxlcjo6aXNTdGF0aXN0aWNz
SGFzSGFkVQogICAgIHJldHVybiBXS1Jlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VySXNIYXNI
YWRVc2VySW50ZXJhY3Rpb24oaG9zdE5hbWUpOwogfQogCit2b2lkIFRlc3RDb250cm9sbGVyOjpz
ZXRTdGF0aXN0aWNzU3ViZnJhbWVVbmRlclRvcEZyYW1lT3JpZ2luKFdLU3RyaW5nUmVmIGhvc3RO
YW1lLCBXS1N0cmluZ1JlZiB0b3BGcmFtZUhvc3ROYW1lKQoreworICAgIFdLUmVzb3VyY2VMb2Fk
U3RhdGlzdGljc01hbmFnZXJTZXRTdWJmcmFtZVVuZGVyVG9wRnJhbWVPcmlnaW4oaG9zdE5hbWUs
IHRvcEZyYW1lSG9zdE5hbWUpOworfQorCit2b2lkIFRlc3RDb250cm9sbGVyOjpzZXRTdGF0aXN0
aWNzU3VicmVzb3VyY2VVbmRlclRvcEZyYW1lT3JpZ2luKFdLU3RyaW5nUmVmIGhvc3ROYW1lLCBX
S1N0cmluZ1JlZiB0b3BGcmFtZUhvc3ROYW1lKQoreworICAgIFdLUmVzb3VyY2VMb2FkU3RhdGlz
dGljc01hbmFnZXJTZXRTdWJyZXNvdXJjZVVuZGVyVG9wRnJhbWVPcmlnaW4oaG9zdE5hbWUsIHRv
cEZyYW1lSG9zdE5hbWUpOworfQorICAgIAordm9pZCBUZXN0Q29udHJvbGxlcjo6c2V0U3RhdGlz
dGljc1N1YnJlc291cmNlVW5pcXVlUmVkaXJlY3RUbyhXS1N0cmluZ1JlZiBob3N0TmFtZSwgV0tT
dHJpbmdSZWYgaG9zdE5hbWVSZWRpcmVjdGVkVG8pCit7CisgICAgV0tSZXNvdXJjZUxvYWRTdGF0
aXN0aWNzTWFuYWdlclNldFN1YnJlc291cmNlVW5pcXVlUmVkaXJlY3RUbyhob3N0TmFtZSwgaG9z
dE5hbWVSZWRpcmVjdGVkVG8pOworfQorCiB2b2lkIFRlc3RDb250cm9sbGVyOjpzZXRTdGF0aXN0
aWNzVGltZVRvTGl2ZVVzZXJJbnRlcmFjdGlvbihkb3VibGUgc2Vjb25kcykKIHsKICAgICBXS1Jl
c291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VyU2V0VGltZVRvTGl2ZVVzZXJJbnRlcmFjdGlvbihz
ZWNvbmRzKTsKSW5kZXg6IFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuaAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBUb29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmgJKHJl
dmlzaW9uIDIxMjQzOSkKKysrIFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIu
aAkod29ya2luZyBjb3B5KQpAQCAtMTUyLDYgKzE1Miw5IEBAIHB1YmxpYzoKICAgICBib29sIGlz
U3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNlKFdLU3RyaW5nUmVmIGhvc3ROYW1lKTsKICAgICB2
b2lkIHNldFN0YXRpc3RpY3NIYXNIYWRVc2VySW50ZXJhY3Rpb24oV0tTdHJpbmdSZWYgaG9zdE5h
bWUsIGJvb2wgdmFsdWUpOwogICAgIGJvb2wgaXNTdGF0aXN0aWNzSGFzSGFkVXNlckludGVyYWN0
aW9uKFdLU3RyaW5nUmVmIGhvc3ROYW1lKTsKKyAgICB2b2lkIHNldFN0YXRpc3RpY3NTdWJmcmFt
ZVVuZGVyVG9wRnJhbWVPcmlnaW4oV0tTdHJpbmdSZWYgaG9zdE5hbWUsIFdLU3RyaW5nUmVmIHRv
cEZyYW1lSG9zdE5hbWUpOworICAgIHZvaWQgc2V0U3RhdGlzdGljc1N1YnJlc291cmNlVW5kZXJU
b3BGcmFtZU9yaWdpbihXS1N0cmluZ1JlZiBob3N0TmFtZSwgV0tTdHJpbmdSZWYgdG9wRnJhbWVI
b3N0TmFtZSk7CisgICAgdm9pZCBzZXRTdGF0aXN0aWNzU3VicmVzb3VyY2VVbmlxdWVSZWRpcmVj
dFRvKFdLU3RyaW5nUmVmIGhvc3ROYW1lLCBXS1N0cmluZ1JlZiBob3N0TmFtZVJlZGlyZWN0ZWRU
byk7CiAgICAgdm9pZCBzZXRTdGF0aXN0aWNzVGltZVRvTGl2ZVVzZXJJbnRlcmFjdGlvbihkb3Vi
bGUgc2Vjb25kcyk7CiAgICAgdm9pZCBzdGF0aXN0aWNzRmlyZURhdGFNb2RpZmljYXRpb25IYW5k
bGVyKCk7CiAgICAgdm9pZCBzZXRTdGF0aXN0aWNzTm90aWZ5UGFnZXNXaGVuRGF0YVJlY29yZHNX
ZXJlU2Nhbm5lZChib29sKTsKSW5kZXg6IFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdEludm9j
YXRpb24uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdEludm9j
YXRpb24uY3BwCShyZXZpc2lvbiAyMTI0MzkpCisrKyBUb29scy9XZWJLaXRUZXN0UnVubmVyL1Rl
c3RJbnZvY2F0aW9uLmNwcAkod29ya2luZyBjb3B5KQpAQCAtOTMyLDYgKzkzMiw0OCBAQCBXS1Jl
dGFpblB0cjxXS1R5cGVSZWY+IFRlc3RJbnZvY2F0aW9uOjpkCiAgICAgICAgIHJldHVybiByZXN1
bHQ7CiAgICAgfQogICAgIAorICAgIGlmIChXS1N0cmluZ0lzRXF1YWxUb1VURjhDU3RyaW5nKG1l
c3NhZ2VOYW1lLCAiU2V0U3RhdGlzdGljc1N1YmZyYW1lVW5kZXJUb3BGcmFtZU9yaWdpbiIpKSB7
CisgICAgICAgIEFTU0VSVChXS0dldFR5cGVJRChtZXNzYWdlQm9keSkgPT0gV0tEaWN0aW9uYXJ5
R2V0VHlwZUlEKCkpOworICAgICAgICAKKyAgICAgICAgV0tEaWN0aW9uYXJ5UmVmIG1lc3NhZ2VC
b2R5RGljdGlvbmFyeSA9IHN0YXRpY19jYXN0PFdLRGljdGlvbmFyeVJlZj4obWVzc2FnZUJvZHkp
OworICAgICAgICBXS1JldGFpblB0cjxXS1N0cmluZ1JlZj4gaG9zdE5hbWVLZXkoQWRvcHRXSywg
V0tTdHJpbmdDcmVhdGVXaXRoVVRGOENTdHJpbmcoIkhvc3ROYW1lIikpOworICAgICAgICBXS1Jl
dGFpblB0cjxXS1N0cmluZ1JlZj4gdG9wRnJhbWVIb3N0TmFtZUtleShBZG9wdFdLLCBXS1N0cmlu
Z0NyZWF0ZVdpdGhVVEY4Q1N0cmluZygiVG9wRnJhbWVIb3N0TmFtZSIpKTsKKyAgICAgICAgCisg
ICAgICAgIFdLU3RyaW5nUmVmIGhvc3ROYW1lID0gc3RhdGljX2Nhc3Q8V0tTdHJpbmdSZWY+KFdL
RGljdGlvbmFyeUdldEl0ZW1Gb3JLZXkobWVzc2FnZUJvZHlEaWN0aW9uYXJ5LCBob3N0TmFtZUtl
eS5nZXQoKSkpOworICAgICAgICBXS1N0cmluZ1JlZiB0b3BGcmFtZUhvc3ROYW1lID0gc3RhdGlj
X2Nhc3Q8V0tTdHJpbmdSZWY+KFdLRGljdGlvbmFyeUdldEl0ZW1Gb3JLZXkobWVzc2FnZUJvZHlE
aWN0aW9uYXJ5LCB0b3BGcmFtZUhvc3ROYW1lS2V5LmdldCgpKSk7CisKKyAgICAgICAgVGVzdENv
bnRyb2xsZXI6OnNpbmdsZXRvbigpLnNldFN0YXRpc3RpY3NTdWJmcmFtZVVuZGVyVG9wRnJhbWVP
cmlnaW4oaG9zdE5hbWUsIHRvcEZyYW1lSG9zdE5hbWUpOworICAgICAgICByZXR1cm4gbnVsbHB0
cjsKKyAgICB9CisgICAgCisgICAgaWYgKFdLU3RyaW5nSXNFcXVhbFRvVVRGOENTdHJpbmcobWVz
c2FnZU5hbWUsICJTZXRTdGF0aXN0aWNzU3VicmVzb3VyY2VVbmRlclRvcEZyYW1lT3JpZ2luIikp
IHsKKyAgICAgICAgQVNTRVJUKFdLR2V0VHlwZUlEKG1lc3NhZ2VCb2R5KSA9PSBXS0RpY3Rpb25h
cnlHZXRUeXBlSUQoKSk7CisgICAgICAgIAorICAgICAgICBXS0RpY3Rpb25hcnlSZWYgbWVzc2Fn
ZUJvZHlEaWN0aW9uYXJ5ID0gc3RhdGljX2Nhc3Q8V0tEaWN0aW9uYXJ5UmVmPihtZXNzYWdlQm9k
eSk7CisgICAgICAgIFdLUmV0YWluUHRyPFdLU3RyaW5nUmVmPiBob3N0TmFtZUtleShBZG9wdFdL
LCBXS1N0cmluZ0NyZWF0ZVdpdGhVVEY4Q1N0cmluZygiSG9zdE5hbWUiKSk7CisgICAgICAgIFdL
UmV0YWluUHRyPFdLU3RyaW5nUmVmPiB0b3BGcmFtZUhvc3ROYW1lS2V5KEFkb3B0V0ssIFdLU3Ry
aW5nQ3JlYXRlV2l0aFVURjhDU3RyaW5nKCJUb3BGcmFtZUhvc3ROYW1lIikpOworICAgICAgICAK
KyAgICAgICAgV0tTdHJpbmdSZWYgaG9zdE5hbWUgPSBzdGF0aWNfY2FzdDxXS1N0cmluZ1JlZj4o
V0tEaWN0aW9uYXJ5R2V0SXRlbUZvcktleShtZXNzYWdlQm9keURpY3Rpb25hcnksIGhvc3ROYW1l
S2V5LmdldCgpKSk7CisgICAgICAgIFdLU3RyaW5nUmVmIHRvcEZyYW1lSG9zdE5hbWUgPSBzdGF0
aWNfY2FzdDxXS1N0cmluZ1JlZj4oV0tEaWN0aW9uYXJ5R2V0SXRlbUZvcktleShtZXNzYWdlQm9k
eURpY3Rpb25hcnksIHRvcEZyYW1lSG9zdE5hbWVLZXkuZ2V0KCkpKTsKKyAgICAgICAgCisgICAg
ICAgIFRlc3RDb250cm9sbGVyOjpzaW5nbGV0b24oKS5zZXRTdGF0aXN0aWNzU3VicmVzb3VyY2VV
bmRlclRvcEZyYW1lT3JpZ2luKGhvc3ROYW1lLCB0b3BGcmFtZUhvc3ROYW1lKTsKKyAgICAgICAg
cmV0dXJuIG51bGxwdHI7CisgICAgfQorICAgIAorICAgIGlmIChXS1N0cmluZ0lzRXF1YWxUb1VU
RjhDU3RyaW5nKG1lc3NhZ2VOYW1lLCAiU2V0U3RhdGlzdGljc1N1YnJlc291cmNlVW5pcXVlUmVk
aXJlY3RUbyIpKSB7CisgICAgICAgIEFTU0VSVChXS0dldFR5cGVJRChtZXNzYWdlQm9keSkgPT0g
V0tEaWN0aW9uYXJ5R2V0VHlwZUlEKCkpOworICAgICAgICAKKyAgICAgICAgV0tEaWN0aW9uYXJ5
UmVmIG1lc3NhZ2VCb2R5RGljdGlvbmFyeSA9IHN0YXRpY19jYXN0PFdLRGljdGlvbmFyeVJlZj4o
bWVzc2FnZUJvZHkpOworICAgICAgICBXS1JldGFpblB0cjxXS1N0cmluZ1JlZj4gaG9zdE5hbWVL
ZXkoQWRvcHRXSywgV0tTdHJpbmdDcmVhdGVXaXRoVVRGOENTdHJpbmcoIkhvc3ROYW1lIikpOwor
ICAgICAgICBXS1JldGFpblB0cjxXS1N0cmluZ1JlZj4gaG9zdE5hbWVSZWRpcmVjdGVkVG9LZXko
QWRvcHRXSywgV0tTdHJpbmdDcmVhdGVXaXRoVVRGOENTdHJpbmcoIkhvc3ROYW1lUmVkaXJlY3Rl
ZFRvIikpOworICAgICAgICAKKyAgICAgICAgV0tTdHJpbmdSZWYgaG9zdE5hbWUgPSBzdGF0aWNf
Y2FzdDxXS1N0cmluZ1JlZj4oV0tEaWN0aW9uYXJ5R2V0SXRlbUZvcktleShtZXNzYWdlQm9keURp
Y3Rpb25hcnksIGhvc3ROYW1lS2V5LmdldCgpKSk7CisgICAgICAgIFdLU3RyaW5nUmVmIGhvc3RO
YW1lUmVkaXJlY3RlZFRvID0gc3RhdGljX2Nhc3Q8V0tTdHJpbmdSZWY+KFdLRGljdGlvbmFyeUdl
dEl0ZW1Gb3JLZXkobWVzc2FnZUJvZHlEaWN0aW9uYXJ5LCBob3N0TmFtZVJlZGlyZWN0ZWRUb0tl
eS5nZXQoKSkpOworICAgICAgICAKKyAgICAgICAgVGVzdENvbnRyb2xsZXI6OnNpbmdsZXRvbigp
LnNldFN0YXRpc3RpY3NTdWJyZXNvdXJjZVVuaXF1ZVJlZGlyZWN0VG8oaG9zdE5hbWUsIGhvc3RO
YW1lUmVkaXJlY3RlZFRvKTsKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7CisgICAgfQorCiAgICAg
aWYgKFdLU3RyaW5nSXNFcXVhbFRvVVRGOENTdHJpbmcobWVzc2FnZU5hbWUsICJTZXRTdGF0aXN0
aWNzVGltZVRvTGl2ZVVzZXJJbnRlcmFjdGlvbiIpKSB7CiAgICAgICAgIEFTU0VSVChXS0dldFR5
cGVJRChtZXNzYWdlQm9keSkgPT0gV0tEb3VibGVHZXRUeXBlSUQoKSk7CiAgICAgICAgIFdLRG91
YmxlUmVmIHNlY29uZHMgPSBzdGF0aWNfY2FzdDxXS0RvdWJsZVJlZj4obWVzc2FnZUJvZHkpOwpJ
bmRleDogVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9UZXN0UnVubmVyLmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBUb29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL1Rl
c3RSdW5uZXIuY3BwCShyZXZpc2lvbiAyMTI0MzkpCisrKyBUb29scy9XZWJLaXRUZXN0UnVubmVy
L0luamVjdGVkQnVuZGxlL1Rlc3RSdW5uZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMjI2LDYg
KzEyMjYsODQgQEAgYm9vbCBUZXN0UnVubmVyOjppc1N0YXRpc3RpY3NIYXNIYWRVc2VySQogICAg
IHJldHVybiBXS0Jvb2xlYW5HZXRWYWx1ZShzdGF0aWNfY2FzdDxXS0Jvb2xlYW5SZWY+KHJldHVy
bkRhdGEpKTsKIH0KIAordm9pZCBUZXN0UnVubmVyOjpzZXRTdGF0aXN0aWNzU3ViZnJhbWVVbmRl
clRvcEZyYW1lT3JpZ2luKEpTU3RyaW5nUmVmIGhvc3ROYW1lLCBKU1N0cmluZ1JlZiB0b3BGcmFt
ZUhvc3ROYW1lKQoreworICAgIFZlY3RvcjxXS1JldGFpblB0cjxXS1N0cmluZ1JlZj4+IGtleXM7
CisgICAgVmVjdG9yPFdLUmV0YWluUHRyPFdLVHlwZVJlZj4+IHZhbHVlczsKKyAgICAKKyAgICBr
ZXlzLmFwcGVuZCh7IEFkb3B0V0ssIFdLU3RyaW5nQ3JlYXRlV2l0aFVURjhDU3RyaW5nKCJIb3N0
TmFtZSIpIH0pOworICAgIHZhbHVlcy5hcHBlbmQoeyBBZG9wdFdLLCBXS1N0cmluZ0NyZWF0ZVdp
dGhKU1N0cmluZyhob3N0TmFtZSkgfSk7CisgICAgCisgICAga2V5cy5hcHBlbmQoeyBBZG9wdFdL
LCBXS1N0cmluZ0NyZWF0ZVdpdGhVVEY4Q1N0cmluZygiVG9wRnJhbWVIb3N0TmFtZSIpIH0pOwor
ICAgIHZhbHVlcy5hcHBlbmQoeyBBZG9wdFdLLCBXS1N0cmluZ0NyZWF0ZVdpdGhKU1N0cmluZyh0
b3BGcmFtZUhvc3ROYW1lKSB9KTsKKyAgICAKKyAgICBWZWN0b3I8V0tTdHJpbmdSZWY+IHJhd0tl
eXM7CisgICAgVmVjdG9yPFdLVHlwZVJlZj4gcmF3VmFsdWVzOworICAgIHJhd0tleXMucmVzaXpl
KGtleXMuc2l6ZSgpKTsKKyAgICByYXdWYWx1ZXMucmVzaXplKHZhbHVlcy5zaXplKCkpOworICAg
IAorICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwga2V5cy5zaXplKCk7ICsraSkgeworICAgICAg
ICByYXdLZXlzW2ldID0ga2V5c1tpXS5nZXQoKTsKKyAgICAgICAgcmF3VmFsdWVzW2ldID0gdmFs
dWVzW2ldLmdldCgpOworICAgIH0KKyAgICAKKyAgICBXS1JldGFpblB0cjxXS1N0cmluZ1JlZj4g
bWVzc2FnZU5hbWUoQWRvcHRXSywgV0tTdHJpbmdDcmVhdGVXaXRoVVRGOENTdHJpbmcoIlNldFN0
YXRpc3RpY3NTdWJmcmFtZVVuZGVyVG9wRnJhbWVPcmlnaW4iKSk7CisgICAgV0tSZXRhaW5QdHI8
V0tEaWN0aW9uYXJ5UmVmPiBtZXNzYWdlQm9keShBZG9wdFdLLCBXS0RpY3Rpb25hcnlDcmVhdGUo
cmF3S2V5cy5kYXRhKCksIHJhd1ZhbHVlcy5kYXRhKCksIHJhd0tleXMuc2l6ZSgpKSk7CisgICAg
V0tCdW5kbGVQb3N0U3luY2hyb25vdXNNZXNzYWdlKEluamVjdGVkQnVuZGxlOjpzaW5nbGV0b24o
KS5idW5kbGUoKSwgbWVzc2FnZU5hbWUuZ2V0KCksIG1lc3NhZ2VCb2R5LmdldCgpLCBudWxscHRy
KTsKK30KKwordm9pZCBUZXN0UnVubmVyOjpzZXRTdGF0aXN0aWNzU3VicmVzb3VyY2VVbmRlclRv
cEZyYW1lT3JpZ2luKEpTU3RyaW5nUmVmIGhvc3ROYW1lLCBKU1N0cmluZ1JlZiB0b3BGcmFtZUhv
c3ROYW1lKQoreworICAgIFZlY3RvcjxXS1JldGFpblB0cjxXS1N0cmluZ1JlZj4+IGtleXM7Cisg
ICAgVmVjdG9yPFdLUmV0YWluUHRyPFdLVHlwZVJlZj4+IHZhbHVlczsKKyAgICAKKyAgICBrZXlz
LmFwcGVuZCh7IEFkb3B0V0ssIFdLU3RyaW5nQ3JlYXRlV2l0aFVURjhDU3RyaW5nKCJIb3N0TmFt
ZSIpIH0pOworICAgIHZhbHVlcy5hcHBlbmQoeyBBZG9wdFdLLCBXS1N0cmluZ0NyZWF0ZVdpdGhK
U1N0cmluZyhob3N0TmFtZSkgfSk7CisgICAgCisgICAga2V5cy5hcHBlbmQoeyBBZG9wdFdLLCBX
S1N0cmluZ0NyZWF0ZVdpdGhVVEY4Q1N0cmluZygiVG9wRnJhbWVIb3N0TmFtZSIpIH0pOworICAg
IHZhbHVlcy5hcHBlbmQoeyBBZG9wdFdLLCBXS1N0cmluZ0NyZWF0ZVdpdGhKU1N0cmluZyh0b3BG
cmFtZUhvc3ROYW1lKSB9KTsKKyAgICAKKyAgICBWZWN0b3I8V0tTdHJpbmdSZWY+IHJhd0tleXM7
CisgICAgVmVjdG9yPFdLVHlwZVJlZj4gcmF3VmFsdWVzOworICAgIHJhd0tleXMucmVzaXplKGtl
eXMuc2l6ZSgpKTsKKyAgICByYXdWYWx1ZXMucmVzaXplKHZhbHVlcy5zaXplKCkpOworICAgIAor
ICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwga2V5cy5zaXplKCk7ICsraSkgeworICAgICAgICBy
YXdLZXlzW2ldID0ga2V5c1tpXS5nZXQoKTsKKyAgICAgICAgcmF3VmFsdWVzW2ldID0gdmFsdWVz
W2ldLmdldCgpOworICAgIH0KKyAgICAKKyAgICBXS1JldGFpblB0cjxXS1N0cmluZ1JlZj4gbWVz
c2FnZU5hbWUoQWRvcHRXSywgV0tTdHJpbmdDcmVhdGVXaXRoVVRGOENTdHJpbmcoIlNldFN0YXRp
c3RpY3NTdWJyZXNvdXJjZVVuZGVyVG9wRnJhbWVPcmlnaW4iKSk7CisgICAgV0tSZXRhaW5QdHI8
V0tEaWN0aW9uYXJ5UmVmPiBtZXNzYWdlQm9keShBZG9wdFdLLCBXS0RpY3Rpb25hcnlDcmVhdGUo
cmF3S2V5cy5kYXRhKCksIHJhd1ZhbHVlcy5kYXRhKCksIHJhd0tleXMuc2l6ZSgpKSk7CisgICAg
V0tCdW5kbGVQb3N0U3luY2hyb25vdXNNZXNzYWdlKEluamVjdGVkQnVuZGxlOjpzaW5nbGV0b24o
KS5idW5kbGUoKSwgbWVzc2FnZU5hbWUuZ2V0KCksIG1lc3NhZ2VCb2R5LmdldCgpLCBudWxscHRy
KTsKK30KKwordm9pZCBUZXN0UnVubmVyOjpzZXRTdGF0aXN0aWNzU3VicmVzb3VyY2VVbmlxdWVS
ZWRpcmVjdFRvKEpTU3RyaW5nUmVmIGhvc3ROYW1lLCBKU1N0cmluZ1JlZiBob3N0TmFtZVJlZGly
ZWN0ZWRUbykKK3sKKyAgICBWZWN0b3I8V0tSZXRhaW5QdHI8V0tTdHJpbmdSZWY+PiBrZXlzOwor
ICAgIFZlY3RvcjxXS1JldGFpblB0cjxXS1R5cGVSZWY+PiB2YWx1ZXM7CisgICAgCisgICAga2V5
cy5hcHBlbmQoeyBBZG9wdFdLLCBXS1N0cmluZ0NyZWF0ZVdpdGhVVEY4Q1N0cmluZygiSG9zdE5h
bWUiKSB9KTsKKyAgICB2YWx1ZXMuYXBwZW5kKHsgQWRvcHRXSywgV0tTdHJpbmdDcmVhdGVXaXRo
SlNTdHJpbmcoaG9zdE5hbWUpIH0pOworICAgIAorICAgIGtleXMuYXBwZW5kKHsgQWRvcHRXSywg
V0tTdHJpbmdDcmVhdGVXaXRoVVRGOENTdHJpbmcoIkhvc3ROYW1lUmVkaXJlY3RlZFRvIikgfSk7
CisgICAgdmFsdWVzLmFwcGVuZCh7IEFkb3B0V0ssIFdLU3RyaW5nQ3JlYXRlV2l0aEpTU3RyaW5n
KGhvc3ROYW1lUmVkaXJlY3RlZFRvKSB9KTsKKyAgICAKKyAgICBWZWN0b3I8V0tTdHJpbmdSZWY+
IHJhd0tleXM7CisgICAgVmVjdG9yPFdLVHlwZVJlZj4gcmF3VmFsdWVzOworICAgIHJhd0tleXMu
cmVzaXplKGtleXMuc2l6ZSgpKTsKKyAgICByYXdWYWx1ZXMucmVzaXplKHZhbHVlcy5zaXplKCkp
OworICAgIAorICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwga2V5cy5zaXplKCk7ICsraSkgewor
ICAgICAgICByYXdLZXlzW2ldID0ga2V5c1tpXS5nZXQoKTsKKyAgICAgICAgcmF3VmFsdWVzW2ld
ID0gdmFsdWVzW2ldLmdldCgpOworICAgIH0KKyAgICAKKyAgICBXS1JldGFpblB0cjxXS1N0cmlu
Z1JlZj4gbWVzc2FnZU5hbWUoQWRvcHRXSywgV0tTdHJpbmdDcmVhdGVXaXRoVVRGOENTdHJpbmco
IlNldFN0YXRpc3RpY3NTdWJyZXNvdXJjZVVuaXF1ZVJlZGlyZWN0VG8iKSk7CisgICAgV0tSZXRh
aW5QdHI8V0tEaWN0aW9uYXJ5UmVmPiBtZXNzYWdlQm9keShBZG9wdFdLLCBXS0RpY3Rpb25hcnlD
cmVhdGUocmF3S2V5cy5kYXRhKCksIHJhd1ZhbHVlcy5kYXRhKCksIHJhd0tleXMuc2l6ZSgpKSk7
CisgICAgV0tCdW5kbGVQb3N0U3luY2hyb25vdXNNZXNzYWdlKEluamVjdGVkQnVuZGxlOjpzaW5n
bGV0b24oKS5idW5kbGUoKSwgbWVzc2FnZU5hbWUuZ2V0KCksIG1lc3NhZ2VCb2R5LmdldCgpLCBu
dWxscHRyKTsKK30KKwogdm9pZCBUZXN0UnVubmVyOjpzZXRTdGF0aXN0aWNzVGltZVRvTGl2ZVVz
ZXJJbnRlcmFjdGlvbihkb3VibGUgc2Vjb25kcykKIHsKICAgICBXS1JldGFpblB0cjxXS1N0cmlu
Z1JlZj4gbWVzc2FnZU5hbWUoQWRvcHRXSywgV0tTdHJpbmdDcmVhdGVXaXRoVVRGOENTdHJpbmco
IlNldFN0YXRpc3RpY3NUaW1lVG9MaXZlVXNlckludGVyYWN0aW9uIikpOwpJbmRleDogVG9vbHMv
V2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9UZXN0UnVubmVyLmgKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9UZXN0UnVubmVyLmgJKHJl
dmlzaW9uIDIxMjQzOSkKKysrIFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUv
VGVzdFJ1bm5lci5oCSh3b3JraW5nIGNvcHkpCkBAIC0zNTQsNiArMzU0LDkgQEAgcHVibGljOgog
ICAgIGJvb2wgaXNTdGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2UoSlNTdHJpbmdSZWYgaG9zdE5h
bWUpOwogICAgIHZvaWQgc2V0U3RhdGlzdGljc0hhc0hhZFVzZXJJbnRlcmFjdGlvbihKU1N0cmlu
Z1JlZiBob3N0TmFtZSwgYm9vbCB2YWx1ZSk7CiAgICAgYm9vbCBpc1N0YXRpc3RpY3NIYXNIYWRV
c2VySW50ZXJhY3Rpb24oSlNTdHJpbmdSZWYgaG9zdE5hbWUpOworICAgIHZvaWQgc2V0U3RhdGlz
dGljc1N1YmZyYW1lVW5kZXJUb3BGcmFtZU9yaWdpbihKU1N0cmluZ1JlZiBob3N0TmFtZSwgSlNT
dHJpbmdSZWYgdG9wRnJhbWVIb3N0TmFtZSk7CisgICAgdm9pZCBzZXRTdGF0aXN0aWNzU3VicmVz
b3VyY2VVbmRlclRvcEZyYW1lT3JpZ2luKEpTU3RyaW5nUmVmIGhvc3ROYW1lLCBKU1N0cmluZ1Jl
ZiB0b3BGcmFtZUhvc3ROYW1lKTsKKyAgICB2b2lkIHNldFN0YXRpc3RpY3NTdWJyZXNvdXJjZVVu
aXF1ZVJlZGlyZWN0VG8oSlNTdHJpbmdSZWYgaG9zdE5hbWUsIEpTU3RyaW5nUmVmIGhvc3ROYW1l
UmVkaXJlY3RlZFRvKTsKICAgICB2b2lkIHNldFN0YXRpc3RpY3NUaW1lVG9MaXZlVXNlckludGVy
YWN0aW9uKGRvdWJsZSBzZWNvbmRzKTsKICAgICB2b2lkIHNldFN0YXRpc3RpY3NOb3RpZnlQYWdl
c1doZW5EYXRhUmVjb3Jkc1dlcmVTY2FubmVkKGJvb2wpOwogICAgIHZvaWQgc2V0U3RhdGlzdGlj
c1Nob3VsZENsYXNzaWZ5UmVzb3VyY2VzQmVmb3JlRGF0YVJlY29yZHNSZW1vdmFsKGJvb2wpOwpJ
bmRleDogVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9CaW5kaW5ncy9UZXN0
UnVubmVyLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVk
QnVuZGxlL0JpbmRpbmdzL1Rlc3RSdW5uZXIuaWRsCShyZXZpc2lvbiAyMTI0MzkpCisrKyBUb29s
cy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0JpbmRpbmdzL1Rlc3RSdW5uZXIuaWRs
CSh3b3JraW5nIGNvcHkpCkBAIC0yNTMsNiArMjUzLDkgQEAgaW50ZXJmYWNlIFRlc3RSdW5uZXIg
ewogICAgIGJvb2xlYW4gaXNTdGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2UoRE9NU3RyaW5nIGhv
c3ROYW1lKTsKICAgICB2b2lkIHNldFN0YXRpc3RpY3NIYXNIYWRVc2VySW50ZXJhY3Rpb24oRE9N
U3RyaW5nIGhvc3ROYW1lLCBib29sZWFuIHZhbHVlKTsKICAgICBib29sZWFuIGlzU3RhdGlzdGlj
c0hhc0hhZFVzZXJJbnRlcmFjdGlvbihET01TdHJpbmcgaG9zdE5hbWUpOworICAgIHZvaWQgc2V0
U3RhdGlzdGljc1N1YmZyYW1lVW5kZXJUb3BGcmFtZU9yaWdpbihET01TdHJpbmcgaG9zdE5hbWUs
IERPTVN0cmluZyB0b3BGcmFtZUhvc3ROYW1lKTsKKyAgICB2b2lkIHNldFN0YXRpc3RpY3NTdWJy
ZXNvdXJjZVVuZGVyVG9wRnJhbWVPcmlnaW4oRE9NU3RyaW5nIGhvc3ROYW1lLCBET01TdHJpbmcg
dG9wRnJhbWVIb3N0TmFtZSk7CisgICAgdm9pZCBzZXRTdGF0aXN0aWNzU3VicmVzb3VyY2VVbmlx
dWVSZWRpcmVjdFRvKERPTVN0cmluZyBob3N0TmFtZSwgRE9NU3RyaW5nIGhvc3ROYW1lUmVkaXJl
Y3RlZFRvKTsKICAgICB2b2lkIHNldFN0YXRpc3RpY3NUaW1lVG9MaXZlVXNlckludGVyYWN0aW9u
KGRvdWJsZSBzZWNvbmRzKTsKICAgICB2b2lkIHN0YXRpc3RpY3NGaXJlRGF0YU1vZGlmaWNhdGlv
bkhhbmRsZXIoKTsKICAgICB2b2lkIHNldFN0YXRpc3RpY3NOb3RpZnlQYWdlc1doZW5EYXRhUmVj
b3Jkc1dlcmVTY2FubmVkKGJvb2xlYW4gdmFsdWUpOwpJbmRleDogTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL0NoYW5nZUxvZwkocmV2aXNpb24gMjEyNDM5
KQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMzAg
QEAKKzIwMTctMDItMTYgIEpvaG4gV2lsYW5kZXIgIDx3aWxhbmRlckBhcHBsZS5jb20+CisKKyAg
ICAgICAgUmVzb3VyY2UgTG9hZCBTdGF0aXN0aWNzOiBBZGQgYWx0ZXJuYXRlIGNsYXNzaWZpY2F0
aW9uIG1ldGhvZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTY4MzQ3CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8zMDM1Mjc5Mz4KKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGh0dHAvdGVzdHMvbG9hZGlu
Zy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLW5vbi1wcmV2YWxlbnQtYmFzZWQt
b24tbWl4ZWQtc3RhdGlzdGljcy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAv
dGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLW5vbi1wcmV2
YWxlbnQtYmFzZWQtb24tbWl4ZWQtc3RhdGlzdGljcy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBo
dHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1ub24t
cHJldmFsZW50LWJhc2VkLW9uLXN1Yi1mcmFtZS11bmRlci10b3AtZnJhbWUtb3JpZ2lucy1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxv
YWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLW5vbi1wcmV2YWxlbnQtYmFzZWQtb24tc3ViLWZyYW1l
LXVuZGVyLXRvcC1mcmFtZS1vcmlnaW5zLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVz
dHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLW5vbi1wcmV2YWxl
bnQtYmFzZWQtb24tc3VicmVzb3VyY2UtdW5kZXItdG9wLWZyYW1lLW9yaWdpbnMtZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3Rh
dGlzdGljcy9jbGFzc2lmeS1hcy1ub24tcHJldmFsZW50LWJhc2VkLW9uLXN1YnJlc291cmNlLXVu
ZGVyLXRvcC1mcmFtZS1vcmlnaW5zLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMv
bG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLW5vbi1wcmV2YWxlbnQt
YmFzZWQtb24tc3VicmVzb3VyY2UtdW5pcXVlLXJlZGlyZWN0cy10by1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNz
L2NsYXNzaWZ5LWFzLW5vbi1wcmV2YWxlbnQtYmFzZWQtb24tc3VicmVzb3VyY2UtdW5pcXVlLXJl
ZGlyZWN0cy10by5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2xvYWRpbmcvcmVz
b3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1wcmV2YWxlbnQtYmFzZWQtb24tbWl4ZWQt
c3RhdGlzdGljcy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvbG9h
ZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLXByZXZhbGVudC1iYXNlZC1v
bi1taXhlZC1zdGF0aXN0aWNzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvbG9h
ZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLXByZXZhbGVudC1iYXNlZC1v
bi1zdWItZnJhbWUtdW5kZXItdG9wLWZyYW1lLW9yaWdpbnMtZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiBodHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFz
c2lmeS1hcy1wcmV2YWxlbnQtYmFzZWQtb24tc3ViLWZyYW1lLXVuZGVyLXRvcC1mcmFtZS1vcmln
aW5zLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxv
YWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLXByZXZhbGVudC1iYXNlZC1vbi1zdWJyZXNvdXJjZS11
bmRlci10b3AtZnJhbWUtb3JpZ2lucy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0
dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLXByZXZh
bGVudC1iYXNlZC1vbi1zdWJyZXNvdXJjZS11bmRlci10b3AtZnJhbWUtb3JpZ2lucy5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGlj
cy9jbGFzc2lmeS1hcy1wcmV2YWxlbnQtYmFzZWQtb24tc3VicmVzb3VyY2UtdW5pcXVlLXJlZGly
ZWN0cy10by1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvbG9hZGlu
Zy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLXByZXZhbGVudC1iYXNlZC1vbi1z
dWJyZXNvdXJjZS11bmlxdWUtcmVkaXJlY3RzLXRvLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHBs
YXRmb3JtL3drMi9UZXN0RXhwZWN0YXRpb25zOgorICAgICAgICAgICAgVGhlIGFib3ZlIHRlc3Rz
IGFyZSBvbmx5IHZhbGlkIGZvciBXZWJLaXQyLiBNYXJrZWQgYXMgWyBQYXNzIF0uCisKIDIwMTct
MDItMTYgIFl1c3VrZSBTdXp1a2kgIDx1dGF0YW5lLnRlYUBnbWFpbC5jb20+CiAKICAgICAgICAg
V2ViIEluc3BlY3RvcjogYWxsb3cgaW1wb3J0KCkgaW5zaWRlIHRoZSBpbnNwZWN0b3IKSW5kZXg6
IExheW91dFRlc3RzL2h0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2Ns
YXNzaWZ5LWFzLW5vbi1wcmV2YWxlbnQtYmFzZWQtb24tbWl4ZWQtc3RhdGlzdGljcy1leHBlY3Rl
ZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291
cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtbm9uLXByZXZhbGVudC1iYXNlZC1vbi1taXhl
ZC1zdGF0aXN0aWNzLWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1ub24t
cHJldmFsZW50LWJhc2VkLW9uLW1peGVkLXN0YXRpc3RpY3MtZXhwZWN0ZWQudHh0CSh3b3JraW5n
IGNvcHkpCkBAIC0wLDAgKzEsOCBAQAorbWFpbiBmcmFtZSAtIGRpZFN0YXJ0UHJvdmlzaW9uYWxM
b2FkRm9yRnJhbWUKK21haW4gZnJhbWUgLSBkaWRDb21taXRMb2FkRm9yRnJhbWUKK21haW4gZnJh
bWUgLSBkaWRSZWNlaXZlVGl0bGU6IFRlc3RzIGZvciBDbGFzc2lmaWNhdGlvbiBCYXNlZCBvbiBN
aXhlZCBTdGF0aXN0aWNzCittYWluIGZyYW1lIC0gZGlkRmluaXNoRG9jdW1lbnRMb2FkRm9yRnJh
bWUKK21haW4gZnJhbWUgLSBkaWRIYW5kbGVPbmxvYWRFdmVudHNGb3JGcmFtZQorbWFpbiBmcmFt
ZSAtIGRpZEZpbmlzaExvYWRGb3JGcmFtZQorUEFTUyBIb3N0IGRpZCBub3QgZ2V0IGNsYXNzaWZp
ZWQgYXMgcHJldmFsZW50IHJlc291cmNlLgorCkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1ub24tcHJldmFsZW50
LWJhc2VkLW9uLW1peGVkLXN0YXRpc3RpY3MuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1u
b24tcHJldmFsZW50LWJhc2VkLW9uLW1peGVkLXN0YXRpc3RpY3MuaHRtbAkobm9uZXhpc3RlbnQp
CisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGlj
cy9jbGFzc2lmeS1hcy1ub24tcHJldmFsZW50LWJhc2VkLW9uLW1peGVkLXN0YXRpc3RpY3MuaHRt
bAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDQyIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1s
IGxhbmc9ImVuIj4KKzxoZWFkPgorICAgIDxtZXRhIGNoYXJzZXQ9IlVURi04Ij4KKyAgICA8dGl0
bGU+VGVzdHMgZm9yIENsYXNzaWZpY2F0aW9uIEJhc2VkIG9uIE1peGVkIFN0YXRpc3RpY3M8L3Rp
dGxlPgorICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwv
c2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0PgorICAgIGNvbnN0IGhvc3RVbmRlclRl
c3QgPSAiMTI3LjAuMC4xOjgwMDAiOworICAgIGNvbnN0IHN0YXRpc3RpY3NVcmwgPSAiaHR0cDov
LyIgKyBob3N0VW5kZXJUZXN0ICsgIi90ZW1wIjsKKyAgICBjb25zdCB0b3BGcmFtZU9yaWdpbjEg
PSAiaHR0cDovLzEyNy4wLjAuMjo4MDAwL3RlbXAiOworICAgIGNvbnN0IHRvcEZyYW1lT3JpZ2lu
MiA9ICJodHRwOi8vMTI3LjAuMC4zOjgwMDAvdGVtcCI7CisgICAgY29uc3QgdG9wRnJhbWVPcmln
aW4zID0gImh0dHA6Ly8xMjcuMC4wLjQ6ODAwMC90ZW1wIjsKKyAgICBmdW5jdGlvbiBydW5UZXN0
UnVubmVyVGVzdCgpIHsKKyAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzUHJldmFsZW50
UmVzb3VyY2Uoc3RhdGlzdGljc1VybCwgZmFsc2UpOworICAgICAgICBpZiAodGVzdFJ1bm5lci5p
c1N0YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJjZShzdGF0aXN0aWNzVXJsKSkKKyAgICAgICAgICAg
IHRlc3RGYWlsZWQoIkhvc3QgZGlkIG5vdCBnZXQgc2V0IGFzIG5vbi1wcmV2YWxlbnQgcmVzb3Vy
Y2UuIik7CisKKyAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzU3ViZnJhbWVVbmRlclRv
cEZyYW1lT3JpZ2luKHN0YXRpc3RpY3NVcmwsIHRvcEZyYW1lT3JpZ2luMSk7CisgICAgICAgIHRl
c3RSdW5uZXIuc2V0U3RhdGlzdGljc1N1YnJlc291cmNlVW5kZXJUb3BGcmFtZU9yaWdpbihzdGF0
aXN0aWNzVXJsLCB0b3BGcmFtZU9yaWdpbjIpOworICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRp
c3RpY3NTdWJyZXNvdXJjZVVuaXF1ZVJlZGlyZWN0VG8oc3RhdGlzdGljc1VybCwgdG9wRnJhbWVP
cmlnaW4zKTsKKworICAgICAgICB0ZXN0UnVubmVyLnN0YXRpc3RpY3NGaXJlRGF0YU1vZGlmaWNh
dGlvbkhhbmRsZXIoKTsKKworICAgICAgICBpZiAodGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NQcmV2
YWxlbnRSZXNvdXJjZShzdGF0aXN0aWNzVXJsKSkKKyAgICAgICAgICAgIHRlc3RGYWlsZWQoIkhv
c3QgY2xhc3NpZmllZCBhcyBwcmV2YWxlbnQgcmVzb3VyY2UuIik7CisgICAgICAgIGVsc2UKKyAg
ICAgICAgICAgIHRlc3RQYXNzZWQoIkhvc3QgZGlkIG5vdCBnZXQgY2xhc3NpZmllZCBhcyBwcmV2
YWxlbnQgcmVzb3VyY2UuIik7CisKKyAgICAgICAgdGVzdFJ1bm5lci5zdGF0aXN0aWNzUmVzZXRU
b0NvbnNpc3RlbnRTdGF0ZSgpOworICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKKyAg
ICB9CisKKyAgICBpZiAoZG9jdW1lbnQubG9jYXRpb24uaG9zdCA9PT0gaG9zdFVuZGVyVGVzdCAm
JiB3aW5kb3cudGVzdFJ1bm5lciAmJiB3aW5kb3cuaW50ZXJuYWxzKSB7CisgICAgICAgIHRlc3RS
dW5uZXIud2FpdFVudGlsRG9uZSgpOworICAgICAgICBpbnRlcm5hbHMuc2V0UmVzb3VyY2VMb2Fk
U3RhdGlzdGljc0VuYWJsZWQodHJ1ZSk7CisgICAgICAgIHJ1blRlc3RSdW5uZXJUZXN0KCk7Cisg
ICAgfQorPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0
YXRpc3RpY3MvY2xhc3NpZnktYXMtbm9uLXByZXZhbGVudC1iYXNlZC1vbi1zdWItZnJhbWUtdW5k
ZXItdG9wLWZyYW1lLW9yaWdpbnMtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL2h0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFz
LW5vbi1wcmV2YWxlbnQtYmFzZWQtb24tc3ViLWZyYW1lLXVuZGVyLXRvcC1mcmFtZS1vcmlnaW5z
LWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2xv
YWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1ub24tcHJldmFsZW50LWJh
c2VkLW9uLXN1Yi1mcmFtZS11bmRlci10b3AtZnJhbWUtb3JpZ2lucy1leHBlY3RlZC50eHQJKHdv
cmtpbmcgY29weSkKQEAgLTAsMCArMSw4IEBACittYWluIGZyYW1lIC0gZGlkU3RhcnRQcm92aXNp
b25hbExvYWRGb3JGcmFtZQorbWFpbiBmcmFtZSAtIGRpZENvbW1pdExvYWRGb3JGcmFtZQorbWFp
biBmcmFtZSAtIGRpZFJlY2VpdmVUaXRsZTogVGVzdHMgZm9yIENsYXNzaWZpY2F0aW9uIEJhc2Vk
IG9uIFN1YiBGcmFtZSBVbmRlciBUb3AgRnJhbWUgT3JpZ2lucworbWFpbiBmcmFtZSAtIGRpZEZp
bmlzaERvY3VtZW50TG9hZEZvckZyYW1lCittYWluIGZyYW1lIC0gZGlkSGFuZGxlT25sb2FkRXZl
bnRzRm9yRnJhbWUKK21haW4gZnJhbWUgLSBkaWRGaW5pc2hMb2FkRm9yRnJhbWUKK1BBU1MgSG9z
dCBkaWQgbm90IGdldCBjbGFzc2lmaWVkIGFzIHByZXZhbGVudCByZXNvdXJjZS4KKwpJbmRleDog
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xh
c3NpZnktYXMtbm9uLXByZXZhbGVudC1iYXNlZC1vbi1zdWItZnJhbWUtdW5kZXItdG9wLWZyYW1l
LW9yaWdpbnMuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2xvYWRp
bmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1ub24tcHJldmFsZW50LWJhc2Vk
LW9uLXN1Yi1mcmFtZS11bmRlci10b3AtZnJhbWUtb3JpZ2lucy5odG1sCShub25leGlzdGVudCkK
KysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNz
L2NsYXNzaWZ5LWFzLW5vbi1wcmV2YWxlbnQtYmFzZWQtb24tc3ViLWZyYW1lLXVuZGVyLXRvcC1m
cmFtZS1vcmlnaW5zLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw0MiBAQAorPCFET0NU
WVBFIGh0bWw+Cis8aHRtbCBsYW5nPSJlbiI+Cis8aGVhZD4KKyAgICA8bWV0YSBjaGFyc2V0PSJV
VEYtOCI+CisgICAgPHRpdGxlPlRlc3RzIGZvciBDbGFzc2lmaWNhdGlvbiBCYXNlZCBvbiBTdWIg
RnJhbWUgVW5kZXIgVG9wIEZyYW1lIE9yaWdpbnM8L3RpdGxlPgorICAgIDxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+
Cis8c2NyaXB0PgorICAgIGNvbnN0IGhvc3RVbmRlclRlc3QgPSAiMTI3LjAuMC4xOjgwMDAiOwor
ICAgIGNvbnN0IHN0YXRpc3RpY3NVcmwgPSAiaHR0cDovLyIgKyBob3N0VW5kZXJUZXN0ICsgIi90
ZW1wIjsKKyAgICBjb25zdCB0b3BGcmFtZU9yaWdpbjEgPSAiaHR0cDovLzEyNy4wLjAuMjo4MDAw
L3RlbXAiOworICAgIGNvbnN0IHRvcEZyYW1lT3JpZ2luMiA9ICJodHRwOi8vMTI3LjAuMC4zOjgw
MDAvdGVtcCI7CisgICAgY29uc3QgdG9wRnJhbWVPcmlnaW4zID0gImh0dHA6Ly8xMjcuMC4wLjQ6
ODAwMC90ZW1wIjsKKyAgICBmdW5jdGlvbiBydW5UZXN0UnVubmVyVGVzdCgpIHsKKyAgICAgICAg
dGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2Uoc3RhdGlzdGljc1VybCwg
ZmFsc2UpOworICAgICAgICBpZiAodGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NQcmV2YWxlbnRSZXNv
dXJjZShzdGF0aXN0aWNzVXJsKSkKKyAgICAgICAgICAgIHRlc3RGYWlsZWQoIkhvc3QgZGlkIG5v
dCBnZXQgc2V0IGFzIG5vbi1wcmV2YWxlbnQgcmVzb3VyY2UuIik7CisKKyAgICAgICAgdGVzdFJ1
bm5lci5zZXRTdGF0aXN0aWNzU3ViZnJhbWVVbmRlclRvcEZyYW1lT3JpZ2luKHN0YXRpc3RpY3NV
cmwsIHRvcEZyYW1lT3JpZ2luMSk7CisgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1N1
YmZyYW1lVW5kZXJUb3BGcmFtZU9yaWdpbihzdGF0aXN0aWNzVXJsLCB0b3BGcmFtZU9yaWdpbjIp
OworICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NTdWJmcmFtZVVuZGVyVG9wRnJhbWVP
cmlnaW4oc3RhdGlzdGljc1VybCwgdG9wRnJhbWVPcmlnaW4zKTsKKworICAgICAgICB0ZXN0UnVu
bmVyLnN0YXRpc3RpY3NGaXJlRGF0YU1vZGlmaWNhdGlvbkhhbmRsZXIoKTsKKworICAgICAgICBp
ZiAodGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJjZShzdGF0aXN0aWNzVXJs
KSkKKyAgICAgICAgICAgIHRlc3RGYWlsZWQoIkhvc3QgY2xhc3NpZmllZCBhcyBwcmV2YWxlbnQg
cmVzb3VyY2UuIik7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIHRlc3RQYXNzZWQoIkhvc3Qg
ZGlkIG5vdCBnZXQgY2xhc3NpZmllZCBhcyBwcmV2YWxlbnQgcmVzb3VyY2UuIik7CisKKyAgICAg
ICAgdGVzdFJ1bm5lci5zdGF0aXN0aWNzUmVzZXRUb0NvbnNpc3RlbnRTdGF0ZSgpOworICAgICAg
ICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKKyAgICB9CisKKyAgICBpZiAoZG9jdW1lbnQubG9j
YXRpb24uaG9zdCA9PT0gaG9zdFVuZGVyVGVzdCAmJiB3aW5kb3cudGVzdFJ1bm5lciAmJiB3aW5k
b3cuaW50ZXJuYWxzKSB7CisgICAgICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOworICAg
ICAgICBpbnRlcm5hbHMuc2V0UmVzb3VyY2VMb2FkU3RhdGlzdGljc0VuYWJsZWQodHJ1ZSk7Cisg
ICAgICAgIHJ1blRlc3RSdW5uZXJUZXN0KCk7CisgICAgfQorPC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpJbmRleDogTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtbm9uLXBy
ZXZhbGVudC1iYXNlZC1vbi1zdWJyZXNvdXJjZS11bmRlci10b3AtZnJhbWUtb3JpZ2lucy1leHBl
Y3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9sb2FkaW5nL3Jl
c291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtbm9uLXByZXZhbGVudC1iYXNlZC1vbi1z
dWJyZXNvdXJjZS11bmRlci10b3AtZnJhbWUtb3JpZ2lucy1leHBlY3RlZC50eHQJKG5vbmV4aXN0
ZW50KQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0YXRp
c3RpY3MvY2xhc3NpZnktYXMtbm9uLXByZXZhbGVudC1iYXNlZC1vbi1zdWJyZXNvdXJjZS11bmRl
ci10b3AtZnJhbWUtb3JpZ2lucy1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCAr
MSw4IEBACittYWluIGZyYW1lIC0gZGlkU3RhcnRQcm92aXNpb25hbExvYWRGb3JGcmFtZQorbWFp
biBmcmFtZSAtIGRpZENvbW1pdExvYWRGb3JGcmFtZQorbWFpbiBmcmFtZSAtIGRpZFJlY2VpdmVU
aXRsZTogVGVzdHMgZm9yIENsYXNzaWZpY2F0aW9uIEJhc2VkIG9uIFN1YnJlc291cmNlIFVuZGVy
IFRvcCBGcmFtZSBPcmlnaW5zCittYWluIGZyYW1lIC0gZGlkRmluaXNoRG9jdW1lbnRMb2FkRm9y
RnJhbWUKK21haW4gZnJhbWUgLSBkaWRIYW5kbGVPbmxvYWRFdmVudHNGb3JGcmFtZQorbWFpbiBm
cmFtZSAtIGRpZEZpbmlzaExvYWRGb3JGcmFtZQorUEFTUyBIb3N0IGRpZCBub3QgZ2V0IGNsYXNz
aWZpZWQgYXMgcHJldmFsZW50IHJlc291cmNlLgorCkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1ub24tcHJldmFs
ZW50LWJhc2VkLW9uLXN1YnJlc291cmNlLXVuZGVyLXRvcC1mcmFtZS1vcmlnaW5zLmh0bWwKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0
YXRpc3RpY3MvY2xhc3NpZnktYXMtbm9uLXByZXZhbGVudC1iYXNlZC1vbi1zdWJyZXNvdXJjZS11
bmRlci10b3AtZnJhbWUtb3JpZ2lucy5odG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3Rz
L2h0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLW5v
bi1wcmV2YWxlbnQtYmFzZWQtb24tc3VicmVzb3VyY2UtdW5kZXItdG9wLWZyYW1lLW9yaWdpbnMu
aHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDQwIEBACis8IURPQ1RZUEUgaHRtbD4KKzxo
dG1sIGxhbmc9ImVuIj4KKzxoZWFkPgorICAgIDxtZXRhIGNoYXJzZXQ9IlVURi04Ij4KKyAgICA8
dGl0bGU+VGVzdHMgZm9yIENsYXNzaWZpY2F0aW9uIEJhc2VkIG9uIFN1YnJlc291cmNlIFVuZGVy
IFRvcCBGcmFtZSBPcmlnaW5zPC90aXRsZT4KKyAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdD4K
KyAgICBjb25zdCBob3N0VW5kZXJUZXN0ID0gIjEyNy4wLjAuMTo4MDAwIjsKKyAgICBjb25zdCBz
dGF0aXN0aWNzVXJsID0gImh0dHA6Ly8iICsgaG9zdFVuZGVyVGVzdCArICIvdGVtcCI7CisgICAg
Y29uc3QgdG9wRnJhbWVPcmlnaW4xID0gImh0dHA6Ly8xMjcuMC4wLjI6ODAwMC90ZW1wIjsKKyAg
ICBjb25zdCB0b3BGcmFtZU9yaWdpbjIgPSAiaHR0cDovLzEyNy4wLjAuMzo4MDAwL3RlbXAiOwor
ICAgIGZ1bmN0aW9uIHJ1blRlc3RSdW5uZXJUZXN0KCkgeworICAgICAgICB0ZXN0UnVubmVyLnNl
dFN0YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJjZShzdGF0aXN0aWNzVXJsLCBmYWxzZSk7CisgICAg
ICAgIGlmICh0ZXN0UnVubmVyLmlzU3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNlKHN0YXRpc3Rp
Y3NVcmwpKQorICAgICAgICAgICAgdGVzdEZhaWxlZCgiSG9zdCBkaWQgbm90IGdldCBzZXQgYXMg
bm9uLXByZXZhbGVudCByZXNvdXJjZS4iKTsKKworICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRp
c3RpY3NTdWJyZXNvdXJjZVVuZGVyVG9wRnJhbWVPcmlnaW4oc3RhdGlzdGljc1VybCwgdG9wRnJh
bWVPcmlnaW4xKTsKKyAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzU3VicmVzb3VyY2VV
bmRlclRvcEZyYW1lT3JpZ2luKHN0YXRpc3RpY3NVcmwsIHRvcEZyYW1lT3JpZ2luMik7CisKKyAg
ICAgICAgdGVzdFJ1bm5lci5zdGF0aXN0aWNzRmlyZURhdGFNb2RpZmljYXRpb25IYW5kbGVyKCk7
CisKKyAgICAgICAgaWYgKHRlc3RSdW5uZXIuaXNTdGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2Uo
c3RhdGlzdGljc1VybCkpCisgICAgICAgICAgICB0ZXN0RmFpbGVkKCJIb3N0IGNsYXNzaWZpZWQg
YXMgcHJldmFsZW50IHJlc291cmNlLiIpOworICAgICAgICBlbHNlCisgICAgICAgICAgICB0ZXN0
UGFzc2VkKCJIb3N0IGRpZCBub3QgZ2V0IGNsYXNzaWZpZWQgYXMgcHJldmFsZW50IHJlc291cmNl
LiIpOworCisgICAgICAgIHRlc3RSdW5uZXIuc3RhdGlzdGljc1Jlc2V0VG9Db25zaXN0ZW50U3Rh
dGUoKTsKKyAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7CisgICAgfQorCisgICAgaWYg
KGRvY3VtZW50LmxvY2F0aW9uLmhvc3QgPT09IGhvc3RVbmRlclRlc3QgJiYgd2luZG93LnRlc3RS
dW5uZXIgJiYgd2luZG93LmludGVybmFscykgeworICAgICAgICB0ZXN0UnVubmVyLndhaXRVbnRp
bERvbmUoKTsKKyAgICAgICAgaW50ZXJuYWxzLnNldFJlc291cmNlTG9hZFN0YXRpc3RpY3NFbmFi
bGVkKHRydWUpOworICAgICAgICBydW5UZXN0UnVubmVyVGVzdCgpOworICAgIH0KKzwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKSW5kZXg6IExh
eW91dFRlc3RzL2h0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNz
aWZ5LWFzLW5vbi1wcmV2YWxlbnQtYmFzZWQtb24tc3VicmVzb3VyY2UtdW5pcXVlLXJlZGlyZWN0
cy10by1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9s
b2FkaW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtbm9uLXByZXZhbGVudC1i
YXNlZC1vbi1zdWJyZXNvdXJjZS11bmlxdWUtcmVkaXJlY3RzLXRvLWV4cGVjdGVkLnR4dAkobm9u
ZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2Fk
U3RhdGlzdGljcy9jbGFzc2lmeS1hcy1ub24tcHJldmFsZW50LWJhc2VkLW9uLXN1YnJlc291cmNl
LXVuaXF1ZS1yZWRpcmVjdHMtdG8tZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAg
KzEsOCBAQAorbWFpbiBmcmFtZSAtIGRpZFN0YXJ0UHJvdmlzaW9uYWxMb2FkRm9yRnJhbWUKK21h
aW4gZnJhbWUgLSBkaWRDb21taXRMb2FkRm9yRnJhbWUKK21haW4gZnJhbWUgLSBkaWRSZWNlaXZl
VGl0bGU6IFRlc3RzIGZvciBDbGFzc2lmaWNhdGlvbiBCYXNlZCBvbiBTdWJyZXNvdXJjZSBVbmlx
dWUgUmVkaXJlY3RzIFRvCittYWluIGZyYW1lIC0gZGlkRmluaXNoRG9jdW1lbnRMb2FkRm9yRnJh
bWUKK21haW4gZnJhbWUgLSBkaWRIYW5kbGVPbmxvYWRFdmVudHNGb3JGcmFtZQorbWFpbiBmcmFt
ZSAtIGRpZEZpbmlzaExvYWRGb3JGcmFtZQorUEFTUyBIb3N0IGRpZCBub3QgZ2V0IGNsYXNzaWZp
ZWQgYXMgcHJldmFsZW50IHJlc291cmNlLgorCkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1ub24tcHJldmFsZW50
LWJhc2VkLW9uLXN1YnJlc291cmNlLXVuaXF1ZS1yZWRpcmVjdHMtdG8uaHRtbAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGlj
cy9jbGFzc2lmeS1hcy1ub24tcHJldmFsZW50LWJhc2VkLW9uLXN1YnJlc291cmNlLXVuaXF1ZS1y
ZWRpcmVjdHMtdG8uaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1ub24tcHJldmFsZW50
LWJhc2VkLW9uLXN1YnJlc291cmNlLXVuaXF1ZS1yZWRpcmVjdHMtdG8uaHRtbAkod29ya2luZyBj
b3B5KQpAQCAtMCwwICsxLDQwIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sIGxhbmc9ImVuIj4K
KzxoZWFkPgorICAgIDxtZXRhIGNoYXJzZXQ9IlVURi04Ij4KKyAgICA8dGl0bGU+VGVzdHMgZm9y
IENsYXNzaWZpY2F0aW9uIEJhc2VkIG9uIFN1YnJlc291cmNlIFVuaXF1ZSBSZWRpcmVjdHMgVG88
L3RpdGxlPgorICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMi
Pjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0PgorICAgIGNvbnN0IGhvc3RVbmRl
clRlc3QgPSAiMTI3LjAuMC4xOjgwMDAiOworICAgIGNvbnN0IHN0YXRpc3RpY3NVcmwgPSAiaHR0
cDovLyIgKyBob3N0VW5kZXJUZXN0ICsgIi90ZW1wIjsKKyAgICBjb25zdCB0b3BGcmFtZU9yaWdp
bjEgPSAiaHR0cDovLzEyNy4wLjAuMjo4MDAwL3RlbXAiOworICAgIGNvbnN0IHRvcEZyYW1lT3Jp
Z2luMiA9ICJodHRwOi8vMTI3LjAuMC4zOjgwMDAvdGVtcCI7CisgICAgZnVuY3Rpb24gcnVuVGVz
dFJ1bm5lclRlc3QoKSB7CisgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1ByZXZhbGVu
dFJlc291cmNlKHN0YXRpc3RpY3NVcmwsIGZhbHNlKTsKKyAgICAgICAgaWYgKHRlc3RSdW5uZXIu
aXNTdGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2Uoc3RhdGlzdGljc1VybCkpCisgICAgICAgICAg
ICB0ZXN0RmFpbGVkKCJIb3N0IGRpZCBub3QgZ2V0IHNldCBhcyBub24tcHJldmFsZW50IHJlc291
cmNlLiIpOworCisgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1N1YnJlc291cmNlVW5p
cXVlUmVkaXJlY3RUbyhzdGF0aXN0aWNzVXJsLCB0b3BGcmFtZU9yaWdpbjEpOworICAgICAgICB0
ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NTdWJyZXNvdXJjZVVuaXF1ZVJlZGlyZWN0VG8oc3RhdGlz
dGljc1VybCwgdG9wRnJhbWVPcmlnaW4yKTsKKworICAgICAgICB0ZXN0UnVubmVyLnN0YXRpc3Rp
Y3NGaXJlRGF0YU1vZGlmaWNhdGlvbkhhbmRsZXIoKTsKKworICAgICAgICBpZiAodGVzdFJ1bm5l
ci5pc1N0YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJjZShzdGF0aXN0aWNzVXJsKSkKKyAgICAgICAg
ICAgIHRlc3RGYWlsZWQoIkhvc3QgY2xhc3NpZmllZCBhcyBwcmV2YWxlbnQgcmVzb3VyY2UuIik7
CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIHRlc3RQYXNzZWQoIkhvc3QgZGlkIG5vdCBnZXQg
Y2xhc3NpZmllZCBhcyBwcmV2YWxlbnQgcmVzb3VyY2UuIik7CisKKyAgICAgICAgdGVzdFJ1bm5l
ci5zdGF0aXN0aWNzUmVzZXRUb0NvbnNpc3RlbnRTdGF0ZSgpOworICAgICAgICB0ZXN0UnVubmVy
Lm5vdGlmeURvbmUoKTsKKyAgICB9CisKKyAgICBpZiAoZG9jdW1lbnQubG9jYXRpb24uaG9zdCA9
PT0gaG9zdFVuZGVyVGVzdCAmJiB3aW5kb3cudGVzdFJ1bm5lciAmJiB3aW5kb3cuaW50ZXJuYWxz
KSB7CisgICAgICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOworICAgICAgICBpbnRlcm5h
bHMuc2V0UmVzb3VyY2VMb2FkU3RhdGlzdGljc0VuYWJsZWQodHJ1ZSk7CisgICAgICAgIHJ1blRl
c3RSdW5uZXJUZXN0KCk7CisgICAgfQorPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9sb2Fk
aW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtcHJldmFsZW50LWJhc2VkLW9u
LW1peGVkLXN0YXRpc3RpY3MtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L2h0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLXBy
ZXZhbGVudC1iYXNlZC1vbi1taXhlZC1zdGF0aXN0aWNzLWV4cGVjdGVkLnR4dAkobm9uZXhpc3Rl
bnQpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlz
dGljcy9jbGFzc2lmeS1hcy1wcmV2YWxlbnQtYmFzZWQtb24tbWl4ZWQtc3RhdGlzdGljcy1leHBl
Y3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw4IEBACittYWluIGZyYW1lIC0gZGlk
U3RhcnRQcm92aXNpb25hbExvYWRGb3JGcmFtZQorbWFpbiBmcmFtZSAtIGRpZENvbW1pdExvYWRG
b3JGcmFtZQorbWFpbiBmcmFtZSAtIGRpZFJlY2VpdmVUaXRsZTogVGVzdHMgZm9yIENsYXNzaWZp
Y2F0aW9uIEJhc2VkIG9uIE1peGVkIFN0YXRpc3RpY3MKK21haW4gZnJhbWUgLSBkaWRGaW5pc2hE
b2N1bWVudExvYWRGb3JGcmFtZQorbWFpbiBmcmFtZSAtIGRpZEhhbmRsZU9ubG9hZEV2ZW50c0Zv
ckZyYW1lCittYWluIGZyYW1lIC0gZGlkRmluaXNoTG9hZEZvckZyYW1lCitQQVNTIEhvc3QgY2xh
c3NpZmllZCBhcyBwcmV2YWxlbnQgcmVzb3VyY2UuCisKSW5kZXg6IExheW91dFRlc3RzL2h0dHAv
dGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLXByZXZhbGVu
dC1iYXNlZC1vbi1taXhlZC1zdGF0aXN0aWNzLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMt
cHJldmFsZW50LWJhc2VkLW9uLW1peGVkLXN0YXRpc3RpY3MuaHRtbAkobm9uZXhpc3RlbnQpCisr
KyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9j
bGFzc2lmeS1hcy1wcmV2YWxlbnQtYmFzZWQtb24tbWl4ZWQtc3RhdGlzdGljcy5odG1sCSh3b3Jr
aW5nIGNvcHkpCkBAIC0wLDAgKzEsNDkgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWwgbGFuZz0i
ZW4iPgorPGhlYWQ+CisgICAgPG1ldGEgY2hhcnNldD0iVVRGLTgiPgorICAgIDx0aXRsZT5UZXN0
cyBmb3IgQ2xhc3NpZmljYXRpb24gQmFzZWQgb24gTWl4ZWQgU3RhdGlzdGljczwvdGl0bGU+Cisg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQ+CisgICAgY29uc3QgaG9zdFVuZGVyVGVzdCA9ICIx
MjcuMC4wLjE6ODAwMCI7CisgICAgY29uc3Qgc3RhdGlzdGljc1VybCA9ICJodHRwOi8vIiArIGhv
c3RVbmRlclRlc3QgKyAiL3RlbXAiOworICAgIGNvbnN0IHRvcEZyYW1lT3JpZ2luMSA9ICJodHRw
Oi8vMTI3LjAuMC4yOjgwMDAvdGVtcCI7CisgICAgY29uc3QgdG9wRnJhbWVPcmlnaW4yID0gImh0
dHA6Ly8xMjcuMC4wLjM6ODAwMC90ZW1wIjsKKyAgICBjb25zdCB0b3BGcmFtZU9yaWdpbjMgPSAi
aHR0cDovLzEyNy4wLjAuNDo4MDAwL3RlbXAiOworICAgIGNvbnN0IHRvcEZyYW1lT3JpZ2luNCA9
ICJodHRwOi8vMTI3LjAuMC41OjgwMDAvdGVtcCI7CisgICAgZnVuY3Rpb24gcnVuVGVzdFJ1bm5l
clRlc3QoKSB7CisgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1ByZXZhbGVudFJlc291
cmNlKHN0YXRpc3RpY3NVcmwsIGZhbHNlKTsKKyAgICAgICAgaWYgKHRlc3RSdW5uZXIuaXNTdGF0
aXN0aWNzUHJldmFsZW50UmVzb3VyY2Uoc3RhdGlzdGljc1VybCkpCisgICAgICAgICAgICB0ZXN0
RmFpbGVkKCJIb3N0IGRpZCBub3QgZ2V0IHNldCBhcyBub24tcHJldmFsZW50IHJlc291cmNlLiIp
OworCisgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1N1YmZyYW1lVW5kZXJUb3BGcmFt
ZU9yaWdpbihzdGF0aXN0aWNzVXJsLCB0b3BGcmFtZU9yaWdpbjEpOworICAgICAgICB0ZXN0UnVu
bmVyLnNldFN0YXRpc3RpY3NTdWJmcmFtZVVuZGVyVG9wRnJhbWVPcmlnaW4oc3RhdGlzdGljc1Vy
bCwgdG9wRnJhbWVPcmlnaW40KTsKKworICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NT
dWJyZXNvdXJjZVVuZGVyVG9wRnJhbWVPcmlnaW4oc3RhdGlzdGljc1VybCwgdG9wRnJhbWVPcmln
aW4yKTsKKyAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzU3VicmVzb3VyY2VVbmRlclRv
cEZyYW1lT3JpZ2luKHN0YXRpc3RpY3NVcmwsIHRvcEZyYW1lT3JpZ2luMyk7CisgICAgICAgIHRl
c3RSdW5uZXIuc2V0U3RhdGlzdGljc1N1YnJlc291cmNlVW5kZXJUb3BGcmFtZU9yaWdpbihzdGF0
aXN0aWNzVXJsLCB0b3BGcmFtZU9yaWdpbjQpOworCisgICAgICAgIHRlc3RSdW5uZXIuc2V0U3Rh
dGlzdGljc1N1YnJlc291cmNlVW5pcXVlUmVkaXJlY3RUbyhzdGF0aXN0aWNzVXJsLCB0b3BGcmFt
ZU9yaWdpbjMpOworICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NTdWJyZXNvdXJjZVVu
aXF1ZVJlZGlyZWN0VG8oc3RhdGlzdGljc1VybCwgdG9wRnJhbWVPcmlnaW4xKTsKKworICAgICAg
ICB0ZXN0UnVubmVyLnN0YXRpc3RpY3NGaXJlRGF0YU1vZGlmaWNhdGlvbkhhbmRsZXIoKTsKKwor
ICAgICAgICBpZiAoIXRlc3RSdW5uZXIuaXNTdGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2Uoc3Rh
dGlzdGljc1VybCkpCisgICAgICAgICAgICB0ZXN0RmFpbGVkKCJIb3N0IGRpZCBub3QgZ2V0IGNs
YXNzaWZpZWQgYXMgcHJldmFsZW50IHJlc291cmNlLiIpOworICAgICAgICBlbHNlCisgICAgICAg
ICAgICB0ZXN0UGFzc2VkKCJIb3N0IGNsYXNzaWZpZWQgYXMgcHJldmFsZW50IHJlc291cmNlLiIp
OworCisgICAgICAgIHRlc3RSdW5uZXIuc3RhdGlzdGljc1Jlc2V0VG9Db25zaXN0ZW50U3RhdGUo
KTsKKyAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7CisgICAgfQorCisgICAgaWYgKGRv
Y3VtZW50LmxvY2F0aW9uLmhvc3QgPT09IGhvc3RVbmRlclRlc3QgJiYgd2luZG93LnRlc3RSdW5u
ZXIgJiYgd2luZG93LmludGVybmFscykgeworICAgICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERv
bmUoKTsKKyAgICAgICAgaW50ZXJuYWxzLnNldFJlc291cmNlTG9hZFN0YXRpc3RpY3NFbmFibGVk
KHRydWUpOworICAgICAgICBydW5UZXN0UnVubmVyVGVzdCgpOworICAgIH0KKzwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKSW5kZXg6IExheW91
dFRlc3RzL2h0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5
LWFzLXByZXZhbGVudC1iYXNlZC1vbi1zdWItZnJhbWUtdW5kZXItdG9wLWZyYW1lLW9yaWdpbnMt
ZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvbG9hZGlu
Zy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLXByZXZhbGVudC1iYXNlZC1vbi1z
dWItZnJhbWUtdW5kZXItdG9wLWZyYW1lLW9yaWdpbnMtZXhwZWN0ZWQudHh0CShub25leGlzdGVu
dCkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0
aWNzL2NsYXNzaWZ5LWFzLXByZXZhbGVudC1iYXNlZC1vbi1zdWItZnJhbWUtdW5kZXItdG9wLWZy
YW1lLW9yaWdpbnMtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsOCBAQAor
bWFpbiBmcmFtZSAtIGRpZFN0YXJ0UHJvdmlzaW9uYWxMb2FkRm9yRnJhbWUKK21haW4gZnJhbWUg
LSBkaWRDb21taXRMb2FkRm9yRnJhbWUKK21haW4gZnJhbWUgLSBkaWRSZWNlaXZlVGl0bGU6IFRl
c3RzIGZvciBDbGFzc2lmaWNhdGlvbiBCYXNlZCBvbiBTdWIgRnJhbWUgVW5kZXIgVG9wIEZyYW1l
IE9yaWdpbnMKK21haW4gZnJhbWUgLSBkaWRGaW5pc2hEb2N1bWVudExvYWRGb3JGcmFtZQorbWFp
biBmcmFtZSAtIGRpZEhhbmRsZU9ubG9hZEV2ZW50c0ZvckZyYW1lCittYWluIGZyYW1lIC0gZGlk
RmluaXNoTG9hZEZvckZyYW1lCitQQVNTIEhvc3QgY2xhc3NpZmllZCBhcyBwcmV2YWxlbnQgcmVz
b3VyY2UuCisKSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxv
YWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLXByZXZhbGVudC1iYXNlZC1vbi1zdWItZnJhbWUtdW5k
ZXItdG9wLWZyYW1lLW9yaWdpbnMuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1wcmV2YWxl
bnQtYmFzZWQtb24tc3ViLWZyYW1lLXVuZGVyLXRvcC1mcmFtZS1vcmlnaW5zLmh0bWwJKG5vbmV4
aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0
YXRpc3RpY3MvY2xhc3NpZnktYXMtcHJldmFsZW50LWJhc2VkLW9uLXN1Yi1mcmFtZS11bmRlci10
b3AtZnJhbWUtb3JpZ2lucy5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNDQgQEAKKzwh
RE9DVFlQRSBodG1sPgorPGh0bWwgbGFuZz0iZW4iPgorPGhlYWQ+CisgICAgPG1ldGEgY2hhcnNl
dD0iVVRGLTgiPgorICAgIDx0aXRsZT5UZXN0cyBmb3IgQ2xhc3NpZmljYXRpb24gQmFzZWQgb24g
U3ViIEZyYW1lIFVuZGVyIFRvcCBGcmFtZSBPcmlnaW5zPC90aXRsZT4KKyAgICA8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHNjcmlwdD4KKyAgICBjb25zdCBob3N0VW5kZXJUZXN0ID0gIjEyNy4wLjAuMTo4MDAw
IjsKKyAgICBjb25zdCBzdGF0aXN0aWNzVXJsID0gImh0dHA6Ly8iICsgaG9zdFVuZGVyVGVzdCAr
ICIvdGVtcCI7CisgICAgY29uc3QgdG9wRnJhbWVPcmlnaW4xID0gImh0dHA6Ly8xMjcuMC4wLjI6
ODAwMC90ZW1wIjsKKyAgICBjb25zdCB0b3BGcmFtZU9yaWdpbjIgPSAiaHR0cDovLzEyNy4wLjAu
Mzo4MDAwL3RlbXAiOworICAgIGNvbnN0IHRvcEZyYW1lT3JpZ2luMyA9ICJodHRwOi8vMTI3LjAu
MC40OjgwMDAvdGVtcCI7CisgICAgY29uc3QgdG9wRnJhbWVPcmlnaW40ID0gImh0dHA6Ly8xMjcu
MC4wLjU6ODAwMC90ZW1wIjsKKyAgICBmdW5jdGlvbiBydW5UZXN0UnVubmVyVGVzdCgpIHsKKyAg
ICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2Uoc3RhdGlzdGlj
c1VybCwgZmFsc2UpOworICAgICAgICBpZiAodGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NQcmV2YWxl
bnRSZXNvdXJjZShzdGF0aXN0aWNzVXJsKSkKKyAgICAgICAgICAgIHRlc3RGYWlsZWQoIkhvc3Qg
ZGlkIG5vdCBnZXQgc2V0IGFzIG5vbi1wcmV2YWxlbnQgcmVzb3VyY2UuIik7CisKKyAgICAgICAg
dGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzU3ViZnJhbWVVbmRlclRvcEZyYW1lT3JpZ2luKHN0YXRp
c3RpY3NVcmwsIHRvcEZyYW1lT3JpZ2luMSk7CisgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlz
dGljc1N1YmZyYW1lVW5kZXJUb3BGcmFtZU9yaWdpbihzdGF0aXN0aWNzVXJsLCB0b3BGcmFtZU9y
aWdpbjIpOworICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NTdWJmcmFtZVVuZGVyVG9w
RnJhbWVPcmlnaW4oc3RhdGlzdGljc1VybCwgdG9wRnJhbWVPcmlnaW4zKTsKKyAgICAgICAgdGVz
dFJ1bm5lci5zZXRTdGF0aXN0aWNzU3ViZnJhbWVVbmRlclRvcEZyYW1lT3JpZ2luKHN0YXRpc3Rp
Y3NVcmwsIHRvcEZyYW1lT3JpZ2luNCk7CisKKyAgICAgICAgdGVzdFJ1bm5lci5zdGF0aXN0aWNz
RmlyZURhdGFNb2RpZmljYXRpb25IYW5kbGVyKCk7CisKKyAgICAgICAgaWYgKCF0ZXN0UnVubmVy
LmlzU3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNlKHN0YXRpc3RpY3NVcmwpKQorICAgICAgICAg
ICAgdGVzdEZhaWxlZCgiSG9zdCBkaWQgbm90IGdldCBjbGFzc2lmaWVkIGFzIHByZXZhbGVudCBy
ZXNvdXJjZS4iKTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgdGVzdFBhc3NlZCgiSG9zdCBj
bGFzc2lmaWVkIGFzIHByZXZhbGVudCByZXNvdXJjZS4iKTsKKworICAgICAgICB0ZXN0UnVubmVy
LnN0YXRpc3RpY3NSZXNldFRvQ29uc2lzdGVudFN0YXRlKCk7CisgICAgICAgIHRlc3RSdW5uZXIu
bm90aWZ5RG9uZSgpOworICAgIH0KKworICAgIGlmIChkb2N1bWVudC5sb2NhdGlvbi5ob3N0ID09
PSBob3N0VW5kZXJUZXN0ICYmIHdpbmRvdy50ZXN0UnVubmVyICYmIHdpbmRvdy5pbnRlcm5hbHMp
IHsKKyAgICAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7CisgICAgICAgIGludGVybmFs
cy5zZXRSZXNvdXJjZUxvYWRTdGF0aXN0aWNzRW5hYmxlZCh0cnVlKTsKKyAgICAgICAgcnVuVGVz
dFJ1bm5lclRlc3QoKTsKKyAgICB9Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2xvYWRp
bmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1wcmV2YWxlbnQtYmFzZWQtb24t
c3VicmVzb3VyY2UtdW5kZXItdG9wLWZyYW1lLW9yaWdpbnMtZXhwZWN0ZWQudHh0Cj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0
aWNzL2NsYXNzaWZ5LWFzLXByZXZhbGVudC1iYXNlZC1vbi1zdWJyZXNvdXJjZS11bmRlci10b3At
ZnJhbWUtb3JpZ2lucy1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtcHJl
dmFsZW50LWJhc2VkLW9uLXN1YnJlc291cmNlLXVuZGVyLXRvcC1mcmFtZS1vcmlnaW5zLWV4cGVj
dGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDggQEAKK21haW4gZnJhbWUgLSBkaWRT
dGFydFByb3Zpc2lvbmFsTG9hZEZvckZyYW1lCittYWluIGZyYW1lIC0gZGlkQ29tbWl0TG9hZEZv
ckZyYW1lCittYWluIGZyYW1lIC0gZGlkUmVjZWl2ZVRpdGxlOiBUZXN0cyBmb3IgQ2xhc3NpZmlj
YXRpb24gQmFzZWQgb24gU3VicmVzb3VyY2UgVW5kZXIgVG9wIEZyYW1lIE9yaWdpbnMKK21haW4g
ZnJhbWUgLSBkaWRGaW5pc2hEb2N1bWVudExvYWRGb3JGcmFtZQorbWFpbiBmcmFtZSAtIGRpZEhh
bmRsZU9ubG9hZEV2ZW50c0ZvckZyYW1lCittYWluIGZyYW1lIC0gZGlkRmluaXNoTG9hZEZvckZy
YW1lCitQQVNTIEhvc3QgY2xhc3NpZmllZCBhcyBwcmV2YWxlbnQgcmVzb3VyY2UuCisKSW5kZXg6
IExheW91dFRlc3RzL2h0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2Ns
YXNzaWZ5LWFzLXByZXZhbGVudC1iYXNlZC1vbi1zdWJyZXNvdXJjZS11bmRlci10b3AtZnJhbWUt
b3JpZ2lucy5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvbG9hZGlu
Zy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLXByZXZhbGVudC1iYXNlZC1vbi1z
dWJyZXNvdXJjZS11bmRlci10b3AtZnJhbWUtb3JpZ2lucy5odG1sCShub25leGlzdGVudCkKKysr
IExheW91dFRlc3RzL2h0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2Ns
YXNzaWZ5LWFzLXByZXZhbGVudC1iYXNlZC1vbi1zdWJyZXNvdXJjZS11bmRlci10b3AtZnJhbWUt
b3JpZ2lucy5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNDQgQEAKKzwhRE9DVFlQRSBo
dG1sPgorPGh0bWwgbGFuZz0iZW4iPgorPGhlYWQ+CisgICAgPG1ldGEgY2hhcnNldD0iVVRGLTgi
PgorICAgIDx0aXRsZT5UZXN0cyBmb3IgQ2xhc3NpZmljYXRpb24gQmFzZWQgb24gU3VicmVzb3Vy
Y2UgVW5kZXIgVG9wIEZyYW1lIE9yaWdpbnM8L3RpdGxlPgorICAgIDxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8
c2NyaXB0PgorICAgIGNvbnN0IGhvc3RVbmRlclRlc3QgPSAiMTI3LjAuMC4xOjgwMDAiOworICAg
IGNvbnN0IHN0YXRpc3RpY3NVcmwgPSAiaHR0cDovLyIgKyBob3N0VW5kZXJUZXN0ICsgIi90ZW1w
IjsKKyAgICBjb25zdCB0b3BGcmFtZU9yaWdpbjEgPSAiaHR0cDovLzEyNy4wLjAuMjo4MDAwL3Rl
bXAiOworICAgIGNvbnN0IHRvcEZyYW1lT3JpZ2luMiA9ICJodHRwOi8vMTI3LjAuMC4zOjgwMDAv
dGVtcCI7CisgICAgY29uc3QgdG9wRnJhbWVPcmlnaW4zID0gImh0dHA6Ly8xMjcuMC4wLjQ6ODAw
MC90ZW1wIjsKKyAgICBjb25zdCB0b3BGcmFtZU9yaWdpbjQgPSAiaHR0cDovLzEyNy4wLjAuNTo4
MDAwL3RlbXAiOworICAgIGZ1bmN0aW9uIHJ1blRlc3RSdW5uZXJUZXN0KCkgeworICAgICAgICB0
ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJjZShzdGF0aXN0aWNzVXJsLCBm
YWxzZSk7CisgICAgICAgIGlmICh0ZXN0UnVubmVyLmlzU3RhdGlzdGljc1ByZXZhbGVudFJlc291
cmNlKHN0YXRpc3RpY3NVcmwpKQorICAgICAgICAgICAgdGVzdEZhaWxlZCgiSG9zdCBkaWQgbm90
IGdldCBzZXQgYXMgbm9uLXByZXZhbGVudCByZXNvdXJjZS4iKTsKKworICAgICAgICB0ZXN0UnVu
bmVyLnNldFN0YXRpc3RpY3NTdWJyZXNvdXJjZVVuZGVyVG9wRnJhbWVPcmlnaW4oc3RhdGlzdGlj
c1VybCwgdG9wRnJhbWVPcmlnaW4xKTsKKyAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNz
U3VicmVzb3VyY2VVbmRlclRvcEZyYW1lT3JpZ2luKHN0YXRpc3RpY3NVcmwsIHRvcEZyYW1lT3Jp
Z2luMik7CisgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1N1YnJlc291cmNlVW5kZXJU
b3BGcmFtZU9yaWdpbihzdGF0aXN0aWNzVXJsLCB0b3BGcmFtZU9yaWdpbjMpOworICAgICAgICB0
ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NTdWJyZXNvdXJjZVVuZGVyVG9wRnJhbWVPcmlnaW4oc3Rh
dGlzdGljc1VybCwgdG9wRnJhbWVPcmlnaW40KTsKKworICAgICAgICB0ZXN0UnVubmVyLnN0YXRp
c3RpY3NGaXJlRGF0YU1vZGlmaWNhdGlvbkhhbmRsZXIoKTsKKworICAgICAgICBpZiAoIXRlc3RS
dW5uZXIuaXNTdGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2Uoc3RhdGlzdGljc1VybCkpCisgICAg
ICAgICAgICB0ZXN0RmFpbGVkKCJIb3N0IGRpZCBub3QgZ2V0IGNsYXNzaWZpZWQgYXMgcHJldmFs
ZW50IHJlc291cmNlLiIpOworICAgICAgICBlbHNlCisgICAgICAgICAgICB0ZXN0UGFzc2VkKCJI
b3N0IGNsYXNzaWZpZWQgYXMgcHJldmFsZW50IHJlc291cmNlLiIpOworCisgICAgICAgIHRlc3RS
dW5uZXIuc3RhdGlzdGljc1Jlc2V0VG9Db25zaXN0ZW50U3RhdGUoKTsKKyAgICAgICAgdGVzdFJ1
bm5lci5ub3RpZnlEb25lKCk7CisgICAgfQorCisgICAgaWYgKGRvY3VtZW50LmxvY2F0aW9uLmhv
c3QgPT09IGhvc3RVbmRlclRlc3QgJiYgd2luZG93LnRlc3RSdW5uZXIgJiYgd2luZG93LmludGVy
bmFscykgeworICAgICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKKyAgICAgICAgaW50
ZXJuYWxzLnNldFJlc291cmNlTG9hZFN0YXRpc3RpY3NFbmFibGVkKHRydWUpOworICAgICAgICBy
dW5UZXN0UnVubmVyVGVzdCgpOworICAgIH0KKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMv
bG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLXByZXZhbGVudC1iYXNl
ZC1vbi1zdWJyZXNvdXJjZS11bmlxdWUtcmVkaXJlY3RzLXRvLWV4cGVjdGVkLnR4dAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlz
dGljcy9jbGFzc2lmeS1hcy1wcmV2YWxlbnQtYmFzZWQtb24tc3VicmVzb3VyY2UtdW5pcXVlLXJl
ZGlyZWN0cy10by1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtcHJldmFs
ZW50LWJhc2VkLW9uLXN1YnJlc291cmNlLXVuaXF1ZS1yZWRpcmVjdHMtdG8tZXhwZWN0ZWQudHh0
CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsOCBAQAorbWFpbiBmcmFtZSAtIGRpZFN0YXJ0UHJv
dmlzaW9uYWxMb2FkRm9yRnJhbWUKK21haW4gZnJhbWUgLSBkaWRDb21taXRMb2FkRm9yRnJhbWUK
K21haW4gZnJhbWUgLSBkaWRSZWNlaXZlVGl0bGU6IFRlc3RzIGZvciBDbGFzc2lmaWNhdGlvbiBC
YXNlZCBvbiBTdWJyZXNvdXJjZSBVbmlxdWUgUmVkaXJlY3RzIFRvCittYWluIGZyYW1lIC0gZGlk
RmluaXNoRG9jdW1lbnRMb2FkRm9yRnJhbWUKK21haW4gZnJhbWUgLSBkaWRIYW5kbGVPbmxvYWRF
dmVudHNGb3JGcmFtZQorbWFpbiBmcmFtZSAtIGRpZEZpbmlzaExvYWRGb3JGcmFtZQorUEFTUyBI
b3N0IGNsYXNzaWZpZWQgYXMgcHJldmFsZW50IHJlc291cmNlLgorCkluZGV4OiBMYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1w
cmV2YWxlbnQtYmFzZWQtb24tc3VicmVzb3VyY2UtdW5pcXVlLXJlZGlyZWN0cy10by5odG1sCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRT
dGF0aXN0aWNzL2NsYXNzaWZ5LWFzLXByZXZhbGVudC1iYXNlZC1vbi1zdWJyZXNvdXJjZS11bmlx
dWUtcmVkaXJlY3RzLXRvLmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtcHJldmFsZW50
LWJhc2VkLW9uLXN1YnJlc291cmNlLXVuaXF1ZS1yZWRpcmVjdHMtdG8uaHRtbAkod29ya2luZyBj
b3B5KQpAQCAtMCwwICsxLDQ0IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sIGxhbmc9ImVuIj4K
KzxoZWFkPgorICAgIDxtZXRhIGNoYXJzZXQ9IlVURi04Ij4KKyAgICA8dGl0bGU+VGVzdHMgZm9y
IENsYXNzaWZpY2F0aW9uIEJhc2VkIG9uIFN1YnJlc291cmNlIFVuaXF1ZSBSZWRpcmVjdHMgVG88
L3RpdGxlPgorICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMi
Pjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0PgorICAgIGNvbnN0IGhvc3RVbmRl
clRlc3QgPSAiMTI3LjAuMC4xOjgwMDAiOworICAgIGNvbnN0IHN0YXRpc3RpY3NVcmwgPSAiaHR0
cDovLyIgKyBob3N0VW5kZXJUZXN0ICsgIi90ZW1wIjsKKyAgICBjb25zdCB0b3BGcmFtZU9yaWdp
bjEgPSAiaHR0cDovLzEyNy4wLjAuMjo4MDAwL3RlbXAiOworICAgIGNvbnN0IHRvcEZyYW1lT3Jp
Z2luMiA9ICJodHRwOi8vMTI3LjAuMC4zOjgwMDAvdGVtcCI7CisgICAgY29uc3QgdG9wRnJhbWVP
cmlnaW4zID0gImh0dHA6Ly8xMjcuMC4wLjQ6ODAwMC90ZW1wIjsKKyAgICBjb25zdCB0b3BGcmFt
ZU9yaWdpbjQgPSAiaHR0cDovLzEyNy4wLjAuNTo4MDAwL3RlbXAiOworICAgIGZ1bmN0aW9uIHJ1
blRlc3RSdW5uZXJUZXN0KCkgeworICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NQcmV2
YWxlbnRSZXNvdXJjZShzdGF0aXN0aWNzVXJsLCBmYWxzZSk7CisgICAgICAgIGlmICh0ZXN0UnVu
bmVyLmlzU3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNlKHN0YXRpc3RpY3NVcmwpKQorICAgICAg
ICAgICAgdGVzdEZhaWxlZCgiSG9zdCBkaWQgbm90IGdldCBzZXQgYXMgbm9uLXByZXZhbGVudCBy
ZXNvdXJjZS4iKTsKKworICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NTdWJyZXNvdXJj
ZVVuaXF1ZVJlZGlyZWN0VG8oc3RhdGlzdGljc1VybCwgdG9wRnJhbWVPcmlnaW4xKTsKKyAgICAg
ICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzU3VicmVzb3VyY2VVbmlxdWVSZWRpcmVjdFRvKHN0
YXRpc3RpY3NVcmwsIHRvcEZyYW1lT3JpZ2luMik7CisgICAgICAgIHRlc3RSdW5uZXIuc2V0U3Rh
dGlzdGljc1N1YnJlc291cmNlVW5pcXVlUmVkaXJlY3RUbyhzdGF0aXN0aWNzVXJsLCB0b3BGcmFt
ZU9yaWdpbjMpOworICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NTdWJyZXNvdXJjZVVu
aXF1ZVJlZGlyZWN0VG8oc3RhdGlzdGljc1VybCwgdG9wRnJhbWVPcmlnaW40KTsKKworICAgICAg
ICB0ZXN0UnVubmVyLnN0YXRpc3RpY3NGaXJlRGF0YU1vZGlmaWNhdGlvbkhhbmRsZXIoKTsKKwor
ICAgICAgICBpZiAoIXRlc3RSdW5uZXIuaXNTdGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2Uoc3Rh
dGlzdGljc1VybCkpCisgICAgICAgICAgICB0ZXN0RmFpbGVkKCJIb3N0IGRpZCBub3QgZ2V0IGNs
YXNzaWZpZWQgYXMgcHJldmFsZW50IHJlc291cmNlLiIpOworICAgICAgICBlbHNlCisgICAgICAg
ICAgICB0ZXN0UGFzc2VkKCJIb3N0IGNsYXNzaWZpZWQgYXMgcHJldmFsZW50IHJlc291cmNlLiIp
OworCisgICAgICAgIHRlc3RSdW5uZXIuc3RhdGlzdGljc1Jlc2V0VG9Db25zaXN0ZW50U3RhdGUo
KTsKKyAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7CisgICAgfQorCisgICAgaWYgKGRv
Y3VtZW50LmxvY2F0aW9uLmhvc3QgPT09IGhvc3RVbmRlclRlc3QgJiYgd2luZG93LnRlc3RSdW5u
ZXIgJiYgd2luZG93LmludGVybmFscykgeworICAgICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERv
bmUoKTsKKyAgICAgICAgaW50ZXJuYWxzLnNldFJlc291cmNlTG9hZFN0YXRpc3RpY3NFbmFibGVk
KHRydWUpOworICAgICAgICBydW5UZXN0UnVubmVyVGVzdCgpOworICAgIH0KKzwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2syL1Rlc3RFeHBl
Y3RhdGlvbnMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2syL1Rlc3RFeHBl
Y3RhdGlvbnMJKHJldmlzaW9uIDIxMjQzOSkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL3drMi9U
ZXN0RXhwZWN0YXRpb25zCSh3b3JraW5nIGNvcHkpCkBAIC03MDUsNiArNzA1LDE0IEBAIGh0dHAv
dGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWMKIGh0dHAvdGVzdHMvbG9hZGluZy9y
ZXNvdXJjZUxvYWRTdGF0aXN0aWNzL25vbi1wcmV2YWxlbnQtcmVzb3VyY2Utd2l0aG91dC11c2Vy
LWludGVyYWN0aW9uLmh0bWwgWyBQYXNzIFRpbWVvdXQgXQogaHR0cC90ZXN0cy9sb2FkaW5nL3Jl
c291cmNlTG9hZFN0YXRpc3RpY3MvcHJldmFsZW50LXJlc291cmNlLXdpdGhvdXQtdXNlci1pbnRl
cmFjdGlvbi5odG1sIFsgUGFzcyBUaW1lb3V0IF0KIGh0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzL3ByZXZhbGVudC1yZXNvdXJjZS13aXRoLXVzZXItaW50ZXJhY3Rpb24t
dGltZW91dC5odG1sIFsgUGFzcyBUaW1lb3V0IF0KK2h0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLW5vbi1wcmV2YWxlbnQtYmFzZWQtb24tbWl4ZWQt
c3RhdGlzdGljcy5odG1sIFsgUGFzcyBdCitodHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2Fk
U3RhdGlzdGljcy9jbGFzc2lmeS1hcy1ub24tcHJldmFsZW50LWJhc2VkLW9uLXN1Yi1mcmFtZS11
bmRlci10b3AtZnJhbWUtb3JpZ2lucy5odG1sIFsgUGFzcyBdCitodHRwL3Rlc3RzL2xvYWRpbmcv
cmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1ub24tcHJldmFsZW50LWJhc2VkLW9u
LXN1YnJlc291cmNlLXVuZGVyLXRvcC1mcmFtZS1vcmlnaW5zLmh0bWwgWyBQYXNzIF0KK2h0dHAv
dGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLW5vbi1wcmV2
YWxlbnQtYmFzZWQtb24tc3VicmVzb3VyY2UtdW5pcXVlLXJlZGlyZWN0cy10by5odG1sIFsgUGFz
cyBdCitodHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1h
cy1wcmV2YWxlbnQtYmFzZWQtb24tbWl4ZWQtc3RhdGlzdGljcy5odG1sIFsgUGFzcyBdCitodHRw
L3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1wcmV2YWxl
bnQtYmFzZWQtb24tc3ViLWZyYW1lLXVuZGVyLXRvcC1mcmFtZS1vcmlnaW5zLmh0bWwgWyBQYXNz
IF0KK2h0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFz
LXByZXZhbGVudC1iYXNlZC1vbi1zdWJyZXNvdXJjZS11bmRlci10b3AtZnJhbWUtb3JpZ2lucy5o
dG1sIFsgUGFzcyBdCitodHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9j
bGFzc2lmeS1hcy1wcmV2YWxlbnQtYmFzZWQtb24tc3VicmVzb3VyY2UtdW5pcXVlLXJlZGlyZWN0
cy10by5odG1sIFsgUGFzcyBdCiAKICMjIyBFTkQgT0YgKDUpIFByb2dyZXNzaW9ucywgZXhwZWN0
ZWQgc3VjY2Vzc2VzIHRoYXQgYXJlIGV4cGVjdGVkIGZhaWx1cmVzIGluIFdlYktpdDEuCiAjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>301879</attachid>
            <date>2017-02-16 21:24:54 -0800</date>
            <delta_ts>2017-02-16 22:21:41 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-168347-20170216212217.patch</filename>
            <type>text/plain</type>
            <size>114204</size>
            <attacher name="John Wilander">wilander</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XVEYvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XVEYvQ2hh
bmdlTG9nCShyZXZpc2lvbiAyMTI1MjQpCisrKyBTb3VyY2UvV1RGL0NoYW5nZUxvZwkod29ya2lu
ZyBjb3B5KQpAQCAtMSwzICsxLDE0IEBACisyMDE3LTAyLTE2ICBKb2huIFdpbGFuZGVyICA8d2ls
YW5kZXJAYXBwbGUuY29tPgorCisgICAgICAgIFJlc291cmNlIExvYWQgU3RhdGlzdGljczogQWRk
IGFsdGVybmF0ZSBjbGFzc2lmaWNhdGlvbiBtZXRob2QKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2ODM0NworICAgICAgICA8cmRhcjovL3Byb2JsZW0v
MzAzNTI3OTM+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgKiB3dGYvUGxhdGZvcm0uaDoKKyAgICAgICAgICAgIEFkZGVkIHN1cHBvcnQgZm9yIEhBVkUo
Q09SRV9QUkVESUNUSU9OKS4KKwogMjAxNy0wMi0xNiAgQWxleCBDaHJpc3RlbnNlbiAgPGFjaHJp
c3RlbnNlbkB3ZWJraXQub3JnPgogCiAgICAgICAgIFJlbW92ZSBFRkwtc3BlY2lmaWMgZmlsZXMg
aW4gU291cmNlLgpJbmRleDogU291cmNlL1dURi93dGYvUGxhdGZvcm0uaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybS5oCShyZXZpc2lvbiAyMTI0MzkpCisrKyBTb3VyY2Uv
V1RGL3d0Zi9QbGF0Zm9ybS5oCSh3b3JraW5nIGNvcHkpCkBAIC0xMjIyLDQgKzEyMjIsOCBAQAog
I2VuZGlmCiAjZW5kaWYgLyogUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUFY
X0FMTE9XRUQgPj0gMTAxMjAxICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0g
MTAxMjAwICovCiAKKyNpZiBQTEFURk9STShJT1MpICYmIFVTRShBUFBMRV9JTlRFUk5BTF9TREsp
IHx8IChQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0g
MTAxMjAwKQorI2RlZmluZSBIQVZFX0NPUkVfUFJFRElDVElPTiAxCisjZW5kaWYKKwogI2VuZGlm
IC8qIFdURl9QbGF0Zm9ybV9oICovCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCShyZXZpc2lvbiAyMTI0MzkpCisr
KyBTb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwyOCBA
QAorMjAxNy0wMi0xNiAgSm9obiBXaWxhbmRlciAgPHdpbGFuZGVyQGFwcGxlLmNvbT4KKworICAg
ICAgICBSZXNvdXJjZSBMb2FkIFN0YXRpc3RpY3M6IEFkZCBhbHRlcm5hdGUgY2xhc3NpZmljYXRp
b24gbWV0aG9kCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xNjgzNDcKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzMwMzUyNzkzPgorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoaXMgcGF0Y2ggb25seSBhZGRz
IHRlc3QgaW5mcmFzdHJ1Y3R1cmUgaW4gV2ViQ29yZS4KKworICAgICAgICBUZXN0czogaHR0cC90
ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtbm9uLXByZXZh
bGVudC1iYXNlZC1vbi1taXhlZC1zdGF0aXN0aWNzLmh0bWwKKyAgICAgICAgICAgICAgIGh0dHAv
dGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLW5vbi1wcmV2
YWxlbnQtYmFzZWQtb24tc3ViLWZyYW1lLXVuZGVyLXRvcC1mcmFtZS1vcmlnaW5zLmh0bWwKKyAg
ICAgICAgICAgICAgIGh0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2Ns
YXNzaWZ5LWFzLW5vbi1wcmV2YWxlbnQtYmFzZWQtb24tc3VicmVzb3VyY2UtdW5kZXItdG9wLWZy
YW1lLW9yaWdpbnMuaHRtbAorICAgICAgICAgICAgICAgaHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291
cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtbm9uLXByZXZhbGVudC1iYXNlZC1vbi1zdWJy
ZXNvdXJjZS11bmlxdWUtcmVkaXJlY3RzLXRvLmh0bWwKKyAgICAgICAgICAgICAgIGh0dHAvdGVz
dHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLXByZXZhbGVudC1i
YXNlZC1vbi1taXhlZC1zdGF0aXN0aWNzLmh0bWwKKyAgICAgICAgICAgICAgIGh0dHAvdGVzdHMv
bG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLXByZXZhbGVudC1iYXNl
ZC1vbi1zdWItZnJhbWUtdW5kZXItdG9wLWZyYW1lLW9yaWdpbnMuaHRtbAorICAgICAgICAgICAg
ICAgaHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMt
cHJldmFsZW50LWJhc2VkLW9uLXN1YnJlc291cmNlLXVuZGVyLXRvcC1mcmFtZS1vcmlnaW5zLmh0
bWwKKyAgICAgICAgICAgICAgIGh0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0
aWNzL2NsYXNzaWZ5LWFzLXByZXZhbGVudC1iYXNlZC1vbi1zdWJyZXNvdXJjZS11bmlxdWUtcmVk
aXJlY3RzLXRvLmh0bWwKKworICAgICAgICAqIGxvYWRlci9SZXNvdXJjZUxvYWRPYnNlcnZlci5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZUxvYWRPYnNlcnZlcjo6c2V0U3ViZnJhbWVV
bmRlclRvcEZyYW1lT3JpZ2luKToKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlTG9hZE9ic2Vy
dmVyOjpzZXRTdWJyZXNvdXJjZVVuZGVyVG9wRnJhbWVPcmlnaW4pOgorICAgICAgICAoV2ViQ29y
ZTo6UmVzb3VyY2VMb2FkT2JzZXJ2ZXI6OnNldFN1YnJlc291cmNlVW5pcXVlUmVkaXJlY3RUbyk6
CisgICAgICAgICogbG9hZGVyL1Jlc291cmNlTG9hZE9ic2VydmVyLmg6CisKIDIwMTctMDItMTYg
IFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CiAKICAgICAgICAgQ2xlYW4g
dXAgdXNlIG9mIHNvbWUgQ0FMYXllci1yZWxhdGVkIFNQSQpJbmRleDogU291cmNlL1dlYkNvcmUv
bG9hZGVyL1Jlc291cmNlTG9hZE9ic2VydmVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvUmVzb3VyY2VMb2FkT2JzZXJ2ZXIuY3BwCShyZXZpc2lvbiAyMTI0MzkpCisr
KyBTb3VyY2UvV2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VMb2FkT2JzZXJ2ZXIuY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC0zNzUsNiArMzc1LDMzIEBAIHZvaWQgUmVzb3VyY2VMb2FkT2JzZXJ2ZXI6OmNs
ZWFyUHJldmFsZW4KICAgICBzdGF0aXN0aWNzLmlzUHJldmFsZW50UmVzb3VyY2UgPSBmYWxzZTsK
IH0KIAordm9pZCBSZXNvdXJjZUxvYWRPYnNlcnZlcjo6c2V0U3ViZnJhbWVVbmRlclRvcEZyYW1l
T3JpZ2luKGNvbnN0IFVSTCYgc3ViZnJhbWUsIGNvbnN0IFVSTCYgdG9wRnJhbWUpCit7CisgICAg
aWYgKHN1YmZyYW1lLmlzQmxhbmtVUkwoKSB8fCBzdWJmcmFtZS5pc0VtcHR5KCkgfHwgdG9wRnJh
bWUuaXNCbGFua1VSTCgpIHx8IHRvcEZyYW1lLmlzRW1wdHkoKSkKKyAgICAgICAgcmV0dXJuOwor
ICAgIAorICAgIGF1dG8mIHN0YXRpc3RpY3MgPSBtX3N0b3JlLT5lbnN1cmVSZXNvdXJjZVN0YXRp
c3RpY3NGb3JQcmltYXJ5RG9tYWluKHByaW1hcnlEb21haW4oc3ViZnJhbWUpKTsKKyAgICBzdGF0
aXN0aWNzLnN1YmZyYW1lVW5kZXJUb3BGcmFtZU9yaWdpbnMuYWRkKHByaW1hcnlEb21haW4odG9w
RnJhbWUpKTsKK30KKwordm9pZCBSZXNvdXJjZUxvYWRPYnNlcnZlcjo6c2V0U3VicmVzb3VyY2VV
bmRlclRvcEZyYW1lT3JpZ2luKGNvbnN0IFVSTCYgc3VicmVzb3VyY2UsIGNvbnN0IFVSTCYgdG9w
RnJhbWUpCit7CisgICAgaWYgKHN1YnJlc291cmNlLmlzQmxhbmtVUkwoKSB8fCBzdWJyZXNvdXJj
ZS5pc0VtcHR5KCkgfHwgdG9wRnJhbWUuaXNCbGFua1VSTCgpIHx8IHRvcEZyYW1lLmlzRW1wdHko
KSkKKyAgICAgICAgcmV0dXJuOworICAgIAorICAgIGF1dG8mIHN0YXRpc3RpY3MgPSBtX3N0b3Jl
LT5lbnN1cmVSZXNvdXJjZVN0YXRpc3RpY3NGb3JQcmltYXJ5RG9tYWluKHByaW1hcnlEb21haW4o
c3VicmVzb3VyY2UpKTsKKyAgICBzdGF0aXN0aWNzLnN1YnJlc291cmNlVW5kZXJUb3BGcmFtZU9y
aWdpbnMuYWRkKHByaW1hcnlEb21haW4odG9wRnJhbWUpKTsKK30KKwordm9pZCBSZXNvdXJjZUxv
YWRPYnNlcnZlcjo6c2V0U3VicmVzb3VyY2VVbmlxdWVSZWRpcmVjdFRvKGNvbnN0IFVSTCYgc3Vi
cmVzb3VyY2UsIGNvbnN0IFVSTCYgaG9zdE5hbWVSZWRpcmVjdGVkVG8pCit7CisgICAgaWYgKHN1
YnJlc291cmNlLmlzQmxhbmtVUkwoKSB8fCBzdWJyZXNvdXJjZS5pc0VtcHR5KCkgfHwgaG9zdE5h
bWVSZWRpcmVjdGVkVG8uaXNCbGFua1VSTCgpIHx8IGhvc3ROYW1lUmVkaXJlY3RlZFRvLmlzRW1w
dHkoKSkKKyAgICAgICAgcmV0dXJuOworICAgIAorICAgIGF1dG8mIHN0YXRpc3RpY3MgPSBtX3N0
b3JlLT5lbnN1cmVSZXNvdXJjZVN0YXRpc3RpY3NGb3JQcmltYXJ5RG9tYWluKHByaW1hcnlEb21h
aW4oc3VicmVzb3VyY2UpKTsKKyAgICBzdGF0aXN0aWNzLnN1YnJlc291cmNlVW5pcXVlUmVkaXJl
Y3RzVG8uYWRkKHByaW1hcnlEb21haW4oaG9zdE5hbWVSZWRpcmVjdGVkVG8pKTsKK30KKwogdm9p
ZCBSZXNvdXJjZUxvYWRPYnNlcnZlcjo6c2V0VGltZVRvTGl2ZVVzZXJJbnRlcmFjdGlvbihkb3Vi
bGUgc2Vjb25kcykKIHsKICAgICBtX3N0b3JlLT5zZXRUaW1lVG9MaXZlVXNlckludGVyYWN0aW9u
KHNlY29uZHMpOwpJbmRleDogU291cmNlL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlTG9hZE9ic2Vy
dmVyLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlTG9hZE9i
c2VydmVyLmgJKHJldmlzaW9uIDIxMjQzOSkKKysrIFNvdXJjZS9XZWJDb3JlL2xvYWRlci9SZXNv
dXJjZUxvYWRPYnNlcnZlci5oCSh3b3JraW5nIGNvcHkpCkBAIC01OCw2ICs1OCwxMCBAQCBwdWJs
aWM6CiAgICAgV0VCQ09SRV9FWFBPUlQgYm9vbCBpc1ByZXZhbGVudFJlc291cmNlKGNvbnN0IFVS
TCYpOwogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgY2xlYXJQcmV2YWxlbnRSZXNvdXJjZShjb25z
dCBVUkwmKTsKIAorICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgc2V0U3ViZnJhbWVVbmRlclRvcEZy
YW1lT3JpZ2luKGNvbnN0IFVSTCYgc3ViZnJhbWUsIGNvbnN0IFVSTCYgdG9wRnJhbWUpOworICAg
IFdFQkNPUkVfRVhQT1JUIHZvaWQgc2V0U3VicmVzb3VyY2VVbmRlclRvcEZyYW1lT3JpZ2luKGNv
bnN0IFVSTCYgc3VicmVzb3VyY2UsIGNvbnN0IFVSTCYgdG9wRnJhbWUpOworICAgIFdFQkNPUkVf
RVhQT1JUIHZvaWQgc2V0U3VicmVzb3VyY2VVbmlxdWVSZWRpcmVjdFRvKGNvbnN0IFVSTCYgc3Vi
cmVzb3VyY2UsIGNvbnN0IFVSTCYgaG9zdE5hbWVSZWRpcmVjdGVkVG8pOworCiAgICAgV0VCQ09S
RV9FWFBPUlQgdm9pZCBzZXRUaW1lVG9MaXZlVXNlckludGVyYWN0aW9uKGRvdWJsZSBzZWNvbmRz
KTsKICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHNldFJlZHVjZWRUaW1lc3RhbXBSZXNvbHV0aW9u
KGRvdWJsZSBzZWNvbmRzKTsKIApJbmRleDogU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwkocmV2aXNpb24gMjEyNDM5KQorKysg
U291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsNzEgQEAK
KzIwMTctMDItMTYgIEpvaG4gV2lsYW5kZXIgIDx3aWxhbmRlckBhcHBsZS5jb20+CisKKyAgICAg
ICAgUmVzb3VyY2UgTG9hZCBTdGF0aXN0aWNzOiBBZGQgYWx0ZXJuYXRlIGNsYXNzaWZpY2F0aW9u
IG1ldGhvZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTY4MzQ3CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8zMDM1Mjc5Mz4KKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGlzIHBhdGNoIGFkZHMgYSBDb3Jl
UHJlZGljdGlvbi1iYXNlZCBjbGFzc2lmaWVyIHRvIHRoZSBXZWJSZXNvdXJjZUxvYWRTdGF0aXN0
aWNzU3RvcmUuCisgICAgICAgIFRoZSBDb3JlUHJlZGljdGlvbiBmcmFtZXdvcmsgaXMgaW50cm9k
dWNlZCBhcyBhIGRlcGVuZGVuY3kgZm9yIG1hY09TIGFuZCBpT1MuIFRoZSBwYXRjaAorICAgICAg
ICBhbHNvIGFkZHMgZnVuY3Rpb25zIHRvIHN1cHBvcnQgbGF5b3V0IHRlc3RzIG9mIHRoZSBmZWF0
dXJlLgorCisgICAgICAgICogQ29uZmlndXJhdGlvbnMvQmFzZVRhcmdldC54Y2NvbmZpZzoKKyAg
ICAgICAgKiBDb25maWd1cmF0aW9ucy9XZWJLaXQueGNjb25maWc6CisgICAgICAgICAgICBBZGRl
ZCBkZXBlbmRlbmN5IG9uIENvcmVQcmVkaWN0aW9uLgorICAgICAgICAqIFBsYXRmb3JtL2NsYXNz
aWZpZXI6IEFkZGVkLgorICAgICAgICAqIFBsYXRmb3JtL2NsYXNzaWZpZXIvUmVzb3VyY2VMb2Fk
U3RhdGlzdGljc0NsYXNzaWZpZXIuaDogQWRkZWQuCisgICAgICAgIChXZWJLaXQ6OlJlc291cmNl
TG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyOjpSZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmll
cik6CisgICAgICAgICAgICBQdWxscyBpbiB0aGUgQ29jb2Etc3BlY2lmaWMgY2xhc3NpZmllciBm
b3IgQ29jb2EtYmFzZWQgcGxhdGZvcm1zLgorICAgICAgICAqIFBsYXRmb3JtL2NsYXNzaWZpZXIv
UmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXJCYXNlLmNwcDogQWRkZWQuCisgICAgICAg
IChXZWJLaXQ6OlJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQmFzZTo6aGFzUHJldmFs
ZW50UmVzb3VyY2VDaGFyYWN0ZXJpc3RpY3MpOgorICAgICAgICAoV2ViS2l0OjpSZXNvdXJjZUxv
YWRTdGF0aXN0aWNzQ2xhc3NpZmllckJhc2U6OmNsYXNzaWZ5KToKKyAgICAgICAgKiBQbGF0Zm9y
bS9jbGFzc2lmaWVyL1Jlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQmFzZS5oOiBBZGRl
ZC4KKyAgICAgICAgKFdlYktpdDo6UmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXJCYXNl
OjpSZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllckJhc2UpOgorICAgICAgICAoV2ViS2l0
OjpSZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllckJhc2U6On5SZXNvdXJjZUxvYWRTdGF0
aXN0aWNzQ2xhc3NpZmllckJhc2UpOgorICAgICAgICAgICAgVGhlIGRlZmF1bHQgY2xhc3NpZmll
ciBub3cgbGl2ZXMgaW4gUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXJCYXNlLgorICAg
ICAgICAqIFBsYXRmb3JtL2NsYXNzaWZpZXIvY29jb2E6IEFkZGVkLgorICAgICAgICAqIFBsYXRm
b3JtL2NsYXNzaWZpZXIvY29jb2EvUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXJDb2Nv
YS5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViS2l0OjpSZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xh
c3NpZmllcjo6Y2xhc3NpZnkpOgorICAgICAgICAoV2ViS2l0OjpSZXNvdXJjZUxvYWRTdGF0aXN0
aWNzQ2xhc3NpZmllcjo6c3RvcmFnZVBhdGgpOgorICAgICAgICAoV2ViS2l0OjpSZXNvdXJjZUxv
YWRTdGF0aXN0aWNzQ2xhc3NpZmllcjo6c2hvdWxkVXNlQ29yZVByZWRpY3Rpb24pOgorICAgICAg
ICAqIFBsYXRmb3JtL2NsYXNzaWZpZXIvY29jb2EvUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNz
aWZpZXJDb2NvYS5oOiBBZGRlZC4KKyAgICAgICAgKFdlYktpdDo6UmVzb3VyY2VMb2FkU3RhdGlz
dGljc0NsYXNzaWZpZXI6OlJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyKToKKyAgICAg
ICAgICAgIFJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQ29jb2EgaG9zdHMgdGhlIENv
cmVQcmVkaWN0aW9uLWJhc2VkCisgICAgICAgICAgICBjbGFzc2lmaWVyLgorICAgICAgICAqIFJl
c291cmNlcy9SZXNvdXJjZUxvYWRTdGF0aXN0aWNzOiBBZGRlZC4KKyAgICAgICAgKiBSZXNvdXJj
ZXMvUmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jb3JlUHJlZGljdGlvbl9tb2RlbDogQWRkZWQuCisg
ICAgICAgICAgICBNb2RlbCBmaWxlIHRvIGxvYWQgaW50byBDb3JlUHJlZGljdGlvbi4KKyAgICAg
ICAgKiBVSVByb2Nlc3MvQVBJL0MvV0tSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdlci5jcHA6
CisgICAgICAgIChXS1Jlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VyU2V0U3ViZnJhbWVVbmRl
clRvcEZyYW1lT3JpZ2luKToKKyAgICAgICAgKFdLUmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFn
ZXJTZXRTdWJyZXNvdXJjZVVuZGVyVG9wRnJhbWVPcmlnaW4pOgorICAgICAgICAoV0tSZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzTWFuYWdlclNldFN1YnJlc291cmNlVW5pcXVlUmVkaXJlY3RUbyk6Cisg
ICAgICAgICAgICBUZXN0IGluZnJhc3RydWN0dXJlLgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkv
Qy9XS1Jlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VyLmg6CisgICAgICAgICogVUlQcm9jZXNz
L1dlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VyLmNwcDoKKyAgICAgICAgKFdlYktpdDo6
V2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFnZXI6OnNldFN1YmZyYW1lVW5kZXJUb3BGcmFt
ZU9yaWdpbik6CisgICAgICAgIChXZWJLaXQ6OldlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5h
Z2VyOjpzZXRTdWJyZXNvdXJjZVVuZGVyVG9wRnJhbWVPcmlnaW4pOgorICAgICAgICAoV2ViS2l0
OjpXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdlcjo6c2V0U3VicmVzb3VyY2VVbmlxdWVS
ZWRpcmVjdFRvKToKKyAgICAgICAgICAgIFRlc3QgaW5mcmFzdHJ1Y3R1cmUuCisgICAgICAgICog
VUlQcm9jZXNzL1dlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VyLmg6CisgICAgICAgICog
VUlQcm9jZXNzL1dlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZS5jcHA6CisgICAgICAgIChX
ZWJLaXQ6OldlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZTo6V2ViUmVzb3VyY2VMb2FkU3Rh
dGlzdGljc1N0b3JlKToKKyAgICAgICAgICAgIFJlbmFtZWQgbV9zdG9yYWdlUGF0aCB0byBtX3N0
YXRpc3RpY3NTdG9yYWdlUGF0aCBmb3IgY2xhcml0eS4KKyAgICAgICAgKFdlYktpdDo6V2ViUmVz
b3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlOjpjbGFzc2lmeVJlc291cmNlKToKKyAgICAgICAgICAg
IE5vdyBjYWxscyB0aGUgY2xhc3NpZmllciB0aHJvdWdoIGl0cyBSZXNvdXJjZUxvYWRTdGF0aXN0
aWNzQ2xhc3NpZmllcgorICAgICAgICAgICAgbWVtYmVyIHZhcmlhYmxlLgorICAgICAgICAoV2Vi
S2l0OjpXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmU6OnBlcnNpc3RlbnRTdG9yYWdlUGF0
aCk6CisgICAgICAgICAgICBSZW5hbWVkIG1fc3RvcmFnZVBhdGggdG8gbV9zdGF0aXN0aWNzU3Rv
cmFnZVBhdGggZm9yIGNsYXJpdHkuCisgICAgICAgIChXZWJLaXQ6OldlYlJlc291cmNlTG9hZFN0
YXRpc3RpY3NTdG9yZTo6d3JpdGVFbmNvZGVyVG9EaXNrKToKKyAgICAgICAgICAgIFJlbmFtZWQg
bV9zdG9yYWdlUGF0aCB0byBtX3N0YXRpc3RpY3NTdG9yYWdlUGF0aCBmb3IgY2xhcml0eS4KKyAg
ICAgICAgKFdlYktpdDo6V2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlOjpoYXNQcmV2YWxl
bnRSZXNvdXJjZUNoYXJhY3RlcmlzdGljcyk6IERlbGV0ZWQuCisgICAgICAgICAgICBNb3ZlZCBp
bnRvIFJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQmFzZS4KKyAgICAgICAgKiBVSVBy
b2Nlc3MvV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlLmg6CisgICAgICAgICAgICBSZW5h
bWVkIG1fc3RvcmFnZVBhdGggdG8gbV9zdGF0aXN0aWNzU3RvcmFnZVBhdGggZm9yIGNsYXJpdHku
CisgICAgICAgICogV2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAg
ICAgQWRkZWQgdGhlIG5ldyBjbGFzc2lmaWVyIHNvdXJjZSBmaWxlcyB1bmRlciBQbGF0Zm9ybS9j
bGFzc2lmaWVyIGFuZCB0aGUKKyAgICAgICAgICAgIGNvcmVQcmVkaWN0aW9uX21vZGVsIGZpbGUg
dW5kZXIgUmVzb3VyY2VzL1Jlc291cmNlTG9hZFN0YXRpc3RpY3MuCisKIDIwMTctMDItMTYgIEVy
aWMgQ2FybHNvbiAgPGVyaWMuY2FybHNvbkBhcHBsZS5jb20+CiAKICAgICAgICAgQWRkIFdlYlJU
QyBhcyBhbiBvZmYtYnktZGVmYXVsdCBleHBlcmltZW50YWwgZmVhdHVyZSBtZW51IGl0ZW0uCklu
ZGV4OiBTb3VyY2UvV2ViS2l0Mi9Db25maWd1cmF0aW9ucy9CYXNlVGFyZ2V0LnhjY29uZmlnCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL0NvbmZpZ3VyYXRpb25zL0Jhc2VUYXJnZXQueGNj
b25maWcJKHJldmlzaW9uIDIxMjQzOSkKKysrIFNvdXJjZS9XZWJLaXQyL0NvbmZpZ3VyYXRpb25z
L0Jhc2VUYXJnZXQueGNjb25maWcJKHdvcmtpbmcgY29weSkKQEAgLTMyLDcgKzMyLDcgQEAgV0tf
UFJJVkFURV9GUkFNRVdPUktTX0RJUl9bc2RrPWlwaG9uZW9zKgogV0tfUFJJVkFURV9GUkFNRVdP
UktTX0RJUl9pcGhvbmVvc19ZRVMgPSAkKFNSQ1JPT1QpLy4uLy4uL1dlYktpdExpYnJhcmllcy9X
ZWJLaXRQcml2YXRlRnJhbWV3b3JrU3R1YnMvaU9TLyQoV0tfVEFSR0VUX0lPU19WRVJTSU9OX01B
Sk9SKTsKIFdLX1BSSVZBVEVfRlJBTUVXT1JLU19ESVJfaXBob25lb3NfTk8gPSAkKFBST0RVQ1RJ
T05fRlJBTUVXT1JLU19ESVIpOwogCi1GUkFNRVdPUktfU0VBUkNIX1BBVEhTX2Jhc2UgPSAiJChV
TUJSRUxMQV9GUkFNRVdPUktTX0RJUikiICQoRlJBTUVXT1JLX1NFQVJDSF9QQVRIUyk7CitGUkFN
RVdPUktfU0VBUkNIX1BBVEhTX2Jhc2UgPSAiJChVTUJSRUxMQV9GUkFNRVdPUktTX0RJUikiIC9T
eXN0ZW0vTGlicmFyeS9Qcml2YXRlRnJhbWV3b3JrcyAkKEZSQU1FV09SS19TRUFSQ0hfUEFUSFMp
OwogRlJBTUVXT1JLX1NFQVJDSF9QQVRIU1tzZGs9aXBob25lKl0gPSAkKEZSQU1FV09SS19TRUFS
Q0hfUEFUSFNfYmFzZSkgJChXS19QUklWQVRFX0ZSQU1FV09SS1NfRElSKTsKIEZSQU1FV09SS19T
RUFSQ0hfUEFUSFMgPSAkKEZSQU1FV09SS19TRUFSQ0hfUEFUSFNfYmFzZSk7CiAKSW5kZXg6IFNv
dXJjZS9XZWJLaXQyL0NvbmZpZ3VyYXRpb25zL1dlYktpdC54Y2NvbmZpZwo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViS2l0Mi9Db25maWd1cmF0aW9ucy9XZWJLaXQueGNjb25maWcJKHJldmlzaW9u
IDIxMjQzOSkKKysrIFNvdXJjZS9XZWJLaXQyL0NvbmZpZ3VyYXRpb25zL1dlYktpdC54Y2NvbmZp
Zwkod29ya2luZyBjb3B5KQpAQCAtMzQsMTIgKzM0LDE0IEBAIE1PRFVMRU1BUF9GSUxFW3Nkaz1p
cGhvbmUqXT1Nb2R1bGVzL2lPUy4KIElOU1RBTExfUEFUSCA9ICQoV0VCS0lUX0ZSQU1FV09SS1Nf
RElSKTsKIERZTElCX0lOU1RBTExfTkFNRV9CQVNFID0gJChOT1JNQUxfV0VCS0lUX0ZSQU1FV09S
S1NfRElSKTsKIAotRlJBTUVXT1JLX0FORF9MSUJSQVJZX0xERkxBR1NfQkFTRV9pb3MgPSAtbG9i
amMgLWZyYW1ld29yayBBc3NlcnRpb25TZXJ2aWNlcyAtZnJhbWV3b3JrIENGTmV0d29yayAtZnJh
bWV3b3JrIENvcmVGb3VuZGF0aW9uIC1mcmFtZXdvcmsgQ29yZUdyYXBoaWNzIC1mcmFtZXdvcmsg
Q29yZVBERiAtZnJhbWV3b3JrIENvcmVUZXh0IC1mcmFtZXdvcmsgRm91bmRhdGlvbiAtZnJhbWV3
b3JrIEdyYXBoaWNzU2VydmljZXMgLWZyYW1ld29yayBJbWFnZUlPIC1mcmFtZXdvcmsgVUlLaXQg
LWZyYW1ld29yayBPcGVuR0xFUyAtZnJhbWV3b3JrIE1vYmlsZUNvcmVTZXJ2aWNlcyAtbE1vYmls
ZUdlc3RhbHQgJChGUkFNRVdPUktfQU5EX0xJQlJBUllfTERGTEFHU19QTEFURk9STV8kKFBMQVRG
T1JNX05BTUUpKTsKK0ZSQU1FV09SS19BTkRfTElCUkFSWV9MREZMQUdTX0JBU0VfaW9zID0gLWxv
YmpjIC1mcmFtZXdvcmsgQXNzZXJ0aW9uU2VydmljZXMgLWZyYW1ld29yayBDRk5ldHdvcmsgLWZy
YW1ld29yayBDb3JlRm91bmRhdGlvbiAtZnJhbWV3b3JrIENvcmVHcmFwaGljcyAtZnJhbWV3b3Jr
IENvcmVQREYgLWZyYW1ld29yayBDb3JlUHJlZGljdGlvbiAtZnJhbWV3b3JrIENvcmVUZXh0IC1m
cmFtZXdvcmsgRm91bmRhdGlvbiAtZnJhbWV3b3JrIEdyYXBoaWNzU2VydmljZXMgLWZyYW1ld29y
ayBJbWFnZUlPIC1mcmFtZXdvcmsgVUlLaXQgLWZyYW1ld29yayBPcGVuR0xFUyAtZnJhbWV3b3Jr
IE1vYmlsZUNvcmVTZXJ2aWNlcyAtbE1vYmlsZUdlc3RhbHQgJChGUkFNRVdPUktfQU5EX0xJQlJB
UllfTERGTEFHU19QTEFURk9STV8kKFBMQVRGT1JNX05BTUUpKTsKIEZSQU1FV09SS19BTkRfTElC
UkFSWV9MREZMQUdTW3Nkaz1pcGhvbmVvcypdID0gJChGUkFNRVdPUktfQU5EX0xJQlJBUllfTERG
TEFHU19CQVNFX2lvcykgLWZyYW1ld29yayBJT1N1cmZhY2U7CiBGUkFNRVdPUktfQU5EX0xJQlJB
UllfTERGTEFHU1tzZGs9aXBob25lc2ltdWxhdG9yKl0gPSAkKEZSQU1FV09SS19BTkRfTElCUkFS
WV9MREZMQUdTX0JBU0VfaW9zKTsKIEZSQU1FV09SS19BTkRfTElCUkFSWV9MREZMQUdTX1BMQVRG
T1JNX2lwaG9uZW9zID0gOwogRlJBTUVXT1JLX0FORF9MSUJSQVJZX0xERkxBR1NfUExBVEZPUk1f
aXBob25lc2ltdWxhdG9yID0gOwotRlJBTUVXT1JLX0FORF9MSUJSQVJZX0xERkxBR1Nbc2RrPW1h
Y29zeCpdID0gLWZyYW1ld29yayBBcHBsaWNhdGlvblNlcnZpY2VzIC1mcmFtZXdvcmsgQ2FyYm9u
IC1mcmFtZXdvcmsgQ29jb2EgLWZyYW1ld29yayBDb3JlU2VydmljZXMgLWZyYW1ld29yayBJT0tp
dCAtZnJhbWV3b3JrIENvcmVBdWRpbyAtZnJhbWV3b3JrIElPU3VyZmFjZSAtZnJhbWV3b3JrIE9w
ZW5HTDsKK0ZSQU1FV09SS19BTkRfTElCUkFSWV9MREZMQUdTW3Nkaz1tYWNvc3gqXSA9IC1mcmFt
ZXdvcmsgQXBwbGljYXRpb25TZXJ2aWNlcyAtZnJhbWV3b3JrIENhcmJvbiAtZnJhbWV3b3JrIENv
Y29hIC1mcmFtZXdvcmsgQ29yZVNlcnZpY2VzIC1mcmFtZXdvcmsgSU9LaXQgLWZyYW1ld29yayBD
b3JlQXVkaW8gLWZyYW1ld29yayBJT1N1cmZhY2UgLWZyYW1ld29yayBPcGVuR0wgJChGUkFNRVdP
UktfQU5EX0xJQlJBUllfTERGTEFHU19tYWNvc3hfJChUQVJHRVRfTUFDX09TX1hfVkVSU0lPTl9N
QUpPUikpOworRlJBTUVXT1JLX0FORF9MSUJSQVJZX0xERkxBR1NfbWFjb3N4XzEwMTIwMCA9IC1m
cmFtZXdvcmsgQ29yZVByZWRpY3Rpb247CitGUkFNRVdPUktfQU5EX0xJQlJBUllfTERGTEFHU19t
YWNvc3hfMTAxMzAwID0gLWZyYW1ld29yayBDb3JlUHJlZGljdGlvbjsKIAogLy8gUHJldmVudCBD
Kysgc3RhbmRhcmQgbGlicmFyeSBvcGVyYXRvciBuZXcsIGRlbGV0ZSBhbmQgdGhlaXIgcmVsYXRl
ZCBleGNlcHRpb24gdHlwZXMgZnJvbSBiZWluZyBleHBvcnRlZCBhcyB3ZWFrIHN5bWJvbHMuCiBV
TkVYUE9SVEVEX1NZTUJPTF9MREZMQUdTID0gLVdsLC11bmV4cG9ydGVkX3N5bWJvbCAtV2wsX19a
VElTdDliYWRfYWxsb2MgLVdsLC11bmV4cG9ydGVkX3N5bWJvbCAtV2wsX19aVElTdDlleGNlcHRp
b24gLVdsLC11bmV4cG9ydGVkX3N5bWJvbCAtV2wsX19aVFNTdDliYWRfYWxsb2MgLVdsLC11bmV4
cG9ydGVkX3N5bWJvbCAtV2wsX19aVFNTdDlleGNlcHRpb24gLVdsLC11bmV4cG9ydGVkX3N5bWJv
bCAtV2wsX19aZGxQdlNfIC1XbCwtdW5leHBvcnRlZF9zeW1ib2wgLVdsLF9fWm53bVB2IC1XbCwt
dW5leHBvcnRlZF9zeW1ib2wgLVdsLF9fWm53bSAtV2wsLXVuZXhwb3J0ZWRfc3ltYm9sLCAtV2ws
X19aTlN0M19fMThmdW5jdGlvbklGdk43V2ViQ29yZTEyUG9saWN5QWN0aW9uRUVFQzJFT1M0XyAt
V2wsLXVuZXhwb3J0ZWRfc3ltYm9sLCAtV2wsX19aTlN0M19fMThmdW5jdGlvbklGdk43V2ViQ29y
ZTEyUG9saWN5QWN0aW9uRUVFQzFFT1M0XyAtV2wsLXVuZXhwb3J0ZWRfc3ltYm9sLCAtV2wsX19a
TlN0M19fMThmdW5jdGlvbklGdk43V2ViQ29yZTEyUG9saWN5QWN0aW9uRUVFYVNFRG4gLVdsLC11
bmV4cG9ydGVkX3N5bWJvbCwgLVdsLF9fWk5LU3QzX18xOGZ1bmN0aW9uSUZ2TjdXZWJDb3JlMTJQ
b2xpY3lBY3Rpb25FRUVjbEVTMl8gLVdsLC11bmV4cG9ydGVkX3N5bWJvbCwgLVdsLF9fWk5TdDNf
XzE4ZnVuY3Rpb25JRnZON1dlYkNvcmUxMlBvbGljeUFjdGlvbkVFRTRzd2FwRVJTNF8gLVdsLC11
bmV4cG9ydGVkX3N5bWJvbCwgLVdsLF9fWk5TdDNfXzE4ZnVuY3Rpb25JRnZON1dlYkNvcmUxMlBv
bGljeUFjdGlvbkVFRUMxRVJLUzRfIC1XbCwtdW5leHBvcnRlZF9zeW1ib2wsIC1XbCxfX1pOU3Qz
X18xOGZ1bmN0aW9uSUZ2TjdXZWJDb3JlMTJQb2xpY3lBY3Rpb25FRUVDMkVSS1M0XyAtV2wsLXVu
ZXhwb3J0ZWRfc3ltYm9sLCAtV2wsX19aTlN0M19fMThmdW5jdGlvbklGdk43V2ViQ29yZTEyUG9s
aWN5QWN0aW9uRUVFRDFFdiAtV2wsLXVuZXhwb3J0ZWRfc3ltYm9sLCAtV2wsX19aTlN0M19fMThm
dW5jdGlvbklGdk43V2ViQ29yZTEyUG9saWN5QWN0aW9uRUVFRDJFdiAtV2wsLXVuZXhwb3J0ZWRf
c3ltYm9sLCAtV2wsX19aTlN0M19fMThmdW5jdGlvbklGdk43V2ViQ29yZTEyUG9saWN5QWN0aW9u
RUVFYVNFUktTNF8gLVdsLC11bmV4cG9ydGVkX3N5bWJvbCwgLVdsLF9fWlRWTlN0M19fMTE3YmFk
X2Z1bmN0aW9uX2NhbGxFOwpJbmRleDogU291cmNlL1dlYktpdDIvUGxhdGZvcm0vY2xhc3NpZmll
ci9SZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllci5oCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJLaXQyL1BsYXRmb3JtL2NsYXNzaWZpZXIvUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNz
aWZpZXIuaAkobm9uZXhpc3RlbnQpCisrKyBTb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9jbGFzc2lm
aWVyL1Jlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyLmgJKHdvcmtpbmcgY29weSkKQEAg
LTAsMCArMSw1NSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBt
ZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFO
WSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBO
TyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJM
RSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFS
WSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaW5jbHVkZSA8d3Rm
L1BsYXRmb3JtLmg+CisKKyNpZiBQTEFURk9STShDT0NPQSkKKyNpbmNsdWRlICJSZXNvdXJjZUxv
YWRTdGF0aXN0aWNzQ2xhc3NpZmllckNvY29hLmgiCisjZWxzZQorCisjaW5jbHVkZSAiUmVzb3Vy
Y2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXJCYXNlLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsK
K3N0cnVjdCBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzOworfQorCituYW1lc3BhY2UgV2ViS2l0IHsK
KworY2xhc3MgUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXIgOiBwdWJsaWMgUmVzb3Vy
Y2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXJCYXNlIHsKKworcHVibGljOgorICAgIFJlc291cmNl
TG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyKCkgeyB9CisgICAgYm9vbCBoYXNQcmV2YWxlbnRSZXNv
dXJjZUNoYXJhY3RlcmlzdGljcyhjb25zdCBXZWJDb3JlOjpSZXNvdXJjZUxvYWRTdGF0aXN0aWNz
JiByZXNvdXJjZVN0YXRpc3RpYyk7CisKK3ByaXZhdGU6CisgICAgYm9vbCBjbGFzc2lmeShjb25z
dCB1bnNpZ25lZCwgY29uc3QgdW5zaWduZWQsIGNvbnN0IHVuc2lnbmVkKTsKKworfTsKKworfQor
CisjZW5kaWYKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL2NsYXNzaWZpZXIvUmVzb3Vy
Y2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXJCYXNlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViS2l0Mi9QbGF0Zm9ybS9jbGFzc2lmaWVyL1Jlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lm
aWVyQmFzZS5jcHAJKG5vbmV4aXN0ZW50KQorKysgU291cmNlL1dlYktpdDIvUGxhdGZvcm0vY2xh
c3NpZmllci9SZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllckJhc2UuY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC0wLDAgKzEsNjAgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
CisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycK
KyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisg
KiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFM
LCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgi
CisjaW5jbHVkZSAiUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXJCYXNlLmgiCisKKyNp
bmNsdWRlIDxXZWJDb3JlL1Jlc291cmNlTG9hZFN0YXRpc3RpY3MuaD4KKwordXNpbmcgbmFtZXNw
YWNlIFdlYkNvcmU7CisKK25hbWVzcGFjZSBXZWJLaXQgeworCitzdGF0aWMgY29uc3QgYXV0byBm
ZWF0dXJlVmVjdG9yTGVuZ3RoVGhyZXNob2xkID0gMzsKK2Jvb2wgUmVzb3VyY2VMb2FkU3RhdGlz
dGljc0NsYXNzaWZpZXJCYXNlOjpoYXNQcmV2YWxlbnRSZXNvdXJjZUNoYXJhY3RlcmlzdGljcyhj
b25zdCBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzJiByZXNvdXJjZVN0YXRpc3RpYykKK3sKKyAgICBh
dXRvIHN1YnJlc291cmNlVW5kZXJUb3BGcmFtZU9yaWdpbnNDb3VudCA9IHJlc291cmNlU3RhdGlz
dGljLnN1YnJlc291cmNlVW5kZXJUb3BGcmFtZU9yaWdpbnMuc2l6ZSgpOworICAgIGF1dG8gc3Vi
cmVzb3VyY2VVbmlxdWVSZWRpcmVjdHNUb0NvdW50ID0gcmVzb3VyY2VTdGF0aXN0aWMuc3VicmVz
b3VyY2VVbmlxdWVSZWRpcmVjdHNUby5zaXplKCk7CisgICAgYXV0byBzdWJmcmFtZVVuZGVyVG9w
RnJhbWVPcmlnaW5zQ291bnQgPSByZXNvdXJjZVN0YXRpc3RpYy5zdWJmcmFtZVVuZGVyVG9wRnJh
bWVPcmlnaW5zLnNpemUoKTsKKyAgICAKKyAgICBpZiAoIXN1YnJlc291cmNlVW5kZXJUb3BGcmFt
ZU9yaWdpbnNDb3VudAorICAgICAgICAmJiAhc3VicmVzb3VyY2VVbmlxdWVSZWRpcmVjdHNUb0Nv
dW50CisgICAgICAgICYmICFzdWJmcmFtZVVuZGVyVG9wRnJhbWVPcmlnaW5zQ291bnQpCisgICAg
ICAgIHJldHVybiBmYWxzZTsKKyAgICAKKyAgICBpZiAoc3VicmVzb3VyY2VVbmRlclRvcEZyYW1l
T3JpZ2luc0NvdW50ID4gZmVhdHVyZVZlY3Rvckxlbmd0aFRocmVzaG9sZAorICAgICAgICB8fCBz
dWJyZXNvdXJjZVVuaXF1ZVJlZGlyZWN0c1RvQ291bnQgPiBmZWF0dXJlVmVjdG9yTGVuZ3RoVGhy
ZXNob2xkCisgICAgICAgIHx8IHN1YmZyYW1lVW5kZXJUb3BGcmFtZU9yaWdpbnNDb3VudCA+IGZl
YXR1cmVWZWN0b3JMZW5ndGhUaHJlc2hvbGQpCisgICAgICAgIHJldHVybiB0cnVlOworCisgICAg
cmV0dXJuIGNsYXNzaWZ5KHN1YnJlc291cmNlVW5kZXJUb3BGcmFtZU9yaWdpbnNDb3VudCwgc3Vi
cmVzb3VyY2VVbmlxdWVSZWRpcmVjdHNUb0NvdW50LCBzdWJmcmFtZVVuZGVyVG9wRnJhbWVPcmln
aW5zQ291bnQpOworfQorCitib29sIFJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQmFz
ZTo6Y2xhc3NpZnkoY29uc3QgdW5zaWduZWQgYSwgY29uc3QgdW5zaWduZWQgYiwgY29uc3QgdW5z
aWduZWQgYykKK3sKKyAgICByZXR1cm4gc3FydChhICogYSArIGIgKiBiICsgYyAqIGMpID4gZmVh
dHVyZVZlY3Rvckxlbmd0aFRocmVzaG9sZDsKK30KKyAgICAKK30KSW5kZXg6IFNvdXJjZS9XZWJL
aXQyL1BsYXRmb3JtL2NsYXNzaWZpZXIvUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXJC
YXNlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvUGxhdGZvcm0vY2xhc3NpZmllci9S
ZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllckJhc2UuaAkobm9uZXhpc3RlbnQpCisrKyBT
b3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9jbGFzc2lmaWVyL1Jlc291cmNlTG9hZFN0YXRpc3RpY3ND
bGFzc2lmaWVyQmFzZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNDMgQEAKKy8qCisgKiBD
b3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9u
LgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRT
IENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB
UgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5D
LiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgor
ICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBS
T0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkK
KyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAq
LworCisjcHJhZ21hIG9uY2UKKworbmFtZXNwYWNlIFdlYkNvcmUgeworc3RydWN0IFJlc291cmNl
TG9hZFN0YXRpc3RpY3M7Cit9CisKK25hbWVzcGFjZSBXZWJLaXQgeworCitjbGFzcyBSZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllckJhc2UgeworcHVibGljOgorICAgIGJvb2wgaGFzUHJl
dmFsZW50UmVzb3VyY2VDaGFyYWN0ZXJpc3RpY3MoY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VMb2Fk
U3RhdGlzdGljcyYgcmVzb3VyY2VTdGF0aXN0aWMpOworcHJvdGVjdGVkOgorICAgIFJlc291cmNl
TG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQmFzZSgpIHsgfQorICAgIHZpcnR1YWwgflJlc291cmNl
TG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQmFzZSgpIHsgfQorICAgIHZpcnR1YWwgYm9vbCBjbGFz
c2lmeShjb25zdCB1bnNpZ25lZCwgY29uc3QgdW5zaWduZWQsIGNvbnN0IHVuc2lnbmVkKTsKK307
CisKK30KSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL2NsYXNzaWZpZXIvY29jb2EvUmVz
b3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXJDb2NvYS5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYktpdDIvUGxhdGZvcm0vY2xhc3NpZmllci9jb2NvYS9SZXNvdXJjZUxvYWRTdGF0aXN0
aWNzQ2xhc3NpZmllckNvY29hLmNwcAkobm9uZXhpc3RlbnQpCisrKyBTb3VyY2UvV2ViS2l0Mi9Q
bGF0Zm9ybS9jbGFzc2lmaWVyL2NvY29hL1Jlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVy
Q29jb2EuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMTEzIEBACisvKgorICogQ29weXJp
Z2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
CisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAq
CisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05U
UklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAq
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1Ig
SVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRT
OyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
IFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKwor
I2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIlJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFz
c2lmaWVyQ29jb2EuaCIKKworI2luY2x1ZGUgIkxvZ2dpbmcuaCIKKworbmFtZXNwYWNlIFdlYktp
dCB7CisKK2Jvb2wgUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXI6OmNsYXNzaWZ5KGNv
bnN0IHVuc2lnbmVkIHN1YnJlc291cmNlVW5kZXJUb3BGcmFtZU9yaWdpbnNDb3VudCwgY29uc3Qg
dW5zaWduZWQgc3VicmVzb3VyY2VVbmlxdWVSZWRpcmVjdHNUb0NvdW50LCBjb25zdCB1bnNpZ25l
ZCBzdWJmcmFtZVVuZGVyVG9wRnJhbWVPcmlnaW5zQ291bnQpCit7CisgICAgaWYgKCFzaG91bGRV
c2VDb3JlUHJlZGljdGlvbigpKQorICAgICAgICByZXR1cm4gUmVzb3VyY2VMb2FkU3RhdGlzdGlj
c0NsYXNzaWZpZXJCYXNlOjpjbGFzc2lmeShzdWJyZXNvdXJjZVVuZGVyVG9wRnJhbWVPcmlnaW5z
Q291bnQsIHN1YnJlc291cmNlVW5pcXVlUmVkaXJlY3RzVG9Db3VudCwgc3ViZnJhbWVVbmRlclRv
cEZyYW1lT3JpZ2luc0NvdW50KTsKKyNpZiBIQVZFKENPUkVfUFJFRElDVElPTikKKyAgICBWZWN0
b3I8dW5zaWduZWQ+IG5vblplcm9GZWF0dXJlczsKKyAgICBWZWN0b3I8dW5zaWduZWQ+IGluZGlj
ZXM7CisKKyAgICBpZiAoc3VicmVzb3VyY2VVbmRlclRvcEZyYW1lT3JpZ2luc0NvdW50KSB7Cisg
ICAgICAgIG5vblplcm9GZWF0dXJlcy5hcHBlbmQoc3VicmVzb3VyY2VVbmRlclRvcEZyYW1lT3Jp
Z2luc0NvdW50KTsKKyAgICAgICAgaW5kaWNlcy5hcHBlbmQoMSk7CisgICAgfQorICAgIGlmIChz
dWJyZXNvdXJjZVVuaXF1ZVJlZGlyZWN0c1RvQ291bnQpIHsKKyAgICAgICAgbm9uWmVyb0ZlYXR1
cmVzLmFwcGVuZChzdWJyZXNvdXJjZVVuaXF1ZVJlZGlyZWN0c1RvQ291bnQpOworICAgICAgICBp
bmRpY2VzLmFwcGVuZCgyKTsKKyAgICB9CisgICAgaWYgKHN1YmZyYW1lVW5kZXJUb3BGcmFtZU9y
aWdpbnNDb3VudCkgeworICAgICAgICBub25aZXJvRmVhdHVyZXMuYXBwZW5kKHN1YmZyYW1lVW5k
ZXJUb3BGcmFtZU9yaWdpbnNDb3VudCk7CisgICAgICAgIGluZGljZXMuYXBwZW5kKDMpOworICAg
IH0KKworICAgIHN2bV9ub2RlKiBleGFtcGxlVmVjdG9yID0gbmV3IHN2bV9ub2RlW25vblplcm9G
ZWF0dXJlcy5zaXplKCkgKyAxXTsKKyAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IG5vblplcm9G
ZWF0dXJlcy5zaXplKCk7IGkrKykgeworICAgICAgICBleGFtcGxlVmVjdG9yW2ldLmluZGV4ID0g
aW5kaWNlcy5hdChpKTsKKyAgICAgICAgZXhhbXBsZVZlY3RvcltpXS52YWx1ZSA9IG5vblplcm9G
ZWF0dXJlcy5hdChpKTsKKyAgICB9CisgICAgLy8gQWRkIHRlcm1pbmF0aW9uIG5vZGUgd2l0aCBp
bmRleCAtMS4KKyAgICBleGFtcGxlVmVjdG9yW25vblplcm9GZWF0dXJlcy5zaXplKCldLmluZGV4
ID0gLTE7CisgICAgZXhhbXBsZVZlY3Rvcltub25aZXJvRmVhdHVyZXMuc2l6ZSgpXS52YWx1ZSA9
IC0xOworCisgICAgaW50IGNsYXNzaWZpY2F0aW9uOworICAgIGRvdWJsZSBzY29yZTsKKyAgICBj
bGFzc2lmaWNhdGlvbiA9IHN2bV9wcmVkaWN0X3ZhbHVlcyhtX2NvcmVQcmVkaWN0aW9uTW9kZWws
IGV4YW1wbGVWZWN0b3IsICZzY29yZSk7CisgICAgZGVsZXRlW10gZXhhbXBsZVZlY3RvcjsKKyAg
ICByZXR1cm4gY2xhc3NpZmljYXRpb24gPCAwOworI2VuZGlmCit9CisKK1N0cmluZyBSZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllcjo6c3RvcmFnZVBhdGgoKQoreworICAgIENGQnVuZGxl
UmVmIHdlYktpdEJ1bmRsZSA9IENGQnVuZGxlR2V0QnVuZGxlV2l0aElkZW50aWZpZXIoQ0ZTVFIo
ImNvbS5hcHBsZS5XZWJLaXQiKSk7CisgICAgQ0ZVUkxSZWYgcmVzb3VyY2VVcmwgPSBDRkJ1bmRs
ZUNvcHlSZXNvdXJjZXNEaXJlY3RvcnlVUkwod2ViS2l0QnVuZGxlKTsKKyAgICByZXNvdXJjZVVy
bCA9IENGVVJMQ3JlYXRlQ29weUFwcGVuZGluZ1BhdGhDb21wb25lbnQobnVsbHB0ciwgcmVzb3Vy
Y2VVcmwsIENGU1RSKCJjb3JlUHJlZGljdGlvbl9tb2RlbCIpLCBmYWxzZSk7CisgICAgQ0ZFcnJv
clJlZiBlcnJvciA9IG51bGxwdHI7CisgICAgcmVzb3VyY2VVcmwgPSBDRlVSTENyZWF0ZUZpbGVQ
YXRoVVJMKG51bGxwdHIsIHJlc291cmNlVXJsLCAmZXJyb3IpOworCisgICAgaWYgKGVycm9yIHx8
ICFyZXNvdXJjZVVybCkKKyAgICAgICAgcmV0dXJuIFN0cmluZygpOworCisgICAgQ0ZVUkxQYXRo
U3R5bGUgcGF0aFN0eWxlID0ga0NGVVJMUE9TSVhQYXRoU3R5bGU7CisgICAgQ0ZTdHJpbmdSZWYg
cmVzb3VyY2VVcmxTdHJpbmcgPSBDRlVSTENvcHlGaWxlU3lzdGVtUGF0aChyZXNvdXJjZVVybCwg
cGF0aFN0eWxlKTsKKyAgICByZXR1cm4gU3RyaW5nKHJlc291cmNlVXJsU3RyaW5nKTsKK30KKwor
Ym9vbCBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllcjo6c2hvdWxkVXNlQ29yZVByZWRp
Y3Rpb24oKQoreworI2lmIEhBVkUoQ09SRV9QUkVESUNUSU9OKQorICAgIGlmIChtX2NvcmVQcmVk
aWN0aW9uTW9kZWwpCisgICAgICAgIHJldHVybiB0cnVlOworCisgICAgaWYgKCFtX3VzZUNvcmVQ
cmVkaWN0aW9uKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBTdHJpbmcgc3RvcmFnZVBh
dGhTdHIgPSBzdG9yYWdlUGF0aCgpOworICAgIGlmIChzdG9yYWdlUGF0aFN0ci5pc051bGwoKSB8
fCBzdG9yYWdlUGF0aFN0ci5pc0VtcHR5KCkpIHsKKyAgICAgICAgbV91c2VDb3JlUHJlZGljdGlv
biA9IGZhbHNlOworICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgfQorCisgICAgbV9jb3JlUHJl
ZGljdGlvbk1vZGVsID0gc3ZtX2xvYWRfbW9kZWwoKHN0b3JhZ2VQYXRoU3RyKS51dGY4KCkuZGF0
YSgpKTsKKyAgICAKKyAgICBpZiAobV9jb3JlUHJlZGljdGlvbk1vZGVsKQorICAgICAgICByZXR1
cm4gdHJ1ZTsKKworICAgIFdURkxvZ0Fsd2F5cygiUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNz
aWZpZXI6OnNob3VsZFVzZUNvcmVQcmVkaWN0aW9uKCk6IENvdWxkbid0IGxvYWQgbW9kZWwgZmls
ZSBhdCBwYXRoICVzLiIsIHN0b3JhZ2VQYXRoU3RyLnV0ZjgoKS5kYXRhKCkpOworICAgIG1fdXNl
Q29yZVByZWRpY3Rpb24gPSBmYWxzZTsKKyNlbmRpZgorICAgIHJldHVybiBmYWxzZTsKK30KKwor
fQpJbmRleDogU291cmNlL1dlYktpdDIvUGxhdGZvcm0vY2xhc3NpZmllci9jb2NvYS9SZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllckNvY29hLmgKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YktpdDIvUGxhdGZvcm0vY2xhc3NpZmllci9jb2NvYS9SZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xh
c3NpZmllckNvY29hLmgJKG5vbmV4aXN0ZW50KQorKysgU291cmNlL1dlYktpdDIvUGxhdGZvcm0v
Y2xhc3NpZmllci9jb2NvYS9SZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllckNvY29hLmgJ
KHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw1NCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAx
NyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBg
QVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1F
UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFS
RSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklC
VVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
IFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5F
U1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1Ig
VE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25j
ZQorCisjaW5jbHVkZSAiUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXJCYXNlLmgiCisj
aW5jbHVkZSA8Q29yZUZvdW5kYXRpb24vQ29yZUZvdW5kYXRpb24uaD4KKyNpZiBIQVZFKENPUkVf
UFJFRElDVElPTikKKyNpbmNsdWRlIDxDb3JlUHJlZGljdGlvbi9zdm0uaD4KKyNlbmRpZgorI2lu
Y2x1ZGUgPHd0Zi9QbGF0Zm9ybS5oPgorI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgor
CituYW1lc3BhY2UgV2ViS2l0IHsKKworY2xhc3MgUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNz
aWZpZXIgOiBwdWJsaWMgUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXJCYXNlIHsKKwor
cHVibGljOgorICAgIFJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyKCkKKyAgICAgICAg
OiBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllckJhc2UoKSB7IH0KKyAgICAKK3ByaXZh
dGU6CisgICAgYm9vbCBjbGFzc2lmeShjb25zdCB1bnNpZ25lZCwgY29uc3QgdW5zaWduZWQsIGNv
bnN0IHVuc2lnbmVkKTsKKyAgICBTdHJpbmcgc3RvcmFnZVBhdGgoKTsKKyAgICBib29sIHNob3Vs
ZFVzZUNvcmVQcmVkaWN0aW9uKCk7CisjaWYgSEFWRShDT1JFX1BSRURJQ1RJT04pCisgICAgc3Ry
dWN0IHN2bV9tb2RlbCogbV9jb3JlUHJlZGljdGlvbk1vZGVsOworICAgIGJvb2wgbV91c2VDb3Jl
UHJlZGljdGlvbiB7IHRydWUgfTsKKyNlbmRpZgorfTsKKworfQpJbmRleDogU291cmNlL1dlYktp
dDIvUmVzb3VyY2VzL1Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY29yZVByZWRpY3Rpb25fbW9kZWwK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvUmVzb3VyY2VzL1Jlc291cmNlTG9hZFN0YXRp
c3RpY3MvY29yZVByZWRpY3Rpb25fbW9kZWwJKG5vbmV4aXN0ZW50KQorKysgU291cmNlL1dlYktp
dDIvUmVzb3VyY2VzL1Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY29yZVByZWRpY3Rpb25fbW9kZWwJ
KHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw2NzggQEAKK3N2bV90eXBlIGNfc3ZjCitrZXJuZWxf
dHlwZSByYmYKK2dhbW1hIDAuMQorbnJfY2xhc3MgMgordG90YWxfc3YgMzMwCityaG8gMC4yODc5
NDU2NDIyNjEKK2xhYmVsIC0xIDEKK25yX3N2IDMwMCAzMAorU1YKKy0wLjA1NDY2OTcwMzg3MjQg
MToxNC4wIDI6My4wIDM6Ny4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAyOjEuMCAKKy0wLjA1
NDY2OTcwMzg3MjQgMToyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDM6MS4wIAorLTAuMDU0
NjY5NzAzODcyNCAxOjEyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Ny4wIAorLTAuMDU0NjY5NzAz
ODcyNCAxOjIuMCAyOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMzoxLjAgCistMC4wNTQ2
Njk3MDM4NzI0IDE6My4wIDI6MTYuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMzoxLjAgCist
MC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDI6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAzOjEu
MCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6My4wIDI6MS4w
IAorLTAuMDU0NjY5NzAzODcyNCAxOjUuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxNi4wIDI6Mi4w
IDM6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAyOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQg
MToxMS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjQuMCAzOjMuMCAKKy0wLjA1NDY2OTcwMzg3MjQg
MToyOC4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAg
MzoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDM6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAx
OjIyLjAgMjoxLjAgMzoxMi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjE0LjAgMzo1LjAgCistMC4w
NTQ2Njk3MDM4NzI0IDE6MS4wIDM6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjQ4LjAgMjoxLjAg
CistMC4wNTQ2Njk3MDM4NzI0IDE6MjUuMCAzOjE2LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4w
IDI6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAzOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQg
MTo2LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Ny4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAy
OjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMzoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6
My4wIDM6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjcuMCAyOjEuMCAzOjEuMCAKKy0wLjA1NDY2
OTcwMzg3MjQgMToyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Ny4wIAorLTAuMDU0NjY5NzAzODcy
NCAxOjUuMCAyOjIuMCAzOjMuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAgCistMC4wNTQ2Njk3
MDM4NzI0IDE6MS4wIDI6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjQuMCAKKy0wLjA1NDY2OTcw
Mzg3MjQgMToxLjAgMjoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDM6MS4wIAorLTAuMDU0
NjY5NzAzODcyNCAxOjkuMCAzOjQuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMjoxLjAgCist
MC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDM6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjQ3LjAgMjoy
MS4wIDM6MzMuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxMS4wIDI6Mi4wIDM6NS4wIAorLTAuMDU0
NjY5NzAzODcyNCAxOjExLjAgMjozLjAgMzoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDM6
MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAyOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo0
My4wIDM6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEzLjAgMzo3LjAgCistMC4wNTQ2Njk3MDM4
NzI0IDE6MS4wIDM6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjQuMCAKKy0wLjA1NDY2OTcwMzg3
MjQgMToxMy4wIDM6NC4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjQyLjAgMjo0LjAgMzozMi4wIAor
LTAuMDU0NjY5NzAzODcyNCAxOjEwLjAgMjo1LjAgMzoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6
Ny4wIDM6NC4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTox
LjAgMzoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDM6MS4wIAorLTAuMDU0NjY5NzAzODcy
NCAxOjYuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMjoxLjAgCistMC4wNTQ2Njk3MDM4NzI0
IDE6Ni4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjE2LjAgMjo0LjAgCistMC4wNTQ2Njk3MDM4NzI0
IDE6MTAuMCAyOjEuMCAzOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxOC4wIDI6My4wIDM6Ni4w
IAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAzOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAg
MjoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjMuMCAy
OjEuMCAzOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMjoxLjAgCistMC4wNTQ2Njk3MDM4
NzI0IDE6My4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjMuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo0
LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAzOjIu
MCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDM6MS4w
IAorLTAuMDU0NjY5NzAzODcyNCAxOjIxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIAorLTAu
MDU0NjY5NzAzODcyNCAxOjIuMCAyOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxNC4wIAorLTAu
MDU0NjY5NzAzODcyNCAxOjIuMCAyOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAgMzoyLjAg
CistMC4wNTQ2Njk3MDM4NzI0IDE6NC4wIDM6My4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAz
OjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTozLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIAor
LTAuMDU0NjY5NzAzODcyNCAxOjEuMCAyOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo0LjAgCist
MC4wNTQ2Njk3MDM4NzI0IDE6MzkuMCAzOjQuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCist
MC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIDI6MS4wIDM6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjQu
MCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAgMjoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6NC4w
IAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAyOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAg
MjoyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAy
OjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAor
LTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2
Njk3MDM4NzI0IDE6My4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAyOjEuMCAKKy0wLjA1NDY2
OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcy
NCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4w
IAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAzOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAg
CistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1
NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAz
ODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6
MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCist
MC4wNTQ2Njk3MDM4NzI0IDE6MTYuMCAyOjEuMCAzOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTox
LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAyOjEu
MCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAu
MDU0NjY5NzAzODcyNCAxOjMuMCAyOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMzoxLjAg
CistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1
NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAz
ODcyNCAxOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6
MjAuMCAzOjMuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6
Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCist
MC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2
OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDM6MS4wIAorLTAuMDU0NjY5
NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMzoxLjAgCistMC4wNTQ2Njk3
MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjguMCAKKy0wLjA1NDY2OTcwMzg3MjQg
MTo3LjAgMjoxLjAgMzoyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6OC4wIDI6Mi4wIAorLTAuMDU0
NjY5NzAzODcyNCAxOjEuMCAyOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2
Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAyOjEuMCAKKy0wLjA1NDY2
OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcy
NCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4w
IAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4w
NTQ2Njk3MDM4NzI0IDE6MTIuMCAzOjcuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4w
NTQ2Njk3MDM4NzI0IDE6OS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjcuMCAKKy0wLjA1NDY2OTcw
Mzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDI6MS4wIAorLTAuMDU0NjY5NzAz
ODcyNCAxOjEuMCAzOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4
NzI0IDE6OC4wIDI6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjE3LjAgCistMC4wNTQ2Njk3MDM4
NzI0IDE6Mi4wIDI6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3
MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEu
MCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo0LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAu
MDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxMy4wIDI6NC4wIDM6Mi4w
IAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAzOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAg
MzoyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjE2LjAg
CistMC4wNTQ2Njk3MDM4NzI0IDE6My4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1
NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAz
ODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6
MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAgCist
MC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2
OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcy
NCAxOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTozLjAgMzozLjAgCistMC4wNTQ2Njk3MDM4NzI0
IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxMS4w
IDM6MTEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4w
IAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAgCistMC4w
NTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcw
Mzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAx
OjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAor
LTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2
Njk3MDM4NzI0IDE6MTUuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4
NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIwLjAgMjoxMi4wIDM6My4wIAorLTAuMDU0
NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4
NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo3
LjAgMzoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEu
MCAzOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4w
IAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAzOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAg
CistMC4wNTQ2Njk3MDM4NzI0IDE6My4wIDM6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAK
Ky0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6OS4wIDI6My4wIAor
LTAuMDU0NjY5NzAzODcyNCAxOjEuMCAzOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo2LjAgCist
MC4wNTQ2Njk3MDM4NzI0IDE6NC4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2
OTcwMzg3MjQgMTo3LjAgMjoyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5
NzAzODcyNCAxOjEuMCAzOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAgCistMC4wNTQ2Njk3
MDM4NzI0IDE6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjkuMCAKKy0wLjA1NDY2OTcwMzg3MjQg
MToyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAK
Ky0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0
NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxNC4wIAorLTAuMDU0NjY5NzAz
ODcyNCAxOjEyLjAgMzo2LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6My4wIAorLTAuMDU0NjY5NzAz
ODcyNCAxOjQuMCAyOjEuMCAzOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2
Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3
MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6OS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjku
MCAyOjEuMCAzOjQuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0
IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjkuMCAyOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQg
MTozLjAgMjozLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIDI6Mi4wIAorLTAuMDU0NjY5NzAz
ODcyNCAxOjEuMCAyOjEuMCAzOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo4LjAgMjoxLjAgMzoz
LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAyOjEu
MCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo5LjAgMjoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4w
IAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAgCistMC4w
NTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjM2LjAgCistMC4wNTQ2Njk3
MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQg
MToyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAK
Ky0wLjA1NDY2OTcwMzg3MjQgMToyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0
NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo2LjAgCistMC4wNTQ2Njk3MDM4
NzI0IDE6MS4wIDM6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3
MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEu
MCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAu
MDU0NjY5NzAzODcyNCAxOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo0LjAgMzoyLjAgCistMC4w
NTQ2Njk3MDM4NzI0IDE6MTMuMCAzOjQuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4w
NDAyMDc1MTc4OTQyIDE6MS4wIAorMC41ODUzNjU4NTM2NTkgMToxLjAgCiswLjQ3OTI3NjEzOTAw
MSAxOjYuMCAyOjMuMCAKKzAuNTg1MzY1ODUzNjU5IDE6Mi4wIAorMC41ODUzNjU4NTM2NTkgMTox
LjAgCiswLjU4NTM2NTg1MzY1OSAxOjMuMCAzOjMuMCAKKzAuNTg1MzY1ODUzNjU5IDE6NDIuMCAy
OjIuMCAzOjI4LjAgCiswLjU4NTM2NTg1MzY1OSAxOjIuMCAKKzAuNTg1MzY1ODUzNjU5IDE6MTIu
MCAKKzAuNDc5MjgzMDQ2NTc4IDE6Ny4wIAorMC4zMDAzOTc4NzM0NzYgMTozLjAgMzoxLjAgCisw
LjA1NDMxNzMzMDY0NDIgMTo2LjAgMzoyLjAgCiswLjU2MzQ2NTEyNjI5OSAxOjExLjAgCiswLjU4
NTM2NTg1MzY1OSAxOjIuMCAKKzAuNTg1MzY1ODUzNjU5IDE6MTAuMCAyOjMuMCAzOjYuMCAKKzAu
NTg1MzY1ODUzNjU5IDE6MS4wIDI6MS4wIAorMC41ODUzNjU4NTM2NTkgMToyLjAgCiswLjU4NTM2
NTg1MzY1OSAxOjEuMCAyOjEuMCAKKzAuNTg1MzY1ODUzNjU5IDE6My4wIDM6MS4wIAorMC41ODUz
NjU4NTM2NTkgMToxLjAgCiswLjU4NTM2NTg1MzY1OSAxOjIuMCAKKzAuNTg1MzY1ODUzNjU5IDE6
MS4wIDI6MS4wIAorMC41ODQ5ODk3MTk5MDkgMTo3LjAgCiswLjU4NTM2NTg1MzY1OSAxOjMuMCAK
KzAuNTg1MzY1ODUzNjU5IDE6My4wIAorMC41MjU5MjUxMzY5ODMgMTozLjAgMjoyLjAgCiswLjU4
NTM2NTg1MzY1OSAxOjEuMCAKKzAuNTg1MzY1ODUzNjU5IDE6MS4wIAorMC41ODUzNjU4NTM2NTkg
MTozLjAgMzoxLjAgCiswLjU4NTM2NTg1MzY1OSAxOjEuMCAKKzAuNTIwNzQ1ODIyMzc0IDE6My4w
IAorc3ZtX3R5cGUgY19zdmMKK2tlcm5lbF90eXBlIHJiZgorZ2FtbWEgMC4xCitucl9jbGFzcyAy
Cit0b3RhbF9zdiAzMzAKK3JobyAwLjI4Nzk0NTY0MjI2MQorbGFiZWwgLTEgMQorbnJfc3YgMzAw
IDMwCitTVgorLTAuMDU0NjY5NzAzODcyNCAxOjE0LjAgMjozLjAgMzo3LjAgCistMC4wNTQ2Njk3
MDM4NzI0IDE6MS4wIDI6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAKKy0wLjA1NDY2OTcw
Mzg3MjQgMToxLjAgMzoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MTIuMCAKKy0wLjA1NDY2OTcw
Mzg3MjQgMTo3LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIDI6MS4wIAorLTAuMDU0NjY5NzAz
ODcyNCAxOjEuMCAzOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTozLjAgMjoxNi4wIAorLTAuMDU0
NjY5NzAzODcyNCAxOjEuMCAzOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMjoyLjAgCist
MC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDM6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAKKy0w
LjA1NDY2OTcwMzg3MjQgMTozLjAgMjoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6NS4wIAorLTAu
MDU0NjY5NzAzODcyNCAxOjE2LjAgMjoyLjAgMzoyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4w
IDI6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjExLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6NC4w
IDM6My4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjI4LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4w
IAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAzOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAg
MzoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MjIuMCAyOjEuMCAzOjEyLjAgCistMC4wNTQ2Njk3
MDM4NzI0IDE6MTQuMCAzOjUuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMzoxLjAgCistMC4w
NTQ2Njk3MDM4NzI0IDE6NDguMCAyOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyNS4wIDM6MTYu
MCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMjoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4w
IDM6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjYuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo3LjAg
CistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDI6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAz
OjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTozLjAgMzoyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6
Ny4wIDI6MS4wIDM6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAKKy0wLjA1NDY2OTcwMzg3
MjQgMTo3LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6NS4wIDI6Mi4wIDM6My4wIAorLTAuMDU0NjY5
NzAzODcyNCAxOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMjoxLjAgCistMC4wNTQ2Njk3
MDM4NzI0IDE6NC4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAyOjEuMCAKKy0wLjA1NDY2OTcw
Mzg3MjQgMToxLjAgMzoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6OS4wIDM6NC4wIAorLTAuMDU0
NjY5NzAzODcyNCAxOjEuMCAyOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMzoxLjAgCist
MC4wNTQ2Njk3MDM4NzI0IDE6NDcuMCAyOjIxLjAgMzozMy4wIAorLTAuMDU0NjY5NzAzODcyNCAx
OjExLjAgMjoyLjAgMzo1LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MTEuMCAyOjMuMCAzOjEuMCAK
Ky0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMzoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIDI6
MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjQzLjAgMzoyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6
MTMuMCAzOjcuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMzoxLjAgCistMC4wNTQ2Njk3MDM4
NzI0IDE6NC4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEzLjAgMzo0LjAgCistMC4wNTQ2Njk3MDM4
NzI0IDE6NDIuMCAyOjQuMCAzOjMyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MTAuMCAyOjUuMCAz
OjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo3LjAgMzo0LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6
Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAzOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTox
LjAgMzoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Ni4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEu
MCAyOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo2LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MTYu
MCAyOjQuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxMC4wIDI6MS4wIDM6Mi4wIAorLTAuMDU0NjY5
NzAzODcyNCAxOjE4LjAgMjozLjAgMzo2LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDM6MS4w
IAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAyOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAg
CistMC4wNTQ2Njk3MDM4NzI0IDE6My4wIDI6MS4wIDM6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAx
OjEuMCAyOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTozLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6
My4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjQuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAgCist
MC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIDM6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAKKy0w
LjA1NDY2OTcwMzg3MjQgMToxLjAgMzoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MjEuMCAKKy0w
LjA1NDY2OTcwMzg3MjQgMToyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIDI6Mi4wIAorLTAu
MDU0NjY5NzAzODcyNCAxOjE0LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIDI6MS4wIAorLTAu
MDU0NjY5NzAzODcyNCAxOjIuMCAzOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo0LjAgMzozLjAg
CistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIDM6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjMuMCAK
Ky0wLjA1NDY2OTcwMzg3MjQgMToyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDI6MS4wIAor
LTAuMDU0NjY5NzAzODcyNCAxOjQuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTozOS4wIDM6NC4wIAor
LTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAgMjoxLjAgMzox
LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6NC4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAyOjEu
MCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo0LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDI6MS4w
IAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAyOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAg
CistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIDI6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAK
Ky0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0
NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTozLjAgCistMC4wNTQ2Njk3MDM4
NzI0IDE6MS4wIDI6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3
MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEu
MCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDM6MS4w
IAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4w
NTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcw
Mzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAx
OjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAor
LTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxNi4wIDI6MS4wIDM6
MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCist
MC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDI6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0w
LjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6My4wIDI6MS4wIAorLTAu
MDU0NjY5NzAzODcyNCAxOjEuMCAzOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4w
NTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcw
Mzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAx
OjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyMC4wIDM6My4wIAorLTAuMDU0NjY5NzAzODcyNCAx
OjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAor
LTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2
Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3
MjQgMToxLjAgMzoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcy
NCAxOjEuMCAzOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0
IDE6OC4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjcuMCAyOjEuMCAzOjIuMCAKKy0wLjA1NDY2OTcw
Mzg3MjQgMTo4LjAgMjoyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDI6MS4wIAorLTAuMDU0
NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4
NzI0IDE6MS4wIDI6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3
MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEu
MCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIAorLTAu
MDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxMi4wIDM6Ny4wIAorLTAu
MDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo5LjAgCistMC4wNTQ2Njk3
MDM4NzI0IDE6Ny4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQg
MToxLjAgMjoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDM6MS4wIAorLTAuMDU0NjY5NzAz
ODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo4LjAgMjoyLjAgCistMC4wNTQ2Njk3MDM4
NzI0IDE6MTcuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAgMjoxLjAgCistMC4wNTQ2Njk3MDM4
NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTox
LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjQuMCAKKy0w
LjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5
NzAzODcyNCAxOjEzLjAgMjo0LjAgMzoyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDM6MS4w
IAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAzOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAg
CistMC4wNTQ2Njk3MDM4NzI0IDE6MTYuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTozLjAgCistMC4w
NTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcw
Mzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAx
OjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIAor
LTAuMDU0NjY5NzAzODcyNCAxOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2
Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3
MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjMu
MCAzOjMuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4w
IAorLTAuMDU0NjY5NzAzODcyNCAxOjExLjAgMzoxMS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEu
MCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAu
MDU0NjY5NzAzODcyNCAxOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3
MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQg
MToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAK
Ky0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0
NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxNS4wIAorLTAuMDU0NjY5NzAz
ODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6
MjAuMCAyOjEyLjAgMzozLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAz
ODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6
MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjcuMCAzOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTox
LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDM6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEu
MCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDM6MS4w
IAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTozLjAgMzoyLjAg
CistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1
NDY2OTcwMzg3MjQgMTo5LjAgMjozLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDM6MS4wIAor
LTAuMDU0NjY5NzAzODcyNCAxOjYuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo0LjAgCistMC4wNTQ2
Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjcuMCAyOjIuMCAKKy0wLjA1NDY2
OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDM6MS4wIAorLTAuMDU0NjY5
NzAzODcyNCAxOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAgCistMC4wNTQ2Njk3MDM4NzI0
IDE6OS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAg
CistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1
NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAz
ODcyNCAxOjE0LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MTIuMCAzOjYuMCAKKy0wLjA1NDY2OTcw
Mzg3MjQgMTozLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6NC4wIDI6MS4wIDM6MS4wIAorLTAuMDU0
NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4
NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo5
LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6OS4wIDI6MS4wIDM6NC4wIAorLTAuMDU0NjY5NzAzODcy
NCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6OS4w
IDI6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjMuMCAyOjMuMCAKKy0wLjA1NDY2OTcwMzg3MjQg
MToyLjAgMjoyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDI6MS4wIDM6MS4wIAorLTAuMDU0
NjY5NzAzODcyNCAxOjguMCAyOjEuMCAzOjMuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCist
MC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIDI6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjkuMCAyOjEu
MCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAu
MDU0NjY5NzAzODcyNCAxOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3
MDM4NzI0IDE6MzYuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0
IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAg
CistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAKKy0wLjA1
NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAz
ODcyNCAxOjYuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMzoxLjAgCistMC4wNTQ2Njk3MDM4
NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTox
LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAKKy0w
LjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIAorLTAuMDU0NjY5
NzAzODcyNCAxOjQuMCAzOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxMy4wIDM6NC4wIAorLTAu
MDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA0MDIwNzUxNzg5NDIgMToxLjAgCiswLjU4NTM2NTg1
MzY1OSAxOjEuMCAKKzAuNDc5Mjc2MTM5MDAxIDE6Ni4wIDI6My4wIAorMC41ODUzNjU4NTM2NTkg
MToyLjAgCiswLjU4NTM2NTg1MzY1OSAxOjEuMCAKKzAuNTg1MzY1ODUzNjU5IDE6My4wIDM6My4w
IAorMC41ODUzNjU4NTM2NTkgMTo0Mi4wIDI6Mi4wIDM6MjguMCAKKzAuNTg1MzY1ODUzNjU5IDE6
Mi4wIAorMC41ODUzNjU4NTM2NTkgMToxMi4wIAorMC40NzkyODMwNDY1NzggMTo3LjAgCiswLjMw
MDM5Nzg3MzQ3NiAxOjMuMCAzOjEuMCAKKzAuMDU0MzE3MzMwNjQ0MiAxOjYuMCAzOjIuMCAKKzAu
NTYzNDY1MTI2Mjk5IDE6MTEuMCAKKzAuNTg1MzY1ODUzNjU5IDE6Mi4wIAorMC41ODUzNjU4NTM2
NTkgMToxMC4wIDI6My4wIDM6Ni4wIAorMC41ODUzNjU4NTM2NTkgMToxLjAgMjoxLjAgCiswLjU4
NTM2NTg1MzY1OSAxOjIuMCAKKzAuNTg1MzY1ODUzNjU5IDE6MS4wIDI6MS4wIAorMC41ODUzNjU4
NTM2NTkgMTozLjAgMzoxLjAgCiswLjU4NTM2NTg1MzY1OSAxOjEuMCAKKzAuNTg1MzY1ODUzNjU5
IDE6Mi4wIAorMC41ODUzNjU4NTM2NTkgMToxLjAgMjoxLjAgCiswLjU4NDk4OTcxOTkwOSAxOjcu
MCAKKzAuNTg1MzY1ODUzNjU5IDE6My4wIAorMC41ODUzNjU4NTM2NTkgMTozLjAgCiswLjUyNTky
NTEzNjk4MyAxOjMuMCAyOjIuMCAKKzAuNTg1MzY1ODUzNjU5IDE6MS4wIAorMC41ODUzNjU4NTM2
NTkgMToxLjAgCiswLjU4NTM2NTg1MzY1OSAxOjMuMCAzOjEuMCAKKzAuNTg1MzY1ODUzNjU5IDE6
MS4wIAorMC41MjA3NDU4MjIzNzQgMTozLjAgCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFnZXIuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdlci5j
cHAJKHJldmlzaW9uIDIxMjQzOSkKKysrIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJSZXNv
dXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTYxLDYgKzYx
LDIxIEBAIGJvb2wgV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFnZXI6OmgKICAgICByZXR1
cm4gV2ViQ29yZTo6UmVzb3VyY2VMb2FkT2JzZXJ2ZXI6OnNoYXJlZE9ic2VydmVyKCkuaGFzSGFk
VXNlckludGVyYWN0aW9uKFVSTChVUkwoKSwgaG9zdE5hbWUpKTsKIH0KIAordm9pZCBXZWJSZXNv
dXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdlcjo6c2V0U3ViZnJhbWVVbmRlclRvcEZyYW1lT3JpZ2lu
KGNvbnN0IFN0cmluZyYgaG9zdE5hbWUsIGNvbnN0IFN0cmluZyYgdG9wRnJhbWVIb3N0TmFtZSkK
K3sKKyAgICBXZWJDb3JlOjpSZXNvdXJjZUxvYWRPYnNlcnZlcjo6c2hhcmVkT2JzZXJ2ZXIoKS5z
ZXRTdWJmcmFtZVVuZGVyVG9wRnJhbWVPcmlnaW4oVVJMKFVSTCgpLCBob3N0TmFtZSksIFVSTChV
UkwoKSwgdG9wRnJhbWVIb3N0TmFtZSkpOworfQorCit2b2lkIFdlYlJlc291cmNlTG9hZFN0YXRp
c3RpY3NNYW5hZ2VyOjpzZXRTdWJyZXNvdXJjZVVuZGVyVG9wRnJhbWVPcmlnaW4oY29uc3QgU3Ry
aW5nJiBob3N0TmFtZSwgY29uc3QgU3RyaW5nJiB0b3BGcmFtZUhvc3ROYW1lKQoreworICAgIFdl
YkNvcmU6OlJlc291cmNlTG9hZE9ic2VydmVyOjpzaGFyZWRPYnNlcnZlcigpLnNldFN1YnJlc291
cmNlVW5kZXJUb3BGcmFtZU9yaWdpbihVUkwoVVJMKCksIGhvc3ROYW1lKSwgVVJMKFVSTCgpLCB0
b3BGcmFtZUhvc3ROYW1lKSk7Cit9CisKK3ZvaWQgV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc01h
bmFnZXI6OnNldFN1YnJlc291cmNlVW5pcXVlUmVkaXJlY3RUbyhjb25zdCBTdHJpbmcmIGhvc3RO
YW1lLCBjb25zdCBTdHJpbmcmIGhvc3ROYW1lUmVkaXJlY3RlZFRvKQoreworICAgIFdlYkNvcmU6
OlJlc291cmNlTG9hZE9ic2VydmVyOjpzaGFyZWRPYnNlcnZlcigpLnNldFN1YnJlc291cmNlVW5p
cXVlUmVkaXJlY3RUbyhVUkwoVVJMKCksIGhvc3ROYW1lKSwgVVJMKFVSTCgpLCBob3N0TmFtZVJl
ZGlyZWN0ZWRUbykpOworfQorCiB2b2lkIFdlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2Vy
OjpzZXRUaW1lVG9MaXZlVXNlckludGVyYWN0aW9uKGRvdWJsZSBzZWNvbmRzKQogewogICAgIFdl
YkNvcmU6OlJlc291cmNlTG9hZE9ic2VydmVyOjpzaGFyZWRPYnNlcnZlcigpLnNldFRpbWVUb0xp
dmVVc2VySW50ZXJhY3Rpb24oc2Vjb25kcyk7CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFnZXIuaAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFnZXIuaAko
cmV2aXNpb24gMjEyNDM5KQorKysgU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlJlc291cmNl
TG9hZFN0YXRpc3RpY3NNYW5hZ2VyLmgJKHdvcmtpbmcgY29weSkKQEAgLTQyLDYgKzQyLDkgQEAg
cHVibGljOgogICAgIHN0YXRpYyBib29sIGlzUHJldmFsZW50UmVzb3VyY2UoY29uc3QgU3RyaW5n
JiBob3N0TmFtZSk7CiAgICAgc3RhdGljIHZvaWQgc2V0SGFzSGFkVXNlckludGVyYWN0aW9uKGNv
bnN0IFN0cmluZyYgaG9zdE5hbWUsIGJvb2wgdmFsdWUpOwogICAgIHN0YXRpYyBib29sIGhhc0hh
ZFVzZXJJbnRlcmFjdGlvbihjb25zdCBTdHJpbmcmIGhvc3ROYW1lKTsKKyAgICBzdGF0aWMgdm9p
ZCBzZXRTdWJmcmFtZVVuZGVyVG9wRnJhbWVPcmlnaW4oY29uc3QgU3RyaW5nJiBob3N0TmFtZSwg
Y29uc3QgU3RyaW5nJiB0b3BGcmFtZUhvc3ROYW1lKTsKKyAgICBzdGF0aWMgdm9pZCBzZXRTdWJy
ZXNvdXJjZVVuZGVyVG9wRnJhbWVPcmlnaW4oY29uc3QgU3RyaW5nJiBob3N0TmFtZSwgY29uc3Qg
U3RyaW5nJiB0b3BGcmFtZUhvc3ROYW1lKTsKKyAgICBzdGF0aWMgdm9pZCBzZXRTdWJyZXNvdXJj
ZVVuaXF1ZVJlZGlyZWN0VG8oY29uc3QgU3RyaW5nJiBob3N0TmFtZSwgY29uc3QgU3RyaW5nJiBo
b3N0TmFtZVJlZGlyZWN0ZWRUbyk7CiAgICAgc3RhdGljIHZvaWQgc2V0VGltZVRvTGl2ZVVzZXJJ
bnRlcmFjdGlvbihkb3VibGUgc2Vjb25kcyk7CiAgICAgc3RhdGljIHZvaWQgc2V0UmVkdWNlZFRp
bWVzdGFtcFJlc29sdXRpb24oZG91YmxlIHNlY29uZHMpOwogICAgIHN0YXRpYyB2b2lkIGZpcmVE
YXRhTW9kaWZpY2F0aW9uSGFuZGxlcigpOwpJbmRleDogU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L1dlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZS5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL1dlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZS5jcHAJKHJl
dmlzaW9uIDIxMjQzOSkKKysrIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJSZXNvdXJjZUxv
YWRTdGF0aXN0aWNzU3RvcmUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00NSw3ICs0NSw2IEBAIHVz
aW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAotc3RhdGljIGNv
bnN0IGF1dG8gZmVhdHVyZVZlY3Rvckxlbmd0aFRocmVzaG9sZCA9IDM7CiBzdGF0aWMgYXV0byBt
aW5pbXVtVGltZUJldHdlZWVuRGF0YVJlY29yZHNSZW1vdmFsID0gNjA7CiBzdGF0aWMgT3B0aW9u
U2V0PFdlYktpdDo6V2Vic2l0ZURhdGFUeXBlPiBkYXRhVHlwZXNUb1JlbW92ZTsKIHN0YXRpYyBh
dXRvIG5vdGlmeVBhZ2VzID0gZmFsc2U7CkBAIC01OSw3ICs1OCw3IEBAIFJlZjxXZWJSZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzU3RvcmU+IFdlYlIKIFdlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9y
ZTo6V2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlKGNvbnN0IFN0cmluZyYgcmVzb3VyY2VM
b2FkU3RhdGlzdGljc0RpcmVjdG9yeSkKICAgICA6IG1fcmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0
b3JlKFJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZTo6Y3JlYXRlKCkpCiAgICAgLCBtX3N0YXRp
c3RpY3NRdWV1ZShXb3JrUXVldWU6OmNyZWF0ZSgiV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0
b3JlIFByb2Nlc3MgRGF0YSBRdWV1ZSIpKQotICAgICwgbV9zdG9yYWdlUGF0aChyZXNvdXJjZUxv
YWRTdGF0aXN0aWNzRGlyZWN0b3J5KQorICAgICwgbV9zdGF0aXN0aWNzU3RvcmFnZVBhdGgocmVz
b3VyY2VMb2FkU3RhdGlzdGljc0RpcmVjdG9yeSkKIHsKIH0KIApAQCAtODMsNDAgKzgyLDExIEBA
IHZvaWQgV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlOjpzZXQKICAgICAgICAgbWluaW11
bVRpbWVCZXR3ZWVlbkRhdGFSZWNvcmRzUmVtb3ZhbCA9IHNlY29uZHM7CiB9CiAKLWJvb2wgV2Vi
UmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlOjpoYXNQcmV2YWxlbnRSZXNvdXJjZUNoYXJhY3Rl
cmlzdGljcyhjb25zdCBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzJiByZXNvdXJjZVN0YXRpc3RpYykK
LXsKLSAgICBhdXRvIHN1YnJlc291cmNlVW5kZXJUb3BGcmFtZU9yaWdpbnNDb3VudCA9IHJlc291
cmNlU3RhdGlzdGljLnN1YnJlc291cmNlVW5kZXJUb3BGcmFtZU9yaWdpbnMuc2l6ZSgpOwotICAg
IGF1dG8gc3VicmVzb3VyY2VVbmlxdWVSZWRpcmVjdHNUb0NvdW50ID0gcmVzb3VyY2VTdGF0aXN0
aWMuc3VicmVzb3VyY2VVbmlxdWVSZWRpcmVjdHNUby5zaXplKCk7Ci0gICAgYXV0byBzdWJmcmFt
ZVVuZGVyVG9wRnJhbWVPcmlnaW5zQ291bnQgPSByZXNvdXJjZVN0YXRpc3RpYy5zdWJmcmFtZVVu
ZGVyVG9wRnJhbWVPcmlnaW5zLnNpemUoKTsKLSAgICAKLSAgICBpZiAoIXN1YnJlc291cmNlVW5k
ZXJUb3BGcmFtZU9yaWdpbnNDb3VudAotICAgICAgICAmJiAhc3VicmVzb3VyY2VVbmlxdWVSZWRp
cmVjdHNUb0NvdW50Ci0gICAgICAgICYmICFzdWJmcmFtZVVuZGVyVG9wRnJhbWVPcmlnaW5zQ291
bnQpCi0gICAgICAgIHJldHVybiBmYWxzZTsKLQotICAgIGlmIChzdWJyZXNvdXJjZVVuZGVyVG9w
RnJhbWVPcmlnaW5zQ291bnQgPiBmZWF0dXJlVmVjdG9yTGVuZ3RoVGhyZXNob2xkCi0gICAgICAg
IHx8IHN1YnJlc291cmNlVW5pcXVlUmVkaXJlY3RzVG9Db3VudCA+IGZlYXR1cmVWZWN0b3JMZW5n
dGhUaHJlc2hvbGQKLSAgICAgICAgfHwgc3ViZnJhbWVVbmRlclRvcEZyYW1lT3JpZ2luc0NvdW50
ID4gZmVhdHVyZVZlY3Rvckxlbmd0aFRocmVzaG9sZCkKLSAgICAgICAgcmV0dXJuIHRydWU7Ci0K
LSAgICAvLyBUaGUgcmVzb3VyY2UgaXMgY29uc2lkZXJlZCBwcmV2YWxlbnQgaWYgdGhlIGZlYXR1
cmUgdmVjdG9yCi0gICAgLy8gaXMgbG9uZ2VyIHRoYW4gdGhlIHRocmVzaG9sZC4KLSAgICAvLyBW
ZWN0b3IgbGVuZ3RoIGZvciBuIGRpbWVuc2lvbnMgaXMgc3FydChhXjIgKyAoLi4uKSArIG5eMiku
Ci0gICAgZG91YmxlIHZlY3Rvckxlbmd0aCA9IDA7Ci0gICAgdmVjdG9yTGVuZ3RoICs9IHN1YnJl
c291cmNlVW5kZXJUb3BGcmFtZU9yaWdpbnNDb3VudCAqIHN1YnJlc291cmNlVW5kZXJUb3BGcmFt
ZU9yaWdpbnNDb3VudDsKLSAgICB2ZWN0b3JMZW5ndGggKz0gc3VicmVzb3VyY2VVbmlxdWVSZWRp
cmVjdHNUb0NvdW50ICogc3VicmVzb3VyY2VVbmlxdWVSZWRpcmVjdHNUb0NvdW50OwotICAgIHZl
Y3Rvckxlbmd0aCArPSBzdWJmcmFtZVVuZGVyVG9wRnJhbWVPcmlnaW5zQ291bnQgKiBzdWJmcmFt
ZVVuZGVyVG9wRnJhbWVPcmlnaW5zQ291bnQ7Ci0KLSAgICBBU1NFUlQodmVjdG9yTGVuZ3RoID4g
MCk7Ci0KLSAgICByZXR1cm4gc3FydCh2ZWN0b3JMZW5ndGgpID4gZmVhdHVyZVZlY3Rvckxlbmd0
aFRocmVzaG9sZDsKLX0KLSAgICAKIHZvaWQgV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3Jl
OjpjbGFzc2lmeVJlc291cmNlKFJlc291cmNlTG9hZFN0YXRpc3RpY3MmIHJlc291cmNlU3RhdGlz
dGljKQogewotICAgIGlmICghcmVzb3VyY2VTdGF0aXN0aWMuaXNQcmV2YWxlbnRSZXNvdXJjZSAm
JiBoYXNQcmV2YWxlbnRSZXNvdXJjZUNoYXJhY3RlcmlzdGljcyhyZXNvdXJjZVN0YXRpc3RpYykp
IHsKKyAgICBpZiAoIXJlc291cmNlU3RhdGlzdGljLmlzUHJldmFsZW50UmVzb3VyY2UKKyAgICAg
ICAgJiYgbV9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllci5oYXNQcmV2YWxlbnRSZXNv
dXJjZUNoYXJhY3RlcmlzdGljcyhyZXNvdXJjZVN0YXRpc3RpYykpCiAgICAgICAgIHJlc291cmNl
U3RhdGlzdGljLmlzUHJldmFsZW50UmVzb3VyY2UgPSB0cnVlOwotICAgIH0KIH0KIAogdm9pZCBX
ZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmU6OnJlbW92ZURhdGFSZWNvcmRzKCkKQEAgLTI0
OCwxMSArMjE4LDExIEBAIHZvaWQgV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlOjphcHAK
IAogU3RyaW5nIFdlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZTo6cGVyc2lzdGVudFN0b3Jh
Z2VQYXRoKGNvbnN0IFN0cmluZyYgbGFiZWwpIGNvbnN0CiB7Ci0gICAgaWYgKG1fc3RvcmFnZVBh
dGguaXNFbXB0eSgpKQorICAgIGlmIChtX3N0YXRpc3RpY3NTdG9yYWdlUGF0aC5pc0VtcHR5KCkp
CiAgICAgICAgIHJldHVybiBlbXB0eVN0cmluZygpOwogCiAgICAgLy8gVE9ETyBEZWNpZGUgd2hh
dCB0byBjYWxsIHRoaXMgZmlsZQotICAgIHJldHVybiBwYXRoQnlBcHBlbmRpbmdDb21wb25lbnQo
bV9zdG9yYWdlUGF0aCwgbGFiZWwgKyAiX3Jlc291cmNlTG9nLnBsaXN0Iik7CisgICAgcmV0dXJu
IHBhdGhCeUFwcGVuZGluZ0NvbXBvbmVudChtX3N0YXRpc3RpY3NTdG9yYWdlUGF0aCwgbGFiZWwg
KyAiX3Jlc291cmNlTG9nLnBsaXN0Iik7CiB9CiAKIHZvaWQgV2ViUmVzb3VyY2VMb2FkU3RhdGlz
dGljc1N0b3JlOjp3cml0ZUVuY29kZXJUb0Rpc2soS2V5ZWRFbmNvZGVyJiBlbmNvZGVyLCBjb25z
dCBTdHJpbmcmIGxhYmVsKSBjb25zdApAQCAtMjY1LDggKzIzNSw4IEBAIHZvaWQgV2ViUmVzb3Vy
Y2VMb2FkU3RhdGlzdGljc1N0b3JlOjp3cmkKICAgICBpZiAocmVzb3VyY2VMb2cuaXNFbXB0eSgp
KQogICAgICAgICByZXR1cm47CiAKLSAgICBpZiAoIW1fc3RvcmFnZVBhdGguaXNFbXB0eSgpKQot
ICAgICAgICBtYWtlQWxsRGlyZWN0b3JpZXMobV9zdG9yYWdlUGF0aCk7CisgICAgaWYgKCFtX3N0
YXRpc3RpY3NTdG9yYWdlUGF0aC5pc0VtcHR5KCkpCisgICAgICAgIG1ha2VBbGxEaXJlY3Rvcmll
cyhtX3N0YXRpc3RpY3NTdG9yYWdlUGF0aCk7CiAKICAgICBhdXRvIGhhbmRsZSA9IG9wZW5GaWxl
KHJlc291cmNlTG9nLCBPcGVuRm9yV3JpdGUpOwogICAgIGlmICghaGFuZGxlKQpJbmRleDogU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZS5oCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJSZXNvdXJjZUxvYWRTdGF0
aXN0aWNzU3RvcmUuaAkocmV2aXNpb24gMjEyNDM5KQorKysgU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL1dlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0y
OCw2ICsyOCw3IEBACiAKICNpbmNsdWRlICJBUElPYmplY3QuaCIKICNpbmNsdWRlICJDb25uZWN0
aW9uLmgiCisjaW5jbHVkZSAiUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXIuaCIKICNp
bmNsdWRlICJXZWJzaXRlRGF0YVJlY29yZC5oIgogI2luY2x1ZGUgPFdlYkNvcmUvUmVzb3VyY2VM
b2FkU3RhdGlzdGljc1N0b3JlLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgpAQCAtNzYsNyAr
NzcsNiBAQCBwcml2YXRlOgogCiAgICAgdm9pZCBwcm9jZXNzU3RhdGlzdGljc0FuZERhdGFSZWNv
cmRzKCk7CiAKLSAgICBib29sIGhhc1ByZXZhbGVudFJlc291cmNlQ2hhcmFjdGVyaXN0aWNzKGNv
bnN0IFdlYkNvcmU6OlJlc291cmNlTG9hZFN0YXRpc3RpY3MmKTsKICAgICB2b2lkIGNsYXNzaWZ5
UmVzb3VyY2UoV2ViQ29yZTo6UmVzb3VyY2VMb2FkU3RhdGlzdGljcyYpOwogICAgIHZvaWQgcmVt
b3ZlRGF0YVJlY29yZHMoKTsKIApAQCAtODksOCArODksOSBAQCBwcml2YXRlOgogICAgIHN0ZDo6
dW5pcXVlX3B0cjxXZWJDb3JlOjpLZXllZERlY29kZXI+IGNyZWF0ZURlY29kZXJGcm9tRGlzayhj
b25zdCBTdHJpbmcmIGxhYmVsKSBjb25zdDsKIAogICAgIFJlZjxXZWJDb3JlOjpSZXNvdXJjZUxv
YWRTdGF0aXN0aWNzU3RvcmU+IG1fcmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlOworICAgIFJl
c291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyIG1fcmVzb3VyY2VMb2FkU3RhdGlzdGljc0Ns
YXNzaWZpZXI7CiAgICAgUmVmPFdURjo6V29ya1F1ZXVlPiBtX3N0YXRpc3RpY3NRdWV1ZTsKLSAg
ICBTdHJpbmcgbV9zdG9yYWdlUGF0aDsKKyAgICBTdHJpbmcgbV9zdGF0aXN0aWNzU3RvcmFnZVBh
dGg7CiAgICAgYm9vbCBtX3Jlc291cmNlTG9hZFN0YXRpc3RpY3NFbmFibGVkIHsgZmFsc2UgfTsK
IAogICAgIGRvdWJsZSBtX2xhc3RUaW1lRGF0YVJlY29yZHNXZXJlUmVtb3ZlZCB7IDAgfTsKSW5k
ZXg6IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1Jlc291cmNlTG9hZFN0YXRpc3Rp
Y3NNYW5hZ2VyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJ
L0MvV0tSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdlci5jcHAJKHJldmlzaW9uIDIxMjQzOSkK
KysrIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1Jlc291cmNlTG9hZFN0YXRpc3Rp
Y3NNYW5hZ2VyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTYsNiArNTYsMjEgQEAgYm9vbCBXS1Jl
c291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VySXNIYQogICAgIHJldHVybiBXZWJSZXNvdXJjZUxv
YWRTdGF0aXN0aWNzTWFuYWdlcjo6aGFzSGFkVXNlckludGVyYWN0aW9uKHRvV1RGU3RyaW5nKGhv
c3ROYW1lKSk7CiB9CiAKK3ZvaWQgV0tSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdlclNldFN1
YmZyYW1lVW5kZXJUb3BGcmFtZU9yaWdpbihXS1N0cmluZ1JlZiBob3N0TmFtZSwgV0tTdHJpbmdS
ZWYgdG9wRnJhbWVIb3N0TmFtZSkKK3sKKyAgICBXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFu
YWdlcjo6c2V0U3ViZnJhbWVVbmRlclRvcEZyYW1lT3JpZ2luKHRvV1RGU3RyaW5nKGhvc3ROYW1l
KSwgdG9XVEZTdHJpbmcodG9wRnJhbWVIb3N0TmFtZSkpOworfQorCit2b2lkIFdLUmVzb3VyY2VM
b2FkU3RhdGlzdGljc01hbmFnZXJTZXRTdWJyZXNvdXJjZVVuZGVyVG9wRnJhbWVPcmlnaW4oV0tT
dHJpbmdSZWYgaG9zdE5hbWUsIFdLU3RyaW5nUmVmIHRvcEZyYW1lSG9zdE5hbWUpCit7CisgICAg
V2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFnZXI6OnNldFN1YnJlc291cmNlVW5kZXJUb3BG
cmFtZU9yaWdpbih0b1dURlN0cmluZyhob3N0TmFtZSksIHRvV1RGU3RyaW5nKHRvcEZyYW1lSG9z
dE5hbWUpKTsKK30KKwordm9pZCBXS1Jlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VyU2V0U3Vi
cmVzb3VyY2VVbmlxdWVSZWRpcmVjdFRvKFdLU3RyaW5nUmVmIGhvc3ROYW1lLCBXS1N0cmluZ1Jl
ZiBob3N0TmFtZVJlZGlyZWN0ZWRUbykKK3sKKyAgICBXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNz
TWFuYWdlcjo6c2V0U3VicmVzb3VyY2VVbmlxdWVSZWRpcmVjdFRvKHRvV1RGU3RyaW5nKGhvc3RO
YW1lKSwgdG9XVEZTdHJpbmcoaG9zdE5hbWVSZWRpcmVjdGVkVG8pKTsKK30KKwogdm9pZCBXS1Jl
c291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VyU2V0VGltZVRvTGl2ZVVzZXJJbnRlcmFjdGlvbihk
b3VibGUgc2Vjb25kcykKIHsKICAgICBXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdlcjo6
c2V0VGltZVRvTGl2ZVVzZXJJbnRlcmFjdGlvbihzZWNvbmRzKTsKSW5kZXg6IFNvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1Jlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VyLmgKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUmVzb3VyY2VMb2Fk
U3RhdGlzdGljc01hbmFnZXIuaAkocmV2aXNpb24gMjEyNDM5KQorKysgU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0FQSS9DL1dLUmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFnZXIuaAkod29ya2lu
ZyBjb3B5KQpAQCAtMzgsNiArMzgsOSBAQCBleHRlcm4gIkMiIHsKICAgICBXS19FWFBPUlQgYm9v
bCBXS1Jlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VySXNQcmV2YWxlbnRSZXNvdXJjZShXS1N0
cmluZ1JlZiBob3N0TmFtZSk7CiAgICAgV0tfRVhQT1JUIHZvaWQgV0tSZXNvdXJjZUxvYWRTdGF0
aXN0aWNzTWFuYWdlclNldEhhc0hhZFVzZXJJbnRlcmFjdGlvbihXS1N0cmluZ1JlZiBob3N0TmFt
ZSwgYm9vbCB2YWx1ZSk7CiAgICAgV0tfRVhQT1JUIGJvb2wgV0tSZXNvdXJjZUxvYWRTdGF0aXN0
aWNzTWFuYWdlcklzSGFzSGFkVXNlckludGVyYWN0aW9uKFdLU3RyaW5nUmVmIGhvc3ROYW1lKTsK
KyAgICBXS19FWFBPUlQgdm9pZCBXS1Jlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VyU2V0U3Vi
ZnJhbWVVbmRlclRvcEZyYW1lT3JpZ2luKFdLU3RyaW5nUmVmIGhvc3ROYW1lLCBXS1N0cmluZ1Jl
ZiB0b3BGcmFtZUhvc3ROYW1lKTsKKyAgICBXS19FWFBPUlQgdm9pZCBXS1Jlc291cmNlTG9hZFN0
YXRpc3RpY3NNYW5hZ2VyU2V0U3VicmVzb3VyY2VVbmRlclRvcEZyYW1lT3JpZ2luKFdLU3RyaW5n
UmVmIGhvc3ROYW1lLCBXS1N0cmluZ1JlZiB0b3BGcmFtZUhvc3ROYW1lKTsKKyAgICBXS19FWFBP
UlQgdm9pZCBXS1Jlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VyU2V0U3VicmVzb3VyY2VVbmlx
dWVSZWRpcmVjdFRvKFdLU3RyaW5nUmVmIGhvc3ROYW1lLCBXS1N0cmluZ1JlZiBob3N0TmFtZVJl
ZGlyZWN0ZWRUbyk7CiAgICAgV0tfRVhQT1JUIHZvaWQgV0tSZXNvdXJjZUxvYWRTdGF0aXN0aWNz
TWFuYWdlclNldFRpbWVUb0xpdmVVc2VySW50ZXJhY3Rpb24oZG91YmxlIHNlY29uZHMpOwogICAg
IFdLX0VYUE9SVCB2b2lkIFdLUmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFnZXJTZXRSZWR1Y2Vk
VGltZXN0YW1wUmVzb2x1dGlvbihkb3VibGUgc2Vjb25kcyk7CiAgICAgV0tfRVhQT1JUIHZvaWQg
V0tSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdlckZpcmVEYXRhTW9kaWZpY2F0aW9uSGFuZGxl
cigpOwpJbmRleDogU291cmNlL1dlYktpdDIvV2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1dlYktpdDIueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvagkocmV2aXNpb24gMjEyNDM5KQorKysgU291cmNlL1dlYktpdDIvV2ViS2l0Mi54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCSh3b3JraW5nIGNvcHkpCkBAIC0xMTUwLDYgKzExNTAs
MTIgQEAKIAkJNkJFOTY5OUUxRTQzQjQxRDAwOEI3NDgzIC8qIFdLUmVzb3VyY2VMb2FkU3RhdGlz
dGljc01hbmFnZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gNkJFOTY5OUQxRTQzQjQxRDAwOEI3NDgzIC8qIFdLUmVzb3VyY2VMb2FkU3RhdGlzdGlj
c01hbmFnZXIuY3BwICovOyB9OwogCQk2QkU5NjlBMDFFNDNCODZFMDA4Qjc0ODMgLyogV2ViUmVz
b3VyY2VMb2FkU3RhdGlzdGljc01hbmFnZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDZCRTk2OTlGMUU0M0I4NkUwMDhCNzQ4MyAvKiBXZWJSZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzTWFuYWdlci5oICovOyB9OwogCQk2QkU5NjlBMjFFNDNCOEE0MDA4Qjc0
ODMgLyogV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFnZXIuY3BwIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNkJFOTY5QTExRTQzQjhBNDAwOEI3NDgz
IC8qIFdlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VyLmNwcCAqLzsgfTsKKwkJNkJFOTY5
QzExRTU0RDQ1MjAwOEI3NDgzIC8qIGNvcmVQcmVkaWN0aW9uX21vZGVsIGluIFJlc291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA2QkU5NjlDMDFFNTRENDUyMDA4Qjc0
ODMgLyogY29yZVByZWRpY3Rpb25fbW9kZWwgKi87IH07CisJCTZCRTk2OUM1MUU1NEQ0QTQwMDhC
NzQ4MyAvKiBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllci5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNkJFOTY5QzQxRTU0RDRBNDAwOEI3NDgz
IC8qIFJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyLmggKi87IH07CisJCTZCRTk2OUM3
MUU1NEQ0QjYwMDhCNzQ4MyAvKiBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllckJhc2Uu
Y3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNkJFOTY5
QzYxRTU0RDRCNjAwOEI3NDgzIC8qIFJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQmFz
ZS5jcHAgKi87IH07CisJCTZCRTk2OUNBMUU1NEQ0Q0YwMDhCNzQ4MyAvKiBSZXNvdXJjZUxvYWRT
dGF0aXN0aWNzQ2xhc3NpZmllckNvY29hLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDZCRTk2OUM4MUU1NEQ0Q0YwMDhCNzQ4MyAvKiBSZXNvdXJjZUxv
YWRTdGF0aXN0aWNzQ2xhc3NpZmllckNvY29hLmNwcCAqLzsgfTsKKwkJNkJFOTY5Q0IxRTU0RDRD
RjAwOEI3NDgzIC8qIFJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQ29jb2EuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDZCRTk2OUM5MUU1NEQ0
Q0YwMDhCNzQ4MyAvKiBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllckNvY29hLmggKi87
IH07CisJCTZCRTk2OUNEMUU1NEUwNTQwMDhCNzQ4MyAvKiBSZXNvdXJjZUxvYWRTdGF0aXN0aWNz
Q2xhc3NpZmllckJhc2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDZCRTk2OUNDMUU1NEUwNTQwMDhCNzQ4MyAvKiBSZXNvdXJjZUxvYWRTdGF0aXN0aWNz
Q2xhc3NpZmllckJhc2UuaCAqLzsgfTsKIAkJNkVFODQ5QzgxMzY4RDkzOTAwMzhENDgxIC8qIFdL
SW5zcGVjdG9yUHJpdmF0ZU1hYy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gNkVFODQ5QzYxMzY4RDkyRDAwMzhENDgxIC8qIFdLSW5zcGVjdG9yUHJpdmF0
ZU1hYy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJ
CTcyOEU4NkYxMTc5NTE4OEMwMDg3ODc5RSAvKiBXZWJDb2xvclBpY2tlck1hYy5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNzI4RTg2RUYxNzk1MTg4QzAw
ODc4NzlFIC8qIFdlYkNvbG9yUGlja2VyTWFjLmggKi87IH07CiAJCTcyOEU4NkYyMTc5NTE4OEMw
MDg3ODc5RSAvKiBXZWJDb2xvclBpY2tlck1hYy5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDcyOEU4NkYwMTc5NTE4OEMwMDg3ODc5RSAvKiBXZWJDb2xv
clBpY2tlck1hYy5tbSAqLzsgfTsKQEAgLTMzMzgsNiArMzM0NCwxMiBAQAogCQk2QkU5Njk5RDFF
NDNCNDFEMDA4Qjc0ODMgLyogV0tSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdlci5jcHAgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXS1Jlc291cmNlTG9hZFN0YXRpc3Rp
Y3NNYW5hZ2VyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNkJFOTY5OUYxRTQz
Qjg2RTAwOEI3NDgzIC8qIFdlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VyLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5h
Z2VyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTZCRTk2OUExMUU0M0I4QTQwMDhC
NzQ4MyAvKiBXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdlci5jcHAgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdl
ci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTZCRTk2OUMwMUU1NEQ0NTIwMDhC
NzQ4MyAvKiBjb3JlUHJlZGljdGlvbl9tb2RlbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBjb3Jl
UHJlZGljdGlvbl9tb2RlbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNkJFOTY5QzQx
RTU0RDRBNDAwOEI3NDgzIC8qIFJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFz
c2lmaWVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTZCRTk2OUM2MUU1NEQ0QjYw
MDhCNzQ4MyAvKiBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllckJhc2UuY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUmVzb3VyY2VMb2FkU3RhdGlzdGljc0Ns
YXNzaWZpZXJCYXNlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNkJFOTY5Qzgx
RTU0RDRDRjAwOEI3NDgzIC8qIFJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQ29jb2Eu
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUmVzb3VyY2VMb2FkU3Rh
dGlzdGljc0NsYXNzaWZpZXJDb2NvYS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CTZCRTk2OUM5MUU1NEQ0Q0YwMDhCNzQ4MyAvKiBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3Np
ZmllckNvY29hLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJlc291cmNlTG9h
ZFN0YXRpc3RpY3NDbGFzc2lmaWVyQ29jb2EuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
KwkJNkJFOTY5Q0MxRTU0RTA1NDAwOEI3NDgzIC8qIFJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFz
c2lmaWVyQmFzZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBSZXNvdXJjZUxv
YWRTdGF0aXN0aWNzQ2xhc3NpZmllckJhc2UuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJNkQ4QTkxQTUxMUYwRUZEMTAwREQwMUZFIC8qIGNvbS5hcHBsZS5XZWJQcm9jZXNzLnNiLmlu
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gdGV4dDsgbmFtZSA9IGNvbS5hcHBsZS5XZWJQcm9jZXNzLnNiLmluOyBwYXRo
ID0gV2ViUHJvY2Vzcy9jb20uYXBwbGUuV2ViUHJvY2Vzcy5zYi5pbjsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJNkVFODQ5QzYxMzY4RDkyRDAwMzhENDgxIC8qIFdLSW5zcGVjdG9yUHJp
dmF0ZU1hYy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBXS0luc3BlY3RvclBy
aXZhdGVNYWMuaDsgcGF0aCA9IG1hYy9XS0luc3BlY3RvclByaXZhdGVNYWMuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNzI4RTg2RUYxNzk1MTg4QzAwODc4NzlFIC8qIFdlYkNvbG9y
UGlja2VyTWFjLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYkNvbG9yUGlj
a2VyTWFjLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC00MzUwLDYgKzQzNjIsNyBA
QAogCQkwODlDMTY2NUZFODQxMTU4QzAyQUFDMDcgLyogUmVzb3VyY2VzICovID0gewogCQkJaXNh
ID0gUEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9ICgKKwkJCQk2QkU5NjlCRjFFNTRENDUyMDA4Qjc0
ODMgLyogUmVzb3VyY2VMb2FkU3RhdGlzdGljcyAqLywKIAkJCQkzN0Y4Qzk0RjFBRTIyQkQ4MDA3
REFCOUUgLyogbWFjICovLAogCQkJCTdDQjE2RkUxMTcyNEI5QjUwMDdBMEE5NSAvKiBQbHVnSW5T
YW5kYm94UHJvZmlsZXMgKi8sCiAJCQkJQTc4Q0NERDUxOTNBQzlFMzAwNUVDQzI1IC8qIFNhbmRi
b3hQcm9maWxlcyAqLywKQEAgLTYxMDMsNiArNjExNiwzNSBAQAogCQkJbmFtZSA9IENvY29hOwog
CQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKIAkJfTsKKwkJNkJFOTY5QkYxRTU0RDQ1MjAwOEI3
NDgzIC8qIFJlc291cmNlTG9hZFN0YXRpc3RpY3MgKi8gPSB7CisJCQlpc2EgPSBQQlhHcm91cDsK
KwkJCWNoaWxkcmVuID0gKAorCQkJCTZCRTk2OUMwMUU1NEQ0NTIwMDhCNzQ4MyAvKiBjb3JlUHJl
ZGljdGlvbl9tb2RlbCAqLywKKwkJCSk7CisJCQluYW1lID0gUmVzb3VyY2VMb2FkU3RhdGlzdGlj
czsKKwkJCXBhdGggPSBSZXNvdXJjZXMvUmVzb3VyY2VMb2FkU3RhdGlzdGljczsKKwkJCXNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7CisJCX07CisJCTZCRTk2OUMyMUU1NEQ0NjcwMDhCNzQ4MyAvKiBj
bGFzc2lmaWVyICovID0geworCQkJaXNhID0gUEJYR3JvdXA7CisJCQljaGlsZHJlbiA9ICgKKwkJ
CQk2QkU5NjlDMzFFNTRENDY3MDA4Qjc0ODMgLyogY29jb2EgKi8sCisJCQkJNkJFOTY5QzYxRTU0
RDRCNjAwOEI3NDgzIC8qIFJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQmFzZS5jcHAg
Ki8sCisJCQkJNkJFOTY5QzQxRTU0RDRBNDAwOEI3NDgzIC8qIFJlc291cmNlTG9hZFN0YXRpc3Rp
Y3NDbGFzc2lmaWVyLmggKi8sCisJCQkJNkJFOTY5Q0MxRTU0RTA1NDAwOEI3NDgzIC8qIFJlc291
cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQmFzZS5oICovLAorCQkJKTsKKwkJCXBhdGggPSBj
bGFzc2lmaWVyOworCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKKwkJfTsKKwkJNkJFOTY5QzMx
RTU0RDQ2NzAwOEI3NDgzIC8qIGNvY29hICovID0geworCQkJaXNhID0gUEJYR3JvdXA7CisJCQlj
aGlsZHJlbiA9ICgKKwkJCQk2QkU5NjlDODFFNTRENENGMDA4Qjc0ODMgLyogUmVzb3VyY2VMb2Fk
U3RhdGlzdGljc0NsYXNzaWZpZXJDb2NvYS5jcHAgKi8sCisJCQkJNkJFOTY5QzkxRTU0RDRDRjAw
OEI3NDgzIC8qIFJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQ29jb2EuaCAqLywKKwkJ
CSk7CisJCQlwYXRoID0gY29jb2E7CisJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOworCQl9Owog
CQk2RUU4NDlDNDEzNjhEOTA0MDAzOEQ0ODEgLyogbWFjICovID0gewogCQkJaXNhID0gUEJYR3Jv
dXA7CiAJCQljaGlsZHJlbiA9ICgKQEAgLTcwMDEsNiArNzA0Myw3IEBACiAJCUJDMkU2RTc0MTE0
MTk2RjAwMEE2M0IxRSAvKiBQbGF0Zm9ybSAqLyA9IHsKIAkJCWlzYSA9IFBCWEdyb3VwOwogCQkJ
Y2hpbGRyZW4gPSAoCisJCQkJNkJFOTY5QzIxRTU0RDQ2NzAwOEI3NDgzIC8qIGNsYXNzaWZpZXIg
Ki8sCiAJCQkJMzcwOTUwNDExOEE4OEJBNDAwODdBRTVEIC8qIGNmICovLAogCQkJCTFBQTJFNTFB
MTJFNEMwNTYwMEJDNDk2NiAvKiBjZyAqLywKIAkJCQk0NDUwQUVCRTFEQzNGQUFDMDA5OTQzRjIg
LyogY29jb2EgKi8sCkBAIC03ODgzLDYgKzc5MjYsNyBAQAogCQkJCTQxREM0NTk2MUUzRDZFMjIw
MEIxMUY1MSAvKiBOZXR3b3JrUlRDUHJvdmlkZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTdDMUJB
MzNFMUE0QTBFNjAwMDQzRTI0OSAvKiBBUElEaWN0aW9uYXJ5LmggaW4gSGVhZGVycyAqLywKIAkJ
CQkxRjdEMzZDMTE4REE1MTNGMDBEOUQ2NTkgLyogQVBJRG93bmxvYWRDbGllbnQuaCBpbiBIZWFk
ZXJzICovLAorCQkJCTZCRTk2OUNCMUU1NEQ0Q0YwMDhCNzQ4MyAvKiBSZXNvdXJjZUxvYWRTdGF0
aXN0aWNzQ2xhc3NpZmllckNvY29hLmggaW4gSGVhZGVycyAqLywKIAkJCQk1MTZBNEE1RDEyMEEy
Q0NEMDBDMDVCN0YgLyogQVBJRXJyb3IuaCBpbiBIZWFkZXJzICovLAogCQkJCTMxN0ZFN0M1MUM0
ODdBNkMwMEEwQ0E4OSAvKiBBUElFeHBlcmltZW50YWxGZWF0dXJlLmggaW4gSGVhZGVycyAqLywK
IAkJCQkwMEI5NjYxNjE4RTI0Q0JBMDBDRTFGODggLyogQVBJRmluZENsaWVudC5oIGluIEhlYWRl
cnMgKi8sCkBAIC04MzAyLDYgKzgzNDYsNyBAQAogCQkJCTMzMDkzNDRBMTMxNUI5MjIwMDk3QTdC
QyAvKiBXZWJDb29raWVNYW5hZ2VyUHJveHlNZXNzYWdlcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
QkMxREQ3QjIxMTREQzM5NjAwNUFEQUYzIC8qIFdlYkNvcmVBcmd1bWVudENvZGVycy5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJNTEyRjU4OUIxMkE4ODM4ODAwNjI5NTMwIC8qIFdlYkNyZWRlbnRpYWwu
aCBpbiBIZWFkZXJzICovLAorCQkJCTZCRTk2OUM1MUU1NEQ0QTQwMDhCNzQ4MyAvKiBSZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUFBODNGNkQx
QTVCNjNGRjAwMDI2RUM2IC8qIFdlYkRhdGFiYXNlUHJvdmlkZXIuaCBpbiBIZWFkZXJzICovLAog
CQkJCUNEMTlBMjZFMUExM0U4MzQwMDhENjUwRSAvKiBXZWJEaWFnbm9zdGljTG9nZ2luZ0NsaWVu
dC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUE1QjFDNTUxODk4N0VERjAwNEZDRjlCIC8qIFdlYkRv
Y3VtZW50TG9hZGVyLmggaW4gSGVhZGVycyAqLywKQEAgLTg1MDUsNiArODU1MCw3IEBACiAJCQkJ
QkM3QjYzM0QxMkE0NUQxMjAwRDE3NEE0IC8qIFdLQnVuZGxlUGFnZUdyb3VwLmggaW4gSGVhZGVy
cyAqLywKIAkJCQkxQUI0NzREODE4NEQ0M0ZEMDA1MUI2MjIgLyogV0tCdW5kbGVQYWdlTG9hZGVy
Q2xpZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQlFRDgyQTdGMjEyOEM2RkFGMDA0NDc3QjMgLyog
V0tCdW5kbGVQYWdlT3ZlcmxheS5oIGluIEhlYWRlcnMgKi8sCisJCQkJNkJFOTY5Q0QxRTU0RTA1
NDAwOEI3NDgzIC8qIFJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQmFzZS5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJMUFCNDc0RUExODRENDUxMzAwNTFCNjIyIC8qIFdLQnVuZGxlUGFnZVBv
bGljeUNsaWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkMxQjQxOTgxMUQ0MUQ1NzAwMTFFOERE
IC8qIFdLQnVuZGxlUGFnZVByaXZhdGUuaCBpbiBIZWFkZXJzICovLAogCQkJCTFBQjQ3NERBMTg0
RDQ0MjUwMDUxQjYyMiAvKiBXS0J1bmRsZVBhZ2VSZXNvdXJjZUxvYWRDbGllbnQuaCBpbiBIZWFk
ZXJzICovLApAQCAtOTAzOCw2ICs5MDg0LDcgQEAKIAkJCQk3QTVFMzk0QTFENUJEOEJFMDBCNEI3
Q0UgLyogY29tLm1hY3JvbWVkaWEuRmxhc2ggUGxheWVyIEVTUi5wbHVnaW4uc2IgaW4gUmVzb3Vy
Y2VzICovLAogCQkJCThEQzJFRjUzMDQ4NkE2OTQwMDk4QjIxNiAvKiBJbmZvUGxpc3Quc3RyaW5n
cyBpbiBSZXNvdXJjZXMgKi8sCiAJCQkJOTNBMkEzNDYxRDI0NjEyNTAwMkI1OUQzIC8qIG1lZGlh
SWNvbi5wZGYgaW4gUmVzb3VyY2VzICovLAorCQkJCTZCRTk2OUMxMUU1NEQ0NTIwMDhCNzQ4MyAv
KiBjb3JlUHJlZGljdGlvbl9tb2RlbCBpbiBSZXNvdXJjZXMgKi8sCiAJCQkpOwogCQkJcnVuT25s
eUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CiAJCX07CkBAIC05NjI2LDYgKzk2NzMs
NyBAQAogCQkJCTUxNzk1NTY3MTYyODc2Q0IwMEZBNDNCNiAvKiBOZXR3b3JrUHJvY2Vzc01hYy5t
bSBpbiBTb3VyY2VzICovLAogCQkJCTUxNjMxOTk0MTYyODlBNjAwMEUyMkYwMCAvKiBOZXR3b3Jr
UHJvY2Vzc01lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlFMTRBOTU0OTE2
RTAxNkE0MDA2OERFODIgLyogTmV0d29ya1Byb2Nlc3NQbGF0Zm9ybVN0cmF0ZWdpZXMuY3BwIGlu
IFNvdXJjZXMgKi8sCisJCQkJNkJFOTY5Q0ExRTU0RDRDRjAwOEI3NDgzIC8qIFJlc291cmNlTG9h
ZFN0YXRpc3RpY3NDbGFzc2lmaWVyQ29jb2EuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNTE3OTU1
NkQxNjI4NzdCMTAwRkE0M0I2IC8qIE5ldHdvcmtQcm9jZXNzUHJveHkuY3BwIGluIFNvdXJjZXMg
Ki8sCiAJCQkJNTE2MzE5OTIxNjI4OTgwQTAwRTIyRjAwIC8qIE5ldHdvcmtQcm9jZXNzUHJveHlN
YWMubW0gaW4gU291cmNlcyAqLywKIAkJCQk1MTNBMTYzQzE2MzA4OEY2MDA1RDdEMjIgLyogTmV0
d29ya1Byb2Nlc3NQcm94eU1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLywKQEAgLTk5
NjksNiArMTAwMTcsNyBAQAogCQkJCUQzQjk0ODQ2MTFGRjRCNjUwMDAzMkIzOSAvKiBXZWJQb3B1
cE1lbnUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQkNDNDNBQzcxMjdCOTlERTAwMzE3RjE2IC8q
IFdlYlBvcHVwTWVudU1hYy5tbSBpbiBTb3VyY2VzICovLAogCQkJCUJDNTc1MDk4MTI2OEYzQzYw
MDZGMEYxMiAvKiBXZWJQb3B1cE1lbnVQcm94eU1hYy5tbSBpbiBTb3VyY2VzICovLAorCQkJCTZC
RTk2OUM3MUU1NEQ0QjYwMDhCNzQ4MyAvKiBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmll
ckJhc2UuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQkNENTk4MDAxMTJCNTdCRTAwRUM4QzIzIC8q
IFdlYlByZWZlcmVuY2VzLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTdDODVGRDdGMTkzNDE2NjUw
MDAxNzdDNCAvKiBXZWJQcmVmZXJlbmNlc0tleXMuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQkM4
NEVCMTgxMkE3MTAwQzAwODNGMkRBIC8qIFdlYlByZWZlcmVuY2VzTWFjLm1tIGluIFNvdXJjZXMg
Ki8sCkBAIC05OTk2LDcgKzEwMDQ1LDcgQEAKIAkJCQkzNzYwODgxRTE1MDQxM0U5MDBGQzgyQzcg
LyogV2ViUmVuZGVyT2JqZWN0LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTUxMEFGRkI5MTY1NDIw
NDgwMDFCQTA1RSAvKiBXZWJSZXNvdXJjZUxvYWRlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk1
MUYwNjBFMTE2NTQzMTg1MDBGMzI4MUIgLyogV2ViUmVzb3VyY2VMb2FkZXJNZXNzYWdlUmVjZWl2
ZXIuY3BwIGluIFNvdXJjZXMgKi8sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDZC
RTk2OUEyMUU0M0I4QTQwMDhCNzQ4MyAvKiBXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdl
ci5jcHAgaW4gU291cmNlcyAqLywKKwkJCQk2QkU5NjlBMjFFNDNCOEE0MDA4Qjc0ODMgLyogV2Vi
UmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFnZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNTFG
MDYwRTExNjU0MzE4NTAwRjMyODFDIC8qIFdlYlJUQ1NvY2tldE1lc3NhZ2VSZWNlaXZlci5jcHAg
aW4gU291cmNlcyAqLywKIAkJCQk1MUYwNjBFMTE2NTQzMTg1MDBGMzI4MkMgLyogV2ViUlRDUmVz
b2x2ZXJNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNTFGMDYwRTExNjU0
MzE4NTAwRjMyODFEIC8qIE5ldHdvcmtSVENTb2NrZXRNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNv
dXJjZXMgKi8sCkBAIC0xMDE4Nyw3ICsxMDIzNiw3IEBACiAJCQkJMzc5NDg0MDgxNTBDNEI5NzAw
RTUyQ0U5IC8qIFdLUmVuZGVyTGF5ZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMzc2MDg4MjIx
NTA0MTRGNzAwRkM4MkM3IC8qIFdLUmVuZGVyT2JqZWN0LmNwcCBpbiBTb3VyY2VzICovLAogCQkJ
CTMzMzY3NjNBMTMwQzk5REMwMDZDOURFMiAvKiBXS1Jlc291cmNlQ2FjaGVNYW5hZ2VyLmNwcCBp
biBTb3VyY2VzICovLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA2QkU5Njk5RTFF
NDNCNDFEMDA4Qjc0ODMgLyogV0tSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdlci5jcHAgaW4g
U291cmNlcyAqLywKKwkJCQk2QkU5Njk5RTFFNDNCNDFEMDA4Qjc0ODMgLyogV0tSZXNvdXJjZUxv
YWRTdGF0aXN0aWNzTWFuYWdlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkxQTdFMzc3ODE4RTRB
NEZFMDAzRDBGRkYgLyogV0tTY3JpcHRNZXNzYWdlLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJMEZD
QjRFNTUxOEJCRTA0NDAwMEZDRkM5IC8qIFdLU2Nyb2xsVmlldy5tbSBpbiBTb3VyY2VzICovLAog
CQkJCTUxQ0QxQzY2MUIzNEI5REMwMDE0MkNBNSAvKiBXS1NlY3VyaXR5T3JpZ2luLm1tIGluIFNv
dXJjZXMgKi8sCkluZGV4OiBUb29scy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvQ2hh
bmdlTG9nCShyZXZpc2lvbiAyMTI0ODIpCisrKyBUb29scy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29w
eSkKQEAgLTEsMyArMSwzMCBAQAorMjAxNy0wMi0xNiAgSm9obiBXaWxhbmRlciAgPHdpbGFuZGVy
QGFwcGxlLmNvbT4KKworICAgICAgICBSZXNvdXJjZSBMb2FkIFN0YXRpc3RpY3M6IEFkZCBhbHRl
cm5hdGUgY2xhc3NpZmljYXRpb24gbWV0aG9kCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xNjgzNDcKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzMwMzUy
NzkzPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFk
ZGVkIHRocmVlIHRlc3RSdW5uZXIgZnVuY3Rpb25zIHRvIGZhY2lsaXRhdGUgbGF5b3V0IHRlc3Rz
OgorICAgICAgICAtIHNldFN0YXRpc3RpY3NTdWJmcmFtZVVuZGVyVG9wRnJhbWVPcmlnaW4oKQor
ICAgICAgICAtIHNldFN0YXRpc3RpY3NTdWJyZXNvdXJjZVVuZGVyVG9wRnJhbWVPcmlnaW4oKQor
ICAgICAgICAtIHNldFN0YXRpc3RpY3NTdWJyZXNvdXJjZVVuaXF1ZVJlZGlyZWN0VG8oKQorCisg
ICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9CaW5kaW5ncy9UZXN0UnVu
bmVyLmlkbDoKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL1Rlc3RS
dW5uZXIuY3BwOgorICAgICAgICAoV1RSOjpUZXN0UnVubmVyOjpzZXRTdGF0aXN0aWNzU3ViZnJh
bWVVbmRlclRvcEZyYW1lT3JpZ2luKToKKyAgICAgICAgKFdUUjo6VGVzdFJ1bm5lcjo6c2V0U3Rh
dGlzdGljc1N1YnJlc291cmNlVW5kZXJUb3BGcmFtZU9yaWdpbik6CisgICAgICAgIChXVFI6OlRl
c3RSdW5uZXI6OnNldFN0YXRpc3RpY3NTdWJyZXNvdXJjZVVuaXF1ZVJlZGlyZWN0VG8pOgorICAg
ICAgICAqIFdlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvVGVzdFJ1bm5lci5oOgorICAg
ICAgICAqIFdlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuY3BwOgorICAgICAgICAoV1RS
OjpUZXN0Q29udHJvbGxlcjo6c2V0U3RhdGlzdGljc1N1YmZyYW1lVW5kZXJUb3BGcmFtZU9yaWdp
bik6CisgICAgICAgIChXVFI6OlRlc3RDb250cm9sbGVyOjpzZXRTdGF0aXN0aWNzU3VicmVzb3Vy
Y2VVbmRlclRvcEZyYW1lT3JpZ2luKToKKyAgICAgICAgKFdUUjo6VGVzdENvbnRyb2xsZXI6OnNl
dFN0YXRpc3RpY3NTdWJyZXNvdXJjZVVuaXF1ZVJlZGlyZWN0VG8pOgorICAgICAgICAqIFdlYktp
dFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuaDoKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVy
L1Rlc3RJbnZvY2F0aW9uLmNwcDoKKyAgICAgICAgKFdUUjo6VGVzdEludm9jYXRpb246OmRpZFJl
Y2VpdmVTeW5jaHJvbm91c01lc3NhZ2VGcm9tSW5qZWN0ZWRCdW5kbGUpOgorCiAyMDE3LTAyLTE2
ICBBbGV4IENocmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CiAKICAgICAgICAg
U3BlY2lhbCBVUkxzIHdpdGhvdXQgYSBob3N0IGFyZSBpbnZhbGlkCkluZGV4OiBUb29scy9XZWJL
aXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9XZWJL
aXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmNwcAkocmV2aXNpb24gMjEyNDM5KQorKysgVG9v
bHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTIyMjksNiArMjIyOSwyMSBAQCBib29sIFRlc3RDb250cm9sbGVyOjppc1N0YXRpc3RpY3NIYXNI
YWRVCiAgICAgcmV0dXJuIFdLUmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFnZXJJc0hhc0hhZFVz
ZXJJbnRlcmFjdGlvbihob3N0TmFtZSk7CiB9CiAKK3ZvaWQgVGVzdENvbnRyb2xsZXI6OnNldFN0
YXRpc3RpY3NTdWJmcmFtZVVuZGVyVG9wRnJhbWVPcmlnaW4oV0tTdHJpbmdSZWYgaG9zdE5hbWUs
IFdLU3RyaW5nUmVmIHRvcEZyYW1lSG9zdE5hbWUpCit7CisgICAgV0tSZXNvdXJjZUxvYWRTdGF0
aXN0aWNzTWFuYWdlclNldFN1YmZyYW1lVW5kZXJUb3BGcmFtZU9yaWdpbihob3N0TmFtZSwgdG9w
RnJhbWVIb3N0TmFtZSk7Cit9CisKK3ZvaWQgVGVzdENvbnRyb2xsZXI6OnNldFN0YXRpc3RpY3NT
dWJyZXNvdXJjZVVuZGVyVG9wRnJhbWVPcmlnaW4oV0tTdHJpbmdSZWYgaG9zdE5hbWUsIFdLU3Ry
aW5nUmVmIHRvcEZyYW1lSG9zdE5hbWUpCit7CisgICAgV0tSZXNvdXJjZUxvYWRTdGF0aXN0aWNz
TWFuYWdlclNldFN1YnJlc291cmNlVW5kZXJUb3BGcmFtZU9yaWdpbihob3N0TmFtZSwgdG9wRnJh
bWVIb3N0TmFtZSk7Cit9CisgICAgCit2b2lkIFRlc3RDb250cm9sbGVyOjpzZXRTdGF0aXN0aWNz
U3VicmVzb3VyY2VVbmlxdWVSZWRpcmVjdFRvKFdLU3RyaW5nUmVmIGhvc3ROYW1lLCBXS1N0cmlu
Z1JlZiBob3N0TmFtZVJlZGlyZWN0ZWRUbykKK3sKKyAgICBXS1Jlc291cmNlTG9hZFN0YXRpc3Rp
Y3NNYW5hZ2VyU2V0U3VicmVzb3VyY2VVbmlxdWVSZWRpcmVjdFRvKGhvc3ROYW1lLCBob3N0TmFt
ZVJlZGlyZWN0ZWRUbyk7Cit9CisKIHZvaWQgVGVzdENvbnRyb2xsZXI6OnNldFN0YXRpc3RpY3NU
aW1lVG9MaXZlVXNlckludGVyYWN0aW9uKGRvdWJsZSBzZWNvbmRzKQogewogICAgIFdLUmVzb3Vy
Y2VMb2FkU3RhdGlzdGljc01hbmFnZXJTZXRUaW1lVG9MaXZlVXNlckludGVyYWN0aW9uKHNlY29u
ZHMpOwpJbmRleDogVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5oCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuaAkocmV2aXNp
b24gMjEyNDM5KQorKysgVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5oCSh3
b3JraW5nIGNvcHkpCkBAIC0xNTIsNiArMTUyLDkgQEAgcHVibGljOgogICAgIGJvb2wgaXNTdGF0
aXN0aWNzUHJldmFsZW50UmVzb3VyY2UoV0tTdHJpbmdSZWYgaG9zdE5hbWUpOwogICAgIHZvaWQg
c2V0U3RhdGlzdGljc0hhc0hhZFVzZXJJbnRlcmFjdGlvbihXS1N0cmluZ1JlZiBob3N0TmFtZSwg
Ym9vbCB2YWx1ZSk7CiAgICAgYm9vbCBpc1N0YXRpc3RpY3NIYXNIYWRVc2VySW50ZXJhY3Rpb24o
V0tTdHJpbmdSZWYgaG9zdE5hbWUpOworICAgIHZvaWQgc2V0U3RhdGlzdGljc1N1YmZyYW1lVW5k
ZXJUb3BGcmFtZU9yaWdpbihXS1N0cmluZ1JlZiBob3N0TmFtZSwgV0tTdHJpbmdSZWYgdG9wRnJh
bWVIb3N0TmFtZSk7CisgICAgdm9pZCBzZXRTdGF0aXN0aWNzU3VicmVzb3VyY2VVbmRlclRvcEZy
YW1lT3JpZ2luKFdLU3RyaW5nUmVmIGhvc3ROYW1lLCBXS1N0cmluZ1JlZiB0b3BGcmFtZUhvc3RO
YW1lKTsKKyAgICB2b2lkIHNldFN0YXRpc3RpY3NTdWJyZXNvdXJjZVVuaXF1ZVJlZGlyZWN0VG8o
V0tTdHJpbmdSZWYgaG9zdE5hbWUsIFdLU3RyaW5nUmVmIGhvc3ROYW1lUmVkaXJlY3RlZFRvKTsK
ICAgICB2b2lkIHNldFN0YXRpc3RpY3NUaW1lVG9MaXZlVXNlckludGVyYWN0aW9uKGRvdWJsZSBz
ZWNvbmRzKTsKICAgICB2b2lkIHN0YXRpc3RpY3NGaXJlRGF0YU1vZGlmaWNhdGlvbkhhbmRsZXIo
KTsKICAgICB2b2lkIHNldFN0YXRpc3RpY3NOb3RpZnlQYWdlc1doZW5EYXRhUmVjb3Jkc1dlcmVT
Y2FubmVkKGJvb2wpOwpJbmRleDogVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0SW52b2NhdGlv
bi5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0SW52b2NhdGlv
bi5jcHAJKHJldmlzaW9uIDIxMjQzOSkKKysrIFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdElu
dm9jYXRpb24uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC05MzIsNiArOTMyLDQ4IEBAIFdLUmV0YWlu
UHRyPFdLVHlwZVJlZj4gVGVzdEludm9jYXRpb246OmQKICAgICAgICAgcmV0dXJuIHJlc3VsdDsK
ICAgICB9CiAgICAgCisgICAgaWYgKFdLU3RyaW5nSXNFcXVhbFRvVVRGOENTdHJpbmcobWVzc2Fn
ZU5hbWUsICJTZXRTdGF0aXN0aWNzU3ViZnJhbWVVbmRlclRvcEZyYW1lT3JpZ2luIikpIHsKKyAg
ICAgICAgQVNTRVJUKFdLR2V0VHlwZUlEKG1lc3NhZ2VCb2R5KSA9PSBXS0RpY3Rpb25hcnlHZXRU
eXBlSUQoKSk7CisgICAgICAgIAorICAgICAgICBXS0RpY3Rpb25hcnlSZWYgbWVzc2FnZUJvZHlE
aWN0aW9uYXJ5ID0gc3RhdGljX2Nhc3Q8V0tEaWN0aW9uYXJ5UmVmPihtZXNzYWdlQm9keSk7Cisg
ICAgICAgIFdLUmV0YWluUHRyPFdLU3RyaW5nUmVmPiBob3N0TmFtZUtleShBZG9wdFdLLCBXS1N0
cmluZ0NyZWF0ZVdpdGhVVEY4Q1N0cmluZygiSG9zdE5hbWUiKSk7CisgICAgICAgIFdLUmV0YWlu
UHRyPFdLU3RyaW5nUmVmPiB0b3BGcmFtZUhvc3ROYW1lS2V5KEFkb3B0V0ssIFdLU3RyaW5nQ3Jl
YXRlV2l0aFVURjhDU3RyaW5nKCJUb3BGcmFtZUhvc3ROYW1lIikpOworICAgICAgICAKKyAgICAg
ICAgV0tTdHJpbmdSZWYgaG9zdE5hbWUgPSBzdGF0aWNfY2FzdDxXS1N0cmluZ1JlZj4oV0tEaWN0
aW9uYXJ5R2V0SXRlbUZvcktleShtZXNzYWdlQm9keURpY3Rpb25hcnksIGhvc3ROYW1lS2V5Lmdl
dCgpKSk7CisgICAgICAgIFdLU3RyaW5nUmVmIHRvcEZyYW1lSG9zdE5hbWUgPSBzdGF0aWNfY2Fz
dDxXS1N0cmluZ1JlZj4oV0tEaWN0aW9uYXJ5R2V0SXRlbUZvcktleShtZXNzYWdlQm9keURpY3Rp
b25hcnksIHRvcEZyYW1lSG9zdE5hbWVLZXkuZ2V0KCkpKTsKKworICAgICAgICBUZXN0Q29udHJv
bGxlcjo6c2luZ2xldG9uKCkuc2V0U3RhdGlzdGljc1N1YmZyYW1lVW5kZXJUb3BGcmFtZU9yaWdp
bihob3N0TmFtZSwgdG9wRnJhbWVIb3N0TmFtZSk7CisgICAgICAgIHJldHVybiBudWxscHRyOwor
ICAgIH0KKyAgICAKKyAgICBpZiAoV0tTdHJpbmdJc0VxdWFsVG9VVEY4Q1N0cmluZyhtZXNzYWdl
TmFtZSwgIlNldFN0YXRpc3RpY3NTdWJyZXNvdXJjZVVuZGVyVG9wRnJhbWVPcmlnaW4iKSkgewor
ICAgICAgICBBU1NFUlQoV0tHZXRUeXBlSUQobWVzc2FnZUJvZHkpID09IFdLRGljdGlvbmFyeUdl
dFR5cGVJRCgpKTsKKyAgICAgICAgCisgICAgICAgIFdLRGljdGlvbmFyeVJlZiBtZXNzYWdlQm9k
eURpY3Rpb25hcnkgPSBzdGF0aWNfY2FzdDxXS0RpY3Rpb25hcnlSZWY+KG1lc3NhZ2VCb2R5KTsK
KyAgICAgICAgV0tSZXRhaW5QdHI8V0tTdHJpbmdSZWY+IGhvc3ROYW1lS2V5KEFkb3B0V0ssIFdL
U3RyaW5nQ3JlYXRlV2l0aFVURjhDU3RyaW5nKCJIb3N0TmFtZSIpKTsKKyAgICAgICAgV0tSZXRh
aW5QdHI8V0tTdHJpbmdSZWY+IHRvcEZyYW1lSG9zdE5hbWVLZXkoQWRvcHRXSywgV0tTdHJpbmdD
cmVhdGVXaXRoVVRGOENTdHJpbmcoIlRvcEZyYW1lSG9zdE5hbWUiKSk7CisgICAgICAgIAorICAg
ICAgICBXS1N0cmluZ1JlZiBob3N0TmFtZSA9IHN0YXRpY19jYXN0PFdLU3RyaW5nUmVmPihXS0Rp
Y3Rpb25hcnlHZXRJdGVtRm9yS2V5KG1lc3NhZ2VCb2R5RGljdGlvbmFyeSwgaG9zdE5hbWVLZXku
Z2V0KCkpKTsKKyAgICAgICAgV0tTdHJpbmdSZWYgdG9wRnJhbWVIb3N0TmFtZSA9IHN0YXRpY19j
YXN0PFdLU3RyaW5nUmVmPihXS0RpY3Rpb25hcnlHZXRJdGVtRm9yS2V5KG1lc3NhZ2VCb2R5RGlj
dGlvbmFyeSwgdG9wRnJhbWVIb3N0TmFtZUtleS5nZXQoKSkpOworICAgICAgICAKKyAgICAgICAg
VGVzdENvbnRyb2xsZXI6OnNpbmdsZXRvbigpLnNldFN0YXRpc3RpY3NTdWJyZXNvdXJjZVVuZGVy
VG9wRnJhbWVPcmlnaW4oaG9zdE5hbWUsIHRvcEZyYW1lSG9zdE5hbWUpOworICAgICAgICByZXR1
cm4gbnVsbHB0cjsKKyAgICB9CisgICAgCisgICAgaWYgKFdLU3RyaW5nSXNFcXVhbFRvVVRGOENT
dHJpbmcobWVzc2FnZU5hbWUsICJTZXRTdGF0aXN0aWNzU3VicmVzb3VyY2VVbmlxdWVSZWRpcmVj
dFRvIikpIHsKKyAgICAgICAgQVNTRVJUKFdLR2V0VHlwZUlEKG1lc3NhZ2VCb2R5KSA9PSBXS0Rp
Y3Rpb25hcnlHZXRUeXBlSUQoKSk7CisgICAgICAgIAorICAgICAgICBXS0RpY3Rpb25hcnlSZWYg
bWVzc2FnZUJvZHlEaWN0aW9uYXJ5ID0gc3RhdGljX2Nhc3Q8V0tEaWN0aW9uYXJ5UmVmPihtZXNz
YWdlQm9keSk7CisgICAgICAgIFdLUmV0YWluUHRyPFdLU3RyaW5nUmVmPiBob3N0TmFtZUtleShB
ZG9wdFdLLCBXS1N0cmluZ0NyZWF0ZVdpdGhVVEY4Q1N0cmluZygiSG9zdE5hbWUiKSk7CisgICAg
ICAgIFdLUmV0YWluUHRyPFdLU3RyaW5nUmVmPiBob3N0TmFtZVJlZGlyZWN0ZWRUb0tleShBZG9w
dFdLLCBXS1N0cmluZ0NyZWF0ZVdpdGhVVEY4Q1N0cmluZygiSG9zdE5hbWVSZWRpcmVjdGVkVG8i
KSk7CisgICAgICAgIAorICAgICAgICBXS1N0cmluZ1JlZiBob3N0TmFtZSA9IHN0YXRpY19jYXN0
PFdLU3RyaW5nUmVmPihXS0RpY3Rpb25hcnlHZXRJdGVtRm9yS2V5KG1lc3NhZ2VCb2R5RGljdGlv
bmFyeSwgaG9zdE5hbWVLZXkuZ2V0KCkpKTsKKyAgICAgICAgV0tTdHJpbmdSZWYgaG9zdE5hbWVS
ZWRpcmVjdGVkVG8gPSBzdGF0aWNfY2FzdDxXS1N0cmluZ1JlZj4oV0tEaWN0aW9uYXJ5R2V0SXRl
bUZvcktleShtZXNzYWdlQm9keURpY3Rpb25hcnksIGhvc3ROYW1lUmVkaXJlY3RlZFRvS2V5Lmdl
dCgpKSk7CisgICAgICAgIAorICAgICAgICBUZXN0Q29udHJvbGxlcjo6c2luZ2xldG9uKCkuc2V0
U3RhdGlzdGljc1N1YnJlc291cmNlVW5pcXVlUmVkaXJlY3RUbyhob3N0TmFtZSwgaG9zdE5hbWVS
ZWRpcmVjdGVkVG8pOworICAgICAgICByZXR1cm4gbnVsbHB0cjsKKyAgICB9CisKICAgICBpZiAo
V0tTdHJpbmdJc0VxdWFsVG9VVEY4Q1N0cmluZyhtZXNzYWdlTmFtZSwgIlNldFN0YXRpc3RpY3NU
aW1lVG9MaXZlVXNlckludGVyYWN0aW9uIikpIHsKICAgICAgICAgQVNTRVJUKFdLR2V0VHlwZUlE
KG1lc3NhZ2VCb2R5KSA9PSBXS0RvdWJsZUdldFR5cGVJRCgpKTsKICAgICAgICAgV0tEb3VibGVS
ZWYgc2Vjb25kcyA9IHN0YXRpY19jYXN0PFdLRG91YmxlUmVmPihtZXNzYWdlQm9keSk7CkluZGV4
OiBUb29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL1Rlc3RSdW5uZXIuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvVGVzdFJ1
bm5lci5jcHAJKHJldmlzaW9uIDIxMjQzOSkKKysrIFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5q
ZWN0ZWRCdW5kbGUvVGVzdFJ1bm5lci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEyMjYsNiArMTIy
Niw4NCBAQCBib29sIFRlc3RSdW5uZXI6OmlzU3RhdGlzdGljc0hhc0hhZFVzZXJJCiAgICAgcmV0
dXJuIFdLQm9vbGVhbkdldFZhbHVlKHN0YXRpY19jYXN0PFdLQm9vbGVhblJlZj4ocmV0dXJuRGF0
YSkpOwogfQogCit2b2lkIFRlc3RSdW5uZXI6OnNldFN0YXRpc3RpY3NTdWJmcmFtZVVuZGVyVG9w
RnJhbWVPcmlnaW4oSlNTdHJpbmdSZWYgaG9zdE5hbWUsIEpTU3RyaW5nUmVmIHRvcEZyYW1lSG9z
dE5hbWUpCit7CisgICAgVmVjdG9yPFdLUmV0YWluUHRyPFdLU3RyaW5nUmVmPj4ga2V5czsKKyAg
ICBWZWN0b3I8V0tSZXRhaW5QdHI8V0tUeXBlUmVmPj4gdmFsdWVzOworICAgIAorICAgIGtleXMu
YXBwZW5kKHsgQWRvcHRXSywgV0tTdHJpbmdDcmVhdGVXaXRoVVRGOENTdHJpbmcoIkhvc3ROYW1l
IikgfSk7CisgICAgdmFsdWVzLmFwcGVuZCh7IEFkb3B0V0ssIFdLU3RyaW5nQ3JlYXRlV2l0aEpT
U3RyaW5nKGhvc3ROYW1lKSB9KTsKKyAgICAKKyAgICBrZXlzLmFwcGVuZCh7IEFkb3B0V0ssIFdL
U3RyaW5nQ3JlYXRlV2l0aFVURjhDU3RyaW5nKCJUb3BGcmFtZUhvc3ROYW1lIikgfSk7CisgICAg
dmFsdWVzLmFwcGVuZCh7IEFkb3B0V0ssIFdLU3RyaW5nQ3JlYXRlV2l0aEpTU3RyaW5nKHRvcEZy
YW1lSG9zdE5hbWUpIH0pOworICAgIAorICAgIFZlY3RvcjxXS1N0cmluZ1JlZj4gcmF3S2V5czsK
KyAgICBWZWN0b3I8V0tUeXBlUmVmPiByYXdWYWx1ZXM7CisgICAgcmF3S2V5cy5yZXNpemUoa2V5
cy5zaXplKCkpOworICAgIHJhd1ZhbHVlcy5yZXNpemUodmFsdWVzLnNpemUoKSk7CisgICAgCisg
ICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBrZXlzLnNpemUoKTsgKytpKSB7CisgICAgICAgIHJh
d0tleXNbaV0gPSBrZXlzW2ldLmdldCgpOworICAgICAgICByYXdWYWx1ZXNbaV0gPSB2YWx1ZXNb
aV0uZ2V0KCk7CisgICAgfQorICAgIAorICAgIFdLUmV0YWluUHRyPFdLU3RyaW5nUmVmPiBtZXNz
YWdlTmFtZShBZG9wdFdLLCBXS1N0cmluZ0NyZWF0ZVdpdGhVVEY4Q1N0cmluZygiU2V0U3RhdGlz
dGljc1N1YmZyYW1lVW5kZXJUb3BGcmFtZU9yaWdpbiIpKTsKKyAgICBXS1JldGFpblB0cjxXS0Rp
Y3Rpb25hcnlSZWY+IG1lc3NhZ2VCb2R5KEFkb3B0V0ssIFdLRGljdGlvbmFyeUNyZWF0ZShyYXdL
ZXlzLmRhdGEoKSwgcmF3VmFsdWVzLmRhdGEoKSwgcmF3S2V5cy5zaXplKCkpKTsKKyAgICBXS0J1
bmRsZVBvc3RTeW5jaHJvbm91c01lc3NhZ2UoSW5qZWN0ZWRCdW5kbGU6OnNpbmdsZXRvbigpLmJ1
bmRsZSgpLCBtZXNzYWdlTmFtZS5nZXQoKSwgbWVzc2FnZUJvZHkuZ2V0KCksIG51bGxwdHIpOwor
fQorCit2b2lkIFRlc3RSdW5uZXI6OnNldFN0YXRpc3RpY3NTdWJyZXNvdXJjZVVuZGVyVG9wRnJh
bWVPcmlnaW4oSlNTdHJpbmdSZWYgaG9zdE5hbWUsIEpTU3RyaW5nUmVmIHRvcEZyYW1lSG9zdE5h
bWUpCit7CisgICAgVmVjdG9yPFdLUmV0YWluUHRyPFdLU3RyaW5nUmVmPj4ga2V5czsKKyAgICBW
ZWN0b3I8V0tSZXRhaW5QdHI8V0tUeXBlUmVmPj4gdmFsdWVzOworICAgIAorICAgIGtleXMuYXBw
ZW5kKHsgQWRvcHRXSywgV0tTdHJpbmdDcmVhdGVXaXRoVVRGOENTdHJpbmcoIkhvc3ROYW1lIikg
fSk7CisgICAgdmFsdWVzLmFwcGVuZCh7IEFkb3B0V0ssIFdLU3RyaW5nQ3JlYXRlV2l0aEpTU3Ry
aW5nKGhvc3ROYW1lKSB9KTsKKyAgICAKKyAgICBrZXlzLmFwcGVuZCh7IEFkb3B0V0ssIFdLU3Ry
aW5nQ3JlYXRlV2l0aFVURjhDU3RyaW5nKCJUb3BGcmFtZUhvc3ROYW1lIikgfSk7CisgICAgdmFs
dWVzLmFwcGVuZCh7IEFkb3B0V0ssIFdLU3RyaW5nQ3JlYXRlV2l0aEpTU3RyaW5nKHRvcEZyYW1l
SG9zdE5hbWUpIH0pOworICAgIAorICAgIFZlY3RvcjxXS1N0cmluZ1JlZj4gcmF3S2V5czsKKyAg
ICBWZWN0b3I8V0tUeXBlUmVmPiByYXdWYWx1ZXM7CisgICAgcmF3S2V5cy5yZXNpemUoa2V5cy5z
aXplKCkpOworICAgIHJhd1ZhbHVlcy5yZXNpemUodmFsdWVzLnNpemUoKSk7CisgICAgCisgICAg
Zm9yIChzaXplX3QgaSA9IDA7IGkgPCBrZXlzLnNpemUoKTsgKytpKSB7CisgICAgICAgIHJhd0tl
eXNbaV0gPSBrZXlzW2ldLmdldCgpOworICAgICAgICByYXdWYWx1ZXNbaV0gPSB2YWx1ZXNbaV0u
Z2V0KCk7CisgICAgfQorICAgIAorICAgIFdLUmV0YWluUHRyPFdLU3RyaW5nUmVmPiBtZXNzYWdl
TmFtZShBZG9wdFdLLCBXS1N0cmluZ0NyZWF0ZVdpdGhVVEY4Q1N0cmluZygiU2V0U3RhdGlzdGlj
c1N1YnJlc291cmNlVW5kZXJUb3BGcmFtZU9yaWdpbiIpKTsKKyAgICBXS1JldGFpblB0cjxXS0Rp
Y3Rpb25hcnlSZWY+IG1lc3NhZ2VCb2R5KEFkb3B0V0ssIFdLRGljdGlvbmFyeUNyZWF0ZShyYXdL
ZXlzLmRhdGEoKSwgcmF3VmFsdWVzLmRhdGEoKSwgcmF3S2V5cy5zaXplKCkpKTsKKyAgICBXS0J1
bmRsZVBvc3RTeW5jaHJvbm91c01lc3NhZ2UoSW5qZWN0ZWRCdW5kbGU6OnNpbmdsZXRvbigpLmJ1
bmRsZSgpLCBtZXNzYWdlTmFtZS5nZXQoKSwgbWVzc2FnZUJvZHkuZ2V0KCksIG51bGxwdHIpOwor
fQorCit2b2lkIFRlc3RSdW5uZXI6OnNldFN0YXRpc3RpY3NTdWJyZXNvdXJjZVVuaXF1ZVJlZGly
ZWN0VG8oSlNTdHJpbmdSZWYgaG9zdE5hbWUsIEpTU3RyaW5nUmVmIGhvc3ROYW1lUmVkaXJlY3Rl
ZFRvKQoreworICAgIFZlY3RvcjxXS1JldGFpblB0cjxXS1N0cmluZ1JlZj4+IGtleXM7CisgICAg
VmVjdG9yPFdLUmV0YWluUHRyPFdLVHlwZVJlZj4+IHZhbHVlczsKKyAgICAKKyAgICBrZXlzLmFw
cGVuZCh7IEFkb3B0V0ssIFdLU3RyaW5nQ3JlYXRlV2l0aFVURjhDU3RyaW5nKCJIb3N0TmFtZSIp
IH0pOworICAgIHZhbHVlcy5hcHBlbmQoeyBBZG9wdFdLLCBXS1N0cmluZ0NyZWF0ZVdpdGhKU1N0
cmluZyhob3N0TmFtZSkgfSk7CisgICAgCisgICAga2V5cy5hcHBlbmQoeyBBZG9wdFdLLCBXS1N0
cmluZ0NyZWF0ZVdpdGhVVEY4Q1N0cmluZygiSG9zdE5hbWVSZWRpcmVjdGVkVG8iKSB9KTsKKyAg
ICB2YWx1ZXMuYXBwZW5kKHsgQWRvcHRXSywgV0tTdHJpbmdDcmVhdGVXaXRoSlNTdHJpbmcoaG9z
dE5hbWVSZWRpcmVjdGVkVG8pIH0pOworICAgIAorICAgIFZlY3RvcjxXS1N0cmluZ1JlZj4gcmF3
S2V5czsKKyAgICBWZWN0b3I8V0tUeXBlUmVmPiByYXdWYWx1ZXM7CisgICAgcmF3S2V5cy5yZXNp
emUoa2V5cy5zaXplKCkpOworICAgIHJhd1ZhbHVlcy5yZXNpemUodmFsdWVzLnNpemUoKSk7Cisg
ICAgCisgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBrZXlzLnNpemUoKTsgKytpKSB7CisgICAg
ICAgIHJhd0tleXNbaV0gPSBrZXlzW2ldLmdldCgpOworICAgICAgICByYXdWYWx1ZXNbaV0gPSB2
YWx1ZXNbaV0uZ2V0KCk7CisgICAgfQorICAgIAorICAgIFdLUmV0YWluUHRyPFdLU3RyaW5nUmVm
PiBtZXNzYWdlTmFtZShBZG9wdFdLLCBXS1N0cmluZ0NyZWF0ZVdpdGhVVEY4Q1N0cmluZygiU2V0
U3RhdGlzdGljc1N1YnJlc291cmNlVW5pcXVlUmVkaXJlY3RUbyIpKTsKKyAgICBXS1JldGFpblB0
cjxXS0RpY3Rpb25hcnlSZWY+IG1lc3NhZ2VCb2R5KEFkb3B0V0ssIFdLRGljdGlvbmFyeUNyZWF0
ZShyYXdLZXlzLmRhdGEoKSwgcmF3VmFsdWVzLmRhdGEoKSwgcmF3S2V5cy5zaXplKCkpKTsKKyAg
ICBXS0J1bmRsZVBvc3RTeW5jaHJvbm91c01lc3NhZ2UoSW5qZWN0ZWRCdW5kbGU6OnNpbmdsZXRv
bigpLmJ1bmRsZSgpLCBtZXNzYWdlTmFtZS5nZXQoKSwgbWVzc2FnZUJvZHkuZ2V0KCksIG51bGxw
dHIpOworfQorCiB2b2lkIFRlc3RSdW5uZXI6OnNldFN0YXRpc3RpY3NUaW1lVG9MaXZlVXNlcklu
dGVyYWN0aW9uKGRvdWJsZSBzZWNvbmRzKQogewogICAgIFdLUmV0YWluUHRyPFdLU3RyaW5nUmVm
PiBtZXNzYWdlTmFtZShBZG9wdFdLLCBXS1N0cmluZ0NyZWF0ZVdpdGhVVEY4Q1N0cmluZygiU2V0
U3RhdGlzdGljc1RpbWVUb0xpdmVVc2VySW50ZXJhY3Rpb24iKSk7CkluZGV4OiBUb29scy9XZWJL
aXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL1Rlc3RSdW5uZXIuaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBU
b29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL1Rlc3RSdW5uZXIuaAkocmV2aXNp
b24gMjEyNDM5KQorKysgVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9UZXN0
UnVubmVyLmgJKHdvcmtpbmcgY29weSkKQEAgLTM1NCw2ICszNTQsOSBAQCBwdWJsaWM6CiAgICAg
Ym9vbCBpc1N0YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJjZShKU1N0cmluZ1JlZiBob3N0TmFtZSk7
CiAgICAgdm9pZCBzZXRTdGF0aXN0aWNzSGFzSGFkVXNlckludGVyYWN0aW9uKEpTU3RyaW5nUmVm
IGhvc3ROYW1lLCBib29sIHZhbHVlKTsKICAgICBib29sIGlzU3RhdGlzdGljc0hhc0hhZFVzZXJJ
bnRlcmFjdGlvbihKU1N0cmluZ1JlZiBob3N0TmFtZSk7CisgICAgdm9pZCBzZXRTdGF0aXN0aWNz
U3ViZnJhbWVVbmRlclRvcEZyYW1lT3JpZ2luKEpTU3RyaW5nUmVmIGhvc3ROYW1lLCBKU1N0cmlu
Z1JlZiB0b3BGcmFtZUhvc3ROYW1lKTsKKyAgICB2b2lkIHNldFN0YXRpc3RpY3NTdWJyZXNvdXJj
ZVVuZGVyVG9wRnJhbWVPcmlnaW4oSlNTdHJpbmdSZWYgaG9zdE5hbWUsIEpTU3RyaW5nUmVmIHRv
cEZyYW1lSG9zdE5hbWUpOworICAgIHZvaWQgc2V0U3RhdGlzdGljc1N1YnJlc291cmNlVW5pcXVl
UmVkaXJlY3RUbyhKU1N0cmluZ1JlZiBob3N0TmFtZSwgSlNTdHJpbmdSZWYgaG9zdE5hbWVSZWRp
cmVjdGVkVG8pOwogICAgIHZvaWQgc2V0U3RhdGlzdGljc1RpbWVUb0xpdmVVc2VySW50ZXJhY3Rp
b24oZG91YmxlIHNlY29uZHMpOwogICAgIHZvaWQgc2V0U3RhdGlzdGljc05vdGlmeVBhZ2VzV2hl
bkRhdGFSZWNvcmRzV2VyZVNjYW5uZWQoYm9vbCk7CiAgICAgdm9pZCBzZXRTdGF0aXN0aWNzU2hv
dWxkQ2xhc3NpZnlSZXNvdXJjZXNCZWZvcmVEYXRhUmVjb3Jkc1JlbW92YWwoYm9vbCk7CkluZGV4
OiBUb29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0JpbmRpbmdzL1Rlc3RSdW5u
ZXIuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5k
bGUvQmluZGluZ3MvVGVzdFJ1bm5lci5pZGwJKHJldmlzaW9uIDIxMjQzOSkKKysrIFRvb2xzL1dl
YktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvQmluZGluZ3MvVGVzdFJ1bm5lci5pZGwJKHdv
cmtpbmcgY29weSkKQEAgLTI1Myw2ICsyNTMsOSBAQCBpbnRlcmZhY2UgVGVzdFJ1bm5lciB7CiAg
ICAgYm9vbGVhbiBpc1N0YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJjZShET01TdHJpbmcgaG9zdE5h
bWUpOwogICAgIHZvaWQgc2V0U3RhdGlzdGljc0hhc0hhZFVzZXJJbnRlcmFjdGlvbihET01TdHJp
bmcgaG9zdE5hbWUsIGJvb2xlYW4gdmFsdWUpOwogICAgIGJvb2xlYW4gaXNTdGF0aXN0aWNzSGFz
SGFkVXNlckludGVyYWN0aW9uKERPTVN0cmluZyBob3N0TmFtZSk7CisgICAgdm9pZCBzZXRTdGF0
aXN0aWNzU3ViZnJhbWVVbmRlclRvcEZyYW1lT3JpZ2luKERPTVN0cmluZyBob3N0TmFtZSwgRE9N
U3RyaW5nIHRvcEZyYW1lSG9zdE5hbWUpOworICAgIHZvaWQgc2V0U3RhdGlzdGljc1N1YnJlc291
cmNlVW5kZXJUb3BGcmFtZU9yaWdpbihET01TdHJpbmcgaG9zdE5hbWUsIERPTVN0cmluZyB0b3BG
cmFtZUhvc3ROYW1lKTsKKyAgICB2b2lkIHNldFN0YXRpc3RpY3NTdWJyZXNvdXJjZVVuaXF1ZVJl
ZGlyZWN0VG8oRE9NU3RyaW5nIGhvc3ROYW1lLCBET01TdHJpbmcgaG9zdE5hbWVSZWRpcmVjdGVk
VG8pOwogICAgIHZvaWQgc2V0U3RhdGlzdGljc1RpbWVUb0xpdmVVc2VySW50ZXJhY3Rpb24oZG91
YmxlIHNlY29uZHMpOwogICAgIHZvaWQgc3RhdGlzdGljc0ZpcmVEYXRhTW9kaWZpY2F0aW9uSGFu
ZGxlcigpOwogICAgIHZvaWQgc2V0U3RhdGlzdGljc05vdGlmeVBhZ2VzV2hlbkRhdGFSZWNvcmRz
V2VyZVNjYW5uZWQoYm9vbGVhbiB2YWx1ZSk7CkluZGV4OiBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCShyZXZpc2lvbiAyMTI0MzkpCisr
KyBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwzMCBAQAor
MjAxNy0wMi0xNiAgSm9obiBXaWxhbmRlciAgPHdpbGFuZGVyQGFwcGxlLmNvbT4KKworICAgICAg
ICBSZXNvdXJjZSBMb2FkIFN0YXRpc3RpY3M6IEFkZCBhbHRlcm5hdGUgY2xhc3NpZmljYXRpb24g
bWV0aG9kCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
NjgzNDcKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzMwMzUyNzkzPgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogaHR0cC90ZXN0cy9sb2FkaW5nL3Jl
c291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtbm9uLXByZXZhbGVudC1iYXNlZC1vbi1t
aXhlZC1zdGF0aXN0aWNzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0
cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtbm9uLXByZXZhbGVu
dC1iYXNlZC1vbi1taXhlZC1zdGF0aXN0aWNzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGh0dHAv
dGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLW5vbi1wcmV2
YWxlbnQtYmFzZWQtb24tc3ViLWZyYW1lLXVuZGVyLXRvcC1mcmFtZS1vcmlnaW5zLWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0
YXRpc3RpY3MvY2xhc3NpZnktYXMtbm9uLXByZXZhbGVudC1iYXNlZC1vbi1zdWItZnJhbWUtdW5k
ZXItdG9wLWZyYW1lLW9yaWdpbnMuaHRtbDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9s
b2FkaW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtbm9uLXByZXZhbGVudC1i
YXNlZC1vbi1zdWJyZXNvdXJjZS11bmRlci10b3AtZnJhbWUtb3JpZ2lucy1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0
aWNzL2NsYXNzaWZ5LWFzLW5vbi1wcmV2YWxlbnQtYmFzZWQtb24tc3VicmVzb3VyY2UtdW5kZXIt
dG9wLWZyYW1lLW9yaWdpbnMuaHRtbDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9sb2Fk
aW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtbm9uLXByZXZhbGVudC1iYXNl
ZC1vbi1zdWJyZXNvdXJjZS11bmlxdWUtcmVkaXJlY3RzLXRvLWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogaHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xh
c3NpZnktYXMtbm9uLXByZXZhbGVudC1iYXNlZC1vbi1zdWJyZXNvdXJjZS11bmlxdWUtcmVkaXJl
Y3RzLXRvLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLXByZXZhbGVudC1iYXNlZC1vbi1taXhlZC1zdGF0
aXN0aWNzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9sb2FkaW5n
L3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtcHJldmFsZW50LWJhc2VkLW9uLW1p
eGVkLXN0YXRpc3RpY3MuaHRtbDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9sb2FkaW5n
L3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtcHJldmFsZW50LWJhc2VkLW9uLXN1
Yi1mcmFtZS11bmRlci10b3AtZnJhbWUtb3JpZ2lucy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGh0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5
LWFzLXByZXZhbGVudC1iYXNlZC1vbi1zdWItZnJhbWUtdW5kZXItdG9wLWZyYW1lLW9yaWdpbnMu
aHRtbDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0
YXRpc3RpY3MvY2xhc3NpZnktYXMtcHJldmFsZW50LWJhc2VkLW9uLXN1YnJlc291cmNlLXVuZGVy
LXRvcC1mcmFtZS1vcmlnaW5zLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaHR0cC90
ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtcHJldmFsZW50
LWJhc2VkLW9uLXN1YnJlc291cmNlLXVuZGVyLXRvcC1mcmFtZS1vcmlnaW5zLmh0bWw6IEFkZGVk
LgorICAgICAgICAqIGh0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2Ns
YXNzaWZ5LWFzLXByZXZhbGVudC1iYXNlZC1vbi1zdWJyZXNvdXJjZS11bmlxdWUtcmVkaXJlY3Rz
LXRvLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9sb2FkaW5nL3Jl
c291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtcHJldmFsZW50LWJhc2VkLW9uLXN1YnJl
c291cmNlLXVuaXF1ZS1yZWRpcmVjdHMtdG8uaHRtbDogQWRkZWQuCisgICAgICAgICogcGxhdGZv
cm0vd2syL1Rlc3RFeHBlY3RhdGlvbnM6CisgICAgICAgICAgICBUaGUgYWJvdmUgdGVzdHMgYXJl
IG9ubHkgdmFsaWQgZm9yIFdlYktpdDIuIE1hcmtlZCBhcyBbIFBhc3MgXS4KKwogMjAxNy0wMi0x
NiAgWXVzdWtlIFN1enVraSAgPHV0YXRhbmUudGVhQGdtYWlsLmNvbT4KIAogICAgICAgICBXZWIg
SW5zcGVjdG9yOiBhbGxvdyBpbXBvcnQoKSBpbnNpZGUgdGhlIGluc3BlY3RvcgpJbmRleDogTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3Np
ZnktYXMtbm9uLXByZXZhbGVudC1iYXNlZC1vbi1taXhlZC1zdGF0aXN0aWNzLWV4cGVjdGVkLnR4
dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VM
b2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1ub24tcHJldmFsZW50LWJhc2VkLW9uLW1peGVkLXN0
YXRpc3RpY3MtZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2h0dHAv
dGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLW5vbi1wcmV2
YWxlbnQtYmFzZWQtb24tbWl4ZWQtc3RhdGlzdGljcy1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29w
eSkKQEAgLTAsMCArMSw4IEBACittYWluIGZyYW1lIC0gZGlkU3RhcnRQcm92aXNpb25hbExvYWRG
b3JGcmFtZQorbWFpbiBmcmFtZSAtIGRpZENvbW1pdExvYWRGb3JGcmFtZQorbWFpbiBmcmFtZSAt
IGRpZFJlY2VpdmVUaXRsZTogVGVzdHMgZm9yIENsYXNzaWZpY2F0aW9uIEJhc2VkIG9uIE1peGVk
IFN0YXRpc3RpY3MKK21haW4gZnJhbWUgLSBkaWRGaW5pc2hEb2N1bWVudExvYWRGb3JGcmFtZQor
bWFpbiBmcmFtZSAtIGRpZEhhbmRsZU9ubG9hZEV2ZW50c0ZvckZyYW1lCittYWluIGZyYW1lIC0g
ZGlkRmluaXNoTG9hZEZvckZyYW1lCitQQVNTIEhvc3QgZGlkIG5vdCBnZXQgY2xhc3NpZmllZCBh
cyBwcmV2YWxlbnQgcmVzb3VyY2UuCisKSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvbG9h
ZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLW5vbi1wcmV2YWxlbnQtYmFz
ZWQtb24tbWl4ZWQtc3RhdGlzdGljcy5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0
dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLW5vbi1w
cmV2YWxlbnQtYmFzZWQtb24tbWl4ZWQtc3RhdGlzdGljcy5odG1sCShub25leGlzdGVudCkKKysr
IExheW91dFRlc3RzL2h0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2Ns
YXNzaWZ5LWFzLW5vbi1wcmV2YWxlbnQtYmFzZWQtb24tbWl4ZWQtc3RhdGlzdGljcy5odG1sCSh3
b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNDIgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWwgbGFu
Zz0iZW4iPgorPGhlYWQ+CisgICAgPG1ldGEgY2hhcnNldD0iVVRGLTgiPgorICAgIDx0aXRsZT5U
ZXN0cyBmb3IgQ2xhc3NpZmljYXRpb24gQmFzZWQgb24gTWl4ZWQgU3RhdGlzdGljczwvdGl0bGU+
CisgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3Jp
cHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQ+CisgICAgY29uc3QgaG9zdFVuZGVyVGVzdCA9
ICIxMjcuMC4wLjE6ODAwMCI7CisgICAgY29uc3Qgc3RhdGlzdGljc1VybCA9ICJodHRwOi8vIiAr
IGhvc3RVbmRlclRlc3QgKyAiL3RlbXAiOworICAgIGNvbnN0IHRvcEZyYW1lT3JpZ2luMSA9ICJo
dHRwOi8vMTI3LjAuMC4yOjgwMDAvdGVtcCI7CisgICAgY29uc3QgdG9wRnJhbWVPcmlnaW4yID0g
Imh0dHA6Ly8xMjcuMC4wLjM6ODAwMC90ZW1wIjsKKyAgICBjb25zdCB0b3BGcmFtZU9yaWdpbjMg
PSAiaHR0cDovLzEyNy4wLjAuNDo4MDAwL3RlbXAiOworICAgIGZ1bmN0aW9uIHJ1blRlc3RSdW5u
ZXJUZXN0KCkgeworICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NQcmV2YWxlbnRSZXNv
dXJjZShzdGF0aXN0aWNzVXJsLCBmYWxzZSk7CisgICAgICAgIGlmICh0ZXN0UnVubmVyLmlzU3Rh
dGlzdGljc1ByZXZhbGVudFJlc291cmNlKHN0YXRpc3RpY3NVcmwpKQorICAgICAgICAgICAgdGVz
dEZhaWxlZCgiSG9zdCBkaWQgbm90IGdldCBzZXQgYXMgbm9uLXByZXZhbGVudCByZXNvdXJjZS4i
KTsKKworICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NTdWJmcmFtZVVuZGVyVG9wRnJh
bWVPcmlnaW4oc3RhdGlzdGljc1VybCwgdG9wRnJhbWVPcmlnaW4xKTsKKyAgICAgICAgdGVzdFJ1
bm5lci5zZXRTdGF0aXN0aWNzU3VicmVzb3VyY2VVbmRlclRvcEZyYW1lT3JpZ2luKHN0YXRpc3Rp
Y3NVcmwsIHRvcEZyYW1lT3JpZ2luMik7CisgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGlj
c1N1YnJlc291cmNlVW5pcXVlUmVkaXJlY3RUbyhzdGF0aXN0aWNzVXJsLCB0b3BGcmFtZU9yaWdp
bjMpOworCisgICAgICAgIHRlc3RSdW5uZXIuc3RhdGlzdGljc0ZpcmVEYXRhTW9kaWZpY2F0aW9u
SGFuZGxlcigpOworCisgICAgICAgIGlmICh0ZXN0UnVubmVyLmlzU3RhdGlzdGljc1ByZXZhbGVu
dFJlc291cmNlKHN0YXRpc3RpY3NVcmwpKQorICAgICAgICAgICAgdGVzdEZhaWxlZCgiSG9zdCBj
bGFzc2lmaWVkIGFzIHByZXZhbGVudCByZXNvdXJjZS4iKTsKKyAgICAgICAgZWxzZQorICAgICAg
ICAgICAgdGVzdFBhc3NlZCgiSG9zdCBkaWQgbm90IGdldCBjbGFzc2lmaWVkIGFzIHByZXZhbGVu
dCByZXNvdXJjZS4iKTsKKworICAgICAgICB0ZXN0UnVubmVyLnN0YXRpc3RpY3NSZXNldFRvQ29u
c2lzdGVudFN0YXRlKCk7CisgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOworICAgIH0K
KworICAgIGlmIChkb2N1bWVudC5sb2NhdGlvbi5ob3N0ID09PSBob3N0VW5kZXJUZXN0ICYmIHdp
bmRvdy50ZXN0UnVubmVyICYmIHdpbmRvdy5pbnRlcm5hbHMpIHsKKyAgICAgICAgdGVzdFJ1bm5l
ci53YWl0VW50aWxEb25lKCk7CisgICAgICAgIGludGVybmFscy5zZXRSZXNvdXJjZUxvYWRTdGF0
aXN0aWNzRW5hYmxlZCh0cnVlKTsKKyAgICAgICAgcnVuVGVzdFJ1bm5lclRlc3QoKTsKKyAgICB9
Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlz
dGljcy9jbGFzc2lmeS1hcy1ub24tcHJldmFsZW50LWJhc2VkLW9uLXN1Yi1mcmFtZS11bmRlci10
b3AtZnJhbWUtb3JpZ2lucy1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtbm9u
LXByZXZhbGVudC1iYXNlZC1vbi1zdWItZnJhbWUtdW5kZXItdG9wLWZyYW1lLW9yaWdpbnMtZXhw
ZWN0ZWQudHh0CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvbG9hZGlu
Zy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLW5vbi1wcmV2YWxlbnQtYmFzZWQt
b24tc3ViLWZyYW1lLXVuZGVyLXRvcC1mcmFtZS1vcmlnaW5zLWV4cGVjdGVkLnR4dAkod29ya2lu
ZyBjb3B5KQpAQCAtMCwwICsxLDggQEAKK21haW4gZnJhbWUgLSBkaWRTdGFydFByb3Zpc2lvbmFs
TG9hZEZvckZyYW1lCittYWluIGZyYW1lIC0gZGlkQ29tbWl0TG9hZEZvckZyYW1lCittYWluIGZy
YW1lIC0gZGlkUmVjZWl2ZVRpdGxlOiBUZXN0cyBmb3IgQ2xhc3NpZmljYXRpb24gQmFzZWQgb24g
U3ViIEZyYW1lIFVuZGVyIFRvcCBGcmFtZSBPcmlnaW5zCittYWluIGZyYW1lIC0gZGlkRmluaXNo
RG9jdW1lbnRMb2FkRm9yRnJhbWUKK21haW4gZnJhbWUgLSBkaWRIYW5kbGVPbmxvYWRFdmVudHNG
b3JGcmFtZQorbWFpbiBmcmFtZSAtIGRpZEZpbmlzaExvYWRGb3JGcmFtZQorUEFTUyBIb3N0IGRp
ZCBub3QgZ2V0IGNsYXNzaWZpZWQgYXMgcHJldmFsZW50IHJlc291cmNlLgorCkluZGV4OiBMYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lm
eS1hcy1ub24tcHJldmFsZW50LWJhc2VkLW9uLXN1Yi1mcmFtZS11bmRlci10b3AtZnJhbWUtb3Jp
Z2lucy5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvbG9hZGluZy9y
ZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLW5vbi1wcmV2YWxlbnQtYmFzZWQtb24t
c3ViLWZyYW1lLXVuZGVyLXRvcC1mcmFtZS1vcmlnaW5zLmh0bWwJKG5vbmV4aXN0ZW50KQorKysg
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xh
c3NpZnktYXMtbm9uLXByZXZhbGVudC1iYXNlZC1vbi1zdWItZnJhbWUtdW5kZXItdG9wLWZyYW1l
LW9yaWdpbnMuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDQyIEBACis8IURPQ1RZUEUg
aHRtbD4KKzxodG1sIGxhbmc9ImVuIj4KKzxoZWFkPgorICAgIDxtZXRhIGNoYXJzZXQ9IlVURi04
Ij4KKyAgICA8dGl0bGU+VGVzdHMgZm9yIENsYXNzaWZpY2F0aW9uIEJhc2VkIG9uIFN1YiBGcmFt
ZSBVbmRlciBUb3AgRnJhbWUgT3JpZ2luczwvdGl0bGU+CisgICAgPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxz
Y3JpcHQ+CisgICAgY29uc3QgaG9zdFVuZGVyVGVzdCA9ICIxMjcuMC4wLjE6ODAwMCI7CisgICAg
Y29uc3Qgc3RhdGlzdGljc1VybCA9ICJodHRwOi8vIiArIGhvc3RVbmRlclRlc3QgKyAiL3RlbXAi
OworICAgIGNvbnN0IHRvcEZyYW1lT3JpZ2luMSA9ICJodHRwOi8vMTI3LjAuMC4yOjgwMDAvdGVt
cCI7CisgICAgY29uc3QgdG9wRnJhbWVPcmlnaW4yID0gImh0dHA6Ly8xMjcuMC4wLjM6ODAwMC90
ZW1wIjsKKyAgICBjb25zdCB0b3BGcmFtZU9yaWdpbjMgPSAiaHR0cDovLzEyNy4wLjAuNDo4MDAw
L3RlbXAiOworICAgIGZ1bmN0aW9uIHJ1blRlc3RSdW5uZXJUZXN0KCkgeworICAgICAgICB0ZXN0
UnVubmVyLnNldFN0YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJjZShzdGF0aXN0aWNzVXJsLCBmYWxz
ZSk7CisgICAgICAgIGlmICh0ZXN0UnVubmVyLmlzU3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNl
KHN0YXRpc3RpY3NVcmwpKQorICAgICAgICAgICAgdGVzdEZhaWxlZCgiSG9zdCBkaWQgbm90IGdl
dCBzZXQgYXMgbm9uLXByZXZhbGVudCByZXNvdXJjZS4iKTsKKworICAgICAgICB0ZXN0UnVubmVy
LnNldFN0YXRpc3RpY3NTdWJmcmFtZVVuZGVyVG9wRnJhbWVPcmlnaW4oc3RhdGlzdGljc1VybCwg
dG9wRnJhbWVPcmlnaW4xKTsKKyAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzU3ViZnJh
bWVVbmRlclRvcEZyYW1lT3JpZ2luKHN0YXRpc3RpY3NVcmwsIHRvcEZyYW1lT3JpZ2luMik7Cisg
ICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1N1YmZyYW1lVW5kZXJUb3BGcmFtZU9yaWdp
bihzdGF0aXN0aWNzVXJsLCB0b3BGcmFtZU9yaWdpbjMpOworCisgICAgICAgIHRlc3RSdW5uZXIu
c3RhdGlzdGljc0ZpcmVEYXRhTW9kaWZpY2F0aW9uSGFuZGxlcigpOworCisgICAgICAgIGlmICh0
ZXN0UnVubmVyLmlzU3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNlKHN0YXRpc3RpY3NVcmwpKQor
ICAgICAgICAgICAgdGVzdEZhaWxlZCgiSG9zdCBjbGFzc2lmaWVkIGFzIHByZXZhbGVudCByZXNv
dXJjZS4iKTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgdGVzdFBhc3NlZCgiSG9zdCBkaWQg
bm90IGdldCBjbGFzc2lmaWVkIGFzIHByZXZhbGVudCByZXNvdXJjZS4iKTsKKworICAgICAgICB0
ZXN0UnVubmVyLnN0YXRpc3RpY3NSZXNldFRvQ29uc2lzdGVudFN0YXRlKCk7CisgICAgICAgIHRl
c3RSdW5uZXIubm90aWZ5RG9uZSgpOworICAgIH0KKworICAgIGlmIChkb2N1bWVudC5sb2NhdGlv
bi5ob3N0ID09PSBob3N0VW5kZXJUZXN0ICYmIHdpbmRvdy50ZXN0UnVubmVyICYmIHdpbmRvdy5p
bnRlcm5hbHMpIHsKKyAgICAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7CisgICAgICAg
IGludGVybmFscy5zZXRSZXNvdXJjZUxvYWRTdGF0aXN0aWNzRW5hYmxlZCh0cnVlKTsKKyAgICAg
ICAgcnVuVGVzdFJ1bm5lclRlc3QoKTsKKyAgICB9Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1ub24tcHJldmFs
ZW50LWJhc2VkLW9uLXN1YnJlc291cmNlLXVuZGVyLXRvcC1mcmFtZS1vcmlnaW5zLWV4cGVjdGVk
LnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3Vy
Y2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1ub24tcHJldmFsZW50LWJhc2VkLW9uLXN1YnJl
c291cmNlLXVuZGVyLXRvcC1mcmFtZS1vcmlnaW5zLWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQp
CisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGlj
cy9jbGFzc2lmeS1hcy1ub24tcHJldmFsZW50LWJhc2VkLW9uLXN1YnJlc291cmNlLXVuZGVyLXRv
cC1mcmFtZS1vcmlnaW5zLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDgg
QEAKK21haW4gZnJhbWUgLSBkaWRTdGFydFByb3Zpc2lvbmFsTG9hZEZvckZyYW1lCittYWluIGZy
YW1lIC0gZGlkQ29tbWl0TG9hZEZvckZyYW1lCittYWluIGZyYW1lIC0gZGlkUmVjZWl2ZVRpdGxl
OiBUZXN0cyBmb3IgQ2xhc3NpZmljYXRpb24gQmFzZWQgb24gU3VicmVzb3VyY2UgVW5kZXIgVG9w
IEZyYW1lIE9yaWdpbnMKK21haW4gZnJhbWUgLSBkaWRGaW5pc2hEb2N1bWVudExvYWRGb3JGcmFt
ZQorbWFpbiBmcmFtZSAtIGRpZEhhbmRsZU9ubG9hZEV2ZW50c0ZvckZyYW1lCittYWluIGZyYW1l
IC0gZGlkRmluaXNoTG9hZEZvckZyYW1lCitQQVNTIEhvc3QgZGlkIG5vdCBnZXQgY2xhc3NpZmll
ZCBhcyBwcmV2YWxlbnQgcmVzb3VyY2UuCisKSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMv
bG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLW5vbi1wcmV2YWxlbnQt
YmFzZWQtb24tc3VicmVzb3VyY2UtdW5kZXItdG9wLWZyYW1lLW9yaWdpbnMuaHRtbAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlz
dGljcy9jbGFzc2lmeS1hcy1ub24tcHJldmFsZW50LWJhc2VkLW9uLXN1YnJlc291cmNlLXVuZGVy
LXRvcC1mcmFtZS1vcmlnaW5zLmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtbm9uLXBy
ZXZhbGVudC1iYXNlZC1vbi1zdWJyZXNvdXJjZS11bmRlci10b3AtZnJhbWUtb3JpZ2lucy5odG1s
CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNDAgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWwg
bGFuZz0iZW4iPgorPGhlYWQ+CisgICAgPG1ldGEgY2hhcnNldD0iVVRGLTgiPgorICAgIDx0aXRs
ZT5UZXN0cyBmb3IgQ2xhc3NpZmljYXRpb24gQmFzZWQgb24gU3VicmVzb3VyY2UgVW5kZXIgVG9w
IEZyYW1lIE9yaWdpbnM8L3RpdGxlPgorICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0PgorICAg
IGNvbnN0IGhvc3RVbmRlclRlc3QgPSAiMTI3LjAuMC4xOjgwMDAiOworICAgIGNvbnN0IHN0YXRp
c3RpY3NVcmwgPSAiaHR0cDovLyIgKyBob3N0VW5kZXJUZXN0ICsgIi90ZW1wIjsKKyAgICBjb25z
dCB0b3BGcmFtZU9yaWdpbjEgPSAiaHR0cDovLzEyNy4wLjAuMjo4MDAwL3RlbXAiOworICAgIGNv
bnN0IHRvcEZyYW1lT3JpZ2luMiA9ICJodHRwOi8vMTI3LjAuMC4zOjgwMDAvdGVtcCI7CisgICAg
ZnVuY3Rpb24gcnVuVGVzdFJ1bm5lclRlc3QoKSB7CisgICAgICAgIHRlc3RSdW5uZXIuc2V0U3Rh
dGlzdGljc1ByZXZhbGVudFJlc291cmNlKHN0YXRpc3RpY3NVcmwsIGZhbHNlKTsKKyAgICAgICAg
aWYgKHRlc3RSdW5uZXIuaXNTdGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2Uoc3RhdGlzdGljc1Vy
bCkpCisgICAgICAgICAgICB0ZXN0RmFpbGVkKCJIb3N0IGRpZCBub3QgZ2V0IHNldCBhcyBub24t
cHJldmFsZW50IHJlc291cmNlLiIpOworCisgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGlj
c1N1YnJlc291cmNlVW5kZXJUb3BGcmFtZU9yaWdpbihzdGF0aXN0aWNzVXJsLCB0b3BGcmFtZU9y
aWdpbjEpOworICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NTdWJyZXNvdXJjZVVuZGVy
VG9wRnJhbWVPcmlnaW4oc3RhdGlzdGljc1VybCwgdG9wRnJhbWVPcmlnaW4yKTsKKworICAgICAg
ICB0ZXN0UnVubmVyLnN0YXRpc3RpY3NGaXJlRGF0YU1vZGlmaWNhdGlvbkhhbmRsZXIoKTsKKwor
ICAgICAgICBpZiAodGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJjZShzdGF0
aXN0aWNzVXJsKSkKKyAgICAgICAgICAgIHRlc3RGYWlsZWQoIkhvc3QgY2xhc3NpZmllZCBhcyBw
cmV2YWxlbnQgcmVzb3VyY2UuIik7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIHRlc3RQYXNz
ZWQoIkhvc3QgZGlkIG5vdCBnZXQgY2xhc3NpZmllZCBhcyBwcmV2YWxlbnQgcmVzb3VyY2UuIik7
CisKKyAgICAgICAgdGVzdFJ1bm5lci5zdGF0aXN0aWNzUmVzZXRUb0NvbnNpc3RlbnRTdGF0ZSgp
OworICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKKyAgICB9CisKKyAgICBpZiAoZG9j
dW1lbnQubG9jYXRpb24uaG9zdCA9PT0gaG9zdFVuZGVyVGVzdCAmJiB3aW5kb3cudGVzdFJ1bm5l
ciAmJiB3aW5kb3cuaW50ZXJuYWxzKSB7CisgICAgICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9u
ZSgpOworICAgICAgICBpbnRlcm5hbHMuc2V0UmVzb3VyY2VMb2FkU3RhdGlzdGljc0VuYWJsZWQo
dHJ1ZSk7CisgICAgICAgIHJ1blRlc3RSdW5uZXJUZXN0KCk7CisgICAgfQorPC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpJbmRleDogTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnkt
YXMtbm9uLXByZXZhbGVudC1iYXNlZC1vbi1zdWJyZXNvdXJjZS11bmlxdWUtcmVkaXJlY3RzLXRv
LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2xvYWRp
bmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1ub24tcHJldmFsZW50LWJhc2Vk
LW9uLXN1YnJlc291cmNlLXVuaXF1ZS1yZWRpcmVjdHMtdG8tZXhwZWN0ZWQudHh0CShub25leGlz
dGVudCkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0
aXN0aWNzL2NsYXNzaWZ5LWFzLW5vbi1wcmV2YWxlbnQtYmFzZWQtb24tc3VicmVzb3VyY2UtdW5p
cXVlLXJlZGlyZWN0cy10by1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw4
IEBACittYWluIGZyYW1lIC0gZGlkU3RhcnRQcm92aXNpb25hbExvYWRGb3JGcmFtZQorbWFpbiBm
cmFtZSAtIGRpZENvbW1pdExvYWRGb3JGcmFtZQorbWFpbiBmcmFtZSAtIGRpZFJlY2VpdmVUaXRs
ZTogVGVzdHMgZm9yIENsYXNzaWZpY2F0aW9uIEJhc2VkIG9uIFN1YnJlc291cmNlIFVuaXF1ZSBS
ZWRpcmVjdHMgVG8KK21haW4gZnJhbWUgLSBkaWRGaW5pc2hEb2N1bWVudExvYWRGb3JGcmFtZQor
bWFpbiBmcmFtZSAtIGRpZEhhbmRsZU9ubG9hZEV2ZW50c0ZvckZyYW1lCittYWluIGZyYW1lIC0g
ZGlkRmluaXNoTG9hZEZvckZyYW1lCitQQVNTIEhvc3QgZGlkIG5vdCBnZXQgY2xhc3NpZmllZCBh
cyBwcmV2YWxlbnQgcmVzb3VyY2UuCisKSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvbG9h
ZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLW5vbi1wcmV2YWxlbnQtYmFz
ZWQtb24tc3VicmVzb3VyY2UtdW5pcXVlLXJlZGlyZWN0cy10by5odG1sCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL2h0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2Ns
YXNzaWZ5LWFzLW5vbi1wcmV2YWxlbnQtYmFzZWQtb24tc3VicmVzb3VyY2UtdW5pcXVlLXJlZGly
ZWN0cy10by5odG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvbG9h
ZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLW5vbi1wcmV2YWxlbnQtYmFz
ZWQtb24tc3VicmVzb3VyY2UtdW5pcXVlLXJlZGlyZWN0cy10by5odG1sCSh3b3JraW5nIGNvcHkp
CkBAIC0wLDAgKzEsNDAgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWwgbGFuZz0iZW4iPgorPGhl
YWQ+CisgICAgPG1ldGEgY2hhcnNldD0iVVRGLTgiPgorICAgIDx0aXRsZT5UZXN0cyBmb3IgQ2xh
c3NpZmljYXRpb24gQmFzZWQgb24gU3VicmVzb3VyY2UgVW5pcXVlIFJlZGlyZWN0cyBUbzwvdGl0
bGU+CisgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9z
Y3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQ+CisgICAgY29uc3QgaG9zdFVuZGVyVGVz
dCA9ICIxMjcuMC4wLjE6ODAwMCI7CisgICAgY29uc3Qgc3RhdGlzdGljc1VybCA9ICJodHRwOi8v
IiArIGhvc3RVbmRlclRlc3QgKyAiL3RlbXAiOworICAgIGNvbnN0IHRvcEZyYW1lT3JpZ2luMSA9
ICJodHRwOi8vMTI3LjAuMC4yOjgwMDAvdGVtcCI7CisgICAgY29uc3QgdG9wRnJhbWVPcmlnaW4y
ID0gImh0dHA6Ly8xMjcuMC4wLjM6ODAwMC90ZW1wIjsKKyAgICBmdW5jdGlvbiBydW5UZXN0UnVu
bmVyVGVzdCgpIHsKKyAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzUHJldmFsZW50UmVz
b3VyY2Uoc3RhdGlzdGljc1VybCwgZmFsc2UpOworICAgICAgICBpZiAodGVzdFJ1bm5lci5pc1N0
YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJjZShzdGF0aXN0aWNzVXJsKSkKKyAgICAgICAgICAgIHRl
c3RGYWlsZWQoIkhvc3QgZGlkIG5vdCBnZXQgc2V0IGFzIG5vbi1wcmV2YWxlbnQgcmVzb3VyY2Uu
Iik7CisKKyAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzU3VicmVzb3VyY2VVbmlxdWVS
ZWRpcmVjdFRvKHN0YXRpc3RpY3NVcmwsIHRvcEZyYW1lT3JpZ2luMSk7CisgICAgICAgIHRlc3RS
dW5uZXIuc2V0U3RhdGlzdGljc1N1YnJlc291cmNlVW5pcXVlUmVkaXJlY3RUbyhzdGF0aXN0aWNz
VXJsLCB0b3BGcmFtZU9yaWdpbjIpOworCisgICAgICAgIHRlc3RSdW5uZXIuc3RhdGlzdGljc0Zp
cmVEYXRhTW9kaWZpY2F0aW9uSGFuZGxlcigpOworCisgICAgICAgIGlmICh0ZXN0UnVubmVyLmlz
U3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNlKHN0YXRpc3RpY3NVcmwpKQorICAgICAgICAgICAg
dGVzdEZhaWxlZCgiSG9zdCBjbGFzc2lmaWVkIGFzIHByZXZhbGVudCByZXNvdXJjZS4iKTsKKyAg
ICAgICAgZWxzZQorICAgICAgICAgICAgdGVzdFBhc3NlZCgiSG9zdCBkaWQgbm90IGdldCBjbGFz
c2lmaWVkIGFzIHByZXZhbGVudCByZXNvdXJjZS4iKTsKKworICAgICAgICB0ZXN0UnVubmVyLnN0
YXRpc3RpY3NSZXNldFRvQ29uc2lzdGVudFN0YXRlKCk7CisgICAgICAgIHRlc3RSdW5uZXIubm90
aWZ5RG9uZSgpOworICAgIH0KKworICAgIGlmIChkb2N1bWVudC5sb2NhdGlvbi5ob3N0ID09PSBo
b3N0VW5kZXJUZXN0ICYmIHdpbmRvdy50ZXN0UnVubmVyICYmIHdpbmRvdy5pbnRlcm5hbHMpIHsK
KyAgICAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7CisgICAgICAgIGludGVybmFscy5z
ZXRSZXNvdXJjZUxvYWRTdGF0aXN0aWNzRW5hYmxlZCh0cnVlKTsKKyAgICAgICAgcnVuVGVzdFJ1
bm5lclRlc3QoKTsKKyAgICB9Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBmaWxlCkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2xvYWRpbmcv
cmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1wcmV2YWxlbnQtYmFzZWQtb24tbWl4
ZWQtc3RhdGlzdGljcy1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtcHJldmFs
ZW50LWJhc2VkLW9uLW1peGVkLXN0YXRpc3RpY3MtZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkK
KysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNz
L2NsYXNzaWZ5LWFzLXByZXZhbGVudC1iYXNlZC1vbi1taXhlZC1zdGF0aXN0aWNzLWV4cGVjdGVk
LnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDggQEAKK21haW4gZnJhbWUgLSBkaWRTdGFy
dFByb3Zpc2lvbmFsTG9hZEZvckZyYW1lCittYWluIGZyYW1lIC0gZGlkQ29tbWl0TG9hZEZvckZy
YW1lCittYWluIGZyYW1lIC0gZGlkUmVjZWl2ZVRpdGxlOiBUZXN0cyBmb3IgQ2xhc3NpZmljYXRp
b24gQmFzZWQgb24gTWl4ZWQgU3RhdGlzdGljcworbWFpbiBmcmFtZSAtIGRpZEZpbmlzaERvY3Vt
ZW50TG9hZEZvckZyYW1lCittYWluIGZyYW1lIC0gZGlkSGFuZGxlT25sb2FkRXZlbnRzRm9yRnJh
bWUKK21haW4gZnJhbWUgLSBkaWRGaW5pc2hMb2FkRm9yRnJhbWUKK1BBU1MgSG9zdCBjbGFzc2lm
aWVkIGFzIHByZXZhbGVudCByZXNvdXJjZS4KKwpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtcHJldmFsZW50LWJh
c2VkLW9uLW1peGVkLXN0YXRpc3RpY3MuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1wcmV2
YWxlbnQtYmFzZWQtb24tbWl4ZWQtc3RhdGlzdGljcy5odG1sCShub25leGlzdGVudCkKKysrIExh
eW91dFRlc3RzL2h0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNz
aWZ5LWFzLXByZXZhbGVudC1iYXNlZC1vbi1taXhlZC1zdGF0aXN0aWNzLmh0bWwJKHdvcmtpbmcg
Y29weSkKQEAgLTAsMCArMSw0OSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbCBsYW5nPSJlbiI+
Cis8aGVhZD4KKyAgICA8bWV0YSBjaGFyc2V0PSJVVEYtOCI+CisgICAgPHRpdGxlPlRlc3RzIGZv
ciBDbGFzc2lmaWNhdGlvbiBCYXNlZCBvbiBNaXhlZCBTdGF0aXN0aWNzPC90aXRsZT4KKyAgICA8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHNjcmlwdD4KKyAgICBjb25zdCBob3N0VW5kZXJUZXN0ID0gIjEyNy4w
LjAuMTo4MDAwIjsKKyAgICBjb25zdCBzdGF0aXN0aWNzVXJsID0gImh0dHA6Ly8iICsgaG9zdFVu
ZGVyVGVzdCArICIvdGVtcCI7CisgICAgY29uc3QgdG9wRnJhbWVPcmlnaW4xID0gImh0dHA6Ly8x
MjcuMC4wLjI6ODAwMC90ZW1wIjsKKyAgICBjb25zdCB0b3BGcmFtZU9yaWdpbjIgPSAiaHR0cDov
LzEyNy4wLjAuMzo4MDAwL3RlbXAiOworICAgIGNvbnN0IHRvcEZyYW1lT3JpZ2luMyA9ICJodHRw
Oi8vMTI3LjAuMC40OjgwMDAvdGVtcCI7CisgICAgY29uc3QgdG9wRnJhbWVPcmlnaW40ID0gImh0
dHA6Ly8xMjcuMC4wLjU6ODAwMC90ZW1wIjsKKyAgICBmdW5jdGlvbiBydW5UZXN0UnVubmVyVGVz
dCgpIHsKKyAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2Uo
c3RhdGlzdGljc1VybCwgZmFsc2UpOworICAgICAgICBpZiAodGVzdFJ1bm5lci5pc1N0YXRpc3Rp
Y3NQcmV2YWxlbnRSZXNvdXJjZShzdGF0aXN0aWNzVXJsKSkKKyAgICAgICAgICAgIHRlc3RGYWls
ZWQoIkhvc3QgZGlkIG5vdCBnZXQgc2V0IGFzIG5vbi1wcmV2YWxlbnQgcmVzb3VyY2UuIik7CisK
KyAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzU3ViZnJhbWVVbmRlclRvcEZyYW1lT3Jp
Z2luKHN0YXRpc3RpY3NVcmwsIHRvcEZyYW1lT3JpZ2luMSk7CisgICAgICAgIHRlc3RSdW5uZXIu
c2V0U3RhdGlzdGljc1N1YmZyYW1lVW5kZXJUb3BGcmFtZU9yaWdpbihzdGF0aXN0aWNzVXJsLCB0
b3BGcmFtZU9yaWdpbjQpOworCisgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1N1YnJl
c291cmNlVW5kZXJUb3BGcmFtZU9yaWdpbihzdGF0aXN0aWNzVXJsLCB0b3BGcmFtZU9yaWdpbjIp
OworICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NTdWJyZXNvdXJjZVVuZGVyVG9wRnJh
bWVPcmlnaW4oc3RhdGlzdGljc1VybCwgdG9wRnJhbWVPcmlnaW4zKTsKKyAgICAgICAgdGVzdFJ1
bm5lci5zZXRTdGF0aXN0aWNzU3VicmVzb3VyY2VVbmRlclRvcEZyYW1lT3JpZ2luKHN0YXRpc3Rp
Y3NVcmwsIHRvcEZyYW1lT3JpZ2luNCk7CisKKyAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0
aWNzU3VicmVzb3VyY2VVbmlxdWVSZWRpcmVjdFRvKHN0YXRpc3RpY3NVcmwsIHRvcEZyYW1lT3Jp
Z2luMyk7CisgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1N1YnJlc291cmNlVW5pcXVl
UmVkaXJlY3RUbyhzdGF0aXN0aWNzVXJsLCB0b3BGcmFtZU9yaWdpbjEpOworCisgICAgICAgIHRl
c3RSdW5uZXIuc3RhdGlzdGljc0ZpcmVEYXRhTW9kaWZpY2F0aW9uSGFuZGxlcigpOworCisgICAg
ICAgIGlmICghdGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJjZShzdGF0aXN0
aWNzVXJsKSkKKyAgICAgICAgICAgIHRlc3RGYWlsZWQoIkhvc3QgZGlkIG5vdCBnZXQgY2xhc3Np
ZmllZCBhcyBwcmV2YWxlbnQgcmVzb3VyY2UuIik7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAg
IHRlc3RQYXNzZWQoIkhvc3QgY2xhc3NpZmllZCBhcyBwcmV2YWxlbnQgcmVzb3VyY2UuIik7CisK
KyAgICAgICAgdGVzdFJ1bm5lci5zdGF0aXN0aWNzUmVzZXRUb0NvbnNpc3RlbnRTdGF0ZSgpOwor
ICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKKyAgICB9CisKKyAgICBpZiAoZG9jdW1l
bnQubG9jYXRpb24uaG9zdCA9PT0gaG9zdFVuZGVyVGVzdCAmJiB3aW5kb3cudGVzdFJ1bm5lciAm
JiB3aW5kb3cuaW50ZXJuYWxzKSB7CisgICAgICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgp
OworICAgICAgICBpbnRlcm5hbHMuc2V0UmVzb3VyY2VMb2FkU3RhdGlzdGljc0VuYWJsZWQodHJ1
ZSk7CisgICAgICAgIHJ1blRlc3RSdW5uZXJUZXN0KCk7CisgICAgfQorPC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpJbmRleDogTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMt
cHJldmFsZW50LWJhc2VkLW9uLXN1Yi1mcmFtZS11bmRlci10b3AtZnJhbWUtb3JpZ2lucy1leHBl
Y3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9sb2FkaW5nL3Jl
c291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtcHJldmFsZW50LWJhc2VkLW9uLXN1Yi1m
cmFtZS11bmRlci10b3AtZnJhbWUtb3JpZ2lucy1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQor
KysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mv
Y2xhc3NpZnktYXMtcHJldmFsZW50LWJhc2VkLW9uLXN1Yi1mcmFtZS11bmRlci10b3AtZnJhbWUt
b3JpZ2lucy1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw4IEBACittYWlu
IGZyYW1lIC0gZGlkU3RhcnRQcm92aXNpb25hbExvYWRGb3JGcmFtZQorbWFpbiBmcmFtZSAtIGRp
ZENvbW1pdExvYWRGb3JGcmFtZQorbWFpbiBmcmFtZSAtIGRpZFJlY2VpdmVUaXRsZTogVGVzdHMg
Zm9yIENsYXNzaWZpY2F0aW9uIEJhc2VkIG9uIFN1YiBGcmFtZSBVbmRlciBUb3AgRnJhbWUgT3Jp
Z2lucworbWFpbiBmcmFtZSAtIGRpZEZpbmlzaERvY3VtZW50TG9hZEZvckZyYW1lCittYWluIGZy
YW1lIC0gZGlkSGFuZGxlT25sb2FkRXZlbnRzRm9yRnJhbWUKK21haW4gZnJhbWUgLSBkaWRGaW5p
c2hMb2FkRm9yRnJhbWUKK1BBU1MgSG9zdCBjbGFzc2lmaWVkIGFzIHByZXZhbGVudCByZXNvdXJj
ZS4KKwpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0
YXRpc3RpY3MvY2xhc3NpZnktYXMtcHJldmFsZW50LWJhc2VkLW9uLXN1Yi1mcmFtZS11bmRlci10
b3AtZnJhbWUtb3JpZ2lucy5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVz
dHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLXByZXZhbGVudC1i
YXNlZC1vbi1zdWItZnJhbWUtdW5kZXItdG9wLWZyYW1lLW9yaWdpbnMuaHRtbAkobm9uZXhpc3Rl
bnQpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlz
dGljcy9jbGFzc2lmeS1hcy1wcmV2YWxlbnQtYmFzZWQtb24tc3ViLWZyYW1lLXVuZGVyLXRvcC1m
cmFtZS1vcmlnaW5zLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw0NCBAQAorPCFET0NU
WVBFIGh0bWw+Cis8aHRtbCBsYW5nPSJlbiI+Cis8aGVhZD4KKyAgICA8bWV0YSBjaGFyc2V0PSJV
VEYtOCI+CisgICAgPHRpdGxlPlRlc3RzIGZvciBDbGFzc2lmaWNhdGlvbiBCYXNlZCBvbiBTdWIg
RnJhbWUgVW5kZXIgVG9wIEZyYW1lIE9yaWdpbnM8L3RpdGxlPgorICAgIDxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+
Cis8c2NyaXB0PgorICAgIGNvbnN0IGhvc3RVbmRlclRlc3QgPSAiMTI3LjAuMC4xOjgwMDAiOwor
ICAgIGNvbnN0IHN0YXRpc3RpY3NVcmwgPSAiaHR0cDovLyIgKyBob3N0VW5kZXJUZXN0ICsgIi90
ZW1wIjsKKyAgICBjb25zdCB0b3BGcmFtZU9yaWdpbjEgPSAiaHR0cDovLzEyNy4wLjAuMjo4MDAw
L3RlbXAiOworICAgIGNvbnN0IHRvcEZyYW1lT3JpZ2luMiA9ICJodHRwOi8vMTI3LjAuMC4zOjgw
MDAvdGVtcCI7CisgICAgY29uc3QgdG9wRnJhbWVPcmlnaW4zID0gImh0dHA6Ly8xMjcuMC4wLjQ6
ODAwMC90ZW1wIjsKKyAgICBjb25zdCB0b3BGcmFtZU9yaWdpbjQgPSAiaHR0cDovLzEyNy4wLjAu
NTo4MDAwL3RlbXAiOworICAgIGZ1bmN0aW9uIHJ1blRlc3RSdW5uZXJUZXN0KCkgeworICAgICAg
ICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJjZShzdGF0aXN0aWNzVXJs
LCBmYWxzZSk7CisgICAgICAgIGlmICh0ZXN0UnVubmVyLmlzU3RhdGlzdGljc1ByZXZhbGVudFJl
c291cmNlKHN0YXRpc3RpY3NVcmwpKQorICAgICAgICAgICAgdGVzdEZhaWxlZCgiSG9zdCBkaWQg
bm90IGdldCBzZXQgYXMgbm9uLXByZXZhbGVudCByZXNvdXJjZS4iKTsKKworICAgICAgICB0ZXN0
UnVubmVyLnNldFN0YXRpc3RpY3NTdWJmcmFtZVVuZGVyVG9wRnJhbWVPcmlnaW4oc3RhdGlzdGlj
c1VybCwgdG9wRnJhbWVPcmlnaW4xKTsKKyAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNz
U3ViZnJhbWVVbmRlclRvcEZyYW1lT3JpZ2luKHN0YXRpc3RpY3NVcmwsIHRvcEZyYW1lT3JpZ2lu
Mik7CisgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1N1YmZyYW1lVW5kZXJUb3BGcmFt
ZU9yaWdpbihzdGF0aXN0aWNzVXJsLCB0b3BGcmFtZU9yaWdpbjMpOworICAgICAgICB0ZXN0UnVu
bmVyLnNldFN0YXRpc3RpY3NTdWJmcmFtZVVuZGVyVG9wRnJhbWVPcmlnaW4oc3RhdGlzdGljc1Vy
bCwgdG9wRnJhbWVPcmlnaW40KTsKKworICAgICAgICB0ZXN0UnVubmVyLnN0YXRpc3RpY3NGaXJl
RGF0YU1vZGlmaWNhdGlvbkhhbmRsZXIoKTsKKworICAgICAgICBpZiAoIXRlc3RSdW5uZXIuaXNT
dGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2Uoc3RhdGlzdGljc1VybCkpCisgICAgICAgICAgICB0
ZXN0RmFpbGVkKCJIb3N0IGRpZCBub3QgZ2V0IGNsYXNzaWZpZWQgYXMgcHJldmFsZW50IHJlc291
cmNlLiIpOworICAgICAgICBlbHNlCisgICAgICAgICAgICB0ZXN0UGFzc2VkKCJIb3N0IGNsYXNz
aWZpZWQgYXMgcHJldmFsZW50IHJlc291cmNlLiIpOworCisgICAgICAgIHRlc3RSdW5uZXIuc3Rh
dGlzdGljc1Jlc2V0VG9Db25zaXN0ZW50U3RhdGUoKTsKKyAgICAgICAgdGVzdFJ1bm5lci5ub3Rp
ZnlEb25lKCk7CisgICAgfQorCisgICAgaWYgKGRvY3VtZW50LmxvY2F0aW9uLmhvc3QgPT09IGhv
c3RVbmRlclRlc3QgJiYgd2luZG93LnRlc3RSdW5uZXIgJiYgd2luZG93LmludGVybmFscykgewor
ICAgICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKKyAgICAgICAgaW50ZXJuYWxzLnNl
dFJlc291cmNlTG9hZFN0YXRpc3RpY3NFbmFibGVkKHRydWUpOworICAgICAgICBydW5UZXN0UnVu
bmVyVGVzdCgpOworICAgIH0KKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvbG9hZGluZy9y
ZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLXByZXZhbGVudC1iYXNlZC1vbi1zdWJy
ZXNvdXJjZS11bmRlci10b3AtZnJhbWUtb3JpZ2lucy1leHBlY3RlZC50eHQKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mv
Y2xhc3NpZnktYXMtcHJldmFsZW50LWJhc2VkLW9uLXN1YnJlc291cmNlLXVuZGVyLXRvcC1mcmFt
ZS1vcmlnaW5zLWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1wcmV2YWxl
bnQtYmFzZWQtb24tc3VicmVzb3VyY2UtdW5kZXItdG9wLWZyYW1lLW9yaWdpbnMtZXhwZWN0ZWQu
dHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsOCBAQAorbWFpbiBmcmFtZSAtIGRpZFN0YXJ0
UHJvdmlzaW9uYWxMb2FkRm9yRnJhbWUKK21haW4gZnJhbWUgLSBkaWRDb21taXRMb2FkRm9yRnJh
bWUKK21haW4gZnJhbWUgLSBkaWRSZWNlaXZlVGl0bGU6IFRlc3RzIGZvciBDbGFzc2lmaWNhdGlv
biBCYXNlZCBvbiBTdWJyZXNvdXJjZSBVbmRlciBUb3AgRnJhbWUgT3JpZ2lucworbWFpbiBmcmFt
ZSAtIGRpZEZpbmlzaERvY3VtZW50TG9hZEZvckZyYW1lCittYWluIGZyYW1lIC0gZGlkSGFuZGxl
T25sb2FkRXZlbnRzRm9yRnJhbWUKK21haW4gZnJhbWUgLSBkaWRGaW5pc2hMb2FkRm9yRnJhbWUK
K1BBU1MgSG9zdCBjbGFzc2lmaWVkIGFzIHByZXZhbGVudCByZXNvdXJjZS4KKwpJbmRleDogTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3Np
ZnktYXMtcHJldmFsZW50LWJhc2VkLW9uLXN1YnJlc291cmNlLXVuZGVyLXRvcC1mcmFtZS1vcmln
aW5zLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9sb2FkaW5nL3Jl
c291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtcHJldmFsZW50LWJhc2VkLW9uLXN1YnJl
c291cmNlLXVuZGVyLXRvcC1mcmFtZS1vcmlnaW5zLmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3Np
ZnktYXMtcHJldmFsZW50LWJhc2VkLW9uLXN1YnJlc291cmNlLXVuZGVyLXRvcC1mcmFtZS1vcmln
aW5zLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw0NCBAQAorPCFET0NUWVBFIGh0bWw+
Cis8aHRtbCBsYW5nPSJlbiI+Cis8aGVhZD4KKyAgICA8bWV0YSBjaGFyc2V0PSJVVEYtOCI+Cisg
ICAgPHRpdGxlPlRlc3RzIGZvciBDbGFzc2lmaWNhdGlvbiBCYXNlZCBvbiBTdWJyZXNvdXJjZSBV
bmRlciBUb3AgRnJhbWUgT3JpZ2luczwvdGl0bGU+CisgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3Jp
cHQ+CisgICAgY29uc3QgaG9zdFVuZGVyVGVzdCA9ICIxMjcuMC4wLjE6ODAwMCI7CisgICAgY29u
c3Qgc3RhdGlzdGljc1VybCA9ICJodHRwOi8vIiArIGhvc3RVbmRlclRlc3QgKyAiL3RlbXAiOwor
ICAgIGNvbnN0IHRvcEZyYW1lT3JpZ2luMSA9ICJodHRwOi8vMTI3LjAuMC4yOjgwMDAvdGVtcCI7
CisgICAgY29uc3QgdG9wRnJhbWVPcmlnaW4yID0gImh0dHA6Ly8xMjcuMC4wLjM6ODAwMC90ZW1w
IjsKKyAgICBjb25zdCB0b3BGcmFtZU9yaWdpbjMgPSAiaHR0cDovLzEyNy4wLjAuNDo4MDAwL3Rl
bXAiOworICAgIGNvbnN0IHRvcEZyYW1lT3JpZ2luNCA9ICJodHRwOi8vMTI3LjAuMC41OjgwMDAv
dGVtcCI7CisgICAgZnVuY3Rpb24gcnVuVGVzdFJ1bm5lclRlc3QoKSB7CisgICAgICAgIHRlc3RS
dW5uZXIuc2V0U3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNlKHN0YXRpc3RpY3NVcmwsIGZhbHNl
KTsKKyAgICAgICAgaWYgKHRlc3RSdW5uZXIuaXNTdGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2Uo
c3RhdGlzdGljc1VybCkpCisgICAgICAgICAgICB0ZXN0RmFpbGVkKCJIb3N0IGRpZCBub3QgZ2V0
IHNldCBhcyBub24tcHJldmFsZW50IHJlc291cmNlLiIpOworCisgICAgICAgIHRlc3RSdW5uZXIu
c2V0U3RhdGlzdGljc1N1YnJlc291cmNlVW5kZXJUb3BGcmFtZU9yaWdpbihzdGF0aXN0aWNzVXJs
LCB0b3BGcmFtZU9yaWdpbjEpOworICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NTdWJy
ZXNvdXJjZVVuZGVyVG9wRnJhbWVPcmlnaW4oc3RhdGlzdGljc1VybCwgdG9wRnJhbWVPcmlnaW4y
KTsKKyAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzU3VicmVzb3VyY2VVbmRlclRvcEZy
YW1lT3JpZ2luKHN0YXRpc3RpY3NVcmwsIHRvcEZyYW1lT3JpZ2luMyk7CisgICAgICAgIHRlc3RS
dW5uZXIuc2V0U3RhdGlzdGljc1N1YnJlc291cmNlVW5kZXJUb3BGcmFtZU9yaWdpbihzdGF0aXN0
aWNzVXJsLCB0b3BGcmFtZU9yaWdpbjQpOworCisgICAgICAgIHRlc3RSdW5uZXIuc3RhdGlzdGlj
c0ZpcmVEYXRhTW9kaWZpY2F0aW9uSGFuZGxlcigpOworCisgICAgICAgIGlmICghdGVzdFJ1bm5l
ci5pc1N0YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJjZShzdGF0aXN0aWNzVXJsKSkKKyAgICAgICAg
ICAgIHRlc3RGYWlsZWQoIkhvc3QgZGlkIG5vdCBnZXQgY2xhc3NpZmllZCBhcyBwcmV2YWxlbnQg
cmVzb3VyY2UuIik7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIHRlc3RQYXNzZWQoIkhvc3Qg
Y2xhc3NpZmllZCBhcyBwcmV2YWxlbnQgcmVzb3VyY2UuIik7CisKKyAgICAgICAgdGVzdFJ1bm5l
ci5zdGF0aXN0aWNzUmVzZXRUb0NvbnNpc3RlbnRTdGF0ZSgpOworICAgICAgICB0ZXN0UnVubmVy
Lm5vdGlmeURvbmUoKTsKKyAgICB9CisKKyAgICBpZiAoZG9jdW1lbnQubG9jYXRpb24uaG9zdCA9
PT0gaG9zdFVuZGVyVGVzdCAmJiB3aW5kb3cudGVzdFJ1bm5lciAmJiB3aW5kb3cuaW50ZXJuYWxz
KSB7CisgICAgICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOworICAgICAgICBpbnRlcm5h
bHMuc2V0UmVzb3VyY2VMb2FkU3RhdGlzdGljc0VuYWJsZWQodHJ1ZSk7CisgICAgICAgIHJ1blRl
c3RSdW5uZXJUZXN0KCk7CisgICAgfQorPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9sb2Fk
aW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtcHJldmFsZW50LWJhc2VkLW9u
LXN1YnJlc291cmNlLXVuaXF1ZS1yZWRpcmVjdHMtdG8tZXhwZWN0ZWQudHh0Cj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNz
L2NsYXNzaWZ5LWFzLXByZXZhbGVudC1iYXNlZC1vbi1zdWJyZXNvdXJjZS11bmlxdWUtcmVkaXJl
Y3RzLXRvLWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1wcmV2YWxlbnQt
YmFzZWQtb24tc3VicmVzb3VyY2UtdW5pcXVlLXJlZGlyZWN0cy10by1leHBlY3RlZC50eHQJKHdv
cmtpbmcgY29weSkKQEAgLTAsMCArMSw4IEBACittYWluIGZyYW1lIC0gZGlkU3RhcnRQcm92aXNp
b25hbExvYWRGb3JGcmFtZQorbWFpbiBmcmFtZSAtIGRpZENvbW1pdExvYWRGb3JGcmFtZQorbWFp
biBmcmFtZSAtIGRpZFJlY2VpdmVUaXRsZTogVGVzdHMgZm9yIENsYXNzaWZpY2F0aW9uIEJhc2Vk
IG9uIFN1YnJlc291cmNlIFVuaXF1ZSBSZWRpcmVjdHMgVG8KK21haW4gZnJhbWUgLSBkaWRGaW5p
c2hEb2N1bWVudExvYWRGb3JGcmFtZQorbWFpbiBmcmFtZSAtIGRpZEhhbmRsZU9ubG9hZEV2ZW50
c0ZvckZyYW1lCittYWluIGZyYW1lIC0gZGlkRmluaXNoTG9hZEZvckZyYW1lCitQQVNTIEhvc3Qg
Y2xhc3NpZmllZCBhcyBwcmV2YWxlbnQgcmVzb3VyY2UuCisKSW5kZXg6IExheW91dFRlc3RzL2h0
dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLXByZXZh
bGVudC1iYXNlZC1vbi1zdWJyZXNvdXJjZS11bmlxdWUtcmVkaXJlY3RzLXRvLmh0bWwKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0YXRp
c3RpY3MvY2xhc3NpZnktYXMtcHJldmFsZW50LWJhc2VkLW9uLXN1YnJlc291cmNlLXVuaXF1ZS1y
ZWRpcmVjdHMtdG8uaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1wcmV2YWxlbnQtYmFz
ZWQtb24tc3VicmVzb3VyY2UtdW5pcXVlLXJlZGlyZWN0cy10by5odG1sCSh3b3JraW5nIGNvcHkp
CkBAIC0wLDAgKzEsNDQgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWwgbGFuZz0iZW4iPgorPGhl
YWQ+CisgICAgPG1ldGEgY2hhcnNldD0iVVRGLTgiPgorICAgIDx0aXRsZT5UZXN0cyBmb3IgQ2xh
c3NpZmljYXRpb24gQmFzZWQgb24gU3VicmVzb3VyY2UgVW5pcXVlIFJlZGlyZWN0cyBUbzwvdGl0
bGU+CisgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9z
Y3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQ+CisgICAgY29uc3QgaG9zdFVuZGVyVGVz
dCA9ICIxMjcuMC4wLjE6ODAwMCI7CisgICAgY29uc3Qgc3RhdGlzdGljc1VybCA9ICJodHRwOi8v
IiArIGhvc3RVbmRlclRlc3QgKyAiL3RlbXAiOworICAgIGNvbnN0IHRvcEZyYW1lT3JpZ2luMSA9
ICJodHRwOi8vMTI3LjAuMC4yOjgwMDAvdGVtcCI7CisgICAgY29uc3QgdG9wRnJhbWVPcmlnaW4y
ID0gImh0dHA6Ly8xMjcuMC4wLjM6ODAwMC90ZW1wIjsKKyAgICBjb25zdCB0b3BGcmFtZU9yaWdp
bjMgPSAiaHR0cDovLzEyNy4wLjAuNDo4MDAwL3RlbXAiOworICAgIGNvbnN0IHRvcEZyYW1lT3Jp
Z2luNCA9ICJodHRwOi8vMTI3LjAuMC41OjgwMDAvdGVtcCI7CisgICAgZnVuY3Rpb24gcnVuVGVz
dFJ1bm5lclRlc3QoKSB7CisgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1ByZXZhbGVu
dFJlc291cmNlKHN0YXRpc3RpY3NVcmwsIGZhbHNlKTsKKyAgICAgICAgaWYgKHRlc3RSdW5uZXIu
aXNTdGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2Uoc3RhdGlzdGljc1VybCkpCisgICAgICAgICAg
ICB0ZXN0RmFpbGVkKCJIb3N0IGRpZCBub3QgZ2V0IHNldCBhcyBub24tcHJldmFsZW50IHJlc291
cmNlLiIpOworCisgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1N1YnJlc291cmNlVW5p
cXVlUmVkaXJlY3RUbyhzdGF0aXN0aWNzVXJsLCB0b3BGcmFtZU9yaWdpbjEpOworICAgICAgICB0
ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NTdWJyZXNvdXJjZVVuaXF1ZVJlZGlyZWN0VG8oc3RhdGlz
dGljc1VybCwgdG9wRnJhbWVPcmlnaW4yKTsKKyAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0
aWNzU3VicmVzb3VyY2VVbmlxdWVSZWRpcmVjdFRvKHN0YXRpc3RpY3NVcmwsIHRvcEZyYW1lT3Jp
Z2luMyk7CisgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1N1YnJlc291cmNlVW5pcXVl
UmVkaXJlY3RUbyhzdGF0aXN0aWNzVXJsLCB0b3BGcmFtZU9yaWdpbjQpOworCisgICAgICAgIHRl
c3RSdW5uZXIuc3RhdGlzdGljc0ZpcmVEYXRhTW9kaWZpY2F0aW9uSGFuZGxlcigpOworCisgICAg
ICAgIGlmICghdGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJjZShzdGF0aXN0
aWNzVXJsKSkKKyAgICAgICAgICAgIHRlc3RGYWlsZWQoIkhvc3QgZGlkIG5vdCBnZXQgY2xhc3Np
ZmllZCBhcyBwcmV2YWxlbnQgcmVzb3VyY2UuIik7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAg
IHRlc3RQYXNzZWQoIkhvc3QgY2xhc3NpZmllZCBhcyBwcmV2YWxlbnQgcmVzb3VyY2UuIik7CisK
KyAgICAgICAgdGVzdFJ1bm5lci5zdGF0aXN0aWNzUmVzZXRUb0NvbnNpc3RlbnRTdGF0ZSgpOwor
ICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKKyAgICB9CisKKyAgICBpZiAoZG9jdW1l
bnQubG9jYXRpb24uaG9zdCA9PT0gaG9zdFVuZGVyVGVzdCAmJiB3aW5kb3cudGVzdFJ1bm5lciAm
JiB3aW5kb3cuaW50ZXJuYWxzKSB7CisgICAgICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgp
OworICAgICAgICBpbnRlcm5hbHMuc2V0UmVzb3VyY2VMb2FkU3RhdGlzdGljc0VuYWJsZWQodHJ1
ZSk7CisgICAgICAgIHJ1blRlc3RSdW5uZXJUZXN0KCk7CisgICAgfQorPC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS93azIvVGVzdEV4cGVjdGF0
aW9ucwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS93azIvVGVzdEV4cGVjdGF0
aW9ucwkocmV2aXNpb24gMjEyNDM5KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2syL1Rlc3RF
eHBlY3RhdGlvbnMJKHdvcmtpbmcgY29weSkKQEAgLTcwNSw2ICs3MDUsMTQgQEAgaHR0cC90ZXN0
cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpYwogaHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291
cmNlTG9hZFN0YXRpc3RpY3Mvbm9uLXByZXZhbGVudC1yZXNvdXJjZS13aXRob3V0LXVzZXItaW50
ZXJhY3Rpb24uaHRtbCBbIFBhc3MgVGltZW91dCBdCiBodHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3Vy
Y2VMb2FkU3RhdGlzdGljcy9wcmV2YWxlbnQtcmVzb3VyY2Utd2l0aG91dC11c2VyLWludGVyYWN0
aW9uLmh0bWwgWyBQYXNzIFRpbWVvdXQgXQogaHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9h
ZFN0YXRpc3RpY3MvcHJldmFsZW50LXJlc291cmNlLXdpdGgtdXNlci1pbnRlcmFjdGlvbi10aW1l
b3V0Lmh0bWwgWyBQYXNzIFRpbWVvdXQgXQoraHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9h
ZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtbm9uLXByZXZhbGVudC1iYXNlZC1vbi1taXhlZC1zdGF0
aXN0aWNzLmh0bWwgWyBQYXNzIF0KK2h0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0
aXN0aWNzL2NsYXNzaWZ5LWFzLW5vbi1wcmV2YWxlbnQtYmFzZWQtb24tc3ViLWZyYW1lLXVuZGVy
LXRvcC1mcmFtZS1vcmlnaW5zLmh0bWwgWyBQYXNzIF0KK2h0dHAvdGVzdHMvbG9hZGluZy9yZXNv
dXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLW5vbi1wcmV2YWxlbnQtYmFzZWQtb24tc3Vi
cmVzb3VyY2UtdW5kZXItdG9wLWZyYW1lLW9yaWdpbnMuaHRtbCBbIFBhc3MgXQoraHR0cC90ZXN0
cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtbm9uLXByZXZhbGVu
dC1iYXNlZC1vbi1zdWJyZXNvdXJjZS11bmlxdWUtcmVkaXJlY3RzLXRvLmh0bWwgWyBQYXNzIF0K
K2h0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLXBy
ZXZhbGVudC1iYXNlZC1vbi1taXhlZC1zdGF0aXN0aWNzLmh0bWwgWyBQYXNzIF0KK2h0dHAvdGVz
dHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLXByZXZhbGVudC1i
YXNlZC1vbi1zdWItZnJhbWUtdW5kZXItdG9wLWZyYW1lLW9yaWdpbnMuaHRtbCBbIFBhc3MgXQor
aHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtcHJl
dmFsZW50LWJhc2VkLW9uLXN1YnJlc291cmNlLXVuZGVyLXRvcC1mcmFtZS1vcmlnaW5zLmh0bWwg
WyBQYXNzIF0KK2h0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNz
aWZ5LWFzLXByZXZhbGVudC1iYXNlZC1vbi1zdWJyZXNvdXJjZS11bmlxdWUtcmVkaXJlY3RzLXRv
Lmh0bWwgWyBQYXNzIF0KIAogIyMjIEVORCBPRiAoNSkgUHJvZ3Jlc3Npb25zLCBleHBlY3RlZCBz
dWNjZXNzZXMgdGhhdCBhcmUgZXhwZWN0ZWQgZmFpbHVyZXMgaW4gV2ViS2l0MS4KICMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>301882</attachid>
            <date>2017-02-16 22:21:46 -0800</date>
            <delta_ts>2017-02-16 23:22:49 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-168347-20170216221910.patch</filename>
            <type>text/plain</type>
            <size>112925</size>
            <attacher name="John Wilander">wilander</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XVEYvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XVEYvQ2hh
bmdlTG9nCShyZXZpc2lvbiAyMTI1MjQpCisrKyBTb3VyY2UvV1RGL0NoYW5nZUxvZwkod29ya2lu
ZyBjb3B5KQpAQCAtMSwzICsxLDE0IEBACisyMDE3LTAyLTE2ICBKb2huIFdpbGFuZGVyICA8d2ls
YW5kZXJAYXBwbGUuY29tPgorCisgICAgICAgIFJlc291cmNlIExvYWQgU3RhdGlzdGljczogQWRk
IGFsdGVybmF0ZSBjbGFzc2lmaWNhdGlvbiBtZXRob2QKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2ODM0NworICAgICAgICA8cmRhcjovL3Byb2JsZW0v
MzAzNTI3OTM+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgKiB3dGYvUGxhdGZvcm0uaDoKKyAgICAgICAgICAgIEFkZGVkIHN1cHBvcnQgZm9yIEhBVkUo
Q09SRV9QUkVESUNUSU9OKS4KKwogMjAxNy0wMi0xNiAgQWxleCBDaHJpc3RlbnNlbiAgPGFjaHJp
c3RlbnNlbkB3ZWJraXQub3JnPgogCiAgICAgICAgIFJlbW92ZSBFRkwtc3BlY2lmaWMgZmlsZXMg
aW4gU291cmNlLgpJbmRleDogU291cmNlL1dURi93dGYvUGxhdGZvcm0uaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybS5oCShyZXZpc2lvbiAyMTI1MjQpCisrKyBTb3VyY2Uv
V1RGL3d0Zi9QbGF0Zm9ybS5oCSh3b3JraW5nIGNvcHkpCkBAIC0xMjA4LDQgKzEyMDgsOCBAQAog
I2VuZGlmCiAjZW5kaWYgLyogUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUFY
X0FMTE9XRUQgPj0gMTAxMjAxICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0g
MTAxMjAwICovCiAKKyNpZiBQTEFURk9STShJT1MpICYmIFVTRShBUFBMRV9JTlRFUk5BTF9TREsp
IHx8IChQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0g
MTAxMjAwKQorI2RlZmluZSBIQVZFX0NPUkVfUFJFRElDVElPTiAxCisjZW5kaWYKKwogI2VuZGlm
IC8qIFdURl9QbGF0Zm9ybV9oICovCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCShyZXZpc2lvbiAyMTI1MjQpCisr
KyBTb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwyOCBA
QAorMjAxNy0wMi0xNiAgSm9obiBXaWxhbmRlciAgPHdpbGFuZGVyQGFwcGxlLmNvbT4KKworICAg
ICAgICBSZXNvdXJjZSBMb2FkIFN0YXRpc3RpY3M6IEFkZCBhbHRlcm5hdGUgY2xhc3NpZmljYXRp
b24gbWV0aG9kCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xNjgzNDcKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzMwMzUyNzkzPgorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoaXMgcGF0Y2ggb25seSBhZGRz
IHRlc3QgaW5mcmFzdHJ1Y3R1cmUgaW4gV2ViQ29yZS4KKworICAgICAgICBUZXN0czogaHR0cC90
ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtbm9uLXByZXZh
bGVudC1iYXNlZC1vbi1taXhlZC1zdGF0aXN0aWNzLmh0bWwKKyAgICAgICAgICAgICAgIGh0dHAv
dGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLW5vbi1wcmV2
YWxlbnQtYmFzZWQtb24tc3ViLWZyYW1lLXVuZGVyLXRvcC1mcmFtZS1vcmlnaW5zLmh0bWwKKyAg
ICAgICAgICAgICAgIGh0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2Ns
YXNzaWZ5LWFzLW5vbi1wcmV2YWxlbnQtYmFzZWQtb24tc3VicmVzb3VyY2UtdW5kZXItdG9wLWZy
YW1lLW9yaWdpbnMuaHRtbAorICAgICAgICAgICAgICAgaHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291
cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtbm9uLXByZXZhbGVudC1iYXNlZC1vbi1zdWJy
ZXNvdXJjZS11bmlxdWUtcmVkaXJlY3RzLXRvLmh0bWwKKyAgICAgICAgICAgICAgIGh0dHAvdGVz
dHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLXByZXZhbGVudC1i
YXNlZC1vbi1taXhlZC1zdGF0aXN0aWNzLmh0bWwKKyAgICAgICAgICAgICAgIGh0dHAvdGVzdHMv
bG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLXByZXZhbGVudC1iYXNl
ZC1vbi1zdWItZnJhbWUtdW5kZXItdG9wLWZyYW1lLW9yaWdpbnMuaHRtbAorICAgICAgICAgICAg
ICAgaHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMt
cHJldmFsZW50LWJhc2VkLW9uLXN1YnJlc291cmNlLXVuZGVyLXRvcC1mcmFtZS1vcmlnaW5zLmh0
bWwKKyAgICAgICAgICAgICAgIGh0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0
aWNzL2NsYXNzaWZ5LWFzLXByZXZhbGVudC1iYXNlZC1vbi1zdWJyZXNvdXJjZS11bmlxdWUtcmVk
aXJlY3RzLXRvLmh0bWwKKworICAgICAgICAqIGxvYWRlci9SZXNvdXJjZUxvYWRPYnNlcnZlci5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZUxvYWRPYnNlcnZlcjo6c2V0U3ViZnJhbWVV
bmRlclRvcEZyYW1lT3JpZ2luKToKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlTG9hZE9ic2Vy
dmVyOjpzZXRTdWJyZXNvdXJjZVVuZGVyVG9wRnJhbWVPcmlnaW4pOgorICAgICAgICAoV2ViQ29y
ZTo6UmVzb3VyY2VMb2FkT2JzZXJ2ZXI6OnNldFN1YnJlc291cmNlVW5pcXVlUmVkaXJlY3RUbyk6
CisgICAgICAgICogbG9hZGVyL1Jlc291cmNlTG9hZE9ic2VydmVyLmg6CisKIDIwMTctMDItMTYg
IFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CiAKICAgICAgICAgUkVHUkVT
U0lPTihyMjEyNDM5KTogV2ViIEluc3BlY3RvciBUb29sYmFyIC8gV2luZG93IGFwcGVhcnMgYnJv
a2VuCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VMb2FkT2JzZXJ2ZXIuY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZUxvYWRPYnNlcnZl
ci5jcHAJKHJldmlzaW9uIDIxMjUyNCkKKysrIFNvdXJjZS9XZWJDb3JlL2xvYWRlci9SZXNvdXJj
ZUxvYWRPYnNlcnZlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM3NSw2ICszNzUsMzMgQEAgdm9p
ZCBSZXNvdXJjZUxvYWRPYnNlcnZlcjo6Y2xlYXJQcmV2YWxlbgogICAgIHN0YXRpc3RpY3MuaXNQ
cmV2YWxlbnRSZXNvdXJjZSA9IGZhbHNlOwogfQogCit2b2lkIFJlc291cmNlTG9hZE9ic2VydmVy
OjpzZXRTdWJmcmFtZVVuZGVyVG9wRnJhbWVPcmlnaW4oY29uc3QgVVJMJiBzdWJmcmFtZSwgY29u
c3QgVVJMJiB0b3BGcmFtZSkKK3sKKyAgICBpZiAoc3ViZnJhbWUuaXNCbGFua1VSTCgpIHx8IHN1
YmZyYW1lLmlzRW1wdHkoKSB8fCB0b3BGcmFtZS5pc0JsYW5rVVJMKCkgfHwgdG9wRnJhbWUuaXNF
bXB0eSgpKQorICAgICAgICByZXR1cm47CisgICAgCisgICAgYXV0byYgc3RhdGlzdGljcyA9IG1f
c3RvcmUtPmVuc3VyZVJlc291cmNlU3RhdGlzdGljc0ZvclByaW1hcnlEb21haW4ocHJpbWFyeURv
bWFpbihzdWJmcmFtZSkpOworICAgIHN0YXRpc3RpY3Muc3ViZnJhbWVVbmRlclRvcEZyYW1lT3Jp
Z2lucy5hZGQocHJpbWFyeURvbWFpbih0b3BGcmFtZSkpOworfQorCit2b2lkIFJlc291cmNlTG9h
ZE9ic2VydmVyOjpzZXRTdWJyZXNvdXJjZVVuZGVyVG9wRnJhbWVPcmlnaW4oY29uc3QgVVJMJiBz
dWJyZXNvdXJjZSwgY29uc3QgVVJMJiB0b3BGcmFtZSkKK3sKKyAgICBpZiAoc3VicmVzb3VyY2Uu
aXNCbGFua1VSTCgpIHx8IHN1YnJlc291cmNlLmlzRW1wdHkoKSB8fCB0b3BGcmFtZS5pc0JsYW5r
VVJMKCkgfHwgdG9wRnJhbWUuaXNFbXB0eSgpKQorICAgICAgICByZXR1cm47CisgICAgCisgICAg
YXV0byYgc3RhdGlzdGljcyA9IG1fc3RvcmUtPmVuc3VyZVJlc291cmNlU3RhdGlzdGljc0ZvclBy
aW1hcnlEb21haW4ocHJpbWFyeURvbWFpbihzdWJyZXNvdXJjZSkpOworICAgIHN0YXRpc3RpY3Mu
c3VicmVzb3VyY2VVbmRlclRvcEZyYW1lT3JpZ2lucy5hZGQocHJpbWFyeURvbWFpbih0b3BGcmFt
ZSkpOworfQorCit2b2lkIFJlc291cmNlTG9hZE9ic2VydmVyOjpzZXRTdWJyZXNvdXJjZVVuaXF1
ZVJlZGlyZWN0VG8oY29uc3QgVVJMJiBzdWJyZXNvdXJjZSwgY29uc3QgVVJMJiBob3N0TmFtZVJl
ZGlyZWN0ZWRUbykKK3sKKyAgICBpZiAoc3VicmVzb3VyY2UuaXNCbGFua1VSTCgpIHx8IHN1YnJl
c291cmNlLmlzRW1wdHkoKSB8fCBob3N0TmFtZVJlZGlyZWN0ZWRUby5pc0JsYW5rVVJMKCkgfHwg
aG9zdE5hbWVSZWRpcmVjdGVkVG8uaXNFbXB0eSgpKQorICAgICAgICByZXR1cm47CisgICAgCisg
ICAgYXV0byYgc3RhdGlzdGljcyA9IG1fc3RvcmUtPmVuc3VyZVJlc291cmNlU3RhdGlzdGljc0Zv
clByaW1hcnlEb21haW4ocHJpbWFyeURvbWFpbihzdWJyZXNvdXJjZSkpOworICAgIHN0YXRpc3Rp
Y3Muc3VicmVzb3VyY2VVbmlxdWVSZWRpcmVjdHNUby5hZGQocHJpbWFyeURvbWFpbihob3N0TmFt
ZVJlZGlyZWN0ZWRUbykpOworfQorCiB2b2lkIFJlc291cmNlTG9hZE9ic2VydmVyOjpzZXRUaW1l
VG9MaXZlVXNlckludGVyYWN0aW9uKGRvdWJsZSBzZWNvbmRzKQogewogICAgIG1fc3RvcmUtPnNl
dFRpbWVUb0xpdmVVc2VySW50ZXJhY3Rpb24oc2Vjb25kcyk7CkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9sb2FkZXIvUmVzb3VyY2VMb2FkT2JzZXJ2ZXIuaAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvUmVzb3VyY2VMb2FkT2JzZXJ2ZXIuaAkocmV2aXNpb24gMjEyNTI0KQorKysg
U291cmNlL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlTG9hZE9ic2VydmVyLmgJKHdvcmtpbmcgY29w
eSkKQEAgLTU4LDYgKzU4LDEwIEBAIHB1YmxpYzoKICAgICBXRUJDT1JFX0VYUE9SVCBib29sIGlz
UHJldmFsZW50UmVzb3VyY2UoY29uc3QgVVJMJik7CiAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBj
bGVhclByZXZhbGVudFJlc291cmNlKGNvbnN0IFVSTCYpOwogCisgICAgV0VCQ09SRV9FWFBPUlQg
dm9pZCBzZXRTdWJmcmFtZVVuZGVyVG9wRnJhbWVPcmlnaW4oY29uc3QgVVJMJiBzdWJmcmFtZSwg
Y29uc3QgVVJMJiB0b3BGcmFtZSk7CisgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBzZXRTdWJyZXNv
dXJjZVVuZGVyVG9wRnJhbWVPcmlnaW4oY29uc3QgVVJMJiBzdWJyZXNvdXJjZSwgY29uc3QgVVJM
JiB0b3BGcmFtZSk7CisgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBzZXRTdWJyZXNvdXJjZVVuaXF1
ZVJlZGlyZWN0VG8oY29uc3QgVVJMJiBzdWJyZXNvdXJjZSwgY29uc3QgVVJMJiBob3N0TmFtZVJl
ZGlyZWN0ZWRUbyk7CisKICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHNldFRpbWVUb0xpdmVVc2Vy
SW50ZXJhY3Rpb24oZG91YmxlIHNlY29uZHMpOwogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgc2V0
UmVkdWNlZFRpbWVzdGFtcFJlc29sdXRpb24oZG91YmxlIHNlY29uZHMpOwogCkluZGV4OiBTb3Vy
Y2UvV2ViS2l0Mi9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvQ2hhbmdl
TG9nCShyZXZpc2lvbiAyMTI1MjQpCisrKyBTb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cJKHdvcmtp
bmcgY29weSkKQEAgLTEsMyArMSw3MSBAQAorMjAxNy0wMi0xNiAgSm9obiBXaWxhbmRlciAgPHdp
bGFuZGVyQGFwcGxlLmNvbT4KKworICAgICAgICBSZXNvdXJjZSBMb2FkIFN0YXRpc3RpY3M6IEFk
ZCBhbHRlcm5hdGUgY2xhc3NpZmljYXRpb24gbWV0aG9kCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjgzNDcKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVt
LzMwMzUyNzkzPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIFRoaXMgcGF0Y2ggYWRkcyBhIENvcmVQcmVkaWN0aW9uLWJhc2VkIGNsYXNzaWZpZXIgdG8g
dGhlIFdlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZS4KKyAgICAgICAgVGhlIENvcmVQcmVk
aWN0aW9uIGZyYW1ld29yayBpcyBpbnRyb2R1Y2VkIGFzIGEgZGVwZW5kZW5jeSBmb3IgbWFjT1Mg
YW5kIGlPUy4gVGhlIHBhdGNoCisgICAgICAgIGFsc28gYWRkcyBmdW5jdGlvbnMgdG8gc3VwcG9y
dCBsYXlvdXQgdGVzdHMgb2YgdGhlIGZlYXR1cmUuCisKKyAgICAgICAgKiBDb25maWd1cmF0aW9u
cy9CYXNlVGFyZ2V0LnhjY29uZmlnOgorICAgICAgICAqIENvbmZpZ3VyYXRpb25zL1dlYktpdC54
Y2NvbmZpZzoKKyAgICAgICAgICAgIEFkZGVkIGRlcGVuZGVuY3kgb24gQ29yZVByZWRpY3Rpb24u
CisgICAgICAgICogUGxhdGZvcm0vY2xhc3NpZmllcjogQWRkZWQuCisgICAgICAgICogUGxhdGZv
cm0vY2xhc3NpZmllci9SZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllci5oOiBBZGRlZC4K
KyAgICAgICAgKFdlYktpdDo6UmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXI6OlJlc291
cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyKToKKyAgICAgICAgICAgIFB1bGxzIGluIHRoZSBD
b2NvYS1zcGVjaWZpYyBjbGFzc2lmaWVyIGZvciBDb2NvYS1iYXNlZCBwbGF0Zm9ybXMuCisgICAg
ICAgICogUGxhdGZvcm0vY2xhc3NpZmllci9SZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmll
ckJhc2UuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYktpdDo6UmVzb3VyY2VMb2FkU3RhdGlzdGlj
c0NsYXNzaWZpZXJCYXNlOjpoYXNQcmV2YWxlbnRSZXNvdXJjZUNoYXJhY3RlcmlzdGljcyk6Cisg
ICAgICAgIChXZWJLaXQ6OlJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQmFzZTo6Y2xh
c3NpZnkpOgorICAgICAgICAqIFBsYXRmb3JtL2NsYXNzaWZpZXIvUmVzb3VyY2VMb2FkU3RhdGlz
dGljc0NsYXNzaWZpZXJCYXNlLmg6IEFkZGVkLgorICAgICAgICAoV2ViS2l0OjpSZXNvdXJjZUxv
YWRTdGF0aXN0aWNzQ2xhc3NpZmllckJhc2U6OlJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lm
aWVyQmFzZSk6CisgICAgICAgIChXZWJLaXQ6OlJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lm
aWVyQmFzZTo6flJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQmFzZSk6CisgICAgICAg
ICAgICBUaGUgZGVmYXVsdCBjbGFzc2lmaWVyIG5vdyBsaXZlcyBpbiBSZXNvdXJjZUxvYWRTdGF0
aXN0aWNzQ2xhc3NpZmllckJhc2UuCisgICAgICAgICogUGxhdGZvcm0vY2xhc3NpZmllci9jb2Nv
YTogQWRkZWQuCisgICAgICAgICogUGxhdGZvcm0vY2xhc3NpZmllci9jb2NvYS9SZXNvdXJjZUxv
YWRTdGF0aXN0aWNzQ2xhc3NpZmllckNvY29hLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJLaXQ6
OlJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyOjpjbGFzc2lmeSk6CisgICAgICAgIChX
ZWJLaXQ6OlJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyOjpzdG9yYWdlUGF0aCk6Cisg
ICAgICAgIChXZWJLaXQ6OlJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyOjpzaG91bGRV
c2VDb3JlUHJlZGljdGlvbik6CisgICAgICAgICogUGxhdGZvcm0vY2xhc3NpZmllci9jb2NvYS9S
ZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllckNvY29hLmg6IEFkZGVkLgorICAgICAgICAo
V2ViS2l0OjpSZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllcjo6UmVzb3VyY2VMb2FkU3Rh
dGlzdGljc0NsYXNzaWZpZXIpOgorICAgICAgICAgICAgUmVzb3VyY2VMb2FkU3RhdGlzdGljc0Ns
YXNzaWZpZXJDb2NvYSBob3N0cyB0aGUgQ29yZVByZWRpY3Rpb24tYmFzZWQKKyAgICAgICAgICAg
IGNsYXNzaWZpZXIuCisgICAgICAgICogUmVzb3VyY2VzL1Jlc291cmNlTG9hZFN0YXRpc3RpY3M6
IEFkZGVkLgorICAgICAgICAqIFJlc291cmNlcy9SZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NvcmVQ
cmVkaWN0aW9uX21vZGVsOiBBZGRlZC4KKyAgICAgICAgICAgIE1vZGVsIGZpbGUgdG8gbG9hZCBp
bnRvIENvcmVQcmVkaWN0aW9uLgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQy9XS1Jlc291cmNl
TG9hZFN0YXRpc3RpY3NNYW5hZ2VyLmNwcDoKKyAgICAgICAgKFdLUmVzb3VyY2VMb2FkU3RhdGlz
dGljc01hbmFnZXJTZXRTdWJmcmFtZVVuZGVyVG9wRnJhbWVPcmlnaW4pOgorICAgICAgICAoV0tS
ZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdlclNldFN1YnJlc291cmNlVW5kZXJUb3BGcmFtZU9y
aWdpbik6CisgICAgICAgIChXS1Jlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VyU2V0U3VicmVz
b3VyY2VVbmlxdWVSZWRpcmVjdFRvKToKKyAgICAgICAgICAgIFRlc3QgaW5mcmFzdHJ1Y3R1cmUu
CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9DL1dLUmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFn
ZXIuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFn
ZXIuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdl
cjo6c2V0U3ViZnJhbWVVbmRlclRvcEZyYW1lT3JpZ2luKToKKyAgICAgICAgKFdlYktpdDo6V2Vi
UmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFnZXI6OnNldFN1YnJlc291cmNlVW5kZXJUb3BGcmFt
ZU9yaWdpbik6CisgICAgICAgIChXZWJLaXQ6OldlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5h
Z2VyOjpzZXRTdWJyZXNvdXJjZVVuaXF1ZVJlZGlyZWN0VG8pOgorICAgICAgICAgICAgVGVzdCBp
bmZyYXN0cnVjdHVyZS4KKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUmVzb3VyY2VMb2FkU3RhdGlz
dGljc01hbmFnZXIuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUmVzb3VyY2VMb2FkU3RhdGlz
dGljc1N0b3JlLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUmVzb3VyY2VMb2FkU3RhdGlzdGlj
c1N0b3JlOjpXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmUpOgorICAgICAgICAgICAgUmVu
YW1lZCBtX3N0b3JhZ2VQYXRoIHRvIG1fc3RhdGlzdGljc1N0b3JhZ2VQYXRoIGZvciBjbGFyaXR5
LgorICAgICAgICAoV2ViS2l0OjpXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmU6OmNsYXNz
aWZ5UmVzb3VyY2UpOgorICAgICAgICAgICAgTm93IGNhbGxzIHRoZSBjbGFzc2lmaWVyIHRocm91
Z2ggaXRzIFJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyCisgICAgICAgICAgICBtZW1i
ZXIgdmFyaWFibGUuCisgICAgICAgIChXZWJLaXQ6OldlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NT
dG9yZTo6cGVyc2lzdGVudFN0b3JhZ2VQYXRoKToKKyAgICAgICAgICAgIFJlbmFtZWQgbV9zdG9y
YWdlUGF0aCB0byBtX3N0YXRpc3RpY3NTdG9yYWdlUGF0aCBmb3IgY2xhcml0eS4KKyAgICAgICAg
KFdlYktpdDo6V2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlOjp3cml0ZUVuY29kZXJUb0Rp
c2spOgorICAgICAgICAgICAgUmVuYW1lZCBtX3N0b3JhZ2VQYXRoIHRvIG1fc3RhdGlzdGljc1N0
b3JhZ2VQYXRoIGZvciBjbGFyaXR5LgorICAgICAgICAoV2ViS2l0OjpXZWJSZXNvdXJjZUxvYWRT
dGF0aXN0aWNzU3RvcmU6Omhhc1ByZXZhbGVudFJlc291cmNlQ2hhcmFjdGVyaXN0aWNzKTogRGVs
ZXRlZC4KKyAgICAgICAgICAgIE1vdmVkIGludG8gUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNz
aWZpZXJCYXNlLgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNz
U3RvcmUuaDoKKyAgICAgICAgICAgIFJlbmFtZWQgbV9zdG9yYWdlUGF0aCB0byBtX3N0YXRpc3Rp
Y3NTdG9yYWdlUGF0aCBmb3IgY2xhcml0eS4KKyAgICAgICAgKiBXZWJLaXQyLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2o6CisgICAgICAgICAgICBBZGRlZCB0aGUgbmV3IGNsYXNzaWZpZXIgc291
cmNlIGZpbGVzIHVuZGVyIFBsYXRmb3JtL2NsYXNzaWZpZXIgYW5kIHRoZQorICAgICAgICAgICAg
Y29yZVByZWRpY3Rpb25fbW9kZWwgZmlsZSB1bmRlciBSZXNvdXJjZXMvUmVzb3VyY2VMb2FkU3Rh
dGlzdGljcy4KKwogMjAxNy0wMi0xNiAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+
CiAKICAgICAgICAgW1dlYlJUQ10gbGlid2VicnRjIHNvY2tldCBhZGRyZXNzZXMgc2hvdWxkIG5v
dCBiZSBwYXNzZWQgYXMgc3RyaW5ncwpJbmRleDogU291cmNlL1dlYktpdDIvQ29uZmlndXJhdGlv
bnMvQmFzZVRhcmdldC54Y2NvbmZpZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9Db25m
aWd1cmF0aW9ucy9CYXNlVGFyZ2V0LnhjY29uZmlnCShyZXZpc2lvbiAyMTI1MjQpCisrKyBTb3Vy
Y2UvV2ViS2l0Mi9Db25maWd1cmF0aW9ucy9CYXNlVGFyZ2V0LnhjY29uZmlnCSh3b3JraW5nIGNv
cHkpCkBAIC0zMiw3ICszMiw3IEBAIFdLX1BSSVZBVEVfRlJBTUVXT1JLU19ESVJfW3Nkaz1pcGhv
bmVvcyoKIFdLX1BSSVZBVEVfRlJBTUVXT1JLU19ESVJfaXBob25lb3NfWUVTID0gJChTUkNST09U
KS8uLi8uLi9XZWJLaXRMaWJyYXJpZXMvV2ViS2l0UHJpdmF0ZUZyYW1ld29ya1N0dWJzL2lPUy8k
KFdLX1RBUkdFVF9JT1NfVkVSU0lPTl9NQUpPUik7CiBXS19QUklWQVRFX0ZSQU1FV09SS1NfRElS
X2lwaG9uZW9zX05PID0gJChQUk9EVUNUSU9OX0ZSQU1FV09SS1NfRElSKTsKIAotRlJBTUVXT1JL
X1NFQVJDSF9QQVRIU19iYXNlID0gIiQoVU1CUkVMTEFfRlJBTUVXT1JLU19ESVIpIiAkKEZSQU1F
V09SS19TRUFSQ0hfUEFUSFMpOworRlJBTUVXT1JLX1NFQVJDSF9QQVRIU19iYXNlID0gIiQoVU1C
UkVMTEFfRlJBTUVXT1JLU19ESVIpIiAvU3lzdGVtL0xpYnJhcnkvUHJpdmF0ZUZyYW1ld29ya3Mg
JChGUkFNRVdPUktfU0VBUkNIX1BBVEhTKTsKIEZSQU1FV09SS19TRUFSQ0hfUEFUSFNbc2RrPWlw
aG9uZSpdID0gJChGUkFNRVdPUktfU0VBUkNIX1BBVEhTX2Jhc2UpICQoV0tfUFJJVkFURV9GUkFN
RVdPUktTX0RJUik7CiBGUkFNRVdPUktfU0VBUkNIX1BBVEhTID0gJChGUkFNRVdPUktfU0VBUkNI
X1BBVEhTX2Jhc2UpOwogCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9Db25maWd1cmF0aW9ucy9XZWJL
aXQueGNjb25maWcKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvQ29uZmlndXJhdGlvbnMv
V2ViS2l0LnhjY29uZmlnCShyZXZpc2lvbiAyMTI1MjQpCisrKyBTb3VyY2UvV2ViS2l0Mi9Db25m
aWd1cmF0aW9ucy9XZWJLaXQueGNjb25maWcJKHdvcmtpbmcgY29weSkKQEAgLTM0LDEyICszNCwx
NCBAQCBNT0RVTEVNQVBfRklMRVtzZGs9aXBob25lKl09TW9kdWxlcy9pT1MuCiBJTlNUQUxMX1BB
VEggPSAkKFdFQktJVF9GUkFNRVdPUktTX0RJUik7CiBEWUxJQl9JTlNUQUxMX05BTUVfQkFTRSA9
ICQoTk9STUFMX1dFQktJVF9GUkFNRVdPUktTX0RJUik7CiAKLUZSQU1FV09SS19BTkRfTElCUkFS
WV9MREZMQUdTX0JBU0VfaW9zID0gLWxvYmpjIC1mcmFtZXdvcmsgQXNzZXJ0aW9uU2VydmljZXMg
LWZyYW1ld29yayBDRk5ldHdvcmsgLWZyYW1ld29yayBDb3JlRm91bmRhdGlvbiAtZnJhbWV3b3Jr
IENvcmVHcmFwaGljcyAtZnJhbWV3b3JrIENvcmVQREYgLWZyYW1ld29yayBDb3JlVGV4dCAtZnJh
bWV3b3JrIEZvdW5kYXRpb24gLWZyYW1ld29yayBHcmFwaGljc1NlcnZpY2VzIC1mcmFtZXdvcmsg
SW1hZ2VJTyAtZnJhbWV3b3JrIFVJS2l0IC1mcmFtZXdvcmsgT3BlbkdMRVMgLWZyYW1ld29yayBN
b2JpbGVDb3JlU2VydmljZXMgLWxNb2JpbGVHZXN0YWx0ICQoRlJBTUVXT1JLX0FORF9MSUJSQVJZ
X0xERkxBR1NfUExBVEZPUk1fJChQTEFURk9STV9OQU1FKSk7CitGUkFNRVdPUktfQU5EX0xJQlJB
UllfTERGTEFHU19CQVNFX2lvcyA9IC1sb2JqYyAtZnJhbWV3b3JrIEFzc2VydGlvblNlcnZpY2Vz
IC1mcmFtZXdvcmsgQ0ZOZXR3b3JrIC1mcmFtZXdvcmsgQ29yZUZvdW5kYXRpb24gLWZyYW1ld29y
ayBDb3JlR3JhcGhpY3MgLWZyYW1ld29yayBDb3JlUERGIC1mcmFtZXdvcmsgQ29yZVByZWRpY3Rp
b24gLWZyYW1ld29yayBDb3JlVGV4dCAtZnJhbWV3b3JrIEZvdW5kYXRpb24gLWZyYW1ld29yayBH
cmFwaGljc1NlcnZpY2VzIC1mcmFtZXdvcmsgSW1hZ2VJTyAtZnJhbWV3b3JrIFVJS2l0IC1mcmFt
ZXdvcmsgT3BlbkdMRVMgLWZyYW1ld29yayBNb2JpbGVDb3JlU2VydmljZXMgLWxNb2JpbGVHZXN0
YWx0ICQoRlJBTUVXT1JLX0FORF9MSUJSQVJZX0xERkxBR1NfUExBVEZPUk1fJChQTEFURk9STV9O
QU1FKSk7CiBGUkFNRVdPUktfQU5EX0xJQlJBUllfTERGTEFHU1tzZGs9aXBob25lb3MqXSA9ICQo
RlJBTUVXT1JLX0FORF9MSUJSQVJZX0xERkxBR1NfQkFTRV9pb3MpIC1mcmFtZXdvcmsgSU9TdXJm
YWNlOwogRlJBTUVXT1JLX0FORF9MSUJSQVJZX0xERkxBR1Nbc2RrPWlwaG9uZXNpbXVsYXRvcipd
ID0gJChGUkFNRVdPUktfQU5EX0xJQlJBUllfTERGTEFHU19CQVNFX2lvcyk7CiBGUkFNRVdPUktf
QU5EX0xJQlJBUllfTERGTEFHU19QTEFURk9STV9pcGhvbmVvcyA9IDsKIEZSQU1FV09SS19BTkRf
TElCUkFSWV9MREZMQUdTX1BMQVRGT1JNX2lwaG9uZXNpbXVsYXRvciA9IDsKLUZSQU1FV09SS19B
TkRfTElCUkFSWV9MREZMQUdTW3Nkaz1tYWNvc3gqXSA9IC1mcmFtZXdvcmsgQXBwbGljYXRpb25T
ZXJ2aWNlcyAtZnJhbWV3b3JrIENhcmJvbiAtZnJhbWV3b3JrIENvY29hIC1mcmFtZXdvcmsgQ29y
ZVNlcnZpY2VzIC1mcmFtZXdvcmsgSU9LaXQgLWZyYW1ld29yayBDb3JlQXVkaW8gLWZyYW1ld29y
ayBJT1N1cmZhY2UgLWZyYW1ld29yayBPcGVuR0w7CitGUkFNRVdPUktfQU5EX0xJQlJBUllfTERG
TEFHU1tzZGs9bWFjb3N4Kl0gPSAtZnJhbWV3b3JrIEFwcGxpY2F0aW9uU2VydmljZXMgLWZyYW1l
d29yayBDYXJib24gLWZyYW1ld29yayBDb2NvYSAtZnJhbWV3b3JrIENvcmVTZXJ2aWNlcyAtZnJh
bWV3b3JrIElPS2l0IC1mcmFtZXdvcmsgQ29yZUF1ZGlvIC1mcmFtZXdvcmsgSU9TdXJmYWNlIC1m
cmFtZXdvcmsgT3BlbkdMICQoRlJBTUVXT1JLX0FORF9MSUJSQVJZX0xERkxBR1NfbWFjb3N4XyQo
VEFSR0VUX01BQ19PU19YX1ZFUlNJT05fTUFKT1IpKTsKK0ZSQU1FV09SS19BTkRfTElCUkFSWV9M
REZMQUdTX21hY29zeF8xMDEyMDAgPSAtZnJhbWV3b3JrIENvcmVQcmVkaWN0aW9uOworRlJBTUVX
T1JLX0FORF9MSUJSQVJZX0xERkxBR1NfbWFjb3N4XzEwMTMwMCA9IC1mcmFtZXdvcmsgQ29yZVBy
ZWRpY3Rpb247CiAKIC8vIFByZXZlbnQgQysrIHN0YW5kYXJkIGxpYnJhcnkgb3BlcmF0b3IgbmV3
LCBkZWxldGUgYW5kIHRoZWlyIHJlbGF0ZWQgZXhjZXB0aW9uIHR5cGVzIGZyb20gYmVpbmcgZXhw
b3J0ZWQgYXMgd2VhayBzeW1ib2xzLgogVU5FWFBPUlRFRF9TWU1CT0xfTERGTEFHUyA9IC1XbCwt
dW5leHBvcnRlZF9zeW1ib2wgLVdsLF9fWlRJU3Q5YmFkX2FsbG9jIC1XbCwtdW5leHBvcnRlZF9z
eW1ib2wgLVdsLF9fWlRJU3Q5ZXhjZXB0aW9uIC1XbCwtdW5leHBvcnRlZF9zeW1ib2wgLVdsLF9f
WlRTU3Q5YmFkX2FsbG9jIC1XbCwtdW5leHBvcnRlZF9zeW1ib2wgLVdsLF9fWlRTU3Q5ZXhjZXB0
aW9uIC1XbCwtdW5leHBvcnRlZF9zeW1ib2wgLVdsLF9fWmRsUHZTXyAtV2wsLXVuZXhwb3J0ZWRf
c3ltYm9sIC1XbCxfX1pud21QdiAtV2wsLXVuZXhwb3J0ZWRfc3ltYm9sIC1XbCxfX1pud20gLVds
LC11bmV4cG9ydGVkX3N5bWJvbCwgLVdsLF9fWk5TdDNfXzE4ZnVuY3Rpb25JRnZON1dlYkNvcmUx
MlBvbGljeUFjdGlvbkVFRUMyRU9TNF8gLVdsLC11bmV4cG9ydGVkX3N5bWJvbCwgLVdsLF9fWk5T
dDNfXzE4ZnVuY3Rpb25JRnZON1dlYkNvcmUxMlBvbGljeUFjdGlvbkVFRUMxRU9TNF8gLVdsLC11
bmV4cG9ydGVkX3N5bWJvbCwgLVdsLF9fWk5TdDNfXzE4ZnVuY3Rpb25JRnZON1dlYkNvcmUxMlBv
bGljeUFjdGlvbkVFRWFTRURuIC1XbCwtdW5leHBvcnRlZF9zeW1ib2wsIC1XbCxfX1pOS1N0M19f
MThmdW5jdGlvbklGdk43V2ViQ29yZTEyUG9saWN5QWN0aW9uRUVFY2xFUzJfIC1XbCwtdW5leHBv
cnRlZF9zeW1ib2wsIC1XbCxfX1pOU3QzX18xOGZ1bmN0aW9uSUZ2TjdXZWJDb3JlMTJQb2xpY3lB
Y3Rpb25FRUU0c3dhcEVSUzRfIC1XbCwtdW5leHBvcnRlZF9zeW1ib2wsIC1XbCxfX1pOU3QzX18x
OGZ1bmN0aW9uSUZ2TjdXZWJDb3JlMTJQb2xpY3lBY3Rpb25FRUVDMUVSS1M0XyAtV2wsLXVuZXhw
b3J0ZWRfc3ltYm9sLCAtV2wsX19aTlN0M19fMThmdW5jdGlvbklGdk43V2ViQ29yZTEyUG9saWN5
QWN0aW9uRUVFQzJFUktTNF8gLVdsLC11bmV4cG9ydGVkX3N5bWJvbCwgLVdsLF9fWk5TdDNfXzE4
ZnVuY3Rpb25JRnZON1dlYkNvcmUxMlBvbGljeUFjdGlvbkVFRUQxRXYgLVdsLC11bmV4cG9ydGVk
X3N5bWJvbCwgLVdsLF9fWk5TdDNfXzE4ZnVuY3Rpb25JRnZON1dlYkNvcmUxMlBvbGljeUFjdGlv
bkVFRUQyRXYgLVdsLC11bmV4cG9ydGVkX3N5bWJvbCwgLVdsLF9fWk5TdDNfXzE4ZnVuY3Rpb25J
RnZON1dlYkNvcmUxMlBvbGljeUFjdGlvbkVFRWFTRVJLUzRfIC1XbCwtdW5leHBvcnRlZF9zeW1i
b2wsIC1XbCxfX1pUVk5TdDNfXzExN2JhZF9mdW5jdGlvbl9jYWxsRTsKSW5kZXg6IFNvdXJjZS9X
ZWJLaXQyL1BsYXRmb3JtL2NsYXNzaWZpZXIvUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZp
ZXIuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9jbGFzc2lmaWVyL1Jl
c291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyLmgJKG5vbmV4aXN0ZW50KQorKysgU291cmNl
L1dlYktpdDIvUGxhdGZvcm0vY2xhc3NpZmllci9SZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3Np
Zmllci5oCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNTUgQEAKKy8qCisgKiBDb3B5cmlnaHQg
KEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAq
IDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAq
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJV
VE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVS
UE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMg
Q09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9S
IEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhF
T1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJh
Z21hIG9uY2UKKworI2luY2x1ZGUgPHd0Zi9QbGF0Zm9ybS5oPgorCisjaWYgUExBVEZPUk0oQ09D
T0EpCisjaW5jbHVkZSAiUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXJDb2NvYS5oIgor
I2Vsc2UKKworI2luY2x1ZGUgIlJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQmFzZS5o
IgorCituYW1lc3BhY2UgV2ViQ29yZSB7CitzdHJ1Y3QgUmVzb3VyY2VMb2FkU3RhdGlzdGljczsK
K30KKworbmFtZXNwYWNlIFdlYktpdCB7CisKK2NsYXNzIFJlc291cmNlTG9hZFN0YXRpc3RpY3ND
bGFzc2lmaWVyIDogcHVibGljIFJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQmFzZSB7
CisKK3B1YmxpYzoKKyAgICBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllcigpIHsgfQor
ICAgIGJvb2wgaGFzUHJldmFsZW50UmVzb3VyY2VDaGFyYWN0ZXJpc3RpY3MoY29uc3QgV2ViQ29y
ZTo6UmVzb3VyY2VMb2FkU3RhdGlzdGljcyYgcmVzb3VyY2VTdGF0aXN0aWMpOworCitwcml2YXRl
OgorICAgIGJvb2wgY2xhc3NpZnkoY29uc3QgdW5zaWduZWQsIGNvbnN0IHVuc2lnbmVkLCBjb25z
dCB1bnNpZ25lZCk7CisKK307CisKK30KKworI2VuZGlmCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9Q
bGF0Zm9ybS9jbGFzc2lmaWVyL1Jlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQmFzZS5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvUGxhdGZvcm0vY2xhc3NpZmllci9SZXNv
dXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllckJhc2UuY3BwCShub25leGlzdGVudCkKKysrIFNv
dXJjZS9XZWJLaXQyL1BsYXRmb3JtL2NsYXNzaWZpZXIvUmVzb3VyY2VMb2FkU3RhdGlzdGljc0Ns
YXNzaWZpZXJCYXNlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDYwIEBACisvKgorICog
Q29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisg
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlv
bi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElU
UyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVE
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM
QVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElO
Qy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElB
TCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YK
KyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
CisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisg
Ki8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIlJlc291cmNlTG9hZFN0YXRpc3Rp
Y3NDbGFzc2lmaWVyQmFzZS5oIgorCisjaW5jbHVkZSA8V2ViQ29yZS9SZXNvdXJjZUxvYWRTdGF0
aXN0aWNzLmg+CisKK3VzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOworCituYW1lc3BhY2UgV2ViS2l0
IHsKKworc3RhdGljIGNvbnN0IGF1dG8gZmVhdHVyZVZlY3Rvckxlbmd0aFRocmVzaG9sZCA9IDM7
Citib29sIFJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQmFzZTo6aGFzUHJldmFsZW50
UmVzb3VyY2VDaGFyYWN0ZXJpc3RpY3MoY29uc3QgUmVzb3VyY2VMb2FkU3RhdGlzdGljcyYgcmVz
b3VyY2VTdGF0aXN0aWMpCit7CisgICAgYXV0byBzdWJyZXNvdXJjZVVuZGVyVG9wRnJhbWVPcmln
aW5zQ291bnQgPSByZXNvdXJjZVN0YXRpc3RpYy5zdWJyZXNvdXJjZVVuZGVyVG9wRnJhbWVPcmln
aW5zLnNpemUoKTsKKyAgICBhdXRvIHN1YnJlc291cmNlVW5pcXVlUmVkaXJlY3RzVG9Db3VudCA9
IHJlc291cmNlU3RhdGlzdGljLnN1YnJlc291cmNlVW5pcXVlUmVkaXJlY3RzVG8uc2l6ZSgpOwor
ICAgIGF1dG8gc3ViZnJhbWVVbmRlclRvcEZyYW1lT3JpZ2luc0NvdW50ID0gcmVzb3VyY2VTdGF0
aXN0aWMuc3ViZnJhbWVVbmRlclRvcEZyYW1lT3JpZ2lucy5zaXplKCk7CisgICAgCisgICAgaWYg
KCFzdWJyZXNvdXJjZVVuZGVyVG9wRnJhbWVPcmlnaW5zQ291bnQKKyAgICAgICAgJiYgIXN1YnJl
c291cmNlVW5pcXVlUmVkaXJlY3RzVG9Db3VudAorICAgICAgICAmJiAhc3ViZnJhbWVVbmRlclRv
cEZyYW1lT3JpZ2luc0NvdW50KQorICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgCisgICAgaWYg
KHN1YnJlc291cmNlVW5kZXJUb3BGcmFtZU9yaWdpbnNDb3VudCA+IGZlYXR1cmVWZWN0b3JMZW5n
dGhUaHJlc2hvbGQKKyAgICAgICAgfHwgc3VicmVzb3VyY2VVbmlxdWVSZWRpcmVjdHNUb0NvdW50
ID4gZmVhdHVyZVZlY3Rvckxlbmd0aFRocmVzaG9sZAorICAgICAgICB8fCBzdWJmcmFtZVVuZGVy
VG9wRnJhbWVPcmlnaW5zQ291bnQgPiBmZWF0dXJlVmVjdG9yTGVuZ3RoVGhyZXNob2xkKQorICAg
ICAgICByZXR1cm4gdHJ1ZTsKKworICAgIHJldHVybiBjbGFzc2lmeShzdWJyZXNvdXJjZVVuZGVy
VG9wRnJhbWVPcmlnaW5zQ291bnQsIHN1YnJlc291cmNlVW5pcXVlUmVkaXJlY3RzVG9Db3VudCwg
c3ViZnJhbWVVbmRlclRvcEZyYW1lT3JpZ2luc0NvdW50KTsKK30KKworYm9vbCBSZXNvdXJjZUxv
YWRTdGF0aXN0aWNzQ2xhc3NpZmllckJhc2U6OmNsYXNzaWZ5KGNvbnN0IHVuc2lnbmVkIGEsIGNv
bnN0IHVuc2lnbmVkIGIsIGNvbnN0IHVuc2lnbmVkIGMpCit7CisgICAgcmV0dXJuIHNxcnQoYSAq
IGEgKyBiICogYiArIGMgKiBjKSA+IGZlYXR1cmVWZWN0b3JMZW5ndGhUaHJlc2hvbGQ7Cit9Cisg
ICAgCit9CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9jbGFzc2lmaWVyL1Jlc291cmNl
TG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQmFzZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQyL1BsYXRmb3JtL2NsYXNzaWZpZXIvUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXJC
YXNlLmgJKG5vbmV4aXN0ZW50KQorKysgU291cmNlL1dlYktpdDIvUGxhdGZvcm0vY2xhc3NpZmll
ci9SZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllckJhc2UuaAkod29ya2luZyBjb3B5KQpA
QCAtMCwwICsxLDQzIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJl
IG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQg
QU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElO
IE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElB
QkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBM
QVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKK25hbWVzcGFjZSBX
ZWJDb3JlIHsKK3N0cnVjdCBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzOworfQorCituYW1lc3BhY2Ug
V2ViS2l0IHsKKworY2xhc3MgUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXJCYXNlIHsK
K3B1YmxpYzoKKyAgICBib29sIGhhc1ByZXZhbGVudFJlc291cmNlQ2hhcmFjdGVyaXN0aWNzKGNv
bnN0IFdlYkNvcmU6OlJlc291cmNlTG9hZFN0YXRpc3RpY3MmIHJlc291cmNlU3RhdGlzdGljKTsK
K3Byb3RlY3RlZDoKKyAgICBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllckJhc2UoKSB7
IH0KKyAgICB2aXJ0dWFsIH5SZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllckJhc2UoKSB7
IH0KKyAgICB2aXJ0dWFsIGJvb2wgY2xhc3NpZnkoY29uc3QgdW5zaWduZWQsIGNvbnN0IHVuc2ln
bmVkLCBjb25zdCB1bnNpZ25lZCk7Cit9OworCit9CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9QbGF0
Zm9ybS9jbGFzc2lmaWVyL2NvY29hL1Jlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQ29j
b2EuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL2NsYXNzaWZpZXIv
Y29jb2EvUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXJDb2NvYS5jcHAJKG5vbmV4aXN0
ZW50KQorKysgU291cmNlL1dlYktpdDIvUGxhdGZvcm0vY2xhc3NpZmllci9jb2NvYS9SZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllckNvY29hLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMCww
ICsxLDExMyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6
CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBF
WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBF
VkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwg
T1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
CisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJS
ZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllckNvY29hLmgiCisKKyNpbmNsdWRlICJMb2dn
aW5nLmgiCisKK25hbWVzcGFjZSBXZWJLaXQgeworCitib29sIFJlc291cmNlTG9hZFN0YXRpc3Rp
Y3NDbGFzc2lmaWVyOjpjbGFzc2lmeShjb25zdCB1bnNpZ25lZCBzdWJyZXNvdXJjZVVuZGVyVG9w
RnJhbWVPcmlnaW5zQ291bnQsIGNvbnN0IHVuc2lnbmVkIHN1YnJlc291cmNlVW5pcXVlUmVkaXJl
Y3RzVG9Db3VudCwgY29uc3QgdW5zaWduZWQgc3ViZnJhbWVVbmRlclRvcEZyYW1lT3JpZ2luc0Nv
dW50KQoreworICAgIGlmICghc2hvdWxkVXNlQ29yZVByZWRpY3Rpb24oKSkKKyAgICAgICAgcmV0
dXJuIFJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQmFzZTo6Y2xhc3NpZnkoc3VicmVz
b3VyY2VVbmRlclRvcEZyYW1lT3JpZ2luc0NvdW50LCBzdWJyZXNvdXJjZVVuaXF1ZVJlZGlyZWN0
c1RvQ291bnQsIHN1YmZyYW1lVW5kZXJUb3BGcmFtZU9yaWdpbnNDb3VudCk7CisjaWYgSEFWRShD
T1JFX1BSRURJQ1RJT04pCisgICAgVmVjdG9yPHVuc2lnbmVkPiBub25aZXJvRmVhdHVyZXM7Cisg
ICAgVmVjdG9yPHVuc2lnbmVkPiBpbmRpY2VzOworCisgICAgaWYgKHN1YnJlc291cmNlVW5kZXJU
b3BGcmFtZU9yaWdpbnNDb3VudCkgeworICAgICAgICBub25aZXJvRmVhdHVyZXMuYXBwZW5kKHN1
YnJlc291cmNlVW5kZXJUb3BGcmFtZU9yaWdpbnNDb3VudCk7CisgICAgICAgIGluZGljZXMuYXBw
ZW5kKDEpOworICAgIH0KKyAgICBpZiAoc3VicmVzb3VyY2VVbmlxdWVSZWRpcmVjdHNUb0NvdW50
KSB7CisgICAgICAgIG5vblplcm9GZWF0dXJlcy5hcHBlbmQoc3VicmVzb3VyY2VVbmlxdWVSZWRp
cmVjdHNUb0NvdW50KTsKKyAgICAgICAgaW5kaWNlcy5hcHBlbmQoMik7CisgICAgfQorICAgIGlm
IChzdWJmcmFtZVVuZGVyVG9wRnJhbWVPcmlnaW5zQ291bnQpIHsKKyAgICAgICAgbm9uWmVyb0Zl
YXR1cmVzLmFwcGVuZChzdWJmcmFtZVVuZGVyVG9wRnJhbWVPcmlnaW5zQ291bnQpOworICAgICAg
ICBpbmRpY2VzLmFwcGVuZCgzKTsKKyAgICB9CisKKyAgICBzdm1fbm9kZSogZXhhbXBsZVZlY3Rv
ciA9IG5ldyBzdm1fbm9kZVtub25aZXJvRmVhdHVyZXMuc2l6ZSgpICsgMV07CisgICAgZm9yIChz
aXplX3QgaSA9IDA7IGkgPCBub25aZXJvRmVhdHVyZXMuc2l6ZSgpOyBpKyspIHsKKyAgICAgICAg
ZXhhbXBsZVZlY3RvcltpXS5pbmRleCA9IGluZGljZXMuYXQoaSk7CisgICAgICAgIGV4YW1wbGVW
ZWN0b3JbaV0udmFsdWUgPSBub25aZXJvRmVhdHVyZXMuYXQoaSk7CisgICAgfQorICAgIC8vIEFk
ZCB0ZXJtaW5hdGlvbiBub2RlIHdpdGggaW5kZXggLTEuCisgICAgZXhhbXBsZVZlY3Rvcltub25a
ZXJvRmVhdHVyZXMuc2l6ZSgpXS5pbmRleCA9IC0xOworICAgIGV4YW1wbGVWZWN0b3Jbbm9uWmVy
b0ZlYXR1cmVzLnNpemUoKV0udmFsdWUgPSAtMTsKKworICAgIGludCBjbGFzc2lmaWNhdGlvbjsK
KyAgICBkb3VibGUgc2NvcmU7CisgICAgY2xhc3NpZmljYXRpb24gPSBzdm1fcHJlZGljdF92YWx1
ZXMobV9jb3JlUHJlZGljdGlvbk1vZGVsLCBleGFtcGxlVmVjdG9yLCAmc2NvcmUpOworICAgIGRl
bGV0ZVtdIGV4YW1wbGVWZWN0b3I7CisgICAgcmV0dXJuIGNsYXNzaWZpY2F0aW9uIDwgMDsKKyNl
bmRpZgorfQorCitTdHJpbmcgUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXI6OnN0b3Jh
Z2VQYXRoKCkKK3sKKyAgICBDRkJ1bmRsZVJlZiB3ZWJLaXRCdW5kbGUgPSBDRkJ1bmRsZUdldEJ1
bmRsZVdpdGhJZGVudGlmaWVyKENGU1RSKCJjb20uYXBwbGUuV2ViS2l0IikpOworICAgIENGVVJM
UmVmIHJlc291cmNlVXJsID0gQ0ZCdW5kbGVDb3B5UmVzb3VyY2VzRGlyZWN0b3J5VVJMKHdlYktp
dEJ1bmRsZSk7CisgICAgcmVzb3VyY2VVcmwgPSBDRlVSTENyZWF0ZUNvcHlBcHBlbmRpbmdQYXRo
Q29tcG9uZW50KG51bGxwdHIsIHJlc291cmNlVXJsLCBDRlNUUigiY29yZVByZWRpY3Rpb25fbW9k
ZWwiKSwgZmFsc2UpOworICAgIENGRXJyb3JSZWYgZXJyb3IgPSBudWxscHRyOworICAgIHJlc291
cmNlVXJsID0gQ0ZVUkxDcmVhdGVGaWxlUGF0aFVSTChudWxscHRyLCByZXNvdXJjZVVybCwgJmVy
cm9yKTsKKworICAgIGlmIChlcnJvciB8fCAhcmVzb3VyY2VVcmwpCisgICAgICAgIHJldHVybiBT
dHJpbmcoKTsKKworICAgIENGVVJMUGF0aFN0eWxlIHBhdGhTdHlsZSA9IGtDRlVSTFBPU0lYUGF0
aFN0eWxlOworICAgIENGU3RyaW5nUmVmIHJlc291cmNlVXJsU3RyaW5nID0gQ0ZVUkxDb3B5Rmls
ZVN5c3RlbVBhdGgocmVzb3VyY2VVcmwsIHBhdGhTdHlsZSk7CisgICAgcmV0dXJuIFN0cmluZyhy
ZXNvdXJjZVVybFN0cmluZyk7Cit9CisKK2Jvb2wgUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNz
aWZpZXI6OnNob3VsZFVzZUNvcmVQcmVkaWN0aW9uKCkKK3sKKyNpZiBIQVZFKENPUkVfUFJFRElD
VElPTikKKyAgICBpZiAobV9jb3JlUHJlZGljdGlvbk1vZGVsKQorICAgICAgICByZXR1cm4gdHJ1
ZTsKKworICAgIGlmICghbV91c2VDb3JlUHJlZGljdGlvbikKKyAgICAgICAgcmV0dXJuIGZhbHNl
OworCisgICAgU3RyaW5nIHN0b3JhZ2VQYXRoU3RyID0gc3RvcmFnZVBhdGgoKTsKKyAgICBpZiAo
c3RvcmFnZVBhdGhTdHIuaXNOdWxsKCkgfHwgc3RvcmFnZVBhdGhTdHIuaXNFbXB0eSgpKSB7Cisg
ICAgICAgIG1fdXNlQ29yZVByZWRpY3Rpb24gPSBmYWxzZTsKKyAgICAgICAgcmV0dXJuIGZhbHNl
OworICAgIH0KKworICAgIG1fY29yZVByZWRpY3Rpb25Nb2RlbCA9IHN2bV9sb2FkX21vZGVsKChz
dG9yYWdlUGF0aFN0cikudXRmOCgpLmRhdGEoKSk7CisgICAgCisgICAgaWYgKG1fY29yZVByZWRp
Y3Rpb25Nb2RlbCkKKyAgICAgICAgcmV0dXJuIHRydWU7CisKKyAgICBXVEZMb2dBbHdheXMoIlJl
c291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyOjpzaG91bGRVc2VDb3JlUHJlZGljdGlvbigp
OiBDb3VsZG4ndCBsb2FkIG1vZGVsIGZpbGUgYXQgcGF0aCAlcy4iLCBzdG9yYWdlUGF0aFN0ci51
dGY4KCkuZGF0YSgpKTsKKyAgICBtX3VzZUNvcmVQcmVkaWN0aW9uID0gZmFsc2U7CisjZW5kaWYK
KyAgICByZXR1cm4gZmFsc2U7Cit9CisKK30KSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1BsYXRmb3Jt
L2NsYXNzaWZpZXIvY29jb2EvUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXJDb2NvYS5o
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL2NsYXNzaWZpZXIvY29jb2Ev
UmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXJDb2NvYS5oCShub25leGlzdGVudCkKKysr
IFNvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL2NsYXNzaWZpZXIvY29jb2EvUmVzb3VyY2VMb2FkU3Rh
dGlzdGljc0NsYXNzaWZpZXJDb2NvYS5oCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNTQgQEAK
Ky8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5D
LiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhF
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwg
QVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJF
TUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERB
VEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2luY2x1ZGUgIlJlc291cmNlTG9hZFN0YXRp
c3RpY3NDbGFzc2lmaWVyQmFzZS5oIgorI2luY2x1ZGUgPENvcmVGb3VuZGF0aW9uL0NvcmVGb3Vu
ZGF0aW9uLmg+CisjaWYgSEFWRShDT1JFX1BSRURJQ1RJT04pCisjaW5jbHVkZSA8Q29yZVByZWRp
Y3Rpb24vc3ZtLmg+CisjZW5kaWYKKyNpbmNsdWRlIDx3dGYvUGxhdGZvcm0uaD4KKyNpbmNsdWRl
IDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KKworbmFtZXNwYWNlIFdlYktpdCB7CisKK2NsYXNzIFJl
c291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyIDogcHVibGljIFJlc291cmNlTG9hZFN0YXRp
c3RpY3NDbGFzc2lmaWVyQmFzZSB7CisKK3B1YmxpYzoKKyAgICBSZXNvdXJjZUxvYWRTdGF0aXN0
aWNzQ2xhc3NpZmllcigpCisgICAgICAgIDogUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZp
ZXJCYXNlKCkgeyB9CisgICAgCitwcml2YXRlOgorICAgIGJvb2wgY2xhc3NpZnkoY29uc3QgdW5z
aWduZWQsIGNvbnN0IHVuc2lnbmVkLCBjb25zdCB1bnNpZ25lZCk7CisgICAgU3RyaW5nIHN0b3Jh
Z2VQYXRoKCk7CisgICAgYm9vbCBzaG91bGRVc2VDb3JlUHJlZGljdGlvbigpOworI2lmIEhBVkUo
Q09SRV9QUkVESUNUSU9OKQorICAgIHN0cnVjdCBzdm1fbW9kZWwqIG1fY29yZVByZWRpY3Rpb25N
b2RlbDsKKyAgICBib29sIG1fdXNlQ29yZVByZWRpY3Rpb24geyB0cnVlIH07CisjZW5kaWYKK307
CisKK30KSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1Jlc291cmNlcy9SZXNvdXJjZUxvYWRTdGF0aXN0
aWNzL2NvcmVQcmVkaWN0aW9uX21vZGVsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1Jl
c291cmNlcy9SZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NvcmVQcmVkaWN0aW9uX21vZGVsCShub25l
eGlzdGVudCkKKysrIFNvdXJjZS9XZWJLaXQyL1Jlc291cmNlcy9SZXNvdXJjZUxvYWRTdGF0aXN0
aWNzL2NvcmVQcmVkaWN0aW9uX21vZGVsCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNjc4IEBA
Citzdm1fdHlwZSBjX3N2Ywora2VybmVsX3R5cGUgcmJmCitnYW1tYSAwLjEKK25yX2NsYXNzIDIK
K3RvdGFsX3N2IDMzMAorcmhvIDAuMjg3OTQ1NjQyMjYxCitsYWJlbCAtMSAxCitucl9zdiAzMDAg
MzAKK1NWCistMC4wNTQ2Njk3MDM4NzI0IDE6MTQuMCAyOjMuMCAzOjcuMCAKKy0wLjA1NDY2OTcw
Mzg3MjQgMToxLjAgMjoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIAorLTAuMDU0NjY5NzAz
ODcyNCAxOjEuMCAzOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxMi4wIAorLTAuMDU0NjY5NzAz
ODcyNCAxOjcuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAgMjoxLjAgCistMC4wNTQ2Njk3MDM4
NzI0IDE6MS4wIDM6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjMuMCAyOjE2LjAgCistMC4wNTQ2
Njk3MDM4NzI0IDE6MS4wIDM6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAyOjIuMCAKKy0w
LjA1NDY2OTcwMzg3MjQgMToxLjAgMzoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIAorLTAu
MDU0NjY5NzAzODcyNCAxOjMuMCAyOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo1LjAgCistMC4w
NTQ2Njk3MDM4NzI0IDE6MTYuMCAyOjIuMCAzOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAg
MjoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MTEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo0LjAg
MzozLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MjguMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAg
CistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDM6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAz
OjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyMi4wIDI6MS4wIDM6MTIuMCAKKy0wLjA1NDY2OTcw
Mzg3MjQgMToxNC4wIDM6NS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAzOjEuMCAKKy0wLjA1
NDY2OTcwMzg3MjQgMTo0OC4wIDI6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjI1LjAgMzoxNi4w
IAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAyOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAg
MzoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Ni4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjcuMCAK
Ky0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMjoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDM6
MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjMuMCAzOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo3
LjAgMjoxLjAgMzoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIAorLTAuMDU0NjY5NzAzODcy
NCAxOjcuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo1LjAgMjoyLjAgMzozLjAgCistMC4wNTQ2Njk3
MDM4NzI0IDE6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAyOjEuMCAKKy0wLjA1NDY2OTcw
Mzg3MjQgMTo0LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDI6MS4wIAorLTAuMDU0NjY5NzAz
ODcyNCAxOjEuMCAzOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo5LjAgMzo0LjAgCistMC4wNTQ2
Njk3MDM4NzI0IDE6MS4wIDI6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAzOjEuMCAKKy0w
LjA1NDY2OTcwMzg3MjQgMTo0Ny4wIDI6MjEuMCAzOjMzLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6
MTEuMCAyOjIuMCAzOjUuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxMS4wIDI6My4wIDM6MS4wIAor
LTAuMDU0NjY5NzAzODcyNCAxOjEuMCAzOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAgMjox
LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6NDMuMCAzOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTox
My4wIDM6Ny4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAzOjEuMCAKKy0wLjA1NDY2OTcwMzg3
MjQgMTo0LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MTMuMCAzOjQuMCAKKy0wLjA1NDY2OTcwMzg3
MjQgMTo0Mi4wIDI6NC4wIDM6MzIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxMC4wIDI6NS4wIDM6
MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjcuMCAzOjQuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToy
LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDM6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEu
MCAzOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo2LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4w
IDI6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjYuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxNi4w
IDI6NC4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEwLjAgMjoxLjAgMzoyLjAgCistMC4wNTQ2Njk3
MDM4NzI0IDE6MTguMCAyOjMuMCAzOjYuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMzoxLjAg
CistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDI6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAK
Ky0wLjA1NDY2OTcwMzg3MjQgMTozLjAgMjoxLjAgMzoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6
MS4wIDI6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjMuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToz
LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6NC4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAKKy0w
LjA1NDY2OTcwMzg3MjQgMToyLjAgMzoyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIAorLTAu
MDU0NjY5NzAzODcyNCAxOjEuMCAzOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyMS4wIAorLTAu
MDU0NjY5NzAzODcyNCAxOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAgMjoyLjAgCistMC4w
NTQ2Njk3MDM4NzI0IDE6MTQuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAgMjoxLjAgCistMC4w
NTQ2Njk3MDM4NzI0IDE6Mi4wIDM6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjQuMCAzOjMuMCAK
Ky0wLjA1NDY2OTcwMzg3MjQgMToyLjAgMzoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6My4wIAor
LTAuMDU0NjY5NzAzODcyNCAxOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMjoxLjAgCist
MC4wNTQ2Njk3MDM4NzI0IDE6NC4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjM5LjAgMzo0LjAgCist
MC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAyOjEuMCAzOjEu
MCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo0LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIDI6MS4w
IAorLTAuMDU0NjY5NzAzODcyNCAxOjQuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMjoxLjAg
CistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDI6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAK
Ky0wLjA1NDY2OTcwMzg3MjQgMToyLjAgMjoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAor
LTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2
Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjMuMCAKKy0wLjA1NDY2OTcwMzg3
MjQgMToxLjAgMjoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcy
NCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4w
IAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMzoxLjAg
CistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1
NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAz
ODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6
MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCist
MC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjE2LjAgMjoxLjAgMzox
LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0w
LjA1NDY2OTcwMzg3MjQgMToxLjAgMjoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAu
MDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTozLjAgMjoxLjAgCistMC4w
NTQ2Njk3MDM4NzI0IDE6MS4wIDM6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1
NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAz
ODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6
MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIwLjAgMzozLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6
MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCist
MC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2
OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcy
NCAxOjEuMCAzOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0
IDE6MS4wIDM6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQg
MTo4LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Ny4wIDI6MS4wIDM6Mi4wIAorLTAuMDU0NjY5NzAz
ODcyNCAxOjguMCAyOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMjoxLjAgCistMC4wNTQ2
Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3
MjQgMToxLjAgMjoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcy
NCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4w
IAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAgCistMC4w
NTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEyLjAgMzo3LjAgCistMC4w
NTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjkuMCAKKy0wLjA1NDY2OTcw
Mzg3MjQgMTo3LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAx
OjEuMCAyOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMzoxLjAgCistMC4wNTQ2Njk3MDM4
NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjguMCAyOjIuMCAKKy0wLjA1NDY2OTcwMzg3
MjQgMToxNy4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAyOjEuMCAKKy0wLjA1NDY2OTcwMzg3
MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEu
MCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6NC4wIAorLTAu
MDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3
MDM4NzI0IDE6MTMuMCAyOjQuMCAzOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMzoxLjAg
CistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIDM6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAK
Ky0wLjA1NDY2OTcwMzg3MjQgMToxNi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjMuMCAKKy0wLjA1
NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAz
ODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6
Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAgCist
MC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2
OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcy
NCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6My4w
IDM6My4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAg
CistMC4wNTQ2Njk3MDM4NzI0IDE6MTEuMCAzOjExLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4w
IAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4w
NTQ2Njk3MDM4NzI0IDE6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcw
Mzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAx
OjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAor
LTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2
Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjE1LjAgCistMC4wNTQ2Njk3MDM4
NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToy
MC4wIDI6MTIuMCAzOjMuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4
NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTox
LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Ny4wIDM6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEu
MCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMzoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4w
IAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMzoxLjAg
CistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjMuMCAzOjIuMCAK
Ky0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0
NjY5NzAzODcyNCAxOjkuMCAyOjMuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMzoxLjAgCist
MC4wNTQ2Njk3MDM4NzI0IDE6Ni4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjQuMCAKKy0wLjA1NDY2
OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Ny4wIDI6Mi4wIAorLTAuMDU0NjY5
NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMzoxLjAgCistMC4wNTQ2Njk3
MDM4NzI0IDE6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQg
MTo5LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAK
Ky0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0
NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4
NzI0IDE6MTQuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxMi4wIDM6Ni4wIAorLTAuMDU0NjY5NzAz
ODcyNCAxOjMuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo0LjAgMjoxLjAgMzoxLjAgCistMC4wNTQ2
Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3
MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjku
MCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo5LjAgMjoxLjAgMzo0LjAgCistMC4wNTQ2Njk3MDM4NzI0
IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo5LjAg
MjoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6My4wIDI6My4wIAorLTAuMDU0NjY5NzAzODcyNCAx
OjIuMCAyOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMjoxLjAgMzoxLjAgCistMC4wNTQ2
Njk3MDM4NzI0IDE6OC4wIDI6MS4wIDM6My4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0w
LjA1NDY2OTcwMzg3MjQgMToyLjAgMjoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6OS4wIDI6MS4w
IAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4w
NTQ2Njk3MDM4NzI0IDE6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcw
Mzg3MjQgMTozNi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQg
MToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAK
Ky0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIAorLTAuMDU0
NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4
NzI0IDE6Ni4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAzOjEuMCAKKy0wLjA1NDY2OTcwMzg3
MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEu
MCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIAorLTAu
MDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAgCistMC4wNTQ2Njk3
MDM4NzI0IDE6NC4wIDM6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEzLjAgMzo0LjAgCistMC4w
NTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDQwMjA3NTE3ODk0MiAxOjEuMCAKKzAuNTg1MzY1ODUz
NjU5IDE6MS4wIAorMC40NzkyNzYxMzkwMDEgMTo2LjAgMjozLjAgCiswLjU4NTM2NTg1MzY1OSAx
OjIuMCAKKzAuNTg1MzY1ODUzNjU5IDE6MS4wIAorMC41ODUzNjU4NTM2NTkgMTozLjAgMzozLjAg
CiswLjU4NTM2NTg1MzY1OSAxOjQyLjAgMjoyLjAgMzoyOC4wIAorMC41ODUzNjU4NTM2NTkgMToy
LjAgCiswLjU4NTM2NTg1MzY1OSAxOjEyLjAgCiswLjQ3OTI4MzA0NjU3OCAxOjcuMCAKKzAuMzAw
Mzk3ODczNDc2IDE6My4wIDM6MS4wIAorMC4wNTQzMTczMzA2NDQyIDE6Ni4wIDM6Mi4wIAorMC41
NjM0NjUxMjYyOTkgMToxMS4wIAorMC41ODUzNjU4NTM2NTkgMToyLjAgCiswLjU4NTM2NTg1MzY1
OSAxOjEwLjAgMjozLjAgMzo2LjAgCiswLjU4NTM2NTg1MzY1OSAxOjEuMCAyOjEuMCAKKzAuNTg1
MzY1ODUzNjU5IDE6Mi4wIAorMC41ODUzNjU4NTM2NTkgMToxLjAgMjoxLjAgCiswLjU4NTM2NTg1
MzY1OSAxOjMuMCAzOjEuMCAKKzAuNTg1MzY1ODUzNjU5IDE6MS4wIAorMC41ODUzNjU4NTM2NTkg
MToyLjAgCiswLjU4NTM2NTg1MzY1OSAxOjEuMCAyOjEuMCAKKzAuNTg0OTg5NzE5OTA5IDE6Ny4w
IAorMC41ODUzNjU4NTM2NTkgMTozLjAgCiswLjU4NTM2NTg1MzY1OSAxOjMuMCAKKzAuNTI1OTI1
MTM2OTgzIDE6My4wIDI6Mi4wIAorMC41ODUzNjU4NTM2NTkgMToxLjAgCiswLjU4NTM2NTg1MzY1
OSAxOjEuMCAKKzAuNTg1MzY1ODUzNjU5IDE6My4wIDM6MS4wIAorMC41ODUzNjU4NTM2NTkgMTox
LjAgCiswLjUyMDc0NTgyMjM3NCAxOjMuMCAKK3N2bV90eXBlIGNfc3ZjCitrZXJuZWxfdHlwZSBy
YmYKK2dhbW1hIDAuMQorbnJfY2xhc3MgMgordG90YWxfc3YgMzMwCityaG8gMC4yODc5NDU2NDIy
NjEKK2xhYmVsIC0xIDEKK25yX3N2IDMwMCAzMAorU1YKKy0wLjA1NDY2OTcwMzg3MjQgMToxNC4w
IDI6My4wIDM6Ny4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAyOjEuMCAKKy0wLjA1NDY2OTcw
Mzg3MjQgMToyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDM6MS4wIAorLTAuMDU0NjY5NzAz
ODcyNCAxOjEyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Ny4wIAorLTAuMDU0NjY5NzAzODcyNCAx
OjIuMCAyOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMzoxLjAgCistMC4wNTQ2Njk3MDM4
NzI0IDE6My4wIDI6MTYuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMzoxLjAgCistMC4wNTQ2
Njk3MDM4NzI0IDE6MS4wIDI6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAzOjEuMCAKKy0w
LjA1NDY2OTcwMzg3MjQgMToyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6My4wIDI6MS4wIAorLTAu
MDU0NjY5NzAzODcyNCAxOjUuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxNi4wIDI6Mi4wIDM6Mi4w
IAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAyOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxMS4w
IAorLTAuMDU0NjY5NzAzODcyNCAxOjQuMCAzOjMuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyOC4w
IAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMzoxLjAg
CistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDM6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIyLjAg
MjoxLjAgMzoxMi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjE0LjAgMzo1LjAgCistMC4wNTQ2Njk3
MDM4NzI0IDE6MS4wIDM6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjQ4LjAgMjoxLjAgCistMC4w
NTQ2Njk3MDM4NzI0IDE6MjUuMCAzOjE2LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDI6MS4w
IAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAzOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo2LjAg
CistMC4wNTQ2Njk3MDM4NzI0IDE6Ny4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAyOjEuMCAK
Ky0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMzoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6My4wIDM6
Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjcuMCAyOjEuMCAzOjEuMCAKKy0wLjA1NDY2OTcwMzg3
MjQgMToyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Ny4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjUu
MCAyOjIuMCAzOjMuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAgCistMC4wNTQ2Njk3MDM4NzI0
IDE6MS4wIDI6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjQuMCAKKy0wLjA1NDY2OTcwMzg3MjQg
MToxLjAgMjoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDM6MS4wIAorLTAuMDU0NjY5NzAz
ODcyNCAxOjkuMCAzOjQuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMjoxLjAgCistMC4wNTQ2
Njk3MDM4NzI0IDE6MS4wIDM6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjQ3LjAgMjoyMS4wIDM6
MzMuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxMS4wIDI6Mi4wIDM6NS4wIAorLTAuMDU0NjY5NzAz
ODcyNCAxOjExLjAgMjozLjAgMzoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDM6MS4wIAor
LTAuMDU0NjY5NzAzODcyNCAxOjIuMCAyOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo0My4wIDM6
Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEzLjAgMzo3LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6
MS4wIDM6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjQuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTox
My4wIDM6NC4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjQyLjAgMjo0LjAgMzozMi4wIAorLTAuMDU0
NjY5NzAzODcyNCAxOjEwLjAgMjo1LjAgMzoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Ny4wIDM6
NC4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMzox
LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDM6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjYu
MCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMjoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Ni4w
IAorLTAuMDU0NjY5NzAzODcyNCAxOjE2LjAgMjo0LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MTAu
MCAyOjEuMCAzOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxOC4wIDI6My4wIDM6Ni4wIAorLTAu
MDU0NjY5NzAzODcyNCAxOjEuMCAzOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMjoxLjAg
CistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjMuMCAyOjEuMCAz
OjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMjoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6
My4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjMuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo0LjAgCist
MC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAzOjIuMCAKKy0w
LjA1NDY2OTcwMzg3MjQgMToyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDM6MS4wIAorLTAu
MDU0NjY5NzAzODcyNCAxOjIxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIAorLTAuMDU0NjY5
NzAzODcyNCAxOjIuMCAyOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxNC4wIAorLTAuMDU0NjY5
NzAzODcyNCAxOjIuMCAyOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAgMzoyLjAgCistMC4w
NTQ2Njk3MDM4NzI0IDE6NC4wIDM6My4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAzOjEuMCAK
Ky0wLjA1NDY2OTcwMzg3MjQgMTozLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIAorLTAuMDU0
NjY5NzAzODcyNCAxOjEuMCAyOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo0LjAgCistMC4wNTQ2
Njk3MDM4NzI0IDE6MzkuMCAzOjQuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2
Njk3MDM4NzI0IDE6Mi4wIDI6MS4wIDM6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjQuMCAKKy0w
LjA1NDY2OTcwMzg3MjQgMToyLjAgMjoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6NC4wIAorLTAu
MDU0NjY5NzAzODcyNCAxOjEuMCAyOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMjoyLjAg
CistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAyOjEuMCAK
Ky0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0
NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4
NzI0IDE6My4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAyOjEuMCAKKy0wLjA1NDY2OTcwMzg3
MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEu
MCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAu
MDU0NjY5NzAzODcyNCAxOjEuMCAzOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4w
NTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcw
Mzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAx
OjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAor
LTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2
Njk3MDM4NzI0IDE6MTYuMCAyOjEuMCAzOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCist
MC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAyOjEuMCAKKy0w
LjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5
NzAzODcyNCAxOjMuMCAyOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMzoxLjAgCistMC4w
NTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcw
Mzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAx
OjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MjAuMCAz
OjMuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIAor
LTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2
Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3
MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDM6MS4wIAorLTAuMDU0NjY5NzAzODcy
NCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMzoxLjAgCistMC4wNTQ2Njk3MDM4NzI0
IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjguMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo3LjAg
MjoxLjAgMzoyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6OC4wIDI6Mi4wIAorLTAuMDU0NjY5NzAz
ODcyNCAxOjEuMCAyOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4
NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAyOjEuMCAKKy0wLjA1NDY2OTcwMzg3
MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEu
MCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAu
MDU0NjY5NzAzODcyNCAxOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3
MDM4NzI0IDE6MTIuMCAzOjcuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3
MDM4NzI0IDE6OS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjcuMCAKKy0wLjA1NDY2OTcwMzg3MjQg
MToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDI6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAx
OjEuMCAzOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6
OC4wIDI6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjE3LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6
Mi4wIDI6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTox
LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0w
LjA1NDY2OTcwMzg3MjQgMTo0LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5
NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxMy4wIDI6NC4wIDM6Mi4wIAorLTAu
MDU0NjY5NzAzODcyNCAxOjEuMCAzOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAgMzoyLjAg
CistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjE2LjAgCistMC4w
NTQ2Njk3MDM4NzI0IDE6My4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcw
Mzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAx
OjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAor
LTAuMDU0NjY5NzAzODcyNCAxOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAgCistMC4wNTQ2
Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3
MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIu
MCAKKy0wLjA1NDY2OTcwMzg3MjQgMTozLjAgMzozLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4w
IAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxMS4wIDM6MTEu
MCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAu
MDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAgCistMC4wNTQ2Njk3
MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQg
MToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAK
Ky0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0
NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4
NzI0IDE6MTUuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6
MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIwLjAgMjoxMi4wIDM6My4wIAorLTAuMDU0NjY5NzAz
ODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6
MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo3LjAgMzox
LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAzOjEu
MCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAu
MDU0NjY5NzAzODcyNCAxOjEuMCAzOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4w
NTQ2Njk3MDM4NzI0IDE6My4wIDM6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1
NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6OS4wIDI6My4wIAorLTAuMDU0
NjY5NzAzODcyNCAxOjEuMCAzOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo2LjAgCistMC4wNTQ2
Njk3MDM4NzI0IDE6NC4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3
MjQgMTo3LjAgMjoyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcy
NCAxOjEuMCAzOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAgCistMC4wNTQ2Njk3MDM4NzI0
IDE6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjkuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAg
CistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1
NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAz
ODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxNC4wIAorLTAuMDU0NjY5NzAzODcyNCAx
OjEyLjAgMzo2LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6My4wIAorLTAuMDU0NjY5NzAzODcyNCAx
OjQuMCAyOjEuMCAzOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4
NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTox
LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6OS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjkuMCAyOjEu
MCAzOjQuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4w
IAorLTAuMDU0NjY5NzAzODcyNCAxOjkuMCAyOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTozLjAg
MjozLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIDI6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAx
OjEuMCAyOjEuMCAzOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo4LjAgMjoxLjAgMzozLjAgCist
MC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAyOjEuMCAKKy0w
LjA1NDY2OTcwMzg3MjQgMTo5LjAgMjoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAu
MDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAgCistMC4wNTQ2Njk3
MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjM2LjAgCistMC4wNTQ2Njk3MDM4NzI0
IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAg
CistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1
NDY2OTcwMzg3MjQgMToyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAz
ODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo2LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6
MS4wIDM6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTox
LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0w
LjA1NDY2OTcwMzg3MjQgMToyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5
NzAzODcyNCAxOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo0LjAgMzoyLjAgCistMC4wNTQ2Njk3
MDM4NzI0IDE6MTMuMCAzOjQuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNDAyMDc1
MTc4OTQyIDE6MS4wIAorMC41ODUzNjU4NTM2NTkgMToxLjAgCiswLjQ3OTI3NjEzOTAwMSAxOjYu
MCAyOjMuMCAKKzAuNTg1MzY1ODUzNjU5IDE6Mi4wIAorMC41ODUzNjU4NTM2NTkgMToxLjAgCisw
LjU4NTM2NTg1MzY1OSAxOjMuMCAzOjMuMCAKKzAuNTg1MzY1ODUzNjU5IDE6NDIuMCAyOjIuMCAz
OjI4LjAgCiswLjU4NTM2NTg1MzY1OSAxOjIuMCAKKzAuNTg1MzY1ODUzNjU5IDE6MTIuMCAKKzAu
NDc5MjgzMDQ2NTc4IDE6Ny4wIAorMC4zMDAzOTc4NzM0NzYgMTozLjAgMzoxLjAgCiswLjA1NDMx
NzMzMDY0NDIgMTo2LjAgMzoyLjAgCiswLjU2MzQ2NTEyNjI5OSAxOjExLjAgCiswLjU4NTM2NTg1
MzY1OSAxOjIuMCAKKzAuNTg1MzY1ODUzNjU5IDE6MTAuMCAyOjMuMCAzOjYuMCAKKzAuNTg1MzY1
ODUzNjU5IDE6MS4wIDI6MS4wIAorMC41ODUzNjU4NTM2NTkgMToyLjAgCiswLjU4NTM2NTg1MzY1
OSAxOjEuMCAyOjEuMCAKKzAuNTg1MzY1ODUzNjU5IDE6My4wIDM6MS4wIAorMC41ODUzNjU4NTM2
NTkgMToxLjAgCiswLjU4NTM2NTg1MzY1OSAxOjIuMCAKKzAuNTg1MzY1ODUzNjU5IDE6MS4wIDI6
MS4wIAorMC41ODQ5ODk3MTk5MDkgMTo3LjAgCiswLjU4NTM2NTg1MzY1OSAxOjMuMCAKKzAuNTg1
MzY1ODUzNjU5IDE6My4wIAorMC41MjU5MjUxMzY5ODMgMTozLjAgMjoyLjAgCiswLjU4NTM2NTg1
MzY1OSAxOjEuMCAKKzAuNTg1MzY1ODUzNjU5IDE6MS4wIAorMC41ODUzNjU4NTM2NTkgMTozLjAg
MzoxLjAgCiswLjU4NTM2NTg1MzY1OSAxOjEuMCAKKzAuNTIwNzQ1ODIyMzc0IDE6My4wIApJbmRl
eDogU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5h
Z2VyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUmVzb3Vy
Y2VMb2FkU3RhdGlzdGljc01hbmFnZXIuY3BwCShyZXZpc2lvbiAyMTI1MjQpCisrKyBTb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFnZXIuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC02MSw2ICs2MSwyMSBAQCBib29sIFdlYlJlc291cmNlTG9hZFN0YXRp
c3RpY3NNYW5hZ2VyOjpoCiAgICAgcmV0dXJuIFdlYkNvcmU6OlJlc291cmNlTG9hZE9ic2VydmVy
OjpzaGFyZWRPYnNlcnZlcigpLmhhc0hhZFVzZXJJbnRlcmFjdGlvbihVUkwoVVJMKCksIGhvc3RO
YW1lKSk7CiB9CiAKK3ZvaWQgV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFnZXI6OnNldFN1
YmZyYW1lVW5kZXJUb3BGcmFtZU9yaWdpbihjb25zdCBTdHJpbmcmIGhvc3ROYW1lLCBjb25zdCBT
dHJpbmcmIHRvcEZyYW1lSG9zdE5hbWUpCit7CisgICAgV2ViQ29yZTo6UmVzb3VyY2VMb2FkT2Jz
ZXJ2ZXI6OnNoYXJlZE9ic2VydmVyKCkuc2V0U3ViZnJhbWVVbmRlclRvcEZyYW1lT3JpZ2luKFVS
TChVUkwoKSwgaG9zdE5hbWUpLCBVUkwoVVJMKCksIHRvcEZyYW1lSG9zdE5hbWUpKTsKK30KKwor
dm9pZCBXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdlcjo6c2V0U3VicmVzb3VyY2VVbmRl
clRvcEZyYW1lT3JpZ2luKGNvbnN0IFN0cmluZyYgaG9zdE5hbWUsIGNvbnN0IFN0cmluZyYgdG9w
RnJhbWVIb3N0TmFtZSkKK3sKKyAgICBXZWJDb3JlOjpSZXNvdXJjZUxvYWRPYnNlcnZlcjo6c2hh
cmVkT2JzZXJ2ZXIoKS5zZXRTdWJyZXNvdXJjZVVuZGVyVG9wRnJhbWVPcmlnaW4oVVJMKFVSTCgp
LCBob3N0TmFtZSksIFVSTChVUkwoKSwgdG9wRnJhbWVIb3N0TmFtZSkpOworfQorCit2b2lkIFdl
YlJlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VyOjpzZXRTdWJyZXNvdXJjZVVuaXF1ZVJlZGly
ZWN0VG8oY29uc3QgU3RyaW5nJiBob3N0TmFtZSwgY29uc3QgU3RyaW5nJiBob3N0TmFtZVJlZGly
ZWN0ZWRUbykKK3sKKyAgICBXZWJDb3JlOjpSZXNvdXJjZUxvYWRPYnNlcnZlcjo6c2hhcmVkT2Jz
ZXJ2ZXIoKS5zZXRTdWJyZXNvdXJjZVVuaXF1ZVJlZGlyZWN0VG8oVVJMKFVSTCgpLCBob3N0TmFt
ZSksIFVSTChVUkwoKSwgaG9zdE5hbWVSZWRpcmVjdGVkVG8pKTsKK30KKwogdm9pZCBXZWJSZXNv
dXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdlcjo6c2V0VGltZVRvTGl2ZVVzZXJJbnRlcmFjdGlvbihk
b3VibGUgc2Vjb25kcykKIHsKICAgICBXZWJDb3JlOjpSZXNvdXJjZUxvYWRPYnNlcnZlcjo6c2hh
cmVkT2JzZXJ2ZXIoKS5zZXRUaW1lVG9MaXZlVXNlckludGVyYWN0aW9uKHNlY29uZHMpOwpJbmRl
eDogU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5h
Z2VyLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlJlc291cmNl
TG9hZFN0YXRpc3RpY3NNYW5hZ2VyLmgJKHJldmlzaW9uIDIxMjUyNCkKKysrIFNvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9XZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdlci5oCSh3b3JraW5n
IGNvcHkpCkBAIC00Miw2ICs0Miw5IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgYm9vbCBpc1ByZXZh
bGVudFJlc291cmNlKGNvbnN0IFN0cmluZyYgaG9zdE5hbWUpOwogICAgIHN0YXRpYyB2b2lkIHNl
dEhhc0hhZFVzZXJJbnRlcmFjdGlvbihjb25zdCBTdHJpbmcmIGhvc3ROYW1lLCBib29sIHZhbHVl
KTsKICAgICBzdGF0aWMgYm9vbCBoYXNIYWRVc2VySW50ZXJhY3Rpb24oY29uc3QgU3RyaW5nJiBo
b3N0TmFtZSk7CisgICAgc3RhdGljIHZvaWQgc2V0U3ViZnJhbWVVbmRlclRvcEZyYW1lT3JpZ2lu
KGNvbnN0IFN0cmluZyYgaG9zdE5hbWUsIGNvbnN0IFN0cmluZyYgdG9wRnJhbWVIb3N0TmFtZSk7
CisgICAgc3RhdGljIHZvaWQgc2V0U3VicmVzb3VyY2VVbmRlclRvcEZyYW1lT3JpZ2luKGNvbnN0
IFN0cmluZyYgaG9zdE5hbWUsIGNvbnN0IFN0cmluZyYgdG9wRnJhbWVIb3N0TmFtZSk7CisgICAg
c3RhdGljIHZvaWQgc2V0U3VicmVzb3VyY2VVbmlxdWVSZWRpcmVjdFRvKGNvbnN0IFN0cmluZyYg
aG9zdE5hbWUsIGNvbnN0IFN0cmluZyYgaG9zdE5hbWVSZWRpcmVjdGVkVG8pOwogICAgIHN0YXRp
YyB2b2lkIHNldFRpbWVUb0xpdmVVc2VySW50ZXJhY3Rpb24oZG91YmxlIHNlY29uZHMpOwogICAg
IHN0YXRpYyB2b2lkIHNldFJlZHVjZWRUaW1lc3RhbXBSZXNvbHV0aW9uKGRvdWJsZSBzZWNvbmRz
KTsKICAgICBzdGF0aWMgdm9pZCBmaXJlRGF0YU1vZGlmaWNhdGlvbkhhbmRsZXIoKTsKSW5kZXg6
IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmUu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJSZXNvdXJjZUxv
YWRTdGF0aXN0aWNzU3RvcmUuY3BwCShyZXZpc2lvbiAyMTI1MjQpCisrKyBTb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlLmNwcAkod29ya2luZyBj
b3B5KQpAQCAtNDUsNyArNDUsNiBAQCB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIAogbmFtZXNw
YWNlIFdlYktpdCB7CiAKLXN0YXRpYyBjb25zdCBhdXRvIGZlYXR1cmVWZWN0b3JMZW5ndGhUaHJl
c2hvbGQgPSAzOwogc3RhdGljIGF1dG8gbWluaW11bVRpbWVCZXR3ZWVlbkRhdGFSZWNvcmRzUmVt
b3ZhbCA9IDYwOwogc3RhdGljIE9wdGlvblNldDxXZWJLaXQ6OldlYnNpdGVEYXRhVHlwZT4gZGF0
YVR5cGVzVG9SZW1vdmU7CiBzdGF0aWMgYXV0byBub3RpZnlQYWdlcyA9IGZhbHNlOwpAQCAtNTks
NyArNTgsNyBAQCBSZWY8V2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlPiBXZWJSCiBXZWJS
ZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmU6OldlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9y
ZShjb25zdCBTdHJpbmcmIHJlc291cmNlTG9hZFN0YXRpc3RpY3NEaXJlY3RvcnkpCiAgICAgOiBt
X3Jlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZShSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmU6
OmNyZWF0ZSgpKQogICAgICwgbV9zdGF0aXN0aWNzUXVldWUoV29ya1F1ZXVlOjpjcmVhdGUoIldl
YlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZSBQcm9jZXNzIERhdGEgUXVldWUiKSkKLSAgICAs
IG1fc3RvcmFnZVBhdGgocmVzb3VyY2VMb2FkU3RhdGlzdGljc0RpcmVjdG9yeSkKKyAgICAsIG1f
c3RhdGlzdGljc1N0b3JhZ2VQYXRoKHJlc291cmNlTG9hZFN0YXRpc3RpY3NEaXJlY3RvcnkpCiB7
CiB9CiAKQEAgLTgzLDQwICs4MiwxMSBAQCB2b2lkIFdlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NT
dG9yZTo6c2V0CiAgICAgICAgIG1pbmltdW1UaW1lQmV0d2VlZW5EYXRhUmVjb3Jkc1JlbW92YWwg
PSBzZWNvbmRzOwogfQogCi1ib29sIFdlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZTo6aGFz
UHJldmFsZW50UmVzb3VyY2VDaGFyYWN0ZXJpc3RpY3MoY29uc3QgUmVzb3VyY2VMb2FkU3RhdGlz
dGljcyYgcmVzb3VyY2VTdGF0aXN0aWMpCi17Ci0gICAgYXV0byBzdWJyZXNvdXJjZVVuZGVyVG9w
RnJhbWVPcmlnaW5zQ291bnQgPSByZXNvdXJjZVN0YXRpc3RpYy5zdWJyZXNvdXJjZVVuZGVyVG9w
RnJhbWVPcmlnaW5zLnNpemUoKTsKLSAgICBhdXRvIHN1YnJlc291cmNlVW5pcXVlUmVkaXJlY3Rz
VG9Db3VudCA9IHJlc291cmNlU3RhdGlzdGljLnN1YnJlc291cmNlVW5pcXVlUmVkaXJlY3RzVG8u
c2l6ZSgpOwotICAgIGF1dG8gc3ViZnJhbWVVbmRlclRvcEZyYW1lT3JpZ2luc0NvdW50ID0gcmVz
b3VyY2VTdGF0aXN0aWMuc3ViZnJhbWVVbmRlclRvcEZyYW1lT3JpZ2lucy5zaXplKCk7Ci0gICAg
Ci0gICAgaWYgKCFzdWJyZXNvdXJjZVVuZGVyVG9wRnJhbWVPcmlnaW5zQ291bnQKLSAgICAgICAg
JiYgIXN1YnJlc291cmNlVW5pcXVlUmVkaXJlY3RzVG9Db3VudAotICAgICAgICAmJiAhc3ViZnJh
bWVVbmRlclRvcEZyYW1lT3JpZ2luc0NvdW50KQotICAgICAgICByZXR1cm4gZmFsc2U7Ci0KLSAg
ICBpZiAoc3VicmVzb3VyY2VVbmRlclRvcEZyYW1lT3JpZ2luc0NvdW50ID4gZmVhdHVyZVZlY3Rv
ckxlbmd0aFRocmVzaG9sZAotICAgICAgICB8fCBzdWJyZXNvdXJjZVVuaXF1ZVJlZGlyZWN0c1Rv
Q291bnQgPiBmZWF0dXJlVmVjdG9yTGVuZ3RoVGhyZXNob2xkCi0gICAgICAgIHx8IHN1YmZyYW1l
VW5kZXJUb3BGcmFtZU9yaWdpbnNDb3VudCA+IGZlYXR1cmVWZWN0b3JMZW5ndGhUaHJlc2hvbGQp
Ci0gICAgICAgIHJldHVybiB0cnVlOwotCi0gICAgLy8gVGhlIHJlc291cmNlIGlzIGNvbnNpZGVy
ZWQgcHJldmFsZW50IGlmIHRoZSBmZWF0dXJlIHZlY3RvcgotICAgIC8vIGlzIGxvbmdlciB0aGFu
IHRoZSB0aHJlc2hvbGQuCi0gICAgLy8gVmVjdG9yIGxlbmd0aCBmb3IgbiBkaW1lbnNpb25zIGlz
IHNxcnQoYV4yICsgKC4uLikgKyBuXjIpLgotICAgIGRvdWJsZSB2ZWN0b3JMZW5ndGggPSAwOwot
ICAgIHZlY3Rvckxlbmd0aCArPSBzdWJyZXNvdXJjZVVuZGVyVG9wRnJhbWVPcmlnaW5zQ291bnQg
KiBzdWJyZXNvdXJjZVVuZGVyVG9wRnJhbWVPcmlnaW5zQ291bnQ7Ci0gICAgdmVjdG9yTGVuZ3Ro
ICs9IHN1YnJlc291cmNlVW5pcXVlUmVkaXJlY3RzVG9Db3VudCAqIHN1YnJlc291cmNlVW5pcXVl
UmVkaXJlY3RzVG9Db3VudDsKLSAgICB2ZWN0b3JMZW5ndGggKz0gc3ViZnJhbWVVbmRlclRvcEZy
YW1lT3JpZ2luc0NvdW50ICogc3ViZnJhbWVVbmRlclRvcEZyYW1lT3JpZ2luc0NvdW50OwotCi0g
ICAgQVNTRVJUKHZlY3Rvckxlbmd0aCA+IDApOwotCi0gICAgcmV0dXJuIHNxcnQodmVjdG9yTGVu
Z3RoKSA+IGZlYXR1cmVWZWN0b3JMZW5ndGhUaHJlc2hvbGQ7Ci19Ci0gICAgCiB2b2lkIFdlYlJl
c291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZTo6Y2xhc3NpZnlSZXNvdXJjZShSZXNvdXJjZUxvYWRT
dGF0aXN0aWNzJiByZXNvdXJjZVN0YXRpc3RpYykKIHsKLSAgICBpZiAoIXJlc291cmNlU3RhdGlz
dGljLmlzUHJldmFsZW50UmVzb3VyY2UgJiYgaGFzUHJldmFsZW50UmVzb3VyY2VDaGFyYWN0ZXJp
c3RpY3MocmVzb3VyY2VTdGF0aXN0aWMpKSB7CisgICAgaWYgKCFyZXNvdXJjZVN0YXRpc3RpYy5p
c1ByZXZhbGVudFJlc291cmNlCisgICAgICAgICYmIG1fcmVzb3VyY2VMb2FkU3RhdGlzdGljc0Ns
YXNzaWZpZXIuaGFzUHJldmFsZW50UmVzb3VyY2VDaGFyYWN0ZXJpc3RpY3MocmVzb3VyY2VTdGF0
aXN0aWMpKQogICAgICAgICByZXNvdXJjZVN0YXRpc3RpYy5pc1ByZXZhbGVudFJlc291cmNlID0g
dHJ1ZTsKLSAgICB9CiB9CiAKIHZvaWQgV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlOjpy
ZW1vdmVEYXRhUmVjb3JkcygpCkBAIC0yNDgsMTEgKzIxOCwxMSBAQCB2b2lkIFdlYlJlc291cmNl
TG9hZFN0YXRpc3RpY3NTdG9yZTo6YXBwCiAKIFN0cmluZyBXZWJSZXNvdXJjZUxvYWRTdGF0aXN0
aWNzU3RvcmU6OnBlcnNpc3RlbnRTdG9yYWdlUGF0aChjb25zdCBTdHJpbmcmIGxhYmVsKSBjb25z
dAogewotICAgIGlmIChtX3N0b3JhZ2VQYXRoLmlzRW1wdHkoKSkKKyAgICBpZiAobV9zdGF0aXN0
aWNzU3RvcmFnZVBhdGguaXNFbXB0eSgpKQogICAgICAgICByZXR1cm4gZW1wdHlTdHJpbmcoKTsK
IAogICAgIC8vIFRPRE8gRGVjaWRlIHdoYXQgdG8gY2FsbCB0aGlzIGZpbGUKLSAgICByZXR1cm4g
cGF0aEJ5QXBwZW5kaW5nQ29tcG9uZW50KG1fc3RvcmFnZVBhdGgsIGxhYmVsICsgIl9yZXNvdXJj
ZUxvZy5wbGlzdCIpOworICAgIHJldHVybiBwYXRoQnlBcHBlbmRpbmdDb21wb25lbnQobV9zdGF0
aXN0aWNzU3RvcmFnZVBhdGgsIGxhYmVsICsgIl9yZXNvdXJjZUxvZy5wbGlzdCIpOwogfQogCiB2
b2lkIFdlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZTo6d3JpdGVFbmNvZGVyVG9EaXNrKEtl
eWVkRW5jb2RlciYgZW5jb2RlciwgY29uc3QgU3RyaW5nJiBsYWJlbCkgY29uc3QKQEAgLTI2NSw4
ICsyMzUsOCBAQCB2b2lkIFdlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZTo6d3JpCiAgICAg
aWYgKHJlc291cmNlTG9nLmlzRW1wdHkoKSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgaWYgKCFt
X3N0b3JhZ2VQYXRoLmlzRW1wdHkoKSkKLSAgICAgICAgbWFrZUFsbERpcmVjdG9yaWVzKG1fc3Rv
cmFnZVBhdGgpOworICAgIGlmICghbV9zdGF0aXN0aWNzU3RvcmFnZVBhdGguaXNFbXB0eSgpKQor
ICAgICAgICBtYWtlQWxsRGlyZWN0b3JpZXMobV9zdGF0aXN0aWNzU3RvcmFnZVBhdGgpOwogCiAg
ICAgYXV0byBoYW5kbGUgPSBvcGVuRmlsZShyZXNvdXJjZUxvZywgT3BlbkZvcldyaXRlKTsKICAg
ICBpZiAoIWhhbmRsZSkKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJSZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzU3RvcmUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlLmgJKHJldmlzaW9uIDIxMjUyNCkK
KysrIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3Rv
cmUuaAkod29ya2luZyBjb3B5KQpAQCAtMjgsNiArMjgsNyBAQAogCiAjaW5jbHVkZSAiQVBJT2Jq
ZWN0LmgiCiAjaW5jbHVkZSAiQ29ubmVjdGlvbi5oIgorI2luY2x1ZGUgIlJlc291cmNlTG9hZFN0
YXRpc3RpY3NDbGFzc2lmaWVyLmgiCiAjaW5jbHVkZSAiV2Vic2l0ZURhdGFSZWNvcmQuaCIKICNp
bmNsdWRlIDxXZWJDb3JlL1Jlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZS5oPgogI2luY2x1ZGUg
PHd0Zi9WZWN0b3IuaD4KQEAgLTc2LDcgKzc3LDYgQEAgcHJpdmF0ZToKIAogICAgIHZvaWQgcHJv
Y2Vzc1N0YXRpc3RpY3NBbmREYXRhUmVjb3JkcygpOwogCi0gICAgYm9vbCBoYXNQcmV2YWxlbnRS
ZXNvdXJjZUNoYXJhY3RlcmlzdGljcyhjb25zdCBXZWJDb3JlOjpSZXNvdXJjZUxvYWRTdGF0aXN0
aWNzJik7CiAgICAgdm9pZCBjbGFzc2lmeVJlc291cmNlKFdlYkNvcmU6OlJlc291cmNlTG9hZFN0
YXRpc3RpY3MmKTsKICAgICB2b2lkIHJlbW92ZURhdGFSZWNvcmRzKCk7CiAKQEAgLTg5LDggKzg5
LDkgQEAgcHJpdmF0ZToKICAgICBzdGQ6OnVuaXF1ZV9wdHI8V2ViQ29yZTo6S2V5ZWREZWNvZGVy
PiBjcmVhdGVEZWNvZGVyRnJvbURpc2soY29uc3QgU3RyaW5nJiBsYWJlbCkgY29uc3Q7CiAKICAg
ICBSZWY8V2ViQ29yZTo6UmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlPiBtX3Jlc291cmNlTG9h
ZFN0YXRpc3RpY3NTdG9yZTsKKyAgICBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllciBt
X3Jlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyOwogICAgIFJlZjxXVEY6OldvcmtRdWV1
ZT4gbV9zdGF0aXN0aWNzUXVldWU7Ci0gICAgU3RyaW5nIG1fc3RvcmFnZVBhdGg7CisgICAgU3Ry
aW5nIG1fc3RhdGlzdGljc1N0b3JhZ2VQYXRoOwogICAgIGJvb2wgbV9yZXNvdXJjZUxvYWRTdGF0
aXN0aWNzRW5hYmxlZCB7IGZhbHNlIH07CiAKICAgICBkb3VibGUgbV9sYXN0VGltZURhdGFSZWNv
cmRzV2VyZVJlbW92ZWQgeyAwIH07CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJ
L0MvV0tSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdlci5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFn
ZXIuY3BwCShyZXZpc2lvbiAyMTI1MjQpCisrKyBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJ
L0MvV0tSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdlci5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTU2LDYgKzU2LDIxIEBAIGJvb2wgV0tSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdlcklzSGEK
ICAgICByZXR1cm4gV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFnZXI6Omhhc0hhZFVzZXJJ
bnRlcmFjdGlvbih0b1dURlN0cmluZyhob3N0TmFtZSkpOwogfQogCit2b2lkIFdLUmVzb3VyY2VM
b2FkU3RhdGlzdGljc01hbmFnZXJTZXRTdWJmcmFtZVVuZGVyVG9wRnJhbWVPcmlnaW4oV0tTdHJp
bmdSZWYgaG9zdE5hbWUsIFdLU3RyaW5nUmVmIHRvcEZyYW1lSG9zdE5hbWUpCit7CisgICAgV2Vi
UmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFnZXI6OnNldFN1YmZyYW1lVW5kZXJUb3BGcmFtZU9y
aWdpbih0b1dURlN0cmluZyhob3N0TmFtZSksIHRvV1RGU3RyaW5nKHRvcEZyYW1lSG9zdE5hbWUp
KTsKK30KKwordm9pZCBXS1Jlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VyU2V0U3VicmVzb3Vy
Y2VVbmRlclRvcEZyYW1lT3JpZ2luKFdLU3RyaW5nUmVmIGhvc3ROYW1lLCBXS1N0cmluZ1JlZiB0
b3BGcmFtZUhvc3ROYW1lKQoreworICAgIFdlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2Vy
OjpzZXRTdWJyZXNvdXJjZVVuZGVyVG9wRnJhbWVPcmlnaW4odG9XVEZTdHJpbmcoaG9zdE5hbWUp
LCB0b1dURlN0cmluZyh0b3BGcmFtZUhvc3ROYW1lKSk7Cit9CisKK3ZvaWQgV0tSZXNvdXJjZUxv
YWRTdGF0aXN0aWNzTWFuYWdlclNldFN1YnJlc291cmNlVW5pcXVlUmVkaXJlY3RUbyhXS1N0cmlu
Z1JlZiBob3N0TmFtZSwgV0tTdHJpbmdSZWYgaG9zdE5hbWVSZWRpcmVjdGVkVG8pCit7CisgICAg
V2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFnZXI6OnNldFN1YnJlc291cmNlVW5pcXVlUmVk
aXJlY3RUbyh0b1dURlN0cmluZyhob3N0TmFtZSksIHRvV1RGU3RyaW5nKGhvc3ROYW1lUmVkaXJl
Y3RlZFRvKSk7Cit9CisKIHZvaWQgV0tSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdlclNldFRp
bWVUb0xpdmVVc2VySW50ZXJhY3Rpb24oZG91YmxlIHNlY29uZHMpCiB7CiAgICAgV2ViUmVzb3Vy
Y2VMb2FkU3RhdGlzdGljc01hbmFnZXI6OnNldFRpbWVUb0xpdmVVc2VySW50ZXJhY3Rpb24oc2Vj
b25kcyk7CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tSZXNvdXJjZUxv
YWRTdGF0aXN0aWNzTWFuYWdlci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9BUEkvQy9XS1Jlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VyLmgJKHJldmlzaW9uIDIx
MjUyNCkKKysrIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1Jlc291cmNlTG9hZFN0
YXRpc3RpY3NNYW5hZ2VyLmgJKHdvcmtpbmcgY29weSkKQEAgLTM4LDYgKzM4LDkgQEAgZXh0ZXJu
ICJDIiB7CiAgICAgV0tfRVhQT1JUIGJvb2wgV0tSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdl
cklzUHJldmFsZW50UmVzb3VyY2UoV0tTdHJpbmdSZWYgaG9zdE5hbWUpOwogICAgIFdLX0VYUE9S
VCB2b2lkIFdLUmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFnZXJTZXRIYXNIYWRVc2VySW50ZXJh
Y3Rpb24oV0tTdHJpbmdSZWYgaG9zdE5hbWUsIGJvb2wgdmFsdWUpOwogICAgIFdLX0VYUE9SVCBi
b29sIFdLUmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFnZXJJc0hhc0hhZFVzZXJJbnRlcmFjdGlv
bihXS1N0cmluZ1JlZiBob3N0TmFtZSk7CisgICAgV0tfRVhQT1JUIHZvaWQgV0tSZXNvdXJjZUxv
YWRTdGF0aXN0aWNzTWFuYWdlclNldFN1YmZyYW1lVW5kZXJUb3BGcmFtZU9yaWdpbihXS1N0cmlu
Z1JlZiBob3N0TmFtZSwgV0tTdHJpbmdSZWYgdG9wRnJhbWVIb3N0TmFtZSk7CisgICAgV0tfRVhQ
T1JUIHZvaWQgV0tSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdlclNldFN1YnJlc291cmNlVW5k
ZXJUb3BGcmFtZU9yaWdpbihXS1N0cmluZ1JlZiBob3N0TmFtZSwgV0tTdHJpbmdSZWYgdG9wRnJh
bWVIb3N0TmFtZSk7CisgICAgV0tfRVhQT1JUIHZvaWQgV0tSZXNvdXJjZUxvYWRTdGF0aXN0aWNz
TWFuYWdlclNldFN1YnJlc291cmNlVW5pcXVlUmVkaXJlY3RUbyhXS1N0cmluZ1JlZiBob3N0TmFt
ZSwgV0tTdHJpbmdSZWYgaG9zdE5hbWVSZWRpcmVjdGVkVG8pOwogICAgIFdLX0VYUE9SVCB2b2lk
IFdLUmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFnZXJTZXRUaW1lVG9MaXZlVXNlckludGVyYWN0
aW9uKGRvdWJsZSBzZWNvbmRzKTsKICAgICBXS19FWFBPUlQgdm9pZCBXS1Jlc291cmNlTG9hZFN0
YXRpc3RpY3NNYW5hZ2VyU2V0UmVkdWNlZFRpbWVzdGFtcFJlc29sdXRpb24oZG91YmxlIHNlY29u
ZHMpOwogICAgIFdLX0VYUE9SVCB2b2lkIFdLUmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFnZXJG
aXJlRGF0YU1vZGlmaWNhdGlvbkhhbmRsZXIoKTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1dlYktp
dDIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvago9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0
Mi9XZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHJldmlzaW9uIDIxMjUyNCkKKysr
IFNvdXJjZS9XZWJLaXQyL1dlYktpdDIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkod29ya2lu
ZyBjb3B5KQpAQCAtMTE0OSw2ICsxMTQ5LDEyIEBACiAJCTZCRTk2OTlFMUU0M0I0MUQwMDhCNzQ4
MyAvKiBXS1Jlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VyLmNwcCBpbiBTb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDZCRTk2OTlEMUU0M0I0MUQwMDhCNzQ4MyAv
KiBXS1Jlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VyLmNwcCAqLzsgfTsKIAkJNkJFOTY5QTAx
RTQzQjg2RTAwOEI3NDgzIC8qIFdlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VyLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA2QkU5Njk5RjFFNDNC
ODZFMDA4Qjc0ODMgLyogV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFnZXIuaCAqLzsgfTsK
IAkJNkJFOTY5QTIxRTQzQjhBNDAwOEI3NDgzIC8qIFdlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NN
YW5hZ2VyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDZCRTk2OUExMUU0M0I4QTQwMDhCNzQ4MyAvKiBXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFu
YWdlci5jcHAgKi87IH07CisJCTZCRTk2OUMxMUU1NEQ0NTIwMDhCNzQ4MyAvKiBjb3JlUHJlZGlj
dGlvbl9tb2RlbCBpbiBSZXNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gNkJFOTY5QzAxRTU0RDQ1MjAwOEI3NDgzIC8qIGNvcmVQcmVkaWN0aW9uX21vZGVsICovOyB9
OworCQk2QkU5NjlDNTFFNTRENEE0MDA4Qjc0ODMgLyogUmVzb3VyY2VMb2FkU3RhdGlzdGljc0Ns
YXNzaWZpZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDZCRTk2OUM0MUU1NEQ0QTQwMDhCNzQ4MyAvKiBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3Np
Zmllci5oICovOyB9OworCQk2QkU5NjlDNzFFNTRENEI2MDA4Qjc0ODMgLyogUmVzb3VyY2VMb2Fk
U3RhdGlzdGljc0NsYXNzaWZpZXJCYXNlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDZCRTk2OUM2MUU1NEQ0QjYwMDhCNzQ4MyAvKiBSZXNvdXJjZUxv
YWRTdGF0aXN0aWNzQ2xhc3NpZmllckJhc2UuY3BwICovOyB9OworCQk2QkU5NjlDQTFFNTRENENG
MDA4Qjc0ODMgLyogUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXJDb2NvYS5jcHAgaW4g
U291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA2QkU5NjlDODFFNTRE
NENGMDA4Qjc0ODMgLyogUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXJDb2NvYS5jcHAg
Ki87IH07CisJCTZCRTk2OUNCMUU1NEQ0Q0YwMDhCNzQ4MyAvKiBSZXNvdXJjZUxvYWRTdGF0aXN0
aWNzQ2xhc3NpZmllckNvY29hLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA2QkU5NjlDOTFFNTRENENGMDA4Qjc0ODMgLyogUmVzb3VyY2VMb2FkU3RhdGlz
dGljc0NsYXNzaWZpZXJDb2NvYS5oICovOyB9OworCQk2QkU5NjlDRDFFNTRFMDU0MDA4Qjc0ODMg
LyogUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXJCYXNlLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA2QkU5NjlDQzFFNTRFMDU0MDA4Qjc0ODMg
LyogUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXJCYXNlLmggKi87IH07CiAJCTZFRTg0
OUM4MTM2OEQ5MzkwMDM4RDQ4MSAvKiBXS0luc3BlY3RvclByaXZhdGVNYWMuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDZFRTg0OUM2MTM2OEQ5MkQwMDM4
RDQ4MSAvKiBXS0luc3BlY3RvclByaXZhdGVNYWMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRF
UyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk3MjhFODZGMTE3OTUxODhDMDA4Nzg3OUUgLyogV2Vi
Q29sb3JQaWNrZXJNYWMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDcyOEU4NkVGMTc5NTE4OEMwMDg3ODc5RSAvKiBXZWJDb2xvclBpY2tlck1hYy5oICov
OyB9OwogCQk3MjhFODZGMjE3OTUxODhDMDA4Nzg3OUUgLyogV2ViQ29sb3JQaWNrZXJNYWMubW0g
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3MjhFODZGMDE3
OTUxODhDMDA4Nzg3OUUgLyogV2ViQ29sb3JQaWNrZXJNYWMubW0gKi87IH07CkBAIC0zMzM2LDYg
KzMzNDIsMTIgQEAKIAkJNkJFOTY5OUQxRTQzQjQxRDAwOEI3NDgzIC8qIFdLUmVzb3VyY2VMb2Fk
U3RhdGlzdGljc01hbmFnZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRo
ID0gV0tSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCTZCRTk2OTlGMUU0M0I4NkUwMDhCNzQ4MyAvKiBXZWJSZXNvdXJjZUxvYWRT
dGF0aXN0aWNzTWFuYWdlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJS
ZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQk2QkU5NjlBMTFFNDNCOEE0MDA4Qjc0ODMgLyogV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGlj
c01hbmFnZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV2ViUmVz
b3VyY2VMb2FkU3RhdGlzdGljc01hbmFnZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OworCQk2QkU5NjlDMDFFNTRENDUyMDA4Qjc0ODMgLyogY29yZVByZWRpY3Rpb25fbW9kZWwgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSB0ZXh0OyBwYXRoID0gY29yZVByZWRpY3Rpb25fbW9kZWw7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CisJCTZCRTk2OUM0MUU1NEQ0QTQwMDhCNzQ4MyAvKiBSZXNvdXJjZUxvYWRT
dGF0aXN0aWNzQ2xhc3NpZmllci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBS
ZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OworCQk2QkU5NjlDNjFFNTRENEI2MDA4Qjc0ODMgLyogUmVzb3VyY2VMb2FkU3RhdGlzdGlj
c0NsYXNzaWZpZXJCYXNlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9
IFJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQmFzZS5jcHA7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CisJCTZCRTk2OUM4MUU1NEQ0Q0YwMDhCNzQ4MyAvKiBSZXNvdXJjZUxvYWRT
dGF0aXN0aWNzQ2xhc3NpZmllckNvY29hLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgcGF0aCA9IFJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQ29jb2EuY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQk2QkU5NjlDOTFFNTRENENGMDA4Qjc0ODMgLyogUmVz
b3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXJDb2NvYS5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllckNvY29hLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTZCRTk2OUNDMUU1NEUwNTQwMDhCNzQ4MyAvKiBS
ZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllckJhc2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXJCYXNlLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTZEOEE5MUE1MTFGMEVGRDEwMEREMDFGRSAvKiBj
b20uYXBwbGUuV2ViUHJvY2Vzcy5zYi5pbiAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IG5hbWUgPSBjb20uYXBw
bGUuV2ViUHJvY2Vzcy5zYi5pbjsgcGF0aCA9IFdlYlByb2Nlc3MvY29tLmFwcGxlLldlYlByb2Nl
c3Muc2IuaW47IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTZFRTg0OUM2MTM2OEQ5MkQw
MDM4RDQ4MSAvKiBXS0luc3BlY3RvclByaXZhdGVNYWMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBuYW1lID0gV0tJbnNwZWN0b3JQcml2YXRlTWFjLmg7IHBhdGggPSBtYWMvV0tJbnNwZWN0
b3JQcml2YXRlTWFjLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTcyOEU4NkVGMTc5
NTE4OEMwMDg3ODc5RSAvKiBXZWJDb2xvclBpY2tlck1hYy5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBXZWJDb2xvclBpY2tlck1hYy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwpAQCAtNDM0OCw2ICs0MzYwLDcgQEAKIAkJMDg5QzE2NjVGRTg0MTE1OEMwMkFBQzA3IC8q
IFJlc291cmNlcyAqLyA9IHsKIAkJCWlzYSA9IFBCWEdyb3VwOwogCQkJY2hpbGRyZW4gPSAoCisJ
CQkJNkJFOTY5QkYxRTU0RDQ1MjAwOEI3NDgzIC8qIFJlc291cmNlTG9hZFN0YXRpc3RpY3MgKi8s
CiAJCQkJMzdGOEM5NEYxQUUyMkJEODAwN0RBQjlFIC8qIG1hYyAqLywKIAkJCQk3Q0IxNkZFMTE3
MjRCOUI1MDA3QTBBOTUgLyogUGx1Z0luU2FuZGJveFByb2ZpbGVzICovLAogCQkJCUE3OENDREQ1
MTkzQUM5RTMwMDVFQ0MyNSAvKiBTYW5kYm94UHJvZmlsZXMgKi8sCkBAIC02MTAwLDYgKzYxMTMs
MzUgQEAKIAkJCW5hbWUgPSBDb2NvYTsKIAkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CiAJCX07
CisJCTZCRTk2OUJGMUU1NEQ0NTIwMDhCNzQ4MyAvKiBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzICov
ID0geworCQkJaXNhID0gUEJYR3JvdXA7CisJCQljaGlsZHJlbiA9ICgKKwkJCQk2QkU5NjlDMDFF
NTRENDUyMDA4Qjc0ODMgLyogY29yZVByZWRpY3Rpb25fbW9kZWwgKi8sCisJCQkpOworCQkJbmFt
ZSA9IFJlc291cmNlTG9hZFN0YXRpc3RpY3M7CisJCQlwYXRoID0gUmVzb3VyY2VzL1Jlc291cmNl
TG9hZFN0YXRpc3RpY3M7CisJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOworCQl9OworCQk2QkU5
NjlDMjFFNTRENDY3MDA4Qjc0ODMgLyogY2xhc3NpZmllciAqLyA9IHsKKwkJCWlzYSA9IFBCWEdy
b3VwOworCQkJY2hpbGRyZW4gPSAoCisJCQkJNkJFOTY5QzMxRTU0RDQ2NzAwOEI3NDgzIC8qIGNv
Y29hICovLAorCQkJCTZCRTk2OUM2MUU1NEQ0QjYwMDhCNzQ4MyAvKiBSZXNvdXJjZUxvYWRTdGF0
aXN0aWNzQ2xhc3NpZmllckJhc2UuY3BwICovLAorCQkJCTZCRTk2OUM0MUU1NEQ0QTQwMDhCNzQ4
MyAvKiBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllci5oICovLAorCQkJCTZCRTk2OUND
MUU1NEUwNTQwMDhCNzQ4MyAvKiBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllckJhc2Uu
aCAqLywKKwkJCSk7CisJCQlwYXRoID0gY2xhc3NpZmllcjsKKwkJCXNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7CisJCX07CisJCTZCRTk2OUMzMUU1NEQ0NjcwMDhCNzQ4MyAvKiBjb2NvYSAqLyA9IHsK
KwkJCWlzYSA9IFBCWEdyb3VwOworCQkJY2hpbGRyZW4gPSAoCisJCQkJNkJFOTY5QzgxRTU0RDRD
RjAwOEI3NDgzIC8qIFJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQ29jb2EuY3BwICov
LAorCQkJCTZCRTk2OUM5MUU1NEQ0Q0YwMDhCNzQ4MyAvKiBSZXNvdXJjZUxvYWRTdGF0aXN0aWNz
Q2xhc3NpZmllckNvY29hLmggKi8sCisJCQkpOworCQkJcGF0aCA9IGNvY29hOworCQkJc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsKKwkJfTsKIAkJNkVFODQ5QzQxMzY4RDkwNDAwMzhENDgxIC8qIG1h
YyAqLyA9IHsKIAkJCWlzYSA9IFBCWEdyb3VwOwogCQkJY2hpbGRyZW4gPSAoCkBAIC02OTk4LDYg
KzcwNDAsNyBAQAogCQlCQzJFNkU3NDExNDE5NkYwMDBBNjNCMUUgLyogUGxhdGZvcm0gKi8gPSB7
CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKAorCQkJCTZCRTk2OUMyMUU1NEQ0
NjcwMDhCNzQ4MyAvKiBjbGFzc2lmaWVyICovLAogCQkJCTM3MDk1MDQxMThBODhCQTQwMDg3QUU1
RCAvKiBjZiAqLywKIAkJCQkxQUEyRTUxQTEyRTRDMDU2MDBCQzQ5NjYgLyogY2cgKi8sCiAJCQkJ
NDQ1MEFFQkUxREMzRkFBQzAwOTk0M0YyIC8qIGNvY29hICovLApAQCAtNzg4MCw2ICs3OTIzLDcg
QEAKIAkJCQk0MURDNDU5NjFFM0Q2RTIyMDBCMTFGNTEgLyogTmV0d29ya1JUQ1Byb3ZpZGVyLmgg
aW4gSGVhZGVycyAqLywKIAkJCQk3QzFCQTMzRTFBNEEwRTYwMDA0M0UyNDkgLyogQVBJRGljdGlv
bmFyeS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUY3RDM2QzExOERBNTEzRjAwRDlENjU5IC8qIEFQ
SURvd25sb2FkQ2xpZW50LmggaW4gSGVhZGVycyAqLywKKwkJCQk2QkU5NjlDQjFFNTRENENGMDA4
Qjc0ODMgLyogUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXJDb2NvYS5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJNTE2QTRBNUQxMjBBMkNDRDAwQzA1QjdGIC8qIEFQSUVycm9yLmggaW4gSGVh
ZGVycyAqLywKIAkJCQkzMTdGRTdDNTFDNDg3QTZDMDBBMENBODkgLyogQVBJRXhwZXJpbWVudGFs
RmVhdHVyZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMDBCOTY2MTYxOEUyNENCQTAwQ0UxRjg4IC8q
IEFQSUZpbmRDbGllbnQuaCBpbiBIZWFkZXJzICovLApAQCAtODI5OSw2ICs4MzQzLDcgQEAKIAkJ
CQkzMzA5MzQ0QTEzMTVCOTIyMDA5N0E3QkMgLyogV2ViQ29va2llTWFuYWdlclByb3h5TWVzc2Fn
ZXMuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDMUREN0IyMTE0REMzOTYwMDVBREFGMyAvKiBXZWJD
b3JlQXJndW1lbnRDb2RlcnMuaCBpbiBIZWFkZXJzICovLAogCQkJCTUxMkY1ODlCMTJBODgzODgw
MDYyOTUzMCAvKiBXZWJDcmVkZW50aWFsLmggaW4gSGVhZGVycyAqLywKKwkJCQk2QkU5NjlDNTFF
NTRENEE0MDA4Qjc0ODMgLyogUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXIuaCBpbiBI
ZWFkZXJzICovLAogCQkJCTFBQTgzRjZEMUE1QjYzRkYwMDAyNkVDNiAvKiBXZWJEYXRhYmFzZVBy
b3ZpZGVyLmggaW4gSGVhZGVycyAqLywKIAkJCQlDRDE5QTI2RTFBMTNFODM0MDA4RDY1MEUgLyog
V2ViRGlhZ25vc3RpY0xvZ2dpbmdDbGllbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTFBNUIxQzU1
MTg5ODdFREYwMDRGQ0Y5QiAvKiBXZWJEb2N1bWVudExvYWRlci5oIGluIEhlYWRlcnMgKi8sCkBA
IC04NTAyLDYgKzg1NDcsNyBAQAogCQkJCUJDN0I2MzNEMTJBNDVEMTIwMEQxNzRBNCAvKiBXS0J1
bmRsZVBhZ2VHcm91cC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUFCNDc0RDgxODRENDNGRDAwNTFC
NjIyIC8qIFdLQnVuZGxlUGFnZUxvYWRlckNsaWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRUQ4
MkE3RjIxMjhDNkZBRjAwNDQ3N0IzIC8qIFdLQnVuZGxlUGFnZU92ZXJsYXkuaCBpbiBIZWFkZXJz
ICovLAorCQkJCTZCRTk2OUNEMUU1NEUwNTQwMDhCNzQ4MyAvKiBSZXNvdXJjZUxvYWRTdGF0aXN0
aWNzQ2xhc3NpZmllckJhc2UuaCBpbiBIZWFkZXJzICovLAogCQkJCTFBQjQ3NEVBMTg0RDQ1MTMw
MDUxQjYyMiAvKiBXS0J1bmRsZVBhZ2VQb2xpY3lDbGllbnQuaCBpbiBIZWFkZXJzICovLAogCQkJ
CUJDMUI0MTk4MTFENDFENTcwMDExRThERCAvKiBXS0J1bmRsZVBhZ2VQcml2YXRlLmggaW4gSGVh
ZGVycyAqLywKIAkJCQkxQUI0NzREQTE4NEQ0NDI1MDA1MUI2MjIgLyogV0tCdW5kbGVQYWdlUmVz
b3VyY2VMb2FkQ2xpZW50LmggaW4gSGVhZGVycyAqLywKQEAgLTkwMzUsNiArOTA4MSw3IEBACiAJ
CQkJN0E1RTM5NEExRDVCRDhCRTAwQjRCN0NFIC8qIGNvbS5tYWNyb21lZGlhLkZsYXNoIFBsYXll
ciBFU1IucGx1Z2luLnNiIGluIFJlc291cmNlcyAqLywKIAkJCQk4REMyRUY1MzA0ODZBNjk0MDA5
OEIyMTYgLyogSW5mb1BsaXN0LnN0cmluZ3MgaW4gUmVzb3VyY2VzICovLAogCQkJCTkzQTJBMzQ2
MUQyNDYxMjUwMDJCNTlEMyAvKiBtZWRpYUljb24ucGRmIGluIFJlc291cmNlcyAqLywKKwkJCQk2
QkU5NjlDMTFFNTRENDUyMDA4Qjc0ODMgLyogY29yZVByZWRpY3Rpb25fbW9kZWwgaW4gUmVzb3Vy
Y2VzICovLAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAw
OwogCQl9OwpAQCAtOTYyMyw2ICs5NjcwLDcgQEAKIAkJCQk1MTc5NTU2NzE2Mjg3NkNCMDBGQTQz
QjYgLyogTmV0d29ya1Byb2Nlc3NNYWMubW0gaW4gU291cmNlcyAqLywKIAkJCQk1MTYzMTk5NDE2
Mjg5QTYwMDBFMjJGMDAgLyogTmV0d29ya1Byb2Nlc3NNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNv
dXJjZXMgKi8sCiAJCQkJRTE0QTk1NDkxNkUwMTZBNDAwNjhERTgyIC8qIE5ldHdvcmtQcm9jZXNz
UGxhdGZvcm1TdHJhdGVnaWVzLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTZCRTk2OUNBMUU1NEQ0
Q0YwMDhCNzQ4MyAvKiBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllckNvY29hLmNwcCBp
biBTb3VyY2VzICovLAogCQkJCTUxNzk1NTZEMTYyODc3QjEwMEZBNDNCNiAvKiBOZXR3b3JrUHJv
Y2Vzc1Byb3h5LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTUxNjMxOTkyMTYyODk4MEEwMEUyMkYw
MCAvKiBOZXR3b3JrUHJvY2Vzc1Byb3h5TWFjLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJNTEzQTE2
M0MxNjMwODhGNjAwNUQ3RDIyIC8qIE5ldHdvcmtQcm9jZXNzUHJveHlNZXNzYWdlUmVjZWl2ZXIu
Y3BwIGluIFNvdXJjZXMgKi8sCkBAIC05OTY1LDYgKzEwMDEzLDcgQEAKIAkJCQlEM0I5NDg0NjEx
RkY0QjY1MDAwMzJCMzkgLyogV2ViUG9wdXBNZW51LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUJD
QzQzQUM3MTI3Qjk5REUwMDMxN0YxNiAvKiBXZWJQb3B1cE1lbnVNYWMubW0gaW4gU291cmNlcyAq
LywKIAkJCQlCQzU3NTA5ODEyNjhGM0M2MDA2RjBGMTIgLyogV2ViUG9wdXBNZW51UHJveHlNYWMu
bW0gaW4gU291cmNlcyAqLywKKwkJCQk2QkU5NjlDNzFFNTRENEI2MDA4Qjc0ODMgLyogUmVzb3Vy
Y2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXJCYXNlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUJD
RDU5ODAwMTEyQjU3QkUwMEVDOEMyMyAvKiBXZWJQcmVmZXJlbmNlcy5jcHAgaW4gU291cmNlcyAq
LywKIAkJCQk3Qzg1RkQ3RjE5MzQxNjY1MDAwMTc3QzQgLyogV2ViUHJlZmVyZW5jZXNLZXlzLmNw
cCBpbiBTb3VyY2VzICovLAogCQkJCUJDODRFQjE4MTJBNzEwMEMwMDgzRjJEQSAvKiBXZWJQcmVm
ZXJlbmNlc01hYy5tbSBpbiBTb3VyY2VzICovLApJbmRleDogVG9vbHMvQ2hhbmdlTG9nCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFRvb2xzL0NoYW5nZUxvZwkocmV2aXNpb24gMjEyNTI0KQorKysgVG9vbHMvQ2hh
bmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMzAgQEAKKzIwMTctMDItMTYgIEpvaG4g
V2lsYW5kZXIgIDx3aWxhbmRlckBhcHBsZS5jb20+CisKKyAgICAgICAgUmVzb3VyY2UgTG9hZCBT
dGF0aXN0aWNzOiBBZGQgYWx0ZXJuYXRlIGNsYXNzaWZpY2F0aW9uIG1ldGhvZAorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY4MzQ3CisgICAgICAgIDxy
ZGFyOi8vcHJvYmxlbS8zMDM1Mjc5Mz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBBZGRlZCB0aHJlZSB0ZXN0UnVubmVyIGZ1bmN0aW9ucyB0byBmYWNp
bGl0YXRlIGxheW91dCB0ZXN0czoKKyAgICAgICAgLSBzZXRTdGF0aXN0aWNzU3ViZnJhbWVVbmRl
clRvcEZyYW1lT3JpZ2luKCkKKyAgICAgICAgLSBzZXRTdGF0aXN0aWNzU3VicmVzb3VyY2VVbmRl
clRvcEZyYW1lT3JpZ2luKCkKKyAgICAgICAgLSBzZXRTdGF0aXN0aWNzU3VicmVzb3VyY2VVbmlx
dWVSZWRpcmVjdFRvKCkKKworICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5k
bGUvQmluZGluZ3MvVGVzdFJ1bm5lci5pZGw6CisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9J
bmplY3RlZEJ1bmRsZS9UZXN0UnVubmVyLmNwcDoKKyAgICAgICAgKFdUUjo6VGVzdFJ1bm5lcjo6
c2V0U3RhdGlzdGljc1N1YmZyYW1lVW5kZXJUb3BGcmFtZU9yaWdpbik6CisgICAgICAgIChXVFI6
OlRlc3RSdW5uZXI6OnNldFN0YXRpc3RpY3NTdWJyZXNvdXJjZVVuZGVyVG9wRnJhbWVPcmlnaW4p
OgorICAgICAgICAoV1RSOjpUZXN0UnVubmVyOjpzZXRTdGF0aXN0aWNzU3VicmVzb3VyY2VVbmlx
dWVSZWRpcmVjdFRvKToKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxl
L1Rlc3RSdW5uZXIuaDoKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVy
LmNwcDoKKyAgICAgICAgKFdUUjo6VGVzdENvbnRyb2xsZXI6OnNldFN0YXRpc3RpY3NTdWJmcmFt
ZVVuZGVyVG9wRnJhbWVPcmlnaW4pOgorICAgICAgICAoV1RSOjpUZXN0Q29udHJvbGxlcjo6c2V0
U3RhdGlzdGljc1N1YnJlc291cmNlVW5kZXJUb3BGcmFtZU9yaWdpbik6CisgICAgICAgIChXVFI6
OlRlc3RDb250cm9sbGVyOjpzZXRTdGF0aXN0aWNzU3VicmVzb3VyY2VVbmlxdWVSZWRpcmVjdFRv
KToKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmg6CisgICAgICAg
ICogV2ViS2l0VGVzdFJ1bm5lci9UZXN0SW52b2NhdGlvbi5jcHA6CisgICAgICAgIChXVFI6OlRl
c3RJbnZvY2F0aW9uOjpkaWRSZWNlaXZlU3luY2hyb25vdXNNZXNzYWdlRnJvbUluamVjdGVkQnVu
ZGxlKToKKwogMjAxNy0wMi0xNiAgQ29tbWl0IFF1ZXVlICA8Y29tbWl0LXF1ZXVlQHdlYmtpdC5v
cmc+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQgcjIxMjUxNC4KSW5kZXg6IFRv
b2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRv
b2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuY3BwCShyZXZpc2lvbiAyMTI1MjQp
CisrKyBUb29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmNwcAkod29ya2luZyBj
b3B5KQpAQCAtMjIyOSw2ICsyMjI5LDIxIEBAIGJvb2wgVGVzdENvbnRyb2xsZXI6OmlzU3RhdGlz
dGljc0hhc0hhZFUKICAgICByZXR1cm4gV0tSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdlcklz
SGFzSGFkVXNlckludGVyYWN0aW9uKGhvc3ROYW1lKTsKIH0KIAordm9pZCBUZXN0Q29udHJvbGxl
cjo6c2V0U3RhdGlzdGljc1N1YmZyYW1lVW5kZXJUb3BGcmFtZU9yaWdpbihXS1N0cmluZ1JlZiBo
b3N0TmFtZSwgV0tTdHJpbmdSZWYgdG9wRnJhbWVIb3N0TmFtZSkKK3sKKyAgICBXS1Jlc291cmNl
TG9hZFN0YXRpc3RpY3NNYW5hZ2VyU2V0U3ViZnJhbWVVbmRlclRvcEZyYW1lT3JpZ2luKGhvc3RO
YW1lLCB0b3BGcmFtZUhvc3ROYW1lKTsKK30KKwordm9pZCBUZXN0Q29udHJvbGxlcjo6c2V0U3Rh
dGlzdGljc1N1YnJlc291cmNlVW5kZXJUb3BGcmFtZU9yaWdpbihXS1N0cmluZ1JlZiBob3N0TmFt
ZSwgV0tTdHJpbmdSZWYgdG9wRnJhbWVIb3N0TmFtZSkKK3sKKyAgICBXS1Jlc291cmNlTG9hZFN0
YXRpc3RpY3NNYW5hZ2VyU2V0U3VicmVzb3VyY2VVbmRlclRvcEZyYW1lT3JpZ2luKGhvc3ROYW1l
LCB0b3BGcmFtZUhvc3ROYW1lKTsKK30KKyAgICAKK3ZvaWQgVGVzdENvbnRyb2xsZXI6OnNldFN0
YXRpc3RpY3NTdWJyZXNvdXJjZVVuaXF1ZVJlZGlyZWN0VG8oV0tTdHJpbmdSZWYgaG9zdE5hbWUs
IFdLU3RyaW5nUmVmIGhvc3ROYW1lUmVkaXJlY3RlZFRvKQoreworICAgIFdLUmVzb3VyY2VMb2Fk
U3RhdGlzdGljc01hbmFnZXJTZXRTdWJyZXNvdXJjZVVuaXF1ZVJlZGlyZWN0VG8oaG9zdE5hbWUs
IGhvc3ROYW1lUmVkaXJlY3RlZFRvKTsKK30KKwogdm9pZCBUZXN0Q29udHJvbGxlcjo6c2V0U3Rh
dGlzdGljc1RpbWVUb0xpdmVVc2VySW50ZXJhY3Rpb24oZG91YmxlIHNlY29uZHMpCiB7CiAgICAg
V0tSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdlclNldFRpbWVUb0xpdmVVc2VySW50ZXJhY3Rp
b24oc2Vjb25kcyk7CkluZGV4OiBUb29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVy
LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5o
CShyZXZpc2lvbiAyMTI1MjQpCisrKyBUb29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9s
bGVyLmgJKHdvcmtpbmcgY29weSkKQEAgLTE1Miw2ICsxNTIsOSBAQCBwdWJsaWM6CiAgICAgYm9v
bCBpc1N0YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJjZShXS1N0cmluZ1JlZiBob3N0TmFtZSk7CiAg
ICAgdm9pZCBzZXRTdGF0aXN0aWNzSGFzSGFkVXNlckludGVyYWN0aW9uKFdLU3RyaW5nUmVmIGhv
c3ROYW1lLCBib29sIHZhbHVlKTsKICAgICBib29sIGlzU3RhdGlzdGljc0hhc0hhZFVzZXJJbnRl
cmFjdGlvbihXS1N0cmluZ1JlZiBob3N0TmFtZSk7CisgICAgdm9pZCBzZXRTdGF0aXN0aWNzU3Vi
ZnJhbWVVbmRlclRvcEZyYW1lT3JpZ2luKFdLU3RyaW5nUmVmIGhvc3ROYW1lLCBXS1N0cmluZ1Jl
ZiB0b3BGcmFtZUhvc3ROYW1lKTsKKyAgICB2b2lkIHNldFN0YXRpc3RpY3NTdWJyZXNvdXJjZVVu
ZGVyVG9wRnJhbWVPcmlnaW4oV0tTdHJpbmdSZWYgaG9zdE5hbWUsIFdLU3RyaW5nUmVmIHRvcEZy
YW1lSG9zdE5hbWUpOworICAgIHZvaWQgc2V0U3RhdGlzdGljc1N1YnJlc291cmNlVW5pcXVlUmVk
aXJlY3RUbyhXS1N0cmluZ1JlZiBob3N0TmFtZSwgV0tTdHJpbmdSZWYgaG9zdE5hbWVSZWRpcmVj
dGVkVG8pOwogICAgIHZvaWQgc2V0U3RhdGlzdGljc1RpbWVUb0xpdmVVc2VySW50ZXJhY3Rpb24o
ZG91YmxlIHNlY29uZHMpOwogICAgIHZvaWQgc3RhdGlzdGljc0ZpcmVEYXRhTW9kaWZpY2F0aW9u
SGFuZGxlcigpOwogICAgIHZvaWQgc2V0U3RhdGlzdGljc05vdGlmeVBhZ2VzV2hlbkRhdGFSZWNv
cmRzV2VyZVNjYW5uZWQoYm9vbCk7CkluZGV4OiBUb29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RJ
bnZvY2F0aW9uLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RJ
bnZvY2F0aW9uLmNwcAkocmV2aXNpb24gMjEyNTI0KQorKysgVG9vbHMvV2ViS2l0VGVzdFJ1bm5l
ci9UZXN0SW52b2NhdGlvbi5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTkzMiw2ICs5MzIsNDggQEAg
V0tSZXRhaW5QdHI8V0tUeXBlUmVmPiBUZXN0SW52b2NhdGlvbjo6ZAogICAgICAgICByZXR1cm4g
cmVzdWx0OwogICAgIH0KICAgICAKKyAgICBpZiAoV0tTdHJpbmdJc0VxdWFsVG9VVEY4Q1N0cmlu
ZyhtZXNzYWdlTmFtZSwgIlNldFN0YXRpc3RpY3NTdWJmcmFtZVVuZGVyVG9wRnJhbWVPcmlnaW4i
KSkgeworICAgICAgICBBU1NFUlQoV0tHZXRUeXBlSUQobWVzc2FnZUJvZHkpID09IFdLRGljdGlv
bmFyeUdldFR5cGVJRCgpKTsKKyAgICAgICAgCisgICAgICAgIFdLRGljdGlvbmFyeVJlZiBtZXNz
YWdlQm9keURpY3Rpb25hcnkgPSBzdGF0aWNfY2FzdDxXS0RpY3Rpb25hcnlSZWY+KG1lc3NhZ2VC
b2R5KTsKKyAgICAgICAgV0tSZXRhaW5QdHI8V0tTdHJpbmdSZWY+IGhvc3ROYW1lS2V5KEFkb3B0
V0ssIFdLU3RyaW5nQ3JlYXRlV2l0aFVURjhDU3RyaW5nKCJIb3N0TmFtZSIpKTsKKyAgICAgICAg
V0tSZXRhaW5QdHI8V0tTdHJpbmdSZWY+IHRvcEZyYW1lSG9zdE5hbWVLZXkoQWRvcHRXSywgV0tT
dHJpbmdDcmVhdGVXaXRoVVRGOENTdHJpbmcoIlRvcEZyYW1lSG9zdE5hbWUiKSk7CisgICAgICAg
IAorICAgICAgICBXS1N0cmluZ1JlZiBob3N0TmFtZSA9IHN0YXRpY19jYXN0PFdLU3RyaW5nUmVm
PihXS0RpY3Rpb25hcnlHZXRJdGVtRm9yS2V5KG1lc3NhZ2VCb2R5RGljdGlvbmFyeSwgaG9zdE5h
bWVLZXkuZ2V0KCkpKTsKKyAgICAgICAgV0tTdHJpbmdSZWYgdG9wRnJhbWVIb3N0TmFtZSA9IHN0
YXRpY19jYXN0PFdLU3RyaW5nUmVmPihXS0RpY3Rpb25hcnlHZXRJdGVtRm9yS2V5KG1lc3NhZ2VC
b2R5RGljdGlvbmFyeSwgdG9wRnJhbWVIb3N0TmFtZUtleS5nZXQoKSkpOworCisgICAgICAgIFRl
c3RDb250cm9sbGVyOjpzaW5nbGV0b24oKS5zZXRTdGF0aXN0aWNzU3ViZnJhbWVVbmRlclRvcEZy
YW1lT3JpZ2luKGhvc3ROYW1lLCB0b3BGcmFtZUhvc3ROYW1lKTsKKyAgICAgICAgcmV0dXJuIG51
bGxwdHI7CisgICAgfQorICAgIAorICAgIGlmIChXS1N0cmluZ0lzRXF1YWxUb1VURjhDU3RyaW5n
KG1lc3NhZ2VOYW1lLCAiU2V0U3RhdGlzdGljc1N1YnJlc291cmNlVW5kZXJUb3BGcmFtZU9yaWdp
biIpKSB7CisgICAgICAgIEFTU0VSVChXS0dldFR5cGVJRChtZXNzYWdlQm9keSkgPT0gV0tEaWN0
aW9uYXJ5R2V0VHlwZUlEKCkpOworICAgICAgICAKKyAgICAgICAgV0tEaWN0aW9uYXJ5UmVmIG1l
c3NhZ2VCb2R5RGljdGlvbmFyeSA9IHN0YXRpY19jYXN0PFdLRGljdGlvbmFyeVJlZj4obWVzc2Fn
ZUJvZHkpOworICAgICAgICBXS1JldGFpblB0cjxXS1N0cmluZ1JlZj4gaG9zdE5hbWVLZXkoQWRv
cHRXSywgV0tTdHJpbmdDcmVhdGVXaXRoVVRGOENTdHJpbmcoIkhvc3ROYW1lIikpOworICAgICAg
ICBXS1JldGFpblB0cjxXS1N0cmluZ1JlZj4gdG9wRnJhbWVIb3N0TmFtZUtleShBZG9wdFdLLCBX
S1N0cmluZ0NyZWF0ZVdpdGhVVEY4Q1N0cmluZygiVG9wRnJhbWVIb3N0TmFtZSIpKTsKKyAgICAg
ICAgCisgICAgICAgIFdLU3RyaW5nUmVmIGhvc3ROYW1lID0gc3RhdGljX2Nhc3Q8V0tTdHJpbmdS
ZWY+KFdLRGljdGlvbmFyeUdldEl0ZW1Gb3JLZXkobWVzc2FnZUJvZHlEaWN0aW9uYXJ5LCBob3N0
TmFtZUtleS5nZXQoKSkpOworICAgICAgICBXS1N0cmluZ1JlZiB0b3BGcmFtZUhvc3ROYW1lID0g
c3RhdGljX2Nhc3Q8V0tTdHJpbmdSZWY+KFdLRGljdGlvbmFyeUdldEl0ZW1Gb3JLZXkobWVzc2Fn
ZUJvZHlEaWN0aW9uYXJ5LCB0b3BGcmFtZUhvc3ROYW1lS2V5LmdldCgpKSk7CisgICAgICAgIAor
ICAgICAgICBUZXN0Q29udHJvbGxlcjo6c2luZ2xldG9uKCkuc2V0U3RhdGlzdGljc1N1YnJlc291
cmNlVW5kZXJUb3BGcmFtZU9yaWdpbihob3N0TmFtZSwgdG9wRnJhbWVIb3N0TmFtZSk7CisgICAg
ICAgIHJldHVybiBudWxscHRyOworICAgIH0KKyAgICAKKyAgICBpZiAoV0tTdHJpbmdJc0VxdWFs
VG9VVEY4Q1N0cmluZyhtZXNzYWdlTmFtZSwgIlNldFN0YXRpc3RpY3NTdWJyZXNvdXJjZVVuaXF1
ZVJlZGlyZWN0VG8iKSkgeworICAgICAgICBBU1NFUlQoV0tHZXRUeXBlSUQobWVzc2FnZUJvZHkp
ID09IFdLRGljdGlvbmFyeUdldFR5cGVJRCgpKTsKKyAgICAgICAgCisgICAgICAgIFdLRGljdGlv
bmFyeVJlZiBtZXNzYWdlQm9keURpY3Rpb25hcnkgPSBzdGF0aWNfY2FzdDxXS0RpY3Rpb25hcnlS
ZWY+KG1lc3NhZ2VCb2R5KTsKKyAgICAgICAgV0tSZXRhaW5QdHI8V0tTdHJpbmdSZWY+IGhvc3RO
YW1lS2V5KEFkb3B0V0ssIFdLU3RyaW5nQ3JlYXRlV2l0aFVURjhDU3RyaW5nKCJIb3N0TmFtZSIp
KTsKKyAgICAgICAgV0tSZXRhaW5QdHI8V0tTdHJpbmdSZWY+IGhvc3ROYW1lUmVkaXJlY3RlZFRv
S2V5KEFkb3B0V0ssIFdLU3RyaW5nQ3JlYXRlV2l0aFVURjhDU3RyaW5nKCJIb3N0TmFtZVJlZGly
ZWN0ZWRUbyIpKTsKKyAgICAgICAgCisgICAgICAgIFdLU3RyaW5nUmVmIGhvc3ROYW1lID0gc3Rh
dGljX2Nhc3Q8V0tTdHJpbmdSZWY+KFdLRGljdGlvbmFyeUdldEl0ZW1Gb3JLZXkobWVzc2FnZUJv
ZHlEaWN0aW9uYXJ5LCBob3N0TmFtZUtleS5nZXQoKSkpOworICAgICAgICBXS1N0cmluZ1JlZiBo
b3N0TmFtZVJlZGlyZWN0ZWRUbyA9IHN0YXRpY19jYXN0PFdLU3RyaW5nUmVmPihXS0RpY3Rpb25h
cnlHZXRJdGVtRm9yS2V5KG1lc3NhZ2VCb2R5RGljdGlvbmFyeSwgaG9zdE5hbWVSZWRpcmVjdGVk
VG9LZXkuZ2V0KCkpKTsKKyAgICAgICAgCisgICAgICAgIFRlc3RDb250cm9sbGVyOjpzaW5nbGV0
b24oKS5zZXRTdGF0aXN0aWNzU3VicmVzb3VyY2VVbmlxdWVSZWRpcmVjdFRvKGhvc3ROYW1lLCBo
b3N0TmFtZVJlZGlyZWN0ZWRUbyk7CisgICAgICAgIHJldHVybiBudWxscHRyOworICAgIH0KKwog
ICAgIGlmIChXS1N0cmluZ0lzRXF1YWxUb1VURjhDU3RyaW5nKG1lc3NhZ2VOYW1lLCAiU2V0U3Rh
dGlzdGljc1RpbWVUb0xpdmVVc2VySW50ZXJhY3Rpb24iKSkgewogICAgICAgICBBU1NFUlQoV0tH
ZXRUeXBlSUQobWVzc2FnZUJvZHkpID09IFdLRG91YmxlR2V0VHlwZUlEKCkpOwogICAgICAgICBX
S0RvdWJsZVJlZiBzZWNvbmRzID0gc3RhdGljX2Nhc3Q8V0tEb3VibGVSZWY+KG1lc3NhZ2VCb2R5
KTsKSW5kZXg6IFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvVGVzdFJ1bm5l
ci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRs
ZS9UZXN0UnVubmVyLmNwcAkocmV2aXNpb24gMjEyNTI0KQorKysgVG9vbHMvV2ViS2l0VGVzdFJ1
bm5lci9JbmplY3RlZEJ1bmRsZS9UZXN0UnVubmVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTIy
Niw2ICsxMjI2LDg0IEBAIGJvb2wgVGVzdFJ1bm5lcjo6aXNTdGF0aXN0aWNzSGFzSGFkVXNlckkK
ICAgICByZXR1cm4gV0tCb29sZWFuR2V0VmFsdWUoc3RhdGljX2Nhc3Q8V0tCb29sZWFuUmVmPihy
ZXR1cm5EYXRhKSk7CiB9CiAKK3ZvaWQgVGVzdFJ1bm5lcjo6c2V0U3RhdGlzdGljc1N1YmZyYW1l
VW5kZXJUb3BGcmFtZU9yaWdpbihKU1N0cmluZ1JlZiBob3N0TmFtZSwgSlNTdHJpbmdSZWYgdG9w
RnJhbWVIb3N0TmFtZSkKK3sKKyAgICBWZWN0b3I8V0tSZXRhaW5QdHI8V0tTdHJpbmdSZWY+PiBr
ZXlzOworICAgIFZlY3RvcjxXS1JldGFpblB0cjxXS1R5cGVSZWY+PiB2YWx1ZXM7CisgICAgCisg
ICAga2V5cy5hcHBlbmQoeyBBZG9wdFdLLCBXS1N0cmluZ0NyZWF0ZVdpdGhVVEY4Q1N0cmluZygi
SG9zdE5hbWUiKSB9KTsKKyAgICB2YWx1ZXMuYXBwZW5kKHsgQWRvcHRXSywgV0tTdHJpbmdDcmVh
dGVXaXRoSlNTdHJpbmcoaG9zdE5hbWUpIH0pOworICAgIAorICAgIGtleXMuYXBwZW5kKHsgQWRv
cHRXSywgV0tTdHJpbmdDcmVhdGVXaXRoVVRGOENTdHJpbmcoIlRvcEZyYW1lSG9zdE5hbWUiKSB9
KTsKKyAgICB2YWx1ZXMuYXBwZW5kKHsgQWRvcHRXSywgV0tTdHJpbmdDcmVhdGVXaXRoSlNTdHJp
bmcodG9wRnJhbWVIb3N0TmFtZSkgfSk7CisgICAgCisgICAgVmVjdG9yPFdLU3RyaW5nUmVmPiBy
YXdLZXlzOworICAgIFZlY3RvcjxXS1R5cGVSZWY+IHJhd1ZhbHVlczsKKyAgICByYXdLZXlzLnJl
c2l6ZShrZXlzLnNpemUoKSk7CisgICAgcmF3VmFsdWVzLnJlc2l6ZSh2YWx1ZXMuc2l6ZSgpKTsK
KyAgICAKKyAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IGtleXMuc2l6ZSgpOyArK2kpIHsKKyAg
ICAgICAgcmF3S2V5c1tpXSA9IGtleXNbaV0uZ2V0KCk7CisgICAgICAgIHJhd1ZhbHVlc1tpXSA9
IHZhbHVlc1tpXS5nZXQoKTsKKyAgICB9CisgICAgCisgICAgV0tSZXRhaW5QdHI8V0tTdHJpbmdS
ZWY+IG1lc3NhZ2VOYW1lKEFkb3B0V0ssIFdLU3RyaW5nQ3JlYXRlV2l0aFVURjhDU3RyaW5nKCJT
ZXRTdGF0aXN0aWNzU3ViZnJhbWVVbmRlclRvcEZyYW1lT3JpZ2luIikpOworICAgIFdLUmV0YWlu
UHRyPFdLRGljdGlvbmFyeVJlZj4gbWVzc2FnZUJvZHkoQWRvcHRXSywgV0tEaWN0aW9uYXJ5Q3Jl
YXRlKHJhd0tleXMuZGF0YSgpLCByYXdWYWx1ZXMuZGF0YSgpLCByYXdLZXlzLnNpemUoKSkpOwor
ICAgIFdLQnVuZGxlUG9zdFN5bmNocm9ub3VzTWVzc2FnZShJbmplY3RlZEJ1bmRsZTo6c2luZ2xl
dG9uKCkuYnVuZGxlKCksIG1lc3NhZ2VOYW1lLmdldCgpLCBtZXNzYWdlQm9keS5nZXQoKSwgbnVs
bHB0cik7Cit9CisKK3ZvaWQgVGVzdFJ1bm5lcjo6c2V0U3RhdGlzdGljc1N1YnJlc291cmNlVW5k
ZXJUb3BGcmFtZU9yaWdpbihKU1N0cmluZ1JlZiBob3N0TmFtZSwgSlNTdHJpbmdSZWYgdG9wRnJh
bWVIb3N0TmFtZSkKK3sKKyAgICBWZWN0b3I8V0tSZXRhaW5QdHI8V0tTdHJpbmdSZWY+PiBrZXlz
OworICAgIFZlY3RvcjxXS1JldGFpblB0cjxXS1R5cGVSZWY+PiB2YWx1ZXM7CisgICAgCisgICAg
a2V5cy5hcHBlbmQoeyBBZG9wdFdLLCBXS1N0cmluZ0NyZWF0ZVdpdGhVVEY4Q1N0cmluZygiSG9z
dE5hbWUiKSB9KTsKKyAgICB2YWx1ZXMuYXBwZW5kKHsgQWRvcHRXSywgV0tTdHJpbmdDcmVhdGVX
aXRoSlNTdHJpbmcoaG9zdE5hbWUpIH0pOworICAgIAorICAgIGtleXMuYXBwZW5kKHsgQWRvcHRX
SywgV0tTdHJpbmdDcmVhdGVXaXRoVVRGOENTdHJpbmcoIlRvcEZyYW1lSG9zdE5hbWUiKSB9KTsK
KyAgICB2YWx1ZXMuYXBwZW5kKHsgQWRvcHRXSywgV0tTdHJpbmdDcmVhdGVXaXRoSlNTdHJpbmco
dG9wRnJhbWVIb3N0TmFtZSkgfSk7CisgICAgCisgICAgVmVjdG9yPFdLU3RyaW5nUmVmPiByYXdL
ZXlzOworICAgIFZlY3RvcjxXS1R5cGVSZWY+IHJhd1ZhbHVlczsKKyAgICByYXdLZXlzLnJlc2l6
ZShrZXlzLnNpemUoKSk7CisgICAgcmF3VmFsdWVzLnJlc2l6ZSh2YWx1ZXMuc2l6ZSgpKTsKKyAg
ICAKKyAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IGtleXMuc2l6ZSgpOyArK2kpIHsKKyAgICAg
ICAgcmF3S2V5c1tpXSA9IGtleXNbaV0uZ2V0KCk7CisgICAgICAgIHJhd1ZhbHVlc1tpXSA9IHZh
bHVlc1tpXS5nZXQoKTsKKyAgICB9CisgICAgCisgICAgV0tSZXRhaW5QdHI8V0tTdHJpbmdSZWY+
IG1lc3NhZ2VOYW1lKEFkb3B0V0ssIFdLU3RyaW5nQ3JlYXRlV2l0aFVURjhDU3RyaW5nKCJTZXRT
dGF0aXN0aWNzU3VicmVzb3VyY2VVbmRlclRvcEZyYW1lT3JpZ2luIikpOworICAgIFdLUmV0YWlu
UHRyPFdLRGljdGlvbmFyeVJlZj4gbWVzc2FnZUJvZHkoQWRvcHRXSywgV0tEaWN0aW9uYXJ5Q3Jl
YXRlKHJhd0tleXMuZGF0YSgpLCByYXdWYWx1ZXMuZGF0YSgpLCByYXdLZXlzLnNpemUoKSkpOwor
ICAgIFdLQnVuZGxlUG9zdFN5bmNocm9ub3VzTWVzc2FnZShJbmplY3RlZEJ1bmRsZTo6c2luZ2xl
dG9uKCkuYnVuZGxlKCksIG1lc3NhZ2VOYW1lLmdldCgpLCBtZXNzYWdlQm9keS5nZXQoKSwgbnVs
bHB0cik7Cit9CisKK3ZvaWQgVGVzdFJ1bm5lcjo6c2V0U3RhdGlzdGljc1N1YnJlc291cmNlVW5p
cXVlUmVkaXJlY3RUbyhKU1N0cmluZ1JlZiBob3N0TmFtZSwgSlNTdHJpbmdSZWYgaG9zdE5hbWVS
ZWRpcmVjdGVkVG8pCit7CisgICAgVmVjdG9yPFdLUmV0YWluUHRyPFdLU3RyaW5nUmVmPj4ga2V5
czsKKyAgICBWZWN0b3I8V0tSZXRhaW5QdHI8V0tUeXBlUmVmPj4gdmFsdWVzOworICAgIAorICAg
IGtleXMuYXBwZW5kKHsgQWRvcHRXSywgV0tTdHJpbmdDcmVhdGVXaXRoVVRGOENTdHJpbmcoIkhv
c3ROYW1lIikgfSk7CisgICAgdmFsdWVzLmFwcGVuZCh7IEFkb3B0V0ssIFdLU3RyaW5nQ3JlYXRl
V2l0aEpTU3RyaW5nKGhvc3ROYW1lKSB9KTsKKyAgICAKKyAgICBrZXlzLmFwcGVuZCh7IEFkb3B0
V0ssIFdLU3RyaW5nQ3JlYXRlV2l0aFVURjhDU3RyaW5nKCJIb3N0TmFtZVJlZGlyZWN0ZWRUbyIp
IH0pOworICAgIHZhbHVlcy5hcHBlbmQoeyBBZG9wdFdLLCBXS1N0cmluZ0NyZWF0ZVdpdGhKU1N0
cmluZyhob3N0TmFtZVJlZGlyZWN0ZWRUbykgfSk7CisgICAgCisgICAgVmVjdG9yPFdLU3RyaW5n
UmVmPiByYXdLZXlzOworICAgIFZlY3RvcjxXS1R5cGVSZWY+IHJhd1ZhbHVlczsKKyAgICByYXdL
ZXlzLnJlc2l6ZShrZXlzLnNpemUoKSk7CisgICAgcmF3VmFsdWVzLnJlc2l6ZSh2YWx1ZXMuc2l6
ZSgpKTsKKyAgICAKKyAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IGtleXMuc2l6ZSgpOyArK2kp
IHsKKyAgICAgICAgcmF3S2V5c1tpXSA9IGtleXNbaV0uZ2V0KCk7CisgICAgICAgIHJhd1ZhbHVl
c1tpXSA9IHZhbHVlc1tpXS5nZXQoKTsKKyAgICB9CisgICAgCisgICAgV0tSZXRhaW5QdHI8V0tT
dHJpbmdSZWY+IG1lc3NhZ2VOYW1lKEFkb3B0V0ssIFdLU3RyaW5nQ3JlYXRlV2l0aFVURjhDU3Ry
aW5nKCJTZXRTdGF0aXN0aWNzU3VicmVzb3VyY2VVbmlxdWVSZWRpcmVjdFRvIikpOworICAgIFdL
UmV0YWluUHRyPFdLRGljdGlvbmFyeVJlZj4gbWVzc2FnZUJvZHkoQWRvcHRXSywgV0tEaWN0aW9u
YXJ5Q3JlYXRlKHJhd0tleXMuZGF0YSgpLCByYXdWYWx1ZXMuZGF0YSgpLCByYXdLZXlzLnNpemUo
KSkpOworICAgIFdLQnVuZGxlUG9zdFN5bmNocm9ub3VzTWVzc2FnZShJbmplY3RlZEJ1bmRsZTo6
c2luZ2xldG9uKCkuYnVuZGxlKCksIG1lc3NhZ2VOYW1lLmdldCgpLCBtZXNzYWdlQm9keS5nZXQo
KSwgbnVsbHB0cik7Cit9CisKIHZvaWQgVGVzdFJ1bm5lcjo6c2V0U3RhdGlzdGljc1RpbWVUb0xp
dmVVc2VySW50ZXJhY3Rpb24oZG91YmxlIHNlY29uZHMpCiB7CiAgICAgV0tSZXRhaW5QdHI8V0tT
dHJpbmdSZWY+IG1lc3NhZ2VOYW1lKEFkb3B0V0ssIFdLU3RyaW5nQ3JlYXRlV2l0aFVURjhDU3Ry
aW5nKCJTZXRTdGF0aXN0aWNzVGltZVRvTGl2ZVVzZXJJbnRlcmFjdGlvbiIpKTsKSW5kZXg6IFRv
b2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvVGVzdFJ1bm5lci5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvVGVzdFJ1bm5lci5o
CShyZXZpc2lvbiAyMTI1MjQpCisrKyBUb29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVu
ZGxlL1Rlc3RSdW5uZXIuaAkod29ya2luZyBjb3B5KQpAQCAtMzU0LDYgKzM1NCw5IEBAIHB1Ymxp
YzoKICAgICBib29sIGlzU3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNlKEpTU3RyaW5nUmVmIGhv
c3ROYW1lKTsKICAgICB2b2lkIHNldFN0YXRpc3RpY3NIYXNIYWRVc2VySW50ZXJhY3Rpb24oSlNT
dHJpbmdSZWYgaG9zdE5hbWUsIGJvb2wgdmFsdWUpOwogICAgIGJvb2wgaXNTdGF0aXN0aWNzSGFz
SGFkVXNlckludGVyYWN0aW9uKEpTU3RyaW5nUmVmIGhvc3ROYW1lKTsKKyAgICB2b2lkIHNldFN0
YXRpc3RpY3NTdWJmcmFtZVVuZGVyVG9wRnJhbWVPcmlnaW4oSlNTdHJpbmdSZWYgaG9zdE5hbWUs
IEpTU3RyaW5nUmVmIHRvcEZyYW1lSG9zdE5hbWUpOworICAgIHZvaWQgc2V0U3RhdGlzdGljc1N1
YnJlc291cmNlVW5kZXJUb3BGcmFtZU9yaWdpbihKU1N0cmluZ1JlZiBob3N0TmFtZSwgSlNTdHJp
bmdSZWYgdG9wRnJhbWVIb3N0TmFtZSk7CisgICAgdm9pZCBzZXRTdGF0aXN0aWNzU3VicmVzb3Vy
Y2VVbmlxdWVSZWRpcmVjdFRvKEpTU3RyaW5nUmVmIGhvc3ROYW1lLCBKU1N0cmluZ1JlZiBob3N0
TmFtZVJlZGlyZWN0ZWRUbyk7CiAgICAgdm9pZCBzZXRTdGF0aXN0aWNzVGltZVRvTGl2ZVVzZXJJ
bnRlcmFjdGlvbihkb3VibGUgc2Vjb25kcyk7CiAgICAgdm9pZCBzZXRTdGF0aXN0aWNzTm90aWZ5
UGFnZXNXaGVuRGF0YVJlY29yZHNXZXJlU2Nhbm5lZChib29sKTsKICAgICB2b2lkIHNldFN0YXRp
c3RpY3NTaG91bGRDbGFzc2lmeVJlc291cmNlc0JlZm9yZURhdGFSZWNvcmRzUmVtb3ZhbChib29s
KTsKSW5kZXg6IFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvQmluZGluZ3Mv
VGVzdFJ1bm5lci5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9Jbmpl
Y3RlZEJ1bmRsZS9CaW5kaW5ncy9UZXN0UnVubmVyLmlkbAkocmV2aXNpb24gMjEyNTI0KQorKysg
VG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9CaW5kaW5ncy9UZXN0UnVubmVy
LmlkbAkod29ya2luZyBjb3B5KQpAQCAtMjUzLDYgKzI1Myw5IEBAIGludGVyZmFjZSBUZXN0UnVu
bmVyIHsKICAgICBib29sZWFuIGlzU3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNlKERPTVN0cmlu
ZyBob3N0TmFtZSk7CiAgICAgdm9pZCBzZXRTdGF0aXN0aWNzSGFzSGFkVXNlckludGVyYWN0aW9u
KERPTVN0cmluZyBob3N0TmFtZSwgYm9vbGVhbiB2YWx1ZSk7CiAgICAgYm9vbGVhbiBpc1N0YXRp
c3RpY3NIYXNIYWRVc2VySW50ZXJhY3Rpb24oRE9NU3RyaW5nIGhvc3ROYW1lKTsKKyAgICB2b2lk
IHNldFN0YXRpc3RpY3NTdWJmcmFtZVVuZGVyVG9wRnJhbWVPcmlnaW4oRE9NU3RyaW5nIGhvc3RO
YW1lLCBET01TdHJpbmcgdG9wRnJhbWVIb3N0TmFtZSk7CisgICAgdm9pZCBzZXRTdGF0aXN0aWNz
U3VicmVzb3VyY2VVbmRlclRvcEZyYW1lT3JpZ2luKERPTVN0cmluZyBob3N0TmFtZSwgRE9NU3Ry
aW5nIHRvcEZyYW1lSG9zdE5hbWUpOworICAgIHZvaWQgc2V0U3RhdGlzdGljc1N1YnJlc291cmNl
VW5pcXVlUmVkaXJlY3RUbyhET01TdHJpbmcgaG9zdE5hbWUsIERPTVN0cmluZyBob3N0TmFtZVJl
ZGlyZWN0ZWRUbyk7CiAgICAgdm9pZCBzZXRTdGF0aXN0aWNzVGltZVRvTGl2ZVVzZXJJbnRlcmFj
dGlvbihkb3VibGUgc2Vjb25kcyk7CiAgICAgdm9pZCBzdGF0aXN0aWNzRmlyZURhdGFNb2RpZmlj
YXRpb25IYW5kbGVyKCk7CiAgICAgdm9pZCBzZXRTdGF0aXN0aWNzTm90aWZ5UGFnZXNXaGVuRGF0
YVJlY29yZHNXZXJlU2Nhbm5lZChib29sZWFuIHZhbHVlKTsKSW5kZXg6IExheW91dFRlc3RzL0No
YW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHJldmlzaW9uIDIx
MjUyNCkKKysrIExheW91dFRlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsx
LDMwIEBACisyMDE3LTAyLTE2ICBKb2huIFdpbGFuZGVyICA8d2lsYW5kZXJAYXBwbGUuY29tPgor
CisgICAgICAgIFJlc291cmNlIExvYWQgU3RhdGlzdGljczogQWRkIGFsdGVybmF0ZSBjbGFzc2lm
aWNhdGlvbiBtZXRob2QKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTE2ODM0NworICAgICAgICA8cmRhcjovL3Byb2JsZW0vMzAzNTI3OTM+CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBodHRwL3Rlc3RzL2xv
YWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1ub24tcHJldmFsZW50LWJh
c2VkLW9uLW1peGVkLXN0YXRpc3RpY3MtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBo
dHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1ub24t
cHJldmFsZW50LWJhc2VkLW9uLW1peGVkLXN0YXRpc3RpY3MuaHRtbDogQWRkZWQuCisgICAgICAg
ICogaHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMt
bm9uLXByZXZhbGVudC1iYXNlZC1vbi1zdWItZnJhbWUtdW5kZXItdG9wLWZyYW1lLW9yaWdpbnMt
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3Vy
Y2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1ub24tcHJldmFsZW50LWJhc2VkLW9uLXN1Yi1m
cmFtZS11bmRlci10b3AtZnJhbWUtb3JpZ2lucy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRw
L3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1ub24tcHJl
dmFsZW50LWJhc2VkLW9uLXN1YnJlc291cmNlLXVuZGVyLXRvcC1mcmFtZS1vcmlnaW5zLWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9h
ZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtbm9uLXByZXZhbGVudC1iYXNlZC1vbi1zdWJyZXNvdXJj
ZS11bmRlci10b3AtZnJhbWUtb3JpZ2lucy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rl
c3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1ub24tcHJldmFs
ZW50LWJhc2VkLW9uLXN1YnJlc291cmNlLXVuaXF1ZS1yZWRpcmVjdHMtdG8tZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlz
dGljcy9jbGFzc2lmeS1hcy1ub24tcHJldmFsZW50LWJhc2VkLW9uLXN1YnJlc291cmNlLXVuaXF1
ZS1yZWRpcmVjdHMtdG8uaHRtbDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9sb2FkaW5n
L3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtcHJldmFsZW50LWJhc2VkLW9uLW1p
eGVkLXN0YXRpc3RpY3MtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3Rz
L2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1wcmV2YWxlbnQtYmFz
ZWQtb24tbWl4ZWQtc3RhdGlzdGljcy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3Rz
L2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1wcmV2YWxlbnQtYmFz
ZWQtb24tc3ViLWZyYW1lLXVuZGVyLXRvcC1mcmFtZS1vcmlnaW5zLWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mv
Y2xhc3NpZnktYXMtcHJldmFsZW50LWJhc2VkLW9uLXN1Yi1mcmFtZS11bmRlci10b3AtZnJhbWUt
b3JpZ2lucy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3Vy
Y2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1wcmV2YWxlbnQtYmFzZWQtb24tc3VicmVzb3Vy
Y2UtdW5kZXItdG9wLWZyYW1lLW9yaWdpbnMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiBodHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1w
cmV2YWxlbnQtYmFzZWQtb24tc3VicmVzb3VyY2UtdW5kZXItdG9wLWZyYW1lLW9yaWdpbnMuaHRt
bDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0YXRp
c3RpY3MvY2xhc3NpZnktYXMtcHJldmFsZW50LWJhc2VkLW9uLXN1YnJlc291cmNlLXVuaXF1ZS1y
ZWRpcmVjdHMtdG8tZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2xv
YWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1wcmV2YWxlbnQtYmFzZWQt
b24tc3VicmVzb3VyY2UtdW5pcXVlLXJlZGlyZWN0cy10by5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiBwbGF0Zm9ybS93azIvVGVzdEV4cGVjdGF0aW9uczoKKyAgICAgICAgICAgIFRoZSBhYm92ZSB0
ZXN0cyBhcmUgb25seSB2YWxpZCBmb3IgV2ViS2l0Mi4gTWFya2VkIGFzIFsgUGFzcyBdLgorCiAy
MDE3LTAyLTE2ICBSeWFuIEhhZGRhZCAgPHJ5YW5oYWRkYWRAYXBwbGUuY29tPgogCiAgICAgICAg
IE1hcmsgc3RvcmFnZS9pbmRleGVkZGIvbW9kZXJuL2lkYmN1cnNvci1jb250aW51ZS1wcmltYXJ5
LWtleS0xLmh0bWwgYXMgZmxha3kuCkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2xvYWRp
bmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1ub24tcHJldmFsZW50LWJhc2Vk
LW9uLW1peGVkLXN0YXRpc3RpY3MtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL2h0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFz
LW5vbi1wcmV2YWxlbnQtYmFzZWQtb24tbWl4ZWQtc3RhdGlzdGljcy1leHBlY3RlZC50eHQJKG5v
bmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9h
ZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtbm9uLXByZXZhbGVudC1iYXNlZC1vbi1taXhlZC1zdGF0
aXN0aWNzLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDggQEAKK21haW4g
ZnJhbWUgLSBkaWRTdGFydFByb3Zpc2lvbmFsTG9hZEZvckZyYW1lCittYWluIGZyYW1lIC0gZGlk
Q29tbWl0TG9hZEZvckZyYW1lCittYWluIGZyYW1lIC0gZGlkUmVjZWl2ZVRpdGxlOiBUZXN0cyBm
b3IgQ2xhc3NpZmljYXRpb24gQmFzZWQgb24gTWl4ZWQgU3RhdGlzdGljcworbWFpbiBmcmFtZSAt
IGRpZEZpbmlzaERvY3VtZW50TG9hZEZvckZyYW1lCittYWluIGZyYW1lIC0gZGlkSGFuZGxlT25s
b2FkRXZlbnRzRm9yRnJhbWUKK21haW4gZnJhbWUgLSBkaWRGaW5pc2hMb2FkRm9yRnJhbWUKK1BB
U1MgSG9zdCBkaWQgbm90IGdldCBjbGFzc2lmaWVkIGFzIHByZXZhbGVudCByZXNvdXJjZS4KKwpJ
bmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0YXRpc3Rp
Y3MvY2xhc3NpZnktYXMtbm9uLXByZXZhbGVudC1iYXNlZC1vbi1taXhlZC1zdGF0aXN0aWNzLmh0
bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNl
TG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtbm9uLXByZXZhbGVudC1iYXNlZC1vbi1taXhlZC1z
dGF0aXN0aWNzLmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9s
b2FkaW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtbm9uLXByZXZhbGVudC1i
YXNlZC1vbi1taXhlZC1zdGF0aXN0aWNzLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw0
MiBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbCBsYW5nPSJlbiI+Cis8aGVhZD4KKyAgICA8bWV0
YSBjaGFyc2V0PSJVVEYtOCI+CisgICAgPHRpdGxlPlRlc3RzIGZvciBDbGFzc2lmaWNhdGlvbiBC
YXNlZCBvbiBNaXhlZCBTdGF0aXN0aWNzPC90aXRsZT4KKyAgICA8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHNj
cmlwdD4KKyAgICBjb25zdCBob3N0VW5kZXJUZXN0ID0gIjEyNy4wLjAuMTo4MDAwIjsKKyAgICBj
b25zdCBzdGF0aXN0aWNzVXJsID0gImh0dHA6Ly8iICsgaG9zdFVuZGVyVGVzdCArICIvdGVtcCI7
CisgICAgY29uc3QgdG9wRnJhbWVPcmlnaW4xID0gImh0dHA6Ly8xMjcuMC4wLjI6ODAwMC90ZW1w
IjsKKyAgICBjb25zdCB0b3BGcmFtZU9yaWdpbjIgPSAiaHR0cDovLzEyNy4wLjAuMzo4MDAwL3Rl
bXAiOworICAgIGNvbnN0IHRvcEZyYW1lT3JpZ2luMyA9ICJodHRwOi8vMTI3LjAuMC40OjgwMDAv
dGVtcCI7CisgICAgZnVuY3Rpb24gcnVuVGVzdFJ1bm5lclRlc3QoKSB7CisgICAgICAgIHRlc3RS
dW5uZXIuc2V0U3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNlKHN0YXRpc3RpY3NVcmwsIGZhbHNl
KTsKKyAgICAgICAgaWYgKHRlc3RSdW5uZXIuaXNTdGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2Uo
c3RhdGlzdGljc1VybCkpCisgICAgICAgICAgICB0ZXN0RmFpbGVkKCJIb3N0IGRpZCBub3QgZ2V0
IHNldCBhcyBub24tcHJldmFsZW50IHJlc291cmNlLiIpOworCisgICAgICAgIHRlc3RSdW5uZXIu
c2V0U3RhdGlzdGljc1N1YmZyYW1lVW5kZXJUb3BGcmFtZU9yaWdpbihzdGF0aXN0aWNzVXJsLCB0
b3BGcmFtZU9yaWdpbjEpOworICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NTdWJyZXNv
dXJjZVVuZGVyVG9wRnJhbWVPcmlnaW4oc3RhdGlzdGljc1VybCwgdG9wRnJhbWVPcmlnaW4yKTsK
KyAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzU3VicmVzb3VyY2VVbmlxdWVSZWRpcmVj
dFRvKHN0YXRpc3RpY3NVcmwsIHRvcEZyYW1lT3JpZ2luMyk7CisKKyAgICAgICAgdGVzdFJ1bm5l
ci5zdGF0aXN0aWNzRmlyZURhdGFNb2RpZmljYXRpb25IYW5kbGVyKCk7CisKKyAgICAgICAgaWYg
KHRlc3RSdW5uZXIuaXNTdGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2Uoc3RhdGlzdGljc1VybCkp
CisgICAgICAgICAgICB0ZXN0RmFpbGVkKCJIb3N0IGNsYXNzaWZpZWQgYXMgcHJldmFsZW50IHJl
c291cmNlLiIpOworICAgICAgICBlbHNlCisgICAgICAgICAgICB0ZXN0UGFzc2VkKCJIb3N0IGRp
ZCBub3QgZ2V0IGNsYXNzaWZpZWQgYXMgcHJldmFsZW50IHJlc291cmNlLiIpOworCisgICAgICAg
IHRlc3RSdW5uZXIuc3RhdGlzdGljc1Jlc2V0VG9Db25zaXN0ZW50U3RhdGUoKTsKKyAgICAgICAg
dGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7CisgICAgfQorCisgICAgaWYgKGRvY3VtZW50LmxvY2F0
aW9uLmhvc3QgPT09IGhvc3RVbmRlclRlc3QgJiYgd2luZG93LnRlc3RSdW5uZXIgJiYgd2luZG93
LmludGVybmFscykgeworICAgICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKKyAgICAg
ICAgaW50ZXJuYWxzLnNldFJlc291cmNlTG9hZFN0YXRpc3RpY3NFbmFibGVkKHRydWUpOworICAg
ICAgICBydW5UZXN0UnVubmVyVGVzdCgpOworICAgIH0KKzwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKSW5kZXg6IExheW91dFRlc3RzL2h0dHAv
dGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLW5vbi1wcmV2
YWxlbnQtYmFzZWQtb24tc3ViLWZyYW1lLXVuZGVyLXRvcC1mcmFtZS1vcmlnaW5zLWV4cGVjdGVk
LnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3Vy
Y2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1ub24tcHJldmFsZW50LWJhc2VkLW9uLXN1Yi1m
cmFtZS11bmRlci10b3AtZnJhbWUtb3JpZ2lucy1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQor
KysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mv
Y2xhc3NpZnktYXMtbm9uLXByZXZhbGVudC1iYXNlZC1vbi1zdWItZnJhbWUtdW5kZXItdG9wLWZy
YW1lLW9yaWdpbnMtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsOCBAQAor
bWFpbiBmcmFtZSAtIGRpZFN0YXJ0UHJvdmlzaW9uYWxMb2FkRm9yRnJhbWUKK21haW4gZnJhbWUg
LSBkaWRDb21taXRMb2FkRm9yRnJhbWUKK21haW4gZnJhbWUgLSBkaWRSZWNlaXZlVGl0bGU6IFRl
c3RzIGZvciBDbGFzc2lmaWNhdGlvbiBCYXNlZCBvbiBTdWIgRnJhbWUgVW5kZXIgVG9wIEZyYW1l
IE9yaWdpbnMKK21haW4gZnJhbWUgLSBkaWRGaW5pc2hEb2N1bWVudExvYWRGb3JGcmFtZQorbWFp
biBmcmFtZSAtIGRpZEhhbmRsZU9ubG9hZEV2ZW50c0ZvckZyYW1lCittYWluIGZyYW1lIC0gZGlk
RmluaXNoTG9hZEZvckZyYW1lCitQQVNTIEhvc3QgZGlkIG5vdCBnZXQgY2xhc3NpZmllZCBhcyBw
cmV2YWxlbnQgcmVzb3VyY2UuCisKSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvbG9hZGlu
Zy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLW5vbi1wcmV2YWxlbnQtYmFzZWQt
b24tc3ViLWZyYW1lLXVuZGVyLXRvcC1mcmFtZS1vcmlnaW5zLmh0bWwKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xh
c3NpZnktYXMtbm9uLXByZXZhbGVudC1iYXNlZC1vbi1zdWItZnJhbWUtdW5kZXItdG9wLWZyYW1l
LW9yaWdpbnMuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2xv
YWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1ub24tcHJldmFsZW50LWJh
c2VkLW9uLXN1Yi1mcmFtZS11bmRlci10b3AtZnJhbWUtb3JpZ2lucy5odG1sCSh3b3JraW5nIGNv
cHkpCkBAIC0wLDAgKzEsNDIgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWwgbGFuZz0iZW4iPgor
PGhlYWQ+CisgICAgPG1ldGEgY2hhcnNldD0iVVRGLTgiPgorICAgIDx0aXRsZT5UZXN0cyBmb3Ig
Q2xhc3NpZmljYXRpb24gQmFzZWQgb24gU3ViIEZyYW1lIFVuZGVyIFRvcCBGcmFtZSBPcmlnaW5z
PC90aXRsZT4KKyAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdD4KKyAgICBjb25zdCBob3N0VW5k
ZXJUZXN0ID0gIjEyNy4wLjAuMTo4MDAwIjsKKyAgICBjb25zdCBzdGF0aXN0aWNzVXJsID0gImh0
dHA6Ly8iICsgaG9zdFVuZGVyVGVzdCArICIvdGVtcCI7CisgICAgY29uc3QgdG9wRnJhbWVPcmln
aW4xID0gImh0dHA6Ly8xMjcuMC4wLjI6ODAwMC90ZW1wIjsKKyAgICBjb25zdCB0b3BGcmFtZU9y
aWdpbjIgPSAiaHR0cDovLzEyNy4wLjAuMzo4MDAwL3RlbXAiOworICAgIGNvbnN0IHRvcEZyYW1l
T3JpZ2luMyA9ICJodHRwOi8vMTI3LjAuMC40OjgwMDAvdGVtcCI7CisgICAgZnVuY3Rpb24gcnVu
VGVzdFJ1bm5lclRlc3QoKSB7CisgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1ByZXZh
bGVudFJlc291cmNlKHN0YXRpc3RpY3NVcmwsIGZhbHNlKTsKKyAgICAgICAgaWYgKHRlc3RSdW5u
ZXIuaXNTdGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2Uoc3RhdGlzdGljc1VybCkpCisgICAgICAg
ICAgICB0ZXN0RmFpbGVkKCJIb3N0IGRpZCBub3QgZ2V0IHNldCBhcyBub24tcHJldmFsZW50IHJl
c291cmNlLiIpOworCisgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1N1YmZyYW1lVW5k
ZXJUb3BGcmFtZU9yaWdpbihzdGF0aXN0aWNzVXJsLCB0b3BGcmFtZU9yaWdpbjEpOworICAgICAg
ICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NTdWJmcmFtZVVuZGVyVG9wRnJhbWVPcmlnaW4oc3Rh
dGlzdGljc1VybCwgdG9wRnJhbWVPcmlnaW4yKTsKKyAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0
aXN0aWNzU3ViZnJhbWVVbmRlclRvcEZyYW1lT3JpZ2luKHN0YXRpc3RpY3NVcmwsIHRvcEZyYW1l
T3JpZ2luMyk7CisKKyAgICAgICAgdGVzdFJ1bm5lci5zdGF0aXN0aWNzRmlyZURhdGFNb2RpZmlj
YXRpb25IYW5kbGVyKCk7CisKKyAgICAgICAgaWYgKHRlc3RSdW5uZXIuaXNTdGF0aXN0aWNzUHJl
dmFsZW50UmVzb3VyY2Uoc3RhdGlzdGljc1VybCkpCisgICAgICAgICAgICB0ZXN0RmFpbGVkKCJI
b3N0IGNsYXNzaWZpZWQgYXMgcHJldmFsZW50IHJlc291cmNlLiIpOworICAgICAgICBlbHNlCisg
ICAgICAgICAgICB0ZXN0UGFzc2VkKCJIb3N0IGRpZCBub3QgZ2V0IGNsYXNzaWZpZWQgYXMgcHJl
dmFsZW50IHJlc291cmNlLiIpOworCisgICAgICAgIHRlc3RSdW5uZXIuc3RhdGlzdGljc1Jlc2V0
VG9Db25zaXN0ZW50U3RhdGUoKTsKKyAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7Cisg
ICAgfQorCisgICAgaWYgKGRvY3VtZW50LmxvY2F0aW9uLmhvc3QgPT09IGhvc3RVbmRlclRlc3Qg
JiYgd2luZG93LnRlc3RSdW5uZXIgJiYgd2luZG93LmludGVybmFscykgeworICAgICAgICB0ZXN0
UnVubmVyLndhaXRVbnRpbERvbmUoKTsKKyAgICAgICAgaW50ZXJuYWxzLnNldFJlc291cmNlTG9h
ZFN0YXRpc3RpY3NFbmFibGVkKHRydWUpOworICAgICAgICBydW5UZXN0UnVubmVyVGVzdCgpOwor
ICAgIH0KKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRT
dGF0aXN0aWNzL2NsYXNzaWZ5LWFzLW5vbi1wcmV2YWxlbnQtYmFzZWQtb24tc3VicmVzb3VyY2Ut
dW5kZXItdG9wLWZyYW1lLW9yaWdpbnMtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL2h0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5
LWFzLW5vbi1wcmV2YWxlbnQtYmFzZWQtb24tc3VicmVzb3VyY2UtdW5kZXItdG9wLWZyYW1lLW9y
aWdpbnMtZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2h0dHAvdGVz
dHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLW5vbi1wcmV2YWxl
bnQtYmFzZWQtb24tc3VicmVzb3VyY2UtdW5kZXItdG9wLWZyYW1lLW9yaWdpbnMtZXhwZWN0ZWQu
dHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsOCBAQAorbWFpbiBmcmFtZSAtIGRpZFN0YXJ0
UHJvdmlzaW9uYWxMb2FkRm9yRnJhbWUKK21haW4gZnJhbWUgLSBkaWRDb21taXRMb2FkRm9yRnJh
bWUKK21haW4gZnJhbWUgLSBkaWRSZWNlaXZlVGl0bGU6IFRlc3RzIGZvciBDbGFzc2lmaWNhdGlv
biBCYXNlZCBvbiBTdWJyZXNvdXJjZSBVbmRlciBUb3AgRnJhbWUgT3JpZ2lucworbWFpbiBmcmFt
ZSAtIGRpZEZpbmlzaERvY3VtZW50TG9hZEZvckZyYW1lCittYWluIGZyYW1lIC0gZGlkSGFuZGxl
T25sb2FkRXZlbnRzRm9yRnJhbWUKK21haW4gZnJhbWUgLSBkaWRGaW5pc2hMb2FkRm9yRnJhbWUK
K1BBU1MgSG9zdCBkaWQgbm90IGdldCBjbGFzc2lmaWVkIGFzIHByZXZhbGVudCByZXNvdXJjZS4K
KwpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0YXRp
c3RpY3MvY2xhc3NpZnktYXMtbm9uLXByZXZhbGVudC1iYXNlZC1vbi1zdWJyZXNvdXJjZS11bmRl
ci10b3AtZnJhbWUtb3JpZ2lucy5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAv
dGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLW5vbi1wcmV2
YWxlbnQtYmFzZWQtb24tc3VicmVzb3VyY2UtdW5kZXItdG9wLWZyYW1lLW9yaWdpbnMuaHRtbAko
bm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VM
b2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1ub24tcHJldmFsZW50LWJhc2VkLW9uLXN1YnJlc291
cmNlLXVuZGVyLXRvcC1mcmFtZS1vcmlnaW5zLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCAr
MSw0MCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbCBsYW5nPSJlbiI+Cis8aGVhZD4KKyAgICA8
bWV0YSBjaGFyc2V0PSJVVEYtOCI+CisgICAgPHRpdGxlPlRlc3RzIGZvciBDbGFzc2lmaWNhdGlv
biBCYXNlZCBvbiBTdWJyZXNvdXJjZSBVbmRlciBUb3AgRnJhbWUgT3JpZ2luczwvdGl0bGU+Cisg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQ+CisgICAgY29uc3QgaG9zdFVuZGVyVGVzdCA9ICIx
MjcuMC4wLjE6ODAwMCI7CisgICAgY29uc3Qgc3RhdGlzdGljc1VybCA9ICJodHRwOi8vIiArIGhv
c3RVbmRlclRlc3QgKyAiL3RlbXAiOworICAgIGNvbnN0IHRvcEZyYW1lT3JpZ2luMSA9ICJodHRw
Oi8vMTI3LjAuMC4yOjgwMDAvdGVtcCI7CisgICAgY29uc3QgdG9wRnJhbWVPcmlnaW4yID0gImh0
dHA6Ly8xMjcuMC4wLjM6ODAwMC90ZW1wIjsKKyAgICBmdW5jdGlvbiBydW5UZXN0UnVubmVyVGVz
dCgpIHsKKyAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2Uo
c3RhdGlzdGljc1VybCwgZmFsc2UpOworICAgICAgICBpZiAodGVzdFJ1bm5lci5pc1N0YXRpc3Rp
Y3NQcmV2YWxlbnRSZXNvdXJjZShzdGF0aXN0aWNzVXJsKSkKKyAgICAgICAgICAgIHRlc3RGYWls
ZWQoIkhvc3QgZGlkIG5vdCBnZXQgc2V0IGFzIG5vbi1wcmV2YWxlbnQgcmVzb3VyY2UuIik7CisK
KyAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzU3VicmVzb3VyY2VVbmRlclRvcEZyYW1l
T3JpZ2luKHN0YXRpc3RpY3NVcmwsIHRvcEZyYW1lT3JpZ2luMSk7CisgICAgICAgIHRlc3RSdW5u
ZXIuc2V0U3RhdGlzdGljc1N1YnJlc291cmNlVW5kZXJUb3BGcmFtZU9yaWdpbihzdGF0aXN0aWNz
VXJsLCB0b3BGcmFtZU9yaWdpbjIpOworCisgICAgICAgIHRlc3RSdW5uZXIuc3RhdGlzdGljc0Zp
cmVEYXRhTW9kaWZpY2F0aW9uSGFuZGxlcigpOworCisgICAgICAgIGlmICh0ZXN0UnVubmVyLmlz
U3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNlKHN0YXRpc3RpY3NVcmwpKQorICAgICAgICAgICAg
dGVzdEZhaWxlZCgiSG9zdCBjbGFzc2lmaWVkIGFzIHByZXZhbGVudCByZXNvdXJjZS4iKTsKKyAg
ICAgICAgZWxzZQorICAgICAgICAgICAgdGVzdFBhc3NlZCgiSG9zdCBkaWQgbm90IGdldCBjbGFz
c2lmaWVkIGFzIHByZXZhbGVudCByZXNvdXJjZS4iKTsKKworICAgICAgICB0ZXN0UnVubmVyLnN0
YXRpc3RpY3NSZXNldFRvQ29uc2lzdGVudFN0YXRlKCk7CisgICAgICAgIHRlc3RSdW5uZXIubm90
aWZ5RG9uZSgpOworICAgIH0KKworICAgIGlmIChkb2N1bWVudC5sb2NhdGlvbi5ob3N0ID09PSBo
b3N0VW5kZXJUZXN0ICYmIHdpbmRvdy50ZXN0UnVubmVyICYmIHdpbmRvdy5pbnRlcm5hbHMpIHsK
KyAgICAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7CisgICAgICAgIGludGVybmFscy5z
ZXRSZXNvdXJjZUxvYWRTdGF0aXN0aWNzRW5hYmxlZCh0cnVlKTsKKyAgICAgICAgcnVuVGVzdFJ1
bm5lclRlc3QoKTsKKyAgICB9Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBmaWxlCkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2xvYWRpbmcv
cmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1ub24tcHJldmFsZW50LWJhc2VkLW9u
LXN1YnJlc291cmNlLXVuaXF1ZS1yZWRpcmVjdHMtdG8tZXhwZWN0ZWQudHh0Cj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNz
L2NsYXNzaWZ5LWFzLW5vbi1wcmV2YWxlbnQtYmFzZWQtb24tc3VicmVzb3VyY2UtdW5pcXVlLXJl
ZGlyZWN0cy10by1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtbm9uLXBy
ZXZhbGVudC1iYXNlZC1vbi1zdWJyZXNvdXJjZS11bmlxdWUtcmVkaXJlY3RzLXRvLWV4cGVjdGVk
LnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDggQEAKK21haW4gZnJhbWUgLSBkaWRTdGFy
dFByb3Zpc2lvbmFsTG9hZEZvckZyYW1lCittYWluIGZyYW1lIC0gZGlkQ29tbWl0TG9hZEZvckZy
YW1lCittYWluIGZyYW1lIC0gZGlkUmVjZWl2ZVRpdGxlOiBUZXN0cyBmb3IgQ2xhc3NpZmljYXRp
b24gQmFzZWQgb24gU3VicmVzb3VyY2UgVW5pcXVlIFJlZGlyZWN0cyBUbworbWFpbiBmcmFtZSAt
IGRpZEZpbmlzaERvY3VtZW50TG9hZEZvckZyYW1lCittYWluIGZyYW1lIC0gZGlkSGFuZGxlT25s
b2FkRXZlbnRzRm9yRnJhbWUKK21haW4gZnJhbWUgLSBkaWRGaW5pc2hMb2FkRm9yRnJhbWUKK1BB
U1MgSG9zdCBkaWQgbm90IGdldCBjbGFzc2lmaWVkIGFzIHByZXZhbGVudCByZXNvdXJjZS4KKwpJ
bmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0YXRpc3Rp
Y3MvY2xhc3NpZnktYXMtbm9uLXByZXZhbGVudC1iYXNlZC1vbi1zdWJyZXNvdXJjZS11bmlxdWUt
cmVkaXJlY3RzLXRvLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9s
b2FkaW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtbm9uLXByZXZhbGVudC1i
YXNlZC1vbi1zdWJyZXNvdXJjZS11bmlxdWUtcmVkaXJlY3RzLXRvLmh0bWwJKG5vbmV4aXN0ZW50
KQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0YXRpc3Rp
Y3MvY2xhc3NpZnktYXMtbm9uLXByZXZhbGVudC1iYXNlZC1vbi1zdWJyZXNvdXJjZS11bmlxdWUt
cmVkaXJlY3RzLXRvLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw0MCBAQAorPCFET0NU
WVBFIGh0bWw+Cis8aHRtbCBsYW5nPSJlbiI+Cis8aGVhZD4KKyAgICA8bWV0YSBjaGFyc2V0PSJV
VEYtOCI+CisgICAgPHRpdGxlPlRlc3RzIGZvciBDbGFzc2lmaWNhdGlvbiBCYXNlZCBvbiBTdWJy
ZXNvdXJjZSBVbmlxdWUgUmVkaXJlY3RzIFRvPC90aXRsZT4KKyAgICA8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHNjcmlwdD4KKyAgICBjb25zdCBob3N0VW5kZXJUZXN0ID0gIjEyNy4wLjAuMTo4MDAwIjsKKyAg
ICBjb25zdCBzdGF0aXN0aWNzVXJsID0gImh0dHA6Ly8iICsgaG9zdFVuZGVyVGVzdCArICIvdGVt
cCI7CisgICAgY29uc3QgdG9wRnJhbWVPcmlnaW4xID0gImh0dHA6Ly8xMjcuMC4wLjI6ODAwMC90
ZW1wIjsKKyAgICBjb25zdCB0b3BGcmFtZU9yaWdpbjIgPSAiaHR0cDovLzEyNy4wLjAuMzo4MDAw
L3RlbXAiOworICAgIGZ1bmN0aW9uIHJ1blRlc3RSdW5uZXJUZXN0KCkgeworICAgICAgICB0ZXN0
UnVubmVyLnNldFN0YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJjZShzdGF0aXN0aWNzVXJsLCBmYWxz
ZSk7CisgICAgICAgIGlmICh0ZXN0UnVubmVyLmlzU3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNl
KHN0YXRpc3RpY3NVcmwpKQorICAgICAgICAgICAgdGVzdEZhaWxlZCgiSG9zdCBkaWQgbm90IGdl
dCBzZXQgYXMgbm9uLXByZXZhbGVudCByZXNvdXJjZS4iKTsKKworICAgICAgICB0ZXN0UnVubmVy
LnNldFN0YXRpc3RpY3NTdWJyZXNvdXJjZVVuaXF1ZVJlZGlyZWN0VG8oc3RhdGlzdGljc1VybCwg
dG9wRnJhbWVPcmlnaW4xKTsKKyAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzU3VicmVz
b3VyY2VVbmlxdWVSZWRpcmVjdFRvKHN0YXRpc3RpY3NVcmwsIHRvcEZyYW1lT3JpZ2luMik7CisK
KyAgICAgICAgdGVzdFJ1bm5lci5zdGF0aXN0aWNzRmlyZURhdGFNb2RpZmljYXRpb25IYW5kbGVy
KCk7CisKKyAgICAgICAgaWYgKHRlc3RSdW5uZXIuaXNTdGF0aXN0aWNzUHJldmFsZW50UmVzb3Vy
Y2Uoc3RhdGlzdGljc1VybCkpCisgICAgICAgICAgICB0ZXN0RmFpbGVkKCJIb3N0IGNsYXNzaWZp
ZWQgYXMgcHJldmFsZW50IHJlc291cmNlLiIpOworICAgICAgICBlbHNlCisgICAgICAgICAgICB0
ZXN0UGFzc2VkKCJIb3N0IGRpZCBub3QgZ2V0IGNsYXNzaWZpZWQgYXMgcHJldmFsZW50IHJlc291
cmNlLiIpOworCisgICAgICAgIHRlc3RSdW5uZXIuc3RhdGlzdGljc1Jlc2V0VG9Db25zaXN0ZW50
U3RhdGUoKTsKKyAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7CisgICAgfQorCisgICAg
aWYgKGRvY3VtZW50LmxvY2F0aW9uLmhvc3QgPT09IGhvc3RVbmRlclRlc3QgJiYgd2luZG93LnRl
c3RSdW5uZXIgJiYgd2luZG93LmludGVybmFscykgeworICAgICAgICB0ZXN0UnVubmVyLndhaXRV
bnRpbERvbmUoKTsKKyAgICAgICAgaW50ZXJuYWxzLnNldFJlc291cmNlTG9hZFN0YXRpc3RpY3NF
bmFibGVkKHRydWUpOworICAgICAgICBydW5UZXN0UnVubmVyVGVzdCgpOworICAgIH0KKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKSW5kZXg6
IExheW91dFRlc3RzL2h0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2Ns
YXNzaWZ5LWFzLXByZXZhbGVudC1iYXNlZC1vbi1taXhlZC1zdGF0aXN0aWNzLWV4cGVjdGVkLnR4
dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VM
b2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1wcmV2YWxlbnQtYmFzZWQtb24tbWl4ZWQtc3RhdGlz
dGljcy1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtcHJldmFsZW50LWJh
c2VkLW9uLW1peGVkLXN0YXRpc3RpY3MtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0w
LDAgKzEsOCBAQAorbWFpbiBmcmFtZSAtIGRpZFN0YXJ0UHJvdmlzaW9uYWxMb2FkRm9yRnJhbWUK
K21haW4gZnJhbWUgLSBkaWRDb21taXRMb2FkRm9yRnJhbWUKK21haW4gZnJhbWUgLSBkaWRSZWNl
aXZlVGl0bGU6IFRlc3RzIGZvciBDbGFzc2lmaWNhdGlvbiBCYXNlZCBvbiBNaXhlZCBTdGF0aXN0
aWNzCittYWluIGZyYW1lIC0gZGlkRmluaXNoRG9jdW1lbnRMb2FkRm9yRnJhbWUKK21haW4gZnJh
bWUgLSBkaWRIYW5kbGVPbmxvYWRFdmVudHNGb3JGcmFtZQorbWFpbiBmcmFtZSAtIGRpZEZpbmlz
aExvYWRGb3JGcmFtZQorUEFTUyBIb3N0IGNsYXNzaWZpZWQgYXMgcHJldmFsZW50IHJlc291cmNl
LgorCkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3Rh
dGlzdGljcy9jbGFzc2lmeS1hcy1wcmV2YWxlbnQtYmFzZWQtb24tbWl4ZWQtc3RhdGlzdGljcy5o
dG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLXByZXZhbGVudC1iYXNlZC1vbi1taXhlZC1zdGF0
aXN0aWNzLmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9sb2Fk
aW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtcHJldmFsZW50LWJhc2VkLW9u
LW1peGVkLXN0YXRpc3RpY3MuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDQ5IEBACis8
IURPQ1RZUEUgaHRtbD4KKzxodG1sIGxhbmc9ImVuIj4KKzxoZWFkPgorICAgIDxtZXRhIGNoYXJz
ZXQ9IlVURi04Ij4KKyAgICA8dGl0bGU+VGVzdHMgZm9yIENsYXNzaWZpY2F0aW9uIEJhc2VkIG9u
IE1peGVkIFN0YXRpc3RpY3M8L3RpdGxlPgorICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0Pgor
ICAgIGNvbnN0IGhvc3RVbmRlclRlc3QgPSAiMTI3LjAuMC4xOjgwMDAiOworICAgIGNvbnN0IHN0
YXRpc3RpY3NVcmwgPSAiaHR0cDovLyIgKyBob3N0VW5kZXJUZXN0ICsgIi90ZW1wIjsKKyAgICBj
b25zdCB0b3BGcmFtZU9yaWdpbjEgPSAiaHR0cDovLzEyNy4wLjAuMjo4MDAwL3RlbXAiOworICAg
IGNvbnN0IHRvcEZyYW1lT3JpZ2luMiA9ICJodHRwOi8vMTI3LjAuMC4zOjgwMDAvdGVtcCI7Cisg
ICAgY29uc3QgdG9wRnJhbWVPcmlnaW4zID0gImh0dHA6Ly8xMjcuMC4wLjQ6ODAwMC90ZW1wIjsK
KyAgICBjb25zdCB0b3BGcmFtZU9yaWdpbjQgPSAiaHR0cDovLzEyNy4wLjAuNTo4MDAwL3RlbXAi
OworICAgIGZ1bmN0aW9uIHJ1blRlc3RSdW5uZXJUZXN0KCkgeworICAgICAgICB0ZXN0UnVubmVy
LnNldFN0YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJjZShzdGF0aXN0aWNzVXJsLCBmYWxzZSk7Cisg
ICAgICAgIGlmICh0ZXN0UnVubmVyLmlzU3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNlKHN0YXRp
c3RpY3NVcmwpKQorICAgICAgICAgICAgdGVzdEZhaWxlZCgiSG9zdCBkaWQgbm90IGdldCBzZXQg
YXMgbm9uLXByZXZhbGVudCByZXNvdXJjZS4iKTsKKworICAgICAgICB0ZXN0UnVubmVyLnNldFN0
YXRpc3RpY3NTdWJmcmFtZVVuZGVyVG9wRnJhbWVPcmlnaW4oc3RhdGlzdGljc1VybCwgdG9wRnJh
bWVPcmlnaW4xKTsKKyAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzU3ViZnJhbWVVbmRl
clRvcEZyYW1lT3JpZ2luKHN0YXRpc3RpY3NVcmwsIHRvcEZyYW1lT3JpZ2luNCk7CisKKyAgICAg
ICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzU3VicmVzb3VyY2VVbmRlclRvcEZyYW1lT3JpZ2lu
KHN0YXRpc3RpY3NVcmwsIHRvcEZyYW1lT3JpZ2luMik7CisgICAgICAgIHRlc3RSdW5uZXIuc2V0
U3RhdGlzdGljc1N1YnJlc291cmNlVW5kZXJUb3BGcmFtZU9yaWdpbihzdGF0aXN0aWNzVXJsLCB0
b3BGcmFtZU9yaWdpbjMpOworICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NTdWJyZXNv
dXJjZVVuZGVyVG9wRnJhbWVPcmlnaW4oc3RhdGlzdGljc1VybCwgdG9wRnJhbWVPcmlnaW40KTsK
KworICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NTdWJyZXNvdXJjZVVuaXF1ZVJlZGly
ZWN0VG8oc3RhdGlzdGljc1VybCwgdG9wRnJhbWVPcmlnaW4zKTsKKyAgICAgICAgdGVzdFJ1bm5l
ci5zZXRTdGF0aXN0aWNzU3VicmVzb3VyY2VVbmlxdWVSZWRpcmVjdFRvKHN0YXRpc3RpY3NVcmws
IHRvcEZyYW1lT3JpZ2luMSk7CisKKyAgICAgICAgdGVzdFJ1bm5lci5zdGF0aXN0aWNzRmlyZURh
dGFNb2RpZmljYXRpb25IYW5kbGVyKCk7CisKKyAgICAgICAgaWYgKCF0ZXN0UnVubmVyLmlzU3Rh
dGlzdGljc1ByZXZhbGVudFJlc291cmNlKHN0YXRpc3RpY3NVcmwpKQorICAgICAgICAgICAgdGVz
dEZhaWxlZCgiSG9zdCBkaWQgbm90IGdldCBjbGFzc2lmaWVkIGFzIHByZXZhbGVudCByZXNvdXJj
ZS4iKTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgdGVzdFBhc3NlZCgiSG9zdCBjbGFzc2lm
aWVkIGFzIHByZXZhbGVudCByZXNvdXJjZS4iKTsKKworICAgICAgICB0ZXN0UnVubmVyLnN0YXRp
c3RpY3NSZXNldFRvQ29uc2lzdGVudFN0YXRlKCk7CisgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5
RG9uZSgpOworICAgIH0KKworICAgIGlmIChkb2N1bWVudC5sb2NhdGlvbi5ob3N0ID09PSBob3N0
VW5kZXJUZXN0ICYmIHdpbmRvdy50ZXN0UnVubmVyICYmIHdpbmRvdy5pbnRlcm5hbHMpIHsKKyAg
ICAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7CisgICAgICAgIGludGVybmFscy5zZXRS
ZXNvdXJjZUxvYWRTdGF0aXN0aWNzRW5hYmxlZCh0cnVlKTsKKyAgICAgICAgcnVuVGVzdFJ1bm5l
clRlc3QoKTsKKyAgICB9Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2xvYWRpbmcvcmVz
b3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1wcmV2YWxlbnQtYmFzZWQtb24tc3ViLWZy
YW1lLXVuZGVyLXRvcC1mcmFtZS1vcmlnaW5zLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFz
c2lmeS1hcy1wcmV2YWxlbnQtYmFzZWQtb24tc3ViLWZyYW1lLXVuZGVyLXRvcC1mcmFtZS1vcmln
aW5zLWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1wcmV2YWxlbnQtYmFz
ZWQtb24tc3ViLWZyYW1lLXVuZGVyLXRvcC1mcmFtZS1vcmlnaW5zLWV4cGVjdGVkLnR4dAkod29y
a2luZyBjb3B5KQpAQCAtMCwwICsxLDggQEAKK21haW4gZnJhbWUgLSBkaWRTdGFydFByb3Zpc2lv
bmFsTG9hZEZvckZyYW1lCittYWluIGZyYW1lIC0gZGlkQ29tbWl0TG9hZEZvckZyYW1lCittYWlu
IGZyYW1lIC0gZGlkUmVjZWl2ZVRpdGxlOiBUZXN0cyBmb3IgQ2xhc3NpZmljYXRpb24gQmFzZWQg
b24gU3ViIEZyYW1lIFVuZGVyIFRvcCBGcmFtZSBPcmlnaW5zCittYWluIGZyYW1lIC0gZGlkRmlu
aXNoRG9jdW1lbnRMb2FkRm9yRnJhbWUKK21haW4gZnJhbWUgLSBkaWRIYW5kbGVPbmxvYWRFdmVu
dHNGb3JGcmFtZQorbWFpbiBmcmFtZSAtIGRpZEZpbmlzaExvYWRGb3JGcmFtZQorUEFTUyBIb3N0
IGNsYXNzaWZpZWQgYXMgcHJldmFsZW50IHJlc291cmNlLgorCkluZGV4OiBMYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1wcmV2
YWxlbnQtYmFzZWQtb24tc3ViLWZyYW1lLXVuZGVyLXRvcC1mcmFtZS1vcmlnaW5zLmh0bWwKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0
YXRpc3RpY3MvY2xhc3NpZnktYXMtcHJldmFsZW50LWJhc2VkLW9uLXN1Yi1mcmFtZS11bmRlci10
b3AtZnJhbWUtb3JpZ2lucy5odG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2h0dHAv
dGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLXByZXZhbGVu
dC1iYXNlZC1vbi1zdWItZnJhbWUtdW5kZXItdG9wLWZyYW1lLW9yaWdpbnMuaHRtbAkod29ya2lu
ZyBjb3B5KQpAQCAtMCwwICsxLDQ0IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sIGxhbmc9ImVu
Ij4KKzxoZWFkPgorICAgIDxtZXRhIGNoYXJzZXQ9IlVURi04Ij4KKyAgICA8dGl0bGU+VGVzdHMg
Zm9yIENsYXNzaWZpY2F0aW9uIEJhc2VkIG9uIFN1YiBGcmFtZSBVbmRlciBUb3AgRnJhbWUgT3Jp
Z2luczwvdGl0bGU+CisgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBy
ZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQ+CisgICAgY29uc3QgaG9z
dFVuZGVyVGVzdCA9ICIxMjcuMC4wLjE6ODAwMCI7CisgICAgY29uc3Qgc3RhdGlzdGljc1VybCA9
ICJodHRwOi8vIiArIGhvc3RVbmRlclRlc3QgKyAiL3RlbXAiOworICAgIGNvbnN0IHRvcEZyYW1l
T3JpZ2luMSA9ICJodHRwOi8vMTI3LjAuMC4yOjgwMDAvdGVtcCI7CisgICAgY29uc3QgdG9wRnJh
bWVPcmlnaW4yID0gImh0dHA6Ly8xMjcuMC4wLjM6ODAwMC90ZW1wIjsKKyAgICBjb25zdCB0b3BG
cmFtZU9yaWdpbjMgPSAiaHR0cDovLzEyNy4wLjAuNDo4MDAwL3RlbXAiOworICAgIGNvbnN0IHRv
cEZyYW1lT3JpZ2luNCA9ICJodHRwOi8vMTI3LjAuMC41OjgwMDAvdGVtcCI7CisgICAgZnVuY3Rp
b24gcnVuVGVzdFJ1bm5lclRlc3QoKSB7CisgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGlj
c1ByZXZhbGVudFJlc291cmNlKHN0YXRpc3RpY3NVcmwsIGZhbHNlKTsKKyAgICAgICAgaWYgKHRl
c3RSdW5uZXIuaXNTdGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2Uoc3RhdGlzdGljc1VybCkpCisg
ICAgICAgICAgICB0ZXN0RmFpbGVkKCJIb3N0IGRpZCBub3QgZ2V0IHNldCBhcyBub24tcHJldmFs
ZW50IHJlc291cmNlLiIpOworCisgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1N1YmZy
YW1lVW5kZXJUb3BGcmFtZU9yaWdpbihzdGF0aXN0aWNzVXJsLCB0b3BGcmFtZU9yaWdpbjEpOwor
ICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NTdWJmcmFtZVVuZGVyVG9wRnJhbWVPcmln
aW4oc3RhdGlzdGljc1VybCwgdG9wRnJhbWVPcmlnaW4yKTsKKyAgICAgICAgdGVzdFJ1bm5lci5z
ZXRTdGF0aXN0aWNzU3ViZnJhbWVVbmRlclRvcEZyYW1lT3JpZ2luKHN0YXRpc3RpY3NVcmwsIHRv
cEZyYW1lT3JpZ2luMyk7CisgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1N1YmZyYW1l
VW5kZXJUb3BGcmFtZU9yaWdpbihzdGF0aXN0aWNzVXJsLCB0b3BGcmFtZU9yaWdpbjQpOworCisg
ICAgICAgIHRlc3RSdW5uZXIuc3RhdGlzdGljc0ZpcmVEYXRhTW9kaWZpY2F0aW9uSGFuZGxlcigp
OworCisgICAgICAgIGlmICghdGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJj
ZShzdGF0aXN0aWNzVXJsKSkKKyAgICAgICAgICAgIHRlc3RGYWlsZWQoIkhvc3QgZGlkIG5vdCBn
ZXQgY2xhc3NpZmllZCBhcyBwcmV2YWxlbnQgcmVzb3VyY2UuIik7CisgICAgICAgIGVsc2UKKyAg
ICAgICAgICAgIHRlc3RQYXNzZWQoIkhvc3QgY2xhc3NpZmllZCBhcyBwcmV2YWxlbnQgcmVzb3Vy
Y2UuIik7CisKKyAgICAgICAgdGVzdFJ1bm5lci5zdGF0aXN0aWNzUmVzZXRUb0NvbnNpc3RlbnRT
dGF0ZSgpOworICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKKyAgICB9CisKKyAgICBp
ZiAoZG9jdW1lbnQubG9jYXRpb24uaG9zdCA9PT0gaG9zdFVuZGVyVGVzdCAmJiB3aW5kb3cudGVz
dFJ1bm5lciAmJiB3aW5kb3cuaW50ZXJuYWxzKSB7CisgICAgICAgIHRlc3RSdW5uZXIud2FpdFVu
dGlsRG9uZSgpOworICAgICAgICBpbnRlcm5hbHMuc2V0UmVzb3VyY2VMb2FkU3RhdGlzdGljc0Vu
YWJsZWQodHJ1ZSk7CisgICAgICAgIHJ1blRlc3RSdW5uZXJUZXN0KCk7CisgICAgfQorPC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpJbmRleDog
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xh
c3NpZnktYXMtcHJldmFsZW50LWJhc2VkLW9uLXN1YnJlc291cmNlLXVuZGVyLXRvcC1mcmFtZS1v
cmlnaW5zLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1wcmV2YWxlbnQtYmFz
ZWQtb24tc3VicmVzb3VyY2UtdW5kZXItdG9wLWZyYW1lLW9yaWdpbnMtZXhwZWN0ZWQudHh0CShu
b25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxv
YWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLXByZXZhbGVudC1iYXNlZC1vbi1zdWJyZXNvdXJjZS11
bmRlci10b3AtZnJhbWUtb3JpZ2lucy1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAs
MCArMSw4IEBACittYWluIGZyYW1lIC0gZGlkU3RhcnRQcm92aXNpb25hbExvYWRGb3JGcmFtZQor
bWFpbiBmcmFtZSAtIGRpZENvbW1pdExvYWRGb3JGcmFtZQorbWFpbiBmcmFtZSAtIGRpZFJlY2Vp
dmVUaXRsZTogVGVzdHMgZm9yIENsYXNzaWZpY2F0aW9uIEJhc2VkIG9uIFN1YnJlc291cmNlIFVu
ZGVyIFRvcCBGcmFtZSBPcmlnaW5zCittYWluIGZyYW1lIC0gZGlkRmluaXNoRG9jdW1lbnRMb2Fk
Rm9yRnJhbWUKK21haW4gZnJhbWUgLSBkaWRIYW5kbGVPbmxvYWRFdmVudHNGb3JGcmFtZQorbWFp
biBmcmFtZSAtIGRpZEZpbmlzaExvYWRGb3JGcmFtZQorUEFTUyBIb3N0IGNsYXNzaWZpZWQgYXMg
cHJldmFsZW50IHJlc291cmNlLgorCkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2xvYWRp
bmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1wcmV2YWxlbnQtYmFzZWQtb24t
c3VicmVzb3VyY2UtdW5kZXItdG9wLWZyYW1lLW9yaWdpbnMuaHRtbAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFz
c2lmeS1hcy1wcmV2YWxlbnQtYmFzZWQtb24tc3VicmVzb3VyY2UtdW5kZXItdG9wLWZyYW1lLW9y
aWdpbnMuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2xvYWRp
bmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1wcmV2YWxlbnQtYmFzZWQtb24t
c3VicmVzb3VyY2UtdW5kZXItdG9wLWZyYW1lLW9yaWdpbnMuaHRtbAkod29ya2luZyBjb3B5KQpA
QCAtMCwwICsxLDQ0IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sIGxhbmc9ImVuIj4KKzxoZWFk
PgorICAgIDxtZXRhIGNoYXJzZXQ9IlVURi04Ij4KKyAgICA8dGl0bGU+VGVzdHMgZm9yIENsYXNz
aWZpY2F0aW9uIEJhc2VkIG9uIFN1YnJlc291cmNlIFVuZGVyIFRvcCBGcmFtZSBPcmlnaW5zPC90
aXRsZT4KKyAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdD4KKyAgICBjb25zdCBob3N0VW5kZXJU
ZXN0ID0gIjEyNy4wLjAuMTo4MDAwIjsKKyAgICBjb25zdCBzdGF0aXN0aWNzVXJsID0gImh0dHA6
Ly8iICsgaG9zdFVuZGVyVGVzdCArICIvdGVtcCI7CisgICAgY29uc3QgdG9wRnJhbWVPcmlnaW4x
ID0gImh0dHA6Ly8xMjcuMC4wLjI6ODAwMC90ZW1wIjsKKyAgICBjb25zdCB0b3BGcmFtZU9yaWdp
bjIgPSAiaHR0cDovLzEyNy4wLjAuMzo4MDAwL3RlbXAiOworICAgIGNvbnN0IHRvcEZyYW1lT3Jp
Z2luMyA9ICJodHRwOi8vMTI3LjAuMC40OjgwMDAvdGVtcCI7CisgICAgY29uc3QgdG9wRnJhbWVP
cmlnaW40ID0gImh0dHA6Ly8xMjcuMC4wLjU6ODAwMC90ZW1wIjsKKyAgICBmdW5jdGlvbiBydW5U
ZXN0UnVubmVyVGVzdCgpIHsKKyAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzUHJldmFs
ZW50UmVzb3VyY2Uoc3RhdGlzdGljc1VybCwgZmFsc2UpOworICAgICAgICBpZiAodGVzdFJ1bm5l
ci5pc1N0YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJjZShzdGF0aXN0aWNzVXJsKSkKKyAgICAgICAg
ICAgIHRlc3RGYWlsZWQoIkhvc3QgZGlkIG5vdCBnZXQgc2V0IGFzIG5vbi1wcmV2YWxlbnQgcmVz
b3VyY2UuIik7CisKKyAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzU3VicmVzb3VyY2VV
bmRlclRvcEZyYW1lT3JpZ2luKHN0YXRpc3RpY3NVcmwsIHRvcEZyYW1lT3JpZ2luMSk7CisgICAg
ICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1N1YnJlc291cmNlVW5kZXJUb3BGcmFtZU9yaWdp
bihzdGF0aXN0aWNzVXJsLCB0b3BGcmFtZU9yaWdpbjIpOworICAgICAgICB0ZXN0UnVubmVyLnNl
dFN0YXRpc3RpY3NTdWJyZXNvdXJjZVVuZGVyVG9wRnJhbWVPcmlnaW4oc3RhdGlzdGljc1VybCwg
dG9wRnJhbWVPcmlnaW4zKTsKKyAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzU3VicmVz
b3VyY2VVbmRlclRvcEZyYW1lT3JpZ2luKHN0YXRpc3RpY3NVcmwsIHRvcEZyYW1lT3JpZ2luNCk7
CisKKyAgICAgICAgdGVzdFJ1bm5lci5zdGF0aXN0aWNzRmlyZURhdGFNb2RpZmljYXRpb25IYW5k
bGVyKCk7CisKKyAgICAgICAgaWYgKCF0ZXN0UnVubmVyLmlzU3RhdGlzdGljc1ByZXZhbGVudFJl
c291cmNlKHN0YXRpc3RpY3NVcmwpKQorICAgICAgICAgICAgdGVzdEZhaWxlZCgiSG9zdCBkaWQg
bm90IGdldCBjbGFzc2lmaWVkIGFzIHByZXZhbGVudCByZXNvdXJjZS4iKTsKKyAgICAgICAgZWxz
ZQorICAgICAgICAgICAgdGVzdFBhc3NlZCgiSG9zdCBjbGFzc2lmaWVkIGFzIHByZXZhbGVudCBy
ZXNvdXJjZS4iKTsKKworICAgICAgICB0ZXN0UnVubmVyLnN0YXRpc3RpY3NSZXNldFRvQ29uc2lz
dGVudFN0YXRlKCk7CisgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOworICAgIH0KKwor
ICAgIGlmIChkb2N1bWVudC5sb2NhdGlvbi5ob3N0ID09PSBob3N0VW5kZXJUZXN0ICYmIHdpbmRv
dy50ZXN0UnVubmVyICYmIHdpbmRvdy5pbnRlcm5hbHMpIHsKKyAgICAgICAgdGVzdFJ1bm5lci53
YWl0VW50aWxEb25lKCk7CisgICAgICAgIGludGVybmFscy5zZXRSZXNvdXJjZUxvYWRTdGF0aXN0
aWNzRW5hYmxlZCh0cnVlKTsKKyAgICAgICAgcnVuVGVzdFJ1bm5lclRlc3QoKTsKKyAgICB9Cis8
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCklu
ZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGlj
cy9jbGFzc2lmeS1hcy1wcmV2YWxlbnQtYmFzZWQtb24tc3VicmVzb3VyY2UtdW5pcXVlLXJlZGly
ZWN0cy10by1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtcHJldmFsZW50LWJh
c2VkLW9uLXN1YnJlc291cmNlLXVuaXF1ZS1yZWRpcmVjdHMtdG8tZXhwZWN0ZWQudHh0CShub25l
eGlzdGVudCkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRT
dGF0aXN0aWNzL2NsYXNzaWZ5LWFzLXByZXZhbGVudC1iYXNlZC1vbi1zdWJyZXNvdXJjZS11bmlx
dWUtcmVkaXJlY3RzLXRvLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDgg
QEAKK21haW4gZnJhbWUgLSBkaWRTdGFydFByb3Zpc2lvbmFsTG9hZEZvckZyYW1lCittYWluIGZy
YW1lIC0gZGlkQ29tbWl0TG9hZEZvckZyYW1lCittYWluIGZyYW1lIC0gZGlkUmVjZWl2ZVRpdGxl
OiBUZXN0cyBmb3IgQ2xhc3NpZmljYXRpb24gQmFzZWQgb24gU3VicmVzb3VyY2UgVW5pcXVlIFJl
ZGlyZWN0cyBUbworbWFpbiBmcmFtZSAtIGRpZEZpbmlzaERvY3VtZW50TG9hZEZvckZyYW1lCitt
YWluIGZyYW1lIC0gZGlkSGFuZGxlT25sb2FkRXZlbnRzRm9yRnJhbWUKK21haW4gZnJhbWUgLSBk
aWRGaW5pc2hMb2FkRm9yRnJhbWUKK1BBU1MgSG9zdCBjbGFzc2lmaWVkIGFzIHByZXZhbGVudCBy
ZXNvdXJjZS4KKwpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNl
TG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtcHJldmFsZW50LWJhc2VkLW9uLXN1YnJlc291cmNl
LXVuaXF1ZS1yZWRpcmVjdHMtdG8uaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1wcmV2YWxl
bnQtYmFzZWQtb24tc3VicmVzb3VyY2UtdW5pcXVlLXJlZGlyZWN0cy10by5odG1sCShub25leGlz
dGVudCkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0
aXN0aWNzL2NsYXNzaWZ5LWFzLXByZXZhbGVudC1iYXNlZC1vbi1zdWJyZXNvdXJjZS11bmlxdWUt
cmVkaXJlY3RzLXRvLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw0NCBAQAorPCFET0NU
WVBFIGh0bWw+Cis8aHRtbCBsYW5nPSJlbiI+Cis8aGVhZD4KKyAgICA8bWV0YSBjaGFyc2V0PSJV
VEYtOCI+CisgICAgPHRpdGxlPlRlc3RzIGZvciBDbGFzc2lmaWNhdGlvbiBCYXNlZCBvbiBTdWJy
ZXNvdXJjZSBVbmlxdWUgUmVkaXJlY3RzIFRvPC90aXRsZT4KKyAgICA8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHNjcmlwdD4KKyAgICBjb25zdCBob3N0VW5kZXJUZXN0ID0gIjEyNy4wLjAuMTo4MDAwIjsKKyAg
ICBjb25zdCBzdGF0aXN0aWNzVXJsID0gImh0dHA6Ly8iICsgaG9zdFVuZGVyVGVzdCArICIvdGVt
cCI7CisgICAgY29uc3QgdG9wRnJhbWVPcmlnaW4xID0gImh0dHA6Ly8xMjcuMC4wLjI6ODAwMC90
ZW1wIjsKKyAgICBjb25zdCB0b3BGcmFtZU9yaWdpbjIgPSAiaHR0cDovLzEyNy4wLjAuMzo4MDAw
L3RlbXAiOworICAgIGNvbnN0IHRvcEZyYW1lT3JpZ2luMyA9ICJodHRwOi8vMTI3LjAuMC40Ojgw
MDAvdGVtcCI7CisgICAgY29uc3QgdG9wRnJhbWVPcmlnaW40ID0gImh0dHA6Ly8xMjcuMC4wLjU6
ODAwMC90ZW1wIjsKKyAgICBmdW5jdGlvbiBydW5UZXN0UnVubmVyVGVzdCgpIHsKKyAgICAgICAg
dGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2Uoc3RhdGlzdGljc1VybCwg
ZmFsc2UpOworICAgICAgICBpZiAodGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NQcmV2YWxlbnRSZXNv
dXJjZShzdGF0aXN0aWNzVXJsKSkKKyAgICAgICAgICAgIHRlc3RGYWlsZWQoIkhvc3QgZGlkIG5v
dCBnZXQgc2V0IGFzIG5vbi1wcmV2YWxlbnQgcmVzb3VyY2UuIik7CisKKyAgICAgICAgdGVzdFJ1
bm5lci5zZXRTdGF0aXN0aWNzU3VicmVzb3VyY2VVbmlxdWVSZWRpcmVjdFRvKHN0YXRpc3RpY3NV
cmwsIHRvcEZyYW1lT3JpZ2luMSk7CisgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1N1
YnJlc291cmNlVW5pcXVlUmVkaXJlY3RUbyhzdGF0aXN0aWNzVXJsLCB0b3BGcmFtZU9yaWdpbjIp
OworICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NTdWJyZXNvdXJjZVVuaXF1ZVJlZGly
ZWN0VG8oc3RhdGlzdGljc1VybCwgdG9wRnJhbWVPcmlnaW4zKTsKKyAgICAgICAgdGVzdFJ1bm5l
ci5zZXRTdGF0aXN0aWNzU3VicmVzb3VyY2VVbmlxdWVSZWRpcmVjdFRvKHN0YXRpc3RpY3NVcmws
IHRvcEZyYW1lT3JpZ2luNCk7CisKKyAgICAgICAgdGVzdFJ1bm5lci5zdGF0aXN0aWNzRmlyZURh
dGFNb2RpZmljYXRpb25IYW5kbGVyKCk7CisKKyAgICAgICAgaWYgKCF0ZXN0UnVubmVyLmlzU3Rh
dGlzdGljc1ByZXZhbGVudFJlc291cmNlKHN0YXRpc3RpY3NVcmwpKQorICAgICAgICAgICAgdGVz
dEZhaWxlZCgiSG9zdCBkaWQgbm90IGdldCBjbGFzc2lmaWVkIGFzIHByZXZhbGVudCByZXNvdXJj
ZS4iKTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgdGVzdFBhc3NlZCgiSG9zdCBjbGFzc2lm
aWVkIGFzIHByZXZhbGVudCByZXNvdXJjZS4iKTsKKworICAgICAgICB0ZXN0UnVubmVyLnN0YXRp
c3RpY3NSZXNldFRvQ29uc2lzdGVudFN0YXRlKCk7CisgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5
RG9uZSgpOworICAgIH0KKworICAgIGlmIChkb2N1bWVudC5sb2NhdGlvbi5ob3N0ID09PSBob3N0
VW5kZXJUZXN0ICYmIHdpbmRvdy50ZXN0UnVubmVyICYmIHdpbmRvdy5pbnRlcm5hbHMpIHsKKyAg
ICAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7CisgICAgICAgIGludGVybmFscy5zZXRS
ZXNvdXJjZUxvYWRTdGF0aXN0aWNzRW5hYmxlZCh0cnVlKTsKKyAgICAgICAgcnVuVGVzdFJ1bm5l
clRlc3QoKTsKKyAgICB9Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91
dFRlc3RzL3BsYXRmb3JtL3drMi9UZXN0RXhwZWN0YXRpb25zCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL3BsYXRmb3JtL3drMi9UZXN0RXhwZWN0YXRpb25zCShyZXZpc2lvbiAyMTI1MjQpCisr
KyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS93azIvVGVzdEV4cGVjdGF0aW9ucwkod29ya2luZyBjb3B5
KQpAQCAtNzA1LDYgKzcwNSwxNCBAQCBodHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3Rh
dGlzdGljCiBodHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9ub24tcHJl
dmFsZW50LXJlc291cmNlLXdpdGhvdXQtdXNlci1pbnRlcmFjdGlvbi5odG1sIFsgUGFzcyBUaW1l
b3V0IF0KIGh0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3ByZXZhbGVu
dC1yZXNvdXJjZS13aXRob3V0LXVzZXItaW50ZXJhY3Rpb24uaHRtbCBbIFBhc3MgVGltZW91dCBd
CiBodHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9wcmV2YWxlbnQtcmVz
b3VyY2Utd2l0aC11c2VyLWludGVyYWN0aW9uLXRpbWVvdXQuaHRtbCBbIFBhc3MgVGltZW91dCBd
CitodHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1u
b24tcHJldmFsZW50LWJhc2VkLW9uLW1peGVkLXN0YXRpc3RpY3MuaHRtbCBbIFBhc3MgXQoraHR0
cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtbm9uLXBy
ZXZhbGVudC1iYXNlZC1vbi1zdWItZnJhbWUtdW5kZXItdG9wLWZyYW1lLW9yaWdpbnMuaHRtbCBb
IFBhc3MgXQoraHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3Np
ZnktYXMtbm9uLXByZXZhbGVudC1iYXNlZC1vbi1zdWJyZXNvdXJjZS11bmRlci10b3AtZnJhbWUt
b3JpZ2lucy5odG1sIFsgUGFzcyBdCitodHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3Rh
dGlzdGljcy9jbGFzc2lmeS1hcy1ub24tcHJldmFsZW50LWJhc2VkLW9uLXN1YnJlc291cmNlLXVu
aXF1ZS1yZWRpcmVjdHMtdG8uaHRtbCBbIFBhc3MgXQoraHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291
cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtcHJldmFsZW50LWJhc2VkLW9uLW1peGVkLXN0
YXRpc3RpY3MuaHRtbCBbIFBhc3MgXQoraHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0
YXRpc3RpY3MvY2xhc3NpZnktYXMtcHJldmFsZW50LWJhc2VkLW9uLXN1Yi1mcmFtZS11bmRlci10
b3AtZnJhbWUtb3JpZ2lucy5odG1sIFsgUGFzcyBdCitodHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3Vy
Y2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1wcmV2YWxlbnQtYmFzZWQtb24tc3VicmVzb3Vy
Y2UtdW5kZXItdG9wLWZyYW1lLW9yaWdpbnMuaHRtbCBbIFBhc3MgXQoraHR0cC90ZXN0cy9sb2Fk
aW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtcHJldmFsZW50LWJhc2VkLW9u
LXN1YnJlc291cmNlLXVuaXF1ZS1yZWRpcmVjdHMtdG8uaHRtbCBbIFBhc3MgXQogCiAjIyMgRU5E
IE9GICg1KSBQcm9ncmVzc2lvbnMsIGV4cGVjdGVkIHN1Y2Nlc3NlcyB0aGF0IGFyZSBleHBlY3Rl
ZCBmYWlsdXJlcyBpbiBXZWJLaXQxLgogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>301887</attachid>
            <date>2017-02-16 23:22:56 -0800</date>
            <delta_ts>2017-02-17 16:56:14 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-168347-20170216232020.patch</filename>
            <type>text/plain</type>
            <size>115998</size>
            <attacher name="John Wilander">wilander</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XVEYvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XVEYvQ2hh
bmdlTG9nCShyZXZpc2lvbiAyMTI1MjQpCisrKyBTb3VyY2UvV1RGL0NoYW5nZUxvZwkod29ya2lu
ZyBjb3B5KQpAQCAtMSwzICsxLDE0IEBACisyMDE3LTAyLTE2ICBKb2huIFdpbGFuZGVyICA8d2ls
YW5kZXJAYXBwbGUuY29tPgorCisgICAgICAgIFJlc291cmNlIExvYWQgU3RhdGlzdGljczogQWRk
IGFsdGVybmF0ZSBjbGFzc2lmaWNhdGlvbiBtZXRob2QKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2ODM0NworICAgICAgICA8cmRhcjovL3Byb2JsZW0v
MzAzNTI3OTM+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgKiB3dGYvUGxhdGZvcm0uaDoKKyAgICAgICAgICAgIEFkZGVkIHN1cHBvcnQgZm9yIEhBVkUo
Q09SRV9QUkVESUNUSU9OKS4KKwogMjAxNy0wMi0xNiAgQWxleCBDaHJpc3RlbnNlbiAgPGFjaHJp
c3RlbnNlbkB3ZWJraXQub3JnPgogCiAgICAgICAgIFJlbW92ZSBFRkwtc3BlY2lmaWMgZmlsZXMg
aW4gU291cmNlLgpJbmRleDogU291cmNlL1dURi93dGYvUGxhdGZvcm0uaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybS5oCShyZXZpc2lvbiAyMTI1MjQpCisrKyBTb3VyY2Uv
V1RGL3d0Zi9QbGF0Zm9ybS5oCSh3b3JraW5nIGNvcHkpCkBAIC0xMjA4LDQgKzEyMDgsOCBAQAog
I2VuZGlmCiAjZW5kaWYgLyogUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUFY
X0FMTE9XRUQgPj0gMTAxMjAxICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0g
MTAxMjAwICovCiAKKyNpZiBQTEFURk9STShJT1MpICYmIFVTRShBUFBMRV9JTlRFUk5BTF9TREsp
IHx8IChQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0g
MTAxMjAwKQorI2RlZmluZSBIQVZFX0NPUkVfUFJFRElDVElPTiAxCisjZW5kaWYKKwogI2VuZGlm
IC8qIFdURl9QbGF0Zm9ybV9oICovCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCShyZXZpc2lvbiAyMTI1MjQpCisr
KyBTb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwyOCBA
QAorMjAxNy0wMi0xNiAgSm9obiBXaWxhbmRlciAgPHdpbGFuZGVyQGFwcGxlLmNvbT4KKworICAg
ICAgICBSZXNvdXJjZSBMb2FkIFN0YXRpc3RpY3M6IEFkZCBhbHRlcm5hdGUgY2xhc3NpZmljYXRp
b24gbWV0aG9kCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xNjgzNDcKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzMwMzUyNzkzPgorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoaXMgcGF0Y2ggb25seSBhZGRz
IHRlc3QgaW5mcmFzdHJ1Y3R1cmUgaW4gV2ViQ29yZS4KKworICAgICAgICBUZXN0czogaHR0cC90
ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtbm9uLXByZXZh
bGVudC1iYXNlZC1vbi1taXhlZC1zdGF0aXN0aWNzLmh0bWwKKyAgICAgICAgICAgICAgIGh0dHAv
dGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLW5vbi1wcmV2
YWxlbnQtYmFzZWQtb24tc3ViLWZyYW1lLXVuZGVyLXRvcC1mcmFtZS1vcmlnaW5zLmh0bWwKKyAg
ICAgICAgICAgICAgIGh0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2Ns
YXNzaWZ5LWFzLW5vbi1wcmV2YWxlbnQtYmFzZWQtb24tc3VicmVzb3VyY2UtdW5kZXItdG9wLWZy
YW1lLW9yaWdpbnMuaHRtbAorICAgICAgICAgICAgICAgaHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291
cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtbm9uLXByZXZhbGVudC1iYXNlZC1vbi1zdWJy
ZXNvdXJjZS11bmlxdWUtcmVkaXJlY3RzLXRvLmh0bWwKKyAgICAgICAgICAgICAgIGh0dHAvdGVz
dHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLXByZXZhbGVudC1i
YXNlZC1vbi1taXhlZC1zdGF0aXN0aWNzLmh0bWwKKyAgICAgICAgICAgICAgIGh0dHAvdGVzdHMv
bG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLXByZXZhbGVudC1iYXNl
ZC1vbi1zdWItZnJhbWUtdW5kZXItdG9wLWZyYW1lLW9yaWdpbnMuaHRtbAorICAgICAgICAgICAg
ICAgaHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMt
cHJldmFsZW50LWJhc2VkLW9uLXN1YnJlc291cmNlLXVuZGVyLXRvcC1mcmFtZS1vcmlnaW5zLmh0
bWwKKyAgICAgICAgICAgICAgIGh0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0
aWNzL2NsYXNzaWZ5LWFzLXByZXZhbGVudC1iYXNlZC1vbi1zdWJyZXNvdXJjZS11bmlxdWUtcmVk
aXJlY3RzLXRvLmh0bWwKKworICAgICAgICAqIGxvYWRlci9SZXNvdXJjZUxvYWRPYnNlcnZlci5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZUxvYWRPYnNlcnZlcjo6c2V0U3ViZnJhbWVV
bmRlclRvcEZyYW1lT3JpZ2luKToKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlTG9hZE9ic2Vy
dmVyOjpzZXRTdWJyZXNvdXJjZVVuZGVyVG9wRnJhbWVPcmlnaW4pOgorICAgICAgICAoV2ViQ29y
ZTo6UmVzb3VyY2VMb2FkT2JzZXJ2ZXI6OnNldFN1YnJlc291cmNlVW5pcXVlUmVkaXJlY3RUbyk6
CisgICAgICAgICogbG9hZGVyL1Jlc291cmNlTG9hZE9ic2VydmVyLmg6CisKIDIwMTctMDItMTYg
IFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CiAKICAgICAgICAgUkVHUkVT
U0lPTihyMjEyNDM5KTogV2ViIEluc3BlY3RvciBUb29sYmFyIC8gV2luZG93IGFwcGVhcnMgYnJv
a2VuCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VMb2FkT2JzZXJ2ZXIuY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZUxvYWRPYnNlcnZl
ci5jcHAJKHJldmlzaW9uIDIxMjUyNCkKKysrIFNvdXJjZS9XZWJDb3JlL2xvYWRlci9SZXNvdXJj
ZUxvYWRPYnNlcnZlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM3NSw2ICszNzUsMzMgQEAgdm9p
ZCBSZXNvdXJjZUxvYWRPYnNlcnZlcjo6Y2xlYXJQcmV2YWxlbgogICAgIHN0YXRpc3RpY3MuaXNQ
cmV2YWxlbnRSZXNvdXJjZSA9IGZhbHNlOwogfQogCit2b2lkIFJlc291cmNlTG9hZE9ic2VydmVy
OjpzZXRTdWJmcmFtZVVuZGVyVG9wRnJhbWVPcmlnaW4oY29uc3QgVVJMJiBzdWJmcmFtZSwgY29u
c3QgVVJMJiB0b3BGcmFtZSkKK3sKKyAgICBpZiAoc3ViZnJhbWUuaXNCbGFua1VSTCgpIHx8IHN1
YmZyYW1lLmlzRW1wdHkoKSB8fCB0b3BGcmFtZS5pc0JsYW5rVVJMKCkgfHwgdG9wRnJhbWUuaXNF
bXB0eSgpKQorICAgICAgICByZXR1cm47CisgICAgCisgICAgYXV0byYgc3RhdGlzdGljcyA9IG1f
c3RvcmUtPmVuc3VyZVJlc291cmNlU3RhdGlzdGljc0ZvclByaW1hcnlEb21haW4ocHJpbWFyeURv
bWFpbihzdWJmcmFtZSkpOworICAgIHN0YXRpc3RpY3Muc3ViZnJhbWVVbmRlclRvcEZyYW1lT3Jp
Z2lucy5hZGQocHJpbWFyeURvbWFpbih0b3BGcmFtZSkpOworfQorCit2b2lkIFJlc291cmNlTG9h
ZE9ic2VydmVyOjpzZXRTdWJyZXNvdXJjZVVuZGVyVG9wRnJhbWVPcmlnaW4oY29uc3QgVVJMJiBz
dWJyZXNvdXJjZSwgY29uc3QgVVJMJiB0b3BGcmFtZSkKK3sKKyAgICBpZiAoc3VicmVzb3VyY2Uu
aXNCbGFua1VSTCgpIHx8IHN1YnJlc291cmNlLmlzRW1wdHkoKSB8fCB0b3BGcmFtZS5pc0JsYW5r
VVJMKCkgfHwgdG9wRnJhbWUuaXNFbXB0eSgpKQorICAgICAgICByZXR1cm47CisgICAgCisgICAg
YXV0byYgc3RhdGlzdGljcyA9IG1fc3RvcmUtPmVuc3VyZVJlc291cmNlU3RhdGlzdGljc0ZvclBy
aW1hcnlEb21haW4ocHJpbWFyeURvbWFpbihzdWJyZXNvdXJjZSkpOworICAgIHN0YXRpc3RpY3Mu
c3VicmVzb3VyY2VVbmRlclRvcEZyYW1lT3JpZ2lucy5hZGQocHJpbWFyeURvbWFpbih0b3BGcmFt
ZSkpOworfQorCit2b2lkIFJlc291cmNlTG9hZE9ic2VydmVyOjpzZXRTdWJyZXNvdXJjZVVuaXF1
ZVJlZGlyZWN0VG8oY29uc3QgVVJMJiBzdWJyZXNvdXJjZSwgY29uc3QgVVJMJiBob3N0TmFtZVJl
ZGlyZWN0ZWRUbykKK3sKKyAgICBpZiAoc3VicmVzb3VyY2UuaXNCbGFua1VSTCgpIHx8IHN1YnJl
c291cmNlLmlzRW1wdHkoKSB8fCBob3N0TmFtZVJlZGlyZWN0ZWRUby5pc0JsYW5rVVJMKCkgfHwg
aG9zdE5hbWVSZWRpcmVjdGVkVG8uaXNFbXB0eSgpKQorICAgICAgICByZXR1cm47CisgICAgCisg
ICAgYXV0byYgc3RhdGlzdGljcyA9IG1fc3RvcmUtPmVuc3VyZVJlc291cmNlU3RhdGlzdGljc0Zv
clByaW1hcnlEb21haW4ocHJpbWFyeURvbWFpbihzdWJyZXNvdXJjZSkpOworICAgIHN0YXRpc3Rp
Y3Muc3VicmVzb3VyY2VVbmlxdWVSZWRpcmVjdHNUby5hZGQocHJpbWFyeURvbWFpbihob3N0TmFt
ZVJlZGlyZWN0ZWRUbykpOworfQorCiB2b2lkIFJlc291cmNlTG9hZE9ic2VydmVyOjpzZXRUaW1l
VG9MaXZlVXNlckludGVyYWN0aW9uKGRvdWJsZSBzZWNvbmRzKQogewogICAgIG1fc3RvcmUtPnNl
dFRpbWVUb0xpdmVVc2VySW50ZXJhY3Rpb24oc2Vjb25kcyk7CkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9sb2FkZXIvUmVzb3VyY2VMb2FkT2JzZXJ2ZXIuaAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvUmVzb3VyY2VMb2FkT2JzZXJ2ZXIuaAkocmV2aXNpb24gMjEyNTI0KQorKysg
U291cmNlL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlTG9hZE9ic2VydmVyLmgJKHdvcmtpbmcgY29w
eSkKQEAgLTU4LDYgKzU4LDEwIEBAIHB1YmxpYzoKICAgICBXRUJDT1JFX0VYUE9SVCBib29sIGlz
UHJldmFsZW50UmVzb3VyY2UoY29uc3QgVVJMJik7CiAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBj
bGVhclByZXZhbGVudFJlc291cmNlKGNvbnN0IFVSTCYpOwogCisgICAgV0VCQ09SRV9FWFBPUlQg
dm9pZCBzZXRTdWJmcmFtZVVuZGVyVG9wRnJhbWVPcmlnaW4oY29uc3QgVVJMJiBzdWJmcmFtZSwg
Y29uc3QgVVJMJiB0b3BGcmFtZSk7CisgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBzZXRTdWJyZXNv
dXJjZVVuZGVyVG9wRnJhbWVPcmlnaW4oY29uc3QgVVJMJiBzdWJyZXNvdXJjZSwgY29uc3QgVVJM
JiB0b3BGcmFtZSk7CisgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBzZXRTdWJyZXNvdXJjZVVuaXF1
ZVJlZGlyZWN0VG8oY29uc3QgVVJMJiBzdWJyZXNvdXJjZSwgY29uc3QgVVJMJiBob3N0TmFtZVJl
ZGlyZWN0ZWRUbyk7CisKICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHNldFRpbWVUb0xpdmVVc2Vy
SW50ZXJhY3Rpb24oZG91YmxlIHNlY29uZHMpOwogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgc2V0
UmVkdWNlZFRpbWVzdGFtcFJlc29sdXRpb24oZG91YmxlIHNlY29uZHMpOwogCkluZGV4OiBTb3Vy
Y2UvV2ViS2l0Mi9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvQ2hhbmdl
TG9nCShyZXZpc2lvbiAyMTI1MjQpCisrKyBTb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cJKHdvcmtp
bmcgY29weSkKQEAgLTEsMyArMSw3OSBAQAorMjAxNy0wMi0xNiAgSm9obiBXaWxhbmRlciAgPHdp
bGFuZGVyQGFwcGxlLmNvbT4KKworICAgICAgICBSZXNvdXJjZSBMb2FkIFN0YXRpc3RpY3M6IEFk
ZCBhbHRlcm5hdGUgY2xhc3NpZmljYXRpb24gbWV0aG9kCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjgzNDcKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVt
LzMwMzUyNzkzPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIFRoaXMgcGF0Y2ggYWRkcyBhIENvcmVQcmVkaWN0aW9uLWJhc2VkIGNsYXNzaWZpZXIgdG8g
dGhlIFdlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZS4KKyAgICAgICAgVGhlIENvcmVQcmVk
aWN0aW9uIGZyYW1ld29yayBpcyBpbnRyb2R1Y2VkIGFzIGEgZGVwZW5kZW5jeSBmb3IgbWFjT1Mg
YW5kIGlPUy4gVGhlIHBhdGNoCisgICAgICAgIGFsc28gYWRkcyBmdW5jdGlvbnMgdG8gc3VwcG9y
dCBsYXlvdXQgdGVzdHMgb2YgdGhlIGZlYXR1cmUuCisKKyAgICAgICAgKiBDb25maWd1cmF0aW9u
cy9CYXNlVGFyZ2V0LnhjY29uZmlnOgorICAgICAgICAqIENvbmZpZ3VyYXRpb25zL1dlYktpdC54
Y2NvbmZpZzoKKyAgICAgICAgICAgIEFkZGVkIGRlcGVuZGVuY3kgb24gQ29yZVByZWRpY3Rpb24u
CisgICAgICAgICogUGxhdGZvcm0vY2xhc3NpZmllcjogQWRkZWQuCisgICAgICAgICogUGxhdGZv
cm0vY2xhc3NpZmllci9SZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllci5oOiBBZGRlZC4K
KyAgICAgICAgKFdlYktpdDo6UmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXI6OlJlc291
cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyKToKKyAgICAgICAgICAgIFB1bGxzIGluIHRoZSBD
b2NvYS1zcGVjaWZpYyBjbGFzc2lmaWVyIGZvciBDb2NvYS1iYXNlZCBwbGF0Zm9ybXMuCisgICAg
ICAgICogUGxhdGZvcm0vY2xhc3NpZmllci9SZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmll
ckJhc2UuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYktpdDo6UmVzb3VyY2VMb2FkU3RhdGlzdGlj
c0NsYXNzaWZpZXJCYXNlOjpoYXNQcmV2YWxlbnRSZXNvdXJjZUNoYXJhY3RlcmlzdGljcyk6Cisg
ICAgICAgIChXZWJLaXQ6OlJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQmFzZTo6Y2xh
c3NpZnkpOgorICAgICAgICAqIFBsYXRmb3JtL2NsYXNzaWZpZXIvUmVzb3VyY2VMb2FkU3RhdGlz
dGljc0NsYXNzaWZpZXJCYXNlLmg6IEFkZGVkLgorICAgICAgICAoV2ViS2l0OjpSZXNvdXJjZUxv
YWRTdGF0aXN0aWNzQ2xhc3NpZmllckJhc2U6OlJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lm
aWVyQmFzZSk6CisgICAgICAgIChXZWJLaXQ6OlJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lm
aWVyQmFzZTo6flJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQmFzZSk6CisgICAgICAg
ICAgICBUaGUgZGVmYXVsdCBjbGFzc2lmaWVyIG5vdyBsaXZlcyBpbiBSZXNvdXJjZUxvYWRTdGF0
aXN0aWNzQ2xhc3NpZmllckJhc2UuCisgICAgICAgICogUGxhdGZvcm0vY2xhc3NpZmllci9jb2Nv
YTogQWRkZWQuCisgICAgICAgICogUGxhdGZvcm0vY2xhc3NpZmllci9jb2NvYS9SZXNvdXJjZUxv
YWRTdGF0aXN0aWNzQ2xhc3NpZmllckNvY29hLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJLaXQ6
OlJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyOjpjbGFzc2lmeSk6CisgICAgICAgIChX
ZWJLaXQ6OlJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyOjpzdG9yYWdlUGF0aCk6Cisg
ICAgICAgIChXZWJLaXQ6OlJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyOjpzaG91bGRV
c2VDb3JlUHJlZGljdGlvbik6CisgICAgICAgICogUGxhdGZvcm0vY2xhc3NpZmllci9jb2NvYS9S
ZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllckNvY29hLmg6IEFkZGVkLgorICAgICAgICAo
V2ViS2l0OjpSZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllcjo6UmVzb3VyY2VMb2FkU3Rh
dGlzdGljc0NsYXNzaWZpZXIpOgorICAgICAgICAgICAgUmVzb3VyY2VMb2FkU3RhdGlzdGljc0Ns
YXNzaWZpZXJDb2NvYSBob3N0cyB0aGUgQ29yZVByZWRpY3Rpb24tYmFzZWQKKyAgICAgICAgICAg
IGNsYXNzaWZpZXIuCisgICAgICAgICogUGxhdGZvcm1FZmwuY21ha2U6CisgICAgICAgICAgIEFk
ZGVkIFBsYXRmb3JtL2NsYXNzaWZpZXIgZGlyZWN0b3J5IGFuZCBSZXNvdXJjZUxvYWRTdGF0aXN0
aWNzQ2xhc3NpZmllckJhc2UuY3BwLgorICAgICAgICAqIFBsYXRmb3JtR1RLLmNtYWtlOgorICAg
ICAgICAgICBBZGRlZCBQbGF0Zm9ybS9jbGFzc2lmaWVyIGRpcmVjdG9yeSBhbmQgUmVzb3VyY2VM
b2FkU3RhdGlzdGljc0NsYXNzaWZpZXJCYXNlLmNwcC4KKyAgICAgICAgKiBQbGF0Zm9ybU1hYy5j
bWFrZToKKyAgICAgICAgICAgQWRkZWQgUGxhdGZvcm0vY2xhc3NpZmllciBhbmQgUGxhdGZvcm0v
Y2xhc3NpZmllci9jb2NvYSBkaXJlY3RvcmllcywgYW5kCisgICAgICAgICAgIHNvdXJjZSBmaWxl
cyBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllckJhc2UuY3BwIGFuZAorICAgICAgICAg
ICBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllckNvY29hLmNwcAorICAgICAgICAqIFJl
c291cmNlcy9SZXNvdXJjZUxvYWRTdGF0aXN0aWNzOiBBZGRlZC4KKyAgICAgICAgKiBSZXNvdXJj
ZXMvUmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jb3JlUHJlZGljdGlvbl9tb2RlbDogQWRkZWQuCisg
ICAgICAgICAgICBNb2RlbCBmaWxlIHRvIGxvYWQgaW50byBDb3JlUHJlZGljdGlvbi4KKyAgICAg
ICAgKiBVSVByb2Nlc3MvQVBJL0MvV0tSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdlci5jcHA6
CisgICAgICAgIChXS1Jlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VyU2V0U3ViZnJhbWVVbmRl
clRvcEZyYW1lT3JpZ2luKToKKyAgICAgICAgKFdLUmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFn
ZXJTZXRTdWJyZXNvdXJjZVVuZGVyVG9wRnJhbWVPcmlnaW4pOgorICAgICAgICAoV0tSZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzTWFuYWdlclNldFN1YnJlc291cmNlVW5pcXVlUmVkaXJlY3RUbyk6Cisg
ICAgICAgICAgICBUZXN0IGluZnJhc3RydWN0dXJlLgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkv
Qy9XS1Jlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VyLmg6CisgICAgICAgICogVUlQcm9jZXNz
L1dlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VyLmNwcDoKKyAgICAgICAgKFdlYktpdDo6
V2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFnZXI6OnNldFN1YmZyYW1lVW5kZXJUb3BGcmFt
ZU9yaWdpbik6CisgICAgICAgIChXZWJLaXQ6OldlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5h
Z2VyOjpzZXRTdWJyZXNvdXJjZVVuZGVyVG9wRnJhbWVPcmlnaW4pOgorICAgICAgICAoV2ViS2l0
OjpXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdlcjo6c2V0U3VicmVzb3VyY2VVbmlxdWVS
ZWRpcmVjdFRvKToKKyAgICAgICAgICAgIFRlc3QgaW5mcmFzdHJ1Y3R1cmUuCisgICAgICAgICog
VUlQcm9jZXNzL1dlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VyLmg6CisgICAgICAgICog
VUlQcm9jZXNzL1dlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZS5jcHA6CisgICAgICAgIChX
ZWJLaXQ6OldlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZTo6V2ViUmVzb3VyY2VMb2FkU3Rh
dGlzdGljc1N0b3JlKToKKyAgICAgICAgICAgIFJlbmFtZWQgbV9zdG9yYWdlUGF0aCB0byBtX3N0
YXRpc3RpY3NTdG9yYWdlUGF0aCBmb3IgY2xhcml0eS4KKyAgICAgICAgKFdlYktpdDo6V2ViUmVz
b3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlOjpjbGFzc2lmeVJlc291cmNlKToKKyAgICAgICAgICAg
IE5vdyBjYWxscyB0aGUgY2xhc3NpZmllciB0aHJvdWdoIGl0cyBSZXNvdXJjZUxvYWRTdGF0aXN0
aWNzQ2xhc3NpZmllcgorICAgICAgICAgICAgbWVtYmVyIHZhcmlhYmxlLgorICAgICAgICAoV2Vi
S2l0OjpXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmU6OnBlcnNpc3RlbnRTdG9yYWdlUGF0
aCk6CisgICAgICAgICAgICBSZW5hbWVkIG1fc3RvcmFnZVBhdGggdG8gbV9zdGF0aXN0aWNzU3Rv
cmFnZVBhdGggZm9yIGNsYXJpdHkuCisgICAgICAgIChXZWJLaXQ6OldlYlJlc291cmNlTG9hZFN0
YXRpc3RpY3NTdG9yZTo6d3JpdGVFbmNvZGVyVG9EaXNrKToKKyAgICAgICAgICAgIFJlbmFtZWQg
bV9zdG9yYWdlUGF0aCB0byBtX3N0YXRpc3RpY3NTdG9yYWdlUGF0aCBmb3IgY2xhcml0eS4KKyAg
ICAgICAgKFdlYktpdDo6V2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlOjpoYXNQcmV2YWxl
bnRSZXNvdXJjZUNoYXJhY3RlcmlzdGljcyk6IERlbGV0ZWQuCisgICAgICAgICAgICBNb3ZlZCBp
bnRvIFJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQmFzZS4KKyAgICAgICAgKiBVSVBy
b2Nlc3MvV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlLmg6CisgICAgICAgICAgICBSZW5h
bWVkIG1fc3RvcmFnZVBhdGggdG8gbV9zdGF0aXN0aWNzU3RvcmFnZVBhdGggZm9yIGNsYXJpdHku
CisgICAgICAgICogV2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAg
ICAgQWRkZWQgdGhlIG5ldyBjbGFzc2lmaWVyIHNvdXJjZSBmaWxlcyB1bmRlciBQbGF0Zm9ybS9j
bGFzc2lmaWVyIGFuZCB0aGUKKyAgICAgICAgICAgIGNvcmVQcmVkaWN0aW9uX21vZGVsIGZpbGUg
dW5kZXIgUmVzb3VyY2VzL1Jlc291cmNlTG9hZFN0YXRpc3RpY3MuCisKIDIwMTctMDItMTYgIFlv
dWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgogCiAgICAgICAgIFtXZWJSVENdIGxpYndl
YnJ0YyBzb2NrZXQgYWRkcmVzc2VzIHNob3VsZCBub3QgYmUgcGFzc2VkIGFzIHN0cmluZ3MKSW5k
ZXg6IFNvdXJjZS9XZWJLaXQyL1BsYXRmb3JtRWZsLmNtYWtlCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJLaXQyL1BsYXRmb3JtRWZsLmNtYWtlCShyZXZpc2lvbiAyMTI1MjQpCisrKyBTb3VyY2Uv
V2ViS2l0Mi9QbGF0Zm9ybUVmbC5jbWFrZQkod29ya2luZyBjb3B5KQpAQCAtMTksNiArMTksOCBA
QCBsaXN0KEFQUEVORCBXZWJLaXQyX1NPVVJDRVMKICAgICBQbGF0Zm9ybS9JUEMvdW5peC9BdHRh
Y2htZW50VW5peC5jcHAKICAgICBQbGF0Zm9ybS9JUEMvdW5peC9Db25uZWN0aW9uVW5peC5jcHAK
IAorICAgIFBsYXRmb3JtL2NsYXNzaWZpZXIvUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZp
ZXJCYXNlLmNwcAorCiAgICAgUGxhdGZvcm0vZWZsL01vZHVsZUVmbC5jcHAKIAogICAgIFBsYXRm
b3JtL3VuaXgvTG9nZ2luZ1VuaXguY3BwCkBAIC0yMzgsNiArMjQwLDcgQEAgbGlzdChBUFBFTkQg
V2ViS2l0Ml9JTkNMVURFX0RJUkVDVE9SSUVTCiAgICAgIiR7V0VCS0lUMl9ESVJ9L05ldHdvcmtQ
cm9jZXNzL2VmbCIKICAgICAiJHtXRUJLSVQyX0RJUn0vTmV0d29ya1Byb2Nlc3Mvc291cCIKICAg
ICAiJHtXRUJLSVQyX0RJUn0vTmV0d29ya1Byb2Nlc3MvdW5peCIKKyAgICAiJHtXRUJLSVQyX0RJ
Un0vUGxhdGZvcm0vY2xhc3NpZmllciIKICAgICAiJHtXRUJLSVQyX0RJUn0vUGxhdGZvcm0vZWZs
IgogICAgICIke1dFQktJVDJfRElSfS9TaGFyZWQvQVBJL2MvZWZsIgogICAgICIke1dFQktJVDJf
RElSfS9TaGFyZWQvQ29vcmRpbmF0ZWRHcmFwaGljcyIKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1Bs
YXRmb3JtR1RLLmNtYWtlCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1BsYXRmb3JtR1RL
LmNtYWtlCShyZXZpc2lvbiAyMTI1MjQpCisrKyBTb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybUdUSy5j
bWFrZQkod29ya2luZyBjb3B5KQpAQCAtNDYsNiArNDYsOCBAQCBsaXN0KEFQUEVORCBXZWJLaXQy
X1NPVVJDRVMKICAgICBQbGF0Zm9ybS9JUEMvdW5peC9BdHRhY2htZW50VW5peC5jcHAKICAgICBQ
bGF0Zm9ybS9JUEMvdW5peC9Db25uZWN0aW9uVW5peC5jcHAKIAorICAgIFBsYXRmb3JtL2NsYXNz
aWZpZXIvUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXJCYXNlLmNwcAorCiAgICAgUGxh
dGZvcm0vZ2xpYi9Nb2R1bGVHbGliLmNwcAogCiAgICAgUGxhdGZvcm0vdW5peC9Mb2dnaW5nVW5p
eC5jcHAKQEAgLTg1Miw2ICs4NTQsNyBAQCBsaXN0KEFQUEVORCBXZWJLaXQyX0lOQ0xVREVfRElS
RUNUT1JJRVMKICAgICAiJHtXRUJLSVQyX0RJUn0vTmV0d29ya1Byb2Nlc3Mvc291cCIKICAgICAi
JHtXRUJLSVQyX0RJUn0vTmV0d29ya1Byb2Nlc3MvdW5peCIKICAgICAiJHtXRUJLSVQyX0RJUn0v
UGxhdGZvcm0vSVBDL2dsaWIiCisgICAgIiR7V0VCS0lUMl9ESVJ9L1BsYXRmb3JtL2NsYXNzaWZp
ZXIiCiAgICAgIiR7V0VCS0lUMl9ESVJ9L1NoYXJlZC9BUEkvYy9ndGsiCiAgICAgIiR7V0VCS0lU
Ml9ESVJ9L1NoYXJlZC9QbHVnaW5zL3VuaXgiCiAgICAgIiR7V0VCS0lUMl9ESVJ9L1NoYXJlZC9n
bGliIgpJbmRleDogU291cmNlL1dlYktpdDIvUGxhdGZvcm1NYWMuY21ha2UKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYktpdDIvUGxhdGZvcm1NYWMuY21ha2UJKHJldmlzaW9uIDIxMjUyNCkKKysr
IFNvdXJjZS9XZWJLaXQyL1BsYXRmb3JtTWFjLmNtYWtlCSh3b3JraW5nIGNvcHkpCkBAIC00OSw2
ICs0OSwxMCBAQCBsaXN0KEFQUEVORCBXZWJLaXQyX1NPVVJDRVMKIAogICAgIFBsYXRmb3JtL2Nn
L0NHVXRpbGl0aWVzLmNwcAogCisgICAgUGxhdGZvcm0vY2xhc3NpZmllci9SZXNvdXJjZUxvYWRT
dGF0aXN0aWNzQ2xhc3NpZmllckJhc2UuY3BwCisKKyAgICBQbGF0Zm9ybS9jbGFzc2lmaWVyL2Nv
Y29hL1Jlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQ29jb2EuY3BwCisKICAgICBQbGF0
Zm9ybS9mb3VuZGF0aW9uL0xvZ2dpbmdGb3VuZGF0aW9uLm1tCiAKICAgICBQbGF0Zm9ybS9jb2Nv
YS9TaGFyZWRNZW1vcnlDb2NvYS5jcHAKQEAgLTM5Miw2ICszOTYsOCBAQCBsaXN0KEFQUEVORCBX
ZWJLaXQyX0lOQ0xVREVfRElSRUNUT1JJRVMKICAgICAiJHtXRUJLSVQyX0RJUn0vVUlQcm9jZXNz
L1Njcm9sbGluZyIKICAgICAiJHtXRUJLSVQyX0RJUn0vVUlQcm9jZXNzL2lvcyIKICAgICAiJHtX
RUJLSVQyX0RJUn0vUGxhdGZvcm0vY2ciCisgICAgIiR7V0VCS0lUMl9ESVJ9L1BsYXRmb3JtL2Ns
YXNzaWZpZXIiCisgICAgIiR7V0VCS0lUMl9ESVJ9L1BsYXRmb3JtL2NsYXNzaWZpZXIvY29jb2Ei
CiAgICAgIiR7V0VCS0lUMl9ESVJ9L1BsYXRmb3JtL21hYyIKICAgICAiJHtXRUJLSVQyX0RJUn0v
UGxhdGZvcm0vdW5peCIKICAgICAiJHtXRUJLSVQyX0RJUn0vUGxhdGZvcm0vc3BpL0NvY29hIgpJ
bmRleDogU291cmNlL1dlYktpdDIvQ29uZmlndXJhdGlvbnMvQmFzZVRhcmdldC54Y2NvbmZpZwo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9Db25maWd1cmF0aW9ucy9CYXNlVGFyZ2V0Lnhj
Y29uZmlnCShyZXZpc2lvbiAyMTI1MjQpCisrKyBTb3VyY2UvV2ViS2l0Mi9Db25maWd1cmF0aW9u
cy9CYXNlVGFyZ2V0LnhjY29uZmlnCSh3b3JraW5nIGNvcHkpCkBAIC0zMiw3ICszMiw3IEBAIFdL
X1BSSVZBVEVfRlJBTUVXT1JLU19ESVJfW3Nkaz1pcGhvbmVvcyoKIFdLX1BSSVZBVEVfRlJBTUVX
T1JLU19ESVJfaXBob25lb3NfWUVTID0gJChTUkNST09UKS8uLi8uLi9XZWJLaXRMaWJyYXJpZXMv
V2ViS2l0UHJpdmF0ZUZyYW1ld29ya1N0dWJzL2lPUy8kKFdLX1RBUkdFVF9JT1NfVkVSU0lPTl9N
QUpPUik7CiBXS19QUklWQVRFX0ZSQU1FV09SS1NfRElSX2lwaG9uZW9zX05PID0gJChQUk9EVUNU
SU9OX0ZSQU1FV09SS1NfRElSKTsKIAotRlJBTUVXT1JLX1NFQVJDSF9QQVRIU19iYXNlID0gIiQo
VU1CUkVMTEFfRlJBTUVXT1JLU19ESVIpIiAkKEZSQU1FV09SS19TRUFSQ0hfUEFUSFMpOworRlJB
TUVXT1JLX1NFQVJDSF9QQVRIU19iYXNlID0gIiQoVU1CUkVMTEFfRlJBTUVXT1JLU19ESVIpIiAv
U3lzdGVtL0xpYnJhcnkvUHJpdmF0ZUZyYW1ld29ya3MgJChGUkFNRVdPUktfU0VBUkNIX1BBVEhT
KTsKIEZSQU1FV09SS19TRUFSQ0hfUEFUSFNbc2RrPWlwaG9uZSpdID0gJChGUkFNRVdPUktfU0VB
UkNIX1BBVEhTX2Jhc2UpICQoV0tfUFJJVkFURV9GUkFNRVdPUktTX0RJUik7CiBGUkFNRVdPUktf
U0VBUkNIX1BBVEhTID0gJChGUkFNRVdPUktfU0VBUkNIX1BBVEhTX2Jhc2UpOwogCkluZGV4OiBT
b3VyY2UvV2ViS2l0Mi9Db25maWd1cmF0aW9ucy9XZWJLaXQueGNjb25maWcKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYktpdDIvQ29uZmlndXJhdGlvbnMvV2ViS2l0LnhjY29uZmlnCShyZXZpc2lv
biAyMTI1MjQpCisrKyBTb3VyY2UvV2ViS2l0Mi9Db25maWd1cmF0aW9ucy9XZWJLaXQueGNjb25m
aWcJKHdvcmtpbmcgY29weSkKQEAgLTM0LDEyICszNCwxNCBAQCBNT0RVTEVNQVBfRklMRVtzZGs9
aXBob25lKl09TW9kdWxlcy9pT1MuCiBJTlNUQUxMX1BBVEggPSAkKFdFQktJVF9GUkFNRVdPUktT
X0RJUik7CiBEWUxJQl9JTlNUQUxMX05BTUVfQkFTRSA9ICQoTk9STUFMX1dFQktJVF9GUkFNRVdP
UktTX0RJUik7CiAKLUZSQU1FV09SS19BTkRfTElCUkFSWV9MREZMQUdTX0JBU0VfaW9zID0gLWxv
YmpjIC1mcmFtZXdvcmsgQXNzZXJ0aW9uU2VydmljZXMgLWZyYW1ld29yayBDRk5ldHdvcmsgLWZy
YW1ld29yayBDb3JlRm91bmRhdGlvbiAtZnJhbWV3b3JrIENvcmVHcmFwaGljcyAtZnJhbWV3b3Jr
IENvcmVQREYgLWZyYW1ld29yayBDb3JlVGV4dCAtZnJhbWV3b3JrIEZvdW5kYXRpb24gLWZyYW1l
d29yayBHcmFwaGljc1NlcnZpY2VzIC1mcmFtZXdvcmsgSW1hZ2VJTyAtZnJhbWV3b3JrIFVJS2l0
IC1mcmFtZXdvcmsgT3BlbkdMRVMgLWZyYW1ld29yayBNb2JpbGVDb3JlU2VydmljZXMgLWxNb2Jp
bGVHZXN0YWx0ICQoRlJBTUVXT1JLX0FORF9MSUJSQVJZX0xERkxBR1NfUExBVEZPUk1fJChQTEFU
Rk9STV9OQU1FKSk7CitGUkFNRVdPUktfQU5EX0xJQlJBUllfTERGTEFHU19CQVNFX2lvcyA9IC1s
b2JqYyAtZnJhbWV3b3JrIEFzc2VydGlvblNlcnZpY2VzIC1mcmFtZXdvcmsgQ0ZOZXR3b3JrIC1m
cmFtZXdvcmsgQ29yZUZvdW5kYXRpb24gLWZyYW1ld29yayBDb3JlR3JhcGhpY3MgLWZyYW1ld29y
ayBDb3JlUERGIC1mcmFtZXdvcmsgQ29yZVByZWRpY3Rpb24gLWZyYW1ld29yayBDb3JlVGV4dCAt
ZnJhbWV3b3JrIEZvdW5kYXRpb24gLWZyYW1ld29yayBHcmFwaGljc1NlcnZpY2VzIC1mcmFtZXdv
cmsgSW1hZ2VJTyAtZnJhbWV3b3JrIFVJS2l0IC1mcmFtZXdvcmsgT3BlbkdMRVMgLWZyYW1ld29y
ayBNb2JpbGVDb3JlU2VydmljZXMgLWxNb2JpbGVHZXN0YWx0ICQoRlJBTUVXT1JLX0FORF9MSUJS
QVJZX0xERkxBR1NfUExBVEZPUk1fJChQTEFURk9STV9OQU1FKSk7CiBGUkFNRVdPUktfQU5EX0xJ
QlJBUllfTERGTEFHU1tzZGs9aXBob25lb3MqXSA9ICQoRlJBTUVXT1JLX0FORF9MSUJSQVJZX0xE
RkxBR1NfQkFTRV9pb3MpIC1mcmFtZXdvcmsgSU9TdXJmYWNlOwogRlJBTUVXT1JLX0FORF9MSUJS
QVJZX0xERkxBR1Nbc2RrPWlwaG9uZXNpbXVsYXRvcipdID0gJChGUkFNRVdPUktfQU5EX0xJQlJB
UllfTERGTEFHU19CQVNFX2lvcyk7CiBGUkFNRVdPUktfQU5EX0xJQlJBUllfTERGTEFHU19QTEFU
Rk9STV9pcGhvbmVvcyA9IDsKIEZSQU1FV09SS19BTkRfTElCUkFSWV9MREZMQUdTX1BMQVRGT1JN
X2lwaG9uZXNpbXVsYXRvciA9IDsKLUZSQU1FV09SS19BTkRfTElCUkFSWV9MREZMQUdTW3Nkaz1t
YWNvc3gqXSA9IC1mcmFtZXdvcmsgQXBwbGljYXRpb25TZXJ2aWNlcyAtZnJhbWV3b3JrIENhcmJv
biAtZnJhbWV3b3JrIENvY29hIC1mcmFtZXdvcmsgQ29yZVNlcnZpY2VzIC1mcmFtZXdvcmsgSU9L
aXQgLWZyYW1ld29yayBDb3JlQXVkaW8gLWZyYW1ld29yayBJT1N1cmZhY2UgLWZyYW1ld29yayBP
cGVuR0w7CitGUkFNRVdPUktfQU5EX0xJQlJBUllfTERGTEFHU1tzZGs9bWFjb3N4Kl0gPSAtZnJh
bWV3b3JrIEFwcGxpY2F0aW9uU2VydmljZXMgLWZyYW1ld29yayBDYXJib24gLWZyYW1ld29yayBD
b2NvYSAtZnJhbWV3b3JrIENvcmVTZXJ2aWNlcyAtZnJhbWV3b3JrIElPS2l0IC1mcmFtZXdvcmsg
Q29yZUF1ZGlvIC1mcmFtZXdvcmsgSU9TdXJmYWNlIC1mcmFtZXdvcmsgT3BlbkdMICQoRlJBTUVX
T1JLX0FORF9MSUJSQVJZX0xERkxBR1NfbWFjb3N4XyQoVEFSR0VUX01BQ19PU19YX1ZFUlNJT05f
TUFKT1IpKTsKK0ZSQU1FV09SS19BTkRfTElCUkFSWV9MREZMQUdTX21hY29zeF8xMDEyMDAgPSAt
ZnJhbWV3b3JrIENvcmVQcmVkaWN0aW9uOworRlJBTUVXT1JLX0FORF9MSUJSQVJZX0xERkxBR1Nf
bWFjb3N4XzEwMTMwMCA9IC1mcmFtZXdvcmsgQ29yZVByZWRpY3Rpb247CiAKIC8vIFByZXZlbnQg
QysrIHN0YW5kYXJkIGxpYnJhcnkgb3BlcmF0b3IgbmV3LCBkZWxldGUgYW5kIHRoZWlyIHJlbGF0
ZWQgZXhjZXB0aW9uIHR5cGVzIGZyb20gYmVpbmcgZXhwb3J0ZWQgYXMgd2VhayBzeW1ib2xzLgog
VU5FWFBPUlRFRF9TWU1CT0xfTERGTEFHUyA9IC1XbCwtdW5leHBvcnRlZF9zeW1ib2wgLVdsLF9f
WlRJU3Q5YmFkX2FsbG9jIC1XbCwtdW5leHBvcnRlZF9zeW1ib2wgLVdsLF9fWlRJU3Q5ZXhjZXB0
aW9uIC1XbCwtdW5leHBvcnRlZF9zeW1ib2wgLVdsLF9fWlRTU3Q5YmFkX2FsbG9jIC1XbCwtdW5l
eHBvcnRlZF9zeW1ib2wgLVdsLF9fWlRTU3Q5ZXhjZXB0aW9uIC1XbCwtdW5leHBvcnRlZF9zeW1i
b2wgLVdsLF9fWmRsUHZTXyAtV2wsLXVuZXhwb3J0ZWRfc3ltYm9sIC1XbCxfX1pud21QdiAtV2ws
LXVuZXhwb3J0ZWRfc3ltYm9sIC1XbCxfX1pud20gLVdsLC11bmV4cG9ydGVkX3N5bWJvbCwgLVds
LF9fWk5TdDNfXzE4ZnVuY3Rpb25JRnZON1dlYkNvcmUxMlBvbGljeUFjdGlvbkVFRUMyRU9TNF8g
LVdsLC11bmV4cG9ydGVkX3N5bWJvbCwgLVdsLF9fWk5TdDNfXzE4ZnVuY3Rpb25JRnZON1dlYkNv
cmUxMlBvbGljeUFjdGlvbkVFRUMxRU9TNF8gLVdsLC11bmV4cG9ydGVkX3N5bWJvbCwgLVdsLF9f
Wk5TdDNfXzE4ZnVuY3Rpb25JRnZON1dlYkNvcmUxMlBvbGljeUFjdGlvbkVFRWFTRURuIC1XbCwt
dW5leHBvcnRlZF9zeW1ib2wsIC1XbCxfX1pOS1N0M19fMThmdW5jdGlvbklGdk43V2ViQ29yZTEy
UG9saWN5QWN0aW9uRUVFY2xFUzJfIC1XbCwtdW5leHBvcnRlZF9zeW1ib2wsIC1XbCxfX1pOU3Qz
X18xOGZ1bmN0aW9uSUZ2TjdXZWJDb3JlMTJQb2xpY3lBY3Rpb25FRUU0c3dhcEVSUzRfIC1XbCwt
dW5leHBvcnRlZF9zeW1ib2wsIC1XbCxfX1pOU3QzX18xOGZ1bmN0aW9uSUZ2TjdXZWJDb3JlMTJQ
b2xpY3lBY3Rpb25FRUVDMUVSS1M0XyAtV2wsLXVuZXhwb3J0ZWRfc3ltYm9sLCAtV2wsX19aTlN0
M19fMThmdW5jdGlvbklGdk43V2ViQ29yZTEyUG9saWN5QWN0aW9uRUVFQzJFUktTNF8gLVdsLC11
bmV4cG9ydGVkX3N5bWJvbCwgLVdsLF9fWk5TdDNfXzE4ZnVuY3Rpb25JRnZON1dlYkNvcmUxMlBv
bGljeUFjdGlvbkVFRUQxRXYgLVdsLC11bmV4cG9ydGVkX3N5bWJvbCwgLVdsLF9fWk5TdDNfXzE4
ZnVuY3Rpb25JRnZON1dlYkNvcmUxMlBvbGljeUFjdGlvbkVFRUQyRXYgLVdsLC11bmV4cG9ydGVk
X3N5bWJvbCwgLVdsLF9fWk5TdDNfXzE4ZnVuY3Rpb25JRnZON1dlYkNvcmUxMlBvbGljeUFjdGlv
bkVFRWFTRVJLUzRfIC1XbCwtdW5leHBvcnRlZF9zeW1ib2wsIC1XbCxfX1pUVk5TdDNfXzExN2Jh
ZF9mdW5jdGlvbl9jYWxsRTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL2NsYXNzaWZp
ZXIvUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXIuaAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViS2l0Mi9QbGF0Zm9ybS9jbGFzc2lmaWVyL1Jlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFz
c2lmaWVyLmgJKG5vbmV4aXN0ZW50KQorKysgU291cmNlL1dlYktpdDIvUGxhdGZvcm0vY2xhc3Np
Zmllci9SZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllci5oCSh3b3JraW5nIGNvcHkpCkBA
IC0wLDAgKzEsNTUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUg
bWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBB
TlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4g
Tk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFC
TEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExB
UlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2luY2x1ZGUgPHd0
Zi9QbGF0Zm9ybS5oPgorCisjaWYgUExBVEZPUk0oQ09DT0EpCisjaW5jbHVkZSAiUmVzb3VyY2VM
b2FkU3RhdGlzdGljc0NsYXNzaWZpZXJDb2NvYS5oIgorI2Vsc2UKKworI2luY2x1ZGUgIlJlc291
cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQmFzZS5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7
CitzdHJ1Y3QgUmVzb3VyY2VMb2FkU3RhdGlzdGljczsKK30KKworbmFtZXNwYWNlIFdlYktpdCB7
CisKK2NsYXNzIFJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyIDogcHVibGljIFJlc291
cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQmFzZSB7CisKK3B1YmxpYzoKKyAgICBSZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllcigpIHsgfQorICAgIGJvb2wgaGFzUHJldmFsZW50UmVz
b3VyY2VDaGFyYWN0ZXJpc3RpY3MoY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VMb2FkU3RhdGlzdGlj
cyYgcmVzb3VyY2VTdGF0aXN0aWMpOworCitwcml2YXRlOgorICAgIGJvb2wgY2xhc3NpZnkoY29u
c3QgdW5zaWduZWQsIGNvbnN0IHVuc2lnbmVkLCBjb25zdCB1bnNpZ25lZCk7CisKK307CisKK30K
KworI2VuZGlmCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9jbGFzc2lmaWVyL1Jlc291
cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQmFzZS5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYktpdDIvUGxhdGZvcm0vY2xhc3NpZmllci9SZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3Np
ZmllckJhc2UuY3BwCShub25leGlzdGVudCkKKysrIFNvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL2Ns
YXNzaWZpZXIvUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXJCYXNlLmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtMCwwICsxLDYwIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycn
CisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwor
ICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICog
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5o
IgorI2luY2x1ZGUgIlJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQmFzZS5oIgorCisj
aW5jbHVkZSA8V2ViQ29yZS9SZXNvdXJjZUxvYWRTdGF0aXN0aWNzLmg+CisKK3VzaW5nIG5hbWVz
cGFjZSBXZWJDb3JlOworCituYW1lc3BhY2UgV2ViS2l0IHsKKworc3RhdGljIGNvbnN0IGF1dG8g
ZmVhdHVyZVZlY3Rvckxlbmd0aFRocmVzaG9sZCA9IDM7Citib29sIFJlc291cmNlTG9hZFN0YXRp
c3RpY3NDbGFzc2lmaWVyQmFzZTo6aGFzUHJldmFsZW50UmVzb3VyY2VDaGFyYWN0ZXJpc3RpY3Mo
Y29uc3QgUmVzb3VyY2VMb2FkU3RhdGlzdGljcyYgcmVzb3VyY2VTdGF0aXN0aWMpCit7CisgICAg
YXV0byBzdWJyZXNvdXJjZVVuZGVyVG9wRnJhbWVPcmlnaW5zQ291bnQgPSByZXNvdXJjZVN0YXRp
c3RpYy5zdWJyZXNvdXJjZVVuZGVyVG9wRnJhbWVPcmlnaW5zLnNpemUoKTsKKyAgICBhdXRvIHN1
YnJlc291cmNlVW5pcXVlUmVkaXJlY3RzVG9Db3VudCA9IHJlc291cmNlU3RhdGlzdGljLnN1YnJl
c291cmNlVW5pcXVlUmVkaXJlY3RzVG8uc2l6ZSgpOworICAgIGF1dG8gc3ViZnJhbWVVbmRlclRv
cEZyYW1lT3JpZ2luc0NvdW50ID0gcmVzb3VyY2VTdGF0aXN0aWMuc3ViZnJhbWVVbmRlclRvcEZy
YW1lT3JpZ2lucy5zaXplKCk7CisgICAgCisgICAgaWYgKCFzdWJyZXNvdXJjZVVuZGVyVG9wRnJh
bWVPcmlnaW5zQ291bnQKKyAgICAgICAgJiYgIXN1YnJlc291cmNlVW5pcXVlUmVkaXJlY3RzVG9D
b3VudAorICAgICAgICAmJiAhc3ViZnJhbWVVbmRlclRvcEZyYW1lT3JpZ2luc0NvdW50KQorICAg
ICAgICByZXR1cm4gZmFsc2U7CisgICAgCisgICAgaWYgKHN1YnJlc291cmNlVW5kZXJUb3BGcmFt
ZU9yaWdpbnNDb3VudCA+IGZlYXR1cmVWZWN0b3JMZW5ndGhUaHJlc2hvbGQKKyAgICAgICAgfHwg
c3VicmVzb3VyY2VVbmlxdWVSZWRpcmVjdHNUb0NvdW50ID4gZmVhdHVyZVZlY3Rvckxlbmd0aFRo
cmVzaG9sZAorICAgICAgICB8fCBzdWJmcmFtZVVuZGVyVG9wRnJhbWVPcmlnaW5zQ291bnQgPiBm
ZWF0dXJlVmVjdG9yTGVuZ3RoVGhyZXNob2xkKQorICAgICAgICByZXR1cm4gdHJ1ZTsKKworICAg
IHJldHVybiBjbGFzc2lmeShzdWJyZXNvdXJjZVVuZGVyVG9wRnJhbWVPcmlnaW5zQ291bnQsIHN1
YnJlc291cmNlVW5pcXVlUmVkaXJlY3RzVG9Db3VudCwgc3ViZnJhbWVVbmRlclRvcEZyYW1lT3Jp
Z2luc0NvdW50KTsKK30KKworYm9vbCBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllckJh
c2U6OmNsYXNzaWZ5KGNvbnN0IHVuc2lnbmVkIGEsIGNvbnN0IHVuc2lnbmVkIGIsIGNvbnN0IHVu
c2lnbmVkIGMpCit7CisgICAgcmV0dXJuIHNxcnQoYSAqIGEgKyBiICogYiArIGMgKiBjKSA+IGZl
YXR1cmVWZWN0b3JMZW5ndGhUaHJlc2hvbGQ7Cit9CisgICAgCit9CkluZGV4OiBTb3VyY2UvV2Vi
S2l0Mi9QbGF0Zm9ybS9jbGFzc2lmaWVyL1Jlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVy
QmFzZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL2NsYXNzaWZpZXIv
UmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXJCYXNlLmgJKG5vbmV4aXN0ZW50KQorKysg
U291cmNlL1dlYktpdDIvUGxhdGZvcm0vY2xhc3NpZmllci9SZXNvdXJjZUxvYWRTdGF0aXN0aWNz
Q2xhc3NpZmllckJhc2UuaAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDQzIEBACisvKgorICog
Q29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisg
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlv
bi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElU
UyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVE
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM
QVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElO
Qy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElB
TCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YK
KyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
CisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisg
Ki8KKworI3ByYWdtYSBvbmNlCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKK3N0cnVjdCBSZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzOworfQorCituYW1lc3BhY2UgV2ViS2l0IHsKKworY2xhc3MgUmVzb3Vy
Y2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXJCYXNlIHsKK3B1YmxpYzoKKyAgICBib29sIGhhc1By
ZXZhbGVudFJlc291cmNlQ2hhcmFjdGVyaXN0aWNzKGNvbnN0IFdlYkNvcmU6OlJlc291cmNlTG9h
ZFN0YXRpc3RpY3MmIHJlc291cmNlU3RhdGlzdGljKTsKK3Byb3RlY3RlZDoKKyAgICBSZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllckJhc2UoKSB7IH0KKyAgICB2aXJ0dWFsIH5SZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllckJhc2UoKSB7IH0KKyAgICB2aXJ0dWFsIGJvb2wgY2xh
c3NpZnkoY29uc3QgdW5zaWduZWQsIGNvbnN0IHVuc2lnbmVkLCBjb25zdCB1bnNpZ25lZCk7Cit9
OworCit9CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9jbGFzc2lmaWVyL2NvY29hL1Jl
c291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQ29jb2EuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJLaXQyL1BsYXRmb3JtL2NsYXNzaWZpZXIvY29jb2EvUmVzb3VyY2VMb2FkU3RhdGlz
dGljc0NsYXNzaWZpZXJDb2NvYS5jcHAJKG5vbmV4aXN0ZW50KQorKysgU291cmNlL1dlYktpdDIv
UGxhdGZvcm0vY2xhc3NpZmllci9jb2NvYS9SZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmll
ckNvY29hLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDExNCBAQAorLyoKKyAqIENvcHly
aWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisg
KgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09O
VFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisg
KiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9S
IElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklU
UzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICog
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisK
KyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xh
c3NpZmllckNvY29hLmgiCisKKyNpbmNsdWRlICJMb2dnaW5nLmgiCisKK25hbWVzcGFjZSBXZWJL
aXQgeworCitib29sIFJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyOjpjbGFzc2lmeShj
b25zdCB1bnNpZ25lZCBzdWJyZXNvdXJjZVVuZGVyVG9wRnJhbWVPcmlnaW5zQ291bnQsIGNvbnN0
IHVuc2lnbmVkIHN1YnJlc291cmNlVW5pcXVlUmVkaXJlY3RzVG9Db3VudCwgY29uc3QgdW5zaWdu
ZWQgc3ViZnJhbWVVbmRlclRvcEZyYW1lT3JpZ2luc0NvdW50KQoreworICAgIGlmICghc2hvdWxk
VXNlQ29yZVByZWRpY3Rpb24oKSkKKyAgICAgICAgcmV0dXJuIFJlc291cmNlTG9hZFN0YXRpc3Rp
Y3NDbGFzc2lmaWVyQmFzZTo6Y2xhc3NpZnkoc3VicmVzb3VyY2VVbmRlclRvcEZyYW1lT3JpZ2lu
c0NvdW50LCBzdWJyZXNvdXJjZVVuaXF1ZVJlZGlyZWN0c1RvQ291bnQsIHN1YmZyYW1lVW5kZXJU
b3BGcmFtZU9yaWdpbnNDb3VudCk7CisjaWYgSEFWRShDT1JFX1BSRURJQ1RJT04pCisgICAgVmVj
dG9yPHVuc2lnbmVkPiBub25aZXJvRmVhdHVyZXM7CisgICAgVmVjdG9yPHVuc2lnbmVkPiBpbmRp
Y2VzOworCisgICAgaWYgKHN1YnJlc291cmNlVW5kZXJUb3BGcmFtZU9yaWdpbnNDb3VudCkgewor
ICAgICAgICBub25aZXJvRmVhdHVyZXMuYXBwZW5kKHN1YnJlc291cmNlVW5kZXJUb3BGcmFtZU9y
aWdpbnNDb3VudCk7CisgICAgICAgIGluZGljZXMuYXBwZW5kKDEpOworICAgIH0KKyAgICBpZiAo
c3VicmVzb3VyY2VVbmlxdWVSZWRpcmVjdHNUb0NvdW50KSB7CisgICAgICAgIG5vblplcm9GZWF0
dXJlcy5hcHBlbmQoc3VicmVzb3VyY2VVbmlxdWVSZWRpcmVjdHNUb0NvdW50KTsKKyAgICAgICAg
aW5kaWNlcy5hcHBlbmQoMik7CisgICAgfQorICAgIGlmIChzdWJmcmFtZVVuZGVyVG9wRnJhbWVP
cmlnaW5zQ291bnQpIHsKKyAgICAgICAgbm9uWmVyb0ZlYXR1cmVzLmFwcGVuZChzdWJmcmFtZVVu
ZGVyVG9wRnJhbWVPcmlnaW5zQ291bnQpOworICAgICAgICBpbmRpY2VzLmFwcGVuZCgzKTsKKyAg
ICB9CisKKyAgICBzdm1fbm9kZSogZXhhbXBsZVZlY3RvciA9IG5ldyBzdm1fbm9kZVtub25aZXJv
RmVhdHVyZXMuc2l6ZSgpICsgMV07CisgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBub25aZXJv
RmVhdHVyZXMuc2l6ZSgpOyBpKyspIHsKKyAgICAgICAgZXhhbXBsZVZlY3RvcltpXS5pbmRleCA9
IGluZGljZXMuYXQoaSk7CisgICAgICAgIGV4YW1wbGVWZWN0b3JbaV0udmFsdWUgPSBub25aZXJv
RmVhdHVyZXMuYXQoaSk7CisgICAgfQorICAgIC8vIEFkZCB0ZXJtaW5hdGlvbiBub2RlIHdpdGgg
aW5kZXggLTEuCisgICAgZXhhbXBsZVZlY3Rvcltub25aZXJvRmVhdHVyZXMuc2l6ZSgpXS5pbmRl
eCA9IC0xOworICAgIGV4YW1wbGVWZWN0b3Jbbm9uWmVyb0ZlYXR1cmVzLnNpemUoKV0udmFsdWUg
PSAtMTsKKworICAgIGludCBjbGFzc2lmaWNhdGlvbjsKKyAgICBkb3VibGUgc2NvcmU7CisgICAg
Y2xhc3NpZmljYXRpb24gPSBzdm1fcHJlZGljdF92YWx1ZXMobV9jb3JlUHJlZGljdGlvbk1vZGVs
LCBleGFtcGxlVmVjdG9yLCAmc2NvcmUpOworICAgIGRlbGV0ZVtdIGV4YW1wbGVWZWN0b3I7Cisg
ICAgcmV0dXJuIGNsYXNzaWZpY2F0aW9uIDwgMDsKKyNlbmRpZgorICAgIHJldHVybiBmYWxzZTsK
K30KKworU3RyaW5nIFJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyOjpzdG9yYWdlUGF0
aCgpCit7CisgICAgQ0ZCdW5kbGVSZWYgd2ViS2l0QnVuZGxlID0gQ0ZCdW5kbGVHZXRCdW5kbGVX
aXRoSWRlbnRpZmllcihDRlNUUigiY29tLmFwcGxlLldlYktpdCIpKTsKKyAgICBDRlVSTFJlZiBy
ZXNvdXJjZVVybCA9IENGQnVuZGxlQ29weVJlc291cmNlc0RpcmVjdG9yeVVSTCh3ZWJLaXRCdW5k
bGUpOworICAgIHJlc291cmNlVXJsID0gQ0ZVUkxDcmVhdGVDb3B5QXBwZW5kaW5nUGF0aENvbXBv
bmVudChudWxscHRyLCByZXNvdXJjZVVybCwgQ0ZTVFIoImNvcmVQcmVkaWN0aW9uX21vZGVsIiks
IGZhbHNlKTsKKyAgICBDRkVycm9yUmVmIGVycm9yID0gbnVsbHB0cjsKKyAgICByZXNvdXJjZVVy
bCA9IENGVVJMQ3JlYXRlRmlsZVBhdGhVUkwobnVsbHB0ciwgcmVzb3VyY2VVcmwsICZlcnJvcik7
CisKKyAgICBpZiAoZXJyb3IgfHwgIXJlc291cmNlVXJsKQorICAgICAgICByZXR1cm4gU3RyaW5n
KCk7CisKKyAgICBDRlVSTFBhdGhTdHlsZSBwYXRoU3R5bGUgPSBrQ0ZVUkxQT1NJWFBhdGhTdHls
ZTsKKyAgICBDRlN0cmluZ1JlZiByZXNvdXJjZVVybFN0cmluZyA9IENGVVJMQ29weUZpbGVTeXN0
ZW1QYXRoKHJlc291cmNlVXJsLCBwYXRoU3R5bGUpOworICAgIHJldHVybiBTdHJpbmcocmVzb3Vy
Y2VVcmxTdHJpbmcpOworfQorCitib29sIFJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVy
OjpzaG91bGRVc2VDb3JlUHJlZGljdGlvbigpCit7CisjaWYgSEFWRShDT1JFX1BSRURJQ1RJT04p
CisgICAgaWYgKG1fY29yZVByZWRpY3Rpb25Nb2RlbCkKKyAgICAgICAgcmV0dXJuIHRydWU7CisK
KyAgICBpZiAoIW1fdXNlQ29yZVByZWRpY3Rpb24pCisgICAgICAgIHJldHVybiBmYWxzZTsKKwor
ICAgIFN0cmluZyBzdG9yYWdlUGF0aFN0ciA9IHN0b3JhZ2VQYXRoKCk7CisgICAgaWYgKHN0b3Jh
Z2VQYXRoU3RyLmlzTnVsbCgpIHx8IHN0b3JhZ2VQYXRoU3RyLmlzRW1wdHkoKSkgeworICAgICAg
ICBtX3VzZUNvcmVQcmVkaWN0aW9uID0gZmFsc2U7CisgICAgICAgIHJldHVybiBmYWxzZTsKKyAg
ICB9CisKKyAgICBtX2NvcmVQcmVkaWN0aW9uTW9kZWwgPSBzdm1fbG9hZF9tb2RlbCgoc3RvcmFn
ZVBhdGhTdHIpLnV0ZjgoKS5kYXRhKCkpOworICAgIAorICAgIGlmIChtX2NvcmVQcmVkaWN0aW9u
TW9kZWwpCisgICAgICAgIHJldHVybiB0cnVlOworCisgICAgV1RGTG9nQWx3YXlzKCJSZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllcjo6c2hvdWxkVXNlQ29yZVByZWRpY3Rpb24oKTogQ291
bGRuJ3QgbG9hZCBtb2RlbCBmaWxlIGF0IHBhdGggJXMuIiwgc3RvcmFnZVBhdGhTdHIudXRmOCgp
LmRhdGEoKSk7CisgICAgbV91c2VDb3JlUHJlZGljdGlvbiA9IGZhbHNlOworI2VuZGlmCisgICAg
cmV0dXJuIGZhbHNlOworfQorCit9CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9jbGFz
c2lmaWVyL2NvY29hL1Jlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQ29jb2EuaAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9jbGFzc2lmaWVyL2NvY29hL1Jlc291
cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQ29jb2EuaAkobm9uZXhpc3RlbnQpCisrKyBTb3Vy
Y2UvV2ViS2l0Mi9QbGF0Zm9ybS9jbGFzc2lmaWVyL2NvY29hL1Jlc291cmNlTG9hZFN0YXRpc3Rp
Y3NDbGFzc2lmaWVyQ29jb2EuaAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDU0IEBACisvKgor
ICogQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAq
CisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXBy
b2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1
dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5E
IElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJ
Q1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExF
IElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQg
T0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBP
UiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
CisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpbmNsdWRlICJSZXNvdXJjZUxvYWRTdGF0aXN0aWNz
Q2xhc3NpZmllckJhc2UuaCIKKyNpbmNsdWRlIDxDb3JlRm91bmRhdGlvbi9Db3JlRm91bmRhdGlv
bi5oPgorI2lmIEhBVkUoQ09SRV9QUkVESUNUSU9OKQorI2luY2x1ZGUgPENvcmVQcmVkaWN0aW9u
L3N2bS5oPgorI2VuZGlmCisjaW5jbHVkZSA8d3RmL1BsYXRmb3JtLmg+CisjaW5jbHVkZSA8d3Rm
L3RleHQvV1RGU3RyaW5nLmg+CisKK25hbWVzcGFjZSBXZWJLaXQgeworCitjbGFzcyBSZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllciA6IHB1YmxpYyBSZXNvdXJjZUxvYWRTdGF0aXN0aWNz
Q2xhc3NpZmllckJhc2UgeworCitwdWJsaWM6CisgICAgUmVzb3VyY2VMb2FkU3RhdGlzdGljc0Ns
YXNzaWZpZXIoKQorICAgICAgICA6IFJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQmFz
ZSgpIHsgfQorICAgIAorcHJpdmF0ZToKKyAgICBib29sIGNsYXNzaWZ5KGNvbnN0IHVuc2lnbmVk
LCBjb25zdCB1bnNpZ25lZCwgY29uc3QgdW5zaWduZWQpOworICAgIFN0cmluZyBzdG9yYWdlUGF0
aCgpOworICAgIGJvb2wgc2hvdWxkVXNlQ29yZVByZWRpY3Rpb24oKTsKKyNpZiBIQVZFKENPUkVf
UFJFRElDVElPTikKKyAgICBzdHJ1Y3Qgc3ZtX21vZGVsKiBtX2NvcmVQcmVkaWN0aW9uTW9kZWw7
CisgICAgYm9vbCBtX3VzZUNvcmVQcmVkaWN0aW9uIHsgdHJ1ZSB9OworI2VuZGlmCit9OworCit9
CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9SZXNvdXJjZXMvUmVzb3VyY2VMb2FkU3RhdGlzdGljcy9j
b3JlUHJlZGljdGlvbl9tb2RlbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9SZXNvdXJj
ZXMvUmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jb3JlUHJlZGljdGlvbl9tb2RlbAkobm9uZXhpc3Rl
bnQpCisrKyBTb3VyY2UvV2ViS2l0Mi9SZXNvdXJjZXMvUmVzb3VyY2VMb2FkU3RhdGlzdGljcy9j
b3JlUHJlZGljdGlvbl9tb2RlbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDY3OCBAQAorc3Zt
X3R5cGUgY19zdmMKK2tlcm5lbF90eXBlIHJiZgorZ2FtbWEgMC4xCitucl9jbGFzcyAyCit0b3Rh
bF9zdiAzMzAKK3JobyAwLjI4Nzk0NTY0MjI2MQorbGFiZWwgLTEgMQorbnJfc3YgMzAwIDMwCitT
VgorLTAuMDU0NjY5NzAzODcyNCAxOjE0LjAgMjozLjAgMzo3LjAgCistMC4wNTQ2Njk3MDM4NzI0
IDE6MS4wIDI6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQg
MToxLjAgMzoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MTIuMCAKKy0wLjA1NDY2OTcwMzg3MjQg
MTo3LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIDI6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAx
OjEuMCAzOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTozLjAgMjoxNi4wIAorLTAuMDU0NjY5NzAz
ODcyNCAxOjEuMCAzOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMjoyLjAgCistMC4wNTQ2
Njk3MDM4NzI0IDE6MS4wIDM6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAKKy0wLjA1NDY2
OTcwMzg3MjQgMTozLjAgMjoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6NS4wIAorLTAuMDU0NjY5
NzAzODcyNCAxOjE2LjAgMjoyLjAgMzoyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDI6MS4w
IAorLTAuMDU0NjY5NzAzODcyNCAxOjExLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6NC4wIDM6My4w
IAorLTAuMDU0NjY5NzAzODcyNCAxOjI4LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIAorLTAu
MDU0NjY5NzAzODcyNCAxOjEuMCAzOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMzoxLjAg
CistMC4wNTQ2Njk3MDM4NzI0IDE6MjIuMCAyOjEuMCAzOjEyLjAgCistMC4wNTQ2Njk3MDM4NzI0
IDE6MTQuMCAzOjUuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMzoxLjAgCistMC4wNTQ2Njk3
MDM4NzI0IDE6NDguMCAyOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyNS4wIDM6MTYuMCAKKy0w
LjA1NDY2OTcwMzg3MjQgMToxLjAgMjoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDM6MS4w
IAorLTAuMDU0NjY5NzAzODcyNCAxOjYuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo3LjAgCistMC4w
NTQ2Njk3MDM4NzI0IDE6MS4wIDI6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAzOjEuMCAK
Ky0wLjA1NDY2OTcwMzg3MjQgMTozLjAgMzoyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Ny4wIDI6
MS4wIDM6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo3
LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6NS4wIDI6Mi4wIDM6My4wIAorLTAuMDU0NjY5NzAzODcy
NCAxOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMjoxLjAgCistMC4wNTQ2Njk3MDM4NzI0
IDE6NC4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAyOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQg
MToxLjAgMzoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6OS4wIDM6NC4wIAorLTAuMDU0NjY5NzAz
ODcyNCAxOjEuMCAyOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMzoxLjAgCistMC4wNTQ2
Njk3MDM4NzI0IDE6NDcuMCAyOjIxLjAgMzozMy4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjExLjAg
MjoyLjAgMzo1LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MTEuMCAyOjMuMCAzOjEuMCAKKy0wLjA1
NDY2OTcwMzg3MjQgMToxLjAgMzoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIDI6MS4wIAor
LTAuMDU0NjY5NzAzODcyNCAxOjQzLjAgMzoyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MTMuMCAz
OjcuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMzoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6
NC4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEzLjAgMzo0LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6
NDIuMCAyOjQuMCAzOjMyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MTAuMCAyOjUuMCAzOjEuMCAK
Ky0wLjA1NDY2OTcwMzg3MjQgMTo3LjAgMzo0LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIAor
LTAuMDU0NjY5NzAzODcyNCAxOjEuMCAzOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMzox
LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Ni4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAyOjEu
MCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo2LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MTYuMCAyOjQu
MCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxMC4wIDI6MS4wIDM6Mi4wIAorLTAuMDU0NjY5NzAzODcy
NCAxOjE4LjAgMjozLjAgMzo2LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDM6MS4wIAorLTAu
MDU0NjY5NzAzODcyNCAxOjEuMCAyOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAgCistMC4w
NTQ2Njk3MDM4NzI0IDE6My4wIDI6MS4wIDM6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAy
OjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTozLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6My4wIAor
LTAuMDU0NjY5NzAzODcyNCAxOjQuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAgCistMC4wNTQ2
Njk3MDM4NzI0IDE6Mi4wIDM6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAKKy0wLjA1NDY2
OTcwMzg3MjQgMToxLjAgMzoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MjEuMCAKKy0wLjA1NDY2
OTcwMzg3MjQgMToyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIDI6Mi4wIAorLTAuMDU0NjY5
NzAzODcyNCAxOjE0LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIDI6MS4wIAorLTAuMDU0NjY5
NzAzODcyNCAxOjIuMCAzOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo0LjAgMzozLjAgCistMC4w
NTQ2Njk3MDM4NzI0IDE6Mi4wIDM6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjMuMCAKKy0wLjA1
NDY2OTcwMzg3MjQgMToyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDI6MS4wIAorLTAuMDU0
NjY5NzAzODcyNCAxOjQuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTozOS4wIDM6NC4wIAorLTAuMDU0
NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAgMjoxLjAgMzoxLjAgCist
MC4wNTQ2Njk3MDM4NzI0IDE6NC4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAyOjEuMCAKKy0w
LjA1NDY2OTcwMzg3MjQgMTo0LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDI6MS4wIAorLTAu
MDU0NjY5NzAzODcyNCAxOjEuMCAyOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4w
NTQ2Njk3MDM4NzI0IDE6Mi4wIDI6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1
NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAz
ODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTozLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6
MS4wIDI6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTox
LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0w
LjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDM6MS4wIAorLTAu
MDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3
MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQg
MToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAK
Ky0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0
NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxNi4wIDI6MS4wIDM6MS4wIAor
LTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2
Njk3MDM4NzI0IDE6MS4wIDI6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2
OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6My4wIDI6MS4wIAorLTAuMDU0NjY5
NzAzODcyNCAxOjEuMCAzOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3
MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQg
MToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAK
Ky0wLjA1NDY2OTcwMzg3MjQgMToyMC4wIDM6My4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAK
Ky0wLjA1NDY2OTcwMzg3MjQgMToyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0
NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4
NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTox
LjAgMzoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEu
MCAzOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6OC4w
IAorLTAuMDU0NjY5NzAzODcyNCAxOjcuMCAyOjEuMCAzOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQg
MTo4LjAgMjoyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDI6MS4wIAorLTAuMDU0NjY5NzAz
ODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6
MS4wIDI6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTox
LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0w
LjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIAorLTAuMDU0NjY5
NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxMi4wIDM6Ny4wIAorLTAuMDU0NjY5
NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo5LjAgCistMC4wNTQ2Njk3MDM4NzI0
IDE6Ny4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAg
MjoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDM6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAx
OjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo4LjAgMjoyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6
MTcuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAgMjoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6
MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCist
MC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjQuMCAKKy0wLjA1NDY2
OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcy
NCAxOjEzLjAgMjo0LjAgMzoyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDM6MS4wIAorLTAu
MDU0NjY5NzAzODcyNCAxOjIuMCAzOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4w
NTQ2Njk3MDM4NzI0IDE6MTYuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTozLjAgCistMC4wNTQ2Njk3
MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQg
MToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAK
Ky0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIAorLTAuMDU0
NjY5NzAzODcyNCAxOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4
NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTox
LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjMuMCAzOjMu
MCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIAorLTAu
MDU0NjY5NzAzODcyNCAxOjExLjAgMzoxMS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0w
LjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5
NzAzODcyNCAxOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0
IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAg
CistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1
NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAz
ODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxNS4wIAorLTAuMDU0NjY5NzAzODcyNCAx
OjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MjAuMCAy
OjEyLjAgMzozLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAx
OjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAor
LTAuMDU0NjY5NzAzODcyNCAxOjcuMCAzOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCist
MC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDM6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0w
LjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDM6MS4wIAorLTAu
MDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTozLjAgMzoyLjAgCistMC4w
NTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcw
Mzg3MjQgMTo5LjAgMjozLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDM6MS4wIAorLTAuMDU0
NjY5NzAzODcyNCAxOjYuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo0LjAgCistMC4wNTQ2Njk3MDM4
NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjcuMCAyOjIuMCAKKy0wLjA1NDY2OTcwMzg3
MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDM6MS4wIAorLTAuMDU0NjY5NzAzODcy
NCAxOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6OS4w
IAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4w
NTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcw
Mzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAx
OjE0LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MTIuMCAzOjYuMCAKKy0wLjA1NDY2OTcwMzg3MjQg
MTozLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6NC4wIDI6MS4wIDM6MS4wIAorLTAuMDU0NjY5NzAz
ODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6
MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo5LjAgCist
MC4wNTQ2Njk3MDM4NzI0IDE6OS4wIDI6MS4wIDM6NC4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEu
MCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6OS4wIDI6MS4w
IAorLTAuMDU0NjY5NzAzODcyNCAxOjMuMCAyOjMuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAg
MjoyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDI6MS4wIDM6MS4wIAorLTAuMDU0NjY5NzAz
ODcyNCAxOjguMCAyOjEuMCAzOjMuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2
Njk3MDM4NzI0IDE6Mi4wIDI6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjkuMCAyOjEuMCAKKy0w
LjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5
NzAzODcyNCAxOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0
IDE6MzYuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4w
IAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4w
NTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAKKy0wLjA1NDY2OTcw
Mzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAx
OjYuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMzoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6
MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCist
MC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAKKy0wLjA1NDY2
OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIAorLTAuMDU0NjY5NzAzODcy
NCAxOjQuMCAzOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxMy4wIDM6NC4wIAorLTAuMDU0NjY5
NzAzODcyNCAxOjEuMCAKKy0wLjA0MDIwNzUxNzg5NDIgMToxLjAgCiswLjU4NTM2NTg1MzY1OSAx
OjEuMCAKKzAuNDc5Mjc2MTM5MDAxIDE6Ni4wIDI6My4wIAorMC41ODUzNjU4NTM2NTkgMToyLjAg
CiswLjU4NTM2NTg1MzY1OSAxOjEuMCAKKzAuNTg1MzY1ODUzNjU5IDE6My4wIDM6My4wIAorMC41
ODUzNjU4NTM2NTkgMTo0Mi4wIDI6Mi4wIDM6MjguMCAKKzAuNTg1MzY1ODUzNjU5IDE6Mi4wIAor
MC41ODUzNjU4NTM2NTkgMToxMi4wIAorMC40NzkyODMwNDY1NzggMTo3LjAgCiswLjMwMDM5Nzg3
MzQ3NiAxOjMuMCAzOjEuMCAKKzAuMDU0MzE3MzMwNjQ0MiAxOjYuMCAzOjIuMCAKKzAuNTYzNDY1
MTI2Mjk5IDE6MTEuMCAKKzAuNTg1MzY1ODUzNjU5IDE6Mi4wIAorMC41ODUzNjU4NTM2NTkgMTox
MC4wIDI6My4wIDM6Ni4wIAorMC41ODUzNjU4NTM2NTkgMToxLjAgMjoxLjAgCiswLjU4NTM2NTg1
MzY1OSAxOjIuMCAKKzAuNTg1MzY1ODUzNjU5IDE6MS4wIDI6MS4wIAorMC41ODUzNjU4NTM2NTkg
MTozLjAgMzoxLjAgCiswLjU4NTM2NTg1MzY1OSAxOjEuMCAKKzAuNTg1MzY1ODUzNjU5IDE6Mi4w
IAorMC41ODUzNjU4NTM2NTkgMToxLjAgMjoxLjAgCiswLjU4NDk4OTcxOTkwOSAxOjcuMCAKKzAu
NTg1MzY1ODUzNjU5IDE6My4wIAorMC41ODUzNjU4NTM2NTkgMTozLjAgCiswLjUyNTkyNTEzNjk4
MyAxOjMuMCAyOjIuMCAKKzAuNTg1MzY1ODUzNjU5IDE6MS4wIAorMC41ODUzNjU4NTM2NTkgMTox
LjAgCiswLjU4NTM2NTg1MzY1OSAxOjMuMCAzOjEuMCAKKzAuNTg1MzY1ODUzNjU5IDE6MS4wIAor
MC41MjA3NDU4MjIzNzQgMTozLjAgCitzdm1fdHlwZSBjX3N2Ywora2VybmVsX3R5cGUgcmJmCitn
YW1tYSAwLjEKK25yX2NsYXNzIDIKK3RvdGFsX3N2IDMzMAorcmhvIDAuMjg3OTQ1NjQyMjYxCits
YWJlbCAtMSAxCitucl9zdiAzMDAgMzAKK1NWCistMC4wNTQ2Njk3MDM4NzI0IDE6MTQuMCAyOjMu
MCAzOjcuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMjoxLjAgCistMC4wNTQ2Njk3MDM4NzI0
IDE6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAzOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQg
MToxMi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjcuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAg
MjoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDM6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAx
OjMuMCAyOjE2LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDM6MS4wIAorLTAuMDU0NjY5NzAz
ODcyNCAxOjEuMCAyOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMzoxLjAgCistMC4wNTQ2
Njk3MDM4NzI0IDE6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjMuMCAyOjEuMCAKKy0wLjA1NDY2
OTcwMzg3MjQgMTo1LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MTYuMCAyOjIuMCAzOjIuMCAKKy0w
LjA1NDY2OTcwMzg3MjQgMToxLjAgMjoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MTEuMCAKKy0w
LjA1NDY2OTcwMzg3MjQgMTo0LjAgMzozLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MjguMCAKKy0w
LjA1NDY2OTcwMzg3MjQgMToyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDM6MS4wIAorLTAu
MDU0NjY5NzAzODcyNCAxOjEuMCAzOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyMi4wIDI6MS4w
IDM6MTIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxNC4wIDM6NS4wIAorLTAuMDU0NjY5NzAzODcy
NCAxOjEuMCAzOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo0OC4wIDI6MS4wIAorLTAuMDU0NjY5
NzAzODcyNCAxOjI1LjAgMzoxNi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAyOjEuMCAKKy0w
LjA1NDY2OTcwMzg3MjQgMToxLjAgMzoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Ni4wIAorLTAu
MDU0NjY5NzAzODcyNCAxOjcuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMjoxLjAgCistMC4w
NTQ2Njk3MDM4NzI0IDE6MS4wIDM6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjMuMCAzOjIuMCAK
Ky0wLjA1NDY2OTcwMzg3MjQgMTo3LjAgMjoxLjAgMzoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6
Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjcuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo1LjAgMjoy
LjAgMzozLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEu
MCAyOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo0LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4w
IDI6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAzOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQg
MTo5LjAgMzo0LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDI6MS4wIAorLTAuMDU0NjY5NzAz
ODcyNCAxOjEuMCAzOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo0Ny4wIDI6MjEuMCAzOjMzLjAg
CistMC4wNTQ2Njk3MDM4NzI0IDE6MTEuMCAyOjIuMCAzOjUuMCAKKy0wLjA1NDY2OTcwMzg3MjQg
MToxMS4wIDI6My4wIDM6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAzOjEuMCAKKy0wLjA1
NDY2OTcwMzg3MjQgMToyLjAgMjoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6NDMuMCAzOjIuMCAK
Ky0wLjA1NDY2OTcwMzg3MjQgMToxMy4wIDM6Ny4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAz
OjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo0LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MTMuMCAz
OjQuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo0Mi4wIDI6NC4wIDM6MzIuMCAKKy0wLjA1NDY2OTcw
Mzg3MjQgMToxMC4wIDI6NS4wIDM6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjcuMCAzOjQuMCAK
Ky0wLjA1NDY2OTcwMzg3MjQgMToyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDM6MS4wIAor
LTAuMDU0NjY5NzAzODcyNCAxOjEuMCAzOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo2LjAgCist
MC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDI6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjYuMCAKKy0w
LjA1NDY2OTcwMzg3MjQgMToxNi4wIDI6NC4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEwLjAgMjox
LjAgMzoyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MTguMCAyOjMuMCAzOjYuMCAKKy0wLjA1NDY2
OTcwMzg3MjQgMToxLjAgMzoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDI6MS4wIAorLTAu
MDU0NjY5NzAzODcyNCAxOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTozLjAgMjoxLjAgMzoxLjAg
CistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDI6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjMuMCAK
Ky0wLjA1NDY2OTcwMzg3MjQgMTozLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6NC4wIAorLTAuMDU0
NjY5NzAzODcyNCAxOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAgMzoyLjAgCistMC4wNTQ2
Njk3MDM4NzI0IDE6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAzOjEuMCAKKy0wLjA1NDY2
OTcwMzg3MjQgMToyMS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAKKy0wLjA1NDY2OTcwMzg3
MjQgMToyLjAgMjoyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MTQuMCAKKy0wLjA1NDY2OTcwMzg3
MjQgMToyLjAgMjoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIDM6Mi4wIAorLTAuMDU0NjY5
NzAzODcyNCAxOjQuMCAzOjMuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAgMzoxLjAgCistMC4w
NTQ2Njk3MDM4NzI0IDE6My4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAKKy0wLjA1NDY2OTcw
Mzg3MjQgMToxLjAgMjoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6NC4wIAorLTAuMDU0NjY5NzAz
ODcyNCAxOjM5LjAgMzo0LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAz
ODcyNCAxOjIuMCAyOjEuMCAzOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo0LjAgCistMC4wNTQ2
Njk3MDM4NzI0IDE6Mi4wIDI6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjQuMCAKKy0wLjA1NDY2
OTcwMzg3MjQgMToxLjAgMjoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDI6Mi4wIAorLTAu
MDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAgMjoxLjAgCistMC4w
NTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcw
Mzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAx
OjMuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMjoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6
MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCist
MC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2
OTcwMzg3MjQgMToxLjAgMzoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5
NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0
IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAg
CistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1
NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAz
ODcyNCAxOjE2LjAgMjoxLjAgMzoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0
NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMjoxLjAgCistMC4wNTQ2
Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3
MjQgMTozLjAgMjoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDM6MS4wIAorLTAuMDU0NjY5
NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0
IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAg
CistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIwLjAgMzozLjAg
CistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAKKy0wLjA1
NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAz
ODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6
MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAzOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTox
LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDM6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEu
MCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo4LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Ny4wIDI6MS4w
IDM6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjguMCAyOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQg
MToxLjAgMjoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAx
OjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMjoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6
MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCist
MC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2
OTcwMzg3MjQgMToyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcy
NCAxOjEyLjAgMzo3LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcy
NCAxOjkuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo3LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4w
IAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAyOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAg
MzoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjguMCAy
OjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxNy4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAy
OjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAor
LTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2
Njk3MDM4NzI0IDE6NC4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3
MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MTMuMCAyOjQuMCAzOjIuMCAKKy0wLjA1NDY2
OTcwMzg3MjQgMToxLjAgMzoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIDM6Mi4wIAorLTAu
MDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxNi4wIAorLTAuMDU0NjY5
NzAzODcyNCAxOjMuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0
IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAg
CistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1
NDY2OTcwMzg3MjQgMToyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIAorLTAuMDU0NjY5NzAz
ODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6
MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAgCist
MC4wNTQ2Njk3MDM4NzI0IDE6My4wIDM6My4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0w
LjA1NDY2OTcwMzg3MjQgMToyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MTEuMCAzOjExLjAgCist
MC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2
OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIAorLTAuMDU0NjY5NzAzODcy
NCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4w
IAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAgCistMC4w
NTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcw
Mzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAx
OjE1LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAK
Ky0wLjA1NDY2OTcwMzg3MjQgMToyMC4wIDI6MTIuMCAzOjMuMCAKKy0wLjA1NDY2OTcwMzg3MjQg
MToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAK
Ky0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Ny4wIDM6MS4wIAor
LTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMzoxLjAgCist
MC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2
OTcwMzg3MjQgMToxLjAgMzoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5
NzAzODcyNCAxOjMuMCAzOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3
MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjkuMCAyOjMuMCAKKy0wLjA1NDY2OTcw
Mzg3MjQgMToxLjAgMzoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Ni4wIAorLTAuMDU0NjY5NzAz
ODcyNCAxOjQuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6
Ny4wIDI6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTox
LjAgMzoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIu
MCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo5LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIAorLTAu
MDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3
MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQg
MToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MTQuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxMi4w
IDM6Ni4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjMuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo0LjAg
MjoxLjAgMzoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAx
OjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAor
LTAuMDU0NjY5NzAzODcyNCAxOjkuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo5LjAgMjoxLjAgMzo0
LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0w
LjA1NDY2OTcwMzg3MjQgMTo5LjAgMjoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6My4wIDI6My4w
IAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAyOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAg
MjoxLjAgMzoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6OC4wIDI6MS4wIDM6My4wIAorLTAuMDU0
NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAgMjoxLjAgCistMC4wNTQ2
Njk3MDM4NzI0IDE6OS4wIDI6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2
OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIAorLTAuMDU0NjY5NzAzODcy
NCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTozNi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEu
MCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIAorLTAu
MDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3
MDM4NzI0IDE6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQg
MToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Ni4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAz
OjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAor
LTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2
Njk3MDM4NzI0IDE6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3
MjQgMToyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6NC4wIDM6Mi4wIAorLTAuMDU0NjY5NzAzODcy
NCAxOjEzLjAgMzo0LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDQwMjA3NTE3ODk0
MiAxOjEuMCAKKzAuNTg1MzY1ODUzNjU5IDE6MS4wIAorMC40NzkyNzYxMzkwMDEgMTo2LjAgMjoz
LjAgCiswLjU4NTM2NTg1MzY1OSAxOjIuMCAKKzAuNTg1MzY1ODUzNjU5IDE6MS4wIAorMC41ODUz
NjU4NTM2NTkgMTozLjAgMzozLjAgCiswLjU4NTM2NTg1MzY1OSAxOjQyLjAgMjoyLjAgMzoyOC4w
IAorMC41ODUzNjU4NTM2NTkgMToyLjAgCiswLjU4NTM2NTg1MzY1OSAxOjEyLjAgCiswLjQ3OTI4
MzA0NjU3OCAxOjcuMCAKKzAuMzAwMzk3ODczNDc2IDE6My4wIDM6MS4wIAorMC4wNTQzMTczMzA2
NDQyIDE6Ni4wIDM6Mi4wIAorMC41NjM0NjUxMjYyOTkgMToxMS4wIAorMC41ODUzNjU4NTM2NTkg
MToyLjAgCiswLjU4NTM2NTg1MzY1OSAxOjEwLjAgMjozLjAgMzo2LjAgCiswLjU4NTM2NTg1MzY1
OSAxOjEuMCAyOjEuMCAKKzAuNTg1MzY1ODUzNjU5IDE6Mi4wIAorMC41ODUzNjU4NTM2NTkgMTox
LjAgMjoxLjAgCiswLjU4NTM2NTg1MzY1OSAxOjMuMCAzOjEuMCAKKzAuNTg1MzY1ODUzNjU5IDE6
MS4wIAorMC41ODUzNjU4NTM2NTkgMToyLjAgCiswLjU4NTM2NTg1MzY1OSAxOjEuMCAyOjEuMCAK
KzAuNTg0OTg5NzE5OTA5IDE6Ny4wIAorMC41ODUzNjU4NTM2NTkgMTozLjAgCiswLjU4NTM2NTg1
MzY1OSAxOjMuMCAKKzAuNTI1OTI1MTM2OTgzIDE6My4wIDI6Mi4wIAorMC41ODUzNjU4NTM2NTkg
MToxLjAgCiswLjU4NTM2NTg1MzY1OSAxOjEuMCAKKzAuNTg1MzY1ODUzNjU5IDE6My4wIDM6MS4w
IAorMC41ODUzNjU4NTM2NTkgMToxLjAgCiswLjUyMDc0NTgyMjM3NCAxOjMuMCAKSW5kZXg6IFNv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdlci5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlJlc291cmNlTG9h
ZFN0YXRpc3RpY3NNYW5hZ2VyLmNwcAkocmV2aXNpb24gMjEyNTI0KQorKysgU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL1dlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VyLmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtNjEsNiArNjEsMjEgQEAgYm9vbCBXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNz
TWFuYWdlcjo6aAogICAgIHJldHVybiBXZWJDb3JlOjpSZXNvdXJjZUxvYWRPYnNlcnZlcjo6c2hh
cmVkT2JzZXJ2ZXIoKS5oYXNIYWRVc2VySW50ZXJhY3Rpb24oVVJMKFVSTCgpLCBob3N0TmFtZSkp
OwogfQogCit2b2lkIFdlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VyOjpzZXRTdWJmcmFt
ZVVuZGVyVG9wRnJhbWVPcmlnaW4oY29uc3QgU3RyaW5nJiBob3N0TmFtZSwgY29uc3QgU3RyaW5n
JiB0b3BGcmFtZUhvc3ROYW1lKQoreworICAgIFdlYkNvcmU6OlJlc291cmNlTG9hZE9ic2VydmVy
OjpzaGFyZWRPYnNlcnZlcigpLnNldFN1YmZyYW1lVW5kZXJUb3BGcmFtZU9yaWdpbihVUkwoVVJM
KCksIGhvc3ROYW1lKSwgVVJMKFVSTCgpLCB0b3BGcmFtZUhvc3ROYW1lKSk7Cit9CisKK3ZvaWQg
V2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFnZXI6OnNldFN1YnJlc291cmNlVW5kZXJUb3BG
cmFtZU9yaWdpbihjb25zdCBTdHJpbmcmIGhvc3ROYW1lLCBjb25zdCBTdHJpbmcmIHRvcEZyYW1l
SG9zdE5hbWUpCit7CisgICAgV2ViQ29yZTo6UmVzb3VyY2VMb2FkT2JzZXJ2ZXI6OnNoYXJlZE9i
c2VydmVyKCkuc2V0U3VicmVzb3VyY2VVbmRlclRvcEZyYW1lT3JpZ2luKFVSTChVUkwoKSwgaG9z
dE5hbWUpLCBVUkwoVVJMKCksIHRvcEZyYW1lSG9zdE5hbWUpKTsKK30KKwordm9pZCBXZWJSZXNv
dXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdlcjo6c2V0U3VicmVzb3VyY2VVbmlxdWVSZWRpcmVjdFRv
KGNvbnN0IFN0cmluZyYgaG9zdE5hbWUsIGNvbnN0IFN0cmluZyYgaG9zdE5hbWVSZWRpcmVjdGVk
VG8pCit7CisgICAgV2ViQ29yZTo6UmVzb3VyY2VMb2FkT2JzZXJ2ZXI6OnNoYXJlZE9ic2VydmVy
KCkuc2V0U3VicmVzb3VyY2VVbmlxdWVSZWRpcmVjdFRvKFVSTChVUkwoKSwgaG9zdE5hbWUpLCBV
UkwoVVJMKCksIGhvc3ROYW1lUmVkaXJlY3RlZFRvKSk7Cit9CisKIHZvaWQgV2ViUmVzb3VyY2VM
b2FkU3RhdGlzdGljc01hbmFnZXI6OnNldFRpbWVUb0xpdmVVc2VySW50ZXJhY3Rpb24oZG91Ymxl
IHNlY29uZHMpCiB7CiAgICAgV2ViQ29yZTo6UmVzb3VyY2VMb2FkT2JzZXJ2ZXI6OnNoYXJlZE9i
c2VydmVyKCkuc2V0VGltZVRvTGl2ZVVzZXJJbnRlcmFjdGlvbihzZWNvbmRzKTsKSW5kZXg6IFNv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdlci5o
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJSZXNvdXJjZUxvYWRT
dGF0aXN0aWNzTWFuYWdlci5oCShyZXZpc2lvbiAyMTI1MjQpCisrKyBTb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFnZXIuaAkod29ya2luZyBjb3B5
KQpAQCAtNDIsNiArNDIsOSBAQCBwdWJsaWM6CiAgICAgc3RhdGljIGJvb2wgaXNQcmV2YWxlbnRS
ZXNvdXJjZShjb25zdCBTdHJpbmcmIGhvc3ROYW1lKTsKICAgICBzdGF0aWMgdm9pZCBzZXRIYXNI
YWRVc2VySW50ZXJhY3Rpb24oY29uc3QgU3RyaW5nJiBob3N0TmFtZSwgYm9vbCB2YWx1ZSk7CiAg
ICAgc3RhdGljIGJvb2wgaGFzSGFkVXNlckludGVyYWN0aW9uKGNvbnN0IFN0cmluZyYgaG9zdE5h
bWUpOworICAgIHN0YXRpYyB2b2lkIHNldFN1YmZyYW1lVW5kZXJUb3BGcmFtZU9yaWdpbihjb25z
dCBTdHJpbmcmIGhvc3ROYW1lLCBjb25zdCBTdHJpbmcmIHRvcEZyYW1lSG9zdE5hbWUpOworICAg
IHN0YXRpYyB2b2lkIHNldFN1YnJlc291cmNlVW5kZXJUb3BGcmFtZU9yaWdpbihjb25zdCBTdHJp
bmcmIGhvc3ROYW1lLCBjb25zdCBTdHJpbmcmIHRvcEZyYW1lSG9zdE5hbWUpOworICAgIHN0YXRp
YyB2b2lkIHNldFN1YnJlc291cmNlVW5pcXVlUmVkaXJlY3RUbyhjb25zdCBTdHJpbmcmIGhvc3RO
YW1lLCBjb25zdCBTdHJpbmcmIGhvc3ROYW1lUmVkaXJlY3RlZFRvKTsKICAgICBzdGF0aWMgdm9p
ZCBzZXRUaW1lVG9MaXZlVXNlckludGVyYWN0aW9uKGRvdWJsZSBzZWNvbmRzKTsKICAgICBzdGF0
aWMgdm9pZCBzZXRSZWR1Y2VkVGltZXN0YW1wUmVzb2x1dGlvbihkb3VibGUgc2Vjb25kcyk7CiAg
ICAgc3RhdGljIHZvaWQgZmlyZURhdGFNb2RpZmljYXRpb25IYW5kbGVyKCk7CkluZGV4OiBTb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlLmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUmVzb3VyY2VMb2FkU3Rh
dGlzdGljc1N0b3JlLmNwcAkocmV2aXNpb24gMjEyNTI0KQorKysgU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL1dlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZS5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTQ1LDcgKzQ1LDYgQEAgdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKIG5hbWVzcGFjZSBX
ZWJLaXQgewogCi1zdGF0aWMgY29uc3QgYXV0byBmZWF0dXJlVmVjdG9yTGVuZ3RoVGhyZXNob2xk
ID0gMzsKIHN0YXRpYyBhdXRvIG1pbmltdW1UaW1lQmV0d2VlZW5EYXRhUmVjb3Jkc1JlbW92YWwg
PSA2MDsKIHN0YXRpYyBPcHRpb25TZXQ8V2ViS2l0OjpXZWJzaXRlRGF0YVR5cGU+IGRhdGFUeXBl
c1RvUmVtb3ZlOwogc3RhdGljIGF1dG8gbm90aWZ5UGFnZXMgPSBmYWxzZTsKQEAgLTU5LDcgKzU4
LDcgQEAgUmVmPFdlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZT4gV2ViUgogV2ViUmVzb3Vy
Y2VMb2FkU3RhdGlzdGljc1N0b3JlOjpXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmUoY29u
c3QgU3RyaW5nJiByZXNvdXJjZUxvYWRTdGF0aXN0aWNzRGlyZWN0b3J5KQogICAgIDogbV9yZXNv
dXJjZUxvYWRTdGF0aXN0aWNzU3RvcmUoUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlOjpjcmVh
dGUoKSkKICAgICAsIG1fc3RhdGlzdGljc1F1ZXVlKFdvcmtRdWV1ZTo6Y3JlYXRlKCJXZWJSZXNv
dXJjZUxvYWRTdGF0aXN0aWNzU3RvcmUgUHJvY2VzcyBEYXRhIFF1ZXVlIikpCi0gICAgLCBtX3N0
b3JhZ2VQYXRoKHJlc291cmNlTG9hZFN0YXRpc3RpY3NEaXJlY3RvcnkpCisgICAgLCBtX3N0YXRp
c3RpY3NTdG9yYWdlUGF0aChyZXNvdXJjZUxvYWRTdGF0aXN0aWNzRGlyZWN0b3J5KQogewogfQog
CkBAIC04Myw0MCArODIsMTEgQEAgdm9pZCBXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmU6
OnNldAogICAgICAgICBtaW5pbXVtVGltZUJldHdlZWVuRGF0YVJlY29yZHNSZW1vdmFsID0gc2Vj
b25kczsKIH0KIAotYm9vbCBXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmU6Omhhc1ByZXZh
bGVudFJlc291cmNlQ2hhcmFjdGVyaXN0aWNzKGNvbnN0IFJlc291cmNlTG9hZFN0YXRpc3RpY3Mm
IHJlc291cmNlU3RhdGlzdGljKQotewotICAgIGF1dG8gc3VicmVzb3VyY2VVbmRlclRvcEZyYW1l
T3JpZ2luc0NvdW50ID0gcmVzb3VyY2VTdGF0aXN0aWMuc3VicmVzb3VyY2VVbmRlclRvcEZyYW1l
T3JpZ2lucy5zaXplKCk7Ci0gICAgYXV0byBzdWJyZXNvdXJjZVVuaXF1ZVJlZGlyZWN0c1RvQ291
bnQgPSByZXNvdXJjZVN0YXRpc3RpYy5zdWJyZXNvdXJjZVVuaXF1ZVJlZGlyZWN0c1RvLnNpemUo
KTsKLSAgICBhdXRvIHN1YmZyYW1lVW5kZXJUb3BGcmFtZU9yaWdpbnNDb3VudCA9IHJlc291cmNl
U3RhdGlzdGljLnN1YmZyYW1lVW5kZXJUb3BGcmFtZU9yaWdpbnMuc2l6ZSgpOwotICAgIAotICAg
IGlmICghc3VicmVzb3VyY2VVbmRlclRvcEZyYW1lT3JpZ2luc0NvdW50Ci0gICAgICAgICYmICFz
dWJyZXNvdXJjZVVuaXF1ZVJlZGlyZWN0c1RvQ291bnQKLSAgICAgICAgJiYgIXN1YmZyYW1lVW5k
ZXJUb3BGcmFtZU9yaWdpbnNDb3VudCkKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotCi0gICAgaWYg
KHN1YnJlc291cmNlVW5kZXJUb3BGcmFtZU9yaWdpbnNDb3VudCA+IGZlYXR1cmVWZWN0b3JMZW5n
dGhUaHJlc2hvbGQKLSAgICAgICAgfHwgc3VicmVzb3VyY2VVbmlxdWVSZWRpcmVjdHNUb0NvdW50
ID4gZmVhdHVyZVZlY3Rvckxlbmd0aFRocmVzaG9sZAotICAgICAgICB8fCBzdWJmcmFtZVVuZGVy
VG9wRnJhbWVPcmlnaW5zQ291bnQgPiBmZWF0dXJlVmVjdG9yTGVuZ3RoVGhyZXNob2xkKQotICAg
ICAgICByZXR1cm4gdHJ1ZTsKLQotICAgIC8vIFRoZSByZXNvdXJjZSBpcyBjb25zaWRlcmVkIHBy
ZXZhbGVudCBpZiB0aGUgZmVhdHVyZSB2ZWN0b3IKLSAgICAvLyBpcyBsb25nZXIgdGhhbiB0aGUg
dGhyZXNob2xkLgotICAgIC8vIFZlY3RvciBsZW5ndGggZm9yIG4gZGltZW5zaW9ucyBpcyBzcXJ0
KGFeMiArICguLi4pICsgbl4yKS4KLSAgICBkb3VibGUgdmVjdG9yTGVuZ3RoID0gMDsKLSAgICB2
ZWN0b3JMZW5ndGggKz0gc3VicmVzb3VyY2VVbmRlclRvcEZyYW1lT3JpZ2luc0NvdW50ICogc3Vi
cmVzb3VyY2VVbmRlclRvcEZyYW1lT3JpZ2luc0NvdW50OwotICAgIHZlY3Rvckxlbmd0aCArPSBz
dWJyZXNvdXJjZVVuaXF1ZVJlZGlyZWN0c1RvQ291bnQgKiBzdWJyZXNvdXJjZVVuaXF1ZVJlZGly
ZWN0c1RvQ291bnQ7Ci0gICAgdmVjdG9yTGVuZ3RoICs9IHN1YmZyYW1lVW5kZXJUb3BGcmFtZU9y
aWdpbnNDb3VudCAqIHN1YmZyYW1lVW5kZXJUb3BGcmFtZU9yaWdpbnNDb3VudDsKLQotICAgIEFT
U0VSVCh2ZWN0b3JMZW5ndGggPiAwKTsKLQotICAgIHJldHVybiBzcXJ0KHZlY3Rvckxlbmd0aCkg
PiBmZWF0dXJlVmVjdG9yTGVuZ3RoVGhyZXNob2xkOwotfQotICAgIAogdm9pZCBXZWJSZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzU3RvcmU6OmNsYXNzaWZ5UmVzb3VyY2UoUmVzb3VyY2VMb2FkU3RhdGlz
dGljcyYgcmVzb3VyY2VTdGF0aXN0aWMpCiB7Ci0gICAgaWYgKCFyZXNvdXJjZVN0YXRpc3RpYy5p
c1ByZXZhbGVudFJlc291cmNlICYmIGhhc1ByZXZhbGVudFJlc291cmNlQ2hhcmFjdGVyaXN0aWNz
KHJlc291cmNlU3RhdGlzdGljKSkgeworICAgIGlmICghcmVzb3VyY2VTdGF0aXN0aWMuaXNQcmV2
YWxlbnRSZXNvdXJjZQorICAgICAgICAmJiBtX3Jlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lm
aWVyLmhhc1ByZXZhbGVudFJlc291cmNlQ2hhcmFjdGVyaXN0aWNzKHJlc291cmNlU3RhdGlzdGlj
KSkKICAgICAgICAgcmVzb3VyY2VTdGF0aXN0aWMuaXNQcmV2YWxlbnRSZXNvdXJjZSA9IHRydWU7
Ci0gICAgfQogfQogCiB2b2lkIFdlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZTo6cmVtb3Zl
RGF0YVJlY29yZHMoKQpAQCAtMjQ4LDExICsyMTgsMTEgQEAgdm9pZCBXZWJSZXNvdXJjZUxvYWRT
dGF0aXN0aWNzU3RvcmU6OmFwcAogCiBTdHJpbmcgV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0
b3JlOjpwZXJzaXN0ZW50U3RvcmFnZVBhdGgoY29uc3QgU3RyaW5nJiBsYWJlbCkgY29uc3QKIHsK
LSAgICBpZiAobV9zdG9yYWdlUGF0aC5pc0VtcHR5KCkpCisgICAgaWYgKG1fc3RhdGlzdGljc1N0
b3JhZ2VQYXRoLmlzRW1wdHkoKSkKICAgICAgICAgcmV0dXJuIGVtcHR5U3RyaW5nKCk7CiAKICAg
ICAvLyBUT0RPIERlY2lkZSB3aGF0IHRvIGNhbGwgdGhpcyBmaWxlCi0gICAgcmV0dXJuIHBhdGhC
eUFwcGVuZGluZ0NvbXBvbmVudChtX3N0b3JhZ2VQYXRoLCBsYWJlbCArICJfcmVzb3VyY2VMb2cu
cGxpc3QiKTsKKyAgICByZXR1cm4gcGF0aEJ5QXBwZW5kaW5nQ29tcG9uZW50KG1fc3RhdGlzdGlj
c1N0b3JhZ2VQYXRoLCBsYWJlbCArICJfcmVzb3VyY2VMb2cucGxpc3QiKTsKIH0KIAogdm9pZCBX
ZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmU6OndyaXRlRW5jb2RlclRvRGlzayhLZXllZEVu
Y29kZXImIGVuY29kZXIsIGNvbnN0IFN0cmluZyYgbGFiZWwpIGNvbnN0CkBAIC0yNjUsOCArMjM1
LDggQEAgdm9pZCBXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmU6OndyaQogICAgIGlmIChy
ZXNvdXJjZUxvZy5pc0VtcHR5KCkpCiAgICAgICAgIHJldHVybjsKIAotICAgIGlmICghbV9zdG9y
YWdlUGF0aC5pc0VtcHR5KCkpCi0gICAgICAgIG1ha2VBbGxEaXJlY3RvcmllcyhtX3N0b3JhZ2VQ
YXRoKTsKKyAgICBpZiAoIW1fc3RhdGlzdGljc1N0b3JhZ2VQYXRoLmlzRW1wdHkoKSkKKyAgICAg
ICAgbWFrZUFsbERpcmVjdG9yaWVzKG1fc3RhdGlzdGljc1N0b3JhZ2VQYXRoKTsKIAogICAgIGF1
dG8gaGFuZGxlID0gb3BlbkZpbGUocmVzb3VyY2VMb2csIE9wZW5Gb3JXcml0ZSk7CiAgICAgaWYg
KCFoYW5kbGUpCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUmVzb3VyY2VMb2Fk
U3RhdGlzdGljc1N0b3JlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L1dlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZS5oCShyZXZpc2lvbiAyMTI1MjQpCisrKyBT
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlLmgJ
KHdvcmtpbmcgY29weSkKQEAgLTI4LDYgKzI4LDcgQEAKIAogI2luY2x1ZGUgIkFQSU9iamVjdC5o
IgogI2luY2x1ZGUgIkNvbm5lY3Rpb24uaCIKKyNpbmNsdWRlICJSZXNvdXJjZUxvYWRTdGF0aXN0
aWNzQ2xhc3NpZmllci5oIgogI2luY2x1ZGUgIldlYnNpdGVEYXRhUmVjb3JkLmgiCiAjaW5jbHVk
ZSA8V2ViQ29yZS9SZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmUuaD4KICNpbmNsdWRlIDx3dGYv
VmVjdG9yLmg+CkBAIC03Niw3ICs3Nyw2IEBAIHByaXZhdGU6CiAKICAgICB2b2lkIHByb2Nlc3NT
dGF0aXN0aWNzQW5kRGF0YVJlY29yZHMoKTsKIAotICAgIGJvb2wgaGFzUHJldmFsZW50UmVzb3Vy
Y2VDaGFyYWN0ZXJpc3RpY3MoY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VMb2FkU3RhdGlzdGljcyYp
OwogICAgIHZvaWQgY2xhc3NpZnlSZXNvdXJjZShXZWJDb3JlOjpSZXNvdXJjZUxvYWRTdGF0aXN0
aWNzJik7CiAgICAgdm9pZCByZW1vdmVEYXRhUmVjb3JkcygpOwogCkBAIC04OSw4ICs4OSw5IEBA
IHByaXZhdGU6CiAgICAgc3RkOjp1bmlxdWVfcHRyPFdlYkNvcmU6OktleWVkRGVjb2Rlcj4gY3Jl
YXRlRGVjb2RlckZyb21EaXNrKGNvbnN0IFN0cmluZyYgbGFiZWwpIGNvbnN0OwogCiAgICAgUmVm
PFdlYkNvcmU6OlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZT4gbV9yZXNvdXJjZUxvYWRTdGF0
aXN0aWNzU3RvcmU7CisgICAgUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXIgbV9yZXNv
dXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllcjsKICAgICBSZWY8V1RGOjpXb3JrUXVldWU+IG1f
c3RhdGlzdGljc1F1ZXVlOwotICAgIFN0cmluZyBtX3N0b3JhZ2VQYXRoOworICAgIFN0cmluZyBt
X3N0YXRpc3RpY3NTdG9yYWdlUGF0aDsKICAgICBib29sIG1fcmVzb3VyY2VMb2FkU3RhdGlzdGlj
c0VuYWJsZWQgeyBmYWxzZSB9OwogCiAgICAgZG91YmxlIG1fbGFzdFRpbWVEYXRhUmVjb3Jkc1dl
cmVSZW1vdmVkIHsgMCB9OwpJbmRleDogU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dL
UmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFnZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1Jlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VyLmNw
cAkocmV2aXNpb24gMjEyNTI0KQorKysgU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dL
UmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFnZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01Niw2
ICs1NiwyMSBAQCBib29sIFdLUmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFnZXJJc0hhCiAgICAg
cmV0dXJuIFdlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VyOjpoYXNIYWRVc2VySW50ZXJh
Y3Rpb24odG9XVEZTdHJpbmcoaG9zdE5hbWUpKTsKIH0KIAordm9pZCBXS1Jlc291cmNlTG9hZFN0
YXRpc3RpY3NNYW5hZ2VyU2V0U3ViZnJhbWVVbmRlclRvcEZyYW1lT3JpZ2luKFdLU3RyaW5nUmVm
IGhvc3ROYW1lLCBXS1N0cmluZ1JlZiB0b3BGcmFtZUhvc3ROYW1lKQoreworICAgIFdlYlJlc291
cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VyOjpzZXRTdWJmcmFtZVVuZGVyVG9wRnJhbWVPcmlnaW4o
dG9XVEZTdHJpbmcoaG9zdE5hbWUpLCB0b1dURlN0cmluZyh0b3BGcmFtZUhvc3ROYW1lKSk7Cit9
CisKK3ZvaWQgV0tSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdlclNldFN1YnJlc291cmNlVW5k
ZXJUb3BGcmFtZU9yaWdpbihXS1N0cmluZ1JlZiBob3N0TmFtZSwgV0tTdHJpbmdSZWYgdG9wRnJh
bWVIb3N0TmFtZSkKK3sKKyAgICBXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdlcjo6c2V0
U3VicmVzb3VyY2VVbmRlclRvcEZyYW1lT3JpZ2luKHRvV1RGU3RyaW5nKGhvc3ROYW1lKSwgdG9X
VEZTdHJpbmcodG9wRnJhbWVIb3N0TmFtZSkpOworfQorCit2b2lkIFdLUmVzb3VyY2VMb2FkU3Rh
dGlzdGljc01hbmFnZXJTZXRTdWJyZXNvdXJjZVVuaXF1ZVJlZGlyZWN0VG8oV0tTdHJpbmdSZWYg
aG9zdE5hbWUsIFdLU3RyaW5nUmVmIGhvc3ROYW1lUmVkaXJlY3RlZFRvKQoreworICAgIFdlYlJl
c291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VyOjpzZXRTdWJyZXNvdXJjZVVuaXF1ZVJlZGlyZWN0
VG8odG9XVEZTdHJpbmcoaG9zdE5hbWUpLCB0b1dURlN0cmluZyhob3N0TmFtZVJlZGlyZWN0ZWRU
bykpOworfQorCiB2b2lkIFdLUmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFnZXJTZXRUaW1lVG9M
aXZlVXNlckludGVyYWN0aW9uKGRvdWJsZSBzZWNvbmRzKQogewogICAgIFdlYlJlc291cmNlTG9h
ZFN0YXRpc3RpY3NNYW5hZ2VyOjpzZXRUaW1lVG9MaXZlVXNlckludGVyYWN0aW9uKHNlY29uZHMp
OwpJbmRleDogU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUmVzb3VyY2VMb2FkU3Rh
dGlzdGljc01hbmFnZXIuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
QVBJL0MvV0tSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdlci5oCShyZXZpc2lvbiAyMTI1MjQp
CisrKyBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tSZXNvdXJjZUxvYWRTdGF0aXN0
aWNzTWFuYWdlci5oCSh3b3JraW5nIGNvcHkpCkBAIC0zOCw2ICszOCw5IEBAIGV4dGVybiAiQyIg
ewogICAgIFdLX0VYUE9SVCBib29sIFdLUmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFnZXJJc1By
ZXZhbGVudFJlc291cmNlKFdLU3RyaW5nUmVmIGhvc3ROYW1lKTsKICAgICBXS19FWFBPUlQgdm9p
ZCBXS1Jlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VyU2V0SGFzSGFkVXNlckludGVyYWN0aW9u
KFdLU3RyaW5nUmVmIGhvc3ROYW1lLCBib29sIHZhbHVlKTsKICAgICBXS19FWFBPUlQgYm9vbCBX
S1Jlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VySXNIYXNIYWRVc2VySW50ZXJhY3Rpb24oV0tT
dHJpbmdSZWYgaG9zdE5hbWUpOworICAgIFdLX0VYUE9SVCB2b2lkIFdLUmVzb3VyY2VMb2FkU3Rh
dGlzdGljc01hbmFnZXJTZXRTdWJmcmFtZVVuZGVyVG9wRnJhbWVPcmlnaW4oV0tTdHJpbmdSZWYg
aG9zdE5hbWUsIFdLU3RyaW5nUmVmIHRvcEZyYW1lSG9zdE5hbWUpOworICAgIFdLX0VYUE9SVCB2
b2lkIFdLUmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFnZXJTZXRTdWJyZXNvdXJjZVVuZGVyVG9w
RnJhbWVPcmlnaW4oV0tTdHJpbmdSZWYgaG9zdE5hbWUsIFdLU3RyaW5nUmVmIHRvcEZyYW1lSG9z
dE5hbWUpOworICAgIFdLX0VYUE9SVCB2b2lkIFdLUmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFn
ZXJTZXRTdWJyZXNvdXJjZVVuaXF1ZVJlZGlyZWN0VG8oV0tTdHJpbmdSZWYgaG9zdE5hbWUsIFdL
U3RyaW5nUmVmIGhvc3ROYW1lUmVkaXJlY3RlZFRvKTsKICAgICBXS19FWFBPUlQgdm9pZCBXS1Jl
c291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VyU2V0VGltZVRvTGl2ZVVzZXJJbnRlcmFjdGlvbihk
b3VibGUgc2Vjb25kcyk7CiAgICAgV0tfRVhQT1JUIHZvaWQgV0tSZXNvdXJjZUxvYWRTdGF0aXN0
aWNzTWFuYWdlclNldFJlZHVjZWRUaW1lc3RhbXBSZXNvbHV0aW9uKGRvdWJsZSBzZWNvbmRzKTsK
ICAgICBXS19FWFBPUlQgdm9pZCBXS1Jlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VyRmlyZURh
dGFNb2RpZmljYXRpb25IYW5kbGVyKCk7CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9XZWJLaXQyLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2oKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvV2Vi
S2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCShyZXZpc2lvbiAyMTI1MjQpCisrKyBTb3Vy
Y2UvV2ViS2l0Mi9XZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHdvcmtpbmcgY29w
eSkKQEAgLTExNDksNiArMTE0OSwxMiBAQAogCQk2QkU5Njk5RTFFNDNCNDFEMDA4Qjc0ODMgLyog
V0tSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA2QkU5Njk5RDFFNDNCNDFEMDA4Qjc0ODMgLyogV0tS
ZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdlci5jcHAgKi87IH07CiAJCTZCRTk2OUEwMUU0M0I4
NkUwMDhCNzQ4MyAvKiBXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdlci5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNkJFOTY5OUYxRTQzQjg2RTAw
OEI3NDgzIC8qIFdlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VyLmggKi87IH07CiAJCTZC
RTk2OUEyMUU0M0I4QTQwMDhCNzQ4MyAvKiBXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdl
ci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA2QkU5
NjlBMTFFNDNCOEE0MDA4Qjc0ODMgLyogV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFnZXIu
Y3BwICovOyB9OworCQk2QkU5NjlDMTFFNTRENDUyMDA4Qjc0ODMgLyogY29yZVByZWRpY3Rpb25f
bW9kZWwgaW4gUmVzb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDZC
RTk2OUMwMUU1NEQ0NTIwMDhCNzQ4MyAvKiBjb3JlUHJlZGljdGlvbl9tb2RlbCAqLzsgfTsKKwkJ
NkJFOTY5QzUxRTU0RDRBNDAwOEI3NDgzIC8qIFJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lm
aWVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA2QkU5
NjlDNDFFNTRENEE0MDA4Qjc0ODMgLyogUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXIu
aCAqLzsgfTsKKwkJNkJFOTY5QzcxRTU0RDRCNjAwOEI3NDgzIC8qIFJlc291cmNlTG9hZFN0YXRp
c3RpY3NDbGFzc2lmaWVyQmFzZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA2QkU5NjlDNjFFNTRENEI2MDA4Qjc0ODMgLyogUmVzb3VyY2VMb2FkU3Rh
dGlzdGljc0NsYXNzaWZpZXJCYXNlLmNwcCAqLzsgfTsKKwkJNkJFOTY5Q0ExRTU0RDRDRjAwOEI3
NDgzIC8qIFJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQ29jb2EuY3BwIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNkJFOTY5QzgxRTU0RDRDRjAw
OEI3NDgzIC8qIFJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQ29jb2EuY3BwICovOyB9
OworCQk2QkU5NjlDQjFFNTRENENGMDA4Qjc0ODMgLyogUmVzb3VyY2VMb2FkU3RhdGlzdGljc0Ns
YXNzaWZpZXJDb2NvYS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gNkJFOTY5QzkxRTU0RDRDRjAwOEI3NDgzIC8qIFJlc291cmNlTG9hZFN0YXRpc3RpY3ND
bGFzc2lmaWVyQ29jb2EuaCAqLzsgfTsKKwkJNkJFOTY5Q0QxRTU0RTA1NDAwOEI3NDgzIC8qIFJl
c291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQmFzZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNkJFOTY5Q0MxRTU0RTA1NDAwOEI3NDgzIC8qIFJl
c291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQmFzZS5oICovOyB9OwogCQk2RUU4NDlDODEz
NjhEOTM5MDAzOEQ0ODEgLyogV0tJbnNwZWN0b3JQcml2YXRlTWFjLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA2RUU4NDlDNjEzNjhEOTJEMDAzOEQ0ODEg
LyogV0tJbnNwZWN0b3JQcml2YXRlTWFjLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAo
UHJpdmF0ZSwgKTsgfTsgfTsKIAkJNzI4RTg2RjExNzk1MTg4QzAwODc4NzlFIC8qIFdlYkNvbG9y
UGlja2VyTWFjLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA3MjhFODZFRjE3OTUxODhDMDA4Nzg3OUUgLyogV2ViQ29sb3JQaWNrZXJNYWMuaCAqLzsgfTsK
IAkJNzI4RTg2RjIxNzk1MTg4QzAwODc4NzlFIC8qIFdlYkNvbG9yUGlja2VyTWFjLm1tIGluIFNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNzI4RTg2RjAxNzk1MTg4
QzAwODc4NzlFIC8qIFdlYkNvbG9yUGlja2VyTWFjLm1tICovOyB9OwpAQCAtMzMzNiw2ICszMzQy
LDEyIEBACiAJCTZCRTk2OTlEMUU0M0I0MUQwMDhCNzQ4MyAvKiBXS1Jlc291cmNlTG9hZFN0YXRp
c3RpY3NNYW5hZ2VyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdL
UmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFnZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQk2QkU5Njk5RjFFNDNCODZFMDA4Qjc0ODMgLyogV2ViUmVzb3VyY2VMb2FkU3RhdGlz
dGljc01hbmFnZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViUmVzb3Vy
Y2VMb2FkU3RhdGlzdGljc01hbmFnZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
NkJFOTY5QTExRTQzQjhBNDAwOEI3NDgzIC8qIFdlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5h
Z2VyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdlYlJlc291cmNl
TG9hZFN0YXRpc3RpY3NNYW5hZ2VyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
NkJFOTY5QzAxRTU0RDQ1MjAwOEI3NDgzIC8qIGNvcmVQcmVkaWN0aW9uX21vZGVsICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gdGV4dDsgcGF0aCA9IGNvcmVQcmVkaWN0aW9uX21vZGVsOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQk2QkU5NjlDNDFFNTRENEE0MDA4Qjc0ODMgLyogUmVzb3VyY2VMb2FkU3RhdGlz
dGljc0NsYXNzaWZpZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUmVzb3Vy
Y2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
KwkJNkJFOTY5QzYxRTU0RDRCNjAwOEI3NDgzIC8qIFJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFz
c2lmaWVyQmFzZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBSZXNv
dXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllckJhc2UuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQk2QkU5NjlDODFFNTRENENGMDA4Qjc0ODMgLyogUmVzb3VyY2VMb2FkU3RhdGlz
dGljc0NsYXNzaWZpZXJDb2NvYS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBh
dGggPSBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllckNvY29hLmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNkJFOTY5QzkxRTU0RDRDRjAwOEI3NDgzIC8qIFJlc291cmNl
TG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQ29jb2EuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXJDb2NvYS5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQk2QkU5NjlDQzFFNTRFMDU0MDA4Qjc0ODMgLyogUmVzb3Vy
Y2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXJCYXNlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IFJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQmFzZS5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQk2RDhBOTFBNTExRjBFRkQxMDBERDAxRkUgLyogY29tLmFw
cGxlLldlYlByb2Nlc3Muc2IuaW4gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBuYW1lID0gY29tLmFwcGxlLldl
YlByb2Nlc3Muc2IuaW47IHBhdGggPSBXZWJQcm9jZXNzL2NvbS5hcHBsZS5XZWJQcm9jZXNzLnNi
LmluOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk2RUU4NDlDNjEzNjhEOTJEMDAzOEQ0
ODEgLyogV0tJbnNwZWN0b3JQcml2YXRlTWFjLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
bmFtZSA9IFdLSW5zcGVjdG9yUHJpdmF0ZU1hYy5oOyBwYXRoID0gbWFjL1dLSW5zcGVjdG9yUHJp
dmF0ZU1hYy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3MjhFODZFRjE3OTUxODhD
MDA4Nzg3OUUgLyogV2ViQ29sb3JQaWNrZXJNYWMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gV2ViQ29sb3JQaWNrZXJNYWMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
QEAgLTQzNDgsNiArNDM2MCw3IEBACiAJCTA4OUMxNjY1RkU4NDExNThDMDJBQUMwNyAvKiBSZXNv
dXJjZXMgKi8gPSB7CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKAorCQkJCTZC
RTk2OUJGMUU1NEQ0NTIwMDhCNzQ4MyAvKiBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzICovLAogCQkJ
CTM3RjhDOTRGMUFFMjJCRDgwMDdEQUI5RSAvKiBtYWMgKi8sCiAJCQkJN0NCMTZGRTExNzI0QjlC
NTAwN0EwQTk1IC8qIFBsdWdJblNhbmRib3hQcm9maWxlcyAqLywKIAkJCQlBNzhDQ0RENTE5M0FD
OUUzMDA1RUNDMjUgLyogU2FuZGJveFByb2ZpbGVzICovLApAQCAtNjEwMCw2ICs2MTEzLDM1IEBA
CiAJCQluYW1lID0gQ29jb2E7CiAJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOwogCQl9OworCQk2
QkU5NjlCRjFFNTRENDUyMDA4Qjc0ODMgLyogUmVzb3VyY2VMb2FkU3RhdGlzdGljcyAqLyA9IHsK
KwkJCWlzYSA9IFBCWEdyb3VwOworCQkJY2hpbGRyZW4gPSAoCisJCQkJNkJFOTY5QzAxRTU0RDQ1
MjAwOEI3NDgzIC8qIGNvcmVQcmVkaWN0aW9uX21vZGVsICovLAorCQkJKTsKKwkJCW5hbWUgPSBS
ZXNvdXJjZUxvYWRTdGF0aXN0aWNzOworCQkJcGF0aCA9IFJlc291cmNlcy9SZXNvdXJjZUxvYWRT
dGF0aXN0aWNzOworCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKKwkJfTsKKwkJNkJFOTY5QzIx
RTU0RDQ2NzAwOEI3NDgzIC8qIGNsYXNzaWZpZXIgKi8gPSB7CisJCQlpc2EgPSBQQlhHcm91cDsK
KwkJCWNoaWxkcmVuID0gKAorCQkJCTZCRTk2OUMzMUU1NEQ0NjcwMDhCNzQ4MyAvKiBjb2NvYSAq
LywKKwkJCQk2QkU5NjlDNjFFNTRENEI2MDA4Qjc0ODMgLyogUmVzb3VyY2VMb2FkU3RhdGlzdGlj
c0NsYXNzaWZpZXJCYXNlLmNwcCAqLywKKwkJCQk2QkU5NjlDNDFFNTRENEE0MDA4Qjc0ODMgLyog
UmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXIuaCAqLywKKwkJCQk2QkU5NjlDQzFFNTRF
MDU0MDA4Qjc0ODMgLyogUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXJCYXNlLmggKi8s
CisJCQkpOworCQkJcGF0aCA9IGNsYXNzaWZpZXI7CisJCQlzb3VyY2VUcmVlID0gIjxncm91cD4i
OworCQl9OworCQk2QkU5NjlDMzFFNTRENDY3MDA4Qjc0ODMgLyogY29jb2EgKi8gPSB7CisJCQlp
c2EgPSBQQlhHcm91cDsKKwkJCWNoaWxkcmVuID0gKAorCQkJCTZCRTk2OUM4MUU1NEQ0Q0YwMDhC
NzQ4MyAvKiBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllckNvY29hLmNwcCAqLywKKwkJ
CQk2QkU5NjlDOTFFNTRENENGMDA4Qjc0ODMgLyogUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNz
aWZpZXJDb2NvYS5oICovLAorCQkJKTsKKwkJCXBhdGggPSBjb2NvYTsKKwkJCXNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7CisJCX07CiAJCTZFRTg0OUM0MTM2OEQ5MDQwMDM4RDQ4MSAvKiBtYWMgKi8g
PSB7CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKApAQCAtNjk5OCw2ICs3MDQw
LDcgQEAKIAkJQkMyRTZFNzQxMTQxOTZGMDAwQTYzQjFFIC8qIFBsYXRmb3JtICovID0gewogCQkJ
aXNhID0gUEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9ICgKKwkJCQk2QkU5NjlDMjFFNTRENDY3MDA4
Qjc0ODMgLyogY2xhc3NpZmllciAqLywKIAkJCQkzNzA5NTA0MTE4QTg4QkE0MDA4N0FFNUQgLyog
Y2YgKi8sCiAJCQkJMUFBMkU1MUExMkU0QzA1NjAwQkM0OTY2IC8qIGNnICovLAogCQkJCTQ0NTBB
RUJFMURDM0ZBQUMwMDk5NDNGMiAvKiBjb2NvYSAqLywKQEAgLTc4ODAsNiArNzkyMyw3IEBACiAJ
CQkJNDFEQzQ1OTYxRTNENkUyMjAwQjExRjUxIC8qIE5ldHdvcmtSVENQcm92aWRlci5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJN0MxQkEzM0UxQTRBMEU2MDAwNDNFMjQ5IC8qIEFQSURpY3Rpb25hcnku
aCBpbiBIZWFkZXJzICovLAogCQkJCTFGN0QzNkMxMThEQTUxM0YwMEQ5RDY1OSAvKiBBUElEb3du
bG9hZENsaWVudC5oIGluIEhlYWRlcnMgKi8sCisJCQkJNkJFOTY5Q0IxRTU0RDRDRjAwOEI3NDgz
IC8qIFJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQ29jb2EuaCBpbiBIZWFkZXJzICov
LAogCQkJCTUxNkE0QTVEMTIwQTJDQ0QwMEMwNUI3RiAvKiBBUElFcnJvci5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJMzE3RkU3QzUxQzQ4N0E2QzAwQTBDQTg5IC8qIEFQSUV4cGVyaW1lbnRhbEZlYXR1
cmUuaCBpbiBIZWFkZXJzICovLAogCQkJCTAwQjk2NjE2MThFMjRDQkEwMENFMUY4OCAvKiBBUElG
aW5kQ2xpZW50LmggaW4gSGVhZGVycyAqLywKQEAgLTgyOTksNiArODM0Myw3IEBACiAJCQkJMzMw
OTM0NEExMzE1QjkyMjAwOTdBN0JDIC8qIFdlYkNvb2tpZU1hbmFnZXJQcm94eU1lc3NhZ2VzLmgg
aW4gSGVhZGVycyAqLywKIAkJCQlCQzFERDdCMjExNERDMzk2MDA1QURBRjMgLyogV2ViQ29yZUFy
Z3VtZW50Q29kZXJzLmggaW4gSGVhZGVycyAqLywKIAkJCQk1MTJGNTg5QjEyQTg4Mzg4MDA2Mjk1
MzAgLyogV2ViQ3JlZGVudGlhbC5oIGluIEhlYWRlcnMgKi8sCisJCQkJNkJFOTY5QzUxRTU0RDRB
NDAwOEI3NDgzIC8qIFJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyLmggaW4gSGVhZGVy
cyAqLywKIAkJCQkxQUE4M0Y2RDFBNUI2M0ZGMDAwMjZFQzYgLyogV2ViRGF0YWJhc2VQcm92aWRl
ci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQ0QxOUEyNkUxQTEzRTgzNDAwOEQ2NTBFIC8qIFdlYkRp
YWdub3N0aWNMb2dnaW5nQ2xpZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQkxQTVCMUM1NTE4OTg3
RURGMDA0RkNGOUIgLyogV2ViRG9jdW1lbnRMb2FkZXIuaCBpbiBIZWFkZXJzICovLApAQCAtODUw
Miw2ICs4NTQ3LDcgQEAKIAkJCQlCQzdCNjMzRDEyQTQ1RDEyMDBEMTc0QTQgLyogV0tCdW5kbGVQ
YWdlR3JvdXAuaCBpbiBIZWFkZXJzICovLAogCQkJCTFBQjQ3NEQ4MTg0RDQzRkQwMDUxQjYyMiAv
KiBXS0J1bmRsZVBhZ2VMb2FkZXJDbGllbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUVEODJBN0Yy
MTI4QzZGQUYwMDQ0NzdCMyAvKiBXS0J1bmRsZVBhZ2VPdmVybGF5LmggaW4gSGVhZGVycyAqLywK
KwkJCQk2QkU5NjlDRDFFNTRFMDU0MDA4Qjc0ODMgLyogUmVzb3VyY2VMb2FkU3RhdGlzdGljc0Ns
YXNzaWZpZXJCYXNlLmggaW4gSGVhZGVycyAqLywKIAkJCQkxQUI0NzRFQTE4NEQ0NTEzMDA1MUI2
MjIgLyogV0tCdW5kbGVQYWdlUG9saWN5Q2xpZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQlCQzFC
NDE5ODExRDQxRDU3MDAxMUU4REQgLyogV0tCdW5kbGVQYWdlUHJpdmF0ZS5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJMUFCNDc0REExODRENDQyNTAwNTFCNjIyIC8qIFdLQnVuZGxlUGFnZVJlc291cmNl
TG9hZENsaWVudC5oIGluIEhlYWRlcnMgKi8sCkBAIC05MDM1LDYgKzkwODEsNyBAQAogCQkJCTdB
NUUzOTRBMUQ1QkQ4QkUwMEI0QjdDRSAvKiBjb20ubWFjcm9tZWRpYS5GbGFzaCBQbGF5ZXIgRVNS
LnBsdWdpbi5zYiBpbiBSZXNvdXJjZXMgKi8sCiAJCQkJOERDMkVGNTMwNDg2QTY5NDAwOThCMjE2
IC8qIEluZm9QbGlzdC5zdHJpbmdzIGluIFJlc291cmNlcyAqLywKIAkJCQk5M0EyQTM0NjFEMjQ2
MTI1MDAyQjU5RDMgLyogbWVkaWFJY29uLnBkZiBpbiBSZXNvdXJjZXMgKi8sCisJCQkJNkJFOTY5
QzExRTU0RDQ1MjAwOEI3NDgzIC8qIGNvcmVQcmVkaWN0aW9uX21vZGVsIGluIFJlc291cmNlcyAq
LywKIAkJCSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKIAkJ
fTsKQEAgLTk2MjMsNiArOTY3MCw3IEBACiAJCQkJNTE3OTU1NjcxNjI4NzZDQjAwRkE0M0I2IC8q
IE5ldHdvcmtQcm9jZXNzTWFjLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJNTE2MzE5OTQxNjI4OUE2
MDAwRTIyRjAwIC8qIE5ldHdvcmtQcm9jZXNzTWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2Vz
ICovLAogCQkJCUUxNEE5NTQ5MTZFMDE2QTQwMDY4REU4MiAvKiBOZXR3b3JrUHJvY2Vzc1BsYXRm
b3JtU3RyYXRlZ2llcy5jcHAgaW4gU291cmNlcyAqLywKKwkJCQk2QkU5NjlDQTFFNTRENENGMDA4
Qjc0ODMgLyogUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXJDb2NvYS5jcHAgaW4gU291
cmNlcyAqLywKIAkJCQk1MTc5NTU2RDE2Mjg3N0IxMDBGQTQzQjYgLyogTmV0d29ya1Byb2Nlc3NQ
cm94eS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk1MTYzMTk5MjE2Mjg5ODBBMDBFMjJGMDAgLyog
TmV0d29ya1Byb2Nlc3NQcm94eU1hYy5tbSBpbiBTb3VyY2VzICovLAogCQkJCTUxM0ExNjNDMTYz
MDg4RjYwMDVEN0QyMiAvKiBOZXR3b3JrUHJvY2Vzc1Byb3h5TWVzc2FnZVJlY2VpdmVyLmNwcCBp
biBTb3VyY2VzICovLApAQCAtOTk2NSw2ICsxMDAxMyw3IEBACiAJCQkJRDNCOTQ4NDYxMUZGNEI2
NTAwMDMyQjM5IC8qIFdlYlBvcHVwTWVudS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCQ0M0M0FD
NzEyN0I5OURFMDAzMTdGMTYgLyogV2ViUG9wdXBNZW51TWFjLm1tIGluIFNvdXJjZXMgKi8sCiAJ
CQkJQkM1NzUwOTgxMjY4RjNDNjAwNkYwRjEyIC8qIFdlYlBvcHVwTWVudVByb3h5TWFjLm1tIGlu
IFNvdXJjZXMgKi8sCisJCQkJNkJFOTY5QzcxRTU0RDRCNjAwOEI3NDgzIC8qIFJlc291cmNlTG9h
ZFN0YXRpc3RpY3NDbGFzc2lmaWVyQmFzZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCQ0Q1OTgw
MDExMkI1N0JFMDBFQzhDMjMgLyogV2ViUHJlZmVyZW5jZXMuY3BwIGluIFNvdXJjZXMgKi8sCiAJ
CQkJN0M4NUZEN0YxOTM0MTY2NTAwMDE3N0M0IC8qIFdlYlByZWZlcmVuY2VzS2V5cy5jcHAgaW4g
U291cmNlcyAqLywKIAkJCQlCQzg0RUIxODEyQTcxMDBDMDA4M0YyREEgLyogV2ViUHJlZmVyZW5j
ZXNNYWMubW0gaW4gU291cmNlcyAqLywKSW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJldmlzaW9uIDIxMjUyNCkKKysrIFRvb2xzL0NoYW5nZUxv
Zwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDMwIEBACisyMDE3LTAyLTE2ICBKb2huIFdpbGFu
ZGVyICA8d2lsYW5kZXJAYXBwbGUuY29tPgorCisgICAgICAgIFJlc291cmNlIExvYWQgU3RhdGlz
dGljczogQWRkIGFsdGVybmF0ZSBjbGFzc2lmaWNhdGlvbiBtZXRob2QKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2ODM0NworICAgICAgICA8cmRhcjov
L3Byb2JsZW0vMzAzNTI3OTM+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgQWRkZWQgdGhyZWUgdGVzdFJ1bm5lciBmdW5jdGlvbnMgdG8gZmFjaWxpdGF0
ZSBsYXlvdXQgdGVzdHM6CisgICAgICAgIC0gc2V0U3RhdGlzdGljc1N1YmZyYW1lVW5kZXJUb3BG
cmFtZU9yaWdpbigpCisgICAgICAgIC0gc2V0U3RhdGlzdGljc1N1YnJlc291cmNlVW5kZXJUb3BG
cmFtZU9yaWdpbigpCisgICAgICAgIC0gc2V0U3RhdGlzdGljc1N1YnJlc291cmNlVW5pcXVlUmVk
aXJlY3RUbygpCisKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0Jp
bmRpbmdzL1Rlc3RSdW5uZXIuaWRsOgorICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvSW5qZWN0
ZWRCdW5kbGUvVGVzdFJ1bm5lci5jcHA6CisgICAgICAgIChXVFI6OlRlc3RSdW5uZXI6OnNldFN0
YXRpc3RpY3NTdWJmcmFtZVVuZGVyVG9wRnJhbWVPcmlnaW4pOgorICAgICAgICAoV1RSOjpUZXN0
UnVubmVyOjpzZXRTdGF0aXN0aWNzU3VicmVzb3VyY2VVbmRlclRvcEZyYW1lT3JpZ2luKToKKyAg
ICAgICAgKFdUUjo6VGVzdFJ1bm5lcjo6c2V0U3RhdGlzdGljc1N1YnJlc291cmNlVW5pcXVlUmVk
aXJlY3RUbyk6CisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9UZXN0
UnVubmVyLmg6CisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5jcHA6
CisgICAgICAgIChXVFI6OlRlc3RDb250cm9sbGVyOjpzZXRTdGF0aXN0aWNzU3ViZnJhbWVVbmRl
clRvcEZyYW1lT3JpZ2luKToKKyAgICAgICAgKFdUUjo6VGVzdENvbnRyb2xsZXI6OnNldFN0YXRp
c3RpY3NTdWJyZXNvdXJjZVVuZGVyVG9wRnJhbWVPcmlnaW4pOgorICAgICAgICAoV1RSOjpUZXN0
Q29udHJvbGxlcjo6c2V0U3RhdGlzdGljc1N1YnJlc291cmNlVW5pcXVlUmVkaXJlY3RUbyk6Cisg
ICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5oOgorICAgICAgICAqIFdl
YktpdFRlc3RSdW5uZXIvVGVzdEludm9jYXRpb24uY3BwOgorICAgICAgICAoV1RSOjpUZXN0SW52
b2NhdGlvbjo6ZGlkUmVjZWl2ZVN5bmNocm9ub3VzTWVzc2FnZUZyb21JbmplY3RlZEJ1bmRsZSk6
CisKIDIwMTctMDItMTYgIENvbW1pdCBRdWV1ZSAgPGNvbW1pdC1xdWV1ZUB3ZWJraXQub3JnPgog
CiAgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHIyMTI1MTQuCkluZGV4OiBUb29scy9X
ZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9X
ZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmNwcAkocmV2aXNpb24gMjEyNTI0KQorKysg
VG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTIyMjksNiArMjIyOSwyMSBAQCBib29sIFRlc3RDb250cm9sbGVyOjppc1N0YXRpc3RpY3NI
YXNIYWRVCiAgICAgcmV0dXJuIFdLUmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFnZXJJc0hhc0hh
ZFVzZXJJbnRlcmFjdGlvbihob3N0TmFtZSk7CiB9CiAKK3ZvaWQgVGVzdENvbnRyb2xsZXI6OnNl
dFN0YXRpc3RpY3NTdWJmcmFtZVVuZGVyVG9wRnJhbWVPcmlnaW4oV0tTdHJpbmdSZWYgaG9zdE5h
bWUsIFdLU3RyaW5nUmVmIHRvcEZyYW1lSG9zdE5hbWUpCit7CisgICAgV0tSZXNvdXJjZUxvYWRT
dGF0aXN0aWNzTWFuYWdlclNldFN1YmZyYW1lVW5kZXJUb3BGcmFtZU9yaWdpbihob3N0TmFtZSwg
dG9wRnJhbWVIb3N0TmFtZSk7Cit9CisKK3ZvaWQgVGVzdENvbnRyb2xsZXI6OnNldFN0YXRpc3Rp
Y3NTdWJyZXNvdXJjZVVuZGVyVG9wRnJhbWVPcmlnaW4oV0tTdHJpbmdSZWYgaG9zdE5hbWUsIFdL
U3RyaW5nUmVmIHRvcEZyYW1lSG9zdE5hbWUpCit7CisgICAgV0tSZXNvdXJjZUxvYWRTdGF0aXN0
aWNzTWFuYWdlclNldFN1YnJlc291cmNlVW5kZXJUb3BGcmFtZU9yaWdpbihob3N0TmFtZSwgdG9w
RnJhbWVIb3N0TmFtZSk7Cit9CisgICAgCit2b2lkIFRlc3RDb250cm9sbGVyOjpzZXRTdGF0aXN0
aWNzU3VicmVzb3VyY2VVbmlxdWVSZWRpcmVjdFRvKFdLU3RyaW5nUmVmIGhvc3ROYW1lLCBXS1N0
cmluZ1JlZiBob3N0TmFtZVJlZGlyZWN0ZWRUbykKK3sKKyAgICBXS1Jlc291cmNlTG9hZFN0YXRp
c3RpY3NNYW5hZ2VyU2V0U3VicmVzb3VyY2VVbmlxdWVSZWRpcmVjdFRvKGhvc3ROYW1lLCBob3N0
TmFtZVJlZGlyZWN0ZWRUbyk7Cit9CisKIHZvaWQgVGVzdENvbnRyb2xsZXI6OnNldFN0YXRpc3Rp
Y3NUaW1lVG9MaXZlVXNlckludGVyYWN0aW9uKGRvdWJsZSBzZWNvbmRzKQogewogICAgIFdLUmVz
b3VyY2VMb2FkU3RhdGlzdGljc01hbmFnZXJTZXRUaW1lVG9MaXZlVXNlckludGVyYWN0aW9uKHNl
Y29uZHMpOwpJbmRleDogVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5oCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuaAkocmV2
aXNpb24gMjEyNTI0KQorKysgVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5o
CSh3b3JraW5nIGNvcHkpCkBAIC0xNTIsNiArMTUyLDkgQEAgcHVibGljOgogICAgIGJvb2wgaXNT
dGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2UoV0tTdHJpbmdSZWYgaG9zdE5hbWUpOwogICAgIHZv
aWQgc2V0U3RhdGlzdGljc0hhc0hhZFVzZXJJbnRlcmFjdGlvbihXS1N0cmluZ1JlZiBob3N0TmFt
ZSwgYm9vbCB2YWx1ZSk7CiAgICAgYm9vbCBpc1N0YXRpc3RpY3NIYXNIYWRVc2VySW50ZXJhY3Rp
b24oV0tTdHJpbmdSZWYgaG9zdE5hbWUpOworICAgIHZvaWQgc2V0U3RhdGlzdGljc1N1YmZyYW1l
VW5kZXJUb3BGcmFtZU9yaWdpbihXS1N0cmluZ1JlZiBob3N0TmFtZSwgV0tTdHJpbmdSZWYgdG9w
RnJhbWVIb3N0TmFtZSk7CisgICAgdm9pZCBzZXRTdGF0aXN0aWNzU3VicmVzb3VyY2VVbmRlclRv
cEZyYW1lT3JpZ2luKFdLU3RyaW5nUmVmIGhvc3ROYW1lLCBXS1N0cmluZ1JlZiB0b3BGcmFtZUhv
c3ROYW1lKTsKKyAgICB2b2lkIHNldFN0YXRpc3RpY3NTdWJyZXNvdXJjZVVuaXF1ZVJlZGlyZWN0
VG8oV0tTdHJpbmdSZWYgaG9zdE5hbWUsIFdLU3RyaW5nUmVmIGhvc3ROYW1lUmVkaXJlY3RlZFRv
KTsKICAgICB2b2lkIHNldFN0YXRpc3RpY3NUaW1lVG9MaXZlVXNlckludGVyYWN0aW9uKGRvdWJs
ZSBzZWNvbmRzKTsKICAgICB2b2lkIHN0YXRpc3RpY3NGaXJlRGF0YU1vZGlmaWNhdGlvbkhhbmRs
ZXIoKTsKICAgICB2b2lkIHNldFN0YXRpc3RpY3NOb3RpZnlQYWdlc1doZW5EYXRhUmVjb3Jkc1dl
cmVTY2FubmVkKGJvb2wpOwpJbmRleDogVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0SW52b2Nh
dGlvbi5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0SW52b2Nh
dGlvbi5jcHAJKHJldmlzaW9uIDIxMjUyNCkKKysrIFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVz
dEludm9jYXRpb24uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC05MzIsNiArOTMyLDQ4IEBAIFdLUmV0
YWluUHRyPFdLVHlwZVJlZj4gVGVzdEludm9jYXRpb246OmQKICAgICAgICAgcmV0dXJuIHJlc3Vs
dDsKICAgICB9CiAgICAgCisgICAgaWYgKFdLU3RyaW5nSXNFcXVhbFRvVVRGOENTdHJpbmcobWVz
c2FnZU5hbWUsICJTZXRTdGF0aXN0aWNzU3ViZnJhbWVVbmRlclRvcEZyYW1lT3JpZ2luIikpIHsK
KyAgICAgICAgQVNTRVJUKFdLR2V0VHlwZUlEKG1lc3NhZ2VCb2R5KSA9PSBXS0RpY3Rpb25hcnlH
ZXRUeXBlSUQoKSk7CisgICAgICAgIAorICAgICAgICBXS0RpY3Rpb25hcnlSZWYgbWVzc2FnZUJv
ZHlEaWN0aW9uYXJ5ID0gc3RhdGljX2Nhc3Q8V0tEaWN0aW9uYXJ5UmVmPihtZXNzYWdlQm9keSk7
CisgICAgICAgIFdLUmV0YWluUHRyPFdLU3RyaW5nUmVmPiBob3N0TmFtZUtleShBZG9wdFdLLCBX
S1N0cmluZ0NyZWF0ZVdpdGhVVEY4Q1N0cmluZygiSG9zdE5hbWUiKSk7CisgICAgICAgIFdLUmV0
YWluUHRyPFdLU3RyaW5nUmVmPiB0b3BGcmFtZUhvc3ROYW1lS2V5KEFkb3B0V0ssIFdLU3RyaW5n
Q3JlYXRlV2l0aFVURjhDU3RyaW5nKCJUb3BGcmFtZUhvc3ROYW1lIikpOworICAgICAgICAKKyAg
ICAgICAgV0tTdHJpbmdSZWYgaG9zdE5hbWUgPSBzdGF0aWNfY2FzdDxXS1N0cmluZ1JlZj4oV0tE
aWN0aW9uYXJ5R2V0SXRlbUZvcktleShtZXNzYWdlQm9keURpY3Rpb25hcnksIGhvc3ROYW1lS2V5
LmdldCgpKSk7CisgICAgICAgIFdLU3RyaW5nUmVmIHRvcEZyYW1lSG9zdE5hbWUgPSBzdGF0aWNf
Y2FzdDxXS1N0cmluZ1JlZj4oV0tEaWN0aW9uYXJ5R2V0SXRlbUZvcktleShtZXNzYWdlQm9keURp
Y3Rpb25hcnksIHRvcEZyYW1lSG9zdE5hbWVLZXkuZ2V0KCkpKTsKKworICAgICAgICBUZXN0Q29u
dHJvbGxlcjo6c2luZ2xldG9uKCkuc2V0U3RhdGlzdGljc1N1YmZyYW1lVW5kZXJUb3BGcmFtZU9y
aWdpbihob3N0TmFtZSwgdG9wRnJhbWVIb3N0TmFtZSk7CisgICAgICAgIHJldHVybiBudWxscHRy
OworICAgIH0KKyAgICAKKyAgICBpZiAoV0tTdHJpbmdJc0VxdWFsVG9VVEY4Q1N0cmluZyhtZXNz
YWdlTmFtZSwgIlNldFN0YXRpc3RpY3NTdWJyZXNvdXJjZVVuZGVyVG9wRnJhbWVPcmlnaW4iKSkg
eworICAgICAgICBBU1NFUlQoV0tHZXRUeXBlSUQobWVzc2FnZUJvZHkpID09IFdLRGljdGlvbmFy
eUdldFR5cGVJRCgpKTsKKyAgICAgICAgCisgICAgICAgIFdLRGljdGlvbmFyeVJlZiBtZXNzYWdl
Qm9keURpY3Rpb25hcnkgPSBzdGF0aWNfY2FzdDxXS0RpY3Rpb25hcnlSZWY+KG1lc3NhZ2VCb2R5
KTsKKyAgICAgICAgV0tSZXRhaW5QdHI8V0tTdHJpbmdSZWY+IGhvc3ROYW1lS2V5KEFkb3B0V0ss
IFdLU3RyaW5nQ3JlYXRlV2l0aFVURjhDU3RyaW5nKCJIb3N0TmFtZSIpKTsKKyAgICAgICAgV0tS
ZXRhaW5QdHI8V0tTdHJpbmdSZWY+IHRvcEZyYW1lSG9zdE5hbWVLZXkoQWRvcHRXSywgV0tTdHJp
bmdDcmVhdGVXaXRoVVRGOENTdHJpbmcoIlRvcEZyYW1lSG9zdE5hbWUiKSk7CisgICAgICAgIAor
ICAgICAgICBXS1N0cmluZ1JlZiBob3N0TmFtZSA9IHN0YXRpY19jYXN0PFdLU3RyaW5nUmVmPihX
S0RpY3Rpb25hcnlHZXRJdGVtRm9yS2V5KG1lc3NhZ2VCb2R5RGljdGlvbmFyeSwgaG9zdE5hbWVL
ZXkuZ2V0KCkpKTsKKyAgICAgICAgV0tTdHJpbmdSZWYgdG9wRnJhbWVIb3N0TmFtZSA9IHN0YXRp
Y19jYXN0PFdLU3RyaW5nUmVmPihXS0RpY3Rpb25hcnlHZXRJdGVtRm9yS2V5KG1lc3NhZ2VCb2R5
RGljdGlvbmFyeSwgdG9wRnJhbWVIb3N0TmFtZUtleS5nZXQoKSkpOworICAgICAgICAKKyAgICAg
ICAgVGVzdENvbnRyb2xsZXI6OnNpbmdsZXRvbigpLnNldFN0YXRpc3RpY3NTdWJyZXNvdXJjZVVu
ZGVyVG9wRnJhbWVPcmlnaW4oaG9zdE5hbWUsIHRvcEZyYW1lSG9zdE5hbWUpOworICAgICAgICBy
ZXR1cm4gbnVsbHB0cjsKKyAgICB9CisgICAgCisgICAgaWYgKFdLU3RyaW5nSXNFcXVhbFRvVVRG
OENTdHJpbmcobWVzc2FnZU5hbWUsICJTZXRTdGF0aXN0aWNzU3VicmVzb3VyY2VVbmlxdWVSZWRp
cmVjdFRvIikpIHsKKyAgICAgICAgQVNTRVJUKFdLR2V0VHlwZUlEKG1lc3NhZ2VCb2R5KSA9PSBX
S0RpY3Rpb25hcnlHZXRUeXBlSUQoKSk7CisgICAgICAgIAorICAgICAgICBXS0RpY3Rpb25hcnlS
ZWYgbWVzc2FnZUJvZHlEaWN0aW9uYXJ5ID0gc3RhdGljX2Nhc3Q8V0tEaWN0aW9uYXJ5UmVmPiht
ZXNzYWdlQm9keSk7CisgICAgICAgIFdLUmV0YWluUHRyPFdLU3RyaW5nUmVmPiBob3N0TmFtZUtl
eShBZG9wdFdLLCBXS1N0cmluZ0NyZWF0ZVdpdGhVVEY4Q1N0cmluZygiSG9zdE5hbWUiKSk7Cisg
ICAgICAgIFdLUmV0YWluUHRyPFdLU3RyaW5nUmVmPiBob3N0TmFtZVJlZGlyZWN0ZWRUb0tleShB
ZG9wdFdLLCBXS1N0cmluZ0NyZWF0ZVdpdGhVVEY4Q1N0cmluZygiSG9zdE5hbWVSZWRpcmVjdGVk
VG8iKSk7CisgICAgICAgIAorICAgICAgICBXS1N0cmluZ1JlZiBob3N0TmFtZSA9IHN0YXRpY19j
YXN0PFdLU3RyaW5nUmVmPihXS0RpY3Rpb25hcnlHZXRJdGVtRm9yS2V5KG1lc3NhZ2VCb2R5RGlj
dGlvbmFyeSwgaG9zdE5hbWVLZXkuZ2V0KCkpKTsKKyAgICAgICAgV0tTdHJpbmdSZWYgaG9zdE5h
bWVSZWRpcmVjdGVkVG8gPSBzdGF0aWNfY2FzdDxXS1N0cmluZ1JlZj4oV0tEaWN0aW9uYXJ5R2V0
SXRlbUZvcktleShtZXNzYWdlQm9keURpY3Rpb25hcnksIGhvc3ROYW1lUmVkaXJlY3RlZFRvS2V5
LmdldCgpKSk7CisgICAgICAgIAorICAgICAgICBUZXN0Q29udHJvbGxlcjo6c2luZ2xldG9uKCku
c2V0U3RhdGlzdGljc1N1YnJlc291cmNlVW5pcXVlUmVkaXJlY3RUbyhob3N0TmFtZSwgaG9zdE5h
bWVSZWRpcmVjdGVkVG8pOworICAgICAgICByZXR1cm4gbnVsbHB0cjsKKyAgICB9CisKICAgICBp
ZiAoV0tTdHJpbmdJc0VxdWFsVG9VVEY4Q1N0cmluZyhtZXNzYWdlTmFtZSwgIlNldFN0YXRpc3Rp
Y3NUaW1lVG9MaXZlVXNlckludGVyYWN0aW9uIikpIHsKICAgICAgICAgQVNTRVJUKFdLR2V0VHlw
ZUlEKG1lc3NhZ2VCb2R5KSA9PSBXS0RvdWJsZUdldFR5cGVJRCgpKTsKICAgICAgICAgV0tEb3Vi
bGVSZWYgc2Vjb25kcyA9IHN0YXRpY19jYXN0PFdLRG91YmxlUmVmPihtZXNzYWdlQm9keSk7Cklu
ZGV4OiBUb29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL1Rlc3RSdW5uZXIuY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvVGVz
dFJ1bm5lci5jcHAJKHJldmlzaW9uIDIxMjUyNCkKKysrIFRvb2xzL1dlYktpdFRlc3RSdW5uZXIv
SW5qZWN0ZWRCdW5kbGUvVGVzdFJ1bm5lci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEyMjYsNiAr
MTIyNiw4NCBAQCBib29sIFRlc3RSdW5uZXI6OmlzU3RhdGlzdGljc0hhc0hhZFVzZXJJCiAgICAg
cmV0dXJuIFdLQm9vbGVhbkdldFZhbHVlKHN0YXRpY19jYXN0PFdLQm9vbGVhblJlZj4ocmV0dXJu
RGF0YSkpOwogfQogCit2b2lkIFRlc3RSdW5uZXI6OnNldFN0YXRpc3RpY3NTdWJmcmFtZVVuZGVy
VG9wRnJhbWVPcmlnaW4oSlNTdHJpbmdSZWYgaG9zdE5hbWUsIEpTU3RyaW5nUmVmIHRvcEZyYW1l
SG9zdE5hbWUpCit7CisgICAgVmVjdG9yPFdLUmV0YWluUHRyPFdLU3RyaW5nUmVmPj4ga2V5czsK
KyAgICBWZWN0b3I8V0tSZXRhaW5QdHI8V0tUeXBlUmVmPj4gdmFsdWVzOworICAgIAorICAgIGtl
eXMuYXBwZW5kKHsgQWRvcHRXSywgV0tTdHJpbmdDcmVhdGVXaXRoVVRGOENTdHJpbmcoIkhvc3RO
YW1lIikgfSk7CisgICAgdmFsdWVzLmFwcGVuZCh7IEFkb3B0V0ssIFdLU3RyaW5nQ3JlYXRlV2l0
aEpTU3RyaW5nKGhvc3ROYW1lKSB9KTsKKyAgICAKKyAgICBrZXlzLmFwcGVuZCh7IEFkb3B0V0ss
IFdLU3RyaW5nQ3JlYXRlV2l0aFVURjhDU3RyaW5nKCJUb3BGcmFtZUhvc3ROYW1lIikgfSk7Cisg
ICAgdmFsdWVzLmFwcGVuZCh7IEFkb3B0V0ssIFdLU3RyaW5nQ3JlYXRlV2l0aEpTU3RyaW5nKHRv
cEZyYW1lSG9zdE5hbWUpIH0pOworICAgIAorICAgIFZlY3RvcjxXS1N0cmluZ1JlZj4gcmF3S2V5
czsKKyAgICBWZWN0b3I8V0tUeXBlUmVmPiByYXdWYWx1ZXM7CisgICAgcmF3S2V5cy5yZXNpemUo
a2V5cy5zaXplKCkpOworICAgIHJhd1ZhbHVlcy5yZXNpemUodmFsdWVzLnNpemUoKSk7CisgICAg
CisgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBrZXlzLnNpemUoKTsgKytpKSB7CisgICAgICAg
IHJhd0tleXNbaV0gPSBrZXlzW2ldLmdldCgpOworICAgICAgICByYXdWYWx1ZXNbaV0gPSB2YWx1
ZXNbaV0uZ2V0KCk7CisgICAgfQorICAgIAorICAgIFdLUmV0YWluUHRyPFdLU3RyaW5nUmVmPiBt
ZXNzYWdlTmFtZShBZG9wdFdLLCBXS1N0cmluZ0NyZWF0ZVdpdGhVVEY4Q1N0cmluZygiU2V0U3Rh
dGlzdGljc1N1YmZyYW1lVW5kZXJUb3BGcmFtZU9yaWdpbiIpKTsKKyAgICBXS1JldGFpblB0cjxX
S0RpY3Rpb25hcnlSZWY+IG1lc3NhZ2VCb2R5KEFkb3B0V0ssIFdLRGljdGlvbmFyeUNyZWF0ZShy
YXdLZXlzLmRhdGEoKSwgcmF3VmFsdWVzLmRhdGEoKSwgcmF3S2V5cy5zaXplKCkpKTsKKyAgICBX
S0J1bmRsZVBvc3RTeW5jaHJvbm91c01lc3NhZ2UoSW5qZWN0ZWRCdW5kbGU6OnNpbmdsZXRvbigp
LmJ1bmRsZSgpLCBtZXNzYWdlTmFtZS5nZXQoKSwgbWVzc2FnZUJvZHkuZ2V0KCksIG51bGxwdHIp
OworfQorCit2b2lkIFRlc3RSdW5uZXI6OnNldFN0YXRpc3RpY3NTdWJyZXNvdXJjZVVuZGVyVG9w
RnJhbWVPcmlnaW4oSlNTdHJpbmdSZWYgaG9zdE5hbWUsIEpTU3RyaW5nUmVmIHRvcEZyYW1lSG9z
dE5hbWUpCit7CisgICAgVmVjdG9yPFdLUmV0YWluUHRyPFdLU3RyaW5nUmVmPj4ga2V5czsKKyAg
ICBWZWN0b3I8V0tSZXRhaW5QdHI8V0tUeXBlUmVmPj4gdmFsdWVzOworICAgIAorICAgIGtleXMu
YXBwZW5kKHsgQWRvcHRXSywgV0tTdHJpbmdDcmVhdGVXaXRoVVRGOENTdHJpbmcoIkhvc3ROYW1l
IikgfSk7CisgICAgdmFsdWVzLmFwcGVuZCh7IEFkb3B0V0ssIFdLU3RyaW5nQ3JlYXRlV2l0aEpT
U3RyaW5nKGhvc3ROYW1lKSB9KTsKKyAgICAKKyAgICBrZXlzLmFwcGVuZCh7IEFkb3B0V0ssIFdL
U3RyaW5nQ3JlYXRlV2l0aFVURjhDU3RyaW5nKCJUb3BGcmFtZUhvc3ROYW1lIikgfSk7CisgICAg
dmFsdWVzLmFwcGVuZCh7IEFkb3B0V0ssIFdLU3RyaW5nQ3JlYXRlV2l0aEpTU3RyaW5nKHRvcEZy
YW1lSG9zdE5hbWUpIH0pOworICAgIAorICAgIFZlY3RvcjxXS1N0cmluZ1JlZj4gcmF3S2V5czsK
KyAgICBWZWN0b3I8V0tUeXBlUmVmPiByYXdWYWx1ZXM7CisgICAgcmF3S2V5cy5yZXNpemUoa2V5
cy5zaXplKCkpOworICAgIHJhd1ZhbHVlcy5yZXNpemUodmFsdWVzLnNpemUoKSk7CisgICAgCisg
ICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBrZXlzLnNpemUoKTsgKytpKSB7CisgICAgICAgIHJh
d0tleXNbaV0gPSBrZXlzW2ldLmdldCgpOworICAgICAgICByYXdWYWx1ZXNbaV0gPSB2YWx1ZXNb
aV0uZ2V0KCk7CisgICAgfQorICAgIAorICAgIFdLUmV0YWluUHRyPFdLU3RyaW5nUmVmPiBtZXNz
YWdlTmFtZShBZG9wdFdLLCBXS1N0cmluZ0NyZWF0ZVdpdGhVVEY4Q1N0cmluZygiU2V0U3RhdGlz
dGljc1N1YnJlc291cmNlVW5kZXJUb3BGcmFtZU9yaWdpbiIpKTsKKyAgICBXS1JldGFpblB0cjxX
S0RpY3Rpb25hcnlSZWY+IG1lc3NhZ2VCb2R5KEFkb3B0V0ssIFdLRGljdGlvbmFyeUNyZWF0ZShy
YXdLZXlzLmRhdGEoKSwgcmF3VmFsdWVzLmRhdGEoKSwgcmF3S2V5cy5zaXplKCkpKTsKKyAgICBX
S0J1bmRsZVBvc3RTeW5jaHJvbm91c01lc3NhZ2UoSW5qZWN0ZWRCdW5kbGU6OnNpbmdsZXRvbigp
LmJ1bmRsZSgpLCBtZXNzYWdlTmFtZS5nZXQoKSwgbWVzc2FnZUJvZHkuZ2V0KCksIG51bGxwdHIp
OworfQorCit2b2lkIFRlc3RSdW5uZXI6OnNldFN0YXRpc3RpY3NTdWJyZXNvdXJjZVVuaXF1ZVJl
ZGlyZWN0VG8oSlNTdHJpbmdSZWYgaG9zdE5hbWUsIEpTU3RyaW5nUmVmIGhvc3ROYW1lUmVkaXJl
Y3RlZFRvKQoreworICAgIFZlY3RvcjxXS1JldGFpblB0cjxXS1N0cmluZ1JlZj4+IGtleXM7Cisg
ICAgVmVjdG9yPFdLUmV0YWluUHRyPFdLVHlwZVJlZj4+IHZhbHVlczsKKyAgICAKKyAgICBrZXlz
LmFwcGVuZCh7IEFkb3B0V0ssIFdLU3RyaW5nQ3JlYXRlV2l0aFVURjhDU3RyaW5nKCJIb3N0TmFt
ZSIpIH0pOworICAgIHZhbHVlcy5hcHBlbmQoeyBBZG9wdFdLLCBXS1N0cmluZ0NyZWF0ZVdpdGhK
U1N0cmluZyhob3N0TmFtZSkgfSk7CisgICAgCisgICAga2V5cy5hcHBlbmQoeyBBZG9wdFdLLCBX
S1N0cmluZ0NyZWF0ZVdpdGhVVEY4Q1N0cmluZygiSG9zdE5hbWVSZWRpcmVjdGVkVG8iKSB9KTsK
KyAgICB2YWx1ZXMuYXBwZW5kKHsgQWRvcHRXSywgV0tTdHJpbmdDcmVhdGVXaXRoSlNTdHJpbmco
aG9zdE5hbWVSZWRpcmVjdGVkVG8pIH0pOworICAgIAorICAgIFZlY3RvcjxXS1N0cmluZ1JlZj4g
cmF3S2V5czsKKyAgICBWZWN0b3I8V0tUeXBlUmVmPiByYXdWYWx1ZXM7CisgICAgcmF3S2V5cy5y
ZXNpemUoa2V5cy5zaXplKCkpOworICAgIHJhd1ZhbHVlcy5yZXNpemUodmFsdWVzLnNpemUoKSk7
CisgICAgCisgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBrZXlzLnNpemUoKTsgKytpKSB7Cisg
ICAgICAgIHJhd0tleXNbaV0gPSBrZXlzW2ldLmdldCgpOworICAgICAgICByYXdWYWx1ZXNbaV0g
PSB2YWx1ZXNbaV0uZ2V0KCk7CisgICAgfQorICAgIAorICAgIFdLUmV0YWluUHRyPFdLU3RyaW5n
UmVmPiBtZXNzYWdlTmFtZShBZG9wdFdLLCBXS1N0cmluZ0NyZWF0ZVdpdGhVVEY4Q1N0cmluZygi
U2V0U3RhdGlzdGljc1N1YnJlc291cmNlVW5pcXVlUmVkaXJlY3RUbyIpKTsKKyAgICBXS1JldGFp
blB0cjxXS0RpY3Rpb25hcnlSZWY+IG1lc3NhZ2VCb2R5KEFkb3B0V0ssIFdLRGljdGlvbmFyeUNy
ZWF0ZShyYXdLZXlzLmRhdGEoKSwgcmF3VmFsdWVzLmRhdGEoKSwgcmF3S2V5cy5zaXplKCkpKTsK
KyAgICBXS0J1bmRsZVBvc3RTeW5jaHJvbm91c01lc3NhZ2UoSW5qZWN0ZWRCdW5kbGU6OnNpbmds
ZXRvbigpLmJ1bmRsZSgpLCBtZXNzYWdlTmFtZS5nZXQoKSwgbWVzc2FnZUJvZHkuZ2V0KCksIG51
bGxwdHIpOworfQorCiB2b2lkIFRlc3RSdW5uZXI6OnNldFN0YXRpc3RpY3NUaW1lVG9MaXZlVXNl
ckludGVyYWN0aW9uKGRvdWJsZSBzZWNvbmRzKQogewogICAgIFdLUmV0YWluUHRyPFdLU3RyaW5n
UmVmPiBtZXNzYWdlTmFtZShBZG9wdFdLLCBXS1N0cmluZ0NyZWF0ZVdpdGhVVEY4Q1N0cmluZygi
U2V0U3RhdGlzdGljc1RpbWVUb0xpdmVVc2VySW50ZXJhY3Rpb24iKSk7CkluZGV4OiBUb29scy9X
ZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL1Rlc3RSdW5uZXIuaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBUb29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL1Rlc3RSdW5uZXIuaAkocmV2
aXNpb24gMjEyNTI0KQorKysgVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9U
ZXN0UnVubmVyLmgJKHdvcmtpbmcgY29weSkKQEAgLTM1NCw2ICszNTQsOSBAQCBwdWJsaWM6CiAg
ICAgYm9vbCBpc1N0YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJjZShKU1N0cmluZ1JlZiBob3N0TmFt
ZSk7CiAgICAgdm9pZCBzZXRTdGF0aXN0aWNzSGFzSGFkVXNlckludGVyYWN0aW9uKEpTU3RyaW5n
UmVmIGhvc3ROYW1lLCBib29sIHZhbHVlKTsKICAgICBib29sIGlzU3RhdGlzdGljc0hhc0hhZFVz
ZXJJbnRlcmFjdGlvbihKU1N0cmluZ1JlZiBob3N0TmFtZSk7CisgICAgdm9pZCBzZXRTdGF0aXN0
aWNzU3ViZnJhbWVVbmRlclRvcEZyYW1lT3JpZ2luKEpTU3RyaW5nUmVmIGhvc3ROYW1lLCBKU1N0
cmluZ1JlZiB0b3BGcmFtZUhvc3ROYW1lKTsKKyAgICB2b2lkIHNldFN0YXRpc3RpY3NTdWJyZXNv
dXJjZVVuZGVyVG9wRnJhbWVPcmlnaW4oSlNTdHJpbmdSZWYgaG9zdE5hbWUsIEpTU3RyaW5nUmVm
IHRvcEZyYW1lSG9zdE5hbWUpOworICAgIHZvaWQgc2V0U3RhdGlzdGljc1N1YnJlc291cmNlVW5p
cXVlUmVkaXJlY3RUbyhKU1N0cmluZ1JlZiBob3N0TmFtZSwgSlNTdHJpbmdSZWYgaG9zdE5hbWVS
ZWRpcmVjdGVkVG8pOwogICAgIHZvaWQgc2V0U3RhdGlzdGljc1RpbWVUb0xpdmVVc2VySW50ZXJh
Y3Rpb24oZG91YmxlIHNlY29uZHMpOwogICAgIHZvaWQgc2V0U3RhdGlzdGljc05vdGlmeVBhZ2Vz
V2hlbkRhdGFSZWNvcmRzV2VyZVNjYW5uZWQoYm9vbCk7CiAgICAgdm9pZCBzZXRTdGF0aXN0aWNz
U2hvdWxkQ2xhc3NpZnlSZXNvdXJjZXNCZWZvcmVEYXRhUmVjb3Jkc1JlbW92YWwoYm9vbCk7Cklu
ZGV4OiBUb29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0JpbmRpbmdzL1Rlc3RS
dW5uZXIuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRC
dW5kbGUvQmluZGluZ3MvVGVzdFJ1bm5lci5pZGwJKHJldmlzaW9uIDIxMjUyNCkKKysrIFRvb2xz
L1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvQmluZGluZ3MvVGVzdFJ1bm5lci5pZGwJ
KHdvcmtpbmcgY29weSkKQEAgLTI1Myw2ICsyNTMsOSBAQCBpbnRlcmZhY2UgVGVzdFJ1bm5lciB7
CiAgICAgYm9vbGVhbiBpc1N0YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJjZShET01TdHJpbmcgaG9z
dE5hbWUpOwogICAgIHZvaWQgc2V0U3RhdGlzdGljc0hhc0hhZFVzZXJJbnRlcmFjdGlvbihET01T
dHJpbmcgaG9zdE5hbWUsIGJvb2xlYW4gdmFsdWUpOwogICAgIGJvb2xlYW4gaXNTdGF0aXN0aWNz
SGFzSGFkVXNlckludGVyYWN0aW9uKERPTVN0cmluZyBob3N0TmFtZSk7CisgICAgdm9pZCBzZXRT
dGF0aXN0aWNzU3ViZnJhbWVVbmRlclRvcEZyYW1lT3JpZ2luKERPTVN0cmluZyBob3N0TmFtZSwg
RE9NU3RyaW5nIHRvcEZyYW1lSG9zdE5hbWUpOworICAgIHZvaWQgc2V0U3RhdGlzdGljc1N1YnJl
c291cmNlVW5kZXJUb3BGcmFtZU9yaWdpbihET01TdHJpbmcgaG9zdE5hbWUsIERPTVN0cmluZyB0
b3BGcmFtZUhvc3ROYW1lKTsKKyAgICB2b2lkIHNldFN0YXRpc3RpY3NTdWJyZXNvdXJjZVVuaXF1
ZVJlZGlyZWN0VG8oRE9NU3RyaW5nIGhvc3ROYW1lLCBET01TdHJpbmcgaG9zdE5hbWVSZWRpcmVj
dGVkVG8pOwogICAgIHZvaWQgc2V0U3RhdGlzdGljc1RpbWVUb0xpdmVVc2VySW50ZXJhY3Rpb24o
ZG91YmxlIHNlY29uZHMpOwogICAgIHZvaWQgc3RhdGlzdGljc0ZpcmVEYXRhTW9kaWZpY2F0aW9u
SGFuZGxlcigpOwogICAgIHZvaWQgc2V0U3RhdGlzdGljc05vdGlmeVBhZ2VzV2hlbkRhdGFSZWNv
cmRzV2VyZVNjYW5uZWQoYm9vbGVhbiB2YWx1ZSk7CkluZGV4OiBMYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCShyZXZpc2lvbiAyMTI1MjQp
CisrKyBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwzMCBA
QAorMjAxNy0wMi0xNiAgSm9obiBXaWxhbmRlciAgPHdpbGFuZGVyQGFwcGxlLmNvbT4KKworICAg
ICAgICBSZXNvdXJjZSBMb2FkIFN0YXRpc3RpY3M6IEFkZCBhbHRlcm5hdGUgY2xhc3NpZmljYXRp
b24gbWV0aG9kCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xNjgzNDcKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzMwMzUyNzkzPgorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogaHR0cC90ZXN0cy9sb2FkaW5n
L3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtbm9uLXByZXZhbGVudC1iYXNlZC1v
bi1taXhlZC1zdGF0aXN0aWNzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaHR0cC90
ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtbm9uLXByZXZh
bGVudC1iYXNlZC1vbi1taXhlZC1zdGF0aXN0aWNzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGh0
dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLW5vbi1w
cmV2YWxlbnQtYmFzZWQtb24tc3ViLWZyYW1lLXVuZGVyLXRvcC1mcmFtZS1vcmlnaW5zLWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9h
ZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtbm9uLXByZXZhbGVudC1iYXNlZC1vbi1zdWItZnJhbWUt
dW5kZXItdG9wLWZyYW1lLW9yaWdpbnMuaHRtbDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0
cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtbm9uLXByZXZhbGVu
dC1iYXNlZC1vbi1zdWJyZXNvdXJjZS11bmRlci10b3AtZnJhbWUtb3JpZ2lucy1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0
aXN0aWNzL2NsYXNzaWZ5LWFzLW5vbi1wcmV2YWxlbnQtYmFzZWQtb24tc3VicmVzb3VyY2UtdW5k
ZXItdG9wLWZyYW1lLW9yaWdpbnMuaHRtbDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9s
b2FkaW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtbm9uLXByZXZhbGVudC1i
YXNlZC1vbi1zdWJyZXNvdXJjZS11bmlxdWUtcmVkaXJlY3RzLXRvLWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mv
Y2xhc3NpZnktYXMtbm9uLXByZXZhbGVudC1iYXNlZC1vbi1zdWJyZXNvdXJjZS11bmlxdWUtcmVk
aXJlY3RzLXRvLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvbG9hZGluZy9yZXNv
dXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLXByZXZhbGVudC1iYXNlZC1vbi1taXhlZC1z
dGF0aXN0aWNzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9sb2Fk
aW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtcHJldmFsZW50LWJhc2VkLW9u
LW1peGVkLXN0YXRpc3RpY3MuaHRtbDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9sb2Fk
aW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtcHJldmFsZW50LWJhc2VkLW9u
LXN1Yi1mcmFtZS11bmRlci10b3AtZnJhbWUtb3JpZ2lucy1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGh0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNz
aWZ5LWFzLXByZXZhbGVudC1iYXNlZC1vbi1zdWItZnJhbWUtdW5kZXItdG9wLWZyYW1lLW9yaWdp
bnMuaHRtbDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9h
ZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtcHJldmFsZW50LWJhc2VkLW9uLXN1YnJlc291cmNlLXVu
ZGVyLXRvcC1mcmFtZS1vcmlnaW5zLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaHR0
cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtcHJldmFs
ZW50LWJhc2VkLW9uLXN1YnJlc291cmNlLXVuZGVyLXRvcC1mcmFtZS1vcmlnaW5zLmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNz
L2NsYXNzaWZ5LWFzLXByZXZhbGVudC1iYXNlZC1vbi1zdWJyZXNvdXJjZS11bmlxdWUtcmVkaXJl
Y3RzLXRvLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9sb2FkaW5n
L3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtcHJldmFsZW50LWJhc2VkLW9uLXN1
YnJlc291cmNlLXVuaXF1ZS1yZWRpcmVjdHMtdG8uaHRtbDogQWRkZWQuCisgICAgICAgICogcGxh
dGZvcm0vd2syL1Rlc3RFeHBlY3RhdGlvbnM6CisgICAgICAgICAgICBUaGUgYWJvdmUgdGVzdHMg
YXJlIG9ubHkgdmFsaWQgZm9yIFdlYktpdDIuIE1hcmtlZCBhcyBbIFBhc3MgXS4KKwogMjAxNy0w
Mi0xNiAgUnlhbiBIYWRkYWQgIDxyeWFuaGFkZGFkQGFwcGxlLmNvbT4KIAogICAgICAgICBNYXJr
IHN0b3JhZ2UvaW5kZXhlZGRiL21vZGVybi9pZGJjdXJzb3ItY29udGludWUtcHJpbWFyeS1rZXkt
MS5odG1sIGFzIGZsYWt5LgpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9sb2FkaW5nL3Jl
c291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtbm9uLXByZXZhbGVudC1iYXNlZC1vbi1t
aXhlZC1zdGF0aXN0aWNzLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1ub24t
cHJldmFsZW50LWJhc2VkLW9uLW1peGVkLXN0YXRpc3RpY3MtZXhwZWN0ZWQudHh0CShub25leGlz
dGVudCkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0
aXN0aWNzL2NsYXNzaWZ5LWFzLW5vbi1wcmV2YWxlbnQtYmFzZWQtb24tbWl4ZWQtc3RhdGlzdGlj
cy1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw4IEBACittYWluIGZyYW1l
IC0gZGlkU3RhcnRQcm92aXNpb25hbExvYWRGb3JGcmFtZQorbWFpbiBmcmFtZSAtIGRpZENvbW1p
dExvYWRGb3JGcmFtZQorbWFpbiBmcmFtZSAtIGRpZFJlY2VpdmVUaXRsZTogVGVzdHMgZm9yIENs
YXNzaWZpY2F0aW9uIEJhc2VkIG9uIE1peGVkIFN0YXRpc3RpY3MKK21haW4gZnJhbWUgLSBkaWRG
aW5pc2hEb2N1bWVudExvYWRGb3JGcmFtZQorbWFpbiBmcmFtZSAtIGRpZEhhbmRsZU9ubG9hZEV2
ZW50c0ZvckZyYW1lCittYWluIGZyYW1lIC0gZGlkRmluaXNoTG9hZEZvckZyYW1lCitQQVNTIEhv
c3QgZGlkIG5vdCBnZXQgY2xhc3NpZmllZCBhcyBwcmV2YWxlbnQgcmVzb3VyY2UuCisKSW5kZXg6
IExheW91dFRlc3RzL2h0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2Ns
YXNzaWZ5LWFzLW5vbi1wcmV2YWxlbnQtYmFzZWQtb24tbWl4ZWQtc3RhdGlzdGljcy5odG1sCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRT
dGF0aXN0aWNzL2NsYXNzaWZ5LWFzLW5vbi1wcmV2YWxlbnQtYmFzZWQtb24tbWl4ZWQtc3RhdGlz
dGljcy5odG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvbG9hZGlu
Zy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLW5vbi1wcmV2YWxlbnQtYmFzZWQt
b24tbWl4ZWQtc3RhdGlzdGljcy5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNDIgQEAK
KzwhRE9DVFlQRSBodG1sPgorPGh0bWwgbGFuZz0iZW4iPgorPGhlYWQ+CisgICAgPG1ldGEgY2hh
cnNldD0iVVRGLTgiPgorICAgIDx0aXRsZT5UZXN0cyBmb3IgQ2xhc3NpZmljYXRpb24gQmFzZWQg
b24gTWl4ZWQgU3RhdGlzdGljczwvdGl0bGU+CisgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQ+
CisgICAgY29uc3QgaG9zdFVuZGVyVGVzdCA9ICIxMjcuMC4wLjE6ODAwMCI7CisgICAgY29uc3Qg
c3RhdGlzdGljc1VybCA9ICJodHRwOi8vIiArIGhvc3RVbmRlclRlc3QgKyAiL3RlbXAiOworICAg
IGNvbnN0IHRvcEZyYW1lT3JpZ2luMSA9ICJodHRwOi8vMTI3LjAuMC4yOjgwMDAvdGVtcCI7Cisg
ICAgY29uc3QgdG9wRnJhbWVPcmlnaW4yID0gImh0dHA6Ly8xMjcuMC4wLjM6ODAwMC90ZW1wIjsK
KyAgICBjb25zdCB0b3BGcmFtZU9yaWdpbjMgPSAiaHR0cDovLzEyNy4wLjAuNDo4MDAwL3RlbXAi
OworICAgIGZ1bmN0aW9uIHJ1blRlc3RSdW5uZXJUZXN0KCkgeworICAgICAgICB0ZXN0UnVubmVy
LnNldFN0YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJjZShzdGF0aXN0aWNzVXJsLCBmYWxzZSk7Cisg
ICAgICAgIGlmICh0ZXN0UnVubmVyLmlzU3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNlKHN0YXRp
c3RpY3NVcmwpKQorICAgICAgICAgICAgdGVzdEZhaWxlZCgiSG9zdCBkaWQgbm90IGdldCBzZXQg
YXMgbm9uLXByZXZhbGVudCByZXNvdXJjZS4iKTsKKworICAgICAgICB0ZXN0UnVubmVyLnNldFN0
YXRpc3RpY3NTdWJmcmFtZVVuZGVyVG9wRnJhbWVPcmlnaW4oc3RhdGlzdGljc1VybCwgdG9wRnJh
bWVPcmlnaW4xKTsKKyAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzU3VicmVzb3VyY2VV
bmRlclRvcEZyYW1lT3JpZ2luKHN0YXRpc3RpY3NVcmwsIHRvcEZyYW1lT3JpZ2luMik7CisgICAg
ICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1N1YnJlc291cmNlVW5pcXVlUmVkaXJlY3RUbyhz
dGF0aXN0aWNzVXJsLCB0b3BGcmFtZU9yaWdpbjMpOworCisgICAgICAgIHRlc3RSdW5uZXIuc3Rh
dGlzdGljc0ZpcmVEYXRhTW9kaWZpY2F0aW9uSGFuZGxlcigpOworCisgICAgICAgIGlmICh0ZXN0
UnVubmVyLmlzU3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNlKHN0YXRpc3RpY3NVcmwpKQorICAg
ICAgICAgICAgdGVzdEZhaWxlZCgiSG9zdCBjbGFzc2lmaWVkIGFzIHByZXZhbGVudCByZXNvdXJj
ZS4iKTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgdGVzdFBhc3NlZCgiSG9zdCBkaWQgbm90
IGdldCBjbGFzc2lmaWVkIGFzIHByZXZhbGVudCByZXNvdXJjZS4iKTsKKworICAgICAgICB0ZXN0
UnVubmVyLnN0YXRpc3RpY3NSZXNldFRvQ29uc2lzdGVudFN0YXRlKCk7CisgICAgICAgIHRlc3RS
dW5uZXIubm90aWZ5RG9uZSgpOworICAgIH0KKworICAgIGlmIChkb2N1bWVudC5sb2NhdGlvbi5o
b3N0ID09PSBob3N0VW5kZXJUZXN0ICYmIHdpbmRvdy50ZXN0UnVubmVyICYmIHdpbmRvdy5pbnRl
cm5hbHMpIHsKKyAgICAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7CisgICAgICAgIGlu
dGVybmFscy5zZXRSZXNvdXJjZUxvYWRTdGF0aXN0aWNzRW5hYmxlZCh0cnVlKTsKKyAgICAgICAg
cnVuVGVzdFJ1bm5lclRlc3QoKTsKKyAgICB9Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1ub24tcHJldmFsZW50
LWJhc2VkLW9uLXN1Yi1mcmFtZS11bmRlci10b3AtZnJhbWUtb3JpZ2lucy1leHBlY3RlZC50eHQK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9h
ZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtbm9uLXByZXZhbGVudC1iYXNlZC1vbi1zdWItZnJhbWUt
dW5kZXItdG9wLWZyYW1lLW9yaWdpbnMtZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKKysrIExh
eW91dFRlc3RzL2h0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNz
aWZ5LWFzLW5vbi1wcmV2YWxlbnQtYmFzZWQtb24tc3ViLWZyYW1lLXVuZGVyLXRvcC1mcmFtZS1v
cmlnaW5zLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDggQEAKK21haW4g
ZnJhbWUgLSBkaWRTdGFydFByb3Zpc2lvbmFsTG9hZEZvckZyYW1lCittYWluIGZyYW1lIC0gZGlk
Q29tbWl0TG9hZEZvckZyYW1lCittYWluIGZyYW1lIC0gZGlkUmVjZWl2ZVRpdGxlOiBUZXN0cyBm
b3IgQ2xhc3NpZmljYXRpb24gQmFzZWQgb24gU3ViIEZyYW1lIFVuZGVyIFRvcCBGcmFtZSBPcmln
aW5zCittYWluIGZyYW1lIC0gZGlkRmluaXNoRG9jdW1lbnRMb2FkRm9yRnJhbWUKK21haW4gZnJh
bWUgLSBkaWRIYW5kbGVPbmxvYWRFdmVudHNGb3JGcmFtZQorbWFpbiBmcmFtZSAtIGRpZEZpbmlz
aExvYWRGb3JGcmFtZQorUEFTUyBIb3N0IGRpZCBub3QgZ2V0IGNsYXNzaWZpZWQgYXMgcHJldmFs
ZW50IHJlc291cmNlLgorCkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2xvYWRpbmcvcmVz
b3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1ub24tcHJldmFsZW50LWJhc2VkLW9uLXN1
Yi1mcmFtZS11bmRlci10b3AtZnJhbWUtb3JpZ2lucy5odG1sCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL2h0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5
LWFzLW5vbi1wcmV2YWxlbnQtYmFzZWQtb24tc3ViLWZyYW1lLXVuZGVyLXRvcC1mcmFtZS1vcmln
aW5zLmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9sb2FkaW5n
L3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtbm9uLXByZXZhbGVudC1iYXNlZC1v
bi1zdWItZnJhbWUtdW5kZXItdG9wLWZyYW1lLW9yaWdpbnMuaHRtbAkod29ya2luZyBjb3B5KQpA
QCAtMCwwICsxLDQyIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sIGxhbmc9ImVuIj4KKzxoZWFk
PgorICAgIDxtZXRhIGNoYXJzZXQ9IlVURi04Ij4KKyAgICA8dGl0bGU+VGVzdHMgZm9yIENsYXNz
aWZpY2F0aW9uIEJhc2VkIG9uIFN1YiBGcmFtZSBVbmRlciBUb3AgRnJhbWUgT3JpZ2luczwvdGl0
bGU+CisgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9z
Y3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQ+CisgICAgY29uc3QgaG9zdFVuZGVyVGVz
dCA9ICIxMjcuMC4wLjE6ODAwMCI7CisgICAgY29uc3Qgc3RhdGlzdGljc1VybCA9ICJodHRwOi8v
IiArIGhvc3RVbmRlclRlc3QgKyAiL3RlbXAiOworICAgIGNvbnN0IHRvcEZyYW1lT3JpZ2luMSA9
ICJodHRwOi8vMTI3LjAuMC4yOjgwMDAvdGVtcCI7CisgICAgY29uc3QgdG9wRnJhbWVPcmlnaW4y
ID0gImh0dHA6Ly8xMjcuMC4wLjM6ODAwMC90ZW1wIjsKKyAgICBjb25zdCB0b3BGcmFtZU9yaWdp
bjMgPSAiaHR0cDovLzEyNy4wLjAuNDo4MDAwL3RlbXAiOworICAgIGZ1bmN0aW9uIHJ1blRlc3RS
dW5uZXJUZXN0KCkgeworICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NQcmV2YWxlbnRS
ZXNvdXJjZShzdGF0aXN0aWNzVXJsLCBmYWxzZSk7CisgICAgICAgIGlmICh0ZXN0UnVubmVyLmlz
U3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNlKHN0YXRpc3RpY3NVcmwpKQorICAgICAgICAgICAg
dGVzdEZhaWxlZCgiSG9zdCBkaWQgbm90IGdldCBzZXQgYXMgbm9uLXByZXZhbGVudCByZXNvdXJj
ZS4iKTsKKworICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NTdWJmcmFtZVVuZGVyVG9w
RnJhbWVPcmlnaW4oc3RhdGlzdGljc1VybCwgdG9wRnJhbWVPcmlnaW4xKTsKKyAgICAgICAgdGVz
dFJ1bm5lci5zZXRTdGF0aXN0aWNzU3ViZnJhbWVVbmRlclRvcEZyYW1lT3JpZ2luKHN0YXRpc3Rp
Y3NVcmwsIHRvcEZyYW1lT3JpZ2luMik7CisgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGlj
c1N1YmZyYW1lVW5kZXJUb3BGcmFtZU9yaWdpbihzdGF0aXN0aWNzVXJsLCB0b3BGcmFtZU9yaWdp
bjMpOworCisgICAgICAgIHRlc3RSdW5uZXIuc3RhdGlzdGljc0ZpcmVEYXRhTW9kaWZpY2F0aW9u
SGFuZGxlcigpOworCisgICAgICAgIGlmICh0ZXN0UnVubmVyLmlzU3RhdGlzdGljc1ByZXZhbGVu
dFJlc291cmNlKHN0YXRpc3RpY3NVcmwpKQorICAgICAgICAgICAgdGVzdEZhaWxlZCgiSG9zdCBj
bGFzc2lmaWVkIGFzIHByZXZhbGVudCByZXNvdXJjZS4iKTsKKyAgICAgICAgZWxzZQorICAgICAg
ICAgICAgdGVzdFBhc3NlZCgiSG9zdCBkaWQgbm90IGdldCBjbGFzc2lmaWVkIGFzIHByZXZhbGVu
dCByZXNvdXJjZS4iKTsKKworICAgICAgICB0ZXN0UnVubmVyLnN0YXRpc3RpY3NSZXNldFRvQ29u
c2lzdGVudFN0YXRlKCk7CisgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOworICAgIH0K
KworICAgIGlmIChkb2N1bWVudC5sb2NhdGlvbi5ob3N0ID09PSBob3N0VW5kZXJUZXN0ICYmIHdp
bmRvdy50ZXN0UnVubmVyICYmIHdpbmRvdy5pbnRlcm5hbHMpIHsKKyAgICAgICAgdGVzdFJ1bm5l
ci53YWl0VW50aWxEb25lKCk7CisgICAgICAgIGludGVybmFscy5zZXRSZXNvdXJjZUxvYWRTdGF0
aXN0aWNzRW5hYmxlZCh0cnVlKTsKKyAgICAgICAgcnVuVGVzdFJ1bm5lclRlc3QoKTsKKyAgICB9
Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlz
dGljcy9jbGFzc2lmeS1hcy1ub24tcHJldmFsZW50LWJhc2VkLW9uLXN1YnJlc291cmNlLXVuZGVy
LXRvcC1mcmFtZS1vcmlnaW5zLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1u
b24tcHJldmFsZW50LWJhc2VkLW9uLXN1YnJlc291cmNlLXVuZGVyLXRvcC1mcmFtZS1vcmlnaW5z
LWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2xv
YWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1ub24tcHJldmFsZW50LWJh
c2VkLW9uLXN1YnJlc291cmNlLXVuZGVyLXRvcC1mcmFtZS1vcmlnaW5zLWV4cGVjdGVkLnR4dAko
d29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDggQEAKK21haW4gZnJhbWUgLSBkaWRTdGFydFByb3Zp
c2lvbmFsTG9hZEZvckZyYW1lCittYWluIGZyYW1lIC0gZGlkQ29tbWl0TG9hZEZvckZyYW1lCitt
YWluIGZyYW1lIC0gZGlkUmVjZWl2ZVRpdGxlOiBUZXN0cyBmb3IgQ2xhc3NpZmljYXRpb24gQmFz
ZWQgb24gU3VicmVzb3VyY2UgVW5kZXIgVG9wIEZyYW1lIE9yaWdpbnMKK21haW4gZnJhbWUgLSBk
aWRGaW5pc2hEb2N1bWVudExvYWRGb3JGcmFtZQorbWFpbiBmcmFtZSAtIGRpZEhhbmRsZU9ubG9h
ZEV2ZW50c0ZvckZyYW1lCittYWluIGZyYW1lIC0gZGlkRmluaXNoTG9hZEZvckZyYW1lCitQQVNT
IEhvc3QgZGlkIG5vdCBnZXQgY2xhc3NpZmllZCBhcyBwcmV2YWxlbnQgcmVzb3VyY2UuCisKSW5k
ZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNz
L2NsYXNzaWZ5LWFzLW5vbi1wcmV2YWxlbnQtYmFzZWQtb24tc3VicmVzb3VyY2UtdW5kZXItdG9w
LWZyYW1lLW9yaWdpbnMuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1ub24tcHJldmFsZW50
LWJhc2VkLW9uLXN1YnJlc291cmNlLXVuZGVyLXRvcC1mcmFtZS1vcmlnaW5zLmh0bWwJKG5vbmV4
aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0
YXRpc3RpY3MvY2xhc3NpZnktYXMtbm9uLXByZXZhbGVudC1iYXNlZC1vbi1zdWJyZXNvdXJjZS11
bmRlci10b3AtZnJhbWUtb3JpZ2lucy5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNDAg
QEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWwgbGFuZz0iZW4iPgorPGhlYWQ+CisgICAgPG1ldGEg
Y2hhcnNldD0iVVRGLTgiPgorICAgIDx0aXRsZT5UZXN0cyBmb3IgQ2xhc3NpZmljYXRpb24gQmFz
ZWQgb24gU3VicmVzb3VyY2UgVW5kZXIgVG9wIEZyYW1lIE9yaWdpbnM8L3RpdGxlPgorICAgIDxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9o
ZWFkPgorPGJvZHk+Cis8c2NyaXB0PgorICAgIGNvbnN0IGhvc3RVbmRlclRlc3QgPSAiMTI3LjAu
MC4xOjgwMDAiOworICAgIGNvbnN0IHN0YXRpc3RpY3NVcmwgPSAiaHR0cDovLyIgKyBob3N0VW5k
ZXJUZXN0ICsgIi90ZW1wIjsKKyAgICBjb25zdCB0b3BGcmFtZU9yaWdpbjEgPSAiaHR0cDovLzEy
Ny4wLjAuMjo4MDAwL3RlbXAiOworICAgIGNvbnN0IHRvcEZyYW1lT3JpZ2luMiA9ICJodHRwOi8v
MTI3LjAuMC4zOjgwMDAvdGVtcCI7CisgICAgZnVuY3Rpb24gcnVuVGVzdFJ1bm5lclRlc3QoKSB7
CisgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNlKHN0YXRp
c3RpY3NVcmwsIGZhbHNlKTsKKyAgICAgICAgaWYgKHRlc3RSdW5uZXIuaXNTdGF0aXN0aWNzUHJl
dmFsZW50UmVzb3VyY2Uoc3RhdGlzdGljc1VybCkpCisgICAgICAgICAgICB0ZXN0RmFpbGVkKCJI
b3N0IGRpZCBub3QgZ2V0IHNldCBhcyBub24tcHJldmFsZW50IHJlc291cmNlLiIpOworCisgICAg
ICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1N1YnJlc291cmNlVW5kZXJUb3BGcmFtZU9yaWdp
bihzdGF0aXN0aWNzVXJsLCB0b3BGcmFtZU9yaWdpbjEpOworICAgICAgICB0ZXN0UnVubmVyLnNl
dFN0YXRpc3RpY3NTdWJyZXNvdXJjZVVuZGVyVG9wRnJhbWVPcmlnaW4oc3RhdGlzdGljc1VybCwg
dG9wRnJhbWVPcmlnaW4yKTsKKworICAgICAgICB0ZXN0UnVubmVyLnN0YXRpc3RpY3NGaXJlRGF0
YU1vZGlmaWNhdGlvbkhhbmRsZXIoKTsKKworICAgICAgICBpZiAodGVzdFJ1bm5lci5pc1N0YXRp
c3RpY3NQcmV2YWxlbnRSZXNvdXJjZShzdGF0aXN0aWNzVXJsKSkKKyAgICAgICAgICAgIHRlc3RG
YWlsZWQoIkhvc3QgY2xhc3NpZmllZCBhcyBwcmV2YWxlbnQgcmVzb3VyY2UuIik7CisgICAgICAg
IGVsc2UKKyAgICAgICAgICAgIHRlc3RQYXNzZWQoIkhvc3QgZGlkIG5vdCBnZXQgY2xhc3NpZmll
ZCBhcyBwcmV2YWxlbnQgcmVzb3VyY2UuIik7CisKKyAgICAgICAgdGVzdFJ1bm5lci5zdGF0aXN0
aWNzUmVzZXRUb0NvbnNpc3RlbnRTdGF0ZSgpOworICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURv
bmUoKTsKKyAgICB9CisKKyAgICBpZiAoZG9jdW1lbnQubG9jYXRpb24uaG9zdCA9PT0gaG9zdFVu
ZGVyVGVzdCAmJiB3aW5kb3cudGVzdFJ1bm5lciAmJiB3aW5kb3cuaW50ZXJuYWxzKSB7CisgICAg
ICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOworICAgICAgICBpbnRlcm5hbHMuc2V0UmVz
b3VyY2VMb2FkU3RhdGlzdGljc0VuYWJsZWQodHJ1ZSk7CisgICAgICAgIHJ1blRlc3RSdW5uZXJU
ZXN0KCk7CisgICAgfQorPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291
cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtbm9uLXByZXZhbGVudC1iYXNlZC1vbi1zdWJy
ZXNvdXJjZS11bmlxdWUtcmVkaXJlY3RzLXRvLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFz
c2lmeS1hcy1ub24tcHJldmFsZW50LWJhc2VkLW9uLXN1YnJlc291cmNlLXVuaXF1ZS1yZWRpcmVj
dHMtdG8tZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2h0dHAvdGVz
dHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLW5vbi1wcmV2YWxl
bnQtYmFzZWQtb24tc3VicmVzb3VyY2UtdW5pcXVlLXJlZGlyZWN0cy10by1leHBlY3RlZC50eHQJ
KHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw4IEBACittYWluIGZyYW1lIC0gZGlkU3RhcnRQcm92
aXNpb25hbExvYWRGb3JGcmFtZQorbWFpbiBmcmFtZSAtIGRpZENvbW1pdExvYWRGb3JGcmFtZQor
bWFpbiBmcmFtZSAtIGRpZFJlY2VpdmVUaXRsZTogVGVzdHMgZm9yIENsYXNzaWZpY2F0aW9uIEJh
c2VkIG9uIFN1YnJlc291cmNlIFVuaXF1ZSBSZWRpcmVjdHMgVG8KK21haW4gZnJhbWUgLSBkaWRG
aW5pc2hEb2N1bWVudExvYWRGb3JGcmFtZQorbWFpbiBmcmFtZSAtIGRpZEhhbmRsZU9ubG9hZEV2
ZW50c0ZvckZyYW1lCittYWluIGZyYW1lIC0gZGlkRmluaXNoTG9hZEZvckZyYW1lCitQQVNTIEhv
c3QgZGlkIG5vdCBnZXQgY2xhc3NpZmllZCBhcyBwcmV2YWxlbnQgcmVzb3VyY2UuCisKSW5kZXg6
IExheW91dFRlc3RzL2h0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2Ns
YXNzaWZ5LWFzLW5vbi1wcmV2YWxlbnQtYmFzZWQtb24tc3VicmVzb3VyY2UtdW5pcXVlLXJlZGly
ZWN0cy10by5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvbG9hZGlu
Zy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLW5vbi1wcmV2YWxlbnQtYmFzZWQt
b24tc3VicmVzb3VyY2UtdW5pcXVlLXJlZGlyZWN0cy10by5odG1sCShub25leGlzdGVudCkKKysr
IExheW91dFRlc3RzL2h0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2Ns
YXNzaWZ5LWFzLW5vbi1wcmV2YWxlbnQtYmFzZWQtb24tc3VicmVzb3VyY2UtdW5pcXVlLXJlZGly
ZWN0cy10by5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNDAgQEAKKzwhRE9DVFlQRSBo
dG1sPgorPGh0bWwgbGFuZz0iZW4iPgorPGhlYWQ+CisgICAgPG1ldGEgY2hhcnNldD0iVVRGLTgi
PgorICAgIDx0aXRsZT5UZXN0cyBmb3IgQ2xhc3NpZmljYXRpb24gQmFzZWQgb24gU3VicmVzb3Vy
Y2UgVW5pcXVlIFJlZGlyZWN0cyBUbzwvdGl0bGU+CisgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3Jp
cHQ+CisgICAgY29uc3QgaG9zdFVuZGVyVGVzdCA9ICIxMjcuMC4wLjE6ODAwMCI7CisgICAgY29u
c3Qgc3RhdGlzdGljc1VybCA9ICJodHRwOi8vIiArIGhvc3RVbmRlclRlc3QgKyAiL3RlbXAiOwor
ICAgIGNvbnN0IHRvcEZyYW1lT3JpZ2luMSA9ICJodHRwOi8vMTI3LjAuMC4yOjgwMDAvdGVtcCI7
CisgICAgY29uc3QgdG9wRnJhbWVPcmlnaW4yID0gImh0dHA6Ly8xMjcuMC4wLjM6ODAwMC90ZW1w
IjsKKyAgICBmdW5jdGlvbiBydW5UZXN0UnVubmVyVGVzdCgpIHsKKyAgICAgICAgdGVzdFJ1bm5l
ci5zZXRTdGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2Uoc3RhdGlzdGljc1VybCwgZmFsc2UpOwor
ICAgICAgICBpZiAodGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJjZShzdGF0
aXN0aWNzVXJsKSkKKyAgICAgICAgICAgIHRlc3RGYWlsZWQoIkhvc3QgZGlkIG5vdCBnZXQgc2V0
IGFzIG5vbi1wcmV2YWxlbnQgcmVzb3VyY2UuIik7CisKKyAgICAgICAgdGVzdFJ1bm5lci5zZXRT
dGF0aXN0aWNzU3VicmVzb3VyY2VVbmlxdWVSZWRpcmVjdFRvKHN0YXRpc3RpY3NVcmwsIHRvcEZy
YW1lT3JpZ2luMSk7CisgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1N1YnJlc291cmNl
VW5pcXVlUmVkaXJlY3RUbyhzdGF0aXN0aWNzVXJsLCB0b3BGcmFtZU9yaWdpbjIpOworCisgICAg
ICAgIHRlc3RSdW5uZXIuc3RhdGlzdGljc0ZpcmVEYXRhTW9kaWZpY2F0aW9uSGFuZGxlcigpOwor
CisgICAgICAgIGlmICh0ZXN0UnVubmVyLmlzU3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNlKHN0
YXRpc3RpY3NVcmwpKQorICAgICAgICAgICAgdGVzdEZhaWxlZCgiSG9zdCBjbGFzc2lmaWVkIGFz
IHByZXZhbGVudCByZXNvdXJjZS4iKTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgdGVzdFBh
c3NlZCgiSG9zdCBkaWQgbm90IGdldCBjbGFzc2lmaWVkIGFzIHByZXZhbGVudCByZXNvdXJjZS4i
KTsKKworICAgICAgICB0ZXN0UnVubmVyLnN0YXRpc3RpY3NSZXNldFRvQ29uc2lzdGVudFN0YXRl
KCk7CisgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOworICAgIH0KKworICAgIGlmIChk
b2N1bWVudC5sb2NhdGlvbi5ob3N0ID09PSBob3N0VW5kZXJUZXN0ICYmIHdpbmRvdy50ZXN0UnVu
bmVyICYmIHdpbmRvdy5pbnRlcm5hbHMpIHsKKyAgICAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxE
b25lKCk7CisgICAgICAgIGludGVybmFscy5zZXRSZXNvdXJjZUxvYWRTdGF0aXN0aWNzRW5hYmxl
ZCh0cnVlKTsKKyAgICAgICAgcnVuVGVzdFJ1bm5lclRlc3QoKTsKKyAgICB9Cis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCkluZGV4OiBMYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lm
eS1hcy1wcmV2YWxlbnQtYmFzZWQtb24tbWl4ZWQtc3RhdGlzdGljcy1leHBlY3RlZC50eHQKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0
YXRpc3RpY3MvY2xhc3NpZnktYXMtcHJldmFsZW50LWJhc2VkLW9uLW1peGVkLXN0YXRpc3RpY3Mt
ZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvbG9h
ZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLXByZXZhbGVudC1iYXNlZC1v
bi1taXhlZC1zdGF0aXN0aWNzLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsx
LDggQEAKK21haW4gZnJhbWUgLSBkaWRTdGFydFByb3Zpc2lvbmFsTG9hZEZvckZyYW1lCittYWlu
IGZyYW1lIC0gZGlkQ29tbWl0TG9hZEZvckZyYW1lCittYWluIGZyYW1lIC0gZGlkUmVjZWl2ZVRp
dGxlOiBUZXN0cyBmb3IgQ2xhc3NpZmljYXRpb24gQmFzZWQgb24gTWl4ZWQgU3RhdGlzdGljcwor
bWFpbiBmcmFtZSAtIGRpZEZpbmlzaERvY3VtZW50TG9hZEZvckZyYW1lCittYWluIGZyYW1lIC0g
ZGlkSGFuZGxlT25sb2FkRXZlbnRzRm9yRnJhbWUKK21haW4gZnJhbWUgLSBkaWRGaW5pc2hMb2Fk
Rm9yRnJhbWUKK1BBU1MgSG9zdCBjbGFzc2lmaWVkIGFzIHByZXZhbGVudCByZXNvdXJjZS4KKwpJ
bmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0YXRpc3Rp
Y3MvY2xhc3NpZnktYXMtcHJldmFsZW50LWJhc2VkLW9uLW1peGVkLXN0YXRpc3RpY3MuaHRtbAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2Fk
U3RhdGlzdGljcy9jbGFzc2lmeS1hcy1wcmV2YWxlbnQtYmFzZWQtb24tbWl4ZWQtc3RhdGlzdGlj
cy5odG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvbG9hZGluZy9y
ZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLXByZXZhbGVudC1iYXNlZC1vbi1taXhl
ZC1zdGF0aXN0aWNzLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw0OSBAQAorPCFET0NU
WVBFIGh0bWw+Cis8aHRtbCBsYW5nPSJlbiI+Cis8aGVhZD4KKyAgICA8bWV0YSBjaGFyc2V0PSJV
VEYtOCI+CisgICAgPHRpdGxlPlRlc3RzIGZvciBDbGFzc2lmaWNhdGlvbiBCYXNlZCBvbiBNaXhl
ZCBTdGF0aXN0aWNzPC90aXRsZT4KKyAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdD4KKyAgICBj
b25zdCBob3N0VW5kZXJUZXN0ID0gIjEyNy4wLjAuMTo4MDAwIjsKKyAgICBjb25zdCBzdGF0aXN0
aWNzVXJsID0gImh0dHA6Ly8iICsgaG9zdFVuZGVyVGVzdCArICIvdGVtcCI7CisgICAgY29uc3Qg
dG9wRnJhbWVPcmlnaW4xID0gImh0dHA6Ly8xMjcuMC4wLjI6ODAwMC90ZW1wIjsKKyAgICBjb25z
dCB0b3BGcmFtZU9yaWdpbjIgPSAiaHR0cDovLzEyNy4wLjAuMzo4MDAwL3RlbXAiOworICAgIGNv
bnN0IHRvcEZyYW1lT3JpZ2luMyA9ICJodHRwOi8vMTI3LjAuMC40OjgwMDAvdGVtcCI7CisgICAg
Y29uc3QgdG9wRnJhbWVPcmlnaW40ID0gImh0dHA6Ly8xMjcuMC4wLjU6ODAwMC90ZW1wIjsKKyAg
ICBmdW5jdGlvbiBydW5UZXN0UnVubmVyVGVzdCgpIHsKKyAgICAgICAgdGVzdFJ1bm5lci5zZXRT
dGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2Uoc3RhdGlzdGljc1VybCwgZmFsc2UpOworICAgICAg
ICBpZiAodGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJjZShzdGF0aXN0aWNz
VXJsKSkKKyAgICAgICAgICAgIHRlc3RGYWlsZWQoIkhvc3QgZGlkIG5vdCBnZXQgc2V0IGFzIG5v
bi1wcmV2YWxlbnQgcmVzb3VyY2UuIik7CisKKyAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0
aWNzU3ViZnJhbWVVbmRlclRvcEZyYW1lT3JpZ2luKHN0YXRpc3RpY3NVcmwsIHRvcEZyYW1lT3Jp
Z2luMSk7CisgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1N1YmZyYW1lVW5kZXJUb3BG
cmFtZU9yaWdpbihzdGF0aXN0aWNzVXJsLCB0b3BGcmFtZU9yaWdpbjQpOworCisgICAgICAgIHRl
c3RSdW5uZXIuc2V0U3RhdGlzdGljc1N1YnJlc291cmNlVW5kZXJUb3BGcmFtZU9yaWdpbihzdGF0
aXN0aWNzVXJsLCB0b3BGcmFtZU9yaWdpbjIpOworICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRp
c3RpY3NTdWJyZXNvdXJjZVVuZGVyVG9wRnJhbWVPcmlnaW4oc3RhdGlzdGljc1VybCwgdG9wRnJh
bWVPcmlnaW4zKTsKKyAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzU3VicmVzb3VyY2VV
bmRlclRvcEZyYW1lT3JpZ2luKHN0YXRpc3RpY3NVcmwsIHRvcEZyYW1lT3JpZ2luNCk7CisKKyAg
ICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzU3VicmVzb3VyY2VVbmlxdWVSZWRpcmVjdFRv
KHN0YXRpc3RpY3NVcmwsIHRvcEZyYW1lT3JpZ2luMyk7CisgICAgICAgIHRlc3RSdW5uZXIuc2V0
U3RhdGlzdGljc1N1YnJlc291cmNlVW5pcXVlUmVkaXJlY3RUbyhzdGF0aXN0aWNzVXJsLCB0b3BG
cmFtZU9yaWdpbjEpOworCisgICAgICAgIHRlc3RSdW5uZXIuc3RhdGlzdGljc0ZpcmVEYXRhTW9k
aWZpY2F0aW9uSGFuZGxlcigpOworCisgICAgICAgIGlmICghdGVzdFJ1bm5lci5pc1N0YXRpc3Rp
Y3NQcmV2YWxlbnRSZXNvdXJjZShzdGF0aXN0aWNzVXJsKSkKKyAgICAgICAgICAgIHRlc3RGYWls
ZWQoIkhvc3QgZGlkIG5vdCBnZXQgY2xhc3NpZmllZCBhcyBwcmV2YWxlbnQgcmVzb3VyY2UuIik7
CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIHRlc3RQYXNzZWQoIkhvc3QgY2xhc3NpZmllZCBh
cyBwcmV2YWxlbnQgcmVzb3VyY2UuIik7CisKKyAgICAgICAgdGVzdFJ1bm5lci5zdGF0aXN0aWNz
UmVzZXRUb0NvbnNpc3RlbnRTdGF0ZSgpOworICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUo
KTsKKyAgICB9CisKKyAgICBpZiAoZG9jdW1lbnQubG9jYXRpb24uaG9zdCA9PT0gaG9zdFVuZGVy
VGVzdCAmJiB3aW5kb3cudGVzdFJ1bm5lciAmJiB3aW5kb3cuaW50ZXJuYWxzKSB7CisgICAgICAg
IHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOworICAgICAgICBpbnRlcm5hbHMuc2V0UmVzb3Vy
Y2VMb2FkU3RhdGlzdGljc0VuYWJsZWQodHJ1ZSk7CisgICAgICAgIHJ1blRlc3RSdW5uZXJUZXN0
KCk7CisgICAgfQorPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNl
TG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtcHJldmFsZW50LWJhc2VkLW9uLXN1Yi1mcmFtZS11
bmRlci10b3AtZnJhbWUtb3JpZ2lucy1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnkt
YXMtcHJldmFsZW50LWJhc2VkLW9uLXN1Yi1mcmFtZS11bmRlci10b3AtZnJhbWUtb3JpZ2lucy1l
eHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9sb2Fk
aW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtcHJldmFsZW50LWJhc2VkLW9u
LXN1Yi1mcmFtZS11bmRlci10b3AtZnJhbWUtb3JpZ2lucy1leHBlY3RlZC50eHQJKHdvcmtpbmcg
Y29weSkKQEAgLTAsMCArMSw4IEBACittYWluIGZyYW1lIC0gZGlkU3RhcnRQcm92aXNpb25hbExv
YWRGb3JGcmFtZQorbWFpbiBmcmFtZSAtIGRpZENvbW1pdExvYWRGb3JGcmFtZQorbWFpbiBmcmFt
ZSAtIGRpZFJlY2VpdmVUaXRsZTogVGVzdHMgZm9yIENsYXNzaWZpY2F0aW9uIEJhc2VkIG9uIFN1
YiBGcmFtZSBVbmRlciBUb3AgRnJhbWUgT3JpZ2lucworbWFpbiBmcmFtZSAtIGRpZEZpbmlzaERv
Y3VtZW50TG9hZEZvckZyYW1lCittYWluIGZyYW1lIC0gZGlkSGFuZGxlT25sb2FkRXZlbnRzRm9y
RnJhbWUKK21haW4gZnJhbWUgLSBkaWRGaW5pc2hMb2FkRm9yRnJhbWUKK1BBU1MgSG9zdCBjbGFz
c2lmaWVkIGFzIHByZXZhbGVudCByZXNvdXJjZS4KKwpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtcHJldmFsZW50
LWJhc2VkLW9uLXN1Yi1mcmFtZS11bmRlci10b3AtZnJhbWUtb3JpZ2lucy5odG1sCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0
aWNzL2NsYXNzaWZ5LWFzLXByZXZhbGVudC1iYXNlZC1vbi1zdWItZnJhbWUtdW5kZXItdG9wLWZy
YW1lLW9yaWdpbnMuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1wcmV2YWxlbnQtYmFz
ZWQtb24tc3ViLWZyYW1lLXVuZGVyLXRvcC1mcmFtZS1vcmlnaW5zLmh0bWwJKHdvcmtpbmcgY29w
eSkKQEAgLTAsMCArMSw0NCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbCBsYW5nPSJlbiI+Cis8
aGVhZD4KKyAgICA8bWV0YSBjaGFyc2V0PSJVVEYtOCI+CisgICAgPHRpdGxlPlRlc3RzIGZvciBD
bGFzc2lmaWNhdGlvbiBCYXNlZCBvbiBTdWIgRnJhbWUgVW5kZXIgVG9wIEZyYW1lIE9yaWdpbnM8
L3RpdGxlPgorICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMi
Pjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0PgorICAgIGNvbnN0IGhvc3RVbmRl
clRlc3QgPSAiMTI3LjAuMC4xOjgwMDAiOworICAgIGNvbnN0IHN0YXRpc3RpY3NVcmwgPSAiaHR0
cDovLyIgKyBob3N0VW5kZXJUZXN0ICsgIi90ZW1wIjsKKyAgICBjb25zdCB0b3BGcmFtZU9yaWdp
bjEgPSAiaHR0cDovLzEyNy4wLjAuMjo4MDAwL3RlbXAiOworICAgIGNvbnN0IHRvcEZyYW1lT3Jp
Z2luMiA9ICJodHRwOi8vMTI3LjAuMC4zOjgwMDAvdGVtcCI7CisgICAgY29uc3QgdG9wRnJhbWVP
cmlnaW4zID0gImh0dHA6Ly8xMjcuMC4wLjQ6ODAwMC90ZW1wIjsKKyAgICBjb25zdCB0b3BGcmFt
ZU9yaWdpbjQgPSAiaHR0cDovLzEyNy4wLjAuNTo4MDAwL3RlbXAiOworICAgIGZ1bmN0aW9uIHJ1
blRlc3RSdW5uZXJUZXN0KCkgeworICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NQcmV2
YWxlbnRSZXNvdXJjZShzdGF0aXN0aWNzVXJsLCBmYWxzZSk7CisgICAgICAgIGlmICh0ZXN0UnVu
bmVyLmlzU3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNlKHN0YXRpc3RpY3NVcmwpKQorICAgICAg
ICAgICAgdGVzdEZhaWxlZCgiSG9zdCBkaWQgbm90IGdldCBzZXQgYXMgbm9uLXByZXZhbGVudCBy
ZXNvdXJjZS4iKTsKKworICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NTdWJmcmFtZVVu
ZGVyVG9wRnJhbWVPcmlnaW4oc3RhdGlzdGljc1VybCwgdG9wRnJhbWVPcmlnaW4xKTsKKyAgICAg
ICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzU3ViZnJhbWVVbmRlclRvcEZyYW1lT3JpZ2luKHN0
YXRpc3RpY3NVcmwsIHRvcEZyYW1lT3JpZ2luMik7CisgICAgICAgIHRlc3RSdW5uZXIuc2V0U3Rh
dGlzdGljc1N1YmZyYW1lVW5kZXJUb3BGcmFtZU9yaWdpbihzdGF0aXN0aWNzVXJsLCB0b3BGcmFt
ZU9yaWdpbjMpOworICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NTdWJmcmFtZVVuZGVy
VG9wRnJhbWVPcmlnaW4oc3RhdGlzdGljc1VybCwgdG9wRnJhbWVPcmlnaW40KTsKKworICAgICAg
ICB0ZXN0UnVubmVyLnN0YXRpc3RpY3NGaXJlRGF0YU1vZGlmaWNhdGlvbkhhbmRsZXIoKTsKKwor
ICAgICAgICBpZiAoIXRlc3RSdW5uZXIuaXNTdGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2Uoc3Rh
dGlzdGljc1VybCkpCisgICAgICAgICAgICB0ZXN0RmFpbGVkKCJIb3N0IGRpZCBub3QgZ2V0IGNs
YXNzaWZpZWQgYXMgcHJldmFsZW50IHJlc291cmNlLiIpOworICAgICAgICBlbHNlCisgICAgICAg
ICAgICB0ZXN0UGFzc2VkKCJIb3N0IGNsYXNzaWZpZWQgYXMgcHJldmFsZW50IHJlc291cmNlLiIp
OworCisgICAgICAgIHRlc3RSdW5uZXIuc3RhdGlzdGljc1Jlc2V0VG9Db25zaXN0ZW50U3RhdGUo
KTsKKyAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7CisgICAgfQorCisgICAgaWYgKGRv
Y3VtZW50LmxvY2F0aW9uLmhvc3QgPT09IGhvc3RVbmRlclRlc3QgJiYgd2luZG93LnRlc3RSdW5u
ZXIgJiYgd2luZG93LmludGVybmFscykgeworICAgICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERv
bmUoKTsKKyAgICAgICAgaW50ZXJuYWxzLnNldFJlc291cmNlTG9hZFN0YXRpc3RpY3NFbmFibGVk
KHRydWUpOworICAgICAgICBydW5UZXN0UnVubmVyVGVzdCgpOworICAgIH0KKzwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKSW5kZXg6IExheW91
dFRlc3RzL2h0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5
LWFzLXByZXZhbGVudC1iYXNlZC1vbi1zdWJyZXNvdXJjZS11bmRlci10b3AtZnJhbWUtb3JpZ2lu
cy1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9sb2Fk
aW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtcHJldmFsZW50LWJhc2VkLW9u
LXN1YnJlc291cmNlLXVuZGVyLXRvcC1mcmFtZS1vcmlnaW5zLWV4cGVjdGVkLnR4dAkobm9uZXhp
c3RlbnQpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3Rh
dGlzdGljcy9jbGFzc2lmeS1hcy1wcmV2YWxlbnQtYmFzZWQtb24tc3VicmVzb3VyY2UtdW5kZXIt
dG9wLWZyYW1lLW9yaWdpbnMtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEs
OCBAQAorbWFpbiBmcmFtZSAtIGRpZFN0YXJ0UHJvdmlzaW9uYWxMb2FkRm9yRnJhbWUKK21haW4g
ZnJhbWUgLSBkaWRDb21taXRMb2FkRm9yRnJhbWUKK21haW4gZnJhbWUgLSBkaWRSZWNlaXZlVGl0
bGU6IFRlc3RzIGZvciBDbGFzc2lmaWNhdGlvbiBCYXNlZCBvbiBTdWJyZXNvdXJjZSBVbmRlciBU
b3AgRnJhbWUgT3JpZ2lucworbWFpbiBmcmFtZSAtIGRpZEZpbmlzaERvY3VtZW50TG9hZEZvckZy
YW1lCittYWluIGZyYW1lIC0gZGlkSGFuZGxlT25sb2FkRXZlbnRzRm9yRnJhbWUKK21haW4gZnJh
bWUgLSBkaWRGaW5pc2hMb2FkRm9yRnJhbWUKK1BBU1MgSG9zdCBjbGFzc2lmaWVkIGFzIHByZXZh
bGVudCByZXNvdXJjZS4KKwpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9sb2FkaW5nL3Jl
c291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtcHJldmFsZW50LWJhc2VkLW9uLXN1YnJl
c291cmNlLXVuZGVyLXRvcC1mcmFtZS1vcmlnaW5zLmh0bWwKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnkt
YXMtcHJldmFsZW50LWJhc2VkLW9uLXN1YnJlc291cmNlLXVuZGVyLXRvcC1mcmFtZS1vcmlnaW5z
Lmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9sb2FkaW5nL3Jl
c291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtcHJldmFsZW50LWJhc2VkLW9uLXN1YnJl
c291cmNlLXVuZGVyLXRvcC1mcmFtZS1vcmlnaW5zLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAs
MCArMSw0NCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbCBsYW5nPSJlbiI+Cis8aGVhZD4KKyAg
ICA8bWV0YSBjaGFyc2V0PSJVVEYtOCI+CisgICAgPHRpdGxlPlRlc3RzIGZvciBDbGFzc2lmaWNh
dGlvbiBCYXNlZCBvbiBTdWJyZXNvdXJjZSBVbmRlciBUb3AgRnJhbWUgT3JpZ2luczwvdGl0bGU+
CisgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3Jp
cHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQ+CisgICAgY29uc3QgaG9zdFVuZGVyVGVzdCA9
ICIxMjcuMC4wLjE6ODAwMCI7CisgICAgY29uc3Qgc3RhdGlzdGljc1VybCA9ICJodHRwOi8vIiAr
IGhvc3RVbmRlclRlc3QgKyAiL3RlbXAiOworICAgIGNvbnN0IHRvcEZyYW1lT3JpZ2luMSA9ICJo
dHRwOi8vMTI3LjAuMC4yOjgwMDAvdGVtcCI7CisgICAgY29uc3QgdG9wRnJhbWVPcmlnaW4yID0g
Imh0dHA6Ly8xMjcuMC4wLjM6ODAwMC90ZW1wIjsKKyAgICBjb25zdCB0b3BGcmFtZU9yaWdpbjMg
PSAiaHR0cDovLzEyNy4wLjAuNDo4MDAwL3RlbXAiOworICAgIGNvbnN0IHRvcEZyYW1lT3JpZ2lu
NCA9ICJodHRwOi8vMTI3LjAuMC41OjgwMDAvdGVtcCI7CisgICAgZnVuY3Rpb24gcnVuVGVzdFJ1
bm5lclRlc3QoKSB7CisgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1ByZXZhbGVudFJl
c291cmNlKHN0YXRpc3RpY3NVcmwsIGZhbHNlKTsKKyAgICAgICAgaWYgKHRlc3RSdW5uZXIuaXNT
dGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2Uoc3RhdGlzdGljc1VybCkpCisgICAgICAgICAgICB0
ZXN0RmFpbGVkKCJIb3N0IGRpZCBub3QgZ2V0IHNldCBhcyBub24tcHJldmFsZW50IHJlc291cmNl
LiIpOworCisgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1N1YnJlc291cmNlVW5kZXJU
b3BGcmFtZU9yaWdpbihzdGF0aXN0aWNzVXJsLCB0b3BGcmFtZU9yaWdpbjEpOworICAgICAgICB0
ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NTdWJyZXNvdXJjZVVuZGVyVG9wRnJhbWVPcmlnaW4oc3Rh
dGlzdGljc1VybCwgdG9wRnJhbWVPcmlnaW4yKTsKKyAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0
aXN0aWNzU3VicmVzb3VyY2VVbmRlclRvcEZyYW1lT3JpZ2luKHN0YXRpc3RpY3NVcmwsIHRvcEZy
YW1lT3JpZ2luMyk7CisgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1N1YnJlc291cmNl
VW5kZXJUb3BGcmFtZU9yaWdpbihzdGF0aXN0aWNzVXJsLCB0b3BGcmFtZU9yaWdpbjQpOworCisg
ICAgICAgIHRlc3RSdW5uZXIuc3RhdGlzdGljc0ZpcmVEYXRhTW9kaWZpY2F0aW9uSGFuZGxlcigp
OworCisgICAgICAgIGlmICghdGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJj
ZShzdGF0aXN0aWNzVXJsKSkKKyAgICAgICAgICAgIHRlc3RGYWlsZWQoIkhvc3QgZGlkIG5vdCBn
ZXQgY2xhc3NpZmllZCBhcyBwcmV2YWxlbnQgcmVzb3VyY2UuIik7CisgICAgICAgIGVsc2UKKyAg
ICAgICAgICAgIHRlc3RQYXNzZWQoIkhvc3QgY2xhc3NpZmllZCBhcyBwcmV2YWxlbnQgcmVzb3Vy
Y2UuIik7CisKKyAgICAgICAgdGVzdFJ1bm5lci5zdGF0aXN0aWNzUmVzZXRUb0NvbnNpc3RlbnRT
dGF0ZSgpOworICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKKyAgICB9CisKKyAgICBp
ZiAoZG9jdW1lbnQubG9jYXRpb24uaG9zdCA9PT0gaG9zdFVuZGVyVGVzdCAmJiB3aW5kb3cudGVz
dFJ1bm5lciAmJiB3aW5kb3cuaW50ZXJuYWxzKSB7CisgICAgICAgIHRlc3RSdW5uZXIud2FpdFVu
dGlsRG9uZSgpOworICAgICAgICBpbnRlcm5hbHMuc2V0UmVzb3VyY2VMb2FkU3RhdGlzdGljc0Vu
YWJsZWQodHJ1ZSk7CisgICAgICAgIHJ1blRlc3RSdW5uZXJUZXN0KCk7CisgICAgfQorPC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpJbmRleDog
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xh
c3NpZnktYXMtcHJldmFsZW50LWJhc2VkLW9uLXN1YnJlc291cmNlLXVuaXF1ZS1yZWRpcmVjdHMt
dG8tZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvbG9h
ZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLXByZXZhbGVudC1iYXNlZC1v
bi1zdWJyZXNvdXJjZS11bmlxdWUtcmVkaXJlY3RzLXRvLWV4cGVjdGVkLnR4dAkobm9uZXhpc3Rl
bnQpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlz
dGljcy9jbGFzc2lmeS1hcy1wcmV2YWxlbnQtYmFzZWQtb24tc3VicmVzb3VyY2UtdW5pcXVlLXJl
ZGlyZWN0cy10by1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw4IEBACitt
YWluIGZyYW1lIC0gZGlkU3RhcnRQcm92aXNpb25hbExvYWRGb3JGcmFtZQorbWFpbiBmcmFtZSAt
IGRpZENvbW1pdExvYWRGb3JGcmFtZQorbWFpbiBmcmFtZSAtIGRpZFJlY2VpdmVUaXRsZTogVGVz
dHMgZm9yIENsYXNzaWZpY2F0aW9uIEJhc2VkIG9uIFN1YnJlc291cmNlIFVuaXF1ZSBSZWRpcmVj
dHMgVG8KK21haW4gZnJhbWUgLSBkaWRGaW5pc2hEb2N1bWVudExvYWRGb3JGcmFtZQorbWFpbiBm
cmFtZSAtIGRpZEhhbmRsZU9ubG9hZEV2ZW50c0ZvckZyYW1lCittYWluIGZyYW1lIC0gZGlkRmlu
aXNoTG9hZEZvckZyYW1lCitQQVNTIEhvc3QgY2xhc3NpZmllZCBhcyBwcmV2YWxlbnQgcmVzb3Vy
Y2UuCisKSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRT
dGF0aXN0aWNzL2NsYXNzaWZ5LWFzLXByZXZhbGVudC1iYXNlZC1vbi1zdWJyZXNvdXJjZS11bmlx
dWUtcmVkaXJlY3RzLXRvLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtcHJldmFsZW50LWJh
c2VkLW9uLXN1YnJlc291cmNlLXVuaXF1ZS1yZWRpcmVjdHMtdG8uaHRtbAkobm9uZXhpc3RlbnQp
CisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGlj
cy9jbGFzc2lmeS1hcy1wcmV2YWxlbnQtYmFzZWQtb24tc3VicmVzb3VyY2UtdW5pcXVlLXJlZGly
ZWN0cy10by5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNDQgQEAKKzwhRE9DVFlQRSBo
dG1sPgorPGh0bWwgbGFuZz0iZW4iPgorPGhlYWQ+CisgICAgPG1ldGEgY2hhcnNldD0iVVRGLTgi
PgorICAgIDx0aXRsZT5UZXN0cyBmb3IgQ2xhc3NpZmljYXRpb24gQmFzZWQgb24gU3VicmVzb3Vy
Y2UgVW5pcXVlIFJlZGlyZWN0cyBUbzwvdGl0bGU+CisgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3Jp
cHQ+CisgICAgY29uc3QgaG9zdFVuZGVyVGVzdCA9ICIxMjcuMC4wLjE6ODAwMCI7CisgICAgY29u
c3Qgc3RhdGlzdGljc1VybCA9ICJodHRwOi8vIiArIGhvc3RVbmRlclRlc3QgKyAiL3RlbXAiOwor
ICAgIGNvbnN0IHRvcEZyYW1lT3JpZ2luMSA9ICJodHRwOi8vMTI3LjAuMC4yOjgwMDAvdGVtcCI7
CisgICAgY29uc3QgdG9wRnJhbWVPcmlnaW4yID0gImh0dHA6Ly8xMjcuMC4wLjM6ODAwMC90ZW1w
IjsKKyAgICBjb25zdCB0b3BGcmFtZU9yaWdpbjMgPSAiaHR0cDovLzEyNy4wLjAuNDo4MDAwL3Rl
bXAiOworICAgIGNvbnN0IHRvcEZyYW1lT3JpZ2luNCA9ICJodHRwOi8vMTI3LjAuMC41OjgwMDAv
dGVtcCI7CisgICAgZnVuY3Rpb24gcnVuVGVzdFJ1bm5lclRlc3QoKSB7CisgICAgICAgIHRlc3RS
dW5uZXIuc2V0U3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNlKHN0YXRpc3RpY3NVcmwsIGZhbHNl
KTsKKyAgICAgICAgaWYgKHRlc3RSdW5uZXIuaXNTdGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2Uo
c3RhdGlzdGljc1VybCkpCisgICAgICAgICAgICB0ZXN0RmFpbGVkKCJIb3N0IGRpZCBub3QgZ2V0
IHNldCBhcyBub24tcHJldmFsZW50IHJlc291cmNlLiIpOworCisgICAgICAgIHRlc3RSdW5uZXIu
c2V0U3RhdGlzdGljc1N1YnJlc291cmNlVW5pcXVlUmVkaXJlY3RUbyhzdGF0aXN0aWNzVXJsLCB0
b3BGcmFtZU9yaWdpbjEpOworICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NTdWJyZXNv
dXJjZVVuaXF1ZVJlZGlyZWN0VG8oc3RhdGlzdGljc1VybCwgdG9wRnJhbWVPcmlnaW4yKTsKKyAg
ICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzU3VicmVzb3VyY2VVbmlxdWVSZWRpcmVjdFRv
KHN0YXRpc3RpY3NVcmwsIHRvcEZyYW1lT3JpZ2luMyk7CisgICAgICAgIHRlc3RSdW5uZXIuc2V0
U3RhdGlzdGljc1N1YnJlc291cmNlVW5pcXVlUmVkaXJlY3RUbyhzdGF0aXN0aWNzVXJsLCB0b3BG
cmFtZU9yaWdpbjQpOworCisgICAgICAgIHRlc3RSdW5uZXIuc3RhdGlzdGljc0ZpcmVEYXRhTW9k
aWZpY2F0aW9uSGFuZGxlcigpOworCisgICAgICAgIGlmICghdGVzdFJ1bm5lci5pc1N0YXRpc3Rp
Y3NQcmV2YWxlbnRSZXNvdXJjZShzdGF0aXN0aWNzVXJsKSkKKyAgICAgICAgICAgIHRlc3RGYWls
ZWQoIkhvc3QgZGlkIG5vdCBnZXQgY2xhc3NpZmllZCBhcyBwcmV2YWxlbnQgcmVzb3VyY2UuIik7
CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIHRlc3RQYXNzZWQoIkhvc3QgY2xhc3NpZmllZCBh
cyBwcmV2YWxlbnQgcmVzb3VyY2UuIik7CisKKyAgICAgICAgdGVzdFJ1bm5lci5zdGF0aXN0aWNz
UmVzZXRUb0NvbnNpc3RlbnRTdGF0ZSgpOworICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUo
KTsKKyAgICB9CisKKyAgICBpZiAoZG9jdW1lbnQubG9jYXRpb24uaG9zdCA9PT0gaG9zdFVuZGVy
VGVzdCAmJiB3aW5kb3cudGVzdFJ1bm5lciAmJiB3aW5kb3cuaW50ZXJuYWxzKSB7CisgICAgICAg
IHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOworICAgICAgICBpbnRlcm5hbHMuc2V0UmVzb3Vy
Y2VMb2FkU3RhdGlzdGljc0VuYWJsZWQodHJ1ZSk7CisgICAgICAgIHJ1blRlc3RSdW5uZXJUZXN0
KCk7CisgICAgfQorPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0
cy9wbGF0Zm9ybS93azIvVGVzdEV4cGVjdGF0aW9ucwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9wbGF0Zm9ybS93azIvVGVzdEV4cGVjdGF0aW9ucwkocmV2aXNpb24gMjEyNTI0KQorKysgTGF5
b3V0VGVzdHMvcGxhdGZvcm0vd2syL1Rlc3RFeHBlY3RhdGlvbnMJKHdvcmtpbmcgY29weSkKQEAg
LTcwNSw2ICs3MDUsMTQgQEAgaHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0YXRpc3Rp
YwogaHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvbm9uLXByZXZhbGVu
dC1yZXNvdXJjZS13aXRob3V0LXVzZXItaW50ZXJhY3Rpb24uaHRtbCBbIFBhc3MgVGltZW91dCBd
CiBodHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9wcmV2YWxlbnQtcmVz
b3VyY2Utd2l0aG91dC11c2VyLWludGVyYWN0aW9uLmh0bWwgWyBQYXNzIFRpbWVvdXQgXQogaHR0
cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvcHJldmFsZW50LXJlc291cmNl
LXdpdGgtdXNlci1pbnRlcmFjdGlvbi10aW1lb3V0Lmh0bWwgWyBQYXNzIFRpbWVvdXQgXQoraHR0
cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtbm9uLXBy
ZXZhbGVudC1iYXNlZC1vbi1taXhlZC1zdGF0aXN0aWNzLmh0bWwgWyBQYXNzIF0KK2h0dHAvdGVz
dHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLW5vbi1wcmV2YWxl
bnQtYmFzZWQtb24tc3ViLWZyYW1lLXVuZGVyLXRvcC1mcmFtZS1vcmlnaW5zLmh0bWwgWyBQYXNz
IF0KK2h0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFz
LW5vbi1wcmV2YWxlbnQtYmFzZWQtb24tc3VicmVzb3VyY2UtdW5kZXItdG9wLWZyYW1lLW9yaWdp
bnMuaHRtbCBbIFBhc3MgXQoraHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0YXRpc3Rp
Y3MvY2xhc3NpZnktYXMtbm9uLXByZXZhbGVudC1iYXNlZC1vbi1zdWJyZXNvdXJjZS11bmlxdWUt
cmVkaXJlY3RzLXRvLmh0bWwgWyBQYXNzIF0KK2h0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxv
YWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLXByZXZhbGVudC1iYXNlZC1vbi1taXhlZC1zdGF0aXN0
aWNzLmh0bWwgWyBQYXNzIF0KK2h0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0
aWNzL2NsYXNzaWZ5LWFzLXByZXZhbGVudC1iYXNlZC1vbi1zdWItZnJhbWUtdW5kZXItdG9wLWZy
YW1lLW9yaWdpbnMuaHRtbCBbIFBhc3MgXQoraHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9h
ZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtcHJldmFsZW50LWJhc2VkLW9uLXN1YnJlc291cmNlLXVu
ZGVyLXRvcC1mcmFtZS1vcmlnaW5zLmh0bWwgWyBQYXNzIF0KK2h0dHAvdGVzdHMvbG9hZGluZy9y
ZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLXByZXZhbGVudC1iYXNlZC1vbi1zdWJy
ZXNvdXJjZS11bmlxdWUtcmVkaXJlY3RzLXRvLmh0bWwgWyBQYXNzIF0KIAogIyMjIEVORCBPRiAo
NSkgUHJvZ3Jlc3Npb25zLCBleHBlY3RlZCBzdWNjZXNzZXMgdGhhdCBhcmUgZXhwZWN0ZWQgZmFp
bHVyZXMgaW4gV2ViS2l0MS4KICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>302014</attachid>
            <date>2017-02-17 16:56:20 -0800</date>
            <delta_ts>2017-02-17 17:08:21 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-168347-20170217165341.patch</filename>
            <type>text/plain</type>
            <size>123611</size>
            <attacher name="John Wilander">wilander</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XVEYvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XVEYvQ2hh
bmdlTG9nCShyZXZpc2lvbiAyMTI1MjQpCisrKyBTb3VyY2UvV1RGL0NoYW5nZUxvZwkod29ya2lu
ZyBjb3B5KQpAQCAtMSwzICsxLDE0IEBACisyMDE3LTAyLTE3ICBKb2huIFdpbGFuZGVyICA8d2ls
YW5kZXJAYXBwbGUuY29tPgorCisgICAgICAgIFJlc291cmNlIExvYWQgU3RhdGlzdGljczogQWRk
IGFsdGVybmF0ZSBjbGFzc2lmaWNhdGlvbiBtZXRob2QKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2ODM0NworICAgICAgICA8cmRhcjovL3Byb2JsZW0v
MzAzNTI3OTM+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgKiB3dGYvUGxhdGZvcm0uaDoKKyAgICAgICAgICAgIEFkZGVkIHN1cHBvcnQgZm9yIEhBVkUo
Q09SRV9QUkVESUNUSU9OKS4KKwogMjAxNy0wMi0xNiAgQWxleCBDaHJpc3RlbnNlbiAgPGFjaHJp
c3RlbnNlbkB3ZWJraXQub3JnPgogCiAgICAgICAgIFJlbW92ZSBFRkwtc3BlY2lmaWMgZmlsZXMg
aW4gU291cmNlLgpJbmRleDogU291cmNlL1dURi93dGYvUGxhdGZvcm0uaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybS5oCShyZXZpc2lvbiAyMTI1MjQpCisrKyBTb3VyY2Uv
V1RGL3d0Zi9QbGF0Zm9ybS5oCSh3b3JraW5nIGNvcHkpCkBAIC0xMjA4LDQgKzEyMDgsOCBAQAog
I2VuZGlmCiAjZW5kaWYgLyogUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUFY
X0FMTE9XRUQgPj0gMTAxMjAxICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0g
MTAxMjAwICovCiAKKyNpZiBQTEFURk9STShJT1MpIHx8IChQTEFURk9STShNQUMpICYmIF9fTUFD
X09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxMjAwKQorI2RlZmluZSBIQVZFX0NPUkVf
UFJFRElDVElPTiAxCisjZW5kaWYKKwogI2VuZGlmIC8qIFdURl9QbGF0Zm9ybV9oICovCkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
Q2hhbmdlTG9nCShyZXZpc2lvbiAyMTI1MjQpCisrKyBTb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cJ
KHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwyOCBAQAorMjAxNy0wMi0xNyAgSm9obiBXaWxhbmRl
ciAgPHdpbGFuZGVyQGFwcGxlLmNvbT4KKworICAgICAgICBSZXNvdXJjZSBMb2FkIFN0YXRpc3Rp
Y3M6IEFkZCBhbHRlcm5hdGUgY2xhc3NpZmljYXRpb24gbWV0aG9kCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjgzNDcKKyAgICAgICAgPHJkYXI6Ly9w
cm9ibGVtLzMwMzUyNzkzPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIFRoaXMgcGF0Y2ggb25seSBhZGRzIHRlc3QgaW5mcmFzdHJ1Y3R1cmUgaW4gV2Vi
Q29yZS4KKworICAgICAgICBUZXN0czogaHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0
YXRpc3RpY3MvY2xhc3NpZnktYXMtbm9uLXByZXZhbGVudC1iYXNlZC1vbi1taXhlZC1zdGF0aXN0
aWNzLmh0bWwKKyAgICAgICAgICAgICAgIGh0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRT
dGF0aXN0aWNzL2NsYXNzaWZ5LWFzLW5vbi1wcmV2YWxlbnQtYmFzZWQtb24tc3ViLWZyYW1lLXVu
ZGVyLXRvcC1mcmFtZS1vcmlnaW5zLmh0bWwKKyAgICAgICAgICAgICAgIGh0dHAvdGVzdHMvbG9h
ZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLW5vbi1wcmV2YWxlbnQtYmFz
ZWQtb24tc3VicmVzb3VyY2UtdW5kZXItdG9wLWZyYW1lLW9yaWdpbnMuaHRtbAorICAgICAgICAg
ICAgICAgaHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnkt
YXMtbm9uLXByZXZhbGVudC1iYXNlZC1vbi1zdWJyZXNvdXJjZS11bmlxdWUtcmVkaXJlY3RzLXRv
Lmh0bWwKKyAgICAgICAgICAgICAgIGh0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0
aXN0aWNzL2NsYXNzaWZ5LWFzLXByZXZhbGVudC1iYXNlZC1vbi1taXhlZC1zdGF0aXN0aWNzLmh0
bWwKKyAgICAgICAgICAgICAgIGh0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0
aWNzL2NsYXNzaWZ5LWFzLXByZXZhbGVudC1iYXNlZC1vbi1zdWItZnJhbWUtdW5kZXItdG9wLWZy
YW1lLW9yaWdpbnMuaHRtbAorICAgICAgICAgICAgICAgaHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291
cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtcHJldmFsZW50LWJhc2VkLW9uLXN1YnJlc291
cmNlLXVuZGVyLXRvcC1mcmFtZS1vcmlnaW5zLmh0bWwKKyAgICAgICAgICAgICAgIGh0dHAvdGVz
dHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLXByZXZhbGVudC1i
YXNlZC1vbi1zdWJyZXNvdXJjZS11bmlxdWUtcmVkaXJlY3RzLXRvLmh0bWwKKworICAgICAgICAq
IGxvYWRlci9SZXNvdXJjZUxvYWRPYnNlcnZlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZXNv
dXJjZUxvYWRPYnNlcnZlcjo6c2V0U3ViZnJhbWVVbmRlclRvcEZyYW1lT3JpZ2luKToKKyAgICAg
ICAgKFdlYkNvcmU6OlJlc291cmNlTG9hZE9ic2VydmVyOjpzZXRTdWJyZXNvdXJjZVVuZGVyVG9w
RnJhbWVPcmlnaW4pOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VMb2FkT2JzZXJ2ZXI6OnNl
dFN1YnJlc291cmNlVW5pcXVlUmVkaXJlY3RUbyk6CisgICAgICAgICogbG9hZGVyL1Jlc291cmNl
TG9hZE9ic2VydmVyLmg6CisKIDIwMTctMDItMTYgIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNl
ckBhcHBsZS5jb20+CiAKICAgICAgICAgUkVHUkVTU0lPTihyMjEyNDM5KTogV2ViIEluc3BlY3Rv
ciBUb29sYmFyIC8gV2luZG93IGFwcGVhcnMgYnJva2VuCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9s
b2FkZXIvUmVzb3VyY2VMb2FkT2JzZXJ2ZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL2xvYWRlci9SZXNvdXJjZUxvYWRPYnNlcnZlci5jcHAJKHJldmlzaW9uIDIxMjUyNCkKKysr
IFNvdXJjZS9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZUxvYWRPYnNlcnZlci5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTM3NSw2ICszNzUsMzMgQEAgdm9pZCBSZXNvdXJjZUxvYWRPYnNlcnZlcjo6Y2xl
YXJQcmV2YWxlbgogICAgIHN0YXRpc3RpY3MuaXNQcmV2YWxlbnRSZXNvdXJjZSA9IGZhbHNlOwog
fQogCit2b2lkIFJlc291cmNlTG9hZE9ic2VydmVyOjpzZXRTdWJmcmFtZVVuZGVyVG9wRnJhbWVP
cmlnaW4oY29uc3QgVVJMJiBzdWJmcmFtZSwgY29uc3QgVVJMJiB0b3BGcmFtZSkKK3sKKyAgICBp
ZiAoc3ViZnJhbWUuaXNCbGFua1VSTCgpIHx8IHN1YmZyYW1lLmlzRW1wdHkoKSB8fCB0b3BGcmFt
ZS5pc0JsYW5rVVJMKCkgfHwgdG9wRnJhbWUuaXNFbXB0eSgpKQorICAgICAgICByZXR1cm47Cisg
ICAgCisgICAgYXV0byYgc3RhdGlzdGljcyA9IG1fc3RvcmUtPmVuc3VyZVJlc291cmNlU3RhdGlz
dGljc0ZvclByaW1hcnlEb21haW4ocHJpbWFyeURvbWFpbihzdWJmcmFtZSkpOworICAgIHN0YXRp
c3RpY3Muc3ViZnJhbWVVbmRlclRvcEZyYW1lT3JpZ2lucy5hZGQocHJpbWFyeURvbWFpbih0b3BG
cmFtZSkpOworfQorCit2b2lkIFJlc291cmNlTG9hZE9ic2VydmVyOjpzZXRTdWJyZXNvdXJjZVVu
ZGVyVG9wRnJhbWVPcmlnaW4oY29uc3QgVVJMJiBzdWJyZXNvdXJjZSwgY29uc3QgVVJMJiB0b3BG
cmFtZSkKK3sKKyAgICBpZiAoc3VicmVzb3VyY2UuaXNCbGFua1VSTCgpIHx8IHN1YnJlc291cmNl
LmlzRW1wdHkoKSB8fCB0b3BGcmFtZS5pc0JsYW5rVVJMKCkgfHwgdG9wRnJhbWUuaXNFbXB0eSgp
KQorICAgICAgICByZXR1cm47CisgICAgCisgICAgYXV0byYgc3RhdGlzdGljcyA9IG1fc3RvcmUt
PmVuc3VyZVJlc291cmNlU3RhdGlzdGljc0ZvclByaW1hcnlEb21haW4ocHJpbWFyeURvbWFpbihz
dWJyZXNvdXJjZSkpOworICAgIHN0YXRpc3RpY3Muc3VicmVzb3VyY2VVbmRlclRvcEZyYW1lT3Jp
Z2lucy5hZGQocHJpbWFyeURvbWFpbih0b3BGcmFtZSkpOworfQorCit2b2lkIFJlc291cmNlTG9h
ZE9ic2VydmVyOjpzZXRTdWJyZXNvdXJjZVVuaXF1ZVJlZGlyZWN0VG8oY29uc3QgVVJMJiBzdWJy
ZXNvdXJjZSwgY29uc3QgVVJMJiBob3N0TmFtZVJlZGlyZWN0ZWRUbykKK3sKKyAgICBpZiAoc3Vi
cmVzb3VyY2UuaXNCbGFua1VSTCgpIHx8IHN1YnJlc291cmNlLmlzRW1wdHkoKSB8fCBob3N0TmFt
ZVJlZGlyZWN0ZWRUby5pc0JsYW5rVVJMKCkgfHwgaG9zdE5hbWVSZWRpcmVjdGVkVG8uaXNFbXB0
eSgpKQorICAgICAgICByZXR1cm47CisgICAgCisgICAgYXV0byYgc3RhdGlzdGljcyA9IG1fc3Rv
cmUtPmVuc3VyZVJlc291cmNlU3RhdGlzdGljc0ZvclByaW1hcnlEb21haW4ocHJpbWFyeURvbWFp
bihzdWJyZXNvdXJjZSkpOworICAgIHN0YXRpc3RpY3Muc3VicmVzb3VyY2VVbmlxdWVSZWRpcmVj
dHNUby5hZGQocHJpbWFyeURvbWFpbihob3N0TmFtZVJlZGlyZWN0ZWRUbykpOworfQorCiB2b2lk
IFJlc291cmNlTG9hZE9ic2VydmVyOjpzZXRUaW1lVG9MaXZlVXNlckludGVyYWN0aW9uKGRvdWJs
ZSBzZWNvbmRzKQogewogICAgIG1fc3RvcmUtPnNldFRpbWVUb0xpdmVVc2VySW50ZXJhY3Rpb24o
c2Vjb25kcyk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VMb2FkT2JzZXJ2
ZXIuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VMb2FkT2Jz
ZXJ2ZXIuaAkocmV2aXNpb24gMjEyNTI0KQorKysgU291cmNlL1dlYkNvcmUvbG9hZGVyL1Jlc291
cmNlTG9hZE9ic2VydmVyLmgJKHdvcmtpbmcgY29weSkKQEAgLTU4LDYgKzU4LDEwIEBAIHB1Ymxp
YzoKICAgICBXRUJDT1JFX0VYUE9SVCBib29sIGlzUHJldmFsZW50UmVzb3VyY2UoY29uc3QgVVJM
Jik7CiAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBjbGVhclByZXZhbGVudFJlc291cmNlKGNvbnN0
IFVSTCYpOwogCisgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBzZXRTdWJmcmFtZVVuZGVyVG9wRnJh
bWVPcmlnaW4oY29uc3QgVVJMJiBzdWJmcmFtZSwgY29uc3QgVVJMJiB0b3BGcmFtZSk7CisgICAg
V0VCQ09SRV9FWFBPUlQgdm9pZCBzZXRTdWJyZXNvdXJjZVVuZGVyVG9wRnJhbWVPcmlnaW4oY29u
c3QgVVJMJiBzdWJyZXNvdXJjZSwgY29uc3QgVVJMJiB0b3BGcmFtZSk7CisgICAgV0VCQ09SRV9F
WFBPUlQgdm9pZCBzZXRTdWJyZXNvdXJjZVVuaXF1ZVJlZGlyZWN0VG8oY29uc3QgVVJMJiBzdWJy
ZXNvdXJjZSwgY29uc3QgVVJMJiBob3N0TmFtZVJlZGlyZWN0ZWRUbyk7CisKICAgICBXRUJDT1JF
X0VYUE9SVCB2b2lkIHNldFRpbWVUb0xpdmVVc2VySW50ZXJhY3Rpb24oZG91YmxlIHNlY29uZHMp
OwogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgc2V0UmVkdWNlZFRpbWVzdGFtcFJlc29sdXRpb24o
ZG91YmxlIHNlY29uZHMpOwogCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCShyZXZpc2lvbiAyMTI1MjQpCisrKyBT
b3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSw3OSBAQAor
MjAxNy0wMi0xNyAgSm9obiBXaWxhbmRlciAgPHdpbGFuZGVyQGFwcGxlLmNvbT4KKworICAgICAg
ICBSZXNvdXJjZSBMb2FkIFN0YXRpc3RpY3M6IEFkZCBhbHRlcm5hdGUgY2xhc3NpZmljYXRpb24g
bWV0aG9kCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
NjgzNDcKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzMwMzUyNzkzPgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoaXMgcGF0Y2ggYWRkcyBhIENvcmVQ
cmVkaWN0aW9uLWJhc2VkIGNsYXNzaWZpZXIgdG8gdGhlIFdlYlJlc291cmNlTG9hZFN0YXRpc3Rp
Y3NTdG9yZS4KKyAgICAgICAgVGhlIENvcmVQcmVkaWN0aW9uIGZyYW1ld29yayBpcyBpbnRyb2R1
Y2VkIGFzIGEgZGVwZW5kZW5jeSBmb3IgbWFjT1MgYW5kIGlPUy4gVGhlIHBhdGNoCisgICAgICAg
IGFsc28gYWRkcyBmdW5jdGlvbnMgdG8gc3VwcG9ydCBsYXlvdXQgdGVzdHMgb2YgdGhlIGZlYXR1
cmUuCisKKyAgICAgICAgKiBDb25maWd1cmF0aW9ucy9CYXNlVGFyZ2V0LnhjY29uZmlnOgorICAg
ICAgICAqIENvbmZpZ3VyYXRpb25zL1dlYktpdC54Y2NvbmZpZzoKKyAgICAgICAgICAgIEFkZGVk
IGRlcGVuZGVuY3kgb24gQ29yZVByZWRpY3Rpb24uCisgICAgICAgICogUGxhdGZvcm0vY2xhc3Np
ZmllcjogQWRkZWQuCisgICAgICAgICogUGxhdGZvcm0vY2xhc3NpZmllci9SZXNvdXJjZUxvYWRT
dGF0aXN0aWNzQ2xhc3NpZmllci5oOiBBZGRlZC4KKyAgICAgICAgICAgIFB1bGxzIGluIHRoZSBD
b2NvYS1zcGVjaWZpYyBjbGFzc2lmaWVyIGZvciBDb2NvYS1iYXNlZCBwbGF0Zm9ybXMuCisgICAg
ICAgIChXZWJLaXQ6OlJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyOjpSZXNvdXJjZUxv
YWRTdGF0aXN0aWNzQ2xhc3NpZmllcik6CisgICAgICAgICogUGxhdGZvcm0vY2xhc3NpZmllci9S
ZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllckJhc2UuY3BwOiBBZGRlZC4KKyAgICAgICAg
KFdlYktpdDo6UmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXJCYXNlOjpoYXNQcmV2YWxl
bnRSZXNvdXJjZUNoYXJhY3RlcmlzdGljcyk6CisgICAgICAgICAgICBTaGFyZWQgY2xhc3NpZmll
ciBsb2dpYy4KKyAgICAgICAgKFdlYktpdDo6UmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZp
ZXJCYXNlOjpjbGFzc2lmeVdpdGhWZWN0b3JUaHJlc2hvbGQpOgorICAgICAgICAgICAgRmFsbGJh
Y2sgY2xhc3NpZmllciBmb3Igd2hlbiB3ZSBkb24ndCBoYXZlIENvcmVQcmVkaWN0aW9uLgorICAg
ICAgICAqIFBsYXRmb3JtL2NsYXNzaWZpZXIvUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZp
ZXJCYXNlLmg6IEFkZGVkLgorICAgICAgICAoV2ViS2l0OjpSZXNvdXJjZUxvYWRTdGF0aXN0aWNz
Q2xhc3NpZmllckJhc2U6OlJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQmFzZSk6Cisg
ICAgICAgIChXZWJLaXQ6OlJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQmFzZTo6flJl
c291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQmFzZSk6CisgICAgICAgICogUGxhdGZvcm0v
Y2xhc3NpZmllci9jb2NvYTogQWRkZWQuCisgICAgICAgICogUGxhdGZvcm0vY2xhc3NpZmllci9j
b2NvYS9Db3JlUHJlZGljdGlvblNQSS5oOiBBZGRlZC4KKyAgICAgICAgICAgIEluY2x1ZGVzIENv
cmVQcmVkaWN0aW9uIGlmIGF2YWlsYWJsZSwgb3RoZXJ3aXNlIGRlY2xhcmVzIG5lZWRlZCBzeW1i
b2xzLgorICAgICAgICAqIFBsYXRmb3JtL2NsYXNzaWZpZXIvY29jb2EvUmVzb3VyY2VMb2FkU3Rh
dGlzdGljc0NsYXNzaWZpZXJDb2NvYS5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViS2l0OjpSZXNv
dXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllcjo6Y2xhc3NpZnkpOgorICAgICAgICAoV2ViS2l0
OjpSZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllcjo6c3RvcmFnZVBhdGgpOgorICAgICAg
ICAoV2ViS2l0OjpSZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllcjo6c2hvdWxkVXNlQ29y
ZVByZWRpY3Rpb24pOgorICAgICAgICAgICAgVGhlIG5ldyBjbGFzc2lmaWVyIGZvciBDb2NvYSBw
bGF0Zm9ybXMuCisgICAgICAgICogUGxhdGZvcm0vY2xhc3NpZmllci9jb2NvYS9SZXNvdXJjZUxv
YWRTdGF0aXN0aWNzQ2xhc3NpZmllckNvY29hLmg6IEFkZGVkLgorICAgICAgICAoV2ViS2l0OjpS
ZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllcjo6UmVzb3VyY2VMb2FkU3RhdGlzdGljc0Ns
YXNzaWZpZXIpOgorICAgICAgICAqIFBsYXRmb3JtRWZsLmNtYWtlOgorICAgICAgICAgICBBZGRl
ZCBQbGF0Zm9ybS9jbGFzc2lmaWVyIGRpcmVjdG9yeSBhbmQgUmVzb3VyY2VMb2FkU3RhdGlzdGlj
c0NsYXNzaWZpZXJCYXNlLmNwcC4KKyAgICAgICAgKiBQbGF0Zm9ybUdUSy5jbWFrZToKKyAgICAg
ICAgICAgQWRkZWQgUGxhdGZvcm0vY2xhc3NpZmllciBkaXJlY3RvcnkgYW5kIFJlc291cmNlTG9h
ZFN0YXRpc3RpY3NDbGFzc2lmaWVyQmFzZS5jcHAuCisgICAgICAgICogUGxhdGZvcm1NYWMuY21h
a2U6CisgICAgICAgICAgIEFkZGVkIFBsYXRmb3JtL2NsYXNzaWZpZXIgYW5kIFBsYXRmb3JtL2Ns
YXNzaWZpZXIvY29jb2EgZGlyZWN0b3JpZXMsIGFuZAorICAgICAgICAgICBzb3VyY2UgZmlsZXMg
UmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXJCYXNlLmNwcCBhbmQKKyAgICAgICAgICAg
UmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXJDb2NvYS5jcHAKKyAgICAgICAgKiBSZXNv
dXJjZXMvUmVzb3VyY2VMb2FkU3RhdGlzdGljczogQWRkZWQuCisgICAgICAgICogUmVzb3VyY2Vz
L1Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY29yZVByZWRpY3Rpb25fbW9kZWw6IEFkZGVkLgorICAg
ICAgICAgICAgTW9kZWwgZmlsZSB0byBsb2FkIGludG8gQ29yZVByZWRpY3Rpb24uCisgICAgICAg
ICogVUlQcm9jZXNzL0FQSS9DL1dLUmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFnZXIuY3BwOgor
ICAgICAgICAoV0tSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdlclNldFN1YmZyYW1lVW5kZXJU
b3BGcmFtZU9yaWdpbik6CisgICAgICAgIChXS1Jlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2Vy
U2V0U3VicmVzb3VyY2VVbmRlclRvcEZyYW1lT3JpZ2luKToKKyAgICAgICAgKFdLUmVzb3VyY2VM
b2FkU3RhdGlzdGljc01hbmFnZXJTZXRTdWJyZXNvdXJjZVVuaXF1ZVJlZGlyZWN0VG8pOgorICAg
ICAgICAgICAgVGVzdCBpbmZyYXN0cnVjdHVyZS4KKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0Mv
V0tSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdlci5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9X
ZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdlci5jcHA6CisgICAgICAgIChXZWJLaXQ6Oldl
YlJlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VyOjpzZXRTdWJmcmFtZVVuZGVyVG9wRnJhbWVP
cmlnaW4pOgorICAgICAgICAoV2ViS2l0OjpXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdl
cjo6c2V0U3VicmVzb3VyY2VVbmRlclRvcEZyYW1lT3JpZ2luKToKKyAgICAgICAgKFdlYktpdDo6
V2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFnZXI6OnNldFN1YnJlc291cmNlVW5pcXVlUmVk
aXJlY3RUbyk6CisgICAgICAgICAgICBUZXN0IGluZnJhc3RydWN0dXJlLgorICAgICAgICAqIFVJ
UHJvY2Vzcy9XZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdlci5oOgorICAgICAgICAqIFVJ
UHJvY2Vzcy9XZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmUuY3BwOgorICAgICAgICAoV2Vi
S2l0OjpXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmU6OldlYlJlc291cmNlTG9hZFN0YXRp
c3RpY3NTdG9yZSk6CisgICAgICAgICAgICBSZW5hbWVkIG1fc3RvcmFnZVBhdGggdG8gbV9zdGF0
aXN0aWNzU3RvcmFnZVBhdGggZm9yIGNsYXJpdHkuCisgICAgICAgIChXZWJLaXQ6OldlYlJlc291
cmNlTG9hZFN0YXRpc3RpY3NTdG9yZTo6Y2xhc3NpZnlSZXNvdXJjZSk6CisgICAgICAgICAgICBO
b3cgY2FsbHMgdGhlIGNsYXNzaWZpZXIgdGhyb3VnaCBpdHMgUmVzb3VyY2VMb2FkU3RhdGlzdGlj
c0NsYXNzaWZpZXIKKyAgICAgICAgICAgIG1lbWJlciB2YXJpYWJsZS4KKyAgICAgICAgKFdlYktp
dDo6V2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlOjpwZXJzaXN0ZW50U3RvcmFnZVBhdGgp
OgorICAgICAgICAgICAgUmVuYW1lZCBtX3N0b3JhZ2VQYXRoIHRvIG1fc3RhdGlzdGljc1N0b3Jh
Z2VQYXRoIGZvciBjbGFyaXR5LgorICAgICAgICAoV2ViS2l0OjpXZWJSZXNvdXJjZUxvYWRTdGF0
aXN0aWNzU3RvcmU6OndyaXRlRW5jb2RlclRvRGlzayk6CisgICAgICAgICAgICBSZW5hbWVkIG1f
c3RvcmFnZVBhdGggdG8gbV9zdGF0aXN0aWNzU3RvcmFnZVBhdGggZm9yIGNsYXJpdHkuCisgICAg
ICAgIChXZWJLaXQ6OldlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZTo6aGFzUHJldmFsZW50
UmVzb3VyY2VDaGFyYWN0ZXJpc3RpY3MpOiBEZWxldGVkLgorICAgICAgICAqIFVJUHJvY2Vzcy9X
ZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmUuaDoKKyAgICAgICAgKiBXZWJLaXQyLnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICAgICBBZGRlZCB0aGUgbmV3IGNsYXNzaWZp
ZXIgc291cmNlIGZpbGVzIHVuZGVyIFBsYXRmb3JtL2NsYXNzaWZpZXIgYW5kIHRoZQorICAgICAg
ICAgICAgY29yZVByZWRpY3Rpb25fbW9kZWwgZmlsZSB1bmRlciBSZXNvdXJjZXMvUmVzb3VyY2VM
b2FkU3RhdGlzdGljcy4KKwogMjAxNy0wMi0xNiAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBs
ZS5jb20+CiAKICAgICAgICAgW1dlYlJUQ10gbGlid2VicnRjIHNvY2tldCBhZGRyZXNzZXMgc2hv
dWxkIG5vdCBiZSBwYXNzZWQgYXMgc3RyaW5ncwpJbmRleDogU291cmNlL1dlYktpdDIvUGxhdGZv
cm1FZmwuY21ha2UKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvUGxhdGZvcm1FZmwuY21h
a2UJKHJldmlzaW9uIDIxMjUyNCkKKysrIFNvdXJjZS9XZWJLaXQyL1BsYXRmb3JtRWZsLmNtYWtl
CSh3b3JraW5nIGNvcHkpCkBAIC0xOSw2ICsxOSw4IEBAIGxpc3QoQVBQRU5EIFdlYktpdDJfU09V
UkNFUwogICAgIFBsYXRmb3JtL0lQQy91bml4L0F0dGFjaG1lbnRVbml4LmNwcAogICAgIFBsYXRm
b3JtL0lQQy91bml4L0Nvbm5lY3Rpb25Vbml4LmNwcAogCisgICAgUGxhdGZvcm0vY2xhc3NpZmll
ci9SZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllckJhc2UuY3BwCisKICAgICBQbGF0Zm9y
bS9lZmwvTW9kdWxlRWZsLmNwcAogCiAgICAgUGxhdGZvcm0vdW5peC9Mb2dnaW5nVW5peC5jcHAK
QEAgLTIzOCw2ICsyNDAsNyBAQCBsaXN0KEFQUEVORCBXZWJLaXQyX0lOQ0xVREVfRElSRUNUT1JJ
RVMKICAgICAiJHtXRUJLSVQyX0RJUn0vTmV0d29ya1Byb2Nlc3MvZWZsIgogICAgICIke1dFQktJ
VDJfRElSfS9OZXR3b3JrUHJvY2Vzcy9zb3VwIgogICAgICIke1dFQktJVDJfRElSfS9OZXR3b3Jr
UHJvY2Vzcy91bml4IgorICAgICIke1dFQktJVDJfRElSfS9QbGF0Zm9ybS9jbGFzc2lmaWVyIgog
ICAgICIke1dFQktJVDJfRElSfS9QbGF0Zm9ybS9lZmwiCiAgICAgIiR7V0VCS0lUMl9ESVJ9L1No
YXJlZC9BUEkvYy9lZmwiCiAgICAgIiR7V0VCS0lUMl9ESVJ9L1NoYXJlZC9Db29yZGluYXRlZEdy
YXBoaWNzIgpJbmRleDogU291cmNlL1dlYktpdDIvUGxhdGZvcm1HVEsuY21ha2UKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYktpdDIvUGxhdGZvcm1HVEsuY21ha2UJKHJldmlzaW9uIDIxMjUyNCkK
KysrIFNvdXJjZS9XZWJLaXQyL1BsYXRmb3JtR1RLLmNtYWtlCSh3b3JraW5nIGNvcHkpCkBAIC00
Niw2ICs0Niw4IEBAIGxpc3QoQVBQRU5EIFdlYktpdDJfU09VUkNFUwogICAgIFBsYXRmb3JtL0lQ
Qy91bml4L0F0dGFjaG1lbnRVbml4LmNwcAogICAgIFBsYXRmb3JtL0lQQy91bml4L0Nvbm5lY3Rp
b25Vbml4LmNwcAogCisgICAgUGxhdGZvcm0vY2xhc3NpZmllci9SZXNvdXJjZUxvYWRTdGF0aXN0
aWNzQ2xhc3NpZmllckJhc2UuY3BwCisKICAgICBQbGF0Zm9ybS9nbGliL01vZHVsZUdsaWIuY3Bw
CiAKICAgICBQbGF0Zm9ybS91bml4L0xvZ2dpbmdVbml4LmNwcApAQCAtODUyLDYgKzg1NCw3IEBA
IGxpc3QoQVBQRU5EIFdlYktpdDJfSU5DTFVERV9ESVJFQ1RPUklFUwogICAgICIke1dFQktJVDJf
RElSfS9OZXR3b3JrUHJvY2Vzcy9zb3VwIgogICAgICIke1dFQktJVDJfRElSfS9OZXR3b3JrUHJv
Y2Vzcy91bml4IgogICAgICIke1dFQktJVDJfRElSfS9QbGF0Zm9ybS9JUEMvZ2xpYiIKKyAgICAi
JHtXRUJLSVQyX0RJUn0vUGxhdGZvcm0vY2xhc3NpZmllciIKICAgICAiJHtXRUJLSVQyX0RJUn0v
U2hhcmVkL0FQSS9jL2d0ayIKICAgICAiJHtXRUJLSVQyX0RJUn0vU2hhcmVkL1BsdWdpbnMvdW5p
eCIKICAgICAiJHtXRUJLSVQyX0RJUn0vU2hhcmVkL2dsaWIiCkluZGV4OiBTb3VyY2UvV2ViS2l0
Mi9QbGF0Zm9ybU1hYy5jbWFrZQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9QbGF0Zm9y
bU1hYy5jbWFrZQkocmV2aXNpb24gMjEyNTI0KQorKysgU291cmNlL1dlYktpdDIvUGxhdGZvcm1N
YWMuY21ha2UJKHdvcmtpbmcgY29weSkKQEAgLTQ5LDYgKzQ5LDEwIEBAIGxpc3QoQVBQRU5EIFdl
YktpdDJfU09VUkNFUwogCiAgICAgUGxhdGZvcm0vY2cvQ0dVdGlsaXRpZXMuY3BwCiAKKyAgICBQ
bGF0Zm9ybS9jbGFzc2lmaWVyL1Jlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQmFzZS5j
cHAKKworICAgIFBsYXRmb3JtL2NsYXNzaWZpZXIvY29jb2EvUmVzb3VyY2VMb2FkU3RhdGlzdGlj
c0NsYXNzaWZpZXJDb2NvYS5jcHAKKwogICAgIFBsYXRmb3JtL2ZvdW5kYXRpb24vTG9nZ2luZ0Zv
dW5kYXRpb24ubW0KIAogICAgIFBsYXRmb3JtL2NvY29hL1NoYXJlZE1lbW9yeUNvY29hLmNwcApA
QCAtMzkyLDYgKzM5Niw4IEBAIGxpc3QoQVBQRU5EIFdlYktpdDJfSU5DTFVERV9ESVJFQ1RPUklF
UwogICAgICIke1dFQktJVDJfRElSfS9VSVByb2Nlc3MvU2Nyb2xsaW5nIgogICAgICIke1dFQktJ
VDJfRElSfS9VSVByb2Nlc3MvaW9zIgogICAgICIke1dFQktJVDJfRElSfS9QbGF0Zm9ybS9jZyIK
KyAgICAiJHtXRUJLSVQyX0RJUn0vUGxhdGZvcm0vY2xhc3NpZmllciIKKyAgICAiJHtXRUJLSVQy
X0RJUn0vUGxhdGZvcm0vY2xhc3NpZmllci9jb2NvYSIKICAgICAiJHtXRUJLSVQyX0RJUn0vUGxh
dGZvcm0vbWFjIgogICAgICIke1dFQktJVDJfRElSfS9QbGF0Zm9ybS91bml4IgogICAgICIke1dF
QktJVDJfRElSfS9QbGF0Zm9ybS9zcGkvQ29jb2EiCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9Db25m
aWd1cmF0aW9ucy9CYXNlVGFyZ2V0LnhjY29uZmlnCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQyL0NvbmZpZ3VyYXRpb25zL0Jhc2VUYXJnZXQueGNjb25maWcJKHJldmlzaW9uIDIxMjUyNCkK
KysrIFNvdXJjZS9XZWJLaXQyL0NvbmZpZ3VyYXRpb25zL0Jhc2VUYXJnZXQueGNjb25maWcJKHdv
cmtpbmcgY29weSkKQEAgLTMyLDcgKzMyLDcgQEAgV0tfUFJJVkFURV9GUkFNRVdPUktTX0RJUl9b
c2RrPWlwaG9uZW9zKgogV0tfUFJJVkFURV9GUkFNRVdPUktTX0RJUl9pcGhvbmVvc19ZRVMgPSAk
KFNSQ1JPT1QpLy4uLy4uL1dlYktpdExpYnJhcmllcy9XZWJLaXRQcml2YXRlRnJhbWV3b3JrU3R1
YnMvaU9TLyQoV0tfVEFSR0VUX0lPU19WRVJTSU9OX01BSk9SKTsKIFdLX1BSSVZBVEVfRlJBTUVX
T1JLU19ESVJfaXBob25lb3NfTk8gPSAkKFBST0RVQ1RJT05fRlJBTUVXT1JLU19ESVIpOwogCi1G
UkFNRVdPUktfU0VBUkNIX1BBVEhTX2Jhc2UgPSAiJChVTUJSRUxMQV9GUkFNRVdPUktTX0RJUiki
ICQoRlJBTUVXT1JLX1NFQVJDSF9QQVRIUyk7CitGUkFNRVdPUktfU0VBUkNIX1BBVEhTX2Jhc2Ug
PSAiJChVTUJSRUxMQV9GUkFNRVdPUktTX0RJUikiIC9TeXN0ZW0vTGlicmFyeS9Qcml2YXRlRnJh
bWV3b3JrcyAkKEZSQU1FV09SS19TRUFSQ0hfUEFUSFMpOwogRlJBTUVXT1JLX1NFQVJDSF9QQVRI
U1tzZGs9aXBob25lKl0gPSAkKEZSQU1FV09SS19TRUFSQ0hfUEFUSFNfYmFzZSkgJChXS19QUklW
QVRFX0ZSQU1FV09SS1NfRElSKTsKIEZSQU1FV09SS19TRUFSQ0hfUEFUSFMgPSAkKEZSQU1FV09S
S19TRUFSQ0hfUEFUSFNfYmFzZSk7CiAKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL0NvbmZpZ3VyYXRp
b25zL1dlYktpdC54Y2NvbmZpZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9Db25maWd1
cmF0aW9ucy9XZWJLaXQueGNjb25maWcJKHJldmlzaW9uIDIxMjUyNCkKKysrIFNvdXJjZS9XZWJL
aXQyL0NvbmZpZ3VyYXRpb25zL1dlYktpdC54Y2NvbmZpZwkod29ya2luZyBjb3B5KQpAQCAtMzQs
MTIgKzM0LDE0IEBAIE1PRFVMRU1BUF9GSUxFW3Nkaz1pcGhvbmUqXT1Nb2R1bGVzL2lPUy4KIElO
U1RBTExfUEFUSCA9ICQoV0VCS0lUX0ZSQU1FV09SS1NfRElSKTsKIERZTElCX0lOU1RBTExfTkFN
RV9CQVNFID0gJChOT1JNQUxfV0VCS0lUX0ZSQU1FV09SS1NfRElSKTsKIAotRlJBTUVXT1JLX0FO
RF9MSUJSQVJZX0xERkxBR1NfQkFTRV9pb3MgPSAtbG9iamMgLWZyYW1ld29yayBBc3NlcnRpb25T
ZXJ2aWNlcyAtZnJhbWV3b3JrIENGTmV0d29yayAtZnJhbWV3b3JrIENvcmVGb3VuZGF0aW9uIC1m
cmFtZXdvcmsgQ29yZUdyYXBoaWNzIC1mcmFtZXdvcmsgQ29yZVBERiAtZnJhbWV3b3JrIENvcmVU
ZXh0IC1mcmFtZXdvcmsgRm91bmRhdGlvbiAtZnJhbWV3b3JrIEdyYXBoaWNzU2VydmljZXMgLWZy
YW1ld29yayBJbWFnZUlPIC1mcmFtZXdvcmsgVUlLaXQgLWZyYW1ld29yayBPcGVuR0xFUyAtZnJh
bWV3b3JrIE1vYmlsZUNvcmVTZXJ2aWNlcyAtbE1vYmlsZUdlc3RhbHQgJChGUkFNRVdPUktfQU5E
X0xJQlJBUllfTERGTEFHU19QTEFURk9STV8kKFBMQVRGT1JNX05BTUUpKTsKK0ZSQU1FV09SS19B
TkRfTElCUkFSWV9MREZMQUdTX0JBU0VfaW9zID0gLWxvYmpjIC1mcmFtZXdvcmsgQXNzZXJ0aW9u
U2VydmljZXMgLWZyYW1ld29yayBDRk5ldHdvcmsgLWZyYW1ld29yayBDb3JlRm91bmRhdGlvbiAt
ZnJhbWV3b3JrIENvcmVHcmFwaGljcyAtZnJhbWV3b3JrIENvcmVQREYgLWZyYW1ld29yayBDb3Jl
UHJlZGljdGlvbiAtZnJhbWV3b3JrIENvcmVUZXh0IC1mcmFtZXdvcmsgRm91bmRhdGlvbiAtZnJh
bWV3b3JrIEdyYXBoaWNzU2VydmljZXMgLWZyYW1ld29yayBJbWFnZUlPIC1mcmFtZXdvcmsgVUlL
aXQgLWZyYW1ld29yayBPcGVuR0xFUyAtZnJhbWV3b3JrIE1vYmlsZUNvcmVTZXJ2aWNlcyAtbE1v
YmlsZUdlc3RhbHQgJChGUkFNRVdPUktfQU5EX0xJQlJBUllfTERGTEFHU19QTEFURk9STV8kKFBM
QVRGT1JNX05BTUUpKTsKIEZSQU1FV09SS19BTkRfTElCUkFSWV9MREZMQUdTW3Nkaz1pcGhvbmVv
cypdID0gJChGUkFNRVdPUktfQU5EX0xJQlJBUllfTERGTEFHU19CQVNFX2lvcykgLWZyYW1ld29y
ayBJT1N1cmZhY2U7CiBGUkFNRVdPUktfQU5EX0xJQlJBUllfTERGTEFHU1tzZGs9aXBob25lc2lt
dWxhdG9yKl0gPSAkKEZSQU1FV09SS19BTkRfTElCUkFSWV9MREZMQUdTX0JBU0VfaW9zKTsKIEZS
QU1FV09SS19BTkRfTElCUkFSWV9MREZMQUdTX1BMQVRGT1JNX2lwaG9uZW9zID0gOwogRlJBTUVX
T1JLX0FORF9MSUJSQVJZX0xERkxBR1NfUExBVEZPUk1faXBob25lc2ltdWxhdG9yID0gOwotRlJB
TUVXT1JLX0FORF9MSUJSQVJZX0xERkxBR1Nbc2RrPW1hY29zeCpdID0gLWZyYW1ld29yayBBcHBs
aWNhdGlvblNlcnZpY2VzIC1mcmFtZXdvcmsgQ2FyYm9uIC1mcmFtZXdvcmsgQ29jb2EgLWZyYW1l
d29yayBDb3JlU2VydmljZXMgLWZyYW1ld29yayBJT0tpdCAtZnJhbWV3b3JrIENvcmVBdWRpbyAt
ZnJhbWV3b3JrIElPU3VyZmFjZSAtZnJhbWV3b3JrIE9wZW5HTDsKK0ZSQU1FV09SS19BTkRfTElC
UkFSWV9MREZMQUdTW3Nkaz1tYWNvc3gqXSA9IC1mcmFtZXdvcmsgQXBwbGljYXRpb25TZXJ2aWNl
cyAtZnJhbWV3b3JrIENhcmJvbiAtZnJhbWV3b3JrIENvY29hIC1mcmFtZXdvcmsgQ29yZVNlcnZp
Y2VzIC1mcmFtZXdvcmsgSU9LaXQgLWZyYW1ld29yayBDb3JlQXVkaW8gLWZyYW1ld29yayBJT1N1
cmZhY2UgLWZyYW1ld29yayBPcGVuR0wgJChFWFRSQV9GUkFNRVdPUktfQU5EX0xJQlJBUllfTERG
TEFHU18kKFRBUkdFVF9NQUNfT1NfWF9WRVJTSU9OX01BSk9SKSk7CitFWFRSQV9GUkFNRVdPUktf
QU5EX0xJQlJBUllfTERGTEFHU18xMDEyMDAgPSAtZnJhbWV3b3JrIENvcmVQcmVkaWN0aW9uOwor
RVhUUkFfRlJBTUVXT1JLX0FORF9MSUJSQVJZX0xERkxBR1NfMTAxMzAwID0gLWZyYW1ld29yayBD
b3JlUHJlZGljdGlvbjsKIAogLy8gUHJldmVudCBDKysgc3RhbmRhcmQgbGlicmFyeSBvcGVyYXRv
ciBuZXcsIGRlbGV0ZSBhbmQgdGhlaXIgcmVsYXRlZCBleGNlcHRpb24gdHlwZXMgZnJvbSBiZWlu
ZyBleHBvcnRlZCBhcyB3ZWFrIHN5bWJvbHMuCiBVTkVYUE9SVEVEX1NZTUJPTF9MREZMQUdTID0g
LVdsLC11bmV4cG9ydGVkX3N5bWJvbCAtV2wsX19aVElTdDliYWRfYWxsb2MgLVdsLC11bmV4cG9y
dGVkX3N5bWJvbCAtV2wsX19aVElTdDlleGNlcHRpb24gLVdsLC11bmV4cG9ydGVkX3N5bWJvbCAt
V2wsX19aVFNTdDliYWRfYWxsb2MgLVdsLC11bmV4cG9ydGVkX3N5bWJvbCAtV2wsX19aVFNTdDll
eGNlcHRpb24gLVdsLC11bmV4cG9ydGVkX3N5bWJvbCAtV2wsX19aZGxQdlNfIC1XbCwtdW5leHBv
cnRlZF9zeW1ib2wgLVdsLF9fWm53bVB2IC1XbCwtdW5leHBvcnRlZF9zeW1ib2wgLVdsLF9fWm53
bSAtV2wsLXVuZXhwb3J0ZWRfc3ltYm9sLCAtV2wsX19aTlN0M19fMThmdW5jdGlvbklGdk43V2Vi
Q29yZTEyUG9saWN5QWN0aW9uRUVFQzJFT1M0XyAtV2wsLXVuZXhwb3J0ZWRfc3ltYm9sLCAtV2ws
X19aTlN0M19fMThmdW5jdGlvbklGdk43V2ViQ29yZTEyUG9saWN5QWN0aW9uRUVFQzFFT1M0XyAt
V2wsLXVuZXhwb3J0ZWRfc3ltYm9sLCAtV2wsX19aTlN0M19fMThmdW5jdGlvbklGdk43V2ViQ29y
ZTEyUG9saWN5QWN0aW9uRUVFYVNFRG4gLVdsLC11bmV4cG9ydGVkX3N5bWJvbCwgLVdsLF9fWk5L
U3QzX18xOGZ1bmN0aW9uSUZ2TjdXZWJDb3JlMTJQb2xpY3lBY3Rpb25FRUVjbEVTMl8gLVdsLC11
bmV4cG9ydGVkX3N5bWJvbCwgLVdsLF9fWk5TdDNfXzE4ZnVuY3Rpb25JRnZON1dlYkNvcmUxMlBv
bGljeUFjdGlvbkVFRTRzd2FwRVJTNF8gLVdsLC11bmV4cG9ydGVkX3N5bWJvbCwgLVdsLF9fWk5T
dDNfXzE4ZnVuY3Rpb25JRnZON1dlYkNvcmUxMlBvbGljeUFjdGlvbkVFRUMxRVJLUzRfIC1XbCwt
dW5leHBvcnRlZF9zeW1ib2wsIC1XbCxfX1pOU3QzX18xOGZ1bmN0aW9uSUZ2TjdXZWJDb3JlMTJQ
b2xpY3lBY3Rpb25FRUVDMkVSS1M0XyAtV2wsLXVuZXhwb3J0ZWRfc3ltYm9sLCAtV2wsX19aTlN0
M19fMThmdW5jdGlvbklGdk43V2ViQ29yZTEyUG9saWN5QWN0aW9uRUVFRDFFdiAtV2wsLXVuZXhw
b3J0ZWRfc3ltYm9sLCAtV2wsX19aTlN0M19fMThmdW5jdGlvbklGdk43V2ViQ29yZTEyUG9saWN5
QWN0aW9uRUVFRDJFdiAtV2wsLXVuZXhwb3J0ZWRfc3ltYm9sLCAtV2wsX19aTlN0M19fMThmdW5j
dGlvbklGdk43V2ViQ29yZTEyUG9saWN5QWN0aW9uRUVFYVNFUktTNF8gLVdsLC11bmV4cG9ydGVk
X3N5bWJvbCwgLVdsLF9fWlRWTlN0M19fMTE3YmFkX2Z1bmN0aW9uX2NhbGxFOwpJbmRleDogU291
cmNlL1dlYktpdDIvUGxhdGZvcm0vY2xhc3NpZmllci9SZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xh
c3NpZmllci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL2NsYXNzaWZp
ZXIvUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXIuaAkobm9uZXhpc3RlbnQpCisrKyBT
b3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9jbGFzc2lmaWVyL1Jlc291cmNlTG9hZFN0YXRpc3RpY3ND
bGFzc2lmaWVyLmgJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw1MiBAQAorLyoKKyAqIENvcHly
aWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisg
KgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09O
VFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisg
KiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9S
IElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklU
UzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICog
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisK
KyNwcmFnbWEgb25jZQorCisjaW5jbHVkZSA8d3RmL1BsYXRmb3JtLmg+CisKKyNpZiBQTEFURk9S
TShDT0NPQSkKKyNpbmNsdWRlICJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllckNvY29h
LmgiCisjZWxzZQorCisjaW5jbHVkZSAiUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXJC
YXNlLmgiCisKK25hbWVzcGFjZSBXZWJLaXQgeworCitjbGFzcyBSZXNvdXJjZUxvYWRTdGF0aXN0
aWNzQ2xhc3NpZmllciA6IHB1YmxpYyBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllckJh
c2UgeworcHVibGljOgorICAgIFJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyKCkKKyAg
ICA6IFJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQmFzZSgpIHsgfQorICAgIAorcHJv
dGVjdGVkOgorICAgIGJvb2wgY2xhc3NpZnkoY29uc3QgdW5zaWduZWQgYSwgY29uc3QgdW5zaWdu
ZWQgYiwgY29uc3QgdW5zaWduZWQgYykgb3ZlcnJpZGUKKyAgICB7CisgICAgICAgIHJldHVybiBj
bGFzc2lmeVdpdGhWZWN0b3JUaHJlc2hvbGQoYSwgYiwgYyk7CisgICAgfQorfTsKKworfQorCisj
ZW5kaWYKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL2NsYXNzaWZpZXIvUmVzb3VyY2VM
b2FkU3RhdGlzdGljc0NsYXNzaWZpZXJCYXNlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0Mi9QbGF0Zm9ybS9jbGFzc2lmaWVyL1Jlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVy
QmFzZS5jcHAJKG5vbmV4aXN0ZW50KQorKysgU291cmNlL1dlYktpdDIvUGxhdGZvcm0vY2xhc3Np
Zmllci9SZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllckJhc2UuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC0wLDAgKzEsNjAgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisg
KiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAq
IEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1F
RC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBC
RSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBF
WEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisj
aW5jbHVkZSAiUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXJCYXNlLmgiCisKKyNpbmNs
dWRlIDxXZWJDb3JlL1Jlc291cmNlTG9hZFN0YXRpc3RpY3MuaD4KKwordXNpbmcgbmFtZXNwYWNl
IFdlYkNvcmU7CisKK25hbWVzcGFjZSBXZWJLaXQgeworCitzdGF0aWMgY29uc3QgYXV0byBmZWF0
dXJlVmVjdG9yTGVuZ3RoVGhyZXNob2xkID0gMzsKK2Jvb2wgUmVzb3VyY2VMb2FkU3RhdGlzdGlj
c0NsYXNzaWZpZXJCYXNlOjpoYXNQcmV2YWxlbnRSZXNvdXJjZUNoYXJhY3RlcmlzdGljcyhjb25z
dCBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzJiByZXNvdXJjZVN0YXRpc3RpYykKK3sKKyAgICBhdXRv
IHN1YnJlc291cmNlVW5kZXJUb3BGcmFtZU9yaWdpbnNDb3VudCA9IHJlc291cmNlU3RhdGlzdGlj
LnN1YnJlc291cmNlVW5kZXJUb3BGcmFtZU9yaWdpbnMuc2l6ZSgpOworICAgIGF1dG8gc3VicmVz
b3VyY2VVbmlxdWVSZWRpcmVjdHNUb0NvdW50ID0gcmVzb3VyY2VTdGF0aXN0aWMuc3VicmVzb3Vy
Y2VVbmlxdWVSZWRpcmVjdHNUby5zaXplKCk7CisgICAgYXV0byBzdWJmcmFtZVVuZGVyVG9wRnJh
bWVPcmlnaW5zQ291bnQgPSByZXNvdXJjZVN0YXRpc3RpYy5zdWJmcmFtZVVuZGVyVG9wRnJhbWVP
cmlnaW5zLnNpemUoKTsKKyAgICAKKyAgICBpZiAoIXN1YnJlc291cmNlVW5kZXJUb3BGcmFtZU9y
aWdpbnNDb3VudAorICAgICAgICAmJiAhc3VicmVzb3VyY2VVbmlxdWVSZWRpcmVjdHNUb0NvdW50
CisgICAgICAgICYmICFzdWJmcmFtZVVuZGVyVG9wRnJhbWVPcmlnaW5zQ291bnQpCisgICAgICAg
IHJldHVybiBmYWxzZTsKKyAgICAKKyAgICBpZiAoc3VicmVzb3VyY2VVbmRlclRvcEZyYW1lT3Jp
Z2luc0NvdW50ID4gZmVhdHVyZVZlY3Rvckxlbmd0aFRocmVzaG9sZAorICAgICAgICB8fCBzdWJy
ZXNvdXJjZVVuaXF1ZVJlZGlyZWN0c1RvQ291bnQgPiBmZWF0dXJlVmVjdG9yTGVuZ3RoVGhyZXNo
b2xkCisgICAgICAgIHx8IHN1YmZyYW1lVW5kZXJUb3BGcmFtZU9yaWdpbnNDb3VudCA+IGZlYXR1
cmVWZWN0b3JMZW5ndGhUaHJlc2hvbGQpCisgICAgICAgIHJldHVybiB0cnVlOworCisgICAgcmV0
dXJuIGNsYXNzaWZ5KHN1YnJlc291cmNlVW5kZXJUb3BGcmFtZU9yaWdpbnNDb3VudCwgc3VicmVz
b3VyY2VVbmlxdWVSZWRpcmVjdHNUb0NvdW50LCBzdWJmcmFtZVVuZGVyVG9wRnJhbWVPcmlnaW5z
Q291bnQpOworfQorCitib29sIFJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQmFzZTo6
Y2xhc3NpZnlXaXRoVmVjdG9yVGhyZXNob2xkKGNvbnN0IHVuc2lnbmVkIGEsIGNvbnN0IHVuc2ln
bmVkIGIsIGNvbnN0IHVuc2lnbmVkIGMpCit7CisgICAgcmV0dXJuIHNxcnQoYSAqIGEgKyBiICog
YiArIGMgKiBjKSA+IGZlYXR1cmVWZWN0b3JMZW5ndGhUaHJlc2hvbGQ7Cit9CisgICAgCit9Cklu
ZGV4OiBTb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9jbGFzc2lmaWVyL1Jlc291cmNlTG9hZFN0YXRp
c3RpY3NDbGFzc2lmaWVyQmFzZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1BsYXRm
b3JtL2NsYXNzaWZpZXIvUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXJCYXNlLmgJKG5v
bmV4aXN0ZW50KQorKysgU291cmNlL1dlYktpdDIvUGxhdGZvcm0vY2xhc3NpZmllci9SZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllckJhc2UuaAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsx
LDQ0IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAq
IDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQor
ICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQ
UExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJF
U1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywK
KyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
IEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5U
IFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBB
TlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgor
ICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywg
UFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0Yg
VVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAq
IENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKK25hbWVzcGFjZSBXZWJDb3JlIHsK
K3N0cnVjdCBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzOworfQorCituYW1lc3BhY2UgV2ViS2l0IHsK
KworY2xhc3MgUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXJCYXNlIHsKK3B1YmxpYzoK
KyAgICBib29sIGhhc1ByZXZhbGVudFJlc291cmNlQ2hhcmFjdGVyaXN0aWNzKGNvbnN0IFdlYkNv
cmU6OlJlc291cmNlTG9hZFN0YXRpc3RpY3MmIHJlc291cmNlU3RhdGlzdGljKTsKK3Byb3RlY3Rl
ZDoKKyAgICBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllckJhc2UoKSB7IH0KKyAgICB2
aXJ0dWFsIH5SZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllckJhc2UoKSB7IH0KKyAgICB2
aXJ0dWFsIGJvb2wgY2xhc3NpZnkoY29uc3QgdW5zaWduZWQsIGNvbnN0IHVuc2lnbmVkLCBjb25z
dCB1bnNpZ25lZCkgPSAwOworICAgIGJvb2wgY2xhc3NpZnlXaXRoVmVjdG9yVGhyZXNob2xkKGNv
bnN0IHVuc2lnbmVkLCBjb25zdCB1bnNpZ25lZCwgY29uc3QgdW5zaWduZWQpOworfTsKKworfQpJ
bmRleDogU291cmNlL1dlYktpdDIvUGxhdGZvcm0vY2xhc3NpZmllci9jb2NvYS9Db3JlUHJlZGlj
dGlvblNQSS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL2NsYXNzaWZp
ZXIvY29jb2EvQ29yZVByZWRpY3Rpb25TUEkuaAkobm9uZXhpc3RlbnQpCisrKyBTb3VyY2UvV2Vi
S2l0Mi9QbGF0Zm9ybS9jbGFzc2lmaWVyL2NvY29hL0NvcmVQcmVkaWN0aW9uU1BJLmgJKHdvcmtp
bmcgY29weSkKQEAgLTAsMCArMSw0MSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBs
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMn
JworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVND
TEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMK
KyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJ
QUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAq
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICog
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisj
aWYgVVNFKEFQUExFX0lOVEVSTkFMX1NESykgJiYgSEFWRShDT1JFX1BSRURJQ1RJT04pCisjaW5j
bHVkZSA8Q29yZVByZWRpY3Rpb24vc3ZtLmg+CisjZWxzZQorCitzdHJ1Y3Qgc3ZtX25vZGUgewor
ICAgIGludCBpbmRleDsKKyAgICBkb3VibGUgdmFsdWU7Cit9OworCitzdHJ1Y3Qgc3ZtX21vZGVs
IHsgfTsKKworZG91YmxlIHN2bV9wcmVkaWN0X3ZhbHVlcyhjb25zdCBzdHJ1Y3Qgc3ZtX21vZGVs
KiwgY29uc3Qgc3RydWN0IHN2bV9ub2RlKiwgZG91YmxlKik7CisKKyNlbmRpZgpJbmRleDogU291
cmNlL1dlYktpdDIvUGxhdGZvcm0vY2xhc3NpZmllci9jb2NvYS9SZXNvdXJjZUxvYWRTdGF0aXN0
aWNzQ2xhc3NpZmllckNvY29hLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9QbGF0
Zm9ybS9jbGFzc2lmaWVyL2NvY29hL1Jlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQ29j
b2EuY3BwCShub25leGlzdGVudCkKKysrIFNvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL2NsYXNzaWZp
ZXIvY29jb2EvUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXJDb2NvYS5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTAsMCArMSwxMTUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBw
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElT
JycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JT
CisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVD
SUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisg
KiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQg
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAq
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmln
LmgiCisjaW5jbHVkZSAiUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXJDb2NvYS5oIgor
CisjaW5jbHVkZSAiTG9nZ2luZy5oIgorCituYW1lc3BhY2UgV2ViS2l0IHsKKworYm9vbCBSZXNv
dXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllcjo6Y2xhc3NpZnkoY29uc3QgdW5zaWduZWQgc3Vi
cmVzb3VyY2VVbmRlclRvcEZyYW1lT3JpZ2luc0NvdW50LCBjb25zdCB1bnNpZ25lZCBzdWJyZXNv
dXJjZVVuaXF1ZVJlZGlyZWN0c1RvQ291bnQsIGNvbnN0IHVuc2lnbmVkIHN1YmZyYW1lVW5kZXJU
b3BGcmFtZU9yaWdpbnNDb3VudCkKK3sKKyAgICBpZiAoIXNob3VsZFVzZUNvcmVQcmVkaWN0aW9u
KCkpCisgICAgICAgIHJldHVybiBjbGFzc2lmeVdpdGhWZWN0b3JUaHJlc2hvbGQoc3VicmVzb3Vy
Y2VVbmRlclRvcEZyYW1lT3JpZ2luc0NvdW50LCBzdWJyZXNvdXJjZVVuaXF1ZVJlZGlyZWN0c1Rv
Q291bnQsIHN1YmZyYW1lVW5kZXJUb3BGcmFtZU9yaWdpbnNDb3VudCk7CisKKyNpZiBIQVZFKENP
UkVfUFJFRElDVElPTikKKyAgICBWZWN0b3I8dW5zaWduZWQ+IG5vblplcm9GZWF0dXJlczsKKyAg
ICBWZWN0b3I8dW5zaWduZWQ+IGluZGljZXM7CisKKyAgICBpZiAoc3VicmVzb3VyY2VVbmRlclRv
cEZyYW1lT3JpZ2luc0NvdW50KSB7CisgICAgICAgIG5vblplcm9GZWF0dXJlcy5hcHBlbmQoc3Vi
cmVzb3VyY2VVbmRlclRvcEZyYW1lT3JpZ2luc0NvdW50KTsKKyAgICAgICAgaW5kaWNlcy5hcHBl
bmQoMSk7CisgICAgfQorICAgIGlmIChzdWJyZXNvdXJjZVVuaXF1ZVJlZGlyZWN0c1RvQ291bnQp
IHsKKyAgICAgICAgbm9uWmVyb0ZlYXR1cmVzLmFwcGVuZChzdWJyZXNvdXJjZVVuaXF1ZVJlZGly
ZWN0c1RvQ291bnQpOworICAgICAgICBpbmRpY2VzLmFwcGVuZCgyKTsKKyAgICB9CisgICAgaWYg
KHN1YmZyYW1lVW5kZXJUb3BGcmFtZU9yaWdpbnNDb3VudCkgeworICAgICAgICBub25aZXJvRmVh
dHVyZXMuYXBwZW5kKHN1YmZyYW1lVW5kZXJUb3BGcmFtZU9yaWdpbnNDb3VudCk7CisgICAgICAg
IGluZGljZXMuYXBwZW5kKDMpOworICAgIH0KKworICAgIHN2bV9ub2RlKiBleGFtcGxlVmVjdG9y
ID0gbmV3IHN2bV9ub2RlW25vblplcm9GZWF0dXJlcy5zaXplKCkgKyAxXTsKKyAgICBmb3IgKHNp
emVfdCBpID0gMDsgaSA8IG5vblplcm9GZWF0dXJlcy5zaXplKCk7IGkrKykgeworICAgICAgICBl
eGFtcGxlVmVjdG9yW2ldLmluZGV4ID0gaW5kaWNlcy5hdChpKTsKKyAgICAgICAgZXhhbXBsZVZl
Y3RvcltpXS52YWx1ZSA9IG5vblplcm9GZWF0dXJlcy5hdChpKTsKKyAgICB9CisgICAgLy8gQWRk
IHRlcm1pbmF0aW9uIG5vZGUgd2l0aCBpbmRleCAtMS4KKyAgICBleGFtcGxlVmVjdG9yW25vblpl
cm9GZWF0dXJlcy5zaXplKCldLmluZGV4ID0gLTE7CisgICAgZXhhbXBsZVZlY3Rvcltub25aZXJv
RmVhdHVyZXMuc2l6ZSgpXS52YWx1ZSA9IC0xOworCisgICAgaW50IGNsYXNzaWZpY2F0aW9uOwor
ICAgIGRvdWJsZSBzY29yZTsKKyAgICBjbGFzc2lmaWNhdGlvbiA9IHN2bV9wcmVkaWN0X3ZhbHVl
cyhtX2NvcmVQcmVkaWN0aW9uTW9kZWwsIGV4YW1wbGVWZWN0b3IsICZzY29yZSk7CisgICAgZGVs
ZXRlW10gZXhhbXBsZVZlY3RvcjsKKyAgICByZXR1cm4gY2xhc3NpZmljYXRpb24gPCAwOworI2Vu
ZGlmCisgICAgcmV0dXJuIGZhbHNlOworfQorCitTdHJpbmcgUmVzb3VyY2VMb2FkU3RhdGlzdGlj
c0NsYXNzaWZpZXI6OnN0b3JhZ2VQYXRoKCkKK3sKKyAgICBDRkJ1bmRsZVJlZiB3ZWJLaXRCdW5k
bGUgPSBDRkJ1bmRsZUdldEJ1bmRsZVdpdGhJZGVudGlmaWVyKENGU1RSKCJjb20uYXBwbGUuV2Vi
S2l0IikpOworICAgIENGVVJMUmVmIHJlc291cmNlVXJsID0gQ0ZCdW5kbGVDb3B5UmVzb3VyY2Vz
RGlyZWN0b3J5VVJMKHdlYktpdEJ1bmRsZSk7CisgICAgcmVzb3VyY2VVcmwgPSBDRlVSTENyZWF0
ZUNvcHlBcHBlbmRpbmdQYXRoQ29tcG9uZW50KG51bGxwdHIsIHJlc291cmNlVXJsLCBDRlNUUigi
Y29yZVByZWRpY3Rpb25fbW9kZWwiKSwgZmFsc2UpOworICAgIENGRXJyb3JSZWYgZXJyb3IgPSBu
dWxscHRyOworICAgIHJlc291cmNlVXJsID0gQ0ZVUkxDcmVhdGVGaWxlUGF0aFVSTChudWxscHRy
LCByZXNvdXJjZVVybCwgJmVycm9yKTsKKworICAgIGlmIChlcnJvciB8fCAhcmVzb3VyY2VVcmwp
CisgICAgICAgIHJldHVybiBTdHJpbmcoKTsKKworICAgIENGVVJMUGF0aFN0eWxlIHBhdGhTdHls
ZSA9IGtDRlVSTFBPU0lYUGF0aFN0eWxlOworICAgIENGU3RyaW5nUmVmIHJlc291cmNlVXJsU3Ry
aW5nID0gQ0ZVUkxDb3B5RmlsZVN5c3RlbVBhdGgocmVzb3VyY2VVcmwsIHBhdGhTdHlsZSk7Cisg
ICAgcmV0dXJuIFN0cmluZyhyZXNvdXJjZVVybFN0cmluZyk7Cit9CisKK2Jvb2wgUmVzb3VyY2VM
b2FkU3RhdGlzdGljc0NsYXNzaWZpZXI6OnNob3VsZFVzZUNvcmVQcmVkaWN0aW9uKCkKK3sKKyNp
ZiBIQVZFKENPUkVfUFJFRElDVElPTikKKyAgICBpZiAobV9jb3JlUHJlZGljdGlvbk1vZGVsKQor
ICAgICAgICByZXR1cm4gdHJ1ZTsKKworICAgIGlmICghbV91c2VDb3JlUHJlZGljdGlvbikKKyAg
ICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgU3RyaW5nIHN0b3JhZ2VQYXRoU3RyID0gc3RvcmFn
ZVBhdGgoKTsKKyAgICBpZiAoc3RvcmFnZVBhdGhTdHIuaXNOdWxsKCkgfHwgc3RvcmFnZVBhdGhT
dHIuaXNFbXB0eSgpKSB7CisgICAgICAgIG1fdXNlQ29yZVByZWRpY3Rpb24gPSBmYWxzZTsKKyAg
ICAgICAgcmV0dXJuIGZhbHNlOworICAgIH0KKworICAgIG1fY29yZVByZWRpY3Rpb25Nb2RlbCA9
IHN2bV9sb2FkX21vZGVsKChzdG9yYWdlUGF0aFN0cikudXRmOCgpLmRhdGEoKSk7CisgICAgCisg
ICAgaWYgKG1fY29yZVByZWRpY3Rpb25Nb2RlbCkKKyAgICAgICAgcmV0dXJuIHRydWU7CisKKyAg
ICBXVEZMb2dBbHdheXMoIlJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyOjpzaG91bGRV
c2VDb3JlUHJlZGljdGlvbigpOiBDb3VsZG4ndCBsb2FkIG1vZGVsIGZpbGUgYXQgcGF0aCAlcy4i
LCBzdG9yYWdlUGF0aFN0ci51dGY4KCkuZGF0YSgpKTsKKyAgICBtX3VzZUNvcmVQcmVkaWN0aW9u
ID0gZmFsc2U7CisjZW5kaWYKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKK30KSW5kZXg6IFNvdXJj
ZS9XZWJLaXQyL1BsYXRmb3JtL2NsYXNzaWZpZXIvY29jb2EvUmVzb3VyY2VMb2FkU3RhdGlzdGlj
c0NsYXNzaWZpZXJDb2NvYS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1BsYXRmb3Jt
L2NsYXNzaWZpZXIvY29jb2EvUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXJDb2NvYS5o
CShub25leGlzdGVudCkKKysrIFNvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL2NsYXNzaWZpZXIvY29j
b2EvUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXJDb2NvYS5oCSh3b3JraW5nIGNvcHkp
CkBAIC0wLDAgKzEsNTQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBh
cmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFO
RCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4g
SU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBM
SUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVN
UExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2lmIEhBVkUo
Q09SRV9QUkVESUNUSU9OKQorI2luY2x1ZGUgIkNvcmVQcmVkaWN0aW9uU1BJLmgiCisjZW5kaWYK
KyNpbmNsdWRlICJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllckJhc2UuaCIKKyNpbmNs
dWRlIDxDb3JlRm91bmRhdGlvbi9Db3JlRm91bmRhdGlvbi5oPgorI2luY2x1ZGUgPHd0Zi9QbGF0
Zm9ybS5oPgorI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgorCituYW1lc3BhY2UgV2Vi
S2l0IHsKKworY2xhc3MgUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXIgOiBwdWJsaWMg
UmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXJCYXNlIHsKKworcHVibGljOgorICAgIFJl
c291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyKCkKKyAgICAgICAgOiBSZXNvdXJjZUxvYWRT
dGF0aXN0aWNzQ2xhc3NpZmllckJhc2UoKSB7IH0KKworcHJpdmF0ZToKKyAgICBib29sIGNsYXNz
aWZ5KGNvbnN0IHVuc2lnbmVkLCBjb25zdCB1bnNpZ25lZCwgY29uc3QgdW5zaWduZWQpIG92ZXJy
aWRlOworICAgIFN0cmluZyBzdG9yYWdlUGF0aCgpOworICAgIGJvb2wgc2hvdWxkVXNlQ29yZVBy
ZWRpY3Rpb24oKTsKKyNpZiBIQVZFKENPUkVfUFJFRElDVElPTikKKyAgICBzdHJ1Y3Qgc3ZtX21v
ZGVsKiBtX2NvcmVQcmVkaWN0aW9uTW9kZWw7CisgICAgYm9vbCBtX3VzZUNvcmVQcmVkaWN0aW9u
IHsgdHJ1ZSB9OworI2VuZGlmCit9OworCit9CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9SZXNvdXJj
ZXMvUmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jb3JlUHJlZGljdGlvbl9tb2RlbAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViS2l0Mi9SZXNvdXJjZXMvUmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jb3Jl
UHJlZGljdGlvbl9tb2RlbAkobm9uZXhpc3RlbnQpCisrKyBTb3VyY2UvV2ViS2l0Mi9SZXNvdXJj
ZXMvUmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jb3JlUHJlZGljdGlvbl9tb2RlbAkod29ya2luZyBj
b3B5KQpAQCAtMCwwICsxLDY3OCBAQAorc3ZtX3R5cGUgY19zdmMKK2tlcm5lbF90eXBlIHJiZgor
Z2FtbWEgMC4xCitucl9jbGFzcyAyCit0b3RhbF9zdiAzMzAKK3JobyAwLjI4Nzk0NTY0MjI2MQor
bGFiZWwgLTEgMQorbnJfc3YgMzAwIDMwCitTVgorLTAuMDU0NjY5NzAzODcyNCAxOjE0LjAgMjoz
LjAgMzo3LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDI6MS4wIAorLTAuMDU0NjY5NzAzODcy
NCAxOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMzoxLjAgCistMC4wNTQ2Njk3MDM4NzI0
IDE6MTIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo3LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4w
IDI6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAzOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQg
MTozLjAgMjoxNi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAzOjEuMCAKKy0wLjA1NDY2OTcw
Mzg3MjQgMToxLjAgMjoyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDM6MS4wIAorLTAuMDU0
NjY5NzAzODcyNCAxOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTozLjAgMjoxLjAgCistMC4wNTQ2
Njk3MDM4NzI0IDE6NS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjE2LjAgMjoyLjAgMzoyLjAgCist
MC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDI6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjExLjAgCist
MC4wNTQ2Njk3MDM4NzI0IDE6NC4wIDM6My4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjI4LjAgCist
MC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAzOjEuMCAKKy0w
LjA1NDY2OTcwMzg3MjQgMToxLjAgMzoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MjIuMCAyOjEu
MCAzOjEyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MTQuMCAzOjUuMCAKKy0wLjA1NDY2OTcwMzg3
MjQgMToxLjAgMzoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6NDguMCAyOjEuMCAKKy0wLjA1NDY2
OTcwMzg3MjQgMToyNS4wIDM6MTYuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMjoxLjAgCist
MC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDM6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjYuMCAKKy0w
LjA1NDY2OTcwMzg3MjQgMTo3LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDI6MS4wIAorLTAu
MDU0NjY5NzAzODcyNCAxOjEuMCAzOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTozLjAgMzoyLjAg
CistMC4wNTQ2Njk3MDM4NzI0IDE6Ny4wIDI6MS4wIDM6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAx
OjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo3LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6NS4wIDI6
Mi4wIDM6My4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTox
LjAgMjoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6NC4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEu
MCAyOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMzoxLjAgCistMC4wNTQ2Njk3MDM4NzI0
IDE6OS4wIDM6NC4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAyOjEuMCAKKy0wLjA1NDY2OTcw
Mzg3MjQgMToxLjAgMzoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6NDcuMCAyOjIxLjAgMzozMy4w
IAorLTAuMDU0NjY5NzAzODcyNCAxOjExLjAgMjoyLjAgMzo1LjAgCistMC4wNTQ2Njk3MDM4NzI0
IDE6MTEuMCAyOjMuMCAzOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMzoxLjAgCistMC4w
NTQ2Njk3MDM4NzI0IDE6Mi4wIDI6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjQzLjAgMzoyLjAg
CistMC4wNTQ2Njk3MDM4NzI0IDE6MTMuMCAzOjcuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAg
MzoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6NC4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEzLjAg
Mzo0LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6NDIuMCAyOjQuMCAzOjMyLjAgCistMC4wNTQ2Njk3
MDM4NzI0IDE6MTAuMCAyOjUuMCAzOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo3LjAgMzo0LjAg
CistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAzOjEuMCAK
Ky0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMzoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Ni4wIAor
LTAuMDU0NjY5NzAzODcyNCAxOjEuMCAyOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo2LjAgCist
MC4wNTQ2Njk3MDM4NzI0IDE6MTYuMCAyOjQuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxMC4wIDI6
MS4wIDM6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjE4LjAgMjozLjAgMzo2LjAgCistMC4wNTQ2
Njk3MDM4NzI0IDE6MS4wIDM6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAyOjEuMCAKKy0w
LjA1NDY2OTcwMzg3MjQgMToyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6My4wIDI6MS4wIDM6MS4w
IAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAyOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTozLjAg
CistMC4wNTQ2Njk3MDM4NzI0IDE6My4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjQuMCAKKy0wLjA1
NDY2OTcwMzg3MjQgMToyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIDM6Mi4wIAorLTAuMDU0
NjY5NzAzODcyNCAxOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMzoxLjAgCistMC4wNTQ2
Njk3MDM4NzI0IDE6MjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAgCistMC4wNTQ2Njk3MDM4
NzI0IDE6Mi4wIDI6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjE0LjAgCistMC4wNTQ2Njk3MDM4
NzI0IDE6Mi4wIDI6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAzOjIuMCAKKy0wLjA1NDY2
OTcwMzg3MjQgMTo0LjAgMzozLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIDM6MS4wIAorLTAu
MDU0NjY5NzAzODcyNCAxOjMuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAgCistMC4wNTQ2Njk3
MDM4NzI0IDE6MS4wIDI6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjQuMCAKKy0wLjA1NDY2OTcw
Mzg3MjQgMTozOS4wIDM6NC4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcw
Mzg3MjQgMToyLjAgMjoxLjAgMzoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6NC4wIAorLTAuMDU0
NjY5NzAzODcyNCAxOjIuMCAyOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo0LjAgCistMC4wNTQ2
Njk3MDM4NzI0IDE6MS4wIDI6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAyOjIuMCAKKy0w
LjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIDI6MS4wIAorLTAu
MDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3
MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQg
MTozLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDI6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAx
OjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAor
LTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2
Njk3MDM4NzI0IDE6MS4wIDM6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2
OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcy
NCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4w
IAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4w
NTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcw
Mzg3MjQgMToxNi4wIDI6MS4wIDM6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1
NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDI6MS4wIAorLTAuMDU0
NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4
NzI0IDE6My4wIDI6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAzOjEuMCAKKy0wLjA1NDY2
OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcy
NCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4w
IAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyMC4wIDM6My4w
IAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAgCistMC4w
NTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcw
Mzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAx
OjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMzoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6
MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAzOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTox
LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6OC4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjcuMCAyOjEu
MCAzOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo4LjAgMjoyLjAgCistMC4wNTQ2Njk3MDM4NzI0
IDE6MS4wIDI6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQg
MToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDI6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAx
OjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAor
LTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2
Njk3MDM4NzI0IDE6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3
MjQgMToxMi4wIDM6Ny4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3
MjQgMTo5LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Ny4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEu
MCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMjoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4w
IDM6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo4LjAg
MjoyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MTcuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAg
MjoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAK
Ky0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0
NjY5NzAzODcyNCAxOjQuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4
NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEzLjAgMjo0LjAgMzoyLjAgCistMC4wNTQ2
Njk3MDM4NzI0IDE6MS4wIDM6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAzOjIuMCAKKy0w
LjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MTYuMCAKKy0wLjA1NDY2
OTcwMzg3MjQgMTozLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcy
NCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4w
IAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4w
NTQ2Njk3MDM4NzI0IDE6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAKKy0wLjA1NDY2OTcw
Mzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAx
OjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIAor
LTAuMDU0NjY5NzAzODcyNCAxOjMuMCAzOjMuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCist
MC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjExLjAgMzoxMS4wIAor
LTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2
Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAKKy0wLjA1NDY2OTcwMzg3
MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEu
MCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIAorLTAu
MDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3
MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQg
MToxNS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAg
CistMC4wNTQ2Njk3MDM4NzI0IDE6MjAuMCAyOjEyLjAgMzozLjAgCistMC4wNTQ2Njk3MDM4NzI0
IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAg
CistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjcuMCAzOjEuMCAK
Ky0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDM6MS4wIAor
LTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2
Njk3MDM4NzI0IDE6MS4wIDM6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2
OTcwMzg3MjQgMTozLjAgMzoyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5
NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo5LjAgMjozLjAgCistMC4wNTQ2Njk3
MDM4NzI0IDE6MS4wIDM6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjYuMCAKKy0wLjA1NDY2OTcw
Mzg3MjQgMTo0LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAx
OjcuMCAyOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6
MS4wIDM6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToy
LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6OS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAKKy0w
LjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5
NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0
IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjE0LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MTIu
MCAzOjYuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTozLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6NC4w
IDI6MS4wIDM6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQg
MToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAK
Ky0wLjA1NDY2OTcwMzg3MjQgMTo5LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6OS4wIDI6MS4wIDM6
NC4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCist
MC4wNTQ2Njk3MDM4NzI0IDE6OS4wIDI6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjMuMCAyOjMu
MCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAgMjoyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4w
IDI6MS4wIDM6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjguMCAyOjEuMCAzOjMuMCAKKy0wLjA1
NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIDI6MS4wIAorLTAuMDU0
NjY5NzAzODcyNCAxOjkuMCAyOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2
Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAKKy0wLjA1NDY2OTcwMzg3
MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MzYuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTox
LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAKKy0w
LjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5
NzAzODcyNCAxOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0
IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjYuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAg
MzoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAK
Ky0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0
NjY5NzAzODcyNCAxOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4
NzI0IDE6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjQuMCAzOjIuMCAKKy0wLjA1NDY2OTcwMzg3
MjQgMToxMy4wIDM6NC4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA0MDIwNzUxNzg5
NDIgMToxLjAgCiswLjU4NTM2NTg1MzY1OSAxOjEuMCAKKzAuNDc5Mjc2MTM5MDAxIDE6Ni4wIDI6
My4wIAorMC41ODUzNjU4NTM2NTkgMToyLjAgCiswLjU4NTM2NTg1MzY1OSAxOjEuMCAKKzAuNTg1
MzY1ODUzNjU5IDE6My4wIDM6My4wIAorMC41ODUzNjU4NTM2NTkgMTo0Mi4wIDI6Mi4wIDM6Mjgu
MCAKKzAuNTg1MzY1ODUzNjU5IDE6Mi4wIAorMC41ODUzNjU4NTM2NTkgMToxMi4wIAorMC40Nzky
ODMwNDY1NzggMTo3LjAgCiswLjMwMDM5Nzg3MzQ3NiAxOjMuMCAzOjEuMCAKKzAuMDU0MzE3MzMw
NjQ0MiAxOjYuMCAzOjIuMCAKKzAuNTYzNDY1MTI2Mjk5IDE6MTEuMCAKKzAuNTg1MzY1ODUzNjU5
IDE6Mi4wIAorMC41ODUzNjU4NTM2NTkgMToxMC4wIDI6My4wIDM6Ni4wIAorMC41ODUzNjU4NTM2
NTkgMToxLjAgMjoxLjAgCiswLjU4NTM2NTg1MzY1OSAxOjIuMCAKKzAuNTg1MzY1ODUzNjU5IDE6
MS4wIDI6MS4wIAorMC41ODUzNjU4NTM2NTkgMTozLjAgMzoxLjAgCiswLjU4NTM2NTg1MzY1OSAx
OjEuMCAKKzAuNTg1MzY1ODUzNjU5IDE6Mi4wIAorMC41ODUzNjU4NTM2NTkgMToxLjAgMjoxLjAg
CiswLjU4NDk4OTcxOTkwOSAxOjcuMCAKKzAuNTg1MzY1ODUzNjU5IDE6My4wIAorMC41ODUzNjU4
NTM2NTkgMTozLjAgCiswLjUyNTkyNTEzNjk4MyAxOjMuMCAyOjIuMCAKKzAuNTg1MzY1ODUzNjU5
IDE6MS4wIAorMC41ODUzNjU4NTM2NTkgMToxLjAgCiswLjU4NTM2NTg1MzY1OSAxOjMuMCAzOjEu
MCAKKzAuNTg1MzY1ODUzNjU5IDE6MS4wIAorMC41MjA3NDU4MjIzNzQgMTozLjAgCitzdm1fdHlw
ZSBjX3N2Ywora2VybmVsX3R5cGUgcmJmCitnYW1tYSAwLjEKK25yX2NsYXNzIDIKK3RvdGFsX3N2
IDMzMAorcmhvIDAuMjg3OTQ1NjQyMjYxCitsYWJlbCAtMSAxCitucl9zdiAzMDAgMzAKK1NWCist
MC4wNTQ2Njk3MDM4NzI0IDE6MTQuMCAyOjMuMCAzOjcuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTox
LjAgMjoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEu
MCAzOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxMi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjcu
MCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAgMjoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4w
IDM6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjMuMCAyOjE2LjAgCistMC4wNTQ2Njk3MDM4NzI0
IDE6MS4wIDM6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAyOjIuMCAKKy0wLjA1NDY2OTcw
Mzg3MjQgMToxLjAgMzoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIAorLTAuMDU0NjY5NzAz
ODcyNCAxOjMuMCAyOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo1LjAgCistMC4wNTQ2Njk3MDM4
NzI0IDE6MTYuMCAyOjIuMCAzOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMjoxLjAgCist
MC4wNTQ2Njk3MDM4NzI0IDE6MTEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo0LjAgMzozLjAgCist
MC4wNTQ2Njk3MDM4NzI0IDE6MjguMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAgCistMC4wNTQ2
Njk3MDM4NzI0IDE6MS4wIDM6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAzOjEuMCAKKy0w
LjA1NDY2OTcwMzg3MjQgMToyMi4wIDI6MS4wIDM6MTIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTox
NC4wIDM6NS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAzOjEuMCAKKy0wLjA1NDY2OTcwMzg3
MjQgMTo0OC4wIDI6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjI1LjAgMzoxNi4wIAorLTAuMDU0
NjY5NzAzODcyNCAxOjEuMCAyOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMzoxLjAgCist
MC4wNTQ2Njk3MDM4NzI0IDE6Ni4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjcuMCAKKy0wLjA1NDY2
OTcwMzg3MjQgMToxLjAgMjoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDM6MS4wIAorLTAu
MDU0NjY5NzAzODcyNCAxOjMuMCAzOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo3LjAgMjoxLjAg
MzoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjcuMCAK
Ky0wLjA1NDY2OTcwMzg3MjQgMTo1LjAgMjoyLjAgMzozLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6
Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAyOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo0
LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDI6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEu
MCAzOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo5LjAgMzo0LjAgCistMC4wNTQ2Njk3MDM4NzI0
IDE6MS4wIDI6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAzOjEuMCAKKy0wLjA1NDY2OTcw
Mzg3MjQgMTo0Ny4wIDI6MjEuMCAzOjMzLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MTEuMCAyOjIu
MCAzOjUuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxMS4wIDI6My4wIDM6MS4wIAorLTAuMDU0NjY5
NzAzODcyNCAxOjEuMCAzOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAgMjoxLjAgCistMC4w
NTQ2Njk3MDM4NzI0IDE6NDMuMCAzOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxMy4wIDM6Ny4w
IAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAzOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo0LjAg
CistMC4wNTQ2Njk3MDM4NzI0IDE6MTMuMCAzOjQuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo0Mi4w
IDI6NC4wIDM6MzIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxMC4wIDI6NS4wIDM6MS4wIAorLTAu
MDU0NjY5NzAzODcyNCAxOjcuMCAzOjQuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAgCistMC4w
NTQ2Njk3MDM4NzI0IDE6MS4wIDM6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAzOjEuMCAK
Ky0wLjA1NDY2OTcwMzg3MjQgMTo2LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDI6MS4wIAor
LTAuMDU0NjY5NzAzODcyNCAxOjYuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxNi4wIDI6NC4wIAor
LTAuMDU0NjY5NzAzODcyNCAxOjEwLjAgMjoxLjAgMzoyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6
MTguMCAyOjMuMCAzOjYuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMzoxLjAgCistMC4wNTQ2
Njk3MDM4NzI0IDE6MS4wIDI6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAKKy0wLjA1NDY2
OTcwMzg3MjQgMTozLjAgMjoxLjAgMzoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDI6MS4w
IAorLTAuMDU0NjY5NzAzODcyNCAxOjMuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTozLjAgCistMC4w
NTQ2Njk3MDM4NzI0IDE6NC4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAKKy0wLjA1NDY2OTcw
Mzg3MjQgMToyLjAgMzoyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIAorLTAuMDU0NjY5NzAz
ODcyNCAxOjEuMCAzOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyMS4wIAorLTAuMDU0NjY5NzAz
ODcyNCAxOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAgMjoyLjAgCistMC4wNTQ2Njk3MDM4
NzI0IDE6MTQuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAgMjoxLjAgCistMC4wNTQ2Njk3MDM4
NzI0IDE6Mi4wIDM6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjQuMCAzOjMuMCAKKy0wLjA1NDY2
OTcwMzg3MjQgMToyLjAgMzoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6My4wIAorLTAuMDU0NjY5
NzAzODcyNCAxOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMjoxLjAgCistMC4wNTQ2Njk3
MDM4NzI0IDE6NC4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjM5LjAgMzo0LjAgCistMC4wNTQ2Njk3
MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAyOjEuMCAzOjEuMCAKKy0wLjA1
NDY2OTcwMzg3MjQgMTo0LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIDI6MS4wIAorLTAuMDU0
NjY5NzAzODcyNCAxOjQuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMjoxLjAgCistMC4wNTQ2
Njk3MDM4NzI0IDE6MS4wIDI6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2
OTcwMzg3MjQgMToyLjAgMjoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5
NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0
IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjMuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAg
MjoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAK
Ky0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0
NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMzoxLjAgCistMC4wNTQ2
Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3
MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEu
MCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAu
MDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3
MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjE2LjAgMjoxLjAgMzoxLjAgCistMC4w
NTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcw
Mzg3MjQgMToxLjAgMjoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAz
ODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTozLjAgMjoxLjAgCistMC4wNTQ2Njk3MDM4
NzI0IDE6MS4wIDM6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3
MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEu
MCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAu
MDU0NjY5NzAzODcyNCAxOjIwLjAgMzozLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAu
MDU0NjY5NzAzODcyNCAxOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3
MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQg
MToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAz
OjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDM6
MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo4LjAgCist
MC4wNTQ2Njk3MDM4NzI0IDE6Ny4wIDI6MS4wIDM6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjgu
MCAyOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMjoxLjAgCistMC4wNTQ2Njk3MDM4NzI0
IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAg
MjoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAK
Ky0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0
NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAgCistMC4wNTQ2Njk3MDM4
NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEyLjAgMzo3LjAgCistMC4wNTQ2Njk3MDM4
NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjkuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo3
LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAyOjEu
MCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMzoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4w
IAorLTAuMDU0NjY5NzAzODcyNCAxOjguMCAyOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxNy4w
IAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAyOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAg
CistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1
NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6NC4wIAorLTAuMDU0NjY5NzAz
ODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6
MTMuMCAyOjQuMCAzOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMzoxLjAgCistMC4wNTQ2
Njk3MDM4NzI0IDE6Mi4wIDM6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2
OTcwMzg3MjQgMToxNi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjMuMCAKKy0wLjA1NDY2OTcwMzg3
MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEu
MCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIAorLTAu
MDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAgCistMC4wNTQ2Njk3
MDM4NzI0IDE6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQg
MToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAK
Ky0wLjA1NDY2OTcwMzg3MjQgMToyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6My4wIDM6My4wIAor
LTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAgCistMC4wNTQ2
Njk3MDM4NzI0IDE6MTEuMCAzOjExLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0
NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4
NzI0IDE6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTox
LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0w
LjA1NDY2OTcwMzg3MjQgMToyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5
NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0
IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjE1LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4w
IAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyMC4wIDI6MTIu
MCAzOjMuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4w
IAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4w
NTQ2Njk3MDM4NzI0IDE6Ny4wIDM6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1
NDY2OTcwMzg3MjQgMToxLjAgMzoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0
NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMzoxLjAgCistMC4wNTQ2
Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjMuMCAzOjIuMCAKKy0wLjA1NDY2
OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcy
NCAxOjkuMCAyOjMuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMzoxLjAgCistMC4wNTQ2Njk3
MDM4NzI0IDE6Ni4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjQuMCAKKy0wLjA1NDY2OTcwMzg3MjQg
MToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Ny4wIDI6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAx
OjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMzoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6
Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo5LjAgCist
MC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2
OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcy
NCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MTQu
MCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxMi4wIDM6Ni4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjMu
MCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo0LjAgMjoxLjAgMzoxLjAgCistMC4wNTQ2Njk3MDM4NzI0
IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAg
CistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjkuMCAKKy0wLjA1
NDY2OTcwMzg3MjQgMTo5LjAgMjoxLjAgMzo0LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAor
LTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo5LjAgMjoxLjAgCist
MC4wNTQ2Njk3MDM4NzI0IDE6My4wIDI6My4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAyOjIu
MCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMjoxLjAgMzoxLjAgCistMC4wNTQ2Njk3MDM4NzI0
IDE6OC4wIDI6MS4wIDM6My4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcw
Mzg3MjQgMToyLjAgMjoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6OS4wIDI6MS4wIAorLTAuMDU0
NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4
NzI0IDE6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToz
Ni4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCist
MC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2
OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIAorLTAuMDU0NjY5NzAzODcy
NCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Ni4w
IAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAzOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAg
CistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1
NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIAorLTAuMDU0NjY5NzAz
ODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6
NC4wIDM6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEzLjAgMzo0LjAgCistMC4wNTQ2Njk3MDM4
NzI0IDE6MS4wIAorLTAuMDQwMjA3NTE3ODk0MiAxOjEuMCAKKzAuNTg1MzY1ODUzNjU5IDE6MS4w
IAorMC40NzkyNzYxMzkwMDEgMTo2LjAgMjozLjAgCiswLjU4NTM2NTg1MzY1OSAxOjIuMCAKKzAu
NTg1MzY1ODUzNjU5IDE6MS4wIAorMC41ODUzNjU4NTM2NTkgMTozLjAgMzozLjAgCiswLjU4NTM2
NTg1MzY1OSAxOjQyLjAgMjoyLjAgMzoyOC4wIAorMC41ODUzNjU4NTM2NTkgMToyLjAgCiswLjU4
NTM2NTg1MzY1OSAxOjEyLjAgCiswLjQ3OTI4MzA0NjU3OCAxOjcuMCAKKzAuMzAwMzk3ODczNDc2
IDE6My4wIDM6MS4wIAorMC4wNTQzMTczMzA2NDQyIDE6Ni4wIDM6Mi4wIAorMC41NjM0NjUxMjYy
OTkgMToxMS4wIAorMC41ODUzNjU4NTM2NTkgMToyLjAgCiswLjU4NTM2NTg1MzY1OSAxOjEwLjAg
MjozLjAgMzo2LjAgCiswLjU4NTM2NTg1MzY1OSAxOjEuMCAyOjEuMCAKKzAuNTg1MzY1ODUzNjU5
IDE6Mi4wIAorMC41ODUzNjU4NTM2NTkgMToxLjAgMjoxLjAgCiswLjU4NTM2NTg1MzY1OSAxOjMu
MCAzOjEuMCAKKzAuNTg1MzY1ODUzNjU5IDE6MS4wIAorMC41ODUzNjU4NTM2NTkgMToyLjAgCisw
LjU4NTM2NTg1MzY1OSAxOjEuMCAyOjEuMCAKKzAuNTg0OTg5NzE5OTA5IDE6Ny4wIAorMC41ODUz
NjU4NTM2NTkgMTozLjAgCiswLjU4NTM2NTg1MzY1OSAxOjMuMCAKKzAuNTI1OTI1MTM2OTgzIDE6
My4wIDI6Mi4wIAorMC41ODUzNjU4NTM2NTkgMToxLjAgCiswLjU4NTM2NTg1MzY1OSAxOjEuMCAK
KzAuNTg1MzY1ODUzNjU5IDE6My4wIDM6MS4wIAorMC41ODUzNjU4NTM2NTkgMToxLjAgCiswLjUy
MDc0NTgyMjM3NCAxOjMuMCAKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJSZXNv
dXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL1dlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VyLmNwcAkocmV2aXNp
b24gMjEyNTI0KQorKysgU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlJlc291cmNlTG9hZFN0
YXRpc3RpY3NNYW5hZ2VyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNjEsNiArNjEsMjEgQEAgYm9v
bCBXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdlcjo6aAogICAgIHJldHVybiBXZWJDb3Jl
OjpSZXNvdXJjZUxvYWRPYnNlcnZlcjo6c2hhcmVkT2JzZXJ2ZXIoKS5oYXNIYWRVc2VySW50ZXJh
Y3Rpb24oVVJMKFVSTCgpLCBob3N0TmFtZSkpOwogfQogCit2b2lkIFdlYlJlc291cmNlTG9hZFN0
YXRpc3RpY3NNYW5hZ2VyOjpzZXRTdWJmcmFtZVVuZGVyVG9wRnJhbWVPcmlnaW4oY29uc3QgU3Ry
aW5nJiBob3N0TmFtZSwgY29uc3QgU3RyaW5nJiB0b3BGcmFtZUhvc3ROYW1lKQoreworICAgIFdl
YkNvcmU6OlJlc291cmNlTG9hZE9ic2VydmVyOjpzaGFyZWRPYnNlcnZlcigpLnNldFN1YmZyYW1l
VW5kZXJUb3BGcmFtZU9yaWdpbihVUkwoVVJMKCksIGhvc3ROYW1lKSwgVVJMKFVSTCgpLCB0b3BG
cmFtZUhvc3ROYW1lKSk7Cit9CisKK3ZvaWQgV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFn
ZXI6OnNldFN1YnJlc291cmNlVW5kZXJUb3BGcmFtZU9yaWdpbihjb25zdCBTdHJpbmcmIGhvc3RO
YW1lLCBjb25zdCBTdHJpbmcmIHRvcEZyYW1lSG9zdE5hbWUpCit7CisgICAgV2ViQ29yZTo6UmVz
b3VyY2VMb2FkT2JzZXJ2ZXI6OnNoYXJlZE9ic2VydmVyKCkuc2V0U3VicmVzb3VyY2VVbmRlclRv
cEZyYW1lT3JpZ2luKFVSTChVUkwoKSwgaG9zdE5hbWUpLCBVUkwoVVJMKCksIHRvcEZyYW1lSG9z
dE5hbWUpKTsKK30KKwordm9pZCBXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdlcjo6c2V0
U3VicmVzb3VyY2VVbmlxdWVSZWRpcmVjdFRvKGNvbnN0IFN0cmluZyYgaG9zdE5hbWUsIGNvbnN0
IFN0cmluZyYgaG9zdE5hbWVSZWRpcmVjdGVkVG8pCit7CisgICAgV2ViQ29yZTo6UmVzb3VyY2VM
b2FkT2JzZXJ2ZXI6OnNoYXJlZE9ic2VydmVyKCkuc2V0U3VicmVzb3VyY2VVbmlxdWVSZWRpcmVj
dFRvKFVSTChVUkwoKSwgaG9zdE5hbWUpLCBVUkwoVVJMKCksIGhvc3ROYW1lUmVkaXJlY3RlZFRv
KSk7Cit9CisKIHZvaWQgV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFnZXI6OnNldFRpbWVU
b0xpdmVVc2VySW50ZXJhY3Rpb24oZG91YmxlIHNlY29uZHMpCiB7CiAgICAgV2ViQ29yZTo6UmVz
b3VyY2VMb2FkT2JzZXJ2ZXI6OnNoYXJlZE9ic2VydmVyKCkuc2V0VGltZVRvTGl2ZVVzZXJJbnRl
cmFjdGlvbihzZWNvbmRzKTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJSZXNv
dXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdlci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9XZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdlci5oCShyZXZpc2lvbiAy
MTI1MjQpCisrKyBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUmVzb3VyY2VMb2FkU3RhdGlz
dGljc01hbmFnZXIuaAkod29ya2luZyBjb3B5KQpAQCAtNDIsNiArNDIsOSBAQCBwdWJsaWM6CiAg
ICAgc3RhdGljIGJvb2wgaXNQcmV2YWxlbnRSZXNvdXJjZShjb25zdCBTdHJpbmcmIGhvc3ROYW1l
KTsKICAgICBzdGF0aWMgdm9pZCBzZXRIYXNIYWRVc2VySW50ZXJhY3Rpb24oY29uc3QgU3RyaW5n
JiBob3N0TmFtZSwgYm9vbCB2YWx1ZSk7CiAgICAgc3RhdGljIGJvb2wgaGFzSGFkVXNlckludGVy
YWN0aW9uKGNvbnN0IFN0cmluZyYgaG9zdE5hbWUpOworICAgIHN0YXRpYyB2b2lkIHNldFN1YmZy
YW1lVW5kZXJUb3BGcmFtZU9yaWdpbihjb25zdCBTdHJpbmcmIGhvc3ROYW1lLCBjb25zdCBTdHJp
bmcmIHRvcEZyYW1lSG9zdE5hbWUpOworICAgIHN0YXRpYyB2b2lkIHNldFN1YnJlc291cmNlVW5k
ZXJUb3BGcmFtZU9yaWdpbihjb25zdCBTdHJpbmcmIGhvc3ROYW1lLCBjb25zdCBTdHJpbmcmIHRv
cEZyYW1lSG9zdE5hbWUpOworICAgIHN0YXRpYyB2b2lkIHNldFN1YnJlc291cmNlVW5pcXVlUmVk
aXJlY3RUbyhjb25zdCBTdHJpbmcmIGhvc3ROYW1lLCBjb25zdCBTdHJpbmcmIGhvc3ROYW1lUmVk
aXJlY3RlZFRvKTsKICAgICBzdGF0aWMgdm9pZCBzZXRUaW1lVG9MaXZlVXNlckludGVyYWN0aW9u
KGRvdWJsZSBzZWNvbmRzKTsKICAgICBzdGF0aWMgdm9pZCBzZXRSZWR1Y2VkVGltZXN0YW1wUmVz
b2x1dGlvbihkb3VibGUgc2Vjb25kcyk7CiAgICAgc3RhdGljIHZvaWQgZmlyZURhdGFNb2RpZmlj
YXRpb25IYW5kbGVyKCk7CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUmVzb3Vy
Y2VMb2FkU3RhdGlzdGljc1N0b3JlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlLmNwcAkocmV2aXNpb24gMjEy
NTI0KQorKysgU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlJlc291cmNlTG9hZFN0YXRpc3Rp
Y3NTdG9yZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ1LDcgKzQ1LDYgQEAgdXNpbmcgbmFtZXNw
YWNlIFdlYkNvcmU7CiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCi1zdGF0aWMgY29uc3QgYXV0byBm
ZWF0dXJlVmVjdG9yTGVuZ3RoVGhyZXNob2xkID0gMzsKIHN0YXRpYyBhdXRvIG1pbmltdW1UaW1l
QmV0d2VlZW5EYXRhUmVjb3Jkc1JlbW92YWwgPSA2MDsKIHN0YXRpYyBPcHRpb25TZXQ8V2ViS2l0
OjpXZWJzaXRlRGF0YVR5cGU+IGRhdGFUeXBlc1RvUmVtb3ZlOwogc3RhdGljIGF1dG8gbm90aWZ5
UGFnZXMgPSBmYWxzZTsKQEAgLTU5LDcgKzU4LDcgQEAgUmVmPFdlYlJlc291cmNlTG9hZFN0YXRp
c3RpY3NTdG9yZT4gV2ViUgogV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlOjpXZWJSZXNv
dXJjZUxvYWRTdGF0aXN0aWNzU3RvcmUoY29uc3QgU3RyaW5nJiByZXNvdXJjZUxvYWRTdGF0aXN0
aWNzRGlyZWN0b3J5KQogICAgIDogbV9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmUoUmVzb3Vy
Y2VMb2FkU3RhdGlzdGljc1N0b3JlOjpjcmVhdGUoKSkKICAgICAsIG1fc3RhdGlzdGljc1F1ZXVl
KFdvcmtRdWV1ZTo6Y3JlYXRlKCJXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmUgUHJvY2Vz
cyBEYXRhIFF1ZXVlIikpCi0gICAgLCBtX3N0b3JhZ2VQYXRoKHJlc291cmNlTG9hZFN0YXRpc3Rp
Y3NEaXJlY3RvcnkpCisgICAgLCBtX3N0YXRpc3RpY3NTdG9yYWdlUGF0aChyZXNvdXJjZUxvYWRT
dGF0aXN0aWNzRGlyZWN0b3J5KQogewogfQogCkBAIC04Myw0MCArODIsMTEgQEAgdm9pZCBXZWJS
ZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmU6OnNldAogICAgICAgICBtaW5pbXVtVGltZUJldHdl
ZWVuRGF0YVJlY29yZHNSZW1vdmFsID0gc2Vjb25kczsKIH0KIAotYm9vbCBXZWJSZXNvdXJjZUxv
YWRTdGF0aXN0aWNzU3RvcmU6Omhhc1ByZXZhbGVudFJlc291cmNlQ2hhcmFjdGVyaXN0aWNzKGNv
bnN0IFJlc291cmNlTG9hZFN0YXRpc3RpY3MmIHJlc291cmNlU3RhdGlzdGljKQotewotICAgIGF1
dG8gc3VicmVzb3VyY2VVbmRlclRvcEZyYW1lT3JpZ2luc0NvdW50ID0gcmVzb3VyY2VTdGF0aXN0
aWMuc3VicmVzb3VyY2VVbmRlclRvcEZyYW1lT3JpZ2lucy5zaXplKCk7Ci0gICAgYXV0byBzdWJy
ZXNvdXJjZVVuaXF1ZVJlZGlyZWN0c1RvQ291bnQgPSByZXNvdXJjZVN0YXRpc3RpYy5zdWJyZXNv
dXJjZVVuaXF1ZVJlZGlyZWN0c1RvLnNpemUoKTsKLSAgICBhdXRvIHN1YmZyYW1lVW5kZXJUb3BG
cmFtZU9yaWdpbnNDb3VudCA9IHJlc291cmNlU3RhdGlzdGljLnN1YmZyYW1lVW5kZXJUb3BGcmFt
ZU9yaWdpbnMuc2l6ZSgpOwotICAgIAotICAgIGlmICghc3VicmVzb3VyY2VVbmRlclRvcEZyYW1l
T3JpZ2luc0NvdW50Ci0gICAgICAgICYmICFzdWJyZXNvdXJjZVVuaXF1ZVJlZGlyZWN0c1RvQ291
bnQKLSAgICAgICAgJiYgIXN1YmZyYW1lVW5kZXJUb3BGcmFtZU9yaWdpbnNDb3VudCkKLSAgICAg
ICAgcmV0dXJuIGZhbHNlOwotCi0gICAgaWYgKHN1YnJlc291cmNlVW5kZXJUb3BGcmFtZU9yaWdp
bnNDb3VudCA+IGZlYXR1cmVWZWN0b3JMZW5ndGhUaHJlc2hvbGQKLSAgICAgICAgfHwgc3VicmVz
b3VyY2VVbmlxdWVSZWRpcmVjdHNUb0NvdW50ID4gZmVhdHVyZVZlY3Rvckxlbmd0aFRocmVzaG9s
ZAotICAgICAgICB8fCBzdWJmcmFtZVVuZGVyVG9wRnJhbWVPcmlnaW5zQ291bnQgPiBmZWF0dXJl
VmVjdG9yTGVuZ3RoVGhyZXNob2xkKQotICAgICAgICByZXR1cm4gdHJ1ZTsKLQotICAgIC8vIFRo
ZSByZXNvdXJjZSBpcyBjb25zaWRlcmVkIHByZXZhbGVudCBpZiB0aGUgZmVhdHVyZSB2ZWN0b3IK
LSAgICAvLyBpcyBsb25nZXIgdGhhbiB0aGUgdGhyZXNob2xkLgotICAgIC8vIFZlY3RvciBsZW5n
dGggZm9yIG4gZGltZW5zaW9ucyBpcyBzcXJ0KGFeMiArICguLi4pICsgbl4yKS4KLSAgICBkb3Vi
bGUgdmVjdG9yTGVuZ3RoID0gMDsKLSAgICB2ZWN0b3JMZW5ndGggKz0gc3VicmVzb3VyY2VVbmRl
clRvcEZyYW1lT3JpZ2luc0NvdW50ICogc3VicmVzb3VyY2VVbmRlclRvcEZyYW1lT3JpZ2luc0Nv
dW50OwotICAgIHZlY3Rvckxlbmd0aCArPSBzdWJyZXNvdXJjZVVuaXF1ZVJlZGlyZWN0c1RvQ291
bnQgKiBzdWJyZXNvdXJjZVVuaXF1ZVJlZGlyZWN0c1RvQ291bnQ7Ci0gICAgdmVjdG9yTGVuZ3Ro
ICs9IHN1YmZyYW1lVW5kZXJUb3BGcmFtZU9yaWdpbnNDb3VudCAqIHN1YmZyYW1lVW5kZXJUb3BG
cmFtZU9yaWdpbnNDb3VudDsKLQotICAgIEFTU0VSVCh2ZWN0b3JMZW5ndGggPiAwKTsKLQotICAg
IHJldHVybiBzcXJ0KHZlY3Rvckxlbmd0aCkgPiBmZWF0dXJlVmVjdG9yTGVuZ3RoVGhyZXNob2xk
OwotfQotICAgIAogdm9pZCBXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmU6OmNsYXNzaWZ5
UmVzb3VyY2UoUmVzb3VyY2VMb2FkU3RhdGlzdGljcyYgcmVzb3VyY2VTdGF0aXN0aWMpCiB7Ci0g
ICAgaWYgKCFyZXNvdXJjZVN0YXRpc3RpYy5pc1ByZXZhbGVudFJlc291cmNlICYmIGhhc1ByZXZh
bGVudFJlc291cmNlQ2hhcmFjdGVyaXN0aWNzKHJlc291cmNlU3RhdGlzdGljKSkgeworICAgIGlm
ICghcmVzb3VyY2VTdGF0aXN0aWMuaXNQcmV2YWxlbnRSZXNvdXJjZQorICAgICAgICAmJiBtX3Jl
c291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyLmhhc1ByZXZhbGVudFJlc291cmNlQ2hhcmFj
dGVyaXN0aWNzKHJlc291cmNlU3RhdGlzdGljKSkKICAgICAgICAgcmVzb3VyY2VTdGF0aXN0aWMu
aXNQcmV2YWxlbnRSZXNvdXJjZSA9IHRydWU7Ci0gICAgfQogfQogCiB2b2lkIFdlYlJlc291cmNl
TG9hZFN0YXRpc3RpY3NTdG9yZTo6cmVtb3ZlRGF0YVJlY29yZHMoKQpAQCAtMjQ4LDExICsyMTgs
MTEgQEAgdm9pZCBXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmU6OmFwcAogCiBTdHJpbmcg
V2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlOjpwZXJzaXN0ZW50U3RvcmFnZVBhdGgoY29u
c3QgU3RyaW5nJiBsYWJlbCkgY29uc3QKIHsKLSAgICBpZiAobV9zdG9yYWdlUGF0aC5pc0VtcHR5
KCkpCisgICAgaWYgKG1fc3RhdGlzdGljc1N0b3JhZ2VQYXRoLmlzRW1wdHkoKSkKICAgICAgICAg
cmV0dXJuIGVtcHR5U3RyaW5nKCk7CiAKICAgICAvLyBUT0RPIERlY2lkZSB3aGF0IHRvIGNhbGwg
dGhpcyBmaWxlCi0gICAgcmV0dXJuIHBhdGhCeUFwcGVuZGluZ0NvbXBvbmVudChtX3N0b3JhZ2VQ
YXRoLCBsYWJlbCArICJfcmVzb3VyY2VMb2cucGxpc3QiKTsKKyAgICByZXR1cm4gcGF0aEJ5QXBw
ZW5kaW5nQ29tcG9uZW50KG1fc3RhdGlzdGljc1N0b3JhZ2VQYXRoLCBsYWJlbCArICJfcmVzb3Vy
Y2VMb2cucGxpc3QiKTsKIH0KIAogdm9pZCBXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmU6
OndyaXRlRW5jb2RlclRvRGlzayhLZXllZEVuY29kZXImIGVuY29kZXIsIGNvbnN0IFN0cmluZyYg
bGFiZWwpIGNvbnN0CkBAIC0yNjUsOCArMjM1LDggQEAgdm9pZCBXZWJSZXNvdXJjZUxvYWRTdGF0
aXN0aWNzU3RvcmU6OndyaQogICAgIGlmIChyZXNvdXJjZUxvZy5pc0VtcHR5KCkpCiAgICAgICAg
IHJldHVybjsKIAotICAgIGlmICghbV9zdG9yYWdlUGF0aC5pc0VtcHR5KCkpCi0gICAgICAgIG1h
a2VBbGxEaXJlY3RvcmllcyhtX3N0b3JhZ2VQYXRoKTsKKyAgICBpZiAoIW1fc3RhdGlzdGljc1N0
b3JhZ2VQYXRoLmlzRW1wdHkoKSkKKyAgICAgICAgbWFrZUFsbERpcmVjdG9yaWVzKG1fc3RhdGlz
dGljc1N0b3JhZ2VQYXRoKTsKIAogICAgIGF1dG8gaGFuZGxlID0gb3BlbkZpbGUocmVzb3VyY2VM
b2csIE9wZW5Gb3JXcml0ZSk7CiAgICAgaWYgKCFoYW5kbGUpCkluZGV4OiBTb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlLmgKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9y
ZS5oCShyZXZpc2lvbiAyMTI1MjQpCisrKyBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUmVz
b3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlLmgJKHdvcmtpbmcgY29weSkKQEAgLTI4LDYgKzI4LDcg
QEAKIAogI2luY2x1ZGUgIkFQSU9iamVjdC5oIgogI2luY2x1ZGUgIkNvbm5lY3Rpb24uaCIKKyNp
bmNsdWRlICJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllci5oIgogI2luY2x1ZGUgIldl
YnNpdGVEYXRhUmVjb3JkLmgiCiAjaW5jbHVkZSA8V2ViQ29yZS9SZXNvdXJjZUxvYWRTdGF0aXN0
aWNzU3RvcmUuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CkBAIC03Niw3ICs3Nyw2IEBAIHBy
aXZhdGU6CiAKICAgICB2b2lkIHByb2Nlc3NTdGF0aXN0aWNzQW5kRGF0YVJlY29yZHMoKTsKIAot
ICAgIGJvb2wgaGFzUHJldmFsZW50UmVzb3VyY2VDaGFyYWN0ZXJpc3RpY3MoY29uc3QgV2ViQ29y
ZTo6UmVzb3VyY2VMb2FkU3RhdGlzdGljcyYpOwogICAgIHZvaWQgY2xhc3NpZnlSZXNvdXJjZShX
ZWJDb3JlOjpSZXNvdXJjZUxvYWRTdGF0aXN0aWNzJik7CiAgICAgdm9pZCByZW1vdmVEYXRhUmVj
b3JkcygpOwogCkBAIC04OSw4ICs4OSw5IEBAIHByaXZhdGU6CiAgICAgc3RkOjp1bmlxdWVfcHRy
PFdlYkNvcmU6OktleWVkRGVjb2Rlcj4gY3JlYXRlRGVjb2RlckZyb21EaXNrKGNvbnN0IFN0cmlu
ZyYgbGFiZWwpIGNvbnN0OwogCiAgICAgUmVmPFdlYkNvcmU6OlJlc291cmNlTG9hZFN0YXRpc3Rp
Y3NTdG9yZT4gbV9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmU7CisgICAgUmVzb3VyY2VMb2Fk
U3RhdGlzdGljc0NsYXNzaWZpZXIgbV9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllcjsK
ICAgICBSZWY8V1RGOjpXb3JrUXVldWU+IG1fc3RhdGlzdGljc1F1ZXVlOwotICAgIFN0cmluZyBt
X3N0b3JhZ2VQYXRoOworICAgIFN0cmluZyBtX3N0YXRpc3RpY3NTdG9yYWdlUGF0aDsKICAgICBi
b29sIG1fcmVzb3VyY2VMb2FkU3RhdGlzdGljc0VuYWJsZWQgeyBmYWxzZSB9OwogCiAgICAgZG91
YmxlIG1fbGFzdFRpbWVEYXRhUmVjb3Jkc1dlcmVSZW1vdmVkIHsgMCB9OwpJbmRleDogU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFnZXIu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1Jlc291
cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VyLmNwcAkocmV2aXNpb24gMjEyNTI0KQorKysgU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFnZXIu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC01Niw2ICs1NiwyMSBAQCBib29sIFdLUmVzb3VyY2VMb2Fk
U3RhdGlzdGljc01hbmFnZXJJc0hhCiAgICAgcmV0dXJuIFdlYlJlc291cmNlTG9hZFN0YXRpc3Rp
Y3NNYW5hZ2VyOjpoYXNIYWRVc2VySW50ZXJhY3Rpb24odG9XVEZTdHJpbmcoaG9zdE5hbWUpKTsK
IH0KIAordm9pZCBXS1Jlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VyU2V0U3ViZnJhbWVVbmRl
clRvcEZyYW1lT3JpZ2luKFdLU3RyaW5nUmVmIGhvc3ROYW1lLCBXS1N0cmluZ1JlZiB0b3BGcmFt
ZUhvc3ROYW1lKQoreworICAgIFdlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VyOjpzZXRT
dWJmcmFtZVVuZGVyVG9wRnJhbWVPcmlnaW4odG9XVEZTdHJpbmcoaG9zdE5hbWUpLCB0b1dURlN0
cmluZyh0b3BGcmFtZUhvc3ROYW1lKSk7Cit9CisKK3ZvaWQgV0tSZXNvdXJjZUxvYWRTdGF0aXN0
aWNzTWFuYWdlclNldFN1YnJlc291cmNlVW5kZXJUb3BGcmFtZU9yaWdpbihXS1N0cmluZ1JlZiBo
b3N0TmFtZSwgV0tTdHJpbmdSZWYgdG9wRnJhbWVIb3N0TmFtZSkKK3sKKyAgICBXZWJSZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzTWFuYWdlcjo6c2V0U3VicmVzb3VyY2VVbmRlclRvcEZyYW1lT3JpZ2lu
KHRvV1RGU3RyaW5nKGhvc3ROYW1lKSwgdG9XVEZTdHJpbmcodG9wRnJhbWVIb3N0TmFtZSkpOwor
fQorCit2b2lkIFdLUmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFnZXJTZXRTdWJyZXNvdXJjZVVu
aXF1ZVJlZGlyZWN0VG8oV0tTdHJpbmdSZWYgaG9zdE5hbWUsIFdLU3RyaW5nUmVmIGhvc3ROYW1l
UmVkaXJlY3RlZFRvKQoreworICAgIFdlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VyOjpz
ZXRTdWJyZXNvdXJjZVVuaXF1ZVJlZGlyZWN0VG8odG9XVEZTdHJpbmcoaG9zdE5hbWUpLCB0b1dU
RlN0cmluZyhob3N0TmFtZVJlZGlyZWN0ZWRUbykpOworfQorCiB2b2lkIFdLUmVzb3VyY2VMb2Fk
U3RhdGlzdGljc01hbmFnZXJTZXRUaW1lVG9MaXZlVXNlckludGVyYWN0aW9uKGRvdWJsZSBzZWNv
bmRzKQogewogICAgIFdlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VyOjpzZXRUaW1lVG9M
aXZlVXNlckludGVyYWN0aW9uKHNlY29uZHMpOwpJbmRleDogU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0FQSS9DL1dLUmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFnZXIuaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tSZXNvdXJjZUxvYWRTdGF0aXN0aWNz
TWFuYWdlci5oCShyZXZpc2lvbiAyMTI1MjQpCisrKyBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
QVBJL0MvV0tSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdlci5oCSh3b3JraW5nIGNvcHkpCkBA
IC0zOCw2ICszOCw5IEBAIGV4dGVybiAiQyIgewogICAgIFdLX0VYUE9SVCBib29sIFdLUmVzb3Vy
Y2VMb2FkU3RhdGlzdGljc01hbmFnZXJJc1ByZXZhbGVudFJlc291cmNlKFdLU3RyaW5nUmVmIGhv
c3ROYW1lKTsKICAgICBXS19FWFBPUlQgdm9pZCBXS1Jlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5h
Z2VyU2V0SGFzSGFkVXNlckludGVyYWN0aW9uKFdLU3RyaW5nUmVmIGhvc3ROYW1lLCBib29sIHZh
bHVlKTsKICAgICBXS19FWFBPUlQgYm9vbCBXS1Jlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2Vy
SXNIYXNIYWRVc2VySW50ZXJhY3Rpb24oV0tTdHJpbmdSZWYgaG9zdE5hbWUpOworICAgIFdLX0VY
UE9SVCB2b2lkIFdLUmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFnZXJTZXRTdWJmcmFtZVVuZGVy
VG9wRnJhbWVPcmlnaW4oV0tTdHJpbmdSZWYgaG9zdE5hbWUsIFdLU3RyaW5nUmVmIHRvcEZyYW1l
SG9zdE5hbWUpOworICAgIFdLX0VYUE9SVCB2b2lkIFdLUmVzb3VyY2VMb2FkU3RhdGlzdGljc01h
bmFnZXJTZXRTdWJyZXNvdXJjZVVuZGVyVG9wRnJhbWVPcmlnaW4oV0tTdHJpbmdSZWYgaG9zdE5h
bWUsIFdLU3RyaW5nUmVmIHRvcEZyYW1lSG9zdE5hbWUpOworICAgIFdLX0VYUE9SVCB2b2lkIFdL
UmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFnZXJTZXRTdWJyZXNvdXJjZVVuaXF1ZVJlZGlyZWN0
VG8oV0tTdHJpbmdSZWYgaG9zdE5hbWUsIFdLU3RyaW5nUmVmIGhvc3ROYW1lUmVkaXJlY3RlZFRv
KTsKICAgICBXS19FWFBPUlQgdm9pZCBXS1Jlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VyU2V0
VGltZVRvTGl2ZVVzZXJJbnRlcmFjdGlvbihkb3VibGUgc2Vjb25kcyk7CiAgICAgV0tfRVhQT1JU
IHZvaWQgV0tSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdlclNldFJlZHVjZWRUaW1lc3RhbXBS
ZXNvbHV0aW9uKGRvdWJsZSBzZWNvbmRzKTsKICAgICBXS19FWFBPUlQgdm9pZCBXS1Jlc291cmNl
TG9hZFN0YXRpc3RpY3NNYW5hZ2VyRmlyZURhdGFNb2RpZmljYXRpb25IYW5kbGVyKCk7CkluZGV4
OiBTb3VyY2UvV2ViS2l0Mi9XZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYktpdDIvV2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
CShyZXZpc2lvbiAyMTI1MjQpCisrKyBTb3VyY2UvV2ViS2l0Mi9XZWJLaXQyLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2oJKHdvcmtpbmcgY29weSkKQEAgLTExNDUsMTAgKzExNDUsMTcgQEAKIAkJ
NjUwMUJEMUExMkYxMjQzNDAwRTlGMjQ4IC8qIFdLQnVuZGxlSW5zcGVjdG9yLmNwcCBpbiBTb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDY1Qjg2RjE3MTJGMTFEN0Iw
MEI3REQ4QSAvKiBXS0J1bmRsZUluc3BlY3Rvci5jcHAgKi87IH07CiAJCTY1OUM1NTFFMTMwMDA2
NDEwMDI1QzBDMiAvKiBJbmplY3RlZEJ1bmRsZVBhZ2VSZXNvdXJjZUxvYWRDbGllbnQuY3BwIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNjU0NkE4MjkxMzAw
MDE2NDAwMENFQjFDIC8qIEluamVjdGVkQnVuZGxlUGFnZVJlc291cmNlTG9hZENsaWVudC5jcHAg
Ki87IH07CiAJCTY1Qjg2RjFFMTJGMTFERTMwMEI3REQ4QSAvKiBXS0J1bmRsZUluc3BlY3Rvci5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNjVCODZGMTgx
MkYxMUQ3QjAwQjdERDhBIC8qIFdLQnVuZGxlSW5zcGVjdG9yLmggKi87IHNldHRpbmdzID0ge0FU
VFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJNkIyRTA5QkExRTU3Qjg4MTAwQzhBOEI5
IC8qIENvcmVQcmVkaWN0aW9uU1BJLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA2QjJFMDlCOTFFNTdCODgxMDBDOEE4QjkgLyogQ29yZVByZWRpY3Rpb25T
UEkuaCAqLzsgfTsKIAkJNkJFOTY5OUMxRTQzQjNGRjAwOEI3NDgzIC8qIFdLUmVzb3VyY2VMb2Fk
U3RhdGlzdGljc01hbmFnZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDZCRTk2OTlCMUU0M0IzRkYwMDhCNzQ4MyAvKiBXS1Jlc291cmNlTG9hZFN0YXRp
c3RpY3NNYW5hZ2VyLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsg
fTsgfTsKIAkJNkJFOTY5OUUxRTQzQjQxRDAwOEI3NDgzIC8qIFdLUmVzb3VyY2VMb2FkU3RhdGlz
dGljc01hbmFnZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gNkJFOTY5OUQxRTQzQjQxRDAwOEI3NDgzIC8qIFdLUmVzb3VyY2VMb2FkU3RhdGlzdGlj
c01hbmFnZXIuY3BwICovOyB9OwogCQk2QkU5NjlBMDFFNDNCODZFMDA4Qjc0ODMgLyogV2ViUmVz
b3VyY2VMb2FkU3RhdGlzdGljc01hbmFnZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDZCRTk2OTlGMUU0M0I4NkUwMDhCNzQ4MyAvKiBXZWJSZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzTWFuYWdlci5oICovOyB9OwogCQk2QkU5NjlBMjFFNDNCOEE0MDA4Qjc0
ODMgLyogV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFnZXIuY3BwIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNkJFOTY5QTExRTQzQjhBNDAwOEI3NDgz
IC8qIFdlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VyLmNwcCAqLzsgfTsKKwkJNkJFOTY5
QzExRTU0RDQ1MjAwOEI3NDgzIC8qIGNvcmVQcmVkaWN0aW9uX21vZGVsIGluIFJlc291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA2QkU5NjlDMDFFNTRENDUyMDA4Qjc0
ODMgLyogY29yZVByZWRpY3Rpb25fbW9kZWwgKi87IH07CisJCTZCRTk2OUM1MUU1NEQ0QTQwMDhC
NzQ4MyAvKiBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllci5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNkJFOTY5QzQxRTU0RDRBNDAwOEI3NDgz
IC8qIFJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyLmggKi87IH07CisJCTZCRTk2OUM3
MUU1NEQ0QjYwMDhCNzQ4MyAvKiBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllckJhc2Uu
Y3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNkJFOTY5
QzYxRTU0RDRCNjAwOEI3NDgzIC8qIFJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQmFz
ZS5jcHAgKi87IH07CisJCTZCRTk2OUNBMUU1NEQ0Q0YwMDhCNzQ4MyAvKiBSZXNvdXJjZUxvYWRT
dGF0aXN0aWNzQ2xhc3NpZmllckNvY29hLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDZCRTk2OUM4MUU1NEQ0Q0YwMDhCNzQ4MyAvKiBSZXNvdXJjZUxv
YWRTdGF0aXN0aWNzQ2xhc3NpZmllckNvY29hLmNwcCAqLzsgfTsKKwkJNkJFOTY5Q0IxRTU0RDRD
RjAwOEI3NDgzIC8qIFJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQ29jb2EuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDZCRTk2OUM5MUU1NEQ0
Q0YwMDhCNzQ4MyAvKiBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllckNvY29hLmggKi87
IH07CisJCTZCRTk2OUNEMUU1NEUwNTQwMDhCNzQ4MyAvKiBSZXNvdXJjZUxvYWRTdGF0aXN0aWNz
Q2xhc3NpZmllckJhc2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDZCRTk2OUNDMUU1NEUwNTQwMDhCNzQ4MyAvKiBSZXNvdXJjZUxvYWRTdGF0aXN0aWNz
Q2xhc3NpZmllckJhc2UuaCAqLzsgfTsKIAkJNkVFODQ5QzgxMzY4RDkzOTAwMzhENDgxIC8qIFdL
SW5zcGVjdG9yUHJpdmF0ZU1hYy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gNkVFODQ5QzYxMzY4RDkyRDAwMzhENDgxIC8qIFdLSW5zcGVjdG9yUHJpdmF0
ZU1hYy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJ
CTcyOEU4NkYxMTc5NTE4OEMwMDg3ODc5RSAvKiBXZWJDb2xvclBpY2tlck1hYy5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNzI4RTg2RUYxNzk1MTg4QzAw
ODc4NzlFIC8qIFdlYkNvbG9yUGlja2VyTWFjLmggKi87IH07CiAJCTcyOEU4NkYyMTc5NTE4OEMw
MDg3ODc5RSAvKiBXZWJDb2xvclBpY2tlck1hYy5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDcyOEU4NkYwMTc5NTE4OEMwMDg3ODc5RSAvKiBXZWJDb2xv
clBpY2tlck1hYy5tbSAqLzsgfTsKQEAgLTMzMzIsMTAgKzMzMzksMTcgQEAKIAkJNjU0NkE4MkEx
MzAwMDE2NDAwMENFQjFDIC8qIEluamVjdGVkQnVuZGxlUGFnZVJlc291cmNlTG9hZENsaWVudC5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBJbmplY3RlZEJ1bmRsZVBhZ2VSZXNv
dXJjZUxvYWRDbGllbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNjVCODZGMTcx
MkYxMUQ3QjAwQjdERDhBIC8qIFdLQnVuZGxlSW5zcGVjdG9yLmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdLQnVuZGxlSW5zcGVjdG9yLmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJNjVCODZGMTgxMkYxMUQ3QjAwQjdERDhBIC8qIFdLQnVuZGxlSW5z
cGVjdG9yLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdLQnVuZGxlSW5zcGVj
dG9yLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTZCMkUwOUI5MUU1N0I4ODEwMEM4
QThCOSAvKiBDb3JlUHJlZGljdGlvblNQSS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBDb3JlUHJlZGljdGlvblNQSS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk2
QkU5Njk5QjFFNDNCM0ZGMDA4Qjc0ODMgLyogV0tSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdl
ci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXS1Jlc291cmNlTG9hZFN0YXRp
c3RpY3NNYW5hZ2VyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTZCRTk2OTlEMUU0
M0I0MUQwMDhCNzQ4MyAvKiBXS1Jlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VyLmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdLUmVzb3VyY2VMb2FkU3RhdGlzdGlj
c01hbmFnZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk2QkU5Njk5RjFFNDNC
ODZFMDA4Qjc0ODMgLyogV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFnZXIuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFn
ZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNkJFOTY5QTExRTQzQjhBNDAwOEI3
NDgzIC8qIFdlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VyLmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2Vy
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNkJFOTY5QzAxRTU0RDQ1MjAwOEI3
NDgzIC8qIGNvcmVQcmVkaWN0aW9uX21vZGVsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IGNvcmVQ
cmVkaWN0aW9uX21vZGVsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk2QkU5NjlDNDFF
NTRENEE0MDA4Qjc0ODMgLyogUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXIuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNz
aWZpZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNkJFOTY5QzYxRTU0RDRCNjAw
OEI3NDgzIC8qIFJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQmFzZS5jcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xh
c3NpZmllckJhc2UuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk2QkU5NjlDODFF
NTRENENGMDA4Qjc0ODMgLyogUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXJDb2NvYS5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBSZXNvdXJjZUxvYWRTdGF0
aXN0aWNzQ2xhc3NpZmllckNvY29hLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
NkJFOTY5QzkxRTU0RDRDRjAwOEI3NDgzIC8qIFJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lm
aWVyQ29jb2EuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUmVzb3VyY2VMb2Fk
U3RhdGlzdGljc0NsYXNzaWZpZXJDb2NvYS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQk2QkU5NjlDQzFFNTRFMDU0MDA4Qjc0ODMgLyogUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNz
aWZpZXJCYXNlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJlc291cmNlTG9h
ZFN0YXRpc3RpY3NDbGFzc2lmaWVyQmFzZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQk2RDhBOTFBNTExRjBFRkQxMDBERDAxRkUgLyogY29tLmFwcGxlLldlYlByb2Nlc3Muc2IuaW4g
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSB0ZXh0OyBuYW1lID0gY29tLmFwcGxlLldlYlByb2Nlc3Muc2IuaW47IHBhdGgg
PSBXZWJQcm9jZXNzL2NvbS5hcHBsZS5XZWJQcm9jZXNzLnNiLmluOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQk2RUU4NDlDNjEzNjhEOTJEMDAzOEQ0ODEgLyogV0tJbnNwZWN0b3JQcml2
YXRlTWFjLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IFdLSW5zcGVjdG9yUHJp
dmF0ZU1hYy5oOyBwYXRoID0gbWFjL1dLSW5zcGVjdG9yUHJpdmF0ZU1hYy5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQk3MjhFODZFRjE3OTUxODhDMDA4Nzg3OUUgLyogV2ViQ29sb3JQ
aWNrZXJNYWMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViQ29sb3JQaWNr
ZXJNYWMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTQzNDgsNiArNDM2Miw3IEBA
CiAJCTA4OUMxNjY1RkU4NDExNThDMDJBQUMwNyAvKiBSZXNvdXJjZXMgKi8gPSB7CiAJCQlpc2Eg
PSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKAorCQkJCTZCRTk2OUJGMUU1NEQ0NTIwMDhCNzQ4
MyAvKiBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzICovLAogCQkJCTM3RjhDOTRGMUFFMjJCRDgwMDdE
QUI5RSAvKiBtYWMgKi8sCiAJCQkJN0NCMTZGRTExNzI0QjlCNTAwN0EwQTk1IC8qIFBsdWdJblNh
bmRib3hQcm9maWxlcyAqLywKIAkJCQlBNzhDQ0RENTE5M0FDOUUzMDA1RUNDMjUgLyogU2FuZGJv
eFByb2ZpbGVzICovLApAQCAtNjEwMCw2ICs2MTE1LDM2IEBACiAJCQluYW1lID0gQ29jb2E7CiAJ
CQlzb3VyY2VUcmVlID0gIjxncm91cD4iOwogCQl9OworCQk2QkU5NjlCRjFFNTRENDUyMDA4Qjc0
ODMgLyogUmVzb3VyY2VMb2FkU3RhdGlzdGljcyAqLyA9IHsKKwkJCWlzYSA9IFBCWEdyb3VwOwor
CQkJY2hpbGRyZW4gPSAoCisJCQkJNkJFOTY5QzAxRTU0RDQ1MjAwOEI3NDgzIC8qIGNvcmVQcmVk
aWN0aW9uX21vZGVsICovLAorCQkJKTsKKwkJCW5hbWUgPSBSZXNvdXJjZUxvYWRTdGF0aXN0aWNz
OworCQkJcGF0aCA9IFJlc291cmNlcy9SZXNvdXJjZUxvYWRTdGF0aXN0aWNzOworCQkJc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsKKwkJfTsKKwkJNkJFOTY5QzIxRTU0RDQ2NzAwOEI3NDgzIC8qIGNs
YXNzaWZpZXIgKi8gPSB7CisJCQlpc2EgPSBQQlhHcm91cDsKKwkJCWNoaWxkcmVuID0gKAorCQkJ
CTZCRTk2OUMzMUU1NEQ0NjcwMDhCNzQ4MyAvKiBjb2NvYSAqLywKKwkJCQk2QkU5NjlDNjFFNTRE
NEI2MDA4Qjc0ODMgLyogUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXJCYXNlLmNwcCAq
LywKKwkJCQk2QkU5NjlDNDFFNTRENEE0MDA4Qjc0ODMgLyogUmVzb3VyY2VMb2FkU3RhdGlzdGlj
c0NsYXNzaWZpZXIuaCAqLywKKwkJCQk2QkU5NjlDQzFFNTRFMDU0MDA4Qjc0ODMgLyogUmVzb3Vy
Y2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXJCYXNlLmggKi8sCisJCQkpOworCQkJcGF0aCA9IGNs
YXNzaWZpZXI7CisJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOworCQl9OworCQk2QkU5NjlDMzFF
NTRENDY3MDA4Qjc0ODMgLyogY29jb2EgKi8gPSB7CisJCQlpc2EgPSBQQlhHcm91cDsKKwkJCWNo
aWxkcmVuID0gKAorCQkJCTZCRTk2OUM4MUU1NEQ0Q0YwMDhCNzQ4MyAvKiBSZXNvdXJjZUxvYWRT
dGF0aXN0aWNzQ2xhc3NpZmllckNvY29hLmNwcCAqLywKKwkJCQk2QkU5NjlDOTFFNTRENENGMDA4
Qjc0ODMgLyogUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXJDb2NvYS5oICovLAorCQkJ
CTZCMkUwOUI5MUU1N0I4ODEwMEM4QThCOSAvKiBDb3JlUHJlZGljdGlvblNQSS5oICovLAorCQkJ
KTsKKwkJCXBhdGggPSBjb2NvYTsKKwkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CisJCX07CiAJ
CTZFRTg0OUM0MTM2OEQ5MDQwMDM4RDQ4MSAvKiBtYWMgKi8gPSB7CiAJCQlpc2EgPSBQQlhHcm91
cDsKIAkJCWNoaWxkcmVuID0gKApAQCAtNjk5OCw2ICs3MDQzLDcgQEAKIAkJQkMyRTZFNzQxMTQx
OTZGMDAwQTYzQjFFIC8qIFBsYXRmb3JtICovID0gewogCQkJaXNhID0gUEJYR3JvdXA7CiAJCQlj
aGlsZHJlbiA9ICgKKwkJCQk2QkU5NjlDMjFFNTRENDY3MDA4Qjc0ODMgLyogY2xhc3NpZmllciAq
LywKIAkJCQkzNzA5NTA0MTE4QTg4QkE0MDA4N0FFNUQgLyogY2YgKi8sCiAJCQkJMUFBMkU1MUEx
MkU0QzA1NjAwQkM0OTY2IC8qIGNnICovLAogCQkJCTQ0NTBBRUJFMURDM0ZBQUMwMDk5NDNGMiAv
KiBjb2NvYSAqLywKQEAgLTc4ODAsNiArNzkyNiw3IEBACiAJCQkJNDFEQzQ1OTYxRTNENkUyMjAw
QjExRjUxIC8qIE5ldHdvcmtSVENQcm92aWRlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJN0MxQkEz
M0UxQTRBMEU2MDAwNDNFMjQ5IC8qIEFQSURpY3Rpb25hcnkuaCBpbiBIZWFkZXJzICovLAogCQkJ
CTFGN0QzNkMxMThEQTUxM0YwMEQ5RDY1OSAvKiBBUElEb3dubG9hZENsaWVudC5oIGluIEhlYWRl
cnMgKi8sCisJCQkJNkJFOTY5Q0IxRTU0RDRDRjAwOEI3NDgzIC8qIFJlc291cmNlTG9hZFN0YXRp
c3RpY3NDbGFzc2lmaWVyQ29jb2EuaCBpbiBIZWFkZXJzICovLAogCQkJCTUxNkE0QTVEMTIwQTJD
Q0QwMEMwNUI3RiAvKiBBUElFcnJvci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMzE3RkU3QzUxQzQ4
N0E2QzAwQTBDQTg5IC8qIEFQSUV4cGVyaW1lbnRhbEZlYXR1cmUuaCBpbiBIZWFkZXJzICovLAog
CQkJCTAwQjk2NjE2MThFMjRDQkEwMENFMUY4OCAvKiBBUElGaW5kQ2xpZW50LmggaW4gSGVhZGVy
cyAqLywKQEAgLTgyOTksNiArODM0Niw3IEBACiAJCQkJMzMwOTM0NEExMzE1QjkyMjAwOTdBN0JD
IC8qIFdlYkNvb2tpZU1hbmFnZXJQcm94eU1lc3NhZ2VzLmggaW4gSGVhZGVycyAqLywKIAkJCQlC
QzFERDdCMjExNERDMzk2MDA1QURBRjMgLyogV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmggaW4gSGVh
ZGVycyAqLywKIAkJCQk1MTJGNTg5QjEyQTg4Mzg4MDA2Mjk1MzAgLyogV2ViQ3JlZGVudGlhbC5o
IGluIEhlYWRlcnMgKi8sCisJCQkJNkJFOTY5QzUxRTU0RDRBNDAwOEI3NDgzIC8qIFJlc291cmNl
TG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyLmggaW4gSGVhZGVycyAqLywKIAkJCQkxQUE4M0Y2RDFB
NUI2M0ZGMDAwMjZFQzYgLyogV2ViRGF0YWJhc2VQcm92aWRlci5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJQ0QxOUEyNkUxQTEzRTgzNDAwOEQ2NTBFIC8qIFdlYkRpYWdub3N0aWNMb2dnaW5nQ2xpZW50
LmggaW4gSGVhZGVycyAqLywKIAkJCQkxQTVCMUM1NTE4OTg3RURGMDA0RkNGOUIgLyogV2ViRG9j
dW1lbnRMb2FkZXIuaCBpbiBIZWFkZXJzICovLApAQCAtODM4NCw2ICs4NDMyLDcgQEAKIAkJCQk1
MTIxMjdDNDE5MDgyMzlBMDBEQUYzNUMgLyogV2ViUGFzdGVib2FyZE92ZXJyaWRlcy5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJN0M0Njk0RDExQTUxRTM2ODAwQUQ1ODQ1IC8qIFdlYlBhc3RlYm9hcmRQ
cm94eS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJN0M0Njk0Q0ExQTRCNEVBMTAwQUQ1ODQ1IC8qIFdl
YlBhc3RlYm9hcmRQcm94eU1lc3NhZ2VzLmggaW4gSGVhZGVycyAqLywKKwkJCQk2QjJFMDlCQTFF
NTdCODgxMDBDOEE4QjkgLyogQ29yZVByZWRpY3Rpb25TUEkuaCBpbiBIZWFkZXJzICovLAogCQkJ
CTFBQjFGNzk3MUQxQjM2MTMwMDdDOUJEMSAvKiBXZWJQYXltZW50Q29vcmRpbmF0b3JNZXNzYWdl
cy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUFCMUY3OEMxRDFCMzM1NTAwN0M5QkQxIC8qIFdlYlBh
eW1lbnRDb29yZGluYXRvclByb3h5LmggaW4gSGVhZGVycyAqLywKIAkJCQkxQUIxRjc3RTFEMUIz
MEE5MDA3QzlCRDEgLyogV2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHlDb2NvYS5oIGluIEhlYWRl
cnMgKi8sCkBAIC04NTAyLDYgKzg1NTEsNyBAQAogCQkJCUJDN0I2MzNEMTJBNDVEMTIwMEQxNzRB
NCAvKiBXS0J1bmRsZVBhZ2VHcm91cC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUFCNDc0RDgxODRE
NDNGRDAwNTFCNjIyIC8qIFdLQnVuZGxlUGFnZUxvYWRlckNsaWVudC5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJRUQ4MkE3RjIxMjhDNkZBRjAwNDQ3N0IzIC8qIFdLQnVuZGxlUGFnZU92ZXJsYXkuaCBp
biBIZWFkZXJzICovLAorCQkJCTZCRTk2OUNEMUU1NEUwNTQwMDhCNzQ4MyAvKiBSZXNvdXJjZUxv
YWRTdGF0aXN0aWNzQ2xhc3NpZmllckJhc2UuaCBpbiBIZWFkZXJzICovLAogCQkJCTFBQjQ3NEVB
MTg0RDQ1MTMwMDUxQjYyMiAvKiBXS0J1bmRsZVBhZ2VQb2xpY3lDbGllbnQuaCBpbiBIZWFkZXJz
ICovLAogCQkJCUJDMUI0MTk4MTFENDFENTcwMDExRThERCAvKiBXS0J1bmRsZVBhZ2VQcml2YXRl
LmggaW4gSGVhZGVycyAqLywKIAkJCQkxQUI0NzREQTE4NEQ0NDI1MDA1MUI2MjIgLyogV0tCdW5k
bGVQYWdlUmVzb3VyY2VMb2FkQ2xpZW50LmggaW4gSGVhZGVycyAqLywKQEAgLTkwMzUsNiArOTA4
NSw3IEBACiAJCQkJN0E1RTM5NEExRDVCRDhCRTAwQjRCN0NFIC8qIGNvbS5tYWNyb21lZGlhLkZs
YXNoIFBsYXllciBFU1IucGx1Z2luLnNiIGluIFJlc291cmNlcyAqLywKIAkJCQk4REMyRUY1MzA0
ODZBNjk0MDA5OEIyMTYgLyogSW5mb1BsaXN0LnN0cmluZ3MgaW4gUmVzb3VyY2VzICovLAogCQkJ
CTkzQTJBMzQ2MUQyNDYxMjUwMDJCNTlEMyAvKiBtZWRpYUljb24ucGRmIGluIFJlc291cmNlcyAq
LywKKwkJCQk2QkU5NjlDMTFFNTRENDUyMDA4Qjc0ODMgLyogY29yZVByZWRpY3Rpb25fbW9kZWwg
aW4gUmVzb3VyY2VzICovLAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nl
c3NpbmcgPSAwOwogCQl9OwpAQCAtOTYyMyw2ICs5Njc0LDcgQEAKIAkJCQk1MTc5NTU2NzE2Mjg3
NkNCMDBGQTQzQjYgLyogTmV0d29ya1Byb2Nlc3NNYWMubW0gaW4gU291cmNlcyAqLywKIAkJCQk1
MTYzMTk5NDE2Mjg5QTYwMDBFMjJGMDAgLyogTmV0d29ya1Byb2Nlc3NNZXNzYWdlUmVjZWl2ZXIu
Y3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJRTE0QTk1NDkxNkUwMTZBNDAwNjhERTgyIC8qIE5ldHdv
cmtQcm9jZXNzUGxhdGZvcm1TdHJhdGVnaWVzLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTZCRTk2
OUNBMUU1NEQ0Q0YwMDhCNzQ4MyAvKiBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllckNv
Y29hLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTUxNzk1NTZEMTYyODc3QjEwMEZBNDNCNiAvKiBO
ZXR3b3JrUHJvY2Vzc1Byb3h5LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTUxNjMxOTkyMTYyODk4
MEEwMEUyMkYwMCAvKiBOZXR3b3JrUHJvY2Vzc1Byb3h5TWFjLm1tIGluIFNvdXJjZXMgKi8sCiAJ
CQkJNTEzQTE2M0MxNjMwODhGNjAwNUQ3RDIyIC8qIE5ldHdvcmtQcm9jZXNzUHJveHlNZXNzYWdl
UmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8sCkBAIC05OTY1LDYgKzEwMDE3LDcgQEAKIAkJCQlE
M0I5NDg0NjExRkY0QjY1MDAwMzJCMzkgLyogV2ViUG9wdXBNZW51LmNwcCBpbiBTb3VyY2VzICov
LAogCQkJCUJDQzQzQUM3MTI3Qjk5REUwMDMxN0YxNiAvKiBXZWJQb3B1cE1lbnVNYWMubW0gaW4g
U291cmNlcyAqLywKIAkJCQlCQzU3NTA5ODEyNjhGM0M2MDA2RjBGMTIgLyogV2ViUG9wdXBNZW51
UHJveHlNYWMubW0gaW4gU291cmNlcyAqLywKKwkJCQk2QkU5NjlDNzFFNTRENEI2MDA4Qjc0ODMg
LyogUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXJCYXNlLmNwcCBpbiBTb3VyY2VzICov
LAogCQkJCUJDRDU5ODAwMTEyQjU3QkUwMEVDOEMyMyAvKiBXZWJQcmVmZXJlbmNlcy5jcHAgaW4g
U291cmNlcyAqLywKIAkJCQk3Qzg1RkQ3RjE5MzQxNjY1MDAwMTc3QzQgLyogV2ViUHJlZmVyZW5j
ZXNLZXlzLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUJDODRFQjE4MTJBNzEwMEMwMDgzRjJEQSAv
KiBXZWJQcmVmZXJlbmNlc01hYy5tbSBpbiBTb3VyY2VzICovLApJbmRleDogVG9vbHMvQ2hhbmdl
TG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFRvb2xzL0NoYW5nZUxvZwkocmV2aXNpb24gMjEyNTk2KQorKysg
VG9vbHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMzAgQEAKKzIwMTctMDIt
MTcgIEpvaG4gV2lsYW5kZXIgIDx3aWxhbmRlckBhcHBsZS5jb20+CisKKyAgICAgICAgUmVzb3Vy
Y2UgTG9hZCBTdGF0aXN0aWNzOiBBZGQgYWx0ZXJuYXRlIGNsYXNzaWZpY2F0aW9uIG1ldGhvZAor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY4MzQ3Cisg
ICAgICAgIDxyZGFyOi8vcHJvYmxlbS8zMDM1Mjc5Mz4KKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGRlZCB0aHJlZSB0ZXN0UnVubmVyIGZ1bmN0aW9u
cyB0byBmYWNpbGl0YXRlIGxheW91dCB0ZXN0czoKKyAgICAgICAgLSBzZXRTdGF0aXN0aWNzU3Vi
ZnJhbWVVbmRlclRvcEZyYW1lT3JpZ2luKCkKKyAgICAgICAgLSBzZXRTdGF0aXN0aWNzU3VicmVz
b3VyY2VVbmRlclRvcEZyYW1lT3JpZ2luKCkKKyAgICAgICAgLSBzZXRTdGF0aXN0aWNzU3VicmVz
b3VyY2VVbmlxdWVSZWRpcmVjdFRvKCkKKworICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvSW5q
ZWN0ZWRCdW5kbGUvQmluZGluZ3MvVGVzdFJ1bm5lci5pZGw6CisgICAgICAgICogV2ViS2l0VGVz
dFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9UZXN0UnVubmVyLmNwcDoKKyAgICAgICAgKFdUUjo6VGVz
dFJ1bm5lcjo6c2V0U3RhdGlzdGljc1N1YmZyYW1lVW5kZXJUb3BGcmFtZU9yaWdpbik6CisgICAg
ICAgIChXVFI6OlRlc3RSdW5uZXI6OnNldFN0YXRpc3RpY3NTdWJyZXNvdXJjZVVuZGVyVG9wRnJh
bWVPcmlnaW4pOgorICAgICAgICAoV1RSOjpUZXN0UnVubmVyOjpzZXRTdGF0aXN0aWNzU3VicmVz
b3VyY2VVbmlxdWVSZWRpcmVjdFRvKToKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL0luamVj
dGVkQnVuZGxlL1Rlc3RSdW5uZXIuaDoKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL1Rlc3RD
b250cm9sbGVyLmNwcDoKKyAgICAgICAgKFdUUjo6VGVzdENvbnRyb2xsZXI6OnNldFN0YXRpc3Rp
Y3NTdWJmcmFtZVVuZGVyVG9wRnJhbWVPcmlnaW4pOgorICAgICAgICAoV1RSOjpUZXN0Q29udHJv
bGxlcjo6c2V0U3RhdGlzdGljc1N1YnJlc291cmNlVW5kZXJUb3BGcmFtZU9yaWdpbik6CisgICAg
ICAgIChXVFI6OlRlc3RDb250cm9sbGVyOjpzZXRTdGF0aXN0aWNzU3VicmVzb3VyY2VVbmlxdWVS
ZWRpcmVjdFRvKToKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmg6
CisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9UZXN0SW52b2NhdGlvbi5jcHA6CisgICAgICAg
IChXVFI6OlRlc3RJbnZvY2F0aW9uOjpkaWRSZWNlaXZlU3luY2hyb25vdXNNZXNzYWdlRnJvbUlu
amVjdGVkQnVuZGxlKToKKwogMjAxNy0wMi0xNyAgQWFrYXNoIEphaW4gIDxhYWthc2hfamFpbkBh
cHBsZS5jb20+CiAKICAgICAgICAgRml4IGZhaWx1cmUgZnJvbSByMjEyNTc5LgpJbmRleDogVG9v
bHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9v
bHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5jcHAJKHJldmlzaW9uIDIxMjUyNCkK
KysrIFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC0yMjI5LDYgKzIyMjksMjEgQEAgYm9vbCBUZXN0Q29udHJvbGxlcjo6aXNTdGF0aXN0
aWNzSGFzSGFkVQogICAgIHJldHVybiBXS1Jlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VySXNI
YXNIYWRVc2VySW50ZXJhY3Rpb24oaG9zdE5hbWUpOwogfQogCit2b2lkIFRlc3RDb250cm9sbGVy
OjpzZXRTdGF0aXN0aWNzU3ViZnJhbWVVbmRlclRvcEZyYW1lT3JpZ2luKFdLU3RyaW5nUmVmIGhv
c3ROYW1lLCBXS1N0cmluZ1JlZiB0b3BGcmFtZUhvc3ROYW1lKQoreworICAgIFdLUmVzb3VyY2VM
b2FkU3RhdGlzdGljc01hbmFnZXJTZXRTdWJmcmFtZVVuZGVyVG9wRnJhbWVPcmlnaW4oaG9zdE5h
bWUsIHRvcEZyYW1lSG9zdE5hbWUpOworfQorCit2b2lkIFRlc3RDb250cm9sbGVyOjpzZXRTdGF0
aXN0aWNzU3VicmVzb3VyY2VVbmRlclRvcEZyYW1lT3JpZ2luKFdLU3RyaW5nUmVmIGhvc3ROYW1l
LCBXS1N0cmluZ1JlZiB0b3BGcmFtZUhvc3ROYW1lKQoreworICAgIFdLUmVzb3VyY2VMb2FkU3Rh
dGlzdGljc01hbmFnZXJTZXRTdWJyZXNvdXJjZVVuZGVyVG9wRnJhbWVPcmlnaW4oaG9zdE5hbWUs
IHRvcEZyYW1lSG9zdE5hbWUpOworfQorICAgIAordm9pZCBUZXN0Q29udHJvbGxlcjo6c2V0U3Rh
dGlzdGljc1N1YnJlc291cmNlVW5pcXVlUmVkaXJlY3RUbyhXS1N0cmluZ1JlZiBob3N0TmFtZSwg
V0tTdHJpbmdSZWYgaG9zdE5hbWVSZWRpcmVjdGVkVG8pCit7CisgICAgV0tSZXNvdXJjZUxvYWRT
dGF0aXN0aWNzTWFuYWdlclNldFN1YnJlc291cmNlVW5pcXVlUmVkaXJlY3RUbyhob3N0TmFtZSwg
aG9zdE5hbWVSZWRpcmVjdGVkVG8pOworfQorCiB2b2lkIFRlc3RDb250cm9sbGVyOjpzZXRTdGF0
aXN0aWNzVGltZVRvTGl2ZVVzZXJJbnRlcmFjdGlvbihkb3VibGUgc2Vjb25kcykKIHsKICAgICBX
S1Jlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VyU2V0VGltZVRvTGl2ZVVzZXJJbnRlcmFjdGlv
bihzZWNvbmRzKTsKSW5kZXg6IFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIu
aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBUb29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmgJ
KHJldmlzaW9uIDIxMjUyNCkKKysrIFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xs
ZXIuaAkod29ya2luZyBjb3B5KQpAQCAtMTUyLDYgKzE1Miw5IEBAIHB1YmxpYzoKICAgICBib29s
IGlzU3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNlKFdLU3RyaW5nUmVmIGhvc3ROYW1lKTsKICAg
ICB2b2lkIHNldFN0YXRpc3RpY3NIYXNIYWRVc2VySW50ZXJhY3Rpb24oV0tTdHJpbmdSZWYgaG9z
dE5hbWUsIGJvb2wgdmFsdWUpOwogICAgIGJvb2wgaXNTdGF0aXN0aWNzSGFzSGFkVXNlckludGVy
YWN0aW9uKFdLU3RyaW5nUmVmIGhvc3ROYW1lKTsKKyAgICB2b2lkIHNldFN0YXRpc3RpY3NTdWJm
cmFtZVVuZGVyVG9wRnJhbWVPcmlnaW4oV0tTdHJpbmdSZWYgaG9zdE5hbWUsIFdLU3RyaW5nUmVm
IHRvcEZyYW1lSG9zdE5hbWUpOworICAgIHZvaWQgc2V0U3RhdGlzdGljc1N1YnJlc291cmNlVW5k
ZXJUb3BGcmFtZU9yaWdpbihXS1N0cmluZ1JlZiBob3N0TmFtZSwgV0tTdHJpbmdSZWYgdG9wRnJh
bWVIb3N0TmFtZSk7CisgICAgdm9pZCBzZXRTdGF0aXN0aWNzU3VicmVzb3VyY2VVbmlxdWVSZWRp
cmVjdFRvKFdLU3RyaW5nUmVmIGhvc3ROYW1lLCBXS1N0cmluZ1JlZiBob3N0TmFtZVJlZGlyZWN0
ZWRUbyk7CiAgICAgdm9pZCBzZXRTdGF0aXN0aWNzVGltZVRvTGl2ZVVzZXJJbnRlcmFjdGlvbihk
b3VibGUgc2Vjb25kcyk7CiAgICAgdm9pZCBzdGF0aXN0aWNzRmlyZURhdGFNb2RpZmljYXRpb25I
YW5kbGVyKCk7CiAgICAgdm9pZCBzZXRTdGF0aXN0aWNzTm90aWZ5UGFnZXNXaGVuRGF0YVJlY29y
ZHNXZXJlU2Nhbm5lZChib29sKTsKSW5kZXg6IFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdElu
dm9jYXRpb24uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdElu
dm9jYXRpb24uY3BwCShyZXZpc2lvbiAyMTI1MjQpCisrKyBUb29scy9XZWJLaXRUZXN0UnVubmVy
L1Rlc3RJbnZvY2F0aW9uLmNwcAkod29ya2luZyBjb3B5KQpAQCAtOTMyLDYgKzkzMiw0OCBAQCBX
S1JldGFpblB0cjxXS1R5cGVSZWY+IFRlc3RJbnZvY2F0aW9uOjpkCiAgICAgICAgIHJldHVybiBy
ZXN1bHQ7CiAgICAgfQogICAgIAorICAgIGlmIChXS1N0cmluZ0lzRXF1YWxUb1VURjhDU3RyaW5n
KG1lc3NhZ2VOYW1lLCAiU2V0U3RhdGlzdGljc1N1YmZyYW1lVW5kZXJUb3BGcmFtZU9yaWdpbiIp
KSB7CisgICAgICAgIEFTU0VSVChXS0dldFR5cGVJRChtZXNzYWdlQm9keSkgPT0gV0tEaWN0aW9u
YXJ5R2V0VHlwZUlEKCkpOworICAgICAgICAKKyAgICAgICAgV0tEaWN0aW9uYXJ5UmVmIG1lc3Nh
Z2VCb2R5RGljdGlvbmFyeSA9IHN0YXRpY19jYXN0PFdLRGljdGlvbmFyeVJlZj4obWVzc2FnZUJv
ZHkpOworICAgICAgICBXS1JldGFpblB0cjxXS1N0cmluZ1JlZj4gaG9zdE5hbWVLZXkoQWRvcHRX
SywgV0tTdHJpbmdDcmVhdGVXaXRoVVRGOENTdHJpbmcoIkhvc3ROYW1lIikpOworICAgICAgICBX
S1JldGFpblB0cjxXS1N0cmluZ1JlZj4gdG9wRnJhbWVIb3N0TmFtZUtleShBZG9wdFdLLCBXS1N0
cmluZ0NyZWF0ZVdpdGhVVEY4Q1N0cmluZygiVG9wRnJhbWVIb3N0TmFtZSIpKTsKKyAgICAgICAg
CisgICAgICAgIFdLU3RyaW5nUmVmIGhvc3ROYW1lID0gc3RhdGljX2Nhc3Q8V0tTdHJpbmdSZWY+
KFdLRGljdGlvbmFyeUdldEl0ZW1Gb3JLZXkobWVzc2FnZUJvZHlEaWN0aW9uYXJ5LCBob3N0TmFt
ZUtleS5nZXQoKSkpOworICAgICAgICBXS1N0cmluZ1JlZiB0b3BGcmFtZUhvc3ROYW1lID0gc3Rh
dGljX2Nhc3Q8V0tTdHJpbmdSZWY+KFdLRGljdGlvbmFyeUdldEl0ZW1Gb3JLZXkobWVzc2FnZUJv
ZHlEaWN0aW9uYXJ5LCB0b3BGcmFtZUhvc3ROYW1lS2V5LmdldCgpKSk7CisKKyAgICAgICAgVGVz
dENvbnRyb2xsZXI6OnNpbmdsZXRvbigpLnNldFN0YXRpc3RpY3NTdWJmcmFtZVVuZGVyVG9wRnJh
bWVPcmlnaW4oaG9zdE5hbWUsIHRvcEZyYW1lSG9zdE5hbWUpOworICAgICAgICByZXR1cm4gbnVs
bHB0cjsKKyAgICB9CisgICAgCisgICAgaWYgKFdLU3RyaW5nSXNFcXVhbFRvVVRGOENTdHJpbmco
bWVzc2FnZU5hbWUsICJTZXRTdGF0aXN0aWNzU3VicmVzb3VyY2VVbmRlclRvcEZyYW1lT3JpZ2lu
IikpIHsKKyAgICAgICAgQVNTRVJUKFdLR2V0VHlwZUlEKG1lc3NhZ2VCb2R5KSA9PSBXS0RpY3Rp
b25hcnlHZXRUeXBlSUQoKSk7CisgICAgICAgIAorICAgICAgICBXS0RpY3Rpb25hcnlSZWYgbWVz
c2FnZUJvZHlEaWN0aW9uYXJ5ID0gc3RhdGljX2Nhc3Q8V0tEaWN0aW9uYXJ5UmVmPihtZXNzYWdl
Qm9keSk7CisgICAgICAgIFdLUmV0YWluUHRyPFdLU3RyaW5nUmVmPiBob3N0TmFtZUtleShBZG9w
dFdLLCBXS1N0cmluZ0NyZWF0ZVdpdGhVVEY4Q1N0cmluZygiSG9zdE5hbWUiKSk7CisgICAgICAg
IFdLUmV0YWluUHRyPFdLU3RyaW5nUmVmPiB0b3BGcmFtZUhvc3ROYW1lS2V5KEFkb3B0V0ssIFdL
U3RyaW5nQ3JlYXRlV2l0aFVURjhDU3RyaW5nKCJUb3BGcmFtZUhvc3ROYW1lIikpOworICAgICAg
ICAKKyAgICAgICAgV0tTdHJpbmdSZWYgaG9zdE5hbWUgPSBzdGF0aWNfY2FzdDxXS1N0cmluZ1Jl
Zj4oV0tEaWN0aW9uYXJ5R2V0SXRlbUZvcktleShtZXNzYWdlQm9keURpY3Rpb25hcnksIGhvc3RO
YW1lS2V5LmdldCgpKSk7CisgICAgICAgIFdLU3RyaW5nUmVmIHRvcEZyYW1lSG9zdE5hbWUgPSBz
dGF0aWNfY2FzdDxXS1N0cmluZ1JlZj4oV0tEaWN0aW9uYXJ5R2V0SXRlbUZvcktleShtZXNzYWdl
Qm9keURpY3Rpb25hcnksIHRvcEZyYW1lSG9zdE5hbWVLZXkuZ2V0KCkpKTsKKyAgICAgICAgCisg
ICAgICAgIFRlc3RDb250cm9sbGVyOjpzaW5nbGV0b24oKS5zZXRTdGF0aXN0aWNzU3VicmVzb3Vy
Y2VVbmRlclRvcEZyYW1lT3JpZ2luKGhvc3ROYW1lLCB0b3BGcmFtZUhvc3ROYW1lKTsKKyAgICAg
ICAgcmV0dXJuIG51bGxwdHI7CisgICAgfQorICAgIAorICAgIGlmIChXS1N0cmluZ0lzRXF1YWxU
b1VURjhDU3RyaW5nKG1lc3NhZ2VOYW1lLCAiU2V0U3RhdGlzdGljc1N1YnJlc291cmNlVW5pcXVl
UmVkaXJlY3RUbyIpKSB7CisgICAgICAgIEFTU0VSVChXS0dldFR5cGVJRChtZXNzYWdlQm9keSkg
PT0gV0tEaWN0aW9uYXJ5R2V0VHlwZUlEKCkpOworICAgICAgICAKKyAgICAgICAgV0tEaWN0aW9u
YXJ5UmVmIG1lc3NhZ2VCb2R5RGljdGlvbmFyeSA9IHN0YXRpY19jYXN0PFdLRGljdGlvbmFyeVJl
Zj4obWVzc2FnZUJvZHkpOworICAgICAgICBXS1JldGFpblB0cjxXS1N0cmluZ1JlZj4gaG9zdE5h
bWVLZXkoQWRvcHRXSywgV0tTdHJpbmdDcmVhdGVXaXRoVVRGOENTdHJpbmcoIkhvc3ROYW1lIikp
OworICAgICAgICBXS1JldGFpblB0cjxXS1N0cmluZ1JlZj4gaG9zdE5hbWVSZWRpcmVjdGVkVG9L
ZXkoQWRvcHRXSywgV0tTdHJpbmdDcmVhdGVXaXRoVVRGOENTdHJpbmcoIkhvc3ROYW1lUmVkaXJl
Y3RlZFRvIikpOworICAgICAgICAKKyAgICAgICAgV0tTdHJpbmdSZWYgaG9zdE5hbWUgPSBzdGF0
aWNfY2FzdDxXS1N0cmluZ1JlZj4oV0tEaWN0aW9uYXJ5R2V0SXRlbUZvcktleShtZXNzYWdlQm9k
eURpY3Rpb25hcnksIGhvc3ROYW1lS2V5LmdldCgpKSk7CisgICAgICAgIFdLU3RyaW5nUmVmIGhv
c3ROYW1lUmVkaXJlY3RlZFRvID0gc3RhdGljX2Nhc3Q8V0tTdHJpbmdSZWY+KFdLRGljdGlvbmFy
eUdldEl0ZW1Gb3JLZXkobWVzc2FnZUJvZHlEaWN0aW9uYXJ5LCBob3N0TmFtZVJlZGlyZWN0ZWRU
b0tleS5nZXQoKSkpOworICAgICAgICAKKyAgICAgICAgVGVzdENvbnRyb2xsZXI6OnNpbmdsZXRv
bigpLnNldFN0YXRpc3RpY3NTdWJyZXNvdXJjZVVuaXF1ZVJlZGlyZWN0VG8oaG9zdE5hbWUsIGhv
c3ROYW1lUmVkaXJlY3RlZFRvKTsKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7CisgICAgfQorCiAg
ICAgaWYgKFdLU3RyaW5nSXNFcXVhbFRvVVRGOENTdHJpbmcobWVzc2FnZU5hbWUsICJTZXRTdGF0
aXN0aWNzVGltZVRvTGl2ZVVzZXJJbnRlcmFjdGlvbiIpKSB7CiAgICAgICAgIEFTU0VSVChXS0dl
dFR5cGVJRChtZXNzYWdlQm9keSkgPT0gV0tEb3VibGVHZXRUeXBlSUQoKSk7CiAgICAgICAgIFdL
RG91YmxlUmVmIHNlY29uZHMgPSBzdGF0aWNfY2FzdDxXS0RvdWJsZVJlZj4obWVzc2FnZUJvZHkp
OwpJbmRleDogVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9UZXN0UnVubmVy
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBUb29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxl
L1Rlc3RSdW5uZXIuY3BwCShyZXZpc2lvbiAyMTI1MjQpCisrKyBUb29scy9XZWJLaXRUZXN0UnVu
bmVyL0luamVjdGVkQnVuZGxlL1Rlc3RSdW5uZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMjI2
LDYgKzEyMjYsODQgQEAgYm9vbCBUZXN0UnVubmVyOjppc1N0YXRpc3RpY3NIYXNIYWRVc2VySQog
ICAgIHJldHVybiBXS0Jvb2xlYW5HZXRWYWx1ZShzdGF0aWNfY2FzdDxXS0Jvb2xlYW5SZWY+KHJl
dHVybkRhdGEpKTsKIH0KIAordm9pZCBUZXN0UnVubmVyOjpzZXRTdGF0aXN0aWNzU3ViZnJhbWVV
bmRlclRvcEZyYW1lT3JpZ2luKEpTU3RyaW5nUmVmIGhvc3ROYW1lLCBKU1N0cmluZ1JlZiB0b3BG
cmFtZUhvc3ROYW1lKQoreworICAgIFZlY3RvcjxXS1JldGFpblB0cjxXS1N0cmluZ1JlZj4+IGtl
eXM7CisgICAgVmVjdG9yPFdLUmV0YWluUHRyPFdLVHlwZVJlZj4+IHZhbHVlczsKKyAgICAKKyAg
ICBrZXlzLmFwcGVuZCh7IEFkb3B0V0ssIFdLU3RyaW5nQ3JlYXRlV2l0aFVURjhDU3RyaW5nKCJI
b3N0TmFtZSIpIH0pOworICAgIHZhbHVlcy5hcHBlbmQoeyBBZG9wdFdLLCBXS1N0cmluZ0NyZWF0
ZVdpdGhKU1N0cmluZyhob3N0TmFtZSkgfSk7CisgICAgCisgICAga2V5cy5hcHBlbmQoeyBBZG9w
dFdLLCBXS1N0cmluZ0NyZWF0ZVdpdGhVVEY4Q1N0cmluZygiVG9wRnJhbWVIb3N0TmFtZSIpIH0p
OworICAgIHZhbHVlcy5hcHBlbmQoeyBBZG9wdFdLLCBXS1N0cmluZ0NyZWF0ZVdpdGhKU1N0cmlu
Zyh0b3BGcmFtZUhvc3ROYW1lKSB9KTsKKyAgICAKKyAgICBWZWN0b3I8V0tTdHJpbmdSZWY+IHJh
d0tleXM7CisgICAgVmVjdG9yPFdLVHlwZVJlZj4gcmF3VmFsdWVzOworICAgIHJhd0tleXMucmVz
aXplKGtleXMuc2l6ZSgpKTsKKyAgICByYXdWYWx1ZXMucmVzaXplKHZhbHVlcy5zaXplKCkpOwor
ICAgIAorICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwga2V5cy5zaXplKCk7ICsraSkgeworICAg
ICAgICByYXdLZXlzW2ldID0ga2V5c1tpXS5nZXQoKTsKKyAgICAgICAgcmF3VmFsdWVzW2ldID0g
dmFsdWVzW2ldLmdldCgpOworICAgIH0KKyAgICAKKyAgICBXS1JldGFpblB0cjxXS1N0cmluZ1Jl
Zj4gbWVzc2FnZU5hbWUoQWRvcHRXSywgV0tTdHJpbmdDcmVhdGVXaXRoVVRGOENTdHJpbmcoIlNl
dFN0YXRpc3RpY3NTdWJmcmFtZVVuZGVyVG9wRnJhbWVPcmlnaW4iKSk7CisgICAgV0tSZXRhaW5Q
dHI8V0tEaWN0aW9uYXJ5UmVmPiBtZXNzYWdlQm9keShBZG9wdFdLLCBXS0RpY3Rpb25hcnlDcmVh
dGUocmF3S2V5cy5kYXRhKCksIHJhd1ZhbHVlcy5kYXRhKCksIHJhd0tleXMuc2l6ZSgpKSk7Cisg
ICAgV0tCdW5kbGVQb3N0U3luY2hyb25vdXNNZXNzYWdlKEluamVjdGVkQnVuZGxlOjpzaW5nbGV0
b24oKS5idW5kbGUoKSwgbWVzc2FnZU5hbWUuZ2V0KCksIG1lc3NhZ2VCb2R5LmdldCgpLCBudWxs
cHRyKTsKK30KKwordm9pZCBUZXN0UnVubmVyOjpzZXRTdGF0aXN0aWNzU3VicmVzb3VyY2VVbmRl
clRvcEZyYW1lT3JpZ2luKEpTU3RyaW5nUmVmIGhvc3ROYW1lLCBKU1N0cmluZ1JlZiB0b3BGcmFt
ZUhvc3ROYW1lKQoreworICAgIFZlY3RvcjxXS1JldGFpblB0cjxXS1N0cmluZ1JlZj4+IGtleXM7
CisgICAgVmVjdG9yPFdLUmV0YWluUHRyPFdLVHlwZVJlZj4+IHZhbHVlczsKKyAgICAKKyAgICBr
ZXlzLmFwcGVuZCh7IEFkb3B0V0ssIFdLU3RyaW5nQ3JlYXRlV2l0aFVURjhDU3RyaW5nKCJIb3N0
TmFtZSIpIH0pOworICAgIHZhbHVlcy5hcHBlbmQoeyBBZG9wdFdLLCBXS1N0cmluZ0NyZWF0ZVdp
dGhKU1N0cmluZyhob3N0TmFtZSkgfSk7CisgICAgCisgICAga2V5cy5hcHBlbmQoeyBBZG9wdFdL
LCBXS1N0cmluZ0NyZWF0ZVdpdGhVVEY4Q1N0cmluZygiVG9wRnJhbWVIb3N0TmFtZSIpIH0pOwor
ICAgIHZhbHVlcy5hcHBlbmQoeyBBZG9wdFdLLCBXS1N0cmluZ0NyZWF0ZVdpdGhKU1N0cmluZyh0
b3BGcmFtZUhvc3ROYW1lKSB9KTsKKyAgICAKKyAgICBWZWN0b3I8V0tTdHJpbmdSZWY+IHJhd0tl
eXM7CisgICAgVmVjdG9yPFdLVHlwZVJlZj4gcmF3VmFsdWVzOworICAgIHJhd0tleXMucmVzaXpl
KGtleXMuc2l6ZSgpKTsKKyAgICByYXdWYWx1ZXMucmVzaXplKHZhbHVlcy5zaXplKCkpOworICAg
IAorICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwga2V5cy5zaXplKCk7ICsraSkgeworICAgICAg
ICByYXdLZXlzW2ldID0ga2V5c1tpXS5nZXQoKTsKKyAgICAgICAgcmF3VmFsdWVzW2ldID0gdmFs
dWVzW2ldLmdldCgpOworICAgIH0KKyAgICAKKyAgICBXS1JldGFpblB0cjxXS1N0cmluZ1JlZj4g
bWVzc2FnZU5hbWUoQWRvcHRXSywgV0tTdHJpbmdDcmVhdGVXaXRoVVRGOENTdHJpbmcoIlNldFN0
YXRpc3RpY3NTdWJyZXNvdXJjZVVuZGVyVG9wRnJhbWVPcmlnaW4iKSk7CisgICAgV0tSZXRhaW5Q
dHI8V0tEaWN0aW9uYXJ5UmVmPiBtZXNzYWdlQm9keShBZG9wdFdLLCBXS0RpY3Rpb25hcnlDcmVh
dGUocmF3S2V5cy5kYXRhKCksIHJhd1ZhbHVlcy5kYXRhKCksIHJhd0tleXMuc2l6ZSgpKSk7Cisg
ICAgV0tCdW5kbGVQb3N0U3luY2hyb25vdXNNZXNzYWdlKEluamVjdGVkQnVuZGxlOjpzaW5nbGV0
b24oKS5idW5kbGUoKSwgbWVzc2FnZU5hbWUuZ2V0KCksIG1lc3NhZ2VCb2R5LmdldCgpLCBudWxs
cHRyKTsKK30KKwordm9pZCBUZXN0UnVubmVyOjpzZXRTdGF0aXN0aWNzU3VicmVzb3VyY2VVbmlx
dWVSZWRpcmVjdFRvKEpTU3RyaW5nUmVmIGhvc3ROYW1lLCBKU1N0cmluZ1JlZiBob3N0TmFtZVJl
ZGlyZWN0ZWRUbykKK3sKKyAgICBWZWN0b3I8V0tSZXRhaW5QdHI8V0tTdHJpbmdSZWY+PiBrZXlz
OworICAgIFZlY3RvcjxXS1JldGFpblB0cjxXS1R5cGVSZWY+PiB2YWx1ZXM7CisgICAgCisgICAg
a2V5cy5hcHBlbmQoeyBBZG9wdFdLLCBXS1N0cmluZ0NyZWF0ZVdpdGhVVEY4Q1N0cmluZygiSG9z
dE5hbWUiKSB9KTsKKyAgICB2YWx1ZXMuYXBwZW5kKHsgQWRvcHRXSywgV0tTdHJpbmdDcmVhdGVX
aXRoSlNTdHJpbmcoaG9zdE5hbWUpIH0pOworICAgIAorICAgIGtleXMuYXBwZW5kKHsgQWRvcHRX
SywgV0tTdHJpbmdDcmVhdGVXaXRoVVRGOENTdHJpbmcoIkhvc3ROYW1lUmVkaXJlY3RlZFRvIikg
fSk7CisgICAgdmFsdWVzLmFwcGVuZCh7IEFkb3B0V0ssIFdLU3RyaW5nQ3JlYXRlV2l0aEpTU3Ry
aW5nKGhvc3ROYW1lUmVkaXJlY3RlZFRvKSB9KTsKKyAgICAKKyAgICBWZWN0b3I8V0tTdHJpbmdS
ZWY+IHJhd0tleXM7CisgICAgVmVjdG9yPFdLVHlwZVJlZj4gcmF3VmFsdWVzOworICAgIHJhd0tl
eXMucmVzaXplKGtleXMuc2l6ZSgpKTsKKyAgICByYXdWYWx1ZXMucmVzaXplKHZhbHVlcy5zaXpl
KCkpOworICAgIAorICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwga2V5cy5zaXplKCk7ICsraSkg
eworICAgICAgICByYXdLZXlzW2ldID0ga2V5c1tpXS5nZXQoKTsKKyAgICAgICAgcmF3VmFsdWVz
W2ldID0gdmFsdWVzW2ldLmdldCgpOworICAgIH0KKyAgICAKKyAgICBXS1JldGFpblB0cjxXS1N0
cmluZ1JlZj4gbWVzc2FnZU5hbWUoQWRvcHRXSywgV0tTdHJpbmdDcmVhdGVXaXRoVVRGOENTdHJp
bmcoIlNldFN0YXRpc3RpY3NTdWJyZXNvdXJjZVVuaXF1ZVJlZGlyZWN0VG8iKSk7CisgICAgV0tS
ZXRhaW5QdHI8V0tEaWN0aW9uYXJ5UmVmPiBtZXNzYWdlQm9keShBZG9wdFdLLCBXS0RpY3Rpb25h
cnlDcmVhdGUocmF3S2V5cy5kYXRhKCksIHJhd1ZhbHVlcy5kYXRhKCksIHJhd0tleXMuc2l6ZSgp
KSk7CisgICAgV0tCdW5kbGVQb3N0U3luY2hyb25vdXNNZXNzYWdlKEluamVjdGVkQnVuZGxlOjpz
aW5nbGV0b24oKS5idW5kbGUoKSwgbWVzc2FnZU5hbWUuZ2V0KCksIG1lc3NhZ2VCb2R5LmdldCgp
LCBudWxscHRyKTsKK30KKwogdm9pZCBUZXN0UnVubmVyOjpzZXRTdGF0aXN0aWNzVGltZVRvTGl2
ZVVzZXJJbnRlcmFjdGlvbihkb3VibGUgc2Vjb25kcykKIHsKICAgICBXS1JldGFpblB0cjxXS1N0
cmluZ1JlZj4gbWVzc2FnZU5hbWUoQWRvcHRXSywgV0tTdHJpbmdDcmVhdGVXaXRoVVRGOENTdHJp
bmcoIlNldFN0YXRpc3RpY3NUaW1lVG9MaXZlVXNlckludGVyYWN0aW9uIikpOwpJbmRleDogVG9v
bHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9UZXN0UnVubmVyLmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9UZXN0UnVubmVyLmgJ
KHJldmlzaW9uIDIxMjUyNCkKKysrIFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5k
bGUvVGVzdFJ1bm5lci5oCSh3b3JraW5nIGNvcHkpCkBAIC0zNTQsNiArMzU0LDkgQEAgcHVibGlj
OgogICAgIGJvb2wgaXNTdGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2UoSlNTdHJpbmdSZWYgaG9z
dE5hbWUpOwogICAgIHZvaWQgc2V0U3RhdGlzdGljc0hhc0hhZFVzZXJJbnRlcmFjdGlvbihKU1N0
cmluZ1JlZiBob3N0TmFtZSwgYm9vbCB2YWx1ZSk7CiAgICAgYm9vbCBpc1N0YXRpc3RpY3NIYXNI
YWRVc2VySW50ZXJhY3Rpb24oSlNTdHJpbmdSZWYgaG9zdE5hbWUpOworICAgIHZvaWQgc2V0U3Rh
dGlzdGljc1N1YmZyYW1lVW5kZXJUb3BGcmFtZU9yaWdpbihKU1N0cmluZ1JlZiBob3N0TmFtZSwg
SlNTdHJpbmdSZWYgdG9wRnJhbWVIb3N0TmFtZSk7CisgICAgdm9pZCBzZXRTdGF0aXN0aWNzU3Vi
cmVzb3VyY2VVbmRlclRvcEZyYW1lT3JpZ2luKEpTU3RyaW5nUmVmIGhvc3ROYW1lLCBKU1N0cmlu
Z1JlZiB0b3BGcmFtZUhvc3ROYW1lKTsKKyAgICB2b2lkIHNldFN0YXRpc3RpY3NTdWJyZXNvdXJj
ZVVuaXF1ZVJlZGlyZWN0VG8oSlNTdHJpbmdSZWYgaG9zdE5hbWUsIEpTU3RyaW5nUmVmIGhvc3RO
YW1lUmVkaXJlY3RlZFRvKTsKICAgICB2b2lkIHNldFN0YXRpc3RpY3NUaW1lVG9MaXZlVXNlcklu
dGVyYWN0aW9uKGRvdWJsZSBzZWNvbmRzKTsKICAgICB2b2lkIHNldFN0YXRpc3RpY3NOb3RpZnlQ
YWdlc1doZW5EYXRhUmVjb3Jkc1dlcmVTY2FubmVkKGJvb2wpOwogICAgIHZvaWQgc2V0U3RhdGlz
dGljc1Nob3VsZENsYXNzaWZ5UmVzb3VyY2VzQmVmb3JlRGF0YVJlY29yZHNSZW1vdmFsKGJvb2wp
OwpJbmRleDogVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9CaW5kaW5ncy9U
ZXN0UnVubmVyLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9XZWJLaXRUZXN0UnVubmVyL0luamVj
dGVkQnVuZGxlL0JpbmRpbmdzL1Rlc3RSdW5uZXIuaWRsCShyZXZpc2lvbiAyMTI1MjQpCisrKyBU
b29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0JpbmRpbmdzL1Rlc3RSdW5uZXIu
aWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yNTMsNiArMjUzLDkgQEAgaW50ZXJmYWNlIFRlc3RSdW5u
ZXIgewogICAgIGJvb2xlYW4gaXNTdGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2UoRE9NU3RyaW5n
IGhvc3ROYW1lKTsKICAgICB2b2lkIHNldFN0YXRpc3RpY3NIYXNIYWRVc2VySW50ZXJhY3Rpb24o
RE9NU3RyaW5nIGhvc3ROYW1lLCBib29sZWFuIHZhbHVlKTsKICAgICBib29sZWFuIGlzU3RhdGlz
dGljc0hhc0hhZFVzZXJJbnRlcmFjdGlvbihET01TdHJpbmcgaG9zdE5hbWUpOworICAgIHZvaWQg
c2V0U3RhdGlzdGljc1N1YmZyYW1lVW5kZXJUb3BGcmFtZU9yaWdpbihET01TdHJpbmcgaG9zdE5h
bWUsIERPTVN0cmluZyB0b3BGcmFtZUhvc3ROYW1lKTsKKyAgICB2b2lkIHNldFN0YXRpc3RpY3NT
dWJyZXNvdXJjZVVuZGVyVG9wRnJhbWVPcmlnaW4oRE9NU3RyaW5nIGhvc3ROYW1lLCBET01TdHJp
bmcgdG9wRnJhbWVIb3N0TmFtZSk7CisgICAgdm9pZCBzZXRTdGF0aXN0aWNzU3VicmVzb3VyY2VV
bmlxdWVSZWRpcmVjdFRvKERPTVN0cmluZyBob3N0TmFtZSwgRE9NU3RyaW5nIGhvc3ROYW1lUmVk
aXJlY3RlZFRvKTsKICAgICB2b2lkIHNldFN0YXRpc3RpY3NUaW1lVG9MaXZlVXNlckludGVyYWN0
aW9uKGRvdWJsZSBzZWNvbmRzKTsKICAgICB2b2lkIHN0YXRpc3RpY3NGaXJlRGF0YU1vZGlmaWNh
dGlvbkhhbmRsZXIoKTsKICAgICB2b2lkIHNldFN0YXRpc3RpY3NOb3RpZnlQYWdlc1doZW5EYXRh
UmVjb3Jkc1dlcmVTY2FubmVkKGJvb2xlYW4gdmFsdWUpOwpJbmRleDogV2ViS2l0TGlicmFyaWVz
L0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXRMaWJyYXJpZXMvQ2hhbmdlTG9nCShyZXZp
c2lvbiAyMTI1MjQpCisrKyBXZWJLaXRMaWJyYXJpZXMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkp
CkBAIC0xLDMgKzEsMTUgQEAKKzIwMTctMDItMTcgIEpvaG4gV2lsYW5kZXIgIDx3aWxhbmRlckBh
cHBsZS5jb20+CisKKyAgICAgICAgUmVzb3VyY2UgTG9hZCBTdGF0aXN0aWNzOiBBZGQgYWx0ZXJu
YXRlIGNsYXNzaWZpY2F0aW9uIG1ldGhvZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTY4MzQ3CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8zMDM1Mjc5
Mz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFdl
YktpdFByaXZhdGVGcmFtZXdvcmtTdHVicy9pT1MvMTAvQ29yZVByZWRpY3Rpb24uZnJhbWV3b3Jr
OiBBZGRlZC4KKyAgICAgICAgKiBXZWJLaXRQcml2YXRlRnJhbWV3b3JrU3R1YnMvaU9TLzEwL0Nv
cmVQcmVkaWN0aW9uLmZyYW1ld29yay9Db3JlUHJlZGljdGlvbi50ZGI6IEFkZGVkLgorICAgICAg
ICAgICAgU3R1YnMgZm9yIHByaXZhdGUgZnJhbWV3b3JrLgorCiAyMDE3LTAxLTEyICBBbmRyZWFz
IEtsaW5nICA8YWtsaW5nQGFwcGxlLmNvbT4KIAogICAgICAgICBbaU9TXSBQdXJnZSBHcmFwaGlj
c1NlcnZpY2VzIGZvbnQgY2FjaGUgb24gbWVtb3J5IHdhcm5pbmcuCkluZGV4OiBXZWJLaXRMaWJy
YXJpZXMvV2ViS2l0UHJpdmF0ZUZyYW1ld29ya1N0dWJzL2lPUy8xMC9Db3JlUHJlZGljdGlvbi5m
cmFtZXdvcmsvQ29yZVByZWRpY3Rpb24udGRiCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdExpYnJhcmll
cy9XZWJLaXRQcml2YXRlRnJhbWV3b3JrU3R1YnMvaU9TLzEwL0NvcmVQcmVkaWN0aW9uLmZyYW1l
d29yay9Db3JlUHJlZGljdGlvbi50ZGIJKG5vbmV4aXN0ZW50KQorKysgV2ViS2l0TGlicmFyaWVz
L1dlYktpdFByaXZhdGVGcmFtZXdvcmtTdHVicy9pT1MvMTAvQ29yZVByZWRpY3Rpb24uZnJhbWV3
b3JrL0NvcmVQcmVkaWN0aW9uLnRkYgkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDE5IEBACist
LS0gIXRhcGktdGJkLXYyCithcmNoczoKKyAgLSBhcm12NworICAtIGFybXY3cworICAtIGFybTY0
CitleHBvcnRzOgorICAtCisgICAgYXJjaHM6CisgICAgICAtIGFybXY3CisgICAgICAtIGFybXY3
cworICAgICAgLSBhcm02NAorICAgIHN5bWJvbHM6CisgICAgICAtIF9zdm1fbm9kZQorICAgICAg
LSBfc3ZtX21vZGVsCisgICAgICAtIF9zdm1fcHJlZGljdF92YWx1ZXMKK2luc3RhbGwtbmFtZTog
L1N5c3RlbS9MaWJyYXJ5L1ByaXZhdGVGcmFtZXdvcmtzL0NvcmVQcmVkaWN0aW9uLmZyYW1ld29y
aworb2JqYy1jb25zdHJhaW50OiBub25lCitwbGF0Zm9ybTogaW9zCisuLi4KSW5kZXg6IExheW91
dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDIxMjUyNCkKKysrIExheW91dFRlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpA
QCAtMSwzICsxLDMzIEBACisyMDE3LTAyLTE3ICBKb2huIFdpbGFuZGVyICA8d2lsYW5kZXJAYXBw
bGUuY29tPgorCisgICAgICAgIFJlc291cmNlIExvYWQgU3RhdGlzdGljczogQWRkIGFsdGVybmF0
ZSBjbGFzc2lmaWNhdGlvbiBtZXRob2QKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTE2ODM0NworICAgICAgICA8cmRhcjovL3Byb2JsZW0vMzAzNTI3OTM+
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBodHRw
L3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1ub24tcHJl
dmFsZW50LWJhc2VkLW9uLW1peGVkLXN0YXRpc3RpY3MtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiBodHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lm
eS1hcy1ub24tcHJldmFsZW50LWJhc2VkLW9uLW1peGVkLXN0YXRpc3RpY3MuaHRtbDogQWRkZWQu
CisgICAgICAgICogaHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xh
c3NpZnktYXMtbm9uLXByZXZhbGVudC1iYXNlZC1vbi1zdWItZnJhbWUtdW5kZXItdG9wLWZyYW1l
LW9yaWdpbnMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2xvYWRp
bmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1ub24tcHJldmFsZW50LWJhc2Vk
LW9uLXN1Yi1mcmFtZS11bmRlci10b3AtZnJhbWUtb3JpZ2lucy5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBodHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1h
cy1ub24tcHJldmFsZW50LWJhc2VkLW9uLXN1YnJlc291cmNlLXVuZGVyLXRvcC1mcmFtZS1vcmln
aW5zLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9sb2FkaW5nL3Jl
c291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtbm9uLXByZXZhbGVudC1iYXNlZC1vbi1z
dWJyZXNvdXJjZS11bmRlci10b3AtZnJhbWUtb3JpZ2lucy5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiBodHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1u
b24tcHJldmFsZW50LWJhc2VkLW9uLXN1YnJlc291cmNlLXVuaXF1ZS1yZWRpcmVjdHMtdG8tZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VM
b2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1ub24tcHJldmFsZW50LWJhc2VkLW9uLXN1YnJlc291
cmNlLXVuaXF1ZS1yZWRpcmVjdHMtdG8uaHRtbDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0
cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtcHJldmFsZW50LWJh
c2VkLW9uLW1peGVkLXN0YXRpc3RpY3MtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBo
dHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1wcmV2
YWxlbnQtYmFzZWQtb24tbWl4ZWQtc3RhdGlzdGljcy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBo
dHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1wcmV2
YWxlbnQtYmFzZWQtb24tc3ViLWZyYW1lLXVuZGVyLXRvcC1mcmFtZS1vcmlnaW5zLWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0
YXRpc3RpY3MvY2xhc3NpZnktYXMtcHJldmFsZW50LWJhc2VkLW9uLXN1Yi1mcmFtZS11bmRlci10
b3AtZnJhbWUtb3JpZ2lucy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2xvYWRp
bmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1wcmV2YWxlbnQtYmFzZWQtb24t
c3VicmVzb3VyY2UtdW5kZXItdG9wLWZyYW1lLW9yaWdpbnMtZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiBodHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFz
c2lmeS1hcy1wcmV2YWxlbnQtYmFzZWQtb24tc3VicmVzb3VyY2UtdW5kZXItdG9wLWZyYW1lLW9y
aWdpbnMuaHRtbDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNl
TG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtcHJldmFsZW50LWJhc2VkLW9uLXN1YnJlc291cmNl
LXVuaXF1ZS1yZWRpcmVjdHMtdG8tZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRw
L3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1wcmV2YWxl
bnQtYmFzZWQtb24tc3VicmVzb3VyY2UtdW5pcXVlLXJlZGlyZWN0cy10by5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiBwbGF0Zm9ybS9ndGsvVGVzdEV4cGVjdGF0aW9uczoKKyAgICAgICAgICAgIFRo
ZSB3aG9sZSBodHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcyBtYXJrZWQg
YXMgY3Jhc2hpbmcgYmFzZWQgb24KKyAgICAgICAgICAgIENhcmxvcyBHYXJjaWEgQ2FtcG9zJ3Mg
YXNzZXNzbWVudCBpbiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY4
MTcxLgorICAgICAgICAqIHBsYXRmb3JtL3drMi9UZXN0RXhwZWN0YXRpb25zOgorICAgICAgICAg
ICAgVGhlIGFib3ZlIHRlc3RzIGFyZSBvbmx5IHZhbGlkIGZvciBXZWJLaXQyLiBNYXJrZWQgYXMg
WyBQYXNzIF0uCisKIDIwMTctMDItMTYgIFJ5YW4gSGFkZGFkICA8cnlhbmhhZGRhZEBhcHBsZS5j
b20+CiAKICAgICAgICAgTWFyayBzdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4vaWRiY3Vyc29yLWNv
bnRpbnVlLXByaW1hcnkta2V5LTEuaHRtbCBhcyBmbGFreS4KSW5kZXg6IExheW91dFRlc3RzL2h0
dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLW5vbi1w
cmV2YWxlbnQtYmFzZWQtb24tbWl4ZWQtc3RhdGlzdGljcy1leHBlY3RlZC50eHQKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0YXRpc3Rp
Y3MvY2xhc3NpZnktYXMtbm9uLXByZXZhbGVudC1iYXNlZC1vbi1taXhlZC1zdGF0aXN0aWNzLWV4
cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2xvYWRp
bmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1ub24tcHJldmFsZW50LWJhc2Vk
LW9uLW1peGVkLXN0YXRpc3RpY3MtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAg
KzEsOCBAQAorbWFpbiBmcmFtZSAtIGRpZFN0YXJ0UHJvdmlzaW9uYWxMb2FkRm9yRnJhbWUKK21h
aW4gZnJhbWUgLSBkaWRDb21taXRMb2FkRm9yRnJhbWUKK21haW4gZnJhbWUgLSBkaWRSZWNlaXZl
VGl0bGU6IFRlc3RzIGZvciBDbGFzc2lmaWNhdGlvbiBCYXNlZCBvbiBNaXhlZCBTdGF0aXN0aWNz
CittYWluIGZyYW1lIC0gZGlkRmluaXNoRG9jdW1lbnRMb2FkRm9yRnJhbWUKK21haW4gZnJhbWUg
LSBkaWRIYW5kbGVPbmxvYWRFdmVudHNGb3JGcmFtZQorbWFpbiBmcmFtZSAtIGRpZEZpbmlzaExv
YWRGb3JGcmFtZQorUEFTUyBIb3N0IGRpZCBub3QgZ2V0IGNsYXNzaWZpZWQgYXMgcHJldmFsZW50
IHJlc291cmNlLgorCkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3Vy
Y2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1ub24tcHJldmFsZW50LWJhc2VkLW9uLW1peGVk
LXN0YXRpc3RpY3MuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2xv
YWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1ub24tcHJldmFsZW50LWJh
c2VkLW9uLW1peGVkLXN0YXRpc3RpY3MuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1u
b24tcHJldmFsZW50LWJhc2VkLW9uLW1peGVkLXN0YXRpc3RpY3MuaHRtbAkod29ya2luZyBjb3B5
KQpAQCAtMCwwICsxLDQyIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sIGxhbmc9ImVuIj4KKzxo
ZWFkPgorICAgIDxtZXRhIGNoYXJzZXQ9IlVURi04Ij4KKyAgICA8dGl0bGU+VGVzdHMgZm9yIENs
YXNzaWZpY2F0aW9uIEJhc2VkIG9uIE1peGVkIFN0YXRpc3RpY3M8L3RpdGxlPgorICAgIDxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHk+Cis8c2NyaXB0PgorICAgIGNvbnN0IGhvc3RVbmRlclRlc3QgPSAiMTI3LjAuMC4x
OjgwMDAiOworICAgIGNvbnN0IHN0YXRpc3RpY3NVcmwgPSAiaHR0cDovLyIgKyBob3N0VW5kZXJU
ZXN0ICsgIi90ZW1wIjsKKyAgICBjb25zdCB0b3BGcmFtZU9yaWdpbjEgPSAiaHR0cDovLzEyNy4w
LjAuMjo4MDAwL3RlbXAiOworICAgIGNvbnN0IHRvcEZyYW1lT3JpZ2luMiA9ICJodHRwOi8vMTI3
LjAuMC4zOjgwMDAvdGVtcCI7CisgICAgY29uc3QgdG9wRnJhbWVPcmlnaW4zID0gImh0dHA6Ly8x
MjcuMC4wLjQ6ODAwMC90ZW1wIjsKKyAgICBmdW5jdGlvbiBydW5UZXN0UnVubmVyVGVzdCgpIHsK
KyAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2Uoc3RhdGlz
dGljc1VybCwgZmFsc2UpOworICAgICAgICBpZiAodGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NQcmV2
YWxlbnRSZXNvdXJjZShzdGF0aXN0aWNzVXJsKSkKKyAgICAgICAgICAgIHRlc3RGYWlsZWQoIkhv
c3QgZGlkIG5vdCBnZXQgc2V0IGFzIG5vbi1wcmV2YWxlbnQgcmVzb3VyY2UuIik7CisKKyAgICAg
ICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzU3ViZnJhbWVVbmRlclRvcEZyYW1lT3JpZ2luKHN0
YXRpc3RpY3NVcmwsIHRvcEZyYW1lT3JpZ2luMSk7CisgICAgICAgIHRlc3RSdW5uZXIuc2V0U3Rh
dGlzdGljc1N1YnJlc291cmNlVW5kZXJUb3BGcmFtZU9yaWdpbihzdGF0aXN0aWNzVXJsLCB0b3BG
cmFtZU9yaWdpbjIpOworICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NTdWJyZXNvdXJj
ZVVuaXF1ZVJlZGlyZWN0VG8oc3RhdGlzdGljc1VybCwgdG9wRnJhbWVPcmlnaW4zKTsKKworICAg
ICAgICB0ZXN0UnVubmVyLnN0YXRpc3RpY3NGaXJlRGF0YU1vZGlmaWNhdGlvbkhhbmRsZXIoKTsK
KworICAgICAgICBpZiAodGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJjZShz
dGF0aXN0aWNzVXJsKSkKKyAgICAgICAgICAgIHRlc3RGYWlsZWQoIkhvc3QgY2xhc3NpZmllZCBh
cyBwcmV2YWxlbnQgcmVzb3VyY2UuIik7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIHRlc3RQ
YXNzZWQoIkhvc3QgZGlkIG5vdCBnZXQgY2xhc3NpZmllZCBhcyBwcmV2YWxlbnQgcmVzb3VyY2Uu
Iik7CisKKyAgICAgICAgdGVzdFJ1bm5lci5zdGF0aXN0aWNzUmVzZXRUb0NvbnNpc3RlbnRTdGF0
ZSgpOworICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKKyAgICB9CisKKyAgICBpZiAo
ZG9jdW1lbnQubG9jYXRpb24uaG9zdCA9PT0gaG9zdFVuZGVyVGVzdCAmJiB3aW5kb3cudGVzdFJ1
bm5lciAmJiB3aW5kb3cuaW50ZXJuYWxzKSB7CisgICAgICAgIHRlc3RSdW5uZXIud2FpdFVudGls
RG9uZSgpOworICAgICAgICBpbnRlcm5hbHMuc2V0UmVzb3VyY2VMb2FkU3RhdGlzdGljc0VuYWJs
ZWQodHJ1ZSk7CisgICAgICAgIHJ1blRlc3RSdW5uZXJUZXN0KCk7CisgICAgfQorPC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpJbmRleDogTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3Np
ZnktYXMtbm9uLXByZXZhbGVudC1iYXNlZC1vbi1zdWItZnJhbWUtdW5kZXItdG9wLWZyYW1lLW9y
aWdpbnMtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMv
bG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLW5vbi1wcmV2YWxlbnQt
YmFzZWQtb24tc3ViLWZyYW1lLXVuZGVyLXRvcC1mcmFtZS1vcmlnaW5zLWV4cGVjdGVkLnR4dAko
bm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VM
b2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1ub24tcHJldmFsZW50LWJhc2VkLW9uLXN1Yi1mcmFt
ZS11bmRlci10b3AtZnJhbWUtb3JpZ2lucy1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAg
LTAsMCArMSw4IEBACittYWluIGZyYW1lIC0gZGlkU3RhcnRQcm92aXNpb25hbExvYWRGb3JGcmFt
ZQorbWFpbiBmcmFtZSAtIGRpZENvbW1pdExvYWRGb3JGcmFtZQorbWFpbiBmcmFtZSAtIGRpZFJl
Y2VpdmVUaXRsZTogVGVzdHMgZm9yIENsYXNzaWZpY2F0aW9uIEJhc2VkIG9uIFN1YiBGcmFtZSBV
bmRlciBUb3AgRnJhbWUgT3JpZ2lucworbWFpbiBmcmFtZSAtIGRpZEZpbmlzaERvY3VtZW50TG9h
ZEZvckZyYW1lCittYWluIGZyYW1lIC0gZGlkSGFuZGxlT25sb2FkRXZlbnRzRm9yRnJhbWUKK21h
aW4gZnJhbWUgLSBkaWRGaW5pc2hMb2FkRm9yRnJhbWUKK1BBU1MgSG9zdCBkaWQgbm90IGdldCBj
bGFzc2lmaWVkIGFzIHByZXZhbGVudCByZXNvdXJjZS4KKwpJbmRleDogTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtbm9uLXBy
ZXZhbGVudC1iYXNlZC1vbi1zdWItZnJhbWUtdW5kZXItdG9wLWZyYW1lLW9yaWdpbnMuaHRtbAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2Fk
U3RhdGlzdGljcy9jbGFzc2lmeS1hcy1ub24tcHJldmFsZW50LWJhc2VkLW9uLXN1Yi1mcmFtZS11
bmRlci10b3AtZnJhbWUtb3JpZ2lucy5odG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3Rz
L2h0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLW5v
bi1wcmV2YWxlbnQtYmFzZWQtb24tc3ViLWZyYW1lLXVuZGVyLXRvcC1mcmFtZS1vcmlnaW5zLmh0
bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw0MiBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRt
bCBsYW5nPSJlbiI+Cis8aGVhZD4KKyAgICA8bWV0YSBjaGFyc2V0PSJVVEYtOCI+CisgICAgPHRp
dGxlPlRlc3RzIGZvciBDbGFzc2lmaWNhdGlvbiBCYXNlZCBvbiBTdWIgRnJhbWUgVW5kZXIgVG9w
IEZyYW1lIE9yaWdpbnM8L3RpdGxlPgorICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0PgorICAg
IGNvbnN0IGhvc3RVbmRlclRlc3QgPSAiMTI3LjAuMC4xOjgwMDAiOworICAgIGNvbnN0IHN0YXRp
c3RpY3NVcmwgPSAiaHR0cDovLyIgKyBob3N0VW5kZXJUZXN0ICsgIi90ZW1wIjsKKyAgICBjb25z
dCB0b3BGcmFtZU9yaWdpbjEgPSAiaHR0cDovLzEyNy4wLjAuMjo4MDAwL3RlbXAiOworICAgIGNv
bnN0IHRvcEZyYW1lT3JpZ2luMiA9ICJodHRwOi8vMTI3LjAuMC4zOjgwMDAvdGVtcCI7CisgICAg
Y29uc3QgdG9wRnJhbWVPcmlnaW4zID0gImh0dHA6Ly8xMjcuMC4wLjQ6ODAwMC90ZW1wIjsKKyAg
ICBmdW5jdGlvbiBydW5UZXN0UnVubmVyVGVzdCgpIHsKKyAgICAgICAgdGVzdFJ1bm5lci5zZXRT
dGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2Uoc3RhdGlzdGljc1VybCwgZmFsc2UpOworICAgICAg
ICBpZiAodGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJjZShzdGF0aXN0aWNz
VXJsKSkKKyAgICAgICAgICAgIHRlc3RGYWlsZWQoIkhvc3QgZGlkIG5vdCBnZXQgc2V0IGFzIG5v
bi1wcmV2YWxlbnQgcmVzb3VyY2UuIik7CisKKyAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0
aWNzU3ViZnJhbWVVbmRlclRvcEZyYW1lT3JpZ2luKHN0YXRpc3RpY3NVcmwsIHRvcEZyYW1lT3Jp
Z2luMSk7CisgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1N1YmZyYW1lVW5kZXJUb3BG
cmFtZU9yaWdpbihzdGF0aXN0aWNzVXJsLCB0b3BGcmFtZU9yaWdpbjIpOworICAgICAgICB0ZXN0
UnVubmVyLnNldFN0YXRpc3RpY3NTdWJmcmFtZVVuZGVyVG9wRnJhbWVPcmlnaW4oc3RhdGlzdGlj
c1VybCwgdG9wRnJhbWVPcmlnaW4zKTsKKworICAgICAgICB0ZXN0UnVubmVyLnN0YXRpc3RpY3NG
aXJlRGF0YU1vZGlmaWNhdGlvbkhhbmRsZXIoKTsKKworICAgICAgICBpZiAodGVzdFJ1bm5lci5p
c1N0YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJjZShzdGF0aXN0aWNzVXJsKSkKKyAgICAgICAgICAg
IHRlc3RGYWlsZWQoIkhvc3QgY2xhc3NpZmllZCBhcyBwcmV2YWxlbnQgcmVzb3VyY2UuIik7Cisg
ICAgICAgIGVsc2UKKyAgICAgICAgICAgIHRlc3RQYXNzZWQoIkhvc3QgZGlkIG5vdCBnZXQgY2xh
c3NpZmllZCBhcyBwcmV2YWxlbnQgcmVzb3VyY2UuIik7CisKKyAgICAgICAgdGVzdFJ1bm5lci5z
dGF0aXN0aWNzUmVzZXRUb0NvbnNpc3RlbnRTdGF0ZSgpOworICAgICAgICB0ZXN0UnVubmVyLm5v
dGlmeURvbmUoKTsKKyAgICB9CisKKyAgICBpZiAoZG9jdW1lbnQubG9jYXRpb24uaG9zdCA9PT0g
aG9zdFVuZGVyVGVzdCAmJiB3aW5kb3cudGVzdFJ1bm5lciAmJiB3aW5kb3cuaW50ZXJuYWxzKSB7
CisgICAgICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOworICAgICAgICBpbnRlcm5hbHMu
c2V0UmVzb3VyY2VMb2FkU3RhdGlzdGljc0VuYWJsZWQodHJ1ZSk7CisgICAgICAgIHJ1blRlc3RS
dW5uZXJUZXN0KCk7CisgICAgfQorPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgZmlsZQpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9sb2FkaW5n
L3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtbm9uLXByZXZhbGVudC1iYXNlZC1v
bi1zdWJyZXNvdXJjZS11bmRlci10b3AtZnJhbWUtb3JpZ2lucy1leHBlY3RlZC50eHQKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0YXRp
c3RpY3MvY2xhc3NpZnktYXMtbm9uLXByZXZhbGVudC1iYXNlZC1vbi1zdWJyZXNvdXJjZS11bmRl
ci10b3AtZnJhbWUtb3JpZ2lucy1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnkt
YXMtbm9uLXByZXZhbGVudC1iYXNlZC1vbi1zdWJyZXNvdXJjZS11bmRlci10b3AtZnJhbWUtb3Jp
Z2lucy1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw4IEBACittYWluIGZy
YW1lIC0gZGlkU3RhcnRQcm92aXNpb25hbExvYWRGb3JGcmFtZQorbWFpbiBmcmFtZSAtIGRpZENv
bW1pdExvYWRGb3JGcmFtZQorbWFpbiBmcmFtZSAtIGRpZFJlY2VpdmVUaXRsZTogVGVzdHMgZm9y
IENsYXNzaWZpY2F0aW9uIEJhc2VkIG9uIFN1YnJlc291cmNlIFVuZGVyIFRvcCBGcmFtZSBPcmln
aW5zCittYWluIGZyYW1lIC0gZGlkRmluaXNoRG9jdW1lbnRMb2FkRm9yRnJhbWUKK21haW4gZnJh
bWUgLSBkaWRIYW5kbGVPbmxvYWRFdmVudHNGb3JGcmFtZQorbWFpbiBmcmFtZSAtIGRpZEZpbmlz
aExvYWRGb3JGcmFtZQorUEFTUyBIb3N0IGRpZCBub3QgZ2V0IGNsYXNzaWZpZWQgYXMgcHJldmFs
ZW50IHJlc291cmNlLgorCkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2xvYWRpbmcvcmVz
b3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1ub24tcHJldmFsZW50LWJhc2VkLW9uLXN1
YnJlc291cmNlLXVuZGVyLXRvcC1mcmFtZS1vcmlnaW5zLmh0bWwKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3Np
ZnktYXMtbm9uLXByZXZhbGVudC1iYXNlZC1vbi1zdWJyZXNvdXJjZS11bmRlci10b3AtZnJhbWUt
b3JpZ2lucy5odG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvbG9h
ZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLW5vbi1wcmV2YWxlbnQtYmFz
ZWQtb24tc3VicmVzb3VyY2UtdW5kZXItdG9wLWZyYW1lLW9yaWdpbnMuaHRtbAkod29ya2luZyBj
b3B5KQpAQCAtMCwwICsxLDQwIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sIGxhbmc9ImVuIj4K
KzxoZWFkPgorICAgIDxtZXRhIGNoYXJzZXQ9IlVURi04Ij4KKyAgICA8dGl0bGU+VGVzdHMgZm9y
IENsYXNzaWZpY2F0aW9uIEJhc2VkIG9uIFN1YnJlc291cmNlIFVuZGVyIFRvcCBGcmFtZSBPcmln
aW5zPC90aXRsZT4KKyAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdD4KKyAgICBjb25zdCBob3N0
VW5kZXJUZXN0ID0gIjEyNy4wLjAuMTo4MDAwIjsKKyAgICBjb25zdCBzdGF0aXN0aWNzVXJsID0g
Imh0dHA6Ly8iICsgaG9zdFVuZGVyVGVzdCArICIvdGVtcCI7CisgICAgY29uc3QgdG9wRnJhbWVP
cmlnaW4xID0gImh0dHA6Ly8xMjcuMC4wLjI6ODAwMC90ZW1wIjsKKyAgICBjb25zdCB0b3BGcmFt
ZU9yaWdpbjIgPSAiaHR0cDovLzEyNy4wLjAuMzo4MDAwL3RlbXAiOworICAgIGZ1bmN0aW9uIHJ1
blRlc3RSdW5uZXJUZXN0KCkgeworICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NQcmV2
YWxlbnRSZXNvdXJjZShzdGF0aXN0aWNzVXJsLCBmYWxzZSk7CisgICAgICAgIGlmICh0ZXN0UnVu
bmVyLmlzU3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNlKHN0YXRpc3RpY3NVcmwpKQorICAgICAg
ICAgICAgdGVzdEZhaWxlZCgiSG9zdCBkaWQgbm90IGdldCBzZXQgYXMgbm9uLXByZXZhbGVudCBy
ZXNvdXJjZS4iKTsKKworICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NTdWJyZXNvdXJj
ZVVuZGVyVG9wRnJhbWVPcmlnaW4oc3RhdGlzdGljc1VybCwgdG9wRnJhbWVPcmlnaW4xKTsKKyAg
ICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzU3VicmVzb3VyY2VVbmRlclRvcEZyYW1lT3Jp
Z2luKHN0YXRpc3RpY3NVcmwsIHRvcEZyYW1lT3JpZ2luMik7CisKKyAgICAgICAgdGVzdFJ1bm5l
ci5zdGF0aXN0aWNzRmlyZURhdGFNb2RpZmljYXRpb25IYW5kbGVyKCk7CisKKyAgICAgICAgaWYg
KHRlc3RSdW5uZXIuaXNTdGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2Uoc3RhdGlzdGljc1VybCkp
CisgICAgICAgICAgICB0ZXN0RmFpbGVkKCJIb3N0IGNsYXNzaWZpZWQgYXMgcHJldmFsZW50IHJl
c291cmNlLiIpOworICAgICAgICBlbHNlCisgICAgICAgICAgICB0ZXN0UGFzc2VkKCJIb3N0IGRp
ZCBub3QgZ2V0IGNsYXNzaWZpZWQgYXMgcHJldmFsZW50IHJlc291cmNlLiIpOworCisgICAgICAg
IHRlc3RSdW5uZXIuc3RhdGlzdGljc1Jlc2V0VG9Db25zaXN0ZW50U3RhdGUoKTsKKyAgICAgICAg
dGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7CisgICAgfQorCisgICAgaWYgKGRvY3VtZW50LmxvY2F0
aW9uLmhvc3QgPT09IGhvc3RVbmRlclRlc3QgJiYgd2luZG93LnRlc3RSdW5uZXIgJiYgd2luZG93
LmludGVybmFscykgeworICAgICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKKyAgICAg
ICAgaW50ZXJuYWxzLnNldFJlc291cmNlTG9hZFN0YXRpc3RpY3NFbmFibGVkKHRydWUpOworICAg
ICAgICBydW5UZXN0UnVubmVyVGVzdCgpOworICAgIH0KKzwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKSW5kZXg6IExheW91dFRlc3RzL2h0dHAv
dGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLW5vbi1wcmV2
YWxlbnQtYmFzZWQtb24tc3VicmVzb3VyY2UtdW5pcXVlLXJlZGlyZWN0cy10by1leHBlY3RlZC50
eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNl
TG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtbm9uLXByZXZhbGVudC1iYXNlZC1vbi1zdWJyZXNv
dXJjZS11bmlxdWUtcmVkaXJlY3RzLXRvLWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBM
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFz
c2lmeS1hcy1ub24tcHJldmFsZW50LWJhc2VkLW9uLXN1YnJlc291cmNlLXVuaXF1ZS1yZWRpcmVj
dHMtdG8tZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsOCBAQAorbWFpbiBm
cmFtZSAtIGRpZFN0YXJ0UHJvdmlzaW9uYWxMb2FkRm9yRnJhbWUKK21haW4gZnJhbWUgLSBkaWRD
b21taXRMb2FkRm9yRnJhbWUKK21haW4gZnJhbWUgLSBkaWRSZWNlaXZlVGl0bGU6IFRlc3RzIGZv
ciBDbGFzc2lmaWNhdGlvbiBCYXNlZCBvbiBTdWJyZXNvdXJjZSBVbmlxdWUgUmVkaXJlY3RzIFRv
CittYWluIGZyYW1lIC0gZGlkRmluaXNoRG9jdW1lbnRMb2FkRm9yRnJhbWUKK21haW4gZnJhbWUg
LSBkaWRIYW5kbGVPbmxvYWRFdmVudHNGb3JGcmFtZQorbWFpbiBmcmFtZSAtIGRpZEZpbmlzaExv
YWRGb3JGcmFtZQorUEFTUyBIb3N0IGRpZCBub3QgZ2V0IGNsYXNzaWZpZWQgYXMgcHJldmFsZW50
IHJlc291cmNlLgorCkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3Vy
Y2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1ub24tcHJldmFsZW50LWJhc2VkLW9uLXN1YnJl
c291cmNlLXVuaXF1ZS1yZWRpcmVjdHMtdG8uaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1u
b24tcHJldmFsZW50LWJhc2VkLW9uLXN1YnJlc291cmNlLXVuaXF1ZS1yZWRpcmVjdHMtdG8uaHRt
bAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3Vy
Y2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1ub24tcHJldmFsZW50LWJhc2VkLW9uLXN1YnJl
c291cmNlLXVuaXF1ZS1yZWRpcmVjdHMtdG8uaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsx
LDQwIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sIGxhbmc9ImVuIj4KKzxoZWFkPgorICAgIDxt
ZXRhIGNoYXJzZXQ9IlVURi04Ij4KKyAgICA8dGl0bGU+VGVzdHMgZm9yIENsYXNzaWZpY2F0aW9u
IEJhc2VkIG9uIFN1YnJlc291cmNlIFVuaXF1ZSBSZWRpcmVjdHMgVG88L3RpdGxlPgorICAgIDxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9o
ZWFkPgorPGJvZHk+Cis8c2NyaXB0PgorICAgIGNvbnN0IGhvc3RVbmRlclRlc3QgPSAiMTI3LjAu
MC4xOjgwMDAiOworICAgIGNvbnN0IHN0YXRpc3RpY3NVcmwgPSAiaHR0cDovLyIgKyBob3N0VW5k
ZXJUZXN0ICsgIi90ZW1wIjsKKyAgICBjb25zdCB0b3BGcmFtZU9yaWdpbjEgPSAiaHR0cDovLzEy
Ny4wLjAuMjo4MDAwL3RlbXAiOworICAgIGNvbnN0IHRvcEZyYW1lT3JpZ2luMiA9ICJodHRwOi8v
MTI3LjAuMC4zOjgwMDAvdGVtcCI7CisgICAgZnVuY3Rpb24gcnVuVGVzdFJ1bm5lclRlc3QoKSB7
CisgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNlKHN0YXRp
c3RpY3NVcmwsIGZhbHNlKTsKKyAgICAgICAgaWYgKHRlc3RSdW5uZXIuaXNTdGF0aXN0aWNzUHJl
dmFsZW50UmVzb3VyY2Uoc3RhdGlzdGljc1VybCkpCisgICAgICAgICAgICB0ZXN0RmFpbGVkKCJI
b3N0IGRpZCBub3QgZ2V0IHNldCBhcyBub24tcHJldmFsZW50IHJlc291cmNlLiIpOworCisgICAg
ICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1N1YnJlc291cmNlVW5pcXVlUmVkaXJlY3RUbyhz
dGF0aXN0aWNzVXJsLCB0b3BGcmFtZU9yaWdpbjEpOworICAgICAgICB0ZXN0UnVubmVyLnNldFN0
YXRpc3RpY3NTdWJyZXNvdXJjZVVuaXF1ZVJlZGlyZWN0VG8oc3RhdGlzdGljc1VybCwgdG9wRnJh
bWVPcmlnaW4yKTsKKworICAgICAgICB0ZXN0UnVubmVyLnN0YXRpc3RpY3NGaXJlRGF0YU1vZGlm
aWNhdGlvbkhhbmRsZXIoKTsKKworICAgICAgICBpZiAodGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NQ
cmV2YWxlbnRSZXNvdXJjZShzdGF0aXN0aWNzVXJsKSkKKyAgICAgICAgICAgIHRlc3RGYWlsZWQo
Ikhvc3QgY2xhc3NpZmllZCBhcyBwcmV2YWxlbnQgcmVzb3VyY2UuIik7CisgICAgICAgIGVsc2UK
KyAgICAgICAgICAgIHRlc3RQYXNzZWQoIkhvc3QgZGlkIG5vdCBnZXQgY2xhc3NpZmllZCBhcyBw
cmV2YWxlbnQgcmVzb3VyY2UuIik7CisKKyAgICAgICAgdGVzdFJ1bm5lci5zdGF0aXN0aWNzUmVz
ZXRUb0NvbnNpc3RlbnRTdGF0ZSgpOworICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsK
KyAgICB9CisKKyAgICBpZiAoZG9jdW1lbnQubG9jYXRpb24uaG9zdCA9PT0gaG9zdFVuZGVyVGVz
dCAmJiB3aW5kb3cudGVzdFJ1bm5lciAmJiB3aW5kb3cuaW50ZXJuYWxzKSB7CisgICAgICAgIHRl
c3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOworICAgICAgICBpbnRlcm5hbHMuc2V0UmVzb3VyY2VM
b2FkU3RhdGlzdGljc0VuYWJsZWQodHJ1ZSk7CisgICAgICAgIHJ1blRlc3RSdW5uZXJUZXN0KCk7
CisgICAgfQorPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9h
ZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtcHJldmFsZW50LWJhc2VkLW9uLW1peGVkLXN0YXRpc3Rp
Y3MtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvbG9h
ZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLXByZXZhbGVudC1iYXNlZC1v
bi1taXhlZC1zdGF0aXN0aWNzLWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1h
cy1wcmV2YWxlbnQtYmFzZWQtb24tbWl4ZWQtc3RhdGlzdGljcy1leHBlY3RlZC50eHQJKHdvcmtp
bmcgY29weSkKQEAgLTAsMCArMSw4IEBACittYWluIGZyYW1lIC0gZGlkU3RhcnRQcm92aXNpb25h
bExvYWRGb3JGcmFtZQorbWFpbiBmcmFtZSAtIGRpZENvbW1pdExvYWRGb3JGcmFtZQorbWFpbiBm
cmFtZSAtIGRpZFJlY2VpdmVUaXRsZTogVGVzdHMgZm9yIENsYXNzaWZpY2F0aW9uIEJhc2VkIG9u
IE1peGVkIFN0YXRpc3RpY3MKK21haW4gZnJhbWUgLSBkaWRGaW5pc2hEb2N1bWVudExvYWRGb3JG
cmFtZQorbWFpbiBmcmFtZSAtIGRpZEhhbmRsZU9ubG9hZEV2ZW50c0ZvckZyYW1lCittYWluIGZy
YW1lIC0gZGlkRmluaXNoTG9hZEZvckZyYW1lCitQQVNTIEhvc3QgY2xhc3NpZmllZCBhcyBwcmV2
YWxlbnQgcmVzb3VyY2UuCisKSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvbG9hZGluZy9y
ZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLXByZXZhbGVudC1iYXNlZC1vbi1taXhl
ZC1zdGF0aXN0aWNzLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9s
b2FkaW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtcHJldmFsZW50LWJhc2Vk
LW9uLW1peGVkLXN0YXRpc3RpY3MuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1wcmV2
YWxlbnQtYmFzZWQtb24tbWl4ZWQtc3RhdGlzdGljcy5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0w
LDAgKzEsNDkgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWwgbGFuZz0iZW4iPgorPGhlYWQ+Cisg
ICAgPG1ldGEgY2hhcnNldD0iVVRGLTgiPgorICAgIDx0aXRsZT5UZXN0cyBmb3IgQ2xhc3NpZmlj
YXRpb24gQmFzZWQgb24gTWl4ZWQgU3RhdGlzdGljczwvdGl0bGU+CisgICAgPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxzY3JpcHQ+CisgICAgY29uc3QgaG9zdFVuZGVyVGVzdCA9ICIxMjcuMC4wLjE6ODAwMCI7
CisgICAgY29uc3Qgc3RhdGlzdGljc1VybCA9ICJodHRwOi8vIiArIGhvc3RVbmRlclRlc3QgKyAi
L3RlbXAiOworICAgIGNvbnN0IHRvcEZyYW1lT3JpZ2luMSA9ICJodHRwOi8vMTI3LjAuMC4yOjgw
MDAvdGVtcCI7CisgICAgY29uc3QgdG9wRnJhbWVPcmlnaW4yID0gImh0dHA6Ly8xMjcuMC4wLjM6
ODAwMC90ZW1wIjsKKyAgICBjb25zdCB0b3BGcmFtZU9yaWdpbjMgPSAiaHR0cDovLzEyNy4wLjAu
NDo4MDAwL3RlbXAiOworICAgIGNvbnN0IHRvcEZyYW1lT3JpZ2luNCA9ICJodHRwOi8vMTI3LjAu
MC41OjgwMDAvdGVtcCI7CisgICAgZnVuY3Rpb24gcnVuVGVzdFJ1bm5lclRlc3QoKSB7CisgICAg
ICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNlKHN0YXRpc3RpY3NV
cmwsIGZhbHNlKTsKKyAgICAgICAgaWYgKHRlc3RSdW5uZXIuaXNTdGF0aXN0aWNzUHJldmFsZW50
UmVzb3VyY2Uoc3RhdGlzdGljc1VybCkpCisgICAgICAgICAgICB0ZXN0RmFpbGVkKCJIb3N0IGRp
ZCBub3QgZ2V0IHNldCBhcyBub24tcHJldmFsZW50IHJlc291cmNlLiIpOworCisgICAgICAgIHRl
c3RSdW5uZXIuc2V0U3RhdGlzdGljc1N1YmZyYW1lVW5kZXJUb3BGcmFtZU9yaWdpbihzdGF0aXN0
aWNzVXJsLCB0b3BGcmFtZU9yaWdpbjEpOworICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3Rp
Y3NTdWJmcmFtZVVuZGVyVG9wRnJhbWVPcmlnaW4oc3RhdGlzdGljc1VybCwgdG9wRnJhbWVPcmln
aW40KTsKKworICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NTdWJyZXNvdXJjZVVuZGVy
VG9wRnJhbWVPcmlnaW4oc3RhdGlzdGljc1VybCwgdG9wRnJhbWVPcmlnaW4yKTsKKyAgICAgICAg
dGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzU3VicmVzb3VyY2VVbmRlclRvcEZyYW1lT3JpZ2luKHN0
YXRpc3RpY3NVcmwsIHRvcEZyYW1lT3JpZ2luMyk7CisgICAgICAgIHRlc3RSdW5uZXIuc2V0U3Rh
dGlzdGljc1N1YnJlc291cmNlVW5kZXJUb3BGcmFtZU9yaWdpbihzdGF0aXN0aWNzVXJsLCB0b3BG
cmFtZU9yaWdpbjQpOworCisgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1N1YnJlc291
cmNlVW5pcXVlUmVkaXJlY3RUbyhzdGF0aXN0aWNzVXJsLCB0b3BGcmFtZU9yaWdpbjMpOworICAg
ICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NTdWJyZXNvdXJjZVVuaXF1ZVJlZGlyZWN0VG8o
c3RhdGlzdGljc1VybCwgdG9wRnJhbWVPcmlnaW4xKTsKKworICAgICAgICB0ZXN0UnVubmVyLnN0
YXRpc3RpY3NGaXJlRGF0YU1vZGlmaWNhdGlvbkhhbmRsZXIoKTsKKworICAgICAgICBpZiAoIXRl
c3RSdW5uZXIuaXNTdGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2Uoc3RhdGlzdGljc1VybCkpCisg
ICAgICAgICAgICB0ZXN0RmFpbGVkKCJIb3N0IGRpZCBub3QgZ2V0IGNsYXNzaWZpZWQgYXMgcHJl
dmFsZW50IHJlc291cmNlLiIpOworICAgICAgICBlbHNlCisgICAgICAgICAgICB0ZXN0UGFzc2Vk
KCJIb3N0IGNsYXNzaWZpZWQgYXMgcHJldmFsZW50IHJlc291cmNlLiIpOworCisgICAgICAgIHRl
c3RSdW5uZXIuc3RhdGlzdGljc1Jlc2V0VG9Db25zaXN0ZW50U3RhdGUoKTsKKyAgICAgICAgdGVz
dFJ1bm5lci5ub3RpZnlEb25lKCk7CisgICAgfQorCisgICAgaWYgKGRvY3VtZW50LmxvY2F0aW9u
Lmhvc3QgPT09IGhvc3RVbmRlclRlc3QgJiYgd2luZG93LnRlc3RSdW5uZXIgJiYgd2luZG93Lmlu
dGVybmFscykgeworICAgICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKKyAgICAgICAg
aW50ZXJuYWxzLnNldFJlc291cmNlTG9hZFN0YXRpc3RpY3NFbmFibGVkKHRydWUpOworICAgICAg
ICBydW5UZXN0UnVubmVyVGVzdCgpOworICAgIH0KKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVz
dHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLXByZXZhbGVudC1i
YXNlZC1vbi1zdWItZnJhbWUtdW5kZXItdG9wLWZyYW1lLW9yaWdpbnMtZXhwZWN0ZWQudHh0Cj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRT
dGF0aXN0aWNzL2NsYXNzaWZ5LWFzLXByZXZhbGVudC1iYXNlZC1vbi1zdWItZnJhbWUtdW5kZXIt
dG9wLWZyYW1lLW9yaWdpbnMtZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKKysrIExheW91dFRl
c3RzL2h0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFz
LXByZXZhbGVudC1iYXNlZC1vbi1zdWItZnJhbWUtdW5kZXItdG9wLWZyYW1lLW9yaWdpbnMtZXhw
ZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsOCBAQAorbWFpbiBmcmFtZSAtIGRp
ZFN0YXJ0UHJvdmlzaW9uYWxMb2FkRm9yRnJhbWUKK21haW4gZnJhbWUgLSBkaWRDb21taXRMb2Fk
Rm9yRnJhbWUKK21haW4gZnJhbWUgLSBkaWRSZWNlaXZlVGl0bGU6IFRlc3RzIGZvciBDbGFzc2lm
aWNhdGlvbiBCYXNlZCBvbiBTdWIgRnJhbWUgVW5kZXIgVG9wIEZyYW1lIE9yaWdpbnMKK21haW4g
ZnJhbWUgLSBkaWRGaW5pc2hEb2N1bWVudExvYWRGb3JGcmFtZQorbWFpbiBmcmFtZSAtIGRpZEhh
bmRsZU9ubG9hZEV2ZW50c0ZvckZyYW1lCittYWluIGZyYW1lIC0gZGlkRmluaXNoTG9hZEZvckZy
YW1lCitQQVNTIEhvc3QgY2xhc3NpZmllZCBhcyBwcmV2YWxlbnQgcmVzb3VyY2UuCisKSW5kZXg6
IExheW91dFRlc3RzL2h0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2Ns
YXNzaWZ5LWFzLXByZXZhbGVudC1iYXNlZC1vbi1zdWItZnJhbWUtdW5kZXItdG9wLWZyYW1lLW9y
aWdpbnMuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2xvYWRpbmcv
cmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1wcmV2YWxlbnQtYmFzZWQtb24tc3Vi
LWZyYW1lLXVuZGVyLXRvcC1mcmFtZS1vcmlnaW5zLmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3Np
ZnktYXMtcHJldmFsZW50LWJhc2VkLW9uLXN1Yi1mcmFtZS11bmRlci10b3AtZnJhbWUtb3JpZ2lu
cy5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNDQgQEAKKzwhRE9DVFlQRSBodG1sPgor
PGh0bWwgbGFuZz0iZW4iPgorPGhlYWQ+CisgICAgPG1ldGEgY2hhcnNldD0iVVRGLTgiPgorICAg
IDx0aXRsZT5UZXN0cyBmb3IgQ2xhc3NpZmljYXRpb24gQmFzZWQgb24gU3ViIEZyYW1lIFVuZGVy
IFRvcCBGcmFtZSBPcmlnaW5zPC90aXRsZT4KKyAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdD4K
KyAgICBjb25zdCBob3N0VW5kZXJUZXN0ID0gIjEyNy4wLjAuMTo4MDAwIjsKKyAgICBjb25zdCBz
dGF0aXN0aWNzVXJsID0gImh0dHA6Ly8iICsgaG9zdFVuZGVyVGVzdCArICIvdGVtcCI7CisgICAg
Y29uc3QgdG9wRnJhbWVPcmlnaW4xID0gImh0dHA6Ly8xMjcuMC4wLjI6ODAwMC90ZW1wIjsKKyAg
ICBjb25zdCB0b3BGcmFtZU9yaWdpbjIgPSAiaHR0cDovLzEyNy4wLjAuMzo4MDAwL3RlbXAiOwor
ICAgIGNvbnN0IHRvcEZyYW1lT3JpZ2luMyA9ICJodHRwOi8vMTI3LjAuMC40OjgwMDAvdGVtcCI7
CisgICAgY29uc3QgdG9wRnJhbWVPcmlnaW40ID0gImh0dHA6Ly8xMjcuMC4wLjU6ODAwMC90ZW1w
IjsKKyAgICBmdW5jdGlvbiBydW5UZXN0UnVubmVyVGVzdCgpIHsKKyAgICAgICAgdGVzdFJ1bm5l
ci5zZXRTdGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2Uoc3RhdGlzdGljc1VybCwgZmFsc2UpOwor
ICAgICAgICBpZiAodGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJjZShzdGF0
aXN0aWNzVXJsKSkKKyAgICAgICAgICAgIHRlc3RGYWlsZWQoIkhvc3QgZGlkIG5vdCBnZXQgc2V0
IGFzIG5vbi1wcmV2YWxlbnQgcmVzb3VyY2UuIik7CisKKyAgICAgICAgdGVzdFJ1bm5lci5zZXRT
dGF0aXN0aWNzU3ViZnJhbWVVbmRlclRvcEZyYW1lT3JpZ2luKHN0YXRpc3RpY3NVcmwsIHRvcEZy
YW1lT3JpZ2luMSk7CisgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1N1YmZyYW1lVW5k
ZXJUb3BGcmFtZU9yaWdpbihzdGF0aXN0aWNzVXJsLCB0b3BGcmFtZU9yaWdpbjIpOworICAgICAg
ICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NTdWJmcmFtZVVuZGVyVG9wRnJhbWVPcmlnaW4oc3Rh
dGlzdGljc1VybCwgdG9wRnJhbWVPcmlnaW4zKTsKKyAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0
aXN0aWNzU3ViZnJhbWVVbmRlclRvcEZyYW1lT3JpZ2luKHN0YXRpc3RpY3NVcmwsIHRvcEZyYW1l
T3JpZ2luNCk7CisKKyAgICAgICAgdGVzdFJ1bm5lci5zdGF0aXN0aWNzRmlyZURhdGFNb2RpZmlj
YXRpb25IYW5kbGVyKCk7CisKKyAgICAgICAgaWYgKCF0ZXN0UnVubmVyLmlzU3RhdGlzdGljc1By
ZXZhbGVudFJlc291cmNlKHN0YXRpc3RpY3NVcmwpKQorICAgICAgICAgICAgdGVzdEZhaWxlZCgi
SG9zdCBkaWQgbm90IGdldCBjbGFzc2lmaWVkIGFzIHByZXZhbGVudCByZXNvdXJjZS4iKTsKKyAg
ICAgICAgZWxzZQorICAgICAgICAgICAgdGVzdFBhc3NlZCgiSG9zdCBjbGFzc2lmaWVkIGFzIHBy
ZXZhbGVudCByZXNvdXJjZS4iKTsKKworICAgICAgICB0ZXN0UnVubmVyLnN0YXRpc3RpY3NSZXNl
dFRvQ29uc2lzdGVudFN0YXRlKCk7CisgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwor
ICAgIH0KKworICAgIGlmIChkb2N1bWVudC5sb2NhdGlvbi5ob3N0ID09PSBob3N0VW5kZXJUZXN0
ICYmIHdpbmRvdy50ZXN0UnVubmVyICYmIHdpbmRvdy5pbnRlcm5hbHMpIHsKKyAgICAgICAgdGVz
dFJ1bm5lci53YWl0VW50aWxEb25lKCk7CisgICAgICAgIGludGVybmFscy5zZXRSZXNvdXJjZUxv
YWRTdGF0aXN0aWNzRW5hYmxlZCh0cnVlKTsKKyAgICAgICAgcnVuVGVzdFJ1bm5lclRlc3QoKTsK
KyAgICB9Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2Fk
U3RhdGlzdGljcy9jbGFzc2lmeS1hcy1wcmV2YWxlbnQtYmFzZWQtb24tc3VicmVzb3VyY2UtdW5k
ZXItdG9wLWZyYW1lLW9yaWdpbnMtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL2h0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFz
LXByZXZhbGVudC1iYXNlZC1vbi1zdWJyZXNvdXJjZS11bmRlci10b3AtZnJhbWUtb3JpZ2lucy1l
eHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9sb2Fk
aW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtcHJldmFsZW50LWJhc2VkLW9u
LXN1YnJlc291cmNlLXVuZGVyLXRvcC1mcmFtZS1vcmlnaW5zLWV4cGVjdGVkLnR4dAkod29ya2lu
ZyBjb3B5KQpAQCAtMCwwICsxLDggQEAKK21haW4gZnJhbWUgLSBkaWRTdGFydFByb3Zpc2lvbmFs
TG9hZEZvckZyYW1lCittYWluIGZyYW1lIC0gZGlkQ29tbWl0TG9hZEZvckZyYW1lCittYWluIGZy
YW1lIC0gZGlkUmVjZWl2ZVRpdGxlOiBUZXN0cyBmb3IgQ2xhc3NpZmljYXRpb24gQmFzZWQgb24g
U3VicmVzb3VyY2UgVW5kZXIgVG9wIEZyYW1lIE9yaWdpbnMKK21haW4gZnJhbWUgLSBkaWRGaW5p
c2hEb2N1bWVudExvYWRGb3JGcmFtZQorbWFpbiBmcmFtZSAtIGRpZEhhbmRsZU9ubG9hZEV2ZW50
c0ZvckZyYW1lCittYWluIGZyYW1lIC0gZGlkRmluaXNoTG9hZEZvckZyYW1lCitQQVNTIEhvc3Qg
Y2xhc3NpZmllZCBhcyBwcmV2YWxlbnQgcmVzb3VyY2UuCisKSW5kZXg6IExheW91dFRlc3RzL2h0
dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLXByZXZh
bGVudC1iYXNlZC1vbi1zdWJyZXNvdXJjZS11bmRlci10b3AtZnJhbWUtb3JpZ2lucy5odG1sCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRT
dGF0aXN0aWNzL2NsYXNzaWZ5LWFzLXByZXZhbGVudC1iYXNlZC1vbi1zdWJyZXNvdXJjZS11bmRl
ci10b3AtZnJhbWUtb3JpZ2lucy5odG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2h0
dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLXByZXZh
bGVudC1iYXNlZC1vbi1zdWJyZXNvdXJjZS11bmRlci10b3AtZnJhbWUtb3JpZ2lucy5odG1sCSh3
b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNDQgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWwgbGFu
Zz0iZW4iPgorPGhlYWQ+CisgICAgPG1ldGEgY2hhcnNldD0iVVRGLTgiPgorICAgIDx0aXRsZT5U
ZXN0cyBmb3IgQ2xhc3NpZmljYXRpb24gQmFzZWQgb24gU3VicmVzb3VyY2UgVW5kZXIgVG9wIEZy
YW1lIE9yaWdpbnM8L3RpdGxlPgorICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0PgorICAgIGNv
bnN0IGhvc3RVbmRlclRlc3QgPSAiMTI3LjAuMC4xOjgwMDAiOworICAgIGNvbnN0IHN0YXRpc3Rp
Y3NVcmwgPSAiaHR0cDovLyIgKyBob3N0VW5kZXJUZXN0ICsgIi90ZW1wIjsKKyAgICBjb25zdCB0
b3BGcmFtZU9yaWdpbjEgPSAiaHR0cDovLzEyNy4wLjAuMjo4MDAwL3RlbXAiOworICAgIGNvbnN0
IHRvcEZyYW1lT3JpZ2luMiA9ICJodHRwOi8vMTI3LjAuMC4zOjgwMDAvdGVtcCI7CisgICAgY29u
c3QgdG9wRnJhbWVPcmlnaW4zID0gImh0dHA6Ly8xMjcuMC4wLjQ6ODAwMC90ZW1wIjsKKyAgICBj
b25zdCB0b3BGcmFtZU9yaWdpbjQgPSAiaHR0cDovLzEyNy4wLjAuNTo4MDAwL3RlbXAiOworICAg
IGZ1bmN0aW9uIHJ1blRlc3RSdW5uZXJUZXN0KCkgeworICAgICAgICB0ZXN0UnVubmVyLnNldFN0
YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJjZShzdGF0aXN0aWNzVXJsLCBmYWxzZSk7CisgICAgICAg
IGlmICh0ZXN0UnVubmVyLmlzU3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNlKHN0YXRpc3RpY3NV
cmwpKQorICAgICAgICAgICAgdGVzdEZhaWxlZCgiSG9zdCBkaWQgbm90IGdldCBzZXQgYXMgbm9u
LXByZXZhbGVudCByZXNvdXJjZS4iKTsKKworICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3Rp
Y3NTdWJyZXNvdXJjZVVuZGVyVG9wRnJhbWVPcmlnaW4oc3RhdGlzdGljc1VybCwgdG9wRnJhbWVP
cmlnaW4xKTsKKyAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzU3VicmVzb3VyY2VVbmRl
clRvcEZyYW1lT3JpZ2luKHN0YXRpc3RpY3NVcmwsIHRvcEZyYW1lT3JpZ2luMik7CisgICAgICAg
IHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1N1YnJlc291cmNlVW5kZXJUb3BGcmFtZU9yaWdpbihz
dGF0aXN0aWNzVXJsLCB0b3BGcmFtZU9yaWdpbjMpOworICAgICAgICB0ZXN0UnVubmVyLnNldFN0
YXRpc3RpY3NTdWJyZXNvdXJjZVVuZGVyVG9wRnJhbWVPcmlnaW4oc3RhdGlzdGljc1VybCwgdG9w
RnJhbWVPcmlnaW40KTsKKworICAgICAgICB0ZXN0UnVubmVyLnN0YXRpc3RpY3NGaXJlRGF0YU1v
ZGlmaWNhdGlvbkhhbmRsZXIoKTsKKworICAgICAgICBpZiAoIXRlc3RSdW5uZXIuaXNTdGF0aXN0
aWNzUHJldmFsZW50UmVzb3VyY2Uoc3RhdGlzdGljc1VybCkpCisgICAgICAgICAgICB0ZXN0RmFp
bGVkKCJIb3N0IGRpZCBub3QgZ2V0IGNsYXNzaWZpZWQgYXMgcHJldmFsZW50IHJlc291cmNlLiIp
OworICAgICAgICBlbHNlCisgICAgICAgICAgICB0ZXN0UGFzc2VkKCJIb3N0IGNsYXNzaWZpZWQg
YXMgcHJldmFsZW50IHJlc291cmNlLiIpOworCisgICAgICAgIHRlc3RSdW5uZXIuc3RhdGlzdGlj
c1Jlc2V0VG9Db25zaXN0ZW50U3RhdGUoKTsKKyAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25l
KCk7CisgICAgfQorCisgICAgaWYgKGRvY3VtZW50LmxvY2F0aW9uLmhvc3QgPT09IGhvc3RVbmRl
clRlc3QgJiYgd2luZG93LnRlc3RSdW5uZXIgJiYgd2luZG93LmludGVybmFscykgeworICAgICAg
ICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKKyAgICAgICAgaW50ZXJuYWxzLnNldFJlc291
cmNlTG9hZFN0YXRpc3RpY3NFbmFibGVkKHRydWUpOworICAgICAgICBydW5UZXN0UnVubmVyVGVz
dCgpOworICAgIH0KKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLXByZXZhbGVudC1iYXNlZC1vbi1zdWJyZXNvdXJj
ZS11bmlxdWUtcmVkaXJlY3RzLXRvLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1h
cy1wcmV2YWxlbnQtYmFzZWQtb24tc3VicmVzb3VyY2UtdW5pcXVlLXJlZGlyZWN0cy10by1leHBl
Y3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9sb2FkaW5n
L3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtcHJldmFsZW50LWJhc2VkLW9uLXN1
YnJlc291cmNlLXVuaXF1ZS1yZWRpcmVjdHMtdG8tZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkp
CkBAIC0wLDAgKzEsOCBAQAorbWFpbiBmcmFtZSAtIGRpZFN0YXJ0UHJvdmlzaW9uYWxMb2FkRm9y
RnJhbWUKK21haW4gZnJhbWUgLSBkaWRDb21taXRMb2FkRm9yRnJhbWUKK21haW4gZnJhbWUgLSBk
aWRSZWNlaXZlVGl0bGU6IFRlc3RzIGZvciBDbGFzc2lmaWNhdGlvbiBCYXNlZCBvbiBTdWJyZXNv
dXJjZSBVbmlxdWUgUmVkaXJlY3RzIFRvCittYWluIGZyYW1lIC0gZGlkRmluaXNoRG9jdW1lbnRM
b2FkRm9yRnJhbWUKK21haW4gZnJhbWUgLSBkaWRIYW5kbGVPbmxvYWRFdmVudHNGb3JGcmFtZQor
bWFpbiBmcmFtZSAtIGRpZEZpbmlzaExvYWRGb3JGcmFtZQorUEFTUyBIb3N0IGNsYXNzaWZpZWQg
YXMgcHJldmFsZW50IHJlc291cmNlLgorCkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2xv
YWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1wcmV2YWxlbnQtYmFzZWQt
b24tc3VicmVzb3VyY2UtdW5pcXVlLXJlZGlyZWN0cy10by5odG1sCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL2h0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNz
aWZ5LWFzLXByZXZhbGVudC1iYXNlZC1vbi1zdWJyZXNvdXJjZS11bmlxdWUtcmVkaXJlY3RzLXRv
Lmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9sb2FkaW5nL3Jl
c291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtcHJldmFsZW50LWJhc2VkLW9uLXN1YnJl
c291cmNlLXVuaXF1ZS1yZWRpcmVjdHMtdG8uaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsx
LDQ0IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sIGxhbmc9ImVuIj4KKzxoZWFkPgorICAgIDxt
ZXRhIGNoYXJzZXQ9IlVURi04Ij4KKyAgICA8dGl0bGU+VGVzdHMgZm9yIENsYXNzaWZpY2F0aW9u
IEJhc2VkIG9uIFN1YnJlc291cmNlIFVuaXF1ZSBSZWRpcmVjdHMgVG88L3RpdGxlPgorICAgIDxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9o
ZWFkPgorPGJvZHk+Cis8c2NyaXB0PgorICAgIGNvbnN0IGhvc3RVbmRlclRlc3QgPSAiMTI3LjAu
MC4xOjgwMDAiOworICAgIGNvbnN0IHN0YXRpc3RpY3NVcmwgPSAiaHR0cDovLyIgKyBob3N0VW5k
ZXJUZXN0ICsgIi90ZW1wIjsKKyAgICBjb25zdCB0b3BGcmFtZU9yaWdpbjEgPSAiaHR0cDovLzEy
Ny4wLjAuMjo4MDAwL3RlbXAiOworICAgIGNvbnN0IHRvcEZyYW1lT3JpZ2luMiA9ICJodHRwOi8v
MTI3LjAuMC4zOjgwMDAvdGVtcCI7CisgICAgY29uc3QgdG9wRnJhbWVPcmlnaW4zID0gImh0dHA6
Ly8xMjcuMC4wLjQ6ODAwMC90ZW1wIjsKKyAgICBjb25zdCB0b3BGcmFtZU9yaWdpbjQgPSAiaHR0
cDovLzEyNy4wLjAuNTo4MDAwL3RlbXAiOworICAgIGZ1bmN0aW9uIHJ1blRlc3RSdW5uZXJUZXN0
KCkgeworICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJjZShz
dGF0aXN0aWNzVXJsLCBmYWxzZSk7CisgICAgICAgIGlmICh0ZXN0UnVubmVyLmlzU3RhdGlzdGlj
c1ByZXZhbGVudFJlc291cmNlKHN0YXRpc3RpY3NVcmwpKQorICAgICAgICAgICAgdGVzdEZhaWxl
ZCgiSG9zdCBkaWQgbm90IGdldCBzZXQgYXMgbm9uLXByZXZhbGVudCByZXNvdXJjZS4iKTsKKwor
ICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NTdWJyZXNvdXJjZVVuaXF1ZVJlZGlyZWN0
VG8oc3RhdGlzdGljc1VybCwgdG9wRnJhbWVPcmlnaW4xKTsKKyAgICAgICAgdGVzdFJ1bm5lci5z
ZXRTdGF0aXN0aWNzU3VicmVzb3VyY2VVbmlxdWVSZWRpcmVjdFRvKHN0YXRpc3RpY3NVcmwsIHRv
cEZyYW1lT3JpZ2luMik7CisgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1N1YnJlc291
cmNlVW5pcXVlUmVkaXJlY3RUbyhzdGF0aXN0aWNzVXJsLCB0b3BGcmFtZU9yaWdpbjMpOworICAg
ICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NTdWJyZXNvdXJjZVVuaXF1ZVJlZGlyZWN0VG8o
c3RhdGlzdGljc1VybCwgdG9wRnJhbWVPcmlnaW40KTsKKworICAgICAgICB0ZXN0UnVubmVyLnN0
YXRpc3RpY3NGaXJlRGF0YU1vZGlmaWNhdGlvbkhhbmRsZXIoKTsKKworICAgICAgICBpZiAoIXRl
c3RSdW5uZXIuaXNTdGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2Uoc3RhdGlzdGljc1VybCkpCisg
ICAgICAgICAgICB0ZXN0RmFpbGVkKCJIb3N0IGRpZCBub3QgZ2V0IGNsYXNzaWZpZWQgYXMgcHJl
dmFsZW50IHJlc291cmNlLiIpOworICAgICAgICBlbHNlCisgICAgICAgICAgICB0ZXN0UGFzc2Vk
KCJIb3N0IGNsYXNzaWZpZWQgYXMgcHJldmFsZW50IHJlc291cmNlLiIpOworCisgICAgICAgIHRl
c3RSdW5uZXIuc3RhdGlzdGljc1Jlc2V0VG9Db25zaXN0ZW50U3RhdGUoKTsKKyAgICAgICAgdGVz
dFJ1bm5lci5ub3RpZnlEb25lKCk7CisgICAgfQorCisgICAgaWYgKGRvY3VtZW50LmxvY2F0aW9u
Lmhvc3QgPT09IGhvc3RVbmRlclRlc3QgJiYgd2luZG93LnRlc3RSdW5uZXIgJiYgd2luZG93Lmlu
dGVybmFscykgeworICAgICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKKyAgICAgICAg
aW50ZXJuYWxzLnNldFJlc291cmNlTG9hZFN0YXRpc3RpY3NFbmFibGVkKHRydWUpOworICAgICAg
ICBydW5UZXN0UnVubmVyVGVzdCgpOworICAgIH0KKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1Rlc3RFeHBlY3RhdGlvbnMKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1Rlc3RFeHBlY3RhdGlvbnMJKHJldmlz
aW9uIDIxMjUyNCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9UZXN0RXhwZWN0YXRpb25z
CSh3b3JraW5nIGNvcHkpCkBAIC05MTgsMTEgKzkxOCw3IEBAIHdlYmtpdC5vcmcvYi8xMzE1NDYg
bWVkaWEvdHJhY2svdHJhY2staW4KIAogd2Via2l0Lm9yZy9iLzE2Mzc4MiBtZWRpYS92aWRlby1w
bGF5ZWQtcmFuZ2VzLTEuaHRtbCBbIENyYXNoIFBhc3MgXQogCi13ZWJraXQub3JnL2IvMTY4MTcx
IGh0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL25vbi1wcmV2YWxlbnQt
cmVzb3VyY2Utd2l0aC11c2VyLWludGVyYWN0aW9uLmh0bWwgWyBDcmFzaCBdCi13ZWJraXQub3Jn
L2IvMTY4MTcxIGh0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL25vbi1w
cmV2YWxlbnQtcmVzb3VyY2Utd2l0aG91dC11c2VyLWludGVyYWN0aW9uLmh0bWwgWyBDcmFzaCBd
Ci13ZWJraXQub3JnL2IvMTY4MTcxIGh0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0
aXN0aWNzL3ByZXZhbGVudC1yZXNvdXJjZS13aXRoLXVzZXItaW50ZXJhY3Rpb24tdGltZW91dC5o
dG1sIFsgQ3Jhc2ggXQotd2Via2l0Lm9yZy9iLzE2ODE3MSBodHRwL3Rlc3RzL2xvYWRpbmcvcmVz
b3VyY2VMb2FkU3RhdGlzdGljcy9wcmV2YWxlbnQtcmVzb3VyY2Utd2l0aC11c2VyLWludGVyYWN0
aW9uLmh0bWwgWyBDcmFzaCBdCi13ZWJraXQub3JnL2IvMTY4MTcxIGh0dHAvdGVzdHMvbG9hZGlu
Zy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3ByZXZhbGVudC1yZXNvdXJjZS13aXRob3V0LXVzZXIt
aW50ZXJhY3Rpb24uaHRtbCBbIENyYXNoIF0KK3dlYmtpdC5vcmcvYi8xNjgxNzEgaHR0cC90ZXN0
cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MgWyBDcmFzaCBdCiAKIHdlYmtpdC5vcmcv
Yi8xNjc1NzYgaW1wb3J0ZWQvdzNjL0luZGV4ZWREQi1wcml2YXRlLWJyb3dzaW5nL2lkYmN1cnNv
cl9pdGVyYXRpbmcuaHRtbCBbIENyYXNoIF0KIHdlYmtpdC5vcmcvYi8xNjc1NzYgaW1wb3J0ZWQv
dzNjL0luZGV4ZWREQi1wcml2YXRlLWJyb3dzaW5nL2lkYmN1cnNvcl9pdGVyYXRpbmdfaW5kZXgu
aHRtbCBbIENyYXNoIF0KSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL3drMi9UZXN0RXhwZWN0
YXRpb25zCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL3drMi9UZXN0RXhwZWN0
YXRpb25zCShyZXZpc2lvbiAyMTI1MjQpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS93azIvVGVz
dEV4cGVjdGF0aW9ucwkod29ya2luZyBjb3B5KQpAQCAtNzA1LDYgKzcwNSwxNCBAQCBodHRwL3Rl
c3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljCiBodHRwL3Rlc3RzL2xvYWRpbmcvcmVz
b3VyY2VMb2FkU3RhdGlzdGljcy9ub24tcHJldmFsZW50LXJlc291cmNlLXdpdGhvdXQtdXNlci1p
bnRlcmFjdGlvbi5odG1sIFsgUGFzcyBUaW1lb3V0IF0KIGh0dHAvdGVzdHMvbG9hZGluZy9yZXNv
dXJjZUxvYWRTdGF0aXN0aWNzL3ByZXZhbGVudC1yZXNvdXJjZS13aXRob3V0LXVzZXItaW50ZXJh
Y3Rpb24uaHRtbCBbIFBhc3MgVGltZW91dCBdCiBodHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VM
b2FkU3RhdGlzdGljcy9wcmV2YWxlbnQtcmVzb3VyY2Utd2l0aC11c2VyLWludGVyYWN0aW9uLXRp
bWVvdXQuaHRtbCBbIFBhc3MgVGltZW91dCBdCitodHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VM
b2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1ub24tcHJldmFsZW50LWJhc2VkLW9uLW1peGVkLXN0
YXRpc3RpY3MuaHRtbCBbIFBhc3MgXQoraHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0
YXRpc3RpY3MvY2xhc3NpZnktYXMtbm9uLXByZXZhbGVudC1iYXNlZC1vbi1zdWItZnJhbWUtdW5k
ZXItdG9wLWZyYW1lLW9yaWdpbnMuaHRtbCBbIFBhc3MgXQoraHR0cC90ZXN0cy9sb2FkaW5nL3Jl
c291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtbm9uLXByZXZhbGVudC1iYXNlZC1vbi1z
dWJyZXNvdXJjZS11bmRlci10b3AtZnJhbWUtb3JpZ2lucy5odG1sIFsgUGFzcyBdCitodHRwL3Rl
c3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1ub24tcHJldmFs
ZW50LWJhc2VkLW9uLXN1YnJlc291cmNlLXVuaXF1ZS1yZWRpcmVjdHMtdG8uaHRtbCBbIFBhc3Mg
XQoraHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMt
cHJldmFsZW50LWJhc2VkLW9uLW1peGVkLXN0YXRpc3RpY3MuaHRtbCBbIFBhc3MgXQoraHR0cC90
ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtcHJldmFsZW50
LWJhc2VkLW9uLXN1Yi1mcmFtZS11bmRlci10b3AtZnJhbWUtb3JpZ2lucy5odG1sIFsgUGFzcyBd
CitodHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1w
cmV2YWxlbnQtYmFzZWQtb24tc3VicmVzb3VyY2UtdW5kZXItdG9wLWZyYW1lLW9yaWdpbnMuaHRt
bCBbIFBhc3MgXQoraHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xh
c3NpZnktYXMtcHJldmFsZW50LWJhc2VkLW9uLXN1YnJlc291cmNlLXVuaXF1ZS1yZWRpcmVjdHMt
dG8uaHRtbCBbIFBhc3MgXQogCiAjIyMgRU5EIE9GICg1KSBQcm9ncmVzc2lvbnMsIGV4cGVjdGVk
IHN1Y2Nlc3NlcyB0aGF0IGFyZSBleHBlY3RlZCBmYWlsdXJlcyBpbiBXZWJLaXQxLgogIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>302018</attachid>
            <date>2017-02-17 17:08:25 -0800</date>
            <delta_ts>2017-02-17 17:31:52 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-168347-20170217170547.patch</filename>
            <type>text/plain</type>
            <size>122690</size>
            <attacher name="John Wilander">wilander</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XVEYvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XVEYvQ2hh
bmdlTG9nCShyZXZpc2lvbiAyMTI1OTcpCisrKyBTb3VyY2UvV1RGL0NoYW5nZUxvZwkod29ya2lu
ZyBjb3B5KQpAQCAtMSwzICsxLDE0IEBACisyMDE3LTAyLTE3ICBKb2huIFdpbGFuZGVyICA8d2ls
YW5kZXJAYXBwbGUuY29tPgorCisgICAgICAgIFJlc291cmNlIExvYWQgU3RhdGlzdGljczogQWRk
IGFsdGVybmF0ZSBjbGFzc2lmaWNhdGlvbiBtZXRob2QKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2ODM0NworICAgICAgICA8cmRhcjovL3Byb2JsZW0v
MzAzNTI3OTM+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgKiB3dGYvUGxhdGZvcm0uaDoKKyAgICAgICAgICAgIEFkZGVkIHN1cHBvcnQgZm9yIEhBVkUo
Q09SRV9QUkVESUNUSU9OKS4KKwogMjAxNy0wMi0xNiAgQWxleCBDaHJpc3RlbnNlbiAgPGFjaHJp
c3RlbnNlbkB3ZWJraXQub3JnPgogCiAgICAgICAgIFJlbW92ZSBFRkwtc3BlY2lmaWMgZmlsZXMg
aW4gU291cmNlLgpJbmRleDogU291cmNlL1dURi93dGYvUGxhdGZvcm0uaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybS5oCShyZXZpc2lvbiAyMTI1OTcpCisrKyBTb3VyY2Uv
V1RGL3d0Zi9QbGF0Zm9ybS5oCSh3b3JraW5nIGNvcHkpCkBAIC0xMjA4LDQgKzEyMDgsOCBAQAog
I2VuZGlmCiAjZW5kaWYgLyogUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUFY
X0FMTE9XRUQgPj0gMTAxMjAxICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0g
MTAxMjAwICovCiAKKyNpZiBQTEFURk9STShJT1MpIHx8IChQTEFURk9STShNQUMpICYmIF9fTUFD
X09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxMjAwKQorI2RlZmluZSBIQVZFX0NPUkVf
UFJFRElDVElPTiAxCisjZW5kaWYKKwogI2VuZGlmIC8qIFdURl9QbGF0Zm9ybV9oICovCkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
Q2hhbmdlTG9nCShyZXZpc2lvbiAyMTI1OTcpCisrKyBTb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cJ
KHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwyOCBAQAorMjAxNy0wMi0xNyAgSm9obiBXaWxhbmRl
ciAgPHdpbGFuZGVyQGFwcGxlLmNvbT4KKworICAgICAgICBSZXNvdXJjZSBMb2FkIFN0YXRpc3Rp
Y3M6IEFkZCBhbHRlcm5hdGUgY2xhc3NpZmljYXRpb24gbWV0aG9kCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjgzNDcKKyAgICAgICAgPHJkYXI6Ly9w
cm9ibGVtLzMwMzUyNzkzPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIFRoaXMgcGF0Y2ggb25seSBhZGRzIHRlc3QgaW5mcmFzdHJ1Y3R1cmUgaW4gV2Vi
Q29yZS4KKworICAgICAgICBUZXN0czogaHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0
YXRpc3RpY3MvY2xhc3NpZnktYXMtbm9uLXByZXZhbGVudC1iYXNlZC1vbi1taXhlZC1zdGF0aXN0
aWNzLmh0bWwKKyAgICAgICAgICAgICAgIGh0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRT
dGF0aXN0aWNzL2NsYXNzaWZ5LWFzLW5vbi1wcmV2YWxlbnQtYmFzZWQtb24tc3ViLWZyYW1lLXVu
ZGVyLXRvcC1mcmFtZS1vcmlnaW5zLmh0bWwKKyAgICAgICAgICAgICAgIGh0dHAvdGVzdHMvbG9h
ZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLW5vbi1wcmV2YWxlbnQtYmFz
ZWQtb24tc3VicmVzb3VyY2UtdW5kZXItdG9wLWZyYW1lLW9yaWdpbnMuaHRtbAorICAgICAgICAg
ICAgICAgaHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnkt
YXMtbm9uLXByZXZhbGVudC1iYXNlZC1vbi1zdWJyZXNvdXJjZS11bmlxdWUtcmVkaXJlY3RzLXRv
Lmh0bWwKKyAgICAgICAgICAgICAgIGh0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0
aXN0aWNzL2NsYXNzaWZ5LWFzLXByZXZhbGVudC1iYXNlZC1vbi1taXhlZC1zdGF0aXN0aWNzLmh0
bWwKKyAgICAgICAgICAgICAgIGh0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0
aWNzL2NsYXNzaWZ5LWFzLXByZXZhbGVudC1iYXNlZC1vbi1zdWItZnJhbWUtdW5kZXItdG9wLWZy
YW1lLW9yaWdpbnMuaHRtbAorICAgICAgICAgICAgICAgaHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291
cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtcHJldmFsZW50LWJhc2VkLW9uLXN1YnJlc291
cmNlLXVuZGVyLXRvcC1mcmFtZS1vcmlnaW5zLmh0bWwKKyAgICAgICAgICAgICAgIGh0dHAvdGVz
dHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLXByZXZhbGVudC1i
YXNlZC1vbi1zdWJyZXNvdXJjZS11bmlxdWUtcmVkaXJlY3RzLXRvLmh0bWwKKworICAgICAgICAq
IGxvYWRlci9SZXNvdXJjZUxvYWRPYnNlcnZlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZXNv
dXJjZUxvYWRPYnNlcnZlcjo6c2V0U3ViZnJhbWVVbmRlclRvcEZyYW1lT3JpZ2luKToKKyAgICAg
ICAgKFdlYkNvcmU6OlJlc291cmNlTG9hZE9ic2VydmVyOjpzZXRTdWJyZXNvdXJjZVVuZGVyVG9w
RnJhbWVPcmlnaW4pOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VMb2FkT2JzZXJ2ZXI6OnNl
dFN1YnJlc291cmNlVW5pcXVlUmVkaXJlY3RUbyk6CisgICAgICAgICogbG9hZGVyL1Jlc291cmNl
TG9hZE9ic2VydmVyLmg6CisKIDIwMTctMDItMTcgIEJyaWFuIEJ1cmcgIDxiYnVyZ0BhcHBsZS5j
b20+CiAKICAgICAgICAgV2ViIEluc3BlY3RvcjogUlRMOiBJbnNwZWN0b3Igd2luZG93IHNob3Vs
ZCBkb2NrIHRvIHRoZSBsZWZ0IHdoZW4gdXNpbmcgUlRMIGxheW91dCBkaXJlY3Rpb24KSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZUxvYWRPYnNlcnZlci5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlTG9hZE9ic2VydmVyLmNwcAkocmV2
aXNpb24gMjEyNTk3KQorKysgU291cmNlL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlTG9hZE9ic2Vy
dmVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzc1LDYgKzM3NSwzMyBAQCB2b2lkIFJlc291cmNl
TG9hZE9ic2VydmVyOjpjbGVhclByZXZhbGVuCiAgICAgc3RhdGlzdGljcy5pc1ByZXZhbGVudFJl
c291cmNlID0gZmFsc2U7CiB9CiAKK3ZvaWQgUmVzb3VyY2VMb2FkT2JzZXJ2ZXI6OnNldFN1YmZy
YW1lVW5kZXJUb3BGcmFtZU9yaWdpbihjb25zdCBVUkwmIHN1YmZyYW1lLCBjb25zdCBVUkwmIHRv
cEZyYW1lKQoreworICAgIGlmIChzdWJmcmFtZS5pc0JsYW5rVVJMKCkgfHwgc3ViZnJhbWUuaXNF
bXB0eSgpIHx8IHRvcEZyYW1lLmlzQmxhbmtVUkwoKSB8fCB0b3BGcmFtZS5pc0VtcHR5KCkpCisg
ICAgICAgIHJldHVybjsKKyAgICAKKyAgICBhdXRvJiBzdGF0aXN0aWNzID0gbV9zdG9yZS0+ZW5z
dXJlUmVzb3VyY2VTdGF0aXN0aWNzRm9yUHJpbWFyeURvbWFpbihwcmltYXJ5RG9tYWluKHN1YmZy
YW1lKSk7CisgICAgc3RhdGlzdGljcy5zdWJmcmFtZVVuZGVyVG9wRnJhbWVPcmlnaW5zLmFkZChw
cmltYXJ5RG9tYWluKHRvcEZyYW1lKSk7Cit9CisKK3ZvaWQgUmVzb3VyY2VMb2FkT2JzZXJ2ZXI6
OnNldFN1YnJlc291cmNlVW5kZXJUb3BGcmFtZU9yaWdpbihjb25zdCBVUkwmIHN1YnJlc291cmNl
LCBjb25zdCBVUkwmIHRvcEZyYW1lKQoreworICAgIGlmIChzdWJyZXNvdXJjZS5pc0JsYW5rVVJM
KCkgfHwgc3VicmVzb3VyY2UuaXNFbXB0eSgpIHx8IHRvcEZyYW1lLmlzQmxhbmtVUkwoKSB8fCB0
b3BGcmFtZS5pc0VtcHR5KCkpCisgICAgICAgIHJldHVybjsKKyAgICAKKyAgICBhdXRvJiBzdGF0
aXN0aWNzID0gbV9zdG9yZS0+ZW5zdXJlUmVzb3VyY2VTdGF0aXN0aWNzRm9yUHJpbWFyeURvbWFp
bihwcmltYXJ5RG9tYWluKHN1YnJlc291cmNlKSk7CisgICAgc3RhdGlzdGljcy5zdWJyZXNvdXJj
ZVVuZGVyVG9wRnJhbWVPcmlnaW5zLmFkZChwcmltYXJ5RG9tYWluKHRvcEZyYW1lKSk7Cit9CisK
K3ZvaWQgUmVzb3VyY2VMb2FkT2JzZXJ2ZXI6OnNldFN1YnJlc291cmNlVW5pcXVlUmVkaXJlY3RU
byhjb25zdCBVUkwmIHN1YnJlc291cmNlLCBjb25zdCBVUkwmIGhvc3ROYW1lUmVkaXJlY3RlZFRv
KQoreworICAgIGlmIChzdWJyZXNvdXJjZS5pc0JsYW5rVVJMKCkgfHwgc3VicmVzb3VyY2UuaXNF
bXB0eSgpIHx8IGhvc3ROYW1lUmVkaXJlY3RlZFRvLmlzQmxhbmtVUkwoKSB8fCBob3N0TmFtZVJl
ZGlyZWN0ZWRUby5pc0VtcHR5KCkpCisgICAgICAgIHJldHVybjsKKyAgICAKKyAgICBhdXRvJiBz
dGF0aXN0aWNzID0gbV9zdG9yZS0+ZW5zdXJlUmVzb3VyY2VTdGF0aXN0aWNzRm9yUHJpbWFyeURv
bWFpbihwcmltYXJ5RG9tYWluKHN1YnJlc291cmNlKSk7CisgICAgc3RhdGlzdGljcy5zdWJyZXNv
dXJjZVVuaXF1ZVJlZGlyZWN0c1RvLmFkZChwcmltYXJ5RG9tYWluKGhvc3ROYW1lUmVkaXJlY3Rl
ZFRvKSk7Cit9CisKIHZvaWQgUmVzb3VyY2VMb2FkT2JzZXJ2ZXI6OnNldFRpbWVUb0xpdmVVc2Vy
SW50ZXJhY3Rpb24oZG91YmxlIHNlY29uZHMpCiB7CiAgICAgbV9zdG9yZS0+c2V0VGltZVRvTGl2
ZVVzZXJJbnRlcmFjdGlvbihzZWNvbmRzKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2xvYWRlci9S
ZXNvdXJjZUxvYWRPYnNlcnZlci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2xvYWRl
ci9SZXNvdXJjZUxvYWRPYnNlcnZlci5oCShyZXZpc2lvbiAyMTI1OTcpCisrKyBTb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvUmVzb3VyY2VMb2FkT2JzZXJ2ZXIuaAkod29ya2luZyBjb3B5KQpAQCAtNTgs
NiArNTgsMTAgQEAgcHVibGljOgogICAgIFdFQkNPUkVfRVhQT1JUIGJvb2wgaXNQcmV2YWxlbnRS
ZXNvdXJjZShjb25zdCBVUkwmKTsKICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIGNsZWFyUHJldmFs
ZW50UmVzb3VyY2UoY29uc3QgVVJMJik7CiAKKyAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHNldFN1
YmZyYW1lVW5kZXJUb3BGcmFtZU9yaWdpbihjb25zdCBVUkwmIHN1YmZyYW1lLCBjb25zdCBVUkwm
IHRvcEZyYW1lKTsKKyAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHNldFN1YnJlc291cmNlVW5kZXJU
b3BGcmFtZU9yaWdpbihjb25zdCBVUkwmIHN1YnJlc291cmNlLCBjb25zdCBVUkwmIHRvcEZyYW1l
KTsKKyAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHNldFN1YnJlc291cmNlVW5pcXVlUmVkaXJlY3RU
byhjb25zdCBVUkwmIHN1YnJlc291cmNlLCBjb25zdCBVUkwmIGhvc3ROYW1lUmVkaXJlY3RlZFRv
KTsKKwogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgc2V0VGltZVRvTGl2ZVVzZXJJbnRlcmFjdGlv
bihkb3VibGUgc2Vjb25kcyk7CiAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBzZXRSZWR1Y2VkVGlt
ZXN0YW1wUmVzb2x1dGlvbihkb3VibGUgc2Vjb25kcyk7CiAKSW5kZXg6IFNvdXJjZS9XZWJLaXQy
L0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cJKHJldmlz
aW9uIDIxMjU5NykKKysrIFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpA
QCAtMSwzICsxLDc3IEBACisyMDE3LTAyLTE3ICBKb2huIFdpbGFuZGVyICA8d2lsYW5kZXJAYXBw
bGUuY29tPgorCisgICAgICAgIFJlc291cmNlIExvYWQgU3RhdGlzdGljczogQWRkIGFsdGVybmF0
ZSBjbGFzc2lmaWNhdGlvbiBtZXRob2QKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTE2ODM0NworICAgICAgICA8cmRhcjovL3Byb2JsZW0vMzAzNTI3OTM+
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhpcyBw
YXRjaCBhZGRzIGEgQ29yZVByZWRpY3Rpb24tYmFzZWQgY2xhc3NpZmllciB0byB0aGUgV2ViUmVz
b3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlLgorICAgICAgICBUaGUgQ29yZVByZWRpY3Rpb24gZnJh
bWV3b3JrIGlzIGludHJvZHVjZWQgYXMgYSBkZXBlbmRlbmN5IGZvciBtYWNPUyBhbmQgaU9TLiBU
aGUgcGF0Y2gKKyAgICAgICAgYWxzbyBhZGRzIGZ1bmN0aW9ucyB0byBzdXBwb3J0IGxheW91dCB0
ZXN0cyBvZiB0aGUgZmVhdHVyZS4KKworICAgICAgICAqIENvbmZpZ3VyYXRpb25zL0Jhc2VUYXJn
ZXQueGNjb25maWc6CisgICAgICAgICogQ29uZmlndXJhdGlvbnMvV2ViS2l0LnhjY29uZmlnOgor
ICAgICAgICAgICAgQWRkZWQgZGVwZW5kZW5jeSBvbiBDb3JlUHJlZGljdGlvbi4KKyAgICAgICAg
KiBQbGF0Zm9ybS9jbGFzc2lmaWVyOiBBZGRlZC4KKyAgICAgICAgKiBQbGF0Zm9ybS9jbGFzc2lm
aWVyL1Jlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyLmg6IEFkZGVkLgorICAgICAgICAg
ICAgUHVsbHMgaW4gdGhlIENvY29hLXNwZWNpZmljIGNsYXNzaWZpZXIgZm9yIENvY29hLWJhc2Vk
IHBsYXRmb3Jtcy4KKyAgICAgICAgKFdlYktpdDo6UmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNz
aWZpZXI6OlJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyKToKKyAgICAgICAgKiBQbGF0
Zm9ybS9jbGFzc2lmaWVyL1Jlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQmFzZS5jcHA6
IEFkZGVkLgorICAgICAgICAoV2ViS2l0OjpSZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmll
ckJhc2U6Omhhc1ByZXZhbGVudFJlc291cmNlQ2hhcmFjdGVyaXN0aWNzKToKKyAgICAgICAgICAg
IFNoYXJlZCBjbGFzc2lmaWVyIGxvZ2ljLgorICAgICAgICAoV2ViS2l0OjpSZXNvdXJjZUxvYWRT
dGF0aXN0aWNzQ2xhc3NpZmllckJhc2U6OmNsYXNzaWZ5V2l0aFZlY3RvclRocmVzaG9sZCk6Cisg
ICAgICAgICAgICBGYWxsYmFjayBjbGFzc2lmaWVyIGZvciB3aGVuIHdlIGRvbid0IGhhdmUgQ29y
ZVByZWRpY3Rpb24uCisgICAgICAgICogUGxhdGZvcm0vY2xhc3NpZmllci9SZXNvdXJjZUxvYWRT
dGF0aXN0aWNzQ2xhc3NpZmllckJhc2UuaDogQWRkZWQuCisgICAgICAgIChXZWJLaXQ6OlJlc291
cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQmFzZTo6UmVzb3VyY2VMb2FkU3RhdGlzdGljc0Ns
YXNzaWZpZXJCYXNlKToKKyAgICAgICAgKFdlYktpdDo6UmVzb3VyY2VMb2FkU3RhdGlzdGljc0Ns
YXNzaWZpZXJCYXNlOjp+UmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXJCYXNlKToKKyAg
ICAgICAgKiBQbGF0Zm9ybS9jbGFzc2lmaWVyL2NvY29hOiBBZGRlZC4KKyAgICAgICAgKiBQbGF0
Zm9ybS9jbGFzc2lmaWVyL2NvY29hL0NvcmVQcmVkaWN0aW9uU1BJLmg6IEFkZGVkLgorICAgICAg
ICAgICAgSW5jbHVkZXMgQ29yZVByZWRpY3Rpb24gaWYgYXZhaWxhYmxlLCBvdGhlcndpc2UgZGVj
bGFyZXMgbmVlZGVkIHN5bWJvbHMuCisgICAgICAgICogUGxhdGZvcm0vY2xhc3NpZmllci9jb2Nv
YS9SZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllckNvY29hLmNwcDogQWRkZWQuCisgICAg
ICAgIChXZWJLaXQ6OlJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyOjpjbGFzc2lmeSk6
CisgICAgICAgIChXZWJLaXQ6OlJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyOjpzdG9y
YWdlUGF0aCk6CisgICAgICAgIChXZWJLaXQ6OlJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lm
aWVyOjpzaG91bGRVc2VDb3JlUHJlZGljdGlvbik6CisgICAgICAgICAgICBUaGUgbmV3IGNsYXNz
aWZpZXIgZm9yIENvY29hIHBsYXRmb3Jtcy4KKyAgICAgICAgKiBQbGF0Zm9ybS9jbGFzc2lmaWVy
L2NvY29hL1Jlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQ29jb2EuaDogQWRkZWQuCisg
ICAgICAgIChXZWJLaXQ6OlJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyOjpSZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllcik6CisgICAgICAgICogUGxhdGZvcm1HVEsuY21ha2U6
CisgICAgICAgICAgIEFkZGVkIFBsYXRmb3JtL2NsYXNzaWZpZXIgZGlyZWN0b3J5IGFuZCBSZXNv
dXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllckJhc2UuY3BwLgorICAgICAgICAqIFBsYXRmb3Jt
TWFjLmNtYWtlOgorICAgICAgICAgICBBZGRlZCBQbGF0Zm9ybS9jbGFzc2lmaWVyIGFuZCBQbGF0
Zm9ybS9jbGFzc2lmaWVyL2NvY29hIGRpcmVjdG9yaWVzLCBhbmQKKyAgICAgICAgICAgc291cmNl
IGZpbGVzIFJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQmFzZS5jcHAgYW5kCisgICAg
ICAgICAgIFJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQ29jb2EuY3BwCisgICAgICAg
ICogUmVzb3VyY2VzL1Jlc291cmNlTG9hZFN0YXRpc3RpY3M6IEFkZGVkLgorICAgICAgICAqIFJl
c291cmNlcy9SZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NvcmVQcmVkaWN0aW9uX21vZGVsOiBBZGRl
ZC4KKyAgICAgICAgICAgIE1vZGVsIGZpbGUgdG8gbG9hZCBpbnRvIENvcmVQcmVkaWN0aW9uLgor
ICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQy9XS1Jlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2Vy
LmNwcDoKKyAgICAgICAgKFdLUmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFnZXJTZXRTdWJmcmFt
ZVVuZGVyVG9wRnJhbWVPcmlnaW4pOgorICAgICAgICAoV0tSZXNvdXJjZUxvYWRTdGF0aXN0aWNz
TWFuYWdlclNldFN1YnJlc291cmNlVW5kZXJUb3BGcmFtZU9yaWdpbik6CisgICAgICAgIChXS1Jl
c291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VyU2V0U3VicmVzb3VyY2VVbmlxdWVSZWRpcmVjdFRv
KToKKyAgICAgICAgICAgIFRlc3QgaW5mcmFzdHJ1Y3R1cmUuCisgICAgICAgICogVUlQcm9jZXNz
L0FQSS9DL1dLUmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFnZXIuaDoKKyAgICAgICAgKiBVSVBy
b2Nlc3MvV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFnZXIuY3BwOgorICAgICAgICAoV2Vi
S2l0OjpXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdlcjo6c2V0U3ViZnJhbWVVbmRlclRv
cEZyYW1lT3JpZ2luKToKKyAgICAgICAgKFdlYktpdDo6V2ViUmVzb3VyY2VMb2FkU3RhdGlzdGlj
c01hbmFnZXI6OnNldFN1YnJlc291cmNlVW5kZXJUb3BGcmFtZU9yaWdpbik6CisgICAgICAgIChX
ZWJLaXQ6OldlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VyOjpzZXRTdWJyZXNvdXJjZVVu
aXF1ZVJlZGlyZWN0VG8pOgorICAgICAgICAgICAgVGVzdCBpbmZyYXN0cnVjdHVyZS4KKyAgICAg
ICAgKiBVSVByb2Nlc3MvV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFnZXIuaDoKKyAgICAg
ICAgKiBVSVByb2Nlc3MvV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlLmNwcDoKKyAgICAg
ICAgKFdlYktpdDo6V2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlOjpXZWJSZXNvdXJjZUxv
YWRTdGF0aXN0aWNzU3RvcmUpOgorICAgICAgICAgICAgUmVuYW1lZCBtX3N0b3JhZ2VQYXRoIHRv
IG1fc3RhdGlzdGljc1N0b3JhZ2VQYXRoIGZvciBjbGFyaXR5LgorICAgICAgICAoV2ViS2l0OjpX
ZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmU6OmNsYXNzaWZ5UmVzb3VyY2UpOgorICAgICAg
ICAgICAgTm93IGNhbGxzIHRoZSBjbGFzc2lmaWVyIHRocm91Z2ggaXRzIFJlc291cmNlTG9hZFN0
YXRpc3RpY3NDbGFzc2lmaWVyCisgICAgICAgICAgICBtZW1iZXIgdmFyaWFibGUuCisgICAgICAg
IChXZWJLaXQ6OldlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZTo6cGVyc2lzdGVudFN0b3Jh
Z2VQYXRoKToKKyAgICAgICAgICAgIFJlbmFtZWQgbV9zdG9yYWdlUGF0aCB0byBtX3N0YXRpc3Rp
Y3NTdG9yYWdlUGF0aCBmb3IgY2xhcml0eS4KKyAgICAgICAgKFdlYktpdDo6V2ViUmVzb3VyY2VM
b2FkU3RhdGlzdGljc1N0b3JlOjp3cml0ZUVuY29kZXJUb0Rpc2spOgorICAgICAgICAgICAgUmVu
YW1lZCBtX3N0b3JhZ2VQYXRoIHRvIG1fc3RhdGlzdGljc1N0b3JhZ2VQYXRoIGZvciBjbGFyaXR5
LgorICAgICAgICAoV2ViS2l0OjpXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmU6Omhhc1By
ZXZhbGVudFJlc291cmNlQ2hhcmFjdGVyaXN0aWNzKTogRGVsZXRlZC4KKyAgICAgICAgKiBVSVBy
b2Nlc3MvV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlLmg6CisgICAgICAgICogV2ViS2l0
Mi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAgICAgQWRkZWQgdGhlIG5ldyBj
bGFzc2lmaWVyIHNvdXJjZSBmaWxlcyB1bmRlciBQbGF0Zm9ybS9jbGFzc2lmaWVyIGFuZCB0aGUK
KyAgICAgICAgICAgIGNvcmVQcmVkaWN0aW9uX21vZGVsIGZpbGUgdW5kZXIgUmVzb3VyY2VzL1Jl
c291cmNlTG9hZFN0YXRpc3RpY3MuCisKIDIwMTctMDItMTcgIEJyaWFuIEJ1cmcgIDxiYnVyZ0Bh
cHBsZS5jb20+CiAKICAgICAgICAgV2ViIEluc3BlY3RvcjogUlRMOiBJbnNwZWN0b3Igd2luZG93
IHNob3VsZCBkb2NrIHRvIHRoZSBsZWZ0IHdoZW4gdXNpbmcgUlRMIGxheW91dCBkaXJlY3Rpb24K
SW5kZXg6IFNvdXJjZS9XZWJLaXQyL1BsYXRmb3JtR1RLLmNtYWtlCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJLaXQyL1BsYXRmb3JtR1RLLmNtYWtlCShyZXZpc2lvbiAyMTI1OTcpCisrKyBTb3Vy
Y2UvV2ViS2l0Mi9QbGF0Zm9ybUdUSy5jbWFrZQkod29ya2luZyBjb3B5KQpAQCAtNDYsNiArNDYs
OCBAQCBsaXN0KEFQUEVORCBXZWJLaXQyX1NPVVJDRVMKICAgICBQbGF0Zm9ybS9JUEMvdW5peC9B
dHRhY2htZW50VW5peC5jcHAKICAgICBQbGF0Zm9ybS9JUEMvdW5peC9Db25uZWN0aW9uVW5peC5j
cHAKIAorICAgIFBsYXRmb3JtL2NsYXNzaWZpZXIvUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNz
aWZpZXJCYXNlLmNwcAorCiAgICAgUGxhdGZvcm0vZ2xpYi9Nb2R1bGVHbGliLmNwcAogCiAgICAg
UGxhdGZvcm0vdW5peC9Mb2dnaW5nVW5peC5jcHAKQEAgLTg1Miw2ICs4NTQsNyBAQCBsaXN0KEFQ
UEVORCBXZWJLaXQyX0lOQ0xVREVfRElSRUNUT1JJRVMKICAgICAiJHtXRUJLSVQyX0RJUn0vTmV0
d29ya1Byb2Nlc3Mvc291cCIKICAgICAiJHtXRUJLSVQyX0RJUn0vTmV0d29ya1Byb2Nlc3MvdW5p
eCIKICAgICAiJHtXRUJLSVQyX0RJUn0vUGxhdGZvcm0vSVBDL2dsaWIiCisgICAgIiR7V0VCS0lU
Ml9ESVJ9L1BsYXRmb3JtL2NsYXNzaWZpZXIiCiAgICAgIiR7V0VCS0lUMl9ESVJ9L1NoYXJlZC9B
UEkvYy9ndGsiCiAgICAgIiR7V0VCS0lUMl9ESVJ9L1NoYXJlZC9QbHVnaW5zL3VuaXgiCiAgICAg
IiR7V0VCS0lUMl9ESVJ9L1NoYXJlZC9nbGliIgpJbmRleDogU291cmNlL1dlYktpdDIvUGxhdGZv
cm1NYWMuY21ha2UKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvUGxhdGZvcm1NYWMuY21h
a2UJKHJldmlzaW9uIDIxMjU5NykKKysrIFNvdXJjZS9XZWJLaXQyL1BsYXRmb3JtTWFjLmNtYWtl
CSh3b3JraW5nIGNvcHkpCkBAIC00OSw2ICs0OSwxMCBAQCBsaXN0KEFQUEVORCBXZWJLaXQyX1NP
VVJDRVMKIAogICAgIFBsYXRmb3JtL2NnL0NHVXRpbGl0aWVzLmNwcAogCisgICAgUGxhdGZvcm0v
Y2xhc3NpZmllci9SZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllckJhc2UuY3BwCisKKyAg
ICBQbGF0Zm9ybS9jbGFzc2lmaWVyL2NvY29hL1Jlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lm
aWVyQ29jb2EuY3BwCisKICAgICBQbGF0Zm9ybS9mb3VuZGF0aW9uL0xvZ2dpbmdGb3VuZGF0aW9u
Lm1tCiAKICAgICBQbGF0Zm9ybS9jb2NvYS9TaGFyZWRNZW1vcnlDb2NvYS5jcHAKQEAgLTM5Miw2
ICszOTYsOCBAQCBsaXN0KEFQUEVORCBXZWJLaXQyX0lOQ0xVREVfRElSRUNUT1JJRVMKICAgICAi
JHtXRUJLSVQyX0RJUn0vVUlQcm9jZXNzL1Njcm9sbGluZyIKICAgICAiJHtXRUJLSVQyX0RJUn0v
VUlQcm9jZXNzL2lvcyIKICAgICAiJHtXRUJLSVQyX0RJUn0vUGxhdGZvcm0vY2ciCisgICAgIiR7
V0VCS0lUMl9ESVJ9L1BsYXRmb3JtL2NsYXNzaWZpZXIiCisgICAgIiR7V0VCS0lUMl9ESVJ9L1Bs
YXRmb3JtL2NsYXNzaWZpZXIvY29jb2EiCiAgICAgIiR7V0VCS0lUMl9ESVJ9L1BsYXRmb3JtL21h
YyIKICAgICAiJHtXRUJLSVQyX0RJUn0vUGxhdGZvcm0vdW5peCIKICAgICAiJHtXRUJLSVQyX0RJ
Un0vUGxhdGZvcm0vc3BpL0NvY29hIgpJbmRleDogU291cmNlL1dlYktpdDIvQ29uZmlndXJhdGlv
bnMvQmFzZVRhcmdldC54Y2NvbmZpZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9Db25m
aWd1cmF0aW9ucy9CYXNlVGFyZ2V0LnhjY29uZmlnCShyZXZpc2lvbiAyMTI1OTcpCisrKyBTb3Vy
Y2UvV2ViS2l0Mi9Db25maWd1cmF0aW9ucy9CYXNlVGFyZ2V0LnhjY29uZmlnCSh3b3JraW5nIGNv
cHkpCkBAIC0zMiw3ICszMiw3IEBAIFdLX1BSSVZBVEVfRlJBTUVXT1JLU19ESVJfW3Nkaz1pcGhv
bmVvcyoKIFdLX1BSSVZBVEVfRlJBTUVXT1JLU19ESVJfaXBob25lb3NfWUVTID0gJChTUkNST09U
KS8uLi8uLi9XZWJLaXRMaWJyYXJpZXMvV2ViS2l0UHJpdmF0ZUZyYW1ld29ya1N0dWJzL2lPUy8k
KFdLX1RBUkdFVF9JT1NfVkVSU0lPTl9NQUpPUik7CiBXS19QUklWQVRFX0ZSQU1FV09SS1NfRElS
X2lwaG9uZW9zX05PID0gJChQUk9EVUNUSU9OX0ZSQU1FV09SS1NfRElSKTsKIAotRlJBTUVXT1JL
X1NFQVJDSF9QQVRIU19iYXNlID0gIiQoVU1CUkVMTEFfRlJBTUVXT1JLU19ESVIpIiAkKEZSQU1F
V09SS19TRUFSQ0hfUEFUSFMpOworRlJBTUVXT1JLX1NFQVJDSF9QQVRIU19iYXNlID0gIiQoVU1C
UkVMTEFfRlJBTUVXT1JLU19ESVIpIiAvU3lzdGVtL0xpYnJhcnkvUHJpdmF0ZUZyYW1ld29ya3Mg
JChGUkFNRVdPUktfU0VBUkNIX1BBVEhTKTsKIEZSQU1FV09SS19TRUFSQ0hfUEFUSFNbc2RrPWlw
aG9uZSpdID0gJChGUkFNRVdPUktfU0VBUkNIX1BBVEhTX2Jhc2UpICQoV0tfUFJJVkFURV9GUkFN
RVdPUktTX0RJUik7CiBGUkFNRVdPUktfU0VBUkNIX1BBVEhTID0gJChGUkFNRVdPUktfU0VBUkNI
X1BBVEhTX2Jhc2UpOwogCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9Db25maWd1cmF0aW9ucy9XZWJL
aXQueGNjb25maWcKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvQ29uZmlndXJhdGlvbnMv
V2ViS2l0LnhjY29uZmlnCShyZXZpc2lvbiAyMTI1OTcpCisrKyBTb3VyY2UvV2ViS2l0Mi9Db25m
aWd1cmF0aW9ucy9XZWJLaXQueGNjb25maWcJKHdvcmtpbmcgY29weSkKQEAgLTM0LDEyICszNCwx
NCBAQCBNT0RVTEVNQVBfRklMRVtzZGs9aXBob25lKl09TW9kdWxlcy9pT1MuCiBJTlNUQUxMX1BB
VEggPSAkKFdFQktJVF9GUkFNRVdPUktTX0RJUik7CiBEWUxJQl9JTlNUQUxMX05BTUVfQkFTRSA9
ICQoTk9STUFMX1dFQktJVF9GUkFNRVdPUktTX0RJUik7CiAKLUZSQU1FV09SS19BTkRfTElCUkFS
WV9MREZMQUdTX0JBU0VfaW9zID0gLWxvYmpjIC1mcmFtZXdvcmsgQXNzZXJ0aW9uU2VydmljZXMg
LWZyYW1ld29yayBDRk5ldHdvcmsgLWZyYW1ld29yayBDb3JlRm91bmRhdGlvbiAtZnJhbWV3b3Jr
IENvcmVHcmFwaGljcyAtZnJhbWV3b3JrIENvcmVQREYgLWZyYW1ld29yayBDb3JlVGV4dCAtZnJh
bWV3b3JrIEZvdW5kYXRpb24gLWZyYW1ld29yayBHcmFwaGljc1NlcnZpY2VzIC1mcmFtZXdvcmsg
SW1hZ2VJTyAtZnJhbWV3b3JrIFVJS2l0IC1mcmFtZXdvcmsgT3BlbkdMRVMgLWZyYW1ld29yayBN
b2JpbGVDb3JlU2VydmljZXMgLWxNb2JpbGVHZXN0YWx0ICQoRlJBTUVXT1JLX0FORF9MSUJSQVJZ
X0xERkxBR1NfUExBVEZPUk1fJChQTEFURk9STV9OQU1FKSk7CitGUkFNRVdPUktfQU5EX0xJQlJB
UllfTERGTEFHU19CQVNFX2lvcyA9IC1sb2JqYyAtZnJhbWV3b3JrIEFzc2VydGlvblNlcnZpY2Vz
IC1mcmFtZXdvcmsgQ0ZOZXR3b3JrIC1mcmFtZXdvcmsgQ29yZUZvdW5kYXRpb24gLWZyYW1ld29y
ayBDb3JlR3JhcGhpY3MgLWZyYW1ld29yayBDb3JlUERGIC1mcmFtZXdvcmsgQ29yZVByZWRpY3Rp
b24gLWZyYW1ld29yayBDb3JlVGV4dCAtZnJhbWV3b3JrIEZvdW5kYXRpb24gLWZyYW1ld29yayBH
cmFwaGljc1NlcnZpY2VzIC1mcmFtZXdvcmsgSW1hZ2VJTyAtZnJhbWV3b3JrIFVJS2l0IC1mcmFt
ZXdvcmsgT3BlbkdMRVMgLWZyYW1ld29yayBNb2JpbGVDb3JlU2VydmljZXMgLWxNb2JpbGVHZXN0
YWx0ICQoRlJBTUVXT1JLX0FORF9MSUJSQVJZX0xERkxBR1NfUExBVEZPUk1fJChQTEFURk9STV9O
QU1FKSk7CiBGUkFNRVdPUktfQU5EX0xJQlJBUllfTERGTEFHU1tzZGs9aXBob25lb3MqXSA9ICQo
RlJBTUVXT1JLX0FORF9MSUJSQVJZX0xERkxBR1NfQkFTRV9pb3MpIC1mcmFtZXdvcmsgSU9TdXJm
YWNlOwogRlJBTUVXT1JLX0FORF9MSUJSQVJZX0xERkxBR1Nbc2RrPWlwaG9uZXNpbXVsYXRvcipd
ID0gJChGUkFNRVdPUktfQU5EX0xJQlJBUllfTERGTEFHU19CQVNFX2lvcyk7CiBGUkFNRVdPUktf
QU5EX0xJQlJBUllfTERGTEFHU19QTEFURk9STV9pcGhvbmVvcyA9IDsKIEZSQU1FV09SS19BTkRf
TElCUkFSWV9MREZMQUdTX1BMQVRGT1JNX2lwaG9uZXNpbXVsYXRvciA9IDsKLUZSQU1FV09SS19B
TkRfTElCUkFSWV9MREZMQUdTW3Nkaz1tYWNvc3gqXSA9IC1mcmFtZXdvcmsgQXBwbGljYXRpb25T
ZXJ2aWNlcyAtZnJhbWV3b3JrIENhcmJvbiAtZnJhbWV3b3JrIENvY29hIC1mcmFtZXdvcmsgQ29y
ZVNlcnZpY2VzIC1mcmFtZXdvcmsgSU9LaXQgLWZyYW1ld29yayBDb3JlQXVkaW8gLWZyYW1ld29y
ayBJT1N1cmZhY2UgLWZyYW1ld29yayBPcGVuR0w7CitGUkFNRVdPUktfQU5EX0xJQlJBUllfTERG
TEFHU1tzZGs9bWFjb3N4Kl0gPSAtZnJhbWV3b3JrIEFwcGxpY2F0aW9uU2VydmljZXMgLWZyYW1l
d29yayBDYXJib24gLWZyYW1ld29yayBDb2NvYSAtZnJhbWV3b3JrIENvcmVTZXJ2aWNlcyAtZnJh
bWV3b3JrIElPS2l0IC1mcmFtZXdvcmsgQ29yZUF1ZGlvIC1mcmFtZXdvcmsgSU9TdXJmYWNlIC1m
cmFtZXdvcmsgT3BlbkdMICQoRVhUUkFfRlJBTUVXT1JLX0FORF9MSUJSQVJZX0xERkxBR1NfJChU
QVJHRVRfTUFDX09TX1hfVkVSU0lPTl9NQUpPUikpOworRVhUUkFfRlJBTUVXT1JLX0FORF9MSUJS
QVJZX0xERkxBR1NfMTAxMjAwID0gLWZyYW1ld29yayBDb3JlUHJlZGljdGlvbjsKK0VYVFJBX0ZS
QU1FV09SS19BTkRfTElCUkFSWV9MREZMQUdTXzEwMTMwMCA9IC1mcmFtZXdvcmsgQ29yZVByZWRp
Y3Rpb247CiAKIC8vIFByZXZlbnQgQysrIHN0YW5kYXJkIGxpYnJhcnkgb3BlcmF0b3IgbmV3LCBk
ZWxldGUgYW5kIHRoZWlyIHJlbGF0ZWQgZXhjZXB0aW9uIHR5cGVzIGZyb20gYmVpbmcgZXhwb3J0
ZWQgYXMgd2VhayBzeW1ib2xzLgogVU5FWFBPUlRFRF9TWU1CT0xfTERGTEFHUyA9IC1XbCwtdW5l
eHBvcnRlZF9zeW1ib2wgLVdsLF9fWlRJU3Q5YmFkX2FsbG9jIC1XbCwtdW5leHBvcnRlZF9zeW1i
b2wgLVdsLF9fWlRJU3Q5ZXhjZXB0aW9uIC1XbCwtdW5leHBvcnRlZF9zeW1ib2wgLVdsLF9fWlRT
U3Q5YmFkX2FsbG9jIC1XbCwtdW5leHBvcnRlZF9zeW1ib2wgLVdsLF9fWlRTU3Q5ZXhjZXB0aW9u
IC1XbCwtdW5leHBvcnRlZF9zeW1ib2wgLVdsLF9fWmRsUHZTXyAtV2wsLXVuZXhwb3J0ZWRfc3lt
Ym9sIC1XbCxfX1pud21QdiAtV2wsLXVuZXhwb3J0ZWRfc3ltYm9sIC1XbCxfX1pud20gLVdsLC11
bmV4cG9ydGVkX3N5bWJvbCwgLVdsLF9fWk5TdDNfXzE4ZnVuY3Rpb25JRnZON1dlYkNvcmUxMlBv
bGljeUFjdGlvbkVFRUMyRU9TNF8gLVdsLC11bmV4cG9ydGVkX3N5bWJvbCwgLVdsLF9fWk5TdDNf
XzE4ZnVuY3Rpb25JRnZON1dlYkNvcmUxMlBvbGljeUFjdGlvbkVFRUMxRU9TNF8gLVdsLC11bmV4
cG9ydGVkX3N5bWJvbCwgLVdsLF9fWk5TdDNfXzE4ZnVuY3Rpb25JRnZON1dlYkNvcmUxMlBvbGlj
eUFjdGlvbkVFRWFTRURuIC1XbCwtdW5leHBvcnRlZF9zeW1ib2wsIC1XbCxfX1pOS1N0M19fMThm
dW5jdGlvbklGdk43V2ViQ29yZTEyUG9saWN5QWN0aW9uRUVFY2xFUzJfIC1XbCwtdW5leHBvcnRl
ZF9zeW1ib2wsIC1XbCxfX1pOU3QzX18xOGZ1bmN0aW9uSUZ2TjdXZWJDb3JlMTJQb2xpY3lBY3Rp
b25FRUU0c3dhcEVSUzRfIC1XbCwtdW5leHBvcnRlZF9zeW1ib2wsIC1XbCxfX1pOU3QzX18xOGZ1
bmN0aW9uSUZ2TjdXZWJDb3JlMTJQb2xpY3lBY3Rpb25FRUVDMUVSS1M0XyAtV2wsLXVuZXhwb3J0
ZWRfc3ltYm9sLCAtV2wsX19aTlN0M19fMThmdW5jdGlvbklGdk43V2ViQ29yZTEyUG9saWN5QWN0
aW9uRUVFQzJFUktTNF8gLVdsLC11bmV4cG9ydGVkX3N5bWJvbCwgLVdsLF9fWk5TdDNfXzE4ZnVu
Y3Rpb25JRnZON1dlYkNvcmUxMlBvbGljeUFjdGlvbkVFRUQxRXYgLVdsLC11bmV4cG9ydGVkX3N5
bWJvbCwgLVdsLF9fWk5TdDNfXzE4ZnVuY3Rpb25JRnZON1dlYkNvcmUxMlBvbGljeUFjdGlvbkVF
RUQyRXYgLVdsLC11bmV4cG9ydGVkX3N5bWJvbCwgLVdsLF9fWk5TdDNfXzE4ZnVuY3Rpb25JRnZO
N1dlYkNvcmUxMlBvbGljeUFjdGlvbkVFRWFTRVJLUzRfIC1XbCwtdW5leHBvcnRlZF9zeW1ib2ws
IC1XbCxfX1pUVk5TdDNfXzExN2JhZF9mdW5jdGlvbl9jYWxsRTsKSW5kZXg6IFNvdXJjZS9XZWJL
aXQyL1BsYXRmb3JtL2NsYXNzaWZpZXIvUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXIu
aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9jbGFzc2lmaWVyL1Jlc291
cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyLmgJKG5vbmV4aXN0ZW50KQorKysgU291cmNlL1dl
YktpdDIvUGxhdGZvcm0vY2xhc3NpZmllci9SZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmll
ci5oCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNTIgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMp
IDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAor
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIu
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9S
UyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09O
VFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJV
U0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZ
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
IE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
RUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21h
IG9uY2UKKworI2luY2x1ZGUgPHd0Zi9QbGF0Zm9ybS5oPgorCisjaWYgUExBVEZPUk0oQ09DT0Ep
CisjaW5jbHVkZSAiUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXJDb2NvYS5oIgorI2Vs
c2UKKworI2luY2x1ZGUgIlJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQmFzZS5oIgor
CituYW1lc3BhY2UgV2ViS2l0IHsKKworY2xhc3MgUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNz
aWZpZXIgOiBwdWJsaWMgUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXJCYXNlIHsKK3B1
YmxpYzoKKyAgICBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllcigpCisgICAgOiBSZXNv
dXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllckJhc2UoKSB7IH0KKyAgICAKK3Byb3RlY3RlZDoK
KyAgICBib29sIGNsYXNzaWZ5KGNvbnN0IHVuc2lnbmVkIGEsIGNvbnN0IHVuc2lnbmVkIGIsIGNv
bnN0IHVuc2lnbmVkIGMpIG92ZXJyaWRlCisgICAgeworICAgICAgICByZXR1cm4gY2xhc3NpZnlX
aXRoVmVjdG9yVGhyZXNob2xkKGEsIGIsIGMpOworICAgIH0KK307CisKK30KKworI2VuZGlmCklu
ZGV4OiBTb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9jbGFzc2lmaWVyL1Jlc291cmNlTG9hZFN0YXRp
c3RpY3NDbGFzc2lmaWVyQmFzZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvUGxh
dGZvcm0vY2xhc3NpZmllci9SZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllckJhc2UuY3Bw
CShub25leGlzdGVudCkKKysrIFNvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL2NsYXNzaWZpZXIvUmVz
b3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXJCYXNlLmNwcAkod29ya2luZyBjb3B5KQpAQCAt
MCwwICsxLDYwIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1l
dDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5Z
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxF
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZ
LCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUg
IlJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQmFzZS5oIgorCisjaW5jbHVkZSA8V2Vi
Q29yZS9SZXNvdXJjZUxvYWRTdGF0aXN0aWNzLmg+CisKK3VzaW5nIG5hbWVzcGFjZSBXZWJDb3Jl
OworCituYW1lc3BhY2UgV2ViS2l0IHsKKworc3RhdGljIGNvbnN0IGF1dG8gZmVhdHVyZVZlY3Rv
ckxlbmd0aFRocmVzaG9sZCA9IDM7Citib29sIFJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lm
aWVyQmFzZTo6aGFzUHJldmFsZW50UmVzb3VyY2VDaGFyYWN0ZXJpc3RpY3MoY29uc3QgUmVzb3Vy
Y2VMb2FkU3RhdGlzdGljcyYgcmVzb3VyY2VTdGF0aXN0aWMpCit7CisgICAgYXV0byBzdWJyZXNv
dXJjZVVuZGVyVG9wRnJhbWVPcmlnaW5zQ291bnQgPSByZXNvdXJjZVN0YXRpc3RpYy5zdWJyZXNv
dXJjZVVuZGVyVG9wRnJhbWVPcmlnaW5zLnNpemUoKTsKKyAgICBhdXRvIHN1YnJlc291cmNlVW5p
cXVlUmVkaXJlY3RzVG9Db3VudCA9IHJlc291cmNlU3RhdGlzdGljLnN1YnJlc291cmNlVW5pcXVl
UmVkaXJlY3RzVG8uc2l6ZSgpOworICAgIGF1dG8gc3ViZnJhbWVVbmRlclRvcEZyYW1lT3JpZ2lu
c0NvdW50ID0gcmVzb3VyY2VTdGF0aXN0aWMuc3ViZnJhbWVVbmRlclRvcEZyYW1lT3JpZ2lucy5z
aXplKCk7CisgICAgCisgICAgaWYgKCFzdWJyZXNvdXJjZVVuZGVyVG9wRnJhbWVPcmlnaW5zQ291
bnQKKyAgICAgICAgJiYgIXN1YnJlc291cmNlVW5pcXVlUmVkaXJlY3RzVG9Db3VudAorICAgICAg
ICAmJiAhc3ViZnJhbWVVbmRlclRvcEZyYW1lT3JpZ2luc0NvdW50KQorICAgICAgICByZXR1cm4g
ZmFsc2U7CisgICAgCisgICAgaWYgKHN1YnJlc291cmNlVW5kZXJUb3BGcmFtZU9yaWdpbnNDb3Vu
dCA+IGZlYXR1cmVWZWN0b3JMZW5ndGhUaHJlc2hvbGQKKyAgICAgICAgfHwgc3VicmVzb3VyY2VV
bmlxdWVSZWRpcmVjdHNUb0NvdW50ID4gZmVhdHVyZVZlY3Rvckxlbmd0aFRocmVzaG9sZAorICAg
ICAgICB8fCBzdWJmcmFtZVVuZGVyVG9wRnJhbWVPcmlnaW5zQ291bnQgPiBmZWF0dXJlVmVjdG9y
TGVuZ3RoVGhyZXNob2xkKQorICAgICAgICByZXR1cm4gdHJ1ZTsKKworICAgIHJldHVybiBjbGFz
c2lmeShzdWJyZXNvdXJjZVVuZGVyVG9wRnJhbWVPcmlnaW5zQ291bnQsIHN1YnJlc291cmNlVW5p
cXVlUmVkaXJlY3RzVG9Db3VudCwgc3ViZnJhbWVVbmRlclRvcEZyYW1lT3JpZ2luc0NvdW50KTsK
K30KKworYm9vbCBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllckJhc2U6OmNsYXNzaWZ5
V2l0aFZlY3RvclRocmVzaG9sZChjb25zdCB1bnNpZ25lZCBhLCBjb25zdCB1bnNpZ25lZCBiLCBj
b25zdCB1bnNpZ25lZCBjKQoreworICAgIHJldHVybiBzcXJ0KGEgKiBhICsgYiAqIGIgKyBjICog
YykgPiBmZWF0dXJlVmVjdG9yTGVuZ3RoVGhyZXNob2xkOworfQorICAgIAorfQpJbmRleDogU291
cmNlL1dlYktpdDIvUGxhdGZvcm0vY2xhc3NpZmllci9SZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xh
c3NpZmllckJhc2UuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9jbGFz
c2lmaWVyL1Jlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQmFzZS5oCShub25leGlzdGVu
dCkKKysrIFNvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL2NsYXNzaWZpZXIvUmVzb3VyY2VMb2FkU3Rh
dGlzdGljc0NsYXNzaWZpZXJCYXNlLmgJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw0NCBAQAor
LyoKKyAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0
cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMu
IEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUg
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQ
QVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBB
UFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNF
UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVN
RU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFU
QSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCituYW1lc3BhY2UgV2ViQ29yZSB7CitzdHJ1Y3Qg
UmVzb3VyY2VMb2FkU3RhdGlzdGljczsKK30KKworbmFtZXNwYWNlIFdlYktpdCB7CisKK2NsYXNz
IFJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQmFzZSB7CitwdWJsaWM6CisgICAgYm9v
bCBoYXNQcmV2YWxlbnRSZXNvdXJjZUNoYXJhY3RlcmlzdGljcyhjb25zdCBXZWJDb3JlOjpSZXNv
dXJjZUxvYWRTdGF0aXN0aWNzJiByZXNvdXJjZVN0YXRpc3RpYyk7Citwcm90ZWN0ZWQ6CisgICAg
UmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXJCYXNlKCkgeyB9CisgICAgdmlydHVhbCB+
UmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXJCYXNlKCkgeyB9CisgICAgdmlydHVhbCBi
b29sIGNsYXNzaWZ5KGNvbnN0IHVuc2lnbmVkLCBjb25zdCB1bnNpZ25lZCwgY29uc3QgdW5zaWdu
ZWQpID0gMDsKKyAgICBib29sIGNsYXNzaWZ5V2l0aFZlY3RvclRocmVzaG9sZChjb25zdCB1bnNp
Z25lZCwgY29uc3QgdW5zaWduZWQsIGNvbnN0IHVuc2lnbmVkKTsKK307CisKK30KSW5kZXg6IFNv
dXJjZS9XZWJLaXQyL1BsYXRmb3JtL2NsYXNzaWZpZXIvY29jb2EvQ29yZVByZWRpY3Rpb25TUEku
aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9jbGFzc2lmaWVyL2NvY29h
L0NvcmVQcmVkaWN0aW9uU1BJLmgJKG5vbmV4aXN0ZW50KQorKysgU291cmNlL1dlYktpdDIvUGxh
dGZvcm0vY2xhc3NpZmllci9jb2NvYS9Db3JlUHJlZGljdGlvblNQSS5oCSh3b3JraW5nIGNvcHkp
CkBAIC0wLDAgKzEsNDEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBh
cmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFO
RCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4g
SU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBM
SUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVN
UExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2lmIFVTRShB
UFBMRV9JTlRFUk5BTF9TREspICYmIEhBVkUoQ09SRV9QUkVESUNUSU9OKQorI2luY2x1ZGUgPENv
cmVQcmVkaWN0aW9uL3N2bS5oPgorI2Vsc2UKKworc3RydWN0IHN2bV9ub2RlIHsKKyAgICBpbnQg
aW5kZXg7CisgICAgZG91YmxlIHZhbHVlOworfTsKKworc3RydWN0IHN2bV9tb2RlbCB7IH07CisK
K2RvdWJsZSBzdm1fcHJlZGljdF92YWx1ZXMoY29uc3Qgc3RydWN0IHN2bV9tb2RlbCosIGNvbnN0
IHN0cnVjdCBzdm1fbm9kZSosIGRvdWJsZSopOworCisjZW5kaWYKSW5kZXg6IFNvdXJjZS9XZWJL
aXQyL1BsYXRmb3JtL2NsYXNzaWZpZXIvY29jb2EvUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNz
aWZpZXJDb2NvYS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvUGxhdGZvcm0vY2xh
c3NpZmllci9jb2NvYS9SZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllckNvY29hLmNwcAko
bm9uZXhpc3RlbnQpCisrKyBTb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9jbGFzc2lmaWVyL2NvY29h
L1Jlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQ29jb2EuY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC0wLDAgKzEsMTE1IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICog
YXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBB
TkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQu
IElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUg
TElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhF
TVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2lu
Y2x1ZGUgIlJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQ29jb2EuaCIKKworI2luY2x1
ZGUgIkxvZ2dpbmcuaCIKKworbmFtZXNwYWNlIFdlYktpdCB7CisKK2Jvb2wgUmVzb3VyY2VMb2Fk
U3RhdGlzdGljc0NsYXNzaWZpZXI6OmNsYXNzaWZ5KGNvbnN0IHVuc2lnbmVkIHN1YnJlc291cmNl
VW5kZXJUb3BGcmFtZU9yaWdpbnNDb3VudCwgY29uc3QgdW5zaWduZWQgc3VicmVzb3VyY2VVbmlx
dWVSZWRpcmVjdHNUb0NvdW50LCBjb25zdCB1bnNpZ25lZCBzdWJmcmFtZVVuZGVyVG9wRnJhbWVP
cmlnaW5zQ291bnQpCit7CisgICAgaWYgKCFzaG91bGRVc2VDb3JlUHJlZGljdGlvbigpKQorICAg
ICAgICByZXR1cm4gY2xhc3NpZnlXaXRoVmVjdG9yVGhyZXNob2xkKHN1YnJlc291cmNlVW5kZXJU
b3BGcmFtZU9yaWdpbnNDb3VudCwgc3VicmVzb3VyY2VVbmlxdWVSZWRpcmVjdHNUb0NvdW50LCBz
dWJmcmFtZVVuZGVyVG9wRnJhbWVPcmlnaW5zQ291bnQpOworCisjaWYgSEFWRShDT1JFX1BSRURJ
Q1RJT04pCisgICAgVmVjdG9yPHVuc2lnbmVkPiBub25aZXJvRmVhdHVyZXM7CisgICAgVmVjdG9y
PHVuc2lnbmVkPiBpbmRpY2VzOworCisgICAgaWYgKHN1YnJlc291cmNlVW5kZXJUb3BGcmFtZU9y
aWdpbnNDb3VudCkgeworICAgICAgICBub25aZXJvRmVhdHVyZXMuYXBwZW5kKHN1YnJlc291cmNl
VW5kZXJUb3BGcmFtZU9yaWdpbnNDb3VudCk7CisgICAgICAgIGluZGljZXMuYXBwZW5kKDEpOwor
ICAgIH0KKyAgICBpZiAoc3VicmVzb3VyY2VVbmlxdWVSZWRpcmVjdHNUb0NvdW50KSB7CisgICAg
ICAgIG5vblplcm9GZWF0dXJlcy5hcHBlbmQoc3VicmVzb3VyY2VVbmlxdWVSZWRpcmVjdHNUb0Nv
dW50KTsKKyAgICAgICAgaW5kaWNlcy5hcHBlbmQoMik7CisgICAgfQorICAgIGlmIChzdWJmcmFt
ZVVuZGVyVG9wRnJhbWVPcmlnaW5zQ291bnQpIHsKKyAgICAgICAgbm9uWmVyb0ZlYXR1cmVzLmFw
cGVuZChzdWJmcmFtZVVuZGVyVG9wRnJhbWVPcmlnaW5zQ291bnQpOworICAgICAgICBpbmRpY2Vz
LmFwcGVuZCgzKTsKKyAgICB9CisKKyAgICBzdm1fbm9kZSogZXhhbXBsZVZlY3RvciA9IG5ldyBz
dm1fbm9kZVtub25aZXJvRmVhdHVyZXMuc2l6ZSgpICsgMV07CisgICAgZm9yIChzaXplX3QgaSA9
IDA7IGkgPCBub25aZXJvRmVhdHVyZXMuc2l6ZSgpOyBpKyspIHsKKyAgICAgICAgZXhhbXBsZVZl
Y3RvcltpXS5pbmRleCA9IGluZGljZXMuYXQoaSk7CisgICAgICAgIGV4YW1wbGVWZWN0b3JbaV0u
dmFsdWUgPSBub25aZXJvRmVhdHVyZXMuYXQoaSk7CisgICAgfQorICAgIC8vIEFkZCB0ZXJtaW5h
dGlvbiBub2RlIHdpdGggaW5kZXggLTEuCisgICAgZXhhbXBsZVZlY3Rvcltub25aZXJvRmVhdHVy
ZXMuc2l6ZSgpXS5pbmRleCA9IC0xOworICAgIGV4YW1wbGVWZWN0b3Jbbm9uWmVyb0ZlYXR1cmVz
LnNpemUoKV0udmFsdWUgPSAtMTsKKworICAgIGludCBjbGFzc2lmaWNhdGlvbjsKKyAgICBkb3Vi
bGUgc2NvcmU7CisgICAgY2xhc3NpZmljYXRpb24gPSBzdm1fcHJlZGljdF92YWx1ZXMobV9jb3Jl
UHJlZGljdGlvbk1vZGVsLCBleGFtcGxlVmVjdG9yLCAmc2NvcmUpOworICAgIGRlbGV0ZVtdIGV4
YW1wbGVWZWN0b3I7CisgICAgcmV0dXJuIGNsYXNzaWZpY2F0aW9uIDwgMDsKKyNlbmRpZgorICAg
IHJldHVybiBmYWxzZTsKK30KKworU3RyaW5nIFJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lm
aWVyOjpzdG9yYWdlUGF0aCgpCit7CisgICAgQ0ZCdW5kbGVSZWYgd2ViS2l0QnVuZGxlID0gQ0ZC
dW5kbGVHZXRCdW5kbGVXaXRoSWRlbnRpZmllcihDRlNUUigiY29tLmFwcGxlLldlYktpdCIpKTsK
KyAgICBDRlVSTFJlZiByZXNvdXJjZVVybCA9IENGQnVuZGxlQ29weVJlc291cmNlc0RpcmVjdG9y
eVVSTCh3ZWJLaXRCdW5kbGUpOworICAgIHJlc291cmNlVXJsID0gQ0ZVUkxDcmVhdGVDb3B5QXBw
ZW5kaW5nUGF0aENvbXBvbmVudChudWxscHRyLCByZXNvdXJjZVVybCwgQ0ZTVFIoImNvcmVQcmVk
aWN0aW9uX21vZGVsIiksIGZhbHNlKTsKKyAgICBDRkVycm9yUmVmIGVycm9yID0gbnVsbHB0cjsK
KyAgICByZXNvdXJjZVVybCA9IENGVVJMQ3JlYXRlRmlsZVBhdGhVUkwobnVsbHB0ciwgcmVzb3Vy
Y2VVcmwsICZlcnJvcik7CisKKyAgICBpZiAoZXJyb3IgfHwgIXJlc291cmNlVXJsKQorICAgICAg
ICByZXR1cm4gU3RyaW5nKCk7CisKKyAgICBDRlVSTFBhdGhTdHlsZSBwYXRoU3R5bGUgPSBrQ0ZV
UkxQT1NJWFBhdGhTdHlsZTsKKyAgICBDRlN0cmluZ1JlZiByZXNvdXJjZVVybFN0cmluZyA9IENG
VVJMQ29weUZpbGVTeXN0ZW1QYXRoKHJlc291cmNlVXJsLCBwYXRoU3R5bGUpOworICAgIHJldHVy
biBTdHJpbmcocmVzb3VyY2VVcmxTdHJpbmcpOworfQorCitib29sIFJlc291cmNlTG9hZFN0YXRp
c3RpY3NDbGFzc2lmaWVyOjpzaG91bGRVc2VDb3JlUHJlZGljdGlvbigpCit7CisjaWYgSEFWRShD
T1JFX1BSRURJQ1RJT04pCisgICAgaWYgKG1fY29yZVByZWRpY3Rpb25Nb2RlbCkKKyAgICAgICAg
cmV0dXJuIHRydWU7CisKKyAgICBpZiAoIW1fdXNlQ29yZVByZWRpY3Rpb24pCisgICAgICAgIHJl
dHVybiBmYWxzZTsKKworICAgIFN0cmluZyBzdG9yYWdlUGF0aFN0ciA9IHN0b3JhZ2VQYXRoKCk7
CisgICAgaWYgKHN0b3JhZ2VQYXRoU3RyLmlzTnVsbCgpIHx8IHN0b3JhZ2VQYXRoU3RyLmlzRW1w
dHkoKSkgeworICAgICAgICBtX3VzZUNvcmVQcmVkaWN0aW9uID0gZmFsc2U7CisgICAgICAgIHJl
dHVybiBmYWxzZTsKKyAgICB9CisKKyAgICBtX2NvcmVQcmVkaWN0aW9uTW9kZWwgPSBzdm1fbG9h
ZF9tb2RlbCgoc3RvcmFnZVBhdGhTdHIpLnV0ZjgoKS5kYXRhKCkpOworICAgIAorICAgIGlmICht
X2NvcmVQcmVkaWN0aW9uTW9kZWwpCisgICAgICAgIHJldHVybiB0cnVlOworCisgICAgV1RGTG9n
QWx3YXlzKCJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllcjo6c2hvdWxkVXNlQ29yZVBy
ZWRpY3Rpb24oKTogQ291bGRuJ3QgbG9hZCBtb2RlbCBmaWxlIGF0IHBhdGggJXMuIiwgc3RvcmFn
ZVBhdGhTdHIudXRmOCgpLmRhdGEoKSk7CisgICAgbV91c2VDb3JlUHJlZGljdGlvbiA9IGZhbHNl
OworI2VuZGlmCisgICAgcmV0dXJuIGZhbHNlOworfQorCit9CkluZGV4OiBTb3VyY2UvV2ViS2l0
Mi9QbGF0Zm9ybS9jbGFzc2lmaWVyL2NvY29hL1Jlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lm
aWVyQ29jb2EuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9jbGFzc2lm
aWVyL2NvY29hL1Jlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQ29jb2EuaAkobm9uZXhp
c3RlbnQpCisrKyBTb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9jbGFzc2lmaWVyL2NvY29hL1Jlc291
cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQ29jb2EuaAkod29ya2luZyBjb3B5KQpAQCAtMCww
ICsxLDU0IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoK
KyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBP
UgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4K
KyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0Ug
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpZiBIQVZFKENPUkVfUFJF
RElDVElPTikKKyNpbmNsdWRlICJDb3JlUHJlZGljdGlvblNQSS5oIgorI2VuZGlmCisjaW5jbHVk
ZSAiUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXJCYXNlLmgiCisjaW5jbHVkZSA8Q29y
ZUZvdW5kYXRpb24vQ29yZUZvdW5kYXRpb24uaD4KKyNpbmNsdWRlIDx3dGYvUGxhdGZvcm0uaD4K
KyNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KKworbmFtZXNwYWNlIFdlYktpdCB7CisK
K2NsYXNzIFJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyIDogcHVibGljIFJlc291cmNl
TG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQmFzZSB7CisKK3B1YmxpYzoKKyAgICBSZXNvdXJjZUxv
YWRTdGF0aXN0aWNzQ2xhc3NpZmllcigpCisgICAgICAgIDogUmVzb3VyY2VMb2FkU3RhdGlzdGlj
c0NsYXNzaWZpZXJCYXNlKCkgeyB9CisKK3ByaXZhdGU6CisgICAgYm9vbCBjbGFzc2lmeShjb25z
dCB1bnNpZ25lZCwgY29uc3QgdW5zaWduZWQsIGNvbnN0IHVuc2lnbmVkKSBvdmVycmlkZTsKKyAg
ICBTdHJpbmcgc3RvcmFnZVBhdGgoKTsKKyAgICBib29sIHNob3VsZFVzZUNvcmVQcmVkaWN0aW9u
KCk7CisjaWYgSEFWRShDT1JFX1BSRURJQ1RJT04pCisgICAgc3RydWN0IHN2bV9tb2RlbCogbV9j
b3JlUHJlZGljdGlvbk1vZGVsOworICAgIGJvb2wgbV91c2VDb3JlUHJlZGljdGlvbiB7IHRydWUg
fTsKKyNlbmRpZgorfTsKKworfQpJbmRleDogU291cmNlL1dlYktpdDIvUmVzb3VyY2VzL1Jlc291
cmNlTG9hZFN0YXRpc3RpY3MvY29yZVByZWRpY3Rpb25fbW9kZWwKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYktpdDIvUmVzb3VyY2VzL1Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY29yZVByZWRpY3Rp
b25fbW9kZWwJKG5vbmV4aXN0ZW50KQorKysgU291cmNlL1dlYktpdDIvUmVzb3VyY2VzL1Jlc291
cmNlTG9hZFN0YXRpc3RpY3MvY29yZVByZWRpY3Rpb25fbW9kZWwJKHdvcmtpbmcgY29weSkKQEAg
LTAsMCArMSw2NzggQEAKK3N2bV90eXBlIGNfc3ZjCitrZXJuZWxfdHlwZSByYmYKK2dhbW1hIDAu
MQorbnJfY2xhc3MgMgordG90YWxfc3YgMzMwCityaG8gMC4yODc5NDU2NDIyNjEKK2xhYmVsIC0x
IDEKK25yX3N2IDMwMCAzMAorU1YKKy0wLjA1NDY2OTcwMzg3MjQgMToxNC4wIDI6My4wIDM6Ny4w
IAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAyOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAg
CistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDM6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEyLjAg
CistMC4wNTQ2Njk3MDM4NzI0IDE6Ny4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAyOjEuMCAK
Ky0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMzoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6My4wIDI6
MTYuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMzoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6
MS4wIDI6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAzOjEuMCAKKy0wLjA1NDY2OTcwMzg3
MjQgMToyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6My4wIDI6MS4wIAorLTAuMDU0NjY5NzAzODcy
NCAxOjUuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxNi4wIDI6Mi4wIDM6Mi4wIAorLTAuMDU0NjY5
NzAzODcyNCAxOjEuMCAyOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxMS4wIAorLTAuMDU0NjY5
NzAzODcyNCAxOjQuMCAzOjMuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyOC4wIAorLTAuMDU0NjY5
NzAzODcyNCAxOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMzoxLjAgCistMC4wNTQ2Njk3
MDM4NzI0IDE6MS4wIDM6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIyLjAgMjoxLjAgMzoxMi4w
IAorLTAuMDU0NjY5NzAzODcyNCAxOjE0LjAgMzo1LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4w
IDM6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjQ4LjAgMjoxLjAgCistMC4wNTQ2Njk3MDM4NzI0
IDE6MjUuMCAzOjE2LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDI6MS4wIAorLTAuMDU0NjY5
NzAzODcyNCAxOjEuMCAzOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo2LjAgCistMC4wNTQ2Njk3
MDM4NzI0IDE6Ny4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAyOjEuMCAKKy0wLjA1NDY2OTcw
Mzg3MjQgMToxLjAgMzoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6My4wIDM6Mi4wIAorLTAuMDU0
NjY5NzAzODcyNCAxOjcuMCAyOjEuMCAzOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAgCist
MC4wNTQ2Njk3MDM4NzI0IDE6Ny4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjUuMCAyOjIuMCAzOjMu
MCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDI6MS4w
IAorLTAuMDU0NjY5NzAzODcyNCAxOjQuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMjoxLjAg
CistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDM6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjkuMCAz
OjQuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMjoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6
MS4wIDM6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjQ3LjAgMjoyMS4wIDM6MzMuMCAKKy0wLjA1
NDY2OTcwMzg3MjQgMToxMS4wIDI6Mi4wIDM6NS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjExLjAg
MjozLjAgMzoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDM6MS4wIAorLTAuMDU0NjY5NzAz
ODcyNCAxOjIuMCAyOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo0My4wIDM6Mi4wIAorLTAuMDU0
NjY5NzAzODcyNCAxOjEzLjAgMzo3LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDM6MS4wIAor
LTAuMDU0NjY5NzAzODcyNCAxOjQuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxMy4wIDM6NC4wIAor
LTAuMDU0NjY5NzAzODcyNCAxOjQyLjAgMjo0LjAgMzozMi4wIAorLTAuMDU0NjY5NzAzODcyNCAx
OjEwLjAgMjo1LjAgMzoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Ny4wIDM6NC4wIAorLTAuMDU0
NjY5NzAzODcyNCAxOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMzoxLjAgCistMC4wNTQ2
Njk3MDM4NzI0IDE6MS4wIDM6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjYuMCAKKy0wLjA1NDY2
OTcwMzg3MjQgMToxLjAgMjoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Ni4wIAorLTAuMDU0NjY5
NzAzODcyNCAxOjE2LjAgMjo0LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MTAuMCAyOjEuMCAzOjIu
MCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxOC4wIDI6My4wIDM6Ni4wIAorLTAuMDU0NjY5NzAzODcy
NCAxOjEuMCAzOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMjoxLjAgCistMC4wNTQ2Njk3
MDM4NzI0IDE6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjMuMCAyOjEuMCAzOjEuMCAKKy0wLjA1
NDY2OTcwMzg3MjQgMToxLjAgMjoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6My4wIAorLTAuMDU0
NjY5NzAzODcyNCAxOjMuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo0LjAgCistMC4wNTQ2Njk3MDM4
NzI0IDE6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAzOjIuMCAKKy0wLjA1NDY2OTcwMzg3
MjQgMToyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDM6MS4wIAorLTAuMDU0NjY5NzAzODcy
NCAxOjIxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIu
MCAyOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxNC4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIu
MCAyOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAgMzoyLjAgCistMC4wNTQ2Njk3MDM4NzI0
IDE6NC4wIDM6My4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAzOjEuMCAKKy0wLjA1NDY2OTcw
Mzg3MjQgMTozLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAx
OjEuMCAyOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo0LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6
MzkuMCAzOjQuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6
Mi4wIDI6MS4wIDM6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjQuMCAKKy0wLjA1NDY2OTcwMzg3
MjQgMToyLjAgMjoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6NC4wIAorLTAuMDU0NjY5NzAzODcy
NCAxOjEuMCAyOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMjoyLjAgCistMC4wNTQ2Njk3
MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAyOjEuMCAKKy0wLjA1NDY2OTcw
Mzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAx
OjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6My4wIAor
LTAuMDU0NjY5NzAzODcyNCAxOjEuMCAyOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCist
MC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2
OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcy
NCAxOjEuMCAzOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0
IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAg
CistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1
NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAz
ODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6
MTYuMCAyOjEuMCAzOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4
NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAyOjEuMCAKKy0wLjA1NDY2OTcwMzg3
MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjMu
MCAyOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMzoxLjAgCistMC4wNTQ2Njk3MDM4NzI0
IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAg
CistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAKKy0wLjA1
NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MjAuMCAzOjMuMCAKKy0wLjA1
NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIAorLTAuMDU0NjY5NzAz
ODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6
MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCist
MC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDM6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0w
LjA1NDY2OTcwMzg3MjQgMToxLjAgMzoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAu
MDU0NjY5NzAzODcyNCAxOjguMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo3LjAgMjoxLjAgMzoyLjAg
CistMC4wNTQ2Njk3MDM4NzI0IDE6OC4wIDI6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAy
OjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAor
LTAuMDU0NjY5NzAzODcyNCAxOjEuMCAyOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCist
MC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2
OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcy
NCAxOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MTIu
MCAzOjcuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6OS4w
IAorLTAuMDU0NjY5NzAzODcyNCAxOjcuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4w
NTQ2Njk3MDM4NzI0IDE6MS4wIDI6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAzOjEuMCAK
Ky0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6OC4wIDI6Mi4wIAor
LTAuMDU0NjY5NzAzODcyNCAxOjE3LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIDI6MS4wIAor
LTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2
Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3
MjQgMTo0LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEu
MCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxMy4wIDI6NC4wIDM6Mi4wIAorLTAuMDU0NjY5NzAzODcy
NCAxOjEuMCAzOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAgMzoyLjAgCistMC4wNTQ2Njk3
MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjE2LjAgCistMC4wNTQ2Njk3MDM4NzI0
IDE6My4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAg
CistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1
NDY2OTcwMzg3MjQgMToyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAz
ODcyNCAxOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6
MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCist
MC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAKKy0wLjA1NDY2
OTcwMzg3MjQgMTozLjAgMzozLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5
NzAzODcyNCAxOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxMS4wIDM6MTEuMCAKKy0wLjA1NDY2
OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcy
NCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4w
IAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4w
NTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAKKy0wLjA1NDY2OTcw
Mzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAx
OjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MTUuMCAK
Ky0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0
NjY5NzAzODcyNCAxOjIwLjAgMjoxMi4wIDM6My4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAK
Ky0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0
NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo3LjAgMzoxLjAgCistMC4wNTQ2
Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAzOjEuMCAKKy0wLjA1NDY2
OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcy
NCAxOjEuMCAzOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0
IDE6My4wIDM6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQg
MToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6OS4wIDI6My4wIAorLTAuMDU0NjY5NzAzODcyNCAx
OjEuMCAzOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo2LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6
NC4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo3LjAgMjoy
LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAzOjEu
MCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIAorLTAu
MDU0NjY5NzAzODcyNCAxOjkuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAgCistMC4wNTQ2Njk3
MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQg
MToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAK
Ky0wLjA1NDY2OTcwMzg3MjQgMToxNC4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEyLjAgMzo2LjAg
CistMC4wNTQ2Njk3MDM4NzI0IDE6My4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjQuMCAyOjEuMCAz
OjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAor
LTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2
Njk3MDM4NzI0IDE6OS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjkuMCAyOjEuMCAzOjQuMCAKKy0w
LjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5
NzAzODcyNCAxOjkuMCAyOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTozLjAgMjozLjAgCistMC4w
NTQ2Njk3MDM4NzI0IDE6Mi4wIDI6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAyOjEuMCAz
OjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo4LjAgMjoxLjAgMzozLjAgCistMC4wNTQ2Njk3MDM4
NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAyOjEuMCAKKy0wLjA1NDY2OTcwMzg3
MjQgMTo5LjAgMjoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcy
NCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4w
IAorLTAuMDU0NjY5NzAzODcyNCAxOjM2LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAu
MDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAgCistMC4wNTQ2Njk3
MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQg
MToyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAK
Ky0wLjA1NDY2OTcwMzg3MjQgMTo2LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDM6MS4wIAor
LTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2
Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3
MjQgMToyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIu
MCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo0LjAgMzoyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MTMu
MCAzOjQuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNDAyMDc1MTc4OTQyIDE6MS4w
IAorMC41ODUzNjU4NTM2NTkgMToxLjAgCiswLjQ3OTI3NjEzOTAwMSAxOjYuMCAyOjMuMCAKKzAu
NTg1MzY1ODUzNjU5IDE6Mi4wIAorMC41ODUzNjU4NTM2NTkgMToxLjAgCiswLjU4NTM2NTg1MzY1
OSAxOjMuMCAzOjMuMCAKKzAuNTg1MzY1ODUzNjU5IDE6NDIuMCAyOjIuMCAzOjI4LjAgCiswLjU4
NTM2NTg1MzY1OSAxOjIuMCAKKzAuNTg1MzY1ODUzNjU5IDE6MTIuMCAKKzAuNDc5MjgzMDQ2NTc4
IDE6Ny4wIAorMC4zMDAzOTc4NzM0NzYgMTozLjAgMzoxLjAgCiswLjA1NDMxNzMzMDY0NDIgMTo2
LjAgMzoyLjAgCiswLjU2MzQ2NTEyNjI5OSAxOjExLjAgCiswLjU4NTM2NTg1MzY1OSAxOjIuMCAK
KzAuNTg1MzY1ODUzNjU5IDE6MTAuMCAyOjMuMCAzOjYuMCAKKzAuNTg1MzY1ODUzNjU5IDE6MS4w
IDI6MS4wIAorMC41ODUzNjU4NTM2NTkgMToyLjAgCiswLjU4NTM2NTg1MzY1OSAxOjEuMCAyOjEu
MCAKKzAuNTg1MzY1ODUzNjU5IDE6My4wIDM6MS4wIAorMC41ODUzNjU4NTM2NTkgMToxLjAgCisw
LjU4NTM2NTg1MzY1OSAxOjIuMCAKKzAuNTg1MzY1ODUzNjU5IDE6MS4wIDI6MS4wIAorMC41ODQ5
ODk3MTk5MDkgMTo3LjAgCiswLjU4NTM2NTg1MzY1OSAxOjMuMCAKKzAuNTg1MzY1ODUzNjU5IDE6
My4wIAorMC41MjU5MjUxMzY5ODMgMTozLjAgMjoyLjAgCiswLjU4NTM2NTg1MzY1OSAxOjEuMCAK
KzAuNTg1MzY1ODUzNjU5IDE6MS4wIAorMC41ODUzNjU4NTM2NTkgMTozLjAgMzoxLjAgCiswLjU4
NTM2NTg1MzY1OSAxOjEuMCAKKzAuNTIwNzQ1ODIyMzc0IDE6My4wIAorc3ZtX3R5cGUgY19zdmMK
K2tlcm5lbF90eXBlIHJiZgorZ2FtbWEgMC4xCitucl9jbGFzcyAyCit0b3RhbF9zdiAzMzAKK3Jo
byAwLjI4Nzk0NTY0MjI2MQorbGFiZWwgLTEgMQorbnJfc3YgMzAwIDMwCitTVgorLTAuMDU0NjY5
NzAzODcyNCAxOjE0LjAgMjozLjAgMzo3LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDI6MS4w
IAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMzoxLjAg
CistMC4wNTQ2Njk3MDM4NzI0IDE6MTIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo3LjAgCistMC4w
NTQ2Njk3MDM4NzI0IDE6Mi4wIDI6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAzOjEuMCAK
Ky0wLjA1NDY2OTcwMzg3MjQgMTozLjAgMjoxNi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAz
OjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMjoyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6
MS4wIDM6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToz
LjAgMjoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6NS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjE2
LjAgMjoyLjAgMzoyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDI6MS4wIAorLTAuMDU0NjY5
NzAzODcyNCAxOjExLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6NC4wIDM6My4wIAorLTAuMDU0NjY5
NzAzODcyNCAxOjI4LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIAorLTAuMDU0NjY5NzAzODcy
NCAxOjEuMCAzOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMzoxLjAgCistMC4wNTQ2Njk3
MDM4NzI0IDE6MjIuMCAyOjEuMCAzOjEyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MTQuMCAzOjUu
MCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMzoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6NDgu
MCAyOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyNS4wIDM6MTYuMCAKKy0wLjA1NDY2OTcwMzg3
MjQgMToxLjAgMjoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDM6MS4wIAorLTAuMDU0NjY5
NzAzODcyNCAxOjYuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo3LjAgCistMC4wNTQ2Njk3MDM4NzI0
IDE6MS4wIDI6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAzOjEuMCAKKy0wLjA1NDY2OTcw
Mzg3MjQgMTozLjAgMzoyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Ny4wIDI6MS4wIDM6MS4wIAor
LTAuMDU0NjY5NzAzODcyNCAxOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo3LjAgCistMC4wNTQ2
Njk3MDM4NzI0IDE6NS4wIDI6Mi4wIDM6My4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAKKy0w
LjA1NDY2OTcwMzg3MjQgMToxLjAgMjoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6NC4wIAorLTAu
MDU0NjY5NzAzODcyNCAxOjEuMCAyOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMzoxLjAg
CistMC4wNTQ2Njk3MDM4NzI0IDE6OS4wIDM6NC4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAy
OjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMzoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6
NDcuMCAyOjIxLjAgMzozMy4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjExLjAgMjoyLjAgMzo1LjAg
CistMC4wNTQ2Njk3MDM4NzI0IDE6MTEuMCAyOjMuMCAzOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQg
MToxLjAgMzoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIDI6MS4wIAorLTAuMDU0NjY5NzAz
ODcyNCAxOjQzLjAgMzoyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MTMuMCAzOjcuMCAKKy0wLjA1
NDY2OTcwMzg3MjQgMToxLjAgMzoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6NC4wIAorLTAuMDU0
NjY5NzAzODcyNCAxOjEzLjAgMzo0LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6NDIuMCAyOjQuMCAz
OjMyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MTAuMCAyOjUuMCAzOjEuMCAKKy0wLjA1NDY2OTcw
Mzg3MjQgMTo3LjAgMzo0LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIAorLTAuMDU0NjY5NzAz
ODcyNCAxOjEuMCAzOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMzoxLjAgCistMC4wNTQ2
Njk3MDM4NzI0IDE6Ni4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAyOjEuMCAKKy0wLjA1NDY2
OTcwMzg3MjQgMTo2LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MTYuMCAyOjQuMCAKKy0wLjA1NDY2
OTcwMzg3MjQgMToxMC4wIDI6MS4wIDM6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjE4LjAgMjoz
LjAgMzo2LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDM6MS4wIAorLTAuMDU0NjY5NzAzODcy
NCAxOjEuMCAyOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAgCistMC4wNTQ2Njk3MDM4NzI0
IDE6My4wIDI6MS4wIDM6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAyOjEuMCAKKy0wLjA1
NDY2OTcwMzg3MjQgMTozLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6My4wIAorLTAuMDU0NjY5NzAz
ODcyNCAxOjQuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6
Mi4wIDM6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTox
LjAgMzoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToy
LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIDI6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjE0
LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIDI6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIu
MCAzOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo0LjAgMzozLjAgCistMC4wNTQ2Njk3MDM4NzI0
IDE6Mi4wIDM6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjMuMCAKKy0wLjA1NDY2OTcwMzg3MjQg
MToyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDI6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAx
OjQuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTozOS4wIDM6NC4wIAorLTAuMDU0NjY5NzAzODcyNCAx
OjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAgMjoxLjAgMzoxLjAgCistMC4wNTQ2Njk3MDM4
NzI0IDE6NC4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAyOjEuMCAKKy0wLjA1NDY2OTcwMzg3
MjQgMTo0LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDI6MS4wIAorLTAuMDU0NjY5NzAzODcy
NCAxOjEuMCAyOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0
IDE6Mi4wIDI6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQg
MToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAK
Ky0wLjA1NDY2OTcwMzg3MjQgMTozLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDI6MS4wIAor
LTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2
Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3
MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDM6MS4wIAorLTAuMDU0NjY5NzAzODcy
NCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4w
IAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4w
NTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcw
Mzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAx
OjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxNi4wIDI6MS4wIDM6MS4wIAorLTAuMDU0NjY5NzAz
ODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6
MS4wIDI6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTox
LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6My4wIDI6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEu
MCAzOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4w
IAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4w
NTQ2Njk3MDM4NzI0IDE6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcw
Mzg3MjQgMToyMC4wIDM6My4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcw
Mzg3MjQgMToyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAx
OjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAor
LTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMzoxLjAgCist
MC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAzOjEuMCAKKy0w
LjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6OC4wIAorLTAuMDU0NjY5
NzAzODcyNCAxOjcuMCAyOjEuMCAzOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo4LjAgMjoyLjAg
CistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDI6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAK
Ky0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDI6MS4wIAor
LTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2
Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3
MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEu
MCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxMi4wIDM6Ny4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEu
MCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo5LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Ny4wIAorLTAu
MDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMjoxLjAgCistMC4w
NTQ2Njk3MDM4NzI0IDE6MS4wIDM6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1
NDY2OTcwMzg3MjQgMTo4LjAgMjoyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MTcuMCAKKy0wLjA1
NDY2OTcwMzg3MjQgMToyLjAgMjoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0
NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4
NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjQuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTox
LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEzLjAgMjo0
LjAgMzoyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDM6MS4wIAorLTAuMDU0NjY5NzAzODcy
NCAxOjIuMCAzOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0
IDE6MTYuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTozLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4w
IAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4w
NTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAKKy0wLjA1NDY2OTcw
Mzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAx
OjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAor
LTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2
Njk3MDM4NzI0IDE6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjMuMCAzOjMuMCAKKy0wLjA1NDY2
OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIAorLTAuMDU0NjY5NzAzODcy
NCAxOjExLjAgMzoxMS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3
MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIu
MCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAu
MDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3
MDM4NzI0IDE6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQg
MToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAK
Ky0wLjA1NDY2OTcwMzg3MjQgMToxNS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1
NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MjAuMCAyOjEyLjAgMzozLjAg
CistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1
NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAz
ODcyNCAxOjcuMCAzOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4
NzI0IDE6MS4wIDM6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3
MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDM6MS4wIAorLTAuMDU0NjY5NzAzODcy
NCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTozLjAgMzoyLjAgCistMC4wNTQ2Njk3MDM4NzI0
IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo5LjAg
MjozLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDM6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAx
OjYuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo0LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAor
LTAuMDU0NjY5NzAzODcyNCAxOjcuMCAyOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCist
MC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDM6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAKKy0w
LjA1NDY2OTcwMzg3MjQgMToyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6OS4wIAorLTAuMDU0NjY5
NzAzODcyNCAxOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0
IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAg
CistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjE0LjAgCistMC4w
NTQ2Njk3MDM4NzI0IDE6MTIuMCAzOjYuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTozLjAgCistMC4w
NTQ2Njk3MDM4NzI0IDE6NC4wIDI6MS4wIDM6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAK
Ky0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0
NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo5LjAgCistMC4wNTQ2Njk3MDM4
NzI0IDE6OS4wIDI6MS4wIDM6NC4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2
OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6OS4wIDI6MS4wIAorLTAuMDU0NjY5
NzAzODcyNCAxOjMuMCAyOjMuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAgMjoyLjAgCistMC4w
NTQ2Njk3MDM4NzI0IDE6MS4wIDI6MS4wIDM6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjguMCAy
OjEuMCAzOjMuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6
Mi4wIDI6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjkuMCAyOjEuMCAKKy0wLjA1NDY2OTcwMzg3
MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIu
MCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MzYuMCAKKy0w
LjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5
NzAzODcyNCAxOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0
IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAg
CistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjYuMCAKKy0wLjA1
NDY2OTcwMzg3MjQgMToxLjAgMzoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0
NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4
NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTox
LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjQuMCAzOjIu
MCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxMy4wIDM6NC4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEu
MCAKKy0wLjA0MDIwNzUxNzg5NDIgMToxLjAgCiswLjU4NTM2NTg1MzY1OSAxOjEuMCAKKzAuNDc5
Mjc2MTM5MDAxIDE6Ni4wIDI6My4wIAorMC41ODUzNjU4NTM2NTkgMToyLjAgCiswLjU4NTM2NTg1
MzY1OSAxOjEuMCAKKzAuNTg1MzY1ODUzNjU5IDE6My4wIDM6My4wIAorMC41ODUzNjU4NTM2NTkg
MTo0Mi4wIDI6Mi4wIDM6MjguMCAKKzAuNTg1MzY1ODUzNjU5IDE6Mi4wIAorMC41ODUzNjU4NTM2
NTkgMToxMi4wIAorMC40NzkyODMwNDY1NzggMTo3LjAgCiswLjMwMDM5Nzg3MzQ3NiAxOjMuMCAz
OjEuMCAKKzAuMDU0MzE3MzMwNjQ0MiAxOjYuMCAzOjIuMCAKKzAuNTYzNDY1MTI2Mjk5IDE6MTEu
MCAKKzAuNTg1MzY1ODUzNjU5IDE6Mi4wIAorMC41ODUzNjU4NTM2NTkgMToxMC4wIDI6My4wIDM6
Ni4wIAorMC41ODUzNjU4NTM2NTkgMToxLjAgMjoxLjAgCiswLjU4NTM2NTg1MzY1OSAxOjIuMCAK
KzAuNTg1MzY1ODUzNjU5IDE6MS4wIDI6MS4wIAorMC41ODUzNjU4NTM2NTkgMTozLjAgMzoxLjAg
CiswLjU4NTM2NTg1MzY1OSAxOjEuMCAKKzAuNTg1MzY1ODUzNjU5IDE6Mi4wIAorMC41ODUzNjU4
NTM2NTkgMToxLjAgMjoxLjAgCiswLjU4NDk4OTcxOTkwOSAxOjcuMCAKKzAuNTg1MzY1ODUzNjU5
IDE6My4wIAorMC41ODUzNjU4NTM2NTkgMTozLjAgCiswLjUyNTkyNTEzNjk4MyAxOjMuMCAyOjIu
MCAKKzAuNTg1MzY1ODUzNjU5IDE6MS4wIAorMC41ODUzNjU4NTM2NTkgMToxLjAgCiswLjU4NTM2
NTg1MzY1OSAxOjMuMCAzOjEuMCAKKzAuNTg1MzY1ODUzNjU5IDE6MS4wIAorMC41MjA3NDU4MjIz
NzQgMTozLjAgCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUmVzb3VyY2VMb2Fk
U3RhdGlzdGljc01hbmFnZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9XZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdlci5jcHAJKHJldmlzaW9uIDIxMjU5
NykKKysrIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNz
TWFuYWdlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTYxLDYgKzYxLDIxIEBAIGJvb2wgV2ViUmVz
b3VyY2VMb2FkU3RhdGlzdGljc01hbmFnZXI6OmgKICAgICByZXR1cm4gV2ViQ29yZTo6UmVzb3Vy
Y2VMb2FkT2JzZXJ2ZXI6OnNoYXJlZE9ic2VydmVyKCkuaGFzSGFkVXNlckludGVyYWN0aW9uKFVS
TChVUkwoKSwgaG9zdE5hbWUpKTsKIH0KIAordm9pZCBXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNz
TWFuYWdlcjo6c2V0U3ViZnJhbWVVbmRlclRvcEZyYW1lT3JpZ2luKGNvbnN0IFN0cmluZyYgaG9z
dE5hbWUsIGNvbnN0IFN0cmluZyYgdG9wRnJhbWVIb3N0TmFtZSkKK3sKKyAgICBXZWJDb3JlOjpS
ZXNvdXJjZUxvYWRPYnNlcnZlcjo6c2hhcmVkT2JzZXJ2ZXIoKS5zZXRTdWJmcmFtZVVuZGVyVG9w
RnJhbWVPcmlnaW4oVVJMKFVSTCgpLCBob3N0TmFtZSksIFVSTChVUkwoKSwgdG9wRnJhbWVIb3N0
TmFtZSkpOworfQorCit2b2lkIFdlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VyOjpzZXRT
dWJyZXNvdXJjZVVuZGVyVG9wRnJhbWVPcmlnaW4oY29uc3QgU3RyaW5nJiBob3N0TmFtZSwgY29u
c3QgU3RyaW5nJiB0b3BGcmFtZUhvc3ROYW1lKQoreworICAgIFdlYkNvcmU6OlJlc291cmNlTG9h
ZE9ic2VydmVyOjpzaGFyZWRPYnNlcnZlcigpLnNldFN1YnJlc291cmNlVW5kZXJUb3BGcmFtZU9y
aWdpbihVUkwoVVJMKCksIGhvc3ROYW1lKSwgVVJMKFVSTCgpLCB0b3BGcmFtZUhvc3ROYW1lKSk7
Cit9CisKK3ZvaWQgV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFnZXI6OnNldFN1YnJlc291
cmNlVW5pcXVlUmVkaXJlY3RUbyhjb25zdCBTdHJpbmcmIGhvc3ROYW1lLCBjb25zdCBTdHJpbmcm
IGhvc3ROYW1lUmVkaXJlY3RlZFRvKQoreworICAgIFdlYkNvcmU6OlJlc291cmNlTG9hZE9ic2Vy
dmVyOjpzaGFyZWRPYnNlcnZlcigpLnNldFN1YnJlc291cmNlVW5pcXVlUmVkaXJlY3RUbyhVUkwo
VVJMKCksIGhvc3ROYW1lKSwgVVJMKFVSTCgpLCBob3N0TmFtZVJlZGlyZWN0ZWRUbykpOworfQor
CiB2b2lkIFdlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VyOjpzZXRUaW1lVG9MaXZlVXNl
ckludGVyYWN0aW9uKGRvdWJsZSBzZWNvbmRzKQogewogICAgIFdlYkNvcmU6OlJlc291cmNlTG9h
ZE9ic2VydmVyOjpzaGFyZWRPYnNlcnZlcigpLnNldFRpbWVUb0xpdmVVc2VySW50ZXJhY3Rpb24o
c2Vjb25kcyk7CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUmVzb3VyY2VMb2Fk
U3RhdGlzdGljc01hbmFnZXIuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFnZXIuaAkocmV2aXNpb24gMjEyNTk3KQor
KysgU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5h
Z2VyLmgJKHdvcmtpbmcgY29weSkKQEAgLTQyLDYgKzQyLDkgQEAgcHVibGljOgogICAgIHN0YXRp
YyBib29sIGlzUHJldmFsZW50UmVzb3VyY2UoY29uc3QgU3RyaW5nJiBob3N0TmFtZSk7CiAgICAg
c3RhdGljIHZvaWQgc2V0SGFzSGFkVXNlckludGVyYWN0aW9uKGNvbnN0IFN0cmluZyYgaG9zdE5h
bWUsIGJvb2wgdmFsdWUpOwogICAgIHN0YXRpYyBib29sIGhhc0hhZFVzZXJJbnRlcmFjdGlvbihj
b25zdCBTdHJpbmcmIGhvc3ROYW1lKTsKKyAgICBzdGF0aWMgdm9pZCBzZXRTdWJmcmFtZVVuZGVy
VG9wRnJhbWVPcmlnaW4oY29uc3QgU3RyaW5nJiBob3N0TmFtZSwgY29uc3QgU3RyaW5nJiB0b3BG
cmFtZUhvc3ROYW1lKTsKKyAgICBzdGF0aWMgdm9pZCBzZXRTdWJyZXNvdXJjZVVuZGVyVG9wRnJh
bWVPcmlnaW4oY29uc3QgU3RyaW5nJiBob3N0TmFtZSwgY29uc3QgU3RyaW5nJiB0b3BGcmFtZUhv
c3ROYW1lKTsKKyAgICBzdGF0aWMgdm9pZCBzZXRTdWJyZXNvdXJjZVVuaXF1ZVJlZGlyZWN0VG8o
Y29uc3QgU3RyaW5nJiBob3N0TmFtZSwgY29uc3QgU3RyaW5nJiBob3N0TmFtZVJlZGlyZWN0ZWRU
byk7CiAgICAgc3RhdGljIHZvaWQgc2V0VGltZVRvTGl2ZVVzZXJJbnRlcmFjdGlvbihkb3VibGUg
c2Vjb25kcyk7CiAgICAgc3RhdGljIHZvaWQgc2V0UmVkdWNlZFRpbWVzdGFtcFJlc29sdXRpb24o
ZG91YmxlIHNlY29uZHMpOwogICAgIHN0YXRpYyB2b2lkIGZpcmVEYXRhTW9kaWZpY2F0aW9uSGFu
ZGxlcigpOwpJbmRleDogU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlJlc291cmNlTG9hZFN0
YXRpc3RpY3NTdG9yZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L1dlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZS5jcHAJKHJldmlzaW9uIDIxMjU5NykKKysr
IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmUu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC00NSw3ICs0NSw2IEBAIHVzaW5nIG5hbWVzcGFjZSBXZWJD
b3JlOwogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAotc3RhdGljIGNvbnN0IGF1dG8gZmVhdHVyZVZl
Y3Rvckxlbmd0aFRocmVzaG9sZCA9IDM7CiBzdGF0aWMgYXV0byBtaW5pbXVtVGltZUJldHdlZWVu
RGF0YVJlY29yZHNSZW1vdmFsID0gNjA7CiBzdGF0aWMgT3B0aW9uU2V0PFdlYktpdDo6V2Vic2l0
ZURhdGFUeXBlPiBkYXRhVHlwZXNUb1JlbW92ZTsKIHN0YXRpYyBhdXRvIG5vdGlmeVBhZ2VzID0g
ZmFsc2U7CkBAIC01OSw3ICs1OCw3IEBAIFJlZjxXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3Rv
cmU+IFdlYlIKIFdlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZTo6V2ViUmVzb3VyY2VMb2Fk
U3RhdGlzdGljc1N0b3JlKGNvbnN0IFN0cmluZyYgcmVzb3VyY2VMb2FkU3RhdGlzdGljc0RpcmVj
dG9yeSkKICAgICA6IG1fcmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlKFJlc291cmNlTG9hZFN0
YXRpc3RpY3NTdG9yZTo6Y3JlYXRlKCkpCiAgICAgLCBtX3N0YXRpc3RpY3NRdWV1ZShXb3JrUXVl
dWU6OmNyZWF0ZSgiV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlIFByb2Nlc3MgRGF0YSBR
dWV1ZSIpKQotICAgICwgbV9zdG9yYWdlUGF0aChyZXNvdXJjZUxvYWRTdGF0aXN0aWNzRGlyZWN0
b3J5KQorICAgICwgbV9zdGF0aXN0aWNzU3RvcmFnZVBhdGgocmVzb3VyY2VMb2FkU3RhdGlzdGlj
c0RpcmVjdG9yeSkKIHsKIH0KIApAQCAtODMsNDAgKzgyLDExIEBAIHZvaWQgV2ViUmVzb3VyY2VM
b2FkU3RhdGlzdGljc1N0b3JlOjpzZXQKICAgICAgICAgbWluaW11bVRpbWVCZXR3ZWVlbkRhdGFS
ZWNvcmRzUmVtb3ZhbCA9IHNlY29uZHM7CiB9CiAKLWJvb2wgV2ViUmVzb3VyY2VMb2FkU3RhdGlz
dGljc1N0b3JlOjpoYXNQcmV2YWxlbnRSZXNvdXJjZUNoYXJhY3RlcmlzdGljcyhjb25zdCBSZXNv
dXJjZUxvYWRTdGF0aXN0aWNzJiByZXNvdXJjZVN0YXRpc3RpYykKLXsKLSAgICBhdXRvIHN1YnJl
c291cmNlVW5kZXJUb3BGcmFtZU9yaWdpbnNDb3VudCA9IHJlc291cmNlU3RhdGlzdGljLnN1YnJl
c291cmNlVW5kZXJUb3BGcmFtZU9yaWdpbnMuc2l6ZSgpOwotICAgIGF1dG8gc3VicmVzb3VyY2VV
bmlxdWVSZWRpcmVjdHNUb0NvdW50ID0gcmVzb3VyY2VTdGF0aXN0aWMuc3VicmVzb3VyY2VVbmlx
dWVSZWRpcmVjdHNUby5zaXplKCk7Ci0gICAgYXV0byBzdWJmcmFtZVVuZGVyVG9wRnJhbWVPcmln
aW5zQ291bnQgPSByZXNvdXJjZVN0YXRpc3RpYy5zdWJmcmFtZVVuZGVyVG9wRnJhbWVPcmlnaW5z
LnNpemUoKTsKLSAgICAKLSAgICBpZiAoIXN1YnJlc291cmNlVW5kZXJUb3BGcmFtZU9yaWdpbnND
b3VudAotICAgICAgICAmJiAhc3VicmVzb3VyY2VVbmlxdWVSZWRpcmVjdHNUb0NvdW50Ci0gICAg
ICAgICYmICFzdWJmcmFtZVVuZGVyVG9wRnJhbWVPcmlnaW5zQ291bnQpCi0gICAgICAgIHJldHVy
biBmYWxzZTsKLQotICAgIGlmIChzdWJyZXNvdXJjZVVuZGVyVG9wRnJhbWVPcmlnaW5zQ291bnQg
PiBmZWF0dXJlVmVjdG9yTGVuZ3RoVGhyZXNob2xkCi0gICAgICAgIHx8IHN1YnJlc291cmNlVW5p
cXVlUmVkaXJlY3RzVG9Db3VudCA+IGZlYXR1cmVWZWN0b3JMZW5ndGhUaHJlc2hvbGQKLSAgICAg
ICAgfHwgc3ViZnJhbWVVbmRlclRvcEZyYW1lT3JpZ2luc0NvdW50ID4gZmVhdHVyZVZlY3Rvckxl
bmd0aFRocmVzaG9sZCkKLSAgICAgICAgcmV0dXJuIHRydWU7Ci0KLSAgICAvLyBUaGUgcmVzb3Vy
Y2UgaXMgY29uc2lkZXJlZCBwcmV2YWxlbnQgaWYgdGhlIGZlYXR1cmUgdmVjdG9yCi0gICAgLy8g
aXMgbG9uZ2VyIHRoYW4gdGhlIHRocmVzaG9sZC4KLSAgICAvLyBWZWN0b3IgbGVuZ3RoIGZvciBu
IGRpbWVuc2lvbnMgaXMgc3FydChhXjIgKyAoLi4uKSArIG5eMikuCi0gICAgZG91YmxlIHZlY3Rv
ckxlbmd0aCA9IDA7Ci0gICAgdmVjdG9yTGVuZ3RoICs9IHN1YnJlc291cmNlVW5kZXJUb3BGcmFt
ZU9yaWdpbnNDb3VudCAqIHN1YnJlc291cmNlVW5kZXJUb3BGcmFtZU9yaWdpbnNDb3VudDsKLSAg
ICB2ZWN0b3JMZW5ndGggKz0gc3VicmVzb3VyY2VVbmlxdWVSZWRpcmVjdHNUb0NvdW50ICogc3Vi
cmVzb3VyY2VVbmlxdWVSZWRpcmVjdHNUb0NvdW50OwotICAgIHZlY3Rvckxlbmd0aCArPSBzdWJm
cmFtZVVuZGVyVG9wRnJhbWVPcmlnaW5zQ291bnQgKiBzdWJmcmFtZVVuZGVyVG9wRnJhbWVPcmln
aW5zQ291bnQ7Ci0KLSAgICBBU1NFUlQodmVjdG9yTGVuZ3RoID4gMCk7Ci0KLSAgICByZXR1cm4g
c3FydCh2ZWN0b3JMZW5ndGgpID4gZmVhdHVyZVZlY3Rvckxlbmd0aFRocmVzaG9sZDsKLX0KLSAg
ICAKIHZvaWQgV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlOjpjbGFzc2lmeVJlc291cmNl
KFJlc291cmNlTG9hZFN0YXRpc3RpY3MmIHJlc291cmNlU3RhdGlzdGljKQogewotICAgIGlmICgh
cmVzb3VyY2VTdGF0aXN0aWMuaXNQcmV2YWxlbnRSZXNvdXJjZSAmJiBoYXNQcmV2YWxlbnRSZXNv
dXJjZUNoYXJhY3RlcmlzdGljcyhyZXNvdXJjZVN0YXRpc3RpYykpIHsKKyAgICBpZiAoIXJlc291
cmNlU3RhdGlzdGljLmlzUHJldmFsZW50UmVzb3VyY2UKKyAgICAgICAgJiYgbV9yZXNvdXJjZUxv
YWRTdGF0aXN0aWNzQ2xhc3NpZmllci5oYXNQcmV2YWxlbnRSZXNvdXJjZUNoYXJhY3RlcmlzdGlj
cyhyZXNvdXJjZVN0YXRpc3RpYykpCiAgICAgICAgIHJlc291cmNlU3RhdGlzdGljLmlzUHJldmFs
ZW50UmVzb3VyY2UgPSB0cnVlOwotICAgIH0KIH0KIAogdm9pZCBXZWJSZXNvdXJjZUxvYWRTdGF0
aXN0aWNzU3RvcmU6OnJlbW92ZURhdGFSZWNvcmRzKCkKQEAgLTI0OCwxMSArMjE4LDExIEBAIHZv
aWQgV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlOjphcHAKIAogU3RyaW5nIFdlYlJlc291
cmNlTG9hZFN0YXRpc3RpY3NTdG9yZTo6cGVyc2lzdGVudFN0b3JhZ2VQYXRoKGNvbnN0IFN0cmlu
ZyYgbGFiZWwpIGNvbnN0CiB7Ci0gICAgaWYgKG1fc3RvcmFnZVBhdGguaXNFbXB0eSgpKQorICAg
IGlmIChtX3N0YXRpc3RpY3NTdG9yYWdlUGF0aC5pc0VtcHR5KCkpCiAgICAgICAgIHJldHVybiBl
bXB0eVN0cmluZygpOwogCiAgICAgLy8gVE9ETyBEZWNpZGUgd2hhdCB0byBjYWxsIHRoaXMgZmls
ZQotICAgIHJldHVybiBwYXRoQnlBcHBlbmRpbmdDb21wb25lbnQobV9zdG9yYWdlUGF0aCwgbGFi
ZWwgKyAiX3Jlc291cmNlTG9nLnBsaXN0Iik7CisgICAgcmV0dXJuIHBhdGhCeUFwcGVuZGluZ0Nv
bXBvbmVudChtX3N0YXRpc3RpY3NTdG9yYWdlUGF0aCwgbGFiZWwgKyAiX3Jlc291cmNlTG9nLnBs
aXN0Iik7CiB9CiAKIHZvaWQgV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlOjp3cml0ZUVu
Y29kZXJUb0Rpc2soS2V5ZWRFbmNvZGVyJiBlbmNvZGVyLCBjb25zdCBTdHJpbmcmIGxhYmVsKSBj
b25zdApAQCAtMjY1LDggKzIzNSw4IEBAIHZvaWQgV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0
b3JlOjp3cmkKICAgICBpZiAocmVzb3VyY2VMb2cuaXNFbXB0eSgpKQogICAgICAgICByZXR1cm47
CiAKLSAgICBpZiAoIW1fc3RvcmFnZVBhdGguaXNFbXB0eSgpKQotICAgICAgICBtYWtlQWxsRGly
ZWN0b3JpZXMobV9zdG9yYWdlUGF0aCk7CisgICAgaWYgKCFtX3N0YXRpc3RpY3NTdG9yYWdlUGF0
aC5pc0VtcHR5KCkpCisgICAgICAgIG1ha2VBbGxEaXJlY3RvcmllcyhtX3N0YXRpc3RpY3NTdG9y
YWdlUGF0aCk7CiAKICAgICBhdXRvIGhhbmRsZSA9IG9wZW5GaWxlKHJlc291cmNlTG9nLCBPcGVu
Rm9yV3JpdGUpOwogICAgIGlmICghaGFuZGxlKQpJbmRleDogU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL1dlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZS5oCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmUuaAkocmV2
aXNpb24gMjEyNTk3KQorKysgU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlJlc291cmNlTG9h
ZFN0YXRpc3RpY3NTdG9yZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0yOCw2ICsyOCw3IEBACiAKICNp
bmNsdWRlICJBUElPYmplY3QuaCIKICNpbmNsdWRlICJDb25uZWN0aW9uLmgiCisjaW5jbHVkZSAi
UmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXIuaCIKICNpbmNsdWRlICJXZWJzaXRlRGF0
YVJlY29yZC5oIgogI2luY2x1ZGUgPFdlYkNvcmUvUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3Jl
Lmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgpAQCAtNzYsNyArNzcsNiBAQCBwcml2YXRlOgog
CiAgICAgdm9pZCBwcm9jZXNzU3RhdGlzdGljc0FuZERhdGFSZWNvcmRzKCk7CiAKLSAgICBib29s
IGhhc1ByZXZhbGVudFJlc291cmNlQ2hhcmFjdGVyaXN0aWNzKGNvbnN0IFdlYkNvcmU6OlJlc291
cmNlTG9hZFN0YXRpc3RpY3MmKTsKICAgICB2b2lkIGNsYXNzaWZ5UmVzb3VyY2UoV2ViQ29yZTo6
UmVzb3VyY2VMb2FkU3RhdGlzdGljcyYpOwogICAgIHZvaWQgcmVtb3ZlRGF0YVJlY29yZHMoKTsK
IApAQCAtODksOCArODksOSBAQCBwcml2YXRlOgogICAgIHN0ZDo6dW5pcXVlX3B0cjxXZWJDb3Jl
OjpLZXllZERlY29kZXI+IGNyZWF0ZURlY29kZXJGcm9tRGlzayhjb25zdCBTdHJpbmcmIGxhYmVs
KSBjb25zdDsKIAogICAgIFJlZjxXZWJDb3JlOjpSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmU+
IG1fcmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlOworICAgIFJlc291cmNlTG9hZFN0YXRpc3Rp
Y3NDbGFzc2lmaWVyIG1fcmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXI7CiAgICAgUmVm
PFdURjo6V29ya1F1ZXVlPiBtX3N0YXRpc3RpY3NRdWV1ZTsKLSAgICBTdHJpbmcgbV9zdG9yYWdl
UGF0aDsKKyAgICBTdHJpbmcgbV9zdGF0aXN0aWNzU3RvcmFnZVBhdGg7CiAgICAgYm9vbCBtX3Jl
c291cmNlTG9hZFN0YXRpc3RpY3NFbmFibGVkIHsgZmFsc2UgfTsKIAogICAgIGRvdWJsZSBtX2xh
c3RUaW1lRGF0YVJlY29yZHNXZXJlUmVtb3ZlZCB7IDAgfTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9BUEkvQy9XS1Jlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VyLmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tSZXNvdXJjZUxvYWRT
dGF0aXN0aWNzTWFuYWdlci5jcHAJKHJldmlzaW9uIDIxMjU5NykKKysrIFNvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9BUEkvQy9XS1Jlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VyLmNwcAkod29y
a2luZyBjb3B5KQpAQCAtNTYsNiArNTYsMjEgQEAgYm9vbCBXS1Jlc291cmNlTG9hZFN0YXRpc3Rp
Y3NNYW5hZ2VySXNIYQogICAgIHJldHVybiBXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdl
cjo6aGFzSGFkVXNlckludGVyYWN0aW9uKHRvV1RGU3RyaW5nKGhvc3ROYW1lKSk7CiB9CiAKK3Zv
aWQgV0tSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdlclNldFN1YmZyYW1lVW5kZXJUb3BGcmFt
ZU9yaWdpbihXS1N0cmluZ1JlZiBob3N0TmFtZSwgV0tTdHJpbmdSZWYgdG9wRnJhbWVIb3N0TmFt
ZSkKK3sKKyAgICBXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdlcjo6c2V0U3ViZnJhbWVV
bmRlclRvcEZyYW1lT3JpZ2luKHRvV1RGU3RyaW5nKGhvc3ROYW1lKSwgdG9XVEZTdHJpbmcodG9w
RnJhbWVIb3N0TmFtZSkpOworfQorCit2b2lkIFdLUmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFn
ZXJTZXRTdWJyZXNvdXJjZVVuZGVyVG9wRnJhbWVPcmlnaW4oV0tTdHJpbmdSZWYgaG9zdE5hbWUs
IFdLU3RyaW5nUmVmIHRvcEZyYW1lSG9zdE5hbWUpCit7CisgICAgV2ViUmVzb3VyY2VMb2FkU3Rh
dGlzdGljc01hbmFnZXI6OnNldFN1YnJlc291cmNlVW5kZXJUb3BGcmFtZU9yaWdpbih0b1dURlN0
cmluZyhob3N0TmFtZSksIHRvV1RGU3RyaW5nKHRvcEZyYW1lSG9zdE5hbWUpKTsKK30KKwordm9p
ZCBXS1Jlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VyU2V0U3VicmVzb3VyY2VVbmlxdWVSZWRp
cmVjdFRvKFdLU3RyaW5nUmVmIGhvc3ROYW1lLCBXS1N0cmluZ1JlZiBob3N0TmFtZVJlZGlyZWN0
ZWRUbykKK3sKKyAgICBXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdlcjo6c2V0U3VicmVz
b3VyY2VVbmlxdWVSZWRpcmVjdFRvKHRvV1RGU3RyaW5nKGhvc3ROYW1lKSwgdG9XVEZTdHJpbmco
aG9zdE5hbWVSZWRpcmVjdGVkVG8pKTsKK30KKwogdm9pZCBXS1Jlc291cmNlTG9hZFN0YXRpc3Rp
Y3NNYW5hZ2VyU2V0VGltZVRvTGl2ZVVzZXJJbnRlcmFjdGlvbihkb3VibGUgc2Vjb25kcykKIHsK
ICAgICBXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdlcjo6c2V0VGltZVRvTGl2ZVVzZXJJ
bnRlcmFjdGlvbihzZWNvbmRzKTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkv
Qy9XS1Jlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VyLmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFnZXIu
aAkocmV2aXNpb24gMjEyNTk3KQorKysgU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dL
UmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFnZXIuaAkod29ya2luZyBjb3B5KQpAQCAtMzgsNiAr
MzgsOSBAQCBleHRlcm4gIkMiIHsKICAgICBXS19FWFBPUlQgYm9vbCBXS1Jlc291cmNlTG9hZFN0
YXRpc3RpY3NNYW5hZ2VySXNQcmV2YWxlbnRSZXNvdXJjZShXS1N0cmluZ1JlZiBob3N0TmFtZSk7
CiAgICAgV0tfRVhQT1JUIHZvaWQgV0tSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdlclNldEhh
c0hhZFVzZXJJbnRlcmFjdGlvbihXS1N0cmluZ1JlZiBob3N0TmFtZSwgYm9vbCB2YWx1ZSk7CiAg
ICAgV0tfRVhQT1JUIGJvb2wgV0tSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdlcklzSGFzSGFk
VXNlckludGVyYWN0aW9uKFdLU3RyaW5nUmVmIGhvc3ROYW1lKTsKKyAgICBXS19FWFBPUlQgdm9p
ZCBXS1Jlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VyU2V0U3ViZnJhbWVVbmRlclRvcEZyYW1l
T3JpZ2luKFdLU3RyaW5nUmVmIGhvc3ROYW1lLCBXS1N0cmluZ1JlZiB0b3BGcmFtZUhvc3ROYW1l
KTsKKyAgICBXS19FWFBPUlQgdm9pZCBXS1Jlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VyU2V0
U3VicmVzb3VyY2VVbmRlclRvcEZyYW1lT3JpZ2luKFdLU3RyaW5nUmVmIGhvc3ROYW1lLCBXS1N0
cmluZ1JlZiB0b3BGcmFtZUhvc3ROYW1lKTsKKyAgICBXS19FWFBPUlQgdm9pZCBXS1Jlc291cmNl
TG9hZFN0YXRpc3RpY3NNYW5hZ2VyU2V0U3VicmVzb3VyY2VVbmlxdWVSZWRpcmVjdFRvKFdLU3Ry
aW5nUmVmIGhvc3ROYW1lLCBXS1N0cmluZ1JlZiBob3N0TmFtZVJlZGlyZWN0ZWRUbyk7CiAgICAg
V0tfRVhQT1JUIHZvaWQgV0tSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdlclNldFRpbWVUb0xp
dmVVc2VySW50ZXJhY3Rpb24oZG91YmxlIHNlY29uZHMpOwogICAgIFdLX0VYUE9SVCB2b2lkIFdL
UmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFnZXJTZXRSZWR1Y2VkVGltZXN0YW1wUmVzb2x1dGlv
bihkb3VibGUgc2Vjb25kcyk7CiAgICAgV0tfRVhQT1JUIHZvaWQgV0tSZXNvdXJjZUxvYWRTdGF0
aXN0aWNzTWFuYWdlckZpcmVEYXRhTW9kaWZpY2F0aW9uSGFuZGxlcigpOwpJbmRleDogU291cmNl
L1dlYktpdDIvV2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJLaXQyL1dlYktpdDIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkocmV2aXNp
b24gMjEyNTk3KQorKysgU291cmNlL1dlYktpdDIvV2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qCSh3b3JraW5nIGNvcHkpCkBAIC0xMTQ2LDEwICsxMTQ2LDE3IEBACiAJCTY1MDFCRDFB
MTJGMTI0MzQwMEU5RjI0OCAvKiBXS0J1bmRsZUluc3BlY3Rvci5jcHAgaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA2NUI4NkYxNzEyRjExRDdCMDBCN0REOEEg
LyogV0tCdW5kbGVJbnNwZWN0b3IuY3BwICovOyB9OwogCQk2NTlDNTUxRTEzMDAwNjQxMDAyNUMw
QzIgLyogSW5qZWN0ZWRCdW5kbGVQYWdlUmVzb3VyY2VMb2FkQ2xpZW50LmNwcCBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDY1NDZBODI5MTMwMDAxNjQwMDBD
RUIxQyAvKiBJbmplY3RlZEJ1bmRsZVBhZ2VSZXNvdXJjZUxvYWRDbGllbnQuY3BwICovOyB9Owog
CQk2NUI4NkYxRTEyRjExREUzMDBCN0REOEEgLyogV0tCdW5kbGVJbnNwZWN0b3IuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDY1Qjg2RjE4MTJGMTFEN0Iw
MEI3REQ4QSAvKiBXS0J1bmRsZUluc3BlY3Rvci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVT
ID0gKFByaXZhdGUsICk7IH07IH07CisJCTZCMkUwOUJBMUU1N0I4ODEwMEM4QThCOSAvKiBDb3Jl
UHJlZGljdGlvblNQSS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gNkIyRTA5QjkxRTU3Qjg4MTAwQzhBOEI5IC8qIENvcmVQcmVkaWN0aW9uU1BJLmggKi87
IH07CiAJCTZCRTk2OTlDMUU0M0IzRkYwMDhCNzQ4MyAvKiBXS1Jlc291cmNlTG9hZFN0YXRpc3Rp
Y3NNYW5hZ2VyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA2QkU5Njk5QjFFNDNCM0ZGMDA4Qjc0ODMgLyogV0tSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFu
YWdlci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJ
CTZCRTk2OTlFMUU0M0I0MUQwMDhCNzQ4MyAvKiBXS1Jlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5h
Z2VyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDZC
RTk2OTlEMUU0M0I0MUQwMDhCNzQ4MyAvKiBXS1Jlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2Vy
LmNwcCAqLzsgfTsKIAkJNkJFOTY5QTAxRTQzQjg2RTAwOEI3NDgzIC8qIFdlYlJlc291cmNlTG9h
ZFN0YXRpc3RpY3NNYW5hZ2VyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA2QkU5Njk5RjFFNDNCODZFMDA4Qjc0ODMgLyogV2ViUmVzb3VyY2VMb2FkU3Rh
dGlzdGljc01hbmFnZXIuaCAqLzsgfTsKIAkJNkJFOTY5QTIxRTQzQjhBNDAwOEI3NDgzIC8qIFdl
YlJlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDZCRTk2OUExMUU0M0I4QTQwMDhCNzQ4MyAvKiBXZWJS
ZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdlci5jcHAgKi87IH07CisJCTZCRTk2OUMxMUU1NEQ0
NTIwMDhCNzQ4MyAvKiBjb3JlUHJlZGljdGlvbl9tb2RlbCBpbiBSZXNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNkJFOTY5QzAxRTU0RDQ1MjAwOEI3NDgzIC8qIGNv
cmVQcmVkaWN0aW9uX21vZGVsICovOyB9OworCQk2QkU5NjlDNTFFNTRENEE0MDA4Qjc0ODMgLyog
UmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDZCRTk2OUM0MUU1NEQ0QTQwMDhCNzQ4MyAvKiBSZXNv
dXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllci5oICovOyB9OworCQk2QkU5NjlDNzFFNTRENEI2
MDA4Qjc0ODMgLyogUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXJCYXNlLmNwcCBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDZCRTk2OUM2MUU1NEQ0
QjYwMDhCNzQ4MyAvKiBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllckJhc2UuY3BwICov
OyB9OworCQk2QkU5NjlDQTFFNTRENENGMDA4Qjc0ODMgLyogUmVzb3VyY2VMb2FkU3RhdGlzdGlj
c0NsYXNzaWZpZXJDb2NvYS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA2QkU5NjlDODFFNTRENENGMDA4Qjc0ODMgLyogUmVzb3VyY2VMb2FkU3RhdGlz
dGljc0NsYXNzaWZpZXJDb2NvYS5jcHAgKi87IH07CisJCTZCRTk2OUNCMUU1NEQ0Q0YwMDhCNzQ4
MyAvKiBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllckNvY29hLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA2QkU5NjlDOTFFNTRENENGMDA4Qjc0
ODMgLyogUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXJDb2NvYS5oICovOyB9OworCQk2
QkU5NjlDRDFFNTRFMDU0MDA4Qjc0ODMgLyogUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZp
ZXJCYXNlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA2
QkU5NjlDQzFFNTRFMDU0MDA4Qjc0ODMgLyogUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZp
ZXJCYXNlLmggKi87IH07CiAJCTZFRTg0OUM4MTM2OEQ5MzkwMDM4RDQ4MSAvKiBXS0luc3BlY3Rv
clByaXZhdGVNYWMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDZFRTg0OUM2MTM2OEQ5MkQwMDM4RDQ4MSAvKiBXS0luc3BlY3RvclByaXZhdGVNYWMuaCAq
Lzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk3MjhFODZG
MTE3OTUxODhDMDA4Nzg3OUUgLyogV2ViQ29sb3JQaWNrZXJNYWMuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDcyOEU4NkVGMTc5NTE4OEMwMDg3ODc5RSAv
KiBXZWJDb2xvclBpY2tlck1hYy5oICovOyB9OwogCQk3MjhFODZGMjE3OTUxODhDMDA4Nzg3OUUg
LyogV2ViQ29sb3JQaWNrZXJNYWMubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA3MjhFODZGMDE3OTUxODhDMDA4Nzg3OUUgLyogV2ViQ29sb3JQaWNrZXJN
YWMubW0gKi87IH07CkBAIC0zMzM0LDEwICszMzQxLDE3IEBACiAJCTY1NDZBODJBMTMwMDAxNjQw
MDBDRUIxQyAvKiBJbmplY3RlZEJ1bmRsZVBhZ2VSZXNvdXJjZUxvYWRDbGllbnQuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSW5qZWN0ZWRCdW5kbGVQYWdlUmVzb3VyY2VMb2Fk
Q2xpZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTY1Qjg2RjE3MTJGMTFEN0Iw
MEI3REQ4QSAvKiBXS0J1bmRsZUluc3BlY3Rvci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IHBhdGggPSBXS0J1bmRsZUluc3BlY3Rvci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTY1Qjg2RjE4MTJGMTFEN0IwMEI3REQ4QSAvKiBXS0J1bmRsZUluc3BlY3Rvci5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXS0J1bmRsZUluc3BlY3Rvci5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk2QjJFMDlCOTFFNTdCODgxMDBDOEE4QjkgLyog
Q29yZVByZWRpY3Rpb25TUEkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ29y
ZVByZWRpY3Rpb25TUEkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNkJFOTY5OUIx
RTQzQjNGRjAwOEI3NDgzIC8qIFdLUmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFnZXIuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV0tSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFu
YWdlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk2QkU5Njk5RDFFNDNCNDFEMDA4
Qjc0ODMgLyogV0tSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdlci5jcHAgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXS1Jlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2Vy
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNkJFOTY5OUYxRTQzQjg2RTAwOEI3
NDgzIC8qIFdlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VyLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IFdlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VyLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTZCRTk2OUExMUU0M0I4QTQwMDhCNzQ4MyAvKiBX
ZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IHBhdGggPSBXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdlci5jcHA7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTZCRTk2OUMwMUU1NEQ0NTIwMDhCNzQ4MyAvKiBj
b3JlUHJlZGljdGlvbl9tb2RlbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBjb3JlUHJlZGljdGlv
bl9tb2RlbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNkJFOTY5QzQxRTU0RDRBNDAw
OEI3NDgzIC8qIFJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTZCRTk2OUM2MUU1NEQ0QjYwMDhCNzQ4MyAv
KiBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllckJhc2UuY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXJC
YXNlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNkJFOTY5QzgxRTU0RDRDRjAw
OEI3NDgzIC8qIFJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQ29jb2EuY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUmVzb3VyY2VMb2FkU3RhdGlzdGljc0Ns
YXNzaWZpZXJDb2NvYS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTZCRTk2OUM5
MUU1NEQ0Q0YwMDhCNzQ4MyAvKiBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllckNvY29h
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJlc291cmNlTG9hZFN0YXRpc3Rp
Y3NDbGFzc2lmaWVyQ29jb2EuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNkJFOTY5
Q0MxRTU0RTA1NDAwOEI3NDgzIC8qIFJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQmFz
ZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBSZXNvdXJjZUxvYWRTdGF0aXN0
aWNzQ2xhc3NpZmllckJhc2UuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNkQ4QTkx
QTUxMUYwRUZEMTAwREQwMUZFIC8qIGNvbS5hcHBsZS5XZWJQcm9jZXNzLnNiLmluICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gdGV4dDsgbmFtZSA9IGNvbS5hcHBsZS5XZWJQcm9jZXNzLnNiLmluOyBwYXRoID0gV2ViUHJv
Y2Vzcy9jb20uYXBwbGUuV2ViUHJvY2Vzcy5zYi5pbjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJNkVFODQ5QzYxMzY4RDkyRDAwMzhENDgxIC8qIFdLSW5zcGVjdG9yUHJpdmF0ZU1hYy5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBXS0luc3BlY3RvclByaXZhdGVNYWMu
aDsgcGF0aCA9IG1hYy9XS0luc3BlY3RvclByaXZhdGVNYWMuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJNzI4RTg2RUYxNzk1MTg4QzAwODc4NzlFIC8qIFdlYkNvbG9yUGlja2VyTWFj
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYkNvbG9yUGlja2VyTWFjLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC00MzUwLDYgKzQzNjQsNyBAQAogCQkwODlD
MTY2NUZFODQxMTU4QzAyQUFDMDcgLyogUmVzb3VyY2VzICovID0gewogCQkJaXNhID0gUEJYR3Jv
dXA7CiAJCQljaGlsZHJlbiA9ICgKKwkJCQk2QkU5NjlCRjFFNTRENDUyMDA4Qjc0ODMgLyogUmVz
b3VyY2VMb2FkU3RhdGlzdGljcyAqLywKIAkJCQkzN0Y4Qzk0RjFBRTIyQkQ4MDA3REFCOUUgLyog
bWFjICovLAogCQkJCTdDQjE2RkUxMTcyNEI5QjUwMDdBMEE5NSAvKiBQbHVnSW5TYW5kYm94UHJv
ZmlsZXMgKi8sCiAJCQkJQTc4Q0NERDUxOTNBQzlFMzAwNUVDQzI1IC8qIFNhbmRib3hQcm9maWxl
cyAqLywKQEAgLTYxMTEsNiArNjEyNiwzNiBAQAogCQkJbmFtZSA9IENvY29hOwogCQkJc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsKIAkJfTsKKwkJNkJFOTY5QkYxRTU0RDQ1MjAwOEI3NDgzIC8qIFJl
c291cmNlTG9hZFN0YXRpc3RpY3MgKi8gPSB7CisJCQlpc2EgPSBQQlhHcm91cDsKKwkJCWNoaWxk
cmVuID0gKAorCQkJCTZCRTk2OUMwMUU1NEQ0NTIwMDhCNzQ4MyAvKiBjb3JlUHJlZGljdGlvbl9t
b2RlbCAqLywKKwkJCSk7CisJCQluYW1lID0gUmVzb3VyY2VMb2FkU3RhdGlzdGljczsKKwkJCXBh
dGggPSBSZXNvdXJjZXMvUmVzb3VyY2VMb2FkU3RhdGlzdGljczsKKwkJCXNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7CisJCX07CisJCTZCRTk2OUMyMUU1NEQ0NjcwMDhCNzQ4MyAvKiBjbGFzc2lmaWVy
ICovID0geworCQkJaXNhID0gUEJYR3JvdXA7CisJCQljaGlsZHJlbiA9ICgKKwkJCQk2QkU5NjlD
MzFFNTRENDY3MDA4Qjc0ODMgLyogY29jb2EgKi8sCisJCQkJNkJFOTY5QzYxRTU0RDRCNjAwOEI3
NDgzIC8qIFJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQmFzZS5jcHAgKi8sCisJCQkJ
NkJFOTY5QzQxRTU0RDRBNDAwOEI3NDgzIC8qIFJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lm
aWVyLmggKi8sCisJCQkJNkJFOTY5Q0MxRTU0RTA1NDAwOEI3NDgzIC8qIFJlc291cmNlTG9hZFN0
YXRpc3RpY3NDbGFzc2lmaWVyQmFzZS5oICovLAorCQkJKTsKKwkJCXBhdGggPSBjbGFzc2lmaWVy
OworCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKKwkJfTsKKwkJNkJFOTY5QzMxRTU0RDQ2NzAw
OEI3NDgzIC8qIGNvY29hICovID0geworCQkJaXNhID0gUEJYR3JvdXA7CisJCQljaGlsZHJlbiA9
ICgKKwkJCQk2QkU5NjlDODFFNTRENENGMDA4Qjc0ODMgLyogUmVzb3VyY2VMb2FkU3RhdGlzdGlj
c0NsYXNzaWZpZXJDb2NvYS5jcHAgKi8sCisJCQkJNkJFOTY5QzkxRTU0RDRDRjAwOEI3NDgzIC8q
IFJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQ29jb2EuaCAqLywKKwkJCQk2QjJFMDlC
OTFFNTdCODgxMDBDOEE4QjkgLyogQ29yZVByZWRpY3Rpb25TUEkuaCAqLywKKwkJCSk7CisJCQlw
YXRoID0gY29jb2E7CisJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOworCQl9OwogCQk2RUU4NDlD
NDEzNjhEOTA0MDAzOEQ0ODEgLyogbWFjICovID0gewogCQkJaXNhID0gUEJYR3JvdXA7CiAJCQlj
aGlsZHJlbiA9ICgKQEAgLTcwMDksNiArNzA1NCw3IEBACiAJCUJDMkU2RTc0MTE0MTk2RjAwMEE2
M0IxRSAvKiBQbGF0Zm9ybSAqLyA9IHsKIAkJCWlzYSA9IFBCWEdyb3VwOwogCQkJY2hpbGRyZW4g
PSAoCisJCQkJNkJFOTY5QzIxRTU0RDQ2NzAwOEI3NDgzIC8qIGNsYXNzaWZpZXIgKi8sCiAJCQkJ
MzcwOTUwNDExOEE4OEJBNDAwODdBRTVEIC8qIGNmICovLAogCQkJCTFBQTJFNTFBMTJFNEMwNTYw
MEJDNDk2NiAvKiBjZyAqLywKIAkJCQk0NDUwQUVCRTFEQzNGQUFDMDA5OTQzRjIgLyogY29jb2Eg
Ki8sCkBAIC03ODkxLDYgKzc5MzcsNyBAQAogCQkJCTQxREM0NTk2MUUzRDZFMjIwMEIxMUY1MSAv
KiBOZXR3b3JrUlRDUHJvdmlkZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTdDMUJBMzNFMUE0QTBF
NjAwMDQzRTI0OSAvKiBBUElEaWN0aW9uYXJ5LmggaW4gSGVhZGVycyAqLywKIAkJCQkxRjdEMzZD
MTE4REE1MTNGMDBEOUQ2NTkgLyogQVBJRG93bmxvYWRDbGllbnQuaCBpbiBIZWFkZXJzICovLAor
CQkJCTZCRTk2OUNCMUU1NEQ0Q0YwMDhCNzQ4MyAvKiBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xh
c3NpZmllckNvY29hLmggaW4gSGVhZGVycyAqLywKIAkJCQk1MTZBNEE1RDEyMEEyQ0NEMDBDMDVC
N0YgLyogQVBJRXJyb3IuaCBpbiBIZWFkZXJzICovLAogCQkJCTMxN0ZFN0M1MUM0ODdBNkMwMEEw
Q0E4OSAvKiBBUElFeHBlcmltZW50YWxGZWF0dXJlLmggaW4gSGVhZGVycyAqLywKIAkJCQkwMEI5
NjYxNjE4RTI0Q0JBMDBDRTFGODggLyogQVBJRmluZENsaWVudC5oIGluIEhlYWRlcnMgKi8sCkBA
IC04MzEwLDYgKzgzNTcsNyBAQAogCQkJCTMzMDkzNDRBMTMxNUI5MjIwMDk3QTdCQyAvKiBXZWJD
b29raWVNYW5hZ2VyUHJveHlNZXNzYWdlcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkMxREQ3QjIx
MTREQzM5NjAwNUFEQUYzIC8qIFdlYkNvcmVBcmd1bWVudENvZGVycy5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJNTEyRjU4OUIxMkE4ODM4ODAwNjI5NTMwIC8qIFdlYkNyZWRlbnRpYWwuaCBpbiBIZWFk
ZXJzICovLAorCQkJCTZCRTk2OUM1MUU1NEQ0QTQwMDhCNzQ4MyAvKiBSZXNvdXJjZUxvYWRTdGF0
aXN0aWNzQ2xhc3NpZmllci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUFBODNGNkQxQTVCNjNGRjAw
MDI2RUM2IC8qIFdlYkRhdGFiYXNlUHJvdmlkZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCUNEMTlB
MjZFMUExM0U4MzQwMDhENjUwRSAvKiBXZWJEaWFnbm9zdGljTG9nZ2luZ0NsaWVudC5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJMUE1QjFDNTUxODk4N0VERjAwNEZDRjlCIC8qIFdlYkRvY3VtZW50TG9h
ZGVyLmggaW4gSGVhZGVycyAqLywKQEAgLTgzOTUsNiArODQ0Myw3IEBACiAJCQkJNTEyMTI3QzQx
OTA4MjM5QTAwREFGMzVDIC8qIFdlYlBhc3RlYm9hcmRPdmVycmlkZXMuaCBpbiBIZWFkZXJzICov
LAogCQkJCTdDNDY5NEQxMUE1MUUzNjgwMEFENTg0NSAvKiBXZWJQYXN0ZWJvYXJkUHJveHkuaCBp
biBIZWFkZXJzICovLAogCQkJCTdDNDY5NENBMUE0QjRFQTEwMEFENTg0NSAvKiBXZWJQYXN0ZWJv
YXJkUHJveHlNZXNzYWdlcy5oIGluIEhlYWRlcnMgKi8sCisJCQkJNkIyRTA5QkExRTU3Qjg4MTAw
QzhBOEI5IC8qIENvcmVQcmVkaWN0aW9uU1BJLmggaW4gSGVhZGVycyAqLywKIAkJCQkxQUIxRjc5
NzFEMUIzNjEzMDA3QzlCRDEgLyogV2ViUGF5bWVudENvb3JkaW5hdG9yTWVzc2FnZXMuaCBpbiBI
ZWFkZXJzICovLAogCQkJCTFBQjFGNzhDMUQxQjMzNTUwMDdDOUJEMSAvKiBXZWJQYXltZW50Q29v
cmRpbmF0b3JQcm94eS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUFCMUY3N0UxRDFCMzBBOTAwN0M5
QkQxIC8qIFdlYlBheW1lbnRDb29yZGluYXRvclByb3h5Q29jb2EuaCBpbiBIZWFkZXJzICovLApA
QCAtODUxMyw2ICs4NTYyLDcgQEAKIAkJCQlCQzdCNjMzRDEyQTQ1RDEyMDBEMTc0QTQgLyogV0tC
dW5kbGVQYWdlR3JvdXAuaCBpbiBIZWFkZXJzICovLAogCQkJCTFBQjQ3NEQ4MTg0RDQzRkQwMDUx
QjYyMiAvKiBXS0J1bmRsZVBhZ2VMb2FkZXJDbGllbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUVE
ODJBN0YyMTI4QzZGQUYwMDQ0NzdCMyAvKiBXS0J1bmRsZVBhZ2VPdmVybGF5LmggaW4gSGVhZGVy
cyAqLywKKwkJCQk2QkU5NjlDRDFFNTRFMDU0MDA4Qjc0ODMgLyogUmVzb3VyY2VMb2FkU3RhdGlz
dGljc0NsYXNzaWZpZXJCYXNlLmggaW4gSGVhZGVycyAqLywKIAkJCQkxQUI0NzRFQTE4NEQ0NTEz
MDA1MUI2MjIgLyogV0tCdW5kbGVQYWdlUG9saWN5Q2xpZW50LmggaW4gSGVhZGVycyAqLywKIAkJ
CQlCQzFCNDE5ODExRDQxRDU3MDAxMUU4REQgLyogV0tCdW5kbGVQYWdlUHJpdmF0ZS5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJMUFCNDc0REExODRENDQyNTAwNTFCNjIyIC8qIFdLQnVuZGxlUGFnZVJl
c291cmNlTG9hZENsaWVudC5oIGluIEhlYWRlcnMgKi8sCkBAIC05MDQ2LDYgKzkwOTYsNyBAQAog
CQkJCTdBNUUzOTRBMUQ1QkQ4QkUwMEI0QjdDRSAvKiBjb20ubWFjcm9tZWRpYS5GbGFzaCBQbGF5
ZXIgRVNSLnBsdWdpbi5zYiBpbiBSZXNvdXJjZXMgKi8sCiAJCQkJOERDMkVGNTMwNDg2QTY5NDAw
OThCMjE2IC8qIEluZm9QbGlzdC5zdHJpbmdzIGluIFJlc291cmNlcyAqLywKIAkJCQk5M0EyQTM0
NjFEMjQ2MTI1MDAyQjU5RDMgLyogbWVkaWFJY29uLnBkZiBpbiBSZXNvdXJjZXMgKi8sCisJCQkJ
NkJFOTY5QzExRTU0RDQ1MjAwOEI3NDgzIC8qIGNvcmVQcmVkaWN0aW9uX21vZGVsIGluIFJlc291
cmNlcyAqLywKIAkJCSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0g
MDsKIAkJfTsKQEAgLTk2MzQsNiArOTY4NSw3IEBACiAJCQkJNTE3OTU1NjcxNjI4NzZDQjAwRkE0
M0I2IC8qIE5ldHdvcmtQcm9jZXNzTWFjLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJNTE2MzE5OTQx
NjI4OUE2MDAwRTIyRjAwIC8qIE5ldHdvcmtQcm9jZXNzTWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBT
b3VyY2VzICovLAogCQkJCUUxNEE5NTQ5MTZFMDE2QTQwMDY4REU4MiAvKiBOZXR3b3JrUHJvY2Vz
c1BsYXRmb3JtU3RyYXRlZ2llcy5jcHAgaW4gU291cmNlcyAqLywKKwkJCQk2QkU5NjlDQTFFNTRE
NENGMDA4Qjc0ODMgLyogUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXJDb2NvYS5jcHAg
aW4gU291cmNlcyAqLywKIAkJCQk1MTc5NTU2RDE2Mjg3N0IxMDBGQTQzQjYgLyogTmV0d29ya1By
b2Nlc3NQcm94eS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk1MTYzMTk5MjE2Mjg5ODBBMDBFMjJG
MDAgLyogTmV0d29ya1Byb2Nlc3NQcm94eU1hYy5tbSBpbiBTb3VyY2VzICovLAogCQkJCTUxM0Ex
NjNDMTYzMDg4RjYwMDVEN0QyMiAvKiBOZXR3b3JrUHJvY2Vzc1Byb3h5TWVzc2FnZVJlY2VpdmVy
LmNwcCBpbiBTb3VyY2VzICovLApAQCAtOTk3Nyw2ICsxMDAyOSw3IEBACiAJCQkJRDNCOTQ4NDYx
MUZGNEI2NTAwMDMyQjM5IC8qIFdlYlBvcHVwTWVudS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlC
Q0M0M0FDNzEyN0I5OURFMDAzMTdGMTYgLyogV2ViUG9wdXBNZW51TWFjLm1tIGluIFNvdXJjZXMg
Ki8sCiAJCQkJQkM1NzUwOTgxMjY4RjNDNjAwNkYwRjEyIC8qIFdlYlBvcHVwTWVudVByb3h5TWFj
Lm1tIGluIFNvdXJjZXMgKi8sCisJCQkJNkJFOTY5QzcxRTU0RDRCNjAwOEI3NDgzIC8qIFJlc291
cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQmFzZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlC
Q0Q1OTgwMDExMkI1N0JFMDBFQzhDMjMgLyogV2ViUHJlZmVyZW5jZXMuY3BwIGluIFNvdXJjZXMg
Ki8sCiAJCQkJN0M4NUZEN0YxOTM0MTY2NTAwMDE3N0M0IC8qIFdlYlByZWZlcmVuY2VzS2V5cy5j
cHAgaW4gU291cmNlcyAqLywKIAkJCQlCQzg0RUIxODEyQTcxMDBDMDA4M0YyREEgLyogV2ViUHJl
ZmVyZW5jZXNNYWMubW0gaW4gU291cmNlcyAqLywKSW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJldmlzaW9uIDIxMjU5NykKKysrIFRvb2xzL0No
YW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDMwIEBACisyMDE3LTAyLTE3ICBKb2hu
IFdpbGFuZGVyICA8d2lsYW5kZXJAYXBwbGUuY29tPgorCisgICAgICAgIFJlc291cmNlIExvYWQg
U3RhdGlzdGljczogQWRkIGFsdGVybmF0ZSBjbGFzc2lmaWNhdGlvbiBtZXRob2QKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2ODM0NworICAgICAgICA8
cmRhcjovL3Byb2JsZW0vMzAzNTI3OTM+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgQWRkZWQgdGhyZWUgdGVzdFJ1bm5lciBmdW5jdGlvbnMgdG8gZmFj
aWxpdGF0ZSBsYXlvdXQgdGVzdHM6CisgICAgICAgIC0gc2V0U3RhdGlzdGljc1N1YmZyYW1lVW5k
ZXJUb3BGcmFtZU9yaWdpbigpCisgICAgICAgIC0gc2V0U3RhdGlzdGljc1N1YnJlc291cmNlVW5k
ZXJUb3BGcmFtZU9yaWdpbigpCisgICAgICAgIC0gc2V0U3RhdGlzdGljc1N1YnJlc291cmNlVW5p
cXVlUmVkaXJlY3RUbygpCisKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVu
ZGxlL0JpbmRpbmdzL1Rlc3RSdW5uZXIuaWRsOgorICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIv
SW5qZWN0ZWRCdW5kbGUvVGVzdFJ1bm5lci5jcHA6CisgICAgICAgIChXVFI6OlRlc3RSdW5uZXI6
OnNldFN0YXRpc3RpY3NTdWJmcmFtZVVuZGVyVG9wRnJhbWVPcmlnaW4pOgorICAgICAgICAoV1RS
OjpUZXN0UnVubmVyOjpzZXRTdGF0aXN0aWNzU3VicmVzb3VyY2VVbmRlclRvcEZyYW1lT3JpZ2lu
KToKKyAgICAgICAgKFdUUjo6VGVzdFJ1bm5lcjo6c2V0U3RhdGlzdGljc1N1YnJlc291cmNlVW5p
cXVlUmVkaXJlY3RUbyk6CisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRs
ZS9UZXN0UnVubmVyLmg6CisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxl
ci5jcHA6CisgICAgICAgIChXVFI6OlRlc3RDb250cm9sbGVyOjpzZXRTdGF0aXN0aWNzU3ViZnJh
bWVVbmRlclRvcEZyYW1lT3JpZ2luKToKKyAgICAgICAgKFdUUjo6VGVzdENvbnRyb2xsZXI6OnNl
dFN0YXRpc3RpY3NTdWJyZXNvdXJjZVVuZGVyVG9wRnJhbWVPcmlnaW4pOgorICAgICAgICAoV1RS
OjpUZXN0Q29udHJvbGxlcjo6c2V0U3RhdGlzdGljc1N1YnJlc291cmNlVW5pcXVlUmVkaXJlY3RU
byk6CisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5oOgorICAgICAg
ICAqIFdlYktpdFRlc3RSdW5uZXIvVGVzdEludm9jYXRpb24uY3BwOgorICAgICAgICAoV1RSOjpU
ZXN0SW52b2NhdGlvbjo6ZGlkUmVjZWl2ZVN5bmNocm9ub3VzTWVzc2FnZUZyb21JbmplY3RlZEJ1
bmRsZSk6CisKIDIwMTctMDItMTcgIEFha2FzaCBKYWluICA8YWFrYXNoX2phaW5AYXBwbGUuY29t
PgogCiAgICAgICAgIEZpeCBmYWlsdXJlIGZyb20gcjIxMjU3OS4KSW5kZXg6IFRvb2xzL1dlYktp
dFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1dlYktp
dFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuY3BwCShyZXZpc2lvbiAyMTI1OTcpCisrKyBUb29s
cy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAt
MjIyOSw2ICsyMjI5LDIxIEBAIGJvb2wgVGVzdENvbnRyb2xsZXI6OmlzU3RhdGlzdGljc0hhc0hh
ZFUKICAgICByZXR1cm4gV0tSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdlcklzSGFzSGFkVXNl
ckludGVyYWN0aW9uKGhvc3ROYW1lKTsKIH0KIAordm9pZCBUZXN0Q29udHJvbGxlcjo6c2V0U3Rh
dGlzdGljc1N1YmZyYW1lVW5kZXJUb3BGcmFtZU9yaWdpbihXS1N0cmluZ1JlZiBob3N0TmFtZSwg
V0tTdHJpbmdSZWYgdG9wRnJhbWVIb3N0TmFtZSkKK3sKKyAgICBXS1Jlc291cmNlTG9hZFN0YXRp
c3RpY3NNYW5hZ2VyU2V0U3ViZnJhbWVVbmRlclRvcEZyYW1lT3JpZ2luKGhvc3ROYW1lLCB0b3BG
cmFtZUhvc3ROYW1lKTsKK30KKwordm9pZCBUZXN0Q29udHJvbGxlcjo6c2V0U3RhdGlzdGljc1N1
YnJlc291cmNlVW5kZXJUb3BGcmFtZU9yaWdpbihXS1N0cmluZ1JlZiBob3N0TmFtZSwgV0tTdHJp
bmdSZWYgdG9wRnJhbWVIb3N0TmFtZSkKK3sKKyAgICBXS1Jlc291cmNlTG9hZFN0YXRpc3RpY3NN
YW5hZ2VyU2V0U3VicmVzb3VyY2VVbmRlclRvcEZyYW1lT3JpZ2luKGhvc3ROYW1lLCB0b3BGcmFt
ZUhvc3ROYW1lKTsKK30KKyAgICAKK3ZvaWQgVGVzdENvbnRyb2xsZXI6OnNldFN0YXRpc3RpY3NT
dWJyZXNvdXJjZVVuaXF1ZVJlZGlyZWN0VG8oV0tTdHJpbmdSZWYgaG9zdE5hbWUsIFdLU3RyaW5n
UmVmIGhvc3ROYW1lUmVkaXJlY3RlZFRvKQoreworICAgIFdLUmVzb3VyY2VMb2FkU3RhdGlzdGlj
c01hbmFnZXJTZXRTdWJyZXNvdXJjZVVuaXF1ZVJlZGlyZWN0VG8oaG9zdE5hbWUsIGhvc3ROYW1l
UmVkaXJlY3RlZFRvKTsKK30KKwogdm9pZCBUZXN0Q29udHJvbGxlcjo6c2V0U3RhdGlzdGljc1Rp
bWVUb0xpdmVVc2VySW50ZXJhY3Rpb24oZG91YmxlIHNlY29uZHMpCiB7CiAgICAgV0tSZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzTWFuYWdlclNldFRpbWVUb0xpdmVVc2VySW50ZXJhY3Rpb24oc2Vjb25k
cyk7CkluZGV4OiBUb29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmgKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5oCShyZXZpc2lv
biAyMTI1OTcpCisrKyBUb29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmgJKHdv
cmtpbmcgY29weSkKQEAgLTE1Miw2ICsxNTIsOSBAQCBwdWJsaWM6CiAgICAgYm9vbCBpc1N0YXRp
c3RpY3NQcmV2YWxlbnRSZXNvdXJjZShXS1N0cmluZ1JlZiBob3N0TmFtZSk7CiAgICAgdm9pZCBz
ZXRTdGF0aXN0aWNzSGFzSGFkVXNlckludGVyYWN0aW9uKFdLU3RyaW5nUmVmIGhvc3ROYW1lLCBi
b29sIHZhbHVlKTsKICAgICBib29sIGlzU3RhdGlzdGljc0hhc0hhZFVzZXJJbnRlcmFjdGlvbihX
S1N0cmluZ1JlZiBob3N0TmFtZSk7CisgICAgdm9pZCBzZXRTdGF0aXN0aWNzU3ViZnJhbWVVbmRl
clRvcEZyYW1lT3JpZ2luKFdLU3RyaW5nUmVmIGhvc3ROYW1lLCBXS1N0cmluZ1JlZiB0b3BGcmFt
ZUhvc3ROYW1lKTsKKyAgICB2b2lkIHNldFN0YXRpc3RpY3NTdWJyZXNvdXJjZVVuZGVyVG9wRnJh
bWVPcmlnaW4oV0tTdHJpbmdSZWYgaG9zdE5hbWUsIFdLU3RyaW5nUmVmIHRvcEZyYW1lSG9zdE5h
bWUpOworICAgIHZvaWQgc2V0U3RhdGlzdGljc1N1YnJlc291cmNlVW5pcXVlUmVkaXJlY3RUbyhX
S1N0cmluZ1JlZiBob3N0TmFtZSwgV0tTdHJpbmdSZWYgaG9zdE5hbWVSZWRpcmVjdGVkVG8pOwog
ICAgIHZvaWQgc2V0U3RhdGlzdGljc1RpbWVUb0xpdmVVc2VySW50ZXJhY3Rpb24oZG91YmxlIHNl
Y29uZHMpOwogICAgIHZvaWQgc3RhdGlzdGljc0ZpcmVEYXRhTW9kaWZpY2F0aW9uSGFuZGxlcigp
OwogICAgIHZvaWQgc2V0U3RhdGlzdGljc05vdGlmeVBhZ2VzV2hlbkRhdGFSZWNvcmRzV2VyZVNj
YW5uZWQoYm9vbCk7CkluZGV4OiBUb29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RJbnZvY2F0aW9u
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBUb29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RJbnZvY2F0aW9u
LmNwcAkocmV2aXNpb24gMjEyNTk3KQorKysgVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0SW52
b2NhdGlvbi5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTkzMiw2ICs5MzIsNDggQEAgV0tSZXRhaW5Q
dHI8V0tUeXBlUmVmPiBUZXN0SW52b2NhdGlvbjo6ZAogICAgICAgICByZXR1cm4gcmVzdWx0Owog
ICAgIH0KICAgICAKKyAgICBpZiAoV0tTdHJpbmdJc0VxdWFsVG9VVEY4Q1N0cmluZyhtZXNzYWdl
TmFtZSwgIlNldFN0YXRpc3RpY3NTdWJmcmFtZVVuZGVyVG9wRnJhbWVPcmlnaW4iKSkgeworICAg
ICAgICBBU1NFUlQoV0tHZXRUeXBlSUQobWVzc2FnZUJvZHkpID09IFdLRGljdGlvbmFyeUdldFR5
cGVJRCgpKTsKKyAgICAgICAgCisgICAgICAgIFdLRGljdGlvbmFyeVJlZiBtZXNzYWdlQm9keURp
Y3Rpb25hcnkgPSBzdGF0aWNfY2FzdDxXS0RpY3Rpb25hcnlSZWY+KG1lc3NhZ2VCb2R5KTsKKyAg
ICAgICAgV0tSZXRhaW5QdHI8V0tTdHJpbmdSZWY+IGhvc3ROYW1lS2V5KEFkb3B0V0ssIFdLU3Ry
aW5nQ3JlYXRlV2l0aFVURjhDU3RyaW5nKCJIb3N0TmFtZSIpKTsKKyAgICAgICAgV0tSZXRhaW5Q
dHI8V0tTdHJpbmdSZWY+IHRvcEZyYW1lSG9zdE5hbWVLZXkoQWRvcHRXSywgV0tTdHJpbmdDcmVh
dGVXaXRoVVRGOENTdHJpbmcoIlRvcEZyYW1lSG9zdE5hbWUiKSk7CisgICAgICAgIAorICAgICAg
ICBXS1N0cmluZ1JlZiBob3N0TmFtZSA9IHN0YXRpY19jYXN0PFdLU3RyaW5nUmVmPihXS0RpY3Rp
b25hcnlHZXRJdGVtRm9yS2V5KG1lc3NhZ2VCb2R5RGljdGlvbmFyeSwgaG9zdE5hbWVLZXkuZ2V0
KCkpKTsKKyAgICAgICAgV0tTdHJpbmdSZWYgdG9wRnJhbWVIb3N0TmFtZSA9IHN0YXRpY19jYXN0
PFdLU3RyaW5nUmVmPihXS0RpY3Rpb25hcnlHZXRJdGVtRm9yS2V5KG1lc3NhZ2VCb2R5RGljdGlv
bmFyeSwgdG9wRnJhbWVIb3N0TmFtZUtleS5nZXQoKSkpOworCisgICAgICAgIFRlc3RDb250cm9s
bGVyOjpzaW5nbGV0b24oKS5zZXRTdGF0aXN0aWNzU3ViZnJhbWVVbmRlclRvcEZyYW1lT3JpZ2lu
KGhvc3ROYW1lLCB0b3BGcmFtZUhvc3ROYW1lKTsKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7Cisg
ICAgfQorICAgIAorICAgIGlmIChXS1N0cmluZ0lzRXF1YWxUb1VURjhDU3RyaW5nKG1lc3NhZ2VO
YW1lLCAiU2V0U3RhdGlzdGljc1N1YnJlc291cmNlVW5kZXJUb3BGcmFtZU9yaWdpbiIpKSB7Cisg
ICAgICAgIEFTU0VSVChXS0dldFR5cGVJRChtZXNzYWdlQm9keSkgPT0gV0tEaWN0aW9uYXJ5R2V0
VHlwZUlEKCkpOworICAgICAgICAKKyAgICAgICAgV0tEaWN0aW9uYXJ5UmVmIG1lc3NhZ2VCb2R5
RGljdGlvbmFyeSA9IHN0YXRpY19jYXN0PFdLRGljdGlvbmFyeVJlZj4obWVzc2FnZUJvZHkpOwor
ICAgICAgICBXS1JldGFpblB0cjxXS1N0cmluZ1JlZj4gaG9zdE5hbWVLZXkoQWRvcHRXSywgV0tT
dHJpbmdDcmVhdGVXaXRoVVRGOENTdHJpbmcoIkhvc3ROYW1lIikpOworICAgICAgICBXS1JldGFp
blB0cjxXS1N0cmluZ1JlZj4gdG9wRnJhbWVIb3N0TmFtZUtleShBZG9wdFdLLCBXS1N0cmluZ0Ny
ZWF0ZVdpdGhVVEY4Q1N0cmluZygiVG9wRnJhbWVIb3N0TmFtZSIpKTsKKyAgICAgICAgCisgICAg
ICAgIFdLU3RyaW5nUmVmIGhvc3ROYW1lID0gc3RhdGljX2Nhc3Q8V0tTdHJpbmdSZWY+KFdLRGlj
dGlvbmFyeUdldEl0ZW1Gb3JLZXkobWVzc2FnZUJvZHlEaWN0aW9uYXJ5LCBob3N0TmFtZUtleS5n
ZXQoKSkpOworICAgICAgICBXS1N0cmluZ1JlZiB0b3BGcmFtZUhvc3ROYW1lID0gc3RhdGljX2Nh
c3Q8V0tTdHJpbmdSZWY+KFdLRGljdGlvbmFyeUdldEl0ZW1Gb3JLZXkobWVzc2FnZUJvZHlEaWN0
aW9uYXJ5LCB0b3BGcmFtZUhvc3ROYW1lS2V5LmdldCgpKSk7CisgICAgICAgIAorICAgICAgICBU
ZXN0Q29udHJvbGxlcjo6c2luZ2xldG9uKCkuc2V0U3RhdGlzdGljc1N1YnJlc291cmNlVW5kZXJU
b3BGcmFtZU9yaWdpbihob3N0TmFtZSwgdG9wRnJhbWVIb3N0TmFtZSk7CisgICAgICAgIHJldHVy
biBudWxscHRyOworICAgIH0KKyAgICAKKyAgICBpZiAoV0tTdHJpbmdJc0VxdWFsVG9VVEY4Q1N0
cmluZyhtZXNzYWdlTmFtZSwgIlNldFN0YXRpc3RpY3NTdWJyZXNvdXJjZVVuaXF1ZVJlZGlyZWN0
VG8iKSkgeworICAgICAgICBBU1NFUlQoV0tHZXRUeXBlSUQobWVzc2FnZUJvZHkpID09IFdLRGlj
dGlvbmFyeUdldFR5cGVJRCgpKTsKKyAgICAgICAgCisgICAgICAgIFdLRGljdGlvbmFyeVJlZiBt
ZXNzYWdlQm9keURpY3Rpb25hcnkgPSBzdGF0aWNfY2FzdDxXS0RpY3Rpb25hcnlSZWY+KG1lc3Nh
Z2VCb2R5KTsKKyAgICAgICAgV0tSZXRhaW5QdHI8V0tTdHJpbmdSZWY+IGhvc3ROYW1lS2V5KEFk
b3B0V0ssIFdLU3RyaW5nQ3JlYXRlV2l0aFVURjhDU3RyaW5nKCJIb3N0TmFtZSIpKTsKKyAgICAg
ICAgV0tSZXRhaW5QdHI8V0tTdHJpbmdSZWY+IGhvc3ROYW1lUmVkaXJlY3RlZFRvS2V5KEFkb3B0
V0ssIFdLU3RyaW5nQ3JlYXRlV2l0aFVURjhDU3RyaW5nKCJIb3N0TmFtZVJlZGlyZWN0ZWRUbyIp
KTsKKyAgICAgICAgCisgICAgICAgIFdLU3RyaW5nUmVmIGhvc3ROYW1lID0gc3RhdGljX2Nhc3Q8
V0tTdHJpbmdSZWY+KFdLRGljdGlvbmFyeUdldEl0ZW1Gb3JLZXkobWVzc2FnZUJvZHlEaWN0aW9u
YXJ5LCBob3N0TmFtZUtleS5nZXQoKSkpOworICAgICAgICBXS1N0cmluZ1JlZiBob3N0TmFtZVJl
ZGlyZWN0ZWRUbyA9IHN0YXRpY19jYXN0PFdLU3RyaW5nUmVmPihXS0RpY3Rpb25hcnlHZXRJdGVt
Rm9yS2V5KG1lc3NhZ2VCb2R5RGljdGlvbmFyeSwgaG9zdE5hbWVSZWRpcmVjdGVkVG9LZXkuZ2V0
KCkpKTsKKyAgICAgICAgCisgICAgICAgIFRlc3RDb250cm9sbGVyOjpzaW5nbGV0b24oKS5zZXRT
dGF0aXN0aWNzU3VicmVzb3VyY2VVbmlxdWVSZWRpcmVjdFRvKGhvc3ROYW1lLCBob3N0TmFtZVJl
ZGlyZWN0ZWRUbyk7CisgICAgICAgIHJldHVybiBudWxscHRyOworICAgIH0KKwogICAgIGlmIChX
S1N0cmluZ0lzRXF1YWxUb1VURjhDU3RyaW5nKG1lc3NhZ2VOYW1lLCAiU2V0U3RhdGlzdGljc1Rp
bWVUb0xpdmVVc2VySW50ZXJhY3Rpb24iKSkgewogICAgICAgICBBU1NFUlQoV0tHZXRUeXBlSUQo
bWVzc2FnZUJvZHkpID09IFdLRG91YmxlR2V0VHlwZUlEKCkpOwogICAgICAgICBXS0RvdWJsZVJl
ZiBzZWNvbmRzID0gc3RhdGljX2Nhc3Q8V0tEb3VibGVSZWY+KG1lc3NhZ2VCb2R5KTsKSW5kZXg6
IFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvVGVzdFJ1bm5lci5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9UZXN0UnVu
bmVyLmNwcAkocmV2aXNpb24gMjEyNTk3KQorKysgVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9Jbmpl
Y3RlZEJ1bmRsZS9UZXN0UnVubmVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTIyNiw2ICsxMjI2
LDg0IEBAIGJvb2wgVGVzdFJ1bm5lcjo6aXNTdGF0aXN0aWNzSGFzSGFkVXNlckkKICAgICByZXR1
cm4gV0tCb29sZWFuR2V0VmFsdWUoc3RhdGljX2Nhc3Q8V0tCb29sZWFuUmVmPihyZXR1cm5EYXRh
KSk7CiB9CiAKK3ZvaWQgVGVzdFJ1bm5lcjo6c2V0U3RhdGlzdGljc1N1YmZyYW1lVW5kZXJUb3BG
cmFtZU9yaWdpbihKU1N0cmluZ1JlZiBob3N0TmFtZSwgSlNTdHJpbmdSZWYgdG9wRnJhbWVIb3N0
TmFtZSkKK3sKKyAgICBWZWN0b3I8V0tSZXRhaW5QdHI8V0tTdHJpbmdSZWY+PiBrZXlzOworICAg
IFZlY3RvcjxXS1JldGFpblB0cjxXS1R5cGVSZWY+PiB2YWx1ZXM7CisgICAgCisgICAga2V5cy5h
cHBlbmQoeyBBZG9wdFdLLCBXS1N0cmluZ0NyZWF0ZVdpdGhVVEY4Q1N0cmluZygiSG9zdE5hbWUi
KSB9KTsKKyAgICB2YWx1ZXMuYXBwZW5kKHsgQWRvcHRXSywgV0tTdHJpbmdDcmVhdGVXaXRoSlNT
dHJpbmcoaG9zdE5hbWUpIH0pOworICAgIAorICAgIGtleXMuYXBwZW5kKHsgQWRvcHRXSywgV0tT
dHJpbmdDcmVhdGVXaXRoVVRGOENTdHJpbmcoIlRvcEZyYW1lSG9zdE5hbWUiKSB9KTsKKyAgICB2
YWx1ZXMuYXBwZW5kKHsgQWRvcHRXSywgV0tTdHJpbmdDcmVhdGVXaXRoSlNTdHJpbmcodG9wRnJh
bWVIb3N0TmFtZSkgfSk7CisgICAgCisgICAgVmVjdG9yPFdLU3RyaW5nUmVmPiByYXdLZXlzOwor
ICAgIFZlY3RvcjxXS1R5cGVSZWY+IHJhd1ZhbHVlczsKKyAgICByYXdLZXlzLnJlc2l6ZShrZXlz
LnNpemUoKSk7CisgICAgcmF3VmFsdWVzLnJlc2l6ZSh2YWx1ZXMuc2l6ZSgpKTsKKyAgICAKKyAg
ICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IGtleXMuc2l6ZSgpOyArK2kpIHsKKyAgICAgICAgcmF3
S2V5c1tpXSA9IGtleXNbaV0uZ2V0KCk7CisgICAgICAgIHJhd1ZhbHVlc1tpXSA9IHZhbHVlc1tp
XS5nZXQoKTsKKyAgICB9CisgICAgCisgICAgV0tSZXRhaW5QdHI8V0tTdHJpbmdSZWY+IG1lc3Nh
Z2VOYW1lKEFkb3B0V0ssIFdLU3RyaW5nQ3JlYXRlV2l0aFVURjhDU3RyaW5nKCJTZXRTdGF0aXN0
aWNzU3ViZnJhbWVVbmRlclRvcEZyYW1lT3JpZ2luIikpOworICAgIFdLUmV0YWluUHRyPFdLRGlj
dGlvbmFyeVJlZj4gbWVzc2FnZUJvZHkoQWRvcHRXSywgV0tEaWN0aW9uYXJ5Q3JlYXRlKHJhd0tl
eXMuZGF0YSgpLCByYXdWYWx1ZXMuZGF0YSgpLCByYXdLZXlzLnNpemUoKSkpOworICAgIFdLQnVu
ZGxlUG9zdFN5bmNocm9ub3VzTWVzc2FnZShJbmplY3RlZEJ1bmRsZTo6c2luZ2xldG9uKCkuYnVu
ZGxlKCksIG1lc3NhZ2VOYW1lLmdldCgpLCBtZXNzYWdlQm9keS5nZXQoKSwgbnVsbHB0cik7Cit9
CisKK3ZvaWQgVGVzdFJ1bm5lcjo6c2V0U3RhdGlzdGljc1N1YnJlc291cmNlVW5kZXJUb3BGcmFt
ZU9yaWdpbihKU1N0cmluZ1JlZiBob3N0TmFtZSwgSlNTdHJpbmdSZWYgdG9wRnJhbWVIb3N0TmFt
ZSkKK3sKKyAgICBWZWN0b3I8V0tSZXRhaW5QdHI8V0tTdHJpbmdSZWY+PiBrZXlzOworICAgIFZl
Y3RvcjxXS1JldGFpblB0cjxXS1R5cGVSZWY+PiB2YWx1ZXM7CisgICAgCisgICAga2V5cy5hcHBl
bmQoeyBBZG9wdFdLLCBXS1N0cmluZ0NyZWF0ZVdpdGhVVEY4Q1N0cmluZygiSG9zdE5hbWUiKSB9
KTsKKyAgICB2YWx1ZXMuYXBwZW5kKHsgQWRvcHRXSywgV0tTdHJpbmdDcmVhdGVXaXRoSlNTdHJp
bmcoaG9zdE5hbWUpIH0pOworICAgIAorICAgIGtleXMuYXBwZW5kKHsgQWRvcHRXSywgV0tTdHJp
bmdDcmVhdGVXaXRoVVRGOENTdHJpbmcoIlRvcEZyYW1lSG9zdE5hbWUiKSB9KTsKKyAgICB2YWx1
ZXMuYXBwZW5kKHsgQWRvcHRXSywgV0tTdHJpbmdDcmVhdGVXaXRoSlNTdHJpbmcodG9wRnJhbWVI
b3N0TmFtZSkgfSk7CisgICAgCisgICAgVmVjdG9yPFdLU3RyaW5nUmVmPiByYXdLZXlzOworICAg
IFZlY3RvcjxXS1R5cGVSZWY+IHJhd1ZhbHVlczsKKyAgICByYXdLZXlzLnJlc2l6ZShrZXlzLnNp
emUoKSk7CisgICAgcmF3VmFsdWVzLnJlc2l6ZSh2YWx1ZXMuc2l6ZSgpKTsKKyAgICAKKyAgICBm
b3IgKHNpemVfdCBpID0gMDsgaSA8IGtleXMuc2l6ZSgpOyArK2kpIHsKKyAgICAgICAgcmF3S2V5
c1tpXSA9IGtleXNbaV0uZ2V0KCk7CisgICAgICAgIHJhd1ZhbHVlc1tpXSA9IHZhbHVlc1tpXS5n
ZXQoKTsKKyAgICB9CisgICAgCisgICAgV0tSZXRhaW5QdHI8V0tTdHJpbmdSZWY+IG1lc3NhZ2VO
YW1lKEFkb3B0V0ssIFdLU3RyaW5nQ3JlYXRlV2l0aFVURjhDU3RyaW5nKCJTZXRTdGF0aXN0aWNz
U3VicmVzb3VyY2VVbmRlclRvcEZyYW1lT3JpZ2luIikpOworICAgIFdLUmV0YWluUHRyPFdLRGlj
dGlvbmFyeVJlZj4gbWVzc2FnZUJvZHkoQWRvcHRXSywgV0tEaWN0aW9uYXJ5Q3JlYXRlKHJhd0tl
eXMuZGF0YSgpLCByYXdWYWx1ZXMuZGF0YSgpLCByYXdLZXlzLnNpemUoKSkpOworICAgIFdLQnVu
ZGxlUG9zdFN5bmNocm9ub3VzTWVzc2FnZShJbmplY3RlZEJ1bmRsZTo6c2luZ2xldG9uKCkuYnVu
ZGxlKCksIG1lc3NhZ2VOYW1lLmdldCgpLCBtZXNzYWdlQm9keS5nZXQoKSwgbnVsbHB0cik7Cit9
CisKK3ZvaWQgVGVzdFJ1bm5lcjo6c2V0U3RhdGlzdGljc1N1YnJlc291cmNlVW5pcXVlUmVkaXJl
Y3RUbyhKU1N0cmluZ1JlZiBob3N0TmFtZSwgSlNTdHJpbmdSZWYgaG9zdE5hbWVSZWRpcmVjdGVk
VG8pCit7CisgICAgVmVjdG9yPFdLUmV0YWluUHRyPFdLU3RyaW5nUmVmPj4ga2V5czsKKyAgICBW
ZWN0b3I8V0tSZXRhaW5QdHI8V0tUeXBlUmVmPj4gdmFsdWVzOworICAgIAorICAgIGtleXMuYXBw
ZW5kKHsgQWRvcHRXSywgV0tTdHJpbmdDcmVhdGVXaXRoVVRGOENTdHJpbmcoIkhvc3ROYW1lIikg
fSk7CisgICAgdmFsdWVzLmFwcGVuZCh7IEFkb3B0V0ssIFdLU3RyaW5nQ3JlYXRlV2l0aEpTU3Ry
aW5nKGhvc3ROYW1lKSB9KTsKKyAgICAKKyAgICBrZXlzLmFwcGVuZCh7IEFkb3B0V0ssIFdLU3Ry
aW5nQ3JlYXRlV2l0aFVURjhDU3RyaW5nKCJIb3N0TmFtZVJlZGlyZWN0ZWRUbyIpIH0pOworICAg
IHZhbHVlcy5hcHBlbmQoeyBBZG9wdFdLLCBXS1N0cmluZ0NyZWF0ZVdpdGhKU1N0cmluZyhob3N0
TmFtZVJlZGlyZWN0ZWRUbykgfSk7CisgICAgCisgICAgVmVjdG9yPFdLU3RyaW5nUmVmPiByYXdL
ZXlzOworICAgIFZlY3RvcjxXS1R5cGVSZWY+IHJhd1ZhbHVlczsKKyAgICByYXdLZXlzLnJlc2l6
ZShrZXlzLnNpemUoKSk7CisgICAgcmF3VmFsdWVzLnJlc2l6ZSh2YWx1ZXMuc2l6ZSgpKTsKKyAg
ICAKKyAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IGtleXMuc2l6ZSgpOyArK2kpIHsKKyAgICAg
ICAgcmF3S2V5c1tpXSA9IGtleXNbaV0uZ2V0KCk7CisgICAgICAgIHJhd1ZhbHVlc1tpXSA9IHZh
bHVlc1tpXS5nZXQoKTsKKyAgICB9CisgICAgCisgICAgV0tSZXRhaW5QdHI8V0tTdHJpbmdSZWY+
IG1lc3NhZ2VOYW1lKEFkb3B0V0ssIFdLU3RyaW5nQ3JlYXRlV2l0aFVURjhDU3RyaW5nKCJTZXRT
dGF0aXN0aWNzU3VicmVzb3VyY2VVbmlxdWVSZWRpcmVjdFRvIikpOworICAgIFdLUmV0YWluUHRy
PFdLRGljdGlvbmFyeVJlZj4gbWVzc2FnZUJvZHkoQWRvcHRXSywgV0tEaWN0aW9uYXJ5Q3JlYXRl
KHJhd0tleXMuZGF0YSgpLCByYXdWYWx1ZXMuZGF0YSgpLCByYXdLZXlzLnNpemUoKSkpOworICAg
IFdLQnVuZGxlUG9zdFN5bmNocm9ub3VzTWVzc2FnZShJbmplY3RlZEJ1bmRsZTo6c2luZ2xldG9u
KCkuYnVuZGxlKCksIG1lc3NhZ2VOYW1lLmdldCgpLCBtZXNzYWdlQm9keS5nZXQoKSwgbnVsbHB0
cik7Cit9CisKIHZvaWQgVGVzdFJ1bm5lcjo6c2V0U3RhdGlzdGljc1RpbWVUb0xpdmVVc2VySW50
ZXJhY3Rpb24oZG91YmxlIHNlY29uZHMpCiB7CiAgICAgV0tSZXRhaW5QdHI8V0tTdHJpbmdSZWY+
IG1lc3NhZ2VOYW1lKEFkb3B0V0ssIFdLU3RyaW5nQ3JlYXRlV2l0aFVURjhDU3RyaW5nKCJTZXRT
dGF0aXN0aWNzVGltZVRvTGl2ZVVzZXJJbnRlcmFjdGlvbiIpKTsKSW5kZXg6IFRvb2xzL1dlYktp
dFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvVGVzdFJ1bm5lci5oCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRv
b2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvVGVzdFJ1bm5lci5oCShyZXZpc2lv
biAyMTI1OTcpCisrKyBUb29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL1Rlc3RS
dW5uZXIuaAkod29ya2luZyBjb3B5KQpAQCAtMzU0LDYgKzM1NCw5IEBAIHB1YmxpYzoKICAgICBi
b29sIGlzU3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNlKEpTU3RyaW5nUmVmIGhvc3ROYW1lKTsK
ICAgICB2b2lkIHNldFN0YXRpc3RpY3NIYXNIYWRVc2VySW50ZXJhY3Rpb24oSlNTdHJpbmdSZWYg
aG9zdE5hbWUsIGJvb2wgdmFsdWUpOwogICAgIGJvb2wgaXNTdGF0aXN0aWNzSGFzSGFkVXNlcklu
dGVyYWN0aW9uKEpTU3RyaW5nUmVmIGhvc3ROYW1lKTsKKyAgICB2b2lkIHNldFN0YXRpc3RpY3NT
dWJmcmFtZVVuZGVyVG9wRnJhbWVPcmlnaW4oSlNTdHJpbmdSZWYgaG9zdE5hbWUsIEpTU3RyaW5n
UmVmIHRvcEZyYW1lSG9zdE5hbWUpOworICAgIHZvaWQgc2V0U3RhdGlzdGljc1N1YnJlc291cmNl
VW5kZXJUb3BGcmFtZU9yaWdpbihKU1N0cmluZ1JlZiBob3N0TmFtZSwgSlNTdHJpbmdSZWYgdG9w
RnJhbWVIb3N0TmFtZSk7CisgICAgdm9pZCBzZXRTdGF0aXN0aWNzU3VicmVzb3VyY2VVbmlxdWVS
ZWRpcmVjdFRvKEpTU3RyaW5nUmVmIGhvc3ROYW1lLCBKU1N0cmluZ1JlZiBob3N0TmFtZVJlZGly
ZWN0ZWRUbyk7CiAgICAgdm9pZCBzZXRTdGF0aXN0aWNzVGltZVRvTGl2ZVVzZXJJbnRlcmFjdGlv
bihkb3VibGUgc2Vjb25kcyk7CiAgICAgdm9pZCBzZXRTdGF0aXN0aWNzTm90aWZ5UGFnZXNXaGVu
RGF0YVJlY29yZHNXZXJlU2Nhbm5lZChib29sKTsKICAgICB2b2lkIHNldFN0YXRpc3RpY3NTaG91
bGRDbGFzc2lmeVJlc291cmNlc0JlZm9yZURhdGFSZWNvcmRzUmVtb3ZhbChib29sKTsKSW5kZXg6
IFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvQmluZGluZ3MvVGVzdFJ1bm5l
ci5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRs
ZS9CaW5kaW5ncy9UZXN0UnVubmVyLmlkbAkocmV2aXNpb24gMjEyNTk3KQorKysgVG9vbHMvV2Vi
S2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9CaW5kaW5ncy9UZXN0UnVubmVyLmlkbAkod29y
a2luZyBjb3B5KQpAQCAtMjUzLDYgKzI1Myw5IEBAIGludGVyZmFjZSBUZXN0UnVubmVyIHsKICAg
ICBib29sZWFuIGlzU3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNlKERPTVN0cmluZyBob3N0TmFt
ZSk7CiAgICAgdm9pZCBzZXRTdGF0aXN0aWNzSGFzSGFkVXNlckludGVyYWN0aW9uKERPTVN0cmlu
ZyBob3N0TmFtZSwgYm9vbGVhbiB2YWx1ZSk7CiAgICAgYm9vbGVhbiBpc1N0YXRpc3RpY3NIYXNI
YWRVc2VySW50ZXJhY3Rpb24oRE9NU3RyaW5nIGhvc3ROYW1lKTsKKyAgICB2b2lkIHNldFN0YXRp
c3RpY3NTdWJmcmFtZVVuZGVyVG9wRnJhbWVPcmlnaW4oRE9NU3RyaW5nIGhvc3ROYW1lLCBET01T
dHJpbmcgdG9wRnJhbWVIb3N0TmFtZSk7CisgICAgdm9pZCBzZXRTdGF0aXN0aWNzU3VicmVzb3Vy
Y2VVbmRlclRvcEZyYW1lT3JpZ2luKERPTVN0cmluZyBob3N0TmFtZSwgRE9NU3RyaW5nIHRvcEZy
YW1lSG9zdE5hbWUpOworICAgIHZvaWQgc2V0U3RhdGlzdGljc1N1YnJlc291cmNlVW5pcXVlUmVk
aXJlY3RUbyhET01TdHJpbmcgaG9zdE5hbWUsIERPTVN0cmluZyBob3N0TmFtZVJlZGlyZWN0ZWRU
byk7CiAgICAgdm9pZCBzZXRTdGF0aXN0aWNzVGltZVRvTGl2ZVVzZXJJbnRlcmFjdGlvbihkb3Vi
bGUgc2Vjb25kcyk7CiAgICAgdm9pZCBzdGF0aXN0aWNzRmlyZURhdGFNb2RpZmljYXRpb25IYW5k
bGVyKCk7CiAgICAgdm9pZCBzZXRTdGF0aXN0aWNzTm90aWZ5UGFnZXNXaGVuRGF0YVJlY29yZHNX
ZXJlU2Nhbm5lZChib29sZWFuIHZhbHVlKTsKSW5kZXg6IFdlYktpdExpYnJhcmllcy9DaGFuZ2VM
b2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gV2ViS2l0TGlicmFyaWVzL0NoYW5nZUxvZwkocmV2aXNpb24gMjEy
NTk3KQorKysgV2ViS2l0TGlicmFyaWVzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDE1IEBACisyMDE3LTAyLTE3ICBKb2huIFdpbGFuZGVyICA8d2lsYW5kZXJAYXBwbGUuY29t
PgorCisgICAgICAgIFJlc291cmNlIExvYWQgU3RhdGlzdGljczogQWRkIGFsdGVybmF0ZSBjbGFz
c2lmaWNhdGlvbiBtZXRob2QKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTE2ODM0NworICAgICAgICA8cmRhcjovL3Byb2JsZW0vMzAzNTI3OTM+CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXZWJLaXRQcml2
YXRlRnJhbWV3b3JrU3R1YnMvaU9TLzEwL0NvcmVQcmVkaWN0aW9uLmZyYW1ld29yazogQWRkZWQu
CisgICAgICAgICogV2ViS2l0UHJpdmF0ZUZyYW1ld29ya1N0dWJzL2lPUy8xMC9Db3JlUHJlZGlj
dGlvbi5mcmFtZXdvcmsvQ29yZVByZWRpY3Rpb24udGRiOiBBZGRlZC4KKyAgICAgICAgICAgIFN0
dWJzIGZvciBwcml2YXRlIGZyYW1ld29yay4KKwogMjAxNy0wMS0xMiAgQW5kcmVhcyBLbGluZyAg
PGFrbGluZ0BhcHBsZS5jb20+CiAKICAgICAgICAgW2lPU10gUHVyZ2UgR3JhcGhpY3NTZXJ2aWNl
cyBmb250IGNhY2hlIG9uIG1lbW9yeSB3YXJuaW5nLgpJbmRleDogV2ViS2l0TGlicmFyaWVzL1dl
YktpdFByaXZhdGVGcmFtZXdvcmtTdHVicy9pT1MvMTAvQ29yZVByZWRpY3Rpb24uZnJhbWV3b3Jr
L0NvcmVQcmVkaWN0aW9uLnRkYgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXRMaWJyYXJpZXMvV2ViS2l0
UHJpdmF0ZUZyYW1ld29ya1N0dWJzL2lPUy8xMC9Db3JlUHJlZGljdGlvbi5mcmFtZXdvcmsvQ29y
ZVByZWRpY3Rpb24udGRiCShub25leGlzdGVudCkKKysrIFdlYktpdExpYnJhcmllcy9XZWJLaXRQ
cml2YXRlRnJhbWV3b3JrU3R1YnMvaU9TLzEwL0NvcmVQcmVkaWN0aW9uLmZyYW1ld29yay9Db3Jl
UHJlZGljdGlvbi50ZGIJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwxOSBAQAorLS0tICF0YXBp
LXRiZC12MgorYXJjaHM6CisgIC0gYXJtdjcKKyAgLSBhcm12N3MKKyAgLSBhcm02NAorZXhwb3J0
czoKKyAgLQorICAgIGFyY2hzOgorICAgICAgLSBhcm12NworICAgICAgLSBhcm12N3MKKyAgICAg
IC0gYXJtNjQKKyAgICBzeW1ib2xzOgorICAgICAgLSBfc3ZtX25vZGUKKyAgICAgIC0gX3N2bV9t
b2RlbAorICAgICAgLSBfc3ZtX3ByZWRpY3RfdmFsdWVzCitpbnN0YWxsLW5hbWU6IC9TeXN0ZW0v
TGlicmFyeS9Qcml2YXRlRnJhbWV3b3Jrcy9Db3JlUHJlZGljdGlvbi5mcmFtZXdvcmsKK29iamMt
Y29uc3RyYWludDogbm9uZQorcGxhdGZvcm06IGlvcworLi4uCkluZGV4OiBMYXlvdXRUZXN0cy9D
aGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCShyZXZpc2lvbiAy
MTI1OTcpCisrKyBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyAr
MSwzMyBAQAorMjAxNy0wMi0xNyAgSm9obiBXaWxhbmRlciAgPHdpbGFuZGVyQGFwcGxlLmNvbT4K
KworICAgICAgICBSZXNvdXJjZSBMb2FkIFN0YXRpc3RpY3M6IEFkZCBhbHRlcm5hdGUgY2xhc3Np
ZmljYXRpb24gbWV0aG9kCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xNjgzNDcKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzMwMzUyNzkzPgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogaHR0cC90ZXN0cy9s
b2FkaW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtbm9uLXByZXZhbGVudC1i
YXNlZC1vbi1taXhlZC1zdGF0aXN0aWNzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
aHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtbm9u
LXByZXZhbGVudC1iYXNlZC1vbi1taXhlZC1zdGF0aXN0aWNzLmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIGh0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFz
LW5vbi1wcmV2YWxlbnQtYmFzZWQtb24tc3ViLWZyYW1lLXVuZGVyLXRvcC1mcmFtZS1vcmlnaW5z
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291
cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtbm9uLXByZXZhbGVudC1iYXNlZC1vbi1zdWIt
ZnJhbWUtdW5kZXItdG9wLWZyYW1lLW9yaWdpbnMuaHRtbDogQWRkZWQuCisgICAgICAgICogaHR0
cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtbm9uLXBy
ZXZhbGVudC1iYXNlZC1vbi1zdWJyZXNvdXJjZS11bmRlci10b3AtZnJhbWUtb3JpZ2lucy1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxv
YWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLW5vbi1wcmV2YWxlbnQtYmFzZWQtb24tc3VicmVzb3Vy
Y2UtdW5kZXItdG9wLWZyYW1lLW9yaWdpbnMuaHRtbDogQWRkZWQuCisgICAgICAgICogaHR0cC90
ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtbm9uLXByZXZh
bGVudC1iYXNlZC1vbi1zdWJyZXNvdXJjZS11bmlxdWUtcmVkaXJlY3RzLXRvLWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0YXRp
c3RpY3MvY2xhc3NpZnktYXMtbm9uLXByZXZhbGVudC1iYXNlZC1vbi1zdWJyZXNvdXJjZS11bmlx
dWUtcmVkaXJlY3RzLXRvLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvbG9hZGlu
Zy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLXByZXZhbGVudC1iYXNlZC1vbi1t
aXhlZC1zdGF0aXN0aWNzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0
cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtcHJldmFsZW50LWJh
c2VkLW9uLW1peGVkLXN0YXRpc3RpY3MuaHRtbDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0
cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtcHJldmFsZW50LWJh
c2VkLW9uLXN1Yi1mcmFtZS11bmRlci10b3AtZnJhbWUtb3JpZ2lucy1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNz
L2NsYXNzaWZ5LWFzLXByZXZhbGVudC1iYXNlZC1vbi1zdWItZnJhbWUtdW5kZXItdG9wLWZyYW1l
LW9yaWdpbnMuaHRtbDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291
cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtcHJldmFsZW50LWJhc2VkLW9uLXN1YnJlc291
cmNlLXVuZGVyLXRvcC1mcmFtZS1vcmlnaW5zLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogaHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMt
cHJldmFsZW50LWJhc2VkLW9uLXN1YnJlc291cmNlLXVuZGVyLXRvcC1mcmFtZS1vcmlnaW5zLmh0
bWw6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0
aXN0aWNzL2NsYXNzaWZ5LWFzLXByZXZhbGVudC1iYXNlZC1vbi1zdWJyZXNvdXJjZS11bmlxdWUt
cmVkaXJlY3RzLXRvLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9s
b2FkaW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtcHJldmFsZW50LWJhc2Vk
LW9uLXN1YnJlc291cmNlLXVuaXF1ZS1yZWRpcmVjdHMtdG8uaHRtbDogQWRkZWQuCisgICAgICAg
ICogcGxhdGZvcm0vZ3RrL1Rlc3RFeHBlY3RhdGlvbnM6CisgICAgICAgICAgICBUaGUgd2hvbGUg
aHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MgbWFya2VkIGFzIGNyYXNo
aW5nIGJhc2VkIG9uCisgICAgICAgICAgICBDYXJsb3MgR2FyY2lhIENhbXBvcydzIGFzc2Vzc21l
bnQgaW4gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2ODE3MS4KKyAg
ICAgICAgKiBwbGF0Zm9ybS93azIvVGVzdEV4cGVjdGF0aW9uczoKKyAgICAgICAgICAgIFRoZSBh
Ym92ZSB0ZXN0cyBhcmUgb25seSB2YWxpZCBmb3IgV2ViS2l0Mi4gTWFya2VkIGFzIFsgUGFzcyBd
LgorCiAyMDE3LTAyLTE2ICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgog
CiAgICAgICAgIEFsbG93IFBsYXRmb3JtQ0FMYXllcnMgdG8gc3BlY2lmeSB0aGF0IHRoZXkgd2Fu
dCBkZWVwIGNvbG9yIGJhY2tpbmcgc3RvcmUKSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMv
bG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLW5vbi1wcmV2YWxlbnQt
YmFzZWQtb24tbWl4ZWQtc3RhdGlzdGljcy1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3Np
ZnktYXMtbm9uLXByZXZhbGVudC1iYXNlZC1vbi1taXhlZC1zdGF0aXN0aWNzLWV4cGVjdGVkLnR4
dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3Vy
Y2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1ub24tcHJldmFsZW50LWJhc2VkLW9uLW1peGVk
LXN0YXRpc3RpY3MtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsOCBAQAor
bWFpbiBmcmFtZSAtIGRpZFN0YXJ0UHJvdmlzaW9uYWxMb2FkRm9yRnJhbWUKK21haW4gZnJhbWUg
LSBkaWRDb21taXRMb2FkRm9yRnJhbWUKK21haW4gZnJhbWUgLSBkaWRSZWNlaXZlVGl0bGU6IFRl
c3RzIGZvciBDbGFzc2lmaWNhdGlvbiBCYXNlZCBvbiBNaXhlZCBTdGF0aXN0aWNzCittYWluIGZy
YW1lIC0gZGlkRmluaXNoRG9jdW1lbnRMb2FkRm9yRnJhbWUKK21haW4gZnJhbWUgLSBkaWRIYW5k
bGVPbmxvYWRFdmVudHNGb3JGcmFtZQorbWFpbiBmcmFtZSAtIGRpZEZpbmlzaExvYWRGb3JGcmFt
ZQorUEFTUyBIb3N0IGRpZCBub3QgZ2V0IGNsYXNzaWZpZWQgYXMgcHJldmFsZW50IHJlc291cmNl
LgorCkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3Rh
dGlzdGljcy9jbGFzc2lmeS1hcy1ub24tcHJldmFsZW50LWJhc2VkLW9uLW1peGVkLXN0YXRpc3Rp
Y3MuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2xvYWRpbmcvcmVz
b3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1ub24tcHJldmFsZW50LWJhc2VkLW9uLW1p
eGVkLXN0YXRpc3RpY3MuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1ub24tcHJldmFs
ZW50LWJhc2VkLW9uLW1peGVkLXN0YXRpc3RpY3MuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCww
ICsxLDQyIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sIGxhbmc9ImVuIj4KKzxoZWFkPgorICAg
IDxtZXRhIGNoYXJzZXQ9IlVURi04Ij4KKyAgICA8dGl0bGU+VGVzdHMgZm9yIENsYXNzaWZpY2F0
aW9uIEJhc2VkIG9uIE1peGVkIFN0YXRpc3RpY3M8L3RpdGxlPgorICAgIDxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+
Cis8c2NyaXB0PgorICAgIGNvbnN0IGhvc3RVbmRlclRlc3QgPSAiMTI3LjAuMC4xOjgwMDAiOwor
ICAgIGNvbnN0IHN0YXRpc3RpY3NVcmwgPSAiaHR0cDovLyIgKyBob3N0VW5kZXJUZXN0ICsgIi90
ZW1wIjsKKyAgICBjb25zdCB0b3BGcmFtZU9yaWdpbjEgPSAiaHR0cDovLzEyNy4wLjAuMjo4MDAw
L3RlbXAiOworICAgIGNvbnN0IHRvcEZyYW1lT3JpZ2luMiA9ICJodHRwOi8vMTI3LjAuMC4zOjgw
MDAvdGVtcCI7CisgICAgY29uc3QgdG9wRnJhbWVPcmlnaW4zID0gImh0dHA6Ly8xMjcuMC4wLjQ6
ODAwMC90ZW1wIjsKKyAgICBmdW5jdGlvbiBydW5UZXN0UnVubmVyVGVzdCgpIHsKKyAgICAgICAg
dGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2Uoc3RhdGlzdGljc1VybCwg
ZmFsc2UpOworICAgICAgICBpZiAodGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NQcmV2YWxlbnRSZXNv
dXJjZShzdGF0aXN0aWNzVXJsKSkKKyAgICAgICAgICAgIHRlc3RGYWlsZWQoIkhvc3QgZGlkIG5v
dCBnZXQgc2V0IGFzIG5vbi1wcmV2YWxlbnQgcmVzb3VyY2UuIik7CisKKyAgICAgICAgdGVzdFJ1
bm5lci5zZXRTdGF0aXN0aWNzU3ViZnJhbWVVbmRlclRvcEZyYW1lT3JpZ2luKHN0YXRpc3RpY3NV
cmwsIHRvcEZyYW1lT3JpZ2luMSk7CisgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1N1
YnJlc291cmNlVW5kZXJUb3BGcmFtZU9yaWdpbihzdGF0aXN0aWNzVXJsLCB0b3BGcmFtZU9yaWdp
bjIpOworICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NTdWJyZXNvdXJjZVVuaXF1ZVJl
ZGlyZWN0VG8oc3RhdGlzdGljc1VybCwgdG9wRnJhbWVPcmlnaW4zKTsKKworICAgICAgICB0ZXN0
UnVubmVyLnN0YXRpc3RpY3NGaXJlRGF0YU1vZGlmaWNhdGlvbkhhbmRsZXIoKTsKKworICAgICAg
ICBpZiAodGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJjZShzdGF0aXN0aWNz
VXJsKSkKKyAgICAgICAgICAgIHRlc3RGYWlsZWQoIkhvc3QgY2xhc3NpZmllZCBhcyBwcmV2YWxl
bnQgcmVzb3VyY2UuIik7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIHRlc3RQYXNzZWQoIkhv
c3QgZGlkIG5vdCBnZXQgY2xhc3NpZmllZCBhcyBwcmV2YWxlbnQgcmVzb3VyY2UuIik7CisKKyAg
ICAgICAgdGVzdFJ1bm5lci5zdGF0aXN0aWNzUmVzZXRUb0NvbnNpc3RlbnRTdGF0ZSgpOworICAg
ICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKKyAgICB9CisKKyAgICBpZiAoZG9jdW1lbnQu
bG9jYXRpb24uaG9zdCA9PT0gaG9zdFVuZGVyVGVzdCAmJiB3aW5kb3cudGVzdFJ1bm5lciAmJiB3
aW5kb3cuaW50ZXJuYWxzKSB7CisgICAgICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwor
ICAgICAgICBpbnRlcm5hbHMuc2V0UmVzb3VyY2VMb2FkU3RhdGlzdGljc0VuYWJsZWQodHJ1ZSk7
CisgICAgICAgIHJ1blRlc3RSdW5uZXJUZXN0KCk7CisgICAgfQorPC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpJbmRleDogTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtbm9u
LXByZXZhbGVudC1iYXNlZC1vbi1zdWItZnJhbWUtdW5kZXItdG9wLWZyYW1lLW9yaWdpbnMtZXhw
ZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvbG9hZGluZy9y
ZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLW5vbi1wcmV2YWxlbnQtYmFzZWQtb24t
c3ViLWZyYW1lLXVuZGVyLXRvcC1mcmFtZS1vcmlnaW5zLWV4cGVjdGVkLnR4dAkobm9uZXhpc3Rl
bnQpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlz
dGljcy9jbGFzc2lmeS1hcy1ub24tcHJldmFsZW50LWJhc2VkLW9uLXN1Yi1mcmFtZS11bmRlci10
b3AtZnJhbWUtb3JpZ2lucy1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw4
IEBACittYWluIGZyYW1lIC0gZGlkU3RhcnRQcm92aXNpb25hbExvYWRGb3JGcmFtZQorbWFpbiBm
cmFtZSAtIGRpZENvbW1pdExvYWRGb3JGcmFtZQorbWFpbiBmcmFtZSAtIGRpZFJlY2VpdmVUaXRs
ZTogVGVzdHMgZm9yIENsYXNzaWZpY2F0aW9uIEJhc2VkIG9uIFN1YiBGcmFtZSBVbmRlciBUb3Ag
RnJhbWUgT3JpZ2lucworbWFpbiBmcmFtZSAtIGRpZEZpbmlzaERvY3VtZW50TG9hZEZvckZyYW1l
CittYWluIGZyYW1lIC0gZGlkSGFuZGxlT25sb2FkRXZlbnRzRm9yRnJhbWUKK21haW4gZnJhbWUg
LSBkaWRGaW5pc2hMb2FkRm9yRnJhbWUKK1BBU1MgSG9zdCBkaWQgbm90IGdldCBjbGFzc2lmaWVk
IGFzIHByZXZhbGVudCByZXNvdXJjZS4KKwpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9s
b2FkaW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtbm9uLXByZXZhbGVudC1i
YXNlZC1vbi1zdWItZnJhbWUtdW5kZXItdG9wLWZyYW1lLW9yaWdpbnMuaHRtbAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGlj
cy9jbGFzc2lmeS1hcy1ub24tcHJldmFsZW50LWJhc2VkLW9uLXN1Yi1mcmFtZS11bmRlci10b3At
ZnJhbWUtb3JpZ2lucy5odG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2h0dHAvdGVz
dHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLW5vbi1wcmV2YWxl
bnQtYmFzZWQtb24tc3ViLWZyYW1lLXVuZGVyLXRvcC1mcmFtZS1vcmlnaW5zLmh0bWwJKHdvcmtp
bmcgY29weSkKQEAgLTAsMCArMSw0MiBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbCBsYW5nPSJl
biI+Cis8aGVhZD4KKyAgICA8bWV0YSBjaGFyc2V0PSJVVEYtOCI+CisgICAgPHRpdGxlPlRlc3Rz
IGZvciBDbGFzc2lmaWNhdGlvbiBCYXNlZCBvbiBTdWIgRnJhbWUgVW5kZXIgVG9wIEZyYW1lIE9y
aWdpbnM8L3RpdGxlPgorICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0PgorICAgIGNvbnN0IGhv
c3RVbmRlclRlc3QgPSAiMTI3LjAuMC4xOjgwMDAiOworICAgIGNvbnN0IHN0YXRpc3RpY3NVcmwg
PSAiaHR0cDovLyIgKyBob3N0VW5kZXJUZXN0ICsgIi90ZW1wIjsKKyAgICBjb25zdCB0b3BGcmFt
ZU9yaWdpbjEgPSAiaHR0cDovLzEyNy4wLjAuMjo4MDAwL3RlbXAiOworICAgIGNvbnN0IHRvcEZy
YW1lT3JpZ2luMiA9ICJodHRwOi8vMTI3LjAuMC4zOjgwMDAvdGVtcCI7CisgICAgY29uc3QgdG9w
RnJhbWVPcmlnaW4zID0gImh0dHA6Ly8xMjcuMC4wLjQ6ODAwMC90ZW1wIjsKKyAgICBmdW5jdGlv
biBydW5UZXN0UnVubmVyVGVzdCgpIHsKKyAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNz
UHJldmFsZW50UmVzb3VyY2Uoc3RhdGlzdGljc1VybCwgZmFsc2UpOworICAgICAgICBpZiAodGVz
dFJ1bm5lci5pc1N0YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJjZShzdGF0aXN0aWNzVXJsKSkKKyAg
ICAgICAgICAgIHRlc3RGYWlsZWQoIkhvc3QgZGlkIG5vdCBnZXQgc2V0IGFzIG5vbi1wcmV2YWxl
bnQgcmVzb3VyY2UuIik7CisKKyAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzU3ViZnJh
bWVVbmRlclRvcEZyYW1lT3JpZ2luKHN0YXRpc3RpY3NVcmwsIHRvcEZyYW1lT3JpZ2luMSk7Cisg
ICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1N1YmZyYW1lVW5kZXJUb3BGcmFtZU9yaWdp
bihzdGF0aXN0aWNzVXJsLCB0b3BGcmFtZU9yaWdpbjIpOworICAgICAgICB0ZXN0UnVubmVyLnNl
dFN0YXRpc3RpY3NTdWJmcmFtZVVuZGVyVG9wRnJhbWVPcmlnaW4oc3RhdGlzdGljc1VybCwgdG9w
RnJhbWVPcmlnaW4zKTsKKworICAgICAgICB0ZXN0UnVubmVyLnN0YXRpc3RpY3NGaXJlRGF0YU1v
ZGlmaWNhdGlvbkhhbmRsZXIoKTsKKworICAgICAgICBpZiAodGVzdFJ1bm5lci5pc1N0YXRpc3Rp
Y3NQcmV2YWxlbnRSZXNvdXJjZShzdGF0aXN0aWNzVXJsKSkKKyAgICAgICAgICAgIHRlc3RGYWls
ZWQoIkhvc3QgY2xhc3NpZmllZCBhcyBwcmV2YWxlbnQgcmVzb3VyY2UuIik7CisgICAgICAgIGVs
c2UKKyAgICAgICAgICAgIHRlc3RQYXNzZWQoIkhvc3QgZGlkIG5vdCBnZXQgY2xhc3NpZmllZCBh
cyBwcmV2YWxlbnQgcmVzb3VyY2UuIik7CisKKyAgICAgICAgdGVzdFJ1bm5lci5zdGF0aXN0aWNz
UmVzZXRUb0NvbnNpc3RlbnRTdGF0ZSgpOworICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUo
KTsKKyAgICB9CisKKyAgICBpZiAoZG9jdW1lbnQubG9jYXRpb24uaG9zdCA9PT0gaG9zdFVuZGVy
VGVzdCAmJiB3aW5kb3cudGVzdFJ1bm5lciAmJiB3aW5kb3cuaW50ZXJuYWxzKSB7CisgICAgICAg
IHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOworICAgICAgICBpbnRlcm5hbHMuc2V0UmVzb3Vy
Y2VMb2FkU3RhdGlzdGljc0VuYWJsZWQodHJ1ZSk7CisgICAgICAgIHJ1blRlc3RSdW5uZXJUZXN0
KCk7CisgICAgfQorPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNl
TG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtbm9uLXByZXZhbGVudC1iYXNlZC1vbi1zdWJyZXNv
dXJjZS11bmRlci10b3AtZnJhbWUtb3JpZ2lucy1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xh
c3NpZnktYXMtbm9uLXByZXZhbGVudC1iYXNlZC1vbi1zdWJyZXNvdXJjZS11bmRlci10b3AtZnJh
bWUtb3JpZ2lucy1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtbm9uLXBy
ZXZhbGVudC1iYXNlZC1vbi1zdWJyZXNvdXJjZS11bmRlci10b3AtZnJhbWUtb3JpZ2lucy1leHBl
Y3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw4IEBACittYWluIGZyYW1lIC0gZGlk
U3RhcnRQcm92aXNpb25hbExvYWRGb3JGcmFtZQorbWFpbiBmcmFtZSAtIGRpZENvbW1pdExvYWRG
b3JGcmFtZQorbWFpbiBmcmFtZSAtIGRpZFJlY2VpdmVUaXRsZTogVGVzdHMgZm9yIENsYXNzaWZp
Y2F0aW9uIEJhc2VkIG9uIFN1YnJlc291cmNlIFVuZGVyIFRvcCBGcmFtZSBPcmlnaW5zCittYWlu
IGZyYW1lIC0gZGlkRmluaXNoRG9jdW1lbnRMb2FkRm9yRnJhbWUKK21haW4gZnJhbWUgLSBkaWRI
YW5kbGVPbmxvYWRFdmVudHNGb3JGcmFtZQorbWFpbiBmcmFtZSAtIGRpZEZpbmlzaExvYWRGb3JG
cmFtZQorUEFTUyBIb3N0IGRpZCBub3QgZ2V0IGNsYXNzaWZpZWQgYXMgcHJldmFsZW50IHJlc291
cmNlLgorCkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2Fk
U3RhdGlzdGljcy9jbGFzc2lmeS1hcy1ub24tcHJldmFsZW50LWJhc2VkLW9uLXN1YnJlc291cmNl
LXVuZGVyLXRvcC1mcmFtZS1vcmlnaW5zLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtbm9u
LXByZXZhbGVudC1iYXNlZC1vbi1zdWJyZXNvdXJjZS11bmRlci10b3AtZnJhbWUtb3JpZ2lucy5o
dG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvbG9hZGluZy9yZXNv
dXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLW5vbi1wcmV2YWxlbnQtYmFzZWQtb24tc3Vi
cmVzb3VyY2UtdW5kZXItdG9wLWZyYW1lLW9yaWdpbnMuaHRtbAkod29ya2luZyBjb3B5KQpAQCAt
MCwwICsxLDQwIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sIGxhbmc9ImVuIj4KKzxoZWFkPgor
ICAgIDxtZXRhIGNoYXJzZXQ9IlVURi04Ij4KKyAgICA8dGl0bGU+VGVzdHMgZm9yIENsYXNzaWZp
Y2F0aW9uIEJhc2VkIG9uIFN1YnJlc291cmNlIFVuZGVyIFRvcCBGcmFtZSBPcmlnaW5zPC90aXRs
ZT4KKyAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdD4KKyAgICBjb25zdCBob3N0VW5kZXJUZXN0
ID0gIjEyNy4wLjAuMTo4MDAwIjsKKyAgICBjb25zdCBzdGF0aXN0aWNzVXJsID0gImh0dHA6Ly8i
ICsgaG9zdFVuZGVyVGVzdCArICIvdGVtcCI7CisgICAgY29uc3QgdG9wRnJhbWVPcmlnaW4xID0g
Imh0dHA6Ly8xMjcuMC4wLjI6ODAwMC90ZW1wIjsKKyAgICBjb25zdCB0b3BGcmFtZU9yaWdpbjIg
PSAiaHR0cDovLzEyNy4wLjAuMzo4MDAwL3RlbXAiOworICAgIGZ1bmN0aW9uIHJ1blRlc3RSdW5u
ZXJUZXN0KCkgeworICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NQcmV2YWxlbnRSZXNv
dXJjZShzdGF0aXN0aWNzVXJsLCBmYWxzZSk7CisgICAgICAgIGlmICh0ZXN0UnVubmVyLmlzU3Rh
dGlzdGljc1ByZXZhbGVudFJlc291cmNlKHN0YXRpc3RpY3NVcmwpKQorICAgICAgICAgICAgdGVz
dEZhaWxlZCgiSG9zdCBkaWQgbm90IGdldCBzZXQgYXMgbm9uLXByZXZhbGVudCByZXNvdXJjZS4i
KTsKKworICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NTdWJyZXNvdXJjZVVuZGVyVG9w
RnJhbWVPcmlnaW4oc3RhdGlzdGljc1VybCwgdG9wRnJhbWVPcmlnaW4xKTsKKyAgICAgICAgdGVz
dFJ1bm5lci5zZXRTdGF0aXN0aWNzU3VicmVzb3VyY2VVbmRlclRvcEZyYW1lT3JpZ2luKHN0YXRp
c3RpY3NVcmwsIHRvcEZyYW1lT3JpZ2luMik7CisKKyAgICAgICAgdGVzdFJ1bm5lci5zdGF0aXN0
aWNzRmlyZURhdGFNb2RpZmljYXRpb25IYW5kbGVyKCk7CisKKyAgICAgICAgaWYgKHRlc3RSdW5u
ZXIuaXNTdGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2Uoc3RhdGlzdGljc1VybCkpCisgICAgICAg
ICAgICB0ZXN0RmFpbGVkKCJIb3N0IGNsYXNzaWZpZWQgYXMgcHJldmFsZW50IHJlc291cmNlLiIp
OworICAgICAgICBlbHNlCisgICAgICAgICAgICB0ZXN0UGFzc2VkKCJIb3N0IGRpZCBub3QgZ2V0
IGNsYXNzaWZpZWQgYXMgcHJldmFsZW50IHJlc291cmNlLiIpOworCisgICAgICAgIHRlc3RSdW5u
ZXIuc3RhdGlzdGljc1Jlc2V0VG9Db25zaXN0ZW50U3RhdGUoKTsKKyAgICAgICAgdGVzdFJ1bm5l
ci5ub3RpZnlEb25lKCk7CisgICAgfQorCisgICAgaWYgKGRvY3VtZW50LmxvY2F0aW9uLmhvc3Qg
PT09IGhvc3RVbmRlclRlc3QgJiYgd2luZG93LnRlc3RSdW5uZXIgJiYgd2luZG93LmludGVybmFs
cykgeworICAgICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKKyAgICAgICAgaW50ZXJu
YWxzLnNldFJlc291cmNlTG9hZFN0YXRpc3RpY3NFbmFibGVkKHRydWUpOworICAgICAgICBydW5U
ZXN0UnVubmVyVGVzdCgpOworICAgIH0KKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvbG9h
ZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLW5vbi1wcmV2YWxlbnQtYmFz
ZWQtb24tc3VicmVzb3VyY2UtdW5pcXVlLXJlZGlyZWN0cy10by1leHBlY3RlZC50eHQKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0YXRp
c3RpY3MvY2xhc3NpZnktYXMtbm9uLXByZXZhbGVudC1iYXNlZC1vbi1zdWJyZXNvdXJjZS11bmlx
dWUtcmVkaXJlY3RzLXRvLWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1u
b24tcHJldmFsZW50LWJhc2VkLW9uLXN1YnJlc291cmNlLXVuaXF1ZS1yZWRpcmVjdHMtdG8tZXhw
ZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsOCBAQAorbWFpbiBmcmFtZSAtIGRp
ZFN0YXJ0UHJvdmlzaW9uYWxMb2FkRm9yRnJhbWUKK21haW4gZnJhbWUgLSBkaWRDb21taXRMb2Fk
Rm9yRnJhbWUKK21haW4gZnJhbWUgLSBkaWRSZWNlaXZlVGl0bGU6IFRlc3RzIGZvciBDbGFzc2lm
aWNhdGlvbiBCYXNlZCBvbiBTdWJyZXNvdXJjZSBVbmlxdWUgUmVkaXJlY3RzIFRvCittYWluIGZy
YW1lIC0gZGlkRmluaXNoRG9jdW1lbnRMb2FkRm9yRnJhbWUKK21haW4gZnJhbWUgLSBkaWRIYW5k
bGVPbmxvYWRFdmVudHNGb3JGcmFtZQorbWFpbiBmcmFtZSAtIGRpZEZpbmlzaExvYWRGb3JGcmFt
ZQorUEFTUyBIb3N0IGRpZCBub3QgZ2V0IGNsYXNzaWZpZWQgYXMgcHJldmFsZW50IHJlc291cmNl
LgorCkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3Rh
dGlzdGljcy9jbGFzc2lmeS1hcy1ub24tcHJldmFsZW50LWJhc2VkLW9uLXN1YnJlc291cmNlLXVu
aXF1ZS1yZWRpcmVjdHMtdG8uaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1ub24tcHJldmFs
ZW50LWJhc2VkLW9uLXN1YnJlc291cmNlLXVuaXF1ZS1yZWRpcmVjdHMtdG8uaHRtbAkobm9uZXhp
c3RlbnQpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3Rh
dGlzdGljcy9jbGFzc2lmeS1hcy1ub24tcHJldmFsZW50LWJhc2VkLW9uLXN1YnJlc291cmNlLXVu
aXF1ZS1yZWRpcmVjdHMtdG8uaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDQwIEBACis8
IURPQ1RZUEUgaHRtbD4KKzxodG1sIGxhbmc9ImVuIj4KKzxoZWFkPgorICAgIDxtZXRhIGNoYXJz
ZXQ9IlVURi04Ij4KKyAgICA8dGl0bGU+VGVzdHMgZm9yIENsYXNzaWZpY2F0aW9uIEJhc2VkIG9u
IFN1YnJlc291cmNlIFVuaXF1ZSBSZWRpcmVjdHMgVG88L3RpdGxlPgorICAgIDxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHk+Cis8c2NyaXB0PgorICAgIGNvbnN0IGhvc3RVbmRlclRlc3QgPSAiMTI3LjAuMC4xOjgwMDAi
OworICAgIGNvbnN0IHN0YXRpc3RpY3NVcmwgPSAiaHR0cDovLyIgKyBob3N0VW5kZXJUZXN0ICsg
Ii90ZW1wIjsKKyAgICBjb25zdCB0b3BGcmFtZU9yaWdpbjEgPSAiaHR0cDovLzEyNy4wLjAuMjo4
MDAwL3RlbXAiOworICAgIGNvbnN0IHRvcEZyYW1lT3JpZ2luMiA9ICJodHRwOi8vMTI3LjAuMC4z
OjgwMDAvdGVtcCI7CisgICAgZnVuY3Rpb24gcnVuVGVzdFJ1bm5lclRlc3QoKSB7CisgICAgICAg
IHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNlKHN0YXRpc3RpY3NVcmws
IGZhbHNlKTsKKyAgICAgICAgaWYgKHRlc3RSdW5uZXIuaXNTdGF0aXN0aWNzUHJldmFsZW50UmVz
b3VyY2Uoc3RhdGlzdGljc1VybCkpCisgICAgICAgICAgICB0ZXN0RmFpbGVkKCJIb3N0IGRpZCBu
b3QgZ2V0IHNldCBhcyBub24tcHJldmFsZW50IHJlc291cmNlLiIpOworCisgICAgICAgIHRlc3RS
dW5uZXIuc2V0U3RhdGlzdGljc1N1YnJlc291cmNlVW5pcXVlUmVkaXJlY3RUbyhzdGF0aXN0aWNz
VXJsLCB0b3BGcmFtZU9yaWdpbjEpOworICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NT
dWJyZXNvdXJjZVVuaXF1ZVJlZGlyZWN0VG8oc3RhdGlzdGljc1VybCwgdG9wRnJhbWVPcmlnaW4y
KTsKKworICAgICAgICB0ZXN0UnVubmVyLnN0YXRpc3RpY3NGaXJlRGF0YU1vZGlmaWNhdGlvbkhh
bmRsZXIoKTsKKworICAgICAgICBpZiAodGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NQcmV2YWxlbnRS
ZXNvdXJjZShzdGF0aXN0aWNzVXJsKSkKKyAgICAgICAgICAgIHRlc3RGYWlsZWQoIkhvc3QgY2xh
c3NpZmllZCBhcyBwcmV2YWxlbnQgcmVzb3VyY2UuIik7CisgICAgICAgIGVsc2UKKyAgICAgICAg
ICAgIHRlc3RQYXNzZWQoIkhvc3QgZGlkIG5vdCBnZXQgY2xhc3NpZmllZCBhcyBwcmV2YWxlbnQg
cmVzb3VyY2UuIik7CisKKyAgICAgICAgdGVzdFJ1bm5lci5zdGF0aXN0aWNzUmVzZXRUb0NvbnNp
c3RlbnRTdGF0ZSgpOworICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKKyAgICB9CisK
KyAgICBpZiAoZG9jdW1lbnQubG9jYXRpb24uaG9zdCA9PT0gaG9zdFVuZGVyVGVzdCAmJiB3aW5k
b3cudGVzdFJ1bm5lciAmJiB3aW5kb3cuaW50ZXJuYWxzKSB7CisgICAgICAgIHRlc3RSdW5uZXIu
d2FpdFVudGlsRG9uZSgpOworICAgICAgICBpbnRlcm5hbHMuc2V0UmVzb3VyY2VMb2FkU3RhdGlz
dGljc0VuYWJsZWQodHJ1ZSk7CisgICAgICAgIHJ1blRlc3RSdW5uZXJUZXN0KCk7CisgICAgfQor
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpJ
bmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0YXRpc3Rp
Y3MvY2xhc3NpZnktYXMtcHJldmFsZW50LWJhc2VkLW9uLW1peGVkLXN0YXRpc3RpY3MtZXhwZWN0
ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvbG9hZGluZy9yZXNv
dXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLXByZXZhbGVudC1iYXNlZC1vbi1taXhlZC1z
dGF0aXN0aWNzLWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1wcmV2YWxl
bnQtYmFzZWQtb24tbWl4ZWQtc3RhdGlzdGljcy1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkK
QEAgLTAsMCArMSw4IEBACittYWluIGZyYW1lIC0gZGlkU3RhcnRQcm92aXNpb25hbExvYWRGb3JG
cmFtZQorbWFpbiBmcmFtZSAtIGRpZENvbW1pdExvYWRGb3JGcmFtZQorbWFpbiBmcmFtZSAtIGRp
ZFJlY2VpdmVUaXRsZTogVGVzdHMgZm9yIENsYXNzaWZpY2F0aW9uIEJhc2VkIG9uIE1peGVkIFN0
YXRpc3RpY3MKK21haW4gZnJhbWUgLSBkaWRGaW5pc2hEb2N1bWVudExvYWRGb3JGcmFtZQorbWFp
biBmcmFtZSAtIGRpZEhhbmRsZU9ubG9hZEV2ZW50c0ZvckZyYW1lCittYWluIGZyYW1lIC0gZGlk
RmluaXNoTG9hZEZvckZyYW1lCitQQVNTIEhvc3QgY2xhc3NpZmllZCBhcyBwcmV2YWxlbnQgcmVz
b3VyY2UuCisKSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxv
YWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLXByZXZhbGVudC1iYXNlZC1vbi1taXhlZC1zdGF0aXN0
aWNzLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9sb2FkaW5nL3Jl
c291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtcHJldmFsZW50LWJhc2VkLW9uLW1peGVk
LXN0YXRpc3RpY3MuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1wcmV2YWxlbnQtYmFz
ZWQtb24tbWl4ZWQtc3RhdGlzdGljcy5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNDkg
QEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWwgbGFuZz0iZW4iPgorPGhlYWQ+CisgICAgPG1ldGEg
Y2hhcnNldD0iVVRGLTgiPgorICAgIDx0aXRsZT5UZXN0cyBmb3IgQ2xhc3NpZmljYXRpb24gQmFz
ZWQgb24gTWl4ZWQgU3RhdGlzdGljczwvdGl0bGU+CisgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3Jp
cHQ+CisgICAgY29uc3QgaG9zdFVuZGVyVGVzdCA9ICIxMjcuMC4wLjE6ODAwMCI7CisgICAgY29u
c3Qgc3RhdGlzdGljc1VybCA9ICJodHRwOi8vIiArIGhvc3RVbmRlclRlc3QgKyAiL3RlbXAiOwor
ICAgIGNvbnN0IHRvcEZyYW1lT3JpZ2luMSA9ICJodHRwOi8vMTI3LjAuMC4yOjgwMDAvdGVtcCI7
CisgICAgY29uc3QgdG9wRnJhbWVPcmlnaW4yID0gImh0dHA6Ly8xMjcuMC4wLjM6ODAwMC90ZW1w
IjsKKyAgICBjb25zdCB0b3BGcmFtZU9yaWdpbjMgPSAiaHR0cDovLzEyNy4wLjAuNDo4MDAwL3Rl
bXAiOworICAgIGNvbnN0IHRvcEZyYW1lT3JpZ2luNCA9ICJodHRwOi8vMTI3LjAuMC41OjgwMDAv
dGVtcCI7CisgICAgZnVuY3Rpb24gcnVuVGVzdFJ1bm5lclRlc3QoKSB7CisgICAgICAgIHRlc3RS
dW5uZXIuc2V0U3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNlKHN0YXRpc3RpY3NVcmwsIGZhbHNl
KTsKKyAgICAgICAgaWYgKHRlc3RSdW5uZXIuaXNTdGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2Uo
c3RhdGlzdGljc1VybCkpCisgICAgICAgICAgICB0ZXN0RmFpbGVkKCJIb3N0IGRpZCBub3QgZ2V0
IHNldCBhcyBub24tcHJldmFsZW50IHJlc291cmNlLiIpOworCisgICAgICAgIHRlc3RSdW5uZXIu
c2V0U3RhdGlzdGljc1N1YmZyYW1lVW5kZXJUb3BGcmFtZU9yaWdpbihzdGF0aXN0aWNzVXJsLCB0
b3BGcmFtZU9yaWdpbjEpOworICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NTdWJmcmFt
ZVVuZGVyVG9wRnJhbWVPcmlnaW4oc3RhdGlzdGljc1VybCwgdG9wRnJhbWVPcmlnaW40KTsKKwor
ICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NTdWJyZXNvdXJjZVVuZGVyVG9wRnJhbWVP
cmlnaW4oc3RhdGlzdGljc1VybCwgdG9wRnJhbWVPcmlnaW4yKTsKKyAgICAgICAgdGVzdFJ1bm5l
ci5zZXRTdGF0aXN0aWNzU3VicmVzb3VyY2VVbmRlclRvcEZyYW1lT3JpZ2luKHN0YXRpc3RpY3NV
cmwsIHRvcEZyYW1lT3JpZ2luMyk7CisgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1N1
YnJlc291cmNlVW5kZXJUb3BGcmFtZU9yaWdpbihzdGF0aXN0aWNzVXJsLCB0b3BGcmFtZU9yaWdp
bjQpOworCisgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1N1YnJlc291cmNlVW5pcXVl
UmVkaXJlY3RUbyhzdGF0aXN0aWNzVXJsLCB0b3BGcmFtZU9yaWdpbjMpOworICAgICAgICB0ZXN0
UnVubmVyLnNldFN0YXRpc3RpY3NTdWJyZXNvdXJjZVVuaXF1ZVJlZGlyZWN0VG8oc3RhdGlzdGlj
c1VybCwgdG9wRnJhbWVPcmlnaW4xKTsKKworICAgICAgICB0ZXN0UnVubmVyLnN0YXRpc3RpY3NG
aXJlRGF0YU1vZGlmaWNhdGlvbkhhbmRsZXIoKTsKKworICAgICAgICBpZiAoIXRlc3RSdW5uZXIu
aXNTdGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2Uoc3RhdGlzdGljc1VybCkpCisgICAgICAgICAg
ICB0ZXN0RmFpbGVkKCJIb3N0IGRpZCBub3QgZ2V0IGNsYXNzaWZpZWQgYXMgcHJldmFsZW50IHJl
c291cmNlLiIpOworICAgICAgICBlbHNlCisgICAgICAgICAgICB0ZXN0UGFzc2VkKCJIb3N0IGNs
YXNzaWZpZWQgYXMgcHJldmFsZW50IHJlc291cmNlLiIpOworCisgICAgICAgIHRlc3RSdW5uZXIu
c3RhdGlzdGljc1Jlc2V0VG9Db25zaXN0ZW50U3RhdGUoKTsKKyAgICAgICAgdGVzdFJ1bm5lci5u
b3RpZnlEb25lKCk7CisgICAgfQorCisgICAgaWYgKGRvY3VtZW50LmxvY2F0aW9uLmhvc3QgPT09
IGhvc3RVbmRlclRlc3QgJiYgd2luZG93LnRlc3RSdW5uZXIgJiYgd2luZG93LmludGVybmFscykg
eworICAgICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKKyAgICAgICAgaW50ZXJuYWxz
LnNldFJlc291cmNlTG9hZFN0YXRpc3RpY3NFbmFibGVkKHRydWUpOworICAgICAgICBydW5UZXN0
UnVubmVyVGVzdCgpOworICAgIH0KKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvbG9hZGlu
Zy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLXByZXZhbGVudC1iYXNlZC1vbi1z
dWItZnJhbWUtdW5kZXItdG9wLWZyYW1lLW9yaWdpbnMtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNz
L2NsYXNzaWZ5LWFzLXByZXZhbGVudC1iYXNlZC1vbi1zdWItZnJhbWUtdW5kZXItdG9wLWZyYW1l
LW9yaWdpbnMtZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2h0dHAv
dGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLXByZXZhbGVu
dC1iYXNlZC1vbi1zdWItZnJhbWUtdW5kZXItdG9wLWZyYW1lLW9yaWdpbnMtZXhwZWN0ZWQudHh0
CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsOCBAQAorbWFpbiBmcmFtZSAtIGRpZFN0YXJ0UHJv
dmlzaW9uYWxMb2FkRm9yRnJhbWUKK21haW4gZnJhbWUgLSBkaWRDb21taXRMb2FkRm9yRnJhbWUK
K21haW4gZnJhbWUgLSBkaWRSZWNlaXZlVGl0bGU6IFRlc3RzIGZvciBDbGFzc2lmaWNhdGlvbiBC
YXNlZCBvbiBTdWIgRnJhbWUgVW5kZXIgVG9wIEZyYW1lIE9yaWdpbnMKK21haW4gZnJhbWUgLSBk
aWRGaW5pc2hEb2N1bWVudExvYWRGb3JGcmFtZQorbWFpbiBmcmFtZSAtIGRpZEhhbmRsZU9ubG9h
ZEV2ZW50c0ZvckZyYW1lCittYWluIGZyYW1lIC0gZGlkRmluaXNoTG9hZEZvckZyYW1lCitQQVNT
IEhvc3QgY2xhc3NpZmllZCBhcyBwcmV2YWxlbnQgcmVzb3VyY2UuCisKSW5kZXg6IExheW91dFRl
c3RzL2h0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFz
LXByZXZhbGVudC1iYXNlZC1vbi1zdWItZnJhbWUtdW5kZXItdG9wLWZyYW1lLW9yaWdpbnMuaHRt
bAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VM
b2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1wcmV2YWxlbnQtYmFzZWQtb24tc3ViLWZyYW1lLXVu
ZGVyLXRvcC1mcmFtZS1vcmlnaW5zLmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtcHJl
dmFsZW50LWJhc2VkLW9uLXN1Yi1mcmFtZS11bmRlci10b3AtZnJhbWUtb3JpZ2lucy5odG1sCSh3
b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNDQgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWwgbGFu
Zz0iZW4iPgorPGhlYWQ+CisgICAgPG1ldGEgY2hhcnNldD0iVVRGLTgiPgorICAgIDx0aXRsZT5U
ZXN0cyBmb3IgQ2xhc3NpZmljYXRpb24gQmFzZWQgb24gU3ViIEZyYW1lIFVuZGVyIFRvcCBGcmFt
ZSBPcmlnaW5zPC90aXRsZT4KKyAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdD4KKyAgICBjb25z
dCBob3N0VW5kZXJUZXN0ID0gIjEyNy4wLjAuMTo4MDAwIjsKKyAgICBjb25zdCBzdGF0aXN0aWNz
VXJsID0gImh0dHA6Ly8iICsgaG9zdFVuZGVyVGVzdCArICIvdGVtcCI7CisgICAgY29uc3QgdG9w
RnJhbWVPcmlnaW4xID0gImh0dHA6Ly8xMjcuMC4wLjI6ODAwMC90ZW1wIjsKKyAgICBjb25zdCB0
b3BGcmFtZU9yaWdpbjIgPSAiaHR0cDovLzEyNy4wLjAuMzo4MDAwL3RlbXAiOworICAgIGNvbnN0
IHRvcEZyYW1lT3JpZ2luMyA9ICJodHRwOi8vMTI3LjAuMC40OjgwMDAvdGVtcCI7CisgICAgY29u
c3QgdG9wRnJhbWVPcmlnaW40ID0gImh0dHA6Ly8xMjcuMC4wLjU6ODAwMC90ZW1wIjsKKyAgICBm
dW5jdGlvbiBydW5UZXN0UnVubmVyVGVzdCgpIHsKKyAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0
aXN0aWNzUHJldmFsZW50UmVzb3VyY2Uoc3RhdGlzdGljc1VybCwgZmFsc2UpOworICAgICAgICBp
ZiAodGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJjZShzdGF0aXN0aWNzVXJs
KSkKKyAgICAgICAgICAgIHRlc3RGYWlsZWQoIkhvc3QgZGlkIG5vdCBnZXQgc2V0IGFzIG5vbi1w
cmV2YWxlbnQgcmVzb3VyY2UuIik7CisKKyAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNz
U3ViZnJhbWVVbmRlclRvcEZyYW1lT3JpZ2luKHN0YXRpc3RpY3NVcmwsIHRvcEZyYW1lT3JpZ2lu
MSk7CisgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1N1YmZyYW1lVW5kZXJUb3BGcmFt
ZU9yaWdpbihzdGF0aXN0aWNzVXJsLCB0b3BGcmFtZU9yaWdpbjIpOworICAgICAgICB0ZXN0UnVu
bmVyLnNldFN0YXRpc3RpY3NTdWJmcmFtZVVuZGVyVG9wRnJhbWVPcmlnaW4oc3RhdGlzdGljc1Vy
bCwgdG9wRnJhbWVPcmlnaW4zKTsKKyAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzU3Vi
ZnJhbWVVbmRlclRvcEZyYW1lT3JpZ2luKHN0YXRpc3RpY3NVcmwsIHRvcEZyYW1lT3JpZ2luNCk7
CisKKyAgICAgICAgdGVzdFJ1bm5lci5zdGF0aXN0aWNzRmlyZURhdGFNb2RpZmljYXRpb25IYW5k
bGVyKCk7CisKKyAgICAgICAgaWYgKCF0ZXN0UnVubmVyLmlzU3RhdGlzdGljc1ByZXZhbGVudFJl
c291cmNlKHN0YXRpc3RpY3NVcmwpKQorICAgICAgICAgICAgdGVzdEZhaWxlZCgiSG9zdCBkaWQg
bm90IGdldCBjbGFzc2lmaWVkIGFzIHByZXZhbGVudCByZXNvdXJjZS4iKTsKKyAgICAgICAgZWxz
ZQorICAgICAgICAgICAgdGVzdFBhc3NlZCgiSG9zdCBjbGFzc2lmaWVkIGFzIHByZXZhbGVudCBy
ZXNvdXJjZS4iKTsKKworICAgICAgICB0ZXN0UnVubmVyLnN0YXRpc3RpY3NSZXNldFRvQ29uc2lz
dGVudFN0YXRlKCk7CisgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOworICAgIH0KKwor
ICAgIGlmIChkb2N1bWVudC5sb2NhdGlvbi5ob3N0ID09PSBob3N0VW5kZXJUZXN0ICYmIHdpbmRv
dy50ZXN0UnVubmVyICYmIHdpbmRvdy5pbnRlcm5hbHMpIHsKKyAgICAgICAgdGVzdFJ1bm5lci53
YWl0VW50aWxEb25lKCk7CisgICAgICAgIGludGVybmFscy5zZXRSZXNvdXJjZUxvYWRTdGF0aXN0
aWNzRW5hYmxlZCh0cnVlKTsKKyAgICAgICAgcnVuVGVzdFJ1bm5lclRlc3QoKTsKKyAgICB9Cis8
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCklu
ZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGlj
cy9jbGFzc2lmeS1hcy1wcmV2YWxlbnQtYmFzZWQtb24tc3VicmVzb3VyY2UtdW5kZXItdG9wLWZy
YW1lLW9yaWdpbnMtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAv
dGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLXByZXZhbGVu
dC1iYXNlZC1vbi1zdWJyZXNvdXJjZS11bmRlci10b3AtZnJhbWUtb3JpZ2lucy1leHBlY3RlZC50
eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291
cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtcHJldmFsZW50LWJhc2VkLW9uLXN1YnJlc291
cmNlLXVuZGVyLXRvcC1mcmFtZS1vcmlnaW5zLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpA
QCAtMCwwICsxLDggQEAKK21haW4gZnJhbWUgLSBkaWRTdGFydFByb3Zpc2lvbmFsTG9hZEZvckZy
YW1lCittYWluIGZyYW1lIC0gZGlkQ29tbWl0TG9hZEZvckZyYW1lCittYWluIGZyYW1lIC0gZGlk
UmVjZWl2ZVRpdGxlOiBUZXN0cyBmb3IgQ2xhc3NpZmljYXRpb24gQmFzZWQgb24gU3VicmVzb3Vy
Y2UgVW5kZXIgVG9wIEZyYW1lIE9yaWdpbnMKK21haW4gZnJhbWUgLSBkaWRGaW5pc2hEb2N1bWVu
dExvYWRGb3JGcmFtZQorbWFpbiBmcmFtZSAtIGRpZEhhbmRsZU9ubG9hZEV2ZW50c0ZvckZyYW1l
CittYWluIGZyYW1lIC0gZGlkRmluaXNoTG9hZEZvckZyYW1lCitQQVNTIEhvc3QgY2xhc3NpZmll
ZCBhcyBwcmV2YWxlbnQgcmVzb3VyY2UuCisKSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMv
bG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLXByZXZhbGVudC1iYXNl
ZC1vbi1zdWJyZXNvdXJjZS11bmRlci10b3AtZnJhbWUtb3JpZ2lucy5odG1sCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNz
L2NsYXNzaWZ5LWFzLXByZXZhbGVudC1iYXNlZC1vbi1zdWJyZXNvdXJjZS11bmRlci10b3AtZnJh
bWUtb3JpZ2lucy5odG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMv
bG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLXByZXZhbGVudC1iYXNl
ZC1vbi1zdWJyZXNvdXJjZS11bmRlci10b3AtZnJhbWUtb3JpZ2lucy5odG1sCSh3b3JraW5nIGNv
cHkpCkBAIC0wLDAgKzEsNDQgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWwgbGFuZz0iZW4iPgor
PGhlYWQ+CisgICAgPG1ldGEgY2hhcnNldD0iVVRGLTgiPgorICAgIDx0aXRsZT5UZXN0cyBmb3Ig
Q2xhc3NpZmljYXRpb24gQmFzZWQgb24gU3VicmVzb3VyY2UgVW5kZXIgVG9wIEZyYW1lIE9yaWdp
bnM8L3RpdGxlPgorICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0PgorICAgIGNvbnN0IGhvc3RV
bmRlclRlc3QgPSAiMTI3LjAuMC4xOjgwMDAiOworICAgIGNvbnN0IHN0YXRpc3RpY3NVcmwgPSAi
aHR0cDovLyIgKyBob3N0VW5kZXJUZXN0ICsgIi90ZW1wIjsKKyAgICBjb25zdCB0b3BGcmFtZU9y
aWdpbjEgPSAiaHR0cDovLzEyNy4wLjAuMjo4MDAwL3RlbXAiOworICAgIGNvbnN0IHRvcEZyYW1l
T3JpZ2luMiA9ICJodHRwOi8vMTI3LjAuMC4zOjgwMDAvdGVtcCI7CisgICAgY29uc3QgdG9wRnJh
bWVPcmlnaW4zID0gImh0dHA6Ly8xMjcuMC4wLjQ6ODAwMC90ZW1wIjsKKyAgICBjb25zdCB0b3BG
cmFtZU9yaWdpbjQgPSAiaHR0cDovLzEyNy4wLjAuNTo4MDAwL3RlbXAiOworICAgIGZ1bmN0aW9u
IHJ1blRlc3RSdW5uZXJUZXN0KCkgeworICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NQ
cmV2YWxlbnRSZXNvdXJjZShzdGF0aXN0aWNzVXJsLCBmYWxzZSk7CisgICAgICAgIGlmICh0ZXN0
UnVubmVyLmlzU3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNlKHN0YXRpc3RpY3NVcmwpKQorICAg
ICAgICAgICAgdGVzdEZhaWxlZCgiSG9zdCBkaWQgbm90IGdldCBzZXQgYXMgbm9uLXByZXZhbGVu
dCByZXNvdXJjZS4iKTsKKworICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NTdWJyZXNv
dXJjZVVuZGVyVG9wRnJhbWVPcmlnaW4oc3RhdGlzdGljc1VybCwgdG9wRnJhbWVPcmlnaW4xKTsK
KyAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzU3VicmVzb3VyY2VVbmRlclRvcEZyYW1l
T3JpZ2luKHN0YXRpc3RpY3NVcmwsIHRvcEZyYW1lT3JpZ2luMik7CisgICAgICAgIHRlc3RSdW5u
ZXIuc2V0U3RhdGlzdGljc1N1YnJlc291cmNlVW5kZXJUb3BGcmFtZU9yaWdpbihzdGF0aXN0aWNz
VXJsLCB0b3BGcmFtZU9yaWdpbjMpOworICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NT
dWJyZXNvdXJjZVVuZGVyVG9wRnJhbWVPcmlnaW4oc3RhdGlzdGljc1VybCwgdG9wRnJhbWVPcmln
aW40KTsKKworICAgICAgICB0ZXN0UnVubmVyLnN0YXRpc3RpY3NGaXJlRGF0YU1vZGlmaWNhdGlv
bkhhbmRsZXIoKTsKKworICAgICAgICBpZiAoIXRlc3RSdW5uZXIuaXNTdGF0aXN0aWNzUHJldmFs
ZW50UmVzb3VyY2Uoc3RhdGlzdGljc1VybCkpCisgICAgICAgICAgICB0ZXN0RmFpbGVkKCJIb3N0
IGRpZCBub3QgZ2V0IGNsYXNzaWZpZWQgYXMgcHJldmFsZW50IHJlc291cmNlLiIpOworICAgICAg
ICBlbHNlCisgICAgICAgICAgICB0ZXN0UGFzc2VkKCJIb3N0IGNsYXNzaWZpZWQgYXMgcHJldmFs
ZW50IHJlc291cmNlLiIpOworCisgICAgICAgIHRlc3RSdW5uZXIuc3RhdGlzdGljc1Jlc2V0VG9D
b25zaXN0ZW50U3RhdGUoKTsKKyAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7CisgICAg
fQorCisgICAgaWYgKGRvY3VtZW50LmxvY2F0aW9uLmhvc3QgPT09IGhvc3RVbmRlclRlc3QgJiYg
d2luZG93LnRlc3RSdW5uZXIgJiYgd2luZG93LmludGVybmFscykgeworICAgICAgICB0ZXN0UnVu
bmVyLndhaXRVbnRpbERvbmUoKTsKKyAgICAgICAgaW50ZXJuYWxzLnNldFJlc291cmNlTG9hZFN0
YXRpc3RpY3NFbmFibGVkKHRydWUpOworICAgICAgICBydW5UZXN0UnVubmVyVGVzdCgpOworICAg
IH0KKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0
aXN0aWNzL2NsYXNzaWZ5LWFzLXByZXZhbGVudC1iYXNlZC1vbi1zdWJyZXNvdXJjZS11bmlxdWUt
cmVkaXJlY3RzLXRvLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1wcmV2YWxl
bnQtYmFzZWQtb24tc3VicmVzb3VyY2UtdW5pcXVlLXJlZGlyZWN0cy10by1leHBlY3RlZC50eHQJ
KG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNl
TG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtcHJldmFsZW50LWJhc2VkLW9uLXN1YnJlc291cmNl
LXVuaXF1ZS1yZWRpcmVjdHMtdG8tZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAg
KzEsOCBAQAorbWFpbiBmcmFtZSAtIGRpZFN0YXJ0UHJvdmlzaW9uYWxMb2FkRm9yRnJhbWUKK21h
aW4gZnJhbWUgLSBkaWRDb21taXRMb2FkRm9yRnJhbWUKK21haW4gZnJhbWUgLSBkaWRSZWNlaXZl
VGl0bGU6IFRlc3RzIGZvciBDbGFzc2lmaWNhdGlvbiBCYXNlZCBvbiBTdWJyZXNvdXJjZSBVbmlx
dWUgUmVkaXJlY3RzIFRvCittYWluIGZyYW1lIC0gZGlkRmluaXNoRG9jdW1lbnRMb2FkRm9yRnJh
bWUKK21haW4gZnJhbWUgLSBkaWRIYW5kbGVPbmxvYWRFdmVudHNGb3JGcmFtZQorbWFpbiBmcmFt
ZSAtIGRpZEZpbmlzaExvYWRGb3JGcmFtZQorUEFTUyBIb3N0IGNsYXNzaWZpZWQgYXMgcHJldmFs
ZW50IHJlc291cmNlLgorCkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2xvYWRpbmcvcmVz
b3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1wcmV2YWxlbnQtYmFzZWQtb24tc3VicmVz
b3VyY2UtdW5pcXVlLXJlZGlyZWN0cy10by5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L2h0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLXBy
ZXZhbGVudC1iYXNlZC1vbi1zdWJyZXNvdXJjZS11bmlxdWUtcmVkaXJlY3RzLXRvLmh0bWwJKG5v
bmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9h
ZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtcHJldmFsZW50LWJhc2VkLW9uLXN1YnJlc291cmNlLXVu
aXF1ZS1yZWRpcmVjdHMtdG8uaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDQ0IEBACis8
IURPQ1RZUEUgaHRtbD4KKzxodG1sIGxhbmc9ImVuIj4KKzxoZWFkPgorICAgIDxtZXRhIGNoYXJz
ZXQ9IlVURi04Ij4KKyAgICA8dGl0bGU+VGVzdHMgZm9yIENsYXNzaWZpY2F0aW9uIEJhc2VkIG9u
IFN1YnJlc291cmNlIFVuaXF1ZSBSZWRpcmVjdHMgVG88L3RpdGxlPgorICAgIDxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHk+Cis8c2NyaXB0PgorICAgIGNvbnN0IGhvc3RVbmRlclRlc3QgPSAiMTI3LjAuMC4xOjgwMDAi
OworICAgIGNvbnN0IHN0YXRpc3RpY3NVcmwgPSAiaHR0cDovLyIgKyBob3N0VW5kZXJUZXN0ICsg
Ii90ZW1wIjsKKyAgICBjb25zdCB0b3BGcmFtZU9yaWdpbjEgPSAiaHR0cDovLzEyNy4wLjAuMjo4
MDAwL3RlbXAiOworICAgIGNvbnN0IHRvcEZyYW1lT3JpZ2luMiA9ICJodHRwOi8vMTI3LjAuMC4z
OjgwMDAvdGVtcCI7CisgICAgY29uc3QgdG9wRnJhbWVPcmlnaW4zID0gImh0dHA6Ly8xMjcuMC4w
LjQ6ODAwMC90ZW1wIjsKKyAgICBjb25zdCB0b3BGcmFtZU9yaWdpbjQgPSAiaHR0cDovLzEyNy4w
LjAuNTo4MDAwL3RlbXAiOworICAgIGZ1bmN0aW9uIHJ1blRlc3RSdW5uZXJUZXN0KCkgeworICAg
ICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJjZShzdGF0aXN0aWNz
VXJsLCBmYWxzZSk7CisgICAgICAgIGlmICh0ZXN0UnVubmVyLmlzU3RhdGlzdGljc1ByZXZhbGVu
dFJlc291cmNlKHN0YXRpc3RpY3NVcmwpKQorICAgICAgICAgICAgdGVzdEZhaWxlZCgiSG9zdCBk
aWQgbm90IGdldCBzZXQgYXMgbm9uLXByZXZhbGVudCByZXNvdXJjZS4iKTsKKworICAgICAgICB0
ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NTdWJyZXNvdXJjZVVuaXF1ZVJlZGlyZWN0VG8oc3RhdGlz
dGljc1VybCwgdG9wRnJhbWVPcmlnaW4xKTsKKyAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0
aWNzU3VicmVzb3VyY2VVbmlxdWVSZWRpcmVjdFRvKHN0YXRpc3RpY3NVcmwsIHRvcEZyYW1lT3Jp
Z2luMik7CisgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1N1YnJlc291cmNlVW5pcXVl
UmVkaXJlY3RUbyhzdGF0aXN0aWNzVXJsLCB0b3BGcmFtZU9yaWdpbjMpOworICAgICAgICB0ZXN0
UnVubmVyLnNldFN0YXRpc3RpY3NTdWJyZXNvdXJjZVVuaXF1ZVJlZGlyZWN0VG8oc3RhdGlzdGlj
c1VybCwgdG9wRnJhbWVPcmlnaW40KTsKKworICAgICAgICB0ZXN0UnVubmVyLnN0YXRpc3RpY3NG
aXJlRGF0YU1vZGlmaWNhdGlvbkhhbmRsZXIoKTsKKworICAgICAgICBpZiAoIXRlc3RSdW5uZXIu
aXNTdGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2Uoc3RhdGlzdGljc1VybCkpCisgICAgICAgICAg
ICB0ZXN0RmFpbGVkKCJIb3N0IGRpZCBub3QgZ2V0IGNsYXNzaWZpZWQgYXMgcHJldmFsZW50IHJl
c291cmNlLiIpOworICAgICAgICBlbHNlCisgICAgICAgICAgICB0ZXN0UGFzc2VkKCJIb3N0IGNs
YXNzaWZpZWQgYXMgcHJldmFsZW50IHJlc291cmNlLiIpOworCisgICAgICAgIHRlc3RSdW5uZXIu
c3RhdGlzdGljc1Jlc2V0VG9Db25zaXN0ZW50U3RhdGUoKTsKKyAgICAgICAgdGVzdFJ1bm5lci5u
b3RpZnlEb25lKCk7CisgICAgfQorCisgICAgaWYgKGRvY3VtZW50LmxvY2F0aW9uLmhvc3QgPT09
IGhvc3RVbmRlclRlc3QgJiYgd2luZG93LnRlc3RSdW5uZXIgJiYgd2luZG93LmludGVybmFscykg
eworICAgICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKKyAgICAgICAgaW50ZXJuYWxz
LnNldFJlc291cmNlTG9hZFN0YXRpc3RpY3NFbmFibGVkKHRydWUpOworICAgICAgICBydW5UZXN0
UnVubmVyVGVzdCgpOworICAgIH0KKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpJbmRleDog
TGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1Rlc3RFeHBlY3RhdGlvbnMKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1Rlc3RFeHBlY3RhdGlvbnMJKHJldmlzaW9uIDIxMjU5
NykKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9UZXN0RXhwZWN0YXRpb25zCSh3b3JraW5n
IGNvcHkpCkBAIC05MjIsMTEgKzkyMiw3IEBAIHdlYmtpdC5vcmcvYi8xMzE1NDYgbWVkaWEvdHJh
Y2svdHJhY2staW4KIAogd2Via2l0Lm9yZy9iLzE2Mzc4MiBtZWRpYS92aWRlby1wbGF5ZWQtcmFu
Z2VzLTEuaHRtbCBbIENyYXNoIFBhc3MgXQogCi13ZWJraXQub3JnL2IvMTY4MTcxIGh0dHAvdGVz
dHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL25vbi1wcmV2YWxlbnQtcmVzb3VyY2Ut
d2l0aC11c2VyLWludGVyYWN0aW9uLmh0bWwgWyBDcmFzaCBdCi13ZWJraXQub3JnL2IvMTY4MTcx
IGh0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL25vbi1wcmV2YWxlbnQt
cmVzb3VyY2Utd2l0aG91dC11c2VyLWludGVyYWN0aW9uLmh0bWwgWyBDcmFzaCBdCi13ZWJraXQu
b3JnL2IvMTY4MTcxIGh0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3By
ZXZhbGVudC1yZXNvdXJjZS13aXRoLXVzZXItaW50ZXJhY3Rpb24tdGltZW91dC5odG1sIFsgQ3Jh
c2ggXQotd2Via2l0Lm9yZy9iLzE2ODE3MSBodHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2Fk
U3RhdGlzdGljcy9wcmV2YWxlbnQtcmVzb3VyY2Utd2l0aC11c2VyLWludGVyYWN0aW9uLmh0bWwg
WyBDcmFzaCBdCi13ZWJraXQub3JnL2IvMTY4MTcxIGh0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzL3ByZXZhbGVudC1yZXNvdXJjZS13aXRob3V0LXVzZXItaW50ZXJhY3Rp
b24uaHRtbCBbIENyYXNoIF0KK3dlYmtpdC5vcmcvYi8xNjgxNzEgaHR0cC90ZXN0cy9sb2FkaW5n
L3Jlc291cmNlTG9hZFN0YXRpc3RpY3MgWyBDcmFzaCBdCiAKIHdlYmtpdC5vcmcvYi8xNjc1NzYg
aW1wb3J0ZWQvdzNjL0luZGV4ZWREQi1wcml2YXRlLWJyb3dzaW5nL2lkYmN1cnNvcl9pdGVyYXRp
bmcuaHRtbCBbIENyYXNoIF0KIHdlYmtpdC5vcmcvYi8xNjc1NzYgaW1wb3J0ZWQvdzNjL0luZGV4
ZWREQi1wcml2YXRlLWJyb3dzaW5nL2lkYmN1cnNvcl9pdGVyYXRpbmdfaW5kZXguaHRtbCBbIENy
YXNoIF0KSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL3drMi9UZXN0RXhwZWN0YXRpb25zCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL3drMi9UZXN0RXhwZWN0YXRpb25zCShy
ZXZpc2lvbiAyMTI1OTcpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS93azIvVGVzdEV4cGVjdGF0
aW9ucwkod29ya2luZyBjb3B5KQpAQCAtNzA1LDYgKzcwNSwxNCBAQCBodHRwL3Rlc3RzL2xvYWRp
bmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljCiBodHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2Fk
U3RhdGlzdGljcy9ub24tcHJldmFsZW50LXJlc291cmNlLXdpdGhvdXQtdXNlci1pbnRlcmFjdGlv
bi5odG1sIFsgUGFzcyBUaW1lb3V0IF0KIGh0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRT
dGF0aXN0aWNzL3ByZXZhbGVudC1yZXNvdXJjZS13aXRob3V0LXVzZXItaW50ZXJhY3Rpb24uaHRt
bCBbIFBhc3MgVGltZW91dCBdCiBodHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlz
dGljcy9wcmV2YWxlbnQtcmVzb3VyY2Utd2l0aC11c2VyLWludGVyYWN0aW9uLXRpbWVvdXQuaHRt
bCBbIFBhc3MgVGltZW91dCBdCitodHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlz
dGljcy9jbGFzc2lmeS1hcy1ub24tcHJldmFsZW50LWJhc2VkLW9uLW1peGVkLXN0YXRpc3RpY3Mu
aHRtbCBbIFBhc3MgXQoraHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mv
Y2xhc3NpZnktYXMtbm9uLXByZXZhbGVudC1iYXNlZC1vbi1zdWItZnJhbWUtdW5kZXItdG9wLWZy
YW1lLW9yaWdpbnMuaHRtbCBbIFBhc3MgXQoraHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9h
ZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtbm9uLXByZXZhbGVudC1iYXNlZC1vbi1zdWJyZXNvdXJj
ZS11bmRlci10b3AtZnJhbWUtb3JpZ2lucy5odG1sIFsgUGFzcyBdCitodHRwL3Rlc3RzL2xvYWRp
bmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1ub24tcHJldmFsZW50LWJhc2Vk
LW9uLXN1YnJlc291cmNlLXVuaXF1ZS1yZWRpcmVjdHMtdG8uaHRtbCBbIFBhc3MgXQoraHR0cC90
ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtcHJldmFsZW50
LWJhc2VkLW9uLW1peGVkLXN0YXRpc3RpY3MuaHRtbCBbIFBhc3MgXQoraHR0cC90ZXN0cy9sb2Fk
aW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtcHJldmFsZW50LWJhc2VkLW9u
LXN1Yi1mcmFtZS11bmRlci10b3AtZnJhbWUtb3JpZ2lucy5odG1sIFsgUGFzcyBdCitodHRwL3Rl
c3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1wcmV2YWxlbnQt
YmFzZWQtb24tc3VicmVzb3VyY2UtdW5kZXItdG9wLWZyYW1lLW9yaWdpbnMuaHRtbCBbIFBhc3Mg
XQoraHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMt
cHJldmFsZW50LWJhc2VkLW9uLXN1YnJlc291cmNlLXVuaXF1ZS1yZWRpcmVjdHMtdG8uaHRtbCBb
IFBhc3MgXQogCiAjIyMgRU5EIE9GICg1KSBQcm9ncmVzc2lvbnMsIGV4cGVjdGVkIHN1Y2Nlc3Nl
cyB0aGF0IGFyZSBleHBlY3RlZCBmYWlsdXJlcyBpbiBXZWJLaXQxLgogIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>302022</attachid>
            <date>2017-02-17 17:31:57 -0800</date>
            <delta_ts>2017-02-20 14:46:11 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-168347-20170217172918.patch</filename>
            <type>text/plain</type>
            <size>122740</size>
            <attacher name="John Wilander">wilander</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XVEYvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XVEYvQ2hh
bmdlTG9nCShyZXZpc2lvbiAyMTI1OTcpCisrKyBTb3VyY2UvV1RGL0NoYW5nZUxvZwkod29ya2lu
ZyBjb3B5KQpAQCAtMSwzICsxLDE0IEBACisyMDE3LTAyLTE3ICBKb2huIFdpbGFuZGVyICA8d2ls
YW5kZXJAYXBwbGUuY29tPgorCisgICAgICAgIFJlc291cmNlIExvYWQgU3RhdGlzdGljczogQWRk
IGFsdGVybmF0ZSBjbGFzc2lmaWNhdGlvbiBtZXRob2QKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2ODM0NworICAgICAgICA8cmRhcjovL3Byb2JsZW0v
MzAzNTI3OTM+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgKiB3dGYvUGxhdGZvcm0uaDoKKyAgICAgICAgICAgIEFkZGVkIHN1cHBvcnQgZm9yIEhBVkUo
Q09SRV9QUkVESUNUSU9OKS4KKwogMjAxNy0wMi0xNiAgQWxleCBDaHJpc3RlbnNlbiAgPGFjaHJp
c3RlbnNlbkB3ZWJraXQub3JnPgogCiAgICAgICAgIFJlbW92ZSBFRkwtc3BlY2lmaWMgZmlsZXMg
aW4gU291cmNlLgpJbmRleDogU291cmNlL1dURi93dGYvUGxhdGZvcm0uaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybS5oCShyZXZpc2lvbiAyMTI1OTcpCisrKyBTb3VyY2Uv
V1RGL3d0Zi9QbGF0Zm9ybS5oCSh3b3JraW5nIGNvcHkpCkBAIC0xMjA4LDQgKzEyMDgsOCBAQAog
I2VuZGlmCiAjZW5kaWYgLyogUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUFY
X0FMTE9XRUQgPj0gMTAxMjAxICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0g
MTAxMjAwICovCiAKKyNpZiBQTEFURk9STShJT1MpIHx8IChQTEFURk9STShNQUMpICYmIF9fTUFD
X09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxMjAwKQorI2RlZmluZSBIQVZFX0NPUkVf
UFJFRElDVElPTiAxCisjZW5kaWYKKwogI2VuZGlmIC8qIFdURl9QbGF0Zm9ybV9oICovCkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
Q2hhbmdlTG9nCShyZXZpc2lvbiAyMTI1OTcpCisrKyBTb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cJ
KHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwyOCBAQAorMjAxNy0wMi0xNyAgSm9obiBXaWxhbmRl
ciAgPHdpbGFuZGVyQGFwcGxlLmNvbT4KKworICAgICAgICBSZXNvdXJjZSBMb2FkIFN0YXRpc3Rp
Y3M6IEFkZCBhbHRlcm5hdGUgY2xhc3NpZmljYXRpb24gbWV0aG9kCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjgzNDcKKyAgICAgICAgPHJkYXI6Ly9w
cm9ibGVtLzMwMzUyNzkzPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIFRoaXMgcGF0Y2ggb25seSBhZGRzIHRlc3QgaW5mcmFzdHJ1Y3R1cmUgaW4gV2Vi
Q29yZS4KKworICAgICAgICBUZXN0czogaHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0
YXRpc3RpY3MvY2xhc3NpZnktYXMtbm9uLXByZXZhbGVudC1iYXNlZC1vbi1taXhlZC1zdGF0aXN0
aWNzLmh0bWwKKyAgICAgICAgICAgICAgIGh0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRT
dGF0aXN0aWNzL2NsYXNzaWZ5LWFzLW5vbi1wcmV2YWxlbnQtYmFzZWQtb24tc3ViLWZyYW1lLXVu
ZGVyLXRvcC1mcmFtZS1vcmlnaW5zLmh0bWwKKyAgICAgICAgICAgICAgIGh0dHAvdGVzdHMvbG9h
ZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLW5vbi1wcmV2YWxlbnQtYmFz
ZWQtb24tc3VicmVzb3VyY2UtdW5kZXItdG9wLWZyYW1lLW9yaWdpbnMuaHRtbAorICAgICAgICAg
ICAgICAgaHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnkt
YXMtbm9uLXByZXZhbGVudC1iYXNlZC1vbi1zdWJyZXNvdXJjZS11bmlxdWUtcmVkaXJlY3RzLXRv
Lmh0bWwKKyAgICAgICAgICAgICAgIGh0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0
aXN0aWNzL2NsYXNzaWZ5LWFzLXByZXZhbGVudC1iYXNlZC1vbi1taXhlZC1zdGF0aXN0aWNzLmh0
bWwKKyAgICAgICAgICAgICAgIGh0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0
aWNzL2NsYXNzaWZ5LWFzLXByZXZhbGVudC1iYXNlZC1vbi1zdWItZnJhbWUtdW5kZXItdG9wLWZy
YW1lLW9yaWdpbnMuaHRtbAorICAgICAgICAgICAgICAgaHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291
cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtcHJldmFsZW50LWJhc2VkLW9uLXN1YnJlc291
cmNlLXVuZGVyLXRvcC1mcmFtZS1vcmlnaW5zLmh0bWwKKyAgICAgICAgICAgICAgIGh0dHAvdGVz
dHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLXByZXZhbGVudC1i
YXNlZC1vbi1zdWJyZXNvdXJjZS11bmlxdWUtcmVkaXJlY3RzLXRvLmh0bWwKKworICAgICAgICAq
IGxvYWRlci9SZXNvdXJjZUxvYWRPYnNlcnZlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZXNv
dXJjZUxvYWRPYnNlcnZlcjo6c2V0U3ViZnJhbWVVbmRlclRvcEZyYW1lT3JpZ2luKToKKyAgICAg
ICAgKFdlYkNvcmU6OlJlc291cmNlTG9hZE9ic2VydmVyOjpzZXRTdWJyZXNvdXJjZVVuZGVyVG9w
RnJhbWVPcmlnaW4pOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VMb2FkT2JzZXJ2ZXI6OnNl
dFN1YnJlc291cmNlVW5pcXVlUmVkaXJlY3RUbyk6CisgICAgICAgICogbG9hZGVyL1Jlc291cmNl
TG9hZE9ic2VydmVyLmg6CisKIDIwMTctMDItMTcgIEJyaWFuIEJ1cmcgIDxiYnVyZ0BhcHBsZS5j
b20+CiAKICAgICAgICAgV2ViIEluc3BlY3RvcjogUlRMOiBJbnNwZWN0b3Igd2luZG93IHNob3Vs
ZCBkb2NrIHRvIHRoZSBsZWZ0IHdoZW4gdXNpbmcgUlRMIGxheW91dCBkaXJlY3Rpb24KSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZUxvYWRPYnNlcnZlci5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlTG9hZE9ic2VydmVyLmNwcAkocmV2
aXNpb24gMjEyNTk3KQorKysgU291cmNlL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlTG9hZE9ic2Vy
dmVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzc1LDYgKzM3NSwzMyBAQCB2b2lkIFJlc291cmNl
TG9hZE9ic2VydmVyOjpjbGVhclByZXZhbGVuCiAgICAgc3RhdGlzdGljcy5pc1ByZXZhbGVudFJl
c291cmNlID0gZmFsc2U7CiB9CiAKK3ZvaWQgUmVzb3VyY2VMb2FkT2JzZXJ2ZXI6OnNldFN1YmZy
YW1lVW5kZXJUb3BGcmFtZU9yaWdpbihjb25zdCBVUkwmIHN1YmZyYW1lLCBjb25zdCBVUkwmIHRv
cEZyYW1lKQoreworICAgIGlmIChzdWJmcmFtZS5pc0JsYW5rVVJMKCkgfHwgc3ViZnJhbWUuaXNF
bXB0eSgpIHx8IHRvcEZyYW1lLmlzQmxhbmtVUkwoKSB8fCB0b3BGcmFtZS5pc0VtcHR5KCkpCisg
ICAgICAgIHJldHVybjsKKyAgICAKKyAgICBhdXRvJiBzdGF0aXN0aWNzID0gbV9zdG9yZS0+ZW5z
dXJlUmVzb3VyY2VTdGF0aXN0aWNzRm9yUHJpbWFyeURvbWFpbihwcmltYXJ5RG9tYWluKHN1YmZy
YW1lKSk7CisgICAgc3RhdGlzdGljcy5zdWJmcmFtZVVuZGVyVG9wRnJhbWVPcmlnaW5zLmFkZChw
cmltYXJ5RG9tYWluKHRvcEZyYW1lKSk7Cit9CisKK3ZvaWQgUmVzb3VyY2VMb2FkT2JzZXJ2ZXI6
OnNldFN1YnJlc291cmNlVW5kZXJUb3BGcmFtZU9yaWdpbihjb25zdCBVUkwmIHN1YnJlc291cmNl
LCBjb25zdCBVUkwmIHRvcEZyYW1lKQoreworICAgIGlmIChzdWJyZXNvdXJjZS5pc0JsYW5rVVJM
KCkgfHwgc3VicmVzb3VyY2UuaXNFbXB0eSgpIHx8IHRvcEZyYW1lLmlzQmxhbmtVUkwoKSB8fCB0
b3BGcmFtZS5pc0VtcHR5KCkpCisgICAgICAgIHJldHVybjsKKyAgICAKKyAgICBhdXRvJiBzdGF0
aXN0aWNzID0gbV9zdG9yZS0+ZW5zdXJlUmVzb3VyY2VTdGF0aXN0aWNzRm9yUHJpbWFyeURvbWFp
bihwcmltYXJ5RG9tYWluKHN1YnJlc291cmNlKSk7CisgICAgc3RhdGlzdGljcy5zdWJyZXNvdXJj
ZVVuZGVyVG9wRnJhbWVPcmlnaW5zLmFkZChwcmltYXJ5RG9tYWluKHRvcEZyYW1lKSk7Cit9CisK
K3ZvaWQgUmVzb3VyY2VMb2FkT2JzZXJ2ZXI6OnNldFN1YnJlc291cmNlVW5pcXVlUmVkaXJlY3RU
byhjb25zdCBVUkwmIHN1YnJlc291cmNlLCBjb25zdCBVUkwmIGhvc3ROYW1lUmVkaXJlY3RlZFRv
KQoreworICAgIGlmIChzdWJyZXNvdXJjZS5pc0JsYW5rVVJMKCkgfHwgc3VicmVzb3VyY2UuaXNF
bXB0eSgpIHx8IGhvc3ROYW1lUmVkaXJlY3RlZFRvLmlzQmxhbmtVUkwoKSB8fCBob3N0TmFtZVJl
ZGlyZWN0ZWRUby5pc0VtcHR5KCkpCisgICAgICAgIHJldHVybjsKKyAgICAKKyAgICBhdXRvJiBz
dGF0aXN0aWNzID0gbV9zdG9yZS0+ZW5zdXJlUmVzb3VyY2VTdGF0aXN0aWNzRm9yUHJpbWFyeURv
bWFpbihwcmltYXJ5RG9tYWluKHN1YnJlc291cmNlKSk7CisgICAgc3RhdGlzdGljcy5zdWJyZXNv
dXJjZVVuaXF1ZVJlZGlyZWN0c1RvLmFkZChwcmltYXJ5RG9tYWluKGhvc3ROYW1lUmVkaXJlY3Rl
ZFRvKSk7Cit9CisKIHZvaWQgUmVzb3VyY2VMb2FkT2JzZXJ2ZXI6OnNldFRpbWVUb0xpdmVVc2Vy
SW50ZXJhY3Rpb24oZG91YmxlIHNlY29uZHMpCiB7CiAgICAgbV9zdG9yZS0+c2V0VGltZVRvTGl2
ZVVzZXJJbnRlcmFjdGlvbihzZWNvbmRzKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2xvYWRlci9S
ZXNvdXJjZUxvYWRPYnNlcnZlci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2xvYWRl
ci9SZXNvdXJjZUxvYWRPYnNlcnZlci5oCShyZXZpc2lvbiAyMTI1OTcpCisrKyBTb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvUmVzb3VyY2VMb2FkT2JzZXJ2ZXIuaAkod29ya2luZyBjb3B5KQpAQCAtNTgs
NiArNTgsMTAgQEAgcHVibGljOgogICAgIFdFQkNPUkVfRVhQT1JUIGJvb2wgaXNQcmV2YWxlbnRS
ZXNvdXJjZShjb25zdCBVUkwmKTsKICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIGNsZWFyUHJldmFs
ZW50UmVzb3VyY2UoY29uc3QgVVJMJik7CiAKKyAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHNldFN1
YmZyYW1lVW5kZXJUb3BGcmFtZU9yaWdpbihjb25zdCBVUkwmIHN1YmZyYW1lLCBjb25zdCBVUkwm
IHRvcEZyYW1lKTsKKyAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHNldFN1YnJlc291cmNlVW5kZXJU
b3BGcmFtZU9yaWdpbihjb25zdCBVUkwmIHN1YnJlc291cmNlLCBjb25zdCBVUkwmIHRvcEZyYW1l
KTsKKyAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHNldFN1YnJlc291cmNlVW5pcXVlUmVkaXJlY3RU
byhjb25zdCBVUkwmIHN1YnJlc291cmNlLCBjb25zdCBVUkwmIGhvc3ROYW1lUmVkaXJlY3RlZFRv
KTsKKwogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgc2V0VGltZVRvTGl2ZVVzZXJJbnRlcmFjdGlv
bihkb3VibGUgc2Vjb25kcyk7CiAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBzZXRSZWR1Y2VkVGlt
ZXN0YW1wUmVzb2x1dGlvbihkb3VibGUgc2Vjb25kcyk7CiAKSW5kZXg6IFNvdXJjZS9XZWJLaXQy
L0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cJKHJldmlz
aW9uIDIxMjU5NykKKysrIFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpA
QCAtMSwzICsxLDc3IEBACisyMDE3LTAyLTE3ICBKb2huIFdpbGFuZGVyICA8d2lsYW5kZXJAYXBw
bGUuY29tPgorCisgICAgICAgIFJlc291cmNlIExvYWQgU3RhdGlzdGljczogQWRkIGFsdGVybmF0
ZSBjbGFzc2lmaWNhdGlvbiBtZXRob2QKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTE2ODM0NworICAgICAgICA8cmRhcjovL3Byb2JsZW0vMzAzNTI3OTM+
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhpcyBw
YXRjaCBhZGRzIGEgQ29yZVByZWRpY3Rpb24tYmFzZWQgY2xhc3NpZmllciB0byB0aGUgV2ViUmVz
b3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlLgorICAgICAgICBUaGUgQ29yZVByZWRpY3Rpb24gZnJh
bWV3b3JrIGlzIGludHJvZHVjZWQgYXMgYSBkZXBlbmRlbmN5IGZvciBtYWNPUyBhbmQgaU9TLiBU
aGUgcGF0Y2gKKyAgICAgICAgYWxzbyBhZGRzIGZ1bmN0aW9ucyB0byBzdXBwb3J0IGxheW91dCB0
ZXN0cyBvZiB0aGUgZmVhdHVyZS4KKworICAgICAgICAqIENvbmZpZ3VyYXRpb25zL0Jhc2VUYXJn
ZXQueGNjb25maWc6CisgICAgICAgICogQ29uZmlndXJhdGlvbnMvV2ViS2l0LnhjY29uZmlnOgor
ICAgICAgICAgICAgQWRkZWQgZGVwZW5kZW5jeSBvbiBDb3JlUHJlZGljdGlvbi4KKyAgICAgICAg
KiBQbGF0Zm9ybS9jbGFzc2lmaWVyOiBBZGRlZC4KKyAgICAgICAgKiBQbGF0Zm9ybS9jbGFzc2lm
aWVyL1Jlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyLmg6IEFkZGVkLgorICAgICAgICAg
ICAgUHVsbHMgaW4gdGhlIENvY29hLXNwZWNpZmljIGNsYXNzaWZpZXIgZm9yIENvY29hLWJhc2Vk
IHBsYXRmb3Jtcy4KKyAgICAgICAgKFdlYktpdDo6UmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNz
aWZpZXI6OlJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyKToKKyAgICAgICAgKiBQbGF0
Zm9ybS9jbGFzc2lmaWVyL1Jlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQmFzZS5jcHA6
IEFkZGVkLgorICAgICAgICAoV2ViS2l0OjpSZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmll
ckJhc2U6Omhhc1ByZXZhbGVudFJlc291cmNlQ2hhcmFjdGVyaXN0aWNzKToKKyAgICAgICAgICAg
IFNoYXJlZCBjbGFzc2lmaWVyIGxvZ2ljLgorICAgICAgICAoV2ViS2l0OjpSZXNvdXJjZUxvYWRT
dGF0aXN0aWNzQ2xhc3NpZmllckJhc2U6OmNsYXNzaWZ5V2l0aFZlY3RvclRocmVzaG9sZCk6Cisg
ICAgICAgICAgICBGYWxsYmFjayBjbGFzc2lmaWVyIGZvciB3aGVuIHdlIGRvbid0IGhhdmUgQ29y
ZVByZWRpY3Rpb24uCisgICAgICAgICogUGxhdGZvcm0vY2xhc3NpZmllci9SZXNvdXJjZUxvYWRT
dGF0aXN0aWNzQ2xhc3NpZmllckJhc2UuaDogQWRkZWQuCisgICAgICAgIChXZWJLaXQ6OlJlc291
cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQmFzZTo6UmVzb3VyY2VMb2FkU3RhdGlzdGljc0Ns
YXNzaWZpZXJCYXNlKToKKyAgICAgICAgKFdlYktpdDo6UmVzb3VyY2VMb2FkU3RhdGlzdGljc0Ns
YXNzaWZpZXJCYXNlOjp+UmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXJCYXNlKToKKyAg
ICAgICAgKiBQbGF0Zm9ybS9jbGFzc2lmaWVyL2NvY29hOiBBZGRlZC4KKyAgICAgICAgKiBQbGF0
Zm9ybS9jbGFzc2lmaWVyL2NvY29hL0NvcmVQcmVkaWN0aW9uU1BJLmg6IEFkZGVkLgorICAgICAg
ICAgICAgSW5jbHVkZXMgQ29yZVByZWRpY3Rpb24gaWYgYXZhaWxhYmxlLCBvdGhlcndpc2UgZGVj
bGFyZXMgbmVlZGVkIHN5bWJvbHMuCisgICAgICAgICogUGxhdGZvcm0vY2xhc3NpZmllci9jb2Nv
YS9SZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllckNvY29hLmNwcDogQWRkZWQuCisgICAg
ICAgIChXZWJLaXQ6OlJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyOjpjbGFzc2lmeSk6
CisgICAgICAgIChXZWJLaXQ6OlJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyOjpzdG9y
YWdlUGF0aCk6CisgICAgICAgIChXZWJLaXQ6OlJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lm
aWVyOjpzaG91bGRVc2VDb3JlUHJlZGljdGlvbik6CisgICAgICAgICAgICBUaGUgbmV3IGNsYXNz
aWZpZXIgZm9yIENvY29hIHBsYXRmb3Jtcy4KKyAgICAgICAgKiBQbGF0Zm9ybS9jbGFzc2lmaWVy
L2NvY29hL1Jlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQ29jb2EuaDogQWRkZWQuCisg
ICAgICAgIChXZWJLaXQ6OlJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyOjpSZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllcik6CisgICAgICAgICogUGxhdGZvcm1HVEsuY21ha2U6
CisgICAgICAgICAgIEFkZGVkIFBsYXRmb3JtL2NsYXNzaWZpZXIgZGlyZWN0b3J5IGFuZCBSZXNv
dXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllckJhc2UuY3BwLgorICAgICAgICAqIFBsYXRmb3Jt
TWFjLmNtYWtlOgorICAgICAgICAgICBBZGRlZCBQbGF0Zm9ybS9jbGFzc2lmaWVyIGFuZCBQbGF0
Zm9ybS9jbGFzc2lmaWVyL2NvY29hIGRpcmVjdG9yaWVzLCBhbmQKKyAgICAgICAgICAgc291cmNl
IGZpbGVzIFJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQmFzZS5jcHAgYW5kCisgICAg
ICAgICAgIFJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQ29jb2EuY3BwCisgICAgICAg
ICogUmVzb3VyY2VzL1Jlc291cmNlTG9hZFN0YXRpc3RpY3M6IEFkZGVkLgorICAgICAgICAqIFJl
c291cmNlcy9SZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NvcmVQcmVkaWN0aW9uX21vZGVsOiBBZGRl
ZC4KKyAgICAgICAgICAgIE1vZGVsIGZpbGUgdG8gbG9hZCBpbnRvIENvcmVQcmVkaWN0aW9uLgor
ICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQy9XS1Jlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2Vy
LmNwcDoKKyAgICAgICAgKFdLUmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFnZXJTZXRTdWJmcmFt
ZVVuZGVyVG9wRnJhbWVPcmlnaW4pOgorICAgICAgICAoV0tSZXNvdXJjZUxvYWRTdGF0aXN0aWNz
TWFuYWdlclNldFN1YnJlc291cmNlVW5kZXJUb3BGcmFtZU9yaWdpbik6CisgICAgICAgIChXS1Jl
c291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VyU2V0U3VicmVzb3VyY2VVbmlxdWVSZWRpcmVjdFRv
KToKKyAgICAgICAgICAgIFRlc3QgaW5mcmFzdHJ1Y3R1cmUuCisgICAgICAgICogVUlQcm9jZXNz
L0FQSS9DL1dLUmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFnZXIuaDoKKyAgICAgICAgKiBVSVBy
b2Nlc3MvV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFnZXIuY3BwOgorICAgICAgICAoV2Vi
S2l0OjpXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdlcjo6c2V0U3ViZnJhbWVVbmRlclRv
cEZyYW1lT3JpZ2luKToKKyAgICAgICAgKFdlYktpdDo6V2ViUmVzb3VyY2VMb2FkU3RhdGlzdGlj
c01hbmFnZXI6OnNldFN1YnJlc291cmNlVW5kZXJUb3BGcmFtZU9yaWdpbik6CisgICAgICAgIChX
ZWJLaXQ6OldlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VyOjpzZXRTdWJyZXNvdXJjZVVu
aXF1ZVJlZGlyZWN0VG8pOgorICAgICAgICAgICAgVGVzdCBpbmZyYXN0cnVjdHVyZS4KKyAgICAg
ICAgKiBVSVByb2Nlc3MvV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFnZXIuaDoKKyAgICAg
ICAgKiBVSVByb2Nlc3MvV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlLmNwcDoKKyAgICAg
ICAgKFdlYktpdDo6V2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlOjpXZWJSZXNvdXJjZUxv
YWRTdGF0aXN0aWNzU3RvcmUpOgorICAgICAgICAgICAgUmVuYW1lZCBtX3N0b3JhZ2VQYXRoIHRv
IG1fc3RhdGlzdGljc1N0b3JhZ2VQYXRoIGZvciBjbGFyaXR5LgorICAgICAgICAoV2ViS2l0OjpX
ZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmU6OmNsYXNzaWZ5UmVzb3VyY2UpOgorICAgICAg
ICAgICAgTm93IGNhbGxzIHRoZSBjbGFzc2lmaWVyIHRocm91Z2ggaXRzIFJlc291cmNlTG9hZFN0
YXRpc3RpY3NDbGFzc2lmaWVyCisgICAgICAgICAgICBtZW1iZXIgdmFyaWFibGUuCisgICAgICAg
IChXZWJLaXQ6OldlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZTo6cGVyc2lzdGVudFN0b3Jh
Z2VQYXRoKToKKyAgICAgICAgICAgIFJlbmFtZWQgbV9zdG9yYWdlUGF0aCB0byBtX3N0YXRpc3Rp
Y3NTdG9yYWdlUGF0aCBmb3IgY2xhcml0eS4KKyAgICAgICAgKFdlYktpdDo6V2ViUmVzb3VyY2VM
b2FkU3RhdGlzdGljc1N0b3JlOjp3cml0ZUVuY29kZXJUb0Rpc2spOgorICAgICAgICAgICAgUmVu
YW1lZCBtX3N0b3JhZ2VQYXRoIHRvIG1fc3RhdGlzdGljc1N0b3JhZ2VQYXRoIGZvciBjbGFyaXR5
LgorICAgICAgICAoV2ViS2l0OjpXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmU6Omhhc1By
ZXZhbGVudFJlc291cmNlQ2hhcmFjdGVyaXN0aWNzKTogRGVsZXRlZC4KKyAgICAgICAgKiBVSVBy
b2Nlc3MvV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlLmg6CisgICAgICAgICogV2ViS2l0
Mi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAgICAgQWRkZWQgdGhlIG5ldyBj
bGFzc2lmaWVyIHNvdXJjZSBmaWxlcyB1bmRlciBQbGF0Zm9ybS9jbGFzc2lmaWVyIGFuZCB0aGUK
KyAgICAgICAgICAgIGNvcmVQcmVkaWN0aW9uX21vZGVsIGZpbGUgdW5kZXIgUmVzb3VyY2VzL1Jl
c291cmNlTG9hZFN0YXRpc3RpY3MuCisKIDIwMTctMDItMTcgIEJyaWFuIEJ1cmcgIDxiYnVyZ0Bh
cHBsZS5jb20+CiAKICAgICAgICAgV2ViIEluc3BlY3RvcjogUlRMOiBJbnNwZWN0b3Igd2luZG93
IHNob3VsZCBkb2NrIHRvIHRoZSBsZWZ0IHdoZW4gdXNpbmcgUlRMIGxheW91dCBkaXJlY3Rpb24K
SW5kZXg6IFNvdXJjZS9XZWJLaXQyL1BsYXRmb3JtR1RLLmNtYWtlCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJLaXQyL1BsYXRmb3JtR1RLLmNtYWtlCShyZXZpc2lvbiAyMTI1OTcpCisrKyBTb3Vy
Y2UvV2ViS2l0Mi9QbGF0Zm9ybUdUSy5jbWFrZQkod29ya2luZyBjb3B5KQpAQCAtNDYsNiArNDYs
OCBAQCBsaXN0KEFQUEVORCBXZWJLaXQyX1NPVVJDRVMKICAgICBQbGF0Zm9ybS9JUEMvdW5peC9B
dHRhY2htZW50VW5peC5jcHAKICAgICBQbGF0Zm9ybS9JUEMvdW5peC9Db25uZWN0aW9uVW5peC5j
cHAKIAorICAgIFBsYXRmb3JtL2NsYXNzaWZpZXIvUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNz
aWZpZXJCYXNlLmNwcAorCiAgICAgUGxhdGZvcm0vZ2xpYi9Nb2R1bGVHbGliLmNwcAogCiAgICAg
UGxhdGZvcm0vdW5peC9Mb2dnaW5nVW5peC5jcHAKQEAgLTg1Miw2ICs4NTQsNyBAQCBsaXN0KEFQ
UEVORCBXZWJLaXQyX0lOQ0xVREVfRElSRUNUT1JJRVMKICAgICAiJHtXRUJLSVQyX0RJUn0vTmV0
d29ya1Byb2Nlc3Mvc291cCIKICAgICAiJHtXRUJLSVQyX0RJUn0vTmV0d29ya1Byb2Nlc3MvdW5p
eCIKICAgICAiJHtXRUJLSVQyX0RJUn0vUGxhdGZvcm0vSVBDL2dsaWIiCisgICAgIiR7V0VCS0lU
Ml9ESVJ9L1BsYXRmb3JtL2NsYXNzaWZpZXIiCiAgICAgIiR7V0VCS0lUMl9ESVJ9L1NoYXJlZC9B
UEkvYy9ndGsiCiAgICAgIiR7V0VCS0lUMl9ESVJ9L1NoYXJlZC9QbHVnaW5zL3VuaXgiCiAgICAg
IiR7V0VCS0lUMl9ESVJ9L1NoYXJlZC9nbGliIgpJbmRleDogU291cmNlL1dlYktpdDIvUGxhdGZv
cm1NYWMuY21ha2UKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvUGxhdGZvcm1NYWMuY21h
a2UJKHJldmlzaW9uIDIxMjU5NykKKysrIFNvdXJjZS9XZWJLaXQyL1BsYXRmb3JtTWFjLmNtYWtl
CSh3b3JraW5nIGNvcHkpCkBAIC00OSw2ICs0OSwxMCBAQCBsaXN0KEFQUEVORCBXZWJLaXQyX1NP
VVJDRVMKIAogICAgIFBsYXRmb3JtL2NnL0NHVXRpbGl0aWVzLmNwcAogCisgICAgUGxhdGZvcm0v
Y2xhc3NpZmllci9SZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllckJhc2UuY3BwCisKKyAg
ICBQbGF0Zm9ybS9jbGFzc2lmaWVyL2NvY29hL1Jlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lm
aWVyQ29jb2EuY3BwCisKICAgICBQbGF0Zm9ybS9mb3VuZGF0aW9uL0xvZ2dpbmdGb3VuZGF0aW9u
Lm1tCiAKICAgICBQbGF0Zm9ybS9jb2NvYS9TaGFyZWRNZW1vcnlDb2NvYS5jcHAKQEAgLTM5Miw2
ICszOTYsOCBAQCBsaXN0KEFQUEVORCBXZWJLaXQyX0lOQ0xVREVfRElSRUNUT1JJRVMKICAgICAi
JHtXRUJLSVQyX0RJUn0vVUlQcm9jZXNzL1Njcm9sbGluZyIKICAgICAiJHtXRUJLSVQyX0RJUn0v
VUlQcm9jZXNzL2lvcyIKICAgICAiJHtXRUJLSVQyX0RJUn0vUGxhdGZvcm0vY2ciCisgICAgIiR7
V0VCS0lUMl9ESVJ9L1BsYXRmb3JtL2NsYXNzaWZpZXIiCisgICAgIiR7V0VCS0lUMl9ESVJ9L1Bs
YXRmb3JtL2NsYXNzaWZpZXIvY29jb2EiCiAgICAgIiR7V0VCS0lUMl9ESVJ9L1BsYXRmb3JtL21h
YyIKICAgICAiJHtXRUJLSVQyX0RJUn0vUGxhdGZvcm0vdW5peCIKICAgICAiJHtXRUJLSVQyX0RJ
Un0vUGxhdGZvcm0vc3BpL0NvY29hIgpJbmRleDogU291cmNlL1dlYktpdDIvQ29uZmlndXJhdGlv
bnMvQmFzZVRhcmdldC54Y2NvbmZpZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9Db25m
aWd1cmF0aW9ucy9CYXNlVGFyZ2V0LnhjY29uZmlnCShyZXZpc2lvbiAyMTI1OTcpCisrKyBTb3Vy
Y2UvV2ViS2l0Mi9Db25maWd1cmF0aW9ucy9CYXNlVGFyZ2V0LnhjY29uZmlnCSh3b3JraW5nIGNv
cHkpCkBAIC0zMiw3ICszMiw3IEBAIFdLX1BSSVZBVEVfRlJBTUVXT1JLU19ESVJfW3Nkaz1pcGhv
bmVvcyoKIFdLX1BSSVZBVEVfRlJBTUVXT1JLU19ESVJfaXBob25lb3NfWUVTID0gJChTUkNST09U
KS8uLi8uLi9XZWJLaXRMaWJyYXJpZXMvV2ViS2l0UHJpdmF0ZUZyYW1ld29ya1N0dWJzL2lPUy8k
KFdLX1RBUkdFVF9JT1NfVkVSU0lPTl9NQUpPUik7CiBXS19QUklWQVRFX0ZSQU1FV09SS1NfRElS
X2lwaG9uZW9zX05PID0gJChQUk9EVUNUSU9OX0ZSQU1FV09SS1NfRElSKTsKIAotRlJBTUVXT1JL
X1NFQVJDSF9QQVRIU19iYXNlID0gIiQoVU1CUkVMTEFfRlJBTUVXT1JLU19ESVIpIiAkKEZSQU1F
V09SS19TRUFSQ0hfUEFUSFMpOworRlJBTUVXT1JLX1NFQVJDSF9QQVRIU19iYXNlID0gIiQoVU1C
UkVMTEFfRlJBTUVXT1JLU19ESVIpIiAvU3lzdGVtL0xpYnJhcnkvUHJpdmF0ZUZyYW1ld29ya3Mg
JChGUkFNRVdPUktfU0VBUkNIX1BBVEhTKTsKIEZSQU1FV09SS19TRUFSQ0hfUEFUSFNbc2RrPWlw
aG9uZSpdID0gJChGUkFNRVdPUktfU0VBUkNIX1BBVEhTX2Jhc2UpICQoV0tfUFJJVkFURV9GUkFN
RVdPUktTX0RJUik7CiBGUkFNRVdPUktfU0VBUkNIX1BBVEhTID0gJChGUkFNRVdPUktfU0VBUkNI
X1BBVEhTX2Jhc2UpOwogCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9Db25maWd1cmF0aW9ucy9XZWJL
aXQueGNjb25maWcKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvQ29uZmlndXJhdGlvbnMv
V2ViS2l0LnhjY29uZmlnCShyZXZpc2lvbiAyMTI1OTcpCisrKyBTb3VyY2UvV2ViS2l0Mi9Db25m
aWd1cmF0aW9ucy9XZWJLaXQueGNjb25maWcJKHdvcmtpbmcgY29weSkKQEAgLTM0LDEyICszNCwx
NCBAQCBNT0RVTEVNQVBfRklMRVtzZGs9aXBob25lKl09TW9kdWxlcy9pT1MuCiBJTlNUQUxMX1BB
VEggPSAkKFdFQktJVF9GUkFNRVdPUktTX0RJUik7CiBEWUxJQl9JTlNUQUxMX05BTUVfQkFTRSA9
ICQoTk9STUFMX1dFQktJVF9GUkFNRVdPUktTX0RJUik7CiAKLUZSQU1FV09SS19BTkRfTElCUkFS
WV9MREZMQUdTX0JBU0VfaW9zID0gLWxvYmpjIC1mcmFtZXdvcmsgQXNzZXJ0aW9uU2VydmljZXMg
LWZyYW1ld29yayBDRk5ldHdvcmsgLWZyYW1ld29yayBDb3JlRm91bmRhdGlvbiAtZnJhbWV3b3Jr
IENvcmVHcmFwaGljcyAtZnJhbWV3b3JrIENvcmVQREYgLWZyYW1ld29yayBDb3JlVGV4dCAtZnJh
bWV3b3JrIEZvdW5kYXRpb24gLWZyYW1ld29yayBHcmFwaGljc1NlcnZpY2VzIC1mcmFtZXdvcmsg
SW1hZ2VJTyAtZnJhbWV3b3JrIFVJS2l0IC1mcmFtZXdvcmsgT3BlbkdMRVMgLWZyYW1ld29yayBN
b2JpbGVDb3JlU2VydmljZXMgLWxNb2JpbGVHZXN0YWx0ICQoRlJBTUVXT1JLX0FORF9MSUJSQVJZ
X0xERkxBR1NfUExBVEZPUk1fJChQTEFURk9STV9OQU1FKSk7CitGUkFNRVdPUktfQU5EX0xJQlJB
UllfTERGTEFHU19CQVNFX2lvcyA9IC1sb2JqYyAtZnJhbWV3b3JrIEFzc2VydGlvblNlcnZpY2Vz
IC1mcmFtZXdvcmsgQ0ZOZXR3b3JrIC1mcmFtZXdvcmsgQ29yZUZvdW5kYXRpb24gLWZyYW1ld29y
ayBDb3JlR3JhcGhpY3MgLWZyYW1ld29yayBDb3JlUERGIC1mcmFtZXdvcmsgQ29yZVByZWRpY3Rp
b24gLWZyYW1ld29yayBDb3JlVGV4dCAtZnJhbWV3b3JrIEZvdW5kYXRpb24gLWZyYW1ld29yayBH
cmFwaGljc1NlcnZpY2VzIC1mcmFtZXdvcmsgSW1hZ2VJTyAtZnJhbWV3b3JrIFVJS2l0IC1mcmFt
ZXdvcmsgT3BlbkdMRVMgLWZyYW1ld29yayBNb2JpbGVDb3JlU2VydmljZXMgLWxNb2JpbGVHZXN0
YWx0ICQoRlJBTUVXT1JLX0FORF9MSUJSQVJZX0xERkxBR1NfUExBVEZPUk1fJChQTEFURk9STV9O
QU1FKSk7CiBGUkFNRVdPUktfQU5EX0xJQlJBUllfTERGTEFHU1tzZGs9aXBob25lb3MqXSA9ICQo
RlJBTUVXT1JLX0FORF9MSUJSQVJZX0xERkxBR1NfQkFTRV9pb3MpIC1mcmFtZXdvcmsgSU9TdXJm
YWNlOwogRlJBTUVXT1JLX0FORF9MSUJSQVJZX0xERkxBR1Nbc2RrPWlwaG9uZXNpbXVsYXRvcipd
ID0gJChGUkFNRVdPUktfQU5EX0xJQlJBUllfTERGTEFHU19CQVNFX2lvcyk7CiBGUkFNRVdPUktf
QU5EX0xJQlJBUllfTERGTEFHU19QTEFURk9STV9pcGhvbmVvcyA9IDsKIEZSQU1FV09SS19BTkRf
TElCUkFSWV9MREZMQUdTX1BMQVRGT1JNX2lwaG9uZXNpbXVsYXRvciA9IDsKLUZSQU1FV09SS19B
TkRfTElCUkFSWV9MREZMQUdTW3Nkaz1tYWNvc3gqXSA9IC1mcmFtZXdvcmsgQXBwbGljYXRpb25T
ZXJ2aWNlcyAtZnJhbWV3b3JrIENhcmJvbiAtZnJhbWV3b3JrIENvY29hIC1mcmFtZXdvcmsgQ29y
ZVNlcnZpY2VzIC1mcmFtZXdvcmsgSU9LaXQgLWZyYW1ld29yayBDb3JlQXVkaW8gLWZyYW1ld29y
ayBJT1N1cmZhY2UgLWZyYW1ld29yayBPcGVuR0w7CitGUkFNRVdPUktfQU5EX0xJQlJBUllfTERG
TEFHU1tzZGs9bWFjb3N4Kl0gPSAtZnJhbWV3b3JrIEFwcGxpY2F0aW9uU2VydmljZXMgLWZyYW1l
d29yayBDYXJib24gLWZyYW1ld29yayBDb2NvYSAtZnJhbWV3b3JrIENvcmVTZXJ2aWNlcyAtZnJh
bWV3b3JrIElPS2l0IC1mcmFtZXdvcmsgQ29yZUF1ZGlvIC1mcmFtZXdvcmsgSU9TdXJmYWNlIC1m
cmFtZXdvcmsgT3BlbkdMICQoRVhUUkFfRlJBTUVXT1JLX0FORF9MSUJSQVJZX0xERkxBR1NfJChU
QVJHRVRfTUFDX09TX1hfVkVSU0lPTl9NQUpPUikpOworRVhUUkFfRlJBTUVXT1JLX0FORF9MSUJS
QVJZX0xERkxBR1NfMTAxMjAwID0gLWZyYW1ld29yayBDb3JlUHJlZGljdGlvbjsKK0VYVFJBX0ZS
QU1FV09SS19BTkRfTElCUkFSWV9MREZMQUdTXzEwMTMwMCA9IC1mcmFtZXdvcmsgQ29yZVByZWRp
Y3Rpb247CiAKIC8vIFByZXZlbnQgQysrIHN0YW5kYXJkIGxpYnJhcnkgb3BlcmF0b3IgbmV3LCBk
ZWxldGUgYW5kIHRoZWlyIHJlbGF0ZWQgZXhjZXB0aW9uIHR5cGVzIGZyb20gYmVpbmcgZXhwb3J0
ZWQgYXMgd2VhayBzeW1ib2xzLgogVU5FWFBPUlRFRF9TWU1CT0xfTERGTEFHUyA9IC1XbCwtdW5l
eHBvcnRlZF9zeW1ib2wgLVdsLF9fWlRJU3Q5YmFkX2FsbG9jIC1XbCwtdW5leHBvcnRlZF9zeW1i
b2wgLVdsLF9fWlRJU3Q5ZXhjZXB0aW9uIC1XbCwtdW5leHBvcnRlZF9zeW1ib2wgLVdsLF9fWlRT
U3Q5YmFkX2FsbG9jIC1XbCwtdW5leHBvcnRlZF9zeW1ib2wgLVdsLF9fWlRTU3Q5ZXhjZXB0aW9u
IC1XbCwtdW5leHBvcnRlZF9zeW1ib2wgLVdsLF9fWmRsUHZTXyAtV2wsLXVuZXhwb3J0ZWRfc3lt
Ym9sIC1XbCxfX1pud21QdiAtV2wsLXVuZXhwb3J0ZWRfc3ltYm9sIC1XbCxfX1pud20gLVdsLC11
bmV4cG9ydGVkX3N5bWJvbCwgLVdsLF9fWk5TdDNfXzE4ZnVuY3Rpb25JRnZON1dlYkNvcmUxMlBv
bGljeUFjdGlvbkVFRUMyRU9TNF8gLVdsLC11bmV4cG9ydGVkX3N5bWJvbCwgLVdsLF9fWk5TdDNf
XzE4ZnVuY3Rpb25JRnZON1dlYkNvcmUxMlBvbGljeUFjdGlvbkVFRUMxRU9TNF8gLVdsLC11bmV4
cG9ydGVkX3N5bWJvbCwgLVdsLF9fWk5TdDNfXzE4ZnVuY3Rpb25JRnZON1dlYkNvcmUxMlBvbGlj
eUFjdGlvbkVFRWFTRURuIC1XbCwtdW5leHBvcnRlZF9zeW1ib2wsIC1XbCxfX1pOS1N0M19fMThm
dW5jdGlvbklGdk43V2ViQ29yZTEyUG9saWN5QWN0aW9uRUVFY2xFUzJfIC1XbCwtdW5leHBvcnRl
ZF9zeW1ib2wsIC1XbCxfX1pOU3QzX18xOGZ1bmN0aW9uSUZ2TjdXZWJDb3JlMTJQb2xpY3lBY3Rp
b25FRUU0c3dhcEVSUzRfIC1XbCwtdW5leHBvcnRlZF9zeW1ib2wsIC1XbCxfX1pOU3QzX18xOGZ1
bmN0aW9uSUZ2TjdXZWJDb3JlMTJQb2xpY3lBY3Rpb25FRUVDMUVSS1M0XyAtV2wsLXVuZXhwb3J0
ZWRfc3ltYm9sLCAtV2wsX19aTlN0M19fMThmdW5jdGlvbklGdk43V2ViQ29yZTEyUG9saWN5QWN0
aW9uRUVFQzJFUktTNF8gLVdsLC11bmV4cG9ydGVkX3N5bWJvbCwgLVdsLF9fWk5TdDNfXzE4ZnVu
Y3Rpb25JRnZON1dlYkNvcmUxMlBvbGljeUFjdGlvbkVFRUQxRXYgLVdsLC11bmV4cG9ydGVkX3N5
bWJvbCwgLVdsLF9fWk5TdDNfXzE4ZnVuY3Rpb25JRnZON1dlYkNvcmUxMlBvbGljeUFjdGlvbkVF
RUQyRXYgLVdsLC11bmV4cG9ydGVkX3N5bWJvbCwgLVdsLF9fWk5TdDNfXzE4ZnVuY3Rpb25JRnZO
N1dlYkNvcmUxMlBvbGljeUFjdGlvbkVFRWFTRVJLUzRfIC1XbCwtdW5leHBvcnRlZF9zeW1ib2ws
IC1XbCxfX1pUVk5TdDNfXzExN2JhZF9mdW5jdGlvbl9jYWxsRTsKSW5kZXg6IFNvdXJjZS9XZWJL
aXQyL1BsYXRmb3JtL2NsYXNzaWZpZXIvUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXIu
aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9jbGFzc2lmaWVyL1Jlc291
cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyLmgJKG5vbmV4aXN0ZW50KQorKysgU291cmNlL1dl
YktpdDIvUGxhdGZvcm0vY2xhc3NpZmllci9SZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmll
ci5oCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNTIgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMp
IDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAor
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIu
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9S
UyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09O
VFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJV
U0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZ
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
IE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
RUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21h
IG9uY2UKKworI2luY2x1ZGUgPHd0Zi9QbGF0Zm9ybS5oPgorCisjaWYgUExBVEZPUk0oQ09DT0Ep
CisjaW5jbHVkZSAiUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXJDb2NvYS5oIgorI2Vs
c2UKKworI2luY2x1ZGUgIlJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQmFzZS5oIgor
CituYW1lc3BhY2UgV2ViS2l0IHsKKworY2xhc3MgUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNz
aWZpZXIgOiBwdWJsaWMgUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXJCYXNlIHsKK3B1
YmxpYzoKKyAgICBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllcigpCisgICAgOiBSZXNv
dXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllckJhc2UoKSB7IH0KKyAgICAKK3Byb3RlY3RlZDoK
KyAgICBib29sIGNsYXNzaWZ5KGNvbnN0IHVuc2lnbmVkIGEsIGNvbnN0IHVuc2lnbmVkIGIsIGNv
bnN0IHVuc2lnbmVkIGMpIG92ZXJyaWRlCisgICAgeworICAgICAgICByZXR1cm4gY2xhc3NpZnlX
aXRoVmVjdG9yVGhyZXNob2xkKGEsIGIsIGMpOworICAgIH0KK307CisKK30KKworI2VuZGlmCklu
ZGV4OiBTb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9jbGFzc2lmaWVyL1Jlc291cmNlTG9hZFN0YXRp
c3RpY3NDbGFzc2lmaWVyQmFzZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvUGxh
dGZvcm0vY2xhc3NpZmllci9SZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllckJhc2UuY3Bw
CShub25leGlzdGVudCkKKysrIFNvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL2NsYXNzaWZpZXIvUmVz
b3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXJCYXNlLmNwcAkod29ya2luZyBjb3B5KQpAQCAt
MCwwICsxLDYwIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1l
dDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5Z
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxF
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZ
LCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUg
IlJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQmFzZS5oIgorCisjaW5jbHVkZSA8V2Vi
Q29yZS9SZXNvdXJjZUxvYWRTdGF0aXN0aWNzLmg+CisKK3VzaW5nIG5hbWVzcGFjZSBXZWJDb3Jl
OworCituYW1lc3BhY2UgV2ViS2l0IHsKKworc3RhdGljIGNvbnN0IGF1dG8gZmVhdHVyZVZlY3Rv
ckxlbmd0aFRocmVzaG9sZCA9IDM7Citib29sIFJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lm
aWVyQmFzZTo6aGFzUHJldmFsZW50UmVzb3VyY2VDaGFyYWN0ZXJpc3RpY3MoY29uc3QgUmVzb3Vy
Y2VMb2FkU3RhdGlzdGljcyYgcmVzb3VyY2VTdGF0aXN0aWMpCit7CisgICAgYXV0byBzdWJyZXNv
dXJjZVVuZGVyVG9wRnJhbWVPcmlnaW5zQ291bnQgPSByZXNvdXJjZVN0YXRpc3RpYy5zdWJyZXNv
dXJjZVVuZGVyVG9wRnJhbWVPcmlnaW5zLnNpemUoKTsKKyAgICBhdXRvIHN1YnJlc291cmNlVW5p
cXVlUmVkaXJlY3RzVG9Db3VudCA9IHJlc291cmNlU3RhdGlzdGljLnN1YnJlc291cmNlVW5pcXVl
UmVkaXJlY3RzVG8uc2l6ZSgpOworICAgIGF1dG8gc3ViZnJhbWVVbmRlclRvcEZyYW1lT3JpZ2lu
c0NvdW50ID0gcmVzb3VyY2VTdGF0aXN0aWMuc3ViZnJhbWVVbmRlclRvcEZyYW1lT3JpZ2lucy5z
aXplKCk7CisgICAgCisgICAgaWYgKCFzdWJyZXNvdXJjZVVuZGVyVG9wRnJhbWVPcmlnaW5zQ291
bnQKKyAgICAgICAgJiYgIXN1YnJlc291cmNlVW5pcXVlUmVkaXJlY3RzVG9Db3VudAorICAgICAg
ICAmJiAhc3ViZnJhbWVVbmRlclRvcEZyYW1lT3JpZ2luc0NvdW50KQorICAgICAgICByZXR1cm4g
ZmFsc2U7CisgICAgCisgICAgaWYgKHN1YnJlc291cmNlVW5kZXJUb3BGcmFtZU9yaWdpbnNDb3Vu
dCA+IGZlYXR1cmVWZWN0b3JMZW5ndGhUaHJlc2hvbGQKKyAgICAgICAgfHwgc3VicmVzb3VyY2VV
bmlxdWVSZWRpcmVjdHNUb0NvdW50ID4gZmVhdHVyZVZlY3Rvckxlbmd0aFRocmVzaG9sZAorICAg
ICAgICB8fCBzdWJmcmFtZVVuZGVyVG9wRnJhbWVPcmlnaW5zQ291bnQgPiBmZWF0dXJlVmVjdG9y
TGVuZ3RoVGhyZXNob2xkKQorICAgICAgICByZXR1cm4gdHJ1ZTsKKworICAgIHJldHVybiBjbGFz
c2lmeShzdWJyZXNvdXJjZVVuZGVyVG9wRnJhbWVPcmlnaW5zQ291bnQsIHN1YnJlc291cmNlVW5p
cXVlUmVkaXJlY3RzVG9Db3VudCwgc3ViZnJhbWVVbmRlclRvcEZyYW1lT3JpZ2luc0NvdW50KTsK
K30KKworYm9vbCBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllckJhc2U6OmNsYXNzaWZ5
V2l0aFZlY3RvclRocmVzaG9sZChjb25zdCB1bnNpZ25lZCBhLCBjb25zdCB1bnNpZ25lZCBiLCBj
b25zdCB1bnNpZ25lZCBjKQoreworICAgIHJldHVybiBzcXJ0KGEgKiBhICsgYiAqIGIgKyBjICog
YykgPiBmZWF0dXJlVmVjdG9yTGVuZ3RoVGhyZXNob2xkOworfQorICAgIAorfQpJbmRleDogU291
cmNlL1dlYktpdDIvUGxhdGZvcm0vY2xhc3NpZmllci9SZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xh
c3NpZmllckJhc2UuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9jbGFz
c2lmaWVyL1Jlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQmFzZS5oCShub25leGlzdGVu
dCkKKysrIFNvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL2NsYXNzaWZpZXIvUmVzb3VyY2VMb2FkU3Rh
dGlzdGljc0NsYXNzaWZpZXJCYXNlLmgJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw0NCBAQAor
LyoKKyAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0
cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMu
IEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUg
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQ
QVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBB
UFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNF
UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVN
RU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFU
QSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCituYW1lc3BhY2UgV2ViQ29yZSB7CitzdHJ1Y3Qg
UmVzb3VyY2VMb2FkU3RhdGlzdGljczsKK30KKworbmFtZXNwYWNlIFdlYktpdCB7CisKK2NsYXNz
IFJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQmFzZSB7CitwdWJsaWM6CisgICAgYm9v
bCBoYXNQcmV2YWxlbnRSZXNvdXJjZUNoYXJhY3RlcmlzdGljcyhjb25zdCBXZWJDb3JlOjpSZXNv
dXJjZUxvYWRTdGF0aXN0aWNzJiByZXNvdXJjZVN0YXRpc3RpYyk7Citwcm90ZWN0ZWQ6CisgICAg
UmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXJCYXNlKCkgeyB9CisgICAgdmlydHVhbCB+
UmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXJCYXNlKCkgeyB9CisgICAgdmlydHVhbCBi
b29sIGNsYXNzaWZ5KGNvbnN0IHVuc2lnbmVkLCBjb25zdCB1bnNpZ25lZCwgY29uc3QgdW5zaWdu
ZWQpID0gMDsKKyAgICBib29sIGNsYXNzaWZ5V2l0aFZlY3RvclRocmVzaG9sZChjb25zdCB1bnNp
Z25lZCwgY29uc3QgdW5zaWduZWQsIGNvbnN0IHVuc2lnbmVkKTsKK307CisKK30KSW5kZXg6IFNv
dXJjZS9XZWJLaXQyL1BsYXRmb3JtL2NsYXNzaWZpZXIvY29jb2EvQ29yZVByZWRpY3Rpb25TUEku
aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9jbGFzc2lmaWVyL2NvY29h
L0NvcmVQcmVkaWN0aW9uU1BJLmgJKG5vbmV4aXN0ZW50KQorKysgU291cmNlL1dlYktpdDIvUGxh
dGZvcm0vY2xhc3NpZmllci9jb2NvYS9Db3JlUHJlZGljdGlvblNQSS5oCSh3b3JraW5nIGNvcHkp
CkBAIC0wLDAgKzEsNDMgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBh
cmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFO
RCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4g
SU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBM
SUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVN
UExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2lmIFVTRShB
UFBMRV9JTlRFUk5BTF9TREspICYmIEhBVkUoQ09SRV9QUkVESUNUSU9OKQorI2luY2x1ZGUgPENv
cmVQcmVkaWN0aW9uL3N2bS5oPgorI2Vsc2UKKworc3RydWN0IHN2bV9ub2RlIHsKKyAgICBpbnQg
aW5kZXg7CisgICAgZG91YmxlIHZhbHVlOworfTsKKworc3RydWN0IHN2bV9tb2RlbCB7IH07CisK
K2RvdWJsZSBzdm1fcHJlZGljdF92YWx1ZXMoY29uc3Qgc3RydWN0IHN2bV9tb2RlbCosIGNvbnN0
IHN0cnVjdCBzdm1fbm9kZSosIGRvdWJsZSopOworCitzdHJ1Y3Qgc3ZtX21vZGVsICpzdm1fbG9h
ZF9tb2RlbChjb25zdCBjaGFyKik7CisKKyNlbmRpZgpJbmRleDogU291cmNlL1dlYktpdDIvUGxh
dGZvcm0vY2xhc3NpZmllci9jb2NvYS9SZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllckNv
Y29hLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9jbGFzc2lmaWVy
L2NvY29hL1Jlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQ29jb2EuY3BwCShub25leGlz
dGVudCkKKysrIFNvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL2NsYXNzaWZpZXIvY29jb2EvUmVzb3Vy
Y2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXJDb2NvYS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTAs
MCArMSwxMTUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0
OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4g
dGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkg
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8g
RVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUg
Rk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlks
IE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9T
UyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04p
IEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAi
UmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXJDb2NvYS5oIgorCisjaW5jbHVkZSAiTG9n
Z2luZy5oIgorCituYW1lc3BhY2UgV2ViS2l0IHsKKworYm9vbCBSZXNvdXJjZUxvYWRTdGF0aXN0
aWNzQ2xhc3NpZmllcjo6Y2xhc3NpZnkoY29uc3QgdW5zaWduZWQgc3VicmVzb3VyY2VVbmRlclRv
cEZyYW1lT3JpZ2luc0NvdW50LCBjb25zdCB1bnNpZ25lZCBzdWJyZXNvdXJjZVVuaXF1ZVJlZGly
ZWN0c1RvQ291bnQsIGNvbnN0IHVuc2lnbmVkIHN1YmZyYW1lVW5kZXJUb3BGcmFtZU9yaWdpbnND
b3VudCkKK3sKKyAgICBpZiAoIXNob3VsZFVzZUNvcmVQcmVkaWN0aW9uKCkpCisgICAgICAgIHJl
dHVybiBjbGFzc2lmeVdpdGhWZWN0b3JUaHJlc2hvbGQoc3VicmVzb3VyY2VVbmRlclRvcEZyYW1l
T3JpZ2luc0NvdW50LCBzdWJyZXNvdXJjZVVuaXF1ZVJlZGlyZWN0c1RvQ291bnQsIHN1YmZyYW1l
VW5kZXJUb3BGcmFtZU9yaWdpbnNDb3VudCk7CisKKyNpZiBIQVZFKENPUkVfUFJFRElDVElPTikK
KyAgICBWZWN0b3I8dW5zaWduZWQ+IG5vblplcm9GZWF0dXJlczsKKyAgICBWZWN0b3I8dW5zaWdu
ZWQ+IGluZGljZXM7CisKKyAgICBpZiAoc3VicmVzb3VyY2VVbmRlclRvcEZyYW1lT3JpZ2luc0Nv
dW50KSB7CisgICAgICAgIG5vblplcm9GZWF0dXJlcy5hcHBlbmQoc3VicmVzb3VyY2VVbmRlclRv
cEZyYW1lT3JpZ2luc0NvdW50KTsKKyAgICAgICAgaW5kaWNlcy5hcHBlbmQoMSk7CisgICAgfQor
ICAgIGlmIChzdWJyZXNvdXJjZVVuaXF1ZVJlZGlyZWN0c1RvQ291bnQpIHsKKyAgICAgICAgbm9u
WmVyb0ZlYXR1cmVzLmFwcGVuZChzdWJyZXNvdXJjZVVuaXF1ZVJlZGlyZWN0c1RvQ291bnQpOwor
ICAgICAgICBpbmRpY2VzLmFwcGVuZCgyKTsKKyAgICB9CisgICAgaWYgKHN1YmZyYW1lVW5kZXJU
b3BGcmFtZU9yaWdpbnNDb3VudCkgeworICAgICAgICBub25aZXJvRmVhdHVyZXMuYXBwZW5kKHN1
YmZyYW1lVW5kZXJUb3BGcmFtZU9yaWdpbnNDb3VudCk7CisgICAgICAgIGluZGljZXMuYXBwZW5k
KDMpOworICAgIH0KKworICAgIHN2bV9ub2RlKiBleGFtcGxlVmVjdG9yID0gbmV3IHN2bV9ub2Rl
W25vblplcm9GZWF0dXJlcy5zaXplKCkgKyAxXTsKKyAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8
IG5vblplcm9GZWF0dXJlcy5zaXplKCk7IGkrKykgeworICAgICAgICBleGFtcGxlVmVjdG9yW2ld
LmluZGV4ID0gaW5kaWNlcy5hdChpKTsKKyAgICAgICAgZXhhbXBsZVZlY3RvcltpXS52YWx1ZSA9
IG5vblplcm9GZWF0dXJlcy5hdChpKTsKKyAgICB9CisgICAgLy8gQWRkIHRlcm1pbmF0aW9uIG5v
ZGUgd2l0aCBpbmRleCAtMS4KKyAgICBleGFtcGxlVmVjdG9yW25vblplcm9GZWF0dXJlcy5zaXpl
KCldLmluZGV4ID0gLTE7CisgICAgZXhhbXBsZVZlY3Rvcltub25aZXJvRmVhdHVyZXMuc2l6ZSgp
XS52YWx1ZSA9IC0xOworCisgICAgaW50IGNsYXNzaWZpY2F0aW9uOworICAgIGRvdWJsZSBzY29y
ZTsKKyAgICBjbGFzc2lmaWNhdGlvbiA9IHN2bV9wcmVkaWN0X3ZhbHVlcyhtX2NvcmVQcmVkaWN0
aW9uTW9kZWwsIGV4YW1wbGVWZWN0b3IsICZzY29yZSk7CisgICAgZGVsZXRlW10gZXhhbXBsZVZl
Y3RvcjsKKyAgICByZXR1cm4gY2xhc3NpZmljYXRpb24gPCAwOworI2VuZGlmCisgICAgcmV0dXJu
IGZhbHNlOworfQorCitTdHJpbmcgUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXI6OnN0
b3JhZ2VQYXRoKCkKK3sKKyAgICBDRkJ1bmRsZVJlZiB3ZWJLaXRCdW5kbGUgPSBDRkJ1bmRsZUdl
dEJ1bmRsZVdpdGhJZGVudGlmaWVyKENGU1RSKCJjb20uYXBwbGUuV2ViS2l0IikpOworICAgIENG
VVJMUmVmIHJlc291cmNlVXJsID0gQ0ZCdW5kbGVDb3B5UmVzb3VyY2VzRGlyZWN0b3J5VVJMKHdl
YktpdEJ1bmRsZSk7CisgICAgcmVzb3VyY2VVcmwgPSBDRlVSTENyZWF0ZUNvcHlBcHBlbmRpbmdQ
YXRoQ29tcG9uZW50KG51bGxwdHIsIHJlc291cmNlVXJsLCBDRlNUUigiY29yZVByZWRpY3Rpb25f
bW9kZWwiKSwgZmFsc2UpOworICAgIENGRXJyb3JSZWYgZXJyb3IgPSBudWxscHRyOworICAgIHJl
c291cmNlVXJsID0gQ0ZVUkxDcmVhdGVGaWxlUGF0aFVSTChudWxscHRyLCByZXNvdXJjZVVybCwg
JmVycm9yKTsKKworICAgIGlmIChlcnJvciB8fCAhcmVzb3VyY2VVcmwpCisgICAgICAgIHJldHVy
biBTdHJpbmcoKTsKKworICAgIENGVVJMUGF0aFN0eWxlIHBhdGhTdHlsZSA9IGtDRlVSTFBPU0lY
UGF0aFN0eWxlOworICAgIENGU3RyaW5nUmVmIHJlc291cmNlVXJsU3RyaW5nID0gQ0ZVUkxDb3B5
RmlsZVN5c3RlbVBhdGgocmVzb3VyY2VVcmwsIHBhdGhTdHlsZSk7CisgICAgcmV0dXJuIFN0cmlu
ZyhyZXNvdXJjZVVybFN0cmluZyk7Cit9CisKK2Jvb2wgUmVzb3VyY2VMb2FkU3RhdGlzdGljc0Ns
YXNzaWZpZXI6OnNob3VsZFVzZUNvcmVQcmVkaWN0aW9uKCkKK3sKKyNpZiBIQVZFKENPUkVfUFJF
RElDVElPTikKKyAgICBpZiAobV9jb3JlUHJlZGljdGlvbk1vZGVsKQorICAgICAgICByZXR1cm4g
dHJ1ZTsKKworICAgIGlmICghbV91c2VDb3JlUHJlZGljdGlvbikKKyAgICAgICAgcmV0dXJuIGZh
bHNlOworCisgICAgU3RyaW5nIHN0b3JhZ2VQYXRoU3RyID0gc3RvcmFnZVBhdGgoKTsKKyAgICBp
ZiAoc3RvcmFnZVBhdGhTdHIuaXNOdWxsKCkgfHwgc3RvcmFnZVBhdGhTdHIuaXNFbXB0eSgpKSB7
CisgICAgICAgIG1fdXNlQ29yZVByZWRpY3Rpb24gPSBmYWxzZTsKKyAgICAgICAgcmV0dXJuIGZh
bHNlOworICAgIH0KKworICAgIG1fY29yZVByZWRpY3Rpb25Nb2RlbCA9IHN2bV9sb2FkX21vZGVs
KChzdG9yYWdlUGF0aFN0cikudXRmOCgpLmRhdGEoKSk7CisgICAgCisgICAgaWYgKG1fY29yZVBy
ZWRpY3Rpb25Nb2RlbCkKKyAgICAgICAgcmV0dXJuIHRydWU7CisKKyAgICBXVEZMb2dBbHdheXMo
IlJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyOjpzaG91bGRVc2VDb3JlUHJlZGljdGlv
bigpOiBDb3VsZG4ndCBsb2FkIG1vZGVsIGZpbGUgYXQgcGF0aCAlcy4iLCBzdG9yYWdlUGF0aFN0
ci51dGY4KCkuZGF0YSgpKTsKKyAgICBtX3VzZUNvcmVQcmVkaWN0aW9uID0gZmFsc2U7CisjZW5k
aWYKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKK30KSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1BsYXRm
b3JtL2NsYXNzaWZpZXIvY29jb2EvUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXJDb2Nv
YS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL2NsYXNzaWZpZXIvY29j
b2EvUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXJDb2NvYS5oCShub25leGlzdGVudCkK
KysrIFNvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL2NsYXNzaWZpZXIvY29jb2EvUmVzb3VyY2VMb2Fk
U3RhdGlzdGljc0NsYXNzaWZpZXJDb2NvYS5oCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNTQg
QEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4g
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAg
ICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUg
ZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUg
SU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBP
UiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICog
VEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9S
IEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hB
TEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBD
T05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9D
VVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
IERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2lmIEhBVkUoQ09SRV9QUkVESUNUSU9O
KQorI2luY2x1ZGUgIkNvcmVQcmVkaWN0aW9uU1BJLmgiCisjZW5kaWYKKyNpbmNsdWRlICJSZXNv
dXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllckJhc2UuaCIKKyNpbmNsdWRlIDxDb3JlRm91bmRh
dGlvbi9Db3JlRm91bmRhdGlvbi5oPgorI2luY2x1ZGUgPHd0Zi9QbGF0Zm9ybS5oPgorI2luY2x1
ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgorCituYW1lc3BhY2UgV2ViS2l0IHsKKworY2xhc3Mg
UmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXIgOiBwdWJsaWMgUmVzb3VyY2VMb2FkU3Rh
dGlzdGljc0NsYXNzaWZpZXJCYXNlIHsKKworcHVibGljOgorICAgIFJlc291cmNlTG9hZFN0YXRp
c3RpY3NDbGFzc2lmaWVyKCkKKyAgICAgICAgOiBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3Np
ZmllckJhc2UoKSB7IH0KKworcHJpdmF0ZToKKyAgICBib29sIGNsYXNzaWZ5KGNvbnN0IHVuc2ln
bmVkLCBjb25zdCB1bnNpZ25lZCwgY29uc3QgdW5zaWduZWQpIG92ZXJyaWRlOworICAgIFN0cmlu
ZyBzdG9yYWdlUGF0aCgpOworICAgIGJvb2wgc2hvdWxkVXNlQ29yZVByZWRpY3Rpb24oKTsKKyNp
ZiBIQVZFKENPUkVfUFJFRElDVElPTikKKyAgICBzdHJ1Y3Qgc3ZtX21vZGVsKiBtX2NvcmVQcmVk
aWN0aW9uTW9kZWw7CisgICAgYm9vbCBtX3VzZUNvcmVQcmVkaWN0aW9uIHsgdHJ1ZSB9OworI2Vu
ZGlmCit9OworCit9CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9SZXNvdXJjZXMvUmVzb3VyY2VMb2Fk
U3RhdGlzdGljcy9jb3JlUHJlZGljdGlvbl9tb2RlbAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0Mi9SZXNvdXJjZXMvUmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jb3JlUHJlZGljdGlvbl9tb2Rl
bAkobm9uZXhpc3RlbnQpCisrKyBTb3VyY2UvV2ViS2l0Mi9SZXNvdXJjZXMvUmVzb3VyY2VMb2Fk
U3RhdGlzdGljcy9jb3JlUHJlZGljdGlvbl9tb2RlbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsx
LDY3OCBAQAorc3ZtX3R5cGUgY19zdmMKK2tlcm5lbF90eXBlIHJiZgorZ2FtbWEgMC4xCitucl9j
bGFzcyAyCit0b3RhbF9zdiAzMzAKK3JobyAwLjI4Nzk0NTY0MjI2MQorbGFiZWwgLTEgMQorbnJf
c3YgMzAwIDMwCitTVgorLTAuMDU0NjY5NzAzODcyNCAxOjE0LjAgMjozLjAgMzo3LjAgCistMC4w
NTQ2Njk3MDM4NzI0IDE6MS4wIDI6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAKKy0wLjA1
NDY2OTcwMzg3MjQgMToxLjAgMzoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MTIuMCAKKy0wLjA1
NDY2OTcwMzg3MjQgMTo3LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIDI6MS4wIAorLTAuMDU0
NjY5NzAzODcyNCAxOjEuMCAzOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTozLjAgMjoxNi4wIAor
LTAuMDU0NjY5NzAzODcyNCAxOjEuMCAzOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMjoy
LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDM6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIu
MCAKKy0wLjA1NDY2OTcwMzg3MjQgMTozLjAgMjoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6NS4w
IAorLTAuMDU0NjY5NzAzODcyNCAxOjE2LjAgMjoyLjAgMzoyLjAgCistMC4wNTQ2Njk3MDM4NzI0
IDE6MS4wIDI6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjExLjAgCistMC4wNTQ2Njk3MDM4NzI0
IDE6NC4wIDM6My4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjI4LjAgCistMC4wNTQ2Njk3MDM4NzI0
IDE6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAzOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQg
MToxLjAgMzoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MjIuMCAyOjEuMCAzOjEyLjAgCistMC4w
NTQ2Njk3MDM4NzI0IDE6MTQuMCAzOjUuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMzoxLjAg
CistMC4wNTQ2Njk3MDM4NzI0IDE6NDguMCAyOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyNS4w
IDM6MTYuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMjoxLjAgCistMC4wNTQ2Njk3MDM4NzI0
IDE6MS4wIDM6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjYuMCAKKy0wLjA1NDY2OTcwMzg3MjQg
MTo3LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDI6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAx
OjEuMCAzOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTozLjAgMzoyLjAgCistMC4wNTQ2Njk3MDM4
NzI0IDE6Ny4wIDI6MS4wIDM6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAKKy0wLjA1NDY2
OTcwMzg3MjQgMTo3LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6NS4wIDI6Mi4wIDM6My4wIAorLTAu
MDU0NjY5NzAzODcyNCAxOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMjoxLjAgCistMC4w
NTQ2Njk3MDM4NzI0IDE6NC4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAyOjEuMCAKKy0wLjA1
NDY2OTcwMzg3MjQgMToxLjAgMzoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6OS4wIDM6NC4wIAor
LTAuMDU0NjY5NzAzODcyNCAxOjEuMCAyOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMzox
LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6NDcuMCAyOjIxLjAgMzozMy4wIAorLTAuMDU0NjY5NzAz
ODcyNCAxOjExLjAgMjoyLjAgMzo1LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MTEuMCAyOjMuMCAz
OjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMzoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6
Mi4wIDI6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjQzLjAgMzoyLjAgCistMC4wNTQ2Njk3MDM4
NzI0IDE6MTMuMCAzOjcuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMzoxLjAgCistMC4wNTQ2
Njk3MDM4NzI0IDE6NC4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEzLjAgMzo0LjAgCistMC4wNTQ2
Njk3MDM4NzI0IDE6NDIuMCAyOjQuMCAzOjMyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MTAuMCAy
OjUuMCAzOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo3LjAgMzo0LjAgCistMC4wNTQ2Njk3MDM4
NzI0IDE6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAzOjEuMCAKKy0wLjA1NDY2OTcwMzg3
MjQgMToxLjAgMzoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Ni4wIAorLTAuMDU0NjY5NzAzODcy
NCAxOjEuMCAyOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo2LjAgCistMC4wNTQ2Njk3MDM4NzI0
IDE6MTYuMCAyOjQuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxMC4wIDI6MS4wIDM6Mi4wIAorLTAu
MDU0NjY5NzAzODcyNCAxOjE4LjAgMjozLjAgMzo2LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4w
IDM6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAyOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQg
MToyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6My4wIDI6MS4wIDM6MS4wIAorLTAuMDU0NjY5NzAz
ODcyNCAxOjEuMCAyOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTozLjAgCistMC4wNTQ2Njk3MDM4
NzI0IDE6My4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjQuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToy
LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIDM6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIu
MCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMzoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MjEu
MCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIDI6Mi4w
IAorLTAuMDU0NjY5NzAzODcyNCAxOjE0LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIDI6MS4w
IAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAzOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo0LjAg
MzozLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIDM6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAx
OjMuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDI6
MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjQuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTozOS4wIDM6
NC4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAgMjox
LjAgMzoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6NC4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIu
MCAyOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo0LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4w
IDI6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAyOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQg
MToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIDI6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAx
OjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAor
LTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTozLjAgCistMC4wNTQ2
Njk3MDM4NzI0IDE6MS4wIDI6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2
OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcy
NCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4w
IDM6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAg
CistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1
NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAz
ODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6
MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxNi4wIDI6
MS4wIDM6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTox
LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDI6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEu
MCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6My4wIDI6MS4w
IAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAzOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAg
CistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1
NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIAorLTAuMDU0NjY5NzAz
ODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyMC4wIDM6My4wIAorLTAuMDU0NjY5NzAz
ODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6
MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCist
MC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2
OTcwMzg3MjQgMToxLjAgMzoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5
NzAzODcyNCAxOjEuMCAzOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3
MDM4NzI0IDE6OC4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjcuMCAyOjEuMCAzOjIuMCAKKy0wLjA1
NDY2OTcwMzg3MjQgMTo4LjAgMjoyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDI6MS4wIAor
LTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2
Njk3MDM4NzI0IDE6MS4wIDI6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2
OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcy
NCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4w
IAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxMi4wIDM6Ny4w
IAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo5LjAgCistMC4w
NTQ2Njk3MDM4NzI0IDE6Ny4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcw
Mzg3MjQgMToxLjAgMjoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDM6MS4wIAorLTAuMDU0
NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo4LjAgMjoyLjAgCistMC4wNTQ2
Njk3MDM4NzI0IDE6MTcuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAgMjoxLjAgCistMC4wNTQ2
Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3
MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjQu
MCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAu
MDU0NjY5NzAzODcyNCAxOjEzLjAgMjo0LjAgMzoyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4w
IDM6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAzOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQg
MToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MTYuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTozLjAg
CistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1
NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAz
ODcyNCAxOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6
Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCist
MC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2
OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIAorLTAuMDU0NjY5NzAzODcy
NCAxOjMuMCAzOjMuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0
IDE6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjExLjAgMzoxMS4wIAorLTAuMDU0NjY5NzAzODcy
NCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4w
IAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4w
NTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcw
Mzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAx
OjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAor
LTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxNS4wIAorLTAuMDU0
NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4
NzI0IDE6MjAuMCAyOjEyLjAgMzozLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0
NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4
NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjcuMCAzOjEuMCAKKy0wLjA1NDY2OTcwMzg3
MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDM6MS4wIAorLTAuMDU0NjY5NzAzODcy
NCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4w
IDM6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTozLjAg
MzoyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAK
Ky0wLjA1NDY2OTcwMzg3MjQgMTo5LjAgMjozLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDM6
MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjYuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo0LjAgCist
MC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjcuMCAyOjIuMCAKKy0w
LjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDM6MS4wIAorLTAu
MDU0NjY5NzAzODcyNCAxOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAgCistMC4wNTQ2Njk3
MDM4NzI0IDE6OS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQg
MToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAK
Ky0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0
NjY5NzAzODcyNCAxOjE0LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MTIuMCAzOjYuMCAKKy0wLjA1
NDY2OTcwMzg3MjQgMTozLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6NC4wIDI6MS4wIDM6MS4wIAor
LTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2
Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3
MjQgMTo5LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6OS4wIDI6MS4wIDM6NC4wIAorLTAuMDU0NjY5
NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0
IDE6OS4wIDI6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjMuMCAyOjMuMCAKKy0wLjA1NDY2OTcw
Mzg3MjQgMToyLjAgMjoyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDI6MS4wIDM6MS4wIAor
LTAuMDU0NjY5NzAzODcyNCAxOjguMCAyOjEuMCAzOjMuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTox
LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIDI6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjku
MCAyOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4w
IAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4w
NTQ2Njk3MDM4NzI0IDE6MzYuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3
MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQg
MToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAK
Ky0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0
NjY5NzAzODcyNCAxOjYuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMzoxLjAgCistMC4wNTQ2
Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3
MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIu
MCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIAorLTAu
MDU0NjY5NzAzODcyNCAxOjQuMCAzOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxMy4wIDM6NC4w
IAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA0MDIwNzUxNzg5NDIgMToxLjAgCiswLjU4
NTM2NTg1MzY1OSAxOjEuMCAKKzAuNDc5Mjc2MTM5MDAxIDE6Ni4wIDI6My4wIAorMC41ODUzNjU4
NTM2NTkgMToyLjAgCiswLjU4NTM2NTg1MzY1OSAxOjEuMCAKKzAuNTg1MzY1ODUzNjU5IDE6My4w
IDM6My4wIAorMC41ODUzNjU4NTM2NTkgMTo0Mi4wIDI6Mi4wIDM6MjguMCAKKzAuNTg1MzY1ODUz
NjU5IDE6Mi4wIAorMC41ODUzNjU4NTM2NTkgMToxMi4wIAorMC40NzkyODMwNDY1NzggMTo3LjAg
CiswLjMwMDM5Nzg3MzQ3NiAxOjMuMCAzOjEuMCAKKzAuMDU0MzE3MzMwNjQ0MiAxOjYuMCAzOjIu
MCAKKzAuNTYzNDY1MTI2Mjk5IDE6MTEuMCAKKzAuNTg1MzY1ODUzNjU5IDE6Mi4wIAorMC41ODUz
NjU4NTM2NTkgMToxMC4wIDI6My4wIDM6Ni4wIAorMC41ODUzNjU4NTM2NTkgMToxLjAgMjoxLjAg
CiswLjU4NTM2NTg1MzY1OSAxOjIuMCAKKzAuNTg1MzY1ODUzNjU5IDE6MS4wIDI6MS4wIAorMC41
ODUzNjU4NTM2NTkgMTozLjAgMzoxLjAgCiswLjU4NTM2NTg1MzY1OSAxOjEuMCAKKzAuNTg1MzY1
ODUzNjU5IDE6Mi4wIAorMC41ODUzNjU4NTM2NTkgMToxLjAgMjoxLjAgCiswLjU4NDk4OTcxOTkw
OSAxOjcuMCAKKzAuNTg1MzY1ODUzNjU5IDE6My4wIAorMC41ODUzNjU4NTM2NTkgMTozLjAgCisw
LjUyNTkyNTEzNjk4MyAxOjMuMCAyOjIuMCAKKzAuNTg1MzY1ODUzNjU5IDE6MS4wIAorMC41ODUz
NjU4NTM2NTkgMToxLjAgCiswLjU4NTM2NTg1MzY1OSAxOjMuMCAzOjEuMCAKKzAuNTg1MzY1ODUz
NjU5IDE6MS4wIAorMC41MjA3NDU4MjIzNzQgMTozLjAgCitzdm1fdHlwZSBjX3N2Ywora2VybmVs
X3R5cGUgcmJmCitnYW1tYSAwLjEKK25yX2NsYXNzIDIKK3RvdGFsX3N2IDMzMAorcmhvIDAuMjg3
OTQ1NjQyMjYxCitsYWJlbCAtMSAxCitucl9zdiAzMDAgMzAKK1NWCistMC4wNTQ2Njk3MDM4NzI0
IDE6MTQuMCAyOjMuMCAzOjcuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMjoxLjAgCistMC4w
NTQ2Njk3MDM4NzI0IDE6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAzOjEuMCAKKy0wLjA1
NDY2OTcwMzg3MjQgMToxMi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjcuMCAKKy0wLjA1NDY2OTcw
Mzg3MjQgMToyLjAgMjoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDM6MS4wIAorLTAuMDU0
NjY5NzAzODcyNCAxOjMuMCAyOjE2LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDM6MS4wIAor
LTAuMDU0NjY5NzAzODcyNCAxOjEuMCAyOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMzox
LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjMuMCAyOjEu
MCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo1LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MTYuMCAyOjIu
MCAzOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMjoxLjAgCistMC4wNTQ2Njk3MDM4NzI0
IDE6MTEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo0LjAgMzozLjAgCistMC4wNTQ2Njk3MDM4NzI0
IDE6MjguMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4w
IDM6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAzOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQg
MToyMi4wIDI6MS4wIDM6MTIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxNC4wIDM6NS4wIAorLTAu
MDU0NjY5NzAzODcyNCAxOjEuMCAzOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo0OC4wIDI6MS4w
IAorLTAuMDU0NjY5NzAzODcyNCAxOjI1LjAgMzoxNi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEu
MCAyOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMzoxLjAgCistMC4wNTQ2Njk3MDM4NzI0
IDE6Ni4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjcuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAg
MjoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDM6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAx
OjMuMCAzOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo3LjAgMjoxLjAgMzoxLjAgCistMC4wNTQ2
Njk3MDM4NzI0IDE6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjcuMCAKKy0wLjA1NDY2OTcwMzg3
MjQgMTo1LjAgMjoyLjAgMzozLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIAorLTAuMDU0NjY5
NzAzODcyNCAxOjEuMCAyOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo0LjAgCistMC4wNTQ2Njk3
MDM4NzI0IDE6MS4wIDI6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAzOjEuMCAKKy0wLjA1
NDY2OTcwMzg3MjQgMTo5LjAgMzo0LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDI6MS4wIAor
LTAuMDU0NjY5NzAzODcyNCAxOjEuMCAzOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo0Ny4wIDI6
MjEuMCAzOjMzLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MTEuMCAyOjIuMCAzOjUuMCAKKy0wLjA1
NDY2OTcwMzg3MjQgMToxMS4wIDI6My4wIDM6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAz
OjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAgMjoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6
NDMuMCAzOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxMy4wIDM6Ny4wIAorLTAuMDU0NjY5NzAz
ODcyNCAxOjEuMCAzOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo0LjAgCistMC4wNTQ2Njk3MDM4
NzI0IDE6MTMuMCAzOjQuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo0Mi4wIDI6NC4wIDM6MzIuMCAK
Ky0wLjA1NDY2OTcwMzg3MjQgMToxMC4wIDI6NS4wIDM6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAx
OjcuMCAzOjQuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6
MS4wIDM6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAzOjEuMCAKKy0wLjA1NDY2OTcwMzg3
MjQgMTo2LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDI6MS4wIAorLTAuMDU0NjY5NzAzODcy
NCAxOjYuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxNi4wIDI6NC4wIAorLTAuMDU0NjY5NzAzODcy
NCAxOjEwLjAgMjoxLjAgMzoyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MTguMCAyOjMuMCAzOjYu
MCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMzoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4w
IDI6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTozLjAg
MjoxLjAgMzoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDI6MS4wIAorLTAuMDU0NjY5NzAz
ODcyNCAxOjMuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTozLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6
NC4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAgMzoy
LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAzOjEu
MCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyMS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAKKy0w
LjA1NDY2OTcwMzg3MjQgMToyLjAgMjoyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MTQuMCAKKy0w
LjA1NDY2OTcwMzg3MjQgMToyLjAgMjoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIDM6Mi4w
IAorLTAuMDU0NjY5NzAzODcyNCAxOjQuMCAzOjMuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAg
MzoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6My4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAK
Ky0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMjoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6NC4wIAor
LTAuMDU0NjY5NzAzODcyNCAxOjM5LjAgMzo0LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAor
LTAuMDU0NjY5NzAzODcyNCAxOjIuMCAyOjEuMCAzOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo0
LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIDI6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjQu
MCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMjoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4w
IDI6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAg
MjoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAK
Ky0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0
NjY5NzAzODcyNCAxOjMuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMjoxLjAgCistMC4wNTQ2
Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3
MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEu
MCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMzoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4w
IAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4w
NTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcw
Mzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAx
OjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAor
LTAuMDU0NjY5NzAzODcyNCAxOjE2LjAgMjoxLjAgMzoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6
MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMjox
LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0w
LjA1NDY2OTcwMzg3MjQgMTozLjAgMjoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDM6MS4w
IAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4w
NTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcw
Mzg3MjQgMToyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAx
OjIwLjAgMzozLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAx
OjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAor
LTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2
Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAzOjEuMCAKKy0wLjA1NDY2
OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDM6MS4wIAorLTAuMDU0NjY5
NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo4LjAgCistMC4wNTQ2Njk3MDM4NzI0
IDE6Ny4wIDI6MS4wIDM6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjguMCAyOjIuMCAKKy0wLjA1
NDY2OTcwMzg3MjQgMToxLjAgMjoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0
NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMjoxLjAgCistMC4wNTQ2
Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3
MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEu
MCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAu
MDU0NjY5NzAzODcyNCAxOjEyLjAgMzo3LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAu
MDU0NjY5NzAzODcyNCAxOjkuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo3LjAgCistMC4wNTQ2Njk3
MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAyOjEuMCAKKy0wLjA1NDY2OTcw
Mzg3MjQgMToxLjAgMzoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAz
ODcyNCAxOjguMCAyOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxNy4wIAorLTAuMDU0NjY5NzAz
ODcyNCAxOjIuMCAyOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4
NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTox
LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6NC4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0w
LjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MTMuMCAyOjQuMCAzOjIu
MCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMzoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4w
IDM6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxNi4w
IAorLTAuMDU0NjY5NzAzODcyNCAxOjMuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4w
NTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcw
Mzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAx
OjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIAor
LTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2
Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3
MjQgMToyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6My4wIDM6My4wIAorLTAuMDU0NjY5NzAzODcy
NCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MTEu
MCAzOjExLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEu
MCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIAorLTAu
MDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3
MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQg
MToyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAK
Ky0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0
NjY5NzAzODcyNCAxOjE1LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAz
ODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyMC4wIDI6MTIuMCAzOjMuMCAKKy0wLjA1
NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAz
ODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6
Ny4wIDM6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTox
LjAgMzoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEu
MCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMzoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4w
IAorLTAuMDU0NjY5NzAzODcyNCAxOjMuMCAzOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAg
CistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjkuMCAyOjMuMCAK
Ky0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMzoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Ni4wIAor
LTAuMDU0NjY5NzAzODcyNCAxOjQuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2
Njk3MDM4NzI0IDE6Ny4wIDI6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2
OTcwMzg3MjQgMToxLjAgMzoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIAorLTAuMDU0NjY5
NzAzODcyNCAxOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo5LjAgCistMC4wNTQ2Njk3MDM4NzI0
IDE6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAg
CistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1
NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MTQuMCAKKy0wLjA1NDY2OTcw
Mzg3MjQgMToxMi4wIDM6Ni4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjMuMCAKKy0wLjA1NDY2OTcw
Mzg3MjQgMTo0LjAgMjoxLjAgMzoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0
NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4
NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjkuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo5
LjAgMjoxLjAgMzo0LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcy
NCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo5LjAgMjoxLjAgCistMC4wNTQ2Njk3MDM4NzI0
IDE6My4wIDI6My4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAyOjIuMCAKKy0wLjA1NDY2OTcw
Mzg3MjQgMToxLjAgMjoxLjAgMzoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6OC4wIDI6MS4wIDM6
My4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAgMjox
LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6OS4wIDI6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEu
MCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIAorLTAu
MDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTozNi4wIAorLTAuMDU0NjY5
NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0
IDE6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAg
CistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1
NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Ni4wIAorLTAuMDU0NjY5NzAz
ODcyNCAxOjEuMCAzOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4
NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTox
LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0w
LjA1NDY2OTcwMzg3MjQgMToyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6NC4wIDM6Mi4wIAorLTAu
MDU0NjY5NzAzODcyNCAxOjEzLjAgMzo0LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAu
MDQwMjA3NTE3ODk0MiAxOjEuMCAKKzAuNTg1MzY1ODUzNjU5IDE6MS4wIAorMC40NzkyNzYxMzkw
MDEgMTo2LjAgMjozLjAgCiswLjU4NTM2NTg1MzY1OSAxOjIuMCAKKzAuNTg1MzY1ODUzNjU5IDE6
MS4wIAorMC41ODUzNjU4NTM2NTkgMTozLjAgMzozLjAgCiswLjU4NTM2NTg1MzY1OSAxOjQyLjAg
MjoyLjAgMzoyOC4wIAorMC41ODUzNjU4NTM2NTkgMToyLjAgCiswLjU4NTM2NTg1MzY1OSAxOjEy
LjAgCiswLjQ3OTI4MzA0NjU3OCAxOjcuMCAKKzAuMzAwMzk3ODczNDc2IDE6My4wIDM6MS4wIAor
MC4wNTQzMTczMzA2NDQyIDE6Ni4wIDM6Mi4wIAorMC41NjM0NjUxMjYyOTkgMToxMS4wIAorMC41
ODUzNjU4NTM2NTkgMToyLjAgCiswLjU4NTM2NTg1MzY1OSAxOjEwLjAgMjozLjAgMzo2LjAgCisw
LjU4NTM2NTg1MzY1OSAxOjEuMCAyOjEuMCAKKzAuNTg1MzY1ODUzNjU5IDE6Mi4wIAorMC41ODUz
NjU4NTM2NTkgMToxLjAgMjoxLjAgCiswLjU4NTM2NTg1MzY1OSAxOjMuMCAzOjEuMCAKKzAuNTg1
MzY1ODUzNjU5IDE6MS4wIAorMC41ODUzNjU4NTM2NTkgMToyLjAgCiswLjU4NTM2NTg1MzY1OSAx
OjEuMCAyOjEuMCAKKzAuNTg0OTg5NzE5OTA5IDE6Ny4wIAorMC41ODUzNjU4NTM2NTkgMTozLjAg
CiswLjU4NTM2NTg1MzY1OSAxOjMuMCAKKzAuNTI1OTI1MTM2OTgzIDE6My4wIDI6Mi4wIAorMC41
ODUzNjU4NTM2NTkgMToxLjAgCiswLjU4NTM2NTg1MzY1OSAxOjEuMCAKKzAuNTg1MzY1ODUzNjU5
IDE6My4wIDM6MS4wIAorMC41ODUzNjU4NTM2NTkgMToxLjAgCiswLjUyMDc0NTgyMjM3NCAxOjMu
MCAKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJSZXNvdXJjZUxvYWRTdGF0aXN0
aWNzTWFuYWdlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dl
YlJlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VyLmNwcAkocmV2aXNpb24gMjEyNTk3KQorKysg
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2Vy
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNjEsNiArNjEsMjEgQEAgYm9vbCBXZWJSZXNvdXJjZUxv
YWRTdGF0aXN0aWNzTWFuYWdlcjo6aAogICAgIHJldHVybiBXZWJDb3JlOjpSZXNvdXJjZUxvYWRP
YnNlcnZlcjo6c2hhcmVkT2JzZXJ2ZXIoKS5oYXNIYWRVc2VySW50ZXJhY3Rpb24oVVJMKFVSTCgp
LCBob3N0TmFtZSkpOwogfQogCit2b2lkIFdlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2Vy
OjpzZXRTdWJmcmFtZVVuZGVyVG9wRnJhbWVPcmlnaW4oY29uc3QgU3RyaW5nJiBob3N0TmFtZSwg
Y29uc3QgU3RyaW5nJiB0b3BGcmFtZUhvc3ROYW1lKQoreworICAgIFdlYkNvcmU6OlJlc291cmNl
TG9hZE9ic2VydmVyOjpzaGFyZWRPYnNlcnZlcigpLnNldFN1YmZyYW1lVW5kZXJUb3BGcmFtZU9y
aWdpbihVUkwoVVJMKCksIGhvc3ROYW1lKSwgVVJMKFVSTCgpLCB0b3BGcmFtZUhvc3ROYW1lKSk7
Cit9CisKK3ZvaWQgV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFnZXI6OnNldFN1YnJlc291
cmNlVW5kZXJUb3BGcmFtZU9yaWdpbihjb25zdCBTdHJpbmcmIGhvc3ROYW1lLCBjb25zdCBTdHJp
bmcmIHRvcEZyYW1lSG9zdE5hbWUpCit7CisgICAgV2ViQ29yZTo6UmVzb3VyY2VMb2FkT2JzZXJ2
ZXI6OnNoYXJlZE9ic2VydmVyKCkuc2V0U3VicmVzb3VyY2VVbmRlclRvcEZyYW1lT3JpZ2luKFVS
TChVUkwoKSwgaG9zdE5hbWUpLCBVUkwoVVJMKCksIHRvcEZyYW1lSG9zdE5hbWUpKTsKK30KKwor
dm9pZCBXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdlcjo6c2V0U3VicmVzb3VyY2VVbmlx
dWVSZWRpcmVjdFRvKGNvbnN0IFN0cmluZyYgaG9zdE5hbWUsIGNvbnN0IFN0cmluZyYgaG9zdE5h
bWVSZWRpcmVjdGVkVG8pCit7CisgICAgV2ViQ29yZTo6UmVzb3VyY2VMb2FkT2JzZXJ2ZXI6OnNo
YXJlZE9ic2VydmVyKCkuc2V0U3VicmVzb3VyY2VVbmlxdWVSZWRpcmVjdFRvKFVSTChVUkwoKSwg
aG9zdE5hbWUpLCBVUkwoVVJMKCksIGhvc3ROYW1lUmVkaXJlY3RlZFRvKSk7Cit9CisKIHZvaWQg
V2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFnZXI6OnNldFRpbWVUb0xpdmVVc2VySW50ZXJh
Y3Rpb24oZG91YmxlIHNlY29uZHMpCiB7CiAgICAgV2ViQ29yZTo6UmVzb3VyY2VMb2FkT2JzZXJ2
ZXI6OnNoYXJlZE9ic2VydmVyKCkuc2V0VGltZVRvTGl2ZVVzZXJJbnRlcmFjdGlvbihzZWNvbmRz
KTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJSZXNvdXJjZUxvYWRTdGF0aXN0
aWNzTWFuYWdlci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJS
ZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdlci5oCShyZXZpc2lvbiAyMTI1OTcpCisrKyBTb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFnZXIuaAko
d29ya2luZyBjb3B5KQpAQCAtNDIsNiArNDIsOSBAQCBwdWJsaWM6CiAgICAgc3RhdGljIGJvb2wg
aXNQcmV2YWxlbnRSZXNvdXJjZShjb25zdCBTdHJpbmcmIGhvc3ROYW1lKTsKICAgICBzdGF0aWMg
dm9pZCBzZXRIYXNIYWRVc2VySW50ZXJhY3Rpb24oY29uc3QgU3RyaW5nJiBob3N0TmFtZSwgYm9v
bCB2YWx1ZSk7CiAgICAgc3RhdGljIGJvb2wgaGFzSGFkVXNlckludGVyYWN0aW9uKGNvbnN0IFN0
cmluZyYgaG9zdE5hbWUpOworICAgIHN0YXRpYyB2b2lkIHNldFN1YmZyYW1lVW5kZXJUb3BGcmFt
ZU9yaWdpbihjb25zdCBTdHJpbmcmIGhvc3ROYW1lLCBjb25zdCBTdHJpbmcmIHRvcEZyYW1lSG9z
dE5hbWUpOworICAgIHN0YXRpYyB2b2lkIHNldFN1YnJlc291cmNlVW5kZXJUb3BGcmFtZU9yaWdp
bihjb25zdCBTdHJpbmcmIGhvc3ROYW1lLCBjb25zdCBTdHJpbmcmIHRvcEZyYW1lSG9zdE5hbWUp
OworICAgIHN0YXRpYyB2b2lkIHNldFN1YnJlc291cmNlVW5pcXVlUmVkaXJlY3RUbyhjb25zdCBT
dHJpbmcmIGhvc3ROYW1lLCBjb25zdCBTdHJpbmcmIGhvc3ROYW1lUmVkaXJlY3RlZFRvKTsKICAg
ICBzdGF0aWMgdm9pZCBzZXRUaW1lVG9MaXZlVXNlckludGVyYWN0aW9uKGRvdWJsZSBzZWNvbmRz
KTsKICAgICBzdGF0aWMgdm9pZCBzZXRSZWR1Y2VkVGltZXN0YW1wUmVzb2x1dGlvbihkb3VibGUg
c2Vjb25kcyk7CiAgICAgc3RhdGljIHZvaWQgZmlyZURhdGFNb2RpZmljYXRpb25IYW5kbGVyKCk7
CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGlj
c1N0b3JlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUmVz
b3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlLmNwcAkocmV2aXNpb24gMjEyNTk3KQorKysgU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL1dlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZS5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTQ1LDcgKzQ1LDYgQEAgdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAK
IG5hbWVzcGFjZSBXZWJLaXQgewogCi1zdGF0aWMgY29uc3QgYXV0byBmZWF0dXJlVmVjdG9yTGVu
Z3RoVGhyZXNob2xkID0gMzsKIHN0YXRpYyBhdXRvIG1pbmltdW1UaW1lQmV0d2VlZW5EYXRhUmVj
b3Jkc1JlbW92YWwgPSA2MDsKIHN0YXRpYyBPcHRpb25TZXQ8V2ViS2l0OjpXZWJzaXRlRGF0YVR5
cGU+IGRhdGFUeXBlc1RvUmVtb3ZlOwogc3RhdGljIGF1dG8gbm90aWZ5UGFnZXMgPSBmYWxzZTsK
QEAgLTU5LDcgKzU4LDcgQEAgUmVmPFdlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZT4gV2Vi
UgogV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlOjpXZWJSZXNvdXJjZUxvYWRTdGF0aXN0
aWNzU3RvcmUoY29uc3QgU3RyaW5nJiByZXNvdXJjZUxvYWRTdGF0aXN0aWNzRGlyZWN0b3J5KQog
ICAgIDogbV9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmUoUmVzb3VyY2VMb2FkU3RhdGlzdGlj
c1N0b3JlOjpjcmVhdGUoKSkKICAgICAsIG1fc3RhdGlzdGljc1F1ZXVlKFdvcmtRdWV1ZTo6Y3Jl
YXRlKCJXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmUgUHJvY2VzcyBEYXRhIFF1ZXVlIikp
Ci0gICAgLCBtX3N0b3JhZ2VQYXRoKHJlc291cmNlTG9hZFN0YXRpc3RpY3NEaXJlY3RvcnkpCisg
ICAgLCBtX3N0YXRpc3RpY3NTdG9yYWdlUGF0aChyZXNvdXJjZUxvYWRTdGF0aXN0aWNzRGlyZWN0
b3J5KQogewogfQogCkBAIC04Myw0MCArODIsMTEgQEAgdm9pZCBXZWJSZXNvdXJjZUxvYWRTdGF0
aXN0aWNzU3RvcmU6OnNldAogICAgICAgICBtaW5pbXVtVGltZUJldHdlZWVuRGF0YVJlY29yZHNS
ZW1vdmFsID0gc2Vjb25kczsKIH0KIAotYm9vbCBXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3Rv
cmU6Omhhc1ByZXZhbGVudFJlc291cmNlQ2hhcmFjdGVyaXN0aWNzKGNvbnN0IFJlc291cmNlTG9h
ZFN0YXRpc3RpY3MmIHJlc291cmNlU3RhdGlzdGljKQotewotICAgIGF1dG8gc3VicmVzb3VyY2VV
bmRlclRvcEZyYW1lT3JpZ2luc0NvdW50ID0gcmVzb3VyY2VTdGF0aXN0aWMuc3VicmVzb3VyY2VV
bmRlclRvcEZyYW1lT3JpZ2lucy5zaXplKCk7Ci0gICAgYXV0byBzdWJyZXNvdXJjZVVuaXF1ZVJl
ZGlyZWN0c1RvQ291bnQgPSByZXNvdXJjZVN0YXRpc3RpYy5zdWJyZXNvdXJjZVVuaXF1ZVJlZGly
ZWN0c1RvLnNpemUoKTsKLSAgICBhdXRvIHN1YmZyYW1lVW5kZXJUb3BGcmFtZU9yaWdpbnNDb3Vu
dCA9IHJlc291cmNlU3RhdGlzdGljLnN1YmZyYW1lVW5kZXJUb3BGcmFtZU9yaWdpbnMuc2l6ZSgp
OwotICAgIAotICAgIGlmICghc3VicmVzb3VyY2VVbmRlclRvcEZyYW1lT3JpZ2luc0NvdW50Ci0g
ICAgICAgICYmICFzdWJyZXNvdXJjZVVuaXF1ZVJlZGlyZWN0c1RvQ291bnQKLSAgICAgICAgJiYg
IXN1YmZyYW1lVW5kZXJUb3BGcmFtZU9yaWdpbnNDb3VudCkKLSAgICAgICAgcmV0dXJuIGZhbHNl
OwotCi0gICAgaWYgKHN1YnJlc291cmNlVW5kZXJUb3BGcmFtZU9yaWdpbnNDb3VudCA+IGZlYXR1
cmVWZWN0b3JMZW5ndGhUaHJlc2hvbGQKLSAgICAgICAgfHwgc3VicmVzb3VyY2VVbmlxdWVSZWRp
cmVjdHNUb0NvdW50ID4gZmVhdHVyZVZlY3Rvckxlbmd0aFRocmVzaG9sZAotICAgICAgICB8fCBz
dWJmcmFtZVVuZGVyVG9wRnJhbWVPcmlnaW5zQ291bnQgPiBmZWF0dXJlVmVjdG9yTGVuZ3RoVGhy
ZXNob2xkKQotICAgICAgICByZXR1cm4gdHJ1ZTsKLQotICAgIC8vIFRoZSByZXNvdXJjZSBpcyBj
b25zaWRlcmVkIHByZXZhbGVudCBpZiB0aGUgZmVhdHVyZSB2ZWN0b3IKLSAgICAvLyBpcyBsb25n
ZXIgdGhhbiB0aGUgdGhyZXNob2xkLgotICAgIC8vIFZlY3RvciBsZW5ndGggZm9yIG4gZGltZW5z
aW9ucyBpcyBzcXJ0KGFeMiArICguLi4pICsgbl4yKS4KLSAgICBkb3VibGUgdmVjdG9yTGVuZ3Ro
ID0gMDsKLSAgICB2ZWN0b3JMZW5ndGggKz0gc3VicmVzb3VyY2VVbmRlclRvcEZyYW1lT3JpZ2lu
c0NvdW50ICogc3VicmVzb3VyY2VVbmRlclRvcEZyYW1lT3JpZ2luc0NvdW50OwotICAgIHZlY3Rv
ckxlbmd0aCArPSBzdWJyZXNvdXJjZVVuaXF1ZVJlZGlyZWN0c1RvQ291bnQgKiBzdWJyZXNvdXJj
ZVVuaXF1ZVJlZGlyZWN0c1RvQ291bnQ7Ci0gICAgdmVjdG9yTGVuZ3RoICs9IHN1YmZyYW1lVW5k
ZXJUb3BGcmFtZU9yaWdpbnNDb3VudCAqIHN1YmZyYW1lVW5kZXJUb3BGcmFtZU9yaWdpbnNDb3Vu
dDsKLQotICAgIEFTU0VSVCh2ZWN0b3JMZW5ndGggPiAwKTsKLQotICAgIHJldHVybiBzcXJ0KHZl
Y3Rvckxlbmd0aCkgPiBmZWF0dXJlVmVjdG9yTGVuZ3RoVGhyZXNob2xkOwotfQotICAgIAogdm9p
ZCBXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmU6OmNsYXNzaWZ5UmVzb3VyY2UoUmVzb3Vy
Y2VMb2FkU3RhdGlzdGljcyYgcmVzb3VyY2VTdGF0aXN0aWMpCiB7Ci0gICAgaWYgKCFyZXNvdXJj
ZVN0YXRpc3RpYy5pc1ByZXZhbGVudFJlc291cmNlICYmIGhhc1ByZXZhbGVudFJlc291cmNlQ2hh
cmFjdGVyaXN0aWNzKHJlc291cmNlU3RhdGlzdGljKSkgeworICAgIGlmICghcmVzb3VyY2VTdGF0
aXN0aWMuaXNQcmV2YWxlbnRSZXNvdXJjZQorICAgICAgICAmJiBtX3Jlc291cmNlTG9hZFN0YXRp
c3RpY3NDbGFzc2lmaWVyLmhhc1ByZXZhbGVudFJlc291cmNlQ2hhcmFjdGVyaXN0aWNzKHJlc291
cmNlU3RhdGlzdGljKSkKICAgICAgICAgcmVzb3VyY2VTdGF0aXN0aWMuaXNQcmV2YWxlbnRSZXNv
dXJjZSA9IHRydWU7Ci0gICAgfQogfQogCiB2b2lkIFdlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NT
dG9yZTo6cmVtb3ZlRGF0YVJlY29yZHMoKQpAQCAtMjQ4LDExICsyMTgsMTEgQEAgdm9pZCBXZWJS
ZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmU6OmFwcAogCiBTdHJpbmcgV2ViUmVzb3VyY2VMb2Fk
U3RhdGlzdGljc1N0b3JlOjpwZXJzaXN0ZW50U3RvcmFnZVBhdGgoY29uc3QgU3RyaW5nJiBsYWJl
bCkgY29uc3QKIHsKLSAgICBpZiAobV9zdG9yYWdlUGF0aC5pc0VtcHR5KCkpCisgICAgaWYgKG1f
c3RhdGlzdGljc1N0b3JhZ2VQYXRoLmlzRW1wdHkoKSkKICAgICAgICAgcmV0dXJuIGVtcHR5U3Ry
aW5nKCk7CiAKICAgICAvLyBUT0RPIERlY2lkZSB3aGF0IHRvIGNhbGwgdGhpcyBmaWxlCi0gICAg
cmV0dXJuIHBhdGhCeUFwcGVuZGluZ0NvbXBvbmVudChtX3N0b3JhZ2VQYXRoLCBsYWJlbCArICJf
cmVzb3VyY2VMb2cucGxpc3QiKTsKKyAgICByZXR1cm4gcGF0aEJ5QXBwZW5kaW5nQ29tcG9uZW50
KG1fc3RhdGlzdGljc1N0b3JhZ2VQYXRoLCBsYWJlbCArICJfcmVzb3VyY2VMb2cucGxpc3QiKTsK
IH0KIAogdm9pZCBXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmU6OndyaXRlRW5jb2RlclRv
RGlzayhLZXllZEVuY29kZXImIGVuY29kZXIsIGNvbnN0IFN0cmluZyYgbGFiZWwpIGNvbnN0CkBA
IC0yNjUsOCArMjM1LDggQEAgdm9pZCBXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmU6Ondy
aQogICAgIGlmIChyZXNvdXJjZUxvZy5pc0VtcHR5KCkpCiAgICAgICAgIHJldHVybjsKIAotICAg
IGlmICghbV9zdG9yYWdlUGF0aC5pc0VtcHR5KCkpCi0gICAgICAgIG1ha2VBbGxEaXJlY3Rvcmll
cyhtX3N0b3JhZ2VQYXRoKTsKKyAgICBpZiAoIW1fc3RhdGlzdGljc1N0b3JhZ2VQYXRoLmlzRW1w
dHkoKSkKKyAgICAgICAgbWFrZUFsbERpcmVjdG9yaWVzKG1fc3RhdGlzdGljc1N0b3JhZ2VQYXRo
KTsKIAogICAgIGF1dG8gaGFuZGxlID0gb3BlbkZpbGUocmVzb3VyY2VMb2csIE9wZW5Gb3JXcml0
ZSk7CiAgICAgaWYgKCFoYW5kbGUpCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2Vi
UmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL1dlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZS5oCShyZXZpc2lvbiAy
MTI1OTcpCisrKyBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUmVzb3VyY2VMb2FkU3RhdGlz
dGljc1N0b3JlLmgJKHdvcmtpbmcgY29weSkKQEAgLTI4LDYgKzI4LDcgQEAKIAogI2luY2x1ZGUg
IkFQSU9iamVjdC5oIgogI2luY2x1ZGUgIkNvbm5lY3Rpb24uaCIKKyNpbmNsdWRlICJSZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllci5oIgogI2luY2x1ZGUgIldlYnNpdGVEYXRhUmVjb3Jk
LmgiCiAjaW5jbHVkZSA8V2ViQ29yZS9SZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmUuaD4KICNp
bmNsdWRlIDx3dGYvVmVjdG9yLmg+CkBAIC03Niw3ICs3Nyw2IEBAIHByaXZhdGU6CiAKICAgICB2
b2lkIHByb2Nlc3NTdGF0aXN0aWNzQW5kRGF0YVJlY29yZHMoKTsKIAotICAgIGJvb2wgaGFzUHJl
dmFsZW50UmVzb3VyY2VDaGFyYWN0ZXJpc3RpY3MoY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VMb2Fk
U3RhdGlzdGljcyYpOwogICAgIHZvaWQgY2xhc3NpZnlSZXNvdXJjZShXZWJDb3JlOjpSZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzJik7CiAgICAgdm9pZCByZW1vdmVEYXRhUmVjb3JkcygpOwogCkBAIC04
OSw4ICs4OSw5IEBAIHByaXZhdGU6CiAgICAgc3RkOjp1bmlxdWVfcHRyPFdlYkNvcmU6OktleWVk
RGVjb2Rlcj4gY3JlYXRlRGVjb2RlckZyb21EaXNrKGNvbnN0IFN0cmluZyYgbGFiZWwpIGNvbnN0
OwogCiAgICAgUmVmPFdlYkNvcmU6OlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZT4gbV9yZXNv
dXJjZUxvYWRTdGF0aXN0aWNzU3RvcmU7CisgICAgUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNz
aWZpZXIgbV9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllcjsKICAgICBSZWY8V1RGOjpX
b3JrUXVldWU+IG1fc3RhdGlzdGljc1F1ZXVlOwotICAgIFN0cmluZyBtX3N0b3JhZ2VQYXRoOwor
ICAgIFN0cmluZyBtX3N0YXRpc3RpY3NTdG9yYWdlUGF0aDsKICAgICBib29sIG1fcmVzb3VyY2VM
b2FkU3RhdGlzdGljc0VuYWJsZWQgeyBmYWxzZSB9OwogCiAgICAgZG91YmxlIG1fbGFzdFRpbWVE
YXRhUmVjb3Jkc1dlcmVSZW1vdmVkIHsgMCB9OwpJbmRleDogU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0FQSS9DL1dLUmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFnZXIuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1Jlc291cmNlTG9hZFN0YXRpc3Rp
Y3NNYW5hZ2VyLmNwcAkocmV2aXNpb24gMjEyNTk3KQorKysgU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0FQSS9DL1dLUmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFnZXIuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC01Niw2ICs1NiwyMSBAQCBib29sIFdLUmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFn
ZXJJc0hhCiAgICAgcmV0dXJuIFdlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VyOjpoYXNI
YWRVc2VySW50ZXJhY3Rpb24odG9XVEZTdHJpbmcoaG9zdE5hbWUpKTsKIH0KIAordm9pZCBXS1Jl
c291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VyU2V0U3ViZnJhbWVVbmRlclRvcEZyYW1lT3JpZ2lu
KFdLU3RyaW5nUmVmIGhvc3ROYW1lLCBXS1N0cmluZ1JlZiB0b3BGcmFtZUhvc3ROYW1lKQorewor
ICAgIFdlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VyOjpzZXRTdWJmcmFtZVVuZGVyVG9w
RnJhbWVPcmlnaW4odG9XVEZTdHJpbmcoaG9zdE5hbWUpLCB0b1dURlN0cmluZyh0b3BGcmFtZUhv
c3ROYW1lKSk7Cit9CisKK3ZvaWQgV0tSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdlclNldFN1
YnJlc291cmNlVW5kZXJUb3BGcmFtZU9yaWdpbihXS1N0cmluZ1JlZiBob3N0TmFtZSwgV0tTdHJp
bmdSZWYgdG9wRnJhbWVIb3N0TmFtZSkKK3sKKyAgICBXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNz
TWFuYWdlcjo6c2V0U3VicmVzb3VyY2VVbmRlclRvcEZyYW1lT3JpZ2luKHRvV1RGU3RyaW5nKGhv
c3ROYW1lKSwgdG9XVEZTdHJpbmcodG9wRnJhbWVIb3N0TmFtZSkpOworfQorCit2b2lkIFdLUmVz
b3VyY2VMb2FkU3RhdGlzdGljc01hbmFnZXJTZXRTdWJyZXNvdXJjZVVuaXF1ZVJlZGlyZWN0VG8o
V0tTdHJpbmdSZWYgaG9zdE5hbWUsIFdLU3RyaW5nUmVmIGhvc3ROYW1lUmVkaXJlY3RlZFRvKQor
eworICAgIFdlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VyOjpzZXRTdWJyZXNvdXJjZVVu
aXF1ZVJlZGlyZWN0VG8odG9XVEZTdHJpbmcoaG9zdE5hbWUpLCB0b1dURlN0cmluZyhob3N0TmFt
ZVJlZGlyZWN0ZWRUbykpOworfQorCiB2b2lkIFdLUmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFn
ZXJTZXRUaW1lVG9MaXZlVXNlckludGVyYWN0aW9uKGRvdWJsZSBzZWNvbmRzKQogewogICAgIFdl
YlJlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VyOjpzZXRUaW1lVG9MaXZlVXNlckludGVyYWN0
aW9uKHNlY29uZHMpOwpJbmRleDogU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUmVz
b3VyY2VMb2FkU3RhdGlzdGljc01hbmFnZXIuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvQVBJL0MvV0tSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdlci5oCShyZXZp
c2lvbiAyMTI1OTcpCisrKyBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tSZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzTWFuYWdlci5oCSh3b3JraW5nIGNvcHkpCkBAIC0zOCw2ICszOCw5IEBA
IGV4dGVybiAiQyIgewogICAgIFdLX0VYUE9SVCBib29sIFdLUmVzb3VyY2VMb2FkU3RhdGlzdGlj
c01hbmFnZXJJc1ByZXZhbGVudFJlc291cmNlKFdLU3RyaW5nUmVmIGhvc3ROYW1lKTsKICAgICBX
S19FWFBPUlQgdm9pZCBXS1Jlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VyU2V0SGFzSGFkVXNl
ckludGVyYWN0aW9uKFdLU3RyaW5nUmVmIGhvc3ROYW1lLCBib29sIHZhbHVlKTsKICAgICBXS19F
WFBPUlQgYm9vbCBXS1Jlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VySXNIYXNIYWRVc2VySW50
ZXJhY3Rpb24oV0tTdHJpbmdSZWYgaG9zdE5hbWUpOworICAgIFdLX0VYUE9SVCB2b2lkIFdLUmVz
b3VyY2VMb2FkU3RhdGlzdGljc01hbmFnZXJTZXRTdWJmcmFtZVVuZGVyVG9wRnJhbWVPcmlnaW4o
V0tTdHJpbmdSZWYgaG9zdE5hbWUsIFdLU3RyaW5nUmVmIHRvcEZyYW1lSG9zdE5hbWUpOworICAg
IFdLX0VYUE9SVCB2b2lkIFdLUmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFnZXJTZXRTdWJyZXNv
dXJjZVVuZGVyVG9wRnJhbWVPcmlnaW4oV0tTdHJpbmdSZWYgaG9zdE5hbWUsIFdLU3RyaW5nUmVm
IHRvcEZyYW1lSG9zdE5hbWUpOworICAgIFdLX0VYUE9SVCB2b2lkIFdLUmVzb3VyY2VMb2FkU3Rh
dGlzdGljc01hbmFnZXJTZXRTdWJyZXNvdXJjZVVuaXF1ZVJlZGlyZWN0VG8oV0tTdHJpbmdSZWYg
aG9zdE5hbWUsIFdLU3RyaW5nUmVmIGhvc3ROYW1lUmVkaXJlY3RlZFRvKTsKICAgICBXS19FWFBP
UlQgdm9pZCBXS1Jlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VyU2V0VGltZVRvTGl2ZVVzZXJJ
bnRlcmFjdGlvbihkb3VibGUgc2Vjb25kcyk7CiAgICAgV0tfRVhQT1JUIHZvaWQgV0tSZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzTWFuYWdlclNldFJlZHVjZWRUaW1lc3RhbXBSZXNvbHV0aW9uKGRvdWJs
ZSBzZWNvbmRzKTsKICAgICBXS19FWFBPUlQgdm9pZCBXS1Jlc291cmNlTG9hZFN0YXRpc3RpY3NN
YW5hZ2VyRmlyZURhdGFNb2RpZmljYXRpb25IYW5kbGVyKCk7CkluZGV4OiBTb3VyY2UvV2ViS2l0
Mi9XZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYktpdDIvV2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCShyZXZpc2lvbiAyMTI1
OTcpCisrKyBTb3VyY2UvV2ViS2l0Mi9XZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJ
KHdvcmtpbmcgY29weSkKQEAgLTExNDYsMTAgKzExNDYsMTcgQEAKIAkJNjUwMUJEMUExMkYxMjQz
NDAwRTlGMjQ4IC8qIFdLQnVuZGxlSW5zcGVjdG9yLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDY1Qjg2RjE3MTJGMTFEN0IwMEI3REQ4QSAvKiBXS0J1
bmRsZUluc3BlY3Rvci5jcHAgKi87IH07CiAJCTY1OUM1NTFFMTMwMDA2NDEwMDI1QzBDMiAvKiBJ
bmplY3RlZEJ1bmRsZVBhZ2VSZXNvdXJjZUxvYWRDbGllbnQuY3BwIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNjU0NkE4MjkxMzAwMDE2NDAwMENFQjFDIC8q
IEluamVjdGVkQnVuZGxlUGFnZVJlc291cmNlTG9hZENsaWVudC5jcHAgKi87IH07CiAJCTY1Qjg2
RjFFMTJGMTFERTMwMEI3REQ4QSAvKiBXS0J1bmRsZUluc3BlY3Rvci5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNjVCODZGMTgxMkYxMUQ3QjAwQjdERDhB
IC8qIFdLQnVuZGxlSW5zcGVjdG9yLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJp
dmF0ZSwgKTsgfTsgfTsKKwkJNkIyRTA5QkExRTU3Qjg4MTAwQzhBOEI5IC8qIENvcmVQcmVkaWN0
aW9uU1BJLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA2
QjJFMDlCOTFFNTdCODgxMDBDOEE4QjkgLyogQ29yZVByZWRpY3Rpb25TUEkuaCAqLzsgfTsKIAkJ
NkJFOTY5OUMxRTQzQjNGRjAwOEI3NDgzIC8qIFdLUmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFn
ZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDZCRTk2
OTlCMUU0M0IzRkYwMDhCNzQ4MyAvKiBXS1Jlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VyLmgg
Ki87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNkJFOTY5
OUUxRTQzQjQxRDAwOEI3NDgzIC8qIFdLUmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFnZXIuY3Bw
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNkJFOTY5OUQx
RTQzQjQxRDAwOEI3NDgzIC8qIFdLUmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFnZXIuY3BwICov
OyB9OwogCQk2QkU5NjlBMDFFNDNCODZFMDA4Qjc0ODMgLyogV2ViUmVzb3VyY2VMb2FkU3RhdGlz
dGljc01hbmFnZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDZCRTk2OTlGMUU0M0I4NkUwMDhCNzQ4MyAvKiBXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNz
TWFuYWdlci5oICovOyB9OwogCQk2QkU5NjlBMjFFNDNCOEE0MDA4Qjc0ODMgLyogV2ViUmVzb3Vy
Y2VMb2FkU3RhdGlzdGljc01hbmFnZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gNkJFOTY5QTExRTQzQjhBNDAwOEI3NDgzIC8qIFdlYlJlc291cmNl
TG9hZFN0YXRpc3RpY3NNYW5hZ2VyLmNwcCAqLzsgfTsKKwkJNkJFOTY5QzExRTU0RDQ1MjAwOEI3
NDgzIC8qIGNvcmVQcmVkaWN0aW9uX21vZGVsIGluIFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA2QkU5NjlDMDFFNTRENDUyMDA4Qjc0ODMgLyogY29yZVByZWRp
Y3Rpb25fbW9kZWwgKi87IH07CisJCTZCRTk2OUM1MUU1NEQ0QTQwMDhCNzQ4MyAvKiBSZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gNkJFOTY5QzQxRTU0RDRBNDAwOEI3NDgzIC8qIFJlc291cmNlTG9h
ZFN0YXRpc3RpY3NDbGFzc2lmaWVyLmggKi87IH07CisJCTZCRTk2OUM3MUU1NEQ0QjYwMDhCNzQ4
MyAvKiBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllckJhc2UuY3BwIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNkJFOTY5QzYxRTU0RDRCNjAwOEI3
NDgzIC8qIFJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQmFzZS5jcHAgKi87IH07CisJ
CTZCRTk2OUNBMUU1NEQ0Q0YwMDhCNzQ4MyAvKiBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3Np
ZmllckNvY29hLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDZCRTk2OUM4MUU1NEQ0Q0YwMDhCNzQ4MyAvKiBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xh
c3NpZmllckNvY29hLmNwcCAqLzsgfTsKKwkJNkJFOTY5Q0IxRTU0RDRDRjAwOEI3NDgzIC8qIFJl
c291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQ29jb2EuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDZCRTk2OUM5MUU1NEQ0Q0YwMDhCNzQ4MyAvKiBS
ZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllckNvY29hLmggKi87IH07CisJCTZCRTk2OUNE
MUU1NEUwNTQwMDhCNzQ4MyAvKiBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllckJhc2Uu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDZCRTk2OUND
MUU1NEUwNTQwMDhCNzQ4MyAvKiBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllckJhc2Uu
aCAqLzsgfTsKIAkJNkVFODQ5QzgxMzY4RDkzOTAwMzhENDgxIC8qIFdLSW5zcGVjdG9yUHJpdmF0
ZU1hYy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNkVF
ODQ5QzYxMzY4RDkyRDAwMzhENDgxIC8qIFdLSW5zcGVjdG9yUHJpdmF0ZU1hYy5oICovOyBzZXR0
aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTcyOEU4NkYxMTc5NTE4
OEMwMDg3ODc5RSAvKiBXZWJDb2xvclBpY2tlck1hYy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNzI4RTg2RUYxNzk1MTg4QzAwODc4NzlFIC8qIFdlYkNv
bG9yUGlja2VyTWFjLmggKi87IH07CiAJCTcyOEU4NkYyMTc5NTE4OEMwMDg3ODc5RSAvKiBXZWJD
b2xvclBpY2tlck1hYy5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDcyOEU4NkYwMTc5NTE4OEMwMDg3ODc5RSAvKiBXZWJDb2xvclBpY2tlck1hYy5tbSAq
LzsgfTsKQEAgLTMzMzQsMTAgKzMzNDEsMTcgQEAKIAkJNjU0NkE4MkExMzAwMDE2NDAwMENFQjFD
IC8qIEluamVjdGVkQnVuZGxlUGFnZVJlc291cmNlTG9hZENsaWVudC5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBJbmplY3RlZEJ1bmRsZVBhZ2VSZXNvdXJjZUxvYWRDbGllbnQu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNjVCODZGMTcxMkYxMUQ3QjAwQjdERDhB
IC8qIFdLQnVuZGxlSW5zcGVjdG9yLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
cGF0aCA9IFdLQnVuZGxlSW5zcGVjdG9yLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJNjVCODZGMTgxMkYxMUQ3QjAwQjdERDhBIC8qIFdLQnVuZGxlSW5zcGVjdG9yLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdLQnVuZGxlSW5zcGVjdG9yLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCTZCMkUwOUI5MUU1N0I4ODEwMEM4QThCOSAvKiBDb3JlUHJl
ZGljdGlvblNQSS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDb3JlUHJlZGlj
dGlvblNQSS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk2QkU5Njk5QjFFNDNCM0ZG
MDA4Qjc0ODMgLyogV0tSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdlci5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBXS1Jlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VyLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTZCRTk2OTlEMUU0M0I0MUQwMDhCNzQ4MyAv
KiBXS1Jlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgcGF0aCA9IFdLUmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFnZXIuY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk2QkU5Njk5RjFFNDNCODZFMDA4Qjc0ODMgLyog
V2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFnZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFnZXIuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNkJFOTY5QTExRTQzQjhBNDAwOEI3NDgzIC8qIFdlYlJlc291
cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgcGF0aCA9IFdlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VyLmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNkJFOTY5QzAxRTU0RDQ1MjAwOEI3NDgzIC8qIGNvcmVQcmVk
aWN0aW9uX21vZGVsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IGNvcmVQcmVkaWN0aW9uX21vZGVs
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk2QkU5NjlDNDFFNTRENEE0MDA4Qjc0ODMg
LyogUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXIuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNkJFOTY5QzYxRTU0RDRCNjAwOEI3NDgzIC8qIFJlc291
cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQmFzZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IHBhdGggPSBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllckJhc2UuY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk2QkU5NjlDODFFNTRENENGMDA4Qjc0ODMg
LyogUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXJDb2NvYS5jcHAgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmll
ckNvY29hLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNkJFOTY5QzkxRTU0RDRD
RjAwOEI3NDgzIC8qIFJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQ29jb2EuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNz
aWZpZXJDb2NvYS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk2QkU5NjlDQzFFNTRF
MDU0MDA4Qjc0ODMgLyogUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXJCYXNlLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFz
c2lmaWVyQmFzZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk2RDhBOTFBNTExRjBF
RkQxMDBERDAxRkUgLyogY29tLmFwcGxlLldlYlByb2Nlc3Muc2IuaW4gKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0
OyBuYW1lID0gY29tLmFwcGxlLldlYlByb2Nlc3Muc2IuaW47IHBhdGggPSBXZWJQcm9jZXNzL2Nv
bS5hcHBsZS5XZWJQcm9jZXNzLnNiLmluOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk2
RUU4NDlDNjEzNjhEOTJEMDAzOEQ0ODEgLyogV0tJbnNwZWN0b3JQcml2YXRlTWFjLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IFdLSW5zcGVjdG9yUHJpdmF0ZU1hYy5oOyBwYXRo
ID0gbWFjL1dLSW5zcGVjdG9yUHJpdmF0ZU1hYy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQk3MjhFODZFRjE3OTUxODhDMDA4Nzg3OUUgLyogV2ViQ29sb3JQaWNrZXJNYWMuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViQ29sb3JQaWNrZXJNYWMuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTQzNTAsNiArNDM2NCw3IEBACiAJCTA4OUMxNjY1RkU4
NDExNThDMDJBQUMwNyAvKiBSZXNvdXJjZXMgKi8gPSB7CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJ
CWNoaWxkcmVuID0gKAorCQkJCTZCRTk2OUJGMUU1NEQ0NTIwMDhCNzQ4MyAvKiBSZXNvdXJjZUxv
YWRTdGF0aXN0aWNzICovLAogCQkJCTM3RjhDOTRGMUFFMjJCRDgwMDdEQUI5RSAvKiBtYWMgKi8s
CiAJCQkJN0NCMTZGRTExNzI0QjlCNTAwN0EwQTk1IC8qIFBsdWdJblNhbmRib3hQcm9maWxlcyAq
LywKIAkJCQlBNzhDQ0RENTE5M0FDOUUzMDA1RUNDMjUgLyogU2FuZGJveFByb2ZpbGVzICovLApA
QCAtNjExMSw2ICs2MTI2LDM2IEBACiAJCQluYW1lID0gQ29jb2E7CiAJCQlzb3VyY2VUcmVlID0g
Ijxncm91cD4iOwogCQl9OworCQk2QkU5NjlCRjFFNTRENDUyMDA4Qjc0ODMgLyogUmVzb3VyY2VM
b2FkU3RhdGlzdGljcyAqLyA9IHsKKwkJCWlzYSA9IFBCWEdyb3VwOworCQkJY2hpbGRyZW4gPSAo
CisJCQkJNkJFOTY5QzAxRTU0RDQ1MjAwOEI3NDgzIC8qIGNvcmVQcmVkaWN0aW9uX21vZGVsICov
LAorCQkJKTsKKwkJCW5hbWUgPSBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzOworCQkJcGF0aCA9IFJl
c291cmNlcy9SZXNvdXJjZUxvYWRTdGF0aXN0aWNzOworCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsKKwkJfTsKKwkJNkJFOTY5QzIxRTU0RDQ2NzAwOEI3NDgzIC8qIGNsYXNzaWZpZXIgKi8gPSB7
CisJCQlpc2EgPSBQQlhHcm91cDsKKwkJCWNoaWxkcmVuID0gKAorCQkJCTZCRTk2OUMzMUU1NEQ0
NjcwMDhCNzQ4MyAvKiBjb2NvYSAqLywKKwkJCQk2QkU5NjlDNjFFNTRENEI2MDA4Qjc0ODMgLyog
UmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXJCYXNlLmNwcCAqLywKKwkJCQk2QkU5NjlD
NDFFNTRENEE0MDA4Qjc0ODMgLyogUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXIuaCAq
LywKKwkJCQk2QkU5NjlDQzFFNTRFMDU0MDA4Qjc0ODMgLyogUmVzb3VyY2VMb2FkU3RhdGlzdGlj
c0NsYXNzaWZpZXJCYXNlLmggKi8sCisJCQkpOworCQkJcGF0aCA9IGNsYXNzaWZpZXI7CisJCQlz
b3VyY2VUcmVlID0gIjxncm91cD4iOworCQl9OworCQk2QkU5NjlDMzFFNTRENDY3MDA4Qjc0ODMg
LyogY29jb2EgKi8gPSB7CisJCQlpc2EgPSBQQlhHcm91cDsKKwkJCWNoaWxkcmVuID0gKAorCQkJ
CTZCRTk2OUM4MUU1NEQ0Q0YwMDhCNzQ4MyAvKiBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3Np
ZmllckNvY29hLmNwcCAqLywKKwkJCQk2QkU5NjlDOTFFNTRENENGMDA4Qjc0ODMgLyogUmVzb3Vy
Y2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXJDb2NvYS5oICovLAorCQkJCTZCMkUwOUI5MUU1N0I4
ODEwMEM4QThCOSAvKiBDb3JlUHJlZGljdGlvblNQSS5oICovLAorCQkJKTsKKwkJCXBhdGggPSBj
b2NvYTsKKwkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CisJCX07CiAJCTZFRTg0OUM0MTM2OEQ5
MDQwMDM4RDQ4MSAvKiBtYWMgKi8gPSB7CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVu
ID0gKApAQCAtNzAwOSw2ICs3MDU0LDcgQEAKIAkJQkMyRTZFNzQxMTQxOTZGMDAwQTYzQjFFIC8q
IFBsYXRmb3JtICovID0gewogCQkJaXNhID0gUEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9ICgKKwkJ
CQk2QkU5NjlDMjFFNTRENDY3MDA4Qjc0ODMgLyogY2xhc3NpZmllciAqLywKIAkJCQkzNzA5NTA0
MTE4QTg4QkE0MDA4N0FFNUQgLyogY2YgKi8sCiAJCQkJMUFBMkU1MUExMkU0QzA1NjAwQkM0OTY2
IC8qIGNnICovLAogCQkJCTQ0NTBBRUJFMURDM0ZBQUMwMDk5NDNGMiAvKiBjb2NvYSAqLywKQEAg
LTc4OTEsNiArNzkzNyw3IEBACiAJCQkJNDFEQzQ1OTYxRTNENkUyMjAwQjExRjUxIC8qIE5ldHdv
cmtSVENQcm92aWRlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJN0MxQkEzM0UxQTRBMEU2MDAwNDNF
MjQ5IC8qIEFQSURpY3Rpb25hcnkuaCBpbiBIZWFkZXJzICovLAogCQkJCTFGN0QzNkMxMThEQTUx
M0YwMEQ5RDY1OSAvKiBBUElEb3dubG9hZENsaWVudC5oIGluIEhlYWRlcnMgKi8sCisJCQkJNkJF
OTY5Q0IxRTU0RDRDRjAwOEI3NDgzIC8qIFJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVy
Q29jb2EuaCBpbiBIZWFkZXJzICovLAogCQkJCTUxNkE0QTVEMTIwQTJDQ0QwMEMwNUI3RiAvKiBB
UElFcnJvci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMzE3RkU3QzUxQzQ4N0E2QzAwQTBDQTg5IC8q
IEFQSUV4cGVyaW1lbnRhbEZlYXR1cmUuaCBpbiBIZWFkZXJzICovLAogCQkJCTAwQjk2NjE2MThF
MjRDQkEwMENFMUY4OCAvKiBBUElGaW5kQ2xpZW50LmggaW4gSGVhZGVycyAqLywKQEAgLTgzMTAs
NiArODM1Nyw3IEBACiAJCQkJMzMwOTM0NEExMzE1QjkyMjAwOTdBN0JDIC8qIFdlYkNvb2tpZU1h
bmFnZXJQcm94eU1lc3NhZ2VzLmggaW4gSGVhZGVycyAqLywKIAkJCQlCQzFERDdCMjExNERDMzk2
MDA1QURBRjMgLyogV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmggaW4gSGVhZGVycyAqLywKIAkJCQk1
MTJGNTg5QjEyQTg4Mzg4MDA2Mjk1MzAgLyogV2ViQ3JlZGVudGlhbC5oIGluIEhlYWRlcnMgKi8s
CisJCQkJNkJFOTY5QzUxRTU0RDRBNDAwOEI3NDgzIC8qIFJlc291cmNlTG9hZFN0YXRpc3RpY3ND
bGFzc2lmaWVyLmggaW4gSGVhZGVycyAqLywKIAkJCQkxQUE4M0Y2RDFBNUI2M0ZGMDAwMjZFQzYg
LyogV2ViRGF0YWJhc2VQcm92aWRlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQ0QxOUEyNkUxQTEz
RTgzNDAwOEQ2NTBFIC8qIFdlYkRpYWdub3N0aWNMb2dnaW5nQ2xpZW50LmggaW4gSGVhZGVycyAq
LywKIAkJCQkxQTVCMUM1NTE4OTg3RURGMDA0RkNGOUIgLyogV2ViRG9jdW1lbnRMb2FkZXIuaCBp
biBIZWFkZXJzICovLApAQCAtODM5NSw2ICs4NDQzLDcgQEAKIAkJCQk1MTIxMjdDNDE5MDgyMzlB
MDBEQUYzNUMgLyogV2ViUGFzdGVib2FyZE92ZXJyaWRlcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
N0M0Njk0RDExQTUxRTM2ODAwQUQ1ODQ1IC8qIFdlYlBhc3RlYm9hcmRQcm94eS5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJN0M0Njk0Q0ExQTRCNEVBMTAwQUQ1ODQ1IC8qIFdlYlBhc3RlYm9hcmRQcm94
eU1lc3NhZ2VzLmggaW4gSGVhZGVycyAqLywKKwkJCQk2QjJFMDlCQTFFNTdCODgxMDBDOEE4Qjkg
LyogQ29yZVByZWRpY3Rpb25TUEkuaCBpbiBIZWFkZXJzICovLAogCQkJCTFBQjFGNzk3MUQxQjM2
MTMwMDdDOUJEMSAvKiBXZWJQYXltZW50Q29vcmRpbmF0b3JNZXNzYWdlcy5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJMUFCMUY3OEMxRDFCMzM1NTAwN0M5QkQxIC8qIFdlYlBheW1lbnRDb29yZGluYXRv
clByb3h5LmggaW4gSGVhZGVycyAqLywKIAkJCQkxQUIxRjc3RTFEMUIzMEE5MDA3QzlCRDEgLyog
V2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHlDb2NvYS5oIGluIEhlYWRlcnMgKi8sCkBAIC04NTEz
LDYgKzg1NjIsNyBAQAogCQkJCUJDN0I2MzNEMTJBNDVEMTIwMEQxNzRBNCAvKiBXS0J1bmRsZVBh
Z2VHcm91cC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUFCNDc0RDgxODRENDNGRDAwNTFCNjIyIC8q
IFdLQnVuZGxlUGFnZUxvYWRlckNsaWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRUQ4MkE3RjIx
MjhDNkZBRjAwNDQ3N0IzIC8qIFdLQnVuZGxlUGFnZU92ZXJsYXkuaCBpbiBIZWFkZXJzICovLAor
CQkJCTZCRTk2OUNEMUU1NEUwNTQwMDhCNzQ4MyAvKiBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xh
c3NpZmllckJhc2UuaCBpbiBIZWFkZXJzICovLAogCQkJCTFBQjQ3NEVBMTg0RDQ1MTMwMDUxQjYy
MiAvKiBXS0J1bmRsZVBhZ2VQb2xpY3lDbGllbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDMUI0
MTk4MTFENDFENTcwMDExRThERCAvKiBXS0J1bmRsZVBhZ2VQcml2YXRlLmggaW4gSGVhZGVycyAq
LywKIAkJCQkxQUI0NzREQTE4NEQ0NDI1MDA1MUI2MjIgLyogV0tCdW5kbGVQYWdlUmVzb3VyY2VM
b2FkQ2xpZW50LmggaW4gSGVhZGVycyAqLywKQEAgLTkwNDYsNiArOTA5Niw3IEBACiAJCQkJN0E1
RTM5NEExRDVCRDhCRTAwQjRCN0NFIC8qIGNvbS5tYWNyb21lZGlhLkZsYXNoIFBsYXllciBFU1Iu
cGx1Z2luLnNiIGluIFJlc291cmNlcyAqLywKIAkJCQk4REMyRUY1MzA0ODZBNjk0MDA5OEIyMTYg
LyogSW5mb1BsaXN0LnN0cmluZ3MgaW4gUmVzb3VyY2VzICovLAogCQkJCTkzQTJBMzQ2MUQyNDYx
MjUwMDJCNTlEMyAvKiBtZWRpYUljb24ucGRmIGluIFJlc291cmNlcyAqLywKKwkJCQk2QkU5NjlD
MTFFNTRENDUyMDA4Qjc0ODMgLyogY29yZVByZWRpY3Rpb25fbW9kZWwgaW4gUmVzb3VyY2VzICov
LAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwogCQl9
OwpAQCAtOTYzNCw2ICs5Njg1LDcgQEAKIAkJCQk1MTc5NTU2NzE2Mjg3NkNCMDBGQTQzQjYgLyog
TmV0d29ya1Byb2Nlc3NNYWMubW0gaW4gU291cmNlcyAqLywKIAkJCQk1MTYzMTk5NDE2Mjg5QTYw
MDBFMjJGMDAgLyogTmV0d29ya1Byb2Nlc3NNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMg
Ki8sCiAJCQkJRTE0QTk1NDkxNkUwMTZBNDAwNjhERTgyIC8qIE5ldHdvcmtQcm9jZXNzUGxhdGZv
cm1TdHJhdGVnaWVzLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTZCRTk2OUNBMUU1NEQ0Q0YwMDhC
NzQ4MyAvKiBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllckNvY29hLmNwcCBpbiBTb3Vy
Y2VzICovLAogCQkJCTUxNzk1NTZEMTYyODc3QjEwMEZBNDNCNiAvKiBOZXR3b3JrUHJvY2Vzc1By
b3h5LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTUxNjMxOTkyMTYyODk4MEEwMEUyMkYwMCAvKiBO
ZXR3b3JrUHJvY2Vzc1Byb3h5TWFjLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJNTEzQTE2M0MxNjMw
ODhGNjAwNUQ3RDIyIC8qIE5ldHdvcmtQcm9jZXNzUHJveHlNZXNzYWdlUmVjZWl2ZXIuY3BwIGlu
IFNvdXJjZXMgKi8sCkBAIC05OTc3LDYgKzEwMDI5LDcgQEAKIAkJCQlEM0I5NDg0NjExRkY0QjY1
MDAwMzJCMzkgLyogV2ViUG9wdXBNZW51LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUJDQzQzQUM3
MTI3Qjk5REUwMDMxN0YxNiAvKiBXZWJQb3B1cE1lbnVNYWMubW0gaW4gU291cmNlcyAqLywKIAkJ
CQlCQzU3NTA5ODEyNjhGM0M2MDA2RjBGMTIgLyogV2ViUG9wdXBNZW51UHJveHlNYWMubW0gaW4g
U291cmNlcyAqLywKKwkJCQk2QkU5NjlDNzFFNTRENEI2MDA4Qjc0ODMgLyogUmVzb3VyY2VMb2Fk
U3RhdGlzdGljc0NsYXNzaWZpZXJCYXNlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUJDRDU5ODAw
MTEyQjU3QkUwMEVDOEMyMyAvKiBXZWJQcmVmZXJlbmNlcy5jcHAgaW4gU291cmNlcyAqLywKIAkJ
CQk3Qzg1RkQ3RjE5MzQxNjY1MDAwMTc3QzQgLyogV2ViUHJlZmVyZW5jZXNLZXlzLmNwcCBpbiBT
b3VyY2VzICovLAogCQkJCUJDODRFQjE4MTJBNzEwMEMwMDgzRjJEQSAvKiBXZWJQcmVmZXJlbmNl
c01hYy5tbSBpbiBTb3VyY2VzICovLApJbmRleDogVG9vbHMvQ2hhbmdlTG9nCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFRvb2xzL0NoYW5nZUxvZwkocmV2aXNpb24gMjEyNTk3KQorKysgVG9vbHMvQ2hhbmdlTG9n
CSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMzAgQEAKKzIwMTctMDItMTcgIEpvaG4gV2lsYW5k
ZXIgIDx3aWxhbmRlckBhcHBsZS5jb20+CisKKyAgICAgICAgUmVzb3VyY2UgTG9hZCBTdGF0aXN0
aWNzOiBBZGQgYWx0ZXJuYXRlIGNsYXNzaWZpY2F0aW9uIG1ldGhvZAorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY4MzQ3CisgICAgICAgIDxyZGFyOi8v
cHJvYmxlbS8zMDM1Mjc5Mz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBBZGRlZCB0aHJlZSB0ZXN0UnVubmVyIGZ1bmN0aW9ucyB0byBmYWNpbGl0YXRl
IGxheW91dCB0ZXN0czoKKyAgICAgICAgLSBzZXRTdGF0aXN0aWNzU3ViZnJhbWVVbmRlclRvcEZy
YW1lT3JpZ2luKCkKKyAgICAgICAgLSBzZXRTdGF0aXN0aWNzU3VicmVzb3VyY2VVbmRlclRvcEZy
YW1lT3JpZ2luKCkKKyAgICAgICAgLSBzZXRTdGF0aXN0aWNzU3VicmVzb3VyY2VVbmlxdWVSZWRp
cmVjdFRvKCkKKworICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvQmlu
ZGluZ3MvVGVzdFJ1bm5lci5pZGw6CisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9JbmplY3Rl
ZEJ1bmRsZS9UZXN0UnVubmVyLmNwcDoKKyAgICAgICAgKFdUUjo6VGVzdFJ1bm5lcjo6c2V0U3Rh
dGlzdGljc1N1YmZyYW1lVW5kZXJUb3BGcmFtZU9yaWdpbik6CisgICAgICAgIChXVFI6OlRlc3RS
dW5uZXI6OnNldFN0YXRpc3RpY3NTdWJyZXNvdXJjZVVuZGVyVG9wRnJhbWVPcmlnaW4pOgorICAg
ICAgICAoV1RSOjpUZXN0UnVubmVyOjpzZXRTdGF0aXN0aWNzU3VicmVzb3VyY2VVbmlxdWVSZWRp
cmVjdFRvKToKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL1Rlc3RS
dW5uZXIuaDoKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmNwcDoK
KyAgICAgICAgKFdUUjo6VGVzdENvbnRyb2xsZXI6OnNldFN0YXRpc3RpY3NTdWJmcmFtZVVuZGVy
VG9wRnJhbWVPcmlnaW4pOgorICAgICAgICAoV1RSOjpUZXN0Q29udHJvbGxlcjo6c2V0U3RhdGlz
dGljc1N1YnJlc291cmNlVW5kZXJUb3BGcmFtZU9yaWdpbik6CisgICAgICAgIChXVFI6OlRlc3RD
b250cm9sbGVyOjpzZXRTdGF0aXN0aWNzU3VicmVzb3VyY2VVbmlxdWVSZWRpcmVjdFRvKToKKyAg
ICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmg6CisgICAgICAgICogV2Vi
S2l0VGVzdFJ1bm5lci9UZXN0SW52b2NhdGlvbi5jcHA6CisgICAgICAgIChXVFI6OlRlc3RJbnZv
Y2F0aW9uOjpkaWRSZWNlaXZlU3luY2hyb25vdXNNZXNzYWdlRnJvbUluamVjdGVkQnVuZGxlKToK
KwogMjAxNy0wMi0xNyAgQWFrYXNoIEphaW4gIDxhYWthc2hfamFpbkBhcHBsZS5jb20+CiAKICAg
ICAgICAgRml4IGZhaWx1cmUgZnJvbSByMjEyNTc5LgpJbmRleDogVG9vbHMvV2ViS2l0VGVzdFJ1
bm5lci9UZXN0Q29udHJvbGxlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvV2ViS2l0VGVzdFJ1
bm5lci9UZXN0Q29udHJvbGxlci5jcHAJKHJldmlzaW9uIDIxMjU5NykKKysrIFRvb2xzL1dlYktp
dFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yMjI5LDYg
KzIyMjksMjEgQEAgYm9vbCBUZXN0Q29udHJvbGxlcjo6aXNTdGF0aXN0aWNzSGFzSGFkVQogICAg
IHJldHVybiBXS1Jlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VySXNIYXNIYWRVc2VySW50ZXJh
Y3Rpb24oaG9zdE5hbWUpOwogfQogCit2b2lkIFRlc3RDb250cm9sbGVyOjpzZXRTdGF0aXN0aWNz
U3ViZnJhbWVVbmRlclRvcEZyYW1lT3JpZ2luKFdLU3RyaW5nUmVmIGhvc3ROYW1lLCBXS1N0cmlu
Z1JlZiB0b3BGcmFtZUhvc3ROYW1lKQoreworICAgIFdLUmVzb3VyY2VMb2FkU3RhdGlzdGljc01h
bmFnZXJTZXRTdWJmcmFtZVVuZGVyVG9wRnJhbWVPcmlnaW4oaG9zdE5hbWUsIHRvcEZyYW1lSG9z
dE5hbWUpOworfQorCit2b2lkIFRlc3RDb250cm9sbGVyOjpzZXRTdGF0aXN0aWNzU3VicmVzb3Vy
Y2VVbmRlclRvcEZyYW1lT3JpZ2luKFdLU3RyaW5nUmVmIGhvc3ROYW1lLCBXS1N0cmluZ1JlZiB0
b3BGcmFtZUhvc3ROYW1lKQoreworICAgIFdLUmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFnZXJT
ZXRTdWJyZXNvdXJjZVVuZGVyVG9wRnJhbWVPcmlnaW4oaG9zdE5hbWUsIHRvcEZyYW1lSG9zdE5h
bWUpOworfQorICAgIAordm9pZCBUZXN0Q29udHJvbGxlcjo6c2V0U3RhdGlzdGljc1N1YnJlc291
cmNlVW5pcXVlUmVkaXJlY3RUbyhXS1N0cmluZ1JlZiBob3N0TmFtZSwgV0tTdHJpbmdSZWYgaG9z
dE5hbWVSZWRpcmVjdGVkVG8pCit7CisgICAgV0tSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdl
clNldFN1YnJlc291cmNlVW5pcXVlUmVkaXJlY3RUbyhob3N0TmFtZSwgaG9zdE5hbWVSZWRpcmVj
dGVkVG8pOworfQorCiB2b2lkIFRlc3RDb250cm9sbGVyOjpzZXRTdGF0aXN0aWNzVGltZVRvTGl2
ZVVzZXJJbnRlcmFjdGlvbihkb3VibGUgc2Vjb25kcykKIHsKICAgICBXS1Jlc291cmNlTG9hZFN0
YXRpc3RpY3NNYW5hZ2VyU2V0VGltZVRvTGl2ZVVzZXJJbnRlcmFjdGlvbihzZWNvbmRzKTsKSW5k
ZXg6IFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBUb29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmgJKHJldmlzaW9uIDIxMjU5
NykKKysrIFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuaAkod29ya2luZyBj
b3B5KQpAQCAtMTUyLDYgKzE1Miw5IEBAIHB1YmxpYzoKICAgICBib29sIGlzU3RhdGlzdGljc1By
ZXZhbGVudFJlc291cmNlKFdLU3RyaW5nUmVmIGhvc3ROYW1lKTsKICAgICB2b2lkIHNldFN0YXRp
c3RpY3NIYXNIYWRVc2VySW50ZXJhY3Rpb24oV0tTdHJpbmdSZWYgaG9zdE5hbWUsIGJvb2wgdmFs
dWUpOwogICAgIGJvb2wgaXNTdGF0aXN0aWNzSGFzSGFkVXNlckludGVyYWN0aW9uKFdLU3RyaW5n
UmVmIGhvc3ROYW1lKTsKKyAgICB2b2lkIHNldFN0YXRpc3RpY3NTdWJmcmFtZVVuZGVyVG9wRnJh
bWVPcmlnaW4oV0tTdHJpbmdSZWYgaG9zdE5hbWUsIFdLU3RyaW5nUmVmIHRvcEZyYW1lSG9zdE5h
bWUpOworICAgIHZvaWQgc2V0U3RhdGlzdGljc1N1YnJlc291cmNlVW5kZXJUb3BGcmFtZU9yaWdp
bihXS1N0cmluZ1JlZiBob3N0TmFtZSwgV0tTdHJpbmdSZWYgdG9wRnJhbWVIb3N0TmFtZSk7Cisg
ICAgdm9pZCBzZXRTdGF0aXN0aWNzU3VicmVzb3VyY2VVbmlxdWVSZWRpcmVjdFRvKFdLU3RyaW5n
UmVmIGhvc3ROYW1lLCBXS1N0cmluZ1JlZiBob3N0TmFtZVJlZGlyZWN0ZWRUbyk7CiAgICAgdm9p
ZCBzZXRTdGF0aXN0aWNzVGltZVRvTGl2ZVVzZXJJbnRlcmFjdGlvbihkb3VibGUgc2Vjb25kcyk7
CiAgICAgdm9pZCBzdGF0aXN0aWNzRmlyZURhdGFNb2RpZmljYXRpb25IYW5kbGVyKCk7CiAgICAg
dm9pZCBzZXRTdGF0aXN0aWNzTm90aWZ5UGFnZXNXaGVuRGF0YVJlY29yZHNXZXJlU2Nhbm5lZChi
b29sKTsKSW5kZXg6IFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdEludm9jYXRpb24uY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdEludm9jYXRpb24uY3BwCShy
ZXZpc2lvbiAyMTI1OTcpCisrKyBUb29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RJbnZvY2F0aW9u
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtOTMyLDYgKzkzMiw0OCBAQCBXS1JldGFpblB0cjxXS1R5
cGVSZWY+IFRlc3RJbnZvY2F0aW9uOjpkCiAgICAgICAgIHJldHVybiByZXN1bHQ7CiAgICAgfQog
ICAgIAorICAgIGlmIChXS1N0cmluZ0lzRXF1YWxUb1VURjhDU3RyaW5nKG1lc3NhZ2VOYW1lLCAi
U2V0U3RhdGlzdGljc1N1YmZyYW1lVW5kZXJUb3BGcmFtZU9yaWdpbiIpKSB7CisgICAgICAgIEFT
U0VSVChXS0dldFR5cGVJRChtZXNzYWdlQm9keSkgPT0gV0tEaWN0aW9uYXJ5R2V0VHlwZUlEKCkp
OworICAgICAgICAKKyAgICAgICAgV0tEaWN0aW9uYXJ5UmVmIG1lc3NhZ2VCb2R5RGljdGlvbmFy
eSA9IHN0YXRpY19jYXN0PFdLRGljdGlvbmFyeVJlZj4obWVzc2FnZUJvZHkpOworICAgICAgICBX
S1JldGFpblB0cjxXS1N0cmluZ1JlZj4gaG9zdE5hbWVLZXkoQWRvcHRXSywgV0tTdHJpbmdDcmVh
dGVXaXRoVVRGOENTdHJpbmcoIkhvc3ROYW1lIikpOworICAgICAgICBXS1JldGFpblB0cjxXS1N0
cmluZ1JlZj4gdG9wRnJhbWVIb3N0TmFtZUtleShBZG9wdFdLLCBXS1N0cmluZ0NyZWF0ZVdpdGhV
VEY4Q1N0cmluZygiVG9wRnJhbWVIb3N0TmFtZSIpKTsKKyAgICAgICAgCisgICAgICAgIFdLU3Ry
aW5nUmVmIGhvc3ROYW1lID0gc3RhdGljX2Nhc3Q8V0tTdHJpbmdSZWY+KFdLRGljdGlvbmFyeUdl
dEl0ZW1Gb3JLZXkobWVzc2FnZUJvZHlEaWN0aW9uYXJ5LCBob3N0TmFtZUtleS5nZXQoKSkpOwor
ICAgICAgICBXS1N0cmluZ1JlZiB0b3BGcmFtZUhvc3ROYW1lID0gc3RhdGljX2Nhc3Q8V0tTdHJp
bmdSZWY+KFdLRGljdGlvbmFyeUdldEl0ZW1Gb3JLZXkobWVzc2FnZUJvZHlEaWN0aW9uYXJ5LCB0
b3BGcmFtZUhvc3ROYW1lS2V5LmdldCgpKSk7CisKKyAgICAgICAgVGVzdENvbnRyb2xsZXI6OnNp
bmdsZXRvbigpLnNldFN0YXRpc3RpY3NTdWJmcmFtZVVuZGVyVG9wRnJhbWVPcmlnaW4oaG9zdE5h
bWUsIHRvcEZyYW1lSG9zdE5hbWUpOworICAgICAgICByZXR1cm4gbnVsbHB0cjsKKyAgICB9Cisg
ICAgCisgICAgaWYgKFdLU3RyaW5nSXNFcXVhbFRvVVRGOENTdHJpbmcobWVzc2FnZU5hbWUsICJT
ZXRTdGF0aXN0aWNzU3VicmVzb3VyY2VVbmRlclRvcEZyYW1lT3JpZ2luIikpIHsKKyAgICAgICAg
QVNTRVJUKFdLR2V0VHlwZUlEKG1lc3NhZ2VCb2R5KSA9PSBXS0RpY3Rpb25hcnlHZXRUeXBlSUQo
KSk7CisgICAgICAgIAorICAgICAgICBXS0RpY3Rpb25hcnlSZWYgbWVzc2FnZUJvZHlEaWN0aW9u
YXJ5ID0gc3RhdGljX2Nhc3Q8V0tEaWN0aW9uYXJ5UmVmPihtZXNzYWdlQm9keSk7CisgICAgICAg
IFdLUmV0YWluUHRyPFdLU3RyaW5nUmVmPiBob3N0TmFtZUtleShBZG9wdFdLLCBXS1N0cmluZ0Ny
ZWF0ZVdpdGhVVEY4Q1N0cmluZygiSG9zdE5hbWUiKSk7CisgICAgICAgIFdLUmV0YWluUHRyPFdL
U3RyaW5nUmVmPiB0b3BGcmFtZUhvc3ROYW1lS2V5KEFkb3B0V0ssIFdLU3RyaW5nQ3JlYXRlV2l0
aFVURjhDU3RyaW5nKCJUb3BGcmFtZUhvc3ROYW1lIikpOworICAgICAgICAKKyAgICAgICAgV0tT
dHJpbmdSZWYgaG9zdE5hbWUgPSBzdGF0aWNfY2FzdDxXS1N0cmluZ1JlZj4oV0tEaWN0aW9uYXJ5
R2V0SXRlbUZvcktleShtZXNzYWdlQm9keURpY3Rpb25hcnksIGhvc3ROYW1lS2V5LmdldCgpKSk7
CisgICAgICAgIFdLU3RyaW5nUmVmIHRvcEZyYW1lSG9zdE5hbWUgPSBzdGF0aWNfY2FzdDxXS1N0
cmluZ1JlZj4oV0tEaWN0aW9uYXJ5R2V0SXRlbUZvcktleShtZXNzYWdlQm9keURpY3Rpb25hcnks
IHRvcEZyYW1lSG9zdE5hbWVLZXkuZ2V0KCkpKTsKKyAgICAgICAgCisgICAgICAgIFRlc3RDb250
cm9sbGVyOjpzaW5nbGV0b24oKS5zZXRTdGF0aXN0aWNzU3VicmVzb3VyY2VVbmRlclRvcEZyYW1l
T3JpZ2luKGhvc3ROYW1lLCB0b3BGcmFtZUhvc3ROYW1lKTsKKyAgICAgICAgcmV0dXJuIG51bGxw
dHI7CisgICAgfQorICAgIAorICAgIGlmIChXS1N0cmluZ0lzRXF1YWxUb1VURjhDU3RyaW5nKG1l
c3NhZ2VOYW1lLCAiU2V0U3RhdGlzdGljc1N1YnJlc291cmNlVW5pcXVlUmVkaXJlY3RUbyIpKSB7
CisgICAgICAgIEFTU0VSVChXS0dldFR5cGVJRChtZXNzYWdlQm9keSkgPT0gV0tEaWN0aW9uYXJ5
R2V0VHlwZUlEKCkpOworICAgICAgICAKKyAgICAgICAgV0tEaWN0aW9uYXJ5UmVmIG1lc3NhZ2VC
b2R5RGljdGlvbmFyeSA9IHN0YXRpY19jYXN0PFdLRGljdGlvbmFyeVJlZj4obWVzc2FnZUJvZHkp
OworICAgICAgICBXS1JldGFpblB0cjxXS1N0cmluZ1JlZj4gaG9zdE5hbWVLZXkoQWRvcHRXSywg
V0tTdHJpbmdDcmVhdGVXaXRoVVRGOENTdHJpbmcoIkhvc3ROYW1lIikpOworICAgICAgICBXS1Jl
dGFpblB0cjxXS1N0cmluZ1JlZj4gaG9zdE5hbWVSZWRpcmVjdGVkVG9LZXkoQWRvcHRXSywgV0tT
dHJpbmdDcmVhdGVXaXRoVVRGOENTdHJpbmcoIkhvc3ROYW1lUmVkaXJlY3RlZFRvIikpOworICAg
ICAgICAKKyAgICAgICAgV0tTdHJpbmdSZWYgaG9zdE5hbWUgPSBzdGF0aWNfY2FzdDxXS1N0cmlu
Z1JlZj4oV0tEaWN0aW9uYXJ5R2V0SXRlbUZvcktleShtZXNzYWdlQm9keURpY3Rpb25hcnksIGhv
c3ROYW1lS2V5LmdldCgpKSk7CisgICAgICAgIFdLU3RyaW5nUmVmIGhvc3ROYW1lUmVkaXJlY3Rl
ZFRvID0gc3RhdGljX2Nhc3Q8V0tTdHJpbmdSZWY+KFdLRGljdGlvbmFyeUdldEl0ZW1Gb3JLZXko
bWVzc2FnZUJvZHlEaWN0aW9uYXJ5LCBob3N0TmFtZVJlZGlyZWN0ZWRUb0tleS5nZXQoKSkpOwor
ICAgICAgICAKKyAgICAgICAgVGVzdENvbnRyb2xsZXI6OnNpbmdsZXRvbigpLnNldFN0YXRpc3Rp
Y3NTdWJyZXNvdXJjZVVuaXF1ZVJlZGlyZWN0VG8oaG9zdE5hbWUsIGhvc3ROYW1lUmVkaXJlY3Rl
ZFRvKTsKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7CisgICAgfQorCiAgICAgaWYgKFdLU3RyaW5n
SXNFcXVhbFRvVVRGOENTdHJpbmcobWVzc2FnZU5hbWUsICJTZXRTdGF0aXN0aWNzVGltZVRvTGl2
ZVVzZXJJbnRlcmFjdGlvbiIpKSB7CiAgICAgICAgIEFTU0VSVChXS0dldFR5cGVJRChtZXNzYWdl
Qm9keSkgPT0gV0tEb3VibGVHZXRUeXBlSUQoKSk7CiAgICAgICAgIFdLRG91YmxlUmVmIHNlY29u
ZHMgPSBzdGF0aWNfY2FzdDxXS0RvdWJsZVJlZj4obWVzc2FnZUJvZHkpOwpJbmRleDogVG9vbHMv
V2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9UZXN0UnVubmVyLmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBUb29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL1Rlc3RSdW5uZXIuY3Bw
CShyZXZpc2lvbiAyMTI1OTcpCisrKyBUb29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVu
ZGxlL1Rlc3RSdW5uZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMjI2LDYgKzEyMjYsODQgQEAg
Ym9vbCBUZXN0UnVubmVyOjppc1N0YXRpc3RpY3NIYXNIYWRVc2VySQogICAgIHJldHVybiBXS0Jv
b2xlYW5HZXRWYWx1ZShzdGF0aWNfY2FzdDxXS0Jvb2xlYW5SZWY+KHJldHVybkRhdGEpKTsKIH0K
IAordm9pZCBUZXN0UnVubmVyOjpzZXRTdGF0aXN0aWNzU3ViZnJhbWVVbmRlclRvcEZyYW1lT3Jp
Z2luKEpTU3RyaW5nUmVmIGhvc3ROYW1lLCBKU1N0cmluZ1JlZiB0b3BGcmFtZUhvc3ROYW1lKQor
eworICAgIFZlY3RvcjxXS1JldGFpblB0cjxXS1N0cmluZ1JlZj4+IGtleXM7CisgICAgVmVjdG9y
PFdLUmV0YWluUHRyPFdLVHlwZVJlZj4+IHZhbHVlczsKKyAgICAKKyAgICBrZXlzLmFwcGVuZCh7
IEFkb3B0V0ssIFdLU3RyaW5nQ3JlYXRlV2l0aFVURjhDU3RyaW5nKCJIb3N0TmFtZSIpIH0pOwor
ICAgIHZhbHVlcy5hcHBlbmQoeyBBZG9wdFdLLCBXS1N0cmluZ0NyZWF0ZVdpdGhKU1N0cmluZyho
b3N0TmFtZSkgfSk7CisgICAgCisgICAga2V5cy5hcHBlbmQoeyBBZG9wdFdLLCBXS1N0cmluZ0Ny
ZWF0ZVdpdGhVVEY4Q1N0cmluZygiVG9wRnJhbWVIb3N0TmFtZSIpIH0pOworICAgIHZhbHVlcy5h
cHBlbmQoeyBBZG9wdFdLLCBXS1N0cmluZ0NyZWF0ZVdpdGhKU1N0cmluZyh0b3BGcmFtZUhvc3RO
YW1lKSB9KTsKKyAgICAKKyAgICBWZWN0b3I8V0tTdHJpbmdSZWY+IHJhd0tleXM7CisgICAgVmVj
dG9yPFdLVHlwZVJlZj4gcmF3VmFsdWVzOworICAgIHJhd0tleXMucmVzaXplKGtleXMuc2l6ZSgp
KTsKKyAgICByYXdWYWx1ZXMucmVzaXplKHZhbHVlcy5zaXplKCkpOworICAgIAorICAgIGZvciAo
c2l6ZV90IGkgPSAwOyBpIDwga2V5cy5zaXplKCk7ICsraSkgeworICAgICAgICByYXdLZXlzW2ld
ID0ga2V5c1tpXS5nZXQoKTsKKyAgICAgICAgcmF3VmFsdWVzW2ldID0gdmFsdWVzW2ldLmdldCgp
OworICAgIH0KKyAgICAKKyAgICBXS1JldGFpblB0cjxXS1N0cmluZ1JlZj4gbWVzc2FnZU5hbWUo
QWRvcHRXSywgV0tTdHJpbmdDcmVhdGVXaXRoVVRGOENTdHJpbmcoIlNldFN0YXRpc3RpY3NTdWJm
cmFtZVVuZGVyVG9wRnJhbWVPcmlnaW4iKSk7CisgICAgV0tSZXRhaW5QdHI8V0tEaWN0aW9uYXJ5
UmVmPiBtZXNzYWdlQm9keShBZG9wdFdLLCBXS0RpY3Rpb25hcnlDcmVhdGUocmF3S2V5cy5kYXRh
KCksIHJhd1ZhbHVlcy5kYXRhKCksIHJhd0tleXMuc2l6ZSgpKSk7CisgICAgV0tCdW5kbGVQb3N0
U3luY2hyb25vdXNNZXNzYWdlKEluamVjdGVkQnVuZGxlOjpzaW5nbGV0b24oKS5idW5kbGUoKSwg
bWVzc2FnZU5hbWUuZ2V0KCksIG1lc3NhZ2VCb2R5LmdldCgpLCBudWxscHRyKTsKK30KKwordm9p
ZCBUZXN0UnVubmVyOjpzZXRTdGF0aXN0aWNzU3VicmVzb3VyY2VVbmRlclRvcEZyYW1lT3JpZ2lu
KEpTU3RyaW5nUmVmIGhvc3ROYW1lLCBKU1N0cmluZ1JlZiB0b3BGcmFtZUhvc3ROYW1lKQorewor
ICAgIFZlY3RvcjxXS1JldGFpblB0cjxXS1N0cmluZ1JlZj4+IGtleXM7CisgICAgVmVjdG9yPFdL
UmV0YWluUHRyPFdLVHlwZVJlZj4+IHZhbHVlczsKKyAgICAKKyAgICBrZXlzLmFwcGVuZCh7IEFk
b3B0V0ssIFdLU3RyaW5nQ3JlYXRlV2l0aFVURjhDU3RyaW5nKCJIb3N0TmFtZSIpIH0pOworICAg
IHZhbHVlcy5hcHBlbmQoeyBBZG9wdFdLLCBXS1N0cmluZ0NyZWF0ZVdpdGhKU1N0cmluZyhob3N0
TmFtZSkgfSk7CisgICAgCisgICAga2V5cy5hcHBlbmQoeyBBZG9wdFdLLCBXS1N0cmluZ0NyZWF0
ZVdpdGhVVEY4Q1N0cmluZygiVG9wRnJhbWVIb3N0TmFtZSIpIH0pOworICAgIHZhbHVlcy5hcHBl
bmQoeyBBZG9wdFdLLCBXS1N0cmluZ0NyZWF0ZVdpdGhKU1N0cmluZyh0b3BGcmFtZUhvc3ROYW1l
KSB9KTsKKyAgICAKKyAgICBWZWN0b3I8V0tTdHJpbmdSZWY+IHJhd0tleXM7CisgICAgVmVjdG9y
PFdLVHlwZVJlZj4gcmF3VmFsdWVzOworICAgIHJhd0tleXMucmVzaXplKGtleXMuc2l6ZSgpKTsK
KyAgICByYXdWYWx1ZXMucmVzaXplKHZhbHVlcy5zaXplKCkpOworICAgIAorICAgIGZvciAoc2l6
ZV90IGkgPSAwOyBpIDwga2V5cy5zaXplKCk7ICsraSkgeworICAgICAgICByYXdLZXlzW2ldID0g
a2V5c1tpXS5nZXQoKTsKKyAgICAgICAgcmF3VmFsdWVzW2ldID0gdmFsdWVzW2ldLmdldCgpOwor
ICAgIH0KKyAgICAKKyAgICBXS1JldGFpblB0cjxXS1N0cmluZ1JlZj4gbWVzc2FnZU5hbWUoQWRv
cHRXSywgV0tTdHJpbmdDcmVhdGVXaXRoVVRGOENTdHJpbmcoIlNldFN0YXRpc3RpY3NTdWJyZXNv
dXJjZVVuZGVyVG9wRnJhbWVPcmlnaW4iKSk7CisgICAgV0tSZXRhaW5QdHI8V0tEaWN0aW9uYXJ5
UmVmPiBtZXNzYWdlQm9keShBZG9wdFdLLCBXS0RpY3Rpb25hcnlDcmVhdGUocmF3S2V5cy5kYXRh
KCksIHJhd1ZhbHVlcy5kYXRhKCksIHJhd0tleXMuc2l6ZSgpKSk7CisgICAgV0tCdW5kbGVQb3N0
U3luY2hyb25vdXNNZXNzYWdlKEluamVjdGVkQnVuZGxlOjpzaW5nbGV0b24oKS5idW5kbGUoKSwg
bWVzc2FnZU5hbWUuZ2V0KCksIG1lc3NhZ2VCb2R5LmdldCgpLCBudWxscHRyKTsKK30KKwordm9p
ZCBUZXN0UnVubmVyOjpzZXRTdGF0aXN0aWNzU3VicmVzb3VyY2VVbmlxdWVSZWRpcmVjdFRvKEpT
U3RyaW5nUmVmIGhvc3ROYW1lLCBKU1N0cmluZ1JlZiBob3N0TmFtZVJlZGlyZWN0ZWRUbykKK3sK
KyAgICBWZWN0b3I8V0tSZXRhaW5QdHI8V0tTdHJpbmdSZWY+PiBrZXlzOworICAgIFZlY3RvcjxX
S1JldGFpblB0cjxXS1R5cGVSZWY+PiB2YWx1ZXM7CisgICAgCisgICAga2V5cy5hcHBlbmQoeyBB
ZG9wdFdLLCBXS1N0cmluZ0NyZWF0ZVdpdGhVVEY4Q1N0cmluZygiSG9zdE5hbWUiKSB9KTsKKyAg
ICB2YWx1ZXMuYXBwZW5kKHsgQWRvcHRXSywgV0tTdHJpbmdDcmVhdGVXaXRoSlNTdHJpbmcoaG9z
dE5hbWUpIH0pOworICAgIAorICAgIGtleXMuYXBwZW5kKHsgQWRvcHRXSywgV0tTdHJpbmdDcmVh
dGVXaXRoVVRGOENTdHJpbmcoIkhvc3ROYW1lUmVkaXJlY3RlZFRvIikgfSk7CisgICAgdmFsdWVz
LmFwcGVuZCh7IEFkb3B0V0ssIFdLU3RyaW5nQ3JlYXRlV2l0aEpTU3RyaW5nKGhvc3ROYW1lUmVk
aXJlY3RlZFRvKSB9KTsKKyAgICAKKyAgICBWZWN0b3I8V0tTdHJpbmdSZWY+IHJhd0tleXM7Cisg
ICAgVmVjdG9yPFdLVHlwZVJlZj4gcmF3VmFsdWVzOworICAgIHJhd0tleXMucmVzaXplKGtleXMu
c2l6ZSgpKTsKKyAgICByYXdWYWx1ZXMucmVzaXplKHZhbHVlcy5zaXplKCkpOworICAgIAorICAg
IGZvciAoc2l6ZV90IGkgPSAwOyBpIDwga2V5cy5zaXplKCk7ICsraSkgeworICAgICAgICByYXdL
ZXlzW2ldID0ga2V5c1tpXS5nZXQoKTsKKyAgICAgICAgcmF3VmFsdWVzW2ldID0gdmFsdWVzW2ld
LmdldCgpOworICAgIH0KKyAgICAKKyAgICBXS1JldGFpblB0cjxXS1N0cmluZ1JlZj4gbWVzc2Fn
ZU5hbWUoQWRvcHRXSywgV0tTdHJpbmdDcmVhdGVXaXRoVVRGOENTdHJpbmcoIlNldFN0YXRpc3Rp
Y3NTdWJyZXNvdXJjZVVuaXF1ZVJlZGlyZWN0VG8iKSk7CisgICAgV0tSZXRhaW5QdHI8V0tEaWN0
aW9uYXJ5UmVmPiBtZXNzYWdlQm9keShBZG9wdFdLLCBXS0RpY3Rpb25hcnlDcmVhdGUocmF3S2V5
cy5kYXRhKCksIHJhd1ZhbHVlcy5kYXRhKCksIHJhd0tleXMuc2l6ZSgpKSk7CisgICAgV0tCdW5k
bGVQb3N0U3luY2hyb25vdXNNZXNzYWdlKEluamVjdGVkQnVuZGxlOjpzaW5nbGV0b24oKS5idW5k
bGUoKSwgbWVzc2FnZU5hbWUuZ2V0KCksIG1lc3NhZ2VCb2R5LmdldCgpLCBudWxscHRyKTsKK30K
Kwogdm9pZCBUZXN0UnVubmVyOjpzZXRTdGF0aXN0aWNzVGltZVRvTGl2ZVVzZXJJbnRlcmFjdGlv
bihkb3VibGUgc2Vjb25kcykKIHsKICAgICBXS1JldGFpblB0cjxXS1N0cmluZ1JlZj4gbWVzc2Fn
ZU5hbWUoQWRvcHRXSywgV0tTdHJpbmdDcmVhdGVXaXRoVVRGOENTdHJpbmcoIlNldFN0YXRpc3Rp
Y3NUaW1lVG9MaXZlVXNlckludGVyYWN0aW9uIikpOwpJbmRleDogVG9vbHMvV2ViS2l0VGVzdFJ1
bm5lci9JbmplY3RlZEJ1bmRsZS9UZXN0UnVubmVyLmgKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvV2Vi
S2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9UZXN0UnVubmVyLmgJKHJldmlzaW9uIDIxMjU5
NykKKysrIFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvVGVzdFJ1bm5lci5o
CSh3b3JraW5nIGNvcHkpCkBAIC0zNTQsNiArMzU0LDkgQEAgcHVibGljOgogICAgIGJvb2wgaXNT
dGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2UoSlNTdHJpbmdSZWYgaG9zdE5hbWUpOwogICAgIHZv
aWQgc2V0U3RhdGlzdGljc0hhc0hhZFVzZXJJbnRlcmFjdGlvbihKU1N0cmluZ1JlZiBob3N0TmFt
ZSwgYm9vbCB2YWx1ZSk7CiAgICAgYm9vbCBpc1N0YXRpc3RpY3NIYXNIYWRVc2VySW50ZXJhY3Rp
b24oSlNTdHJpbmdSZWYgaG9zdE5hbWUpOworICAgIHZvaWQgc2V0U3RhdGlzdGljc1N1YmZyYW1l
VW5kZXJUb3BGcmFtZU9yaWdpbihKU1N0cmluZ1JlZiBob3N0TmFtZSwgSlNTdHJpbmdSZWYgdG9w
RnJhbWVIb3N0TmFtZSk7CisgICAgdm9pZCBzZXRTdGF0aXN0aWNzU3VicmVzb3VyY2VVbmRlclRv
cEZyYW1lT3JpZ2luKEpTU3RyaW5nUmVmIGhvc3ROYW1lLCBKU1N0cmluZ1JlZiB0b3BGcmFtZUhv
c3ROYW1lKTsKKyAgICB2b2lkIHNldFN0YXRpc3RpY3NTdWJyZXNvdXJjZVVuaXF1ZVJlZGlyZWN0
VG8oSlNTdHJpbmdSZWYgaG9zdE5hbWUsIEpTU3RyaW5nUmVmIGhvc3ROYW1lUmVkaXJlY3RlZFRv
KTsKICAgICB2b2lkIHNldFN0YXRpc3RpY3NUaW1lVG9MaXZlVXNlckludGVyYWN0aW9uKGRvdWJs
ZSBzZWNvbmRzKTsKICAgICB2b2lkIHNldFN0YXRpc3RpY3NOb3RpZnlQYWdlc1doZW5EYXRhUmVj
b3Jkc1dlcmVTY2FubmVkKGJvb2wpOwogICAgIHZvaWQgc2V0U3RhdGlzdGljc1Nob3VsZENsYXNz
aWZ5UmVzb3VyY2VzQmVmb3JlRGF0YVJlY29yZHNSZW1vdmFsKGJvb2wpOwpJbmRleDogVG9vbHMv
V2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9CaW5kaW5ncy9UZXN0UnVubmVyLmlkbAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBUb29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0JpbmRp
bmdzL1Rlc3RSdW5uZXIuaWRsCShyZXZpc2lvbiAyMTI1OTcpCisrKyBUb29scy9XZWJLaXRUZXN0
UnVubmVyL0luamVjdGVkQnVuZGxlL0JpbmRpbmdzL1Rlc3RSdW5uZXIuaWRsCSh3b3JraW5nIGNv
cHkpCkBAIC0yNTMsNiArMjUzLDkgQEAgaW50ZXJmYWNlIFRlc3RSdW5uZXIgewogICAgIGJvb2xl
YW4gaXNTdGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2UoRE9NU3RyaW5nIGhvc3ROYW1lKTsKICAg
ICB2b2lkIHNldFN0YXRpc3RpY3NIYXNIYWRVc2VySW50ZXJhY3Rpb24oRE9NU3RyaW5nIGhvc3RO
YW1lLCBib29sZWFuIHZhbHVlKTsKICAgICBib29sZWFuIGlzU3RhdGlzdGljc0hhc0hhZFVzZXJJ
bnRlcmFjdGlvbihET01TdHJpbmcgaG9zdE5hbWUpOworICAgIHZvaWQgc2V0U3RhdGlzdGljc1N1
YmZyYW1lVW5kZXJUb3BGcmFtZU9yaWdpbihET01TdHJpbmcgaG9zdE5hbWUsIERPTVN0cmluZyB0
b3BGcmFtZUhvc3ROYW1lKTsKKyAgICB2b2lkIHNldFN0YXRpc3RpY3NTdWJyZXNvdXJjZVVuZGVy
VG9wRnJhbWVPcmlnaW4oRE9NU3RyaW5nIGhvc3ROYW1lLCBET01TdHJpbmcgdG9wRnJhbWVIb3N0
TmFtZSk7CisgICAgdm9pZCBzZXRTdGF0aXN0aWNzU3VicmVzb3VyY2VVbmlxdWVSZWRpcmVjdFRv
KERPTVN0cmluZyBob3N0TmFtZSwgRE9NU3RyaW5nIGhvc3ROYW1lUmVkaXJlY3RlZFRvKTsKICAg
ICB2b2lkIHNldFN0YXRpc3RpY3NUaW1lVG9MaXZlVXNlckludGVyYWN0aW9uKGRvdWJsZSBzZWNv
bmRzKTsKICAgICB2b2lkIHN0YXRpc3RpY3NGaXJlRGF0YU1vZGlmaWNhdGlvbkhhbmRsZXIoKTsK
ICAgICB2b2lkIHNldFN0YXRpc3RpY3NOb3RpZnlQYWdlc1doZW5EYXRhUmVjb3Jkc1dlcmVTY2Fu
bmVkKGJvb2xlYW4gdmFsdWUpOwpJbmRleDogV2ViS2l0TGlicmFyaWVzL0NoYW5nZUxvZwo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBXZWJLaXRMaWJyYXJpZXMvQ2hhbmdlTG9nCShyZXZpc2lvbiAyMTI1OTcpCisr
KyBXZWJLaXRMaWJyYXJpZXMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTUg
QEAKKzIwMTctMDItMTcgIEpvaG4gV2lsYW5kZXIgIDx3aWxhbmRlckBhcHBsZS5jb20+CisKKyAg
ICAgICAgUmVzb3VyY2UgTG9hZCBTdGF0aXN0aWNzOiBBZGQgYWx0ZXJuYXRlIGNsYXNzaWZpY2F0
aW9uIG1ldGhvZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTY4MzQ3CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8zMDM1Mjc5Mz4KKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFdlYktpdFByaXZhdGVGcmFt
ZXdvcmtTdHVicy9pT1MvMTAvQ29yZVByZWRpY3Rpb24uZnJhbWV3b3JrOiBBZGRlZC4KKyAgICAg
ICAgKiBXZWJLaXRQcml2YXRlRnJhbWV3b3JrU3R1YnMvaU9TLzEwL0NvcmVQcmVkaWN0aW9uLmZy
YW1ld29yay9Db3JlUHJlZGljdGlvbi50ZGI6IEFkZGVkLgorICAgICAgICAgICAgU3R1YnMgZm9y
IHByaXZhdGUgZnJhbWV3b3JrLgorCiAyMDE3LTAxLTEyICBBbmRyZWFzIEtsaW5nICA8YWtsaW5n
QGFwcGxlLmNvbT4KIAogICAgICAgICBbaU9TXSBQdXJnZSBHcmFwaGljc1NlcnZpY2VzIGZvbnQg
Y2FjaGUgb24gbWVtb3J5IHdhcm5pbmcuCkluZGV4OiBXZWJLaXRMaWJyYXJpZXMvV2ViS2l0UHJp
dmF0ZUZyYW1ld29ya1N0dWJzL2lPUy8xMC9Db3JlUHJlZGljdGlvbi5mcmFtZXdvcmsvQ29yZVBy
ZWRpY3Rpb24udGRiCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdExpYnJhcmllcy9XZWJLaXRQcml2YXRl
RnJhbWV3b3JrU3R1YnMvaU9TLzEwL0NvcmVQcmVkaWN0aW9uLmZyYW1ld29yay9Db3JlUHJlZGlj
dGlvbi50ZGIJKG5vbmV4aXN0ZW50KQorKysgV2ViS2l0TGlicmFyaWVzL1dlYktpdFByaXZhdGVG
cmFtZXdvcmtTdHVicy9pT1MvMTAvQ29yZVByZWRpY3Rpb24uZnJhbWV3b3JrL0NvcmVQcmVkaWN0
aW9uLnRkYgkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDE5IEBACistLS0gIXRhcGktdGJkLXYy
CithcmNoczoKKyAgLSBhcm12NworICAtIGFybXY3cworICAtIGFybTY0CitleHBvcnRzOgorICAt
CisgICAgYXJjaHM6CisgICAgICAtIGFybXY3CisgICAgICAtIGFybXY3cworICAgICAgLSBhcm02
NAorICAgIHN5bWJvbHM6CisgICAgICAtIF9zdm1fbm9kZQorICAgICAgLSBfc3ZtX21vZGVsCisg
ICAgICAtIF9zdm1fcHJlZGljdF92YWx1ZXMKK2luc3RhbGwtbmFtZTogL1N5c3RlbS9MaWJyYXJ5
L1ByaXZhdGVGcmFtZXdvcmtzL0NvcmVQcmVkaWN0aW9uLmZyYW1ld29yaworb2JqYy1jb25zdHJh
aW50OiBub25lCitwbGF0Zm9ybTogaW9zCisuLi4KSW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxv
Zwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHJldmlzaW9uIDIxMjU5NykK
KysrIExheW91dFRlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDMzIEBA
CisyMDE3LTAyLTE3ICBKb2huIFdpbGFuZGVyICA8d2lsYW5kZXJAYXBwbGUuY29tPgorCisgICAg
ICAgIFJlc291cmNlIExvYWQgU3RhdGlzdGljczogQWRkIGFsdGVybmF0ZSBjbGFzc2lmaWNhdGlv
biBtZXRob2QKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTE2ODM0NworICAgICAgICA8cmRhcjovL3Byb2JsZW0vMzAzNTI3OTM+CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBodHRwL3Rlc3RzL2xvYWRpbmcv
cmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1ub24tcHJldmFsZW50LWJhc2VkLW9u
LW1peGVkLXN0YXRpc3RpY3MtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rl
c3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1ub24tcHJldmFs
ZW50LWJhc2VkLW9uLW1peGVkLXN0YXRpc3RpY3MuaHRtbDogQWRkZWQuCisgICAgICAgICogaHR0
cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtbm9uLXBy
ZXZhbGVudC1iYXNlZC1vbi1zdWItZnJhbWUtdW5kZXItdG9wLWZyYW1lLW9yaWdpbnMtZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2Fk
U3RhdGlzdGljcy9jbGFzc2lmeS1hcy1ub24tcHJldmFsZW50LWJhc2VkLW9uLXN1Yi1mcmFtZS11
bmRlci10b3AtZnJhbWUtb3JpZ2lucy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3Rz
L2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1ub24tcHJldmFsZW50
LWJhc2VkLW9uLXN1YnJlc291cmNlLXVuZGVyLXRvcC1mcmFtZS1vcmlnaW5zLWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0YXRp
c3RpY3MvY2xhc3NpZnktYXMtbm9uLXByZXZhbGVudC1iYXNlZC1vbi1zdWJyZXNvdXJjZS11bmRl
ci10b3AtZnJhbWUtb3JpZ2lucy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2xv
YWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1ub24tcHJldmFsZW50LWJh
c2VkLW9uLXN1YnJlc291cmNlLXVuaXF1ZS1yZWRpcmVjdHMtdG8tZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9j
bGFzc2lmeS1hcy1ub24tcHJldmFsZW50LWJhc2VkLW9uLXN1YnJlc291cmNlLXVuaXF1ZS1yZWRp
cmVjdHMtdG8uaHRtbDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291
cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtcHJldmFsZW50LWJhc2VkLW9uLW1peGVkLXN0
YXRpc3RpY3MtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2xvYWRp
bmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1wcmV2YWxlbnQtYmFzZWQtb24t
bWl4ZWQtc3RhdGlzdGljcy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2xvYWRp
bmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1wcmV2YWxlbnQtYmFzZWQtb24t
c3ViLWZyYW1lLXVuZGVyLXRvcC1mcmFtZS1vcmlnaW5zLWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogaHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3Np
ZnktYXMtcHJldmFsZW50LWJhc2VkLW9uLXN1Yi1mcmFtZS11bmRlci10b3AtZnJhbWUtb3JpZ2lu
cy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2Fk
U3RhdGlzdGljcy9jbGFzc2lmeS1hcy1wcmV2YWxlbnQtYmFzZWQtb24tc3VicmVzb3VyY2UtdW5k
ZXItdG9wLWZyYW1lLW9yaWdpbnMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRw
L3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1wcmV2YWxl
bnQtYmFzZWQtb24tc3VicmVzb3VyY2UtdW5kZXItdG9wLWZyYW1lLW9yaWdpbnMuaHRtbDogQWRk
ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mv
Y2xhc3NpZnktYXMtcHJldmFsZW50LWJhc2VkLW9uLXN1YnJlc291cmNlLXVuaXF1ZS1yZWRpcmVj
dHMtdG8tZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2xvYWRpbmcv
cmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1wcmV2YWxlbnQtYmFzZWQtb24tc3Vi
cmVzb3VyY2UtdW5pcXVlLXJlZGlyZWN0cy10by5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0
Zm9ybS9ndGsvVGVzdEV4cGVjdGF0aW9uczoKKyAgICAgICAgICAgIFRoZSB3aG9sZSBodHRwL3Rl
c3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcyBtYXJrZWQgYXMgY3Jhc2hpbmcgYmFz
ZWQgb24KKyAgICAgICAgICAgIENhcmxvcyBHYXJjaWEgQ2FtcG9zJ3MgYXNzZXNzbWVudCBpbiBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY4MTcxLgorICAgICAgICAq
IHBsYXRmb3JtL3drMi9UZXN0RXhwZWN0YXRpb25zOgorICAgICAgICAgICAgVGhlIGFib3ZlIHRl
c3RzIGFyZSBvbmx5IHZhbGlkIGZvciBXZWJLaXQyLiBNYXJrZWQgYXMgWyBQYXNzIF0uCisKIDIw
MTctMDItMTYgIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CiAKICAgICAg
ICAgQWxsb3cgUGxhdGZvcm1DQUxheWVycyB0byBzcGVjaWZ5IHRoYXQgdGhleSB3YW50IGRlZXAg
Y29sb3IgYmFja2luZyBzdG9yZQpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9sb2FkaW5n
L3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtbm9uLXByZXZhbGVudC1iYXNlZC1v
bi1taXhlZC1zdGF0aXN0aWNzLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1u
b24tcHJldmFsZW50LWJhc2VkLW9uLW1peGVkLXN0YXRpc3RpY3MtZXhwZWN0ZWQudHh0CShub25l
eGlzdGVudCkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRT
dGF0aXN0aWNzL2NsYXNzaWZ5LWFzLW5vbi1wcmV2YWxlbnQtYmFzZWQtb24tbWl4ZWQtc3RhdGlz
dGljcy1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw4IEBACittYWluIGZy
YW1lIC0gZGlkU3RhcnRQcm92aXNpb25hbExvYWRGb3JGcmFtZQorbWFpbiBmcmFtZSAtIGRpZENv
bW1pdExvYWRGb3JGcmFtZQorbWFpbiBmcmFtZSAtIGRpZFJlY2VpdmVUaXRsZTogVGVzdHMgZm9y
IENsYXNzaWZpY2F0aW9uIEJhc2VkIG9uIE1peGVkIFN0YXRpc3RpY3MKK21haW4gZnJhbWUgLSBk
aWRGaW5pc2hEb2N1bWVudExvYWRGb3JGcmFtZQorbWFpbiBmcmFtZSAtIGRpZEhhbmRsZU9ubG9h
ZEV2ZW50c0ZvckZyYW1lCittYWluIGZyYW1lIC0gZGlkRmluaXNoTG9hZEZvckZyYW1lCitQQVNT
IEhvc3QgZGlkIG5vdCBnZXQgY2xhc3NpZmllZCBhcyBwcmV2YWxlbnQgcmVzb3VyY2UuCisKSW5k
ZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNz
L2NsYXNzaWZ5LWFzLW5vbi1wcmV2YWxlbnQtYmFzZWQtb24tbWl4ZWQtc3RhdGlzdGljcy5odG1s
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxv
YWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLW5vbi1wcmV2YWxlbnQtYmFzZWQtb24tbWl4ZWQtc3Rh
dGlzdGljcy5odG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvbG9h
ZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLW5vbi1wcmV2YWxlbnQtYmFz
ZWQtb24tbWl4ZWQtc3RhdGlzdGljcy5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNDIg
QEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWwgbGFuZz0iZW4iPgorPGhlYWQ+CisgICAgPG1ldGEg
Y2hhcnNldD0iVVRGLTgiPgorICAgIDx0aXRsZT5UZXN0cyBmb3IgQ2xhc3NpZmljYXRpb24gQmFz
ZWQgb24gTWl4ZWQgU3RhdGlzdGljczwvdGl0bGU+CisgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3Jp
cHQ+CisgICAgY29uc3QgaG9zdFVuZGVyVGVzdCA9ICIxMjcuMC4wLjE6ODAwMCI7CisgICAgY29u
c3Qgc3RhdGlzdGljc1VybCA9ICJodHRwOi8vIiArIGhvc3RVbmRlclRlc3QgKyAiL3RlbXAiOwor
ICAgIGNvbnN0IHRvcEZyYW1lT3JpZ2luMSA9ICJodHRwOi8vMTI3LjAuMC4yOjgwMDAvdGVtcCI7
CisgICAgY29uc3QgdG9wRnJhbWVPcmlnaW4yID0gImh0dHA6Ly8xMjcuMC4wLjM6ODAwMC90ZW1w
IjsKKyAgICBjb25zdCB0b3BGcmFtZU9yaWdpbjMgPSAiaHR0cDovLzEyNy4wLjAuNDo4MDAwL3Rl
bXAiOworICAgIGZ1bmN0aW9uIHJ1blRlc3RSdW5uZXJUZXN0KCkgeworICAgICAgICB0ZXN0UnVu
bmVyLnNldFN0YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJjZShzdGF0aXN0aWNzVXJsLCBmYWxzZSk7
CisgICAgICAgIGlmICh0ZXN0UnVubmVyLmlzU3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNlKHN0
YXRpc3RpY3NVcmwpKQorICAgICAgICAgICAgdGVzdEZhaWxlZCgiSG9zdCBkaWQgbm90IGdldCBz
ZXQgYXMgbm9uLXByZXZhbGVudCByZXNvdXJjZS4iKTsKKworICAgICAgICB0ZXN0UnVubmVyLnNl
dFN0YXRpc3RpY3NTdWJmcmFtZVVuZGVyVG9wRnJhbWVPcmlnaW4oc3RhdGlzdGljc1VybCwgdG9w
RnJhbWVPcmlnaW4xKTsKKyAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzU3VicmVzb3Vy
Y2VVbmRlclRvcEZyYW1lT3JpZ2luKHN0YXRpc3RpY3NVcmwsIHRvcEZyYW1lT3JpZ2luMik7Cisg
ICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1N1YnJlc291cmNlVW5pcXVlUmVkaXJlY3RU
byhzdGF0aXN0aWNzVXJsLCB0b3BGcmFtZU9yaWdpbjMpOworCisgICAgICAgIHRlc3RSdW5uZXIu
c3RhdGlzdGljc0ZpcmVEYXRhTW9kaWZpY2F0aW9uSGFuZGxlcigpOworCisgICAgICAgIGlmICh0
ZXN0UnVubmVyLmlzU3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNlKHN0YXRpc3RpY3NVcmwpKQor
ICAgICAgICAgICAgdGVzdEZhaWxlZCgiSG9zdCBjbGFzc2lmaWVkIGFzIHByZXZhbGVudCByZXNv
dXJjZS4iKTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgdGVzdFBhc3NlZCgiSG9zdCBkaWQg
bm90IGdldCBjbGFzc2lmaWVkIGFzIHByZXZhbGVudCByZXNvdXJjZS4iKTsKKworICAgICAgICB0
ZXN0UnVubmVyLnN0YXRpc3RpY3NSZXNldFRvQ29uc2lzdGVudFN0YXRlKCk7CisgICAgICAgIHRl
c3RSdW5uZXIubm90aWZ5RG9uZSgpOworICAgIH0KKworICAgIGlmIChkb2N1bWVudC5sb2NhdGlv
bi5ob3N0ID09PSBob3N0VW5kZXJUZXN0ICYmIHdpbmRvdy50ZXN0UnVubmVyICYmIHdpbmRvdy5p
bnRlcm5hbHMpIHsKKyAgICAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7CisgICAgICAg
IGludGVybmFscy5zZXRSZXNvdXJjZUxvYWRTdGF0aXN0aWNzRW5hYmxlZCh0cnVlKTsKKyAgICAg
ICAgcnVuVGVzdFJ1bm5lclRlc3QoKTsKKyAgICB9Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1ub24tcHJldmFs
ZW50LWJhc2VkLW9uLXN1Yi1mcmFtZS11bmRlci10b3AtZnJhbWUtb3JpZ2lucy1leHBlY3RlZC50
eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNl
TG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtbm9uLXByZXZhbGVudC1iYXNlZC1vbi1zdWItZnJh
bWUtdW5kZXItdG9wLWZyYW1lLW9yaWdpbnMtZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKKysr
IExheW91dFRlc3RzL2h0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2Ns
YXNzaWZ5LWFzLW5vbi1wcmV2YWxlbnQtYmFzZWQtb24tc3ViLWZyYW1lLXVuZGVyLXRvcC1mcmFt
ZS1vcmlnaW5zLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDggQEAKK21h
aW4gZnJhbWUgLSBkaWRTdGFydFByb3Zpc2lvbmFsTG9hZEZvckZyYW1lCittYWluIGZyYW1lIC0g
ZGlkQ29tbWl0TG9hZEZvckZyYW1lCittYWluIGZyYW1lIC0gZGlkUmVjZWl2ZVRpdGxlOiBUZXN0
cyBmb3IgQ2xhc3NpZmljYXRpb24gQmFzZWQgb24gU3ViIEZyYW1lIFVuZGVyIFRvcCBGcmFtZSBP
cmlnaW5zCittYWluIGZyYW1lIC0gZGlkRmluaXNoRG9jdW1lbnRMb2FkRm9yRnJhbWUKK21haW4g
ZnJhbWUgLSBkaWRIYW5kbGVPbmxvYWRFdmVudHNGb3JGcmFtZQorbWFpbiBmcmFtZSAtIGRpZEZp
bmlzaExvYWRGb3JGcmFtZQorUEFTUyBIb3N0IGRpZCBub3QgZ2V0IGNsYXNzaWZpZWQgYXMgcHJl
dmFsZW50IHJlc291cmNlLgorCkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2xvYWRpbmcv
cmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1ub24tcHJldmFsZW50LWJhc2VkLW9u
LXN1Yi1mcmFtZS11bmRlci10b3AtZnJhbWUtb3JpZ2lucy5odG1sCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL2h0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNz
aWZ5LWFzLW5vbi1wcmV2YWxlbnQtYmFzZWQtb24tc3ViLWZyYW1lLXVuZGVyLXRvcC1mcmFtZS1v
cmlnaW5zLmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9sb2Fk
aW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtbm9uLXByZXZhbGVudC1iYXNl
ZC1vbi1zdWItZnJhbWUtdW5kZXItdG9wLWZyYW1lLW9yaWdpbnMuaHRtbAkod29ya2luZyBjb3B5
KQpAQCAtMCwwICsxLDQyIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sIGxhbmc9ImVuIj4KKzxo
ZWFkPgorICAgIDxtZXRhIGNoYXJzZXQ9IlVURi04Ij4KKyAgICA8dGl0bGU+VGVzdHMgZm9yIENs
YXNzaWZpY2F0aW9uIEJhc2VkIG9uIFN1YiBGcmFtZSBVbmRlciBUb3AgRnJhbWUgT3JpZ2luczwv
dGl0bGU+CisgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+
PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQ+CisgICAgY29uc3QgaG9zdFVuZGVy
VGVzdCA9ICIxMjcuMC4wLjE6ODAwMCI7CisgICAgY29uc3Qgc3RhdGlzdGljc1VybCA9ICJodHRw
Oi8vIiArIGhvc3RVbmRlclRlc3QgKyAiL3RlbXAiOworICAgIGNvbnN0IHRvcEZyYW1lT3JpZ2lu
MSA9ICJodHRwOi8vMTI3LjAuMC4yOjgwMDAvdGVtcCI7CisgICAgY29uc3QgdG9wRnJhbWVPcmln
aW4yID0gImh0dHA6Ly8xMjcuMC4wLjM6ODAwMC90ZW1wIjsKKyAgICBjb25zdCB0b3BGcmFtZU9y
aWdpbjMgPSAiaHR0cDovLzEyNy4wLjAuNDo4MDAwL3RlbXAiOworICAgIGZ1bmN0aW9uIHJ1blRl
c3RSdW5uZXJUZXN0KCkgeworICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NQcmV2YWxl
bnRSZXNvdXJjZShzdGF0aXN0aWNzVXJsLCBmYWxzZSk7CisgICAgICAgIGlmICh0ZXN0UnVubmVy
LmlzU3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNlKHN0YXRpc3RpY3NVcmwpKQorICAgICAgICAg
ICAgdGVzdEZhaWxlZCgiSG9zdCBkaWQgbm90IGdldCBzZXQgYXMgbm9uLXByZXZhbGVudCByZXNv
dXJjZS4iKTsKKworICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NTdWJmcmFtZVVuZGVy
VG9wRnJhbWVPcmlnaW4oc3RhdGlzdGljc1VybCwgdG9wRnJhbWVPcmlnaW4xKTsKKyAgICAgICAg
dGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzU3ViZnJhbWVVbmRlclRvcEZyYW1lT3JpZ2luKHN0YXRp
c3RpY3NVcmwsIHRvcEZyYW1lT3JpZ2luMik7CisgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlz
dGljc1N1YmZyYW1lVW5kZXJUb3BGcmFtZU9yaWdpbihzdGF0aXN0aWNzVXJsLCB0b3BGcmFtZU9y
aWdpbjMpOworCisgICAgICAgIHRlc3RSdW5uZXIuc3RhdGlzdGljc0ZpcmVEYXRhTW9kaWZpY2F0
aW9uSGFuZGxlcigpOworCisgICAgICAgIGlmICh0ZXN0UnVubmVyLmlzU3RhdGlzdGljc1ByZXZh
bGVudFJlc291cmNlKHN0YXRpc3RpY3NVcmwpKQorICAgICAgICAgICAgdGVzdEZhaWxlZCgiSG9z
dCBjbGFzc2lmaWVkIGFzIHByZXZhbGVudCByZXNvdXJjZS4iKTsKKyAgICAgICAgZWxzZQorICAg
ICAgICAgICAgdGVzdFBhc3NlZCgiSG9zdCBkaWQgbm90IGdldCBjbGFzc2lmaWVkIGFzIHByZXZh
bGVudCByZXNvdXJjZS4iKTsKKworICAgICAgICB0ZXN0UnVubmVyLnN0YXRpc3RpY3NSZXNldFRv
Q29uc2lzdGVudFN0YXRlKCk7CisgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOworICAg
IH0KKworICAgIGlmIChkb2N1bWVudC5sb2NhdGlvbi5ob3N0ID09PSBob3N0VW5kZXJUZXN0ICYm
IHdpbmRvdy50ZXN0UnVubmVyICYmIHdpbmRvdy5pbnRlcm5hbHMpIHsKKyAgICAgICAgdGVzdFJ1
bm5lci53YWl0VW50aWxEb25lKCk7CisgICAgICAgIGludGVybmFscy5zZXRSZXNvdXJjZUxvYWRT
dGF0aXN0aWNzRW5hYmxlZCh0cnVlKTsKKyAgICAgICAgcnVuVGVzdFJ1bm5lclRlc3QoKTsKKyAg
ICB9Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3Rh
dGlzdGljcy9jbGFzc2lmeS1hcy1ub24tcHJldmFsZW50LWJhc2VkLW9uLXN1YnJlc291cmNlLXVu
ZGVyLXRvcC1mcmFtZS1vcmlnaW5zLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1h
cy1ub24tcHJldmFsZW50LWJhc2VkLW9uLXN1YnJlc291cmNlLXVuZGVyLXRvcC1mcmFtZS1vcmln
aW5zLWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1ub24tcHJldmFsZW50
LWJhc2VkLW9uLXN1YnJlc291cmNlLXVuZGVyLXRvcC1mcmFtZS1vcmlnaW5zLWV4cGVjdGVkLnR4
dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDggQEAKK21haW4gZnJhbWUgLSBkaWRTdGFydFBy
b3Zpc2lvbmFsTG9hZEZvckZyYW1lCittYWluIGZyYW1lIC0gZGlkQ29tbWl0TG9hZEZvckZyYW1l
CittYWluIGZyYW1lIC0gZGlkUmVjZWl2ZVRpdGxlOiBUZXN0cyBmb3IgQ2xhc3NpZmljYXRpb24g
QmFzZWQgb24gU3VicmVzb3VyY2UgVW5kZXIgVG9wIEZyYW1lIE9yaWdpbnMKK21haW4gZnJhbWUg
LSBkaWRGaW5pc2hEb2N1bWVudExvYWRGb3JGcmFtZQorbWFpbiBmcmFtZSAtIGRpZEhhbmRsZU9u
bG9hZEV2ZW50c0ZvckZyYW1lCittYWluIGZyYW1lIC0gZGlkRmluaXNoTG9hZEZvckZyYW1lCitQ
QVNTIEhvc3QgZGlkIG5vdCBnZXQgY2xhc3NpZmllZCBhcyBwcmV2YWxlbnQgcmVzb3VyY2UuCisK
SW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0
aWNzL2NsYXNzaWZ5LWFzLW5vbi1wcmV2YWxlbnQtYmFzZWQtb24tc3VicmVzb3VyY2UtdW5kZXIt
dG9wLWZyYW1lLW9yaWdpbnMuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1ub24tcHJldmFs
ZW50LWJhc2VkLW9uLXN1YnJlc291cmNlLXVuZGVyLXRvcC1mcmFtZS1vcmlnaW5zLmh0bWwJKG5v
bmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9h
ZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtbm9uLXByZXZhbGVudC1iYXNlZC1vbi1zdWJyZXNvdXJj
ZS11bmRlci10b3AtZnJhbWUtb3JpZ2lucy5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEs
NDAgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWwgbGFuZz0iZW4iPgorPGhlYWQ+CisgICAgPG1l
dGEgY2hhcnNldD0iVVRGLTgiPgorICAgIDx0aXRsZT5UZXN0cyBmb3IgQ2xhc3NpZmljYXRpb24g
QmFzZWQgb24gU3VicmVzb3VyY2UgVW5kZXIgVG9wIEZyYW1lIE9yaWdpbnM8L3RpdGxlPgorICAg
IDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0PgorICAgIGNvbnN0IGhvc3RVbmRlclRlc3QgPSAiMTI3
LjAuMC4xOjgwMDAiOworICAgIGNvbnN0IHN0YXRpc3RpY3NVcmwgPSAiaHR0cDovLyIgKyBob3N0
VW5kZXJUZXN0ICsgIi90ZW1wIjsKKyAgICBjb25zdCB0b3BGcmFtZU9yaWdpbjEgPSAiaHR0cDov
LzEyNy4wLjAuMjo4MDAwL3RlbXAiOworICAgIGNvbnN0IHRvcEZyYW1lT3JpZ2luMiA9ICJodHRw
Oi8vMTI3LjAuMC4zOjgwMDAvdGVtcCI7CisgICAgZnVuY3Rpb24gcnVuVGVzdFJ1bm5lclRlc3Qo
KSB7CisgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNlKHN0
YXRpc3RpY3NVcmwsIGZhbHNlKTsKKyAgICAgICAgaWYgKHRlc3RSdW5uZXIuaXNTdGF0aXN0aWNz
UHJldmFsZW50UmVzb3VyY2Uoc3RhdGlzdGljc1VybCkpCisgICAgICAgICAgICB0ZXN0RmFpbGVk
KCJIb3N0IGRpZCBub3QgZ2V0IHNldCBhcyBub24tcHJldmFsZW50IHJlc291cmNlLiIpOworCisg
ICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1N1YnJlc291cmNlVW5kZXJUb3BGcmFtZU9y
aWdpbihzdGF0aXN0aWNzVXJsLCB0b3BGcmFtZU9yaWdpbjEpOworICAgICAgICB0ZXN0UnVubmVy
LnNldFN0YXRpc3RpY3NTdWJyZXNvdXJjZVVuZGVyVG9wRnJhbWVPcmlnaW4oc3RhdGlzdGljc1Vy
bCwgdG9wRnJhbWVPcmlnaW4yKTsKKworICAgICAgICB0ZXN0UnVubmVyLnN0YXRpc3RpY3NGaXJl
RGF0YU1vZGlmaWNhdGlvbkhhbmRsZXIoKTsKKworICAgICAgICBpZiAodGVzdFJ1bm5lci5pc1N0
YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJjZShzdGF0aXN0aWNzVXJsKSkKKyAgICAgICAgICAgIHRl
c3RGYWlsZWQoIkhvc3QgY2xhc3NpZmllZCBhcyBwcmV2YWxlbnQgcmVzb3VyY2UuIik7CisgICAg
ICAgIGVsc2UKKyAgICAgICAgICAgIHRlc3RQYXNzZWQoIkhvc3QgZGlkIG5vdCBnZXQgY2xhc3Np
ZmllZCBhcyBwcmV2YWxlbnQgcmVzb3VyY2UuIik7CisKKyAgICAgICAgdGVzdFJ1bm5lci5zdGF0
aXN0aWNzUmVzZXRUb0NvbnNpc3RlbnRTdGF0ZSgpOworICAgICAgICB0ZXN0UnVubmVyLm5vdGlm
eURvbmUoKTsKKyAgICB9CisKKyAgICBpZiAoZG9jdW1lbnQubG9jYXRpb24uaG9zdCA9PT0gaG9z
dFVuZGVyVGVzdCAmJiB3aW5kb3cudGVzdFJ1bm5lciAmJiB3aW5kb3cuaW50ZXJuYWxzKSB7Cisg
ICAgICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOworICAgICAgICBpbnRlcm5hbHMuc2V0
UmVzb3VyY2VMb2FkU3RhdGlzdGljc0VuYWJsZWQodHJ1ZSk7CisgICAgICAgIHJ1blRlc3RSdW5u
ZXJUZXN0KCk7CisgICAgfQorPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgZmlsZQpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9sb2FkaW5nL3Jl
c291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtbm9uLXByZXZhbGVudC1iYXNlZC1vbi1z
dWJyZXNvdXJjZS11bmlxdWUtcmVkaXJlY3RzLXRvLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9j
bGFzc2lmeS1hcy1ub24tcHJldmFsZW50LWJhc2VkLW9uLXN1YnJlc291cmNlLXVuaXF1ZS1yZWRp
cmVjdHMtdG8tZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2h0dHAv
dGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLW5vbi1wcmV2
YWxlbnQtYmFzZWQtb24tc3VicmVzb3VyY2UtdW5pcXVlLXJlZGlyZWN0cy10by1leHBlY3RlZC50
eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw4IEBACittYWluIGZyYW1lIC0gZGlkU3RhcnRQ
cm92aXNpb25hbExvYWRGb3JGcmFtZQorbWFpbiBmcmFtZSAtIGRpZENvbW1pdExvYWRGb3JGcmFt
ZQorbWFpbiBmcmFtZSAtIGRpZFJlY2VpdmVUaXRsZTogVGVzdHMgZm9yIENsYXNzaWZpY2F0aW9u
IEJhc2VkIG9uIFN1YnJlc291cmNlIFVuaXF1ZSBSZWRpcmVjdHMgVG8KK21haW4gZnJhbWUgLSBk
aWRGaW5pc2hEb2N1bWVudExvYWRGb3JGcmFtZQorbWFpbiBmcmFtZSAtIGRpZEhhbmRsZU9ubG9h
ZEV2ZW50c0ZvckZyYW1lCittYWluIGZyYW1lIC0gZGlkRmluaXNoTG9hZEZvckZyYW1lCitQQVNT
IEhvc3QgZGlkIG5vdCBnZXQgY2xhc3NpZmllZCBhcyBwcmV2YWxlbnQgcmVzb3VyY2UuCisKSW5k
ZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNz
L2NsYXNzaWZ5LWFzLW5vbi1wcmV2YWxlbnQtYmFzZWQtb24tc3VicmVzb3VyY2UtdW5pcXVlLXJl
ZGlyZWN0cy10by5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvbG9h
ZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLW5vbi1wcmV2YWxlbnQtYmFz
ZWQtb24tc3VicmVzb3VyY2UtdW5pcXVlLXJlZGlyZWN0cy10by5odG1sCShub25leGlzdGVudCkK
KysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNz
L2NsYXNzaWZ5LWFzLW5vbi1wcmV2YWxlbnQtYmFzZWQtb24tc3VicmVzb3VyY2UtdW5pcXVlLXJl
ZGlyZWN0cy10by5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNDAgQEAKKzwhRE9DVFlQ
RSBodG1sPgorPGh0bWwgbGFuZz0iZW4iPgorPGhlYWQ+CisgICAgPG1ldGEgY2hhcnNldD0iVVRG
LTgiPgorICAgIDx0aXRsZT5UZXN0cyBmb3IgQ2xhc3NpZmljYXRpb24gQmFzZWQgb24gU3VicmVz
b3VyY2UgVW5pcXVlIFJlZGlyZWN0cyBUbzwvdGl0bGU+CisgICAgPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxz
Y3JpcHQ+CisgICAgY29uc3QgaG9zdFVuZGVyVGVzdCA9ICIxMjcuMC4wLjE6ODAwMCI7CisgICAg
Y29uc3Qgc3RhdGlzdGljc1VybCA9ICJodHRwOi8vIiArIGhvc3RVbmRlclRlc3QgKyAiL3RlbXAi
OworICAgIGNvbnN0IHRvcEZyYW1lT3JpZ2luMSA9ICJodHRwOi8vMTI3LjAuMC4yOjgwMDAvdGVt
cCI7CisgICAgY29uc3QgdG9wRnJhbWVPcmlnaW4yID0gImh0dHA6Ly8xMjcuMC4wLjM6ODAwMC90
ZW1wIjsKKyAgICBmdW5jdGlvbiBydW5UZXN0UnVubmVyVGVzdCgpIHsKKyAgICAgICAgdGVzdFJ1
bm5lci5zZXRTdGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2Uoc3RhdGlzdGljc1VybCwgZmFsc2Up
OworICAgICAgICBpZiAodGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJjZShz
dGF0aXN0aWNzVXJsKSkKKyAgICAgICAgICAgIHRlc3RGYWlsZWQoIkhvc3QgZGlkIG5vdCBnZXQg
c2V0IGFzIG5vbi1wcmV2YWxlbnQgcmVzb3VyY2UuIik7CisKKyAgICAgICAgdGVzdFJ1bm5lci5z
ZXRTdGF0aXN0aWNzU3VicmVzb3VyY2VVbmlxdWVSZWRpcmVjdFRvKHN0YXRpc3RpY3NVcmwsIHRv
cEZyYW1lT3JpZ2luMSk7CisgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1N1YnJlc291
cmNlVW5pcXVlUmVkaXJlY3RUbyhzdGF0aXN0aWNzVXJsLCB0b3BGcmFtZU9yaWdpbjIpOworCisg
ICAgICAgIHRlc3RSdW5uZXIuc3RhdGlzdGljc0ZpcmVEYXRhTW9kaWZpY2F0aW9uSGFuZGxlcigp
OworCisgICAgICAgIGlmICh0ZXN0UnVubmVyLmlzU3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNl
KHN0YXRpc3RpY3NVcmwpKQorICAgICAgICAgICAgdGVzdEZhaWxlZCgiSG9zdCBjbGFzc2lmaWVk
IGFzIHByZXZhbGVudCByZXNvdXJjZS4iKTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgdGVz
dFBhc3NlZCgiSG9zdCBkaWQgbm90IGdldCBjbGFzc2lmaWVkIGFzIHByZXZhbGVudCByZXNvdXJj
ZS4iKTsKKworICAgICAgICB0ZXN0UnVubmVyLnN0YXRpc3RpY3NSZXNldFRvQ29uc2lzdGVudFN0
YXRlKCk7CisgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOworICAgIH0KKworICAgIGlm
IChkb2N1bWVudC5sb2NhdGlvbi5ob3N0ID09PSBob3N0VW5kZXJUZXN0ICYmIHdpbmRvdy50ZXN0
UnVubmVyICYmIHdpbmRvdy5pbnRlcm5hbHMpIHsKKyAgICAgICAgdGVzdFJ1bm5lci53YWl0VW50
aWxEb25lKCk7CisgICAgICAgIGludGVybmFscy5zZXRSZXNvdXJjZUxvYWRTdGF0aXN0aWNzRW5h
YmxlZCh0cnVlKTsKKyAgICAgICAgcnVuVGVzdFJ1bm5lclRlc3QoKTsKKyAgICB9Cis8L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCkluZGV4OiBM
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFz
c2lmeS1hcy1wcmV2YWxlbnQtYmFzZWQtb24tbWl4ZWQtc3RhdGlzdGljcy1leHBlY3RlZC50eHQK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9h
ZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtcHJldmFsZW50LWJhc2VkLW9uLW1peGVkLXN0YXRpc3Rp
Y3MtZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMv
bG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLXByZXZhbGVudC1iYXNl
ZC1vbi1taXhlZC1zdGF0aXN0aWNzLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCww
ICsxLDggQEAKK21haW4gZnJhbWUgLSBkaWRTdGFydFByb3Zpc2lvbmFsTG9hZEZvckZyYW1lCitt
YWluIGZyYW1lIC0gZGlkQ29tbWl0TG9hZEZvckZyYW1lCittYWluIGZyYW1lIC0gZGlkUmVjZWl2
ZVRpdGxlOiBUZXN0cyBmb3IgQ2xhc3NpZmljYXRpb24gQmFzZWQgb24gTWl4ZWQgU3RhdGlzdGlj
cworbWFpbiBmcmFtZSAtIGRpZEZpbmlzaERvY3VtZW50TG9hZEZvckZyYW1lCittYWluIGZyYW1l
IC0gZGlkSGFuZGxlT25sb2FkRXZlbnRzRm9yRnJhbWUKK21haW4gZnJhbWUgLSBkaWRGaW5pc2hM
b2FkRm9yRnJhbWUKK1BBU1MgSG9zdCBjbGFzc2lmaWVkIGFzIHByZXZhbGVudCByZXNvdXJjZS4K
KwpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0YXRp
c3RpY3MvY2xhc3NpZnktYXMtcHJldmFsZW50LWJhc2VkLW9uLW1peGVkLXN0YXRpc3RpY3MuaHRt
bAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VM
b2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1wcmV2YWxlbnQtYmFzZWQtb24tbWl4ZWQtc3RhdGlz
dGljcy5odG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvbG9hZGlu
Zy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLXByZXZhbGVudC1iYXNlZC1vbi1t
aXhlZC1zdGF0aXN0aWNzLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw0OSBAQAorPCFE
T0NUWVBFIGh0bWw+Cis8aHRtbCBsYW5nPSJlbiI+Cis8aGVhZD4KKyAgICA8bWV0YSBjaGFyc2V0
PSJVVEYtOCI+CisgICAgPHRpdGxlPlRlc3RzIGZvciBDbGFzc2lmaWNhdGlvbiBCYXNlZCBvbiBN
aXhlZCBTdGF0aXN0aWNzPC90aXRsZT4KKyAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdD4KKyAg
ICBjb25zdCBob3N0VW5kZXJUZXN0ID0gIjEyNy4wLjAuMTo4MDAwIjsKKyAgICBjb25zdCBzdGF0
aXN0aWNzVXJsID0gImh0dHA6Ly8iICsgaG9zdFVuZGVyVGVzdCArICIvdGVtcCI7CisgICAgY29u
c3QgdG9wRnJhbWVPcmlnaW4xID0gImh0dHA6Ly8xMjcuMC4wLjI6ODAwMC90ZW1wIjsKKyAgICBj
b25zdCB0b3BGcmFtZU9yaWdpbjIgPSAiaHR0cDovLzEyNy4wLjAuMzo4MDAwL3RlbXAiOworICAg
IGNvbnN0IHRvcEZyYW1lT3JpZ2luMyA9ICJodHRwOi8vMTI3LjAuMC40OjgwMDAvdGVtcCI7Cisg
ICAgY29uc3QgdG9wRnJhbWVPcmlnaW40ID0gImh0dHA6Ly8xMjcuMC4wLjU6ODAwMC90ZW1wIjsK
KyAgICBmdW5jdGlvbiBydW5UZXN0UnVubmVyVGVzdCgpIHsKKyAgICAgICAgdGVzdFJ1bm5lci5z
ZXRTdGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2Uoc3RhdGlzdGljc1VybCwgZmFsc2UpOworICAg
ICAgICBpZiAodGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJjZShzdGF0aXN0
aWNzVXJsKSkKKyAgICAgICAgICAgIHRlc3RGYWlsZWQoIkhvc3QgZGlkIG5vdCBnZXQgc2V0IGFz
IG5vbi1wcmV2YWxlbnQgcmVzb3VyY2UuIik7CisKKyAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0
aXN0aWNzU3ViZnJhbWVVbmRlclRvcEZyYW1lT3JpZ2luKHN0YXRpc3RpY3NVcmwsIHRvcEZyYW1l
T3JpZ2luMSk7CisgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1N1YmZyYW1lVW5kZXJU
b3BGcmFtZU9yaWdpbihzdGF0aXN0aWNzVXJsLCB0b3BGcmFtZU9yaWdpbjQpOworCisgICAgICAg
IHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1N1YnJlc291cmNlVW5kZXJUb3BGcmFtZU9yaWdpbihz
dGF0aXN0aWNzVXJsLCB0b3BGcmFtZU9yaWdpbjIpOworICAgICAgICB0ZXN0UnVubmVyLnNldFN0
YXRpc3RpY3NTdWJyZXNvdXJjZVVuZGVyVG9wRnJhbWVPcmlnaW4oc3RhdGlzdGljc1VybCwgdG9w
RnJhbWVPcmlnaW4zKTsKKyAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzU3VicmVzb3Vy
Y2VVbmRlclRvcEZyYW1lT3JpZ2luKHN0YXRpc3RpY3NVcmwsIHRvcEZyYW1lT3JpZ2luNCk7CisK
KyAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzU3VicmVzb3VyY2VVbmlxdWVSZWRpcmVj
dFRvKHN0YXRpc3RpY3NVcmwsIHRvcEZyYW1lT3JpZ2luMyk7CisgICAgICAgIHRlc3RSdW5uZXIu
c2V0U3RhdGlzdGljc1N1YnJlc291cmNlVW5pcXVlUmVkaXJlY3RUbyhzdGF0aXN0aWNzVXJsLCB0
b3BGcmFtZU9yaWdpbjEpOworCisgICAgICAgIHRlc3RSdW5uZXIuc3RhdGlzdGljc0ZpcmVEYXRh
TW9kaWZpY2F0aW9uSGFuZGxlcigpOworCisgICAgICAgIGlmICghdGVzdFJ1bm5lci5pc1N0YXRp
c3RpY3NQcmV2YWxlbnRSZXNvdXJjZShzdGF0aXN0aWNzVXJsKSkKKyAgICAgICAgICAgIHRlc3RG
YWlsZWQoIkhvc3QgZGlkIG5vdCBnZXQgY2xhc3NpZmllZCBhcyBwcmV2YWxlbnQgcmVzb3VyY2Uu
Iik7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIHRlc3RQYXNzZWQoIkhvc3QgY2xhc3NpZmll
ZCBhcyBwcmV2YWxlbnQgcmVzb3VyY2UuIik7CisKKyAgICAgICAgdGVzdFJ1bm5lci5zdGF0aXN0
aWNzUmVzZXRUb0NvbnNpc3RlbnRTdGF0ZSgpOworICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURv
bmUoKTsKKyAgICB9CisKKyAgICBpZiAoZG9jdW1lbnQubG9jYXRpb24uaG9zdCA9PT0gaG9zdFVu
ZGVyVGVzdCAmJiB3aW5kb3cudGVzdFJ1bm5lciAmJiB3aW5kb3cuaW50ZXJuYWxzKSB7CisgICAg
ICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOworICAgICAgICBpbnRlcm5hbHMuc2V0UmVz
b3VyY2VMb2FkU3RhdGlzdGljc0VuYWJsZWQodHJ1ZSk7CisgICAgICAgIHJ1blRlc3RSdW5uZXJU
ZXN0KCk7CisgICAgfQorPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291
cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtcHJldmFsZW50LWJhc2VkLW9uLXN1Yi1mcmFt
ZS11bmRlci10b3AtZnJhbWUtb3JpZ2lucy1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3Np
ZnktYXMtcHJldmFsZW50LWJhc2VkLW9uLXN1Yi1mcmFtZS11bmRlci10b3AtZnJhbWUtb3JpZ2lu
cy1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9s
b2FkaW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtcHJldmFsZW50LWJhc2Vk
LW9uLXN1Yi1mcmFtZS11bmRlci10b3AtZnJhbWUtb3JpZ2lucy1leHBlY3RlZC50eHQJKHdvcmtp
bmcgY29weSkKQEAgLTAsMCArMSw4IEBACittYWluIGZyYW1lIC0gZGlkU3RhcnRQcm92aXNpb25h
bExvYWRGb3JGcmFtZQorbWFpbiBmcmFtZSAtIGRpZENvbW1pdExvYWRGb3JGcmFtZQorbWFpbiBm
cmFtZSAtIGRpZFJlY2VpdmVUaXRsZTogVGVzdHMgZm9yIENsYXNzaWZpY2F0aW9uIEJhc2VkIG9u
IFN1YiBGcmFtZSBVbmRlciBUb3AgRnJhbWUgT3JpZ2lucworbWFpbiBmcmFtZSAtIGRpZEZpbmlz
aERvY3VtZW50TG9hZEZvckZyYW1lCittYWluIGZyYW1lIC0gZGlkSGFuZGxlT25sb2FkRXZlbnRz
Rm9yRnJhbWUKK21haW4gZnJhbWUgLSBkaWRGaW5pc2hMb2FkRm9yRnJhbWUKK1BBU1MgSG9zdCBj
bGFzc2lmaWVkIGFzIHByZXZhbGVudCByZXNvdXJjZS4KKwpJbmRleDogTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtcHJldmFs
ZW50LWJhc2VkLW9uLXN1Yi1mcmFtZS11bmRlci10b3AtZnJhbWUtb3JpZ2lucy5odG1sCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0
aXN0aWNzL2NsYXNzaWZ5LWFzLXByZXZhbGVudC1iYXNlZC1vbi1zdWItZnJhbWUtdW5kZXItdG9w
LWZyYW1lLW9yaWdpbnMuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1wcmV2YWxlbnQt
YmFzZWQtb24tc3ViLWZyYW1lLXVuZGVyLXRvcC1mcmFtZS1vcmlnaW5zLmh0bWwJKHdvcmtpbmcg
Y29weSkKQEAgLTAsMCArMSw0NCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbCBsYW5nPSJlbiI+
Cis8aGVhZD4KKyAgICA8bWV0YSBjaGFyc2V0PSJVVEYtOCI+CisgICAgPHRpdGxlPlRlc3RzIGZv
ciBDbGFzc2lmaWNhdGlvbiBCYXNlZCBvbiBTdWIgRnJhbWUgVW5kZXIgVG9wIEZyYW1lIE9yaWdp
bnM8L3RpdGxlPgorICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0PgorICAgIGNvbnN0IGhvc3RV
bmRlclRlc3QgPSAiMTI3LjAuMC4xOjgwMDAiOworICAgIGNvbnN0IHN0YXRpc3RpY3NVcmwgPSAi
aHR0cDovLyIgKyBob3N0VW5kZXJUZXN0ICsgIi90ZW1wIjsKKyAgICBjb25zdCB0b3BGcmFtZU9y
aWdpbjEgPSAiaHR0cDovLzEyNy4wLjAuMjo4MDAwL3RlbXAiOworICAgIGNvbnN0IHRvcEZyYW1l
T3JpZ2luMiA9ICJodHRwOi8vMTI3LjAuMC4zOjgwMDAvdGVtcCI7CisgICAgY29uc3QgdG9wRnJh
bWVPcmlnaW4zID0gImh0dHA6Ly8xMjcuMC4wLjQ6ODAwMC90ZW1wIjsKKyAgICBjb25zdCB0b3BG
cmFtZU9yaWdpbjQgPSAiaHR0cDovLzEyNy4wLjAuNTo4MDAwL3RlbXAiOworICAgIGZ1bmN0aW9u
IHJ1blRlc3RSdW5uZXJUZXN0KCkgeworICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NQ
cmV2YWxlbnRSZXNvdXJjZShzdGF0aXN0aWNzVXJsLCBmYWxzZSk7CisgICAgICAgIGlmICh0ZXN0
UnVubmVyLmlzU3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNlKHN0YXRpc3RpY3NVcmwpKQorICAg
ICAgICAgICAgdGVzdEZhaWxlZCgiSG9zdCBkaWQgbm90IGdldCBzZXQgYXMgbm9uLXByZXZhbGVu
dCByZXNvdXJjZS4iKTsKKworICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NTdWJmcmFt
ZVVuZGVyVG9wRnJhbWVPcmlnaW4oc3RhdGlzdGljc1VybCwgdG9wRnJhbWVPcmlnaW4xKTsKKyAg
ICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzU3ViZnJhbWVVbmRlclRvcEZyYW1lT3JpZ2lu
KHN0YXRpc3RpY3NVcmwsIHRvcEZyYW1lT3JpZ2luMik7CisgICAgICAgIHRlc3RSdW5uZXIuc2V0
U3RhdGlzdGljc1N1YmZyYW1lVW5kZXJUb3BGcmFtZU9yaWdpbihzdGF0aXN0aWNzVXJsLCB0b3BG
cmFtZU9yaWdpbjMpOworICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NTdWJmcmFtZVVu
ZGVyVG9wRnJhbWVPcmlnaW4oc3RhdGlzdGljc1VybCwgdG9wRnJhbWVPcmlnaW40KTsKKworICAg
ICAgICB0ZXN0UnVubmVyLnN0YXRpc3RpY3NGaXJlRGF0YU1vZGlmaWNhdGlvbkhhbmRsZXIoKTsK
KworICAgICAgICBpZiAoIXRlc3RSdW5uZXIuaXNTdGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2Uo
c3RhdGlzdGljc1VybCkpCisgICAgICAgICAgICB0ZXN0RmFpbGVkKCJIb3N0IGRpZCBub3QgZ2V0
IGNsYXNzaWZpZWQgYXMgcHJldmFsZW50IHJlc291cmNlLiIpOworICAgICAgICBlbHNlCisgICAg
ICAgICAgICB0ZXN0UGFzc2VkKCJIb3N0IGNsYXNzaWZpZWQgYXMgcHJldmFsZW50IHJlc291cmNl
LiIpOworCisgICAgICAgIHRlc3RSdW5uZXIuc3RhdGlzdGljc1Jlc2V0VG9Db25zaXN0ZW50U3Rh
dGUoKTsKKyAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7CisgICAgfQorCisgICAgaWYg
KGRvY3VtZW50LmxvY2F0aW9uLmhvc3QgPT09IGhvc3RVbmRlclRlc3QgJiYgd2luZG93LnRlc3RS
dW5uZXIgJiYgd2luZG93LmludGVybmFscykgeworICAgICAgICB0ZXN0UnVubmVyLndhaXRVbnRp
bERvbmUoKTsKKyAgICAgICAgaW50ZXJuYWxzLnNldFJlc291cmNlTG9hZFN0YXRpc3RpY3NFbmFi
bGVkKHRydWUpOworICAgICAgICBydW5UZXN0UnVubmVyVGVzdCgpOworICAgIH0KKzwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKSW5kZXg6IExh
eW91dFRlc3RzL2h0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNz
aWZ5LWFzLXByZXZhbGVudC1iYXNlZC1vbi1zdWJyZXNvdXJjZS11bmRlci10b3AtZnJhbWUtb3Jp
Z2lucy1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9s
b2FkaW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtcHJldmFsZW50LWJhc2Vk
LW9uLXN1YnJlc291cmNlLXVuZGVyLXRvcC1mcmFtZS1vcmlnaW5zLWV4cGVjdGVkLnR4dAkobm9u
ZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2Fk
U3RhdGlzdGljcy9jbGFzc2lmeS1hcy1wcmV2YWxlbnQtYmFzZWQtb24tc3VicmVzb3VyY2UtdW5k
ZXItdG9wLWZyYW1lLW9yaWdpbnMtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAg
KzEsOCBAQAorbWFpbiBmcmFtZSAtIGRpZFN0YXJ0UHJvdmlzaW9uYWxMb2FkRm9yRnJhbWUKK21h
aW4gZnJhbWUgLSBkaWRDb21taXRMb2FkRm9yRnJhbWUKK21haW4gZnJhbWUgLSBkaWRSZWNlaXZl
VGl0bGU6IFRlc3RzIGZvciBDbGFzc2lmaWNhdGlvbiBCYXNlZCBvbiBTdWJyZXNvdXJjZSBVbmRl
ciBUb3AgRnJhbWUgT3JpZ2lucworbWFpbiBmcmFtZSAtIGRpZEZpbmlzaERvY3VtZW50TG9hZEZv
ckZyYW1lCittYWluIGZyYW1lIC0gZGlkSGFuZGxlT25sb2FkRXZlbnRzRm9yRnJhbWUKK21haW4g
ZnJhbWUgLSBkaWRGaW5pc2hMb2FkRm9yRnJhbWUKK1BBU1MgSG9zdCBjbGFzc2lmaWVkIGFzIHBy
ZXZhbGVudCByZXNvdXJjZS4KKwpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9sb2FkaW5n
L3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtcHJldmFsZW50LWJhc2VkLW9uLXN1
YnJlc291cmNlLXVuZGVyLXRvcC1mcmFtZS1vcmlnaW5zLmh0bWwKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3Np
ZnktYXMtcHJldmFsZW50LWJhc2VkLW9uLXN1YnJlc291cmNlLXVuZGVyLXRvcC1mcmFtZS1vcmln
aW5zLmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9sb2FkaW5n
L3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtcHJldmFsZW50LWJhc2VkLW9uLXN1
YnJlc291cmNlLXVuZGVyLXRvcC1mcmFtZS1vcmlnaW5zLmh0bWwJKHdvcmtpbmcgY29weSkKQEAg
LTAsMCArMSw0NCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbCBsYW5nPSJlbiI+Cis8aGVhZD4K
KyAgICA8bWV0YSBjaGFyc2V0PSJVVEYtOCI+CisgICAgPHRpdGxlPlRlc3RzIGZvciBDbGFzc2lm
aWNhdGlvbiBCYXNlZCBvbiBTdWJyZXNvdXJjZSBVbmRlciBUb3AgRnJhbWUgT3JpZ2luczwvdGl0
bGU+CisgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9z
Y3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQ+CisgICAgY29uc3QgaG9zdFVuZGVyVGVz
dCA9ICIxMjcuMC4wLjE6ODAwMCI7CisgICAgY29uc3Qgc3RhdGlzdGljc1VybCA9ICJodHRwOi8v
IiArIGhvc3RVbmRlclRlc3QgKyAiL3RlbXAiOworICAgIGNvbnN0IHRvcEZyYW1lT3JpZ2luMSA9
ICJodHRwOi8vMTI3LjAuMC4yOjgwMDAvdGVtcCI7CisgICAgY29uc3QgdG9wRnJhbWVPcmlnaW4y
ID0gImh0dHA6Ly8xMjcuMC4wLjM6ODAwMC90ZW1wIjsKKyAgICBjb25zdCB0b3BGcmFtZU9yaWdp
bjMgPSAiaHR0cDovLzEyNy4wLjAuNDo4MDAwL3RlbXAiOworICAgIGNvbnN0IHRvcEZyYW1lT3Jp
Z2luNCA9ICJodHRwOi8vMTI3LjAuMC41OjgwMDAvdGVtcCI7CisgICAgZnVuY3Rpb24gcnVuVGVz
dFJ1bm5lclRlc3QoKSB7CisgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1ByZXZhbGVu
dFJlc291cmNlKHN0YXRpc3RpY3NVcmwsIGZhbHNlKTsKKyAgICAgICAgaWYgKHRlc3RSdW5uZXIu
aXNTdGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2Uoc3RhdGlzdGljc1VybCkpCisgICAgICAgICAg
ICB0ZXN0RmFpbGVkKCJIb3N0IGRpZCBub3QgZ2V0IHNldCBhcyBub24tcHJldmFsZW50IHJlc291
cmNlLiIpOworCisgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1N1YnJlc291cmNlVW5k
ZXJUb3BGcmFtZU9yaWdpbihzdGF0aXN0aWNzVXJsLCB0b3BGcmFtZU9yaWdpbjEpOworICAgICAg
ICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NTdWJyZXNvdXJjZVVuZGVyVG9wRnJhbWVPcmlnaW4o
c3RhdGlzdGljc1VybCwgdG9wRnJhbWVPcmlnaW4yKTsKKyAgICAgICAgdGVzdFJ1bm5lci5zZXRT
dGF0aXN0aWNzU3VicmVzb3VyY2VVbmRlclRvcEZyYW1lT3JpZ2luKHN0YXRpc3RpY3NVcmwsIHRv
cEZyYW1lT3JpZ2luMyk7CisgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1N1YnJlc291
cmNlVW5kZXJUb3BGcmFtZU9yaWdpbihzdGF0aXN0aWNzVXJsLCB0b3BGcmFtZU9yaWdpbjQpOwor
CisgICAgICAgIHRlc3RSdW5uZXIuc3RhdGlzdGljc0ZpcmVEYXRhTW9kaWZpY2F0aW9uSGFuZGxl
cigpOworCisgICAgICAgIGlmICghdGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NQcmV2YWxlbnRSZXNv
dXJjZShzdGF0aXN0aWNzVXJsKSkKKyAgICAgICAgICAgIHRlc3RGYWlsZWQoIkhvc3QgZGlkIG5v
dCBnZXQgY2xhc3NpZmllZCBhcyBwcmV2YWxlbnQgcmVzb3VyY2UuIik7CisgICAgICAgIGVsc2UK
KyAgICAgICAgICAgIHRlc3RQYXNzZWQoIkhvc3QgY2xhc3NpZmllZCBhcyBwcmV2YWxlbnQgcmVz
b3VyY2UuIik7CisKKyAgICAgICAgdGVzdFJ1bm5lci5zdGF0aXN0aWNzUmVzZXRUb0NvbnNpc3Rl
bnRTdGF0ZSgpOworICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKKyAgICB9CisKKyAg
ICBpZiAoZG9jdW1lbnQubG9jYXRpb24uaG9zdCA9PT0gaG9zdFVuZGVyVGVzdCAmJiB3aW5kb3cu
dGVzdFJ1bm5lciAmJiB3aW5kb3cuaW50ZXJuYWxzKSB7CisgICAgICAgIHRlc3RSdW5uZXIud2Fp
dFVudGlsRG9uZSgpOworICAgICAgICBpbnRlcm5hbHMuc2V0UmVzb3VyY2VMb2FkU3RhdGlzdGlj
c0VuYWJsZWQodHJ1ZSk7CisgICAgICAgIHJ1blRlc3RSdW5uZXJUZXN0KCk7CisgICAgfQorPC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpJbmRl
eDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mv
Y2xhc3NpZnktYXMtcHJldmFsZW50LWJhc2VkLW9uLXN1YnJlc291cmNlLXVuaXF1ZS1yZWRpcmVj
dHMtdG8tZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMv
bG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLXByZXZhbGVudC1iYXNl
ZC1vbi1zdWJyZXNvdXJjZS11bmlxdWUtcmVkaXJlY3RzLXRvLWV4cGVjdGVkLnR4dAkobm9uZXhp
c3RlbnQpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3Rh
dGlzdGljcy9jbGFzc2lmeS1hcy1wcmV2YWxlbnQtYmFzZWQtb24tc3VicmVzb3VyY2UtdW5pcXVl
LXJlZGlyZWN0cy10by1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw4IEBA
CittYWluIGZyYW1lIC0gZGlkU3RhcnRQcm92aXNpb25hbExvYWRGb3JGcmFtZQorbWFpbiBmcmFt
ZSAtIGRpZENvbW1pdExvYWRGb3JGcmFtZQorbWFpbiBmcmFtZSAtIGRpZFJlY2VpdmVUaXRsZTog
VGVzdHMgZm9yIENsYXNzaWZpY2F0aW9uIEJhc2VkIG9uIFN1YnJlc291cmNlIFVuaXF1ZSBSZWRp
cmVjdHMgVG8KK21haW4gZnJhbWUgLSBkaWRGaW5pc2hEb2N1bWVudExvYWRGb3JGcmFtZQorbWFp
biBmcmFtZSAtIGRpZEhhbmRsZU9ubG9hZEV2ZW50c0ZvckZyYW1lCittYWluIGZyYW1lIC0gZGlk
RmluaXNoTG9hZEZvckZyYW1lCitQQVNTIEhvc3QgY2xhc3NpZmllZCBhcyBwcmV2YWxlbnQgcmVz
b3VyY2UuCisKSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxv
YWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLXByZXZhbGVudC1iYXNlZC1vbi1zdWJyZXNvdXJjZS11
bmlxdWUtcmVkaXJlY3RzLXRvLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtcHJldmFsZW50
LWJhc2VkLW9uLXN1YnJlc291cmNlLXVuaXF1ZS1yZWRpcmVjdHMtdG8uaHRtbAkobm9uZXhpc3Rl
bnQpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlz
dGljcy9jbGFzc2lmeS1hcy1wcmV2YWxlbnQtYmFzZWQtb24tc3VicmVzb3VyY2UtdW5pcXVlLXJl
ZGlyZWN0cy10by5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNDQgQEAKKzwhRE9DVFlQ
RSBodG1sPgorPGh0bWwgbGFuZz0iZW4iPgorPGhlYWQ+CisgICAgPG1ldGEgY2hhcnNldD0iVVRG
LTgiPgorICAgIDx0aXRsZT5UZXN0cyBmb3IgQ2xhc3NpZmljYXRpb24gQmFzZWQgb24gU3VicmVz
b3VyY2UgVW5pcXVlIFJlZGlyZWN0cyBUbzwvdGl0bGU+CisgICAgPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxz
Y3JpcHQ+CisgICAgY29uc3QgaG9zdFVuZGVyVGVzdCA9ICIxMjcuMC4wLjE6ODAwMCI7CisgICAg
Y29uc3Qgc3RhdGlzdGljc1VybCA9ICJodHRwOi8vIiArIGhvc3RVbmRlclRlc3QgKyAiL3RlbXAi
OworICAgIGNvbnN0IHRvcEZyYW1lT3JpZ2luMSA9ICJodHRwOi8vMTI3LjAuMC4yOjgwMDAvdGVt
cCI7CisgICAgY29uc3QgdG9wRnJhbWVPcmlnaW4yID0gImh0dHA6Ly8xMjcuMC4wLjM6ODAwMC90
ZW1wIjsKKyAgICBjb25zdCB0b3BGcmFtZU9yaWdpbjMgPSAiaHR0cDovLzEyNy4wLjAuNDo4MDAw
L3RlbXAiOworICAgIGNvbnN0IHRvcEZyYW1lT3JpZ2luNCA9ICJodHRwOi8vMTI3LjAuMC41Ojgw
MDAvdGVtcCI7CisgICAgZnVuY3Rpb24gcnVuVGVzdFJ1bm5lclRlc3QoKSB7CisgICAgICAgIHRl
c3RSdW5uZXIuc2V0U3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNlKHN0YXRpc3RpY3NVcmwsIGZh
bHNlKTsKKyAgICAgICAgaWYgKHRlc3RSdW5uZXIuaXNTdGF0aXN0aWNzUHJldmFsZW50UmVzb3Vy
Y2Uoc3RhdGlzdGljc1VybCkpCisgICAgICAgICAgICB0ZXN0RmFpbGVkKCJIb3N0IGRpZCBub3Qg
Z2V0IHNldCBhcyBub24tcHJldmFsZW50IHJlc291cmNlLiIpOworCisgICAgICAgIHRlc3RSdW5u
ZXIuc2V0U3RhdGlzdGljc1N1YnJlc291cmNlVW5pcXVlUmVkaXJlY3RUbyhzdGF0aXN0aWNzVXJs
LCB0b3BGcmFtZU9yaWdpbjEpOworICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NTdWJy
ZXNvdXJjZVVuaXF1ZVJlZGlyZWN0VG8oc3RhdGlzdGljc1VybCwgdG9wRnJhbWVPcmlnaW4yKTsK
KyAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzU3VicmVzb3VyY2VVbmlxdWVSZWRpcmVj
dFRvKHN0YXRpc3RpY3NVcmwsIHRvcEZyYW1lT3JpZ2luMyk7CisgICAgICAgIHRlc3RSdW5uZXIu
c2V0U3RhdGlzdGljc1N1YnJlc291cmNlVW5pcXVlUmVkaXJlY3RUbyhzdGF0aXN0aWNzVXJsLCB0
b3BGcmFtZU9yaWdpbjQpOworCisgICAgICAgIHRlc3RSdW5uZXIuc3RhdGlzdGljc0ZpcmVEYXRh
TW9kaWZpY2F0aW9uSGFuZGxlcigpOworCisgICAgICAgIGlmICghdGVzdFJ1bm5lci5pc1N0YXRp
c3RpY3NQcmV2YWxlbnRSZXNvdXJjZShzdGF0aXN0aWNzVXJsKSkKKyAgICAgICAgICAgIHRlc3RG
YWlsZWQoIkhvc3QgZGlkIG5vdCBnZXQgY2xhc3NpZmllZCBhcyBwcmV2YWxlbnQgcmVzb3VyY2Uu
Iik7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIHRlc3RQYXNzZWQoIkhvc3QgY2xhc3NpZmll
ZCBhcyBwcmV2YWxlbnQgcmVzb3VyY2UuIik7CisKKyAgICAgICAgdGVzdFJ1bm5lci5zdGF0aXN0
aWNzUmVzZXRUb0NvbnNpc3RlbnRTdGF0ZSgpOworICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURv
bmUoKTsKKyAgICB9CisKKyAgICBpZiAoZG9jdW1lbnQubG9jYXRpb24uaG9zdCA9PT0gaG9zdFVu
ZGVyVGVzdCAmJiB3aW5kb3cudGVzdFJ1bm5lciAmJiB3aW5kb3cuaW50ZXJuYWxzKSB7CisgICAg
ICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOworICAgICAgICBpbnRlcm5hbHMuc2V0UmVz
b3VyY2VMb2FkU3RhdGlzdGljc0VuYWJsZWQodHJ1ZSk7CisgICAgICAgIHJ1blRlc3RSdW5uZXJU
ZXN0KCk7CisgICAgfQorPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9ndGsvVGVzdEV4cGVjdGF0aW9ucwo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9ndGsvVGVzdEV4cGVjdGF0aW9ucwkocmV2aXNpb24gMjEyNTk3KQorKysg
TGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1Rlc3RFeHBlY3RhdGlvbnMJKHdvcmtpbmcgY29weSkK
QEAgLTkyMiwxMSArOTIyLDcgQEAgd2Via2l0Lm9yZy9iLzEzMTU0NiBtZWRpYS90cmFjay90cmFj
ay1pbgogCiB3ZWJraXQub3JnL2IvMTYzNzgyIG1lZGlhL3ZpZGVvLXBsYXllZC1yYW5nZXMtMS5o
dG1sIFsgQ3Jhc2ggUGFzcyBdCiAKLXdlYmtpdC5vcmcvYi8xNjgxNzEgaHR0cC90ZXN0cy9sb2Fk
aW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvbm9uLXByZXZhbGVudC1yZXNvdXJjZS13aXRoLXVz
ZXItaW50ZXJhY3Rpb24uaHRtbCBbIENyYXNoIF0KLXdlYmtpdC5vcmcvYi8xNjgxNzEgaHR0cC90
ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvbm9uLXByZXZhbGVudC1yZXNvdXJj
ZS13aXRob3V0LXVzZXItaW50ZXJhY3Rpb24uaHRtbCBbIENyYXNoIF0KLXdlYmtpdC5vcmcvYi8x
NjgxNzEgaHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvcHJldmFsZW50
LXJlc291cmNlLXdpdGgtdXNlci1pbnRlcmFjdGlvbi10aW1lb3V0Lmh0bWwgWyBDcmFzaCBdCi13
ZWJraXQub3JnL2IvMTY4MTcxIGh0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0
aWNzL3ByZXZhbGVudC1yZXNvdXJjZS13aXRoLXVzZXItaW50ZXJhY3Rpb24uaHRtbCBbIENyYXNo
IF0KLXdlYmtpdC5vcmcvYi8xNjgxNzEgaHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0
YXRpc3RpY3MvcHJldmFsZW50LXJlc291cmNlLXdpdGhvdXQtdXNlci1pbnRlcmFjdGlvbi5odG1s
IFsgQ3Jhc2ggXQord2Via2l0Lm9yZy9iLzE2ODE3MSBodHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3Vy
Y2VMb2FkU3RhdGlzdGljcyBbIENyYXNoIF0KIAogd2Via2l0Lm9yZy9iLzE2NzU3NiBpbXBvcnRl
ZC93M2MvSW5kZXhlZERCLXByaXZhdGUtYnJvd3NpbmcvaWRiY3Vyc29yX2l0ZXJhdGluZy5odG1s
IFsgQ3Jhc2ggXQogd2Via2l0Lm9yZy9iLzE2NzU3NiBpbXBvcnRlZC93M2MvSW5kZXhlZERCLXBy
aXZhdGUtYnJvd3NpbmcvaWRiY3Vyc29yX2l0ZXJhdGluZ19pbmRleC5odG1sIFsgQ3Jhc2ggXQpJ
bmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2syL1Rlc3RFeHBlY3RhdGlvbnMKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2syL1Rlc3RFeHBlY3RhdGlvbnMJKHJldmlzaW9u
IDIxMjU5NykKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL3drMi9UZXN0RXhwZWN0YXRpb25zCSh3
b3JraW5nIGNvcHkpCkBAIC03MDUsNiArNzA1LDE0IEBAIGh0dHAvdGVzdHMvbG9hZGluZy9yZXNv
dXJjZUxvYWRTdGF0aXN0aWMKIGh0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0
aWNzL25vbi1wcmV2YWxlbnQtcmVzb3VyY2Utd2l0aG91dC11c2VyLWludGVyYWN0aW9uLmh0bWwg
WyBQYXNzIFRpbWVvdXQgXQogaHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0YXRpc3Rp
Y3MvcHJldmFsZW50LXJlc291cmNlLXdpdGhvdXQtdXNlci1pbnRlcmFjdGlvbi5odG1sIFsgUGFz
cyBUaW1lb3V0IF0KIGh0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3By
ZXZhbGVudC1yZXNvdXJjZS13aXRoLXVzZXItaW50ZXJhY3Rpb24tdGltZW91dC5odG1sIFsgUGFz
cyBUaW1lb3V0IF0KK2h0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2Ns
YXNzaWZ5LWFzLW5vbi1wcmV2YWxlbnQtYmFzZWQtb24tbWl4ZWQtc3RhdGlzdGljcy5odG1sIFsg
UGFzcyBdCitodHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lm
eS1hcy1ub24tcHJldmFsZW50LWJhc2VkLW9uLXN1Yi1mcmFtZS11bmRlci10b3AtZnJhbWUtb3Jp
Z2lucy5odG1sIFsgUGFzcyBdCitodHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlz
dGljcy9jbGFzc2lmeS1hcy1ub24tcHJldmFsZW50LWJhc2VkLW9uLXN1YnJlc291cmNlLXVuZGVy
LXRvcC1mcmFtZS1vcmlnaW5zLmh0bWwgWyBQYXNzIF0KK2h0dHAvdGVzdHMvbG9hZGluZy9yZXNv
dXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLW5vbi1wcmV2YWxlbnQtYmFzZWQtb24tc3Vi
cmVzb3VyY2UtdW5pcXVlLXJlZGlyZWN0cy10by5odG1sIFsgUGFzcyBdCitodHRwL3Rlc3RzL2xv
YWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1wcmV2YWxlbnQtYmFzZWQt
b24tbWl4ZWQtc3RhdGlzdGljcy5odG1sIFsgUGFzcyBdCitodHRwL3Rlc3RzL2xvYWRpbmcvcmVz
b3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1wcmV2YWxlbnQtYmFzZWQtb24tc3ViLWZy
YW1lLXVuZGVyLXRvcC1mcmFtZS1vcmlnaW5zLmh0bWwgWyBQYXNzIF0KK2h0dHAvdGVzdHMvbG9h
ZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLXByZXZhbGVudC1iYXNlZC1v
bi1zdWJyZXNvdXJjZS11bmRlci10b3AtZnJhbWUtb3JpZ2lucy5odG1sIFsgUGFzcyBdCitodHRw
L3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1wcmV2YWxl
bnQtYmFzZWQtb24tc3VicmVzb3VyY2UtdW5pcXVlLXJlZGlyZWN0cy10by5odG1sIFsgUGFzcyBd
CiAKICMjIyBFTkQgT0YgKDUpIFByb2dyZXNzaW9ucywgZXhwZWN0ZWQgc3VjY2Vzc2VzIHRoYXQg
YXJlIGV4cGVjdGVkIGZhaWx1cmVzIGluIFdlYktpdDEuCiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>302172</attachid>
            <date>2017-02-20 14:46:18 -0800</date>
            <delta_ts>2017-02-21 10:36:27 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-168347-20170220144335.patch</filename>
            <type>text/plain</type>
            <size>122935</size>
            <attacher name="John Wilander">wilander</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XVEYvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XVEYvQ2hh
bmdlTG9nCShyZXZpc2lvbiAyMTI2NzcpCisrKyBTb3VyY2UvV1RGL0NoYW5nZUxvZwkod29ya2lu
ZyBjb3B5KQpAQCAtMSwzICsxLDE0IEBACisyMDE3LTAyLTIwICBKb2huIFdpbGFuZGVyICA8d2ls
YW5kZXJAYXBwbGUuY29tPgorCisgICAgICAgIFJlc291cmNlIExvYWQgU3RhdGlzdGljczogQWRk
IGFsdGVybmF0ZSBjbGFzc2lmaWNhdGlvbiBtZXRob2QKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2ODM0NworICAgICAgICA8cmRhcjovL3Byb2JsZW0v
MzAzNTI3OTM+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgKiB3dGYvUGxhdGZvcm0uaDoKKyAgICAgICAgICAgIEFkZGVkIHN1cHBvcnQgZm9yIEhBVkUo
Q09SRV9QUkVESUNUSU9OKS4KKwogMjAxNy0wMi0yMCAgQ29tbWl0IFF1ZXVlICA8Y29tbWl0LXF1
ZXVlQHdlYmtpdC5vcmc+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQgcjIxMjYx
OC4KSW5kZXg6IFNvdXJjZS9XVEYvd3RmL1BsYXRmb3JtLmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dURi93dGYvUGxhdGZvcm0uaAkocmV2aXNpb24gMjEyNjU2KQorKysgU291cmNlL1dURi93dGYv
UGxhdGZvcm0uaAkod29ya2luZyBjb3B5KQpAQCAtMTIwOCw0ICsxMjA4LDggQEAKICNlbmRpZgog
I2VuZGlmIC8qIFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01BWF9BTExPV0VE
ID49IDEwMTIwMSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMTIwMCAq
LwogCisjaWYgUExBVEZPUk0oSU9TKSB8fCAoUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZF
UlNJT05fTUlOX1JFUVVJUkVEID49IDEwMTIwMCkKKyNkZWZpbmUgSEFWRV9DT1JFX1BSRURJQ1RJ
T04gMQorI2VuZGlmCisKICNlbmRpZiAvKiBXVEZfUGxhdGZvcm1faCAqLwpJbmRleDogU291cmNl
L1dlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxv
ZwkocmV2aXNpb24gMjEyNjc3KQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5n
IGNvcHkpCkBAIC0xLDMgKzEsMjggQEAKKzIwMTctMDItMjAgIEpvaG4gV2lsYW5kZXIgIDx3aWxh
bmRlckBhcHBsZS5jb20+CisKKyAgICAgICAgUmVzb3VyY2UgTG9hZCBTdGF0aXN0aWNzOiBBZGQg
YWx0ZXJuYXRlIGNsYXNzaWZpY2F0aW9uIG1ldGhvZAorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY4MzQ3CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8z
MDM1Mjc5Mz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBUaGlzIHBhdGNoIG9ubHkgYWRkcyB0ZXN0IGluZnJhc3RydWN0dXJlIGluIFdlYkNvcmUuCisK
KyAgICAgICAgVGVzdHM6IGh0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNz
L2NsYXNzaWZ5LWFzLW5vbi1wcmV2YWxlbnQtYmFzZWQtb24tbWl4ZWQtc3RhdGlzdGljcy5odG1s
CisgICAgICAgICAgICAgICBodHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGlj
cy9jbGFzc2lmeS1hcy1ub24tcHJldmFsZW50LWJhc2VkLW9uLXN1Yi1mcmFtZS11bmRlci10b3At
ZnJhbWUtb3JpZ2lucy5odG1sCisgICAgICAgICAgICAgICBodHRwL3Rlc3RzL2xvYWRpbmcvcmVz
b3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1ub24tcHJldmFsZW50LWJhc2VkLW9uLXN1
YnJlc291cmNlLXVuZGVyLXRvcC1mcmFtZS1vcmlnaW5zLmh0bWwKKyAgICAgICAgICAgICAgIGh0
dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLW5vbi1w
cmV2YWxlbnQtYmFzZWQtb24tc3VicmVzb3VyY2UtdW5pcXVlLXJlZGlyZWN0cy10by5odG1sCisg
ICAgICAgICAgICAgICBodHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9j
bGFzc2lmeS1hcy1wcmV2YWxlbnQtYmFzZWQtb24tbWl4ZWQtc3RhdGlzdGljcy5odG1sCisgICAg
ICAgICAgICAgICBodHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFz
c2lmeS1hcy1wcmV2YWxlbnQtYmFzZWQtb24tc3ViLWZyYW1lLXVuZGVyLXRvcC1mcmFtZS1vcmln
aW5zLmh0bWwKKyAgICAgICAgICAgICAgIGh0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRT
dGF0aXN0aWNzL2NsYXNzaWZ5LWFzLXByZXZhbGVudC1iYXNlZC1vbi1zdWJyZXNvdXJjZS11bmRl
ci10b3AtZnJhbWUtb3JpZ2lucy5odG1sCisgICAgICAgICAgICAgICBodHRwL3Rlc3RzL2xvYWRp
bmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1wcmV2YWxlbnQtYmFzZWQtb24t
c3VicmVzb3VyY2UtdW5pcXVlLXJlZGlyZWN0cy10by5odG1sCisKKyAgICAgICAgKiBsb2FkZXIv
UmVzb3VyY2VMb2FkT2JzZXJ2ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VMb2Fk
T2JzZXJ2ZXI6OnNldFN1YmZyYW1lVW5kZXJUb3BGcmFtZU9yaWdpbik6CisgICAgICAgIChXZWJD
b3JlOjpSZXNvdXJjZUxvYWRPYnNlcnZlcjo6c2V0U3VicmVzb3VyY2VVbmRlclRvcEZyYW1lT3Jp
Z2luKToKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlTG9hZE9ic2VydmVyOjpzZXRTdWJyZXNv
dXJjZVVuaXF1ZVJlZGlyZWN0VG8pOgorICAgICAgICAqIGxvYWRlci9SZXNvdXJjZUxvYWRPYnNl
cnZlci5oOgorCiAyMDE3LTAyLTIwICBXZW5zb24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUu
Y29tPgogCiAgICAgICAgIEFkZCBwbHVtYmluZyB0byB0aGUgVUkgcHJvY2VzcyBmb3IgVGV4dElu
ZGljYXRvckRhdGEgd2hlbiBjb21wdXRpbmcgdGhlIGRyYWcgaW1hZ2UKSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL2xvYWRlci9SZXNvdXJjZUxvYWRPYnNlcnZlci5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlTG9hZE9ic2VydmVyLmNwcAkocmV2aXNpb24gMjEy
NjU2KQorKysgU291cmNlL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlTG9hZE9ic2VydmVyLmNwcAko
d29ya2luZyBjb3B5KQpAQCAtMzc1LDYgKzM3NSwzMyBAQCB2b2lkIFJlc291cmNlTG9hZE9ic2Vy
dmVyOjpjbGVhclByZXZhbGVuCiAgICAgc3RhdGlzdGljcy5pc1ByZXZhbGVudFJlc291cmNlID0g
ZmFsc2U7CiB9CiAKK3ZvaWQgUmVzb3VyY2VMb2FkT2JzZXJ2ZXI6OnNldFN1YmZyYW1lVW5kZXJU
b3BGcmFtZU9yaWdpbihjb25zdCBVUkwmIHN1YmZyYW1lLCBjb25zdCBVUkwmIHRvcEZyYW1lKQor
eworICAgIGlmIChzdWJmcmFtZS5pc0JsYW5rVVJMKCkgfHwgc3ViZnJhbWUuaXNFbXB0eSgpIHx8
IHRvcEZyYW1lLmlzQmxhbmtVUkwoKSB8fCB0b3BGcmFtZS5pc0VtcHR5KCkpCisgICAgICAgIHJl
dHVybjsKKyAgICAKKyAgICBhdXRvJiBzdGF0aXN0aWNzID0gbV9zdG9yZS0+ZW5zdXJlUmVzb3Vy
Y2VTdGF0aXN0aWNzRm9yUHJpbWFyeURvbWFpbihwcmltYXJ5RG9tYWluKHN1YmZyYW1lKSk7Cisg
ICAgc3RhdGlzdGljcy5zdWJmcmFtZVVuZGVyVG9wRnJhbWVPcmlnaW5zLmFkZChwcmltYXJ5RG9t
YWluKHRvcEZyYW1lKSk7Cit9CisKK3ZvaWQgUmVzb3VyY2VMb2FkT2JzZXJ2ZXI6OnNldFN1YnJl
c291cmNlVW5kZXJUb3BGcmFtZU9yaWdpbihjb25zdCBVUkwmIHN1YnJlc291cmNlLCBjb25zdCBV
UkwmIHRvcEZyYW1lKQoreworICAgIGlmIChzdWJyZXNvdXJjZS5pc0JsYW5rVVJMKCkgfHwgc3Vi
cmVzb3VyY2UuaXNFbXB0eSgpIHx8IHRvcEZyYW1lLmlzQmxhbmtVUkwoKSB8fCB0b3BGcmFtZS5p
c0VtcHR5KCkpCisgICAgICAgIHJldHVybjsKKyAgICAKKyAgICBhdXRvJiBzdGF0aXN0aWNzID0g
bV9zdG9yZS0+ZW5zdXJlUmVzb3VyY2VTdGF0aXN0aWNzRm9yUHJpbWFyeURvbWFpbihwcmltYXJ5
RG9tYWluKHN1YnJlc291cmNlKSk7CisgICAgc3RhdGlzdGljcy5zdWJyZXNvdXJjZVVuZGVyVG9w
RnJhbWVPcmlnaW5zLmFkZChwcmltYXJ5RG9tYWluKHRvcEZyYW1lKSk7Cit9CisKK3ZvaWQgUmVz
b3VyY2VMb2FkT2JzZXJ2ZXI6OnNldFN1YnJlc291cmNlVW5pcXVlUmVkaXJlY3RUbyhjb25zdCBV
UkwmIHN1YnJlc291cmNlLCBjb25zdCBVUkwmIGhvc3ROYW1lUmVkaXJlY3RlZFRvKQoreworICAg
IGlmIChzdWJyZXNvdXJjZS5pc0JsYW5rVVJMKCkgfHwgc3VicmVzb3VyY2UuaXNFbXB0eSgpIHx8
IGhvc3ROYW1lUmVkaXJlY3RlZFRvLmlzQmxhbmtVUkwoKSB8fCBob3N0TmFtZVJlZGlyZWN0ZWRU
by5pc0VtcHR5KCkpCisgICAgICAgIHJldHVybjsKKyAgICAKKyAgICBhdXRvJiBzdGF0aXN0aWNz
ID0gbV9zdG9yZS0+ZW5zdXJlUmVzb3VyY2VTdGF0aXN0aWNzRm9yUHJpbWFyeURvbWFpbihwcmlt
YXJ5RG9tYWluKHN1YnJlc291cmNlKSk7CisgICAgc3RhdGlzdGljcy5zdWJyZXNvdXJjZVVuaXF1
ZVJlZGlyZWN0c1RvLmFkZChwcmltYXJ5RG9tYWluKGhvc3ROYW1lUmVkaXJlY3RlZFRvKSk7Cit9
CisKIHZvaWQgUmVzb3VyY2VMb2FkT2JzZXJ2ZXI6OnNldFRpbWVUb0xpdmVVc2VySW50ZXJhY3Rp
b24oZG91YmxlIHNlY29uZHMpCiB7CiAgICAgbV9zdG9yZS0+c2V0VGltZVRvTGl2ZVVzZXJJbnRl
cmFjdGlvbihzZWNvbmRzKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZUxv
YWRPYnNlcnZlci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2xvYWRlci9SZXNvdXJj
ZUxvYWRPYnNlcnZlci5oCShyZXZpc2lvbiAyMTI2NTYpCisrKyBTb3VyY2UvV2ViQ29yZS9sb2Fk
ZXIvUmVzb3VyY2VMb2FkT2JzZXJ2ZXIuaAkod29ya2luZyBjb3B5KQpAQCAtNTgsNiArNTgsMTAg
QEAgcHVibGljOgogICAgIFdFQkNPUkVfRVhQT1JUIGJvb2wgaXNQcmV2YWxlbnRSZXNvdXJjZShj
b25zdCBVUkwmKTsKICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIGNsZWFyUHJldmFsZW50UmVzb3Vy
Y2UoY29uc3QgVVJMJik7CiAKKyAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHNldFN1YmZyYW1lVW5k
ZXJUb3BGcmFtZU9yaWdpbihjb25zdCBVUkwmIHN1YmZyYW1lLCBjb25zdCBVUkwmIHRvcEZyYW1l
KTsKKyAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHNldFN1YnJlc291cmNlVW5kZXJUb3BGcmFtZU9y
aWdpbihjb25zdCBVUkwmIHN1YnJlc291cmNlLCBjb25zdCBVUkwmIHRvcEZyYW1lKTsKKyAgICBX
RUJDT1JFX0VYUE9SVCB2b2lkIHNldFN1YnJlc291cmNlVW5pcXVlUmVkaXJlY3RUbyhjb25zdCBV
UkwmIHN1YnJlc291cmNlLCBjb25zdCBVUkwmIGhvc3ROYW1lUmVkaXJlY3RlZFRvKTsKKwogICAg
IFdFQkNPUkVfRVhQT1JUIHZvaWQgc2V0VGltZVRvTGl2ZVVzZXJJbnRlcmFjdGlvbihkb3VibGUg
c2Vjb25kcyk7CiAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBzZXRSZWR1Y2VkVGltZXN0YW1wUmVz
b2x1dGlvbihkb3VibGUgc2Vjb25kcyk7CiAKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxv
Zwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cJKHJldmlzaW9uIDIxMjY3
NykKKysrIFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsx
LDc5IEBACisyMDE3LTAyLTIwICBKb2huIFdpbGFuZGVyICA8d2lsYW5kZXJAYXBwbGUuY29tPgor
CisgICAgICAgIFJlc291cmNlIExvYWQgU3RhdGlzdGljczogQWRkIGFsdGVybmF0ZSBjbGFzc2lm
aWNhdGlvbiBtZXRob2QKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTE2ODM0NworICAgICAgICA8cmRhcjovL3Byb2JsZW0vMzAzNTI3OTM+CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhpcyBwYXRjaCBhZGRz
IGEgQ29yZVByZWRpY3Rpb24tYmFzZWQgY2xhc3NpZmllciB0byB0aGUgV2ViUmVzb3VyY2VMb2Fk
U3RhdGlzdGljc1N0b3JlLgorICAgICAgICBUaGUgQ29yZVByZWRpY3Rpb24gZnJhbWV3b3JrIGlz
IGludHJvZHVjZWQgYXMgYSBkZXBlbmRlbmN5IGZvciBtYWNPUyBhbmQgaU9TLiBUaGUgcGF0Y2gK
KyAgICAgICAgYWxzbyBhZGRzIGZ1bmN0aW9ucyB0byBzdXBwb3J0IGxheW91dCB0ZXN0cyBvZiB0
aGUgZmVhdHVyZS4KKworICAgICAgICAqIENvbmZpZ3VyYXRpb25zL0Jhc2VUYXJnZXQueGNjb25m
aWc6CisgICAgICAgICogQ29uZmlndXJhdGlvbnMvV2ViS2l0LnhjY29uZmlnOgorICAgICAgICAg
ICAgQWRkZWQgZGVwZW5kZW5jeSBvbiBDb3JlUHJlZGljdGlvbi4KKyAgICAgICAgKiBQbGF0Zm9y
bS9jbGFzc2lmaWVyOiBBZGRlZC4KKyAgICAgICAgKiBQbGF0Zm9ybS9jbGFzc2lmaWVyL1Jlc291
cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyLmg6IEFkZGVkLgorICAgICAgICAgICAgUHVsbHMg
aW4gdGhlIENvY29hLXNwZWNpZmljIGNsYXNzaWZpZXIgZm9yIENvY29hLWJhc2VkIHBsYXRmb3Jt
cy4KKyAgICAgICAgKFdlYktpdDo6UmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXI6OlJl
c291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyKToKKyAgICAgICAgKiBQbGF0Zm9ybS9jbGFz
c2lmaWVyL1Jlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQmFzZS5jcHA6IEFkZGVkLgor
ICAgICAgICAoV2ViS2l0OjpSZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllckJhc2U6Omhh
c1ByZXZhbGVudFJlc291cmNlQ2hhcmFjdGVyaXN0aWNzKToKKyAgICAgICAgICAgIFNoYXJlZCBj
bGFzc2lmaWVyIGxvZ2ljLgorICAgICAgICAoV2ViS2l0OjpSZXNvdXJjZUxvYWRTdGF0aXN0aWNz
Q2xhc3NpZmllckJhc2U6OmNsYXNzaWZ5V2l0aFZlY3RvclRocmVzaG9sZCk6CisgICAgICAgICAg
ICBGYWxsYmFjayBjbGFzc2lmaWVyIGZvciB3aGVuIHdlIGRvbid0IGhhdmUgQ29yZVByZWRpY3Rp
b24uCisgICAgICAgICogUGxhdGZvcm0vY2xhc3NpZmllci9SZXNvdXJjZUxvYWRTdGF0aXN0aWNz
Q2xhc3NpZmllckJhc2UuaDogQWRkZWQuCisgICAgICAgIChXZWJLaXQ6OlJlc291cmNlTG9hZFN0
YXRpc3RpY3NDbGFzc2lmaWVyQmFzZTo6UmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXJC
YXNlKToKKyAgICAgICAgKFdlYktpdDo6UmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXJC
YXNlOjp+UmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXJCYXNlKToKKyAgICAgICAgKiBQ
bGF0Zm9ybS9jbGFzc2lmaWVyL2NvY29hOiBBZGRlZC4KKyAgICAgICAgKiBQbGF0Zm9ybS9jbGFz
c2lmaWVyL2NvY29hL0NvcmVQcmVkaWN0aW9uU1BJLmg6IEFkZGVkLgorICAgICAgICAgICAgSW5j
bHVkZXMgQ29yZVByZWRpY3Rpb24gaWYgYXZhaWxhYmxlLCBvdGhlcndpc2UgZGVjbGFyZXMgbmVl
ZGVkIHN5bWJvbHMuCisgICAgICAgICAgICBBbHdheXMgcmVkZWNsYXJlcyB0aGUgZnVuY3Rpb25z
IHNvIHdlJ2xsIGdldCBhIGJ1aWxkIGVycm9yIGlmCisgICAgICAgICAgICBDb3JlUHJlZGljdGlv
biBjaGFuZ2VzLgorICAgICAgICAqIFBsYXRmb3JtL2NsYXNzaWZpZXIvY29jb2EvUmVzb3VyY2VM
b2FkU3RhdGlzdGljc0NsYXNzaWZpZXJDb2NvYS5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViS2l0
OjpSZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllcjo6Y2xhc3NpZnkpOgorICAgICAgICAo
V2ViS2l0OjpSZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllcjo6c3RvcmFnZVBhdGgpOgor
ICAgICAgICAoV2ViS2l0OjpSZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllcjo6c2hvdWxk
VXNlQ29yZVByZWRpY3Rpb24pOgorICAgICAgICAgICAgVGhlIG5ldyBjbGFzc2lmaWVyIGZvciBD
b2NvYSBwbGF0Zm9ybXMuCisgICAgICAgICogUGxhdGZvcm0vY2xhc3NpZmllci9jb2NvYS9SZXNv
dXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllckNvY29hLmg6IEFkZGVkLgorICAgICAgICAoV2Vi
S2l0OjpSZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllcjo6UmVzb3VyY2VMb2FkU3RhdGlz
dGljc0NsYXNzaWZpZXIpOgorICAgICAgICAqIFBsYXRmb3JtR1RLLmNtYWtlOgorICAgICAgICAg
ICBBZGRlZCBQbGF0Zm9ybS9jbGFzc2lmaWVyIGRpcmVjdG9yeSBhbmQgUmVzb3VyY2VMb2FkU3Rh
dGlzdGljc0NsYXNzaWZpZXJCYXNlLmNwcC4KKyAgICAgICAgKiBQbGF0Zm9ybU1hYy5jbWFrZToK
KyAgICAgICAgICAgQWRkZWQgUGxhdGZvcm0vY2xhc3NpZmllciBhbmQgUGxhdGZvcm0vY2xhc3Np
Zmllci9jb2NvYSBkaXJlY3RvcmllcywgYW5kCisgICAgICAgICAgIHNvdXJjZSBmaWxlcyBSZXNv
dXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllckJhc2UuY3BwIGFuZAorICAgICAgICAgICBSZXNv
dXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllckNvY29hLmNwcAorICAgICAgICAqIFJlc291cmNl
cy9SZXNvdXJjZUxvYWRTdGF0aXN0aWNzOiBBZGRlZC4KKyAgICAgICAgKiBSZXNvdXJjZXMvUmVz
b3VyY2VMb2FkU3RhdGlzdGljcy9jb3JlUHJlZGljdGlvbl9tb2RlbDogQWRkZWQuCisgICAgICAg
ICAgICBNb2RlbCBmaWxlIHRvIGxvYWQgaW50byBDb3JlUHJlZGljdGlvbi4KKyAgICAgICAgKiBV
SVByb2Nlc3MvQVBJL0MvV0tSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdlci5jcHA6CisgICAg
ICAgIChXS1Jlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VyU2V0U3ViZnJhbWVVbmRlclRvcEZy
YW1lT3JpZ2luKToKKyAgICAgICAgKFdLUmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFnZXJTZXRT
dWJyZXNvdXJjZVVuZGVyVG9wRnJhbWVPcmlnaW4pOgorICAgICAgICAoV0tSZXNvdXJjZUxvYWRT
dGF0aXN0aWNzTWFuYWdlclNldFN1YnJlc291cmNlVW5pcXVlUmVkaXJlY3RUbyk6CisgICAgICAg
ICAgICBUZXN0IGluZnJhc3RydWN0dXJlLgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQy9XS1Jl
c291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VyLmg6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlJl
c291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VyLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUmVz
b3VyY2VMb2FkU3RhdGlzdGljc01hbmFnZXI6OnNldFN1YmZyYW1lVW5kZXJUb3BGcmFtZU9yaWdp
bik6CisgICAgICAgIChXZWJLaXQ6OldlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VyOjpz
ZXRTdWJyZXNvdXJjZVVuZGVyVG9wRnJhbWVPcmlnaW4pOgorICAgICAgICAoV2ViS2l0OjpXZWJS
ZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdlcjo6c2V0U3VicmVzb3VyY2VVbmlxdWVSZWRpcmVj
dFRvKToKKyAgICAgICAgICAgIFRlc3QgaW5mcmFzdHJ1Y3R1cmUuCisgICAgICAgICogVUlQcm9j
ZXNzL1dlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VyLmg6CisgICAgICAgICogVUlQcm9j
ZXNzL1dlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZS5jcHA6CisgICAgICAgIChXZWJLaXQ6
OldlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZTo6V2ViUmVzb3VyY2VMb2FkU3RhdGlzdGlj
c1N0b3JlKToKKyAgICAgICAgICAgIFJlbmFtZWQgbV9zdG9yYWdlUGF0aCB0byBtX3N0YXRpc3Rp
Y3NTdG9yYWdlUGF0aCBmb3IgY2xhcml0eS4KKyAgICAgICAgKFdlYktpdDo6V2ViUmVzb3VyY2VM
b2FkU3RhdGlzdGljc1N0b3JlOjpjbGFzc2lmeVJlc291cmNlKToKKyAgICAgICAgICAgIE5vdyBj
YWxscyB0aGUgY2xhc3NpZmllciB0aHJvdWdoIGl0cyBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xh
c3NpZmllcgorICAgICAgICAgICAgbWVtYmVyIHZhcmlhYmxlLgorICAgICAgICAoV2ViS2l0OjpX
ZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmU6OnBlcnNpc3RlbnRTdG9yYWdlUGF0aCk6Cisg
ICAgICAgICAgICBSZW5hbWVkIG1fc3RvcmFnZVBhdGggdG8gbV9zdGF0aXN0aWNzU3RvcmFnZVBh
dGggZm9yIGNsYXJpdHkuCisgICAgICAgIChXZWJLaXQ6OldlYlJlc291cmNlTG9hZFN0YXRpc3Rp
Y3NTdG9yZTo6d3JpdGVFbmNvZGVyVG9EaXNrKToKKyAgICAgICAgICAgIFJlbmFtZWQgbV9zdG9y
YWdlUGF0aCB0byBtX3N0YXRpc3RpY3NTdG9yYWdlUGF0aCBmb3IgY2xhcml0eS4KKyAgICAgICAg
KFdlYktpdDo6V2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlOjpoYXNQcmV2YWxlbnRSZXNv
dXJjZUNoYXJhY3RlcmlzdGljcyk6IERlbGV0ZWQuCisgICAgICAgICogVUlQcm9jZXNzL1dlYlJl
c291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZS5oOgorICAgICAgICAqIFdlYktpdDIueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgICAgIEFkZGVkIHRoZSBuZXcgY2xhc3NpZmllciBz
b3VyY2UgZmlsZXMgdW5kZXIgUGxhdGZvcm0vY2xhc3NpZmllciBhbmQgdGhlCisgICAgICAgICAg
ICBjb3JlUHJlZGljdGlvbl9tb2RlbCBmaWxlIHVuZGVyIFJlc291cmNlcy9SZXNvdXJjZUxvYWRT
dGF0aXN0aWNzLgorCiAyMDE3LTAyLTIwICBXZW5zb24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBw
bGUuY29tPgogCiAgICAgICAgIEFkZCBwbHVtYmluZyB0byB0aGUgVUkgcHJvY2VzcyBmb3IgVGV4
dEluZGljYXRvckRhdGEgd2hlbiBjb21wdXRpbmcgdGhlIGRyYWcgaW1hZ2UKSW5kZXg6IFNvdXJj
ZS9XZWJLaXQyL1BsYXRmb3JtR1RLLmNtYWtlCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQy
L1BsYXRmb3JtR1RLLmNtYWtlCShyZXZpc2lvbiAyMTI2NTYpCisrKyBTb3VyY2UvV2ViS2l0Mi9Q
bGF0Zm9ybUdUSy5jbWFrZQkod29ya2luZyBjb3B5KQpAQCAtNDYsNiArNDYsOCBAQCBsaXN0KEFQ
UEVORCBXZWJLaXQyX1NPVVJDRVMKICAgICBQbGF0Zm9ybS9JUEMvdW5peC9BdHRhY2htZW50VW5p
eC5jcHAKICAgICBQbGF0Zm9ybS9JUEMvdW5peC9Db25uZWN0aW9uVW5peC5jcHAKIAorICAgIFBs
YXRmb3JtL2NsYXNzaWZpZXIvUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXJCYXNlLmNw
cAorCiAgICAgUGxhdGZvcm0vZ2xpYi9Nb2R1bGVHbGliLmNwcAogCiAgICAgUGxhdGZvcm0vdW5p
eC9Mb2dnaW5nVW5peC5jcHAKQEAgLTg1Miw2ICs4NTQsNyBAQCBsaXN0KEFQUEVORCBXZWJLaXQy
X0lOQ0xVREVfRElSRUNUT1JJRVMKICAgICAiJHtXRUJLSVQyX0RJUn0vTmV0d29ya1Byb2Nlc3Mv
c291cCIKICAgICAiJHtXRUJLSVQyX0RJUn0vTmV0d29ya1Byb2Nlc3MvdW5peCIKICAgICAiJHtX
RUJLSVQyX0RJUn0vUGxhdGZvcm0vSVBDL2dsaWIiCisgICAgIiR7V0VCS0lUMl9ESVJ9L1BsYXRm
b3JtL2NsYXNzaWZpZXIiCiAgICAgIiR7V0VCS0lUMl9ESVJ9L1NoYXJlZC9BUEkvYy9ndGsiCiAg
ICAgIiR7V0VCS0lUMl9ESVJ9L1NoYXJlZC9QbHVnaW5zL3VuaXgiCiAgICAgIiR7V0VCS0lUMl9E
SVJ9L1NoYXJlZC9nbGliIgpJbmRleDogU291cmNlL1dlYktpdDIvUGxhdGZvcm1NYWMuY21ha2UK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvUGxhdGZvcm1NYWMuY21ha2UJKHJldmlzaW9u
IDIxMjY1NikKKysrIFNvdXJjZS9XZWJLaXQyL1BsYXRmb3JtTWFjLmNtYWtlCSh3b3JraW5nIGNv
cHkpCkBAIC00OSw2ICs0OSwxMCBAQCBsaXN0KEFQUEVORCBXZWJLaXQyX1NPVVJDRVMKIAogICAg
IFBsYXRmb3JtL2NnL0NHVXRpbGl0aWVzLmNwcAogCisgICAgUGxhdGZvcm0vY2xhc3NpZmllci9S
ZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllckJhc2UuY3BwCisKKyAgICBQbGF0Zm9ybS9j
bGFzc2lmaWVyL2NvY29hL1Jlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQ29jb2EuY3Bw
CisKICAgICBQbGF0Zm9ybS9mb3VuZGF0aW9uL0xvZ2dpbmdGb3VuZGF0aW9uLm1tCiAKICAgICBQ
bGF0Zm9ybS9jb2NvYS9TaGFyZWRNZW1vcnlDb2NvYS5jcHAKQEAgLTM5Miw2ICszOTYsOCBAQCBs
aXN0KEFQUEVORCBXZWJLaXQyX0lOQ0xVREVfRElSRUNUT1JJRVMKICAgICAiJHtXRUJLSVQyX0RJ
Un0vVUlQcm9jZXNzL1Njcm9sbGluZyIKICAgICAiJHtXRUJLSVQyX0RJUn0vVUlQcm9jZXNzL2lv
cyIKICAgICAiJHtXRUJLSVQyX0RJUn0vUGxhdGZvcm0vY2ciCisgICAgIiR7V0VCS0lUMl9ESVJ9
L1BsYXRmb3JtL2NsYXNzaWZpZXIiCisgICAgIiR7V0VCS0lUMl9ESVJ9L1BsYXRmb3JtL2NsYXNz
aWZpZXIvY29jb2EiCiAgICAgIiR7V0VCS0lUMl9ESVJ9L1BsYXRmb3JtL21hYyIKICAgICAiJHtX
RUJLSVQyX0RJUn0vUGxhdGZvcm0vdW5peCIKICAgICAiJHtXRUJLSVQyX0RJUn0vUGxhdGZvcm0v
c3BpL0NvY29hIgpJbmRleDogU291cmNlL1dlYktpdDIvQ29uZmlndXJhdGlvbnMvQmFzZVRhcmdl
dC54Y2NvbmZpZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9Db25maWd1cmF0aW9ucy9C
YXNlVGFyZ2V0LnhjY29uZmlnCShyZXZpc2lvbiAyMTI2NTYpCisrKyBTb3VyY2UvV2ViS2l0Mi9D
b25maWd1cmF0aW9ucy9CYXNlVGFyZ2V0LnhjY29uZmlnCSh3b3JraW5nIGNvcHkpCkBAIC0zMiw3
ICszMiw3IEBAIFdLX1BSSVZBVEVfRlJBTUVXT1JLU19ESVJfW3Nkaz1pcGhvbmVvcyoKIFdLX1BS
SVZBVEVfRlJBTUVXT1JLU19ESVJfaXBob25lb3NfWUVTID0gJChTUkNST09UKS8uLi8uLi9XZWJL
aXRMaWJyYXJpZXMvV2ViS2l0UHJpdmF0ZUZyYW1ld29ya1N0dWJzL2lPUy8kKFdLX1RBUkdFVF9J
T1NfVkVSU0lPTl9NQUpPUik7CiBXS19QUklWQVRFX0ZSQU1FV09SS1NfRElSX2lwaG9uZW9zX05P
ID0gJChQUk9EVUNUSU9OX0ZSQU1FV09SS1NfRElSKTsKIAotRlJBTUVXT1JLX1NFQVJDSF9QQVRI
U19iYXNlID0gIiQoVU1CUkVMTEFfRlJBTUVXT1JLU19ESVIpIiAkKEZSQU1FV09SS19TRUFSQ0hf
UEFUSFMpOworRlJBTUVXT1JLX1NFQVJDSF9QQVRIU19iYXNlID0gIiQoVU1CUkVMTEFfRlJBTUVX
T1JLU19ESVIpIiAvU3lzdGVtL0xpYnJhcnkvUHJpdmF0ZUZyYW1ld29ya3MgJChGUkFNRVdPUktf
U0VBUkNIX1BBVEhTKTsKIEZSQU1FV09SS19TRUFSQ0hfUEFUSFNbc2RrPWlwaG9uZSpdID0gJChG
UkFNRVdPUktfU0VBUkNIX1BBVEhTX2Jhc2UpICQoV0tfUFJJVkFURV9GUkFNRVdPUktTX0RJUik7
CiBGUkFNRVdPUktfU0VBUkNIX1BBVEhTID0gJChGUkFNRVdPUktfU0VBUkNIX1BBVEhTX2Jhc2Up
OwogCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9Db25maWd1cmF0aW9ucy9XZWJLaXQueGNjb25maWcK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvQ29uZmlndXJhdGlvbnMvV2ViS2l0LnhjY29u
ZmlnCShyZXZpc2lvbiAyMTI2NTYpCisrKyBTb3VyY2UvV2ViS2l0Mi9Db25maWd1cmF0aW9ucy9X
ZWJLaXQueGNjb25maWcJKHdvcmtpbmcgY29weSkKQEAgLTM0LDEyICszNCwxNCBAQCBNT0RVTEVN
QVBfRklMRVtzZGs9aXBob25lKl09TW9kdWxlcy9pT1MuCiBJTlNUQUxMX1BBVEggPSAkKFdFQktJ
VF9GUkFNRVdPUktTX0RJUik7CiBEWUxJQl9JTlNUQUxMX05BTUVfQkFTRSA9ICQoTk9STUFMX1dF
QktJVF9GUkFNRVdPUktTX0RJUik7CiAKLUZSQU1FV09SS19BTkRfTElCUkFSWV9MREZMQUdTX0JB
U0VfaW9zID0gLWxvYmpjIC1mcmFtZXdvcmsgQXNzZXJ0aW9uU2VydmljZXMgLWZyYW1ld29yayBD
Rk5ldHdvcmsgLWZyYW1ld29yayBDb3JlRm91bmRhdGlvbiAtZnJhbWV3b3JrIENvcmVHcmFwaGlj
cyAtZnJhbWV3b3JrIENvcmVQREYgLWZyYW1ld29yayBDb3JlVGV4dCAtZnJhbWV3b3JrIEZvdW5k
YXRpb24gLWZyYW1ld29yayBHcmFwaGljc1NlcnZpY2VzIC1mcmFtZXdvcmsgSW1hZ2VJTyAtZnJh
bWV3b3JrIFVJS2l0IC1mcmFtZXdvcmsgT3BlbkdMRVMgLWZyYW1ld29yayBNb2JpbGVDb3JlU2Vy
dmljZXMgLWxNb2JpbGVHZXN0YWx0ICQoRlJBTUVXT1JLX0FORF9MSUJSQVJZX0xERkxBR1NfUExB
VEZPUk1fJChQTEFURk9STV9OQU1FKSk7CitGUkFNRVdPUktfQU5EX0xJQlJBUllfTERGTEFHU19C
QVNFX2lvcyA9IC1sb2JqYyAtZnJhbWV3b3JrIEFzc2VydGlvblNlcnZpY2VzIC1mcmFtZXdvcmsg
Q0ZOZXR3b3JrIC1mcmFtZXdvcmsgQ29yZUZvdW5kYXRpb24gLWZyYW1ld29yayBDb3JlR3JhcGhp
Y3MgLWZyYW1ld29yayBDb3JlUERGIC1mcmFtZXdvcmsgQ29yZVByZWRpY3Rpb24gLWZyYW1ld29y
ayBDb3JlVGV4dCAtZnJhbWV3b3JrIEZvdW5kYXRpb24gLWZyYW1ld29yayBHcmFwaGljc1NlcnZp
Y2VzIC1mcmFtZXdvcmsgSW1hZ2VJTyAtZnJhbWV3b3JrIFVJS2l0IC1mcmFtZXdvcmsgT3BlbkdM
RVMgLWZyYW1ld29yayBNb2JpbGVDb3JlU2VydmljZXMgLWxNb2JpbGVHZXN0YWx0ICQoRlJBTUVX
T1JLX0FORF9MSUJSQVJZX0xERkxBR1NfUExBVEZPUk1fJChQTEFURk9STV9OQU1FKSk7CiBGUkFN
RVdPUktfQU5EX0xJQlJBUllfTERGTEFHU1tzZGs9aXBob25lb3MqXSA9ICQoRlJBTUVXT1JLX0FO
RF9MSUJSQVJZX0xERkxBR1NfQkFTRV9pb3MpIC1mcmFtZXdvcmsgSU9TdXJmYWNlOwogRlJBTUVX
T1JLX0FORF9MSUJSQVJZX0xERkxBR1Nbc2RrPWlwaG9uZXNpbXVsYXRvcipdID0gJChGUkFNRVdP
UktfQU5EX0xJQlJBUllfTERGTEFHU19CQVNFX2lvcyk7CiBGUkFNRVdPUktfQU5EX0xJQlJBUllf
TERGTEFHU19QTEFURk9STV9pcGhvbmVvcyA9IDsKIEZSQU1FV09SS19BTkRfTElCUkFSWV9MREZM
QUdTX1BMQVRGT1JNX2lwaG9uZXNpbXVsYXRvciA9IDsKLUZSQU1FV09SS19BTkRfTElCUkFSWV9M
REZMQUdTW3Nkaz1tYWNvc3gqXSA9IC1mcmFtZXdvcmsgQXBwbGljYXRpb25TZXJ2aWNlcyAtZnJh
bWV3b3JrIENhcmJvbiAtZnJhbWV3b3JrIENvY29hIC1mcmFtZXdvcmsgQ29yZVNlcnZpY2VzIC1m
cmFtZXdvcmsgSU9LaXQgLWZyYW1ld29yayBDb3JlQXVkaW8gLWZyYW1ld29yayBJT1N1cmZhY2Ug
LWZyYW1ld29yayBPcGVuR0w7CitGUkFNRVdPUktfQU5EX0xJQlJBUllfTERGTEFHU1tzZGs9bWFj
b3N4Kl0gPSAtZnJhbWV3b3JrIEFwcGxpY2F0aW9uU2VydmljZXMgLWZyYW1ld29yayBDYXJib24g
LWZyYW1ld29yayBDb2NvYSAtZnJhbWV3b3JrIENvcmVTZXJ2aWNlcyAtZnJhbWV3b3JrIElPS2l0
IC1mcmFtZXdvcmsgQ29yZUF1ZGlvIC1mcmFtZXdvcmsgSU9TdXJmYWNlIC1mcmFtZXdvcmsgT3Bl
bkdMICQoRVhUUkFfRlJBTUVXT1JLX0FORF9MSUJSQVJZX0xERkxBR1NfJChUQVJHRVRfTUFDX09T
X1hfVkVSU0lPTl9NQUpPUikpOworRVhUUkFfRlJBTUVXT1JLX0FORF9MSUJSQVJZX0xERkxBR1Nf
MTAxMjAwID0gLWZyYW1ld29yayBDb3JlUHJlZGljdGlvbjsKK0VYVFJBX0ZSQU1FV09SS19BTkRf
TElCUkFSWV9MREZMQUdTXzEwMTMwMCA9IC1mcmFtZXdvcmsgQ29yZVByZWRpY3Rpb247CiAKIC8v
IFByZXZlbnQgQysrIHN0YW5kYXJkIGxpYnJhcnkgb3BlcmF0b3IgbmV3LCBkZWxldGUgYW5kIHRo
ZWlyIHJlbGF0ZWQgZXhjZXB0aW9uIHR5cGVzIGZyb20gYmVpbmcgZXhwb3J0ZWQgYXMgd2VhayBz
eW1ib2xzLgogVU5FWFBPUlRFRF9TWU1CT0xfTERGTEFHUyA9IC1XbCwtdW5leHBvcnRlZF9zeW1i
b2wgLVdsLF9fWlRJU3Q5YmFkX2FsbG9jIC1XbCwtdW5leHBvcnRlZF9zeW1ib2wgLVdsLF9fWlRJ
U3Q5ZXhjZXB0aW9uIC1XbCwtdW5leHBvcnRlZF9zeW1ib2wgLVdsLF9fWlRTU3Q5YmFkX2FsbG9j
IC1XbCwtdW5leHBvcnRlZF9zeW1ib2wgLVdsLF9fWlRTU3Q5ZXhjZXB0aW9uIC1XbCwtdW5leHBv
cnRlZF9zeW1ib2wgLVdsLF9fWmRsUHZTXyAtV2wsLXVuZXhwb3J0ZWRfc3ltYm9sIC1XbCxfX1pu
d21QdiAtV2wsLXVuZXhwb3J0ZWRfc3ltYm9sIC1XbCxfX1pud20gLVdsLC11bmV4cG9ydGVkX3N5
bWJvbCwgLVdsLF9fWk5TdDNfXzE4ZnVuY3Rpb25JRnZON1dlYkNvcmUxMlBvbGljeUFjdGlvbkVF
RUMyRU9TNF8gLVdsLC11bmV4cG9ydGVkX3N5bWJvbCwgLVdsLF9fWk5TdDNfXzE4ZnVuY3Rpb25J
RnZON1dlYkNvcmUxMlBvbGljeUFjdGlvbkVFRUMxRU9TNF8gLVdsLC11bmV4cG9ydGVkX3N5bWJv
bCwgLVdsLF9fWk5TdDNfXzE4ZnVuY3Rpb25JRnZON1dlYkNvcmUxMlBvbGljeUFjdGlvbkVFRWFT
RURuIC1XbCwtdW5leHBvcnRlZF9zeW1ib2wsIC1XbCxfX1pOS1N0M19fMThmdW5jdGlvbklGdk43
V2ViQ29yZTEyUG9saWN5QWN0aW9uRUVFY2xFUzJfIC1XbCwtdW5leHBvcnRlZF9zeW1ib2wsIC1X
bCxfX1pOU3QzX18xOGZ1bmN0aW9uSUZ2TjdXZWJDb3JlMTJQb2xpY3lBY3Rpb25FRUU0c3dhcEVS
UzRfIC1XbCwtdW5leHBvcnRlZF9zeW1ib2wsIC1XbCxfX1pOU3QzX18xOGZ1bmN0aW9uSUZ2TjdX
ZWJDb3JlMTJQb2xpY3lBY3Rpb25FRUVDMUVSS1M0XyAtV2wsLXVuZXhwb3J0ZWRfc3ltYm9sLCAt
V2wsX19aTlN0M19fMThmdW5jdGlvbklGdk43V2ViQ29yZTEyUG9saWN5QWN0aW9uRUVFQzJFUktT
NF8gLVdsLC11bmV4cG9ydGVkX3N5bWJvbCwgLVdsLF9fWk5TdDNfXzE4ZnVuY3Rpb25JRnZON1dl
YkNvcmUxMlBvbGljeUFjdGlvbkVFRUQxRXYgLVdsLC11bmV4cG9ydGVkX3N5bWJvbCwgLVdsLF9f
Wk5TdDNfXzE4ZnVuY3Rpb25JRnZON1dlYkNvcmUxMlBvbGljeUFjdGlvbkVFRUQyRXYgLVdsLC11
bmV4cG9ydGVkX3N5bWJvbCwgLVdsLF9fWk5TdDNfXzE4ZnVuY3Rpb25JRnZON1dlYkNvcmUxMlBv
bGljeUFjdGlvbkVFRWFTRVJLUzRfIC1XbCwtdW5leHBvcnRlZF9zeW1ib2wsIC1XbCxfX1pUVk5T
dDNfXzExN2JhZF9mdW5jdGlvbl9jYWxsRTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1BsYXRmb3Jt
L2NsYXNzaWZpZXIvUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXIuaAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9jbGFzc2lmaWVyL1Jlc291cmNlTG9hZFN0YXRp
c3RpY3NDbGFzc2lmaWVyLmgJKG5vbmV4aXN0ZW50KQorKysgU291cmNlL1dlYktpdDIvUGxhdGZv
cm0vY2xhc3NpZmllci9SZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllci5oCSh3b3JraW5n
IGNvcHkpCkBAIC0wLDAgKzEsNTIgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
CisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycK
KyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisg
KiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFM
LCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2lu
Y2x1ZGUgPHd0Zi9QbGF0Zm9ybS5oPgorCisjaWYgUExBVEZPUk0oQ09DT0EpCisjaW5jbHVkZSAi
UmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXJDb2NvYS5oIgorI2Vsc2UKKworI2luY2x1
ZGUgIlJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQmFzZS5oIgorCituYW1lc3BhY2Ug
V2ViS2l0IHsKKworY2xhc3MgUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXIgOiBwdWJs
aWMgUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXJCYXNlIHsKK3B1YmxpYzoKKyAgICBS
ZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllcigpCisgICAgOiBSZXNvdXJjZUxvYWRTdGF0
aXN0aWNzQ2xhc3NpZmllckJhc2UoKSB7IH0KKyAgICAKK3Byb3RlY3RlZDoKKyAgICBib29sIGNs
YXNzaWZ5KGNvbnN0IHVuc2lnbmVkIGEsIGNvbnN0IHVuc2lnbmVkIGIsIGNvbnN0IHVuc2lnbmVk
IGMpIG92ZXJyaWRlCisgICAgeworICAgICAgICByZXR1cm4gY2xhc3NpZnlXaXRoVmVjdG9yVGhy
ZXNob2xkKGEsIGIsIGMpOworICAgIH0KK307CisKK30KKworI2VuZGlmCkluZGV4OiBTb3VyY2Uv
V2ViS2l0Mi9QbGF0Zm9ybS9jbGFzc2lmaWVyL1Jlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lm
aWVyQmFzZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvUGxhdGZvcm0vY2xhc3Np
Zmllci9SZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllckJhc2UuY3BwCShub25leGlzdGVu
dCkKKysrIFNvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL2NsYXNzaWZpZXIvUmVzb3VyY2VMb2FkU3Rh
dGlzdGljc0NsYXNzaWZpZXJCYXNlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDYwIEBA
CisvKgorICogQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRp
c3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElO
Qy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1Ig
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRI
RSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBB
IFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxM
IEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VS
RU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBE
QVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIlJlc291cmNlTG9h
ZFN0YXRpc3RpY3NDbGFzc2lmaWVyQmFzZS5oIgorCisjaW5jbHVkZSA8V2ViQ29yZS9SZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzLmg+CisKK3VzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOworCituYW1lc3Bh
Y2UgV2ViS2l0IHsKKworc3RhdGljIGNvbnN0IGF1dG8gZmVhdHVyZVZlY3Rvckxlbmd0aFRocmVz
aG9sZCA9IDM7Citib29sIFJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQmFzZTo6aGFz
UHJldmFsZW50UmVzb3VyY2VDaGFyYWN0ZXJpc3RpY3MoY29uc3QgUmVzb3VyY2VMb2FkU3RhdGlz
dGljcyYgcmVzb3VyY2VTdGF0aXN0aWMpCit7CisgICAgYXV0byBzdWJyZXNvdXJjZVVuZGVyVG9w
RnJhbWVPcmlnaW5zQ291bnQgPSByZXNvdXJjZVN0YXRpc3RpYy5zdWJyZXNvdXJjZVVuZGVyVG9w
RnJhbWVPcmlnaW5zLnNpemUoKTsKKyAgICBhdXRvIHN1YnJlc291cmNlVW5pcXVlUmVkaXJlY3Rz
VG9Db3VudCA9IHJlc291cmNlU3RhdGlzdGljLnN1YnJlc291cmNlVW5pcXVlUmVkaXJlY3RzVG8u
c2l6ZSgpOworICAgIGF1dG8gc3ViZnJhbWVVbmRlclRvcEZyYW1lT3JpZ2luc0NvdW50ID0gcmVz
b3VyY2VTdGF0aXN0aWMuc3ViZnJhbWVVbmRlclRvcEZyYW1lT3JpZ2lucy5zaXplKCk7CisgICAg
CisgICAgaWYgKCFzdWJyZXNvdXJjZVVuZGVyVG9wRnJhbWVPcmlnaW5zQ291bnQKKyAgICAgICAg
JiYgIXN1YnJlc291cmNlVW5pcXVlUmVkaXJlY3RzVG9Db3VudAorICAgICAgICAmJiAhc3ViZnJh
bWVVbmRlclRvcEZyYW1lT3JpZ2luc0NvdW50KQorICAgICAgICByZXR1cm4gZmFsc2U7CisgICAg
CisgICAgaWYgKHN1YnJlc291cmNlVW5kZXJUb3BGcmFtZU9yaWdpbnNDb3VudCA+IGZlYXR1cmVW
ZWN0b3JMZW5ndGhUaHJlc2hvbGQKKyAgICAgICAgfHwgc3VicmVzb3VyY2VVbmlxdWVSZWRpcmVj
dHNUb0NvdW50ID4gZmVhdHVyZVZlY3Rvckxlbmd0aFRocmVzaG9sZAorICAgICAgICB8fCBzdWJm
cmFtZVVuZGVyVG9wRnJhbWVPcmlnaW5zQ291bnQgPiBmZWF0dXJlVmVjdG9yTGVuZ3RoVGhyZXNo
b2xkKQorICAgICAgICByZXR1cm4gdHJ1ZTsKKworICAgIHJldHVybiBjbGFzc2lmeShzdWJyZXNv
dXJjZVVuZGVyVG9wRnJhbWVPcmlnaW5zQ291bnQsIHN1YnJlc291cmNlVW5pcXVlUmVkaXJlY3Rz
VG9Db3VudCwgc3ViZnJhbWVVbmRlclRvcEZyYW1lT3JpZ2luc0NvdW50KTsKK30KKworYm9vbCBS
ZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllckJhc2U6OmNsYXNzaWZ5V2l0aFZlY3RvclRo
cmVzaG9sZChjb25zdCB1bnNpZ25lZCBhLCBjb25zdCB1bnNpZ25lZCBiLCBjb25zdCB1bnNpZ25l
ZCBjKQoreworICAgIHJldHVybiBzcXJ0KGEgKiBhICsgYiAqIGIgKyBjICogYykgPiBmZWF0dXJl
VmVjdG9yTGVuZ3RoVGhyZXNob2xkOworfQorICAgIAorfQpJbmRleDogU291cmNlL1dlYktpdDIv
UGxhdGZvcm0vY2xhc3NpZmllci9SZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllckJhc2Uu
aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9jbGFzc2lmaWVyL1Jlc291
cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQmFzZS5oCShub25leGlzdGVudCkKKysrIFNvdXJj
ZS9XZWJLaXQyL1BsYXRmb3JtL2NsYXNzaWZpZXIvUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNz
aWZpZXJCYXNlLmgJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw0NCBAQAorLyoKKyAqIENvcHly
aWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisg
KgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09O
VFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisg
KiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9S
IElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklU
UzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICog
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisK
KyNwcmFnbWEgb25jZQorCituYW1lc3BhY2UgV2ViQ29yZSB7CitzdHJ1Y3QgUmVzb3VyY2VMb2Fk
U3RhdGlzdGljczsKK30KKworbmFtZXNwYWNlIFdlYktpdCB7CisKK2NsYXNzIFJlc291cmNlTG9h
ZFN0YXRpc3RpY3NDbGFzc2lmaWVyQmFzZSB7CitwdWJsaWM6CisgICAgYm9vbCBoYXNQcmV2YWxl
bnRSZXNvdXJjZUNoYXJhY3RlcmlzdGljcyhjb25zdCBXZWJDb3JlOjpSZXNvdXJjZUxvYWRTdGF0
aXN0aWNzJiByZXNvdXJjZVN0YXRpc3RpYyk7Citwcm90ZWN0ZWQ6CisgICAgUmVzb3VyY2VMb2Fk
U3RhdGlzdGljc0NsYXNzaWZpZXJCYXNlKCkgeyB9CisgICAgdmlydHVhbCB+UmVzb3VyY2VMb2Fk
U3RhdGlzdGljc0NsYXNzaWZpZXJCYXNlKCkgeyB9CisgICAgdmlydHVhbCBib29sIGNsYXNzaWZ5
KGNvbnN0IHVuc2lnbmVkLCBjb25zdCB1bnNpZ25lZCwgY29uc3QgdW5zaWduZWQpID0gMDsKKyAg
ICBib29sIGNsYXNzaWZ5V2l0aFZlY3RvclRocmVzaG9sZChjb25zdCB1bnNpZ25lZCwgY29uc3Qg
dW5zaWduZWQsIGNvbnN0IHVuc2lnbmVkKTsKK307CisKK30KSW5kZXg6IFNvdXJjZS9XZWJLaXQy
L1BsYXRmb3JtL2NsYXNzaWZpZXIvY29jb2EvQ29yZVByZWRpY3Rpb25TUEkuaAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9jbGFzc2lmaWVyL2NvY29hL0NvcmVQcmVkaWN0
aW9uU1BJLmgJKG5vbmV4aXN0ZW50KQorKysgU291cmNlL1dlYktpdDIvUGxhdGZvcm0vY2xhc3Np
Zmllci9jb2NvYS9Db3JlUHJlZGljdGlvblNQSS5oCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEs
NTEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICog
MS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisg
KiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQ
TEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVT
UyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAor
ICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1Mg
Rk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQg
U0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisg
KiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQ
Uk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICog
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2lmIFVTRShBUFBMRV9JTlRFUk5B
TF9TREspICYmIEhBVkUoQ09SRV9QUkVESUNUSU9OKQorI2luY2x1ZGUgPENvcmVQcmVkaWN0aW9u
L3N2bS5oPgorI2Vsc2UKKworc3RydWN0IHN2bV9ub2RlIHsKKyAgICBpbnQgaW5kZXg7CisgICAg
ZG91YmxlIHZhbHVlOworfTsKKworc3RydWN0IHN2bV9tb2RlbCB7IH07CisKKyNlbmRpZgorCisj
aWZkZWYgX19jcGx1c3BsdXMKK2V4dGVybiAiQyIgeworI2VuZGlmCisKK2RvdWJsZSBzdm1fcHJl
ZGljdF92YWx1ZXMoY29uc3Qgc3RydWN0IHN2bV9tb2RlbCosIGNvbnN0IHN0cnVjdCBzdm1fbm9k
ZSosIGRvdWJsZSopOworCitzdHJ1Y3Qgc3ZtX21vZGVsICpzdm1fbG9hZF9tb2RlbChjb25zdCBj
aGFyKik7CisKKyNpZmRlZiBfX2NwbHVzcGx1cworfQorI2VuZGlmCkluZGV4OiBTb3VyY2UvV2Vi
S2l0Mi9QbGF0Zm9ybS9jbGFzc2lmaWVyL2NvY29hL1Jlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFz
c2lmaWVyQ29jb2EuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL2Ns
YXNzaWZpZXIvY29jb2EvUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXJDb2NvYS5jcHAJ
KG5vbmV4aXN0ZW50KQorKysgU291cmNlL1dlYktpdDIvUGxhdGZvcm0vY2xhc3NpZmllci9jb2Nv
YS9SZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllckNvY29hLmNwcAkod29ya2luZyBjb3B5
KQpAQCAtMCwwICsxLDExNCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAq
IGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICog
QU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJF
IExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNp
bmNsdWRlICJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllckNvY29hLmgiCisKKyNpbmNs
dWRlICJMb2dnaW5nLmgiCisKK25hbWVzcGFjZSBXZWJLaXQgeworCitib29sIFJlc291cmNlTG9h
ZFN0YXRpc3RpY3NDbGFzc2lmaWVyOjpjbGFzc2lmeShjb25zdCB1bnNpZ25lZCBzdWJyZXNvdXJj
ZVVuZGVyVG9wRnJhbWVPcmlnaW5zQ291bnQsIGNvbnN0IHVuc2lnbmVkIHN1YnJlc291cmNlVW5p
cXVlUmVkaXJlY3RzVG9Db3VudCwgY29uc3QgdW5zaWduZWQgc3ViZnJhbWVVbmRlclRvcEZyYW1l
T3JpZ2luc0NvdW50KQoreworICAgIGlmICghc2hvdWxkVXNlQ29yZVByZWRpY3Rpb24oKSkKKyAg
ICAgICAgcmV0dXJuIGNsYXNzaWZ5V2l0aFZlY3RvclRocmVzaG9sZChzdWJyZXNvdXJjZVVuZGVy
VG9wRnJhbWVPcmlnaW5zQ291bnQsIHN1YnJlc291cmNlVW5pcXVlUmVkaXJlY3RzVG9Db3VudCwg
c3ViZnJhbWVVbmRlclRvcEZyYW1lT3JpZ2luc0NvdW50KTsKKworI2lmIEhBVkUoQ09SRV9QUkVE
SUNUSU9OKQorICAgIFZlY3Rvcjx1bnNpZ25lZD4gbm9uWmVyb0ZlYXR1cmVzOworICAgIFZlY3Rv
cjx1bnNpZ25lZD4gaW5kaWNlczsKKworICAgIGlmIChzdWJyZXNvdXJjZVVuZGVyVG9wRnJhbWVP
cmlnaW5zQ291bnQpIHsKKyAgICAgICAgbm9uWmVyb0ZlYXR1cmVzLmFwcGVuZChzdWJyZXNvdXJj
ZVVuZGVyVG9wRnJhbWVPcmlnaW5zQ291bnQpOworICAgICAgICBpbmRpY2VzLmFwcGVuZCgxKTsK
KyAgICB9CisgICAgaWYgKHN1YnJlc291cmNlVW5pcXVlUmVkaXJlY3RzVG9Db3VudCkgeworICAg
ICAgICBub25aZXJvRmVhdHVyZXMuYXBwZW5kKHN1YnJlc291cmNlVW5pcXVlUmVkaXJlY3RzVG9D
b3VudCk7CisgICAgICAgIGluZGljZXMuYXBwZW5kKDIpOworICAgIH0KKyAgICBpZiAoc3ViZnJh
bWVVbmRlclRvcEZyYW1lT3JpZ2luc0NvdW50KSB7CisgICAgICAgIG5vblplcm9GZWF0dXJlcy5h
cHBlbmQoc3ViZnJhbWVVbmRlclRvcEZyYW1lT3JpZ2luc0NvdW50KTsKKyAgICAgICAgaW5kaWNl
cy5hcHBlbmQoMyk7CisgICAgfQorCisgICAgc3ZtX25vZGUqIGV4YW1wbGVWZWN0b3IgPSBuZXcg
c3ZtX25vZGVbbm9uWmVyb0ZlYXR1cmVzLnNpemUoKSArIDFdOworICAgIGZvciAoc2l6ZV90IGkg
PSAwOyBpIDwgbm9uWmVyb0ZlYXR1cmVzLnNpemUoKTsgaSsrKSB7CisgICAgICAgIGV4YW1wbGVW
ZWN0b3JbaV0uaW5kZXggPSBpbmRpY2VzLmF0KGkpOworICAgICAgICBleGFtcGxlVmVjdG9yW2ld
LnZhbHVlID0gbm9uWmVyb0ZlYXR1cmVzLmF0KGkpOworICAgIH0KKyAgICAvLyBBZGQgdGVybWlu
YXRpb24gbm9kZSB3aXRoIGluZGV4IC0xLgorICAgIGV4YW1wbGVWZWN0b3Jbbm9uWmVyb0ZlYXR1
cmVzLnNpemUoKV0uaW5kZXggPSAtMTsKKyAgICBleGFtcGxlVmVjdG9yW25vblplcm9GZWF0dXJl
cy5zaXplKCldLnZhbHVlID0gLTE7CisKKyAgICBpbnQgY2xhc3NpZmljYXRpb247CisgICAgZG91
YmxlIHNjb3JlOworICAgIGNsYXNzaWZpY2F0aW9uID0gc3ZtX3ByZWRpY3RfdmFsdWVzKG1fY29y
ZVByZWRpY3Rpb25Nb2RlbCwgZXhhbXBsZVZlY3RvciwgJnNjb3JlKTsKKyAgICBkZWxldGVbXSBl
eGFtcGxlVmVjdG9yOworICAgIHJldHVybiBjbGFzc2lmaWNhdGlvbiA8IDA7CisjZW5kaWYKKyAg
ICByZXR1cm4gZmFsc2U7Cit9CisKK1N0cmluZyBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3Np
Zmllcjo6c3RvcmFnZVBhdGgoKQoreworICAgIENGQnVuZGxlUmVmIHdlYktpdEJ1bmRsZSA9IENG
QnVuZGxlR2V0QnVuZGxlV2l0aElkZW50aWZpZXIoQ0ZTVFIoImNvbS5hcHBsZS5XZWJLaXQiKSk7
CisgICAgUmV0YWluUHRyPENGVVJMUmVmPiByZXNvdXJjZVVybCA9IGFkb3B0Q0YoQ0ZCdW5kbGVD
b3B5UmVzb3VyY2VzRGlyZWN0b3J5VVJMKHdlYktpdEJ1bmRsZSkpOworICAgIHJlc291cmNlVXJs
ID0gYWRvcHRDRihDRlVSTENyZWF0ZUNvcHlBcHBlbmRpbmdQYXRoQ29tcG9uZW50KG51bGxwdHIs
IHJlc291cmNlVXJsLmdldCgpLCBDRlNUUigiY29yZVByZWRpY3Rpb25fbW9kZWwiKSwgZmFsc2Up
KTsKKyAgICBDRkVycm9yUmVmIGVycm9yID0gbnVsbHB0cjsKKyAgICByZXNvdXJjZVVybCA9IGFk
b3B0Q0YoQ0ZVUkxDcmVhdGVGaWxlUGF0aFVSTChudWxscHRyLCByZXNvdXJjZVVybC5nZXQoKSwg
JmVycm9yKSk7CisKKyAgICBpZiAoZXJyb3IgfHwgIXJlc291cmNlVXJsKQorICAgICAgICByZXR1
cm4gU3RyaW5nKCk7CisKKyAgICBSZXRhaW5QdHI8Q0ZTdHJpbmdSZWY+IHJlc291cmNlVXJsU3Ry
aW5nID0gYWRvcHRDRihDRlVSTENvcHlGaWxlU3lzdGVtUGF0aChyZXNvdXJjZVVybC5nZXQoKSwg
a0NGVVJMUE9TSVhQYXRoU3R5bGUpKTsKKyAgICByZXR1cm4gU3RyaW5nKHJlc291cmNlVXJsU3Ry
aW5nLmdldCgpKTsKK30KKworYm9vbCBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllcjo6
c2hvdWxkVXNlQ29yZVByZWRpY3Rpb24oKQoreworI2lmIEhBVkUoQ09SRV9QUkVESUNUSU9OKQor
ICAgIGlmIChtX2NvcmVQcmVkaWN0aW9uTW9kZWwpCisgICAgICAgIHJldHVybiB0cnVlOworCisg
ICAgaWYgKCFtX3VzZUNvcmVQcmVkaWN0aW9uKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAg
ICBTdHJpbmcgc3RvcmFnZVBhdGhTdHIgPSBzdG9yYWdlUGF0aCgpOworICAgIGlmIChzdG9yYWdl
UGF0aFN0ci5pc051bGwoKSB8fCBzdG9yYWdlUGF0aFN0ci5pc0VtcHR5KCkpIHsKKyAgICAgICAg
bV91c2VDb3JlUHJlZGljdGlvbiA9IGZhbHNlOworICAgICAgICByZXR1cm4gZmFsc2U7CisgICAg
fQorCisgICAgbV9jb3JlUHJlZGljdGlvbk1vZGVsID0gc3ZtX2xvYWRfbW9kZWwoKHN0b3JhZ2VQ
YXRoU3RyKS51dGY4KCkuZGF0YSgpKTsKKyAgICAKKyAgICBpZiAobV9jb3JlUHJlZGljdGlvbk1v
ZGVsKQorICAgICAgICByZXR1cm4gdHJ1ZTsKKworICAgIFdURkxvZ0Fsd2F5cygiUmVzb3VyY2VM
b2FkU3RhdGlzdGljc0NsYXNzaWZpZXI6OnNob3VsZFVzZUNvcmVQcmVkaWN0aW9uKCk6IENvdWxk
bid0IGxvYWQgbW9kZWwgZmlsZSBhdCBwYXRoICVzLiIsIHN0b3JhZ2VQYXRoU3RyLnV0ZjgoKS5k
YXRhKCkpOworICAgIG1fdXNlQ29yZVByZWRpY3Rpb24gPSBmYWxzZTsKKyNlbmRpZgorICAgIHJl
dHVybiBmYWxzZTsKK30KKworfQpJbmRleDogU291cmNlL1dlYktpdDIvUGxhdGZvcm0vY2xhc3Np
Zmllci9jb2NvYS9SZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllckNvY29hLmgKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYktpdDIvUGxhdGZvcm0vY2xhc3NpZmllci9jb2NvYS9SZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllckNvY29hLmgJKG5vbmV4aXN0ZW50KQorKysgU291cmNl
L1dlYktpdDIvUGxhdGZvcm0vY2xhc3NpZmllci9jb2NvYS9SZXNvdXJjZUxvYWRTdGF0aXN0aWNz
Q2xhc3NpZmllckNvY29hLmgJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw1NCBAQAorLyoKKyAq
IENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgor
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp
b24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJ
VFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJ
TkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G
CisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1Ig
UFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgor
ICovCisKKyNwcmFnbWEgb25jZQorCisjaWYgSEFWRShDT1JFX1BSRURJQ1RJT04pCisjaW5jbHVk
ZSAiQ29yZVByZWRpY3Rpb25TUEkuaCIKKyNlbmRpZgorI2luY2x1ZGUgIlJlc291cmNlTG9hZFN0
YXRpc3RpY3NDbGFzc2lmaWVyQmFzZS5oIgorI2luY2x1ZGUgPENvcmVGb3VuZGF0aW9uL0NvcmVG
b3VuZGF0aW9uLmg+CisjaW5jbHVkZSA8d3RmL1BsYXRmb3JtLmg+CisjaW5jbHVkZSA8d3RmL3Rl
eHQvV1RGU3RyaW5nLmg+CisKK25hbWVzcGFjZSBXZWJLaXQgeworCitjbGFzcyBSZXNvdXJjZUxv
YWRTdGF0aXN0aWNzQ2xhc3NpZmllciA6IHB1YmxpYyBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xh
c3NpZmllckJhc2UgeworCitwdWJsaWM6CisgICAgUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNz
aWZpZXIoKQorICAgICAgICA6IFJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQmFzZSgp
IHsgfQorCitwcml2YXRlOgorICAgIGJvb2wgY2xhc3NpZnkoY29uc3QgdW5zaWduZWQsIGNvbnN0
IHVuc2lnbmVkLCBjb25zdCB1bnNpZ25lZCkgb3ZlcnJpZGU7CisgICAgU3RyaW5nIHN0b3JhZ2VQ
YXRoKCk7CisgICAgYm9vbCBzaG91bGRVc2VDb3JlUHJlZGljdGlvbigpOworI2lmIEhBVkUoQ09S
RV9QUkVESUNUSU9OKQorICAgIHN0cnVjdCBzdm1fbW9kZWwqIG1fY29yZVByZWRpY3Rpb25Nb2Rl
bDsKKyAgICBib29sIG1fdXNlQ29yZVByZWRpY3Rpb24geyB0cnVlIH07CisjZW5kaWYKK307CisK
K30KSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1Jlc291cmNlcy9SZXNvdXJjZUxvYWRTdGF0aXN0aWNz
L2NvcmVQcmVkaWN0aW9uX21vZGVsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1Jlc291
cmNlcy9SZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NvcmVQcmVkaWN0aW9uX21vZGVsCShub25leGlz
dGVudCkKKysrIFNvdXJjZS9XZWJLaXQyL1Jlc291cmNlcy9SZXNvdXJjZUxvYWRTdGF0aXN0aWNz
L2NvcmVQcmVkaWN0aW9uX21vZGVsCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNjc4IEBACitz
dm1fdHlwZSBjX3N2Ywora2VybmVsX3R5cGUgcmJmCitnYW1tYSAwLjEKK25yX2NsYXNzIDIKK3Rv
dGFsX3N2IDMzMAorcmhvIDAuMjg3OTQ1NjQyMjYxCitsYWJlbCAtMSAxCitucl9zdiAzMDAgMzAK
K1NWCistMC4wNTQ2Njk3MDM4NzI0IDE6MTQuMCAyOjMuMCAzOjcuMCAKKy0wLjA1NDY2OTcwMzg3
MjQgMToxLjAgMjoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIAorLTAuMDU0NjY5NzAzODcy
NCAxOjEuMCAzOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxMi4wIAorLTAuMDU0NjY5NzAzODcy
NCAxOjcuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAgMjoxLjAgCistMC4wNTQ2Njk3MDM4NzI0
IDE6MS4wIDM6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjMuMCAyOjE2LjAgCistMC4wNTQ2Njk3
MDM4NzI0IDE6MS4wIDM6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAyOjIuMCAKKy0wLjA1
NDY2OTcwMzg3MjQgMToxLjAgMzoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIAorLTAuMDU0
NjY5NzAzODcyNCAxOjMuMCAyOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo1LjAgCistMC4wNTQ2
Njk3MDM4NzI0IDE6MTYuMCAyOjIuMCAzOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMjox
LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MTEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo0LjAgMzoz
LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MjguMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAgCist
MC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDM6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAzOjEu
MCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyMi4wIDI6MS4wIDM6MTIuMCAKKy0wLjA1NDY2OTcwMzg3
MjQgMToxNC4wIDM6NS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAzOjEuMCAKKy0wLjA1NDY2
OTcwMzg3MjQgMTo0OC4wIDI6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjI1LjAgMzoxNi4wIAor
LTAuMDU0NjY5NzAzODcyNCAxOjEuMCAyOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMzox
LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Ni4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjcuMCAKKy0w
LjA1NDY2OTcwMzg3MjQgMToxLjAgMjoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDM6MS4w
IAorLTAuMDU0NjY5NzAzODcyNCAxOjMuMCAzOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo3LjAg
MjoxLjAgMzoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAx
OjcuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo1LjAgMjoyLjAgMzozLjAgCistMC4wNTQ2Njk3MDM4
NzI0IDE6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAyOjEuMCAKKy0wLjA1NDY2OTcwMzg3
MjQgMTo0LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDI6MS4wIAorLTAuMDU0NjY5NzAzODcy
NCAxOjEuMCAzOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo5LjAgMzo0LjAgCistMC4wNTQ2Njk3
MDM4NzI0IDE6MS4wIDI6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAzOjEuMCAKKy0wLjA1
NDY2OTcwMzg3MjQgMTo0Ny4wIDI6MjEuMCAzOjMzLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MTEu
MCAyOjIuMCAzOjUuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxMS4wIDI6My4wIDM6MS4wIAorLTAu
MDU0NjY5NzAzODcyNCAxOjEuMCAzOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAgMjoxLjAg
CistMC4wNTQ2Njk3MDM4NzI0IDE6NDMuMCAzOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxMy4w
IDM6Ny4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAzOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQg
MTo0LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MTMuMCAzOjQuMCAKKy0wLjA1NDY2OTcwMzg3MjQg
MTo0Mi4wIDI6NC4wIDM6MzIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxMC4wIDI6NS4wIDM6MS4w
IAorLTAuMDU0NjY5NzAzODcyNCAxOjcuMCAzOjQuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAg
CistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDM6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAz
OjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo2LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDI6
MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjYuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxNi4wIDI6
NC4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEwLjAgMjoxLjAgMzoyLjAgCistMC4wNTQ2Njk3MDM4
NzI0IDE6MTguMCAyOjMuMCAzOjYuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMzoxLjAgCist
MC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDI6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAKKy0w
LjA1NDY2OTcwMzg3MjQgMTozLjAgMjoxLjAgMzoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4w
IDI6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjMuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTozLjAg
CistMC4wNTQ2Njk3MDM4NzI0IDE6NC4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAKKy0wLjA1
NDY2OTcwMzg3MjQgMToyLjAgMzoyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIAorLTAuMDU0
NjY5NzAzODcyNCAxOjEuMCAzOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyMS4wIAorLTAuMDU0
NjY5NzAzODcyNCAxOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAgMjoyLjAgCistMC4wNTQ2
Njk3MDM4NzI0IDE6MTQuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAgMjoxLjAgCistMC4wNTQ2
Njk3MDM4NzI0IDE6Mi4wIDM6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjQuMCAzOjMuMCAKKy0w
LjA1NDY2OTcwMzg3MjQgMToyLjAgMzoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6My4wIAorLTAu
MDU0NjY5NzAzODcyNCAxOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMjoxLjAgCistMC4w
NTQ2Njk3MDM4NzI0IDE6NC4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjM5LjAgMzo0LjAgCistMC4w
NTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAyOjEuMCAzOjEuMCAK
Ky0wLjA1NDY2OTcwMzg3MjQgMTo0LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIDI6MS4wIAor
LTAuMDU0NjY5NzAzODcyNCAxOjQuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMjoxLjAgCist
MC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDI6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0w
LjA1NDY2OTcwMzg3MjQgMToyLjAgMjoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAu
MDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3
MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjMuMCAKKy0wLjA1NDY2OTcwMzg3MjQg
MToxLjAgMjoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAx
OjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAor
LTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMzoxLjAgCist
MC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2
OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcy
NCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4w
IAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4w
NTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjE2LjAgMjoxLjAgMzoxLjAg
CistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1
NDY2OTcwMzg3MjQgMToxLjAgMjoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0
NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTozLjAgMjoxLjAgCistMC4wNTQ2
Njk3MDM4NzI0IDE6MS4wIDM6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2
OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcy
NCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4w
IAorLTAuMDU0NjY5NzAzODcyNCAxOjIwLjAgMzozLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4w
IAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4w
NTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcw
Mzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAx
OjEuMCAzOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6
MS4wIDM6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo4
LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Ny4wIDI6MS4wIDM6Mi4wIAorLTAuMDU0NjY5NzAzODcy
NCAxOjguMCAyOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMjoxLjAgCistMC4wNTQ2Njk3
MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQg
MToxLjAgMjoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAx
OjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAor
LTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAgCistMC4wNTQ2
Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEyLjAgMzo3LjAgCistMC4wNTQ2
Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjkuMCAKKy0wLjA1NDY2OTcwMzg3
MjQgMTo3LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEu
MCAyOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMzoxLjAgCistMC4wNTQ2Njk3MDM4NzI0
IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjguMCAyOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQg
MToxNy4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAyOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQg
MToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAK
Ky0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6NC4wIAorLTAuMDU0
NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4
NzI0IDE6MTMuMCAyOjQuMCAzOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMzoxLjAgCist
MC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIDM6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0w
LjA1NDY2OTcwMzg3MjQgMToxNi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjMuMCAKKy0wLjA1NDY2
OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcy
NCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4w
IAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAgCistMC4w
NTQ2Njk3MDM4NzI0IDE6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcw
Mzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAx
OjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6My4wIDM6
My4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAgCist
MC4wNTQ2Njk3MDM4NzI0IDE6MTEuMCAzOjExLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAor
LTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2
Njk3MDM4NzI0IDE6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3
MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEu
MCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAu
MDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3
MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjE1LjAgCistMC4wNTQ2Njk3MDM4NzI0
IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyMC4w
IDI6MTIuMCAzOjMuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0
IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAg
CistMC4wNTQ2Njk3MDM4NzI0IDE6Ny4wIDM6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAK
Ky0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMzoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAor
LTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMzoxLjAgCist
MC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjMuMCAzOjIuMCAKKy0w
LjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5
NzAzODcyNCAxOjkuMCAyOjMuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMzoxLjAgCistMC4w
NTQ2Njk3MDM4NzI0IDE6Ni4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjQuMCAKKy0wLjA1NDY2OTcw
Mzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Ny4wIDI6Mi4wIAorLTAuMDU0NjY5NzAz
ODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMzoxLjAgCistMC4wNTQ2Njk3MDM4
NzI0IDE6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo5
LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0w
LjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5
NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0
IDE6MTQuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxMi4wIDM6Ni4wIAorLTAuMDU0NjY5NzAzODcy
NCAxOjMuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo0LjAgMjoxLjAgMzoxLjAgCistMC4wNTQ2Njk3
MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQg
MToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjkuMCAK
Ky0wLjA1NDY2OTcwMzg3MjQgMTo5LjAgMjoxLjAgMzo0LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6
MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo5LjAgMjox
LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6My4wIDI6My4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIu
MCAyOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMjoxLjAgMzoxLjAgCistMC4wNTQ2Njk3
MDM4NzI0IDE6OC4wIDI6MS4wIDM6My4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1
NDY2OTcwMzg3MjQgMToyLjAgMjoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6OS4wIDI6MS4wIAor
LTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2
Njk3MDM4NzI0IDE6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3
MjQgMTozNi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTox
LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0w
LjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIAorLTAuMDU0NjY5
NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0
IDE6Ni4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAzOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQg
MToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAK
Ky0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIAorLTAuMDU0
NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAgCistMC4wNTQ2Njk3MDM4
NzI0IDE6NC4wIDM6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEzLjAgMzo0LjAgCistMC4wNTQ2
Njk3MDM4NzI0IDE6MS4wIAorLTAuMDQwMjA3NTE3ODk0MiAxOjEuMCAKKzAuNTg1MzY1ODUzNjU5
IDE6MS4wIAorMC40NzkyNzYxMzkwMDEgMTo2LjAgMjozLjAgCiswLjU4NTM2NTg1MzY1OSAxOjIu
MCAKKzAuNTg1MzY1ODUzNjU5IDE6MS4wIAorMC41ODUzNjU4NTM2NTkgMTozLjAgMzozLjAgCisw
LjU4NTM2NTg1MzY1OSAxOjQyLjAgMjoyLjAgMzoyOC4wIAorMC41ODUzNjU4NTM2NTkgMToyLjAg
CiswLjU4NTM2NTg1MzY1OSAxOjEyLjAgCiswLjQ3OTI4MzA0NjU3OCAxOjcuMCAKKzAuMzAwMzk3
ODczNDc2IDE6My4wIDM6MS4wIAorMC4wNTQzMTczMzA2NDQyIDE6Ni4wIDM6Mi4wIAorMC41NjM0
NjUxMjYyOTkgMToxMS4wIAorMC41ODUzNjU4NTM2NTkgMToyLjAgCiswLjU4NTM2NTg1MzY1OSAx
OjEwLjAgMjozLjAgMzo2LjAgCiswLjU4NTM2NTg1MzY1OSAxOjEuMCAyOjEuMCAKKzAuNTg1MzY1
ODUzNjU5IDE6Mi4wIAorMC41ODUzNjU4NTM2NTkgMToxLjAgMjoxLjAgCiswLjU4NTM2NTg1MzY1
OSAxOjMuMCAzOjEuMCAKKzAuNTg1MzY1ODUzNjU5IDE6MS4wIAorMC41ODUzNjU4NTM2NTkgMToy
LjAgCiswLjU4NTM2NTg1MzY1OSAxOjEuMCAyOjEuMCAKKzAuNTg0OTg5NzE5OTA5IDE6Ny4wIAor
MC41ODUzNjU4NTM2NTkgMTozLjAgCiswLjU4NTM2NTg1MzY1OSAxOjMuMCAKKzAuNTI1OTI1MTM2
OTgzIDE6My4wIDI6Mi4wIAorMC41ODUzNjU4NTM2NTkgMToxLjAgCiswLjU4NTM2NTg1MzY1OSAx
OjEuMCAKKzAuNTg1MzY1ODUzNjU5IDE6My4wIDM6MS4wIAorMC41ODUzNjU4NTM2NTkgMToxLjAg
CiswLjUyMDc0NTgyMjM3NCAxOjMuMCAKK3N2bV90eXBlIGNfc3ZjCitrZXJuZWxfdHlwZSByYmYK
K2dhbW1hIDAuMQorbnJfY2xhc3MgMgordG90YWxfc3YgMzMwCityaG8gMC4yODc5NDU2NDIyNjEK
K2xhYmVsIC0xIDEKK25yX3N2IDMwMCAzMAorU1YKKy0wLjA1NDY2OTcwMzg3MjQgMToxNC4wIDI6
My4wIDM6Ny4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAyOjEuMCAKKy0wLjA1NDY2OTcwMzg3
MjQgMToyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDM6MS4wIAorLTAuMDU0NjY5NzAzODcy
NCAxOjEyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Ny4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIu
MCAyOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMzoxLjAgCistMC4wNTQ2Njk3MDM4NzI0
IDE6My4wIDI6MTYuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMzoxLjAgCistMC4wNTQ2Njk3
MDM4NzI0IDE6MS4wIDI6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAzOjEuMCAKKy0wLjA1
NDY2OTcwMzg3MjQgMToyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6My4wIDI6MS4wIAorLTAuMDU0
NjY5NzAzODcyNCAxOjUuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxNi4wIDI6Mi4wIDM6Mi4wIAor
LTAuMDU0NjY5NzAzODcyNCAxOjEuMCAyOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxMS4wIAor
LTAuMDU0NjY5NzAzODcyNCAxOjQuMCAzOjMuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyOC4wIAor
LTAuMDU0NjY5NzAzODcyNCAxOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMzoxLjAgCist
MC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDM6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIyLjAgMjox
LjAgMzoxMi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjE0LjAgMzo1LjAgCistMC4wNTQ2Njk3MDM4
NzI0IDE6MS4wIDM6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjQ4LjAgMjoxLjAgCistMC4wNTQ2
Njk3MDM4NzI0IDE6MjUuMCAzOjE2LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDI6MS4wIAor
LTAuMDU0NjY5NzAzODcyNCAxOjEuMCAzOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo2LjAgCist
MC4wNTQ2Njk3MDM4NzI0IDE6Ny4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAyOjEuMCAKKy0w
LjA1NDY2OTcwMzg3MjQgMToxLjAgMzoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6My4wIDM6Mi4w
IAorLTAuMDU0NjY5NzAzODcyNCAxOjcuMCAyOjEuMCAzOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQg
MToyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Ny4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjUuMCAy
OjIuMCAzOjMuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6
MS4wIDI6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjQuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTox
LjAgMjoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDM6MS4wIAorLTAuMDU0NjY5NzAzODcy
NCAxOjkuMCAzOjQuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMjoxLjAgCistMC4wNTQ2Njk3
MDM4NzI0IDE6MS4wIDM6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjQ3LjAgMjoyMS4wIDM6MzMu
MCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxMS4wIDI6Mi4wIDM6NS4wIAorLTAuMDU0NjY5NzAzODcy
NCAxOjExLjAgMjozLjAgMzoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDM6MS4wIAorLTAu
MDU0NjY5NzAzODcyNCAxOjIuMCAyOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo0My4wIDM6Mi4w
IAorLTAuMDU0NjY5NzAzODcyNCAxOjEzLjAgMzo3LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4w
IDM6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjQuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxMy4w
IDM6NC4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjQyLjAgMjo0LjAgMzozMi4wIAorLTAuMDU0NjY5
NzAzODcyNCAxOjEwLjAgMjo1LjAgMzoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Ny4wIDM6NC4w
IAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMzoxLjAg
CistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDM6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjYuMCAK
Ky0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMjoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Ni4wIAor
LTAuMDU0NjY5NzAzODcyNCAxOjE2LjAgMjo0LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MTAuMCAy
OjEuMCAzOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxOC4wIDI6My4wIDM6Ni4wIAorLTAuMDU0
NjY5NzAzODcyNCAxOjEuMCAzOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMjoxLjAgCist
MC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjMuMCAyOjEuMCAzOjEu
MCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMjoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6My4w
IAorLTAuMDU0NjY5NzAzODcyNCAxOjMuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo0LjAgCistMC4w
NTQ2Njk3MDM4NzI0IDE6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAzOjIuMCAKKy0wLjA1
NDY2OTcwMzg3MjQgMToyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDM6MS4wIAorLTAuMDU0
NjY5NzAzODcyNCAxOjIxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIAorLTAuMDU0NjY5NzAz
ODcyNCAxOjIuMCAyOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxNC4wIAorLTAuMDU0NjY5NzAz
ODcyNCAxOjIuMCAyOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAgMzoyLjAgCistMC4wNTQ2
Njk3MDM4NzI0IDE6NC4wIDM6My4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAzOjEuMCAKKy0w
LjA1NDY2OTcwMzg3MjQgMTozLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIAorLTAuMDU0NjY5
NzAzODcyNCAxOjEuMCAyOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo0LjAgCistMC4wNTQ2Njk3
MDM4NzI0IDE6MzkuMCAzOjQuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3
MDM4NzI0IDE6Mi4wIDI6MS4wIDM6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjQuMCAKKy0wLjA1
NDY2OTcwMzg3MjQgMToyLjAgMjoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6NC4wIAorLTAuMDU0
NjY5NzAzODcyNCAxOjEuMCAyOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMjoyLjAgCist
MC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAyOjEuMCAKKy0w
LjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5
NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0
IDE6My4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAyOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQg
MToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAK
Ky0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0
NjY5NzAzODcyNCAxOjEuMCAzOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2
Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3
MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEu
MCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAu
MDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3
MDM4NzI0IDE6MTYuMCAyOjEuMCAzOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4w
NTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAyOjEuMCAKKy0wLjA1
NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAz
ODcyNCAxOjMuMCAyOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMzoxLjAgCistMC4wNTQ2
Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3
MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIu
MCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MjAuMCAzOjMu
MCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIAorLTAu
MDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3
MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQg
MToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDM6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAx
OjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMzoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6
MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjguMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo3LjAgMjox
LjAgMzoyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6OC4wIDI6Mi4wIAorLTAuMDU0NjY5NzAzODcy
NCAxOjEuMCAyOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0
IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAyOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQg
MToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAK
Ky0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0
NjY5NzAzODcyNCAxOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4
NzI0IDE6MTIuMCAzOjcuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4
NzI0IDE6OS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjcuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTox
LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDI6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEu
MCAzOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6OC4w
IDI6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjE3LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4w
IDI6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAg
CistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1
NDY2OTcwMzg3MjQgMTo0LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAz
ODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxMy4wIDI6NC4wIDM6Mi4wIAorLTAuMDU0
NjY5NzAzODcyNCAxOjEuMCAzOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAgMzoyLjAgCist
MC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjE2LjAgCistMC4wNTQ2
Njk3MDM4NzI0IDE6My4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3
MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEu
MCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAu
MDU0NjY5NzAzODcyNCAxOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAgCistMC4wNTQ2Njk3
MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQg
MToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAK
Ky0wLjA1NDY2OTcwMzg3MjQgMTozLjAgMzozLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAor
LTAuMDU0NjY5NzAzODcyNCAxOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxMS4wIDM6MTEuMCAK
Ky0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0
NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAgCistMC4wNTQ2Njk3MDM4
NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTox
LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAKKy0w
LjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5
NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0
IDE6MTUuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4w
IAorLTAuMDU0NjY5NzAzODcyNCAxOjIwLjAgMjoxMi4wIDM6My4wIAorLTAuMDU0NjY5NzAzODcy
NCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4w
IAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo3LjAgMzoxLjAg
CistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAzOjEuMCAK
Ky0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0
NjY5NzAzODcyNCAxOjEuMCAzOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2
Njk3MDM4NzI0IDE6My4wIDM6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2
OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6OS4wIDI6My4wIAorLTAuMDU0NjY5
NzAzODcyNCAxOjEuMCAzOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo2LjAgCistMC4wNTQ2Njk3
MDM4NzI0IDE6NC4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQg
MTo3LjAgMjoyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAx
OjEuMCAzOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6
Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjkuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAgCist
MC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2
OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcy
NCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxNC4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEy
LjAgMzo2LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6My4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjQu
MCAyOjEuMCAzOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0
IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAg
CistMC4wNTQ2Njk3MDM4NzI0IDE6OS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjkuMCAyOjEuMCAz
OjQuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAor
LTAuMDU0NjY5NzAzODcyNCAxOjkuMCAyOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTozLjAgMjoz
LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIDI6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEu
MCAyOjEuMCAzOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo4LjAgMjoxLjAgMzozLjAgCistMC4w
NTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAyOjEuMCAKKy0wLjA1
NDY2OTcwMzg3MjQgMTo5LjAgMjoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0
NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAgCistMC4wNTQ2Njk3MDM4
NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjM2LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6
MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAgCist
MC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2
OTcwMzg3MjQgMToyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcy
NCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo2LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4w
IDM6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAg
CistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1
NDY2OTcwMzg3MjQgMToyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAz
ODcyNCAxOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo0LjAgMzoyLjAgCistMC4wNTQ2Njk3MDM4
NzI0IDE6MTMuMCAzOjQuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNDAyMDc1MTc4
OTQyIDE6MS4wIAorMC41ODUzNjU4NTM2NTkgMToxLjAgCiswLjQ3OTI3NjEzOTAwMSAxOjYuMCAy
OjMuMCAKKzAuNTg1MzY1ODUzNjU5IDE6Mi4wIAorMC41ODUzNjU4NTM2NTkgMToxLjAgCiswLjU4
NTM2NTg1MzY1OSAxOjMuMCAzOjMuMCAKKzAuNTg1MzY1ODUzNjU5IDE6NDIuMCAyOjIuMCAzOjI4
LjAgCiswLjU4NTM2NTg1MzY1OSAxOjIuMCAKKzAuNTg1MzY1ODUzNjU5IDE6MTIuMCAKKzAuNDc5
MjgzMDQ2NTc4IDE6Ny4wIAorMC4zMDAzOTc4NzM0NzYgMTozLjAgMzoxLjAgCiswLjA1NDMxNzMz
MDY0NDIgMTo2LjAgMzoyLjAgCiswLjU2MzQ2NTEyNjI5OSAxOjExLjAgCiswLjU4NTM2NTg1MzY1
OSAxOjIuMCAKKzAuNTg1MzY1ODUzNjU5IDE6MTAuMCAyOjMuMCAzOjYuMCAKKzAuNTg1MzY1ODUz
NjU5IDE6MS4wIDI6MS4wIAorMC41ODUzNjU4NTM2NTkgMToyLjAgCiswLjU4NTM2NTg1MzY1OSAx
OjEuMCAyOjEuMCAKKzAuNTg1MzY1ODUzNjU5IDE6My4wIDM6MS4wIAorMC41ODUzNjU4NTM2NTkg
MToxLjAgCiswLjU4NTM2NTg1MzY1OSAxOjIuMCAKKzAuNTg1MzY1ODUzNjU5IDE6MS4wIDI6MS4w
IAorMC41ODQ5ODk3MTk5MDkgMTo3LjAgCiswLjU4NTM2NTg1MzY1OSAxOjMuMCAKKzAuNTg1MzY1
ODUzNjU5IDE6My4wIAorMC41MjU5MjUxMzY5ODMgMTozLjAgMjoyLjAgCiswLjU4NTM2NTg1MzY1
OSAxOjEuMCAKKzAuNTg1MzY1ODUzNjU5IDE6MS4wIAorMC41ODUzNjU4NTM2NTkgMTozLjAgMzox
LjAgCiswLjU4NTM2NTg1MzY1OSAxOjEuMCAKKzAuNTIwNzQ1ODIyMzc0IDE6My4wIApJbmRleDog
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2Vy
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUmVzb3VyY2VM
b2FkU3RhdGlzdGljc01hbmFnZXIuY3BwCShyZXZpc2lvbiAyMTI2NTYpCisrKyBTb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFnZXIuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC02MSw2ICs2MSwyMSBAQCBib29sIFdlYlJlc291cmNlTG9hZFN0YXRpc3Rp
Y3NNYW5hZ2VyOjpoCiAgICAgcmV0dXJuIFdlYkNvcmU6OlJlc291cmNlTG9hZE9ic2VydmVyOjpz
aGFyZWRPYnNlcnZlcigpLmhhc0hhZFVzZXJJbnRlcmFjdGlvbihVUkwoVVJMKCksIGhvc3ROYW1l
KSk7CiB9CiAKK3ZvaWQgV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFnZXI6OnNldFN1YmZy
YW1lVW5kZXJUb3BGcmFtZU9yaWdpbihjb25zdCBTdHJpbmcmIGhvc3ROYW1lLCBjb25zdCBTdHJp
bmcmIHRvcEZyYW1lSG9zdE5hbWUpCit7CisgICAgV2ViQ29yZTo6UmVzb3VyY2VMb2FkT2JzZXJ2
ZXI6OnNoYXJlZE9ic2VydmVyKCkuc2V0U3ViZnJhbWVVbmRlclRvcEZyYW1lT3JpZ2luKFVSTChV
UkwoKSwgaG9zdE5hbWUpLCBVUkwoVVJMKCksIHRvcEZyYW1lSG9zdE5hbWUpKTsKK30KKwordm9p
ZCBXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdlcjo6c2V0U3VicmVzb3VyY2VVbmRlclRv
cEZyYW1lT3JpZ2luKGNvbnN0IFN0cmluZyYgaG9zdE5hbWUsIGNvbnN0IFN0cmluZyYgdG9wRnJh
bWVIb3N0TmFtZSkKK3sKKyAgICBXZWJDb3JlOjpSZXNvdXJjZUxvYWRPYnNlcnZlcjo6c2hhcmVk
T2JzZXJ2ZXIoKS5zZXRTdWJyZXNvdXJjZVVuZGVyVG9wRnJhbWVPcmlnaW4oVVJMKFVSTCgpLCBo
b3N0TmFtZSksIFVSTChVUkwoKSwgdG9wRnJhbWVIb3N0TmFtZSkpOworfQorCit2b2lkIFdlYlJl
c291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VyOjpzZXRTdWJyZXNvdXJjZVVuaXF1ZVJlZGlyZWN0
VG8oY29uc3QgU3RyaW5nJiBob3N0TmFtZSwgY29uc3QgU3RyaW5nJiBob3N0TmFtZVJlZGlyZWN0
ZWRUbykKK3sKKyAgICBXZWJDb3JlOjpSZXNvdXJjZUxvYWRPYnNlcnZlcjo6c2hhcmVkT2JzZXJ2
ZXIoKS5zZXRTdWJyZXNvdXJjZVVuaXF1ZVJlZGlyZWN0VG8oVVJMKFVSTCgpLCBob3N0TmFtZSks
IFVSTChVUkwoKSwgaG9zdE5hbWVSZWRpcmVjdGVkVG8pKTsKK30KKwogdm9pZCBXZWJSZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzTWFuYWdlcjo6c2V0VGltZVRvTGl2ZVVzZXJJbnRlcmFjdGlvbihkb3Vi
bGUgc2Vjb25kcykKIHsKICAgICBXZWJDb3JlOjpSZXNvdXJjZUxvYWRPYnNlcnZlcjo6c2hhcmVk
T2JzZXJ2ZXIoKS5zZXRUaW1lVG9MaXZlVXNlckludGVyYWN0aW9uKHNlY29uZHMpOwpJbmRleDog
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2Vy
LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlJlc291cmNlTG9h
ZFN0YXRpc3RpY3NNYW5hZ2VyLmgJKHJldmlzaW9uIDIxMjY1NikKKysrIFNvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9XZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdlci5oCSh3b3JraW5nIGNv
cHkpCkBAIC00Miw2ICs0Miw5IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgYm9vbCBpc1ByZXZhbGVu
dFJlc291cmNlKGNvbnN0IFN0cmluZyYgaG9zdE5hbWUpOwogICAgIHN0YXRpYyB2b2lkIHNldEhh
c0hhZFVzZXJJbnRlcmFjdGlvbihjb25zdCBTdHJpbmcmIGhvc3ROYW1lLCBib29sIHZhbHVlKTsK
ICAgICBzdGF0aWMgYm9vbCBoYXNIYWRVc2VySW50ZXJhY3Rpb24oY29uc3QgU3RyaW5nJiBob3N0
TmFtZSk7CisgICAgc3RhdGljIHZvaWQgc2V0U3ViZnJhbWVVbmRlclRvcEZyYW1lT3JpZ2luKGNv
bnN0IFN0cmluZyYgaG9zdE5hbWUsIGNvbnN0IFN0cmluZyYgdG9wRnJhbWVIb3N0TmFtZSk7Cisg
ICAgc3RhdGljIHZvaWQgc2V0U3VicmVzb3VyY2VVbmRlclRvcEZyYW1lT3JpZ2luKGNvbnN0IFN0
cmluZyYgaG9zdE5hbWUsIGNvbnN0IFN0cmluZyYgdG9wRnJhbWVIb3N0TmFtZSk7CisgICAgc3Rh
dGljIHZvaWQgc2V0U3VicmVzb3VyY2VVbmlxdWVSZWRpcmVjdFRvKGNvbnN0IFN0cmluZyYgaG9z
dE5hbWUsIGNvbnN0IFN0cmluZyYgaG9zdE5hbWVSZWRpcmVjdGVkVG8pOwogICAgIHN0YXRpYyB2
b2lkIHNldFRpbWVUb0xpdmVVc2VySW50ZXJhY3Rpb24oZG91YmxlIHNlY29uZHMpOwogICAgIHN0
YXRpYyB2b2lkIHNldFJlZHVjZWRUaW1lc3RhbXBSZXNvbHV0aW9uKGRvdWJsZSBzZWNvbmRzKTsK
ICAgICBzdGF0aWMgdm9pZCBmaXJlRGF0YU1vZGlmaWNhdGlvbkhhbmRsZXIoKTsKSW5kZXg6IFNv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmUuY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJSZXNvdXJjZUxvYWRT
dGF0aXN0aWNzU3RvcmUuY3BwCShyZXZpc2lvbiAyMTI2NTYpCisrKyBTb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlLmNwcAkod29ya2luZyBjb3B5
KQpAQCAtNDUsNyArNDUsNiBAQCB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIAogbmFtZXNwYWNl
IFdlYktpdCB7CiAKLXN0YXRpYyBjb25zdCBhdXRvIGZlYXR1cmVWZWN0b3JMZW5ndGhUaHJlc2hv
bGQgPSAzOwogc3RhdGljIGF1dG8gbWluaW11bVRpbWVCZXR3ZWVlbkRhdGFSZWNvcmRzUmVtb3Zh
bCA9IDYwOwogc3RhdGljIE9wdGlvblNldDxXZWJLaXQ6OldlYnNpdGVEYXRhVHlwZT4gZGF0YVR5
cGVzVG9SZW1vdmU7CiBzdGF0aWMgYXV0byBub3RpZnlQYWdlcyA9IGZhbHNlOwpAQCAtNTksNyAr
NTgsNyBAQCBSZWY8V2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlPiBXZWJSCiBXZWJSZXNv
dXJjZUxvYWRTdGF0aXN0aWNzU3RvcmU6OldlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZShj
b25zdCBTdHJpbmcmIHJlc291cmNlTG9hZFN0YXRpc3RpY3NEaXJlY3RvcnkpCiAgICAgOiBtX3Jl
c291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZShSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmU6OmNy
ZWF0ZSgpKQogICAgICwgbV9zdGF0aXN0aWNzUXVldWUoV29ya1F1ZXVlOjpjcmVhdGUoIldlYlJl
c291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZSBQcm9jZXNzIERhdGEgUXVldWUiKSkKLSAgICAsIG1f
c3RvcmFnZVBhdGgocmVzb3VyY2VMb2FkU3RhdGlzdGljc0RpcmVjdG9yeSkKKyAgICAsIG1fc3Rh
dGlzdGljc1N0b3JhZ2VQYXRoKHJlc291cmNlTG9hZFN0YXRpc3RpY3NEaXJlY3RvcnkpCiB7CiB9
CiAKQEAgLTgzLDQwICs4MiwxMSBAQCB2b2lkIFdlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9y
ZTo6c2V0CiAgICAgICAgIG1pbmltdW1UaW1lQmV0d2VlZW5EYXRhUmVjb3Jkc1JlbW92YWwgPSBz
ZWNvbmRzOwogfQogCi1ib29sIFdlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZTo6aGFzUHJl
dmFsZW50UmVzb3VyY2VDaGFyYWN0ZXJpc3RpY3MoY29uc3QgUmVzb3VyY2VMb2FkU3RhdGlzdGlj
cyYgcmVzb3VyY2VTdGF0aXN0aWMpCi17Ci0gICAgYXV0byBzdWJyZXNvdXJjZVVuZGVyVG9wRnJh
bWVPcmlnaW5zQ291bnQgPSByZXNvdXJjZVN0YXRpc3RpYy5zdWJyZXNvdXJjZVVuZGVyVG9wRnJh
bWVPcmlnaW5zLnNpemUoKTsKLSAgICBhdXRvIHN1YnJlc291cmNlVW5pcXVlUmVkaXJlY3RzVG9D
b3VudCA9IHJlc291cmNlU3RhdGlzdGljLnN1YnJlc291cmNlVW5pcXVlUmVkaXJlY3RzVG8uc2l6
ZSgpOwotICAgIGF1dG8gc3ViZnJhbWVVbmRlclRvcEZyYW1lT3JpZ2luc0NvdW50ID0gcmVzb3Vy
Y2VTdGF0aXN0aWMuc3ViZnJhbWVVbmRlclRvcEZyYW1lT3JpZ2lucy5zaXplKCk7Ci0gICAgCi0g
ICAgaWYgKCFzdWJyZXNvdXJjZVVuZGVyVG9wRnJhbWVPcmlnaW5zQ291bnQKLSAgICAgICAgJiYg
IXN1YnJlc291cmNlVW5pcXVlUmVkaXJlY3RzVG9Db3VudAotICAgICAgICAmJiAhc3ViZnJhbWVV
bmRlclRvcEZyYW1lT3JpZ2luc0NvdW50KQotICAgICAgICByZXR1cm4gZmFsc2U7Ci0KLSAgICBp
ZiAoc3VicmVzb3VyY2VVbmRlclRvcEZyYW1lT3JpZ2luc0NvdW50ID4gZmVhdHVyZVZlY3Rvckxl
bmd0aFRocmVzaG9sZAotICAgICAgICB8fCBzdWJyZXNvdXJjZVVuaXF1ZVJlZGlyZWN0c1RvQ291
bnQgPiBmZWF0dXJlVmVjdG9yTGVuZ3RoVGhyZXNob2xkCi0gICAgICAgIHx8IHN1YmZyYW1lVW5k
ZXJUb3BGcmFtZU9yaWdpbnNDb3VudCA+IGZlYXR1cmVWZWN0b3JMZW5ndGhUaHJlc2hvbGQpCi0g
ICAgICAgIHJldHVybiB0cnVlOwotCi0gICAgLy8gVGhlIHJlc291cmNlIGlzIGNvbnNpZGVyZWQg
cHJldmFsZW50IGlmIHRoZSBmZWF0dXJlIHZlY3RvcgotICAgIC8vIGlzIGxvbmdlciB0aGFuIHRo
ZSB0aHJlc2hvbGQuCi0gICAgLy8gVmVjdG9yIGxlbmd0aCBmb3IgbiBkaW1lbnNpb25zIGlzIHNx
cnQoYV4yICsgKC4uLikgKyBuXjIpLgotICAgIGRvdWJsZSB2ZWN0b3JMZW5ndGggPSAwOwotICAg
IHZlY3Rvckxlbmd0aCArPSBzdWJyZXNvdXJjZVVuZGVyVG9wRnJhbWVPcmlnaW5zQ291bnQgKiBz
dWJyZXNvdXJjZVVuZGVyVG9wRnJhbWVPcmlnaW5zQ291bnQ7Ci0gICAgdmVjdG9yTGVuZ3RoICs9
IHN1YnJlc291cmNlVW5pcXVlUmVkaXJlY3RzVG9Db3VudCAqIHN1YnJlc291cmNlVW5pcXVlUmVk
aXJlY3RzVG9Db3VudDsKLSAgICB2ZWN0b3JMZW5ndGggKz0gc3ViZnJhbWVVbmRlclRvcEZyYW1l
T3JpZ2luc0NvdW50ICogc3ViZnJhbWVVbmRlclRvcEZyYW1lT3JpZ2luc0NvdW50OwotCi0gICAg
QVNTRVJUKHZlY3Rvckxlbmd0aCA+IDApOwotCi0gICAgcmV0dXJuIHNxcnQodmVjdG9yTGVuZ3Ro
KSA+IGZlYXR1cmVWZWN0b3JMZW5ndGhUaHJlc2hvbGQ7Ci19Ci0gICAgCiB2b2lkIFdlYlJlc291
cmNlTG9hZFN0YXRpc3RpY3NTdG9yZTo6Y2xhc3NpZnlSZXNvdXJjZShSZXNvdXJjZUxvYWRTdGF0
aXN0aWNzJiByZXNvdXJjZVN0YXRpc3RpYykKIHsKLSAgICBpZiAoIXJlc291cmNlU3RhdGlzdGlj
LmlzUHJldmFsZW50UmVzb3VyY2UgJiYgaGFzUHJldmFsZW50UmVzb3VyY2VDaGFyYWN0ZXJpc3Rp
Y3MocmVzb3VyY2VTdGF0aXN0aWMpKSB7CisgICAgaWYgKCFyZXNvdXJjZVN0YXRpc3RpYy5pc1By
ZXZhbGVudFJlc291cmNlCisgICAgICAgICYmIG1fcmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNz
aWZpZXIuaGFzUHJldmFsZW50UmVzb3VyY2VDaGFyYWN0ZXJpc3RpY3MocmVzb3VyY2VTdGF0aXN0
aWMpKQogICAgICAgICByZXNvdXJjZVN0YXRpc3RpYy5pc1ByZXZhbGVudFJlc291cmNlID0gdHJ1
ZTsKLSAgICB9CiB9CiAKIHZvaWQgV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlOjpyZW1v
dmVEYXRhUmVjb3JkcygpCkBAIC0yNDgsMTEgKzIxOCwxMSBAQCB2b2lkIFdlYlJlc291cmNlTG9h
ZFN0YXRpc3RpY3NTdG9yZTo6YXBwCiAKIFN0cmluZyBXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNz
U3RvcmU6OnBlcnNpc3RlbnRTdG9yYWdlUGF0aChjb25zdCBTdHJpbmcmIGxhYmVsKSBjb25zdAog
ewotICAgIGlmIChtX3N0b3JhZ2VQYXRoLmlzRW1wdHkoKSkKKyAgICBpZiAobV9zdGF0aXN0aWNz
U3RvcmFnZVBhdGguaXNFbXB0eSgpKQogICAgICAgICByZXR1cm4gZW1wdHlTdHJpbmcoKTsKIAog
ICAgIC8vIFRPRE8gRGVjaWRlIHdoYXQgdG8gY2FsbCB0aGlzIGZpbGUKLSAgICByZXR1cm4gcGF0
aEJ5QXBwZW5kaW5nQ29tcG9uZW50KG1fc3RvcmFnZVBhdGgsIGxhYmVsICsgIl9yZXNvdXJjZUxv
Zy5wbGlzdCIpOworICAgIHJldHVybiBwYXRoQnlBcHBlbmRpbmdDb21wb25lbnQobV9zdGF0aXN0
aWNzU3RvcmFnZVBhdGgsIGxhYmVsICsgIl9yZXNvdXJjZUxvZy5wbGlzdCIpOwogfQogCiB2b2lk
IFdlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZTo6d3JpdGVFbmNvZGVyVG9EaXNrKEtleWVk
RW5jb2RlciYgZW5jb2RlciwgY29uc3QgU3RyaW5nJiBsYWJlbCkgY29uc3QKQEAgLTI2NSw4ICsy
MzUsOCBAQCB2b2lkIFdlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZTo6d3JpCiAgICAgaWYg
KHJlc291cmNlTG9nLmlzRW1wdHkoKSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgaWYgKCFtX3N0
b3JhZ2VQYXRoLmlzRW1wdHkoKSkKLSAgICAgICAgbWFrZUFsbERpcmVjdG9yaWVzKG1fc3RvcmFn
ZVBhdGgpOworICAgIGlmICghbV9zdGF0aXN0aWNzU3RvcmFnZVBhdGguaXNFbXB0eSgpKQorICAg
ICAgICBtYWtlQWxsRGlyZWN0b3JpZXMobV9zdGF0aXN0aWNzU3RvcmFnZVBhdGgpOwogCiAgICAg
YXV0byBoYW5kbGUgPSBvcGVuRmlsZShyZXNvdXJjZUxvZywgT3BlbkZvcldyaXRlKTsKICAgICBp
ZiAoIWhhbmRsZSkKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJSZXNvdXJjZUxv
YWRTdGF0aXN0aWNzU3RvcmUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlLmgJKHJldmlzaW9uIDIxMjY1NikKKysr
IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmUu
aAkod29ya2luZyBjb3B5KQpAQCAtMjgsNiArMjgsNyBAQAogCiAjaW5jbHVkZSAiQVBJT2JqZWN0
LmgiCiAjaW5jbHVkZSAiQ29ubmVjdGlvbi5oIgorI2luY2x1ZGUgIlJlc291cmNlTG9hZFN0YXRp
c3RpY3NDbGFzc2lmaWVyLmgiCiAjaW5jbHVkZSAiV2Vic2l0ZURhdGFSZWNvcmQuaCIKICNpbmNs
dWRlIDxXZWJDb3JlL1Jlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZS5oPgogI2luY2x1ZGUgPHd0
Zi9WZWN0b3IuaD4KQEAgLTc2LDcgKzc3LDYgQEAgcHJpdmF0ZToKIAogICAgIHZvaWQgcHJvY2Vz
c1N0YXRpc3RpY3NBbmREYXRhUmVjb3JkcygpOwogCi0gICAgYm9vbCBoYXNQcmV2YWxlbnRSZXNv
dXJjZUNoYXJhY3RlcmlzdGljcyhjb25zdCBXZWJDb3JlOjpSZXNvdXJjZUxvYWRTdGF0aXN0aWNz
Jik7CiAgICAgdm9pZCBjbGFzc2lmeVJlc291cmNlKFdlYkNvcmU6OlJlc291cmNlTG9hZFN0YXRp
c3RpY3MmKTsKICAgICB2b2lkIHJlbW92ZURhdGFSZWNvcmRzKCk7CiAKQEAgLTg5LDggKzg5LDkg
QEAgcHJpdmF0ZToKICAgICBzdGQ6OnVuaXF1ZV9wdHI8V2ViQ29yZTo6S2V5ZWREZWNvZGVyPiBj
cmVhdGVEZWNvZGVyRnJvbURpc2soY29uc3QgU3RyaW5nJiBsYWJlbCkgY29uc3Q7CiAKICAgICBS
ZWY8V2ViQ29yZTo6UmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlPiBtX3Jlc291cmNlTG9hZFN0
YXRpc3RpY3NTdG9yZTsKKyAgICBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllciBtX3Jl
c291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyOwogICAgIFJlZjxXVEY6OldvcmtRdWV1ZT4g
bV9zdGF0aXN0aWNzUXVldWU7Ci0gICAgU3RyaW5nIG1fc3RvcmFnZVBhdGg7CisgICAgU3RyaW5n
IG1fc3RhdGlzdGljc1N0b3JhZ2VQYXRoOwogICAgIGJvb2wgbV9yZXNvdXJjZUxvYWRTdGF0aXN0
aWNzRW5hYmxlZCB7IGZhbHNlIH07CiAKICAgICBkb3VibGUgbV9sYXN0VGltZURhdGFSZWNvcmRz
V2VyZVJlbW92ZWQgeyAwIH07CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0Mv
V0tSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdlci5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFnZXIu
Y3BwCShyZXZpc2lvbiAyMTI2NTYpCisrKyBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0Mv
V0tSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTU2
LDYgKzU2LDIxIEBAIGJvb2wgV0tSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdlcklzSGEKICAg
ICByZXR1cm4gV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFnZXI6Omhhc0hhZFVzZXJJbnRl
cmFjdGlvbih0b1dURlN0cmluZyhob3N0TmFtZSkpOwogfQogCit2b2lkIFdLUmVzb3VyY2VMb2Fk
U3RhdGlzdGljc01hbmFnZXJTZXRTdWJmcmFtZVVuZGVyVG9wRnJhbWVPcmlnaW4oV0tTdHJpbmdS
ZWYgaG9zdE5hbWUsIFdLU3RyaW5nUmVmIHRvcEZyYW1lSG9zdE5hbWUpCit7CisgICAgV2ViUmVz
b3VyY2VMb2FkU3RhdGlzdGljc01hbmFnZXI6OnNldFN1YmZyYW1lVW5kZXJUb3BGcmFtZU9yaWdp
bih0b1dURlN0cmluZyhob3N0TmFtZSksIHRvV1RGU3RyaW5nKHRvcEZyYW1lSG9zdE5hbWUpKTsK
K30KKwordm9pZCBXS1Jlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VyU2V0U3VicmVzb3VyY2VV
bmRlclRvcEZyYW1lT3JpZ2luKFdLU3RyaW5nUmVmIGhvc3ROYW1lLCBXS1N0cmluZ1JlZiB0b3BG
cmFtZUhvc3ROYW1lKQoreworICAgIFdlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VyOjpz
ZXRTdWJyZXNvdXJjZVVuZGVyVG9wRnJhbWVPcmlnaW4odG9XVEZTdHJpbmcoaG9zdE5hbWUpLCB0
b1dURlN0cmluZyh0b3BGcmFtZUhvc3ROYW1lKSk7Cit9CisKK3ZvaWQgV0tSZXNvdXJjZUxvYWRT
dGF0aXN0aWNzTWFuYWdlclNldFN1YnJlc291cmNlVW5pcXVlUmVkaXJlY3RUbyhXS1N0cmluZ1Jl
ZiBob3N0TmFtZSwgV0tTdHJpbmdSZWYgaG9zdE5hbWVSZWRpcmVjdGVkVG8pCit7CisgICAgV2Vi
UmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFnZXI6OnNldFN1YnJlc291cmNlVW5pcXVlUmVkaXJl
Y3RUbyh0b1dURlN0cmluZyhob3N0TmFtZSksIHRvV1RGU3RyaW5nKGhvc3ROYW1lUmVkaXJlY3Rl
ZFRvKSk7Cit9CisKIHZvaWQgV0tSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdlclNldFRpbWVU
b0xpdmVVc2VySW50ZXJhY3Rpb24oZG91YmxlIHNlY29uZHMpCiB7CiAgICAgV2ViUmVzb3VyY2VM
b2FkU3RhdGlzdGljc01hbmFnZXI6OnNldFRpbWVUb0xpdmVVc2VySW50ZXJhY3Rpb24oc2Vjb25k
cyk7CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tSZXNvdXJjZUxvYWRT
dGF0aXN0aWNzTWFuYWdlci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9BUEkvQy9XS1Jlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VyLmgJKHJldmlzaW9uIDIxMjY1
NikKKysrIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1Jlc291cmNlTG9hZFN0YXRp
c3RpY3NNYW5hZ2VyLmgJKHdvcmtpbmcgY29weSkKQEAgLTM4LDYgKzM4LDkgQEAgZXh0ZXJuICJD
IiB7CiAgICAgV0tfRVhQT1JUIGJvb2wgV0tSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdlcklz
UHJldmFsZW50UmVzb3VyY2UoV0tTdHJpbmdSZWYgaG9zdE5hbWUpOwogICAgIFdLX0VYUE9SVCB2
b2lkIFdLUmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFnZXJTZXRIYXNIYWRVc2VySW50ZXJhY3Rp
b24oV0tTdHJpbmdSZWYgaG9zdE5hbWUsIGJvb2wgdmFsdWUpOwogICAgIFdLX0VYUE9SVCBib29s
IFdLUmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFnZXJJc0hhc0hhZFVzZXJJbnRlcmFjdGlvbihX
S1N0cmluZ1JlZiBob3N0TmFtZSk7CisgICAgV0tfRVhQT1JUIHZvaWQgV0tSZXNvdXJjZUxvYWRT
dGF0aXN0aWNzTWFuYWdlclNldFN1YmZyYW1lVW5kZXJUb3BGcmFtZU9yaWdpbihXS1N0cmluZ1Jl
ZiBob3N0TmFtZSwgV0tTdHJpbmdSZWYgdG9wRnJhbWVIb3N0TmFtZSk7CisgICAgV0tfRVhQT1JU
IHZvaWQgV0tSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdlclNldFN1YnJlc291cmNlVW5kZXJU
b3BGcmFtZU9yaWdpbihXS1N0cmluZ1JlZiBob3N0TmFtZSwgV0tTdHJpbmdSZWYgdG9wRnJhbWVI
b3N0TmFtZSk7CisgICAgV0tfRVhQT1JUIHZvaWQgV0tSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFu
YWdlclNldFN1YnJlc291cmNlVW5pcXVlUmVkaXJlY3RUbyhXS1N0cmluZ1JlZiBob3N0TmFtZSwg
V0tTdHJpbmdSZWYgaG9zdE5hbWVSZWRpcmVjdGVkVG8pOwogICAgIFdLX0VYUE9SVCB2b2lkIFdL
UmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFnZXJTZXRUaW1lVG9MaXZlVXNlckludGVyYWN0aW9u
KGRvdWJsZSBzZWNvbmRzKTsKICAgICBXS19FWFBPUlQgdm9pZCBXS1Jlc291cmNlTG9hZFN0YXRp
c3RpY3NNYW5hZ2VyU2V0UmVkdWNlZFRpbWVzdGFtcFJlc29sdXRpb24oZG91YmxlIHNlY29uZHMp
OwogICAgIFdLX0VYUE9SVCB2b2lkIFdLUmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFnZXJGaXJl
RGF0YU1vZGlmaWNhdGlvbkhhbmRsZXIoKTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1dlYktpdDIu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvago9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9X
ZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHJldmlzaW9uIDIxMjY1NikKKysrIFNv
dXJjZS9XZWJLaXQyL1dlYktpdDIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkod29ya2luZyBj
b3B5KQpAQCAtMTE0OCwxMCArMTE0OCwxNyBAQAogCQk2NTAxQkQxQTEyRjEyNDM0MDBFOUYyNDgg
LyogV0tCdW5kbGVJbnNwZWN0b3IuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gNjVCODZGMTcxMkYxMUQ3QjAwQjdERDhBIC8qIFdLQnVuZGxlSW5zcGVj
dG9yLmNwcCAqLzsgfTsKIAkJNjU5QzU1MUUxMzAwMDY0MTAwMjVDMEMyIC8qIEluamVjdGVkQnVu
ZGxlUGFnZVJlc291cmNlTG9hZENsaWVudC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA2NTQ2QTgyOTEzMDAwMTY0MDAwQ0VCMUMgLyogSW5qZWN0ZWRC
dW5kbGVQYWdlUmVzb3VyY2VMb2FkQ2xpZW50LmNwcCAqLzsgfTsKIAkJNjVCODZGMUUxMkYxMURF
MzAwQjdERDhBIC8qIFdLQnVuZGxlSW5zcGVjdG9yLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA2NUI4NkYxODEyRjExRDdCMDBCN0REOEEgLyogV0tCdW5k
bGVJbnNwZWN0b3IuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9
OyB9OworCQk2QjJFMDlCQTFFNTdCODgxMDBDOEE4QjkgLyogQ29yZVByZWRpY3Rpb25TUEkuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDZCMkUwOUI5MUU1
N0I4ODEwMEM4QThCOSAvKiBDb3JlUHJlZGljdGlvblNQSS5oICovOyB9OwogCQk2QkU5Njk5QzFF
NDNCM0ZGMDA4Qjc0ODMgLyogV0tSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdlci5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNkJFOTY5OUIxRTQzQjNG
RjAwOEI3NDgzIC8qIFdLUmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFnZXIuaCAqLzsgc2V0dGlu
Z3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk2QkU5Njk5RTFFNDNCNDFE
MDA4Qjc0ODMgLyogV0tSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdlci5jcHAgaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA2QkU5Njk5RDFFNDNCNDFEMDA4
Qjc0ODMgLyogV0tSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdlci5jcHAgKi87IH07CiAJCTZC
RTk2OUEwMUU0M0I4NkUwMDhCNzQ4MyAvKiBXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdl
ci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNkJFOTY5
OUYxRTQzQjg2RTAwOEI3NDgzIC8qIFdlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VyLmgg
Ki87IH07CiAJCTZCRTk2OUEyMUU0M0I4QTQwMDhCNzQ4MyAvKiBXZWJSZXNvdXJjZUxvYWRTdGF0
aXN0aWNzTWFuYWdlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA2QkU5NjlBMTFFNDNCOEE0MDA4Qjc0ODMgLyogV2ViUmVzb3VyY2VMb2FkU3RhdGlz
dGljc01hbmFnZXIuY3BwICovOyB9OworCQk2QkU5NjlDMTFFNTRENDUyMDA4Qjc0ODMgLyogY29y
ZVByZWRpY3Rpb25fbW9kZWwgaW4gUmVzb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDZCRTk2OUMwMUU1NEQ0NTIwMDhCNzQ4MyAvKiBjb3JlUHJlZGljdGlvbl9tb2Rl
bCAqLzsgfTsKKwkJNkJFOTY5QzUxRTU0RDRBNDAwOEI3NDgzIC8qIFJlc291cmNlTG9hZFN0YXRp
c3RpY3NDbGFzc2lmaWVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA2QkU5NjlDNDFFNTRENEE0MDA4Qjc0ODMgLyogUmVzb3VyY2VMb2FkU3RhdGlzdGlj
c0NsYXNzaWZpZXIuaCAqLzsgfTsKKwkJNkJFOTY5QzcxRTU0RDRCNjAwOEI3NDgzIC8qIFJlc291
cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQmFzZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA2QkU5NjlDNjFFNTRENEI2MDA4Qjc0ODMgLyogUmVz
b3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXJCYXNlLmNwcCAqLzsgfTsKKwkJNkJFOTY5Q0Ex
RTU0RDRDRjAwOEI3NDgzIC8qIFJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQ29jb2Eu
Y3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNkJFOTY5
QzgxRTU0RDRDRjAwOEI3NDgzIC8qIFJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQ29j
b2EuY3BwICovOyB9OworCQk2QkU5NjlDQjFFNTRENENGMDA4Qjc0ODMgLyogUmVzb3VyY2VMb2Fk
U3RhdGlzdGljc0NsYXNzaWZpZXJDb2NvYS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gNkJFOTY5QzkxRTU0RDRDRjAwOEI3NDgzIC8qIFJlc291cmNlTG9h
ZFN0YXRpc3RpY3NDbGFzc2lmaWVyQ29jb2EuaCAqLzsgfTsKKwkJNkJFOTY5Q0QxRTU0RTA1NDAw
OEI3NDgzIC8qIFJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQmFzZS5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNkJFOTY5Q0MxRTU0RTA1NDAw
OEI3NDgzIC8qIFJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQmFzZS5oICovOyB9Owog
CQk2RUU4NDlDODEzNjhEOTM5MDAzOEQ0ODEgLyogV0tJbnNwZWN0b3JQcml2YXRlTWFjLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA2RUU4NDlDNjEzNjhE
OTJEMDAzOEQ0ODEgLyogV0tJbnNwZWN0b3JQcml2YXRlTWFjLmggKi87IHNldHRpbmdzID0ge0FU
VFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNzI4RTg2RjExNzk1MTg4QzAwODc4NzlF
IC8qIFdlYkNvbG9yUGlja2VyTWFjLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA3MjhFODZFRjE3OTUxODhDMDA4Nzg3OUUgLyogV2ViQ29sb3JQaWNrZXJN
YWMuaCAqLzsgfTsKIAkJNzI4RTg2RjIxNzk1MTg4QzAwODc4NzlFIC8qIFdlYkNvbG9yUGlja2Vy
TWFjLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNzI4
RTg2RjAxNzk1MTg4QzAwODc4NzlFIC8qIFdlYkNvbG9yUGlja2VyTWFjLm1tICovOyB9OwpAQCAt
MzMzOCwxMCArMzM0NSwxNyBAQAogCQk2NTQ2QTgyQTEzMDAwMTY0MDAwQ0VCMUMgLyogSW5qZWN0
ZWRCdW5kbGVQYWdlUmVzb3VyY2VMb2FkQ2xpZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IEluamVjdGVkQnVuZGxlUGFnZVJlc291cmNlTG9hZENsaWVudC5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQk2NUI4NkYxNzEyRjExRDdCMDBCN0REOEEgLyogV0tCdW5k
bGVJbnNwZWN0b3IuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV0tC
dW5kbGVJbnNwZWN0b3IuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk2NUI4NkYx
ODEyRjExRDdCMDBCN0REOEEgLyogV0tCdW5kbGVJbnNwZWN0b3IuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gV0tCdW5kbGVJbnNwZWN0b3IuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKKwkJNkIyRTA5QjkxRTU3Qjg4MTAwQzhBOEI5IC8qIENvcmVQcmVkaWN0aW9uU1BJ
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENvcmVQcmVkaWN0aW9uU1BJLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTZCRTk2OTlCMUU0M0IzRkYwMDhCNzQ4MyAv
KiBXS1Jlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IFdLUmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFnZXIuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNkJFOTY5OUQxRTQzQjQxRDAwOEI3NDgzIC8qIFdLUmVzb3Vy
Y2VMb2FkU3RhdGlzdGljc01hbmFnZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBwYXRoID0gV0tSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdlci5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTZCRTk2OTlGMUU0M0I4NkUwMDhCNzQ4MyAvKiBXZWJSZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzTWFuYWdlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdlci5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQk2QkU5NjlBMTFFNDNCOEE0MDA4Qjc0ODMgLyogV2ViUmVzb3VyY2VMb2FkU3Rh
dGlzdGljc01hbmFnZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0g
V2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFnZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQk2QkU5NjlDMDFFNTRENDUyMDA4Qjc0ODMgLyogY29yZVByZWRpY3Rpb25fbW9k
ZWwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gY29yZVByZWRpY3Rpb25fbW9kZWw7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCTZCRTk2OUM0MUU1NEQ0QTQwMDhCNzQ4MyAvKiBSZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllci5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQk2QkU5NjlDNjFFNTRENEI2MDA4Qjc0ODMgLyogUmVzb3VyY2VMb2FkU3Rh
dGlzdGljc0NsYXNzaWZpZXJCYXNlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
cGF0aCA9IFJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQmFzZS5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCTZCRTk2OUM4MUU1NEQ0Q0YwMDhCNzQ4MyAvKiBSZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllckNvY29hLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IFJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQ29jb2EuY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk2QkU5NjlDOTFFNTRENENGMDA4Qjc0ODMg
LyogUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXJDb2NvYS5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllckNvY29h
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTZCRTk2OUNDMUU1NEUwNTQwMDhCNzQ4
MyAvKiBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllckJhc2UuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXJCYXNl
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTZEOEE5MUE1MTFGMEVGRDEwMEREMDFG
RSAvKiBjb20uYXBwbGUuV2ViUHJvY2Vzcy5zYi5pbiAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IG5hbWUgPSBj
b20uYXBwbGUuV2ViUHJvY2Vzcy5zYi5pbjsgcGF0aCA9IFdlYlByb2Nlc3MvY29tLmFwcGxlLldl
YlByb2Nlc3Muc2IuaW47IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTZFRTg0OUM2MTM2
OEQ5MkQwMDM4RDQ4MSAvKiBXS0luc3BlY3RvclByaXZhdGVNYWMuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBuYW1lID0gV0tJbnNwZWN0b3JQcml2YXRlTWFjLmg7IHBhdGggPSBtYWMvV0tJ
bnNwZWN0b3JQcml2YXRlTWFjLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTcyOEU4
NkVGMTc5NTE4OEMwMDg3ODc5RSAvKiBXZWJDb2xvclBpY2tlck1hYy5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBXZWJDb2xvclBpY2tlck1hYy5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwpAQCAtNDM1NCw2ICs0MzY4LDcgQEAKIAkJMDg5QzE2NjVGRTg0MTE1OEMwMkFB
QzA3IC8qIFJlc291cmNlcyAqLyA9IHsKIAkJCWlzYSA9IFBCWEdyb3VwOwogCQkJY2hpbGRyZW4g
PSAoCisJCQkJNkJFOTY5QkYxRTU0RDQ1MjAwOEI3NDgzIC8qIFJlc291cmNlTG9hZFN0YXRpc3Rp
Y3MgKi8sCiAJCQkJMzdGOEM5NEYxQUUyMkJEODAwN0RBQjlFIC8qIG1hYyAqLywKIAkJCQk3Q0Ix
NkZFMTE3MjRCOUI1MDA3QTBBOTUgLyogUGx1Z0luU2FuZGJveFByb2ZpbGVzICovLAogCQkJCUE3
OENDREQ1MTkzQUM5RTMwMDVFQ0MyNSAvKiBTYW5kYm94UHJvZmlsZXMgKi8sCkBAIC02MTE1LDYg
KzYxMzAsMzYgQEAKIAkJCW5hbWUgPSBDb2NvYTsKIAkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
CiAJCX07CisJCTZCRTk2OUJGMUU1NEQ0NTIwMDhCNzQ4MyAvKiBSZXNvdXJjZUxvYWRTdGF0aXN0
aWNzICovID0geworCQkJaXNhID0gUEJYR3JvdXA7CisJCQljaGlsZHJlbiA9ICgKKwkJCQk2QkU5
NjlDMDFFNTRENDUyMDA4Qjc0ODMgLyogY29yZVByZWRpY3Rpb25fbW9kZWwgKi8sCisJCQkpOwor
CQkJbmFtZSA9IFJlc291cmNlTG9hZFN0YXRpc3RpY3M7CisJCQlwYXRoID0gUmVzb3VyY2VzL1Jl
c291cmNlTG9hZFN0YXRpc3RpY3M7CisJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOworCQl9Owor
CQk2QkU5NjlDMjFFNTRENDY3MDA4Qjc0ODMgLyogY2xhc3NpZmllciAqLyA9IHsKKwkJCWlzYSA9
IFBCWEdyb3VwOworCQkJY2hpbGRyZW4gPSAoCisJCQkJNkJFOTY5QzMxRTU0RDQ2NzAwOEI3NDgz
IC8qIGNvY29hICovLAorCQkJCTZCRTk2OUM2MUU1NEQ0QjYwMDhCNzQ4MyAvKiBSZXNvdXJjZUxv
YWRTdGF0aXN0aWNzQ2xhc3NpZmllckJhc2UuY3BwICovLAorCQkJCTZCRTk2OUM0MUU1NEQ0QTQw
MDhCNzQ4MyAvKiBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllci5oICovLAorCQkJCTZC
RTk2OUNDMUU1NEUwNTQwMDhCNzQ4MyAvKiBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmll
ckJhc2UuaCAqLywKKwkJCSk7CisJCQlwYXRoID0gY2xhc3NpZmllcjsKKwkJCXNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7CisJCX07CisJCTZCRTk2OUMzMUU1NEQ0NjcwMDhCNzQ4MyAvKiBjb2NvYSAq
LyA9IHsKKwkJCWlzYSA9IFBCWEdyb3VwOworCQkJY2hpbGRyZW4gPSAoCisJCQkJNkJFOTY5Qzgx
RTU0RDRDRjAwOEI3NDgzIC8qIFJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQ29jb2Eu
Y3BwICovLAorCQkJCTZCRTk2OUM5MUU1NEQ0Q0YwMDhCNzQ4MyAvKiBSZXNvdXJjZUxvYWRTdGF0
aXN0aWNzQ2xhc3NpZmllckNvY29hLmggKi8sCisJCQkJNkIyRTA5QjkxRTU3Qjg4MTAwQzhBOEI5
IC8qIENvcmVQcmVkaWN0aW9uU1BJLmggKi8sCisJCQkpOworCQkJcGF0aCA9IGNvY29hOworCQkJ
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKKwkJfTsKIAkJNkVFODQ5QzQxMzY4RDkwNDAwMzhENDgx
IC8qIG1hYyAqLyA9IHsKIAkJCWlzYSA9IFBCWEdyb3VwOwogCQkJY2hpbGRyZW4gPSAoCkBAIC03
MDE1LDYgKzcwNjAsNyBAQAogCQlCQzJFNkU3NDExNDE5NkYwMDBBNjNCMUUgLyogUGxhdGZvcm0g
Ki8gPSB7CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKAorCQkJCTZCRTk2OUMy
MUU1NEQ0NjcwMDhCNzQ4MyAvKiBjbGFzc2lmaWVyICovLAogCQkJCTM3MDk1MDQxMThBODhCQTQw
MDg3QUU1RCAvKiBjZiAqLywKIAkJCQkxQUEyRTUxQTEyRTRDMDU2MDBCQzQ5NjYgLyogY2cgKi8s
CiAJCQkJNDQ1MEFFQkUxREMzRkFBQzAwOTk0M0YyIC8qIGNvY29hICovLApAQCAtNzg5Nyw2ICs3
OTQzLDcgQEAKIAkJCQk0MURDNDU5NjFFM0Q2RTIyMDBCMTFGNTEgLyogTmV0d29ya1JUQ1Byb3Zp
ZGVyLmggaW4gSGVhZGVycyAqLywKIAkJCQk3QzFCQTMzRTFBNEEwRTYwMDA0M0UyNDkgLyogQVBJ
RGljdGlvbmFyeS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUY3RDM2QzExOERBNTEzRjAwRDlENjU5
IC8qIEFQSURvd25sb2FkQ2xpZW50LmggaW4gSGVhZGVycyAqLywKKwkJCQk2QkU5NjlDQjFFNTRE
NENGMDA4Qjc0ODMgLyogUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXJDb2NvYS5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJNTE2QTRBNUQxMjBBMkNDRDAwQzA1QjdGIC8qIEFQSUVycm9yLmgg
aW4gSGVhZGVycyAqLywKIAkJCQkzMTdGRTdDNTFDNDg3QTZDMDBBMENBODkgLyogQVBJRXhwZXJp
bWVudGFsRmVhdHVyZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMDBCOTY2MTYxOEUyNENCQTAwQ0Ux
Rjg4IC8qIEFQSUZpbmRDbGllbnQuaCBpbiBIZWFkZXJzICovLApAQCAtODMxNyw2ICs4MzY0LDcg
QEAKIAkJCQkzMzA5MzQ0QTEzMTVCOTIyMDA5N0E3QkMgLyogV2ViQ29va2llTWFuYWdlclByb3h5
TWVzc2FnZXMuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDMUREN0IyMTE0REMzOTYwMDVBREFGMyAv
KiBXZWJDb3JlQXJndW1lbnRDb2RlcnMuaCBpbiBIZWFkZXJzICovLAogCQkJCTUxMkY1ODlCMTJB
ODgzODgwMDYyOTUzMCAvKiBXZWJDcmVkZW50aWFsLmggaW4gSGVhZGVycyAqLywKKwkJCQk2QkU5
NjlDNTFFNTRENEE0MDA4Qjc0ODMgLyogUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXIu
aCBpbiBIZWFkZXJzICovLAogCQkJCTFBQTgzRjZEMUE1QjYzRkYwMDAyNkVDNiAvKiBXZWJEYXRh
YmFzZVByb3ZpZGVyLmggaW4gSGVhZGVycyAqLywKIAkJCQlDRDE5QTI2RTFBMTNFODM0MDA4RDY1
MEUgLyogV2ViRGlhZ25vc3RpY0xvZ2dpbmdDbGllbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTFB
NUIxQzU1MTg5ODdFREYwMDRGQ0Y5QiAvKiBXZWJEb2N1bWVudExvYWRlci5oIGluIEhlYWRlcnMg
Ki8sCkBAIC04NDAyLDYgKzg0NTAsNyBAQAogCQkJCTUxMjEyN0M0MTkwODIzOUEwMERBRjM1QyAv
KiBXZWJQYXN0ZWJvYXJkT3ZlcnJpZGVzLmggaW4gSGVhZGVycyAqLywKIAkJCQk3QzQ2OTREMTFB
NTFFMzY4MDBBRDU4NDUgLyogV2ViUGFzdGVib2FyZFByb3h5LmggaW4gSGVhZGVycyAqLywKIAkJ
CQk3QzQ2OTRDQTFBNEI0RUExMDBBRDU4NDUgLyogV2ViUGFzdGVib2FyZFByb3h5TWVzc2FnZXMu
aCBpbiBIZWFkZXJzICovLAorCQkJCTZCMkUwOUJBMUU1N0I4ODEwMEM4QThCOSAvKiBDb3JlUHJl
ZGljdGlvblNQSS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUFCMUY3OTcxRDFCMzYxMzAwN0M5QkQx
IC8qIFdlYlBheW1lbnRDb29yZGluYXRvck1lc3NhZ2VzLmggaW4gSGVhZGVycyAqLywKIAkJCQkx
QUIxRjc4QzFEMUIzMzU1MDA3QzlCRDEgLyogV2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHkuaCBp
biBIZWFkZXJzICovLAogCQkJCTFBQjFGNzdFMUQxQjMwQTkwMDdDOUJEMSAvKiBXZWJQYXltZW50
Q29vcmRpbmF0b3JQcm94eUNvY29hLmggaW4gSGVhZGVycyAqLywKQEAgLTg1MjAsNiArODU2OSw3
IEBACiAJCQkJQkM3QjYzM0QxMkE0NUQxMjAwRDE3NEE0IC8qIFdLQnVuZGxlUGFnZUdyb3VwLmgg
aW4gSGVhZGVycyAqLywKIAkJCQkxQUI0NzREODE4NEQ0M0ZEMDA1MUI2MjIgLyogV0tCdW5kbGVQ
YWdlTG9hZGVyQ2xpZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQlFRDgyQTdGMjEyOEM2RkFGMDA0
NDc3QjMgLyogV0tCdW5kbGVQYWdlT3ZlcmxheS5oIGluIEhlYWRlcnMgKi8sCisJCQkJNkJFOTY5
Q0QxRTU0RTA1NDAwOEI3NDgzIC8qIFJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQmFz
ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUFCNDc0RUExODRENDUxMzAwNTFCNjIyIC8qIFdLQnVu
ZGxlUGFnZVBvbGljeUNsaWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkMxQjQxOTgxMUQ0MUQ1
NzAwMTFFOEREIC8qIFdLQnVuZGxlUGFnZVByaXZhdGUuaCBpbiBIZWFkZXJzICovLAogCQkJCTFB
QjQ3NERBMTg0RDQ0MjUwMDUxQjYyMiAvKiBXS0J1bmRsZVBhZ2VSZXNvdXJjZUxvYWRDbGllbnQu
aCBpbiBIZWFkZXJzICovLApAQCAtOTA1Myw2ICs5MTAzLDcgQEAKIAkJCQk3QTVFMzk0QTFENUJE
OEJFMDBCNEI3Q0UgLyogY29tLm1hY3JvbWVkaWEuRmxhc2ggUGxheWVyIEVTUi5wbHVnaW4uc2Ig
aW4gUmVzb3VyY2VzICovLAogCQkJCThEQzJFRjUzMDQ4NkE2OTQwMDk4QjIxNiAvKiBJbmZvUGxp
c3Quc3RyaW5ncyBpbiBSZXNvdXJjZXMgKi8sCiAJCQkJOTNBMkEzNDYxRDI0NjEyNTAwMkI1OUQz
IC8qIG1lZGlhSWNvbi5wZGYgaW4gUmVzb3VyY2VzICovLAorCQkJCTZCRTk2OUMxMUU1NEQ0NTIw
MDhCNzQ4MyAvKiBjb3JlUHJlZGljdGlvbl9tb2RlbCBpbiBSZXNvdXJjZXMgKi8sCiAJCQkpOwog
CQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CiAJCX07CkBAIC05NjQx
LDYgKzk2OTIsNyBAQAogCQkJCTUxNzk1NTY3MTYyODc2Q0IwMEZBNDNCNiAvKiBOZXR3b3JrUHJv
Y2Vzc01hYy5tbSBpbiBTb3VyY2VzICovLAogCQkJCTUxNjMxOTk0MTYyODlBNjAwMEUyMkYwMCAv
KiBOZXR3b3JrUHJvY2Vzc01lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlF
MTRBOTU0OTE2RTAxNkE0MDA2OERFODIgLyogTmV0d29ya1Byb2Nlc3NQbGF0Zm9ybVN0cmF0ZWdp
ZXMuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJNkJFOTY5Q0ExRTU0RDRDRjAwOEI3NDgzIC8qIFJl
c291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQ29jb2EuY3BwIGluIFNvdXJjZXMgKi8sCiAJ
CQkJNTE3OTU1NkQxNjI4NzdCMTAwRkE0M0I2IC8qIE5ldHdvcmtQcm9jZXNzUHJveHkuY3BwIGlu
IFNvdXJjZXMgKi8sCiAJCQkJNTE2MzE5OTIxNjI4OTgwQTAwRTIyRjAwIC8qIE5ldHdvcmtQcm9j
ZXNzUHJveHlNYWMubW0gaW4gU291cmNlcyAqLywKIAkJCQk1MTNBMTYzQzE2MzA4OEY2MDA1RDdE
MjIgLyogTmV0d29ya1Byb2Nlc3NQcm94eU1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAq
LywKQEAgLTk5ODUsNiArMTAwMzcsNyBAQAogCQkJCUQzQjk0ODQ2MTFGRjRCNjUwMDAzMkIzOSAv
KiBXZWJQb3B1cE1lbnUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQkNDNDNBQzcxMjdCOTlERTAw
MzE3RjE2IC8qIFdlYlBvcHVwTWVudU1hYy5tbSBpbiBTb3VyY2VzICovLAogCQkJCUJDNTc1MDk4
MTI2OEYzQzYwMDZGMEYxMiAvKiBXZWJQb3B1cE1lbnVQcm94eU1hYy5tbSBpbiBTb3VyY2VzICov
LAorCQkJCTZCRTk2OUM3MUU1NEQ0QjYwMDhCNzQ4MyAvKiBSZXNvdXJjZUxvYWRTdGF0aXN0aWNz
Q2xhc3NpZmllckJhc2UuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQkNENTk4MDAxMTJCNTdCRTAw
RUM4QzIzIC8qIFdlYlByZWZlcmVuY2VzLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTdDODVGRDdG
MTkzNDE2NjUwMDAxNzdDNCAvKiBXZWJQcmVmZXJlbmNlc0tleXMuY3BwIGluIFNvdXJjZXMgKi8s
CiAJCQkJQkM4NEVCMTgxMkE3MTAwQzAwODNGMkRBIC8qIFdlYlByZWZlcmVuY2VzTWFjLm1tIGlu
IFNvdXJjZXMgKi8sCkluZGV4OiBUb29scy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMv
Q2hhbmdlTG9nCShyZXZpc2lvbiAyMTI2NzcpCisrKyBUb29scy9DaGFuZ2VMb2cJKHdvcmtpbmcg
Y29weSkKQEAgLTEsMyArMSwzMCBAQAorMjAxNy0wMi0yMCAgSm9obiBXaWxhbmRlciAgPHdpbGFu
ZGVyQGFwcGxlLmNvbT4KKworICAgICAgICBSZXNvdXJjZSBMb2FkIFN0YXRpc3RpY3M6IEFkZCBh
bHRlcm5hdGUgY2xhc3NpZmljYXRpb24gbWV0aG9kCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjgzNDcKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzMw
MzUyNzkzPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IEFkZGVkIHRocmVlIHRlc3RSdW5uZXIgZnVuY3Rpb25zIHRvIGZhY2lsaXRhdGUgbGF5b3V0IHRl
c3RzOgorICAgICAgICAtIHNldFN0YXRpc3RpY3NTdWJmcmFtZVVuZGVyVG9wRnJhbWVPcmlnaW4o
KQorICAgICAgICAtIHNldFN0YXRpc3RpY3NTdWJyZXNvdXJjZVVuZGVyVG9wRnJhbWVPcmlnaW4o
KQorICAgICAgICAtIHNldFN0YXRpc3RpY3NTdWJyZXNvdXJjZVVuaXF1ZVJlZGlyZWN0VG8oKQor
CisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9CaW5kaW5ncy9UZXN0
UnVubmVyLmlkbDoKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL1Rl
c3RSdW5uZXIuY3BwOgorICAgICAgICAoV1RSOjpUZXN0UnVubmVyOjpzZXRTdGF0aXN0aWNzU3Vi
ZnJhbWVVbmRlclRvcEZyYW1lT3JpZ2luKToKKyAgICAgICAgKFdUUjo6VGVzdFJ1bm5lcjo6c2V0
U3RhdGlzdGljc1N1YnJlc291cmNlVW5kZXJUb3BGcmFtZU9yaWdpbik6CisgICAgICAgIChXVFI6
OlRlc3RSdW5uZXI6OnNldFN0YXRpc3RpY3NTdWJyZXNvdXJjZVVuaXF1ZVJlZGlyZWN0VG8pOgor
ICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvVGVzdFJ1bm5lci5oOgor
ICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuY3BwOgorICAgICAgICAo
V1RSOjpUZXN0Q29udHJvbGxlcjo6c2V0U3RhdGlzdGljc1N1YmZyYW1lVW5kZXJUb3BGcmFtZU9y
aWdpbik6CisgICAgICAgIChXVFI6OlRlc3RDb250cm9sbGVyOjpzZXRTdGF0aXN0aWNzU3VicmVz
b3VyY2VVbmRlclRvcEZyYW1lT3JpZ2luKToKKyAgICAgICAgKFdUUjo6VGVzdENvbnRyb2xsZXI6
OnNldFN0YXRpc3RpY3NTdWJyZXNvdXJjZVVuaXF1ZVJlZGlyZWN0VG8pOgorICAgICAgICAqIFdl
YktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuaDoKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVu
bmVyL1Rlc3RJbnZvY2F0aW9uLmNwcDoKKyAgICAgICAgKFdUUjo6VGVzdEludm9jYXRpb246OmRp
ZFJlY2VpdmVTeW5jaHJvbm91c01lc3NhZ2VGcm9tSW5qZWN0ZWRCdW5kbGUpOgorCiAyMDE3LTAy
LTE3ICBBbmRlcnMgQ2FybHNzb24gIDxhbmRlcnNjYUBhcHBsZS5jb20+CiAKICAgICAgICAgQWRk
IGEgbmV3IGRyYWcgY29kZSBwYXRoIGFuZCB1c2UgaXQgZm9yIGRyYWdnaW5nIHBsYWluIHRleHQK
SW5kZXg6IFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuY3BwCShyZXZpc2lv
biAyMTI2NTYpCisrKyBUb29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmNwcAko
d29ya2luZyBjb3B5KQpAQCAtMjIyOSw2ICsyMjI5LDIxIEBAIGJvb2wgVGVzdENvbnRyb2xsZXI6
OmlzU3RhdGlzdGljc0hhc0hhZFUKICAgICByZXR1cm4gV0tSZXNvdXJjZUxvYWRTdGF0aXN0aWNz
TWFuYWdlcklzSGFzSGFkVXNlckludGVyYWN0aW9uKGhvc3ROYW1lKTsKIH0KIAordm9pZCBUZXN0
Q29udHJvbGxlcjo6c2V0U3RhdGlzdGljc1N1YmZyYW1lVW5kZXJUb3BGcmFtZU9yaWdpbihXS1N0
cmluZ1JlZiBob3N0TmFtZSwgV0tTdHJpbmdSZWYgdG9wRnJhbWVIb3N0TmFtZSkKK3sKKyAgICBX
S1Jlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VyU2V0U3ViZnJhbWVVbmRlclRvcEZyYW1lT3Jp
Z2luKGhvc3ROYW1lLCB0b3BGcmFtZUhvc3ROYW1lKTsKK30KKwordm9pZCBUZXN0Q29udHJvbGxl
cjo6c2V0U3RhdGlzdGljc1N1YnJlc291cmNlVW5kZXJUb3BGcmFtZU9yaWdpbihXS1N0cmluZ1Jl
ZiBob3N0TmFtZSwgV0tTdHJpbmdSZWYgdG9wRnJhbWVIb3N0TmFtZSkKK3sKKyAgICBXS1Jlc291
cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VyU2V0U3VicmVzb3VyY2VVbmRlclRvcEZyYW1lT3JpZ2lu
KGhvc3ROYW1lLCB0b3BGcmFtZUhvc3ROYW1lKTsKK30KKyAgICAKK3ZvaWQgVGVzdENvbnRyb2xs
ZXI6OnNldFN0YXRpc3RpY3NTdWJyZXNvdXJjZVVuaXF1ZVJlZGlyZWN0VG8oV0tTdHJpbmdSZWYg
aG9zdE5hbWUsIFdLU3RyaW5nUmVmIGhvc3ROYW1lUmVkaXJlY3RlZFRvKQoreworICAgIFdLUmVz
b3VyY2VMb2FkU3RhdGlzdGljc01hbmFnZXJTZXRTdWJyZXNvdXJjZVVuaXF1ZVJlZGlyZWN0VG8o
aG9zdE5hbWUsIGhvc3ROYW1lUmVkaXJlY3RlZFRvKTsKK30KKwogdm9pZCBUZXN0Q29udHJvbGxl
cjo6c2V0U3RhdGlzdGljc1RpbWVUb0xpdmVVc2VySW50ZXJhY3Rpb24oZG91YmxlIHNlY29uZHMp
CiB7CiAgICAgV0tSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdlclNldFRpbWVUb0xpdmVVc2Vy
SW50ZXJhY3Rpb24oc2Vjb25kcyk7CkluZGV4OiBUb29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RD
b250cm9sbGVyLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29u
dHJvbGxlci5oCShyZXZpc2lvbiAyMTI2NTYpCisrKyBUb29scy9XZWJLaXRUZXN0UnVubmVyL1Rl
c3RDb250cm9sbGVyLmgJKHdvcmtpbmcgY29weSkKQEAgLTE1Miw2ICsxNTIsOSBAQCBwdWJsaWM6
CiAgICAgYm9vbCBpc1N0YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJjZShXS1N0cmluZ1JlZiBob3N0
TmFtZSk7CiAgICAgdm9pZCBzZXRTdGF0aXN0aWNzSGFzSGFkVXNlckludGVyYWN0aW9uKFdLU3Ry
aW5nUmVmIGhvc3ROYW1lLCBib29sIHZhbHVlKTsKICAgICBib29sIGlzU3RhdGlzdGljc0hhc0hh
ZFVzZXJJbnRlcmFjdGlvbihXS1N0cmluZ1JlZiBob3N0TmFtZSk7CisgICAgdm9pZCBzZXRTdGF0
aXN0aWNzU3ViZnJhbWVVbmRlclRvcEZyYW1lT3JpZ2luKFdLU3RyaW5nUmVmIGhvc3ROYW1lLCBX
S1N0cmluZ1JlZiB0b3BGcmFtZUhvc3ROYW1lKTsKKyAgICB2b2lkIHNldFN0YXRpc3RpY3NTdWJy
ZXNvdXJjZVVuZGVyVG9wRnJhbWVPcmlnaW4oV0tTdHJpbmdSZWYgaG9zdE5hbWUsIFdLU3RyaW5n
UmVmIHRvcEZyYW1lSG9zdE5hbWUpOworICAgIHZvaWQgc2V0U3RhdGlzdGljc1N1YnJlc291cmNl
VW5pcXVlUmVkaXJlY3RUbyhXS1N0cmluZ1JlZiBob3N0TmFtZSwgV0tTdHJpbmdSZWYgaG9zdE5h
bWVSZWRpcmVjdGVkVG8pOwogICAgIHZvaWQgc2V0U3RhdGlzdGljc1RpbWVUb0xpdmVVc2VySW50
ZXJhY3Rpb24oZG91YmxlIHNlY29uZHMpOwogICAgIHZvaWQgc3RhdGlzdGljc0ZpcmVEYXRhTW9k
aWZpY2F0aW9uSGFuZGxlcigpOwogICAgIHZvaWQgc2V0U3RhdGlzdGljc05vdGlmeVBhZ2VzV2hl
bkRhdGFSZWNvcmRzV2VyZVNjYW5uZWQoYm9vbCk7CkluZGV4OiBUb29scy9XZWJLaXRUZXN0UnVu
bmVyL1Rlc3RJbnZvY2F0aW9uLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9XZWJLaXRUZXN0UnVu
bmVyL1Rlc3RJbnZvY2F0aW9uLmNwcAkocmV2aXNpb24gMjEyNjU2KQorKysgVG9vbHMvV2ViS2l0
VGVzdFJ1bm5lci9UZXN0SW52b2NhdGlvbi5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTkzMiw2ICs5
MzIsNDggQEAgV0tSZXRhaW5QdHI8V0tUeXBlUmVmPiBUZXN0SW52b2NhdGlvbjo6ZAogICAgICAg
ICByZXR1cm4gcmVzdWx0OwogICAgIH0KICAgICAKKyAgICBpZiAoV0tTdHJpbmdJc0VxdWFsVG9V
VEY4Q1N0cmluZyhtZXNzYWdlTmFtZSwgIlNldFN0YXRpc3RpY3NTdWJmcmFtZVVuZGVyVG9wRnJh
bWVPcmlnaW4iKSkgeworICAgICAgICBBU1NFUlQoV0tHZXRUeXBlSUQobWVzc2FnZUJvZHkpID09
IFdLRGljdGlvbmFyeUdldFR5cGVJRCgpKTsKKyAgICAgICAgCisgICAgICAgIFdLRGljdGlvbmFy
eVJlZiBtZXNzYWdlQm9keURpY3Rpb25hcnkgPSBzdGF0aWNfY2FzdDxXS0RpY3Rpb25hcnlSZWY+
KG1lc3NhZ2VCb2R5KTsKKyAgICAgICAgV0tSZXRhaW5QdHI8V0tTdHJpbmdSZWY+IGhvc3ROYW1l
S2V5KEFkb3B0V0ssIFdLU3RyaW5nQ3JlYXRlV2l0aFVURjhDU3RyaW5nKCJIb3N0TmFtZSIpKTsK
KyAgICAgICAgV0tSZXRhaW5QdHI8V0tTdHJpbmdSZWY+IHRvcEZyYW1lSG9zdE5hbWVLZXkoQWRv
cHRXSywgV0tTdHJpbmdDcmVhdGVXaXRoVVRGOENTdHJpbmcoIlRvcEZyYW1lSG9zdE5hbWUiKSk7
CisgICAgICAgIAorICAgICAgICBXS1N0cmluZ1JlZiBob3N0TmFtZSA9IHN0YXRpY19jYXN0PFdL
U3RyaW5nUmVmPihXS0RpY3Rpb25hcnlHZXRJdGVtRm9yS2V5KG1lc3NhZ2VCb2R5RGljdGlvbmFy
eSwgaG9zdE5hbWVLZXkuZ2V0KCkpKTsKKyAgICAgICAgV0tTdHJpbmdSZWYgdG9wRnJhbWVIb3N0
TmFtZSA9IHN0YXRpY19jYXN0PFdLU3RyaW5nUmVmPihXS0RpY3Rpb25hcnlHZXRJdGVtRm9yS2V5
KG1lc3NhZ2VCb2R5RGljdGlvbmFyeSwgdG9wRnJhbWVIb3N0TmFtZUtleS5nZXQoKSkpOworCisg
ICAgICAgIFRlc3RDb250cm9sbGVyOjpzaW5nbGV0b24oKS5zZXRTdGF0aXN0aWNzU3ViZnJhbWVV
bmRlclRvcEZyYW1lT3JpZ2luKGhvc3ROYW1lLCB0b3BGcmFtZUhvc3ROYW1lKTsKKyAgICAgICAg
cmV0dXJuIG51bGxwdHI7CisgICAgfQorICAgIAorICAgIGlmIChXS1N0cmluZ0lzRXF1YWxUb1VU
RjhDU3RyaW5nKG1lc3NhZ2VOYW1lLCAiU2V0U3RhdGlzdGljc1N1YnJlc291cmNlVW5kZXJUb3BG
cmFtZU9yaWdpbiIpKSB7CisgICAgICAgIEFTU0VSVChXS0dldFR5cGVJRChtZXNzYWdlQm9keSkg
PT0gV0tEaWN0aW9uYXJ5R2V0VHlwZUlEKCkpOworICAgICAgICAKKyAgICAgICAgV0tEaWN0aW9u
YXJ5UmVmIG1lc3NhZ2VCb2R5RGljdGlvbmFyeSA9IHN0YXRpY19jYXN0PFdLRGljdGlvbmFyeVJl
Zj4obWVzc2FnZUJvZHkpOworICAgICAgICBXS1JldGFpblB0cjxXS1N0cmluZ1JlZj4gaG9zdE5h
bWVLZXkoQWRvcHRXSywgV0tTdHJpbmdDcmVhdGVXaXRoVVRGOENTdHJpbmcoIkhvc3ROYW1lIikp
OworICAgICAgICBXS1JldGFpblB0cjxXS1N0cmluZ1JlZj4gdG9wRnJhbWVIb3N0TmFtZUtleShB
ZG9wdFdLLCBXS1N0cmluZ0NyZWF0ZVdpdGhVVEY4Q1N0cmluZygiVG9wRnJhbWVIb3N0TmFtZSIp
KTsKKyAgICAgICAgCisgICAgICAgIFdLU3RyaW5nUmVmIGhvc3ROYW1lID0gc3RhdGljX2Nhc3Q8
V0tTdHJpbmdSZWY+KFdLRGljdGlvbmFyeUdldEl0ZW1Gb3JLZXkobWVzc2FnZUJvZHlEaWN0aW9u
YXJ5LCBob3N0TmFtZUtleS5nZXQoKSkpOworICAgICAgICBXS1N0cmluZ1JlZiB0b3BGcmFtZUhv
c3ROYW1lID0gc3RhdGljX2Nhc3Q8V0tTdHJpbmdSZWY+KFdLRGljdGlvbmFyeUdldEl0ZW1Gb3JL
ZXkobWVzc2FnZUJvZHlEaWN0aW9uYXJ5LCB0b3BGcmFtZUhvc3ROYW1lS2V5LmdldCgpKSk7Cisg
ICAgICAgIAorICAgICAgICBUZXN0Q29udHJvbGxlcjo6c2luZ2xldG9uKCkuc2V0U3RhdGlzdGlj
c1N1YnJlc291cmNlVW5kZXJUb3BGcmFtZU9yaWdpbihob3N0TmFtZSwgdG9wRnJhbWVIb3N0TmFt
ZSk7CisgICAgICAgIHJldHVybiBudWxscHRyOworICAgIH0KKyAgICAKKyAgICBpZiAoV0tTdHJp
bmdJc0VxdWFsVG9VVEY4Q1N0cmluZyhtZXNzYWdlTmFtZSwgIlNldFN0YXRpc3RpY3NTdWJyZXNv
dXJjZVVuaXF1ZVJlZGlyZWN0VG8iKSkgeworICAgICAgICBBU1NFUlQoV0tHZXRUeXBlSUQobWVz
c2FnZUJvZHkpID09IFdLRGljdGlvbmFyeUdldFR5cGVJRCgpKTsKKyAgICAgICAgCisgICAgICAg
IFdLRGljdGlvbmFyeVJlZiBtZXNzYWdlQm9keURpY3Rpb25hcnkgPSBzdGF0aWNfY2FzdDxXS0Rp
Y3Rpb25hcnlSZWY+KG1lc3NhZ2VCb2R5KTsKKyAgICAgICAgV0tSZXRhaW5QdHI8V0tTdHJpbmdS
ZWY+IGhvc3ROYW1lS2V5KEFkb3B0V0ssIFdLU3RyaW5nQ3JlYXRlV2l0aFVURjhDU3RyaW5nKCJI
b3N0TmFtZSIpKTsKKyAgICAgICAgV0tSZXRhaW5QdHI8V0tTdHJpbmdSZWY+IGhvc3ROYW1lUmVk
aXJlY3RlZFRvS2V5KEFkb3B0V0ssIFdLU3RyaW5nQ3JlYXRlV2l0aFVURjhDU3RyaW5nKCJIb3N0
TmFtZVJlZGlyZWN0ZWRUbyIpKTsKKyAgICAgICAgCisgICAgICAgIFdLU3RyaW5nUmVmIGhvc3RO
YW1lID0gc3RhdGljX2Nhc3Q8V0tTdHJpbmdSZWY+KFdLRGljdGlvbmFyeUdldEl0ZW1Gb3JLZXko
bWVzc2FnZUJvZHlEaWN0aW9uYXJ5LCBob3N0TmFtZUtleS5nZXQoKSkpOworICAgICAgICBXS1N0
cmluZ1JlZiBob3N0TmFtZVJlZGlyZWN0ZWRUbyA9IHN0YXRpY19jYXN0PFdLU3RyaW5nUmVmPihX
S0RpY3Rpb25hcnlHZXRJdGVtRm9yS2V5KG1lc3NhZ2VCb2R5RGljdGlvbmFyeSwgaG9zdE5hbWVS
ZWRpcmVjdGVkVG9LZXkuZ2V0KCkpKTsKKyAgICAgICAgCisgICAgICAgIFRlc3RDb250cm9sbGVy
OjpzaW5nbGV0b24oKS5zZXRTdGF0aXN0aWNzU3VicmVzb3VyY2VVbmlxdWVSZWRpcmVjdFRvKGhv
c3ROYW1lLCBob3N0TmFtZVJlZGlyZWN0ZWRUbyk7CisgICAgICAgIHJldHVybiBudWxscHRyOwor
ICAgIH0KKwogICAgIGlmIChXS1N0cmluZ0lzRXF1YWxUb1VURjhDU3RyaW5nKG1lc3NhZ2VOYW1l
LCAiU2V0U3RhdGlzdGljc1RpbWVUb0xpdmVVc2VySW50ZXJhY3Rpb24iKSkgewogICAgICAgICBB
U1NFUlQoV0tHZXRUeXBlSUQobWVzc2FnZUJvZHkpID09IFdLRG91YmxlR2V0VHlwZUlEKCkpOwog
ICAgICAgICBXS0RvdWJsZVJlZiBzZWNvbmRzID0gc3RhdGljX2Nhc3Q8V0tEb3VibGVSZWY+KG1l
c3NhZ2VCb2R5KTsKSW5kZXg6IFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUv
VGVzdFJ1bm5lci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9Jbmpl
Y3RlZEJ1bmRsZS9UZXN0UnVubmVyLmNwcAkocmV2aXNpb24gMjEyNjU2KQorKysgVG9vbHMvV2Vi
S2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9UZXN0UnVubmVyLmNwcAkod29ya2luZyBjb3B5
KQpAQCAtMTIyNiw2ICsxMjI2LDg0IEBAIGJvb2wgVGVzdFJ1bm5lcjo6aXNTdGF0aXN0aWNzSGFz
SGFkVXNlckkKICAgICByZXR1cm4gV0tCb29sZWFuR2V0VmFsdWUoc3RhdGljX2Nhc3Q8V0tCb29s
ZWFuUmVmPihyZXR1cm5EYXRhKSk7CiB9CiAKK3ZvaWQgVGVzdFJ1bm5lcjo6c2V0U3RhdGlzdGlj
c1N1YmZyYW1lVW5kZXJUb3BGcmFtZU9yaWdpbihKU1N0cmluZ1JlZiBob3N0TmFtZSwgSlNTdHJp
bmdSZWYgdG9wRnJhbWVIb3N0TmFtZSkKK3sKKyAgICBWZWN0b3I8V0tSZXRhaW5QdHI8V0tTdHJp
bmdSZWY+PiBrZXlzOworICAgIFZlY3RvcjxXS1JldGFpblB0cjxXS1R5cGVSZWY+PiB2YWx1ZXM7
CisgICAgCisgICAga2V5cy5hcHBlbmQoeyBBZG9wdFdLLCBXS1N0cmluZ0NyZWF0ZVdpdGhVVEY4
Q1N0cmluZygiSG9zdE5hbWUiKSB9KTsKKyAgICB2YWx1ZXMuYXBwZW5kKHsgQWRvcHRXSywgV0tT
dHJpbmdDcmVhdGVXaXRoSlNTdHJpbmcoaG9zdE5hbWUpIH0pOworICAgIAorICAgIGtleXMuYXBw
ZW5kKHsgQWRvcHRXSywgV0tTdHJpbmdDcmVhdGVXaXRoVVRGOENTdHJpbmcoIlRvcEZyYW1lSG9z
dE5hbWUiKSB9KTsKKyAgICB2YWx1ZXMuYXBwZW5kKHsgQWRvcHRXSywgV0tTdHJpbmdDcmVhdGVX
aXRoSlNTdHJpbmcodG9wRnJhbWVIb3N0TmFtZSkgfSk7CisgICAgCisgICAgVmVjdG9yPFdLU3Ry
aW5nUmVmPiByYXdLZXlzOworICAgIFZlY3RvcjxXS1R5cGVSZWY+IHJhd1ZhbHVlczsKKyAgICBy
YXdLZXlzLnJlc2l6ZShrZXlzLnNpemUoKSk7CisgICAgcmF3VmFsdWVzLnJlc2l6ZSh2YWx1ZXMu
c2l6ZSgpKTsKKyAgICAKKyAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IGtleXMuc2l6ZSgpOyAr
K2kpIHsKKyAgICAgICAgcmF3S2V5c1tpXSA9IGtleXNbaV0uZ2V0KCk7CisgICAgICAgIHJhd1Zh
bHVlc1tpXSA9IHZhbHVlc1tpXS5nZXQoKTsKKyAgICB9CisgICAgCisgICAgV0tSZXRhaW5QdHI8
V0tTdHJpbmdSZWY+IG1lc3NhZ2VOYW1lKEFkb3B0V0ssIFdLU3RyaW5nQ3JlYXRlV2l0aFVURjhD
U3RyaW5nKCJTZXRTdGF0aXN0aWNzU3ViZnJhbWVVbmRlclRvcEZyYW1lT3JpZ2luIikpOworICAg
IFdLUmV0YWluUHRyPFdLRGljdGlvbmFyeVJlZj4gbWVzc2FnZUJvZHkoQWRvcHRXSywgV0tEaWN0
aW9uYXJ5Q3JlYXRlKHJhd0tleXMuZGF0YSgpLCByYXdWYWx1ZXMuZGF0YSgpLCByYXdLZXlzLnNp
emUoKSkpOworICAgIFdLQnVuZGxlUG9zdFN5bmNocm9ub3VzTWVzc2FnZShJbmplY3RlZEJ1bmRs
ZTo6c2luZ2xldG9uKCkuYnVuZGxlKCksIG1lc3NhZ2VOYW1lLmdldCgpLCBtZXNzYWdlQm9keS5n
ZXQoKSwgbnVsbHB0cik7Cit9CisKK3ZvaWQgVGVzdFJ1bm5lcjo6c2V0U3RhdGlzdGljc1N1YnJl
c291cmNlVW5kZXJUb3BGcmFtZU9yaWdpbihKU1N0cmluZ1JlZiBob3N0TmFtZSwgSlNTdHJpbmdS
ZWYgdG9wRnJhbWVIb3N0TmFtZSkKK3sKKyAgICBWZWN0b3I8V0tSZXRhaW5QdHI8V0tTdHJpbmdS
ZWY+PiBrZXlzOworICAgIFZlY3RvcjxXS1JldGFpblB0cjxXS1R5cGVSZWY+PiB2YWx1ZXM7Cisg
ICAgCisgICAga2V5cy5hcHBlbmQoeyBBZG9wdFdLLCBXS1N0cmluZ0NyZWF0ZVdpdGhVVEY4Q1N0
cmluZygiSG9zdE5hbWUiKSB9KTsKKyAgICB2YWx1ZXMuYXBwZW5kKHsgQWRvcHRXSywgV0tTdHJp
bmdDcmVhdGVXaXRoSlNTdHJpbmcoaG9zdE5hbWUpIH0pOworICAgIAorICAgIGtleXMuYXBwZW5k
KHsgQWRvcHRXSywgV0tTdHJpbmdDcmVhdGVXaXRoVVRGOENTdHJpbmcoIlRvcEZyYW1lSG9zdE5h
bWUiKSB9KTsKKyAgICB2YWx1ZXMuYXBwZW5kKHsgQWRvcHRXSywgV0tTdHJpbmdDcmVhdGVXaXRo
SlNTdHJpbmcodG9wRnJhbWVIb3N0TmFtZSkgfSk7CisgICAgCisgICAgVmVjdG9yPFdLU3RyaW5n
UmVmPiByYXdLZXlzOworICAgIFZlY3RvcjxXS1R5cGVSZWY+IHJhd1ZhbHVlczsKKyAgICByYXdL
ZXlzLnJlc2l6ZShrZXlzLnNpemUoKSk7CisgICAgcmF3VmFsdWVzLnJlc2l6ZSh2YWx1ZXMuc2l6
ZSgpKTsKKyAgICAKKyAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IGtleXMuc2l6ZSgpOyArK2kp
IHsKKyAgICAgICAgcmF3S2V5c1tpXSA9IGtleXNbaV0uZ2V0KCk7CisgICAgICAgIHJhd1ZhbHVl
c1tpXSA9IHZhbHVlc1tpXS5nZXQoKTsKKyAgICB9CisgICAgCisgICAgV0tSZXRhaW5QdHI8V0tT
dHJpbmdSZWY+IG1lc3NhZ2VOYW1lKEFkb3B0V0ssIFdLU3RyaW5nQ3JlYXRlV2l0aFVURjhDU3Ry
aW5nKCJTZXRTdGF0aXN0aWNzU3VicmVzb3VyY2VVbmRlclRvcEZyYW1lT3JpZ2luIikpOworICAg
IFdLUmV0YWluUHRyPFdLRGljdGlvbmFyeVJlZj4gbWVzc2FnZUJvZHkoQWRvcHRXSywgV0tEaWN0
aW9uYXJ5Q3JlYXRlKHJhd0tleXMuZGF0YSgpLCByYXdWYWx1ZXMuZGF0YSgpLCByYXdLZXlzLnNp
emUoKSkpOworICAgIFdLQnVuZGxlUG9zdFN5bmNocm9ub3VzTWVzc2FnZShJbmplY3RlZEJ1bmRs
ZTo6c2luZ2xldG9uKCkuYnVuZGxlKCksIG1lc3NhZ2VOYW1lLmdldCgpLCBtZXNzYWdlQm9keS5n
ZXQoKSwgbnVsbHB0cik7Cit9CisKK3ZvaWQgVGVzdFJ1bm5lcjo6c2V0U3RhdGlzdGljc1N1YnJl
c291cmNlVW5pcXVlUmVkaXJlY3RUbyhKU1N0cmluZ1JlZiBob3N0TmFtZSwgSlNTdHJpbmdSZWYg
aG9zdE5hbWVSZWRpcmVjdGVkVG8pCit7CisgICAgVmVjdG9yPFdLUmV0YWluUHRyPFdLU3RyaW5n
UmVmPj4ga2V5czsKKyAgICBWZWN0b3I8V0tSZXRhaW5QdHI8V0tUeXBlUmVmPj4gdmFsdWVzOwor
ICAgIAorICAgIGtleXMuYXBwZW5kKHsgQWRvcHRXSywgV0tTdHJpbmdDcmVhdGVXaXRoVVRGOENT
dHJpbmcoIkhvc3ROYW1lIikgfSk7CisgICAgdmFsdWVzLmFwcGVuZCh7IEFkb3B0V0ssIFdLU3Ry
aW5nQ3JlYXRlV2l0aEpTU3RyaW5nKGhvc3ROYW1lKSB9KTsKKyAgICAKKyAgICBrZXlzLmFwcGVu
ZCh7IEFkb3B0V0ssIFdLU3RyaW5nQ3JlYXRlV2l0aFVURjhDU3RyaW5nKCJIb3N0TmFtZVJlZGly
ZWN0ZWRUbyIpIH0pOworICAgIHZhbHVlcy5hcHBlbmQoeyBBZG9wdFdLLCBXS1N0cmluZ0NyZWF0
ZVdpdGhKU1N0cmluZyhob3N0TmFtZVJlZGlyZWN0ZWRUbykgfSk7CisgICAgCisgICAgVmVjdG9y
PFdLU3RyaW5nUmVmPiByYXdLZXlzOworICAgIFZlY3RvcjxXS1R5cGVSZWY+IHJhd1ZhbHVlczsK
KyAgICByYXdLZXlzLnJlc2l6ZShrZXlzLnNpemUoKSk7CisgICAgcmF3VmFsdWVzLnJlc2l6ZSh2
YWx1ZXMuc2l6ZSgpKTsKKyAgICAKKyAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IGtleXMuc2l6
ZSgpOyArK2kpIHsKKyAgICAgICAgcmF3S2V5c1tpXSA9IGtleXNbaV0uZ2V0KCk7CisgICAgICAg
IHJhd1ZhbHVlc1tpXSA9IHZhbHVlc1tpXS5nZXQoKTsKKyAgICB9CisgICAgCisgICAgV0tSZXRh
aW5QdHI8V0tTdHJpbmdSZWY+IG1lc3NhZ2VOYW1lKEFkb3B0V0ssIFdLU3RyaW5nQ3JlYXRlV2l0
aFVURjhDU3RyaW5nKCJTZXRTdGF0aXN0aWNzU3VicmVzb3VyY2VVbmlxdWVSZWRpcmVjdFRvIikp
OworICAgIFdLUmV0YWluUHRyPFdLRGljdGlvbmFyeVJlZj4gbWVzc2FnZUJvZHkoQWRvcHRXSywg
V0tEaWN0aW9uYXJ5Q3JlYXRlKHJhd0tleXMuZGF0YSgpLCByYXdWYWx1ZXMuZGF0YSgpLCByYXdL
ZXlzLnNpemUoKSkpOworICAgIFdLQnVuZGxlUG9zdFN5bmNocm9ub3VzTWVzc2FnZShJbmplY3Rl
ZEJ1bmRsZTo6c2luZ2xldG9uKCkuYnVuZGxlKCksIG1lc3NhZ2VOYW1lLmdldCgpLCBtZXNzYWdl
Qm9keS5nZXQoKSwgbnVsbHB0cik7Cit9CisKIHZvaWQgVGVzdFJ1bm5lcjo6c2V0U3RhdGlzdGlj
c1RpbWVUb0xpdmVVc2VySW50ZXJhY3Rpb24oZG91YmxlIHNlY29uZHMpCiB7CiAgICAgV0tSZXRh
aW5QdHI8V0tTdHJpbmdSZWY+IG1lc3NhZ2VOYW1lKEFkb3B0V0ssIFdLU3RyaW5nQ3JlYXRlV2l0
aFVURjhDU3RyaW5nKCJTZXRTdGF0aXN0aWNzVGltZVRvTGl2ZVVzZXJJbnRlcmFjdGlvbiIpKTsK
SW5kZXg6IFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvVGVzdFJ1bm5lci5o
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvVGVz
dFJ1bm5lci5oCShyZXZpc2lvbiAyMTI2NTYpCisrKyBUb29scy9XZWJLaXRUZXN0UnVubmVyL0lu
amVjdGVkQnVuZGxlL1Rlc3RSdW5uZXIuaAkod29ya2luZyBjb3B5KQpAQCAtMzU0LDYgKzM1NCw5
IEBAIHB1YmxpYzoKICAgICBib29sIGlzU3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNlKEpTU3Ry
aW5nUmVmIGhvc3ROYW1lKTsKICAgICB2b2lkIHNldFN0YXRpc3RpY3NIYXNIYWRVc2VySW50ZXJh
Y3Rpb24oSlNTdHJpbmdSZWYgaG9zdE5hbWUsIGJvb2wgdmFsdWUpOwogICAgIGJvb2wgaXNTdGF0
aXN0aWNzSGFzSGFkVXNlckludGVyYWN0aW9uKEpTU3RyaW5nUmVmIGhvc3ROYW1lKTsKKyAgICB2
b2lkIHNldFN0YXRpc3RpY3NTdWJmcmFtZVVuZGVyVG9wRnJhbWVPcmlnaW4oSlNTdHJpbmdSZWYg
aG9zdE5hbWUsIEpTU3RyaW5nUmVmIHRvcEZyYW1lSG9zdE5hbWUpOworICAgIHZvaWQgc2V0U3Rh
dGlzdGljc1N1YnJlc291cmNlVW5kZXJUb3BGcmFtZU9yaWdpbihKU1N0cmluZ1JlZiBob3N0TmFt
ZSwgSlNTdHJpbmdSZWYgdG9wRnJhbWVIb3N0TmFtZSk7CisgICAgdm9pZCBzZXRTdGF0aXN0aWNz
U3VicmVzb3VyY2VVbmlxdWVSZWRpcmVjdFRvKEpTU3RyaW5nUmVmIGhvc3ROYW1lLCBKU1N0cmlu
Z1JlZiBob3N0TmFtZVJlZGlyZWN0ZWRUbyk7CiAgICAgdm9pZCBzZXRTdGF0aXN0aWNzVGltZVRv
TGl2ZVVzZXJJbnRlcmFjdGlvbihkb3VibGUgc2Vjb25kcyk7CiAgICAgdm9pZCBzZXRTdGF0aXN0
aWNzTm90aWZ5UGFnZXNXaGVuRGF0YVJlY29yZHNXZXJlU2Nhbm5lZChib29sKTsKICAgICB2b2lk
IHNldFN0YXRpc3RpY3NTaG91bGRDbGFzc2lmeVJlc291cmNlc0JlZm9yZURhdGFSZWNvcmRzUmVt
b3ZhbChib29sKTsKSW5kZXg6IFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUv
QmluZGluZ3MvVGVzdFJ1bm5lci5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvV2ViS2l0VGVzdFJ1
bm5lci9JbmplY3RlZEJ1bmRsZS9CaW5kaW5ncy9UZXN0UnVubmVyLmlkbAkocmV2aXNpb24gMjEy
NjU2KQorKysgVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9CaW5kaW5ncy9U
ZXN0UnVubmVyLmlkbAkod29ya2luZyBjb3B5KQpAQCAtMjUzLDYgKzI1Myw5IEBAIGludGVyZmFj
ZSBUZXN0UnVubmVyIHsKICAgICBib29sZWFuIGlzU3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNl
KERPTVN0cmluZyBob3N0TmFtZSk7CiAgICAgdm9pZCBzZXRTdGF0aXN0aWNzSGFzSGFkVXNlcklu
dGVyYWN0aW9uKERPTVN0cmluZyBob3N0TmFtZSwgYm9vbGVhbiB2YWx1ZSk7CiAgICAgYm9vbGVh
biBpc1N0YXRpc3RpY3NIYXNIYWRVc2VySW50ZXJhY3Rpb24oRE9NU3RyaW5nIGhvc3ROYW1lKTsK
KyAgICB2b2lkIHNldFN0YXRpc3RpY3NTdWJmcmFtZVVuZGVyVG9wRnJhbWVPcmlnaW4oRE9NU3Ry
aW5nIGhvc3ROYW1lLCBET01TdHJpbmcgdG9wRnJhbWVIb3N0TmFtZSk7CisgICAgdm9pZCBzZXRT
dGF0aXN0aWNzU3VicmVzb3VyY2VVbmRlclRvcEZyYW1lT3JpZ2luKERPTVN0cmluZyBob3N0TmFt
ZSwgRE9NU3RyaW5nIHRvcEZyYW1lSG9zdE5hbWUpOworICAgIHZvaWQgc2V0U3RhdGlzdGljc1N1
YnJlc291cmNlVW5pcXVlUmVkaXJlY3RUbyhET01TdHJpbmcgaG9zdE5hbWUsIERPTVN0cmluZyBo
b3N0TmFtZVJlZGlyZWN0ZWRUbyk7CiAgICAgdm9pZCBzZXRTdGF0aXN0aWNzVGltZVRvTGl2ZVVz
ZXJJbnRlcmFjdGlvbihkb3VibGUgc2Vjb25kcyk7CiAgICAgdm9pZCBzdGF0aXN0aWNzRmlyZURh
dGFNb2RpZmljYXRpb25IYW5kbGVyKCk7CiAgICAgdm9pZCBzZXRTdGF0aXN0aWNzTm90aWZ5UGFn
ZXNXaGVuRGF0YVJlY29yZHNXZXJlU2Nhbm5lZChib29sZWFuIHZhbHVlKTsKSW5kZXg6IFdlYktp
dExpYnJhcmllcy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0TGlicmFyaWVzL0NoYW5n
ZUxvZwkocmV2aXNpb24gMjEyNjc3KQorKysgV2ViS2l0TGlicmFyaWVzL0NoYW5nZUxvZwkod29y
a2luZyBjb3B5KQpAQCAtMSwzICsxLDE1IEBACisyMDE3LTAyLTIwICBKb2huIFdpbGFuZGVyICA8
d2lsYW5kZXJAYXBwbGUuY29tPgorCisgICAgICAgIFJlc291cmNlIExvYWQgU3RhdGlzdGljczog
QWRkIGFsdGVybmF0ZSBjbGFzc2lmaWNhdGlvbiBtZXRob2QKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2ODM0NworICAgICAgICA8cmRhcjovL3Byb2Js
ZW0vMzAzNTI3OTM+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgKiBXZWJLaXRQcml2YXRlRnJhbWV3b3JrU3R1YnMvaU9TLzEwL0NvcmVQcmVkaWN0aW9u
LmZyYW1ld29yazogQWRkZWQuCisgICAgICAgICogV2ViS2l0UHJpdmF0ZUZyYW1ld29ya1N0dWJz
L2lPUy8xMC9Db3JlUHJlZGljdGlvbi5mcmFtZXdvcmsvQ29yZVByZWRpY3Rpb24udGJkOiBBZGRl
ZC4KKyAgICAgICAgICAgIFN0dWJzIGZvciBwcml2YXRlIGZyYW1ld29yay4KKwogMjAxNy0wMS0x
MiAgQW5kcmVhcyBLbGluZyAgPGFrbGluZ0BhcHBsZS5jb20+CiAKICAgICAgICAgW2lPU10gUHVy
Z2UgR3JhcGhpY3NTZXJ2aWNlcyBmb250IGNhY2hlIG9uIG1lbW9yeSB3YXJuaW5nLgpJbmRleDog
V2ViS2l0TGlicmFyaWVzL1dlYktpdFByaXZhdGVGcmFtZXdvcmtTdHVicy9pT1MvMTAvQ29yZVBy
ZWRpY3Rpb24uZnJhbWV3b3JrL0NvcmVQcmVkaWN0aW9uLnRiZAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJL
aXRMaWJyYXJpZXMvV2ViS2l0UHJpdmF0ZUZyYW1ld29ya1N0dWJzL2lPUy8xMC9Db3JlUHJlZGlj
dGlvbi5mcmFtZXdvcmsvQ29yZVByZWRpY3Rpb24udGJkCShub25leGlzdGVudCkKKysrIFdlYktp
dExpYnJhcmllcy9XZWJLaXRQcml2YXRlRnJhbWV3b3JrU3R1YnMvaU9TLzEwL0NvcmVQcmVkaWN0
aW9uLmZyYW1ld29yay9Db3JlUHJlZGljdGlvbi50YmQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCAr
MSwxOCBAQAorLS0tICF0YXBpLXRiZC12MgorYXJjaHM6CisgIC0gYXJtdjcKKyAgLSBhcm12N3MK
KyAgLSBhcm02NAorZXhwb3J0czoKKyAgLQorICAgIGFyY2hzOgorICAgICAgLSBhcm12NworICAg
ICAgLSBhcm12N3MKKyAgICAgIC0gYXJtNjQKKyAgICBzeW1ib2xzOgorICAgICAgLSBfc3ZtX2xv
YWRfbW9kZWwKKyAgICAgIC0gX3N2bV9wcmVkaWN0X3ZhbHVlcworaW5zdGFsbC1uYW1lOiAvU3lz
dGVtL0xpYnJhcnkvUHJpdmF0ZUZyYW1ld29ya3MvQ29yZVByZWRpY3Rpb24uZnJhbWV3b3JrCitv
YmpjLWNvbnN0cmFpbnQ6IG5vbmUKK3BsYXRmb3JtOiBpb3MKKy4uLgpJbmRleDogTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL0NoYW5nZUxvZwkocmV2aXNp
b24gMjEyNjc3KQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0x
LDMgKzEsMzMgQEAKKzIwMTctMDItMjAgIEpvaG4gV2lsYW5kZXIgIDx3aWxhbmRlckBhcHBsZS5j
b20+CisKKyAgICAgICAgUmVzb3VyY2UgTG9hZCBTdGF0aXN0aWNzOiBBZGQgYWx0ZXJuYXRlIGNs
YXNzaWZpY2F0aW9uIG1ldGhvZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTY4MzQ3CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8zMDM1Mjc5Mz4KKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGh0dHAvdGVz
dHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLW5vbi1wcmV2YWxl
bnQtYmFzZWQtb24tbWl4ZWQtc3RhdGlzdGljcy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIGh0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFz
LW5vbi1wcmV2YWxlbnQtYmFzZWQtb24tbWl4ZWQtc3RhdGlzdGljcy5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBodHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lm
eS1hcy1ub24tcHJldmFsZW50LWJhc2VkLW9uLXN1Yi1mcmFtZS11bmRlci10b3AtZnJhbWUtb3Jp
Z2lucy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvbG9hZGluZy9y
ZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLW5vbi1wcmV2YWxlbnQtYmFzZWQtb24t
c3ViLWZyYW1lLXVuZGVyLXRvcC1mcmFtZS1vcmlnaW5zLmh0bWw6IEFkZGVkLgorICAgICAgICAq
IGh0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLW5v
bi1wcmV2YWxlbnQtYmFzZWQtb24tc3VicmVzb3VyY2UtdW5kZXItdG9wLWZyYW1lLW9yaWdpbnMt
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3Vy
Y2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1ub24tcHJldmFsZW50LWJhc2VkLW9uLXN1YnJl
c291cmNlLXVuZGVyLXRvcC1mcmFtZS1vcmlnaW5zLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGh0
dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLW5vbi1w
cmV2YWxlbnQtYmFzZWQtb24tc3VicmVzb3VyY2UtdW5pcXVlLXJlZGlyZWN0cy10by1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRT
dGF0aXN0aWNzL2NsYXNzaWZ5LWFzLW5vbi1wcmV2YWxlbnQtYmFzZWQtb24tc3VicmVzb3VyY2Ut
dW5pcXVlLXJlZGlyZWN0cy10by5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2xv
YWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1wcmV2YWxlbnQtYmFzZWQt
b24tbWl4ZWQtc3RhdGlzdGljcy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAv
dGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLXByZXZhbGVu
dC1iYXNlZC1vbi1taXhlZC1zdGF0aXN0aWNzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGh0dHAv
dGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLXByZXZhbGVu
dC1iYXNlZC1vbi1zdWItZnJhbWUtdW5kZXItdG9wLWZyYW1lLW9yaWdpbnMtZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlz
dGljcy9jbGFzc2lmeS1hcy1wcmV2YWxlbnQtYmFzZWQtb24tc3ViLWZyYW1lLXVuZGVyLXRvcC1m
cmFtZS1vcmlnaW5zLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvbG9hZGluZy9y
ZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLXByZXZhbGVudC1iYXNlZC1vbi1zdWJy
ZXNvdXJjZS11bmRlci10b3AtZnJhbWUtb3JpZ2lucy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGh0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5
LWFzLXByZXZhbGVudC1iYXNlZC1vbi1zdWJyZXNvdXJjZS11bmRlci10b3AtZnJhbWUtb3JpZ2lu
cy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2Fk
U3RhdGlzdGljcy9jbGFzc2lmeS1hcy1wcmV2YWxlbnQtYmFzZWQtb24tc3VicmVzb3VyY2UtdW5p
cXVlLXJlZGlyZWN0cy10by1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVz
dHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLXByZXZhbGVudC1i
YXNlZC1vbi1zdWJyZXNvdXJjZS11bmlxdWUtcmVkaXJlY3RzLXRvLmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIHBsYXRmb3JtL2d0ay9UZXN0RXhwZWN0YXRpb25zOgorICAgICAgICAgICAgVGhlIHdo
b2xlIGh0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzIG1hcmtlZCBhcyBj
cmFzaGluZyBiYXNlZCBvbgorICAgICAgICAgICAgQ2FybG9zIEdhcmNpYSBDYW1wb3MncyBhc3Nl
c3NtZW50IGluIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjgxNzEu
CisgICAgICAgICogcGxhdGZvcm0vd2syL1Rlc3RFeHBlY3RhdGlvbnM6CisgICAgICAgICAgICBU
aGUgYWJvdmUgdGVzdHMgYXJlIG9ubHkgdmFsaWQgZm9yIFdlYktpdDIuIE1hcmtlZCBhcyBbIFBh
c3MgXS4KKwogMjAxNy0wMi0yMCAgUnlhbiBIYWRkYWQgIDxyeWFuaGFkZGFkQGFwcGxlLmNvbT4K
IAogICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByMjEyNjUzLgpJbmRleDogTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnkt
YXMtbm9uLXByZXZhbGVudC1iYXNlZC1vbi1taXhlZC1zdGF0aXN0aWNzLWV4cGVjdGVkLnR4dAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2Fk
U3RhdGlzdGljcy9jbGFzc2lmeS1hcy1ub24tcHJldmFsZW50LWJhc2VkLW9uLW1peGVkLXN0YXRp
c3RpY3MtZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2h0dHAvdGVz
dHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLW5vbi1wcmV2YWxl
bnQtYmFzZWQtb24tbWl4ZWQtc3RhdGlzdGljcy1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkK
QEAgLTAsMCArMSw4IEBACittYWluIGZyYW1lIC0gZGlkU3RhcnRQcm92aXNpb25hbExvYWRGb3JG
cmFtZQorbWFpbiBmcmFtZSAtIGRpZENvbW1pdExvYWRGb3JGcmFtZQorbWFpbiBmcmFtZSAtIGRp
ZFJlY2VpdmVUaXRsZTogVGVzdHMgZm9yIENsYXNzaWZpY2F0aW9uIEJhc2VkIG9uIE1peGVkIFN0
YXRpc3RpY3MKK21haW4gZnJhbWUgLSBkaWRGaW5pc2hEb2N1bWVudExvYWRGb3JGcmFtZQorbWFp
biBmcmFtZSAtIGRpZEhhbmRsZU9ubG9hZEV2ZW50c0ZvckZyYW1lCittYWluIGZyYW1lIC0gZGlk
RmluaXNoTG9hZEZvckZyYW1lCitQQVNTIEhvc3QgZGlkIG5vdCBnZXQgY2xhc3NpZmllZCBhcyBw
cmV2YWxlbnQgcmVzb3VyY2UuCisKSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvbG9hZGlu
Zy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLW5vbi1wcmV2YWxlbnQtYmFzZWQt
b24tbWl4ZWQtc3RhdGlzdGljcy5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAv
dGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLW5vbi1wcmV2
YWxlbnQtYmFzZWQtb24tbWl4ZWQtc3RhdGlzdGljcy5odG1sCShub25leGlzdGVudCkKKysrIExh
eW91dFRlc3RzL2h0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNz
aWZ5LWFzLW5vbi1wcmV2YWxlbnQtYmFzZWQtb24tbWl4ZWQtc3RhdGlzdGljcy5odG1sCSh3b3Jr
aW5nIGNvcHkpCkBAIC0wLDAgKzEsNDIgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWwgbGFuZz0i
ZW4iPgorPGhlYWQ+CisgICAgPG1ldGEgY2hhcnNldD0iVVRGLTgiPgorICAgIDx0aXRsZT5UZXN0
cyBmb3IgQ2xhc3NpZmljYXRpb24gQmFzZWQgb24gTWl4ZWQgU3RhdGlzdGljczwvdGl0bGU+Cisg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQ+CisgICAgY29uc3QgaG9zdFVuZGVyVGVzdCA9ICIx
MjcuMC4wLjE6ODAwMCI7CisgICAgY29uc3Qgc3RhdGlzdGljc1VybCA9ICJodHRwOi8vIiArIGhv
c3RVbmRlclRlc3QgKyAiL3RlbXAiOworICAgIGNvbnN0IHRvcEZyYW1lT3JpZ2luMSA9ICJodHRw
Oi8vMTI3LjAuMC4yOjgwMDAvdGVtcCI7CisgICAgY29uc3QgdG9wRnJhbWVPcmlnaW4yID0gImh0
dHA6Ly8xMjcuMC4wLjM6ODAwMC90ZW1wIjsKKyAgICBjb25zdCB0b3BGcmFtZU9yaWdpbjMgPSAi
aHR0cDovLzEyNy4wLjAuNDo4MDAwL3RlbXAiOworICAgIGZ1bmN0aW9uIHJ1blRlc3RSdW5uZXJU
ZXN0KCkgeworICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJj
ZShzdGF0aXN0aWNzVXJsLCBmYWxzZSk7CisgICAgICAgIGlmICh0ZXN0UnVubmVyLmlzU3RhdGlz
dGljc1ByZXZhbGVudFJlc291cmNlKHN0YXRpc3RpY3NVcmwpKQorICAgICAgICAgICAgdGVzdEZh
aWxlZCgiSG9zdCBkaWQgbm90IGdldCBzZXQgYXMgbm9uLXByZXZhbGVudCByZXNvdXJjZS4iKTsK
KworICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NTdWJmcmFtZVVuZGVyVG9wRnJhbWVP
cmlnaW4oc3RhdGlzdGljc1VybCwgdG9wRnJhbWVPcmlnaW4xKTsKKyAgICAgICAgdGVzdFJ1bm5l
ci5zZXRTdGF0aXN0aWNzU3VicmVzb3VyY2VVbmRlclRvcEZyYW1lT3JpZ2luKHN0YXRpc3RpY3NV
cmwsIHRvcEZyYW1lT3JpZ2luMik7CisgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1N1
YnJlc291cmNlVW5pcXVlUmVkaXJlY3RUbyhzdGF0aXN0aWNzVXJsLCB0b3BGcmFtZU9yaWdpbjMp
OworCisgICAgICAgIHRlc3RSdW5uZXIuc3RhdGlzdGljc0ZpcmVEYXRhTW9kaWZpY2F0aW9uSGFu
ZGxlcigpOworCisgICAgICAgIGlmICh0ZXN0UnVubmVyLmlzU3RhdGlzdGljc1ByZXZhbGVudFJl
c291cmNlKHN0YXRpc3RpY3NVcmwpKQorICAgICAgICAgICAgdGVzdEZhaWxlZCgiSG9zdCBjbGFz
c2lmaWVkIGFzIHByZXZhbGVudCByZXNvdXJjZS4iKTsKKyAgICAgICAgZWxzZQorICAgICAgICAg
ICAgdGVzdFBhc3NlZCgiSG9zdCBkaWQgbm90IGdldCBjbGFzc2lmaWVkIGFzIHByZXZhbGVudCBy
ZXNvdXJjZS4iKTsKKworICAgICAgICB0ZXN0UnVubmVyLnN0YXRpc3RpY3NSZXNldFRvQ29uc2lz
dGVudFN0YXRlKCk7CisgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOworICAgIH0KKwor
ICAgIGlmIChkb2N1bWVudC5sb2NhdGlvbi5ob3N0ID09PSBob3N0VW5kZXJUZXN0ICYmIHdpbmRv
dy50ZXN0UnVubmVyICYmIHdpbmRvdy5pbnRlcm5hbHMpIHsKKyAgICAgICAgdGVzdFJ1bm5lci53
YWl0VW50aWxEb25lKCk7CisgICAgICAgIGludGVybmFscy5zZXRSZXNvdXJjZUxvYWRTdGF0aXN0
aWNzRW5hYmxlZCh0cnVlKTsKKyAgICAgICAgcnVuVGVzdFJ1bm5lclRlc3QoKTsKKyAgICB9Cis8
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCklu
ZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGlj
cy9jbGFzc2lmeS1hcy1ub24tcHJldmFsZW50LWJhc2VkLW9uLXN1Yi1mcmFtZS11bmRlci10b3At
ZnJhbWUtb3JpZ2lucy1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtbm9uLXBy
ZXZhbGVudC1iYXNlZC1vbi1zdWItZnJhbWUtdW5kZXItdG9wLWZyYW1lLW9yaWdpbnMtZXhwZWN0
ZWQudHh0CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvbG9hZGluZy9y
ZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLW5vbi1wcmV2YWxlbnQtYmFzZWQtb24t
c3ViLWZyYW1lLXVuZGVyLXRvcC1mcmFtZS1vcmlnaW5zLWV4cGVjdGVkLnR4dAkod29ya2luZyBj
b3B5KQpAQCAtMCwwICsxLDggQEAKK21haW4gZnJhbWUgLSBkaWRTdGFydFByb3Zpc2lvbmFsTG9h
ZEZvckZyYW1lCittYWluIGZyYW1lIC0gZGlkQ29tbWl0TG9hZEZvckZyYW1lCittYWluIGZyYW1l
IC0gZGlkUmVjZWl2ZVRpdGxlOiBUZXN0cyBmb3IgQ2xhc3NpZmljYXRpb24gQmFzZWQgb24gU3Vi
IEZyYW1lIFVuZGVyIFRvcCBGcmFtZSBPcmlnaW5zCittYWluIGZyYW1lIC0gZGlkRmluaXNoRG9j
dW1lbnRMb2FkRm9yRnJhbWUKK21haW4gZnJhbWUgLSBkaWRIYW5kbGVPbmxvYWRFdmVudHNGb3JG
cmFtZQorbWFpbiBmcmFtZSAtIGRpZEZpbmlzaExvYWRGb3JGcmFtZQorUEFTUyBIb3N0IGRpZCBu
b3QgZ2V0IGNsYXNzaWZpZWQgYXMgcHJldmFsZW50IHJlc291cmNlLgorCkluZGV4OiBMYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1h
cy1ub24tcHJldmFsZW50LWJhc2VkLW9uLXN1Yi1mcmFtZS11bmRlci10b3AtZnJhbWUtb3JpZ2lu
cy5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvbG9hZGluZy9yZXNv
dXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLW5vbi1wcmV2YWxlbnQtYmFzZWQtb24tc3Vi
LWZyYW1lLXVuZGVyLXRvcC1mcmFtZS1vcmlnaW5zLmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3Np
ZnktYXMtbm9uLXByZXZhbGVudC1iYXNlZC1vbi1zdWItZnJhbWUtdW5kZXItdG9wLWZyYW1lLW9y
aWdpbnMuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDQyIEBACis8IURPQ1RZUEUgaHRt
bD4KKzxodG1sIGxhbmc9ImVuIj4KKzxoZWFkPgorICAgIDxtZXRhIGNoYXJzZXQ9IlVURi04Ij4K
KyAgICA8dGl0bGU+VGVzdHMgZm9yIENsYXNzaWZpY2F0aW9uIEJhc2VkIG9uIFN1YiBGcmFtZSBV
bmRlciBUb3AgRnJhbWUgT3JpZ2luczwvdGl0bGU+CisgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3Jp
cHQ+CisgICAgY29uc3QgaG9zdFVuZGVyVGVzdCA9ICIxMjcuMC4wLjE6ODAwMCI7CisgICAgY29u
c3Qgc3RhdGlzdGljc1VybCA9ICJodHRwOi8vIiArIGhvc3RVbmRlclRlc3QgKyAiL3RlbXAiOwor
ICAgIGNvbnN0IHRvcEZyYW1lT3JpZ2luMSA9ICJodHRwOi8vMTI3LjAuMC4yOjgwMDAvdGVtcCI7
CisgICAgY29uc3QgdG9wRnJhbWVPcmlnaW4yID0gImh0dHA6Ly8xMjcuMC4wLjM6ODAwMC90ZW1w
IjsKKyAgICBjb25zdCB0b3BGcmFtZU9yaWdpbjMgPSAiaHR0cDovLzEyNy4wLjAuNDo4MDAwL3Rl
bXAiOworICAgIGZ1bmN0aW9uIHJ1blRlc3RSdW5uZXJUZXN0KCkgeworICAgICAgICB0ZXN0UnVu
bmVyLnNldFN0YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJjZShzdGF0aXN0aWNzVXJsLCBmYWxzZSk7
CisgICAgICAgIGlmICh0ZXN0UnVubmVyLmlzU3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNlKHN0
YXRpc3RpY3NVcmwpKQorICAgICAgICAgICAgdGVzdEZhaWxlZCgiSG9zdCBkaWQgbm90IGdldCBz
ZXQgYXMgbm9uLXByZXZhbGVudCByZXNvdXJjZS4iKTsKKworICAgICAgICB0ZXN0UnVubmVyLnNl
dFN0YXRpc3RpY3NTdWJmcmFtZVVuZGVyVG9wRnJhbWVPcmlnaW4oc3RhdGlzdGljc1VybCwgdG9w
RnJhbWVPcmlnaW4xKTsKKyAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzU3ViZnJhbWVV
bmRlclRvcEZyYW1lT3JpZ2luKHN0YXRpc3RpY3NVcmwsIHRvcEZyYW1lT3JpZ2luMik7CisgICAg
ICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1N1YmZyYW1lVW5kZXJUb3BGcmFtZU9yaWdpbihz
dGF0aXN0aWNzVXJsLCB0b3BGcmFtZU9yaWdpbjMpOworCisgICAgICAgIHRlc3RSdW5uZXIuc3Rh
dGlzdGljc0ZpcmVEYXRhTW9kaWZpY2F0aW9uSGFuZGxlcigpOworCisgICAgICAgIGlmICh0ZXN0
UnVubmVyLmlzU3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNlKHN0YXRpc3RpY3NVcmwpKQorICAg
ICAgICAgICAgdGVzdEZhaWxlZCgiSG9zdCBjbGFzc2lmaWVkIGFzIHByZXZhbGVudCByZXNvdXJj
ZS4iKTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgdGVzdFBhc3NlZCgiSG9zdCBkaWQgbm90
IGdldCBjbGFzc2lmaWVkIGFzIHByZXZhbGVudCByZXNvdXJjZS4iKTsKKworICAgICAgICB0ZXN0
UnVubmVyLnN0YXRpc3RpY3NSZXNldFRvQ29uc2lzdGVudFN0YXRlKCk7CisgICAgICAgIHRlc3RS
dW5uZXIubm90aWZ5RG9uZSgpOworICAgIH0KKworICAgIGlmIChkb2N1bWVudC5sb2NhdGlvbi5o
b3N0ID09PSBob3N0VW5kZXJUZXN0ICYmIHdpbmRvdy50ZXN0UnVubmVyICYmIHdpbmRvdy5pbnRl
cm5hbHMpIHsKKyAgICAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7CisgICAgICAgIGlu
dGVybmFscy5zZXRSZXNvdXJjZUxvYWRTdGF0aXN0aWNzRW5hYmxlZCh0cnVlKTsKKyAgICAgICAg
cnVuVGVzdFJ1bm5lclRlc3QoKTsKKyAgICB9Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1ub24tcHJldmFsZW50
LWJhc2VkLW9uLXN1YnJlc291cmNlLXVuZGVyLXRvcC1mcmFtZS1vcmlnaW5zLWV4cGVjdGVkLnR4
dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VM
b2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1ub24tcHJldmFsZW50LWJhc2VkLW9uLXN1YnJlc291
cmNlLXVuZGVyLXRvcC1mcmFtZS1vcmlnaW5zLWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisr
KyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9j
bGFzc2lmeS1hcy1ub24tcHJldmFsZW50LWJhc2VkLW9uLXN1YnJlc291cmNlLXVuZGVyLXRvcC1m
cmFtZS1vcmlnaW5zLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDggQEAK
K21haW4gZnJhbWUgLSBkaWRTdGFydFByb3Zpc2lvbmFsTG9hZEZvckZyYW1lCittYWluIGZyYW1l
IC0gZGlkQ29tbWl0TG9hZEZvckZyYW1lCittYWluIGZyYW1lIC0gZGlkUmVjZWl2ZVRpdGxlOiBU
ZXN0cyBmb3IgQ2xhc3NpZmljYXRpb24gQmFzZWQgb24gU3VicmVzb3VyY2UgVW5kZXIgVG9wIEZy
YW1lIE9yaWdpbnMKK21haW4gZnJhbWUgLSBkaWRGaW5pc2hEb2N1bWVudExvYWRGb3JGcmFtZQor
bWFpbiBmcmFtZSAtIGRpZEhhbmRsZU9ubG9hZEV2ZW50c0ZvckZyYW1lCittYWluIGZyYW1lIC0g
ZGlkRmluaXNoTG9hZEZvckZyYW1lCitQQVNTIEhvc3QgZGlkIG5vdCBnZXQgY2xhc3NpZmllZCBh
cyBwcmV2YWxlbnQgcmVzb3VyY2UuCisKSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvbG9h
ZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLW5vbi1wcmV2YWxlbnQtYmFz
ZWQtb24tc3VicmVzb3VyY2UtdW5kZXItdG9wLWZyYW1lLW9yaWdpbnMuaHRtbAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGlj
cy9jbGFzc2lmeS1hcy1ub24tcHJldmFsZW50LWJhc2VkLW9uLXN1YnJlc291cmNlLXVuZGVyLXRv
cC1mcmFtZS1vcmlnaW5zLmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtbm9uLXByZXZh
bGVudC1iYXNlZC1vbi1zdWJyZXNvdXJjZS11bmRlci10b3AtZnJhbWUtb3JpZ2lucy5odG1sCSh3
b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNDAgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWwgbGFu
Zz0iZW4iPgorPGhlYWQ+CisgICAgPG1ldGEgY2hhcnNldD0iVVRGLTgiPgorICAgIDx0aXRsZT5U
ZXN0cyBmb3IgQ2xhc3NpZmljYXRpb24gQmFzZWQgb24gU3VicmVzb3VyY2UgVW5kZXIgVG9wIEZy
YW1lIE9yaWdpbnM8L3RpdGxlPgorICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0PgorICAgIGNv
bnN0IGhvc3RVbmRlclRlc3QgPSAiMTI3LjAuMC4xOjgwMDAiOworICAgIGNvbnN0IHN0YXRpc3Rp
Y3NVcmwgPSAiaHR0cDovLyIgKyBob3N0VW5kZXJUZXN0ICsgIi90ZW1wIjsKKyAgICBjb25zdCB0
b3BGcmFtZU9yaWdpbjEgPSAiaHR0cDovLzEyNy4wLjAuMjo4MDAwL3RlbXAiOworICAgIGNvbnN0
IHRvcEZyYW1lT3JpZ2luMiA9ICJodHRwOi8vMTI3LjAuMC4zOjgwMDAvdGVtcCI7CisgICAgZnVu
Y3Rpb24gcnVuVGVzdFJ1bm5lclRlc3QoKSB7CisgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlz
dGljc1ByZXZhbGVudFJlc291cmNlKHN0YXRpc3RpY3NVcmwsIGZhbHNlKTsKKyAgICAgICAgaWYg
KHRlc3RSdW5uZXIuaXNTdGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2Uoc3RhdGlzdGljc1VybCkp
CisgICAgICAgICAgICB0ZXN0RmFpbGVkKCJIb3N0IGRpZCBub3QgZ2V0IHNldCBhcyBub24tcHJl
dmFsZW50IHJlc291cmNlLiIpOworCisgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1N1
YnJlc291cmNlVW5kZXJUb3BGcmFtZU9yaWdpbihzdGF0aXN0aWNzVXJsLCB0b3BGcmFtZU9yaWdp
bjEpOworICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NTdWJyZXNvdXJjZVVuZGVyVG9w
RnJhbWVPcmlnaW4oc3RhdGlzdGljc1VybCwgdG9wRnJhbWVPcmlnaW4yKTsKKworICAgICAgICB0
ZXN0UnVubmVyLnN0YXRpc3RpY3NGaXJlRGF0YU1vZGlmaWNhdGlvbkhhbmRsZXIoKTsKKworICAg
ICAgICBpZiAodGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJjZShzdGF0aXN0
aWNzVXJsKSkKKyAgICAgICAgICAgIHRlc3RGYWlsZWQoIkhvc3QgY2xhc3NpZmllZCBhcyBwcmV2
YWxlbnQgcmVzb3VyY2UuIik7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIHRlc3RQYXNzZWQo
Ikhvc3QgZGlkIG5vdCBnZXQgY2xhc3NpZmllZCBhcyBwcmV2YWxlbnQgcmVzb3VyY2UuIik7CisK
KyAgICAgICAgdGVzdFJ1bm5lci5zdGF0aXN0aWNzUmVzZXRUb0NvbnNpc3RlbnRTdGF0ZSgpOwor
ICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKKyAgICB9CisKKyAgICBpZiAoZG9jdW1l
bnQubG9jYXRpb24uaG9zdCA9PT0gaG9zdFVuZGVyVGVzdCAmJiB3aW5kb3cudGVzdFJ1bm5lciAm
JiB3aW5kb3cuaW50ZXJuYWxzKSB7CisgICAgICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgp
OworICAgICAgICBpbnRlcm5hbHMuc2V0UmVzb3VyY2VMb2FkU3RhdGlzdGljc0VuYWJsZWQodHJ1
ZSk7CisgICAgICAgIHJ1blRlc3RSdW5uZXJUZXN0KCk7CisgICAgfQorPC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpJbmRleDogTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMt
bm9uLXByZXZhbGVudC1iYXNlZC1vbi1zdWJyZXNvdXJjZS11bmlxdWUtcmVkaXJlY3RzLXRvLWV4
cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2xvYWRpbmcv
cmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1ub24tcHJldmFsZW50LWJhc2VkLW9u
LXN1YnJlc291cmNlLXVuaXF1ZS1yZWRpcmVjdHMtdG8tZXhwZWN0ZWQudHh0CShub25leGlzdGVu
dCkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0
aWNzL2NsYXNzaWZ5LWFzLW5vbi1wcmV2YWxlbnQtYmFzZWQtb24tc3VicmVzb3VyY2UtdW5pcXVl
LXJlZGlyZWN0cy10by1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw4IEBA
CittYWluIGZyYW1lIC0gZGlkU3RhcnRQcm92aXNpb25hbExvYWRGb3JGcmFtZQorbWFpbiBmcmFt
ZSAtIGRpZENvbW1pdExvYWRGb3JGcmFtZQorbWFpbiBmcmFtZSAtIGRpZFJlY2VpdmVUaXRsZTog
VGVzdHMgZm9yIENsYXNzaWZpY2F0aW9uIEJhc2VkIG9uIFN1YnJlc291cmNlIFVuaXF1ZSBSZWRp
cmVjdHMgVG8KK21haW4gZnJhbWUgLSBkaWRGaW5pc2hEb2N1bWVudExvYWRGb3JGcmFtZQorbWFp
biBmcmFtZSAtIGRpZEhhbmRsZU9ubG9hZEV2ZW50c0ZvckZyYW1lCittYWluIGZyYW1lIC0gZGlk
RmluaXNoTG9hZEZvckZyYW1lCitQQVNTIEhvc3QgZGlkIG5vdCBnZXQgY2xhc3NpZmllZCBhcyBw
cmV2YWxlbnQgcmVzb3VyY2UuCisKSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvbG9hZGlu
Zy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLW5vbi1wcmV2YWxlbnQtYmFzZWQt
b24tc3VicmVzb3VyY2UtdW5pcXVlLXJlZGlyZWN0cy10by5odG1sCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL2h0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNz
aWZ5LWFzLW5vbi1wcmV2YWxlbnQtYmFzZWQtb24tc3VicmVzb3VyY2UtdW5pcXVlLXJlZGlyZWN0
cy10by5odG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvbG9hZGlu
Zy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLW5vbi1wcmV2YWxlbnQtYmFzZWQt
b24tc3VicmVzb3VyY2UtdW5pcXVlLXJlZGlyZWN0cy10by5odG1sCSh3b3JraW5nIGNvcHkpCkBA
IC0wLDAgKzEsNDAgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWwgbGFuZz0iZW4iPgorPGhlYWQ+
CisgICAgPG1ldGEgY2hhcnNldD0iVVRGLTgiPgorICAgIDx0aXRsZT5UZXN0cyBmb3IgQ2xhc3Np
ZmljYXRpb24gQmFzZWQgb24gU3VicmVzb3VyY2UgVW5pcXVlIFJlZGlyZWN0cyBUbzwvdGl0bGU+
CisgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3Jp
cHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQ+CisgICAgY29uc3QgaG9zdFVuZGVyVGVzdCA9
ICIxMjcuMC4wLjE6ODAwMCI7CisgICAgY29uc3Qgc3RhdGlzdGljc1VybCA9ICJodHRwOi8vIiAr
IGhvc3RVbmRlclRlc3QgKyAiL3RlbXAiOworICAgIGNvbnN0IHRvcEZyYW1lT3JpZ2luMSA9ICJo
dHRwOi8vMTI3LjAuMC4yOjgwMDAvdGVtcCI7CisgICAgY29uc3QgdG9wRnJhbWVPcmlnaW4yID0g
Imh0dHA6Ly8xMjcuMC4wLjM6ODAwMC90ZW1wIjsKKyAgICBmdW5jdGlvbiBydW5UZXN0UnVubmVy
VGVzdCgpIHsKKyAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzUHJldmFsZW50UmVzb3Vy
Y2Uoc3RhdGlzdGljc1VybCwgZmFsc2UpOworICAgICAgICBpZiAodGVzdFJ1bm5lci5pc1N0YXRp
c3RpY3NQcmV2YWxlbnRSZXNvdXJjZShzdGF0aXN0aWNzVXJsKSkKKyAgICAgICAgICAgIHRlc3RG
YWlsZWQoIkhvc3QgZGlkIG5vdCBnZXQgc2V0IGFzIG5vbi1wcmV2YWxlbnQgcmVzb3VyY2UuIik7
CisKKyAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzU3VicmVzb3VyY2VVbmlxdWVSZWRp
cmVjdFRvKHN0YXRpc3RpY3NVcmwsIHRvcEZyYW1lT3JpZ2luMSk7CisgICAgICAgIHRlc3RSdW5u
ZXIuc2V0U3RhdGlzdGljc1N1YnJlc291cmNlVW5pcXVlUmVkaXJlY3RUbyhzdGF0aXN0aWNzVXJs
LCB0b3BGcmFtZU9yaWdpbjIpOworCisgICAgICAgIHRlc3RSdW5uZXIuc3RhdGlzdGljc0ZpcmVE
YXRhTW9kaWZpY2F0aW9uSGFuZGxlcigpOworCisgICAgICAgIGlmICh0ZXN0UnVubmVyLmlzU3Rh
dGlzdGljc1ByZXZhbGVudFJlc291cmNlKHN0YXRpc3RpY3NVcmwpKQorICAgICAgICAgICAgdGVz
dEZhaWxlZCgiSG9zdCBjbGFzc2lmaWVkIGFzIHByZXZhbGVudCByZXNvdXJjZS4iKTsKKyAgICAg
ICAgZWxzZQorICAgICAgICAgICAgdGVzdFBhc3NlZCgiSG9zdCBkaWQgbm90IGdldCBjbGFzc2lm
aWVkIGFzIHByZXZhbGVudCByZXNvdXJjZS4iKTsKKworICAgICAgICB0ZXN0UnVubmVyLnN0YXRp
c3RpY3NSZXNldFRvQ29uc2lzdGVudFN0YXRlKCk7CisgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5
RG9uZSgpOworICAgIH0KKworICAgIGlmIChkb2N1bWVudC5sb2NhdGlvbi5ob3N0ID09PSBob3N0
VW5kZXJUZXN0ICYmIHdpbmRvdy50ZXN0UnVubmVyICYmIHdpbmRvdy5pbnRlcm5hbHMpIHsKKyAg
ICAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7CisgICAgICAgIGludGVybmFscy5zZXRS
ZXNvdXJjZUxvYWRTdGF0aXN0aWNzRW5hYmxlZCh0cnVlKTsKKyAgICAgICAgcnVuVGVzdFJ1bm5l
clRlc3QoKTsKKyAgICB9Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2xvYWRpbmcvcmVz
b3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1wcmV2YWxlbnQtYmFzZWQtb24tbWl4ZWQt
c3RhdGlzdGljcy1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtcHJldmFsZW50
LWJhc2VkLW9uLW1peGVkLXN0YXRpc3RpY3MtZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKKysr
IExheW91dFRlc3RzL2h0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2Ns
YXNzaWZ5LWFzLXByZXZhbGVudC1iYXNlZC1vbi1taXhlZC1zdGF0aXN0aWNzLWV4cGVjdGVkLnR4
dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDggQEAKK21haW4gZnJhbWUgLSBkaWRTdGFydFBy
b3Zpc2lvbmFsTG9hZEZvckZyYW1lCittYWluIGZyYW1lIC0gZGlkQ29tbWl0TG9hZEZvckZyYW1l
CittYWluIGZyYW1lIC0gZGlkUmVjZWl2ZVRpdGxlOiBUZXN0cyBmb3IgQ2xhc3NpZmljYXRpb24g
QmFzZWQgb24gTWl4ZWQgU3RhdGlzdGljcworbWFpbiBmcmFtZSAtIGRpZEZpbmlzaERvY3VtZW50
TG9hZEZvckZyYW1lCittYWluIGZyYW1lIC0gZGlkSGFuZGxlT25sb2FkRXZlbnRzRm9yRnJhbWUK
K21haW4gZnJhbWUgLSBkaWRGaW5pc2hMb2FkRm9yRnJhbWUKK1BBU1MgSG9zdCBjbGFzc2lmaWVk
IGFzIHByZXZhbGVudCByZXNvdXJjZS4KKwpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9s
b2FkaW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtcHJldmFsZW50LWJhc2Vk
LW9uLW1peGVkLXN0YXRpc3RpY3MuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1wcmV2YWxl
bnQtYmFzZWQtb24tbWl4ZWQtc3RhdGlzdGljcy5odG1sCShub25leGlzdGVudCkKKysrIExheW91
dFRlc3RzL2h0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5
LWFzLXByZXZhbGVudC1iYXNlZC1vbi1taXhlZC1zdGF0aXN0aWNzLmh0bWwJKHdvcmtpbmcgY29w
eSkKQEAgLTAsMCArMSw0OSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbCBsYW5nPSJlbiI+Cis8
aGVhZD4KKyAgICA8bWV0YSBjaGFyc2V0PSJVVEYtOCI+CisgICAgPHRpdGxlPlRlc3RzIGZvciBD
bGFzc2lmaWNhdGlvbiBCYXNlZCBvbiBNaXhlZCBTdGF0aXN0aWNzPC90aXRsZT4KKyAgICA8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHNjcmlwdD4KKyAgICBjb25zdCBob3N0VW5kZXJUZXN0ID0gIjEyNy4wLjAu
MTo4MDAwIjsKKyAgICBjb25zdCBzdGF0aXN0aWNzVXJsID0gImh0dHA6Ly8iICsgaG9zdFVuZGVy
VGVzdCArICIvdGVtcCI7CisgICAgY29uc3QgdG9wRnJhbWVPcmlnaW4xID0gImh0dHA6Ly8xMjcu
MC4wLjI6ODAwMC90ZW1wIjsKKyAgICBjb25zdCB0b3BGcmFtZU9yaWdpbjIgPSAiaHR0cDovLzEy
Ny4wLjAuMzo4MDAwL3RlbXAiOworICAgIGNvbnN0IHRvcEZyYW1lT3JpZ2luMyA9ICJodHRwOi8v
MTI3LjAuMC40OjgwMDAvdGVtcCI7CisgICAgY29uc3QgdG9wRnJhbWVPcmlnaW40ID0gImh0dHA6
Ly8xMjcuMC4wLjU6ODAwMC90ZW1wIjsKKyAgICBmdW5jdGlvbiBydW5UZXN0UnVubmVyVGVzdCgp
IHsKKyAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2Uoc3Rh
dGlzdGljc1VybCwgZmFsc2UpOworICAgICAgICBpZiAodGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NQ
cmV2YWxlbnRSZXNvdXJjZShzdGF0aXN0aWNzVXJsKSkKKyAgICAgICAgICAgIHRlc3RGYWlsZWQo
Ikhvc3QgZGlkIG5vdCBnZXQgc2V0IGFzIG5vbi1wcmV2YWxlbnQgcmVzb3VyY2UuIik7CisKKyAg
ICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzU3ViZnJhbWVVbmRlclRvcEZyYW1lT3JpZ2lu
KHN0YXRpc3RpY3NVcmwsIHRvcEZyYW1lT3JpZ2luMSk7CisgICAgICAgIHRlc3RSdW5uZXIuc2V0
U3RhdGlzdGljc1N1YmZyYW1lVW5kZXJUb3BGcmFtZU9yaWdpbihzdGF0aXN0aWNzVXJsLCB0b3BG
cmFtZU9yaWdpbjQpOworCisgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1N1YnJlc291
cmNlVW5kZXJUb3BGcmFtZU9yaWdpbihzdGF0aXN0aWNzVXJsLCB0b3BGcmFtZU9yaWdpbjIpOwor
ICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NTdWJyZXNvdXJjZVVuZGVyVG9wRnJhbWVP
cmlnaW4oc3RhdGlzdGljc1VybCwgdG9wRnJhbWVPcmlnaW4zKTsKKyAgICAgICAgdGVzdFJ1bm5l
ci5zZXRTdGF0aXN0aWNzU3VicmVzb3VyY2VVbmRlclRvcEZyYW1lT3JpZ2luKHN0YXRpc3RpY3NV
cmwsIHRvcEZyYW1lT3JpZ2luNCk7CisKKyAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNz
U3VicmVzb3VyY2VVbmlxdWVSZWRpcmVjdFRvKHN0YXRpc3RpY3NVcmwsIHRvcEZyYW1lT3JpZ2lu
Myk7CisgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1N1YnJlc291cmNlVW5pcXVlUmVk
aXJlY3RUbyhzdGF0aXN0aWNzVXJsLCB0b3BGcmFtZU9yaWdpbjEpOworCisgICAgICAgIHRlc3RS
dW5uZXIuc3RhdGlzdGljc0ZpcmVEYXRhTW9kaWZpY2F0aW9uSGFuZGxlcigpOworCisgICAgICAg
IGlmICghdGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJjZShzdGF0aXN0aWNz
VXJsKSkKKyAgICAgICAgICAgIHRlc3RGYWlsZWQoIkhvc3QgZGlkIG5vdCBnZXQgY2xhc3NpZmll
ZCBhcyBwcmV2YWxlbnQgcmVzb3VyY2UuIik7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIHRl
c3RQYXNzZWQoIkhvc3QgY2xhc3NpZmllZCBhcyBwcmV2YWxlbnQgcmVzb3VyY2UuIik7CisKKyAg
ICAgICAgdGVzdFJ1bm5lci5zdGF0aXN0aWNzUmVzZXRUb0NvbnNpc3RlbnRTdGF0ZSgpOworICAg
ICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKKyAgICB9CisKKyAgICBpZiAoZG9jdW1lbnQu
bG9jYXRpb24uaG9zdCA9PT0gaG9zdFVuZGVyVGVzdCAmJiB3aW5kb3cudGVzdFJ1bm5lciAmJiB3
aW5kb3cuaW50ZXJuYWxzKSB7CisgICAgICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwor
ICAgICAgICBpbnRlcm5hbHMuc2V0UmVzb3VyY2VMb2FkU3RhdGlzdGljc0VuYWJsZWQodHJ1ZSk7
CisgICAgICAgIHJ1blRlc3RSdW5uZXJUZXN0KCk7CisgICAgfQorPC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpJbmRleDogTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtcHJl
dmFsZW50LWJhc2VkLW9uLXN1Yi1mcmFtZS11bmRlci10b3AtZnJhbWUtb3JpZ2lucy1leHBlY3Rl
ZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291
cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtcHJldmFsZW50LWJhc2VkLW9uLXN1Yi1mcmFt
ZS11bmRlci10b3AtZnJhbWUtb3JpZ2lucy1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysg
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xh
c3NpZnktYXMtcHJldmFsZW50LWJhc2VkLW9uLXN1Yi1mcmFtZS11bmRlci10b3AtZnJhbWUtb3Jp
Z2lucy1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw4IEBACittYWluIGZy
YW1lIC0gZGlkU3RhcnRQcm92aXNpb25hbExvYWRGb3JGcmFtZQorbWFpbiBmcmFtZSAtIGRpZENv
bW1pdExvYWRGb3JGcmFtZQorbWFpbiBmcmFtZSAtIGRpZFJlY2VpdmVUaXRsZTogVGVzdHMgZm9y
IENsYXNzaWZpY2F0aW9uIEJhc2VkIG9uIFN1YiBGcmFtZSBVbmRlciBUb3AgRnJhbWUgT3JpZ2lu
cworbWFpbiBmcmFtZSAtIGRpZEZpbmlzaERvY3VtZW50TG9hZEZvckZyYW1lCittYWluIGZyYW1l
IC0gZGlkSGFuZGxlT25sb2FkRXZlbnRzRm9yRnJhbWUKK21haW4gZnJhbWUgLSBkaWRGaW5pc2hM
b2FkRm9yRnJhbWUKK1BBU1MgSG9zdCBjbGFzc2lmaWVkIGFzIHByZXZhbGVudCByZXNvdXJjZS4K
KwpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0YXRp
c3RpY3MvY2xhc3NpZnktYXMtcHJldmFsZW50LWJhc2VkLW9uLXN1Yi1mcmFtZS11bmRlci10b3At
ZnJhbWUtb3JpZ2lucy5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMv
bG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLXByZXZhbGVudC1iYXNl
ZC1vbi1zdWItZnJhbWUtdW5kZXItdG9wLWZyYW1lLW9yaWdpbnMuaHRtbAkobm9uZXhpc3RlbnQp
CisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGlj
cy9jbGFzc2lmeS1hcy1wcmV2YWxlbnQtYmFzZWQtb24tc3ViLWZyYW1lLXVuZGVyLXRvcC1mcmFt
ZS1vcmlnaW5zLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw0NCBAQAorPCFET0NUWVBF
IGh0bWw+Cis8aHRtbCBsYW5nPSJlbiI+Cis8aGVhZD4KKyAgICA8bWV0YSBjaGFyc2V0PSJVVEYt
OCI+CisgICAgPHRpdGxlPlRlc3RzIGZvciBDbGFzc2lmaWNhdGlvbiBCYXNlZCBvbiBTdWIgRnJh
bWUgVW5kZXIgVG9wIEZyYW1lIE9yaWdpbnM8L3RpdGxlPgorICAgIDxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8
c2NyaXB0PgorICAgIGNvbnN0IGhvc3RVbmRlclRlc3QgPSAiMTI3LjAuMC4xOjgwMDAiOworICAg
IGNvbnN0IHN0YXRpc3RpY3NVcmwgPSAiaHR0cDovLyIgKyBob3N0VW5kZXJUZXN0ICsgIi90ZW1w
IjsKKyAgICBjb25zdCB0b3BGcmFtZU9yaWdpbjEgPSAiaHR0cDovLzEyNy4wLjAuMjo4MDAwL3Rl
bXAiOworICAgIGNvbnN0IHRvcEZyYW1lT3JpZ2luMiA9ICJodHRwOi8vMTI3LjAuMC4zOjgwMDAv
dGVtcCI7CisgICAgY29uc3QgdG9wRnJhbWVPcmlnaW4zID0gImh0dHA6Ly8xMjcuMC4wLjQ6ODAw
MC90ZW1wIjsKKyAgICBjb25zdCB0b3BGcmFtZU9yaWdpbjQgPSAiaHR0cDovLzEyNy4wLjAuNTo4
MDAwL3RlbXAiOworICAgIGZ1bmN0aW9uIHJ1blRlc3RSdW5uZXJUZXN0KCkgeworICAgICAgICB0
ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJjZShzdGF0aXN0aWNzVXJsLCBm
YWxzZSk7CisgICAgICAgIGlmICh0ZXN0UnVubmVyLmlzU3RhdGlzdGljc1ByZXZhbGVudFJlc291
cmNlKHN0YXRpc3RpY3NVcmwpKQorICAgICAgICAgICAgdGVzdEZhaWxlZCgiSG9zdCBkaWQgbm90
IGdldCBzZXQgYXMgbm9uLXByZXZhbGVudCByZXNvdXJjZS4iKTsKKworICAgICAgICB0ZXN0UnVu
bmVyLnNldFN0YXRpc3RpY3NTdWJmcmFtZVVuZGVyVG9wRnJhbWVPcmlnaW4oc3RhdGlzdGljc1Vy
bCwgdG9wRnJhbWVPcmlnaW4xKTsKKyAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzU3Vi
ZnJhbWVVbmRlclRvcEZyYW1lT3JpZ2luKHN0YXRpc3RpY3NVcmwsIHRvcEZyYW1lT3JpZ2luMik7
CisgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1N1YmZyYW1lVW5kZXJUb3BGcmFtZU9y
aWdpbihzdGF0aXN0aWNzVXJsLCB0b3BGcmFtZU9yaWdpbjMpOworICAgICAgICB0ZXN0UnVubmVy
LnNldFN0YXRpc3RpY3NTdWJmcmFtZVVuZGVyVG9wRnJhbWVPcmlnaW4oc3RhdGlzdGljc1VybCwg
dG9wRnJhbWVPcmlnaW40KTsKKworICAgICAgICB0ZXN0UnVubmVyLnN0YXRpc3RpY3NGaXJlRGF0
YU1vZGlmaWNhdGlvbkhhbmRsZXIoKTsKKworICAgICAgICBpZiAoIXRlc3RSdW5uZXIuaXNTdGF0
aXN0aWNzUHJldmFsZW50UmVzb3VyY2Uoc3RhdGlzdGljc1VybCkpCisgICAgICAgICAgICB0ZXN0
RmFpbGVkKCJIb3N0IGRpZCBub3QgZ2V0IGNsYXNzaWZpZWQgYXMgcHJldmFsZW50IHJlc291cmNl
LiIpOworICAgICAgICBlbHNlCisgICAgICAgICAgICB0ZXN0UGFzc2VkKCJIb3N0IGNsYXNzaWZp
ZWQgYXMgcHJldmFsZW50IHJlc291cmNlLiIpOworCisgICAgICAgIHRlc3RSdW5uZXIuc3RhdGlz
dGljc1Jlc2V0VG9Db25zaXN0ZW50U3RhdGUoKTsKKyAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlE
b25lKCk7CisgICAgfQorCisgICAgaWYgKGRvY3VtZW50LmxvY2F0aW9uLmhvc3QgPT09IGhvc3RV
bmRlclRlc3QgJiYgd2luZG93LnRlc3RSdW5uZXIgJiYgd2luZG93LmludGVybmFscykgeworICAg
ICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKKyAgICAgICAgaW50ZXJuYWxzLnNldFJl
c291cmNlTG9hZFN0YXRpc3RpY3NFbmFibGVkKHRydWUpOworICAgICAgICBydW5UZXN0UnVubmVy
VGVzdCgpOworICAgIH0KKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvbG9hZGluZy9yZXNv
dXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLXByZXZhbGVudC1iYXNlZC1vbi1zdWJyZXNv
dXJjZS11bmRlci10b3AtZnJhbWUtb3JpZ2lucy1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xh
c3NpZnktYXMtcHJldmFsZW50LWJhc2VkLW9uLXN1YnJlc291cmNlLXVuZGVyLXRvcC1mcmFtZS1v
cmlnaW5zLWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1wcmV2YWxlbnQt
YmFzZWQtb24tc3VicmVzb3VyY2UtdW5kZXItdG9wLWZyYW1lLW9yaWdpbnMtZXhwZWN0ZWQudHh0
CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsOCBAQAorbWFpbiBmcmFtZSAtIGRpZFN0YXJ0UHJv
dmlzaW9uYWxMb2FkRm9yRnJhbWUKK21haW4gZnJhbWUgLSBkaWRDb21taXRMb2FkRm9yRnJhbWUK
K21haW4gZnJhbWUgLSBkaWRSZWNlaXZlVGl0bGU6IFRlc3RzIGZvciBDbGFzc2lmaWNhdGlvbiBC
YXNlZCBvbiBTdWJyZXNvdXJjZSBVbmRlciBUb3AgRnJhbWUgT3JpZ2lucworbWFpbiBmcmFtZSAt
IGRpZEZpbmlzaERvY3VtZW50TG9hZEZvckZyYW1lCittYWluIGZyYW1lIC0gZGlkSGFuZGxlT25s
b2FkRXZlbnRzRm9yRnJhbWUKK21haW4gZnJhbWUgLSBkaWRGaW5pc2hMb2FkRm9yRnJhbWUKK1BB
U1MgSG9zdCBjbGFzc2lmaWVkIGFzIHByZXZhbGVudCByZXNvdXJjZS4KKwpJbmRleDogTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnkt
YXMtcHJldmFsZW50LWJhc2VkLW9uLXN1YnJlc291cmNlLXVuZGVyLXRvcC1mcmFtZS1vcmlnaW5z
Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291
cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtcHJldmFsZW50LWJhc2VkLW9uLXN1YnJlc291
cmNlLXVuZGVyLXRvcC1mcmFtZS1vcmlnaW5zLmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnkt
YXMtcHJldmFsZW50LWJhc2VkLW9uLXN1YnJlc291cmNlLXVuZGVyLXRvcC1mcmFtZS1vcmlnaW5z
Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw0NCBAQAorPCFET0NUWVBFIGh0bWw+Cis8
aHRtbCBsYW5nPSJlbiI+Cis8aGVhZD4KKyAgICA8bWV0YSBjaGFyc2V0PSJVVEYtOCI+CisgICAg
PHRpdGxlPlRlc3RzIGZvciBDbGFzc2lmaWNhdGlvbiBCYXNlZCBvbiBTdWJyZXNvdXJjZSBVbmRl
ciBUb3AgRnJhbWUgT3JpZ2luczwvdGl0bGU+CisgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQ+
CisgICAgY29uc3QgaG9zdFVuZGVyVGVzdCA9ICIxMjcuMC4wLjE6ODAwMCI7CisgICAgY29uc3Qg
c3RhdGlzdGljc1VybCA9ICJodHRwOi8vIiArIGhvc3RVbmRlclRlc3QgKyAiL3RlbXAiOworICAg
IGNvbnN0IHRvcEZyYW1lT3JpZ2luMSA9ICJodHRwOi8vMTI3LjAuMC4yOjgwMDAvdGVtcCI7Cisg
ICAgY29uc3QgdG9wRnJhbWVPcmlnaW4yID0gImh0dHA6Ly8xMjcuMC4wLjM6ODAwMC90ZW1wIjsK
KyAgICBjb25zdCB0b3BGcmFtZU9yaWdpbjMgPSAiaHR0cDovLzEyNy4wLjAuNDo4MDAwL3RlbXAi
OworICAgIGNvbnN0IHRvcEZyYW1lT3JpZ2luNCA9ICJodHRwOi8vMTI3LjAuMC41OjgwMDAvdGVt
cCI7CisgICAgZnVuY3Rpb24gcnVuVGVzdFJ1bm5lclRlc3QoKSB7CisgICAgICAgIHRlc3RSdW5u
ZXIuc2V0U3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNlKHN0YXRpc3RpY3NVcmwsIGZhbHNlKTsK
KyAgICAgICAgaWYgKHRlc3RSdW5uZXIuaXNTdGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2Uoc3Rh
dGlzdGljc1VybCkpCisgICAgICAgICAgICB0ZXN0RmFpbGVkKCJIb3N0IGRpZCBub3QgZ2V0IHNl
dCBhcyBub24tcHJldmFsZW50IHJlc291cmNlLiIpOworCisgICAgICAgIHRlc3RSdW5uZXIuc2V0
U3RhdGlzdGljc1N1YnJlc291cmNlVW5kZXJUb3BGcmFtZU9yaWdpbihzdGF0aXN0aWNzVXJsLCB0
b3BGcmFtZU9yaWdpbjEpOworICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NTdWJyZXNv
dXJjZVVuZGVyVG9wRnJhbWVPcmlnaW4oc3RhdGlzdGljc1VybCwgdG9wRnJhbWVPcmlnaW4yKTsK
KyAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzU3VicmVzb3VyY2VVbmRlclRvcEZyYW1l
T3JpZ2luKHN0YXRpc3RpY3NVcmwsIHRvcEZyYW1lT3JpZ2luMyk7CisgICAgICAgIHRlc3RSdW5u
ZXIuc2V0U3RhdGlzdGljc1N1YnJlc291cmNlVW5kZXJUb3BGcmFtZU9yaWdpbihzdGF0aXN0aWNz
VXJsLCB0b3BGcmFtZU9yaWdpbjQpOworCisgICAgICAgIHRlc3RSdW5uZXIuc3RhdGlzdGljc0Zp
cmVEYXRhTW9kaWZpY2F0aW9uSGFuZGxlcigpOworCisgICAgICAgIGlmICghdGVzdFJ1bm5lci5p
c1N0YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJjZShzdGF0aXN0aWNzVXJsKSkKKyAgICAgICAgICAg
IHRlc3RGYWlsZWQoIkhvc3QgZGlkIG5vdCBnZXQgY2xhc3NpZmllZCBhcyBwcmV2YWxlbnQgcmVz
b3VyY2UuIik7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIHRlc3RQYXNzZWQoIkhvc3QgY2xh
c3NpZmllZCBhcyBwcmV2YWxlbnQgcmVzb3VyY2UuIik7CisKKyAgICAgICAgdGVzdFJ1bm5lci5z
dGF0aXN0aWNzUmVzZXRUb0NvbnNpc3RlbnRTdGF0ZSgpOworICAgICAgICB0ZXN0UnVubmVyLm5v
dGlmeURvbmUoKTsKKyAgICB9CisKKyAgICBpZiAoZG9jdW1lbnQubG9jYXRpb24uaG9zdCA9PT0g
aG9zdFVuZGVyVGVzdCAmJiB3aW5kb3cudGVzdFJ1bm5lciAmJiB3aW5kb3cuaW50ZXJuYWxzKSB7
CisgICAgICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOworICAgICAgICBpbnRlcm5hbHMu
c2V0UmVzb3VyY2VMb2FkU3RhdGlzdGljc0VuYWJsZWQodHJ1ZSk7CisgICAgICAgIHJ1blRlc3RS
dW5uZXJUZXN0KCk7CisgICAgfQorPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgZmlsZQpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9sb2FkaW5n
L3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtcHJldmFsZW50LWJhc2VkLW9uLXN1
YnJlc291cmNlLXVuaXF1ZS1yZWRpcmVjdHMtdG8tZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL2h0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2Ns
YXNzaWZ5LWFzLXByZXZhbGVudC1iYXNlZC1vbi1zdWJyZXNvdXJjZS11bmlxdWUtcmVkaXJlY3Rz
LXRvLWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1wcmV2YWxlbnQtYmFz
ZWQtb24tc3VicmVzb3VyY2UtdW5pcXVlLXJlZGlyZWN0cy10by1leHBlY3RlZC50eHQJKHdvcmtp
bmcgY29weSkKQEAgLTAsMCArMSw4IEBACittYWluIGZyYW1lIC0gZGlkU3RhcnRQcm92aXNpb25h
bExvYWRGb3JGcmFtZQorbWFpbiBmcmFtZSAtIGRpZENvbW1pdExvYWRGb3JGcmFtZQorbWFpbiBm
cmFtZSAtIGRpZFJlY2VpdmVUaXRsZTogVGVzdHMgZm9yIENsYXNzaWZpY2F0aW9uIEJhc2VkIG9u
IFN1YnJlc291cmNlIFVuaXF1ZSBSZWRpcmVjdHMgVG8KK21haW4gZnJhbWUgLSBkaWRGaW5pc2hE
b2N1bWVudExvYWRGb3JGcmFtZQorbWFpbiBmcmFtZSAtIGRpZEhhbmRsZU9ubG9hZEV2ZW50c0Zv
ckZyYW1lCittYWluIGZyYW1lIC0gZGlkRmluaXNoTG9hZEZvckZyYW1lCitQQVNTIEhvc3QgY2xh
c3NpZmllZCBhcyBwcmV2YWxlbnQgcmVzb3VyY2UuCisKSW5kZXg6IExheW91dFRlc3RzL2h0dHAv
dGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLXByZXZhbGVu
dC1iYXNlZC1vbi1zdWJyZXNvdXJjZS11bmlxdWUtcmVkaXJlY3RzLXRvLmh0bWwKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0YXRpc3Rp
Y3MvY2xhc3NpZnktYXMtcHJldmFsZW50LWJhc2VkLW9uLXN1YnJlc291cmNlLXVuaXF1ZS1yZWRp
cmVjdHMtdG8uaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2xv
YWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1wcmV2YWxlbnQtYmFzZWQt
b24tc3VicmVzb3VyY2UtdW5pcXVlLXJlZGlyZWN0cy10by5odG1sCSh3b3JraW5nIGNvcHkpCkBA
IC0wLDAgKzEsNDQgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWwgbGFuZz0iZW4iPgorPGhlYWQ+
CisgICAgPG1ldGEgY2hhcnNldD0iVVRGLTgiPgorICAgIDx0aXRsZT5UZXN0cyBmb3IgQ2xhc3Np
ZmljYXRpb24gQmFzZWQgb24gU3VicmVzb3VyY2UgVW5pcXVlIFJlZGlyZWN0cyBUbzwvdGl0bGU+
CisgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3Jp
cHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQ+CisgICAgY29uc3QgaG9zdFVuZGVyVGVzdCA9
ICIxMjcuMC4wLjE6ODAwMCI7CisgICAgY29uc3Qgc3RhdGlzdGljc1VybCA9ICJodHRwOi8vIiAr
IGhvc3RVbmRlclRlc3QgKyAiL3RlbXAiOworICAgIGNvbnN0IHRvcEZyYW1lT3JpZ2luMSA9ICJo
dHRwOi8vMTI3LjAuMC4yOjgwMDAvdGVtcCI7CisgICAgY29uc3QgdG9wRnJhbWVPcmlnaW4yID0g
Imh0dHA6Ly8xMjcuMC4wLjM6ODAwMC90ZW1wIjsKKyAgICBjb25zdCB0b3BGcmFtZU9yaWdpbjMg
PSAiaHR0cDovLzEyNy4wLjAuNDo4MDAwL3RlbXAiOworICAgIGNvbnN0IHRvcEZyYW1lT3JpZ2lu
NCA9ICJodHRwOi8vMTI3LjAuMC41OjgwMDAvdGVtcCI7CisgICAgZnVuY3Rpb24gcnVuVGVzdFJ1
bm5lclRlc3QoKSB7CisgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1ByZXZhbGVudFJl
c291cmNlKHN0YXRpc3RpY3NVcmwsIGZhbHNlKTsKKyAgICAgICAgaWYgKHRlc3RSdW5uZXIuaXNT
dGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2Uoc3RhdGlzdGljc1VybCkpCisgICAgICAgICAgICB0
ZXN0RmFpbGVkKCJIb3N0IGRpZCBub3QgZ2V0IHNldCBhcyBub24tcHJldmFsZW50IHJlc291cmNl
LiIpOworCisgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1N1YnJlc291cmNlVW5pcXVl
UmVkaXJlY3RUbyhzdGF0aXN0aWNzVXJsLCB0b3BGcmFtZU9yaWdpbjEpOworICAgICAgICB0ZXN0
UnVubmVyLnNldFN0YXRpc3RpY3NTdWJyZXNvdXJjZVVuaXF1ZVJlZGlyZWN0VG8oc3RhdGlzdGlj
c1VybCwgdG9wRnJhbWVPcmlnaW4yKTsKKyAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNz
U3VicmVzb3VyY2VVbmlxdWVSZWRpcmVjdFRvKHN0YXRpc3RpY3NVcmwsIHRvcEZyYW1lT3JpZ2lu
Myk7CisgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1N1YnJlc291cmNlVW5pcXVlUmVk
aXJlY3RUbyhzdGF0aXN0aWNzVXJsLCB0b3BGcmFtZU9yaWdpbjQpOworCisgICAgICAgIHRlc3RS
dW5uZXIuc3RhdGlzdGljc0ZpcmVEYXRhTW9kaWZpY2F0aW9uSGFuZGxlcigpOworCisgICAgICAg
IGlmICghdGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJjZShzdGF0aXN0aWNz
VXJsKSkKKyAgICAgICAgICAgIHRlc3RGYWlsZWQoIkhvc3QgZGlkIG5vdCBnZXQgY2xhc3NpZmll
ZCBhcyBwcmV2YWxlbnQgcmVzb3VyY2UuIik7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIHRl
c3RQYXNzZWQoIkhvc3QgY2xhc3NpZmllZCBhcyBwcmV2YWxlbnQgcmVzb3VyY2UuIik7CisKKyAg
ICAgICAgdGVzdFJ1bm5lci5zdGF0aXN0aWNzUmVzZXRUb0NvbnNpc3RlbnRTdGF0ZSgpOworICAg
ICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKKyAgICB9CisKKyAgICBpZiAoZG9jdW1lbnQu
bG9jYXRpb24uaG9zdCA9PT0gaG9zdFVuZGVyVGVzdCAmJiB3aW5kb3cudGVzdFJ1bm5lciAmJiB3
aW5kb3cuaW50ZXJuYWxzKSB7CisgICAgICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwor
ICAgICAgICBpbnRlcm5hbHMuc2V0UmVzb3VyY2VMb2FkU3RhdGlzdGljc0VuYWJsZWQodHJ1ZSk7
CisgICAgICAgIHJ1blRlc3RSdW5uZXJUZXN0KCk7CisgICAgfQorPC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvVGVzdEV4cGVjdGF0aW9u
cwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvVGVzdEV4cGVjdGF0aW9u
cwkocmV2aXNpb24gMjEyNjU2KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1Rlc3RFeHBl
Y3RhdGlvbnMJKHdvcmtpbmcgY29weSkKQEAgLTkzMSwxMSArOTMxLDcgQEAgd2Via2l0Lm9yZy9i
LzEzMTU0NiBtZWRpYS90cmFjay90cmFjay1pbgogCiB3ZWJraXQub3JnL2IvMTYzNzgyIG1lZGlh
L3ZpZGVvLXBsYXllZC1yYW5nZXMtMS5odG1sIFsgQ3Jhc2ggUGFzcyBdCiAKLXdlYmtpdC5vcmcv
Yi8xNjgxNzEgaHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvbm9uLXBy
ZXZhbGVudC1yZXNvdXJjZS13aXRoLXVzZXItaW50ZXJhY3Rpb24uaHRtbCBbIENyYXNoIF0KLXdl
YmtpdC5vcmcvYi8xNjgxNzEgaHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0YXRpc3Rp
Y3Mvbm9uLXByZXZhbGVudC1yZXNvdXJjZS13aXRob3V0LXVzZXItaW50ZXJhY3Rpb24uaHRtbCBb
IENyYXNoIF0KLXdlYmtpdC5vcmcvYi8xNjgxNzEgaHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNl
TG9hZFN0YXRpc3RpY3MvcHJldmFsZW50LXJlc291cmNlLXdpdGgtdXNlci1pbnRlcmFjdGlvbi10
aW1lb3V0Lmh0bWwgWyBDcmFzaCBdCi13ZWJraXQub3JnL2IvMTY4MTcxIGh0dHAvdGVzdHMvbG9h
ZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3ByZXZhbGVudC1yZXNvdXJjZS13aXRoLXVzZXIt
aW50ZXJhY3Rpb24uaHRtbCBbIENyYXNoIF0KLXdlYmtpdC5vcmcvYi8xNjgxNzEgaHR0cC90ZXN0
cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvcHJldmFsZW50LXJlc291cmNlLXdpdGhv
dXQtdXNlci1pbnRlcmFjdGlvbi5odG1sIFsgQ3Jhc2ggXQord2Via2l0Lm9yZy9iLzE2ODE3MSBo
dHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcyBbIENyYXNoIF0KIAogd2Vi
a2l0Lm9yZy9iLzE2NzU3NiBpbXBvcnRlZC93M2MvSW5kZXhlZERCLXByaXZhdGUtYnJvd3Npbmcv
aWRiY3Vyc29yX2l0ZXJhdGluZy5odG1sIFsgQ3Jhc2ggXQogd2Via2l0Lm9yZy9iLzE2NzU3NiBp
bXBvcnRlZC93M2MvSW5kZXhlZERCLXByaXZhdGUtYnJvd3NpbmcvaWRiY3Vyc29yX2l0ZXJhdGlu
Z19pbmRleC5odG1sIFsgQ3Jhc2ggXQpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2syL1Rl
c3RFeHBlY3RhdGlvbnMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2syL1Rl
c3RFeHBlY3RhdGlvbnMJKHJldmlzaW9uIDIxMjY1NikKKysrIExheW91dFRlc3RzL3BsYXRmb3Jt
L3drMi9UZXN0RXhwZWN0YXRpb25zCSh3b3JraW5nIGNvcHkpCkBAIC03MDUsNiArNzA1LDE0IEBA
IGh0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWMKIGh0dHAvdGVzdHMvbG9h
ZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL25vbi1wcmV2YWxlbnQtcmVzb3VyY2Utd2l0aG91
dC11c2VyLWludGVyYWN0aW9uLmh0bWwgWyBQYXNzIFRpbWVvdXQgXQogaHR0cC90ZXN0cy9sb2Fk
aW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvcHJldmFsZW50LXJlc291cmNlLXdpdGhvdXQtdXNl
ci1pbnRlcmFjdGlvbi5odG1sIFsgUGFzcyBUaW1lb3V0IF0KIGh0dHAvdGVzdHMvbG9hZGluZy9y
ZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3ByZXZhbGVudC1yZXNvdXJjZS13aXRoLXVzZXItaW50ZXJh
Y3Rpb24tdGltZW91dC5odG1sIFsgUGFzcyBUaW1lb3V0IF0KK2h0dHAvdGVzdHMvbG9hZGluZy9y
ZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLW5vbi1wcmV2YWxlbnQtYmFzZWQtb24t
bWl4ZWQtc3RhdGlzdGljcy5odG1sIFsgUGFzcyBdCitodHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3Vy
Y2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1ub24tcHJldmFsZW50LWJhc2VkLW9uLXN1Yi1m
cmFtZS11bmRlci10b3AtZnJhbWUtb3JpZ2lucy5odG1sIFsgUGFzcyBdCitodHRwL3Rlc3RzL2xv
YWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1ub24tcHJldmFsZW50LWJh
c2VkLW9uLXN1YnJlc291cmNlLXVuZGVyLXRvcC1mcmFtZS1vcmlnaW5zLmh0bWwgWyBQYXNzIF0K
K2h0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLW5v
bi1wcmV2YWxlbnQtYmFzZWQtb24tc3VicmVzb3VyY2UtdW5pcXVlLXJlZGlyZWN0cy10by5odG1s
IFsgUGFzcyBdCitodHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFz
c2lmeS1hcy1wcmV2YWxlbnQtYmFzZWQtb24tbWl4ZWQtc3RhdGlzdGljcy5odG1sIFsgUGFzcyBd
CitodHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1w
cmV2YWxlbnQtYmFzZWQtb24tc3ViLWZyYW1lLXVuZGVyLXRvcC1mcmFtZS1vcmlnaW5zLmh0bWwg
WyBQYXNzIF0KK2h0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNz
aWZ5LWFzLXByZXZhbGVudC1iYXNlZC1vbi1zdWJyZXNvdXJjZS11bmRlci10b3AtZnJhbWUtb3Jp
Z2lucy5odG1sIFsgUGFzcyBdCitodHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlz
dGljcy9jbGFzc2lmeS1hcy1wcmV2YWxlbnQtYmFzZWQtb24tc3VicmVzb3VyY2UtdW5pcXVlLXJl
ZGlyZWN0cy10by5odG1sIFsgUGFzcyBdCiAKICMjIyBFTkQgT0YgKDUpIFByb2dyZXNzaW9ucywg
ZXhwZWN0ZWQgc3VjY2Vzc2VzIHRoYXQgYXJlIGV4cGVjdGVkIGZhaWx1cmVzIGluIFdlYktpdDEu
CiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>302281</attachid>
            <date>2017-02-21 10:36:32 -0800</date>
            <delta_ts>2017-02-22 17:56:56 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-168347-20170221103346.patch</filename>
            <type>text/plain</type>
            <size>122935</size>
            <attacher name="John Wilander">wilander</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XVEYvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XVEYvQ2hh
bmdlTG9nCShyZXZpc2lvbiAyMTI3MTcpCisrKyBTb3VyY2UvV1RGL0NoYW5nZUxvZwkod29ya2lu
ZyBjb3B5KQpAQCAtMSwzICsxLDE0IEBACisyMDE3LTAyLTIxICBKb2huIFdpbGFuZGVyICA8d2ls
YW5kZXJAYXBwbGUuY29tPgorCisgICAgICAgIFJlc291cmNlIExvYWQgU3RhdGlzdGljczogQWRk
IGFsdGVybmF0ZSBjbGFzc2lmaWNhdGlvbiBtZXRob2QKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2ODM0NworICAgICAgICA8cmRhcjovL3Byb2JsZW0v
MzAzNTI3OTM+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgQWxleCBDaHJpc3RlbnNlbi4KKworICAg
ICAgICAqIHd0Zi9QbGF0Zm9ybS5oOgorICAgICAgICAgICAgQWRkZWQgc3VwcG9ydCBmb3IgSEFW
RShDT1JFX1BSRURJQ1RJT04pLgorCiAyMDE3LTAyLTIxICBBbGV4IENocmlzdGVuc2VuICA8YWNo
cmlzdGVuc2VuQHdlYmtpdC5vcmc+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQg
cjIxMjY5OS4KSW5kZXg6IFNvdXJjZS9XVEYvd3RmL1BsYXRmb3JtLmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dURi93dGYvUGxhdGZvcm0uaAkocmV2aXNpb24gMjEyNjU2KQorKysgU291cmNlL1dU
Ri93dGYvUGxhdGZvcm0uaAkod29ya2luZyBjb3B5KQpAQCAtMTIwOCw0ICsxMjA4LDkgQEAKICNl
bmRpZgogI2VuZGlmIC8qIFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01BWF9B
TExPV0VEID49IDEwMTIwMSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEw
MTIwMCAqLwogCisvKiBDb3JlUHJlZGljdGlvbiBvbmx5IGV4aXN0cyBvbiA2NC1iaXQgcGxhdGZv
cm1zLiAqLworI2lmIFVTRShKU1ZBTFVFNjQpICYmIChQTEFURk9STShJT1MpIHx8IChQTEFURk9S
TShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxMjAwKSkKKyNk
ZWZpbmUgSEFWRV9DT1JFX1BSRURJQ1RJT04gMQorI2VuZGlmCisKICNlbmRpZiAvKiBXVEZfUGxh
dGZvcm1faCAqLwpJbmRleDogU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMjEyNzE4KQorKysgU291cmNlL1dl
YkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjggQEAKKzIwMTctMDIt
MjEgIEpvaG4gV2lsYW5kZXIgIDx3aWxhbmRlckBhcHBsZS5jb20+CisKKyAgICAgICAgUmVzb3Vy
Y2UgTG9hZCBTdGF0aXN0aWNzOiBBZGQgYWx0ZXJuYXRlIGNsYXNzaWZpY2F0aW9uIG1ldGhvZAor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY4MzQ3Cisg
ICAgICAgIDxyZGFyOi8vcHJvYmxlbS8zMDM1Mjc5Mz4KKworICAgICAgICBSZXZpZXdlZCBieSBB
bGV4IENocmlzdGVuc2VuLgorCisgICAgICAgIFRoaXMgcGF0Y2ggb25seSBhZGRzIHRlc3QgaW5m
cmFzdHJ1Y3R1cmUgaW4gV2ViQ29yZS4KKworICAgICAgICBUZXN0czogaHR0cC90ZXN0cy9sb2Fk
aW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtbm9uLXByZXZhbGVudC1iYXNl
ZC1vbi1taXhlZC1zdGF0aXN0aWNzLmh0bWwKKyAgICAgICAgICAgICAgIGh0dHAvdGVzdHMvbG9h
ZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLW5vbi1wcmV2YWxlbnQtYmFz
ZWQtb24tc3ViLWZyYW1lLXVuZGVyLXRvcC1mcmFtZS1vcmlnaW5zLmh0bWwKKyAgICAgICAgICAg
ICAgIGh0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFz
LW5vbi1wcmV2YWxlbnQtYmFzZWQtb24tc3VicmVzb3VyY2UtdW5kZXItdG9wLWZyYW1lLW9yaWdp
bnMuaHRtbAorICAgICAgICAgICAgICAgaHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0
YXRpc3RpY3MvY2xhc3NpZnktYXMtbm9uLXByZXZhbGVudC1iYXNlZC1vbi1zdWJyZXNvdXJjZS11
bmlxdWUtcmVkaXJlY3RzLXRvLmh0bWwKKyAgICAgICAgICAgICAgIGh0dHAvdGVzdHMvbG9hZGlu
Zy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLXByZXZhbGVudC1iYXNlZC1vbi1t
aXhlZC1zdGF0aXN0aWNzLmh0bWwKKyAgICAgICAgICAgICAgIGh0dHAvdGVzdHMvbG9hZGluZy9y
ZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLXByZXZhbGVudC1iYXNlZC1vbi1zdWIt
ZnJhbWUtdW5kZXItdG9wLWZyYW1lLW9yaWdpbnMuaHRtbAorICAgICAgICAgICAgICAgaHR0cC90
ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtcHJldmFsZW50
LWJhc2VkLW9uLXN1YnJlc291cmNlLXVuZGVyLXRvcC1mcmFtZS1vcmlnaW5zLmh0bWwKKyAgICAg
ICAgICAgICAgIGh0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNz
aWZ5LWFzLXByZXZhbGVudC1iYXNlZC1vbi1zdWJyZXNvdXJjZS11bmlxdWUtcmVkaXJlY3RzLXRv
Lmh0bWwKKworICAgICAgICAqIGxvYWRlci9SZXNvdXJjZUxvYWRPYnNlcnZlci5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpSZXNvdXJjZUxvYWRPYnNlcnZlcjo6c2V0U3ViZnJhbWVVbmRlclRvcEZy
YW1lT3JpZ2luKToKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlTG9hZE9ic2VydmVyOjpzZXRT
dWJyZXNvdXJjZVVuZGVyVG9wRnJhbWVPcmlnaW4pOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3Vy
Y2VMb2FkT2JzZXJ2ZXI6OnNldFN1YnJlc291cmNlVW5pcXVlUmVkaXJlY3RUbyk6CisgICAgICAg
ICogbG9hZGVyL1Jlc291cmNlTG9hZE9ic2VydmVyLmg6CisKIDIwMTctMDItMjEgIEplciBOb2Js
ZSAgPGplci5ub2JsZUBhcHBsZS5jb20+CiAKICAgICAgICAgTWFrZSBUcmFja1ByaXZhdGVCYXNl
IFRocmVhZFNhZmVSZWZDb3VudGVkLCBzbyB0aGF0IGl0IGNhbiBiZSByZXRhaW5lZCBpbiBub24t
bWFpbiB0aHJlYWRzCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VMb2FkT2Jz
ZXJ2ZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZUxv
YWRPYnNlcnZlci5jcHAJKHJldmlzaW9uIDIxMjY1NikKKysrIFNvdXJjZS9XZWJDb3JlL2xvYWRl
ci9SZXNvdXJjZUxvYWRPYnNlcnZlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM3NSw2ICszNzUs
MzMgQEAgdm9pZCBSZXNvdXJjZUxvYWRPYnNlcnZlcjo6Y2xlYXJQcmV2YWxlbgogICAgIHN0YXRp
c3RpY3MuaXNQcmV2YWxlbnRSZXNvdXJjZSA9IGZhbHNlOwogfQogCit2b2lkIFJlc291cmNlTG9h
ZE9ic2VydmVyOjpzZXRTdWJmcmFtZVVuZGVyVG9wRnJhbWVPcmlnaW4oY29uc3QgVVJMJiBzdWJm
cmFtZSwgY29uc3QgVVJMJiB0b3BGcmFtZSkKK3sKKyAgICBpZiAoc3ViZnJhbWUuaXNCbGFua1VS
TCgpIHx8IHN1YmZyYW1lLmlzRW1wdHkoKSB8fCB0b3BGcmFtZS5pc0JsYW5rVVJMKCkgfHwgdG9w
RnJhbWUuaXNFbXB0eSgpKQorICAgICAgICByZXR1cm47CisgICAgCisgICAgYXV0byYgc3RhdGlz
dGljcyA9IG1fc3RvcmUtPmVuc3VyZVJlc291cmNlU3RhdGlzdGljc0ZvclByaW1hcnlEb21haW4o
cHJpbWFyeURvbWFpbihzdWJmcmFtZSkpOworICAgIHN0YXRpc3RpY3Muc3ViZnJhbWVVbmRlclRv
cEZyYW1lT3JpZ2lucy5hZGQocHJpbWFyeURvbWFpbih0b3BGcmFtZSkpOworfQorCit2b2lkIFJl
c291cmNlTG9hZE9ic2VydmVyOjpzZXRTdWJyZXNvdXJjZVVuZGVyVG9wRnJhbWVPcmlnaW4oY29u
c3QgVVJMJiBzdWJyZXNvdXJjZSwgY29uc3QgVVJMJiB0b3BGcmFtZSkKK3sKKyAgICBpZiAoc3Vi
cmVzb3VyY2UuaXNCbGFua1VSTCgpIHx8IHN1YnJlc291cmNlLmlzRW1wdHkoKSB8fCB0b3BGcmFt
ZS5pc0JsYW5rVVJMKCkgfHwgdG9wRnJhbWUuaXNFbXB0eSgpKQorICAgICAgICByZXR1cm47Cisg
ICAgCisgICAgYXV0byYgc3RhdGlzdGljcyA9IG1fc3RvcmUtPmVuc3VyZVJlc291cmNlU3RhdGlz
dGljc0ZvclByaW1hcnlEb21haW4ocHJpbWFyeURvbWFpbihzdWJyZXNvdXJjZSkpOworICAgIHN0
YXRpc3RpY3Muc3VicmVzb3VyY2VVbmRlclRvcEZyYW1lT3JpZ2lucy5hZGQocHJpbWFyeURvbWFp
bih0b3BGcmFtZSkpOworfQorCit2b2lkIFJlc291cmNlTG9hZE9ic2VydmVyOjpzZXRTdWJyZXNv
dXJjZVVuaXF1ZVJlZGlyZWN0VG8oY29uc3QgVVJMJiBzdWJyZXNvdXJjZSwgY29uc3QgVVJMJiBo
b3N0TmFtZVJlZGlyZWN0ZWRUbykKK3sKKyAgICBpZiAoc3VicmVzb3VyY2UuaXNCbGFua1VSTCgp
IHx8IHN1YnJlc291cmNlLmlzRW1wdHkoKSB8fCBob3N0TmFtZVJlZGlyZWN0ZWRUby5pc0JsYW5r
VVJMKCkgfHwgaG9zdE5hbWVSZWRpcmVjdGVkVG8uaXNFbXB0eSgpKQorICAgICAgICByZXR1cm47
CisgICAgCisgICAgYXV0byYgc3RhdGlzdGljcyA9IG1fc3RvcmUtPmVuc3VyZVJlc291cmNlU3Rh
dGlzdGljc0ZvclByaW1hcnlEb21haW4ocHJpbWFyeURvbWFpbihzdWJyZXNvdXJjZSkpOworICAg
IHN0YXRpc3RpY3Muc3VicmVzb3VyY2VVbmlxdWVSZWRpcmVjdHNUby5hZGQocHJpbWFyeURvbWFp
bihob3N0TmFtZVJlZGlyZWN0ZWRUbykpOworfQorCiB2b2lkIFJlc291cmNlTG9hZE9ic2VydmVy
OjpzZXRUaW1lVG9MaXZlVXNlckludGVyYWN0aW9uKGRvdWJsZSBzZWNvbmRzKQogewogICAgIG1f
c3RvcmUtPnNldFRpbWVUb0xpdmVVc2VySW50ZXJhY3Rpb24oc2Vjb25kcyk7CkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VMb2FkT2JzZXJ2ZXIuaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VMb2FkT2JzZXJ2ZXIuaAkocmV2aXNpb24gMjEy
NjU2KQorKysgU291cmNlL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlTG9hZE9ic2VydmVyLmgJKHdv
cmtpbmcgY29weSkKQEAgLTU4LDYgKzU4LDEwIEBAIHB1YmxpYzoKICAgICBXRUJDT1JFX0VYUE9S
VCBib29sIGlzUHJldmFsZW50UmVzb3VyY2UoY29uc3QgVVJMJik7CiAgICAgV0VCQ09SRV9FWFBP
UlQgdm9pZCBjbGVhclByZXZhbGVudFJlc291cmNlKGNvbnN0IFVSTCYpOwogCisgICAgV0VCQ09S
RV9FWFBPUlQgdm9pZCBzZXRTdWJmcmFtZVVuZGVyVG9wRnJhbWVPcmlnaW4oY29uc3QgVVJMJiBz
dWJmcmFtZSwgY29uc3QgVVJMJiB0b3BGcmFtZSk7CisgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBz
ZXRTdWJyZXNvdXJjZVVuZGVyVG9wRnJhbWVPcmlnaW4oY29uc3QgVVJMJiBzdWJyZXNvdXJjZSwg
Y29uc3QgVVJMJiB0b3BGcmFtZSk7CisgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBzZXRTdWJyZXNv
dXJjZVVuaXF1ZVJlZGlyZWN0VG8oY29uc3QgVVJMJiBzdWJyZXNvdXJjZSwgY29uc3QgVVJMJiBo
b3N0TmFtZVJlZGlyZWN0ZWRUbyk7CisKICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHNldFRpbWVU
b0xpdmVVc2VySW50ZXJhY3Rpb24oZG91YmxlIHNlY29uZHMpOwogICAgIFdFQkNPUkVfRVhQT1JU
IHZvaWQgc2V0UmVkdWNlZFRpbWVzdGFtcFJlc29sdXRpb24oZG91YmxlIHNlY29uZHMpOwogCklu
ZGV4OiBTb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktp
dDIvQ2hhbmdlTG9nCShyZXZpc2lvbiAyMTI3MTgpCisrKyBTb3VyY2UvV2ViS2l0Mi9DaGFuZ2VM
b2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSw3OSBAQAorMjAxNy0wMi0yMSAgSm9obiBXaWxh
bmRlciAgPHdpbGFuZGVyQGFwcGxlLmNvbT4KKworICAgICAgICBSZXNvdXJjZSBMb2FkIFN0YXRp
c3RpY3M6IEFkZCBhbHRlcm5hdGUgY2xhc3NpZmljYXRpb24gbWV0aG9kCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjgzNDcKKyAgICAgICAgPHJkYXI6
Ly9wcm9ibGVtLzMwMzUyNzkzPgorCisgICAgICAgIFJldmlld2VkIGJ5IEFsZXggQ2hyaXN0ZW5z
ZW4uCisKKyAgICAgICAgVGhpcyBwYXRjaCBhZGRzIGEgQ29yZVByZWRpY3Rpb24tYmFzZWQgY2xh
c3NpZmllciB0byB0aGUgV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlLgorICAgICAgICBU
aGUgQ29yZVByZWRpY3Rpb24gZnJhbWV3b3JrIGlzIGludHJvZHVjZWQgYXMgYSBkZXBlbmRlbmN5
IGZvciBtYWNPUyBhbmQgaU9TLiBUaGUgcGF0Y2gKKyAgICAgICAgYWxzbyBhZGRzIGZ1bmN0aW9u
cyB0byBzdXBwb3J0IGxheW91dCB0ZXN0cyBvZiB0aGUgZmVhdHVyZS4KKworICAgICAgICAqIENv
bmZpZ3VyYXRpb25zL0Jhc2VUYXJnZXQueGNjb25maWc6CisgICAgICAgICogQ29uZmlndXJhdGlv
bnMvV2ViS2l0LnhjY29uZmlnOgorICAgICAgICAgICAgQWRkZWQgZGVwZW5kZW5jeSBvbiBDb3Jl
UHJlZGljdGlvbi4KKyAgICAgICAgKiBQbGF0Zm9ybS9jbGFzc2lmaWVyOiBBZGRlZC4KKyAgICAg
ICAgKiBQbGF0Zm9ybS9jbGFzc2lmaWVyL1Jlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVy
Lmg6IEFkZGVkLgorICAgICAgICAgICAgUHVsbHMgaW4gdGhlIENvY29hLXNwZWNpZmljIGNsYXNz
aWZpZXIgZm9yIENvY29hLWJhc2VkIHBsYXRmb3Jtcy4KKyAgICAgICAgKFdlYktpdDo6UmVzb3Vy
Y2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXI6OlJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lm
aWVyKToKKyAgICAgICAgKiBQbGF0Zm9ybS9jbGFzc2lmaWVyL1Jlc291cmNlTG9hZFN0YXRpc3Rp
Y3NDbGFzc2lmaWVyQmFzZS5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViS2l0OjpSZXNvdXJjZUxv
YWRTdGF0aXN0aWNzQ2xhc3NpZmllckJhc2U6Omhhc1ByZXZhbGVudFJlc291cmNlQ2hhcmFjdGVy
aXN0aWNzKToKKyAgICAgICAgICAgIFNoYXJlZCBjbGFzc2lmaWVyIGxvZ2ljLgorICAgICAgICAo
V2ViS2l0OjpSZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllckJhc2U6OmNsYXNzaWZ5V2l0
aFZlY3RvclRocmVzaG9sZCk6CisgICAgICAgICAgICBGYWxsYmFjayBjbGFzc2lmaWVyIGZvciB3
aGVuIHdlIGRvbid0IGhhdmUgQ29yZVByZWRpY3Rpb24uCisgICAgICAgICogUGxhdGZvcm0vY2xh
c3NpZmllci9SZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllckJhc2UuaDogQWRkZWQuCisg
ICAgICAgIChXZWJLaXQ6OlJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQmFzZTo6UmVz
b3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXJCYXNlKToKKyAgICAgICAgKFdlYktpdDo6UmVz
b3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXJCYXNlOjp+UmVzb3VyY2VMb2FkU3RhdGlzdGlj
c0NsYXNzaWZpZXJCYXNlKToKKyAgICAgICAgKiBQbGF0Zm9ybS9jbGFzc2lmaWVyL2NvY29hOiBB
ZGRlZC4KKyAgICAgICAgKiBQbGF0Zm9ybS9jbGFzc2lmaWVyL2NvY29hL0NvcmVQcmVkaWN0aW9u
U1BJLmg6IEFkZGVkLgorICAgICAgICAgICAgSW5jbHVkZXMgQ29yZVByZWRpY3Rpb24gaWYgYXZh
aWxhYmxlLCBvdGhlcndpc2UgZGVjbGFyZXMgbmVlZGVkIHN5bWJvbHMuCisgICAgICAgICAgICBB
bHdheXMgcmVkZWNsYXJlcyB0aGUgZnVuY3Rpb25zIHNvIHdlJ2xsIGdldCBhIGJ1aWxkIGVycm9y
IGlmCisgICAgICAgICAgICBDb3JlUHJlZGljdGlvbiBjaGFuZ2VzLgorICAgICAgICAqIFBsYXRm
b3JtL2NsYXNzaWZpZXIvY29jb2EvUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXJDb2Nv
YS5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViS2l0OjpSZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xh
c3NpZmllcjo6Y2xhc3NpZnkpOgorICAgICAgICAoV2ViS2l0OjpSZXNvdXJjZUxvYWRTdGF0aXN0
aWNzQ2xhc3NpZmllcjo6c3RvcmFnZVBhdGgpOgorICAgICAgICAoV2ViS2l0OjpSZXNvdXJjZUxv
YWRTdGF0aXN0aWNzQ2xhc3NpZmllcjo6c2hvdWxkVXNlQ29yZVByZWRpY3Rpb24pOgorICAgICAg
ICAgICAgVGhlIG5ldyBjbGFzc2lmaWVyIGZvciBDb2NvYSBwbGF0Zm9ybXMuCisgICAgICAgICog
UGxhdGZvcm0vY2xhc3NpZmllci9jb2NvYS9SZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmll
ckNvY29hLmg6IEFkZGVkLgorICAgICAgICAoV2ViS2l0OjpSZXNvdXJjZUxvYWRTdGF0aXN0aWNz
Q2xhc3NpZmllcjo6UmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXIpOgorICAgICAgICAq
IFBsYXRmb3JtR1RLLmNtYWtlOgorICAgICAgICAgICBBZGRlZCBQbGF0Zm9ybS9jbGFzc2lmaWVy
IGRpcmVjdG9yeSBhbmQgUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXJCYXNlLmNwcC4K
KyAgICAgICAgKiBQbGF0Zm9ybU1hYy5jbWFrZToKKyAgICAgICAgICAgQWRkZWQgUGxhdGZvcm0v
Y2xhc3NpZmllciBhbmQgUGxhdGZvcm0vY2xhc3NpZmllci9jb2NvYSBkaXJlY3RvcmllcywgYW5k
CisgICAgICAgICAgIHNvdXJjZSBmaWxlcyBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmll
ckJhc2UuY3BwIGFuZAorICAgICAgICAgICBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmll
ckNvY29hLmNwcAorICAgICAgICAqIFJlc291cmNlcy9SZXNvdXJjZUxvYWRTdGF0aXN0aWNzOiBB
ZGRlZC4KKyAgICAgICAgKiBSZXNvdXJjZXMvUmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jb3JlUHJl
ZGljdGlvbl9tb2RlbDogQWRkZWQuCisgICAgICAgICAgICBNb2RlbCBmaWxlIHRvIGxvYWQgaW50
byBDb3JlUHJlZGljdGlvbi4KKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0MvV0tSZXNvdXJjZUxv
YWRTdGF0aXN0aWNzTWFuYWdlci5jcHA6CisgICAgICAgIChXS1Jlc291cmNlTG9hZFN0YXRpc3Rp
Y3NNYW5hZ2VyU2V0U3ViZnJhbWVVbmRlclRvcEZyYW1lT3JpZ2luKToKKyAgICAgICAgKFdLUmVz
b3VyY2VMb2FkU3RhdGlzdGljc01hbmFnZXJTZXRTdWJyZXNvdXJjZVVuZGVyVG9wRnJhbWVPcmln
aW4pOgorICAgICAgICAoV0tSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdlclNldFN1YnJlc291
cmNlVW5pcXVlUmVkaXJlY3RUbyk6CisgICAgICAgICAgICBUZXN0IGluZnJhc3RydWN0dXJlLgor
ICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQy9XS1Jlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2Vy
Lmg6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2Vy
LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFnZXI6
OnNldFN1YmZyYW1lVW5kZXJUb3BGcmFtZU9yaWdpbik6CisgICAgICAgIChXZWJLaXQ6OldlYlJl
c291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VyOjpzZXRTdWJyZXNvdXJjZVVuZGVyVG9wRnJhbWVP
cmlnaW4pOgorICAgICAgICAoV2ViS2l0OjpXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdl
cjo6c2V0U3VicmVzb3VyY2VVbmlxdWVSZWRpcmVjdFRvKToKKyAgICAgICAgICAgIFRlc3QgaW5m
cmFzdHJ1Y3R1cmUuCisgICAgICAgICogVUlQcm9jZXNzL1dlYlJlc291cmNlTG9hZFN0YXRpc3Rp
Y3NNYW5hZ2VyLmg6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlJlc291cmNlTG9hZFN0YXRpc3Rp
Y3NTdG9yZS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NT
dG9yZTo6V2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlKToKKyAgICAgICAgICAgIFJlbmFt
ZWQgbV9zdG9yYWdlUGF0aCB0byBtX3N0YXRpc3RpY3NTdG9yYWdlUGF0aCBmb3IgY2xhcml0eS4K
KyAgICAgICAgKFdlYktpdDo6V2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlOjpjbGFzc2lm
eVJlc291cmNlKToKKyAgICAgICAgICAgIE5vdyBjYWxscyB0aGUgY2xhc3NpZmllciB0aHJvdWdo
IGl0cyBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllcgorICAgICAgICAgICAgbWVtYmVy
IHZhcmlhYmxlLgorICAgICAgICAoV2ViS2l0OjpXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3Rv
cmU6OnBlcnNpc3RlbnRTdG9yYWdlUGF0aCk6CisgICAgICAgICAgICBSZW5hbWVkIG1fc3RvcmFn
ZVBhdGggdG8gbV9zdGF0aXN0aWNzU3RvcmFnZVBhdGggZm9yIGNsYXJpdHkuCisgICAgICAgIChX
ZWJLaXQ6OldlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZTo6d3JpdGVFbmNvZGVyVG9EaXNr
KToKKyAgICAgICAgICAgIFJlbmFtZWQgbV9zdG9yYWdlUGF0aCB0byBtX3N0YXRpc3RpY3NTdG9y
YWdlUGF0aCBmb3IgY2xhcml0eS4KKyAgICAgICAgKFdlYktpdDo6V2ViUmVzb3VyY2VMb2FkU3Rh
dGlzdGljc1N0b3JlOjpoYXNQcmV2YWxlbnRSZXNvdXJjZUNoYXJhY3RlcmlzdGljcyk6IERlbGV0
ZWQuCisgICAgICAgICogVUlQcm9jZXNzL1dlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZS5o
OgorICAgICAgICAqIFdlYktpdDIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAg
ICAgIEFkZGVkIHRoZSBuZXcgY2xhc3NpZmllciBzb3VyY2UgZmlsZXMgdW5kZXIgUGxhdGZvcm0v
Y2xhc3NpZmllciBhbmQgdGhlCisgICAgICAgICAgICBjb3JlUHJlZGljdGlvbl9tb2RlbCBmaWxl
IHVuZGVyIFJlc291cmNlcy9SZXNvdXJjZUxvYWRTdGF0aXN0aWNzLgorCiAyMDE3LTAyLTIxICBE
YWV3b29uZyBKYW5nICA8ZGFld29vbmcuamFuZ0BuYXZlcmNvcnAuY29tPgogCiAgICAgICAgIFJl
bW92ZSB1bnVzZWQgZmlsZXMuCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybUdUSy5jbWFr
ZQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybUdUSy5jbWFrZQkocmV2aXNp
b24gMjEyNjU2KQorKysgU291cmNlL1dlYktpdDIvUGxhdGZvcm1HVEsuY21ha2UJKHdvcmtpbmcg
Y29weSkKQEAgLTQ2LDYgKzQ2LDggQEAgbGlzdChBUFBFTkQgV2ViS2l0Ml9TT1VSQ0VTCiAgICAg
UGxhdGZvcm0vSVBDL3VuaXgvQXR0YWNobWVudFVuaXguY3BwCiAgICAgUGxhdGZvcm0vSVBDL3Vu
aXgvQ29ubmVjdGlvblVuaXguY3BwCiAKKyAgICBQbGF0Zm9ybS9jbGFzc2lmaWVyL1Jlc291cmNl
TG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQmFzZS5jcHAKKwogICAgIFBsYXRmb3JtL2dsaWIvTW9k
dWxlR2xpYi5jcHAKIAogICAgIFBsYXRmb3JtL3VuaXgvTG9nZ2luZ1VuaXguY3BwCkBAIC04NTIs
NiArODU0LDcgQEAgbGlzdChBUFBFTkQgV2ViS2l0Ml9JTkNMVURFX0RJUkVDVE9SSUVTCiAgICAg
IiR7V0VCS0lUMl9ESVJ9L05ldHdvcmtQcm9jZXNzL3NvdXAiCiAgICAgIiR7V0VCS0lUMl9ESVJ9
L05ldHdvcmtQcm9jZXNzL3VuaXgiCiAgICAgIiR7V0VCS0lUMl9ESVJ9L1BsYXRmb3JtL0lQQy9n
bGliIgorICAgICIke1dFQktJVDJfRElSfS9QbGF0Zm9ybS9jbGFzc2lmaWVyIgogICAgICIke1dF
QktJVDJfRElSfS9TaGFyZWQvQVBJL2MvZ3RrIgogICAgICIke1dFQktJVDJfRElSfS9TaGFyZWQv
UGx1Z2lucy91bml4IgogICAgICIke1dFQktJVDJfRElSfS9TaGFyZWQvZ2xpYiIKSW5kZXg6IFNv
dXJjZS9XZWJLaXQyL1BsYXRmb3JtTWFjLmNtYWtlCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQyL1BsYXRmb3JtTWFjLmNtYWtlCShyZXZpc2lvbiAyMTI2NTYpCisrKyBTb3VyY2UvV2ViS2l0
Mi9QbGF0Zm9ybU1hYy5jbWFrZQkod29ya2luZyBjb3B5KQpAQCAtNDksNiArNDksMTAgQEAgbGlz
dChBUFBFTkQgV2ViS2l0Ml9TT1VSQ0VTCiAKICAgICBQbGF0Zm9ybS9jZy9DR1V0aWxpdGllcy5j
cHAKIAorICAgIFBsYXRmb3JtL2NsYXNzaWZpZXIvUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNz
aWZpZXJCYXNlLmNwcAorCisgICAgUGxhdGZvcm0vY2xhc3NpZmllci9jb2NvYS9SZXNvdXJjZUxv
YWRTdGF0aXN0aWNzQ2xhc3NpZmllckNvY29hLmNwcAorCiAgICAgUGxhdGZvcm0vZm91bmRhdGlv
bi9Mb2dnaW5nRm91bmRhdGlvbi5tbQogCiAgICAgUGxhdGZvcm0vY29jb2EvU2hhcmVkTWVtb3J5
Q29jb2EuY3BwCkBAIC0zOTIsNiArMzk2LDggQEAgbGlzdChBUFBFTkQgV2ViS2l0Ml9JTkNMVURF
X0RJUkVDVE9SSUVTCiAgICAgIiR7V0VCS0lUMl9ESVJ9L1VJUHJvY2Vzcy9TY3JvbGxpbmciCiAg
ICAgIiR7V0VCS0lUMl9ESVJ9L1VJUHJvY2Vzcy9pb3MiCiAgICAgIiR7V0VCS0lUMl9ESVJ9L1Bs
YXRmb3JtL2NnIgorICAgICIke1dFQktJVDJfRElSfS9QbGF0Zm9ybS9jbGFzc2lmaWVyIgorICAg
ICIke1dFQktJVDJfRElSfS9QbGF0Zm9ybS9jbGFzc2lmaWVyL2NvY29hIgogICAgICIke1dFQktJ
VDJfRElSfS9QbGF0Zm9ybS9tYWMiCiAgICAgIiR7V0VCS0lUMl9ESVJ9L1BsYXRmb3JtL3VuaXgi
CiAgICAgIiR7V0VCS0lUMl9ESVJ9L1BsYXRmb3JtL3NwaS9Db2NvYSIKSW5kZXg6IFNvdXJjZS9X
ZWJLaXQyL0NvbmZpZ3VyYXRpb25zL0Jhc2VUYXJnZXQueGNjb25maWcKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYktpdDIvQ29uZmlndXJhdGlvbnMvQmFzZVRhcmdldC54Y2NvbmZpZwkocmV2aXNp
b24gMjEyNjU2KQorKysgU291cmNlL1dlYktpdDIvQ29uZmlndXJhdGlvbnMvQmFzZVRhcmdldC54
Y2NvbmZpZwkod29ya2luZyBjb3B5KQpAQCAtMzIsNyArMzIsNyBAQCBXS19QUklWQVRFX0ZSQU1F
V09SS1NfRElSX1tzZGs9aXBob25lb3MqCiBXS19QUklWQVRFX0ZSQU1FV09SS1NfRElSX2lwaG9u
ZW9zX1lFUyA9ICQoU1JDUk9PVCkvLi4vLi4vV2ViS2l0TGlicmFyaWVzL1dlYktpdFByaXZhdGVG
cmFtZXdvcmtTdHVicy9pT1MvJChXS19UQVJHRVRfSU9TX1ZFUlNJT05fTUFKT1IpOwogV0tfUFJJ
VkFURV9GUkFNRVdPUktTX0RJUl9pcGhvbmVvc19OTyA9ICQoUFJPRFVDVElPTl9GUkFNRVdPUktT
X0RJUik7CiAKLUZSQU1FV09SS19TRUFSQ0hfUEFUSFNfYmFzZSA9ICIkKFVNQlJFTExBX0ZSQU1F
V09SS1NfRElSKSIgJChGUkFNRVdPUktfU0VBUkNIX1BBVEhTKTsKK0ZSQU1FV09SS19TRUFSQ0hf
UEFUSFNfYmFzZSA9ICIkKFVNQlJFTExBX0ZSQU1FV09SS1NfRElSKSIgL1N5c3RlbS9MaWJyYXJ5
L1ByaXZhdGVGcmFtZXdvcmtzICQoRlJBTUVXT1JLX1NFQVJDSF9QQVRIUyk7CiBGUkFNRVdPUktf
U0VBUkNIX1BBVEhTW3Nkaz1pcGhvbmUqXSA9ICQoRlJBTUVXT1JLX1NFQVJDSF9QQVRIU19iYXNl
KSAkKFdLX1BSSVZBVEVfRlJBTUVXT1JLU19ESVIpOwogRlJBTUVXT1JLX1NFQVJDSF9QQVRIUyA9
ICQoRlJBTUVXT1JLX1NFQVJDSF9QQVRIU19iYXNlKTsKIApJbmRleDogU291cmNlL1dlYktpdDIv
Q29uZmlndXJhdGlvbnMvV2ViS2l0LnhjY29uZmlnCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQyL0NvbmZpZ3VyYXRpb25zL1dlYktpdC54Y2NvbmZpZwkocmV2aXNpb24gMjEyNjU2KQorKysg
U291cmNlL1dlYktpdDIvQ29uZmlndXJhdGlvbnMvV2ViS2l0LnhjY29uZmlnCSh3b3JraW5nIGNv
cHkpCkBAIC0zNCwxMiArMzQsMTQgQEAgTU9EVUxFTUFQX0ZJTEVbc2RrPWlwaG9uZSpdPU1vZHVs
ZXMvaU9TLgogSU5TVEFMTF9QQVRIID0gJChXRUJLSVRfRlJBTUVXT1JLU19ESVIpOwogRFlMSUJf
SU5TVEFMTF9OQU1FX0JBU0UgPSAkKE5PUk1BTF9XRUJLSVRfRlJBTUVXT1JLU19ESVIpOwogCi1G
UkFNRVdPUktfQU5EX0xJQlJBUllfTERGTEFHU19CQVNFX2lvcyA9IC1sb2JqYyAtZnJhbWV3b3Jr
IEFzc2VydGlvblNlcnZpY2VzIC1mcmFtZXdvcmsgQ0ZOZXR3b3JrIC1mcmFtZXdvcmsgQ29yZUZv
dW5kYXRpb24gLWZyYW1ld29yayBDb3JlR3JhcGhpY3MgLWZyYW1ld29yayBDb3JlUERGIC1mcmFt
ZXdvcmsgQ29yZVRleHQgLWZyYW1ld29yayBGb3VuZGF0aW9uIC1mcmFtZXdvcmsgR3JhcGhpY3NT
ZXJ2aWNlcyAtZnJhbWV3b3JrIEltYWdlSU8gLWZyYW1ld29yayBVSUtpdCAtZnJhbWV3b3JrIE9w
ZW5HTEVTIC1mcmFtZXdvcmsgTW9iaWxlQ29yZVNlcnZpY2VzIC1sTW9iaWxlR2VzdGFsdCAkKEZS
QU1FV09SS19BTkRfTElCUkFSWV9MREZMQUdTX1BMQVRGT1JNXyQoUExBVEZPUk1fTkFNRSkpOwor
RlJBTUVXT1JLX0FORF9MSUJSQVJZX0xERkxBR1NfQkFTRV9pb3MgPSAtbG9iamMgLWZyYW1ld29y
ayBBc3NlcnRpb25TZXJ2aWNlcyAtZnJhbWV3b3JrIENGTmV0d29yayAtZnJhbWV3b3JrIENvcmVG
b3VuZGF0aW9uIC1mcmFtZXdvcmsgQ29yZUdyYXBoaWNzIC1mcmFtZXdvcmsgQ29yZVBERiAtZnJh
bWV3b3JrIENvcmVQcmVkaWN0aW9uIC1mcmFtZXdvcmsgQ29yZVRleHQgLWZyYW1ld29yayBGb3Vu
ZGF0aW9uIC1mcmFtZXdvcmsgR3JhcGhpY3NTZXJ2aWNlcyAtZnJhbWV3b3JrIEltYWdlSU8gLWZy
YW1ld29yayBVSUtpdCAtZnJhbWV3b3JrIE9wZW5HTEVTIC1mcmFtZXdvcmsgTW9iaWxlQ29yZVNl
cnZpY2VzIC1sTW9iaWxlR2VzdGFsdCAkKEZSQU1FV09SS19BTkRfTElCUkFSWV9MREZMQUdTX1BM
QVRGT1JNXyQoUExBVEZPUk1fTkFNRSkpOwogRlJBTUVXT1JLX0FORF9MSUJSQVJZX0xERkxBR1Nb
c2RrPWlwaG9uZW9zKl0gPSAkKEZSQU1FV09SS19BTkRfTElCUkFSWV9MREZMQUdTX0JBU0VfaW9z
KSAtZnJhbWV3b3JrIElPU3VyZmFjZTsKIEZSQU1FV09SS19BTkRfTElCUkFSWV9MREZMQUdTW3Nk
az1pcGhvbmVzaW11bGF0b3IqXSA9ICQoRlJBTUVXT1JLX0FORF9MSUJSQVJZX0xERkxBR1NfQkFT
RV9pb3MpOwogRlJBTUVXT1JLX0FORF9MSUJSQVJZX0xERkxBR1NfUExBVEZPUk1faXBob25lb3Mg
PSA7CiBGUkFNRVdPUktfQU5EX0xJQlJBUllfTERGTEFHU19QTEFURk9STV9pcGhvbmVzaW11bGF0
b3IgPSA7Ci1GUkFNRVdPUktfQU5EX0xJQlJBUllfTERGTEFHU1tzZGs9bWFjb3N4Kl0gPSAtZnJh
bWV3b3JrIEFwcGxpY2F0aW9uU2VydmljZXMgLWZyYW1ld29yayBDYXJib24gLWZyYW1ld29yayBD
b2NvYSAtZnJhbWV3b3JrIENvcmVTZXJ2aWNlcyAtZnJhbWV3b3JrIElPS2l0IC1mcmFtZXdvcmsg
Q29yZUF1ZGlvIC1mcmFtZXdvcmsgSU9TdXJmYWNlIC1mcmFtZXdvcmsgT3BlbkdMOworRlJBTUVX
T1JLX0FORF9MSUJSQVJZX0xERkxBR1Nbc2RrPW1hY29zeCpdID0gLWZyYW1ld29yayBBcHBsaWNh
dGlvblNlcnZpY2VzIC1mcmFtZXdvcmsgQ2FyYm9uIC1mcmFtZXdvcmsgQ29jb2EgLWZyYW1ld29y
ayBDb3JlU2VydmljZXMgLWZyYW1ld29yayBJT0tpdCAtZnJhbWV3b3JrIENvcmVBdWRpbyAtZnJh
bWV3b3JrIElPU3VyZmFjZSAtZnJhbWV3b3JrIE9wZW5HTCAkKEVYVFJBX0ZSQU1FV09SS19BTkRf
TElCUkFSWV9MREZMQUdTXyQoVEFSR0VUX01BQ19PU19YX1ZFUlNJT05fTUFKT1IpKTsKK0VYVFJB
X0ZSQU1FV09SS19BTkRfTElCUkFSWV9MREZMQUdTXzEwMTIwMCA9IC1mcmFtZXdvcmsgQ29yZVBy
ZWRpY3Rpb247CitFWFRSQV9GUkFNRVdPUktfQU5EX0xJQlJBUllfTERGTEFHU18xMDEzMDAgPSAt
ZnJhbWV3b3JrIENvcmVQcmVkaWN0aW9uOwogCiAvLyBQcmV2ZW50IEMrKyBzdGFuZGFyZCBsaWJy
YXJ5IG9wZXJhdG9yIG5ldywgZGVsZXRlIGFuZCB0aGVpciByZWxhdGVkIGV4Y2VwdGlvbiB0eXBl
cyBmcm9tIGJlaW5nIGV4cG9ydGVkIGFzIHdlYWsgc3ltYm9scy4KIFVORVhQT1JURURfU1lNQk9M
X0xERkxBR1MgPSAtV2wsLXVuZXhwb3J0ZWRfc3ltYm9sIC1XbCxfX1pUSVN0OWJhZF9hbGxvYyAt
V2wsLXVuZXhwb3J0ZWRfc3ltYm9sIC1XbCxfX1pUSVN0OWV4Y2VwdGlvbiAtV2wsLXVuZXhwb3J0
ZWRfc3ltYm9sIC1XbCxfX1pUU1N0OWJhZF9hbGxvYyAtV2wsLXVuZXhwb3J0ZWRfc3ltYm9sIC1X
bCxfX1pUU1N0OWV4Y2VwdGlvbiAtV2wsLXVuZXhwb3J0ZWRfc3ltYm9sIC1XbCxfX1pkbFB2U18g
LVdsLC11bmV4cG9ydGVkX3N5bWJvbCAtV2wsX19abndtUHYgLVdsLC11bmV4cG9ydGVkX3N5bWJv
bCAtV2wsX19abndtIC1XbCwtdW5leHBvcnRlZF9zeW1ib2wsIC1XbCxfX1pOU3QzX18xOGZ1bmN0
aW9uSUZ2TjdXZWJDb3JlMTJQb2xpY3lBY3Rpb25FRUVDMkVPUzRfIC1XbCwtdW5leHBvcnRlZF9z
eW1ib2wsIC1XbCxfX1pOU3QzX18xOGZ1bmN0aW9uSUZ2TjdXZWJDb3JlMTJQb2xpY3lBY3Rpb25F
RUVDMUVPUzRfIC1XbCwtdW5leHBvcnRlZF9zeW1ib2wsIC1XbCxfX1pOU3QzX18xOGZ1bmN0aW9u
SUZ2TjdXZWJDb3JlMTJQb2xpY3lBY3Rpb25FRUVhU0VEbiAtV2wsLXVuZXhwb3J0ZWRfc3ltYm9s
LCAtV2wsX19aTktTdDNfXzE4ZnVuY3Rpb25JRnZON1dlYkNvcmUxMlBvbGljeUFjdGlvbkVFRWNs
RVMyXyAtV2wsLXVuZXhwb3J0ZWRfc3ltYm9sLCAtV2wsX19aTlN0M19fMThmdW5jdGlvbklGdk43
V2ViQ29yZTEyUG9saWN5QWN0aW9uRUVFNHN3YXBFUlM0XyAtV2wsLXVuZXhwb3J0ZWRfc3ltYm9s
LCAtV2wsX19aTlN0M19fMThmdW5jdGlvbklGdk43V2ViQ29yZTEyUG9saWN5QWN0aW9uRUVFQzFF
UktTNF8gLVdsLC11bmV4cG9ydGVkX3N5bWJvbCwgLVdsLF9fWk5TdDNfXzE4ZnVuY3Rpb25JRnZO
N1dlYkNvcmUxMlBvbGljeUFjdGlvbkVFRUMyRVJLUzRfIC1XbCwtdW5leHBvcnRlZF9zeW1ib2ws
IC1XbCxfX1pOU3QzX18xOGZ1bmN0aW9uSUZ2TjdXZWJDb3JlMTJQb2xpY3lBY3Rpb25FRUVEMUV2
IC1XbCwtdW5leHBvcnRlZF9zeW1ib2wsIC1XbCxfX1pOU3QzX18xOGZ1bmN0aW9uSUZ2TjdXZWJD
b3JlMTJQb2xpY3lBY3Rpb25FRUVEMkV2IC1XbCwtdW5leHBvcnRlZF9zeW1ib2wsIC1XbCxfX1pO
U3QzX18xOGZ1bmN0aW9uSUZ2TjdXZWJDb3JlMTJQb2xpY3lBY3Rpb25FRUVhU0VSS1M0XyAtV2ws
LXVuZXhwb3J0ZWRfc3ltYm9sLCAtV2wsX19aVFZOU3QzX18xMTdiYWRfZnVuY3Rpb25fY2FsbEU7
CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9jbGFzc2lmaWVyL1Jlc291cmNlTG9hZFN0
YXRpc3RpY3NDbGFzc2lmaWVyLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvUGxhdGZv
cm0vY2xhc3NpZmllci9SZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllci5oCShub25leGlz
dGVudCkKKysrIFNvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL2NsYXNzaWZpZXIvUmVzb3VyY2VMb2Fk
U3RhdGlzdGljc0NsYXNzaWZpZXIuaAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDUyIEBACisv
KgorICogQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3Ry
aWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4g
QU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQ
UExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VR
VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1F
TlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRB
LCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpbmNsdWRlIDx3dGYvUGxhdGZvcm0uaD4KKwor
I2lmIFBMQVRGT1JNKENPQ09BKQorI2luY2x1ZGUgIlJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFz
c2lmaWVyQ29jb2EuaCIKKyNlbHNlCisKKyNpbmNsdWRlICJSZXNvdXJjZUxvYWRTdGF0aXN0aWNz
Q2xhc3NpZmllckJhc2UuaCIKKworbmFtZXNwYWNlIFdlYktpdCB7CisKK2NsYXNzIFJlc291cmNl
TG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyIDogcHVibGljIFJlc291cmNlTG9hZFN0YXRpc3RpY3ND
bGFzc2lmaWVyQmFzZSB7CitwdWJsaWM6CisgICAgUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNz
aWZpZXIoKQorICAgIDogUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXJCYXNlKCkgeyB9
CisgICAgCitwcm90ZWN0ZWQ6CisgICAgYm9vbCBjbGFzc2lmeShjb25zdCB1bnNpZ25lZCBhLCBj
b25zdCB1bnNpZ25lZCBiLCBjb25zdCB1bnNpZ25lZCBjKSBvdmVycmlkZQorICAgIHsKKyAgICAg
ICAgcmV0dXJuIGNsYXNzaWZ5V2l0aFZlY3RvclRocmVzaG9sZChhLCBiLCBjKTsKKyAgICB9Cit9
OworCit9CisKKyNlbmRpZgpJbmRleDogU291cmNlL1dlYktpdDIvUGxhdGZvcm0vY2xhc3NpZmll
ci9SZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllckJhc2UuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL2NsYXNzaWZpZXIvUmVzb3VyY2VMb2FkU3RhdGlzdGlj
c0NsYXNzaWZpZXJCYXNlLmNwcAkobm9uZXhpc3RlbnQpCisrKyBTb3VyY2UvV2ViS2l0Mi9QbGF0
Zm9ybS9jbGFzc2lmaWVyL1Jlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQmFzZS5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw2MCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAx
NyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBg
QVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1F
UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFS
RSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklC
VVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
IFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5F
U1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1Ig
VE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJj
b25maWcuaCIKKyNpbmNsdWRlICJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllckJhc2Uu
aCIKKworI2luY2x1ZGUgPFdlYkNvcmUvUmVzb3VyY2VMb2FkU3RhdGlzdGljcy5oPgorCit1c2lu
ZyBuYW1lc3BhY2UgV2ViQ29yZTsKKworbmFtZXNwYWNlIFdlYktpdCB7CisKK3N0YXRpYyBjb25z
dCBhdXRvIGZlYXR1cmVWZWN0b3JMZW5ndGhUaHJlc2hvbGQgPSAzOworYm9vbCBSZXNvdXJjZUxv
YWRTdGF0aXN0aWNzQ2xhc3NpZmllckJhc2U6Omhhc1ByZXZhbGVudFJlc291cmNlQ2hhcmFjdGVy
aXN0aWNzKGNvbnN0IFJlc291cmNlTG9hZFN0YXRpc3RpY3MmIHJlc291cmNlU3RhdGlzdGljKQor
eworICAgIGF1dG8gc3VicmVzb3VyY2VVbmRlclRvcEZyYW1lT3JpZ2luc0NvdW50ID0gcmVzb3Vy
Y2VTdGF0aXN0aWMuc3VicmVzb3VyY2VVbmRlclRvcEZyYW1lT3JpZ2lucy5zaXplKCk7CisgICAg
YXV0byBzdWJyZXNvdXJjZVVuaXF1ZVJlZGlyZWN0c1RvQ291bnQgPSByZXNvdXJjZVN0YXRpc3Rp
Yy5zdWJyZXNvdXJjZVVuaXF1ZVJlZGlyZWN0c1RvLnNpemUoKTsKKyAgICBhdXRvIHN1YmZyYW1l
VW5kZXJUb3BGcmFtZU9yaWdpbnNDb3VudCA9IHJlc291cmNlU3RhdGlzdGljLnN1YmZyYW1lVW5k
ZXJUb3BGcmFtZU9yaWdpbnMuc2l6ZSgpOworICAgIAorICAgIGlmICghc3VicmVzb3VyY2VVbmRl
clRvcEZyYW1lT3JpZ2luc0NvdW50CisgICAgICAgICYmICFzdWJyZXNvdXJjZVVuaXF1ZVJlZGly
ZWN0c1RvQ291bnQKKyAgICAgICAgJiYgIXN1YmZyYW1lVW5kZXJUb3BGcmFtZU9yaWdpbnNDb3Vu
dCkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIAorICAgIGlmIChzdWJyZXNvdXJjZVVuZGVy
VG9wRnJhbWVPcmlnaW5zQ291bnQgPiBmZWF0dXJlVmVjdG9yTGVuZ3RoVGhyZXNob2xkCisgICAg
ICAgIHx8IHN1YnJlc291cmNlVW5pcXVlUmVkaXJlY3RzVG9Db3VudCA+IGZlYXR1cmVWZWN0b3JM
ZW5ndGhUaHJlc2hvbGQKKyAgICAgICAgfHwgc3ViZnJhbWVVbmRlclRvcEZyYW1lT3JpZ2luc0Nv
dW50ID4gZmVhdHVyZVZlY3Rvckxlbmd0aFRocmVzaG9sZCkKKyAgICAgICAgcmV0dXJuIHRydWU7
CisKKyAgICByZXR1cm4gY2xhc3NpZnkoc3VicmVzb3VyY2VVbmRlclRvcEZyYW1lT3JpZ2luc0Nv
dW50LCBzdWJyZXNvdXJjZVVuaXF1ZVJlZGlyZWN0c1RvQ291bnQsIHN1YmZyYW1lVW5kZXJUb3BG
cmFtZU9yaWdpbnNDb3VudCk7Cit9CisKK2Jvb2wgUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNz
aWZpZXJCYXNlOjpjbGFzc2lmeVdpdGhWZWN0b3JUaHJlc2hvbGQoY29uc3QgdW5zaWduZWQgYSwg
Y29uc3QgdW5zaWduZWQgYiwgY29uc3QgdW5zaWduZWQgYykKK3sKKyAgICByZXR1cm4gc3FydChh
ICogYSArIGIgKiBiICsgYyAqIGMpID4gZmVhdHVyZVZlY3Rvckxlbmd0aFRocmVzaG9sZDsKK30K
KyAgICAKK30KSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL2NsYXNzaWZpZXIvUmVzb3Vy
Y2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXJCYXNlLmgKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YktpdDIvUGxhdGZvcm0vY2xhc3NpZmllci9SZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmll
ckJhc2UuaAkobm9uZXhpc3RlbnQpCisrKyBTb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9jbGFzc2lm
aWVyL1Jlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQmFzZS5oCSh3b3JraW5nIGNvcHkp
CkBAIC0wLDAgKzEsNDQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBh
cmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFO
RCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4g
SU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBM
SUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVN
UExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworbmFtZXNwYWNl
IFdlYkNvcmUgeworc3RydWN0IFJlc291cmNlTG9hZFN0YXRpc3RpY3M7Cit9CisKK25hbWVzcGFj
ZSBXZWJLaXQgeworCitjbGFzcyBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllckJhc2Ug
eworcHVibGljOgorICAgIGJvb2wgaGFzUHJldmFsZW50UmVzb3VyY2VDaGFyYWN0ZXJpc3RpY3Mo
Y29uc3QgV2ViQ29yZTo6UmVzb3VyY2VMb2FkU3RhdGlzdGljcyYgcmVzb3VyY2VTdGF0aXN0aWMp
OworcHJvdGVjdGVkOgorICAgIFJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQmFzZSgp
IHsgfQorICAgIHZpcnR1YWwgflJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQmFzZSgp
IHsgfQorICAgIHZpcnR1YWwgYm9vbCBjbGFzc2lmeShjb25zdCB1bnNpZ25lZCwgY29uc3QgdW5z
aWduZWQsIGNvbnN0IHVuc2lnbmVkKSA9IDA7CisgICAgYm9vbCBjbGFzc2lmeVdpdGhWZWN0b3JU
aHJlc2hvbGQoY29uc3QgdW5zaWduZWQsIGNvbnN0IHVuc2lnbmVkLCBjb25zdCB1bnNpZ25lZCk7
Cit9OworCit9CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9jbGFzc2lmaWVyL2NvY29h
L0NvcmVQcmVkaWN0aW9uU1BJLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvUGxhdGZv
cm0vY2xhc3NpZmllci9jb2NvYS9Db3JlUHJlZGljdGlvblNQSS5oCShub25leGlzdGVudCkKKysr
IFNvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL2NsYXNzaWZpZXIvY29jb2EvQ29yZVByZWRpY3Rpb25T
UEkuaAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDUxIEBACisvKgorICogQ29weXJpZ2h0IChD
KSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
KyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAy
LiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRP
UlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENP
TlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBC
VVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9S
WSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdt
YSBvbmNlCisKKyNpZiBVU0UoQVBQTEVfSU5URVJOQUxfU0RLKSAmJiBIQVZFKENPUkVfUFJFRElD
VElPTikKKyNpbmNsdWRlIDxDb3JlUHJlZGljdGlvbi9zdm0uaD4KKyNlbHNlCisKK3N0cnVjdCBz
dm1fbm9kZSB7CisgICAgaW50IGluZGV4OworICAgIGRvdWJsZSB2YWx1ZTsKK307CisKK3N0cnVj
dCBzdm1fbW9kZWwgeyB9OworCisjZW5kaWYKKworI2lmZGVmIF9fY3BsdXNwbHVzCitleHRlcm4g
IkMiIHsKKyNlbmRpZgorCitkb3VibGUgc3ZtX3ByZWRpY3RfdmFsdWVzKGNvbnN0IHN0cnVjdCBz
dm1fbW9kZWwqLCBjb25zdCBzdHJ1Y3Qgc3ZtX25vZGUqLCBkb3VibGUqKTsKKworc3RydWN0IHN2
bV9tb2RlbCAqc3ZtX2xvYWRfbW9kZWwoY29uc3QgY2hhciopOworCisjaWZkZWYgX19jcGx1c3Bs
dXMKK30KKyNlbmRpZgpJbmRleDogU291cmNlL1dlYktpdDIvUGxhdGZvcm0vY2xhc3NpZmllci9j
b2NvYS9SZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllckNvY29hLmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9jbGFzc2lmaWVyL2NvY29hL1Jlc291cmNlTG9h
ZFN0YXRpc3RpY3NDbGFzc2lmaWVyQ29jb2EuY3BwCShub25leGlzdGVudCkKKysrIFNvdXJjZS9X
ZWJLaXQyL1BsYXRmb3JtL2NsYXNzaWZpZXIvY29jb2EvUmVzb3VyY2VMb2FkU3RhdGlzdGljc0Ns
YXNzaWZpZXJDb2NvYS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwxMTQgQEAKKy8qCisg
KiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoK
KyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0
aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQg
SVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElD
VUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUg
SU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBP
RgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9S
IFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4K
KyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiUmVzb3VyY2VMb2FkU3RhdGlz
dGljc0NsYXNzaWZpZXJDb2NvYS5oIgorCisjaW5jbHVkZSAiTG9nZ2luZy5oIgorCituYW1lc3Bh
Y2UgV2ViS2l0IHsKKworYm9vbCBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllcjo6Y2xh
c3NpZnkoY29uc3QgdW5zaWduZWQgc3VicmVzb3VyY2VVbmRlclRvcEZyYW1lT3JpZ2luc0NvdW50
LCBjb25zdCB1bnNpZ25lZCBzdWJyZXNvdXJjZVVuaXF1ZVJlZGlyZWN0c1RvQ291bnQsIGNvbnN0
IHVuc2lnbmVkIHN1YmZyYW1lVW5kZXJUb3BGcmFtZU9yaWdpbnNDb3VudCkKK3sKKyAgICBpZiAo
IXNob3VsZFVzZUNvcmVQcmVkaWN0aW9uKCkpCisgICAgICAgIHJldHVybiBjbGFzc2lmeVdpdGhW
ZWN0b3JUaHJlc2hvbGQoc3VicmVzb3VyY2VVbmRlclRvcEZyYW1lT3JpZ2luc0NvdW50LCBzdWJy
ZXNvdXJjZVVuaXF1ZVJlZGlyZWN0c1RvQ291bnQsIHN1YmZyYW1lVW5kZXJUb3BGcmFtZU9yaWdp
bnNDb3VudCk7CisKKyNpZiBIQVZFKENPUkVfUFJFRElDVElPTikKKyAgICBWZWN0b3I8dW5zaWdu
ZWQ+IG5vblplcm9GZWF0dXJlczsKKyAgICBWZWN0b3I8dW5zaWduZWQ+IGluZGljZXM7CisKKyAg
ICBpZiAoc3VicmVzb3VyY2VVbmRlclRvcEZyYW1lT3JpZ2luc0NvdW50KSB7CisgICAgICAgIG5v
blplcm9GZWF0dXJlcy5hcHBlbmQoc3VicmVzb3VyY2VVbmRlclRvcEZyYW1lT3JpZ2luc0NvdW50
KTsKKyAgICAgICAgaW5kaWNlcy5hcHBlbmQoMSk7CisgICAgfQorICAgIGlmIChzdWJyZXNvdXJj
ZVVuaXF1ZVJlZGlyZWN0c1RvQ291bnQpIHsKKyAgICAgICAgbm9uWmVyb0ZlYXR1cmVzLmFwcGVu
ZChzdWJyZXNvdXJjZVVuaXF1ZVJlZGlyZWN0c1RvQ291bnQpOworICAgICAgICBpbmRpY2VzLmFw
cGVuZCgyKTsKKyAgICB9CisgICAgaWYgKHN1YmZyYW1lVW5kZXJUb3BGcmFtZU9yaWdpbnNDb3Vu
dCkgeworICAgICAgICBub25aZXJvRmVhdHVyZXMuYXBwZW5kKHN1YmZyYW1lVW5kZXJUb3BGcmFt
ZU9yaWdpbnNDb3VudCk7CisgICAgICAgIGluZGljZXMuYXBwZW5kKDMpOworICAgIH0KKworICAg
IHN2bV9ub2RlKiBleGFtcGxlVmVjdG9yID0gbmV3IHN2bV9ub2RlW25vblplcm9GZWF0dXJlcy5z
aXplKCkgKyAxXTsKKyAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IG5vblplcm9GZWF0dXJlcy5z
aXplKCk7IGkrKykgeworICAgICAgICBleGFtcGxlVmVjdG9yW2ldLmluZGV4ID0gaW5kaWNlcy5h
dChpKTsKKyAgICAgICAgZXhhbXBsZVZlY3RvcltpXS52YWx1ZSA9IG5vblplcm9GZWF0dXJlcy5h
dChpKTsKKyAgICB9CisgICAgLy8gQWRkIHRlcm1pbmF0aW9uIG5vZGUgd2l0aCBpbmRleCAtMS4K
KyAgICBleGFtcGxlVmVjdG9yW25vblplcm9GZWF0dXJlcy5zaXplKCldLmluZGV4ID0gLTE7Cisg
ICAgZXhhbXBsZVZlY3Rvcltub25aZXJvRmVhdHVyZXMuc2l6ZSgpXS52YWx1ZSA9IC0xOworCisg
ICAgaW50IGNsYXNzaWZpY2F0aW9uOworICAgIGRvdWJsZSBzY29yZTsKKyAgICBjbGFzc2lmaWNh
dGlvbiA9IHN2bV9wcmVkaWN0X3ZhbHVlcyhtX2NvcmVQcmVkaWN0aW9uTW9kZWwsIGV4YW1wbGVW
ZWN0b3IsICZzY29yZSk7CisgICAgZGVsZXRlW10gZXhhbXBsZVZlY3RvcjsKKyAgICByZXR1cm4g
Y2xhc3NpZmljYXRpb24gPCAwOworI2VuZGlmCisgICAgcmV0dXJuIGZhbHNlOworfQorCitTdHJp
bmcgUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXI6OnN0b3JhZ2VQYXRoKCkKK3sKKyAg
ICBDRkJ1bmRsZVJlZiB3ZWJLaXRCdW5kbGUgPSBDRkJ1bmRsZUdldEJ1bmRsZVdpdGhJZGVudGlm
aWVyKENGU1RSKCJjb20uYXBwbGUuV2ViS2l0IikpOworICAgIFJldGFpblB0cjxDRlVSTFJlZj4g
cmVzb3VyY2VVcmwgPSBhZG9wdENGKENGQnVuZGxlQ29weVJlc291cmNlc0RpcmVjdG9yeVVSTCh3
ZWJLaXRCdW5kbGUpKTsKKyAgICByZXNvdXJjZVVybCA9IGFkb3B0Q0YoQ0ZVUkxDcmVhdGVDb3B5
QXBwZW5kaW5nUGF0aENvbXBvbmVudChudWxscHRyLCByZXNvdXJjZVVybC5nZXQoKSwgQ0ZTVFIo
ImNvcmVQcmVkaWN0aW9uX21vZGVsIiksIGZhbHNlKSk7CisgICAgQ0ZFcnJvclJlZiBlcnJvciA9
IG51bGxwdHI7CisgICAgcmVzb3VyY2VVcmwgPSBhZG9wdENGKENGVVJMQ3JlYXRlRmlsZVBhdGhV
UkwobnVsbHB0ciwgcmVzb3VyY2VVcmwuZ2V0KCksICZlcnJvcikpOworCisgICAgaWYgKGVycm9y
IHx8ICFyZXNvdXJjZVVybCkKKyAgICAgICAgcmV0dXJuIFN0cmluZygpOworCisgICAgUmV0YWlu
UHRyPENGU3RyaW5nUmVmPiByZXNvdXJjZVVybFN0cmluZyA9IGFkb3B0Q0YoQ0ZVUkxDb3B5Rmls
ZVN5c3RlbVBhdGgocmVzb3VyY2VVcmwuZ2V0KCksIGtDRlVSTFBPU0lYUGF0aFN0eWxlKSk7Cisg
ICAgcmV0dXJuIFN0cmluZyhyZXNvdXJjZVVybFN0cmluZy5nZXQoKSk7Cit9CisKK2Jvb2wgUmVz
b3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXI6OnNob3VsZFVzZUNvcmVQcmVkaWN0aW9uKCkK
K3sKKyNpZiBIQVZFKENPUkVfUFJFRElDVElPTikKKyAgICBpZiAobV9jb3JlUHJlZGljdGlvbk1v
ZGVsKQorICAgICAgICByZXR1cm4gdHJ1ZTsKKworICAgIGlmICghbV91c2VDb3JlUHJlZGljdGlv
bikKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgU3RyaW5nIHN0b3JhZ2VQYXRoU3RyID0g
c3RvcmFnZVBhdGgoKTsKKyAgICBpZiAoc3RvcmFnZVBhdGhTdHIuaXNOdWxsKCkgfHwgc3RvcmFn
ZVBhdGhTdHIuaXNFbXB0eSgpKSB7CisgICAgICAgIG1fdXNlQ29yZVByZWRpY3Rpb24gPSBmYWxz
ZTsKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIH0KKworICAgIG1fY29yZVByZWRpY3Rpb25N
b2RlbCA9IHN2bV9sb2FkX21vZGVsKChzdG9yYWdlUGF0aFN0cikudXRmOCgpLmRhdGEoKSk7Cisg
ICAgCisgICAgaWYgKG1fY29yZVByZWRpY3Rpb25Nb2RlbCkKKyAgICAgICAgcmV0dXJuIHRydWU7
CisKKyAgICBXVEZMb2dBbHdheXMoIlJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyOjpz
aG91bGRVc2VDb3JlUHJlZGljdGlvbigpOiBDb3VsZG4ndCBsb2FkIG1vZGVsIGZpbGUgYXQgcGF0
aCAlcy4iLCBzdG9yYWdlUGF0aFN0ci51dGY4KCkuZGF0YSgpKTsKKyAgICBtX3VzZUNvcmVQcmVk
aWN0aW9uID0gZmFsc2U7CisjZW5kaWYKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKK30KSW5kZXg6
IFNvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL2NsYXNzaWZpZXIvY29jb2EvUmVzb3VyY2VMb2FkU3Rh
dGlzdGljc0NsYXNzaWZpZXJDb2NvYS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1Bs
YXRmb3JtL2NsYXNzaWZpZXIvY29jb2EvUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXJD
b2NvYS5oCShub25leGlzdGVudCkKKysrIFNvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL2NsYXNzaWZp
ZXIvY29jb2EvUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXJDb2NvYS5oCSh3b3JraW5n
IGNvcHkpCkBAIC0wLDAgKzEsNTQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
CisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycK
KyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisg
KiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFM
LCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2lm
IEhBVkUoQ09SRV9QUkVESUNUSU9OKQorI2luY2x1ZGUgIkNvcmVQcmVkaWN0aW9uU1BJLmgiCisj
ZW5kaWYKKyNpbmNsdWRlICJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllckJhc2UuaCIK
KyNpbmNsdWRlIDxDb3JlRm91bmRhdGlvbi9Db3JlRm91bmRhdGlvbi5oPgorI2luY2x1ZGUgPHd0
Zi9QbGF0Zm9ybS5oPgorI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgorCituYW1lc3Bh
Y2UgV2ViS2l0IHsKKworY2xhc3MgUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXIgOiBw
dWJsaWMgUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXJCYXNlIHsKKworcHVibGljOgor
ICAgIFJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyKCkKKyAgICAgICAgOiBSZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllckJhc2UoKSB7IH0KKworcHJpdmF0ZToKKyAgICBib29s
IGNsYXNzaWZ5KGNvbnN0IHVuc2lnbmVkLCBjb25zdCB1bnNpZ25lZCwgY29uc3QgdW5zaWduZWQp
IG92ZXJyaWRlOworICAgIFN0cmluZyBzdG9yYWdlUGF0aCgpOworICAgIGJvb2wgc2hvdWxkVXNl
Q29yZVByZWRpY3Rpb24oKTsKKyNpZiBIQVZFKENPUkVfUFJFRElDVElPTikKKyAgICBzdHJ1Y3Qg
c3ZtX21vZGVsKiBtX2NvcmVQcmVkaWN0aW9uTW9kZWw7CisgICAgYm9vbCBtX3VzZUNvcmVQcmVk
aWN0aW9uIHsgdHJ1ZSB9OworI2VuZGlmCit9OworCit9CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9S
ZXNvdXJjZXMvUmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jb3JlUHJlZGljdGlvbl9tb2RlbAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9SZXNvdXJjZXMvUmVzb3VyY2VMb2FkU3RhdGlzdGlj
cy9jb3JlUHJlZGljdGlvbl9tb2RlbAkobm9uZXhpc3RlbnQpCisrKyBTb3VyY2UvV2ViS2l0Mi9S
ZXNvdXJjZXMvUmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jb3JlUHJlZGljdGlvbl9tb2RlbAkod29y
a2luZyBjb3B5KQpAQCAtMCwwICsxLDY3OCBAQAorc3ZtX3R5cGUgY19zdmMKK2tlcm5lbF90eXBl
IHJiZgorZ2FtbWEgMC4xCitucl9jbGFzcyAyCit0b3RhbF9zdiAzMzAKK3JobyAwLjI4Nzk0NTY0
MjI2MQorbGFiZWwgLTEgMQorbnJfc3YgMzAwIDMwCitTVgorLTAuMDU0NjY5NzAzODcyNCAxOjE0
LjAgMjozLjAgMzo3LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDI6MS4wIAorLTAuMDU0NjY5
NzAzODcyNCAxOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMzoxLjAgCistMC4wNTQ2Njk3
MDM4NzI0IDE6MTIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo3LjAgCistMC4wNTQ2Njk3MDM4NzI0
IDE6Mi4wIDI6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAzOjEuMCAKKy0wLjA1NDY2OTcw
Mzg3MjQgMTozLjAgMjoxNi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAzOjEuMCAKKy0wLjA1
NDY2OTcwMzg3MjQgMToxLjAgMjoyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDM6MS4wIAor
LTAuMDU0NjY5NzAzODcyNCAxOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTozLjAgMjoxLjAgCist
MC4wNTQ2Njk3MDM4NzI0IDE6NS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjE2LjAgMjoyLjAgMzoy
LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDI6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEx
LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6NC4wIDM6My4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjI4
LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAzOjEu
MCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMzoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MjIu
MCAyOjEuMCAzOjEyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MTQuMCAzOjUuMCAKKy0wLjA1NDY2
OTcwMzg3MjQgMToxLjAgMzoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6NDguMCAyOjEuMCAKKy0w
LjA1NDY2OTcwMzg3MjQgMToyNS4wIDM6MTYuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMjox
LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDM6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjYu
MCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo3LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDI6MS4w
IAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAzOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTozLjAg
MzoyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Ny4wIDI6MS4wIDM6MS4wIAorLTAuMDU0NjY5NzAz
ODcyNCAxOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo3LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6
NS4wIDI6Mi4wIDM6My4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAKKy0wLjA1NDY2OTcwMzg3
MjQgMToxLjAgMjoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6NC4wIAorLTAuMDU0NjY5NzAzODcy
NCAxOjEuMCAyOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMzoxLjAgCistMC4wNTQ2Njk3
MDM4NzI0IDE6OS4wIDM6NC4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAyOjEuMCAKKy0wLjA1
NDY2OTcwMzg3MjQgMToxLjAgMzoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6NDcuMCAyOjIxLjAg
MzozMy4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjExLjAgMjoyLjAgMzo1LjAgCistMC4wNTQ2Njk3
MDM4NzI0IDE6MTEuMCAyOjMuMCAzOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMzoxLjAg
CistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIDI6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjQzLjAg
MzoyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MTMuMCAzOjcuMCAKKy0wLjA1NDY2OTcwMzg3MjQg
MToxLjAgMzoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6NC4wIAorLTAuMDU0NjY5NzAzODcyNCAx
OjEzLjAgMzo0LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6NDIuMCAyOjQuMCAzOjMyLjAgCistMC4w
NTQ2Njk3MDM4NzI0IDE6MTAuMCAyOjUuMCAzOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo3LjAg
Mzo0LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAz
OjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMzoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6
Ni4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAyOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo2
LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MTYuMCAyOjQuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTox
MC4wIDI6MS4wIDM6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjE4LjAgMjozLjAgMzo2LjAgCist
MC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDM6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAyOjEu
MCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6My4wIDI6MS4w
IDM6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAyOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQg
MTozLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6My4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjQuMCAK
Ky0wLjA1NDY2OTcwMzg3MjQgMToyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIDM6Mi4wIAor
LTAuMDU0NjY5NzAzODcyNCAxOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMzoxLjAgCist
MC4wNTQ2Njk3MDM4NzI0IDE6MjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAgCistMC4wNTQ2
Njk3MDM4NzI0IDE6Mi4wIDI6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjE0LjAgCistMC4wNTQ2
Njk3MDM4NzI0IDE6Mi4wIDI6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAzOjIuMCAKKy0w
LjA1NDY2OTcwMzg3MjQgMTo0LjAgMzozLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIDM6MS4w
IAorLTAuMDU0NjY5NzAzODcyNCAxOjMuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAgCistMC4w
NTQ2Njk3MDM4NzI0IDE6MS4wIDI6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjQuMCAKKy0wLjA1
NDY2OTcwMzg3MjQgMTozOS4wIDM6NC4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1
NDY2OTcwMzg3MjQgMToyLjAgMjoxLjAgMzoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6NC4wIAor
LTAuMDU0NjY5NzAzODcyNCAxOjIuMCAyOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo0LjAgCist
MC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDI6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAyOjIu
MCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIDI6MS4w
IAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4w
NTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcw
Mzg3MjQgMTozLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDI6MS4wIAorLTAuMDU0NjY5NzAz
ODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6
MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCist
MC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDM6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0w
LjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5
NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0
IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAg
CistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1
NDY2OTcwMzg3MjQgMToxNi4wIDI6MS4wIDM6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAK
Ky0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDI6MS4wIAor
LTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2
Njk3MDM4NzI0IDE6My4wIDI6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAzOjEuMCAKKy0w
LjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5
NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0
IDE6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyMC4w
IDM6My4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAg
CistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1
NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAz
ODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMzoxLjAgCistMC4wNTQ2Njk3MDM4
NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAzOjEuMCAKKy0wLjA1NDY2OTcwMzg3
MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6OC4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjcu
MCAyOjEuMCAzOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo4LjAgMjoyLjAgCistMC4wNTQ2Njk3
MDM4NzI0IDE6MS4wIDI6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcw
Mzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDI6MS4wIAorLTAuMDU0NjY5NzAz
ODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6
MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCist
MC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2
OTcwMzg3MjQgMToxMi4wIDM6Ny4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2
OTcwMzg3MjQgMTo5LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Ny4wIAorLTAuMDU0NjY5NzAzODcy
NCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMjoxLjAgCistMC4wNTQ2Njk3MDM4NzI0
IDE6MS4wIDM6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQg
MTo4LjAgMjoyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MTcuMCAKKy0wLjA1NDY2OTcwMzg3MjQg
MToyLjAgMjoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAx
OjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAor
LTAuMDU0NjY5NzAzODcyNCAxOjQuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2
Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEzLjAgMjo0LjAgMzoyLjAgCist
MC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDM6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAzOjIu
MCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MTYuMCAKKy0w
LjA1NDY2OTcwMzg3MjQgMTozLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5
NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0
IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAg
CistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAKKy0wLjA1
NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAz
ODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6
Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjMuMCAzOjMuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTox
LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjExLjAgMzox
MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCist
MC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAKKy0wLjA1NDY2
OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcy
NCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4w
IAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4w
NTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcw
Mzg3MjQgMToxNS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQg
MToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MjAuMCAyOjEyLjAgMzozLjAgCistMC4wNTQ2Njk3
MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQg
MToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjcuMCAz
OjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDM6
MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCist
MC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDM6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0w
LjA1NDY2OTcwMzg3MjQgMTozLjAgMzoyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAu
MDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo5LjAgMjozLjAgCistMC4w
NTQ2Njk3MDM4NzI0IDE6MS4wIDM6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjYuMCAKKy0wLjA1
NDY2OTcwMzg3MjQgMTo0LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAz
ODcyNCAxOjcuMCAyOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4
NzI0IDE6MS4wIDM6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAKKy0wLjA1NDY2OTcwMzg3
MjQgMToyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6OS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIu
MCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAu
MDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3
MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjE0LjAgCistMC4wNTQ2Njk3MDM4NzI0
IDE6MTIuMCAzOjYuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTozLjAgCistMC4wNTQ2Njk3MDM4NzI0
IDE6NC4wIDI6MS4wIDM6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcw
Mzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAx
OjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo5LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6OS4wIDI6
MS4wIDM6NC4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTox
LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6OS4wIDI6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjMu
MCAyOjMuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAgMjoyLjAgCistMC4wNTQ2Njk3MDM4NzI0
IDE6MS4wIDI6MS4wIDM6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjguMCAyOjEuMCAzOjMuMCAK
Ky0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIDI6MS4wIAor
LTAuMDU0NjY5NzAzODcyNCAxOjkuMCAyOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCist
MC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAKKy0wLjA1NDY2
OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MzYuMCAKKy0wLjA1NDY2OTcwMzg3
MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIu
MCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAu
MDU0NjY5NzAzODcyNCAxOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3
MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjYuMCAKKy0wLjA1NDY2OTcwMzg3MjQg
MToxLjAgMzoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAx
OjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAor
LTAuMDU0NjY5NzAzODcyNCAxOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2
Njk3MDM4NzI0IDE6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjQuMCAzOjIuMCAKKy0wLjA1NDY2
OTcwMzg3MjQgMToxMy4wIDM6NC4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA0MDIw
NzUxNzg5NDIgMToxLjAgCiswLjU4NTM2NTg1MzY1OSAxOjEuMCAKKzAuNDc5Mjc2MTM5MDAxIDE6
Ni4wIDI6My4wIAorMC41ODUzNjU4NTM2NTkgMToyLjAgCiswLjU4NTM2NTg1MzY1OSAxOjEuMCAK
KzAuNTg1MzY1ODUzNjU5IDE6My4wIDM6My4wIAorMC41ODUzNjU4NTM2NTkgMTo0Mi4wIDI6Mi4w
IDM6MjguMCAKKzAuNTg1MzY1ODUzNjU5IDE6Mi4wIAorMC41ODUzNjU4NTM2NTkgMToxMi4wIAor
MC40NzkyODMwNDY1NzggMTo3LjAgCiswLjMwMDM5Nzg3MzQ3NiAxOjMuMCAzOjEuMCAKKzAuMDU0
MzE3MzMwNjQ0MiAxOjYuMCAzOjIuMCAKKzAuNTYzNDY1MTI2Mjk5IDE6MTEuMCAKKzAuNTg1MzY1
ODUzNjU5IDE6Mi4wIAorMC41ODUzNjU4NTM2NTkgMToxMC4wIDI6My4wIDM6Ni4wIAorMC41ODUz
NjU4NTM2NTkgMToxLjAgMjoxLjAgCiswLjU4NTM2NTg1MzY1OSAxOjIuMCAKKzAuNTg1MzY1ODUz
NjU5IDE6MS4wIDI6MS4wIAorMC41ODUzNjU4NTM2NTkgMTozLjAgMzoxLjAgCiswLjU4NTM2NTg1
MzY1OSAxOjEuMCAKKzAuNTg1MzY1ODUzNjU5IDE6Mi4wIAorMC41ODUzNjU4NTM2NTkgMToxLjAg
MjoxLjAgCiswLjU4NDk4OTcxOTkwOSAxOjcuMCAKKzAuNTg1MzY1ODUzNjU5IDE6My4wIAorMC41
ODUzNjU4NTM2NTkgMTozLjAgCiswLjUyNTkyNTEzNjk4MyAxOjMuMCAyOjIuMCAKKzAuNTg1MzY1
ODUzNjU5IDE6MS4wIAorMC41ODUzNjU4NTM2NTkgMToxLjAgCiswLjU4NTM2NTg1MzY1OSAxOjMu
MCAzOjEuMCAKKzAuNTg1MzY1ODUzNjU5IDE6MS4wIAorMC41MjA3NDU4MjIzNzQgMTozLjAgCitz
dm1fdHlwZSBjX3N2Ywora2VybmVsX3R5cGUgcmJmCitnYW1tYSAwLjEKK25yX2NsYXNzIDIKK3Rv
dGFsX3N2IDMzMAorcmhvIDAuMjg3OTQ1NjQyMjYxCitsYWJlbCAtMSAxCitucl9zdiAzMDAgMzAK
K1NWCistMC4wNTQ2Njk3MDM4NzI0IDE6MTQuMCAyOjMuMCAzOjcuMCAKKy0wLjA1NDY2OTcwMzg3
MjQgMToxLjAgMjoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIAorLTAuMDU0NjY5NzAzODcy
NCAxOjEuMCAzOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxMi4wIAorLTAuMDU0NjY5NzAzODcy
NCAxOjcuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAgMjoxLjAgCistMC4wNTQ2Njk3MDM4NzI0
IDE6MS4wIDM6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjMuMCAyOjE2LjAgCistMC4wNTQ2Njk3
MDM4NzI0IDE6MS4wIDM6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAyOjIuMCAKKy0wLjA1
NDY2OTcwMzg3MjQgMToxLjAgMzoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIAorLTAuMDU0
NjY5NzAzODcyNCAxOjMuMCAyOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo1LjAgCistMC4wNTQ2
Njk3MDM4NzI0IDE6MTYuMCAyOjIuMCAzOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMjox
LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MTEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo0LjAgMzoz
LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MjguMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAgCist
MC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDM6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAzOjEu
MCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyMi4wIDI6MS4wIDM6MTIuMCAKKy0wLjA1NDY2OTcwMzg3
MjQgMToxNC4wIDM6NS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAzOjEuMCAKKy0wLjA1NDY2
OTcwMzg3MjQgMTo0OC4wIDI6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjI1LjAgMzoxNi4wIAor
LTAuMDU0NjY5NzAzODcyNCAxOjEuMCAyOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMzox
LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Ni4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjcuMCAKKy0w
LjA1NDY2OTcwMzg3MjQgMToxLjAgMjoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDM6MS4w
IAorLTAuMDU0NjY5NzAzODcyNCAxOjMuMCAzOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo3LjAg
MjoxLjAgMzoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAx
OjcuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo1LjAgMjoyLjAgMzozLjAgCistMC4wNTQ2Njk3MDM4
NzI0IDE6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAyOjEuMCAKKy0wLjA1NDY2OTcwMzg3
MjQgMTo0LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDI6MS4wIAorLTAuMDU0NjY5NzAzODcy
NCAxOjEuMCAzOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo5LjAgMzo0LjAgCistMC4wNTQ2Njk3
MDM4NzI0IDE6MS4wIDI6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAzOjEuMCAKKy0wLjA1
NDY2OTcwMzg3MjQgMTo0Ny4wIDI6MjEuMCAzOjMzLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MTEu
MCAyOjIuMCAzOjUuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxMS4wIDI6My4wIDM6MS4wIAorLTAu
MDU0NjY5NzAzODcyNCAxOjEuMCAzOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAgMjoxLjAg
CistMC4wNTQ2Njk3MDM4NzI0IDE6NDMuMCAzOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxMy4w
IDM6Ny4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAzOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQg
MTo0LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MTMuMCAzOjQuMCAKKy0wLjA1NDY2OTcwMzg3MjQg
MTo0Mi4wIDI6NC4wIDM6MzIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxMC4wIDI6NS4wIDM6MS4w
IAorLTAuMDU0NjY5NzAzODcyNCAxOjcuMCAzOjQuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAg
CistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDM6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAz
OjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo2LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDI6
MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjYuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxNi4wIDI6
NC4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEwLjAgMjoxLjAgMzoyLjAgCistMC4wNTQ2Njk3MDM4
NzI0IDE6MTguMCAyOjMuMCAzOjYuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMzoxLjAgCist
MC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDI6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAKKy0w
LjA1NDY2OTcwMzg3MjQgMTozLjAgMjoxLjAgMzoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4w
IDI6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjMuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTozLjAg
CistMC4wNTQ2Njk3MDM4NzI0IDE6NC4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAKKy0wLjA1
NDY2OTcwMzg3MjQgMToyLjAgMzoyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIAorLTAuMDU0
NjY5NzAzODcyNCAxOjEuMCAzOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyMS4wIAorLTAuMDU0
NjY5NzAzODcyNCAxOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAgMjoyLjAgCistMC4wNTQ2
Njk3MDM4NzI0IDE6MTQuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAgMjoxLjAgCistMC4wNTQ2
Njk3MDM4NzI0IDE6Mi4wIDM6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjQuMCAzOjMuMCAKKy0w
LjA1NDY2OTcwMzg3MjQgMToyLjAgMzoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6My4wIAorLTAu
MDU0NjY5NzAzODcyNCAxOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMjoxLjAgCistMC4w
NTQ2Njk3MDM4NzI0IDE6NC4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjM5LjAgMzo0LjAgCistMC4w
NTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAyOjEuMCAzOjEuMCAK
Ky0wLjA1NDY2OTcwMzg3MjQgMTo0LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIDI6MS4wIAor
LTAuMDU0NjY5NzAzODcyNCAxOjQuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMjoxLjAgCist
MC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDI6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0w
LjA1NDY2OTcwMzg3MjQgMToyLjAgMjoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAu
MDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3
MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjMuMCAKKy0wLjA1NDY2OTcwMzg3MjQg
MToxLjAgMjoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAx
OjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAor
LTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMzoxLjAgCist
MC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2
OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcy
NCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4w
IAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4w
NTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjE2LjAgMjoxLjAgMzoxLjAg
CistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1
NDY2OTcwMzg3MjQgMToxLjAgMjoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0
NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTozLjAgMjoxLjAgCistMC4wNTQ2
Njk3MDM4NzI0IDE6MS4wIDM6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2
OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcy
NCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4w
IAorLTAuMDU0NjY5NzAzODcyNCAxOjIwLjAgMzozLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4w
IAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4w
NTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcw
Mzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAx
OjEuMCAzOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6
MS4wIDM6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo4
LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Ny4wIDI6MS4wIDM6Mi4wIAorLTAuMDU0NjY5NzAzODcy
NCAxOjguMCAyOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMjoxLjAgCistMC4wNTQ2Njk3
MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQg
MToxLjAgMjoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAx
OjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAor
LTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAgCistMC4wNTQ2
Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEyLjAgMzo3LjAgCistMC4wNTQ2
Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjkuMCAKKy0wLjA1NDY2OTcwMzg3
MjQgMTo3LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEu
MCAyOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMzoxLjAgCistMC4wNTQ2Njk3MDM4NzI0
IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjguMCAyOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQg
MToxNy4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAyOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQg
MToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAK
Ky0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6NC4wIAorLTAuMDU0
NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4
NzI0IDE6MTMuMCAyOjQuMCAzOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMzoxLjAgCist
MC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIDM6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0w
LjA1NDY2OTcwMzg3MjQgMToxNi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjMuMCAKKy0wLjA1NDY2
OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcy
NCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4w
IAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAgCistMC4w
NTQ2Njk3MDM4NzI0IDE6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcw
Mzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAx
OjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6My4wIDM6
My4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAgCist
MC4wNTQ2Njk3MDM4NzI0IDE6MTEuMCAzOjExLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAor
LTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2
Njk3MDM4NzI0IDE6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3
MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEu
MCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAu
MDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3
MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjE1LjAgCistMC4wNTQ2Njk3MDM4NzI0
IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyMC4w
IDI6MTIuMCAzOjMuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0
IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAg
CistMC4wNTQ2Njk3MDM4NzI0IDE6Ny4wIDM6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAK
Ky0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMzoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAor
LTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMzoxLjAgCist
MC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjMuMCAzOjIuMCAKKy0w
LjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5
NzAzODcyNCAxOjkuMCAyOjMuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMzoxLjAgCistMC4w
NTQ2Njk3MDM4NzI0IDE6Ni4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjQuMCAKKy0wLjA1NDY2OTcw
Mzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Ny4wIDI6Mi4wIAorLTAuMDU0NjY5NzAz
ODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMzoxLjAgCistMC4wNTQ2Njk3MDM4
NzI0IDE6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo5
LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0w
LjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5
NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0
IDE6MTQuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxMi4wIDM6Ni4wIAorLTAuMDU0NjY5NzAzODcy
NCAxOjMuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo0LjAgMjoxLjAgMzoxLjAgCistMC4wNTQ2Njk3
MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQg
MToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjkuMCAK
Ky0wLjA1NDY2OTcwMzg3MjQgMTo5LjAgMjoxLjAgMzo0LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6
MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo5LjAgMjox
LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6My4wIDI6My4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIu
MCAyOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMjoxLjAgMzoxLjAgCistMC4wNTQ2Njk3
MDM4NzI0IDE6OC4wIDI6MS4wIDM6My4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1
NDY2OTcwMzg3MjQgMToyLjAgMjoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6OS4wIDI6MS4wIAor
LTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2
Njk3MDM4NzI0IDE6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3
MjQgMTozNi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTox
LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0w
LjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIAorLTAuMDU0NjY5
NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0
IDE6Ni4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAzOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQg
MToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAK
Ky0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIAorLTAuMDU0
NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAgCistMC4wNTQ2Njk3MDM4
NzI0IDE6NC4wIDM6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEzLjAgMzo0LjAgCistMC4wNTQ2
Njk3MDM4NzI0IDE6MS4wIAorLTAuMDQwMjA3NTE3ODk0MiAxOjEuMCAKKzAuNTg1MzY1ODUzNjU5
IDE6MS4wIAorMC40NzkyNzYxMzkwMDEgMTo2LjAgMjozLjAgCiswLjU4NTM2NTg1MzY1OSAxOjIu
MCAKKzAuNTg1MzY1ODUzNjU5IDE6MS4wIAorMC41ODUzNjU4NTM2NTkgMTozLjAgMzozLjAgCisw
LjU4NTM2NTg1MzY1OSAxOjQyLjAgMjoyLjAgMzoyOC4wIAorMC41ODUzNjU4NTM2NTkgMToyLjAg
CiswLjU4NTM2NTg1MzY1OSAxOjEyLjAgCiswLjQ3OTI4MzA0NjU3OCAxOjcuMCAKKzAuMzAwMzk3
ODczNDc2IDE6My4wIDM6MS4wIAorMC4wNTQzMTczMzA2NDQyIDE6Ni4wIDM6Mi4wIAorMC41NjM0
NjUxMjYyOTkgMToxMS4wIAorMC41ODUzNjU4NTM2NTkgMToyLjAgCiswLjU4NTM2NTg1MzY1OSAx
OjEwLjAgMjozLjAgMzo2LjAgCiswLjU4NTM2NTg1MzY1OSAxOjEuMCAyOjEuMCAKKzAuNTg1MzY1
ODUzNjU5IDE6Mi4wIAorMC41ODUzNjU4NTM2NTkgMToxLjAgMjoxLjAgCiswLjU4NTM2NTg1MzY1
OSAxOjMuMCAzOjEuMCAKKzAuNTg1MzY1ODUzNjU5IDE6MS4wIAorMC41ODUzNjU4NTM2NTkgMToy
LjAgCiswLjU4NTM2NTg1MzY1OSAxOjEuMCAyOjEuMCAKKzAuNTg0OTg5NzE5OTA5IDE6Ny4wIAor
MC41ODUzNjU4NTM2NTkgMTozLjAgCiswLjU4NTM2NTg1MzY1OSAxOjMuMCAKKzAuNTI1OTI1MTM2
OTgzIDE6My4wIDI6Mi4wIAorMC41ODUzNjU4NTM2NTkgMToxLjAgCiswLjU4NTM2NTg1MzY1OSAx
OjEuMCAKKzAuNTg1MzY1ODUzNjU5IDE6My4wIDM6MS4wIAorMC41ODUzNjU4NTM2NTkgMToxLjAg
CiswLjUyMDc0NTgyMjM3NCAxOjMuMCAKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9X
ZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdlci5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL1dlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VyLmNwcAko
cmV2aXNpb24gMjEyNjU2KQorKysgU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlJlc291cmNl
TG9hZFN0YXRpc3RpY3NNYW5hZ2VyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNjEsNiArNjEsMjEg
QEAgYm9vbCBXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdlcjo6aAogICAgIHJldHVybiBX
ZWJDb3JlOjpSZXNvdXJjZUxvYWRPYnNlcnZlcjo6c2hhcmVkT2JzZXJ2ZXIoKS5oYXNIYWRVc2Vy
SW50ZXJhY3Rpb24oVVJMKFVSTCgpLCBob3N0TmFtZSkpOwogfQogCit2b2lkIFdlYlJlc291cmNl
TG9hZFN0YXRpc3RpY3NNYW5hZ2VyOjpzZXRTdWJmcmFtZVVuZGVyVG9wRnJhbWVPcmlnaW4oY29u
c3QgU3RyaW5nJiBob3N0TmFtZSwgY29uc3QgU3RyaW5nJiB0b3BGcmFtZUhvc3ROYW1lKQorewor
ICAgIFdlYkNvcmU6OlJlc291cmNlTG9hZE9ic2VydmVyOjpzaGFyZWRPYnNlcnZlcigpLnNldFN1
YmZyYW1lVW5kZXJUb3BGcmFtZU9yaWdpbihVUkwoVVJMKCksIGhvc3ROYW1lKSwgVVJMKFVSTCgp
LCB0b3BGcmFtZUhvc3ROYW1lKSk7Cit9CisKK3ZvaWQgV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGlj
c01hbmFnZXI6OnNldFN1YnJlc291cmNlVW5kZXJUb3BGcmFtZU9yaWdpbihjb25zdCBTdHJpbmcm
IGhvc3ROYW1lLCBjb25zdCBTdHJpbmcmIHRvcEZyYW1lSG9zdE5hbWUpCit7CisgICAgV2ViQ29y
ZTo6UmVzb3VyY2VMb2FkT2JzZXJ2ZXI6OnNoYXJlZE9ic2VydmVyKCkuc2V0U3VicmVzb3VyY2VV
bmRlclRvcEZyYW1lT3JpZ2luKFVSTChVUkwoKSwgaG9zdE5hbWUpLCBVUkwoVVJMKCksIHRvcEZy
YW1lSG9zdE5hbWUpKTsKK30KKwordm9pZCBXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdl
cjo6c2V0U3VicmVzb3VyY2VVbmlxdWVSZWRpcmVjdFRvKGNvbnN0IFN0cmluZyYgaG9zdE5hbWUs
IGNvbnN0IFN0cmluZyYgaG9zdE5hbWVSZWRpcmVjdGVkVG8pCit7CisgICAgV2ViQ29yZTo6UmVz
b3VyY2VMb2FkT2JzZXJ2ZXI6OnNoYXJlZE9ic2VydmVyKCkuc2V0U3VicmVzb3VyY2VVbmlxdWVS
ZWRpcmVjdFRvKFVSTChVUkwoKSwgaG9zdE5hbWUpLCBVUkwoVVJMKCksIGhvc3ROYW1lUmVkaXJl
Y3RlZFRvKSk7Cit9CisKIHZvaWQgV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFnZXI6OnNl
dFRpbWVUb0xpdmVVc2VySW50ZXJhY3Rpb24oZG91YmxlIHNlY29uZHMpCiB7CiAgICAgV2ViQ29y
ZTo6UmVzb3VyY2VMb2FkT2JzZXJ2ZXI6OnNoYXJlZE9ic2VydmVyKCkuc2V0VGltZVRvTGl2ZVVz
ZXJJbnRlcmFjdGlvbihzZWNvbmRzKTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9X
ZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdlci5oCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9XZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdlci5oCShyZXZp
c2lvbiAyMTI2NTYpCisrKyBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUmVzb3VyY2VMb2Fk
U3RhdGlzdGljc01hbmFnZXIuaAkod29ya2luZyBjb3B5KQpAQCAtNDIsNiArNDIsOSBAQCBwdWJs
aWM6CiAgICAgc3RhdGljIGJvb2wgaXNQcmV2YWxlbnRSZXNvdXJjZShjb25zdCBTdHJpbmcmIGhv
c3ROYW1lKTsKICAgICBzdGF0aWMgdm9pZCBzZXRIYXNIYWRVc2VySW50ZXJhY3Rpb24oY29uc3Qg
U3RyaW5nJiBob3N0TmFtZSwgYm9vbCB2YWx1ZSk7CiAgICAgc3RhdGljIGJvb2wgaGFzSGFkVXNl
ckludGVyYWN0aW9uKGNvbnN0IFN0cmluZyYgaG9zdE5hbWUpOworICAgIHN0YXRpYyB2b2lkIHNl
dFN1YmZyYW1lVW5kZXJUb3BGcmFtZU9yaWdpbihjb25zdCBTdHJpbmcmIGhvc3ROYW1lLCBjb25z
dCBTdHJpbmcmIHRvcEZyYW1lSG9zdE5hbWUpOworICAgIHN0YXRpYyB2b2lkIHNldFN1YnJlc291
cmNlVW5kZXJUb3BGcmFtZU9yaWdpbihjb25zdCBTdHJpbmcmIGhvc3ROYW1lLCBjb25zdCBTdHJp
bmcmIHRvcEZyYW1lSG9zdE5hbWUpOworICAgIHN0YXRpYyB2b2lkIHNldFN1YnJlc291cmNlVW5p
cXVlUmVkaXJlY3RUbyhjb25zdCBTdHJpbmcmIGhvc3ROYW1lLCBjb25zdCBTdHJpbmcmIGhvc3RO
YW1lUmVkaXJlY3RlZFRvKTsKICAgICBzdGF0aWMgdm9pZCBzZXRUaW1lVG9MaXZlVXNlckludGVy
YWN0aW9uKGRvdWJsZSBzZWNvbmRzKTsKICAgICBzdGF0aWMgdm9pZCBzZXRSZWR1Y2VkVGltZXN0
YW1wUmVzb2x1dGlvbihkb3VibGUgc2Vjb25kcyk7CiAgICAgc3RhdGljIHZvaWQgZmlyZURhdGFN
b2RpZmljYXRpb25IYW5kbGVyKCk7CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2Vi
UmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlLmNwcAkocmV2aXNp
b24gMjEyNjU2KQorKysgU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlJlc291cmNlTG9hZFN0
YXRpc3RpY3NTdG9yZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ1LDcgKzQ1LDYgQEAgdXNpbmcg
bmFtZXNwYWNlIFdlYkNvcmU7CiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCi1zdGF0aWMgY29uc3Qg
YXV0byBmZWF0dXJlVmVjdG9yTGVuZ3RoVGhyZXNob2xkID0gMzsKIHN0YXRpYyBhdXRvIG1pbmlt
dW1UaW1lQmV0d2VlZW5EYXRhUmVjb3Jkc1JlbW92YWwgPSA2MDsKIHN0YXRpYyBPcHRpb25TZXQ8
V2ViS2l0OjpXZWJzaXRlRGF0YVR5cGU+IGRhdGFUeXBlc1RvUmVtb3ZlOwogc3RhdGljIGF1dG8g
bm90aWZ5UGFnZXMgPSBmYWxzZTsKQEAgLTU5LDcgKzU4LDcgQEAgUmVmPFdlYlJlc291cmNlTG9h
ZFN0YXRpc3RpY3NTdG9yZT4gV2ViUgogV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlOjpX
ZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmUoY29uc3QgU3RyaW5nJiByZXNvdXJjZUxvYWRT
dGF0aXN0aWNzRGlyZWN0b3J5KQogICAgIDogbV9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmUo
UmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlOjpjcmVhdGUoKSkKICAgICAsIG1fc3RhdGlzdGlj
c1F1ZXVlKFdvcmtRdWV1ZTo6Y3JlYXRlKCJXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmUg
UHJvY2VzcyBEYXRhIFF1ZXVlIikpCi0gICAgLCBtX3N0b3JhZ2VQYXRoKHJlc291cmNlTG9hZFN0
YXRpc3RpY3NEaXJlY3RvcnkpCisgICAgLCBtX3N0YXRpc3RpY3NTdG9yYWdlUGF0aChyZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzRGlyZWN0b3J5KQogewogfQogCkBAIC04Myw0MCArODIsMTEgQEAgdm9p
ZCBXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmU6OnNldAogICAgICAgICBtaW5pbXVtVGlt
ZUJldHdlZWVuRGF0YVJlY29yZHNSZW1vdmFsID0gc2Vjb25kczsKIH0KIAotYm9vbCBXZWJSZXNv
dXJjZUxvYWRTdGF0aXN0aWNzU3RvcmU6Omhhc1ByZXZhbGVudFJlc291cmNlQ2hhcmFjdGVyaXN0
aWNzKGNvbnN0IFJlc291cmNlTG9hZFN0YXRpc3RpY3MmIHJlc291cmNlU3RhdGlzdGljKQotewot
ICAgIGF1dG8gc3VicmVzb3VyY2VVbmRlclRvcEZyYW1lT3JpZ2luc0NvdW50ID0gcmVzb3VyY2VT
dGF0aXN0aWMuc3VicmVzb3VyY2VVbmRlclRvcEZyYW1lT3JpZ2lucy5zaXplKCk7Ci0gICAgYXV0
byBzdWJyZXNvdXJjZVVuaXF1ZVJlZGlyZWN0c1RvQ291bnQgPSByZXNvdXJjZVN0YXRpc3RpYy5z
dWJyZXNvdXJjZVVuaXF1ZVJlZGlyZWN0c1RvLnNpemUoKTsKLSAgICBhdXRvIHN1YmZyYW1lVW5k
ZXJUb3BGcmFtZU9yaWdpbnNDb3VudCA9IHJlc291cmNlU3RhdGlzdGljLnN1YmZyYW1lVW5kZXJU
b3BGcmFtZU9yaWdpbnMuc2l6ZSgpOwotICAgIAotICAgIGlmICghc3VicmVzb3VyY2VVbmRlclRv
cEZyYW1lT3JpZ2luc0NvdW50Ci0gICAgICAgICYmICFzdWJyZXNvdXJjZVVuaXF1ZVJlZGlyZWN0
c1RvQ291bnQKLSAgICAgICAgJiYgIXN1YmZyYW1lVW5kZXJUb3BGcmFtZU9yaWdpbnNDb3VudCkK
LSAgICAgICAgcmV0dXJuIGZhbHNlOwotCi0gICAgaWYgKHN1YnJlc291cmNlVW5kZXJUb3BGcmFt
ZU9yaWdpbnNDb3VudCA+IGZlYXR1cmVWZWN0b3JMZW5ndGhUaHJlc2hvbGQKLSAgICAgICAgfHwg
c3VicmVzb3VyY2VVbmlxdWVSZWRpcmVjdHNUb0NvdW50ID4gZmVhdHVyZVZlY3Rvckxlbmd0aFRo
cmVzaG9sZAotICAgICAgICB8fCBzdWJmcmFtZVVuZGVyVG9wRnJhbWVPcmlnaW5zQ291bnQgPiBm
ZWF0dXJlVmVjdG9yTGVuZ3RoVGhyZXNob2xkKQotICAgICAgICByZXR1cm4gdHJ1ZTsKLQotICAg
IC8vIFRoZSByZXNvdXJjZSBpcyBjb25zaWRlcmVkIHByZXZhbGVudCBpZiB0aGUgZmVhdHVyZSB2
ZWN0b3IKLSAgICAvLyBpcyBsb25nZXIgdGhhbiB0aGUgdGhyZXNob2xkLgotICAgIC8vIFZlY3Rv
ciBsZW5ndGggZm9yIG4gZGltZW5zaW9ucyBpcyBzcXJ0KGFeMiArICguLi4pICsgbl4yKS4KLSAg
ICBkb3VibGUgdmVjdG9yTGVuZ3RoID0gMDsKLSAgICB2ZWN0b3JMZW5ndGggKz0gc3VicmVzb3Vy
Y2VVbmRlclRvcEZyYW1lT3JpZ2luc0NvdW50ICogc3VicmVzb3VyY2VVbmRlclRvcEZyYW1lT3Jp
Z2luc0NvdW50OwotICAgIHZlY3Rvckxlbmd0aCArPSBzdWJyZXNvdXJjZVVuaXF1ZVJlZGlyZWN0
c1RvQ291bnQgKiBzdWJyZXNvdXJjZVVuaXF1ZVJlZGlyZWN0c1RvQ291bnQ7Ci0gICAgdmVjdG9y
TGVuZ3RoICs9IHN1YmZyYW1lVW5kZXJUb3BGcmFtZU9yaWdpbnNDb3VudCAqIHN1YmZyYW1lVW5k
ZXJUb3BGcmFtZU9yaWdpbnNDb3VudDsKLQotICAgIEFTU0VSVCh2ZWN0b3JMZW5ndGggPiAwKTsK
LQotICAgIHJldHVybiBzcXJ0KHZlY3Rvckxlbmd0aCkgPiBmZWF0dXJlVmVjdG9yTGVuZ3RoVGhy
ZXNob2xkOwotfQotICAgIAogdm9pZCBXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmU6OmNs
YXNzaWZ5UmVzb3VyY2UoUmVzb3VyY2VMb2FkU3RhdGlzdGljcyYgcmVzb3VyY2VTdGF0aXN0aWMp
CiB7Ci0gICAgaWYgKCFyZXNvdXJjZVN0YXRpc3RpYy5pc1ByZXZhbGVudFJlc291cmNlICYmIGhh
c1ByZXZhbGVudFJlc291cmNlQ2hhcmFjdGVyaXN0aWNzKHJlc291cmNlU3RhdGlzdGljKSkgewor
ICAgIGlmICghcmVzb3VyY2VTdGF0aXN0aWMuaXNQcmV2YWxlbnRSZXNvdXJjZQorICAgICAgICAm
JiBtX3Jlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyLmhhc1ByZXZhbGVudFJlc291cmNl
Q2hhcmFjdGVyaXN0aWNzKHJlc291cmNlU3RhdGlzdGljKSkKICAgICAgICAgcmVzb3VyY2VTdGF0
aXN0aWMuaXNQcmV2YWxlbnRSZXNvdXJjZSA9IHRydWU7Ci0gICAgfQogfQogCiB2b2lkIFdlYlJl
c291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZTo6cmVtb3ZlRGF0YVJlY29yZHMoKQpAQCAtMjQ4LDEx
ICsyMTgsMTEgQEAgdm9pZCBXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmU6OmFwcAogCiBT
dHJpbmcgV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlOjpwZXJzaXN0ZW50U3RvcmFnZVBh
dGgoY29uc3QgU3RyaW5nJiBsYWJlbCkgY29uc3QKIHsKLSAgICBpZiAobV9zdG9yYWdlUGF0aC5p
c0VtcHR5KCkpCisgICAgaWYgKG1fc3RhdGlzdGljc1N0b3JhZ2VQYXRoLmlzRW1wdHkoKSkKICAg
ICAgICAgcmV0dXJuIGVtcHR5U3RyaW5nKCk7CiAKICAgICAvLyBUT0RPIERlY2lkZSB3aGF0IHRv
IGNhbGwgdGhpcyBmaWxlCi0gICAgcmV0dXJuIHBhdGhCeUFwcGVuZGluZ0NvbXBvbmVudChtX3N0
b3JhZ2VQYXRoLCBsYWJlbCArICJfcmVzb3VyY2VMb2cucGxpc3QiKTsKKyAgICByZXR1cm4gcGF0
aEJ5QXBwZW5kaW5nQ29tcG9uZW50KG1fc3RhdGlzdGljc1N0b3JhZ2VQYXRoLCBsYWJlbCArICJf
cmVzb3VyY2VMb2cucGxpc3QiKTsKIH0KIAogdm9pZCBXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNz
U3RvcmU6OndyaXRlRW5jb2RlclRvRGlzayhLZXllZEVuY29kZXImIGVuY29kZXIsIGNvbnN0IFN0
cmluZyYgbGFiZWwpIGNvbnN0CkBAIC0yNjUsOCArMjM1LDggQEAgdm9pZCBXZWJSZXNvdXJjZUxv
YWRTdGF0aXN0aWNzU3RvcmU6OndyaQogICAgIGlmIChyZXNvdXJjZUxvZy5pc0VtcHR5KCkpCiAg
ICAgICAgIHJldHVybjsKIAotICAgIGlmICghbV9zdG9yYWdlUGF0aC5pc0VtcHR5KCkpCi0gICAg
ICAgIG1ha2VBbGxEaXJlY3RvcmllcyhtX3N0b3JhZ2VQYXRoKTsKKyAgICBpZiAoIW1fc3RhdGlz
dGljc1N0b3JhZ2VQYXRoLmlzRW1wdHkoKSkKKyAgICAgICAgbWFrZUFsbERpcmVjdG9yaWVzKG1f
c3RhdGlzdGljc1N0b3JhZ2VQYXRoKTsKIAogICAgIGF1dG8gaGFuZGxlID0gb3BlbkZpbGUocmVz
b3VyY2VMb2csIE9wZW5Gb3JXcml0ZSk7CiAgICAgaWYgKCFoYW5kbGUpCkluZGV4OiBTb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlLmgKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlJlc291cmNlTG9hZFN0YXRpc3Rp
Y3NTdG9yZS5oCShyZXZpc2lvbiAyMTI2NTYpCisrKyBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
V2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlLmgJKHdvcmtpbmcgY29weSkKQEAgLTI4LDYg
KzI4LDcgQEAKIAogI2luY2x1ZGUgIkFQSU9iamVjdC5oIgogI2luY2x1ZGUgIkNvbm5lY3Rpb24u
aCIKKyNpbmNsdWRlICJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllci5oIgogI2luY2x1
ZGUgIldlYnNpdGVEYXRhUmVjb3JkLmgiCiAjaW5jbHVkZSA8V2ViQ29yZS9SZXNvdXJjZUxvYWRT
dGF0aXN0aWNzU3RvcmUuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CkBAIC03Niw3ICs3Nyw2
IEBAIHByaXZhdGU6CiAKICAgICB2b2lkIHByb2Nlc3NTdGF0aXN0aWNzQW5kRGF0YVJlY29yZHMo
KTsKIAotICAgIGJvb2wgaGFzUHJldmFsZW50UmVzb3VyY2VDaGFyYWN0ZXJpc3RpY3MoY29uc3Qg
V2ViQ29yZTo6UmVzb3VyY2VMb2FkU3RhdGlzdGljcyYpOwogICAgIHZvaWQgY2xhc3NpZnlSZXNv
dXJjZShXZWJDb3JlOjpSZXNvdXJjZUxvYWRTdGF0aXN0aWNzJik7CiAgICAgdm9pZCByZW1vdmVE
YXRhUmVjb3JkcygpOwogCkBAIC04OSw4ICs4OSw5IEBAIHByaXZhdGU6CiAgICAgc3RkOjp1bmlx
dWVfcHRyPFdlYkNvcmU6OktleWVkRGVjb2Rlcj4gY3JlYXRlRGVjb2RlckZyb21EaXNrKGNvbnN0
IFN0cmluZyYgbGFiZWwpIGNvbnN0OwogCiAgICAgUmVmPFdlYkNvcmU6OlJlc291cmNlTG9hZFN0
YXRpc3RpY3NTdG9yZT4gbV9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmU7CisgICAgUmVzb3Vy
Y2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXIgbV9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3Np
ZmllcjsKICAgICBSZWY8V1RGOjpXb3JrUXVldWU+IG1fc3RhdGlzdGljc1F1ZXVlOwotICAgIFN0
cmluZyBtX3N0b3JhZ2VQYXRoOworICAgIFN0cmluZyBtX3N0YXRpc3RpY3NTdG9yYWdlUGF0aDsK
ICAgICBib29sIG1fcmVzb3VyY2VMb2FkU3RhdGlzdGljc0VuYWJsZWQgeyBmYWxzZSB9OwogCiAg
ICAgZG91YmxlIG1fbGFzdFRpbWVEYXRhUmVjb3Jkc1dlcmVSZW1vdmVkIHsgMCB9OwpJbmRleDog
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUmVzb3VyY2VMb2FkU3RhdGlzdGljc01h
bmFnZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9X
S1Jlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VyLmNwcAkocmV2aXNpb24gMjEyNjU2KQorKysg
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUmVzb3VyY2VMb2FkU3RhdGlzdGljc01h
bmFnZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01Niw2ICs1NiwyMSBAQCBib29sIFdLUmVzb3Vy
Y2VMb2FkU3RhdGlzdGljc01hbmFnZXJJc0hhCiAgICAgcmV0dXJuIFdlYlJlc291cmNlTG9hZFN0
YXRpc3RpY3NNYW5hZ2VyOjpoYXNIYWRVc2VySW50ZXJhY3Rpb24odG9XVEZTdHJpbmcoaG9zdE5h
bWUpKTsKIH0KIAordm9pZCBXS1Jlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VyU2V0U3ViZnJh
bWVVbmRlclRvcEZyYW1lT3JpZ2luKFdLU3RyaW5nUmVmIGhvc3ROYW1lLCBXS1N0cmluZ1JlZiB0
b3BGcmFtZUhvc3ROYW1lKQoreworICAgIFdlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2Vy
OjpzZXRTdWJmcmFtZVVuZGVyVG9wRnJhbWVPcmlnaW4odG9XVEZTdHJpbmcoaG9zdE5hbWUpLCB0
b1dURlN0cmluZyh0b3BGcmFtZUhvc3ROYW1lKSk7Cit9CisKK3ZvaWQgV0tSZXNvdXJjZUxvYWRT
dGF0aXN0aWNzTWFuYWdlclNldFN1YnJlc291cmNlVW5kZXJUb3BGcmFtZU9yaWdpbihXS1N0cmlu
Z1JlZiBob3N0TmFtZSwgV0tTdHJpbmdSZWYgdG9wRnJhbWVIb3N0TmFtZSkKK3sKKyAgICBXZWJS
ZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdlcjo6c2V0U3VicmVzb3VyY2VVbmRlclRvcEZyYW1l
T3JpZ2luKHRvV1RGU3RyaW5nKGhvc3ROYW1lKSwgdG9XVEZTdHJpbmcodG9wRnJhbWVIb3N0TmFt
ZSkpOworfQorCit2b2lkIFdLUmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFnZXJTZXRTdWJyZXNv
dXJjZVVuaXF1ZVJlZGlyZWN0VG8oV0tTdHJpbmdSZWYgaG9zdE5hbWUsIFdLU3RyaW5nUmVmIGhv
c3ROYW1lUmVkaXJlY3RlZFRvKQoreworICAgIFdlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5h
Z2VyOjpzZXRTdWJyZXNvdXJjZVVuaXF1ZVJlZGlyZWN0VG8odG9XVEZTdHJpbmcoaG9zdE5hbWUp
LCB0b1dURlN0cmluZyhob3N0TmFtZVJlZGlyZWN0ZWRUbykpOworfQorCiB2b2lkIFdLUmVzb3Vy
Y2VMb2FkU3RhdGlzdGljc01hbmFnZXJTZXRUaW1lVG9MaXZlVXNlckludGVyYWN0aW9uKGRvdWJs
ZSBzZWNvbmRzKQogewogICAgIFdlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VyOjpzZXRU
aW1lVG9MaXZlVXNlckludGVyYWN0aW9uKHNlY29uZHMpOwpJbmRleDogU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0FQSS9DL1dLUmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFnZXIuaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tSZXNvdXJjZUxvYWRTdGF0
aXN0aWNzTWFuYWdlci5oCShyZXZpc2lvbiAyMTI2NTYpCisrKyBTb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQVBJL0MvV0tSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdlci5oCSh3b3JraW5nIGNv
cHkpCkBAIC0zOCw2ICszOCw5IEBAIGV4dGVybiAiQyIgewogICAgIFdLX0VYUE9SVCBib29sIFdL
UmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFnZXJJc1ByZXZhbGVudFJlc291cmNlKFdLU3RyaW5n
UmVmIGhvc3ROYW1lKTsKICAgICBXS19FWFBPUlQgdm9pZCBXS1Jlc291cmNlTG9hZFN0YXRpc3Rp
Y3NNYW5hZ2VyU2V0SGFzSGFkVXNlckludGVyYWN0aW9uKFdLU3RyaW5nUmVmIGhvc3ROYW1lLCBi
b29sIHZhbHVlKTsKICAgICBXS19FWFBPUlQgYm9vbCBXS1Jlc291cmNlTG9hZFN0YXRpc3RpY3NN
YW5hZ2VySXNIYXNIYWRVc2VySW50ZXJhY3Rpb24oV0tTdHJpbmdSZWYgaG9zdE5hbWUpOworICAg
IFdLX0VYUE9SVCB2b2lkIFdLUmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFnZXJTZXRTdWJmcmFt
ZVVuZGVyVG9wRnJhbWVPcmlnaW4oV0tTdHJpbmdSZWYgaG9zdE5hbWUsIFdLU3RyaW5nUmVmIHRv
cEZyYW1lSG9zdE5hbWUpOworICAgIFdLX0VYUE9SVCB2b2lkIFdLUmVzb3VyY2VMb2FkU3RhdGlz
dGljc01hbmFnZXJTZXRTdWJyZXNvdXJjZVVuZGVyVG9wRnJhbWVPcmlnaW4oV0tTdHJpbmdSZWYg
aG9zdE5hbWUsIFdLU3RyaW5nUmVmIHRvcEZyYW1lSG9zdE5hbWUpOworICAgIFdLX0VYUE9SVCB2
b2lkIFdLUmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFnZXJTZXRTdWJyZXNvdXJjZVVuaXF1ZVJl
ZGlyZWN0VG8oV0tTdHJpbmdSZWYgaG9zdE5hbWUsIFdLU3RyaW5nUmVmIGhvc3ROYW1lUmVkaXJl
Y3RlZFRvKTsKICAgICBXS19FWFBPUlQgdm9pZCBXS1Jlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5h
Z2VyU2V0VGltZVRvTGl2ZVVzZXJJbnRlcmFjdGlvbihkb3VibGUgc2Vjb25kcyk7CiAgICAgV0tf
RVhQT1JUIHZvaWQgV0tSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdlclNldFJlZHVjZWRUaW1l
c3RhbXBSZXNvbHV0aW9uKGRvdWJsZSBzZWNvbmRzKTsKICAgICBXS19FWFBPUlQgdm9pZCBXS1Jl
c291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VyRmlyZURhdGFNb2RpZmljYXRpb25IYW5kbGVyKCk7
CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9XZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvV2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qCShyZXZpc2lvbiAyMTI2NTYpCisrKyBTb3VyY2UvV2ViS2l0Mi9XZWJLaXQyLnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2oJKHdvcmtpbmcgY29weSkKQEAgLTExNDgsMTAgKzExNDgsMTcg
QEAKIAkJNjUwMUJEMUExMkYxMjQzNDAwRTlGMjQ4IC8qIFdLQnVuZGxlSW5zcGVjdG9yLmNwcCBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDY1Qjg2RjE3MTJG
MTFEN0IwMEI3REQ4QSAvKiBXS0J1bmRsZUluc3BlY3Rvci5jcHAgKi87IH07CiAJCTY1OUM1NTFF
MTMwMDA2NDEwMDI1QzBDMiAvKiBJbmplY3RlZEJ1bmRsZVBhZ2VSZXNvdXJjZUxvYWRDbGllbnQu
Y3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNjU0NkE4
MjkxMzAwMDE2NDAwMENFQjFDIC8qIEluamVjdGVkQnVuZGxlUGFnZVJlc291cmNlTG9hZENsaWVu
dC5jcHAgKi87IH07CiAJCTY1Qjg2RjFFMTJGMTFERTMwMEI3REQ4QSAvKiBXS0J1bmRsZUluc3Bl
Y3Rvci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNjVC
ODZGMTgxMkYxMUQ3QjAwQjdERDhBIC8qIFdLQnVuZGxlSW5zcGVjdG9yLmggKi87IHNldHRpbmdz
ID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJNkIyRTA5QkExRTU3Qjg4MTAw
QzhBOEI5IC8qIENvcmVQcmVkaWN0aW9uU1BJLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA2QjJFMDlCOTFFNTdCODgxMDBDOEE4QjkgLyogQ29yZVByZWRp
Y3Rpb25TUEkuaCAqLzsgfTsKIAkJNkJFOTY5OUMxRTQzQjNGRjAwOEI3NDgzIC8qIFdLUmVzb3Vy
Y2VMb2FkU3RhdGlzdGljc01hbmFnZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDZCRTk2OTlCMUU0M0IzRkYwMDhCNzQ4MyAvKiBXS1Jlc291cmNlTG9h
ZFN0YXRpc3RpY3NNYW5hZ2VyLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0
ZSwgKTsgfTsgfTsKIAkJNkJFOTY5OUUxRTQzQjQxRDAwOEI3NDgzIC8qIFdLUmVzb3VyY2VMb2Fk
U3RhdGlzdGljc01hbmFnZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gNkJFOTY5OUQxRTQzQjQxRDAwOEI3NDgzIC8qIFdLUmVzb3VyY2VMb2FkU3Rh
dGlzdGljc01hbmFnZXIuY3BwICovOyB9OwogCQk2QkU5NjlBMDFFNDNCODZFMDA4Qjc0ODMgLyog
V2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFnZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDZCRTk2OTlGMUU0M0I4NkUwMDhCNzQ4MyAvKiBXZWJS
ZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdlci5oICovOyB9OwogCQk2QkU5NjlBMjFFNDNCOEE0
MDA4Qjc0ODMgLyogV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFnZXIuY3BwIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNkJFOTY5QTExRTQzQjhBNDAw
OEI3NDgzIC8qIFdlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VyLmNwcCAqLzsgfTsKKwkJ
NkJFOTY5QzExRTU0RDQ1MjAwOEI3NDgzIC8qIGNvcmVQcmVkaWN0aW9uX21vZGVsIGluIFJlc291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA2QkU5NjlDMDFFNTRENDUy
MDA4Qjc0ODMgLyogY29yZVByZWRpY3Rpb25fbW9kZWwgKi87IH07CisJCTZCRTk2OUM1MUU1NEQ0
QTQwMDhCNzQ4MyAvKiBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllci5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNkJFOTY5QzQxRTU0RDRBNDAw
OEI3NDgzIC8qIFJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyLmggKi87IH07CisJCTZC
RTk2OUM3MUU1NEQ0QjYwMDhCNzQ4MyAvKiBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmll
ckJhc2UuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
NkJFOTY5QzYxRTU0RDRCNjAwOEI3NDgzIC8qIFJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lm
aWVyQmFzZS5jcHAgKi87IH07CisJCTZCRTk2OUNBMUU1NEQ0Q0YwMDhCNzQ4MyAvKiBSZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllckNvY29hLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDZCRTk2OUM4MUU1NEQ0Q0YwMDhCNzQ4MyAvKiBSZXNv
dXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllckNvY29hLmNwcCAqLzsgfTsKKwkJNkJFOTY5Q0Ix
RTU0RDRDRjAwOEI3NDgzIC8qIFJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQ29jb2Eu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDZCRTk2OUM5
MUU1NEQ0Q0YwMDhCNzQ4MyAvKiBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllckNvY29h
LmggKi87IH07CisJCTZCRTk2OUNEMUU1NEUwNTQwMDhCNzQ4MyAvKiBSZXNvdXJjZUxvYWRTdGF0
aXN0aWNzQ2xhc3NpZmllckJhc2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDZCRTk2OUNDMUU1NEUwNTQwMDhCNzQ4MyAvKiBSZXNvdXJjZUxvYWRTdGF0
aXN0aWNzQ2xhc3NpZmllckJhc2UuaCAqLzsgfTsKIAkJNkVFODQ5QzgxMzY4RDkzOTAwMzhENDgx
IC8qIFdLSW5zcGVjdG9yUHJpdmF0ZU1hYy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gNkVFODQ5QzYxMzY4RDkyRDAwMzhENDgxIC8qIFdLSW5zcGVjdG9y
UHJpdmF0ZU1hYy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07
IH07CiAJCTcyOEU4NkYxMTc5NTE4OEMwMDg3ODc5RSAvKiBXZWJDb2xvclBpY2tlck1hYy5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNzI4RTg2RUYxNzk1
MTg4QzAwODc4NzlFIC8qIFdlYkNvbG9yUGlja2VyTWFjLmggKi87IH07CiAJCTcyOEU4NkYyMTc5
NTE4OEMwMDg3ODc5RSAvKiBXZWJDb2xvclBpY2tlck1hYy5tbSBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDcyOEU4NkYwMTc5NTE4OEMwMDg3ODc5RSAvKiBX
ZWJDb2xvclBpY2tlck1hYy5tbSAqLzsgfTsKQEAgLTMzMzgsMTAgKzMzNDUsMTcgQEAKIAkJNjU0
NkE4MkExMzAwMDE2NDAwMENFQjFDIC8qIEluamVjdGVkQnVuZGxlUGFnZVJlc291cmNlTG9hZENs
aWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBJbmplY3RlZEJ1bmRsZVBh
Z2VSZXNvdXJjZUxvYWRDbGllbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNjVC
ODZGMTcxMkYxMUQ3QjAwQjdERDhBIC8qIFdLQnVuZGxlSW5zcGVjdG9yLmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdLQnVuZGxlSW5zcGVjdG9yLmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNjVCODZGMTgxMkYxMUQ3QjAwQjdERDhBIC8qIFdLQnVu
ZGxlSW5zcGVjdG9yLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdLQnVuZGxl
SW5zcGVjdG9yLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTZCMkUwOUI5MUU1N0I4
ODEwMEM4QThCOSAvKiBDb3JlUHJlZGljdGlvblNQSS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBDb3JlUHJlZGljdGlvblNQSS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQk2QkU5Njk5QjFFNDNCM0ZGMDA4Qjc0ODMgLyogV0tSZXNvdXJjZUxvYWRTdGF0aXN0aWNz
TWFuYWdlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXS1Jlc291cmNlTG9h
ZFN0YXRpc3RpY3NNYW5hZ2VyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTZCRTk2
OTlEMUU0M0I0MUQwMDhCNzQ4MyAvKiBXS1Jlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VyLmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdLUmVzb3VyY2VMb2FkU3Rh
dGlzdGljc01hbmFnZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk2QkU5Njk5
RjFFNDNCODZFMDA4Qjc0ODMgLyogV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFnZXIuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGlj
c01hbmFnZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNkJFOTY5QTExRTQzQjhB
NDAwOEI3NDgzIC8qIFdlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VyLmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NN
YW5hZ2VyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNkJFOTY5QzAxRTU0RDQ1
MjAwOEI3NDgzIC8qIGNvcmVQcmVkaWN0aW9uX21vZGVsICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9
IGNvcmVQcmVkaWN0aW9uX21vZGVsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk2QkU5
NjlDNDFFNTRENEE0MDA4Qjc0ODMgLyogUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXIu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUmVzb3VyY2VMb2FkU3RhdGlzdGlj
c0NsYXNzaWZpZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNkJFOTY5QzYxRTU0
RDRCNjAwOEI3NDgzIC8qIFJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQmFzZS5jcHAg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBSZXNvdXJjZUxvYWRTdGF0aXN0
aWNzQ2xhc3NpZmllckJhc2UuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk2QkU5
NjlDODFFNTRENENGMDA4Qjc0ODMgLyogUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXJD
b2NvYS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBSZXNvdXJjZUxv
YWRTdGF0aXN0aWNzQ2xhc3NpZmllckNvY29hLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJNkJFOTY5QzkxRTU0RDRDRjAwOEI3NDgzIC8qIFJlc291cmNlTG9hZFN0YXRpc3RpY3ND
bGFzc2lmaWVyQ29jb2EuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUmVzb3Vy
Y2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXJDb2NvYS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OworCQk2QkU5NjlDQzFFNTRFMDU0MDA4Qjc0ODMgLyogUmVzb3VyY2VMb2FkU3RhdGlzdGlj
c0NsYXNzaWZpZXJCYXNlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJlc291
cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQmFzZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQk2RDhBOTFBNTExRjBFRkQxMDBERDAxRkUgLyogY29tLmFwcGxlLldlYlByb2Nlc3Mu
c2IuaW4gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSB0ZXh0OyBuYW1lID0gY29tLmFwcGxlLldlYlByb2Nlc3Muc2IuaW47
IHBhdGggPSBXZWJQcm9jZXNzL2NvbS5hcHBsZS5XZWJQcm9jZXNzLnNiLmluOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQk2RUU4NDlDNjEzNjhEOTJEMDAzOEQ0ODEgLyogV0tJbnNwZWN0
b3JQcml2YXRlTWFjLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IFdLSW5zcGVj
dG9yUHJpdmF0ZU1hYy5oOyBwYXRoID0gbWFjL1dLSW5zcGVjdG9yUHJpdmF0ZU1hYy5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3MjhFODZFRjE3OTUxODhDMDA4Nzg3OUUgLyogV2Vi
Q29sb3JQaWNrZXJNYWMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViQ29s
b3JQaWNrZXJNYWMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTQzNTQsNiArNDM2
OCw3IEBACiAJCTA4OUMxNjY1RkU4NDExNThDMDJBQUMwNyAvKiBSZXNvdXJjZXMgKi8gPSB7CiAJ
CQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKAorCQkJCTZCRTk2OUJGMUU1NEQ0NTIw
MDhCNzQ4MyAvKiBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzICovLAogCQkJCTM3RjhDOTRGMUFFMjJC
RDgwMDdEQUI5RSAvKiBtYWMgKi8sCiAJCQkJN0NCMTZGRTExNzI0QjlCNTAwN0EwQTk1IC8qIFBs
dWdJblNhbmRib3hQcm9maWxlcyAqLywKIAkJCQlBNzhDQ0RENTE5M0FDOUUzMDA1RUNDMjUgLyog
U2FuZGJveFByb2ZpbGVzICovLApAQCAtNjExNSw2ICs2MTMwLDM2IEBACiAJCQluYW1lID0gQ29j
b2E7CiAJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOwogCQl9OworCQk2QkU5NjlCRjFFNTRENDUy
MDA4Qjc0ODMgLyogUmVzb3VyY2VMb2FkU3RhdGlzdGljcyAqLyA9IHsKKwkJCWlzYSA9IFBCWEdy
b3VwOworCQkJY2hpbGRyZW4gPSAoCisJCQkJNkJFOTY5QzAxRTU0RDQ1MjAwOEI3NDgzIC8qIGNv
cmVQcmVkaWN0aW9uX21vZGVsICovLAorCQkJKTsKKwkJCW5hbWUgPSBSZXNvdXJjZUxvYWRTdGF0
aXN0aWNzOworCQkJcGF0aCA9IFJlc291cmNlcy9SZXNvdXJjZUxvYWRTdGF0aXN0aWNzOworCQkJ
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKKwkJfTsKKwkJNkJFOTY5QzIxRTU0RDQ2NzAwOEI3NDgz
IC8qIGNsYXNzaWZpZXIgKi8gPSB7CisJCQlpc2EgPSBQQlhHcm91cDsKKwkJCWNoaWxkcmVuID0g
KAorCQkJCTZCRTk2OUMzMUU1NEQ0NjcwMDhCNzQ4MyAvKiBjb2NvYSAqLywKKwkJCQk2QkU5NjlD
NjFFNTRENEI2MDA4Qjc0ODMgLyogUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXJCYXNl
LmNwcCAqLywKKwkJCQk2QkU5NjlDNDFFNTRENEE0MDA4Qjc0ODMgLyogUmVzb3VyY2VMb2FkU3Rh
dGlzdGljc0NsYXNzaWZpZXIuaCAqLywKKwkJCQk2QkU5NjlDQzFFNTRFMDU0MDA4Qjc0ODMgLyog
UmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXJCYXNlLmggKi8sCisJCQkpOworCQkJcGF0
aCA9IGNsYXNzaWZpZXI7CisJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOworCQl9OworCQk2QkU5
NjlDMzFFNTRENDY3MDA4Qjc0ODMgLyogY29jb2EgKi8gPSB7CisJCQlpc2EgPSBQQlhHcm91cDsK
KwkJCWNoaWxkcmVuID0gKAorCQkJCTZCRTk2OUM4MUU1NEQ0Q0YwMDhCNzQ4MyAvKiBSZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllckNvY29hLmNwcCAqLywKKwkJCQk2QkU5NjlDOTFFNTRE
NENGMDA4Qjc0ODMgLyogUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXJDb2NvYS5oICov
LAorCQkJCTZCMkUwOUI5MUU1N0I4ODEwMEM4QThCOSAvKiBDb3JlUHJlZGljdGlvblNQSS5oICov
LAorCQkJKTsKKwkJCXBhdGggPSBjb2NvYTsKKwkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CisJ
CX07CiAJCTZFRTg0OUM0MTM2OEQ5MDQwMDM4RDQ4MSAvKiBtYWMgKi8gPSB7CiAJCQlpc2EgPSBQ
QlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKApAQCAtNzAxNSw2ICs3MDYwLDcgQEAKIAkJQkMyRTZF
NzQxMTQxOTZGMDAwQTYzQjFFIC8qIFBsYXRmb3JtICovID0gewogCQkJaXNhID0gUEJYR3JvdXA7
CiAJCQljaGlsZHJlbiA9ICgKKwkJCQk2QkU5NjlDMjFFNTRENDY3MDA4Qjc0ODMgLyogY2xhc3Np
ZmllciAqLywKIAkJCQkzNzA5NTA0MTE4QTg4QkE0MDA4N0FFNUQgLyogY2YgKi8sCiAJCQkJMUFB
MkU1MUExMkU0QzA1NjAwQkM0OTY2IC8qIGNnICovLAogCQkJCTQ0NTBBRUJFMURDM0ZBQUMwMDk5
NDNGMiAvKiBjb2NvYSAqLywKQEAgLTc4OTcsNiArNzk0Myw3IEBACiAJCQkJNDFEQzQ1OTYxRTNE
NkUyMjAwQjExRjUxIC8qIE5ldHdvcmtSVENQcm92aWRlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
N0MxQkEzM0UxQTRBMEU2MDAwNDNFMjQ5IC8qIEFQSURpY3Rpb25hcnkuaCBpbiBIZWFkZXJzICov
LAogCQkJCTFGN0QzNkMxMThEQTUxM0YwMEQ5RDY1OSAvKiBBUElEb3dubG9hZENsaWVudC5oIGlu
IEhlYWRlcnMgKi8sCisJCQkJNkJFOTY5Q0IxRTU0RDRDRjAwOEI3NDgzIC8qIFJlc291cmNlTG9h
ZFN0YXRpc3RpY3NDbGFzc2lmaWVyQ29jb2EuaCBpbiBIZWFkZXJzICovLAogCQkJCTUxNkE0QTVE
MTIwQTJDQ0QwMEMwNUI3RiAvKiBBUElFcnJvci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMzE3RkU3
QzUxQzQ4N0E2QzAwQTBDQTg5IC8qIEFQSUV4cGVyaW1lbnRhbEZlYXR1cmUuaCBpbiBIZWFkZXJz
ICovLAogCQkJCTAwQjk2NjE2MThFMjRDQkEwMENFMUY4OCAvKiBBUElGaW5kQ2xpZW50LmggaW4g
SGVhZGVycyAqLywKQEAgLTgzMTcsNiArODM2NCw3IEBACiAJCQkJMzMwOTM0NEExMzE1QjkyMjAw
OTdBN0JDIC8qIFdlYkNvb2tpZU1hbmFnZXJQcm94eU1lc3NhZ2VzLmggaW4gSGVhZGVycyAqLywK
IAkJCQlCQzFERDdCMjExNERDMzk2MDA1QURBRjMgLyogV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmgg
aW4gSGVhZGVycyAqLywKIAkJCQk1MTJGNTg5QjEyQTg4Mzg4MDA2Mjk1MzAgLyogV2ViQ3JlZGVu
dGlhbC5oIGluIEhlYWRlcnMgKi8sCisJCQkJNkJFOTY5QzUxRTU0RDRBNDAwOEI3NDgzIC8qIFJl
c291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyLmggaW4gSGVhZGVycyAqLywKIAkJCQkxQUE4
M0Y2RDFBNUI2M0ZGMDAwMjZFQzYgLyogV2ViRGF0YWJhc2VQcm92aWRlci5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJQ0QxOUEyNkUxQTEzRTgzNDAwOEQ2NTBFIC8qIFdlYkRpYWdub3N0aWNMb2dnaW5n
Q2xpZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQkxQTVCMUM1NTE4OTg3RURGMDA0RkNGOUIgLyog
V2ViRG9jdW1lbnRMb2FkZXIuaCBpbiBIZWFkZXJzICovLApAQCAtODQwMiw2ICs4NDUwLDcgQEAK
IAkJCQk1MTIxMjdDNDE5MDgyMzlBMDBEQUYzNUMgLyogV2ViUGFzdGVib2FyZE92ZXJyaWRlcy5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJN0M0Njk0RDExQTUxRTM2ODAwQUQ1ODQ1IC8qIFdlYlBhc3Rl
Ym9hcmRQcm94eS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJN0M0Njk0Q0ExQTRCNEVBMTAwQUQ1ODQ1
IC8qIFdlYlBhc3RlYm9hcmRQcm94eU1lc3NhZ2VzLmggaW4gSGVhZGVycyAqLywKKwkJCQk2QjJF
MDlCQTFFNTdCODgxMDBDOEE4QjkgLyogQ29yZVByZWRpY3Rpb25TUEkuaCBpbiBIZWFkZXJzICov
LAogCQkJCTFBQjFGNzk3MUQxQjM2MTMwMDdDOUJEMSAvKiBXZWJQYXltZW50Q29vcmRpbmF0b3JN
ZXNzYWdlcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUFCMUY3OEMxRDFCMzM1NTAwN0M5QkQxIC8q
IFdlYlBheW1lbnRDb29yZGluYXRvclByb3h5LmggaW4gSGVhZGVycyAqLywKIAkJCQkxQUIxRjc3
RTFEMUIzMEE5MDA3QzlCRDEgLyogV2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHlDb2NvYS5oIGlu
IEhlYWRlcnMgKi8sCkBAIC04NTIwLDYgKzg1NjksNyBAQAogCQkJCUJDN0I2MzNEMTJBNDVEMTIw
MEQxNzRBNCAvKiBXS0J1bmRsZVBhZ2VHcm91cC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUFCNDc0
RDgxODRENDNGRDAwNTFCNjIyIC8qIFdLQnVuZGxlUGFnZUxvYWRlckNsaWVudC5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJRUQ4MkE3RjIxMjhDNkZBRjAwNDQ3N0IzIC8qIFdLQnVuZGxlUGFnZU92ZXJs
YXkuaCBpbiBIZWFkZXJzICovLAorCQkJCTZCRTk2OUNEMUU1NEUwNTQwMDhCNzQ4MyAvKiBSZXNv
dXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllckJhc2UuaCBpbiBIZWFkZXJzICovLAogCQkJCTFB
QjQ3NEVBMTg0RDQ1MTMwMDUxQjYyMiAvKiBXS0J1bmRsZVBhZ2VQb2xpY3lDbGllbnQuaCBpbiBI
ZWFkZXJzICovLAogCQkJCUJDMUI0MTk4MTFENDFENTcwMDExRThERCAvKiBXS0J1bmRsZVBhZ2VQ
cml2YXRlLmggaW4gSGVhZGVycyAqLywKIAkJCQkxQUI0NzREQTE4NEQ0NDI1MDA1MUI2MjIgLyog
V0tCdW5kbGVQYWdlUmVzb3VyY2VMb2FkQ2xpZW50LmggaW4gSGVhZGVycyAqLywKQEAgLTkwNTMs
NiArOTEwMyw3IEBACiAJCQkJN0E1RTM5NEExRDVCRDhCRTAwQjRCN0NFIC8qIGNvbS5tYWNyb21l
ZGlhLkZsYXNoIFBsYXllciBFU1IucGx1Z2luLnNiIGluIFJlc291cmNlcyAqLywKIAkJCQk4REMy
RUY1MzA0ODZBNjk0MDA5OEIyMTYgLyogSW5mb1BsaXN0LnN0cmluZ3MgaW4gUmVzb3VyY2VzICov
LAogCQkJCTkzQTJBMzQ2MUQyNDYxMjUwMDJCNTlEMyAvKiBtZWRpYUljb24ucGRmIGluIFJlc291
cmNlcyAqLywKKwkJCQk2QkU5NjlDMTFFNTRENDUyMDA4Qjc0ODMgLyogY29yZVByZWRpY3Rpb25f
bW9kZWwgaW4gUmVzb3VyY2VzICovLAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9z
dHByb2Nlc3NpbmcgPSAwOwogCQl9OwpAQCAtOTY0MSw2ICs5NjkyLDcgQEAKIAkJCQk1MTc5NTU2
NzE2Mjg3NkNCMDBGQTQzQjYgLyogTmV0d29ya1Byb2Nlc3NNYWMubW0gaW4gU291cmNlcyAqLywK
IAkJCQk1MTYzMTk5NDE2Mjg5QTYwMDBFMjJGMDAgLyogTmV0d29ya1Byb2Nlc3NNZXNzYWdlUmVj
ZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJRTE0QTk1NDkxNkUwMTZBNDAwNjhERTgyIC8q
IE5ldHdvcmtQcm9jZXNzUGxhdGZvcm1TdHJhdGVnaWVzLmNwcCBpbiBTb3VyY2VzICovLAorCQkJ
CTZCRTk2OUNBMUU1NEQ0Q0YwMDhCNzQ4MyAvKiBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3Np
ZmllckNvY29hLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTUxNzk1NTZEMTYyODc3QjEwMEZBNDNC
NiAvKiBOZXR3b3JrUHJvY2Vzc1Byb3h5LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTUxNjMxOTky
MTYyODk4MEEwMEUyMkYwMCAvKiBOZXR3b3JrUHJvY2Vzc1Byb3h5TWFjLm1tIGluIFNvdXJjZXMg
Ki8sCiAJCQkJNTEzQTE2M0MxNjMwODhGNjAwNUQ3RDIyIC8qIE5ldHdvcmtQcm9jZXNzUHJveHlN
ZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8sCkBAIC05OTg1LDYgKzEwMDM3LDcgQEAK
IAkJCQlEM0I5NDg0NjExRkY0QjY1MDAwMzJCMzkgLyogV2ViUG9wdXBNZW51LmNwcCBpbiBTb3Vy
Y2VzICovLAogCQkJCUJDQzQzQUM3MTI3Qjk5REUwMDMxN0YxNiAvKiBXZWJQb3B1cE1lbnVNYWMu
bW0gaW4gU291cmNlcyAqLywKIAkJCQlCQzU3NTA5ODEyNjhGM0M2MDA2RjBGMTIgLyogV2ViUG9w
dXBNZW51UHJveHlNYWMubW0gaW4gU291cmNlcyAqLywKKwkJCQk2QkU5NjlDNzFFNTRENEI2MDA4
Qjc0ODMgLyogUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXJCYXNlLmNwcCBpbiBTb3Vy
Y2VzICovLAogCQkJCUJDRDU5ODAwMTEyQjU3QkUwMEVDOEMyMyAvKiBXZWJQcmVmZXJlbmNlcy5j
cHAgaW4gU291cmNlcyAqLywKIAkJCQk3Qzg1RkQ3RjE5MzQxNjY1MDAwMTc3QzQgLyogV2ViUHJl
ZmVyZW5jZXNLZXlzLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUJDODRFQjE4MTJBNzEwMEMwMDgz
RjJEQSAvKiBXZWJQcmVmZXJlbmNlc01hYy5tbSBpbiBTb3VyY2VzICovLApJbmRleDogVG9vbHMv
Q2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL0NoYW5nZUxvZwkocmV2aXNpb24gMjEyNzE4
KQorKysgVG9vbHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMzAgQEAKKzIw
MTctMDItMjEgIEpvaG4gV2lsYW5kZXIgIDx3aWxhbmRlckBhcHBsZS5jb20+CisKKyAgICAgICAg
UmVzb3VyY2UgTG9hZCBTdGF0aXN0aWNzOiBBZGQgYWx0ZXJuYXRlIGNsYXNzaWZpY2F0aW9uIG1l
dGhvZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY4
MzQ3CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8zMDM1Mjc5Mz4KKworICAgICAgICBSZXZpZXdl
ZCBieSBBbGV4IENocmlzdGVuc2VuLgorCisgICAgICAgIEFkZGVkIHRocmVlIHRlc3RSdW5uZXIg
ZnVuY3Rpb25zIHRvIGZhY2lsaXRhdGUgbGF5b3V0IHRlc3RzOgorICAgICAgICAtIHNldFN0YXRp
c3RpY3NTdWJmcmFtZVVuZGVyVG9wRnJhbWVPcmlnaW4oKQorICAgICAgICAtIHNldFN0YXRpc3Rp
Y3NTdWJyZXNvdXJjZVVuZGVyVG9wRnJhbWVPcmlnaW4oKQorICAgICAgICAtIHNldFN0YXRpc3Rp
Y3NTdWJyZXNvdXJjZVVuaXF1ZVJlZGlyZWN0VG8oKQorCisgICAgICAgICogV2ViS2l0VGVzdFJ1
bm5lci9JbmplY3RlZEJ1bmRsZS9CaW5kaW5ncy9UZXN0UnVubmVyLmlkbDoKKyAgICAgICAgKiBX
ZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL1Rlc3RSdW5uZXIuY3BwOgorICAgICAgICAo
V1RSOjpUZXN0UnVubmVyOjpzZXRTdGF0aXN0aWNzU3ViZnJhbWVVbmRlclRvcEZyYW1lT3JpZ2lu
KToKKyAgICAgICAgKFdUUjo6VGVzdFJ1bm5lcjo6c2V0U3RhdGlzdGljc1N1YnJlc291cmNlVW5k
ZXJUb3BGcmFtZU9yaWdpbik6CisgICAgICAgIChXVFI6OlRlc3RSdW5uZXI6OnNldFN0YXRpc3Rp
Y3NTdWJyZXNvdXJjZVVuaXF1ZVJlZGlyZWN0VG8pOgorICAgICAgICAqIFdlYktpdFRlc3RSdW5u
ZXIvSW5qZWN0ZWRCdW5kbGUvVGVzdFJ1bm5lci5oOgorICAgICAgICAqIFdlYktpdFRlc3RSdW5u
ZXIvVGVzdENvbnRyb2xsZXIuY3BwOgorICAgICAgICAoV1RSOjpUZXN0Q29udHJvbGxlcjo6c2V0
U3RhdGlzdGljc1N1YmZyYW1lVW5kZXJUb3BGcmFtZU9yaWdpbik6CisgICAgICAgIChXVFI6OlRl
c3RDb250cm9sbGVyOjpzZXRTdGF0aXN0aWNzU3VicmVzb3VyY2VVbmRlclRvcEZyYW1lT3JpZ2lu
KToKKyAgICAgICAgKFdUUjo6VGVzdENvbnRyb2xsZXI6OnNldFN0YXRpc3RpY3NTdWJyZXNvdXJj
ZVVuaXF1ZVJlZGlyZWN0VG8pOgorICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRy
b2xsZXIuaDoKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL1Rlc3RJbnZvY2F0aW9uLmNwcDoK
KyAgICAgICAgKFdUUjo6VGVzdEludm9jYXRpb246OmRpZFJlY2VpdmVTeW5jaHJvbm91c01lc3Nh
Z2VGcm9tSW5qZWN0ZWRCdW5kbGUpOgorCiAyMDE3LTAyLTIxICBBbGV4IENocmlzdGVuc2VuICA8
YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBv
dXQgcjIxMjY5OS4KSW5kZXg6IFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIu
Y3BwCShyZXZpc2lvbiAyMTI2NTYpCisrKyBUb29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250
cm9sbGVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjIyOSw2ICsyMjI5LDIxIEBAIGJvb2wgVGVz
dENvbnRyb2xsZXI6OmlzU3RhdGlzdGljc0hhc0hhZFUKICAgICByZXR1cm4gV0tSZXNvdXJjZUxv
YWRTdGF0aXN0aWNzTWFuYWdlcklzSGFzSGFkVXNlckludGVyYWN0aW9uKGhvc3ROYW1lKTsKIH0K
IAordm9pZCBUZXN0Q29udHJvbGxlcjo6c2V0U3RhdGlzdGljc1N1YmZyYW1lVW5kZXJUb3BGcmFt
ZU9yaWdpbihXS1N0cmluZ1JlZiBob3N0TmFtZSwgV0tTdHJpbmdSZWYgdG9wRnJhbWVIb3N0TmFt
ZSkKK3sKKyAgICBXS1Jlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VyU2V0U3ViZnJhbWVVbmRl
clRvcEZyYW1lT3JpZ2luKGhvc3ROYW1lLCB0b3BGcmFtZUhvc3ROYW1lKTsKK30KKwordm9pZCBU
ZXN0Q29udHJvbGxlcjo6c2V0U3RhdGlzdGljc1N1YnJlc291cmNlVW5kZXJUb3BGcmFtZU9yaWdp
bihXS1N0cmluZ1JlZiBob3N0TmFtZSwgV0tTdHJpbmdSZWYgdG9wRnJhbWVIb3N0TmFtZSkKK3sK
KyAgICBXS1Jlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VyU2V0U3VicmVzb3VyY2VVbmRlclRv
cEZyYW1lT3JpZ2luKGhvc3ROYW1lLCB0b3BGcmFtZUhvc3ROYW1lKTsKK30KKyAgICAKK3ZvaWQg
VGVzdENvbnRyb2xsZXI6OnNldFN0YXRpc3RpY3NTdWJyZXNvdXJjZVVuaXF1ZVJlZGlyZWN0VG8o
V0tTdHJpbmdSZWYgaG9zdE5hbWUsIFdLU3RyaW5nUmVmIGhvc3ROYW1lUmVkaXJlY3RlZFRvKQor
eworICAgIFdLUmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFnZXJTZXRTdWJyZXNvdXJjZVVuaXF1
ZVJlZGlyZWN0VG8oaG9zdE5hbWUsIGhvc3ROYW1lUmVkaXJlY3RlZFRvKTsKK30KKwogdm9pZCBU
ZXN0Q29udHJvbGxlcjo6c2V0U3RhdGlzdGljc1RpbWVUb0xpdmVVc2VySW50ZXJhY3Rpb24oZG91
YmxlIHNlY29uZHMpCiB7CiAgICAgV0tSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdlclNldFRp
bWVUb0xpdmVVc2VySW50ZXJhY3Rpb24oc2Vjb25kcyk7CkluZGV4OiBUb29scy9XZWJLaXRUZXN0
UnVubmVyL1Rlc3RDb250cm9sbGVyLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvV2ViS2l0VGVzdFJ1
bm5lci9UZXN0Q29udHJvbGxlci5oCShyZXZpc2lvbiAyMTI2NTYpCisrKyBUb29scy9XZWJLaXRU
ZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmgJKHdvcmtpbmcgY29weSkKQEAgLTE1Miw2ICsxNTIs
OSBAQCBwdWJsaWM6CiAgICAgYm9vbCBpc1N0YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJjZShXS1N0
cmluZ1JlZiBob3N0TmFtZSk7CiAgICAgdm9pZCBzZXRTdGF0aXN0aWNzSGFzSGFkVXNlckludGVy
YWN0aW9uKFdLU3RyaW5nUmVmIGhvc3ROYW1lLCBib29sIHZhbHVlKTsKICAgICBib29sIGlzU3Rh
dGlzdGljc0hhc0hhZFVzZXJJbnRlcmFjdGlvbihXS1N0cmluZ1JlZiBob3N0TmFtZSk7CisgICAg
dm9pZCBzZXRTdGF0aXN0aWNzU3ViZnJhbWVVbmRlclRvcEZyYW1lT3JpZ2luKFdLU3RyaW5nUmVm
IGhvc3ROYW1lLCBXS1N0cmluZ1JlZiB0b3BGcmFtZUhvc3ROYW1lKTsKKyAgICB2b2lkIHNldFN0
YXRpc3RpY3NTdWJyZXNvdXJjZVVuZGVyVG9wRnJhbWVPcmlnaW4oV0tTdHJpbmdSZWYgaG9zdE5h
bWUsIFdLU3RyaW5nUmVmIHRvcEZyYW1lSG9zdE5hbWUpOworICAgIHZvaWQgc2V0U3RhdGlzdGlj
c1N1YnJlc291cmNlVW5pcXVlUmVkaXJlY3RUbyhXS1N0cmluZ1JlZiBob3N0TmFtZSwgV0tTdHJp
bmdSZWYgaG9zdE5hbWVSZWRpcmVjdGVkVG8pOwogICAgIHZvaWQgc2V0U3RhdGlzdGljc1RpbWVU
b0xpdmVVc2VySW50ZXJhY3Rpb24oZG91YmxlIHNlY29uZHMpOwogICAgIHZvaWQgc3RhdGlzdGlj
c0ZpcmVEYXRhTW9kaWZpY2F0aW9uSGFuZGxlcigpOwogICAgIHZvaWQgc2V0U3RhdGlzdGljc05v
dGlmeVBhZ2VzV2hlbkRhdGFSZWNvcmRzV2VyZVNjYW5uZWQoYm9vbCk7CkluZGV4OiBUb29scy9X
ZWJLaXRUZXN0UnVubmVyL1Rlc3RJbnZvY2F0aW9uLmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9X
ZWJLaXRUZXN0UnVubmVyL1Rlc3RJbnZvY2F0aW9uLmNwcAkocmV2aXNpb24gMjEyNjU2KQorKysg
VG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0SW52b2NhdGlvbi5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTkzMiw2ICs5MzIsNDggQEAgV0tSZXRhaW5QdHI8V0tUeXBlUmVmPiBUZXN0SW52b2NhdGlv
bjo6ZAogICAgICAgICByZXR1cm4gcmVzdWx0OwogICAgIH0KICAgICAKKyAgICBpZiAoV0tTdHJp
bmdJc0VxdWFsVG9VVEY4Q1N0cmluZyhtZXNzYWdlTmFtZSwgIlNldFN0YXRpc3RpY3NTdWJmcmFt
ZVVuZGVyVG9wRnJhbWVPcmlnaW4iKSkgeworICAgICAgICBBU1NFUlQoV0tHZXRUeXBlSUQobWVz
c2FnZUJvZHkpID09IFdLRGljdGlvbmFyeUdldFR5cGVJRCgpKTsKKyAgICAgICAgCisgICAgICAg
IFdLRGljdGlvbmFyeVJlZiBtZXNzYWdlQm9keURpY3Rpb25hcnkgPSBzdGF0aWNfY2FzdDxXS0Rp
Y3Rpb25hcnlSZWY+KG1lc3NhZ2VCb2R5KTsKKyAgICAgICAgV0tSZXRhaW5QdHI8V0tTdHJpbmdS
ZWY+IGhvc3ROYW1lS2V5KEFkb3B0V0ssIFdLU3RyaW5nQ3JlYXRlV2l0aFVURjhDU3RyaW5nKCJI
b3N0TmFtZSIpKTsKKyAgICAgICAgV0tSZXRhaW5QdHI8V0tTdHJpbmdSZWY+IHRvcEZyYW1lSG9z
dE5hbWVLZXkoQWRvcHRXSywgV0tTdHJpbmdDcmVhdGVXaXRoVVRGOENTdHJpbmcoIlRvcEZyYW1l
SG9zdE5hbWUiKSk7CisgICAgICAgIAorICAgICAgICBXS1N0cmluZ1JlZiBob3N0TmFtZSA9IHN0
YXRpY19jYXN0PFdLU3RyaW5nUmVmPihXS0RpY3Rpb25hcnlHZXRJdGVtRm9yS2V5KG1lc3NhZ2VC
b2R5RGljdGlvbmFyeSwgaG9zdE5hbWVLZXkuZ2V0KCkpKTsKKyAgICAgICAgV0tTdHJpbmdSZWYg
dG9wRnJhbWVIb3N0TmFtZSA9IHN0YXRpY19jYXN0PFdLU3RyaW5nUmVmPihXS0RpY3Rpb25hcnlH
ZXRJdGVtRm9yS2V5KG1lc3NhZ2VCb2R5RGljdGlvbmFyeSwgdG9wRnJhbWVIb3N0TmFtZUtleS5n
ZXQoKSkpOworCisgICAgICAgIFRlc3RDb250cm9sbGVyOjpzaW5nbGV0b24oKS5zZXRTdGF0aXN0
aWNzU3ViZnJhbWVVbmRlclRvcEZyYW1lT3JpZ2luKGhvc3ROYW1lLCB0b3BGcmFtZUhvc3ROYW1l
KTsKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7CisgICAgfQorICAgIAorICAgIGlmIChXS1N0cmlu
Z0lzRXF1YWxUb1VURjhDU3RyaW5nKG1lc3NhZ2VOYW1lLCAiU2V0U3RhdGlzdGljc1N1YnJlc291
cmNlVW5kZXJUb3BGcmFtZU9yaWdpbiIpKSB7CisgICAgICAgIEFTU0VSVChXS0dldFR5cGVJRCht
ZXNzYWdlQm9keSkgPT0gV0tEaWN0aW9uYXJ5R2V0VHlwZUlEKCkpOworICAgICAgICAKKyAgICAg
ICAgV0tEaWN0aW9uYXJ5UmVmIG1lc3NhZ2VCb2R5RGljdGlvbmFyeSA9IHN0YXRpY19jYXN0PFdL
RGljdGlvbmFyeVJlZj4obWVzc2FnZUJvZHkpOworICAgICAgICBXS1JldGFpblB0cjxXS1N0cmlu
Z1JlZj4gaG9zdE5hbWVLZXkoQWRvcHRXSywgV0tTdHJpbmdDcmVhdGVXaXRoVVRGOENTdHJpbmco
Ikhvc3ROYW1lIikpOworICAgICAgICBXS1JldGFpblB0cjxXS1N0cmluZ1JlZj4gdG9wRnJhbWVI
b3N0TmFtZUtleShBZG9wdFdLLCBXS1N0cmluZ0NyZWF0ZVdpdGhVVEY4Q1N0cmluZygiVG9wRnJh
bWVIb3N0TmFtZSIpKTsKKyAgICAgICAgCisgICAgICAgIFdLU3RyaW5nUmVmIGhvc3ROYW1lID0g
c3RhdGljX2Nhc3Q8V0tTdHJpbmdSZWY+KFdLRGljdGlvbmFyeUdldEl0ZW1Gb3JLZXkobWVzc2Fn
ZUJvZHlEaWN0aW9uYXJ5LCBob3N0TmFtZUtleS5nZXQoKSkpOworICAgICAgICBXS1N0cmluZ1Jl
ZiB0b3BGcmFtZUhvc3ROYW1lID0gc3RhdGljX2Nhc3Q8V0tTdHJpbmdSZWY+KFdLRGljdGlvbmFy
eUdldEl0ZW1Gb3JLZXkobWVzc2FnZUJvZHlEaWN0aW9uYXJ5LCB0b3BGcmFtZUhvc3ROYW1lS2V5
LmdldCgpKSk7CisgICAgICAgIAorICAgICAgICBUZXN0Q29udHJvbGxlcjo6c2luZ2xldG9uKCku
c2V0U3RhdGlzdGljc1N1YnJlc291cmNlVW5kZXJUb3BGcmFtZU9yaWdpbihob3N0TmFtZSwgdG9w
RnJhbWVIb3N0TmFtZSk7CisgICAgICAgIHJldHVybiBudWxscHRyOworICAgIH0KKyAgICAKKyAg
ICBpZiAoV0tTdHJpbmdJc0VxdWFsVG9VVEY4Q1N0cmluZyhtZXNzYWdlTmFtZSwgIlNldFN0YXRp
c3RpY3NTdWJyZXNvdXJjZVVuaXF1ZVJlZGlyZWN0VG8iKSkgeworICAgICAgICBBU1NFUlQoV0tH
ZXRUeXBlSUQobWVzc2FnZUJvZHkpID09IFdLRGljdGlvbmFyeUdldFR5cGVJRCgpKTsKKyAgICAg
ICAgCisgICAgICAgIFdLRGljdGlvbmFyeVJlZiBtZXNzYWdlQm9keURpY3Rpb25hcnkgPSBzdGF0
aWNfY2FzdDxXS0RpY3Rpb25hcnlSZWY+KG1lc3NhZ2VCb2R5KTsKKyAgICAgICAgV0tSZXRhaW5Q
dHI8V0tTdHJpbmdSZWY+IGhvc3ROYW1lS2V5KEFkb3B0V0ssIFdLU3RyaW5nQ3JlYXRlV2l0aFVU
RjhDU3RyaW5nKCJIb3N0TmFtZSIpKTsKKyAgICAgICAgV0tSZXRhaW5QdHI8V0tTdHJpbmdSZWY+
IGhvc3ROYW1lUmVkaXJlY3RlZFRvS2V5KEFkb3B0V0ssIFdLU3RyaW5nQ3JlYXRlV2l0aFVURjhD
U3RyaW5nKCJIb3N0TmFtZVJlZGlyZWN0ZWRUbyIpKTsKKyAgICAgICAgCisgICAgICAgIFdLU3Ry
aW5nUmVmIGhvc3ROYW1lID0gc3RhdGljX2Nhc3Q8V0tTdHJpbmdSZWY+KFdLRGljdGlvbmFyeUdl
dEl0ZW1Gb3JLZXkobWVzc2FnZUJvZHlEaWN0aW9uYXJ5LCBob3N0TmFtZUtleS5nZXQoKSkpOwor
ICAgICAgICBXS1N0cmluZ1JlZiBob3N0TmFtZVJlZGlyZWN0ZWRUbyA9IHN0YXRpY19jYXN0PFdL
U3RyaW5nUmVmPihXS0RpY3Rpb25hcnlHZXRJdGVtRm9yS2V5KG1lc3NhZ2VCb2R5RGljdGlvbmFy
eSwgaG9zdE5hbWVSZWRpcmVjdGVkVG9LZXkuZ2V0KCkpKTsKKyAgICAgICAgCisgICAgICAgIFRl
c3RDb250cm9sbGVyOjpzaW5nbGV0b24oKS5zZXRTdGF0aXN0aWNzU3VicmVzb3VyY2VVbmlxdWVS
ZWRpcmVjdFRvKGhvc3ROYW1lLCBob3N0TmFtZVJlZGlyZWN0ZWRUbyk7CisgICAgICAgIHJldHVy
biBudWxscHRyOworICAgIH0KKwogICAgIGlmIChXS1N0cmluZ0lzRXF1YWxUb1VURjhDU3RyaW5n
KG1lc3NhZ2VOYW1lLCAiU2V0U3RhdGlzdGljc1RpbWVUb0xpdmVVc2VySW50ZXJhY3Rpb24iKSkg
ewogICAgICAgICBBU1NFUlQoV0tHZXRUeXBlSUQobWVzc2FnZUJvZHkpID09IFdLRG91YmxlR2V0
VHlwZUlEKCkpOwogICAgICAgICBXS0RvdWJsZVJlZiBzZWNvbmRzID0gc3RhdGljX2Nhc3Q8V0tE
b3VibGVSZWY+KG1lc3NhZ2VCb2R5KTsKSW5kZXg6IFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5q
ZWN0ZWRCdW5kbGUvVGVzdFJ1bm5lci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvV2ViS2l0VGVz
dFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9UZXN0UnVubmVyLmNwcAkocmV2aXNpb24gMjEyNjU2KQor
KysgVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9UZXN0UnVubmVyLmNwcAko
d29ya2luZyBjb3B5KQpAQCAtMTIyNiw2ICsxMjI2LDg0IEBAIGJvb2wgVGVzdFJ1bm5lcjo6aXNT
dGF0aXN0aWNzSGFzSGFkVXNlckkKICAgICByZXR1cm4gV0tCb29sZWFuR2V0VmFsdWUoc3RhdGlj
X2Nhc3Q8V0tCb29sZWFuUmVmPihyZXR1cm5EYXRhKSk7CiB9CiAKK3ZvaWQgVGVzdFJ1bm5lcjo6
c2V0U3RhdGlzdGljc1N1YmZyYW1lVW5kZXJUb3BGcmFtZU9yaWdpbihKU1N0cmluZ1JlZiBob3N0
TmFtZSwgSlNTdHJpbmdSZWYgdG9wRnJhbWVIb3N0TmFtZSkKK3sKKyAgICBWZWN0b3I8V0tSZXRh
aW5QdHI8V0tTdHJpbmdSZWY+PiBrZXlzOworICAgIFZlY3RvcjxXS1JldGFpblB0cjxXS1R5cGVS
ZWY+PiB2YWx1ZXM7CisgICAgCisgICAga2V5cy5hcHBlbmQoeyBBZG9wdFdLLCBXS1N0cmluZ0Ny
ZWF0ZVdpdGhVVEY4Q1N0cmluZygiSG9zdE5hbWUiKSB9KTsKKyAgICB2YWx1ZXMuYXBwZW5kKHsg
QWRvcHRXSywgV0tTdHJpbmdDcmVhdGVXaXRoSlNTdHJpbmcoaG9zdE5hbWUpIH0pOworICAgIAor
ICAgIGtleXMuYXBwZW5kKHsgQWRvcHRXSywgV0tTdHJpbmdDcmVhdGVXaXRoVVRGOENTdHJpbmco
IlRvcEZyYW1lSG9zdE5hbWUiKSB9KTsKKyAgICB2YWx1ZXMuYXBwZW5kKHsgQWRvcHRXSywgV0tT
dHJpbmdDcmVhdGVXaXRoSlNTdHJpbmcodG9wRnJhbWVIb3N0TmFtZSkgfSk7CisgICAgCisgICAg
VmVjdG9yPFdLU3RyaW5nUmVmPiByYXdLZXlzOworICAgIFZlY3RvcjxXS1R5cGVSZWY+IHJhd1Zh
bHVlczsKKyAgICByYXdLZXlzLnJlc2l6ZShrZXlzLnNpemUoKSk7CisgICAgcmF3VmFsdWVzLnJl
c2l6ZSh2YWx1ZXMuc2l6ZSgpKTsKKyAgICAKKyAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IGtl
eXMuc2l6ZSgpOyArK2kpIHsKKyAgICAgICAgcmF3S2V5c1tpXSA9IGtleXNbaV0uZ2V0KCk7Cisg
ICAgICAgIHJhd1ZhbHVlc1tpXSA9IHZhbHVlc1tpXS5nZXQoKTsKKyAgICB9CisgICAgCisgICAg
V0tSZXRhaW5QdHI8V0tTdHJpbmdSZWY+IG1lc3NhZ2VOYW1lKEFkb3B0V0ssIFdLU3RyaW5nQ3Jl
YXRlV2l0aFVURjhDU3RyaW5nKCJTZXRTdGF0aXN0aWNzU3ViZnJhbWVVbmRlclRvcEZyYW1lT3Jp
Z2luIikpOworICAgIFdLUmV0YWluUHRyPFdLRGljdGlvbmFyeVJlZj4gbWVzc2FnZUJvZHkoQWRv
cHRXSywgV0tEaWN0aW9uYXJ5Q3JlYXRlKHJhd0tleXMuZGF0YSgpLCByYXdWYWx1ZXMuZGF0YSgp
LCByYXdLZXlzLnNpemUoKSkpOworICAgIFdLQnVuZGxlUG9zdFN5bmNocm9ub3VzTWVzc2FnZShJ
bmplY3RlZEJ1bmRsZTo6c2luZ2xldG9uKCkuYnVuZGxlKCksIG1lc3NhZ2VOYW1lLmdldCgpLCBt
ZXNzYWdlQm9keS5nZXQoKSwgbnVsbHB0cik7Cit9CisKK3ZvaWQgVGVzdFJ1bm5lcjo6c2V0U3Rh
dGlzdGljc1N1YnJlc291cmNlVW5kZXJUb3BGcmFtZU9yaWdpbihKU1N0cmluZ1JlZiBob3N0TmFt
ZSwgSlNTdHJpbmdSZWYgdG9wRnJhbWVIb3N0TmFtZSkKK3sKKyAgICBWZWN0b3I8V0tSZXRhaW5Q
dHI8V0tTdHJpbmdSZWY+PiBrZXlzOworICAgIFZlY3RvcjxXS1JldGFpblB0cjxXS1R5cGVSZWY+
PiB2YWx1ZXM7CisgICAgCisgICAga2V5cy5hcHBlbmQoeyBBZG9wdFdLLCBXS1N0cmluZ0NyZWF0
ZVdpdGhVVEY4Q1N0cmluZygiSG9zdE5hbWUiKSB9KTsKKyAgICB2YWx1ZXMuYXBwZW5kKHsgQWRv
cHRXSywgV0tTdHJpbmdDcmVhdGVXaXRoSlNTdHJpbmcoaG9zdE5hbWUpIH0pOworICAgIAorICAg
IGtleXMuYXBwZW5kKHsgQWRvcHRXSywgV0tTdHJpbmdDcmVhdGVXaXRoVVRGOENTdHJpbmcoIlRv
cEZyYW1lSG9zdE5hbWUiKSB9KTsKKyAgICB2YWx1ZXMuYXBwZW5kKHsgQWRvcHRXSywgV0tTdHJp
bmdDcmVhdGVXaXRoSlNTdHJpbmcodG9wRnJhbWVIb3N0TmFtZSkgfSk7CisgICAgCisgICAgVmVj
dG9yPFdLU3RyaW5nUmVmPiByYXdLZXlzOworICAgIFZlY3RvcjxXS1R5cGVSZWY+IHJhd1ZhbHVl
czsKKyAgICByYXdLZXlzLnJlc2l6ZShrZXlzLnNpemUoKSk7CisgICAgcmF3VmFsdWVzLnJlc2l6
ZSh2YWx1ZXMuc2l6ZSgpKTsKKyAgICAKKyAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IGtleXMu
c2l6ZSgpOyArK2kpIHsKKyAgICAgICAgcmF3S2V5c1tpXSA9IGtleXNbaV0uZ2V0KCk7CisgICAg
ICAgIHJhd1ZhbHVlc1tpXSA9IHZhbHVlc1tpXS5nZXQoKTsKKyAgICB9CisgICAgCisgICAgV0tS
ZXRhaW5QdHI8V0tTdHJpbmdSZWY+IG1lc3NhZ2VOYW1lKEFkb3B0V0ssIFdLU3RyaW5nQ3JlYXRl
V2l0aFVURjhDU3RyaW5nKCJTZXRTdGF0aXN0aWNzU3VicmVzb3VyY2VVbmRlclRvcEZyYW1lT3Jp
Z2luIikpOworICAgIFdLUmV0YWluUHRyPFdLRGljdGlvbmFyeVJlZj4gbWVzc2FnZUJvZHkoQWRv
cHRXSywgV0tEaWN0aW9uYXJ5Q3JlYXRlKHJhd0tleXMuZGF0YSgpLCByYXdWYWx1ZXMuZGF0YSgp
LCByYXdLZXlzLnNpemUoKSkpOworICAgIFdLQnVuZGxlUG9zdFN5bmNocm9ub3VzTWVzc2FnZShJ
bmplY3RlZEJ1bmRsZTo6c2luZ2xldG9uKCkuYnVuZGxlKCksIG1lc3NhZ2VOYW1lLmdldCgpLCBt
ZXNzYWdlQm9keS5nZXQoKSwgbnVsbHB0cik7Cit9CisKK3ZvaWQgVGVzdFJ1bm5lcjo6c2V0U3Rh
dGlzdGljc1N1YnJlc291cmNlVW5pcXVlUmVkaXJlY3RUbyhKU1N0cmluZ1JlZiBob3N0TmFtZSwg
SlNTdHJpbmdSZWYgaG9zdE5hbWVSZWRpcmVjdGVkVG8pCit7CisgICAgVmVjdG9yPFdLUmV0YWlu
UHRyPFdLU3RyaW5nUmVmPj4ga2V5czsKKyAgICBWZWN0b3I8V0tSZXRhaW5QdHI8V0tUeXBlUmVm
Pj4gdmFsdWVzOworICAgIAorICAgIGtleXMuYXBwZW5kKHsgQWRvcHRXSywgV0tTdHJpbmdDcmVh
dGVXaXRoVVRGOENTdHJpbmcoIkhvc3ROYW1lIikgfSk7CisgICAgdmFsdWVzLmFwcGVuZCh7IEFk
b3B0V0ssIFdLU3RyaW5nQ3JlYXRlV2l0aEpTU3RyaW5nKGhvc3ROYW1lKSB9KTsKKyAgICAKKyAg
ICBrZXlzLmFwcGVuZCh7IEFkb3B0V0ssIFdLU3RyaW5nQ3JlYXRlV2l0aFVURjhDU3RyaW5nKCJI
b3N0TmFtZVJlZGlyZWN0ZWRUbyIpIH0pOworICAgIHZhbHVlcy5hcHBlbmQoeyBBZG9wdFdLLCBX
S1N0cmluZ0NyZWF0ZVdpdGhKU1N0cmluZyhob3N0TmFtZVJlZGlyZWN0ZWRUbykgfSk7CisgICAg
CisgICAgVmVjdG9yPFdLU3RyaW5nUmVmPiByYXdLZXlzOworICAgIFZlY3RvcjxXS1R5cGVSZWY+
IHJhd1ZhbHVlczsKKyAgICByYXdLZXlzLnJlc2l6ZShrZXlzLnNpemUoKSk7CisgICAgcmF3VmFs
dWVzLnJlc2l6ZSh2YWx1ZXMuc2l6ZSgpKTsKKyAgICAKKyAgICBmb3IgKHNpemVfdCBpID0gMDsg
aSA8IGtleXMuc2l6ZSgpOyArK2kpIHsKKyAgICAgICAgcmF3S2V5c1tpXSA9IGtleXNbaV0uZ2V0
KCk7CisgICAgICAgIHJhd1ZhbHVlc1tpXSA9IHZhbHVlc1tpXS5nZXQoKTsKKyAgICB9CisgICAg
CisgICAgV0tSZXRhaW5QdHI8V0tTdHJpbmdSZWY+IG1lc3NhZ2VOYW1lKEFkb3B0V0ssIFdLU3Ry
aW5nQ3JlYXRlV2l0aFVURjhDU3RyaW5nKCJTZXRTdGF0aXN0aWNzU3VicmVzb3VyY2VVbmlxdWVS
ZWRpcmVjdFRvIikpOworICAgIFdLUmV0YWluUHRyPFdLRGljdGlvbmFyeVJlZj4gbWVzc2FnZUJv
ZHkoQWRvcHRXSywgV0tEaWN0aW9uYXJ5Q3JlYXRlKHJhd0tleXMuZGF0YSgpLCByYXdWYWx1ZXMu
ZGF0YSgpLCByYXdLZXlzLnNpemUoKSkpOworICAgIFdLQnVuZGxlUG9zdFN5bmNocm9ub3VzTWVz
c2FnZShJbmplY3RlZEJ1bmRsZTo6c2luZ2xldG9uKCkuYnVuZGxlKCksIG1lc3NhZ2VOYW1lLmdl
dCgpLCBtZXNzYWdlQm9keS5nZXQoKSwgbnVsbHB0cik7Cit9CisKIHZvaWQgVGVzdFJ1bm5lcjo6
c2V0U3RhdGlzdGljc1RpbWVUb0xpdmVVc2VySW50ZXJhY3Rpb24oZG91YmxlIHNlY29uZHMpCiB7
CiAgICAgV0tSZXRhaW5QdHI8V0tTdHJpbmdSZWY+IG1lc3NhZ2VOYW1lKEFkb3B0V0ssIFdLU3Ry
aW5nQ3JlYXRlV2l0aFVURjhDU3RyaW5nKCJTZXRTdGF0aXN0aWNzVGltZVRvTGl2ZVVzZXJJbnRl
cmFjdGlvbiIpKTsKSW5kZXg6IFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUv
VGVzdFJ1bm5lci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0
ZWRCdW5kbGUvVGVzdFJ1bm5lci5oCShyZXZpc2lvbiAyMTI2NTYpCisrKyBUb29scy9XZWJLaXRU
ZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL1Rlc3RSdW5uZXIuaAkod29ya2luZyBjb3B5KQpAQCAt
MzU0LDYgKzM1NCw5IEBAIHB1YmxpYzoKICAgICBib29sIGlzU3RhdGlzdGljc1ByZXZhbGVudFJl
c291cmNlKEpTU3RyaW5nUmVmIGhvc3ROYW1lKTsKICAgICB2b2lkIHNldFN0YXRpc3RpY3NIYXNI
YWRVc2VySW50ZXJhY3Rpb24oSlNTdHJpbmdSZWYgaG9zdE5hbWUsIGJvb2wgdmFsdWUpOwogICAg
IGJvb2wgaXNTdGF0aXN0aWNzSGFzSGFkVXNlckludGVyYWN0aW9uKEpTU3RyaW5nUmVmIGhvc3RO
YW1lKTsKKyAgICB2b2lkIHNldFN0YXRpc3RpY3NTdWJmcmFtZVVuZGVyVG9wRnJhbWVPcmlnaW4o
SlNTdHJpbmdSZWYgaG9zdE5hbWUsIEpTU3RyaW5nUmVmIHRvcEZyYW1lSG9zdE5hbWUpOworICAg
IHZvaWQgc2V0U3RhdGlzdGljc1N1YnJlc291cmNlVW5kZXJUb3BGcmFtZU9yaWdpbihKU1N0cmlu
Z1JlZiBob3N0TmFtZSwgSlNTdHJpbmdSZWYgdG9wRnJhbWVIb3N0TmFtZSk7CisgICAgdm9pZCBz
ZXRTdGF0aXN0aWNzU3VicmVzb3VyY2VVbmlxdWVSZWRpcmVjdFRvKEpTU3RyaW5nUmVmIGhvc3RO
YW1lLCBKU1N0cmluZ1JlZiBob3N0TmFtZVJlZGlyZWN0ZWRUbyk7CiAgICAgdm9pZCBzZXRTdGF0
aXN0aWNzVGltZVRvTGl2ZVVzZXJJbnRlcmFjdGlvbihkb3VibGUgc2Vjb25kcyk7CiAgICAgdm9p
ZCBzZXRTdGF0aXN0aWNzTm90aWZ5UGFnZXNXaGVuRGF0YVJlY29yZHNXZXJlU2Nhbm5lZChib29s
KTsKICAgICB2b2lkIHNldFN0YXRpc3RpY3NTaG91bGRDbGFzc2lmeVJlc291cmNlc0JlZm9yZURh
dGFSZWNvcmRzUmVtb3ZhbChib29sKTsKSW5kZXg6IFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5q
ZWN0ZWRCdW5kbGUvQmluZGluZ3MvVGVzdFJ1bm5lci5pZGwKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMv
V2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9CaW5kaW5ncy9UZXN0UnVubmVyLmlkbAko
cmV2aXNpb24gMjEyNjU2KQorKysgVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRs
ZS9CaW5kaW5ncy9UZXN0UnVubmVyLmlkbAkod29ya2luZyBjb3B5KQpAQCAtMjUzLDYgKzI1Myw5
IEBAIGludGVyZmFjZSBUZXN0UnVubmVyIHsKICAgICBib29sZWFuIGlzU3RhdGlzdGljc1ByZXZh
bGVudFJlc291cmNlKERPTVN0cmluZyBob3N0TmFtZSk7CiAgICAgdm9pZCBzZXRTdGF0aXN0aWNz
SGFzSGFkVXNlckludGVyYWN0aW9uKERPTVN0cmluZyBob3N0TmFtZSwgYm9vbGVhbiB2YWx1ZSk7
CiAgICAgYm9vbGVhbiBpc1N0YXRpc3RpY3NIYXNIYWRVc2VySW50ZXJhY3Rpb24oRE9NU3RyaW5n
IGhvc3ROYW1lKTsKKyAgICB2b2lkIHNldFN0YXRpc3RpY3NTdWJmcmFtZVVuZGVyVG9wRnJhbWVP
cmlnaW4oRE9NU3RyaW5nIGhvc3ROYW1lLCBET01TdHJpbmcgdG9wRnJhbWVIb3N0TmFtZSk7Cisg
ICAgdm9pZCBzZXRTdGF0aXN0aWNzU3VicmVzb3VyY2VVbmRlclRvcEZyYW1lT3JpZ2luKERPTVN0
cmluZyBob3N0TmFtZSwgRE9NU3RyaW5nIHRvcEZyYW1lSG9zdE5hbWUpOworICAgIHZvaWQgc2V0
U3RhdGlzdGljc1N1YnJlc291cmNlVW5pcXVlUmVkaXJlY3RUbyhET01TdHJpbmcgaG9zdE5hbWUs
IERPTVN0cmluZyBob3N0TmFtZVJlZGlyZWN0ZWRUbyk7CiAgICAgdm9pZCBzZXRTdGF0aXN0aWNz
VGltZVRvTGl2ZVVzZXJJbnRlcmFjdGlvbihkb3VibGUgc2Vjb25kcyk7CiAgICAgdm9pZCBzdGF0
aXN0aWNzRmlyZURhdGFNb2RpZmljYXRpb25IYW5kbGVyKCk7CiAgICAgdm9pZCBzZXRTdGF0aXN0
aWNzTm90aWZ5UGFnZXNXaGVuRGF0YVJlY29yZHNXZXJlU2Nhbm5lZChib29sZWFuIHZhbHVlKTsK
SW5kZXg6IFdlYktpdExpYnJhcmllcy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0TGli
cmFyaWVzL0NoYW5nZUxvZwkocmV2aXNpb24gMjEyNzE4KQorKysgV2ViS2l0TGlicmFyaWVzL0No
YW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE1IEBACisyMDE3LTAyLTIxICBKb2hu
IFdpbGFuZGVyICA8d2lsYW5kZXJAYXBwbGUuY29tPgorCisgICAgICAgIFJlc291cmNlIExvYWQg
U3RhdGlzdGljczogQWRkIGFsdGVybmF0ZSBjbGFzc2lmaWNhdGlvbiBtZXRob2QKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2ODM0NworICAgICAgICA8
cmRhcjovL3Byb2JsZW0vMzAzNTI3OTM+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgQWxleCBDaHJp
c3RlbnNlbi4KKworICAgICAgICAqIFdlYktpdFByaXZhdGVGcmFtZXdvcmtTdHVicy9pT1MvMTAv
Q29yZVByZWRpY3Rpb24uZnJhbWV3b3JrOiBBZGRlZC4KKyAgICAgICAgKiBXZWJLaXRQcml2YXRl
RnJhbWV3b3JrU3R1YnMvaU9TLzEwL0NvcmVQcmVkaWN0aW9uLmZyYW1ld29yay9Db3JlUHJlZGlj
dGlvbi50YmQ6IEFkZGVkLgorICAgICAgICAgICAgU3R1YnMgZm9yIHByaXZhdGUgZnJhbWV3b3Jr
LgorCiAyMDE3LTAyLTIwICBSeWFuIEhhZGRhZCAgPHJ5YW5oYWRkYWRAYXBwbGUuY29tPgogCiAg
ICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHIyMTI2ODUuCkluZGV4OiBXZWJLaXRMaWJy
YXJpZXMvV2ViS2l0UHJpdmF0ZUZyYW1ld29ya1N0dWJzL2lPUy8xMC9Db3JlUHJlZGljdGlvbi5m
cmFtZXdvcmsvQ29yZVByZWRpY3Rpb24udGJkCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdExpYnJhcmll
cy9XZWJLaXRQcml2YXRlRnJhbWV3b3JrU3R1YnMvaU9TLzEwL0NvcmVQcmVkaWN0aW9uLmZyYW1l
d29yay9Db3JlUHJlZGljdGlvbi50YmQJKG5vbmV4aXN0ZW50KQorKysgV2ViS2l0TGlicmFyaWVz
L1dlYktpdFByaXZhdGVGcmFtZXdvcmtTdHVicy9pT1MvMTAvQ29yZVByZWRpY3Rpb24uZnJhbWV3
b3JrL0NvcmVQcmVkaWN0aW9uLnRiZAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDE4IEBACist
LS0gIXRhcGktdGJkLXYyCithcmNoczoKKyAgLSBhcm12NworICAtIGFybXY3cworICAtIGFybTY0
CitleHBvcnRzOgorICAtCisgICAgYXJjaHM6CisgICAgICAtIGFybXY3CisgICAgICAtIGFybXY3
cworICAgICAgLSBhcm02NAorICAgIHN5bWJvbHM6CisgICAgICAtIF9zdm1fbG9hZF9tb2RlbAor
ICAgICAgLSBfc3ZtX3ByZWRpY3RfdmFsdWVzCitpbnN0YWxsLW5hbWU6IC9TeXN0ZW0vTGlicmFy
eS9Qcml2YXRlRnJhbWV3b3Jrcy9Db3JlUHJlZGljdGlvbi5mcmFtZXdvcmsKK29iamMtY29uc3Ry
YWludDogbm9uZQorcGxhdGZvcm06IGlvcworLi4uCkluZGV4OiBMYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCShyZXZpc2lvbiAyMTI3MTgp
CisrKyBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwzMyBA
QAorMjAxNy0wMi0yMSAgSm9obiBXaWxhbmRlciAgPHdpbGFuZGVyQGFwcGxlLmNvbT4KKworICAg
ICAgICBSZXNvdXJjZSBMb2FkIFN0YXRpc3RpY3M6IEFkZCBhbHRlcm5hdGUgY2xhc3NpZmljYXRp
b24gbWV0aG9kCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xNjgzNDcKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzMwMzUyNzkzPgorCisgICAgICAgIFJl
dmlld2VkIGJ5IEFsZXggQ2hyaXN0ZW5zZW4uCisKKyAgICAgICAgKiBodHRwL3Rlc3RzL2xvYWRp
bmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1ub24tcHJldmFsZW50LWJhc2Vk
LW9uLW1peGVkLXN0YXRpc3RpY3MtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRw
L3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1ub24tcHJl
dmFsZW50LWJhc2VkLW9uLW1peGVkLXN0YXRpc3RpY3MuaHRtbDogQWRkZWQuCisgICAgICAgICog
aHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtbm9u
LXByZXZhbGVudC1iYXNlZC1vbi1zdWItZnJhbWUtdW5kZXItdG9wLWZyYW1lLW9yaWdpbnMtZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VM
b2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1ub24tcHJldmFsZW50LWJhc2VkLW9uLXN1Yi1mcmFt
ZS11bmRlci10b3AtZnJhbWUtb3JpZ2lucy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rl
c3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1ub24tcHJldmFs
ZW50LWJhc2VkLW9uLXN1YnJlc291cmNlLXVuZGVyLXRvcC1mcmFtZS1vcmlnaW5zLWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0
YXRpc3RpY3MvY2xhc3NpZnktYXMtbm9uLXByZXZhbGVudC1iYXNlZC1vbi1zdWJyZXNvdXJjZS11
bmRlci10b3AtZnJhbWUtb3JpZ2lucy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3Rz
L2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1ub24tcHJldmFsZW50
LWJhc2VkLW9uLXN1YnJlc291cmNlLXVuaXF1ZS1yZWRpcmVjdHMtdG8tZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGlj
cy9jbGFzc2lmeS1hcy1ub24tcHJldmFsZW50LWJhc2VkLW9uLXN1YnJlc291cmNlLXVuaXF1ZS1y
ZWRpcmVjdHMtdG8uaHRtbDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9sb2FkaW5nL3Jl
c291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtcHJldmFsZW50LWJhc2VkLW9uLW1peGVk
LXN0YXRpc3RpY3MtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2xv
YWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1wcmV2YWxlbnQtYmFzZWQt
b24tbWl4ZWQtc3RhdGlzdGljcy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2xv
YWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1wcmV2YWxlbnQtYmFzZWQt
b24tc3ViLWZyYW1lLXVuZGVyLXRvcC1mcmFtZS1vcmlnaW5zLWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogaHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xh
c3NpZnktYXMtcHJldmFsZW50LWJhc2VkLW9uLXN1Yi1mcmFtZS11bmRlci10b3AtZnJhbWUtb3Jp
Z2lucy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VM
b2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1wcmV2YWxlbnQtYmFzZWQtb24tc3VicmVzb3VyY2Ut
dW5kZXItdG9wLWZyYW1lLW9yaWdpbnMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBo
dHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1wcmV2
YWxlbnQtYmFzZWQtb24tc3VicmVzb3VyY2UtdW5kZXItdG9wLWZyYW1lLW9yaWdpbnMuaHRtbDog
QWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0YXRpc3Rp
Y3MvY2xhc3NpZnktYXMtcHJldmFsZW50LWJhc2VkLW9uLXN1YnJlc291cmNlLXVuaXF1ZS1yZWRp
cmVjdHMtdG8tZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2xvYWRp
bmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1wcmV2YWxlbnQtYmFzZWQtb24t
c3VicmVzb3VyY2UtdW5pcXVlLXJlZGlyZWN0cy10by5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBw
bGF0Zm9ybS9ndGsvVGVzdEV4cGVjdGF0aW9uczoKKyAgICAgICAgICAgIFRoZSB3aG9sZSBodHRw
L3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcyBtYXJrZWQgYXMgY3Jhc2hpbmcg
YmFzZWQgb24KKyAgICAgICAgICAgIENhcmxvcyBHYXJjaWEgQ2FtcG9zJ3MgYXNzZXNzbWVudCBp
biBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY4MTcxLgorICAgICAg
ICAqIHBsYXRmb3JtL3drMi9UZXN0RXhwZWN0YXRpb25zOgorICAgICAgICAgICAgVGhlIGFib3Zl
IHRlc3RzIGFyZSBvbmx5IHZhbGlkIGZvciBXZWJLaXQyLiBNYXJrZWQgYXMgWyBQYXNzIF0uCisK
IDIwMTctMDItMjEgIEFsZXggQ2hyaXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4K
IAogICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByMjEyNjk5LgpJbmRleDogTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnkt
YXMtbm9uLXByZXZhbGVudC1iYXNlZC1vbi1taXhlZC1zdGF0aXN0aWNzLWV4cGVjdGVkLnR4dAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2Fk
U3RhdGlzdGljcy9jbGFzc2lmeS1hcy1ub24tcHJldmFsZW50LWJhc2VkLW9uLW1peGVkLXN0YXRp
c3RpY3MtZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2h0dHAvdGVz
dHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLW5vbi1wcmV2YWxl
bnQtYmFzZWQtb24tbWl4ZWQtc3RhdGlzdGljcy1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkK
QEAgLTAsMCArMSw4IEBACittYWluIGZyYW1lIC0gZGlkU3RhcnRQcm92aXNpb25hbExvYWRGb3JG
cmFtZQorbWFpbiBmcmFtZSAtIGRpZENvbW1pdExvYWRGb3JGcmFtZQorbWFpbiBmcmFtZSAtIGRp
ZFJlY2VpdmVUaXRsZTogVGVzdHMgZm9yIENsYXNzaWZpY2F0aW9uIEJhc2VkIG9uIE1peGVkIFN0
YXRpc3RpY3MKK21haW4gZnJhbWUgLSBkaWRGaW5pc2hEb2N1bWVudExvYWRGb3JGcmFtZQorbWFp
biBmcmFtZSAtIGRpZEhhbmRsZU9ubG9hZEV2ZW50c0ZvckZyYW1lCittYWluIGZyYW1lIC0gZGlk
RmluaXNoTG9hZEZvckZyYW1lCitQQVNTIEhvc3QgZGlkIG5vdCBnZXQgY2xhc3NpZmllZCBhcyBw
cmV2YWxlbnQgcmVzb3VyY2UuCisKSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvbG9hZGlu
Zy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLW5vbi1wcmV2YWxlbnQtYmFzZWQt
b24tbWl4ZWQtc3RhdGlzdGljcy5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAv
dGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLW5vbi1wcmV2
YWxlbnQtYmFzZWQtb24tbWl4ZWQtc3RhdGlzdGljcy5odG1sCShub25leGlzdGVudCkKKysrIExh
eW91dFRlc3RzL2h0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNz
aWZ5LWFzLW5vbi1wcmV2YWxlbnQtYmFzZWQtb24tbWl4ZWQtc3RhdGlzdGljcy5odG1sCSh3b3Jr
aW5nIGNvcHkpCkBAIC0wLDAgKzEsNDIgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWwgbGFuZz0i
ZW4iPgorPGhlYWQ+CisgICAgPG1ldGEgY2hhcnNldD0iVVRGLTgiPgorICAgIDx0aXRsZT5UZXN0
cyBmb3IgQ2xhc3NpZmljYXRpb24gQmFzZWQgb24gTWl4ZWQgU3RhdGlzdGljczwvdGl0bGU+Cisg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQ+CisgICAgY29uc3QgaG9zdFVuZGVyVGVzdCA9ICIx
MjcuMC4wLjE6ODAwMCI7CisgICAgY29uc3Qgc3RhdGlzdGljc1VybCA9ICJodHRwOi8vIiArIGhv
c3RVbmRlclRlc3QgKyAiL3RlbXAiOworICAgIGNvbnN0IHRvcEZyYW1lT3JpZ2luMSA9ICJodHRw
Oi8vMTI3LjAuMC4yOjgwMDAvdGVtcCI7CisgICAgY29uc3QgdG9wRnJhbWVPcmlnaW4yID0gImh0
dHA6Ly8xMjcuMC4wLjM6ODAwMC90ZW1wIjsKKyAgICBjb25zdCB0b3BGcmFtZU9yaWdpbjMgPSAi
aHR0cDovLzEyNy4wLjAuNDo4MDAwL3RlbXAiOworICAgIGZ1bmN0aW9uIHJ1blRlc3RSdW5uZXJU
ZXN0KCkgeworICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJj
ZShzdGF0aXN0aWNzVXJsLCBmYWxzZSk7CisgICAgICAgIGlmICh0ZXN0UnVubmVyLmlzU3RhdGlz
dGljc1ByZXZhbGVudFJlc291cmNlKHN0YXRpc3RpY3NVcmwpKQorICAgICAgICAgICAgdGVzdEZh
aWxlZCgiSG9zdCBkaWQgbm90IGdldCBzZXQgYXMgbm9uLXByZXZhbGVudCByZXNvdXJjZS4iKTsK
KworICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NTdWJmcmFtZVVuZGVyVG9wRnJhbWVP
cmlnaW4oc3RhdGlzdGljc1VybCwgdG9wRnJhbWVPcmlnaW4xKTsKKyAgICAgICAgdGVzdFJ1bm5l
ci5zZXRTdGF0aXN0aWNzU3VicmVzb3VyY2VVbmRlclRvcEZyYW1lT3JpZ2luKHN0YXRpc3RpY3NV
cmwsIHRvcEZyYW1lT3JpZ2luMik7CisgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1N1
YnJlc291cmNlVW5pcXVlUmVkaXJlY3RUbyhzdGF0aXN0aWNzVXJsLCB0b3BGcmFtZU9yaWdpbjMp
OworCisgICAgICAgIHRlc3RSdW5uZXIuc3RhdGlzdGljc0ZpcmVEYXRhTW9kaWZpY2F0aW9uSGFu
ZGxlcigpOworCisgICAgICAgIGlmICh0ZXN0UnVubmVyLmlzU3RhdGlzdGljc1ByZXZhbGVudFJl
c291cmNlKHN0YXRpc3RpY3NVcmwpKQorICAgICAgICAgICAgdGVzdEZhaWxlZCgiSG9zdCBjbGFz
c2lmaWVkIGFzIHByZXZhbGVudCByZXNvdXJjZS4iKTsKKyAgICAgICAgZWxzZQorICAgICAgICAg
ICAgdGVzdFBhc3NlZCgiSG9zdCBkaWQgbm90IGdldCBjbGFzc2lmaWVkIGFzIHByZXZhbGVudCBy
ZXNvdXJjZS4iKTsKKworICAgICAgICB0ZXN0UnVubmVyLnN0YXRpc3RpY3NSZXNldFRvQ29uc2lz
dGVudFN0YXRlKCk7CisgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOworICAgIH0KKwor
ICAgIGlmIChkb2N1bWVudC5sb2NhdGlvbi5ob3N0ID09PSBob3N0VW5kZXJUZXN0ICYmIHdpbmRv
dy50ZXN0UnVubmVyICYmIHdpbmRvdy5pbnRlcm5hbHMpIHsKKyAgICAgICAgdGVzdFJ1bm5lci53
YWl0VW50aWxEb25lKCk7CisgICAgICAgIGludGVybmFscy5zZXRSZXNvdXJjZUxvYWRTdGF0aXN0
aWNzRW5hYmxlZCh0cnVlKTsKKyAgICAgICAgcnVuVGVzdFJ1bm5lclRlc3QoKTsKKyAgICB9Cis8
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCklu
ZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGlj
cy9jbGFzc2lmeS1hcy1ub24tcHJldmFsZW50LWJhc2VkLW9uLXN1Yi1mcmFtZS11bmRlci10b3At
ZnJhbWUtb3JpZ2lucy1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtbm9uLXBy
ZXZhbGVudC1iYXNlZC1vbi1zdWItZnJhbWUtdW5kZXItdG9wLWZyYW1lLW9yaWdpbnMtZXhwZWN0
ZWQudHh0CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvbG9hZGluZy9y
ZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLW5vbi1wcmV2YWxlbnQtYmFzZWQtb24t
c3ViLWZyYW1lLXVuZGVyLXRvcC1mcmFtZS1vcmlnaW5zLWV4cGVjdGVkLnR4dAkod29ya2luZyBj
b3B5KQpAQCAtMCwwICsxLDggQEAKK21haW4gZnJhbWUgLSBkaWRTdGFydFByb3Zpc2lvbmFsTG9h
ZEZvckZyYW1lCittYWluIGZyYW1lIC0gZGlkQ29tbWl0TG9hZEZvckZyYW1lCittYWluIGZyYW1l
IC0gZGlkUmVjZWl2ZVRpdGxlOiBUZXN0cyBmb3IgQ2xhc3NpZmljYXRpb24gQmFzZWQgb24gU3Vi
IEZyYW1lIFVuZGVyIFRvcCBGcmFtZSBPcmlnaW5zCittYWluIGZyYW1lIC0gZGlkRmluaXNoRG9j
dW1lbnRMb2FkRm9yRnJhbWUKK21haW4gZnJhbWUgLSBkaWRIYW5kbGVPbmxvYWRFdmVudHNGb3JG
cmFtZQorbWFpbiBmcmFtZSAtIGRpZEZpbmlzaExvYWRGb3JGcmFtZQorUEFTUyBIb3N0IGRpZCBu
b3QgZ2V0IGNsYXNzaWZpZWQgYXMgcHJldmFsZW50IHJlc291cmNlLgorCkluZGV4OiBMYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1h
cy1ub24tcHJldmFsZW50LWJhc2VkLW9uLXN1Yi1mcmFtZS11bmRlci10b3AtZnJhbWUtb3JpZ2lu
cy5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvbG9hZGluZy9yZXNv
dXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLW5vbi1wcmV2YWxlbnQtYmFzZWQtb24tc3Vi
LWZyYW1lLXVuZGVyLXRvcC1mcmFtZS1vcmlnaW5zLmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3Np
ZnktYXMtbm9uLXByZXZhbGVudC1iYXNlZC1vbi1zdWItZnJhbWUtdW5kZXItdG9wLWZyYW1lLW9y
aWdpbnMuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDQyIEBACis8IURPQ1RZUEUgaHRt
bD4KKzxodG1sIGxhbmc9ImVuIj4KKzxoZWFkPgorICAgIDxtZXRhIGNoYXJzZXQ9IlVURi04Ij4K
KyAgICA8dGl0bGU+VGVzdHMgZm9yIENsYXNzaWZpY2F0aW9uIEJhc2VkIG9uIFN1YiBGcmFtZSBV
bmRlciBUb3AgRnJhbWUgT3JpZ2luczwvdGl0bGU+CisgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3Jp
cHQ+CisgICAgY29uc3QgaG9zdFVuZGVyVGVzdCA9ICIxMjcuMC4wLjE6ODAwMCI7CisgICAgY29u
c3Qgc3RhdGlzdGljc1VybCA9ICJodHRwOi8vIiArIGhvc3RVbmRlclRlc3QgKyAiL3RlbXAiOwor
ICAgIGNvbnN0IHRvcEZyYW1lT3JpZ2luMSA9ICJodHRwOi8vMTI3LjAuMC4yOjgwMDAvdGVtcCI7
CisgICAgY29uc3QgdG9wRnJhbWVPcmlnaW4yID0gImh0dHA6Ly8xMjcuMC4wLjM6ODAwMC90ZW1w
IjsKKyAgICBjb25zdCB0b3BGcmFtZU9yaWdpbjMgPSAiaHR0cDovLzEyNy4wLjAuNDo4MDAwL3Rl
bXAiOworICAgIGZ1bmN0aW9uIHJ1blRlc3RSdW5uZXJUZXN0KCkgeworICAgICAgICB0ZXN0UnVu
bmVyLnNldFN0YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJjZShzdGF0aXN0aWNzVXJsLCBmYWxzZSk7
CisgICAgICAgIGlmICh0ZXN0UnVubmVyLmlzU3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNlKHN0
YXRpc3RpY3NVcmwpKQorICAgICAgICAgICAgdGVzdEZhaWxlZCgiSG9zdCBkaWQgbm90IGdldCBz
ZXQgYXMgbm9uLXByZXZhbGVudCByZXNvdXJjZS4iKTsKKworICAgICAgICB0ZXN0UnVubmVyLnNl
dFN0YXRpc3RpY3NTdWJmcmFtZVVuZGVyVG9wRnJhbWVPcmlnaW4oc3RhdGlzdGljc1VybCwgdG9w
RnJhbWVPcmlnaW4xKTsKKyAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzU3ViZnJhbWVV
bmRlclRvcEZyYW1lT3JpZ2luKHN0YXRpc3RpY3NVcmwsIHRvcEZyYW1lT3JpZ2luMik7CisgICAg
ICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1N1YmZyYW1lVW5kZXJUb3BGcmFtZU9yaWdpbihz
dGF0aXN0aWNzVXJsLCB0b3BGcmFtZU9yaWdpbjMpOworCisgICAgICAgIHRlc3RSdW5uZXIuc3Rh
dGlzdGljc0ZpcmVEYXRhTW9kaWZpY2F0aW9uSGFuZGxlcigpOworCisgICAgICAgIGlmICh0ZXN0
UnVubmVyLmlzU3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNlKHN0YXRpc3RpY3NVcmwpKQorICAg
ICAgICAgICAgdGVzdEZhaWxlZCgiSG9zdCBjbGFzc2lmaWVkIGFzIHByZXZhbGVudCByZXNvdXJj
ZS4iKTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgdGVzdFBhc3NlZCgiSG9zdCBkaWQgbm90
IGdldCBjbGFzc2lmaWVkIGFzIHByZXZhbGVudCByZXNvdXJjZS4iKTsKKworICAgICAgICB0ZXN0
UnVubmVyLnN0YXRpc3RpY3NSZXNldFRvQ29uc2lzdGVudFN0YXRlKCk7CisgICAgICAgIHRlc3RS
dW5uZXIubm90aWZ5RG9uZSgpOworICAgIH0KKworICAgIGlmIChkb2N1bWVudC5sb2NhdGlvbi5o
b3N0ID09PSBob3N0VW5kZXJUZXN0ICYmIHdpbmRvdy50ZXN0UnVubmVyICYmIHdpbmRvdy5pbnRl
cm5hbHMpIHsKKyAgICAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7CisgICAgICAgIGlu
dGVybmFscy5zZXRSZXNvdXJjZUxvYWRTdGF0aXN0aWNzRW5hYmxlZCh0cnVlKTsKKyAgICAgICAg
cnVuVGVzdFJ1bm5lclRlc3QoKTsKKyAgICB9Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1ub24tcHJldmFsZW50
LWJhc2VkLW9uLXN1YnJlc291cmNlLXVuZGVyLXRvcC1mcmFtZS1vcmlnaW5zLWV4cGVjdGVkLnR4
dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VM
b2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1ub24tcHJldmFsZW50LWJhc2VkLW9uLXN1YnJlc291
cmNlLXVuZGVyLXRvcC1mcmFtZS1vcmlnaW5zLWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisr
KyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9j
bGFzc2lmeS1hcy1ub24tcHJldmFsZW50LWJhc2VkLW9uLXN1YnJlc291cmNlLXVuZGVyLXRvcC1m
cmFtZS1vcmlnaW5zLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDggQEAK
K21haW4gZnJhbWUgLSBkaWRTdGFydFByb3Zpc2lvbmFsTG9hZEZvckZyYW1lCittYWluIGZyYW1l
IC0gZGlkQ29tbWl0TG9hZEZvckZyYW1lCittYWluIGZyYW1lIC0gZGlkUmVjZWl2ZVRpdGxlOiBU
ZXN0cyBmb3IgQ2xhc3NpZmljYXRpb24gQmFzZWQgb24gU3VicmVzb3VyY2UgVW5kZXIgVG9wIEZy
YW1lIE9yaWdpbnMKK21haW4gZnJhbWUgLSBkaWRGaW5pc2hEb2N1bWVudExvYWRGb3JGcmFtZQor
bWFpbiBmcmFtZSAtIGRpZEhhbmRsZU9ubG9hZEV2ZW50c0ZvckZyYW1lCittYWluIGZyYW1lIC0g
ZGlkRmluaXNoTG9hZEZvckZyYW1lCitQQVNTIEhvc3QgZGlkIG5vdCBnZXQgY2xhc3NpZmllZCBh
cyBwcmV2YWxlbnQgcmVzb3VyY2UuCisKSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvbG9h
ZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLW5vbi1wcmV2YWxlbnQtYmFz
ZWQtb24tc3VicmVzb3VyY2UtdW5kZXItdG9wLWZyYW1lLW9yaWdpbnMuaHRtbAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGlj
cy9jbGFzc2lmeS1hcy1ub24tcHJldmFsZW50LWJhc2VkLW9uLXN1YnJlc291cmNlLXVuZGVyLXRv
cC1mcmFtZS1vcmlnaW5zLmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtbm9uLXByZXZh
bGVudC1iYXNlZC1vbi1zdWJyZXNvdXJjZS11bmRlci10b3AtZnJhbWUtb3JpZ2lucy5odG1sCSh3
b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNDAgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWwgbGFu
Zz0iZW4iPgorPGhlYWQ+CisgICAgPG1ldGEgY2hhcnNldD0iVVRGLTgiPgorICAgIDx0aXRsZT5U
ZXN0cyBmb3IgQ2xhc3NpZmljYXRpb24gQmFzZWQgb24gU3VicmVzb3VyY2UgVW5kZXIgVG9wIEZy
YW1lIE9yaWdpbnM8L3RpdGxlPgorICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0PgorICAgIGNv
bnN0IGhvc3RVbmRlclRlc3QgPSAiMTI3LjAuMC4xOjgwMDAiOworICAgIGNvbnN0IHN0YXRpc3Rp
Y3NVcmwgPSAiaHR0cDovLyIgKyBob3N0VW5kZXJUZXN0ICsgIi90ZW1wIjsKKyAgICBjb25zdCB0
b3BGcmFtZU9yaWdpbjEgPSAiaHR0cDovLzEyNy4wLjAuMjo4MDAwL3RlbXAiOworICAgIGNvbnN0
IHRvcEZyYW1lT3JpZ2luMiA9ICJodHRwOi8vMTI3LjAuMC4zOjgwMDAvdGVtcCI7CisgICAgZnVu
Y3Rpb24gcnVuVGVzdFJ1bm5lclRlc3QoKSB7CisgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlz
dGljc1ByZXZhbGVudFJlc291cmNlKHN0YXRpc3RpY3NVcmwsIGZhbHNlKTsKKyAgICAgICAgaWYg
KHRlc3RSdW5uZXIuaXNTdGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2Uoc3RhdGlzdGljc1VybCkp
CisgICAgICAgICAgICB0ZXN0RmFpbGVkKCJIb3N0IGRpZCBub3QgZ2V0IHNldCBhcyBub24tcHJl
dmFsZW50IHJlc291cmNlLiIpOworCisgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1N1
YnJlc291cmNlVW5kZXJUb3BGcmFtZU9yaWdpbihzdGF0aXN0aWNzVXJsLCB0b3BGcmFtZU9yaWdp
bjEpOworICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NTdWJyZXNvdXJjZVVuZGVyVG9w
RnJhbWVPcmlnaW4oc3RhdGlzdGljc1VybCwgdG9wRnJhbWVPcmlnaW4yKTsKKworICAgICAgICB0
ZXN0UnVubmVyLnN0YXRpc3RpY3NGaXJlRGF0YU1vZGlmaWNhdGlvbkhhbmRsZXIoKTsKKworICAg
ICAgICBpZiAodGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJjZShzdGF0aXN0
aWNzVXJsKSkKKyAgICAgICAgICAgIHRlc3RGYWlsZWQoIkhvc3QgY2xhc3NpZmllZCBhcyBwcmV2
YWxlbnQgcmVzb3VyY2UuIik7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIHRlc3RQYXNzZWQo
Ikhvc3QgZGlkIG5vdCBnZXQgY2xhc3NpZmllZCBhcyBwcmV2YWxlbnQgcmVzb3VyY2UuIik7CisK
KyAgICAgICAgdGVzdFJ1bm5lci5zdGF0aXN0aWNzUmVzZXRUb0NvbnNpc3RlbnRTdGF0ZSgpOwor
ICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKKyAgICB9CisKKyAgICBpZiAoZG9jdW1l
bnQubG9jYXRpb24uaG9zdCA9PT0gaG9zdFVuZGVyVGVzdCAmJiB3aW5kb3cudGVzdFJ1bm5lciAm
JiB3aW5kb3cuaW50ZXJuYWxzKSB7CisgICAgICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgp
OworICAgICAgICBpbnRlcm5hbHMuc2V0UmVzb3VyY2VMb2FkU3RhdGlzdGljc0VuYWJsZWQodHJ1
ZSk7CisgICAgICAgIHJ1blRlc3RSdW5uZXJUZXN0KCk7CisgICAgfQorPC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpJbmRleDogTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMt
bm9uLXByZXZhbGVudC1iYXNlZC1vbi1zdWJyZXNvdXJjZS11bmlxdWUtcmVkaXJlY3RzLXRvLWV4
cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2xvYWRpbmcv
cmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1ub24tcHJldmFsZW50LWJhc2VkLW9u
LXN1YnJlc291cmNlLXVuaXF1ZS1yZWRpcmVjdHMtdG8tZXhwZWN0ZWQudHh0CShub25leGlzdGVu
dCkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0
aWNzL2NsYXNzaWZ5LWFzLW5vbi1wcmV2YWxlbnQtYmFzZWQtb24tc3VicmVzb3VyY2UtdW5pcXVl
LXJlZGlyZWN0cy10by1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw4IEBA
CittYWluIGZyYW1lIC0gZGlkU3RhcnRQcm92aXNpb25hbExvYWRGb3JGcmFtZQorbWFpbiBmcmFt
ZSAtIGRpZENvbW1pdExvYWRGb3JGcmFtZQorbWFpbiBmcmFtZSAtIGRpZFJlY2VpdmVUaXRsZTog
VGVzdHMgZm9yIENsYXNzaWZpY2F0aW9uIEJhc2VkIG9uIFN1YnJlc291cmNlIFVuaXF1ZSBSZWRp
cmVjdHMgVG8KK21haW4gZnJhbWUgLSBkaWRGaW5pc2hEb2N1bWVudExvYWRGb3JGcmFtZQorbWFp
biBmcmFtZSAtIGRpZEhhbmRsZU9ubG9hZEV2ZW50c0ZvckZyYW1lCittYWluIGZyYW1lIC0gZGlk
RmluaXNoTG9hZEZvckZyYW1lCitQQVNTIEhvc3QgZGlkIG5vdCBnZXQgY2xhc3NpZmllZCBhcyBw
cmV2YWxlbnQgcmVzb3VyY2UuCisKSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvbG9hZGlu
Zy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLW5vbi1wcmV2YWxlbnQtYmFzZWQt
b24tc3VicmVzb3VyY2UtdW5pcXVlLXJlZGlyZWN0cy10by5odG1sCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL2h0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNz
aWZ5LWFzLW5vbi1wcmV2YWxlbnQtYmFzZWQtb24tc3VicmVzb3VyY2UtdW5pcXVlLXJlZGlyZWN0
cy10by5odG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvbG9hZGlu
Zy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLW5vbi1wcmV2YWxlbnQtYmFzZWQt
b24tc3VicmVzb3VyY2UtdW5pcXVlLXJlZGlyZWN0cy10by5odG1sCSh3b3JraW5nIGNvcHkpCkBA
IC0wLDAgKzEsNDAgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWwgbGFuZz0iZW4iPgorPGhlYWQ+
CisgICAgPG1ldGEgY2hhcnNldD0iVVRGLTgiPgorICAgIDx0aXRsZT5UZXN0cyBmb3IgQ2xhc3Np
ZmljYXRpb24gQmFzZWQgb24gU3VicmVzb3VyY2UgVW5pcXVlIFJlZGlyZWN0cyBUbzwvdGl0bGU+
CisgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3Jp
cHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQ+CisgICAgY29uc3QgaG9zdFVuZGVyVGVzdCA9
ICIxMjcuMC4wLjE6ODAwMCI7CisgICAgY29uc3Qgc3RhdGlzdGljc1VybCA9ICJodHRwOi8vIiAr
IGhvc3RVbmRlclRlc3QgKyAiL3RlbXAiOworICAgIGNvbnN0IHRvcEZyYW1lT3JpZ2luMSA9ICJo
dHRwOi8vMTI3LjAuMC4yOjgwMDAvdGVtcCI7CisgICAgY29uc3QgdG9wRnJhbWVPcmlnaW4yID0g
Imh0dHA6Ly8xMjcuMC4wLjM6ODAwMC90ZW1wIjsKKyAgICBmdW5jdGlvbiBydW5UZXN0UnVubmVy
VGVzdCgpIHsKKyAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzUHJldmFsZW50UmVzb3Vy
Y2Uoc3RhdGlzdGljc1VybCwgZmFsc2UpOworICAgICAgICBpZiAodGVzdFJ1bm5lci5pc1N0YXRp
c3RpY3NQcmV2YWxlbnRSZXNvdXJjZShzdGF0aXN0aWNzVXJsKSkKKyAgICAgICAgICAgIHRlc3RG
YWlsZWQoIkhvc3QgZGlkIG5vdCBnZXQgc2V0IGFzIG5vbi1wcmV2YWxlbnQgcmVzb3VyY2UuIik7
CisKKyAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzU3VicmVzb3VyY2VVbmlxdWVSZWRp
cmVjdFRvKHN0YXRpc3RpY3NVcmwsIHRvcEZyYW1lT3JpZ2luMSk7CisgICAgICAgIHRlc3RSdW5u
ZXIuc2V0U3RhdGlzdGljc1N1YnJlc291cmNlVW5pcXVlUmVkaXJlY3RUbyhzdGF0aXN0aWNzVXJs
LCB0b3BGcmFtZU9yaWdpbjIpOworCisgICAgICAgIHRlc3RSdW5uZXIuc3RhdGlzdGljc0ZpcmVE
YXRhTW9kaWZpY2F0aW9uSGFuZGxlcigpOworCisgICAgICAgIGlmICh0ZXN0UnVubmVyLmlzU3Rh
dGlzdGljc1ByZXZhbGVudFJlc291cmNlKHN0YXRpc3RpY3NVcmwpKQorICAgICAgICAgICAgdGVz
dEZhaWxlZCgiSG9zdCBjbGFzc2lmaWVkIGFzIHByZXZhbGVudCByZXNvdXJjZS4iKTsKKyAgICAg
ICAgZWxzZQorICAgICAgICAgICAgdGVzdFBhc3NlZCgiSG9zdCBkaWQgbm90IGdldCBjbGFzc2lm
aWVkIGFzIHByZXZhbGVudCByZXNvdXJjZS4iKTsKKworICAgICAgICB0ZXN0UnVubmVyLnN0YXRp
c3RpY3NSZXNldFRvQ29uc2lzdGVudFN0YXRlKCk7CisgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5
RG9uZSgpOworICAgIH0KKworICAgIGlmIChkb2N1bWVudC5sb2NhdGlvbi5ob3N0ID09PSBob3N0
VW5kZXJUZXN0ICYmIHdpbmRvdy50ZXN0UnVubmVyICYmIHdpbmRvdy5pbnRlcm5hbHMpIHsKKyAg
ICAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7CisgICAgICAgIGludGVybmFscy5zZXRS
ZXNvdXJjZUxvYWRTdGF0aXN0aWNzRW5hYmxlZCh0cnVlKTsKKyAgICAgICAgcnVuVGVzdFJ1bm5l
clRlc3QoKTsKKyAgICB9Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2xvYWRpbmcvcmVz
b3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1wcmV2YWxlbnQtYmFzZWQtb24tbWl4ZWQt
c3RhdGlzdGljcy1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtcHJldmFsZW50
LWJhc2VkLW9uLW1peGVkLXN0YXRpc3RpY3MtZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKKysr
IExheW91dFRlc3RzL2h0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2Ns
YXNzaWZ5LWFzLXByZXZhbGVudC1iYXNlZC1vbi1taXhlZC1zdGF0aXN0aWNzLWV4cGVjdGVkLnR4
dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDggQEAKK21haW4gZnJhbWUgLSBkaWRTdGFydFBy
b3Zpc2lvbmFsTG9hZEZvckZyYW1lCittYWluIGZyYW1lIC0gZGlkQ29tbWl0TG9hZEZvckZyYW1l
CittYWluIGZyYW1lIC0gZGlkUmVjZWl2ZVRpdGxlOiBUZXN0cyBmb3IgQ2xhc3NpZmljYXRpb24g
QmFzZWQgb24gTWl4ZWQgU3RhdGlzdGljcworbWFpbiBmcmFtZSAtIGRpZEZpbmlzaERvY3VtZW50
TG9hZEZvckZyYW1lCittYWluIGZyYW1lIC0gZGlkSGFuZGxlT25sb2FkRXZlbnRzRm9yRnJhbWUK
K21haW4gZnJhbWUgLSBkaWRGaW5pc2hMb2FkRm9yRnJhbWUKK1BBU1MgSG9zdCBjbGFzc2lmaWVk
IGFzIHByZXZhbGVudCByZXNvdXJjZS4KKwpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9s
b2FkaW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtcHJldmFsZW50LWJhc2Vk
LW9uLW1peGVkLXN0YXRpc3RpY3MuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1wcmV2YWxl
bnQtYmFzZWQtb24tbWl4ZWQtc3RhdGlzdGljcy5odG1sCShub25leGlzdGVudCkKKysrIExheW91
dFRlc3RzL2h0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5
LWFzLXByZXZhbGVudC1iYXNlZC1vbi1taXhlZC1zdGF0aXN0aWNzLmh0bWwJKHdvcmtpbmcgY29w
eSkKQEAgLTAsMCArMSw0OSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbCBsYW5nPSJlbiI+Cis8
aGVhZD4KKyAgICA8bWV0YSBjaGFyc2V0PSJVVEYtOCI+CisgICAgPHRpdGxlPlRlc3RzIGZvciBD
bGFzc2lmaWNhdGlvbiBCYXNlZCBvbiBNaXhlZCBTdGF0aXN0aWNzPC90aXRsZT4KKyAgICA8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHNjcmlwdD4KKyAgICBjb25zdCBob3N0VW5kZXJUZXN0ID0gIjEyNy4wLjAu
MTo4MDAwIjsKKyAgICBjb25zdCBzdGF0aXN0aWNzVXJsID0gImh0dHA6Ly8iICsgaG9zdFVuZGVy
VGVzdCArICIvdGVtcCI7CisgICAgY29uc3QgdG9wRnJhbWVPcmlnaW4xID0gImh0dHA6Ly8xMjcu
MC4wLjI6ODAwMC90ZW1wIjsKKyAgICBjb25zdCB0b3BGcmFtZU9yaWdpbjIgPSAiaHR0cDovLzEy
Ny4wLjAuMzo4MDAwL3RlbXAiOworICAgIGNvbnN0IHRvcEZyYW1lT3JpZ2luMyA9ICJodHRwOi8v
MTI3LjAuMC40OjgwMDAvdGVtcCI7CisgICAgY29uc3QgdG9wRnJhbWVPcmlnaW40ID0gImh0dHA6
Ly8xMjcuMC4wLjU6ODAwMC90ZW1wIjsKKyAgICBmdW5jdGlvbiBydW5UZXN0UnVubmVyVGVzdCgp
IHsKKyAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2Uoc3Rh
dGlzdGljc1VybCwgZmFsc2UpOworICAgICAgICBpZiAodGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NQ
cmV2YWxlbnRSZXNvdXJjZShzdGF0aXN0aWNzVXJsKSkKKyAgICAgICAgICAgIHRlc3RGYWlsZWQo
Ikhvc3QgZGlkIG5vdCBnZXQgc2V0IGFzIG5vbi1wcmV2YWxlbnQgcmVzb3VyY2UuIik7CisKKyAg
ICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzU3ViZnJhbWVVbmRlclRvcEZyYW1lT3JpZ2lu
KHN0YXRpc3RpY3NVcmwsIHRvcEZyYW1lT3JpZ2luMSk7CisgICAgICAgIHRlc3RSdW5uZXIuc2V0
U3RhdGlzdGljc1N1YmZyYW1lVW5kZXJUb3BGcmFtZU9yaWdpbihzdGF0aXN0aWNzVXJsLCB0b3BG
cmFtZU9yaWdpbjQpOworCisgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1N1YnJlc291
cmNlVW5kZXJUb3BGcmFtZU9yaWdpbihzdGF0aXN0aWNzVXJsLCB0b3BGcmFtZU9yaWdpbjIpOwor
ICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NTdWJyZXNvdXJjZVVuZGVyVG9wRnJhbWVP
cmlnaW4oc3RhdGlzdGljc1VybCwgdG9wRnJhbWVPcmlnaW4zKTsKKyAgICAgICAgdGVzdFJ1bm5l
ci5zZXRTdGF0aXN0aWNzU3VicmVzb3VyY2VVbmRlclRvcEZyYW1lT3JpZ2luKHN0YXRpc3RpY3NV
cmwsIHRvcEZyYW1lT3JpZ2luNCk7CisKKyAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNz
U3VicmVzb3VyY2VVbmlxdWVSZWRpcmVjdFRvKHN0YXRpc3RpY3NVcmwsIHRvcEZyYW1lT3JpZ2lu
Myk7CisgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1N1YnJlc291cmNlVW5pcXVlUmVk
aXJlY3RUbyhzdGF0aXN0aWNzVXJsLCB0b3BGcmFtZU9yaWdpbjEpOworCisgICAgICAgIHRlc3RS
dW5uZXIuc3RhdGlzdGljc0ZpcmVEYXRhTW9kaWZpY2F0aW9uSGFuZGxlcigpOworCisgICAgICAg
IGlmICghdGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJjZShzdGF0aXN0aWNz
VXJsKSkKKyAgICAgICAgICAgIHRlc3RGYWlsZWQoIkhvc3QgZGlkIG5vdCBnZXQgY2xhc3NpZmll
ZCBhcyBwcmV2YWxlbnQgcmVzb3VyY2UuIik7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIHRl
c3RQYXNzZWQoIkhvc3QgY2xhc3NpZmllZCBhcyBwcmV2YWxlbnQgcmVzb3VyY2UuIik7CisKKyAg
ICAgICAgdGVzdFJ1bm5lci5zdGF0aXN0aWNzUmVzZXRUb0NvbnNpc3RlbnRTdGF0ZSgpOworICAg
ICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKKyAgICB9CisKKyAgICBpZiAoZG9jdW1lbnQu
bG9jYXRpb24uaG9zdCA9PT0gaG9zdFVuZGVyVGVzdCAmJiB3aW5kb3cudGVzdFJ1bm5lciAmJiB3
aW5kb3cuaW50ZXJuYWxzKSB7CisgICAgICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwor
ICAgICAgICBpbnRlcm5hbHMuc2V0UmVzb3VyY2VMb2FkU3RhdGlzdGljc0VuYWJsZWQodHJ1ZSk7
CisgICAgICAgIHJ1blRlc3RSdW5uZXJUZXN0KCk7CisgICAgfQorPC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpJbmRleDogTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtcHJl
dmFsZW50LWJhc2VkLW9uLXN1Yi1mcmFtZS11bmRlci10b3AtZnJhbWUtb3JpZ2lucy1leHBlY3Rl
ZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291
cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtcHJldmFsZW50LWJhc2VkLW9uLXN1Yi1mcmFt
ZS11bmRlci10b3AtZnJhbWUtb3JpZ2lucy1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysg
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xh
c3NpZnktYXMtcHJldmFsZW50LWJhc2VkLW9uLXN1Yi1mcmFtZS11bmRlci10b3AtZnJhbWUtb3Jp
Z2lucy1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw4IEBACittYWluIGZy
YW1lIC0gZGlkU3RhcnRQcm92aXNpb25hbExvYWRGb3JGcmFtZQorbWFpbiBmcmFtZSAtIGRpZENv
bW1pdExvYWRGb3JGcmFtZQorbWFpbiBmcmFtZSAtIGRpZFJlY2VpdmVUaXRsZTogVGVzdHMgZm9y
IENsYXNzaWZpY2F0aW9uIEJhc2VkIG9uIFN1YiBGcmFtZSBVbmRlciBUb3AgRnJhbWUgT3JpZ2lu
cworbWFpbiBmcmFtZSAtIGRpZEZpbmlzaERvY3VtZW50TG9hZEZvckZyYW1lCittYWluIGZyYW1l
IC0gZGlkSGFuZGxlT25sb2FkRXZlbnRzRm9yRnJhbWUKK21haW4gZnJhbWUgLSBkaWRGaW5pc2hM
b2FkRm9yRnJhbWUKK1BBU1MgSG9zdCBjbGFzc2lmaWVkIGFzIHByZXZhbGVudCByZXNvdXJjZS4K
KwpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0YXRp
c3RpY3MvY2xhc3NpZnktYXMtcHJldmFsZW50LWJhc2VkLW9uLXN1Yi1mcmFtZS11bmRlci10b3At
ZnJhbWUtb3JpZ2lucy5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMv
bG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLXByZXZhbGVudC1iYXNl
ZC1vbi1zdWItZnJhbWUtdW5kZXItdG9wLWZyYW1lLW9yaWdpbnMuaHRtbAkobm9uZXhpc3RlbnQp
CisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGlj
cy9jbGFzc2lmeS1hcy1wcmV2YWxlbnQtYmFzZWQtb24tc3ViLWZyYW1lLXVuZGVyLXRvcC1mcmFt
ZS1vcmlnaW5zLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw0NCBAQAorPCFET0NUWVBF
IGh0bWw+Cis8aHRtbCBsYW5nPSJlbiI+Cis8aGVhZD4KKyAgICA8bWV0YSBjaGFyc2V0PSJVVEYt
OCI+CisgICAgPHRpdGxlPlRlc3RzIGZvciBDbGFzc2lmaWNhdGlvbiBCYXNlZCBvbiBTdWIgRnJh
bWUgVW5kZXIgVG9wIEZyYW1lIE9yaWdpbnM8L3RpdGxlPgorICAgIDxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8
c2NyaXB0PgorICAgIGNvbnN0IGhvc3RVbmRlclRlc3QgPSAiMTI3LjAuMC4xOjgwMDAiOworICAg
IGNvbnN0IHN0YXRpc3RpY3NVcmwgPSAiaHR0cDovLyIgKyBob3N0VW5kZXJUZXN0ICsgIi90ZW1w
IjsKKyAgICBjb25zdCB0b3BGcmFtZU9yaWdpbjEgPSAiaHR0cDovLzEyNy4wLjAuMjo4MDAwL3Rl
bXAiOworICAgIGNvbnN0IHRvcEZyYW1lT3JpZ2luMiA9ICJodHRwOi8vMTI3LjAuMC4zOjgwMDAv
dGVtcCI7CisgICAgY29uc3QgdG9wRnJhbWVPcmlnaW4zID0gImh0dHA6Ly8xMjcuMC4wLjQ6ODAw
MC90ZW1wIjsKKyAgICBjb25zdCB0b3BGcmFtZU9yaWdpbjQgPSAiaHR0cDovLzEyNy4wLjAuNTo4
MDAwL3RlbXAiOworICAgIGZ1bmN0aW9uIHJ1blRlc3RSdW5uZXJUZXN0KCkgeworICAgICAgICB0
ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJjZShzdGF0aXN0aWNzVXJsLCBm
YWxzZSk7CisgICAgICAgIGlmICh0ZXN0UnVubmVyLmlzU3RhdGlzdGljc1ByZXZhbGVudFJlc291
cmNlKHN0YXRpc3RpY3NVcmwpKQorICAgICAgICAgICAgdGVzdEZhaWxlZCgiSG9zdCBkaWQgbm90
IGdldCBzZXQgYXMgbm9uLXByZXZhbGVudCByZXNvdXJjZS4iKTsKKworICAgICAgICB0ZXN0UnVu
bmVyLnNldFN0YXRpc3RpY3NTdWJmcmFtZVVuZGVyVG9wRnJhbWVPcmlnaW4oc3RhdGlzdGljc1Vy
bCwgdG9wRnJhbWVPcmlnaW4xKTsKKyAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzU3Vi
ZnJhbWVVbmRlclRvcEZyYW1lT3JpZ2luKHN0YXRpc3RpY3NVcmwsIHRvcEZyYW1lT3JpZ2luMik7
CisgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1N1YmZyYW1lVW5kZXJUb3BGcmFtZU9y
aWdpbihzdGF0aXN0aWNzVXJsLCB0b3BGcmFtZU9yaWdpbjMpOworICAgICAgICB0ZXN0UnVubmVy
LnNldFN0YXRpc3RpY3NTdWJmcmFtZVVuZGVyVG9wRnJhbWVPcmlnaW4oc3RhdGlzdGljc1VybCwg
dG9wRnJhbWVPcmlnaW40KTsKKworICAgICAgICB0ZXN0UnVubmVyLnN0YXRpc3RpY3NGaXJlRGF0
YU1vZGlmaWNhdGlvbkhhbmRsZXIoKTsKKworICAgICAgICBpZiAoIXRlc3RSdW5uZXIuaXNTdGF0
aXN0aWNzUHJldmFsZW50UmVzb3VyY2Uoc3RhdGlzdGljc1VybCkpCisgICAgICAgICAgICB0ZXN0
RmFpbGVkKCJIb3N0IGRpZCBub3QgZ2V0IGNsYXNzaWZpZWQgYXMgcHJldmFsZW50IHJlc291cmNl
LiIpOworICAgICAgICBlbHNlCisgICAgICAgICAgICB0ZXN0UGFzc2VkKCJIb3N0IGNsYXNzaWZp
ZWQgYXMgcHJldmFsZW50IHJlc291cmNlLiIpOworCisgICAgICAgIHRlc3RSdW5uZXIuc3RhdGlz
dGljc1Jlc2V0VG9Db25zaXN0ZW50U3RhdGUoKTsKKyAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlE
b25lKCk7CisgICAgfQorCisgICAgaWYgKGRvY3VtZW50LmxvY2F0aW9uLmhvc3QgPT09IGhvc3RV
bmRlclRlc3QgJiYgd2luZG93LnRlc3RSdW5uZXIgJiYgd2luZG93LmludGVybmFscykgeworICAg
ICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKKyAgICAgICAgaW50ZXJuYWxzLnNldFJl
c291cmNlTG9hZFN0YXRpc3RpY3NFbmFibGVkKHRydWUpOworICAgICAgICBydW5UZXN0UnVubmVy
VGVzdCgpOworICAgIH0KKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvbG9hZGluZy9yZXNv
dXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLXByZXZhbGVudC1iYXNlZC1vbi1zdWJyZXNv
dXJjZS11bmRlci10b3AtZnJhbWUtb3JpZ2lucy1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xh
c3NpZnktYXMtcHJldmFsZW50LWJhc2VkLW9uLXN1YnJlc291cmNlLXVuZGVyLXRvcC1mcmFtZS1v
cmlnaW5zLWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1wcmV2YWxlbnQt
YmFzZWQtb24tc3VicmVzb3VyY2UtdW5kZXItdG9wLWZyYW1lLW9yaWdpbnMtZXhwZWN0ZWQudHh0
CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsOCBAQAorbWFpbiBmcmFtZSAtIGRpZFN0YXJ0UHJv
dmlzaW9uYWxMb2FkRm9yRnJhbWUKK21haW4gZnJhbWUgLSBkaWRDb21taXRMb2FkRm9yRnJhbWUK
K21haW4gZnJhbWUgLSBkaWRSZWNlaXZlVGl0bGU6IFRlc3RzIGZvciBDbGFzc2lmaWNhdGlvbiBC
YXNlZCBvbiBTdWJyZXNvdXJjZSBVbmRlciBUb3AgRnJhbWUgT3JpZ2lucworbWFpbiBmcmFtZSAt
IGRpZEZpbmlzaERvY3VtZW50TG9hZEZvckZyYW1lCittYWluIGZyYW1lIC0gZGlkSGFuZGxlT25s
b2FkRXZlbnRzRm9yRnJhbWUKK21haW4gZnJhbWUgLSBkaWRGaW5pc2hMb2FkRm9yRnJhbWUKK1BB
U1MgSG9zdCBjbGFzc2lmaWVkIGFzIHByZXZhbGVudCByZXNvdXJjZS4KKwpJbmRleDogTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnkt
YXMtcHJldmFsZW50LWJhc2VkLW9uLXN1YnJlc291cmNlLXVuZGVyLXRvcC1mcmFtZS1vcmlnaW5z
Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291
cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtcHJldmFsZW50LWJhc2VkLW9uLXN1YnJlc291
cmNlLXVuZGVyLXRvcC1mcmFtZS1vcmlnaW5zLmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnkt
YXMtcHJldmFsZW50LWJhc2VkLW9uLXN1YnJlc291cmNlLXVuZGVyLXRvcC1mcmFtZS1vcmlnaW5z
Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw0NCBAQAorPCFET0NUWVBFIGh0bWw+Cis8
aHRtbCBsYW5nPSJlbiI+Cis8aGVhZD4KKyAgICA8bWV0YSBjaGFyc2V0PSJVVEYtOCI+CisgICAg
PHRpdGxlPlRlc3RzIGZvciBDbGFzc2lmaWNhdGlvbiBCYXNlZCBvbiBTdWJyZXNvdXJjZSBVbmRl
ciBUb3AgRnJhbWUgT3JpZ2luczwvdGl0bGU+CisgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQ+
CisgICAgY29uc3QgaG9zdFVuZGVyVGVzdCA9ICIxMjcuMC4wLjE6ODAwMCI7CisgICAgY29uc3Qg
c3RhdGlzdGljc1VybCA9ICJodHRwOi8vIiArIGhvc3RVbmRlclRlc3QgKyAiL3RlbXAiOworICAg
IGNvbnN0IHRvcEZyYW1lT3JpZ2luMSA9ICJodHRwOi8vMTI3LjAuMC4yOjgwMDAvdGVtcCI7Cisg
ICAgY29uc3QgdG9wRnJhbWVPcmlnaW4yID0gImh0dHA6Ly8xMjcuMC4wLjM6ODAwMC90ZW1wIjsK
KyAgICBjb25zdCB0b3BGcmFtZU9yaWdpbjMgPSAiaHR0cDovLzEyNy4wLjAuNDo4MDAwL3RlbXAi
OworICAgIGNvbnN0IHRvcEZyYW1lT3JpZ2luNCA9ICJodHRwOi8vMTI3LjAuMC41OjgwMDAvdGVt
cCI7CisgICAgZnVuY3Rpb24gcnVuVGVzdFJ1bm5lclRlc3QoKSB7CisgICAgICAgIHRlc3RSdW5u
ZXIuc2V0U3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNlKHN0YXRpc3RpY3NVcmwsIGZhbHNlKTsK
KyAgICAgICAgaWYgKHRlc3RSdW5uZXIuaXNTdGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2Uoc3Rh
dGlzdGljc1VybCkpCisgICAgICAgICAgICB0ZXN0RmFpbGVkKCJIb3N0IGRpZCBub3QgZ2V0IHNl
dCBhcyBub24tcHJldmFsZW50IHJlc291cmNlLiIpOworCisgICAgICAgIHRlc3RSdW5uZXIuc2V0
U3RhdGlzdGljc1N1YnJlc291cmNlVW5kZXJUb3BGcmFtZU9yaWdpbihzdGF0aXN0aWNzVXJsLCB0
b3BGcmFtZU9yaWdpbjEpOworICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NTdWJyZXNv
dXJjZVVuZGVyVG9wRnJhbWVPcmlnaW4oc3RhdGlzdGljc1VybCwgdG9wRnJhbWVPcmlnaW4yKTsK
KyAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzU3VicmVzb3VyY2VVbmRlclRvcEZyYW1l
T3JpZ2luKHN0YXRpc3RpY3NVcmwsIHRvcEZyYW1lT3JpZ2luMyk7CisgICAgICAgIHRlc3RSdW5u
ZXIuc2V0U3RhdGlzdGljc1N1YnJlc291cmNlVW5kZXJUb3BGcmFtZU9yaWdpbihzdGF0aXN0aWNz
VXJsLCB0b3BGcmFtZU9yaWdpbjQpOworCisgICAgICAgIHRlc3RSdW5uZXIuc3RhdGlzdGljc0Zp
cmVEYXRhTW9kaWZpY2F0aW9uSGFuZGxlcigpOworCisgICAgICAgIGlmICghdGVzdFJ1bm5lci5p
c1N0YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJjZShzdGF0aXN0aWNzVXJsKSkKKyAgICAgICAgICAg
IHRlc3RGYWlsZWQoIkhvc3QgZGlkIG5vdCBnZXQgY2xhc3NpZmllZCBhcyBwcmV2YWxlbnQgcmVz
b3VyY2UuIik7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIHRlc3RQYXNzZWQoIkhvc3QgY2xh
c3NpZmllZCBhcyBwcmV2YWxlbnQgcmVzb3VyY2UuIik7CisKKyAgICAgICAgdGVzdFJ1bm5lci5z
dGF0aXN0aWNzUmVzZXRUb0NvbnNpc3RlbnRTdGF0ZSgpOworICAgICAgICB0ZXN0UnVubmVyLm5v
dGlmeURvbmUoKTsKKyAgICB9CisKKyAgICBpZiAoZG9jdW1lbnQubG9jYXRpb24uaG9zdCA9PT0g
aG9zdFVuZGVyVGVzdCAmJiB3aW5kb3cudGVzdFJ1bm5lciAmJiB3aW5kb3cuaW50ZXJuYWxzKSB7
CisgICAgICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOworICAgICAgICBpbnRlcm5hbHMu
c2V0UmVzb3VyY2VMb2FkU3RhdGlzdGljc0VuYWJsZWQodHJ1ZSk7CisgICAgICAgIHJ1blRlc3RS
dW5uZXJUZXN0KCk7CisgICAgfQorPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgZmlsZQpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9sb2FkaW5n
L3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtcHJldmFsZW50LWJhc2VkLW9uLXN1
YnJlc291cmNlLXVuaXF1ZS1yZWRpcmVjdHMtdG8tZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL2h0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2Ns
YXNzaWZ5LWFzLXByZXZhbGVudC1iYXNlZC1vbi1zdWJyZXNvdXJjZS11bmlxdWUtcmVkaXJlY3Rz
LXRvLWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1wcmV2YWxlbnQtYmFz
ZWQtb24tc3VicmVzb3VyY2UtdW5pcXVlLXJlZGlyZWN0cy10by1leHBlY3RlZC50eHQJKHdvcmtp
bmcgY29weSkKQEAgLTAsMCArMSw4IEBACittYWluIGZyYW1lIC0gZGlkU3RhcnRQcm92aXNpb25h
bExvYWRGb3JGcmFtZQorbWFpbiBmcmFtZSAtIGRpZENvbW1pdExvYWRGb3JGcmFtZQorbWFpbiBm
cmFtZSAtIGRpZFJlY2VpdmVUaXRsZTogVGVzdHMgZm9yIENsYXNzaWZpY2F0aW9uIEJhc2VkIG9u
IFN1YnJlc291cmNlIFVuaXF1ZSBSZWRpcmVjdHMgVG8KK21haW4gZnJhbWUgLSBkaWRGaW5pc2hE
b2N1bWVudExvYWRGb3JGcmFtZQorbWFpbiBmcmFtZSAtIGRpZEhhbmRsZU9ubG9hZEV2ZW50c0Zv
ckZyYW1lCittYWluIGZyYW1lIC0gZGlkRmluaXNoTG9hZEZvckZyYW1lCitQQVNTIEhvc3QgY2xh
c3NpZmllZCBhcyBwcmV2YWxlbnQgcmVzb3VyY2UuCisKSW5kZXg6IExheW91dFRlc3RzL2h0dHAv
dGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLXByZXZhbGVu
dC1iYXNlZC1vbi1zdWJyZXNvdXJjZS11bmlxdWUtcmVkaXJlY3RzLXRvLmh0bWwKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0YXRpc3Rp
Y3MvY2xhc3NpZnktYXMtcHJldmFsZW50LWJhc2VkLW9uLXN1YnJlc291cmNlLXVuaXF1ZS1yZWRp
cmVjdHMtdG8uaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2xv
YWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1wcmV2YWxlbnQtYmFzZWQt
b24tc3VicmVzb3VyY2UtdW5pcXVlLXJlZGlyZWN0cy10by5odG1sCSh3b3JraW5nIGNvcHkpCkBA
IC0wLDAgKzEsNDQgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWwgbGFuZz0iZW4iPgorPGhlYWQ+
CisgICAgPG1ldGEgY2hhcnNldD0iVVRGLTgiPgorICAgIDx0aXRsZT5UZXN0cyBmb3IgQ2xhc3Np
ZmljYXRpb24gQmFzZWQgb24gU3VicmVzb3VyY2UgVW5pcXVlIFJlZGlyZWN0cyBUbzwvdGl0bGU+
CisgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3Jp
cHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQ+CisgICAgY29uc3QgaG9zdFVuZGVyVGVzdCA9
ICIxMjcuMC4wLjE6ODAwMCI7CisgICAgY29uc3Qgc3RhdGlzdGljc1VybCA9ICJodHRwOi8vIiAr
IGhvc3RVbmRlclRlc3QgKyAiL3RlbXAiOworICAgIGNvbnN0IHRvcEZyYW1lT3JpZ2luMSA9ICJo
dHRwOi8vMTI3LjAuMC4yOjgwMDAvdGVtcCI7CisgICAgY29uc3QgdG9wRnJhbWVPcmlnaW4yID0g
Imh0dHA6Ly8xMjcuMC4wLjM6ODAwMC90ZW1wIjsKKyAgICBjb25zdCB0b3BGcmFtZU9yaWdpbjMg
PSAiaHR0cDovLzEyNy4wLjAuNDo4MDAwL3RlbXAiOworICAgIGNvbnN0IHRvcEZyYW1lT3JpZ2lu
NCA9ICJodHRwOi8vMTI3LjAuMC41OjgwMDAvdGVtcCI7CisgICAgZnVuY3Rpb24gcnVuVGVzdFJ1
bm5lclRlc3QoKSB7CisgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1ByZXZhbGVudFJl
c291cmNlKHN0YXRpc3RpY3NVcmwsIGZhbHNlKTsKKyAgICAgICAgaWYgKHRlc3RSdW5uZXIuaXNT
dGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2Uoc3RhdGlzdGljc1VybCkpCisgICAgICAgICAgICB0
ZXN0RmFpbGVkKCJIb3N0IGRpZCBub3QgZ2V0IHNldCBhcyBub24tcHJldmFsZW50IHJlc291cmNl
LiIpOworCisgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1N1YnJlc291cmNlVW5pcXVl
UmVkaXJlY3RUbyhzdGF0aXN0aWNzVXJsLCB0b3BGcmFtZU9yaWdpbjEpOworICAgICAgICB0ZXN0
UnVubmVyLnNldFN0YXRpc3RpY3NTdWJyZXNvdXJjZVVuaXF1ZVJlZGlyZWN0VG8oc3RhdGlzdGlj
c1VybCwgdG9wRnJhbWVPcmlnaW4yKTsKKyAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNz
U3VicmVzb3VyY2VVbmlxdWVSZWRpcmVjdFRvKHN0YXRpc3RpY3NVcmwsIHRvcEZyYW1lT3JpZ2lu
Myk7CisgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1N1YnJlc291cmNlVW5pcXVlUmVk
aXJlY3RUbyhzdGF0aXN0aWNzVXJsLCB0b3BGcmFtZU9yaWdpbjQpOworCisgICAgICAgIHRlc3RS
dW5uZXIuc3RhdGlzdGljc0ZpcmVEYXRhTW9kaWZpY2F0aW9uSGFuZGxlcigpOworCisgICAgICAg
IGlmICghdGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJjZShzdGF0aXN0aWNz
VXJsKSkKKyAgICAgICAgICAgIHRlc3RGYWlsZWQoIkhvc3QgZGlkIG5vdCBnZXQgY2xhc3NpZmll
ZCBhcyBwcmV2YWxlbnQgcmVzb3VyY2UuIik7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIHRl
c3RQYXNzZWQoIkhvc3QgY2xhc3NpZmllZCBhcyBwcmV2YWxlbnQgcmVzb3VyY2UuIik7CisKKyAg
ICAgICAgdGVzdFJ1bm5lci5zdGF0aXN0aWNzUmVzZXRUb0NvbnNpc3RlbnRTdGF0ZSgpOworICAg
ICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKKyAgICB9CisKKyAgICBpZiAoZG9jdW1lbnQu
bG9jYXRpb24uaG9zdCA9PT0gaG9zdFVuZGVyVGVzdCAmJiB3aW5kb3cudGVzdFJ1bm5lciAmJiB3
aW5kb3cuaW50ZXJuYWxzKSB7CisgICAgICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwor
ICAgICAgICBpbnRlcm5hbHMuc2V0UmVzb3VyY2VMb2FkU3RhdGlzdGljc0VuYWJsZWQodHJ1ZSk7
CisgICAgICAgIHJ1blRlc3RSdW5uZXJUZXN0KCk7CisgICAgfQorPC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvVGVzdEV4cGVjdGF0aW9u
cwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvVGVzdEV4cGVjdGF0aW9u
cwkocmV2aXNpb24gMjEyNjU2KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1Rlc3RFeHBl
Y3RhdGlvbnMJKHdvcmtpbmcgY29weSkKQEAgLTkzMSwxMSArOTMxLDcgQEAgd2Via2l0Lm9yZy9i
LzEzMTU0NiBtZWRpYS90cmFjay90cmFjay1pbgogCiB3ZWJraXQub3JnL2IvMTYzNzgyIG1lZGlh
L3ZpZGVvLXBsYXllZC1yYW5nZXMtMS5odG1sIFsgQ3Jhc2ggUGFzcyBdCiAKLXdlYmtpdC5vcmcv
Yi8xNjgxNzEgaHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvbm9uLXBy
ZXZhbGVudC1yZXNvdXJjZS13aXRoLXVzZXItaW50ZXJhY3Rpb24uaHRtbCBbIENyYXNoIF0KLXdl
YmtpdC5vcmcvYi8xNjgxNzEgaHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0YXRpc3Rp
Y3Mvbm9uLXByZXZhbGVudC1yZXNvdXJjZS13aXRob3V0LXVzZXItaW50ZXJhY3Rpb24uaHRtbCBb
IENyYXNoIF0KLXdlYmtpdC5vcmcvYi8xNjgxNzEgaHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNl
TG9hZFN0YXRpc3RpY3MvcHJldmFsZW50LXJlc291cmNlLXdpdGgtdXNlci1pbnRlcmFjdGlvbi10
aW1lb3V0Lmh0bWwgWyBDcmFzaCBdCi13ZWJraXQub3JnL2IvMTY4MTcxIGh0dHAvdGVzdHMvbG9h
ZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3ByZXZhbGVudC1yZXNvdXJjZS13aXRoLXVzZXIt
aW50ZXJhY3Rpb24uaHRtbCBbIENyYXNoIF0KLXdlYmtpdC5vcmcvYi8xNjgxNzEgaHR0cC90ZXN0
cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvcHJldmFsZW50LXJlc291cmNlLXdpdGhv
dXQtdXNlci1pbnRlcmFjdGlvbi5odG1sIFsgQ3Jhc2ggXQord2Via2l0Lm9yZy9iLzE2ODE3MSBo
dHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcyBbIENyYXNoIF0KIAogd2Vi
a2l0Lm9yZy9iLzE2NzU3NiBpbXBvcnRlZC93M2MvSW5kZXhlZERCLXByaXZhdGUtYnJvd3Npbmcv
aWRiY3Vyc29yX2l0ZXJhdGluZy5odG1sIFsgQ3Jhc2ggXQogd2Via2l0Lm9yZy9iLzE2NzU3NiBp
bXBvcnRlZC93M2MvSW5kZXhlZERCLXByaXZhdGUtYnJvd3NpbmcvaWRiY3Vyc29yX2l0ZXJhdGlu
Z19pbmRleC5odG1sIFsgQ3Jhc2ggXQpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2syL1Rl
c3RFeHBlY3RhdGlvbnMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2syL1Rl
c3RFeHBlY3RhdGlvbnMJKHJldmlzaW9uIDIxMjY1NikKKysrIExheW91dFRlc3RzL3BsYXRmb3Jt
L3drMi9UZXN0RXhwZWN0YXRpb25zCSh3b3JraW5nIGNvcHkpCkBAIC03MDUsNiArNzA1LDE0IEBA
IGh0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWMKIGh0dHAvdGVzdHMvbG9h
ZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL25vbi1wcmV2YWxlbnQtcmVzb3VyY2Utd2l0aG91
dC11c2VyLWludGVyYWN0aW9uLmh0bWwgWyBQYXNzIFRpbWVvdXQgXQogaHR0cC90ZXN0cy9sb2Fk
aW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvcHJldmFsZW50LXJlc291cmNlLXdpdGhvdXQtdXNl
ci1pbnRlcmFjdGlvbi5odG1sIFsgUGFzcyBUaW1lb3V0IF0KIGh0dHAvdGVzdHMvbG9hZGluZy9y
ZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3ByZXZhbGVudC1yZXNvdXJjZS13aXRoLXVzZXItaW50ZXJh
Y3Rpb24tdGltZW91dC5odG1sIFsgUGFzcyBUaW1lb3V0IF0KK2h0dHAvdGVzdHMvbG9hZGluZy9y
ZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLW5vbi1wcmV2YWxlbnQtYmFzZWQtb24t
bWl4ZWQtc3RhdGlzdGljcy5odG1sIFsgUGFzcyBdCitodHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3Vy
Y2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1ub24tcHJldmFsZW50LWJhc2VkLW9uLXN1Yi1m
cmFtZS11bmRlci10b3AtZnJhbWUtb3JpZ2lucy5odG1sIFsgUGFzcyBdCitodHRwL3Rlc3RzL2xv
YWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1ub24tcHJldmFsZW50LWJh
c2VkLW9uLXN1YnJlc291cmNlLXVuZGVyLXRvcC1mcmFtZS1vcmlnaW5zLmh0bWwgWyBQYXNzIF0K
K2h0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLW5v
bi1wcmV2YWxlbnQtYmFzZWQtb24tc3VicmVzb3VyY2UtdW5pcXVlLXJlZGlyZWN0cy10by5odG1s
IFsgUGFzcyBdCitodHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFz
c2lmeS1hcy1wcmV2YWxlbnQtYmFzZWQtb24tbWl4ZWQtc3RhdGlzdGljcy5odG1sIFsgUGFzcyBd
CitodHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1w
cmV2YWxlbnQtYmFzZWQtb24tc3ViLWZyYW1lLXVuZGVyLXRvcC1mcmFtZS1vcmlnaW5zLmh0bWwg
WyBQYXNzIF0KK2h0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNz
aWZ5LWFzLXByZXZhbGVudC1iYXNlZC1vbi1zdWJyZXNvdXJjZS11bmRlci10b3AtZnJhbWUtb3Jp
Z2lucy5odG1sIFsgUGFzcyBdCitodHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlz
dGljcy9jbGFzc2lmeS1hcy1wcmV2YWxlbnQtYmFzZWQtb24tc3VicmVzb3VyY2UtdW5pcXVlLXJl
ZGlyZWN0cy10by5odG1sIFsgUGFzcyBdCiAKICMjIyBFTkQgT0YgKDUpIFByb2dyZXNzaW9ucywg
ZXhwZWN0ZWQgc3VjY2Vzc2VzIHRoYXQgYXJlIGV4cGVjdGVkIGZhaWx1cmVzIGluIFdlYktpdDEu
CiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>302473</attachid>
            <date>2017-02-22 17:57:06 -0800</date>
            <delta_ts>2017-02-23 18:33:34 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-168347-20170222175419.patch</filename>
            <type>text/plain</type>
            <size>125820</size>
            <attacher name="John Wilander">wilander</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XVEYvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XVEYvQ2hh
bmdlTG9nCShyZXZpc2lvbiAyMTI4NTYpCisrKyBTb3VyY2UvV1RGL0NoYW5nZUxvZwkod29ya2lu
ZyBjb3B5KQpAQCAtMSwzICsxLDE2IEBACisyMDE3LTAyLTIyICBKb2huIFdpbGFuZGVyICA8d2ls
YW5kZXJAYXBwbGUuY29tPgorCisgICAgICAgIFJlc291cmNlIExvYWQgU3RhdGlzdGljczogQWRk
IGFsdGVybmF0ZSBjbGFzc2lmaWNhdGlvbiBtZXRob2QKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2ODM0NworICAgICAgICA8cmRhcjovL3Byb2JsZW0v
MzAzNTI3OTM+CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8zMDY0NjcxMD4KKyAgICAgICAgPHJk
YXI6Ly9wcm9ibGVtLzMwNjYwNzA4PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgICogd3RmL1BsYXRmb3JtLmg6CisgICAgICAgICAgICBBZGRlZCBzdXBw
b3J0IGZvciBIQVZFKENPUkVfUFJFRElDVElPTikuCisKIDIwMTctMDItMjIgIEFsZXggQ2hyaXN0
ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4KIAogICAgICAgICBSZS1jb21taXQgcGFy
dCBvZiByMjEyODEyIGFjY2lkZW50YWxseSByb2xsZWQgb3V0IHdpdGggcjIxMjg0MS4KSW5kZXg6
IFNvdXJjZS9XVEYvd3RmL1BsYXRmb3JtLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dURi93dGYv
UGxhdGZvcm0uaAkocmV2aXNpb24gMjEyODU2KQorKysgU291cmNlL1dURi93dGYvUGxhdGZvcm0u
aAkod29ya2luZyBjb3B5KQpAQCAtMTIxMiw0ICsxMjEyLDkgQEAKICNkZWZpbmUgVVNFX0xJQldF
QlJUQyAxCiAjZW5kaWYKIAorLyogQ29yZVByZWRpY3Rpb24gb25seSBleGlzdHMgb24gNjQtYml0
IHBsYXRmb3Jtcy4gKi8KKyNpZiBVU0UoSlNWQUxVRTY0KSAmJiAoUExBVEZPUk0oSU9TKSB8fCAo
UExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMTIw
MCkpCisjZGVmaW5lIEhBVkVfQ09SRV9QUkVESUNUSU9OIDEKKyNlbmRpZgorCiAjZW5kaWYgLyog
V1RGX1BsYXRmb3JtX2ggKi8KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDIxMjg1NikKKysrIFNv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDMwIEBACisy
MDE3LTAyLTIyICBKb2huIFdpbGFuZGVyICA8d2lsYW5kZXJAYXBwbGUuY29tPgorCisgICAgICAg
IFJlc291cmNlIExvYWQgU3RhdGlzdGljczogQWRkIGFsdGVybmF0ZSBjbGFzc2lmaWNhdGlvbiBt
ZXRob2QKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2
ODM0NworICAgICAgICA8cmRhcjovL3Byb2JsZW0vMzAzNTI3OTM+CisgICAgICAgIDxyZGFyOi8v
cHJvYmxlbS8zMDY0NjcxMD4KKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzMwNjYwNzA4PgorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoaXMgcGF0Y2gg
b25seSBhZGRzIHRlc3QgaW5mcmFzdHJ1Y3R1cmUgaW4gV2ViQ29yZS4KKworICAgICAgICBUZXN0
czogaHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMt
bm9uLXByZXZhbGVudC1iYXNlZC1vbi1taXhlZC1zdGF0aXN0aWNzLmh0bWwKKyAgICAgICAgICAg
ICAgIGh0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFz
LW5vbi1wcmV2YWxlbnQtYmFzZWQtb24tc3ViLWZyYW1lLXVuZGVyLXRvcC1mcmFtZS1vcmlnaW5z
Lmh0bWwKKyAgICAgICAgICAgICAgIGh0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0
aXN0aWNzL2NsYXNzaWZ5LWFzLW5vbi1wcmV2YWxlbnQtYmFzZWQtb24tc3VicmVzb3VyY2UtdW5k
ZXItdG9wLWZyYW1lLW9yaWdpbnMuaHRtbAorICAgICAgICAgICAgICAgaHR0cC90ZXN0cy9sb2Fk
aW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtbm9uLXByZXZhbGVudC1iYXNl
ZC1vbi1zdWJyZXNvdXJjZS11bmlxdWUtcmVkaXJlY3RzLXRvLmh0bWwKKyAgICAgICAgICAgICAg
IGh0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLXBy
ZXZhbGVudC1iYXNlZC1vbi1taXhlZC1zdGF0aXN0aWNzLmh0bWwKKyAgICAgICAgICAgICAgIGh0
dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLXByZXZh
bGVudC1iYXNlZC1vbi1zdWItZnJhbWUtdW5kZXItdG9wLWZyYW1lLW9yaWdpbnMuaHRtbAorICAg
ICAgICAgICAgICAgaHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xh
c3NpZnktYXMtcHJldmFsZW50LWJhc2VkLW9uLXN1YnJlc291cmNlLXVuZGVyLXRvcC1mcmFtZS1v
cmlnaW5zLmh0bWwKKyAgICAgICAgICAgICAgIGh0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxv
YWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLXByZXZhbGVudC1iYXNlZC1vbi1zdWJyZXNvdXJjZS11
bmlxdWUtcmVkaXJlY3RzLXRvLmh0bWwKKworICAgICAgICAqIGxvYWRlci9SZXNvdXJjZUxvYWRP
YnNlcnZlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZUxvYWRPYnNlcnZlcjo6c2V0
U3ViZnJhbWVVbmRlclRvcEZyYW1lT3JpZ2luKToKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNl
TG9hZE9ic2VydmVyOjpzZXRTdWJyZXNvdXJjZVVuZGVyVG9wRnJhbWVPcmlnaW4pOgorICAgICAg
ICAoV2ViQ29yZTo6UmVzb3VyY2VMb2FkT2JzZXJ2ZXI6OnNldFN1YnJlc291cmNlVW5pcXVlUmVk
aXJlY3RUbyk6CisgICAgICAgICogbG9hZGVyL1Jlc291cmNlTG9hZE9ic2VydmVyLmg6CisKIDIw
MTctMDItMjIgIFphbGFuIEJ1anRhcyAgPHphbGFuQGFwcGxlLmNvbT4KIAogICAgICAgICBTaW1w
bGUgbGluZSBsYXlvdXQ6IFNldCB0aGUgcGFnaW5hdGlvbiBzdHJ1dCBvbiB0aGUgZmxvdyB3aGVu
IHRoZSBmaXJzdCBsaW5lIGRvZXMgbm90IGZpdCB0aGUgcGFnZS4KSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL2xvYWRlci9SZXNvdXJjZUxvYWRPYnNlcnZlci5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlTG9hZE9ic2VydmVyLmNwcAkocmV2aXNpb24gMjEyODU2
KQorKysgU291cmNlL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlTG9hZE9ic2VydmVyLmNwcAkod29y
a2luZyBjb3B5KQpAQCAtMzc1LDYgKzM3NSwzMyBAQCB2b2lkIFJlc291cmNlTG9hZE9ic2VydmVy
OjpjbGVhclByZXZhbGVuCiAgICAgc3RhdGlzdGljcy5pc1ByZXZhbGVudFJlc291cmNlID0gZmFs
c2U7CiB9CiAKK3ZvaWQgUmVzb3VyY2VMb2FkT2JzZXJ2ZXI6OnNldFN1YmZyYW1lVW5kZXJUb3BG
cmFtZU9yaWdpbihjb25zdCBVUkwmIHN1YmZyYW1lLCBjb25zdCBVUkwmIHRvcEZyYW1lKQorewor
ICAgIGlmIChzdWJmcmFtZS5pc0JsYW5rVVJMKCkgfHwgc3ViZnJhbWUuaXNFbXB0eSgpIHx8IHRv
cEZyYW1lLmlzQmxhbmtVUkwoKSB8fCB0b3BGcmFtZS5pc0VtcHR5KCkpCisgICAgICAgIHJldHVy
bjsKKyAgICAKKyAgICBhdXRvJiBzdGF0aXN0aWNzID0gbV9zdG9yZS0+ZW5zdXJlUmVzb3VyY2VT
dGF0aXN0aWNzRm9yUHJpbWFyeURvbWFpbihwcmltYXJ5RG9tYWluKHN1YmZyYW1lKSk7CisgICAg
c3RhdGlzdGljcy5zdWJmcmFtZVVuZGVyVG9wRnJhbWVPcmlnaW5zLmFkZChwcmltYXJ5RG9tYWlu
KHRvcEZyYW1lKSk7Cit9CisKK3ZvaWQgUmVzb3VyY2VMb2FkT2JzZXJ2ZXI6OnNldFN1YnJlc291
cmNlVW5kZXJUb3BGcmFtZU9yaWdpbihjb25zdCBVUkwmIHN1YnJlc291cmNlLCBjb25zdCBVUkwm
IHRvcEZyYW1lKQoreworICAgIGlmIChzdWJyZXNvdXJjZS5pc0JsYW5rVVJMKCkgfHwgc3VicmVz
b3VyY2UuaXNFbXB0eSgpIHx8IHRvcEZyYW1lLmlzQmxhbmtVUkwoKSB8fCB0b3BGcmFtZS5pc0Vt
cHR5KCkpCisgICAgICAgIHJldHVybjsKKyAgICAKKyAgICBhdXRvJiBzdGF0aXN0aWNzID0gbV9z
dG9yZS0+ZW5zdXJlUmVzb3VyY2VTdGF0aXN0aWNzRm9yUHJpbWFyeURvbWFpbihwcmltYXJ5RG9t
YWluKHN1YnJlc291cmNlKSk7CisgICAgc3RhdGlzdGljcy5zdWJyZXNvdXJjZVVuZGVyVG9wRnJh
bWVPcmlnaW5zLmFkZChwcmltYXJ5RG9tYWluKHRvcEZyYW1lKSk7Cit9CisKK3ZvaWQgUmVzb3Vy
Y2VMb2FkT2JzZXJ2ZXI6OnNldFN1YnJlc291cmNlVW5pcXVlUmVkaXJlY3RUbyhjb25zdCBVUkwm
IHN1YnJlc291cmNlLCBjb25zdCBVUkwmIGhvc3ROYW1lUmVkaXJlY3RlZFRvKQoreworICAgIGlm
IChzdWJyZXNvdXJjZS5pc0JsYW5rVVJMKCkgfHwgc3VicmVzb3VyY2UuaXNFbXB0eSgpIHx8IGhv
c3ROYW1lUmVkaXJlY3RlZFRvLmlzQmxhbmtVUkwoKSB8fCBob3N0TmFtZVJlZGlyZWN0ZWRUby5p
c0VtcHR5KCkpCisgICAgICAgIHJldHVybjsKKyAgICAKKyAgICBhdXRvJiBzdGF0aXN0aWNzID0g
bV9zdG9yZS0+ZW5zdXJlUmVzb3VyY2VTdGF0aXN0aWNzRm9yUHJpbWFyeURvbWFpbihwcmltYXJ5
RG9tYWluKHN1YnJlc291cmNlKSk7CisgICAgc3RhdGlzdGljcy5zdWJyZXNvdXJjZVVuaXF1ZVJl
ZGlyZWN0c1RvLmFkZChwcmltYXJ5RG9tYWluKGhvc3ROYW1lUmVkaXJlY3RlZFRvKSk7Cit9CisK
IHZvaWQgUmVzb3VyY2VMb2FkT2JzZXJ2ZXI6OnNldFRpbWVUb0xpdmVVc2VySW50ZXJhY3Rpb24o
ZG91YmxlIHNlY29uZHMpCiB7CiAgICAgbV9zdG9yZS0+c2V0VGltZVRvTGl2ZVVzZXJJbnRlcmFj
dGlvbihzZWNvbmRzKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZUxvYWRP
YnNlcnZlci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZUxv
YWRPYnNlcnZlci5oCShyZXZpc2lvbiAyMTI4NTYpCisrKyBTb3VyY2UvV2ViQ29yZS9sb2FkZXIv
UmVzb3VyY2VMb2FkT2JzZXJ2ZXIuaAkod29ya2luZyBjb3B5KQpAQCAtNTgsNiArNTgsMTAgQEAg
cHVibGljOgogICAgIFdFQkNPUkVfRVhQT1JUIGJvb2wgaXNQcmV2YWxlbnRSZXNvdXJjZShjb25z
dCBVUkwmKTsKICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIGNsZWFyUHJldmFsZW50UmVzb3VyY2Uo
Y29uc3QgVVJMJik7CiAKKyAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHNldFN1YmZyYW1lVW5kZXJU
b3BGcmFtZU9yaWdpbihjb25zdCBVUkwmIHN1YmZyYW1lLCBjb25zdCBVUkwmIHRvcEZyYW1lKTsK
KyAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHNldFN1YnJlc291cmNlVW5kZXJUb3BGcmFtZU9yaWdp
bihjb25zdCBVUkwmIHN1YnJlc291cmNlLCBjb25zdCBVUkwmIHRvcEZyYW1lKTsKKyAgICBXRUJD
T1JFX0VYUE9SVCB2b2lkIHNldFN1YnJlc291cmNlVW5pcXVlUmVkaXJlY3RUbyhjb25zdCBVUkwm
IHN1YnJlc291cmNlLCBjb25zdCBVUkwmIGhvc3ROYW1lUmVkaXJlY3RlZFRvKTsKKwogICAgIFdF
QkNPUkVfRVhQT1JUIHZvaWQgc2V0VGltZVRvTGl2ZVVzZXJJbnRlcmFjdGlvbihkb3VibGUgc2Vj
b25kcyk7CiAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBzZXRSZWR1Y2VkVGltZXN0YW1wUmVzb2x1
dGlvbihkb3VibGUgc2Vjb25kcyk7CiAKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cJKHJldmlzaW9uIDIxMjg1NikK
KysrIFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDc4
IEBACisyMDE3LTAyLTIyICBKb2huIFdpbGFuZGVyICA8d2lsYW5kZXJAYXBwbGUuY29tPgorCisg
ICAgICAgIFJlc291cmNlIExvYWQgU3RhdGlzdGljczogQWRkIGFsdGVybmF0ZSBjbGFzc2lmaWNh
dGlvbiBtZXRob2QKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTE2ODM0NworICAgICAgICA8cmRhcjovL3Byb2JsZW0vMzAzNTI3OTM+CisgICAgICAgIDxy
ZGFyOi8vcHJvYmxlbS8zMDY0NjcxMD4KKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzMwNjYwNzA4
PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoaXMg
cGF0Y2ggYWRkcyBhIENvcmVQcmVkaWN0aW9uLWJhc2VkIGNsYXNzaWZpZXIgdG8gdGhlIFdlYlJl
c291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZS4KKyAgICAgICAgVGhlIENvcmVQcmVkaWN0aW9uIGZy
YW1ld29yayBpcyBpbnRyb2R1Y2VkIGFzIGEgZGVwZW5kZW5jeSBmb3IgbWFjT1MgYW5kIGlPUy4g
VGhlIHBhdGNoCisgICAgICAgIGFsc28gYWRkcyBmdW5jdGlvbnMgdG8gc3VwcG9ydCBsYXlvdXQg
dGVzdHMgb2YgdGhlIGZlYXR1cmUuCisKKyAgICAgICAgKiBQbGF0Zm9ybS9Mb2dnaW5nLmg6Cisg
ICAgICAgICAgICBBZGRlZCBjaGFubmVsIFJlc291cmNlTG9hZFN0YXRpc3RpY3MuCisgICAgICAg
ICogUGxhdGZvcm0vY2xhc3NpZmllci9SZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllci5o
OiBBZGRlZC4KKyAgICAgICAgICAgIFB1bGxzIGluIHRoZSBDb2NvYS1zcGVjaWZpYyBjbGFzc2lm
aWVyIGZvciBDb2NvYS1iYXNlZCBwbGF0Zm9ybXMuCisgICAgICAgIChXZWJLaXQ6OlJlc291cmNl
TG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyOjpSZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmll
cik6CisgICAgICAgICogUGxhdGZvcm0vY2xhc3NpZmllci9SZXNvdXJjZUxvYWRTdGF0aXN0aWNz
Q2xhc3NpZmllckJhc2UuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYktpdDo6UmVzb3VyY2VMb2Fk
U3RhdGlzdGljc0NsYXNzaWZpZXJCYXNlOjpoYXNQcmV2YWxlbnRSZXNvdXJjZUNoYXJhY3Rlcmlz
dGljcyk6CisgICAgICAgICAgICBTaGFyZWQgY2xhc3NpZmllciBsb2dpYy4KKyAgICAgICAgKFdl
YktpdDo6UmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXJCYXNlOjpjbGFzc2lmeVdpdGhW
ZWN0b3JUaHJlc2hvbGQpOgorICAgICAgICAgICAgRmFsbGJhY2sgY2xhc3NpZmllciBmb3Igd2hl
biB3ZSBkb24ndCBoYXZlIENvcmVQcmVkaWN0aW9uLgorICAgICAgICAqIFBsYXRmb3JtL2NsYXNz
aWZpZXIvUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXJCYXNlLmg6IEFkZGVkLgorICAg
ICAgICAoV2ViS2l0OjpSZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllckJhc2U6OlJlc291
cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQmFzZSk6CisgICAgICAgIChXZWJLaXQ6OlJlc291
cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQmFzZTo6flJlc291cmNlTG9hZFN0YXRpc3RpY3ND
bGFzc2lmaWVyQmFzZSk6CisgICAgICAgICogUGxhdGZvcm0vY2xhc3NpZmllci9jb2NvYS9Db3Jl
UHJlZGljdGlvblNQSS5oOiBBZGRlZC4KKyAgICAgICAgICAgIEluY2x1ZGVzIENvcmVQcmVkaWN0
aW9uIGlmIGF2YWlsYWJsZSwgb3RoZXJ3aXNlIGRlY2xhcmVzIG5lZWRlZCBzeW1ib2xzLgorICAg
ICAgICAgICAgQWx3YXlzIHJlZGVjbGFyZXMgdGhlIGZ1bmN0aW9ucyBzbyB3ZSdsbCBnZXQgYSBi
dWlsZCBlcnJvciBpZgorICAgICAgICAgICAgQ29yZVByZWRpY3Rpb24gY2hhbmdlcy4KKyAgICAg
ICAgKiBQbGF0Zm9ybS9jbGFzc2lmaWVyL2NvY29hL1Jlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFz
c2lmaWVyQ29jb2EuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYktpdDo6UmVzb3VyY2VMb2FkU3Rh
dGlzdGljc0NsYXNzaWZpZXI6OmNsYXNzaWZ5KToKKyAgICAgICAgKFdlYktpdDo6UmVzb3VyY2VM
b2FkU3RhdGlzdGljc0NsYXNzaWZpZXI6OnN0b3JhZ2VQYXRoKToKKyAgICAgICAgKFdlYktpdDo6
UmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXI6OnNob3VsZFVzZUNvcmVQcmVkaWN0aW9u
QW5kSGF2ZU1vZGVsTG9hZGVkKToKKyAgICAgICAgKFdlYktpdDo6UmVzb3VyY2VMb2FkU3RhdGlz
dGljc0NsYXNzaWZpZXI6OnNpbmdsZXRvblByZWRpY3Rpb25Nb2RlbCk6CisgICAgICAgICAgICBU
aGUgbmV3IGNsYXNzaWZpZXIgZm9yIENvY29hIHBsYXRmb3Jtcy4gSXQgc29mdGxpbmtzIHRvCisg
ICAgICAgICAgICBDb3JlUHJlZGljdGlvbiBhbmQgdGhlIHR3byBmdW5jdGlvbnMgd2UgdXNlIGZy
b20gaXQuCisgICAgICAgICogUGxhdGZvcm0vY2xhc3NpZmllci9jb2NvYS9SZXNvdXJjZUxvYWRT
dGF0aXN0aWNzQ2xhc3NpZmllckNvY29hLmg6IEFkZGVkLgorICAgICAgICAqIFBsYXRmb3JtR1RL
LmNtYWtlOgorICAgICAgICAgICAgQWRkZWQgUGxhdGZvcm0vY2xhc3NpZmllciBkaXJlY3Rvcnkg
YW5kIFJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQmFzZS5jcHAuCisgICAgICAgICog
UGxhdGZvcm1NYWMuY21ha2U6CisgICAgICAgICAgICBBZGRlZCBQbGF0Zm9ybS9jbGFzc2lmaWVy
IGFuZCBQbGF0Zm9ybS9jbGFzc2lmaWVyL2NvY29hIGRpcmVjdG9yaWVzLCBhbmQKKyAgICAgICAg
ICAgIHNvdXJjZSBmaWxlcyBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllckJhc2UuY3Bw
IGFuZAorICAgICAgICAgICAgUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXJDb2NvYS5j
cHAKKyAgICAgICAgKiBSZXNvdXJjZXMvUmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jb3JlUHJlZGlj
dGlvbl9tb2RlbDogQWRkZWQuCisgICAgICAgICAgICBNb2RlbCBmaWxlIHRvIGxvYWQgaW50byBD
b3JlUHJlZGljdGlvbi4KKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0MvV0tSZXNvdXJjZUxvYWRT
dGF0aXN0aWNzTWFuYWdlci5jcHA6CisgICAgICAgIChXS1Jlc291cmNlTG9hZFN0YXRpc3RpY3NN
YW5hZ2VyU2V0U3ViZnJhbWVVbmRlclRvcEZyYW1lT3JpZ2luKToKKyAgICAgICAgKFdLUmVzb3Vy
Y2VMb2FkU3RhdGlzdGljc01hbmFnZXJTZXRTdWJyZXNvdXJjZVVuZGVyVG9wRnJhbWVPcmlnaW4p
OgorICAgICAgICAoV0tSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdlclNldFN1YnJlc291cmNl
VW5pcXVlUmVkaXJlY3RUbyk6CisgICAgICAgICAgICBUZXN0IGluZnJhc3RydWN0dXJlLgorICAg
ICAgICAqIFVJUHJvY2Vzcy9BUEkvQy9XS1Jlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VyLmg6
CisgICAgICAgICogVUlQcm9jZXNzL1dlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VyLmNw
cDoKKyAgICAgICAgKFdlYktpdDo6V2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFnZXI6OnNl
dFN1YmZyYW1lVW5kZXJUb3BGcmFtZU9yaWdpbik6CisgICAgICAgIChXZWJLaXQ6OldlYlJlc291
cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VyOjpzZXRTdWJyZXNvdXJjZVVuZGVyVG9wRnJhbWVPcmln
aW4pOgorICAgICAgICAoV2ViS2l0OjpXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdlcjo6
c2V0U3VicmVzb3VyY2VVbmlxdWVSZWRpcmVjdFRvKToKKyAgICAgICAgICAgIFRlc3QgaW5mcmFz
dHJ1Y3R1cmUuCisgICAgICAgICogVUlQcm9jZXNzL1dlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NN
YW5hZ2VyLmg6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NT
dG9yZS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9y
ZTo6V2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlKToKKyAgICAgICAgICAgIFJlbmFtZWQg
bV9zdG9yYWdlUGF0aCB0byBtX3N0YXRpc3RpY3NTdG9yYWdlUGF0aCBmb3IgY2xhcml0eS4KKyAg
ICAgICAgKFdlYktpdDo6V2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlOjpjbGFzc2lmeVJl
c291cmNlKToKKyAgICAgICAgICAgIE5vdyBjYWxscyB0aGUgY2xhc3NpZmllciB0aHJvdWdoIGl0
cyBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllcgorICAgICAgICAgICAgbWVtYmVyIHZh
cmlhYmxlLgorICAgICAgICAoV2ViS2l0OjpXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmU6
OnBlcnNpc3RlbnRTdG9yYWdlUGF0aCk6CisgICAgICAgICAgICBSZW5hbWVkIG1fc3RvcmFnZVBh
dGggdG8gbV9zdGF0aXN0aWNzU3RvcmFnZVBhdGggZm9yIGNsYXJpdHkuCisgICAgICAgIChXZWJL
aXQ6OldlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZTo6d3JpdGVFbmNvZGVyVG9EaXNrKToK
KyAgICAgICAgICAgIFJlbmFtZWQgbV9zdG9yYWdlUGF0aCB0byBtX3N0YXRpc3RpY3NTdG9yYWdl
UGF0aCBmb3IgY2xhcml0eS4KKyAgICAgICAgKFdlYktpdDo6V2ViUmVzb3VyY2VMb2FkU3RhdGlz
dGljc1N0b3JlOjpoYXNQcmV2YWxlbnRSZXNvdXJjZUNoYXJhY3RlcmlzdGljcyk6IERlbGV0ZWQu
CisgICAgICAgICogVUlQcm9jZXNzL1dlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZS5oOgor
ICAgICAgICAqIFdlYktpdDIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgICAg
IEFkZGVkIHRoZSBuZXcgY2xhc3NpZmllciBzb3VyY2UgZmlsZXMgdW5kZXIgUGxhdGZvcm0vY2xh
c3NpZmllciBhbmQgdGhlCisgICAgICAgICAgICBjb3JlUHJlZGljdGlvbl9tb2RlbCBmaWxlIHVu
ZGVyIFJlc291cmNlcy9SZXNvdXJjZUxvYWRTdGF0aXN0aWNzLgorCiAyMDE3LTAyLTIyICBBbmRl
cnMgQ2FybHNzb24gIDxhbmRlcnNjYUBhcHBsZS5jb20+CiAKICAgICAgICAgQ3Jhc2ggaWYgdGhl
cmUncyBhIG1pc21hdGNoIGJldHdlZW4gdGhlIFdlYktpdCB1c2VkIGJ5IHRoZSBVSSBwcm9jZXNz
IGFuZCBjaGlsZCBwcm9jZXNzZXMgcmVzcGVjdGl2ZWx5CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9Q
bGF0Zm9ybUdUSy5jbWFrZQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybUdU
Sy5jbWFrZQkocmV2aXNpb24gMjEyODU2KQorKysgU291cmNlL1dlYktpdDIvUGxhdGZvcm1HVEsu
Y21ha2UJKHdvcmtpbmcgY29weSkKQEAgLTQ2LDYgKzQ2LDggQEAgbGlzdChBUFBFTkQgV2ViS2l0
Ml9TT1VSQ0VTCiAgICAgUGxhdGZvcm0vSVBDL3VuaXgvQXR0YWNobWVudFVuaXguY3BwCiAgICAg
UGxhdGZvcm0vSVBDL3VuaXgvQ29ubmVjdGlvblVuaXguY3BwCiAKKyAgICBQbGF0Zm9ybS9jbGFz
c2lmaWVyL1Jlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQmFzZS5jcHAKKwogICAgIFBs
YXRmb3JtL2dsaWIvTW9kdWxlR2xpYi5jcHAKIAogICAgIFBsYXRmb3JtL3VuaXgvTG9nZ2luZ1Vu
aXguY3BwCkBAIC04NjUsNiArODY3LDcgQEAgbGlzdChBUFBFTkQgV2ViS2l0Ml9JTkNMVURFX0RJ
UkVDVE9SSUVTCiAgICAgIiR7V0VCS0lUMl9ESVJ9L05ldHdvcmtQcm9jZXNzL3NvdXAiCiAgICAg
IiR7V0VCS0lUMl9ESVJ9L05ldHdvcmtQcm9jZXNzL3VuaXgiCiAgICAgIiR7V0VCS0lUMl9ESVJ9
L1BsYXRmb3JtL0lQQy9nbGliIgorICAgICIke1dFQktJVDJfRElSfS9QbGF0Zm9ybS9jbGFzc2lm
aWVyIgogICAgICIke1dFQktJVDJfRElSfS9TaGFyZWQvQVBJL2MvZ3RrIgogICAgICIke1dFQktJ
VDJfRElSfS9TaGFyZWQvQ29vcmRpbmF0ZWRHcmFwaGljcyIKICAgICAiJHtXRUJLSVQyX0RJUn0v
U2hhcmVkL0Nvb3JkaW5hdGVkR3JhcGhpY3MvdGhyZWFkZWRjb21wb3NpdG9yIgpJbmRleDogU291
cmNlL1dlYktpdDIvUGxhdGZvcm1NYWMuY21ha2UKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktp
dDIvUGxhdGZvcm1NYWMuY21ha2UJKHJldmlzaW9uIDIxMjg1NikKKysrIFNvdXJjZS9XZWJLaXQy
L1BsYXRmb3JtTWFjLmNtYWtlCSh3b3JraW5nIGNvcHkpCkBAIC00OSw2ICs0OSwxMCBAQCBsaXN0
KEFQUEVORCBXZWJLaXQyX1NPVVJDRVMKIAogICAgIFBsYXRmb3JtL2NnL0NHVXRpbGl0aWVzLmNw
cAogCisgICAgUGxhdGZvcm0vY2xhc3NpZmllci9SZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3Np
ZmllckJhc2UuY3BwCisKKyAgICBQbGF0Zm9ybS9jbGFzc2lmaWVyL2NvY29hL1Jlc291cmNlTG9h
ZFN0YXRpc3RpY3NDbGFzc2lmaWVyQ29jb2EuY3BwCisKICAgICBQbGF0Zm9ybS9mb3VuZGF0aW9u
L0xvZ2dpbmdGb3VuZGF0aW9uLm1tCiAKICAgICBQbGF0Zm9ybS9jb2NvYS9TaGFyZWRNZW1vcnlD
b2NvYS5jcHAKQEAgLTM5MSw2ICszOTUsOCBAQCBsaXN0KEFQUEVORCBXZWJLaXQyX0lOQ0xVREVf
RElSRUNUT1JJRVMKICAgICAiJHtXRUJLSVQyX0RJUn0vVUlQcm9jZXNzL1Njcm9sbGluZyIKICAg
ICAiJHtXRUJLSVQyX0RJUn0vVUlQcm9jZXNzL2lvcyIKICAgICAiJHtXRUJLSVQyX0RJUn0vUGxh
dGZvcm0vY2ciCisgICAgIiR7V0VCS0lUMl9ESVJ9L1BsYXRmb3JtL2NsYXNzaWZpZXIiCisgICAg
IiR7V0VCS0lUMl9ESVJ9L1BsYXRmb3JtL2NsYXNzaWZpZXIvY29jb2EiCiAgICAgIiR7V0VCS0lU
Ml9ESVJ9L1BsYXRmb3JtL21hYyIKICAgICAiJHtXRUJLSVQyX0RJUn0vUGxhdGZvcm0vdW5peCIK
ICAgICAiJHtXRUJLSVQyX0RJUn0vUGxhdGZvcm0vc3BpL0NvY29hIgpJbmRleDogU291cmNlL1dl
YktpdDIvUGxhdGZvcm0vTG9nZ2luZy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1Bs
YXRmb3JtL0xvZ2dpbmcuaAkocmV2aXNpb24gMjEyODU2KQorKysgU291cmNlL1dlYktpdDIvUGxh
dGZvcm0vTG9nZ2luZy5oCSh3b3JraW5nIGNvcHkpCkBAIC02Myw2ICs2Myw3IEBAIGV4dGVybiAi
QyIgewogICAgIE0oUHJvY2Vzc1N1c3BlbnNpb24pIFwKICAgICBNKFJlbW90ZUxheWVyVHJlZSkg
XAogICAgIE0oUmVzaXplKSBcCisgICAgTShSZXNvdXJjZUxvYWRTdGF0aXN0aWNzKSBcCiAgICAg
TShTZWxlY3Rpb24pIFwKICAgICBNKFNlc3Npb25TdGF0ZSkgXAogICAgIE0oU3RvcmFnZUFQSSkg
XApJbmRleDogU291cmNlL1dlYktpdDIvUGxhdGZvcm0vY2xhc3NpZmllci9SZXNvdXJjZUxvYWRT
dGF0aXN0aWNzQ2xhc3NpZmllci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1BsYXRm
b3JtL2NsYXNzaWZpZXIvUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXIuaAkobm9uZXhp
c3RlbnQpCisrKyBTb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9jbGFzc2lmaWVyL1Jlc291cmNlTG9h
ZFN0YXRpc3RpY3NDbGFzc2lmaWVyLmgJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw1MiBAQAor
LyoKKyAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0
cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMu
IEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUg
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQ
QVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBB
UFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNF
UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVN
RU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFU
QSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaW5jbHVkZSA8d3RmL1BsYXRmb3JtLmg+CisK
KyNpZiBQTEFURk9STShDT0NPQSkKKyNpbmNsdWRlICJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xh
c3NpZmllckNvY29hLmgiCisjZWxzZQorCisjaW5jbHVkZSAiUmVzb3VyY2VMb2FkU3RhdGlzdGlj
c0NsYXNzaWZpZXJCYXNlLmgiCisKK25hbWVzcGFjZSBXZWJLaXQgeworCitjbGFzcyBSZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllciA6IHB1YmxpYyBSZXNvdXJjZUxvYWRTdGF0aXN0aWNz
Q2xhc3NpZmllckJhc2UgeworcHVibGljOgorICAgIFJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFz
c2lmaWVyKCkKKyAgICA6IFJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQmFzZSgpIHsg
fQorICAgIAorcHJvdGVjdGVkOgorICAgIGJvb2wgY2xhc3NpZnkoY29uc3QgdW5zaWduZWQgYSwg
Y29uc3QgdW5zaWduZWQgYiwgY29uc3QgdW5zaWduZWQgYykgb3ZlcnJpZGUKKyAgICB7CisgICAg
ICAgIHJldHVybiBjbGFzc2lmeVdpdGhWZWN0b3JUaHJlc2hvbGQoYSwgYiwgYyk7CisgICAgfQor
fTsKKworfQorCisjZW5kaWYKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL2NsYXNzaWZp
ZXIvUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXJCYXNlLmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9jbGFzc2lmaWVyL1Jlc291cmNlTG9hZFN0YXRpc3Rp
Y3NDbGFzc2lmaWVyQmFzZS5jcHAJKG5vbmV4aXN0ZW50KQorKysgU291cmNlL1dlYktpdDIvUGxh
dGZvcm0vY2xhc3NpZmllci9SZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllckJhc2UuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNjIgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIw
MTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBg
YEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBB
UkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJ
QlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lO
RVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9S
IFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAi
Y29uZmlnLmgiCisjaW5jbHVkZSAiUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXJCYXNl
LmgiCisKKyNpbmNsdWRlICJMb2dnaW5nLmgiCisjaW5jbHVkZSA8V2ViQ29yZS9SZXNvdXJjZUxv
YWRTdGF0aXN0aWNzLmg+CisKK3VzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOworCituYW1lc3BhY2Ug
V2ViS2l0IHsKKworc3RhdGljIGNvbnN0IGF1dG8gZmVhdHVyZVZlY3Rvckxlbmd0aFRocmVzaG9s
ZCA9IDM7Citib29sIFJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQmFzZTo6aGFzUHJl
dmFsZW50UmVzb3VyY2VDaGFyYWN0ZXJpc3RpY3MoY29uc3QgUmVzb3VyY2VMb2FkU3RhdGlzdGlj
cyYgcmVzb3VyY2VTdGF0aXN0aWMpCit7CisgICAgYXV0byBzdWJyZXNvdXJjZVVuZGVyVG9wRnJh
bWVPcmlnaW5zQ291bnQgPSByZXNvdXJjZVN0YXRpc3RpYy5zdWJyZXNvdXJjZVVuZGVyVG9wRnJh
bWVPcmlnaW5zLnNpemUoKTsKKyAgICBhdXRvIHN1YnJlc291cmNlVW5pcXVlUmVkaXJlY3RzVG9D
b3VudCA9IHJlc291cmNlU3RhdGlzdGljLnN1YnJlc291cmNlVW5pcXVlUmVkaXJlY3RzVG8uc2l6
ZSgpOworICAgIGF1dG8gc3ViZnJhbWVVbmRlclRvcEZyYW1lT3JpZ2luc0NvdW50ID0gcmVzb3Vy
Y2VTdGF0aXN0aWMuc3ViZnJhbWVVbmRlclRvcEZyYW1lT3JpZ2lucy5zaXplKCk7CisgICAgCisg
ICAgaWYgKCFzdWJyZXNvdXJjZVVuZGVyVG9wRnJhbWVPcmlnaW5zQ291bnQKKyAgICAgICAgJiYg
IXN1YnJlc291cmNlVW5pcXVlUmVkaXJlY3RzVG9Db3VudAorICAgICAgICAmJiAhc3ViZnJhbWVV
bmRlclRvcEZyYW1lT3JpZ2luc0NvdW50KQorICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgCisg
ICAgaWYgKHN1YnJlc291cmNlVW5kZXJUb3BGcmFtZU9yaWdpbnNDb3VudCA+IGZlYXR1cmVWZWN0
b3JMZW5ndGhUaHJlc2hvbGQKKyAgICAgICAgfHwgc3VicmVzb3VyY2VVbmlxdWVSZWRpcmVjdHNU
b0NvdW50ID4gZmVhdHVyZVZlY3Rvckxlbmd0aFRocmVzaG9sZAorICAgICAgICB8fCBzdWJmcmFt
ZVVuZGVyVG9wRnJhbWVPcmlnaW5zQ291bnQgPiBmZWF0dXJlVmVjdG9yTGVuZ3RoVGhyZXNob2xk
KQorICAgICAgICByZXR1cm4gdHJ1ZTsKKworICAgIHJldHVybiBjbGFzc2lmeShzdWJyZXNvdXJj
ZVVuZGVyVG9wRnJhbWVPcmlnaW5zQ291bnQsIHN1YnJlc291cmNlVW5pcXVlUmVkaXJlY3RzVG9D
b3VudCwgc3ViZnJhbWVVbmRlclRvcEZyYW1lT3JpZ2luc0NvdW50KTsKK30KKworYm9vbCBSZXNv
dXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllckJhc2U6OmNsYXNzaWZ5V2l0aFZlY3RvclRocmVz
aG9sZChjb25zdCB1bnNpZ25lZCBhLCBjb25zdCB1bnNpZ25lZCBiLCBjb25zdCB1bnNpZ25lZCBj
KQoreworICAgIExPRyhSZXNvdXJjZUxvYWRTdGF0aXN0aWNzLCAiUmVzb3VyY2VMb2FkU3RhdGlz
dGljc0NsYXNzaWZpZXJCYXNlOjpjbGFzc2lmeVdpdGhWZWN0b3JUaHJlc2hvbGQoKTogQ2xhc3Np
ZmllZCB3aXRoIHRocmVzaG9sZC4iKTsKKyAgICByZXR1cm4gc3FydChhICogYSArIGIgKiBiICsg
YyAqIGMpID4gZmVhdHVyZVZlY3Rvckxlbmd0aFRocmVzaG9sZDsKK30KKyAgICAKK30KSW5kZXg6
IFNvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL2NsYXNzaWZpZXIvUmVzb3VyY2VMb2FkU3RhdGlzdGlj
c0NsYXNzaWZpZXJCYXNlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvUGxhdGZvcm0v
Y2xhc3NpZmllci9SZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllckJhc2UuaAkobm9uZXhp
c3RlbnQpCisrKyBTb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9jbGFzc2lmaWVyL1Jlc291cmNlTG9h
ZFN0YXRpc3RpY3NDbGFzc2lmaWVyQmFzZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNDQg
QEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4g
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAg
ICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUg
ZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUg
SU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBP
UiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICog
VEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9S
IEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hB
TEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBD
T05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9D
VVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
IERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworbmFtZXNwYWNlIFdlYkNvcmUgeworc3Ry
dWN0IFJlc291cmNlTG9hZFN0YXRpc3RpY3M7Cit9CisKK25hbWVzcGFjZSBXZWJLaXQgeworCitj
bGFzcyBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllckJhc2UgeworcHVibGljOgorICAg
IGJvb2wgaGFzUHJldmFsZW50UmVzb3VyY2VDaGFyYWN0ZXJpc3RpY3MoY29uc3QgV2ViQ29yZTo6
UmVzb3VyY2VMb2FkU3RhdGlzdGljcyYgcmVzb3VyY2VTdGF0aXN0aWMpOworcHJvdGVjdGVkOgor
ICAgIFJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQmFzZSgpIHsgfQorICAgIHZpcnR1
YWwgflJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQmFzZSgpIHsgfQorICAgIHZpcnR1
YWwgYm9vbCBjbGFzc2lmeShjb25zdCB1bnNpZ25lZCwgY29uc3QgdW5zaWduZWQsIGNvbnN0IHVu
c2lnbmVkKSA9IDA7CisgICAgYm9vbCBjbGFzc2lmeVdpdGhWZWN0b3JUaHJlc2hvbGQoY29uc3Qg
dW5zaWduZWQsIGNvbnN0IHVuc2lnbmVkLCBjb25zdCB1bnNpZ25lZCk7Cit9OworCit9CkluZGV4
OiBTb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9jbGFzc2lmaWVyL2NvY29hL0NvcmVQcmVkaWN0aW9u
U1BJLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvUGxhdGZvcm0vY2xhc3NpZmllci9j
b2NvYS9Db3JlUHJlZGljdGlvblNQSS5oCShub25leGlzdGVudCkKKysrIFNvdXJjZS9XZWJLaXQy
L1BsYXRmb3JtL2NsYXNzaWZpZXIvY29jb2EvQ29yZVByZWRpY3Rpb25TUEkuaAkod29ya2luZyBj
b3B5KQpAQCAtMCwwICsxLDUxIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwor
ICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisg
KiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICog
QkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwg
RVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpZiBV
U0UoQVBQTEVfSU5URVJOQUxfU0RLKSAmJiBIQVZFKENPUkVfUFJFRElDVElPTikKKyNpbmNsdWRl
IDxDb3JlUHJlZGljdGlvbi9zdm0uaD4KKyNlbHNlCisKK3N0cnVjdCBzdm1fbm9kZSB7CisgICAg
aW50IGluZGV4OworICAgIGRvdWJsZSB2YWx1ZTsKK307CisKK3N0cnVjdCBzdm1fbW9kZWwgeyB9
OworCisjZW5kaWYKKworI2lmZGVmIF9fY3BsdXNwbHVzCitleHRlcm4gIkMiIHsKKyNlbmRpZgor
Citkb3VibGUgc3ZtX3ByZWRpY3RfdmFsdWVzKGNvbnN0IHN0cnVjdCBzdm1fbW9kZWwqLCBjb25z
dCBzdHJ1Y3Qgc3ZtX25vZGUqLCBkb3VibGUqKTsKKworc3RydWN0IHN2bV9tb2RlbCAqc3ZtX2xv
YWRfbW9kZWwoY29uc3QgY2hhciopOworCisjaWZkZWYgX19jcGx1c3BsdXMKK30KKyNlbmRpZgpJ
bmRleDogU291cmNlL1dlYktpdDIvUGxhdGZvcm0vY2xhc3NpZmllci9jb2NvYS9SZXNvdXJjZUxv
YWRTdGF0aXN0aWNzQ2xhc3NpZmllckNvY29hLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0Mi9QbGF0Zm9ybS9jbGFzc2lmaWVyL2NvY29hL1Jlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFz
c2lmaWVyQ29jb2EuY3BwCShub25leGlzdGVudCkKKysrIFNvdXJjZS9XZWJLaXQyL1BsYXRmb3Jt
L2NsYXNzaWZpZXIvY29jb2EvUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXJDb2NvYS5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwxMzggQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMp
IDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAor
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIu
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9S
UyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09O
VFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJV
U0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZ
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
IE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
RUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVk
ZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXJD
b2NvYS5oIgorCisjaW5jbHVkZSAiTG9nZ2luZy5oIgorI2luY2x1ZGUgPFdlYkNvcmUvU29mdExp
bmtpbmcuaD4KKyNpbmNsdWRlIDx3dGYvTmV2ZXJEZXN0cm95ZWQuaD4KKworU09GVF9MSU5LX1BS
SVZBVEVfRlJBTUVXT1JLX09QVElPTkFMKENvcmVQcmVkaWN0aW9uKQorU09GVF9MSU5LKENvcmVQ
cmVkaWN0aW9uLCBzdm1fcHJlZGljdF92YWx1ZXMsIGRvdWJsZSwgKGNvbnN0IHN0cnVjdCBzdm1f
bW9kZWwgKm1vZGVsLCBjb25zdCBzdHJ1Y3Qgc3ZtX25vZGUgKngsIGRvdWJsZSogZGVjX3ZhbHVl
cyksIChtb2RlbCwgeCwgZGVjX3ZhbHVlcykpCitTT0ZUX0xJTksoQ29yZVByZWRpY3Rpb24sIHN2
bV9sb2FkX21vZGVsLCBzdm1fbW9kZWwqLCAoY29uc3QgY2hhciAqbW9kZWxfZmlsZV9uYW1lKSwg
KG1vZGVsX2ZpbGVfbmFtZSkpCisKK25hbWVzcGFjZSBXZWJLaXQgeworCitib29sIFJlc291cmNl
TG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyOjpjbGFzc2lmeShjb25zdCB1bnNpZ25lZCBzdWJyZXNv
dXJjZVVuZGVyVG9wRnJhbWVPcmlnaW5zQ291bnQsIGNvbnN0IHVuc2lnbmVkIHN1YnJlc291cmNl
VW5pcXVlUmVkaXJlY3RzVG9Db3VudCwgY29uc3QgdW5zaWduZWQgc3ViZnJhbWVVbmRlclRvcEZy
YW1lT3JpZ2luc0NvdW50KQoreworICAgIGlmICghc2hvdWxkVXNlQ29yZVByZWRpY3Rpb25BbmRI
YXZlTW9kZWxMb2FkZWQoKSkKKyAgICAgICAgcmV0dXJuIGNsYXNzaWZ5V2l0aFZlY3RvclRocmVz
aG9sZChzdWJyZXNvdXJjZVVuZGVyVG9wRnJhbWVPcmlnaW5zQ291bnQsIHN1YnJlc291cmNlVW5p
cXVlUmVkaXJlY3RzVG9Db3VudCwgc3ViZnJhbWVVbmRlclRvcEZyYW1lT3JpZ2luc0NvdW50KTsK
KworI2lmIEhBVkUoQ09SRV9QUkVESUNUSU9OKQorICAgIFZlY3Rvcjx1bnNpZ25lZD4gbm9uWmVy
b0ZlYXR1cmVzOworICAgIFZlY3Rvcjx1bnNpZ25lZD4gaW5kaWNlczsKKworICAgIGlmIChzdWJy
ZXNvdXJjZVVuZGVyVG9wRnJhbWVPcmlnaW5zQ291bnQpIHsKKyAgICAgICAgbm9uWmVyb0ZlYXR1
cmVzLmFwcGVuZChzdWJyZXNvdXJjZVVuZGVyVG9wRnJhbWVPcmlnaW5zQ291bnQpOworICAgICAg
ICBpbmRpY2VzLmFwcGVuZCgxKTsKKyAgICB9CisgICAgaWYgKHN1YnJlc291cmNlVW5pcXVlUmVk
aXJlY3RzVG9Db3VudCkgeworICAgICAgICBub25aZXJvRmVhdHVyZXMuYXBwZW5kKHN1YnJlc291
cmNlVW5pcXVlUmVkaXJlY3RzVG9Db3VudCk7CisgICAgICAgIGluZGljZXMuYXBwZW5kKDIpOwor
ICAgIH0KKyAgICBpZiAoc3ViZnJhbWVVbmRlclRvcEZyYW1lT3JpZ2luc0NvdW50KSB7CisgICAg
ICAgIG5vblplcm9GZWF0dXJlcy5hcHBlbmQoc3ViZnJhbWVVbmRlclRvcEZyYW1lT3JpZ2luc0Nv
dW50KTsKKyAgICAgICAgaW5kaWNlcy5hcHBlbmQoMyk7CisgICAgfQorCisgICAgc3ZtX25vZGUq
IGV4YW1wbGVWZWN0b3IgPSBuZXcgc3ZtX25vZGVbbm9uWmVyb0ZlYXR1cmVzLnNpemUoKSArIDFd
OworICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgbm9uWmVyb0ZlYXR1cmVzLnNpemUoKTsgaSsr
KSB7CisgICAgICAgIGV4YW1wbGVWZWN0b3JbaV0uaW5kZXggPSBpbmRpY2VzLmF0KGkpOworICAg
ICAgICBleGFtcGxlVmVjdG9yW2ldLnZhbHVlID0gbm9uWmVyb0ZlYXR1cmVzLmF0KGkpOworICAg
IH0KKyAgICAvLyBBZGQgdGVybWluYXRpb24gbm9kZSB3aXRoIGluZGV4IC0xLgorICAgIGV4YW1w
bGVWZWN0b3Jbbm9uWmVyb0ZlYXR1cmVzLnNpemUoKV0uaW5kZXggPSAtMTsKKyAgICBleGFtcGxl
VmVjdG9yW25vblplcm9GZWF0dXJlcy5zaXplKCldLnZhbHVlID0gLTE7CisKKyAgICBpbnQgY2xh
c3NpZmljYXRpb247CisgICAgZG91YmxlIHNjb3JlOworICAgIGNsYXNzaWZpY2F0aW9uID0gc3Zt
X3ByZWRpY3RfdmFsdWVzKHNpbmdsZXRvblByZWRpY3Rpb25Nb2RlbCgpLCBleGFtcGxlVmVjdG9y
LCAmc2NvcmUpOworICAgIGRlbGV0ZVtdIGV4YW1wbGVWZWN0b3I7CisgICAgTE9HKFJlc291cmNl
TG9hZFN0YXRpc3RpY3MsICJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllcjo6Y2xhc3Np
ZnkoKTogQ2xhc3NpZmllZCB3aXRoIENvcmVQcmVkaWN0aW9uLiIpOworICAgIHJldHVybiBjbGFz
c2lmaWNhdGlvbiA8IDA7CisjZW5kaWYKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKK1N0cmluZyBS
ZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllcjo6c3RvcmFnZVBhdGgoKQoreworICAgIENG
QnVuZGxlUmVmIHdlYktpdEJ1bmRsZSA9IENGQnVuZGxlR2V0QnVuZGxlV2l0aElkZW50aWZpZXIo
Q0ZTVFIoImNvbS5hcHBsZS5XZWJLaXQiKSk7CisgICAgUmV0YWluUHRyPENGVVJMUmVmPiByZXNv
dXJjZVVybCA9IGFkb3B0Q0YoQ0ZCdW5kbGVDb3B5UmVzb3VyY2VzRGlyZWN0b3J5VVJMKHdlYktp
dEJ1bmRsZSkpOworICAgIHJlc291cmNlVXJsID0gYWRvcHRDRihDRlVSTENyZWF0ZUNvcHlBcHBl
bmRpbmdQYXRoQ29tcG9uZW50KG51bGxwdHIsIHJlc291cmNlVXJsLmdldCgpLCBDRlNUUigiY29y
ZVByZWRpY3Rpb25fbW9kZWwiKSwgZmFsc2UpKTsKKyAgICBDRkVycm9yUmVmIGVycm9yID0gbnVs
bHB0cjsKKyAgICByZXNvdXJjZVVybCA9IGFkb3B0Q0YoQ0ZVUkxDcmVhdGVGaWxlUGF0aFVSTChu
dWxscHRyLCByZXNvdXJjZVVybC5nZXQoKSwgJmVycm9yKSk7CisKKyAgICBpZiAoZXJyb3IgfHwg
IXJlc291cmNlVXJsKQorICAgICAgICByZXR1cm4gU3RyaW5nKCk7CisKKyAgICBSZXRhaW5QdHI8
Q0ZTdHJpbmdSZWY+IHJlc291cmNlVXJsU3RyaW5nID0gYWRvcHRDRihDRlVSTENvcHlGaWxlU3lz
dGVtUGF0aChyZXNvdXJjZVVybC5nZXQoKSwga0NGVVJMUE9TSVhQYXRoU3R5bGUpKTsKKyAgICBy
ZXR1cm4gU3RyaW5nKHJlc291cmNlVXJsU3RyaW5nLmdldCgpKTsKK30KKworYm9vbCBSZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllcjo6c2hvdWxkVXNlQ29yZVByZWRpY3Rpb25BbmRIYXZl
TW9kZWxMb2FkZWQoKQoreworI2lmIEhBVkUoQ09SRV9QUkVESUNUSU9OKQorICAgIGlmIChtX2hh
dmVMb2FkZWRNb2RlbCkKKyAgICAgICAgcmV0dXJuIHRydWU7CisKKyAgICBpZiAoIW1fdXNlQ29y
ZVByZWRpY3Rpb24pCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIGlmICghQ29yZVByZWRp
Y3Rpb25MaWJyYXJ5KCkpIHsKKyAgICAgICAgbV91c2VDb3JlUHJlZGljdGlvbiA9IGZhbHNlOwor
ICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgfQorCisgICAgU3RyaW5nIHN0b3JhZ2VQYXRoU3Ry
ID0gc3RvcmFnZVBhdGgoKTsKKyAgICBpZiAoc3RvcmFnZVBhdGhTdHIuaXNOdWxsKCkgfHwgc3Rv
cmFnZVBhdGhTdHIuaXNFbXB0eSgpKSB7CisgICAgICAgIG1fdXNlQ29yZVByZWRpY3Rpb24gPSBm
YWxzZTsKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIH0KKworICAgIGlmIChzaW5nbGV0b25Q
cmVkaWN0aW9uTW9kZWwoKSkgeworICAgICAgICBtX2hhdmVMb2FkZWRNb2RlbCA9IHRydWU7Cisg
ICAgICAgIHJldHVybiB0cnVlOworICAgIH0KKworICAgIG1fdXNlQ29yZVByZWRpY3Rpb24gPSBm
YWxzZTsKKyNlbmRpZgorICAgIHJldHVybiBmYWxzZTsKK30KKworI2lmIEhBVkUoQ09SRV9QUkVE
SUNUSU9OKQorc3RydWN0IHN2bV9tb2RlbCogUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZp
ZXI6OnNpbmdsZXRvblByZWRpY3Rpb25Nb2RlbCgpCit7CisgICAgc3RhdGljIE5ldmVyRGVzdHJv
eWVkPHN0cnVjdCBzdm1fbW9kZWwqPiBjb3JlUHJlZGljdGlvbk1vZGVsID0gc3ZtX2xvYWRfbW9k
ZWwoc3RvcmFnZVBhdGgoKS51dGY4KCkuZGF0YSgpKTsKKworICAgIGlmIChjb3JlUHJlZGljdGlv
bk1vZGVsKQorICAgICAgICByZXR1cm4gY29yZVByZWRpY3Rpb25Nb2RlbDsKKworICAgIFdURkxv
Z0Fsd2F5cygiUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXI6OnNpbmdsZXRvblByZWRp
Y3Rpb25Nb2RlbCgpOiBDb3VsZG4ndCBsb2FkIG1vZGVsIGZpbGUgYXQgcGF0aCAlcy4iLCBzdG9y
YWdlUGF0aCgpLnV0ZjgoKS5kYXRhKCkpOworICAgIG1fdXNlQ29yZVByZWRpY3Rpb24gPSBmYWxz
ZTsKKyAgICByZXR1cm4gbnVsbHB0cjsKK30KKyNlbmRpZgorfQpJbmRleDogU291cmNlL1dlYktp
dDIvUGxhdGZvcm0vY2xhc3NpZmllci9jb2NvYS9SZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3Np
ZmllckNvY29hLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvUGxhdGZvcm0vY2xhc3Np
Zmllci9jb2NvYS9SZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllckNvY29hLmgJKG5vbmV4
aXN0ZW50KQorKysgU291cmNlL1dlYktpdDIvUGxhdGZvcm0vY2xhc3NpZmllci9jb2NvYS9SZXNv
dXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllckNvY29hLmgJKHdvcmtpbmcgY29weSkKQEAgLTAs
MCArMSw1MSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6
CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBF
WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBF
VkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwg
T1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
CisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaWYgSEFWRShDT1JFX1BS
RURJQ1RJT04pCisjaW5jbHVkZSAiQ29yZVByZWRpY3Rpb25TUEkuaCIKKyNlbmRpZgorI2luY2x1
ZGUgIlJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQmFzZS5oIgorI2luY2x1ZGUgPENv
cmVGb3VuZGF0aW9uL0NvcmVGb3VuZGF0aW9uLmg+CisjaW5jbHVkZSA8d3RmL1BsYXRmb3JtLmg+
CisjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CisKK25hbWVzcGFjZSBXZWJLaXQgewor
CitjbGFzcyBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllciA6IHB1YmxpYyBSZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllckJhc2UgeworCitwcml2YXRlOgorICAgIGJvb2wgY2xh
c3NpZnkoY29uc3QgdW5zaWduZWQsIGNvbnN0IHVuc2lnbmVkLCBjb25zdCB1bnNpZ25lZCkgb3Zl
cnJpZGU7CisgICAgU3RyaW5nIHN0b3JhZ2VQYXRoKCk7CisgICAgYm9vbCBzaG91bGRVc2VDb3Jl
UHJlZGljdGlvbkFuZEhhdmVNb2RlbExvYWRlZCgpOworI2lmIEhBVkUoQ09SRV9QUkVESUNUSU9O
KQorICAgIHN0cnVjdCBzdm1fbW9kZWwqIHNpbmdsZXRvblByZWRpY3Rpb25Nb2RlbCgpOworICAg
IGJvb2wgbV91c2VDb3JlUHJlZGljdGlvbiB7IHRydWUgfTsKKyAgICBib29sIG1faGF2ZUxvYWRl
ZE1vZGVsIHsgZmFsc2UgfTsKKyNlbmRpZgorfTsKKyAgICAKK30KSW5kZXg6IFNvdXJjZS9XZWJL
aXQyL1Jlc291cmNlcy9SZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NvcmVQcmVkaWN0aW9uX21vZGVs
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1Jlc291cmNlcy9SZXNvdXJjZUxvYWRTdGF0
aXN0aWNzL2NvcmVQcmVkaWN0aW9uX21vZGVsCShub25leGlzdGVudCkKKysrIFNvdXJjZS9XZWJL
aXQyL1Jlc291cmNlcy9SZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NvcmVQcmVkaWN0aW9uX21vZGVs
CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNjc4IEBACitzdm1fdHlwZSBjX3N2Ywora2VybmVs
X3R5cGUgcmJmCitnYW1tYSAwLjEKK25yX2NsYXNzIDIKK3RvdGFsX3N2IDMzMAorcmhvIDAuMjg3
OTQ1NjQyMjYxCitsYWJlbCAtMSAxCitucl9zdiAzMDAgMzAKK1NWCistMC4wNTQ2Njk3MDM4NzI0
IDE6MTQuMCAyOjMuMCAzOjcuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMjoxLjAgCistMC4w
NTQ2Njk3MDM4NzI0IDE6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAzOjEuMCAKKy0wLjA1
NDY2OTcwMzg3MjQgMToxMi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjcuMCAKKy0wLjA1NDY2OTcw
Mzg3MjQgMToyLjAgMjoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDM6MS4wIAorLTAuMDU0
NjY5NzAzODcyNCAxOjMuMCAyOjE2LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDM6MS4wIAor
LTAuMDU0NjY5NzAzODcyNCAxOjEuMCAyOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMzox
LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjMuMCAyOjEu
MCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo1LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MTYuMCAyOjIu
MCAzOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMjoxLjAgCistMC4wNTQ2Njk3MDM4NzI0
IDE6MTEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo0LjAgMzozLjAgCistMC4wNTQ2Njk3MDM4NzI0
IDE6MjguMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4w
IDM6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAzOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQg
MToyMi4wIDI6MS4wIDM6MTIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxNC4wIDM6NS4wIAorLTAu
MDU0NjY5NzAzODcyNCAxOjEuMCAzOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo0OC4wIDI6MS4w
IAorLTAuMDU0NjY5NzAzODcyNCAxOjI1LjAgMzoxNi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEu
MCAyOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMzoxLjAgCistMC4wNTQ2Njk3MDM4NzI0
IDE6Ni4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjcuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAg
MjoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDM6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAx
OjMuMCAzOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo3LjAgMjoxLjAgMzoxLjAgCistMC4wNTQ2
Njk3MDM4NzI0IDE6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjcuMCAKKy0wLjA1NDY2OTcwMzg3
MjQgMTo1LjAgMjoyLjAgMzozLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIAorLTAuMDU0NjY5
NzAzODcyNCAxOjEuMCAyOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo0LjAgCistMC4wNTQ2Njk3
MDM4NzI0IDE6MS4wIDI6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAzOjEuMCAKKy0wLjA1
NDY2OTcwMzg3MjQgMTo5LjAgMzo0LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDI6MS4wIAor
LTAuMDU0NjY5NzAzODcyNCAxOjEuMCAzOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo0Ny4wIDI6
MjEuMCAzOjMzLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MTEuMCAyOjIuMCAzOjUuMCAKKy0wLjA1
NDY2OTcwMzg3MjQgMToxMS4wIDI6My4wIDM6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAz
OjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAgMjoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6
NDMuMCAzOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxMy4wIDM6Ny4wIAorLTAuMDU0NjY5NzAz
ODcyNCAxOjEuMCAzOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo0LjAgCistMC4wNTQ2Njk3MDM4
NzI0IDE6MTMuMCAzOjQuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo0Mi4wIDI6NC4wIDM6MzIuMCAK
Ky0wLjA1NDY2OTcwMzg3MjQgMToxMC4wIDI6NS4wIDM6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAx
OjcuMCAzOjQuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6
MS4wIDM6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAzOjEuMCAKKy0wLjA1NDY2OTcwMzg3
MjQgMTo2LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDI6MS4wIAorLTAuMDU0NjY5NzAzODcy
NCAxOjYuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxNi4wIDI6NC4wIAorLTAuMDU0NjY5NzAzODcy
NCAxOjEwLjAgMjoxLjAgMzoyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MTguMCAyOjMuMCAzOjYu
MCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMzoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4w
IDI6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTozLjAg
MjoxLjAgMzoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDI6MS4wIAorLTAuMDU0NjY5NzAz
ODcyNCAxOjMuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTozLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6
NC4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAgMzoy
LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAzOjEu
MCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyMS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAKKy0w
LjA1NDY2OTcwMzg3MjQgMToyLjAgMjoyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MTQuMCAKKy0w
LjA1NDY2OTcwMzg3MjQgMToyLjAgMjoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIDM6Mi4w
IAorLTAuMDU0NjY5NzAzODcyNCAxOjQuMCAzOjMuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAg
MzoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6My4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAK
Ky0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMjoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6NC4wIAor
LTAuMDU0NjY5NzAzODcyNCAxOjM5LjAgMzo0LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAor
LTAuMDU0NjY5NzAzODcyNCAxOjIuMCAyOjEuMCAzOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo0
LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIDI6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjQu
MCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMjoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4w
IDI6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAg
MjoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAK
Ky0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0
NjY5NzAzODcyNCAxOjMuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMjoxLjAgCistMC4wNTQ2
Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3
MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEu
MCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMzoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4w
IAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4w
NTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcw
Mzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAx
OjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAor
LTAuMDU0NjY5NzAzODcyNCAxOjE2LjAgMjoxLjAgMzoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6
MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMjox
LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0w
LjA1NDY2OTcwMzg3MjQgMTozLjAgMjoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDM6MS4w
IAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4w
NTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcw
Mzg3MjQgMToyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAx
OjIwLjAgMzozLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAx
OjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAor
LTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2
Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAzOjEuMCAKKy0wLjA1NDY2
OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDM6MS4wIAorLTAuMDU0NjY5
NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo4LjAgCistMC4wNTQ2Njk3MDM4NzI0
IDE6Ny4wIDI6MS4wIDM6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjguMCAyOjIuMCAKKy0wLjA1
NDY2OTcwMzg3MjQgMToxLjAgMjoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0
NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMjoxLjAgCistMC4wNTQ2
Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3
MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEu
MCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAu
MDU0NjY5NzAzODcyNCAxOjEyLjAgMzo3LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAu
MDU0NjY5NzAzODcyNCAxOjkuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo3LjAgCistMC4wNTQ2Njk3
MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAyOjEuMCAKKy0wLjA1NDY2OTcw
Mzg3MjQgMToxLjAgMzoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAz
ODcyNCAxOjguMCAyOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxNy4wIAorLTAuMDU0NjY5NzAz
ODcyNCAxOjIuMCAyOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4
NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTox
LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6NC4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0w
LjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MTMuMCAyOjQuMCAzOjIu
MCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMzoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4w
IDM6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxNi4w
IAorLTAuMDU0NjY5NzAzODcyNCAxOjMuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4w
NTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcw
Mzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAx
OjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIAor
LTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2
Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3
MjQgMToyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6My4wIDM6My4wIAorLTAuMDU0NjY5NzAzODcy
NCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MTEu
MCAzOjExLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEu
MCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIAorLTAu
MDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3
MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQg
MToyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAK
Ky0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0
NjY5NzAzODcyNCAxOjE1LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAz
ODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyMC4wIDI6MTIuMCAzOjMuMCAKKy0wLjA1
NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAz
ODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6
Ny4wIDM6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTox
LjAgMzoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEu
MCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMzoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4w
IAorLTAuMDU0NjY5NzAzODcyNCAxOjMuMCAzOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAg
CistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjkuMCAyOjMuMCAK
Ky0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMzoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Ni4wIAor
LTAuMDU0NjY5NzAzODcyNCAxOjQuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2
Njk3MDM4NzI0IDE6Ny4wIDI6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2
OTcwMzg3MjQgMToxLjAgMzoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIAorLTAuMDU0NjY5
NzAzODcyNCAxOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo5LjAgCistMC4wNTQ2Njk3MDM4NzI0
IDE6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAg
CistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1
NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MTQuMCAKKy0wLjA1NDY2OTcw
Mzg3MjQgMToxMi4wIDM6Ni4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjMuMCAKKy0wLjA1NDY2OTcw
Mzg3MjQgMTo0LjAgMjoxLjAgMzoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0
NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4
NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjkuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo5
LjAgMjoxLjAgMzo0LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcy
NCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo5LjAgMjoxLjAgCistMC4wNTQ2Njk3MDM4NzI0
IDE6My4wIDI6My4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAyOjIuMCAKKy0wLjA1NDY2OTcw
Mzg3MjQgMToxLjAgMjoxLjAgMzoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6OC4wIDI6MS4wIDM6
My4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAgMjox
LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6OS4wIDI6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEu
MCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIAorLTAu
MDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTozNi4wIAorLTAuMDU0NjY5
NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0
IDE6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAg
CistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1
NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Ni4wIAorLTAuMDU0NjY5NzAz
ODcyNCAxOjEuMCAzOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4
NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTox
LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0w
LjA1NDY2OTcwMzg3MjQgMToyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6NC4wIDM6Mi4wIAorLTAu
MDU0NjY5NzAzODcyNCAxOjEzLjAgMzo0LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAu
MDQwMjA3NTE3ODk0MiAxOjEuMCAKKzAuNTg1MzY1ODUzNjU5IDE6MS4wIAorMC40NzkyNzYxMzkw
MDEgMTo2LjAgMjozLjAgCiswLjU4NTM2NTg1MzY1OSAxOjIuMCAKKzAuNTg1MzY1ODUzNjU5IDE6
MS4wIAorMC41ODUzNjU4NTM2NTkgMTozLjAgMzozLjAgCiswLjU4NTM2NTg1MzY1OSAxOjQyLjAg
MjoyLjAgMzoyOC4wIAorMC41ODUzNjU4NTM2NTkgMToyLjAgCiswLjU4NTM2NTg1MzY1OSAxOjEy
LjAgCiswLjQ3OTI4MzA0NjU3OCAxOjcuMCAKKzAuMzAwMzk3ODczNDc2IDE6My4wIDM6MS4wIAor
MC4wNTQzMTczMzA2NDQyIDE6Ni4wIDM6Mi4wIAorMC41NjM0NjUxMjYyOTkgMToxMS4wIAorMC41
ODUzNjU4NTM2NTkgMToyLjAgCiswLjU4NTM2NTg1MzY1OSAxOjEwLjAgMjozLjAgMzo2LjAgCisw
LjU4NTM2NTg1MzY1OSAxOjEuMCAyOjEuMCAKKzAuNTg1MzY1ODUzNjU5IDE6Mi4wIAorMC41ODUz
NjU4NTM2NTkgMToxLjAgMjoxLjAgCiswLjU4NTM2NTg1MzY1OSAxOjMuMCAzOjEuMCAKKzAuNTg1
MzY1ODUzNjU5IDE6MS4wIAorMC41ODUzNjU4NTM2NTkgMToyLjAgCiswLjU4NTM2NTg1MzY1OSAx
OjEuMCAyOjEuMCAKKzAuNTg0OTg5NzE5OTA5IDE6Ny4wIAorMC41ODUzNjU4NTM2NTkgMTozLjAg
CiswLjU4NTM2NTg1MzY1OSAxOjMuMCAKKzAuNTI1OTI1MTM2OTgzIDE6My4wIDI6Mi4wIAorMC41
ODUzNjU4NTM2NTkgMToxLjAgCiswLjU4NTM2NTg1MzY1OSAxOjEuMCAKKzAuNTg1MzY1ODUzNjU5
IDE6My4wIDM6MS4wIAorMC41ODUzNjU4NTM2NTkgMToxLjAgCiswLjUyMDc0NTgyMjM3NCAxOjMu
MCAKK3N2bV90eXBlIGNfc3ZjCitrZXJuZWxfdHlwZSByYmYKK2dhbW1hIDAuMQorbnJfY2xhc3Mg
MgordG90YWxfc3YgMzMwCityaG8gMC4yODc5NDU2NDIyNjEKK2xhYmVsIC0xIDEKK25yX3N2IDMw
MCAzMAorU1YKKy0wLjA1NDY2OTcwMzg3MjQgMToxNC4wIDI6My4wIDM6Ny4wIAorLTAuMDU0NjY5
NzAzODcyNCAxOjEuMCAyOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAgCistMC4wNTQ2Njk3
MDM4NzI0IDE6MS4wIDM6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEyLjAgCistMC4wNTQ2Njk3
MDM4NzI0IDE6Ny4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAyOjEuMCAKKy0wLjA1NDY2OTcw
Mzg3MjQgMToxLjAgMzoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6My4wIDI6MTYuMCAKKy0wLjA1
NDY2OTcwMzg3MjQgMToxLjAgMzoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDI6Mi4wIAor
LTAuMDU0NjY5NzAzODcyNCAxOjEuMCAzOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAgCist
MC4wNTQ2Njk3MDM4NzI0IDE6My4wIDI6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjUuMCAKKy0w
LjA1NDY2OTcwMzg3MjQgMToxNi4wIDI6Mi4wIDM6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEu
MCAyOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxMS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjQu
MCAzOjMuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyOC4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIu
MCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMzoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4w
IDM6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIyLjAgMjoxLjAgMzoxMi4wIAorLTAuMDU0NjY5
NzAzODcyNCAxOjE0LjAgMzo1LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDM6MS4wIAorLTAu
MDU0NjY5NzAzODcyNCAxOjQ4LjAgMjoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MjUuMCAzOjE2
LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDI6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEu
MCAzOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo2LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Ny4w
IAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAyOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAg
MzoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6My4wIDM6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAx
OjcuMCAyOjEuMCAzOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAgCistMC4wNTQ2Njk3MDM4
NzI0IDE6Ny4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjUuMCAyOjIuMCAzOjMuMCAKKy0wLjA1NDY2
OTcwMzg3MjQgMToyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDI6MS4wIAorLTAuMDU0NjY5
NzAzODcyNCAxOjQuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMjoxLjAgCistMC4wNTQ2Njk3
MDM4NzI0IDE6MS4wIDM6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjkuMCAzOjQuMCAKKy0wLjA1
NDY2OTcwMzg3MjQgMToxLjAgMjoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDM6MS4wIAor
LTAuMDU0NjY5NzAzODcyNCAxOjQ3LjAgMjoyMS4wIDM6MzMuMCAKKy0wLjA1NDY2OTcwMzg3MjQg
MToxMS4wIDI6Mi4wIDM6NS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjExLjAgMjozLjAgMzoxLjAg
CistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDM6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAy
OjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo0My4wIDM6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAx
OjEzLjAgMzo3LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDM6MS4wIAorLTAuMDU0NjY5NzAz
ODcyNCAxOjQuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxMy4wIDM6NC4wIAorLTAuMDU0NjY5NzAz
ODcyNCAxOjQyLjAgMjo0LjAgMzozMi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEwLjAgMjo1LjAg
MzoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Ny4wIDM6NC4wIAorLTAuMDU0NjY5NzAzODcyNCAx
OjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMzoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6
MS4wIDM6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjYuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTox
LjAgMjoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Ni4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjE2
LjAgMjo0LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MTAuMCAyOjEuMCAzOjIuMCAKKy0wLjA1NDY2
OTcwMzg3MjQgMToxOC4wIDI6My4wIDM6Ni4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAzOjEu
MCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMjoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4w
IAorLTAuMDU0NjY5NzAzODcyNCAxOjMuMCAyOjEuMCAzOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQg
MToxLjAgMjoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6My4wIAorLTAuMDU0NjY5NzAzODcyNCAx
OjMuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo0LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIAor
LTAuMDU0NjY5NzAzODcyNCAxOjIuMCAzOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAgCist
MC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDM6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIxLjAgCist
MC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAyOjIuMCAKKy0w
LjA1NDY2OTcwMzg3MjQgMToxNC4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAyOjEuMCAKKy0w
LjA1NDY2OTcwMzg3MjQgMToyLjAgMzoyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6NC4wIDM6My4w
IAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAzOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTozLjAg
CistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAyOjEuMCAK
Ky0wLjA1NDY2OTcwMzg3MjQgMTo0LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MzkuMCAzOjQuMCAK
Ky0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIDI6MS4wIDM6
MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjQuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAgMjox
LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6NC4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAyOjEu
MCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMjoyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4w
IAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAyOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAg
CistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1
NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6My4wIAorLTAuMDU0NjY5NzAz
ODcyNCAxOjEuMCAyOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4
NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTox
LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAzOjEu
MCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAu
MDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3
MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQg
MToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAK
Ky0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MTYuMCAyOjEuMCAz
OjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAor
LTAuMDU0NjY5NzAzODcyNCAxOjEuMCAyOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCist
MC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjMuMCAyOjEuMCAKKy0w
LjA1NDY2OTcwMzg3MjQgMToxLjAgMzoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAu
MDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3
MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQg
MToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MjAuMCAzOjMuMCAKKy0wLjA1NDY2OTcwMzg3MjQg
MToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAK
Ky0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0
NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4
NzI0IDE6MS4wIDM6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3
MjQgMToxLjAgMzoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcy
NCAxOjguMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo3LjAgMjoxLjAgMzoyLjAgCistMC4wNTQ2Njk3
MDM4NzI0IDE6OC4wIDI6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAyOjEuMCAKKy0wLjA1
NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAz
ODcyNCAxOjEuMCAyOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4
NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTox
LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAKKy0w
LjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MTIuMCAzOjcuMCAKKy0w
LjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6OS4wIAorLTAuMDU0NjY5
NzAzODcyNCAxOjcuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0
IDE6MS4wIDI6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAzOjEuMCAKKy0wLjA1NDY2OTcw
Mzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6OC4wIDI6Mi4wIAorLTAuMDU0NjY5NzAz
ODcyNCAxOjE3LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIDI6MS4wIAorLTAuMDU0NjY5NzAz
ODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6
MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo0LjAgCist
MC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2
OTcwMzg3MjQgMToxMy4wIDI6NC4wIDM6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAzOjEu
MCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAgMzoyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4w
IAorLTAuMDU0NjY5NzAzODcyNCAxOjE2LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6My4wIAorLTAu
MDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3
MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQg
MToyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAK
Ky0wLjA1NDY2OTcwMzg3MjQgMToyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0
NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4
NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToz
LjAgMzozLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIu
MCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxMS4wIDM6MTEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTox
LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0w
LjA1NDY2OTcwMzg3MjQgMToyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5
NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0
IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAg
CistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1
NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MTUuMCAKKy0wLjA1NDY2OTcw
Mzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAx
OjIwLjAgMjoxMi4wIDM6My4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcw
Mzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAx
OjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo3LjAgMzoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6
MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAzOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTox
LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAzOjEu
MCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6My4wIDM6Mi4w
IAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4w
NTQ2Njk3MDM4NzI0IDE6OS4wIDI6My4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAzOjEuMCAK
Ky0wLjA1NDY2OTcwMzg3MjQgMTo2LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6NC4wIAorLTAuMDU0
NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo3LjAgMjoyLjAgCistMC4wNTQ2
Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAzOjEuMCAKKy0wLjA1NDY2
OTcwMzg3MjQgMToyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIAorLTAuMDU0NjY5NzAzODcy
NCAxOjkuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4w
IAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4w
NTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcw
Mzg3MjQgMToxNC4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEyLjAgMzo2LjAgCistMC4wNTQ2Njk3
MDM4NzI0IDE6My4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjQuMCAyOjEuMCAzOjEuMCAKKy0wLjA1
NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAz
ODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6
OS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjkuMCAyOjEuMCAzOjQuMCAKKy0wLjA1NDY2OTcwMzg3
MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjku
MCAyOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTozLjAgMjozLjAgCistMC4wNTQ2Njk3MDM4NzI0
IDE6Mi4wIDI6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAyOjEuMCAzOjEuMCAKKy0wLjA1
NDY2OTcwMzg3MjQgMTo4LjAgMjoxLjAgMzozLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAor
LTAuMDU0NjY5NzAzODcyNCAxOjIuMCAyOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo5LjAgMjox
LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0w
LjA1NDY2OTcwMzg3MjQgMToyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5
NzAzODcyNCAxOjM2LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcy
NCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4w
IAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAgCistMC4w
NTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcw
Mzg3MjQgMTo2LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDM6MS4wIAorLTAuMDU0NjY5NzAz
ODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6
MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAgCist
MC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAKKy0wLjA1NDY2
OTcwMzg3MjQgMTo0LjAgMzoyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MTMuMCAzOjQuMCAKKy0w
LjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNDAyMDc1MTc4OTQyIDE6MS4wIAorMC41ODUzNjU4
NTM2NTkgMToxLjAgCiswLjQ3OTI3NjEzOTAwMSAxOjYuMCAyOjMuMCAKKzAuNTg1MzY1ODUzNjU5
IDE6Mi4wIAorMC41ODUzNjU4NTM2NTkgMToxLjAgCiswLjU4NTM2NTg1MzY1OSAxOjMuMCAzOjMu
MCAKKzAuNTg1MzY1ODUzNjU5IDE6NDIuMCAyOjIuMCAzOjI4LjAgCiswLjU4NTM2NTg1MzY1OSAx
OjIuMCAKKzAuNTg1MzY1ODUzNjU5IDE6MTIuMCAKKzAuNDc5MjgzMDQ2NTc4IDE6Ny4wIAorMC4z
MDAzOTc4NzM0NzYgMTozLjAgMzoxLjAgCiswLjA1NDMxNzMzMDY0NDIgMTo2LjAgMzoyLjAgCisw
LjU2MzQ2NTEyNjI5OSAxOjExLjAgCiswLjU4NTM2NTg1MzY1OSAxOjIuMCAKKzAuNTg1MzY1ODUz
NjU5IDE6MTAuMCAyOjMuMCAzOjYuMCAKKzAuNTg1MzY1ODUzNjU5IDE6MS4wIDI6MS4wIAorMC41
ODUzNjU4NTM2NTkgMToyLjAgCiswLjU4NTM2NTg1MzY1OSAxOjEuMCAyOjEuMCAKKzAuNTg1MzY1
ODUzNjU5IDE6My4wIDM6MS4wIAorMC41ODUzNjU4NTM2NTkgMToxLjAgCiswLjU4NTM2NTg1MzY1
OSAxOjIuMCAKKzAuNTg1MzY1ODUzNjU5IDE6MS4wIDI6MS4wIAorMC41ODQ5ODk3MTk5MDkgMTo3
LjAgCiswLjU4NTM2NTg1MzY1OSAxOjMuMCAKKzAuNTg1MzY1ODUzNjU5IDE6My4wIAorMC41MjU5
MjUxMzY5ODMgMTozLjAgMjoyLjAgCiswLjU4NTM2NTg1MzY1OSAxOjEuMCAKKzAuNTg1MzY1ODUz
NjU5IDE6MS4wIAorMC41ODUzNjU4NTM2NTkgMTozLjAgMzoxLjAgCiswLjU4NTM2NTg1MzY1OSAx
OjEuMCAKKzAuNTIwNzQ1ODIyMzc0IDE6My4wIApJbmRleDogU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL1dlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VyLmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFnZXIu
Y3BwCShyZXZpc2lvbiAyMTI4NTYpCisrKyBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUmVz
b3VyY2VMb2FkU3RhdGlzdGljc01hbmFnZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC02MSw2ICs2
MSwyMSBAQCBib29sIFdlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VyOjpoCiAgICAgcmV0
dXJuIFdlYkNvcmU6OlJlc291cmNlTG9hZE9ic2VydmVyOjpzaGFyZWRPYnNlcnZlcigpLmhhc0hh
ZFVzZXJJbnRlcmFjdGlvbihVUkwoVVJMKCksIGhvc3ROYW1lKSk7CiB9CiAKK3ZvaWQgV2ViUmVz
b3VyY2VMb2FkU3RhdGlzdGljc01hbmFnZXI6OnNldFN1YmZyYW1lVW5kZXJUb3BGcmFtZU9yaWdp
bihjb25zdCBTdHJpbmcmIGhvc3ROYW1lLCBjb25zdCBTdHJpbmcmIHRvcEZyYW1lSG9zdE5hbWUp
Cit7CisgICAgV2ViQ29yZTo6UmVzb3VyY2VMb2FkT2JzZXJ2ZXI6OnNoYXJlZE9ic2VydmVyKCku
c2V0U3ViZnJhbWVVbmRlclRvcEZyYW1lT3JpZ2luKFVSTChVUkwoKSwgaG9zdE5hbWUpLCBVUkwo
VVJMKCksIHRvcEZyYW1lSG9zdE5hbWUpKTsKK30KKwordm9pZCBXZWJSZXNvdXJjZUxvYWRTdGF0
aXN0aWNzTWFuYWdlcjo6c2V0U3VicmVzb3VyY2VVbmRlclRvcEZyYW1lT3JpZ2luKGNvbnN0IFN0
cmluZyYgaG9zdE5hbWUsIGNvbnN0IFN0cmluZyYgdG9wRnJhbWVIb3N0TmFtZSkKK3sKKyAgICBX
ZWJDb3JlOjpSZXNvdXJjZUxvYWRPYnNlcnZlcjo6c2hhcmVkT2JzZXJ2ZXIoKS5zZXRTdWJyZXNv
dXJjZVVuZGVyVG9wRnJhbWVPcmlnaW4oVVJMKFVSTCgpLCBob3N0TmFtZSksIFVSTChVUkwoKSwg
dG9wRnJhbWVIb3N0TmFtZSkpOworfQorCit2b2lkIFdlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NN
YW5hZ2VyOjpzZXRTdWJyZXNvdXJjZVVuaXF1ZVJlZGlyZWN0VG8oY29uc3QgU3RyaW5nJiBob3N0
TmFtZSwgY29uc3QgU3RyaW5nJiBob3N0TmFtZVJlZGlyZWN0ZWRUbykKK3sKKyAgICBXZWJDb3Jl
OjpSZXNvdXJjZUxvYWRPYnNlcnZlcjo6c2hhcmVkT2JzZXJ2ZXIoKS5zZXRTdWJyZXNvdXJjZVVu
aXF1ZVJlZGlyZWN0VG8oVVJMKFVSTCgpLCBob3N0TmFtZSksIFVSTChVUkwoKSwgaG9zdE5hbWVS
ZWRpcmVjdGVkVG8pKTsKK30KKwogdm9pZCBXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdl
cjo6c2V0VGltZVRvTGl2ZVVzZXJJbnRlcmFjdGlvbihkb3VibGUgc2Vjb25kcykKIHsKICAgICBX
ZWJDb3JlOjpSZXNvdXJjZUxvYWRPYnNlcnZlcjo6c2hhcmVkT2JzZXJ2ZXIoKS5zZXRUaW1lVG9M
aXZlVXNlckludGVyYWN0aW9uKHNlY29uZHMpOwpJbmRleDogU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL1dlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VyLmgKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VyLmgJ
KHJldmlzaW9uIDIxMjg1NikKKysrIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJSZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzTWFuYWdlci5oCSh3b3JraW5nIGNvcHkpCkBAIC00Miw2ICs0Miw5IEBA
IHB1YmxpYzoKICAgICBzdGF0aWMgYm9vbCBpc1ByZXZhbGVudFJlc291cmNlKGNvbnN0IFN0cmlu
ZyYgaG9zdE5hbWUpOwogICAgIHN0YXRpYyB2b2lkIHNldEhhc0hhZFVzZXJJbnRlcmFjdGlvbihj
b25zdCBTdHJpbmcmIGhvc3ROYW1lLCBib29sIHZhbHVlKTsKICAgICBzdGF0aWMgYm9vbCBoYXNI
YWRVc2VySW50ZXJhY3Rpb24oY29uc3QgU3RyaW5nJiBob3N0TmFtZSk7CisgICAgc3RhdGljIHZv
aWQgc2V0U3ViZnJhbWVVbmRlclRvcEZyYW1lT3JpZ2luKGNvbnN0IFN0cmluZyYgaG9zdE5hbWUs
IGNvbnN0IFN0cmluZyYgdG9wRnJhbWVIb3N0TmFtZSk7CisgICAgc3RhdGljIHZvaWQgc2V0U3Vi
cmVzb3VyY2VVbmRlclRvcEZyYW1lT3JpZ2luKGNvbnN0IFN0cmluZyYgaG9zdE5hbWUsIGNvbnN0
IFN0cmluZyYgdG9wRnJhbWVIb3N0TmFtZSk7CisgICAgc3RhdGljIHZvaWQgc2V0U3VicmVzb3Vy
Y2VVbmlxdWVSZWRpcmVjdFRvKGNvbnN0IFN0cmluZyYgaG9zdE5hbWUsIGNvbnN0IFN0cmluZyYg
aG9zdE5hbWVSZWRpcmVjdGVkVG8pOwogICAgIHN0YXRpYyB2b2lkIHNldFRpbWVUb0xpdmVVc2Vy
SW50ZXJhY3Rpb24oZG91YmxlIHNlY29uZHMpOwogICAgIHN0YXRpYyB2b2lkIHNldFJlZHVjZWRU
aW1lc3RhbXBSZXNvbHV0aW9uKGRvdWJsZSBzZWNvbmRzKTsKICAgICBzdGF0aWMgdm9pZCBmaXJl
RGF0YU1vZGlmaWNhdGlvbkhhbmRsZXIoKTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9XZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmUuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmUuY3BwCShy
ZXZpc2lvbiAyMTI4NTYpCisrKyBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUmVzb3VyY2VM
b2FkU3RhdGlzdGljc1N0b3JlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDUsNyArNDUsNiBAQCB1
c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIAogbmFtZXNwYWNlIFdlYktpdCB7CiAKLXN0YXRpYyBj
b25zdCBhdXRvIGZlYXR1cmVWZWN0b3JMZW5ndGhUaHJlc2hvbGQgPSAzOwogc3RhdGljIGF1dG8g
bWluaW11bVRpbWVCZXR3ZWVlbkRhdGFSZWNvcmRzUmVtb3ZhbCA9IDYwOwogc3RhdGljIE9wdGlv
blNldDxXZWJLaXQ6OldlYnNpdGVEYXRhVHlwZT4gZGF0YVR5cGVzVG9SZW1vdmU7CiBzdGF0aWMg
YXV0byBub3RpZnlQYWdlcyA9IGZhbHNlOwpAQCAtNTksNyArNTgsNyBAQCBSZWY8V2ViUmVzb3Vy
Y2VMb2FkU3RhdGlzdGljc1N0b3JlPiBXZWJSCiBXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3Rv
cmU6OldlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZShjb25zdCBTdHJpbmcmIHJlc291cmNl
TG9hZFN0YXRpc3RpY3NEaXJlY3RvcnkpCiAgICAgOiBtX3Jlc291cmNlTG9hZFN0YXRpc3RpY3NT
dG9yZShSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmU6OmNyZWF0ZSgpKQogICAgICwgbV9zdGF0
aXN0aWNzUXVldWUoV29ya1F1ZXVlOjpjcmVhdGUoIldlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NT
dG9yZSBQcm9jZXNzIERhdGEgUXVldWUiKSkKLSAgICAsIG1fc3RvcmFnZVBhdGgocmVzb3VyY2VM
b2FkU3RhdGlzdGljc0RpcmVjdG9yeSkKKyAgICAsIG1fc3RhdGlzdGljc1N0b3JhZ2VQYXRoKHJl
c291cmNlTG9hZFN0YXRpc3RpY3NEaXJlY3RvcnkpCiB7CiB9CiAKQEAgLTgzLDQwICs4MiwxMSBA
QCB2b2lkIFdlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZTo6c2V0CiAgICAgICAgIG1pbmlt
dW1UaW1lQmV0d2VlZW5EYXRhUmVjb3Jkc1JlbW92YWwgPSBzZWNvbmRzOwogfQogCi1ib29sIFdl
YlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZTo6aGFzUHJldmFsZW50UmVzb3VyY2VDaGFyYWN0
ZXJpc3RpY3MoY29uc3QgUmVzb3VyY2VMb2FkU3RhdGlzdGljcyYgcmVzb3VyY2VTdGF0aXN0aWMp
Ci17Ci0gICAgYXV0byBzdWJyZXNvdXJjZVVuZGVyVG9wRnJhbWVPcmlnaW5zQ291bnQgPSByZXNv
dXJjZVN0YXRpc3RpYy5zdWJyZXNvdXJjZVVuZGVyVG9wRnJhbWVPcmlnaW5zLnNpemUoKTsKLSAg
ICBhdXRvIHN1YnJlc291cmNlVW5pcXVlUmVkaXJlY3RzVG9Db3VudCA9IHJlc291cmNlU3RhdGlz
dGljLnN1YnJlc291cmNlVW5pcXVlUmVkaXJlY3RzVG8uc2l6ZSgpOwotICAgIGF1dG8gc3ViZnJh
bWVVbmRlclRvcEZyYW1lT3JpZ2luc0NvdW50ID0gcmVzb3VyY2VTdGF0aXN0aWMuc3ViZnJhbWVV
bmRlclRvcEZyYW1lT3JpZ2lucy5zaXplKCk7Ci0gICAgCi0gICAgaWYgKCFzdWJyZXNvdXJjZVVu
ZGVyVG9wRnJhbWVPcmlnaW5zQ291bnQKLSAgICAgICAgJiYgIXN1YnJlc291cmNlVW5pcXVlUmVk
aXJlY3RzVG9Db3VudAotICAgICAgICAmJiAhc3ViZnJhbWVVbmRlclRvcEZyYW1lT3JpZ2luc0Nv
dW50KQotICAgICAgICByZXR1cm4gZmFsc2U7Ci0KLSAgICBpZiAoc3VicmVzb3VyY2VVbmRlclRv
cEZyYW1lT3JpZ2luc0NvdW50ID4gZmVhdHVyZVZlY3Rvckxlbmd0aFRocmVzaG9sZAotICAgICAg
ICB8fCBzdWJyZXNvdXJjZVVuaXF1ZVJlZGlyZWN0c1RvQ291bnQgPiBmZWF0dXJlVmVjdG9yTGVu
Z3RoVGhyZXNob2xkCi0gICAgICAgIHx8IHN1YmZyYW1lVW5kZXJUb3BGcmFtZU9yaWdpbnNDb3Vu
dCA+IGZlYXR1cmVWZWN0b3JMZW5ndGhUaHJlc2hvbGQpCi0gICAgICAgIHJldHVybiB0cnVlOwot
Ci0gICAgLy8gVGhlIHJlc291cmNlIGlzIGNvbnNpZGVyZWQgcHJldmFsZW50IGlmIHRoZSBmZWF0
dXJlIHZlY3RvcgotICAgIC8vIGlzIGxvbmdlciB0aGFuIHRoZSB0aHJlc2hvbGQuCi0gICAgLy8g
VmVjdG9yIGxlbmd0aCBmb3IgbiBkaW1lbnNpb25zIGlzIHNxcnQoYV4yICsgKC4uLikgKyBuXjIp
LgotICAgIGRvdWJsZSB2ZWN0b3JMZW5ndGggPSAwOwotICAgIHZlY3Rvckxlbmd0aCArPSBzdWJy
ZXNvdXJjZVVuZGVyVG9wRnJhbWVPcmlnaW5zQ291bnQgKiBzdWJyZXNvdXJjZVVuZGVyVG9wRnJh
bWVPcmlnaW5zQ291bnQ7Ci0gICAgdmVjdG9yTGVuZ3RoICs9IHN1YnJlc291cmNlVW5pcXVlUmVk
aXJlY3RzVG9Db3VudCAqIHN1YnJlc291cmNlVW5pcXVlUmVkaXJlY3RzVG9Db3VudDsKLSAgICB2
ZWN0b3JMZW5ndGggKz0gc3ViZnJhbWVVbmRlclRvcEZyYW1lT3JpZ2luc0NvdW50ICogc3ViZnJh
bWVVbmRlclRvcEZyYW1lT3JpZ2luc0NvdW50OwotCi0gICAgQVNTRVJUKHZlY3Rvckxlbmd0aCA+
IDApOwotCi0gICAgcmV0dXJuIHNxcnQodmVjdG9yTGVuZ3RoKSA+IGZlYXR1cmVWZWN0b3JMZW5n
dGhUaHJlc2hvbGQ7Ci19Ci0gICAgCiB2b2lkIFdlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9y
ZTo6Y2xhc3NpZnlSZXNvdXJjZShSZXNvdXJjZUxvYWRTdGF0aXN0aWNzJiByZXNvdXJjZVN0YXRp
c3RpYykKIHsKLSAgICBpZiAoIXJlc291cmNlU3RhdGlzdGljLmlzUHJldmFsZW50UmVzb3VyY2Ug
JiYgaGFzUHJldmFsZW50UmVzb3VyY2VDaGFyYWN0ZXJpc3RpY3MocmVzb3VyY2VTdGF0aXN0aWMp
KSB7CisgICAgaWYgKCFyZXNvdXJjZVN0YXRpc3RpYy5pc1ByZXZhbGVudFJlc291cmNlCisgICAg
ICAgICYmIG1fcmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXIuaGFzUHJldmFsZW50UmVz
b3VyY2VDaGFyYWN0ZXJpc3RpY3MocmVzb3VyY2VTdGF0aXN0aWMpKQogICAgICAgICByZXNvdXJj
ZVN0YXRpc3RpYy5pc1ByZXZhbGVudFJlc291cmNlID0gdHJ1ZTsKLSAgICB9CiB9CiAKIHZvaWQg
V2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlOjpyZW1vdmVEYXRhUmVjb3JkcygpCkBAIC0y
NDksMTEgKzIxOSwxMSBAQCB2b2lkIFdlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZTo6YXBw
CiAKIFN0cmluZyBXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmU6OnBlcnNpc3RlbnRTdG9y
YWdlUGF0aChjb25zdCBTdHJpbmcmIGxhYmVsKSBjb25zdAogewotICAgIGlmIChtX3N0b3JhZ2VQ
YXRoLmlzRW1wdHkoKSkKKyAgICBpZiAobV9zdGF0aXN0aWNzU3RvcmFnZVBhdGguaXNFbXB0eSgp
KQogICAgICAgICByZXR1cm4gZW1wdHlTdHJpbmcoKTsKIAogICAgIC8vIFRPRE8gRGVjaWRlIHdo
YXQgdG8gY2FsbCB0aGlzIGZpbGUKLSAgICByZXR1cm4gcGF0aEJ5QXBwZW5kaW5nQ29tcG9uZW50
KG1fc3RvcmFnZVBhdGgsIGxhYmVsICsgIl9yZXNvdXJjZUxvZy5wbGlzdCIpOworICAgIHJldHVy
biBwYXRoQnlBcHBlbmRpbmdDb21wb25lbnQobV9zdGF0aXN0aWNzU3RvcmFnZVBhdGgsIGxhYmVs
ICsgIl9yZXNvdXJjZUxvZy5wbGlzdCIpOwogfQogCiB2b2lkIFdlYlJlc291cmNlTG9hZFN0YXRp
c3RpY3NTdG9yZTo6d3JpdGVFbmNvZGVyVG9EaXNrKEtleWVkRW5jb2RlciYgZW5jb2RlciwgY29u
c3QgU3RyaW5nJiBsYWJlbCkgY29uc3QKQEAgLTI2Niw4ICsyMzYsOCBAQCB2b2lkIFdlYlJlc291
cmNlTG9hZFN0YXRpc3RpY3NTdG9yZTo6d3JpCiAgICAgaWYgKHJlc291cmNlTG9nLmlzRW1wdHko
KSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgaWYgKCFtX3N0b3JhZ2VQYXRoLmlzRW1wdHkoKSkK
LSAgICAgICAgbWFrZUFsbERpcmVjdG9yaWVzKG1fc3RvcmFnZVBhdGgpOworICAgIGlmICghbV9z
dGF0aXN0aWNzU3RvcmFnZVBhdGguaXNFbXB0eSgpKQorICAgICAgICBtYWtlQWxsRGlyZWN0b3Jp
ZXMobV9zdGF0aXN0aWNzU3RvcmFnZVBhdGgpOwogCiAgICAgYXV0byBoYW5kbGUgPSBvcGVuRmls
ZShyZXNvdXJjZUxvZywgT3BlbkZvcldyaXRlKTsKICAgICBpZiAoIWhhbmRsZSkKSW5kZXg6IFNv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmUuaAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUmVzb3VyY2VMb2FkU3Rh
dGlzdGljc1N0b3JlLmgJKHJldmlzaW9uIDIxMjg1NikKKysrIFNvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9XZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmUuaAkod29ya2luZyBjb3B5KQpAQCAt
MjgsNiArMjgsNyBAQAogCiAjaW5jbHVkZSAiQVBJT2JqZWN0LmgiCiAjaW5jbHVkZSAiQ29ubmVj
dGlvbi5oIgorI2luY2x1ZGUgIlJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyLmgiCiAj
aW5jbHVkZSAiV2Vic2l0ZURhdGFSZWNvcmQuaCIKICNpbmNsdWRlIDxXZWJDb3JlL1Jlc291cmNl
TG9hZFN0YXRpc3RpY3NTdG9yZS5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KQEAgLTc2LDcg
Kzc3LDYgQEAgcHJpdmF0ZToKIAogICAgIHZvaWQgcHJvY2Vzc1N0YXRpc3RpY3NBbmREYXRhUmVj
b3JkcygpOwogCi0gICAgYm9vbCBoYXNQcmV2YWxlbnRSZXNvdXJjZUNoYXJhY3RlcmlzdGljcyhj
b25zdCBXZWJDb3JlOjpSZXNvdXJjZUxvYWRTdGF0aXN0aWNzJik7CiAgICAgdm9pZCBjbGFzc2lm
eVJlc291cmNlKFdlYkNvcmU6OlJlc291cmNlTG9hZFN0YXRpc3RpY3MmKTsKICAgICB2b2lkIHJl
bW92ZURhdGFSZWNvcmRzKCk7CiAKQEAgLTg5LDggKzg5LDkgQEAgcHJpdmF0ZToKICAgICBzdGQ6
OnVuaXF1ZV9wdHI8V2ViQ29yZTo6S2V5ZWREZWNvZGVyPiBjcmVhdGVEZWNvZGVyRnJvbURpc2so
Y29uc3QgU3RyaW5nJiBsYWJlbCkgY29uc3Q7CiAKICAgICBSZWY8V2ViQ29yZTo6UmVzb3VyY2VM
b2FkU3RhdGlzdGljc1N0b3JlPiBtX3Jlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZTsKKyAgICBS
ZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllciBtX3Jlc291cmNlTG9hZFN0YXRpc3RpY3ND
bGFzc2lmaWVyOwogICAgIFJlZjxXVEY6OldvcmtRdWV1ZT4gbV9zdGF0aXN0aWNzUXVldWU7Ci0g
ICAgU3RyaW5nIG1fc3RvcmFnZVBhdGg7CisgICAgU3RyaW5nIG1fc3RhdGlzdGljc1N0b3JhZ2VQ
YXRoOwogICAgIGJvb2wgbV9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzRW5hYmxlZCB7IGZhbHNlIH07
CiAKICAgICBkb3VibGUgbV9sYXN0VGltZURhdGFSZWNvcmRzV2VyZVJlbW92ZWQgeyAwIH07Cklu
ZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tSZXNvdXJjZUxvYWRTdGF0aXN0
aWNzTWFuYWdlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQ
SS9DL1dLUmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFnZXIuY3BwCShyZXZpc2lvbiAyMTI4NTYp
CisrKyBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tSZXNvdXJjZUxvYWRTdGF0aXN0
aWNzTWFuYWdlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTU2LDYgKzU2LDIxIEBAIGJvb2wgV0tS
ZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdlcklzSGEKICAgICByZXR1cm4gV2ViUmVzb3VyY2VM
b2FkU3RhdGlzdGljc01hbmFnZXI6Omhhc0hhZFVzZXJJbnRlcmFjdGlvbih0b1dURlN0cmluZyho
b3N0TmFtZSkpOwogfQogCit2b2lkIFdLUmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFnZXJTZXRT
dWJmcmFtZVVuZGVyVG9wRnJhbWVPcmlnaW4oV0tTdHJpbmdSZWYgaG9zdE5hbWUsIFdLU3RyaW5n
UmVmIHRvcEZyYW1lSG9zdE5hbWUpCit7CisgICAgV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc01h
bmFnZXI6OnNldFN1YmZyYW1lVW5kZXJUb3BGcmFtZU9yaWdpbih0b1dURlN0cmluZyhob3N0TmFt
ZSksIHRvV1RGU3RyaW5nKHRvcEZyYW1lSG9zdE5hbWUpKTsKK30KKwordm9pZCBXS1Jlc291cmNl
TG9hZFN0YXRpc3RpY3NNYW5hZ2VyU2V0U3VicmVzb3VyY2VVbmRlclRvcEZyYW1lT3JpZ2luKFdL
U3RyaW5nUmVmIGhvc3ROYW1lLCBXS1N0cmluZ1JlZiB0b3BGcmFtZUhvc3ROYW1lKQoreworICAg
IFdlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VyOjpzZXRTdWJyZXNvdXJjZVVuZGVyVG9w
RnJhbWVPcmlnaW4odG9XVEZTdHJpbmcoaG9zdE5hbWUpLCB0b1dURlN0cmluZyh0b3BGcmFtZUhv
c3ROYW1lKSk7Cit9CisKK3ZvaWQgV0tSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdlclNldFN1
YnJlc291cmNlVW5pcXVlUmVkaXJlY3RUbyhXS1N0cmluZ1JlZiBob3N0TmFtZSwgV0tTdHJpbmdS
ZWYgaG9zdE5hbWVSZWRpcmVjdGVkVG8pCit7CisgICAgV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGlj
c01hbmFnZXI6OnNldFN1YnJlc291cmNlVW5pcXVlUmVkaXJlY3RUbyh0b1dURlN0cmluZyhob3N0
TmFtZSksIHRvV1RGU3RyaW5nKGhvc3ROYW1lUmVkaXJlY3RlZFRvKSk7Cit9CisKIHZvaWQgV0tS
ZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdlclNldFRpbWVUb0xpdmVVc2VySW50ZXJhY3Rpb24o
ZG91YmxlIHNlY29uZHMpCiB7CiAgICAgV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFnZXI6
OnNldFRpbWVUb0xpdmVVc2VySW50ZXJhY3Rpb24oc2Vjb25kcyk7CkluZGV4OiBTb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdlci5oCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1Jlc291cmNlTG9h
ZFN0YXRpc3RpY3NNYW5hZ2VyLmgJKHJldmlzaW9uIDIxMjg1NikKKysrIFNvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9BUEkvQy9XS1Jlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VyLmgJKHdvcmtp
bmcgY29weSkKQEAgLTM4LDYgKzM4LDkgQEAgZXh0ZXJuICJDIiB7CiAgICAgV0tfRVhQT1JUIGJv
b2wgV0tSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdlcklzUHJldmFsZW50UmVzb3VyY2UoV0tT
dHJpbmdSZWYgaG9zdE5hbWUpOwogICAgIFdLX0VYUE9SVCB2b2lkIFdLUmVzb3VyY2VMb2FkU3Rh
dGlzdGljc01hbmFnZXJTZXRIYXNIYWRVc2VySW50ZXJhY3Rpb24oV0tTdHJpbmdSZWYgaG9zdE5h
bWUsIGJvb2wgdmFsdWUpOwogICAgIFdLX0VYUE9SVCBib29sIFdLUmVzb3VyY2VMb2FkU3RhdGlz
dGljc01hbmFnZXJJc0hhc0hhZFVzZXJJbnRlcmFjdGlvbihXS1N0cmluZ1JlZiBob3N0TmFtZSk7
CisgICAgV0tfRVhQT1JUIHZvaWQgV0tSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdlclNldFN1
YmZyYW1lVW5kZXJUb3BGcmFtZU9yaWdpbihXS1N0cmluZ1JlZiBob3N0TmFtZSwgV0tTdHJpbmdS
ZWYgdG9wRnJhbWVIb3N0TmFtZSk7CisgICAgV0tfRVhQT1JUIHZvaWQgV0tSZXNvdXJjZUxvYWRT
dGF0aXN0aWNzTWFuYWdlclNldFN1YnJlc291cmNlVW5kZXJUb3BGcmFtZU9yaWdpbihXS1N0cmlu
Z1JlZiBob3N0TmFtZSwgV0tTdHJpbmdSZWYgdG9wRnJhbWVIb3N0TmFtZSk7CisgICAgV0tfRVhQ
T1JUIHZvaWQgV0tSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdlclNldFN1YnJlc291cmNlVW5p
cXVlUmVkaXJlY3RUbyhXS1N0cmluZ1JlZiBob3N0TmFtZSwgV0tTdHJpbmdSZWYgaG9zdE5hbWVS
ZWRpcmVjdGVkVG8pOwogICAgIFdLX0VYUE9SVCB2b2lkIFdLUmVzb3VyY2VMb2FkU3RhdGlzdGlj
c01hbmFnZXJTZXRUaW1lVG9MaXZlVXNlckludGVyYWN0aW9uKGRvdWJsZSBzZWNvbmRzKTsKICAg
ICBXS19FWFBPUlQgdm9pZCBXS1Jlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VyU2V0UmVkdWNl
ZFRpbWVzdGFtcFJlc29sdXRpb24oZG91YmxlIHNlY29uZHMpOwogICAgIFdLX0VYUE9SVCB2b2lk
IFdLUmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFnZXJGaXJlRGF0YU1vZGlmaWNhdGlvbkhhbmRs
ZXIoKTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1dlYktpdDIueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvago9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9XZWJLaXQyLnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2oJKHJldmlzaW9uIDIxMjg1NikKKysrIFNvdXJjZS9XZWJLaXQyL1dlYktpdDIu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkod29ya2luZyBjb3B5KQpAQCAtMTE0NywxMCArMTE0
NywxNyBAQAogCQk2NTAxQkQxQTEyRjEyNDM0MDBFOUYyNDggLyogV0tCdW5kbGVJbnNwZWN0b3Iu
Y3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNjVCODZG
MTcxMkYxMUQ3QjAwQjdERDhBIC8qIFdLQnVuZGxlSW5zcGVjdG9yLmNwcCAqLzsgfTsKIAkJNjU5
QzU1MUUxMzAwMDY0MTAwMjVDMEMyIC8qIEluamVjdGVkQnVuZGxlUGFnZVJlc291cmNlTG9hZENs
aWVudC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA2
NTQ2QTgyOTEzMDAwMTY0MDAwQ0VCMUMgLyogSW5qZWN0ZWRCdW5kbGVQYWdlUmVzb3VyY2VMb2Fk
Q2xpZW50LmNwcCAqLzsgfTsKIAkJNjVCODZGMUUxMkYxMURFMzAwQjdERDhBIC8qIFdLQnVuZGxl
SW5zcGVjdG9yLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA2NUI4NkYxODEyRjExRDdCMDBCN0REOEEgLyogV0tCdW5kbGVJbnNwZWN0b3IuaCAqLzsgc2V0
dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQk2QjJFMDlCQTFFNTdC
ODgxMDBDOEE4QjkgLyogQ29yZVByZWRpY3Rpb25TUEkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDZCMkUwOUI5MUU1N0I4ODEwMEM4QThCOSAvKiBDb3Jl
UHJlZGljdGlvblNQSS5oICovOyB9OwogCQk2QkU5Njk5QzFFNDNCM0ZGMDA4Qjc0ODMgLyogV0tS
ZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gNkJFOTY5OUIxRTQzQjNGRjAwOEI3NDgzIC8qIFdLUmVzb3Vy
Y2VMb2FkU3RhdGlzdGljc01hbmFnZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQ
cml2YXRlLCApOyB9OyB9OwogCQk2QkU5Njk5RTFFNDNCNDFEMDA4Qjc0ODMgLyogV0tSZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzTWFuYWdlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA2QkU5Njk5RDFFNDNCNDFEMDA4Qjc0ODMgLyogV0tSZXNvdXJjZUxv
YWRTdGF0aXN0aWNzTWFuYWdlci5jcHAgKi87IH07CiAJCTZCRTk2OUEwMUU0M0I4NkUwMDhCNzQ4
MyAvKiBXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdlci5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNkJFOTY5OUYxRTQzQjg2RTAwOEI3NDgzIC8q
IFdlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VyLmggKi87IH07CiAJCTZCRTk2OUEyMUU0
M0I4QTQwMDhCNzQ4MyAvKiBXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdlci5jcHAgaW4g
U291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA2QkU5NjlBMTFFNDNC
OEE0MDA4Qjc0ODMgLyogV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFnZXIuY3BwICovOyB9
OworCQk2QkU5NjlDMTFFNTRENDUyMDA4Qjc0ODMgLyogY29yZVByZWRpY3Rpb25fbW9kZWwgaW4g
UmVzb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDZCRTk2OUMwMUU1
NEQ0NTIwMDhCNzQ4MyAvKiBjb3JlUHJlZGljdGlvbl9tb2RlbCAqLzsgfTsKKwkJNkJFOTY5QzUx
RTU0RDRBNDAwOEI3NDgzIC8qIFJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA2QkU5NjlDNDFFNTRE
NEE0MDA4Qjc0ODMgLyogUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXIuaCAqLzsgfTsK
KwkJNkJFOTY5QzcxRTU0RDRCNjAwOEI3NDgzIC8qIFJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFz
c2lmaWVyQmFzZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA2QkU5NjlDNjFFNTRENEI2MDA4Qjc0ODMgLyogUmVzb3VyY2VMb2FkU3RhdGlzdGljc0Ns
YXNzaWZpZXJCYXNlLmNwcCAqLzsgfTsKKwkJNkJFOTY5Q0ExRTU0RDRDRjAwOEI3NDgzIC8qIFJl
c291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQ29jb2EuY3BwIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNkJFOTY5QzgxRTU0RDRDRjAwOEI3NDgzIC8q
IFJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQ29jb2EuY3BwICovOyB9OworCQk2QkU5
NjlDQjFFNTRENENGMDA4Qjc0ODMgLyogUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXJD
b2NvYS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNkJF
OTY5QzkxRTU0RDRDRjAwOEI3NDgzIC8qIFJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVy
Q29jb2EuaCAqLzsgfTsKKwkJNkJFOTY5Q0QxRTU0RTA1NDAwOEI3NDgzIC8qIFJlc291cmNlTG9h
ZFN0YXRpc3RpY3NDbGFzc2lmaWVyQmFzZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gNkJFOTY5Q0MxRTU0RTA1NDAwOEI3NDgzIC8qIFJlc291cmNlTG9h
ZFN0YXRpc3RpY3NDbGFzc2lmaWVyQmFzZS5oICovOyB9OwogCQk2RUU4NDlDODEzNjhEOTM5MDAz
OEQ0ODEgLyogV0tJbnNwZWN0b3JQcml2YXRlTWFjLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA2RUU4NDlDNjEzNjhEOTJEMDAzOEQ0ODEgLyogV0tJbnNw
ZWN0b3JQcml2YXRlTWFjLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwg
KTsgfTsgfTsKIAkJNzI4RTg2RjExNzk1MTg4QzAwODc4NzlFIC8qIFdlYkNvbG9yUGlja2VyTWFj
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3MjhFODZF
RjE3OTUxODhDMDA4Nzg3OUUgLyogV2ViQ29sb3JQaWNrZXJNYWMuaCAqLzsgfTsKIAkJNzI4RTg2
RjIxNzk1MTg4QzAwODc4NzlFIC8qIFdlYkNvbG9yUGlja2VyTWFjLm1tIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNzI4RTg2RjAxNzk1MTg4QzAwODc4NzlF
IC8qIFdlYkNvbG9yUGlja2VyTWFjLm1tICovOyB9OwpAQCAtMzM0MCwxMCArMzM0NywxNyBAQAog
CQk2NTQ2QTgyQTEzMDAwMTY0MDAwQ0VCMUMgLyogSW5qZWN0ZWRCdW5kbGVQYWdlUmVzb3VyY2VM
b2FkQ2xpZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEluamVjdGVkQnVu
ZGxlUGFnZVJlc291cmNlTG9hZENsaWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQk2NUI4NkYxNzEyRjExRDdCMDBCN0REOEEgLyogV0tCdW5kbGVJbnNwZWN0b3IuY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV0tCdW5kbGVJbnNwZWN0b3IuY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk2NUI4NkYxODEyRjExRDdCMDBCN0REOEEgLyog
V0tCdW5kbGVJbnNwZWN0b3IuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV0tC
dW5kbGVJbnNwZWN0b3IuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNkIyRTA5Qjkx
RTU3Qjg4MTAwQzhBOEI5IC8qIENvcmVQcmVkaWN0aW9uU1BJLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IENvcmVQcmVkaWN0aW9uU1BJLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTZCRTk2OTlCMUU0M0IzRkYwMDhCNzQ4MyAvKiBXS1Jlc291cmNlTG9hZFN0YXRp
c3RpY3NNYW5hZ2VyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdLUmVzb3Vy
Y2VMb2FkU3RhdGlzdGljc01hbmFnZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
NkJFOTY5OUQxRTQzQjQxRDAwOEI3NDgzIC8qIFdLUmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFn
ZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV0tSZXNvdXJjZUxv
YWRTdGF0aXN0aWNzTWFuYWdlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTZC
RTk2OTlGMUU0M0I4NkUwMDhCNzQ4MyAvKiBXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdl
ci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJSZXNvdXJjZUxvYWRTdGF0
aXN0aWNzTWFuYWdlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk2QkU5NjlBMTFF
NDNCOEE0MDA4Qjc0ODMgLyogV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFnZXIuY3BwICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV2ViUmVzb3VyY2VMb2FkU3RhdGlz
dGljc01hbmFnZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk2QkU5NjlDMDFF
NTRENDUyMDA4Qjc0ODMgLyogY29yZVByZWRpY3Rpb25fbW9kZWwgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBw
YXRoID0gY29yZVByZWRpY3Rpb25fbW9kZWw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CTZCRTk2OUM0MUU1NEQ0QTQwMDhCNzQ4MyAvKiBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3Np
Zmllci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBSZXNvdXJjZUxvYWRTdGF0
aXN0aWNzQ2xhc3NpZmllci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk2QkU5NjlD
NjFFNTRENEI2MDA4Qjc0ODMgLyogUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXJCYXNl
LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFJlc291cmNlTG9hZFN0
YXRpc3RpY3NDbGFzc2lmaWVyQmFzZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CTZCRTk2OUM4MUU1NEQ0Q0YwMDhCNzQ4MyAvKiBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3Np
ZmllckNvY29hLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFJlc291
cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQ29jb2EuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQk2QkU5NjlDOTFFNTRENENGMDA4Qjc0ODMgLyogUmVzb3VyY2VMb2FkU3RhdGlz
dGljc0NsYXNzaWZpZXJDb2NvYS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBS
ZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllckNvY29hLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCTZCRTk2OUNDMUU1NEUwNTQwMDhCNzQ4MyAvKiBSZXNvdXJjZUxvYWRTdGF0
aXN0aWNzQ2xhc3NpZmllckJhc2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
UmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXJCYXNlLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCTZEOEE5MUE1MTFGMEVGRDEwMEREMDFGRSAvKiBjb20uYXBwbGUuV2ViUHJv
Y2Vzcy5zYi5pbiAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IG5hbWUgPSBjb20uYXBwbGUuV2ViUHJvY2Vzcy5z
Yi5pbjsgcGF0aCA9IFdlYlByb2Nlc3MvY29tLmFwcGxlLldlYlByb2Nlc3Muc2IuaW47IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTZFRTg0OUM2MTM2OEQ5MkQwMDM4RDQ4MSAvKiBXS0lu
c3BlY3RvclByaXZhdGVNYWMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gV0tJ
bnNwZWN0b3JQcml2YXRlTWFjLmg7IHBhdGggPSBtYWMvV0tJbnNwZWN0b3JQcml2YXRlTWFjLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTcyOEU4NkVGMTc5NTE4OEMwMDg3ODc5RSAv
KiBXZWJDb2xvclBpY2tlck1hYy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBX
ZWJDb2xvclBpY2tlck1hYy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtNDM2MCw2
ICs0Mzc0LDcgQEAKIAkJMDg5QzE2NjVGRTg0MTE1OEMwMkFBQzA3IC8qIFJlc291cmNlcyAqLyA9
IHsKIAkJCWlzYSA9IFBCWEdyb3VwOwogCQkJY2hpbGRyZW4gPSAoCisJCQkJNkJFOTY5QkYxRTU0
RDQ1MjAwOEI3NDgzIC8qIFJlc291cmNlTG9hZFN0YXRpc3RpY3MgKi8sCiAJCQkJMzdGOEM5NEYx
QUUyMkJEODAwN0RBQjlFIC8qIG1hYyAqLywKIAkJCQk3Q0IxNkZFMTE3MjRCOUI1MDA3QTBBOTUg
LyogUGx1Z0luU2FuZGJveFByb2ZpbGVzICovLAogCQkJCUE3OENDREQ1MTkzQUM5RTMwMDVFQ0My
NSAvKiBTYW5kYm94UHJvZmlsZXMgKi8sCkBAIC02MTIzLDYgKzYxMzgsMzYgQEAKIAkJCW5hbWUg
PSBDb2NvYTsKIAkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CiAJCX07CisJCTZCRTk2OUJGMUU1
NEQ0NTIwMDhCNzQ4MyAvKiBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzICovID0geworCQkJaXNhID0g
UEJYR3JvdXA7CisJCQljaGlsZHJlbiA9ICgKKwkJCQk2QkU5NjlDMDFFNTRENDUyMDA4Qjc0ODMg
LyogY29yZVByZWRpY3Rpb25fbW9kZWwgKi8sCisJCQkpOworCQkJbmFtZSA9IFJlc291cmNlTG9h
ZFN0YXRpc3RpY3M7CisJCQlwYXRoID0gUmVzb3VyY2VzL1Jlc291cmNlTG9hZFN0YXRpc3RpY3M7
CisJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOworCQl9OworCQk2QkU5NjlDMjFFNTRENDY3MDA4
Qjc0ODMgLyogY2xhc3NpZmllciAqLyA9IHsKKwkJCWlzYSA9IFBCWEdyb3VwOworCQkJY2hpbGRy
ZW4gPSAoCisJCQkJNkJFOTY5QzMxRTU0RDQ2NzAwOEI3NDgzIC8qIGNvY29hICovLAorCQkJCTZC
RTk2OUM2MUU1NEQ0QjYwMDhCNzQ4MyAvKiBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmll
ckJhc2UuY3BwICovLAorCQkJCTZCRTk2OUM0MUU1NEQ0QTQwMDhCNzQ4MyAvKiBSZXNvdXJjZUxv
YWRTdGF0aXN0aWNzQ2xhc3NpZmllci5oICovLAorCQkJCTZCRTk2OUNDMUU1NEUwNTQwMDhCNzQ4
MyAvKiBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllckJhc2UuaCAqLywKKwkJCSk7CisJ
CQlwYXRoID0gY2xhc3NpZmllcjsKKwkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CisJCX07CisJ
CTZCRTk2OUMzMUU1NEQ0NjcwMDhCNzQ4MyAvKiBjb2NvYSAqLyA9IHsKKwkJCWlzYSA9IFBCWEdy
b3VwOworCQkJY2hpbGRyZW4gPSAoCisJCQkJNkJFOTY5QzgxRTU0RDRDRjAwOEI3NDgzIC8qIFJl
c291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQ29jb2EuY3BwICovLAorCQkJCTZCRTk2OUM5
MUU1NEQ0Q0YwMDhCNzQ4MyAvKiBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllckNvY29h
LmggKi8sCisJCQkJNkIyRTA5QjkxRTU3Qjg4MTAwQzhBOEI5IC8qIENvcmVQcmVkaWN0aW9uU1BJ
LmggKi8sCisJCQkpOworCQkJcGF0aCA9IGNvY29hOworCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsKKwkJfTsKIAkJNkVFODQ5QzQxMzY4RDkwNDAwMzhENDgxIC8qIG1hYyAqLyA9IHsKIAkJCWlz
YSA9IFBCWEdyb3VwOwogCQkJY2hpbGRyZW4gPSAoCkBAIC03MDI0LDYgKzcwNjksNyBAQAogCQlC
QzJFNkU3NDExNDE5NkYwMDBBNjNCMUUgLyogUGxhdGZvcm0gKi8gPSB7CiAJCQlpc2EgPSBQQlhH
cm91cDsKIAkJCWNoaWxkcmVuID0gKAorCQkJCTZCRTk2OUMyMUU1NEQ0NjcwMDhCNzQ4MyAvKiBj
bGFzc2lmaWVyICovLAogCQkJCTM3MDk1MDQxMThBODhCQTQwMDg3QUU1RCAvKiBjZiAqLywKIAkJ
CQkxQUEyRTUxQTEyRTRDMDU2MDBCQzQ5NjYgLyogY2cgKi8sCiAJCQkJNDQ1MEFFQkUxREMzRkFB
QzAwOTk0M0YyIC8qIGNvY29hICovLApAQCAtNzkwNyw2ICs3OTUzLDcgQEAKIAkJCQk0MURDNDU5
NjFFM0Q2RTIyMDBCMTFGNTEgLyogTmV0d29ya1JUQ1Byb3ZpZGVyLmggaW4gSGVhZGVycyAqLywK
IAkJCQk3QzFCQTMzRTFBNEEwRTYwMDA0M0UyNDkgLyogQVBJRGljdGlvbmFyeS5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJMUY3RDM2QzExOERBNTEzRjAwRDlENjU5IC8qIEFQSURvd25sb2FkQ2xpZW50
LmggaW4gSGVhZGVycyAqLywKKwkJCQk2QkU5NjlDQjFFNTRENENGMDA4Qjc0ODMgLyogUmVzb3Vy
Y2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXJDb2NvYS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTE2
QTRBNUQxMjBBMkNDRDAwQzA1QjdGIC8qIEFQSUVycm9yLmggaW4gSGVhZGVycyAqLywKIAkJCQkz
MTdGRTdDNTFDNDg3QTZDMDBBMENBODkgLyogQVBJRXhwZXJpbWVudGFsRmVhdHVyZS5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJMDBCOTY2MTYxOEUyNENCQTAwQ0UxRjg4IC8qIEFQSUZpbmRDbGllbnQu
aCBpbiBIZWFkZXJzICovLApAQCAtODMyOCw2ICs4Mzc1LDcgQEAKIAkJCQkzMzA5MzQ0QTEzMTVC
OTIyMDA5N0E3QkMgLyogV2ViQ29va2llTWFuYWdlclByb3h5TWVzc2FnZXMuaCBpbiBIZWFkZXJz
ICovLAogCQkJCUJDMUREN0IyMTE0REMzOTYwMDVBREFGMyAvKiBXZWJDb3JlQXJndW1lbnRDb2Rl
cnMuaCBpbiBIZWFkZXJzICovLAogCQkJCTUxMkY1ODlCMTJBODgzODgwMDYyOTUzMCAvKiBXZWJD
cmVkZW50aWFsLmggaW4gSGVhZGVycyAqLywKKwkJCQk2QkU5NjlDNTFFNTRENEE0MDA4Qjc0ODMg
LyogUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXIuaCBpbiBIZWFkZXJzICovLAogCQkJ
CTFBQTgzRjZEMUE1QjYzRkYwMDAyNkVDNiAvKiBXZWJEYXRhYmFzZVByb3ZpZGVyLmggaW4gSGVh
ZGVycyAqLywKIAkJCQlDRDE5QTI2RTFBMTNFODM0MDA4RDY1MEUgLyogV2ViRGlhZ25vc3RpY0xv
Z2dpbmdDbGllbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTFBNUIxQzU1MTg5ODdFREYwMDRGQ0Y5
QiAvKiBXZWJEb2N1bWVudExvYWRlci5oIGluIEhlYWRlcnMgKi8sCkBAIC04NDEzLDYgKzg0NjEs
NyBAQAogCQkJCTUxMjEyN0M0MTkwODIzOUEwMERBRjM1QyAvKiBXZWJQYXN0ZWJvYXJkT3ZlcnJp
ZGVzLmggaW4gSGVhZGVycyAqLywKIAkJCQk3QzQ2OTREMTFBNTFFMzY4MDBBRDU4NDUgLyogV2Vi
UGFzdGVib2FyZFByb3h5LmggaW4gSGVhZGVycyAqLywKIAkJCQk3QzQ2OTRDQTFBNEI0RUExMDBB
RDU4NDUgLyogV2ViUGFzdGVib2FyZFByb3h5TWVzc2FnZXMuaCBpbiBIZWFkZXJzICovLAorCQkJ
CTZCMkUwOUJBMUU1N0I4ODEwMEM4QThCOSAvKiBDb3JlUHJlZGljdGlvblNQSS5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJMUFCMUY3OTcxRDFCMzYxMzAwN0M5QkQxIC8qIFdlYlBheW1lbnRDb29yZGlu
YXRvck1lc3NhZ2VzLmggaW4gSGVhZGVycyAqLywKIAkJCQkxQUIxRjc4QzFEMUIzMzU1MDA3QzlC
RDEgLyogV2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHkuaCBpbiBIZWFkZXJzICovLAogCQkJCTFB
QjFGNzdFMUQxQjMwQTkwMDdDOUJEMSAvKiBXZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eUNvY29h
LmggaW4gSGVhZGVycyAqLywKQEAgLTg1MzEsNiArODU4MCw3IEBACiAJCQkJQkM3QjYzM0QxMkE0
NUQxMjAwRDE3NEE0IC8qIFdLQnVuZGxlUGFnZUdyb3VwLmggaW4gSGVhZGVycyAqLywKIAkJCQkx
QUI0NzREODE4NEQ0M0ZEMDA1MUI2MjIgLyogV0tCdW5kbGVQYWdlTG9hZGVyQ2xpZW50LmggaW4g
SGVhZGVycyAqLywKIAkJCQlFRDgyQTdGMjEyOEM2RkFGMDA0NDc3QjMgLyogV0tCdW5kbGVQYWdl
T3ZlcmxheS5oIGluIEhlYWRlcnMgKi8sCisJCQkJNkJFOTY5Q0QxRTU0RTA1NDAwOEI3NDgzIC8q
IFJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQmFzZS5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJMUFCNDc0RUExODRENDUxMzAwNTFCNjIyIC8qIFdLQnVuZGxlUGFnZVBvbGljeUNsaWVudC5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJQkMxQjQxOTgxMUQ0MUQ1NzAwMTFFOEREIC8qIFdLQnVuZGxl
UGFnZVByaXZhdGUuaCBpbiBIZWFkZXJzICovLAogCQkJCTFBQjQ3NERBMTg0RDQ0MjUwMDUxQjYy
MiAvKiBXS0J1bmRsZVBhZ2VSZXNvdXJjZUxvYWRDbGllbnQuaCBpbiBIZWFkZXJzICovLApAQCAt
OTA2NCw2ICs5MTE0LDcgQEAKIAkJCQk3QTVFMzk0QTFENUJEOEJFMDBCNEI3Q0UgLyogY29tLm1h
Y3JvbWVkaWEuRmxhc2ggUGxheWVyIEVTUi5wbHVnaW4uc2IgaW4gUmVzb3VyY2VzICovLAogCQkJ
CThEQzJFRjUzMDQ4NkE2OTQwMDk4QjIxNiAvKiBJbmZvUGxpc3Quc3RyaW5ncyBpbiBSZXNvdXJj
ZXMgKi8sCiAJCQkJOTNBMkEzNDYxRDI0NjEyNTAwMkI1OUQzIC8qIG1lZGlhSWNvbi5wZGYgaW4g
UmVzb3VyY2VzICovLAorCQkJCTZCRTk2OUMxMUU1NEQ0NTIwMDhCNzQ4MyAvKiBjb3JlUHJlZGlj
dGlvbl9tb2RlbCBpbiBSZXNvdXJjZXMgKi8sCiAJCQkpOwogCQkJcnVuT25seUZvckRlcGxveW1l
bnRQb3N0cHJvY2Vzc2luZyA9IDA7CiAJCX07CkBAIC05NjUxLDYgKzk3MDIsNyBAQAogCQkJCTUx
Nzk1NTY3MTYyODc2Q0IwMEZBNDNCNiAvKiBOZXR3b3JrUHJvY2Vzc01hYy5tbSBpbiBTb3VyY2Vz
ICovLAogCQkJCTUxNjMxOTk0MTYyODlBNjAwMEUyMkYwMCAvKiBOZXR3b3JrUHJvY2Vzc01lc3Nh
Z2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlFMTRBOTU0OTE2RTAxNkE0MDA2OERF
ODIgLyogTmV0d29ya1Byb2Nlc3NQbGF0Zm9ybVN0cmF0ZWdpZXMuY3BwIGluIFNvdXJjZXMgKi8s
CisJCQkJNkJFOTY5Q0ExRTU0RDRDRjAwOEI3NDgzIC8qIFJlc291cmNlTG9hZFN0YXRpc3RpY3ND
bGFzc2lmaWVyQ29jb2EuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNTE3OTU1NkQxNjI4NzdCMTAw
RkE0M0I2IC8qIE5ldHdvcmtQcm9jZXNzUHJveHkuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNTE2
MzE5OTIxNjI4OTgwQTAwRTIyRjAwIC8qIE5ldHdvcmtQcm9jZXNzUHJveHlNYWMubW0gaW4gU291
cmNlcyAqLywKIAkJCQk1MTNBMTYzQzE2MzA4OEY2MDA1RDdEMjIgLyogTmV0d29ya1Byb2Nlc3NQ
cm94eU1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLywKQEAgLTk5OTUsNiArMTAwNDcs
NyBAQAogCQkJCUQzQjk0ODQ2MTFGRjRCNjUwMDAzMkIzOSAvKiBXZWJQb3B1cE1lbnUuY3BwIGlu
IFNvdXJjZXMgKi8sCiAJCQkJQkNDNDNBQzcxMjdCOTlERTAwMzE3RjE2IC8qIFdlYlBvcHVwTWVu
dU1hYy5tbSBpbiBTb3VyY2VzICovLAogCQkJCUJDNTc1MDk4MTI2OEYzQzYwMDZGMEYxMiAvKiBX
ZWJQb3B1cE1lbnVQcm94eU1hYy5tbSBpbiBTb3VyY2VzICovLAorCQkJCTZCRTk2OUM3MUU1NEQ0
QjYwMDhCNzQ4MyAvKiBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllckJhc2UuY3BwIGlu
IFNvdXJjZXMgKi8sCiAJCQkJQkNENTk4MDAxMTJCNTdCRTAwRUM4QzIzIC8qIFdlYlByZWZlcmVu
Y2VzLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTdDODVGRDdGMTkzNDE2NjUwMDAxNzdDNCAvKiBX
ZWJQcmVmZXJlbmNlc0tleXMuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQkM4NEVCMTgxMkE3MTAw
QzAwODNGMkRBIC8qIFdlYlByZWZlcmVuY2VzTWFjLm1tIGluIFNvdXJjZXMgKi8sCkluZGV4OiBU
b29scy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvQ2hhbmdlTG9nCShyZXZpc2lvbiAy
MTI4NjQpCisrKyBUb29scy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwzMiBA
QAorMjAxNy0wMi0yMiAgSm9obiBXaWxhbmRlciAgPHdpbGFuZGVyQGFwcGxlLmNvbT4KKworICAg
ICAgICBSZXNvdXJjZSBMb2FkIFN0YXRpc3RpY3M6IEFkZCBhbHRlcm5hdGUgY2xhc3NpZmljYXRp
b24gbWV0aG9kCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xNjgzNDcKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzMwMzUyNzkzPgorICAgICAgICA8cmRh
cjovL3Byb2JsZW0vMzA2NDY3MTA+CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8zMDY2MDcwOD4K
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGRlZCB0
aHJlZSB0ZXN0UnVubmVyIGZ1bmN0aW9ucyB0byBmYWNpbGl0YXRlIGxheW91dCB0ZXN0czoKKyAg
ICAgICAgLSBzZXRTdGF0aXN0aWNzU3ViZnJhbWVVbmRlclRvcEZyYW1lT3JpZ2luKCkKKyAgICAg
ICAgLSBzZXRTdGF0aXN0aWNzU3VicmVzb3VyY2VVbmRlclRvcEZyYW1lT3JpZ2luKCkKKyAgICAg
ICAgLSBzZXRTdGF0aXN0aWNzU3VicmVzb3VyY2VVbmlxdWVSZWRpcmVjdFRvKCkKKworICAgICAg
ICAqIFdlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvQmluZGluZ3MvVGVzdFJ1bm5lci5p
ZGw6CisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9UZXN0UnVubmVy
LmNwcDoKKyAgICAgICAgKFdUUjo6VGVzdFJ1bm5lcjo6c2V0U3RhdGlzdGljc1N1YmZyYW1lVW5k
ZXJUb3BGcmFtZU9yaWdpbik6CisgICAgICAgIChXVFI6OlRlc3RSdW5uZXI6OnNldFN0YXRpc3Rp
Y3NTdWJyZXNvdXJjZVVuZGVyVG9wRnJhbWVPcmlnaW4pOgorICAgICAgICAoV1RSOjpUZXN0UnVu
bmVyOjpzZXRTdGF0aXN0aWNzU3VicmVzb3VyY2VVbmlxdWVSZWRpcmVjdFRvKToKKyAgICAgICAg
KiBXZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL1Rlc3RSdW5uZXIuaDoKKyAgICAgICAg
KiBXZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKFdUUjo6VGVz
dENvbnRyb2xsZXI6OnNldFN0YXRpc3RpY3NTdWJmcmFtZVVuZGVyVG9wRnJhbWVPcmlnaW4pOgor
ICAgICAgICAoV1RSOjpUZXN0Q29udHJvbGxlcjo6c2V0U3RhdGlzdGljc1N1YnJlc291cmNlVW5k
ZXJUb3BGcmFtZU9yaWdpbik6CisgICAgICAgIChXVFI6OlRlc3RDb250cm9sbGVyOjpzZXRTdGF0
aXN0aWNzU3VicmVzb3VyY2VVbmlxdWVSZWRpcmVjdFRvKToKKyAgICAgICAgKiBXZWJLaXRUZXN0
UnVubmVyL1Rlc3RDb250cm9sbGVyLmg6CisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9UZXN0
SW52b2NhdGlvbi5jcHA6CisgICAgICAgIChXVFI6OlRlc3RJbnZvY2F0aW9uOjpkaWRSZWNlaXZl
U3luY2hyb25vdXNNZXNzYWdlRnJvbUluamVjdGVkQnVuZGxlKToKKwogMjAxNy0wMi0yMiAgQ2Fy
bG9zIEFsYmVydG8gTG9wZXogUGVyZXogIDxjbG9wZXpAaWdhbGlhLmNvbT4KIAogICAgICAgICBB
dXRvSW5zdGFsbGVyIHNob3VsZCBub3Qgc2tpcCB0aGUgaW5zdGFsbCBzdGVwIGlmIHRoZSBwYWNr
YWdlIGlzIGRvd25sb2FkZWQgYnV0IG5vdCBpbnN0YWxsZWQKSW5kZXg6IFRvb2xzL1dlYktpdFRl
c3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1dlYktpdFRl
c3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuY3BwCShyZXZpc2lvbiAyMTI4NTYpCisrKyBUb29scy9X
ZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjIz
MCw2ICsyMjMwLDIxIEBAIGJvb2wgVGVzdENvbnRyb2xsZXI6OmlzU3RhdGlzdGljc0hhc0hhZFUK
ICAgICByZXR1cm4gV0tSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdlcklzSGFzSGFkVXNlcklu
dGVyYWN0aW9uKGhvc3ROYW1lKTsKIH0KIAordm9pZCBUZXN0Q29udHJvbGxlcjo6c2V0U3RhdGlz
dGljc1N1YmZyYW1lVW5kZXJUb3BGcmFtZU9yaWdpbihXS1N0cmluZ1JlZiBob3N0TmFtZSwgV0tT
dHJpbmdSZWYgdG9wRnJhbWVIb3N0TmFtZSkKK3sKKyAgICBXS1Jlc291cmNlTG9hZFN0YXRpc3Rp
Y3NNYW5hZ2VyU2V0U3ViZnJhbWVVbmRlclRvcEZyYW1lT3JpZ2luKGhvc3ROYW1lLCB0b3BGcmFt
ZUhvc3ROYW1lKTsKK30KKwordm9pZCBUZXN0Q29udHJvbGxlcjo6c2V0U3RhdGlzdGljc1N1YnJl
c291cmNlVW5kZXJUb3BGcmFtZU9yaWdpbihXS1N0cmluZ1JlZiBob3N0TmFtZSwgV0tTdHJpbmdS
ZWYgdG9wRnJhbWVIb3N0TmFtZSkKK3sKKyAgICBXS1Jlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5h
Z2VyU2V0U3VicmVzb3VyY2VVbmRlclRvcEZyYW1lT3JpZ2luKGhvc3ROYW1lLCB0b3BGcmFtZUhv
c3ROYW1lKTsKK30KKyAgICAKK3ZvaWQgVGVzdENvbnRyb2xsZXI6OnNldFN0YXRpc3RpY3NTdWJy
ZXNvdXJjZVVuaXF1ZVJlZGlyZWN0VG8oV0tTdHJpbmdSZWYgaG9zdE5hbWUsIFdLU3RyaW5nUmVm
IGhvc3ROYW1lUmVkaXJlY3RlZFRvKQoreworICAgIFdLUmVzb3VyY2VMb2FkU3RhdGlzdGljc01h
bmFnZXJTZXRTdWJyZXNvdXJjZVVuaXF1ZVJlZGlyZWN0VG8oaG9zdE5hbWUsIGhvc3ROYW1lUmVk
aXJlY3RlZFRvKTsKK30KKwogdm9pZCBUZXN0Q29udHJvbGxlcjo6c2V0U3RhdGlzdGljc1RpbWVU
b0xpdmVVc2VySW50ZXJhY3Rpb24oZG91YmxlIHNlY29uZHMpCiB7CiAgICAgV0tSZXNvdXJjZUxv
YWRTdGF0aXN0aWNzTWFuYWdlclNldFRpbWVUb0xpdmVVc2VySW50ZXJhY3Rpb24oc2Vjb25kcyk7
CkluZGV4OiBUb29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5oCShyZXZpc2lvbiAy
MTI4NTYpCisrKyBUb29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmgJKHdvcmtp
bmcgY29weSkKQEAgLTE1Miw2ICsxNTIsOSBAQCBwdWJsaWM6CiAgICAgYm9vbCBpc1N0YXRpc3Rp
Y3NQcmV2YWxlbnRSZXNvdXJjZShXS1N0cmluZ1JlZiBob3N0TmFtZSk7CiAgICAgdm9pZCBzZXRT
dGF0aXN0aWNzSGFzSGFkVXNlckludGVyYWN0aW9uKFdLU3RyaW5nUmVmIGhvc3ROYW1lLCBib29s
IHZhbHVlKTsKICAgICBib29sIGlzU3RhdGlzdGljc0hhc0hhZFVzZXJJbnRlcmFjdGlvbihXS1N0
cmluZ1JlZiBob3N0TmFtZSk7CisgICAgdm9pZCBzZXRTdGF0aXN0aWNzU3ViZnJhbWVVbmRlclRv
cEZyYW1lT3JpZ2luKFdLU3RyaW5nUmVmIGhvc3ROYW1lLCBXS1N0cmluZ1JlZiB0b3BGcmFtZUhv
c3ROYW1lKTsKKyAgICB2b2lkIHNldFN0YXRpc3RpY3NTdWJyZXNvdXJjZVVuZGVyVG9wRnJhbWVP
cmlnaW4oV0tTdHJpbmdSZWYgaG9zdE5hbWUsIFdLU3RyaW5nUmVmIHRvcEZyYW1lSG9zdE5hbWUp
OworICAgIHZvaWQgc2V0U3RhdGlzdGljc1N1YnJlc291cmNlVW5pcXVlUmVkaXJlY3RUbyhXS1N0
cmluZ1JlZiBob3N0TmFtZSwgV0tTdHJpbmdSZWYgaG9zdE5hbWVSZWRpcmVjdGVkVG8pOwogICAg
IHZvaWQgc2V0U3RhdGlzdGljc1RpbWVUb0xpdmVVc2VySW50ZXJhY3Rpb24oZG91YmxlIHNlY29u
ZHMpOwogICAgIHZvaWQgc3RhdGlzdGljc0ZpcmVEYXRhTW9kaWZpY2F0aW9uSGFuZGxlcigpOwog
ICAgIHZvaWQgc2V0U3RhdGlzdGljc05vdGlmeVBhZ2VzV2hlbkRhdGFSZWNvcmRzV2VyZVNjYW5u
ZWQoYm9vbCk7CkluZGV4OiBUb29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RJbnZvY2F0aW9uLmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBUb29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RJbnZvY2F0aW9uLmNw
cAkocmV2aXNpb24gMjEyODU2KQorKysgVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0SW52b2Nh
dGlvbi5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTkzMiw2ICs5MzIsNDggQEAgV0tSZXRhaW5QdHI8
V0tUeXBlUmVmPiBUZXN0SW52b2NhdGlvbjo6ZAogICAgICAgICByZXR1cm4gcmVzdWx0OwogICAg
IH0KICAgICAKKyAgICBpZiAoV0tTdHJpbmdJc0VxdWFsVG9VVEY4Q1N0cmluZyhtZXNzYWdlTmFt
ZSwgIlNldFN0YXRpc3RpY3NTdWJmcmFtZVVuZGVyVG9wRnJhbWVPcmlnaW4iKSkgeworICAgICAg
ICBBU1NFUlQoV0tHZXRUeXBlSUQobWVzc2FnZUJvZHkpID09IFdLRGljdGlvbmFyeUdldFR5cGVJ
RCgpKTsKKyAgICAgICAgCisgICAgICAgIFdLRGljdGlvbmFyeVJlZiBtZXNzYWdlQm9keURpY3Rp
b25hcnkgPSBzdGF0aWNfY2FzdDxXS0RpY3Rpb25hcnlSZWY+KG1lc3NhZ2VCb2R5KTsKKyAgICAg
ICAgV0tSZXRhaW5QdHI8V0tTdHJpbmdSZWY+IGhvc3ROYW1lS2V5KEFkb3B0V0ssIFdLU3RyaW5n
Q3JlYXRlV2l0aFVURjhDU3RyaW5nKCJIb3N0TmFtZSIpKTsKKyAgICAgICAgV0tSZXRhaW5QdHI8
V0tTdHJpbmdSZWY+IHRvcEZyYW1lSG9zdE5hbWVLZXkoQWRvcHRXSywgV0tTdHJpbmdDcmVhdGVX
aXRoVVRGOENTdHJpbmcoIlRvcEZyYW1lSG9zdE5hbWUiKSk7CisgICAgICAgIAorICAgICAgICBX
S1N0cmluZ1JlZiBob3N0TmFtZSA9IHN0YXRpY19jYXN0PFdLU3RyaW5nUmVmPihXS0RpY3Rpb25h
cnlHZXRJdGVtRm9yS2V5KG1lc3NhZ2VCb2R5RGljdGlvbmFyeSwgaG9zdE5hbWVLZXkuZ2V0KCkp
KTsKKyAgICAgICAgV0tTdHJpbmdSZWYgdG9wRnJhbWVIb3N0TmFtZSA9IHN0YXRpY19jYXN0PFdL
U3RyaW5nUmVmPihXS0RpY3Rpb25hcnlHZXRJdGVtRm9yS2V5KG1lc3NhZ2VCb2R5RGljdGlvbmFy
eSwgdG9wRnJhbWVIb3N0TmFtZUtleS5nZXQoKSkpOworCisgICAgICAgIFRlc3RDb250cm9sbGVy
OjpzaW5nbGV0b24oKS5zZXRTdGF0aXN0aWNzU3ViZnJhbWVVbmRlclRvcEZyYW1lT3JpZ2luKGhv
c3ROYW1lLCB0b3BGcmFtZUhvc3ROYW1lKTsKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7CisgICAg
fQorICAgIAorICAgIGlmIChXS1N0cmluZ0lzRXF1YWxUb1VURjhDU3RyaW5nKG1lc3NhZ2VOYW1l
LCAiU2V0U3RhdGlzdGljc1N1YnJlc291cmNlVW5kZXJUb3BGcmFtZU9yaWdpbiIpKSB7CisgICAg
ICAgIEFTU0VSVChXS0dldFR5cGVJRChtZXNzYWdlQm9keSkgPT0gV0tEaWN0aW9uYXJ5R2V0VHlw
ZUlEKCkpOworICAgICAgICAKKyAgICAgICAgV0tEaWN0aW9uYXJ5UmVmIG1lc3NhZ2VCb2R5RGlj
dGlvbmFyeSA9IHN0YXRpY19jYXN0PFdLRGljdGlvbmFyeVJlZj4obWVzc2FnZUJvZHkpOworICAg
ICAgICBXS1JldGFpblB0cjxXS1N0cmluZ1JlZj4gaG9zdE5hbWVLZXkoQWRvcHRXSywgV0tTdHJp
bmdDcmVhdGVXaXRoVVRGOENTdHJpbmcoIkhvc3ROYW1lIikpOworICAgICAgICBXS1JldGFpblB0
cjxXS1N0cmluZ1JlZj4gdG9wRnJhbWVIb3N0TmFtZUtleShBZG9wdFdLLCBXS1N0cmluZ0NyZWF0
ZVdpdGhVVEY4Q1N0cmluZygiVG9wRnJhbWVIb3N0TmFtZSIpKTsKKyAgICAgICAgCisgICAgICAg
IFdLU3RyaW5nUmVmIGhvc3ROYW1lID0gc3RhdGljX2Nhc3Q8V0tTdHJpbmdSZWY+KFdLRGljdGlv
bmFyeUdldEl0ZW1Gb3JLZXkobWVzc2FnZUJvZHlEaWN0aW9uYXJ5LCBob3N0TmFtZUtleS5nZXQo
KSkpOworICAgICAgICBXS1N0cmluZ1JlZiB0b3BGcmFtZUhvc3ROYW1lID0gc3RhdGljX2Nhc3Q8
V0tTdHJpbmdSZWY+KFdLRGljdGlvbmFyeUdldEl0ZW1Gb3JLZXkobWVzc2FnZUJvZHlEaWN0aW9u
YXJ5LCB0b3BGcmFtZUhvc3ROYW1lS2V5LmdldCgpKSk7CisgICAgICAgIAorICAgICAgICBUZXN0
Q29udHJvbGxlcjo6c2luZ2xldG9uKCkuc2V0U3RhdGlzdGljc1N1YnJlc291cmNlVW5kZXJUb3BG
cmFtZU9yaWdpbihob3N0TmFtZSwgdG9wRnJhbWVIb3N0TmFtZSk7CisgICAgICAgIHJldHVybiBu
dWxscHRyOworICAgIH0KKyAgICAKKyAgICBpZiAoV0tTdHJpbmdJc0VxdWFsVG9VVEY4Q1N0cmlu
ZyhtZXNzYWdlTmFtZSwgIlNldFN0YXRpc3RpY3NTdWJyZXNvdXJjZVVuaXF1ZVJlZGlyZWN0VG8i
KSkgeworICAgICAgICBBU1NFUlQoV0tHZXRUeXBlSUQobWVzc2FnZUJvZHkpID09IFdLRGljdGlv
bmFyeUdldFR5cGVJRCgpKTsKKyAgICAgICAgCisgICAgICAgIFdLRGljdGlvbmFyeVJlZiBtZXNz
YWdlQm9keURpY3Rpb25hcnkgPSBzdGF0aWNfY2FzdDxXS0RpY3Rpb25hcnlSZWY+KG1lc3NhZ2VC
b2R5KTsKKyAgICAgICAgV0tSZXRhaW5QdHI8V0tTdHJpbmdSZWY+IGhvc3ROYW1lS2V5KEFkb3B0
V0ssIFdLU3RyaW5nQ3JlYXRlV2l0aFVURjhDU3RyaW5nKCJIb3N0TmFtZSIpKTsKKyAgICAgICAg
V0tSZXRhaW5QdHI8V0tTdHJpbmdSZWY+IGhvc3ROYW1lUmVkaXJlY3RlZFRvS2V5KEFkb3B0V0ss
IFdLU3RyaW5nQ3JlYXRlV2l0aFVURjhDU3RyaW5nKCJIb3N0TmFtZVJlZGlyZWN0ZWRUbyIpKTsK
KyAgICAgICAgCisgICAgICAgIFdLU3RyaW5nUmVmIGhvc3ROYW1lID0gc3RhdGljX2Nhc3Q8V0tT
dHJpbmdSZWY+KFdLRGljdGlvbmFyeUdldEl0ZW1Gb3JLZXkobWVzc2FnZUJvZHlEaWN0aW9uYXJ5
LCBob3N0TmFtZUtleS5nZXQoKSkpOworICAgICAgICBXS1N0cmluZ1JlZiBob3N0TmFtZVJlZGly
ZWN0ZWRUbyA9IHN0YXRpY19jYXN0PFdLU3RyaW5nUmVmPihXS0RpY3Rpb25hcnlHZXRJdGVtRm9y
S2V5KG1lc3NhZ2VCb2R5RGljdGlvbmFyeSwgaG9zdE5hbWVSZWRpcmVjdGVkVG9LZXkuZ2V0KCkp
KTsKKyAgICAgICAgCisgICAgICAgIFRlc3RDb250cm9sbGVyOjpzaW5nbGV0b24oKS5zZXRTdGF0
aXN0aWNzU3VicmVzb3VyY2VVbmlxdWVSZWRpcmVjdFRvKGhvc3ROYW1lLCBob3N0TmFtZVJlZGly
ZWN0ZWRUbyk7CisgICAgICAgIHJldHVybiBudWxscHRyOworICAgIH0KKwogICAgIGlmIChXS1N0
cmluZ0lzRXF1YWxUb1VURjhDU3RyaW5nKG1lc3NhZ2VOYW1lLCAiU2V0U3RhdGlzdGljc1RpbWVU
b0xpdmVVc2VySW50ZXJhY3Rpb24iKSkgewogICAgICAgICBBU1NFUlQoV0tHZXRUeXBlSUQobWVz
c2FnZUJvZHkpID09IFdLRG91YmxlR2V0VHlwZUlEKCkpOwogICAgICAgICBXS0RvdWJsZVJlZiBz
ZWNvbmRzID0gc3RhdGljX2Nhc3Q8V0tEb3VibGVSZWY+KG1lc3NhZ2VCb2R5KTsKSW5kZXg6IFRv
b2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvVGVzdFJ1bm5lci5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9UZXN0UnVubmVy
LmNwcAkocmV2aXNpb24gMjEyODU2KQorKysgVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3Rl
ZEJ1bmRsZS9UZXN0UnVubmVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTIyNiw2ICsxMjI2LDg0
IEBAIGJvb2wgVGVzdFJ1bm5lcjo6aXNTdGF0aXN0aWNzSGFzSGFkVXNlckkKICAgICByZXR1cm4g
V0tCb29sZWFuR2V0VmFsdWUoc3RhdGljX2Nhc3Q8V0tCb29sZWFuUmVmPihyZXR1cm5EYXRhKSk7
CiB9CiAKK3ZvaWQgVGVzdFJ1bm5lcjo6c2V0U3RhdGlzdGljc1N1YmZyYW1lVW5kZXJUb3BGcmFt
ZU9yaWdpbihKU1N0cmluZ1JlZiBob3N0TmFtZSwgSlNTdHJpbmdSZWYgdG9wRnJhbWVIb3N0TmFt
ZSkKK3sKKyAgICBWZWN0b3I8V0tSZXRhaW5QdHI8V0tTdHJpbmdSZWY+PiBrZXlzOworICAgIFZl
Y3RvcjxXS1JldGFpblB0cjxXS1R5cGVSZWY+PiB2YWx1ZXM7CisgICAgCisgICAga2V5cy5hcHBl
bmQoeyBBZG9wdFdLLCBXS1N0cmluZ0NyZWF0ZVdpdGhVVEY4Q1N0cmluZygiSG9zdE5hbWUiKSB9
KTsKKyAgICB2YWx1ZXMuYXBwZW5kKHsgQWRvcHRXSywgV0tTdHJpbmdDcmVhdGVXaXRoSlNTdHJp
bmcoaG9zdE5hbWUpIH0pOworICAgIAorICAgIGtleXMuYXBwZW5kKHsgQWRvcHRXSywgV0tTdHJp
bmdDcmVhdGVXaXRoVVRGOENTdHJpbmcoIlRvcEZyYW1lSG9zdE5hbWUiKSB9KTsKKyAgICB2YWx1
ZXMuYXBwZW5kKHsgQWRvcHRXSywgV0tTdHJpbmdDcmVhdGVXaXRoSlNTdHJpbmcodG9wRnJhbWVI
b3N0TmFtZSkgfSk7CisgICAgCisgICAgVmVjdG9yPFdLU3RyaW5nUmVmPiByYXdLZXlzOworICAg
IFZlY3RvcjxXS1R5cGVSZWY+IHJhd1ZhbHVlczsKKyAgICByYXdLZXlzLnJlc2l6ZShrZXlzLnNp
emUoKSk7CisgICAgcmF3VmFsdWVzLnJlc2l6ZSh2YWx1ZXMuc2l6ZSgpKTsKKyAgICAKKyAgICBm
b3IgKHNpemVfdCBpID0gMDsgaSA8IGtleXMuc2l6ZSgpOyArK2kpIHsKKyAgICAgICAgcmF3S2V5
c1tpXSA9IGtleXNbaV0uZ2V0KCk7CisgICAgICAgIHJhd1ZhbHVlc1tpXSA9IHZhbHVlc1tpXS5n
ZXQoKTsKKyAgICB9CisgICAgCisgICAgV0tSZXRhaW5QdHI8V0tTdHJpbmdSZWY+IG1lc3NhZ2VO
YW1lKEFkb3B0V0ssIFdLU3RyaW5nQ3JlYXRlV2l0aFVURjhDU3RyaW5nKCJTZXRTdGF0aXN0aWNz
U3ViZnJhbWVVbmRlclRvcEZyYW1lT3JpZ2luIikpOworICAgIFdLUmV0YWluUHRyPFdLRGljdGlv
bmFyeVJlZj4gbWVzc2FnZUJvZHkoQWRvcHRXSywgV0tEaWN0aW9uYXJ5Q3JlYXRlKHJhd0tleXMu
ZGF0YSgpLCByYXdWYWx1ZXMuZGF0YSgpLCByYXdLZXlzLnNpemUoKSkpOworICAgIFdLQnVuZGxl
UG9zdFN5bmNocm9ub3VzTWVzc2FnZShJbmplY3RlZEJ1bmRsZTo6c2luZ2xldG9uKCkuYnVuZGxl
KCksIG1lc3NhZ2VOYW1lLmdldCgpLCBtZXNzYWdlQm9keS5nZXQoKSwgbnVsbHB0cik7Cit9CisK
K3ZvaWQgVGVzdFJ1bm5lcjo6c2V0U3RhdGlzdGljc1N1YnJlc291cmNlVW5kZXJUb3BGcmFtZU9y
aWdpbihKU1N0cmluZ1JlZiBob3N0TmFtZSwgSlNTdHJpbmdSZWYgdG9wRnJhbWVIb3N0TmFtZSkK
K3sKKyAgICBWZWN0b3I8V0tSZXRhaW5QdHI8V0tTdHJpbmdSZWY+PiBrZXlzOworICAgIFZlY3Rv
cjxXS1JldGFpblB0cjxXS1R5cGVSZWY+PiB2YWx1ZXM7CisgICAgCisgICAga2V5cy5hcHBlbmQo
eyBBZG9wdFdLLCBXS1N0cmluZ0NyZWF0ZVdpdGhVVEY4Q1N0cmluZygiSG9zdE5hbWUiKSB9KTsK
KyAgICB2YWx1ZXMuYXBwZW5kKHsgQWRvcHRXSywgV0tTdHJpbmdDcmVhdGVXaXRoSlNTdHJpbmco
aG9zdE5hbWUpIH0pOworICAgIAorICAgIGtleXMuYXBwZW5kKHsgQWRvcHRXSywgV0tTdHJpbmdD
cmVhdGVXaXRoVVRGOENTdHJpbmcoIlRvcEZyYW1lSG9zdE5hbWUiKSB9KTsKKyAgICB2YWx1ZXMu
YXBwZW5kKHsgQWRvcHRXSywgV0tTdHJpbmdDcmVhdGVXaXRoSlNTdHJpbmcodG9wRnJhbWVIb3N0
TmFtZSkgfSk7CisgICAgCisgICAgVmVjdG9yPFdLU3RyaW5nUmVmPiByYXdLZXlzOworICAgIFZl
Y3RvcjxXS1R5cGVSZWY+IHJhd1ZhbHVlczsKKyAgICByYXdLZXlzLnJlc2l6ZShrZXlzLnNpemUo
KSk7CisgICAgcmF3VmFsdWVzLnJlc2l6ZSh2YWx1ZXMuc2l6ZSgpKTsKKyAgICAKKyAgICBmb3Ig
KHNpemVfdCBpID0gMDsgaSA8IGtleXMuc2l6ZSgpOyArK2kpIHsKKyAgICAgICAgcmF3S2V5c1tp
XSA9IGtleXNbaV0uZ2V0KCk7CisgICAgICAgIHJhd1ZhbHVlc1tpXSA9IHZhbHVlc1tpXS5nZXQo
KTsKKyAgICB9CisgICAgCisgICAgV0tSZXRhaW5QdHI8V0tTdHJpbmdSZWY+IG1lc3NhZ2VOYW1l
KEFkb3B0V0ssIFdLU3RyaW5nQ3JlYXRlV2l0aFVURjhDU3RyaW5nKCJTZXRTdGF0aXN0aWNzU3Vi
cmVzb3VyY2VVbmRlclRvcEZyYW1lT3JpZ2luIikpOworICAgIFdLUmV0YWluUHRyPFdLRGljdGlv
bmFyeVJlZj4gbWVzc2FnZUJvZHkoQWRvcHRXSywgV0tEaWN0aW9uYXJ5Q3JlYXRlKHJhd0tleXMu
ZGF0YSgpLCByYXdWYWx1ZXMuZGF0YSgpLCByYXdLZXlzLnNpemUoKSkpOworICAgIFdLQnVuZGxl
UG9zdFN5bmNocm9ub3VzTWVzc2FnZShJbmplY3RlZEJ1bmRsZTo6c2luZ2xldG9uKCkuYnVuZGxl
KCksIG1lc3NhZ2VOYW1lLmdldCgpLCBtZXNzYWdlQm9keS5nZXQoKSwgbnVsbHB0cik7Cit9CisK
K3ZvaWQgVGVzdFJ1bm5lcjo6c2V0U3RhdGlzdGljc1N1YnJlc291cmNlVW5pcXVlUmVkaXJlY3RU
byhKU1N0cmluZ1JlZiBob3N0TmFtZSwgSlNTdHJpbmdSZWYgaG9zdE5hbWVSZWRpcmVjdGVkVG8p
Cit7CisgICAgVmVjdG9yPFdLUmV0YWluUHRyPFdLU3RyaW5nUmVmPj4ga2V5czsKKyAgICBWZWN0
b3I8V0tSZXRhaW5QdHI8V0tUeXBlUmVmPj4gdmFsdWVzOworICAgIAorICAgIGtleXMuYXBwZW5k
KHsgQWRvcHRXSywgV0tTdHJpbmdDcmVhdGVXaXRoVVRGOENTdHJpbmcoIkhvc3ROYW1lIikgfSk7
CisgICAgdmFsdWVzLmFwcGVuZCh7IEFkb3B0V0ssIFdLU3RyaW5nQ3JlYXRlV2l0aEpTU3RyaW5n
KGhvc3ROYW1lKSB9KTsKKyAgICAKKyAgICBrZXlzLmFwcGVuZCh7IEFkb3B0V0ssIFdLU3RyaW5n
Q3JlYXRlV2l0aFVURjhDU3RyaW5nKCJIb3N0TmFtZVJlZGlyZWN0ZWRUbyIpIH0pOworICAgIHZh
bHVlcy5hcHBlbmQoeyBBZG9wdFdLLCBXS1N0cmluZ0NyZWF0ZVdpdGhKU1N0cmluZyhob3N0TmFt
ZVJlZGlyZWN0ZWRUbykgfSk7CisgICAgCisgICAgVmVjdG9yPFdLU3RyaW5nUmVmPiByYXdLZXlz
OworICAgIFZlY3RvcjxXS1R5cGVSZWY+IHJhd1ZhbHVlczsKKyAgICByYXdLZXlzLnJlc2l6ZShr
ZXlzLnNpemUoKSk7CisgICAgcmF3VmFsdWVzLnJlc2l6ZSh2YWx1ZXMuc2l6ZSgpKTsKKyAgICAK
KyAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IGtleXMuc2l6ZSgpOyArK2kpIHsKKyAgICAgICAg
cmF3S2V5c1tpXSA9IGtleXNbaV0uZ2V0KCk7CisgICAgICAgIHJhd1ZhbHVlc1tpXSA9IHZhbHVl
c1tpXS5nZXQoKTsKKyAgICB9CisgICAgCisgICAgV0tSZXRhaW5QdHI8V0tTdHJpbmdSZWY+IG1l
c3NhZ2VOYW1lKEFkb3B0V0ssIFdLU3RyaW5nQ3JlYXRlV2l0aFVURjhDU3RyaW5nKCJTZXRTdGF0
aXN0aWNzU3VicmVzb3VyY2VVbmlxdWVSZWRpcmVjdFRvIikpOworICAgIFdLUmV0YWluUHRyPFdL
RGljdGlvbmFyeVJlZj4gbWVzc2FnZUJvZHkoQWRvcHRXSywgV0tEaWN0aW9uYXJ5Q3JlYXRlKHJh
d0tleXMuZGF0YSgpLCByYXdWYWx1ZXMuZGF0YSgpLCByYXdLZXlzLnNpemUoKSkpOworICAgIFdL
QnVuZGxlUG9zdFN5bmNocm9ub3VzTWVzc2FnZShJbmplY3RlZEJ1bmRsZTo6c2luZ2xldG9uKCku
YnVuZGxlKCksIG1lc3NhZ2VOYW1lLmdldCgpLCBtZXNzYWdlQm9keS5nZXQoKSwgbnVsbHB0cik7
Cit9CisKIHZvaWQgVGVzdFJ1bm5lcjo6c2V0U3RhdGlzdGljc1RpbWVUb0xpdmVVc2VySW50ZXJh
Y3Rpb24oZG91YmxlIHNlY29uZHMpCiB7CiAgICAgV0tSZXRhaW5QdHI8V0tTdHJpbmdSZWY+IG1l
c3NhZ2VOYW1lKEFkb3B0V0ssIFdLU3RyaW5nQ3JlYXRlV2l0aFVURjhDU3RyaW5nKCJTZXRTdGF0
aXN0aWNzVGltZVRvTGl2ZVVzZXJJbnRlcmFjdGlvbiIpKTsKSW5kZXg6IFRvb2xzL1dlYktpdFRl
c3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvVGVzdFJ1bm5lci5oCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xz
L1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvVGVzdFJ1bm5lci5oCShyZXZpc2lvbiAy
MTI4NTYpCisrKyBUb29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL1Rlc3RSdW5u
ZXIuaAkod29ya2luZyBjb3B5KQpAQCAtMzU0LDYgKzM1NCw5IEBAIHB1YmxpYzoKICAgICBib29s
IGlzU3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNlKEpTU3RyaW5nUmVmIGhvc3ROYW1lKTsKICAg
ICB2b2lkIHNldFN0YXRpc3RpY3NIYXNIYWRVc2VySW50ZXJhY3Rpb24oSlNTdHJpbmdSZWYgaG9z
dE5hbWUsIGJvb2wgdmFsdWUpOwogICAgIGJvb2wgaXNTdGF0aXN0aWNzSGFzSGFkVXNlckludGVy
YWN0aW9uKEpTU3RyaW5nUmVmIGhvc3ROYW1lKTsKKyAgICB2b2lkIHNldFN0YXRpc3RpY3NTdWJm
cmFtZVVuZGVyVG9wRnJhbWVPcmlnaW4oSlNTdHJpbmdSZWYgaG9zdE5hbWUsIEpTU3RyaW5nUmVm
IHRvcEZyYW1lSG9zdE5hbWUpOworICAgIHZvaWQgc2V0U3RhdGlzdGljc1N1YnJlc291cmNlVW5k
ZXJUb3BGcmFtZU9yaWdpbihKU1N0cmluZ1JlZiBob3N0TmFtZSwgSlNTdHJpbmdSZWYgdG9wRnJh
bWVIb3N0TmFtZSk7CisgICAgdm9pZCBzZXRTdGF0aXN0aWNzU3VicmVzb3VyY2VVbmlxdWVSZWRp
cmVjdFRvKEpTU3RyaW5nUmVmIGhvc3ROYW1lLCBKU1N0cmluZ1JlZiBob3N0TmFtZVJlZGlyZWN0
ZWRUbyk7CiAgICAgdm9pZCBzZXRTdGF0aXN0aWNzVGltZVRvTGl2ZVVzZXJJbnRlcmFjdGlvbihk
b3VibGUgc2Vjb25kcyk7CiAgICAgdm9pZCBzZXRTdGF0aXN0aWNzTm90aWZ5UGFnZXNXaGVuRGF0
YVJlY29yZHNXZXJlU2Nhbm5lZChib29sKTsKICAgICB2b2lkIHNldFN0YXRpc3RpY3NTaG91bGRD
bGFzc2lmeVJlc291cmNlc0JlZm9yZURhdGFSZWNvcmRzUmVtb3ZhbChib29sKTsKSW5kZXg6IFRv
b2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvQmluZGluZ3MvVGVzdFJ1bm5lci5p
ZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9C
aW5kaW5ncy9UZXN0UnVubmVyLmlkbAkocmV2aXNpb24gMjEyODU2KQorKysgVG9vbHMvV2ViS2l0
VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9CaW5kaW5ncy9UZXN0UnVubmVyLmlkbAkod29ya2lu
ZyBjb3B5KQpAQCAtMjUzLDYgKzI1Myw5IEBAIGludGVyZmFjZSBUZXN0UnVubmVyIHsKICAgICBi
b29sZWFuIGlzU3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNlKERPTVN0cmluZyBob3N0TmFtZSk7
CiAgICAgdm9pZCBzZXRTdGF0aXN0aWNzSGFzSGFkVXNlckludGVyYWN0aW9uKERPTVN0cmluZyBo
b3N0TmFtZSwgYm9vbGVhbiB2YWx1ZSk7CiAgICAgYm9vbGVhbiBpc1N0YXRpc3RpY3NIYXNIYWRV
c2VySW50ZXJhY3Rpb24oRE9NU3RyaW5nIGhvc3ROYW1lKTsKKyAgICB2b2lkIHNldFN0YXRpc3Rp
Y3NTdWJmcmFtZVVuZGVyVG9wRnJhbWVPcmlnaW4oRE9NU3RyaW5nIGhvc3ROYW1lLCBET01TdHJp
bmcgdG9wRnJhbWVIb3N0TmFtZSk7CisgICAgdm9pZCBzZXRTdGF0aXN0aWNzU3VicmVzb3VyY2VV
bmRlclRvcEZyYW1lT3JpZ2luKERPTVN0cmluZyBob3N0TmFtZSwgRE9NU3RyaW5nIHRvcEZyYW1l
SG9zdE5hbWUpOworICAgIHZvaWQgc2V0U3RhdGlzdGljc1N1YnJlc291cmNlVW5pcXVlUmVkaXJl
Y3RUbyhET01TdHJpbmcgaG9zdE5hbWUsIERPTVN0cmluZyBob3N0TmFtZVJlZGlyZWN0ZWRUbyk7
CiAgICAgdm9pZCBzZXRTdGF0aXN0aWNzVGltZVRvTGl2ZVVzZXJJbnRlcmFjdGlvbihkb3VibGUg
c2Vjb25kcyk7CiAgICAgdm9pZCBzdGF0aXN0aWNzRmlyZURhdGFNb2RpZmljYXRpb25IYW5kbGVy
KCk7CiAgICAgdm9pZCBzZXRTdGF0aXN0aWNzTm90aWZ5UGFnZXNXaGVuRGF0YVJlY29yZHNXZXJl
U2Nhbm5lZChib29sZWFuIHZhbHVlKTsKSW5kZXg6IFdlYktpdExpYnJhcmllcy9DaGFuZ2VMb2cK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gV2ViS2l0TGlicmFyaWVzL0NoYW5nZUxvZwkocmV2aXNpb24gMjEyODU2
KQorKysgV2ViS2l0TGlicmFyaWVzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsx
LDE2IEBACisyMDE3LTAyLTIyICBKb2huIFdpbGFuZGVyICA8d2lsYW5kZXJAYXBwbGUuY29tPgor
CisgICAgICAgIFJlc291cmNlIExvYWQgU3RhdGlzdGljczogQWRkIGFsdGVybmF0ZSBjbGFzc2lm
aWNhdGlvbiBtZXRob2QKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTE2ODM0NworICAgICAgICA8cmRhcjovL3Byb2JsZW0vMzAzNTI3OTM+CisgICAgICAg
IDxyZGFyOi8vcHJvYmxlbS8zMDY0NjcxMD4KKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzMwNjYw
NzA4PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICog
V2ViS2l0UHJpdmF0ZUZyYW1ld29ya1N0dWJzL2lPUy8xMC9Db3JlUHJlZGljdGlvbi5mcmFtZXdv
cmsvQ29yZVByZWRpY3Rpb24udGJkOiBBZGRlZC4KKyAgICAgICAgICAgIFN0dWJzIGZvciBwcml2
YXRlIGZyYW1ld29yay4KKwogMjAxNy0wMi0yMCAgUnlhbiBIYWRkYWQgIDxyeWFuaGFkZGFkQGFw
cGxlLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByMjEyNjg1LgpJbmRl
eDogV2ViS2l0TGlicmFyaWVzL1dlYktpdFByaXZhdGVGcmFtZXdvcmtTdHVicy9pT1MvMTAvQ29y
ZVByZWRpY3Rpb24uZnJhbWV3b3JrL0NvcmVQcmVkaWN0aW9uLnRiZAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBX
ZWJLaXRMaWJyYXJpZXMvV2ViS2l0UHJpdmF0ZUZyYW1ld29ya1N0dWJzL2lPUy8xMC9Db3JlUHJl
ZGljdGlvbi5mcmFtZXdvcmsvQ29yZVByZWRpY3Rpb24udGJkCShub25leGlzdGVudCkKKysrIFdl
YktpdExpYnJhcmllcy9XZWJLaXRQcml2YXRlRnJhbWV3b3JrU3R1YnMvaU9TLzEwL0NvcmVQcmVk
aWN0aW9uLmZyYW1ld29yay9Db3JlUHJlZGljdGlvbi50YmQJKHdvcmtpbmcgY29weSkKQEAgLTAs
MCArMSwxOCBAQAorLS0tICF0YXBpLXRiZC12MgorYXJjaHM6CisgIC0gYXJtdjcKKyAgLSBhcm12
N3MKKyAgLSBhcm02NAorZXhwb3J0czoKKyAgLQorICAgIGFyY2hzOgorICAgICAgLSBhcm12Nwor
ICAgICAgLSBhcm12N3MKKyAgICAgIC0gYXJtNjQKKyAgICBzeW1ib2xzOgorICAgICAgLSBfc3Zt
X2xvYWRfbW9kZWwKKyAgICAgIC0gX3N2bV9wcmVkaWN0X3ZhbHVlcworaW5zdGFsbC1uYW1lOiAv
U3lzdGVtL0xpYnJhcnkvUHJpdmF0ZUZyYW1ld29ya3MvQ29yZVByZWRpY3Rpb24uZnJhbWV3b3Jr
CitvYmpjLWNvbnN0cmFpbnQ6IG5vbmUKK3BsYXRmb3JtOiBpb3MKKy4uLgpJbmRleDogTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL0NoYW5nZUxvZwkocmV2
aXNpb24gMjEyODY3KQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsNDUgQEAKKzIwMTctMDItMjIgIEpvaG4gV2lsYW5kZXIgIDx3aWxhbmRlckBhcHBs
ZS5jb20+CisKKyAgICAgICAgUmVzb3VyY2UgTG9hZCBTdGF0aXN0aWNzOiBBZGQgYWx0ZXJuYXRl
IGNsYXNzaWZpY2F0aW9uIG1ldGhvZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTY4MzQ3CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8zMDM1Mjc5Mz4K
KyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzMwNjQ2NzEwPgorICAgICAgICA8cmRhcjovL3Byb2Js
ZW0vMzA2NjA3MDg+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgKiBodHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lm
eS1hcy1ub24tcHJldmFsZW50LWJhc2VkLW9uLW1peGVkLXN0YXRpc3RpY3MtZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlz
dGljcy9jbGFzc2lmeS1hcy1ub24tcHJldmFsZW50LWJhc2VkLW9uLW1peGVkLXN0YXRpc3RpY3Mu
aHRtbDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0
YXRpc3RpY3MvY2xhc3NpZnktYXMtbm9uLXByZXZhbGVudC1iYXNlZC1vbi1zdWItZnJhbWUtdW5k
ZXItdG9wLWZyYW1lLW9yaWdpbnMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRw
L3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1ub24tcHJl
dmFsZW50LWJhc2VkLW9uLXN1Yi1mcmFtZS11bmRlci10b3AtZnJhbWUtb3JpZ2lucy5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGlj
cy9jbGFzc2lmeS1hcy1ub24tcHJldmFsZW50LWJhc2VkLW9uLXN1YnJlc291cmNlLXVuZGVyLXRv
cC1mcmFtZS1vcmlnaW5zLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0
cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtbm9uLXByZXZhbGVu
dC1iYXNlZC1vbi1zdWJyZXNvdXJjZS11bmRlci10b3AtZnJhbWUtb3JpZ2lucy5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9j
bGFzc2lmeS1hcy1ub24tcHJldmFsZW50LWJhc2VkLW9uLXN1YnJlc291cmNlLXVuaXF1ZS1yZWRp
cmVjdHMtdG8tZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2xvYWRp
bmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1ub24tcHJldmFsZW50LWJhc2Vk
LW9uLXN1YnJlc291cmNlLXVuaXF1ZS1yZWRpcmVjdHMtdG8uaHRtbDogQWRkZWQuCisgICAgICAg
ICogaHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMt
cHJldmFsZW50LWJhc2VkLW9uLW1peGVkLXN0YXRpc3RpY3MtZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiBodHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFz
c2lmeS1hcy1wcmV2YWxlbnQtYmFzZWQtb24tbWl4ZWQtc3RhdGlzdGljcy5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiBodHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFz
c2lmeS1hcy1wcmV2YWxlbnQtYmFzZWQtb24tc3ViLWZyYW1lLXVuZGVyLXRvcC1mcmFtZS1vcmln
aW5zLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9sb2FkaW5nL3Jl
c291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtcHJldmFsZW50LWJhc2VkLW9uLXN1Yi1m
cmFtZS11bmRlci10b3AtZnJhbWUtb3JpZ2lucy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRw
L3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1wcmV2YWxl
bnQtYmFzZWQtb24tc3VicmVzb3VyY2UtdW5kZXItdG9wLWZyYW1lLW9yaWdpbnMtZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3Rh
dGlzdGljcy9jbGFzc2lmeS1hcy1wcmV2YWxlbnQtYmFzZWQtb24tc3VicmVzb3VyY2UtdW5kZXIt
dG9wLWZyYW1lLW9yaWdpbnMuaHRtbDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9sb2Fk
aW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtcHJldmFsZW50LWJhc2VkLW9u
LXN1YnJlc291cmNlLXVuaXF1ZS1yZWRpcmVjdHMtdG8tZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiBodHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lm
eS1hcy1wcmV2YWxlbnQtYmFzZWQtb24tc3VicmVzb3VyY2UtdW5pcXVlLXJlZGlyZWN0cy10by5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3Rh
dGlzdGljcy9ub24tcHJldmFsZW50LXJlc291cmNlLXdpdGgtdXNlci1pbnRlcmFjdGlvbi5odG1s
OgorICAgICAgICAgICAgQWRkZWQgYSBjYWxsIHRvIGludGVybmFscy5zZXRSZXNvdXJjZUxvYWRT
dGF0aXN0aWNzRW5hYmxlZChmYWxzZSkgYmVmb3JlIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpLgor
ICAgICAgICAqIGh0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL25vbi1w
cmV2YWxlbnQtcmVzb3VyY2Utd2l0aG91dC11c2VyLWludGVyYWN0aW9uLmh0bWw6CisgICAgICAg
ICAgICBBZGRlZCBhIGNhbGwgdG8gaW50ZXJuYWxzLnNldFJlc291cmNlTG9hZFN0YXRpc3RpY3NF
bmFibGVkKGZhbHNlKSBiZWZvcmUgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCkuCisgICAgICAgICog
aHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvcHJldmFsZW50LXJlc291
cmNlLXdpdGgtdXNlci1pbnRlcmFjdGlvbi10aW1lb3V0Lmh0bWw6CisgICAgICAgICAgICBBZGRl
ZCBhIGNhbGwgdG8gaW50ZXJuYWxzLnNldFJlc291cmNlTG9hZFN0YXRpc3RpY3NFbmFibGVkKGZh
bHNlKSBiZWZvcmUgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCkuCisgICAgICAgICogaHR0cC90ZXN0
cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvcHJldmFsZW50LXJlc291cmNlLXdpdGgt
dXNlci1pbnRlcmFjdGlvbi5odG1sOgorICAgICAgICAgICAgQWRkZWQgYSBjYWxsIHRvIGludGVy
bmFscy5zZXRSZXNvdXJjZUxvYWRTdGF0aXN0aWNzRW5hYmxlZChmYWxzZSkgYmVmb3JlIHRlc3RS
dW5uZXIubm90aWZ5RG9uZSgpLgorICAgICAgICAqIGh0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzL3ByZXZhbGVudC1yZXNvdXJjZS13aXRob3V0LXVzZXItaW50ZXJhY3Rp
b24uaHRtbDoKKyAgICAgICAgICAgIEFkZGVkIGEgY2FsbCB0byBpbnRlcm5hbHMuc2V0UmVzb3Vy
Y2VMb2FkU3RhdGlzdGljc0VuYWJsZWQoZmFsc2UpIGJlZm9yZSB0ZXN0UnVubmVyLm5vdGlmeURv
bmUoKS4KKyAgICAgICAgKiBwbGF0Zm9ybS9ndGsvVGVzdEV4cGVjdGF0aW9uczoKKyAgICAgICAg
ICAgIFRoZSB3aG9sZSBodHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcyBt
YXJrZWQgYXMgY3Jhc2hpbmcgYmFzZWQgb24KKyAgICAgICAgICAgIENhcmxvcyBHYXJjaWEgQ2Ft
cG9zJ3MgYXNzZXNzbWVudCBpbiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTY4MTcxLgorICAgICAgICAqIHBsYXRmb3JtL3drMi9UZXN0RXhwZWN0YXRpb25zOgorICAg
ICAgICAgICAgVGhlIGFib3ZlIHRlc3RzIGFyZSBvbmx5IHZhbGlkIGZvciBXZWJLaXQyLiBNYXJr
ZWQgYXMgWyBQYXNzIF0uCisKIDIwMTctMDItMjIgIEFudG9pbmUgUXVpbnQgIDxncmFvdXRzQGFw
cGxlLmNvbT4KIAogICAgICAgICBbTW9kZXJuIE1lZGlhIENvbnRyb2xzXSBDYW4ndCBzZXQgdGhl
IHZvbHVtZSBzbGlkZXIgd2l0aCBtYWNPUyBpbmxpbmUgY29udHJvbHMKSW5kZXg6IExheW91dFRl
c3RzL2h0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFz
LW5vbi1wcmV2YWxlbnQtYmFzZWQtb24tbWl4ZWQtc3RhdGlzdGljcy1leHBlY3RlZC50eHQKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0
YXRpc3RpY3MvY2xhc3NpZnktYXMtbm9uLXByZXZhbGVudC1iYXNlZC1vbi1taXhlZC1zdGF0aXN0
aWNzLWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1ub24tcHJldmFsZW50
LWJhc2VkLW9uLW1peGVkLXN0YXRpc3RpY3MtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBA
IC0wLDAgKzEsOCBAQAorbWFpbiBmcmFtZSAtIGRpZFN0YXJ0UHJvdmlzaW9uYWxMb2FkRm9yRnJh
bWUKK21haW4gZnJhbWUgLSBkaWRDb21taXRMb2FkRm9yRnJhbWUKK21haW4gZnJhbWUgLSBkaWRS
ZWNlaXZlVGl0bGU6IFRlc3RzIGZvciBDbGFzc2lmaWNhdGlvbiBCYXNlZCBvbiBNaXhlZCBTdGF0
aXN0aWNzCittYWluIGZyYW1lIC0gZGlkRmluaXNoRG9jdW1lbnRMb2FkRm9yRnJhbWUKK21haW4g
ZnJhbWUgLSBkaWRIYW5kbGVPbmxvYWRFdmVudHNGb3JGcmFtZQorbWFpbiBmcmFtZSAtIGRpZEZp
bmlzaExvYWRGb3JGcmFtZQorUEFTUyBIb3N0IGRpZCBub3QgZ2V0IGNsYXNzaWZpZWQgYXMgcHJl
dmFsZW50IHJlc291cmNlLgorCkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2xvYWRpbmcv
cmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1ub24tcHJldmFsZW50LWJhc2VkLW9u
LW1peGVkLXN0YXRpc3RpY3MuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1ub24tcHJldmFs
ZW50LWJhc2VkLW9uLW1peGVkLXN0YXRpc3RpY3MuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lm
eS1hcy1ub24tcHJldmFsZW50LWJhc2VkLW9uLW1peGVkLXN0YXRpc3RpY3MuaHRtbAkod29ya2lu
ZyBjb3B5KQpAQCAtMCwwICsxLDQyIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sIGxhbmc9ImVu
Ij4KKzxoZWFkPgorICAgIDxtZXRhIGNoYXJzZXQ9IlVURi04Ij4KKyAgICA8dGl0bGU+VGVzdHMg
Zm9yIENsYXNzaWZpY2F0aW9uIEJhc2VkIG9uIE1peGVkIFN0YXRpc3RpY3M8L3RpdGxlPgorICAg
IDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0PgorICAgIGNvbnN0IGhvc3RVbmRlclRlc3QgPSAiMTI3
LjAuMC4xOjgwMDAiOworICAgIGNvbnN0IHN0YXRpc3RpY3NVcmwgPSAiaHR0cDovLyIgKyBob3N0
VW5kZXJUZXN0ICsgIi90ZW1wIjsKKyAgICBjb25zdCB0b3BGcmFtZU9yaWdpbjEgPSAiaHR0cDov
LzEyNy4wLjAuMjo4MDAwL3RlbXAiOworICAgIGNvbnN0IHRvcEZyYW1lT3JpZ2luMiA9ICJodHRw
Oi8vMTI3LjAuMC4zOjgwMDAvdGVtcCI7CisgICAgY29uc3QgdG9wRnJhbWVPcmlnaW4zID0gImh0
dHA6Ly8xMjcuMC4wLjQ6ODAwMC90ZW1wIjsKKyAgICBmdW5jdGlvbiBydW5UZXN0UnVubmVyVGVz
dCgpIHsKKyAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2Uo
c3RhdGlzdGljc1VybCwgZmFsc2UpOworICAgICAgICBpZiAodGVzdFJ1bm5lci5pc1N0YXRpc3Rp
Y3NQcmV2YWxlbnRSZXNvdXJjZShzdGF0aXN0aWNzVXJsKSkKKyAgICAgICAgICAgIHRlc3RGYWls
ZWQoIkhvc3QgZGlkIG5vdCBnZXQgc2V0IGFzIG5vbi1wcmV2YWxlbnQgcmVzb3VyY2UuIik7CisK
KyAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzU3ViZnJhbWVVbmRlclRvcEZyYW1lT3Jp
Z2luKHN0YXRpc3RpY3NVcmwsIHRvcEZyYW1lT3JpZ2luMSk7CisgICAgICAgIHRlc3RSdW5uZXIu
c2V0U3RhdGlzdGljc1N1YnJlc291cmNlVW5kZXJUb3BGcmFtZU9yaWdpbihzdGF0aXN0aWNzVXJs
LCB0b3BGcmFtZU9yaWdpbjIpOworICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NTdWJy
ZXNvdXJjZVVuaXF1ZVJlZGlyZWN0VG8oc3RhdGlzdGljc1VybCwgdG9wRnJhbWVPcmlnaW4zKTsK
KworICAgICAgICB0ZXN0UnVubmVyLnN0YXRpc3RpY3NGaXJlRGF0YU1vZGlmaWNhdGlvbkhhbmRs
ZXIoKTsKKworICAgICAgICBpZiAodGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NQcmV2YWxlbnRSZXNv
dXJjZShzdGF0aXN0aWNzVXJsKSkKKyAgICAgICAgICAgIHRlc3RGYWlsZWQoIkhvc3QgY2xhc3Np
ZmllZCBhcyBwcmV2YWxlbnQgcmVzb3VyY2UuIik7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAg
IHRlc3RQYXNzZWQoIkhvc3QgZGlkIG5vdCBnZXQgY2xhc3NpZmllZCBhcyBwcmV2YWxlbnQgcmVz
b3VyY2UuIik7CisKKyAgICAgICAgdGVzdFJ1bm5lci5zdGF0aXN0aWNzUmVzZXRUb0NvbnNpc3Rl
bnRTdGF0ZSgpOworICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKKyAgICB9CisKKyAg
ICBpZiAoZG9jdW1lbnQubG9jYXRpb24uaG9zdCA9PT0gaG9zdFVuZGVyVGVzdCAmJiB3aW5kb3cu
dGVzdFJ1bm5lciAmJiB3aW5kb3cuaW50ZXJuYWxzKSB7CisgICAgICAgIHRlc3RSdW5uZXIud2Fp
dFVudGlsRG9uZSgpOworICAgICAgICBpbnRlcm5hbHMuc2V0UmVzb3VyY2VMb2FkU3RhdGlzdGlj
c0VuYWJsZWQodHJ1ZSk7CisgICAgICAgIHJ1blRlc3RSdW5uZXJUZXN0KCk7CisgICAgfQorPC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpJbmRl
eDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mv
Y2xhc3NpZnktYXMtbm9uLXByZXZhbGVudC1iYXNlZC1vbi1zdWItZnJhbWUtdW5kZXItdG9wLWZy
YW1lLW9yaWdpbnMtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAv
dGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLW5vbi1wcmV2
YWxlbnQtYmFzZWQtb24tc3ViLWZyYW1lLXVuZGVyLXRvcC1mcmFtZS1vcmlnaW5zLWV4cGVjdGVk
LnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2xvYWRpbmcvcmVz
b3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1ub24tcHJldmFsZW50LWJhc2VkLW9uLXN1
Yi1mcmFtZS11bmRlci10b3AtZnJhbWUtb3JpZ2lucy1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29w
eSkKQEAgLTAsMCArMSw4IEBACittYWluIGZyYW1lIC0gZGlkU3RhcnRQcm92aXNpb25hbExvYWRG
b3JGcmFtZQorbWFpbiBmcmFtZSAtIGRpZENvbW1pdExvYWRGb3JGcmFtZQorbWFpbiBmcmFtZSAt
IGRpZFJlY2VpdmVUaXRsZTogVGVzdHMgZm9yIENsYXNzaWZpY2F0aW9uIEJhc2VkIG9uIFN1YiBG
cmFtZSBVbmRlciBUb3AgRnJhbWUgT3JpZ2lucworbWFpbiBmcmFtZSAtIGRpZEZpbmlzaERvY3Vt
ZW50TG9hZEZvckZyYW1lCittYWluIGZyYW1lIC0gZGlkSGFuZGxlT25sb2FkRXZlbnRzRm9yRnJh
bWUKK21haW4gZnJhbWUgLSBkaWRGaW5pc2hMb2FkRm9yRnJhbWUKK1BBU1MgSG9zdCBkaWQgbm90
IGdldCBjbGFzc2lmaWVkIGFzIHByZXZhbGVudCByZXNvdXJjZS4KKwpJbmRleDogTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMt
bm9uLXByZXZhbGVudC1iYXNlZC1vbi1zdWItZnJhbWUtdW5kZXItdG9wLWZyYW1lLW9yaWdpbnMu
aHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3Vy
Y2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1ub24tcHJldmFsZW50LWJhc2VkLW9uLXN1Yi1m
cmFtZS11bmRlci10b3AtZnJhbWUtb3JpZ2lucy5odG1sCShub25leGlzdGVudCkKKysrIExheW91
dFRlc3RzL2h0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5
LWFzLW5vbi1wcmV2YWxlbnQtYmFzZWQtb24tc3ViLWZyYW1lLXVuZGVyLXRvcC1mcmFtZS1vcmln
aW5zLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw0MiBAQAorPCFET0NUWVBFIGh0bWw+
Cis8aHRtbCBsYW5nPSJlbiI+Cis8aGVhZD4KKyAgICA8bWV0YSBjaGFyc2V0PSJVVEYtOCI+Cisg
ICAgPHRpdGxlPlRlc3RzIGZvciBDbGFzc2lmaWNhdGlvbiBCYXNlZCBvbiBTdWIgRnJhbWUgVW5k
ZXIgVG9wIEZyYW1lIE9yaWdpbnM8L3RpdGxlPgorICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0
PgorICAgIGNvbnN0IGhvc3RVbmRlclRlc3QgPSAiMTI3LjAuMC4xOjgwMDAiOworICAgIGNvbnN0
IHN0YXRpc3RpY3NVcmwgPSAiaHR0cDovLyIgKyBob3N0VW5kZXJUZXN0ICsgIi90ZW1wIjsKKyAg
ICBjb25zdCB0b3BGcmFtZU9yaWdpbjEgPSAiaHR0cDovLzEyNy4wLjAuMjo4MDAwL3RlbXAiOwor
ICAgIGNvbnN0IHRvcEZyYW1lT3JpZ2luMiA9ICJodHRwOi8vMTI3LjAuMC4zOjgwMDAvdGVtcCI7
CisgICAgY29uc3QgdG9wRnJhbWVPcmlnaW4zID0gImh0dHA6Ly8xMjcuMC4wLjQ6ODAwMC90ZW1w
IjsKKyAgICBmdW5jdGlvbiBydW5UZXN0UnVubmVyVGVzdCgpIHsKKyAgICAgICAgdGVzdFJ1bm5l
ci5zZXRTdGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2Uoc3RhdGlzdGljc1VybCwgZmFsc2UpOwor
ICAgICAgICBpZiAodGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJjZShzdGF0
aXN0aWNzVXJsKSkKKyAgICAgICAgICAgIHRlc3RGYWlsZWQoIkhvc3QgZGlkIG5vdCBnZXQgc2V0
IGFzIG5vbi1wcmV2YWxlbnQgcmVzb3VyY2UuIik7CisKKyAgICAgICAgdGVzdFJ1bm5lci5zZXRT
dGF0aXN0aWNzU3ViZnJhbWVVbmRlclRvcEZyYW1lT3JpZ2luKHN0YXRpc3RpY3NVcmwsIHRvcEZy
YW1lT3JpZ2luMSk7CisgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1N1YmZyYW1lVW5k
ZXJUb3BGcmFtZU9yaWdpbihzdGF0aXN0aWNzVXJsLCB0b3BGcmFtZU9yaWdpbjIpOworICAgICAg
ICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NTdWJmcmFtZVVuZGVyVG9wRnJhbWVPcmlnaW4oc3Rh
dGlzdGljc1VybCwgdG9wRnJhbWVPcmlnaW4zKTsKKworICAgICAgICB0ZXN0UnVubmVyLnN0YXRp
c3RpY3NGaXJlRGF0YU1vZGlmaWNhdGlvbkhhbmRsZXIoKTsKKworICAgICAgICBpZiAodGVzdFJ1
bm5lci5pc1N0YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJjZShzdGF0aXN0aWNzVXJsKSkKKyAgICAg
ICAgICAgIHRlc3RGYWlsZWQoIkhvc3QgY2xhc3NpZmllZCBhcyBwcmV2YWxlbnQgcmVzb3VyY2Uu
Iik7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIHRlc3RQYXNzZWQoIkhvc3QgZGlkIG5vdCBn
ZXQgY2xhc3NpZmllZCBhcyBwcmV2YWxlbnQgcmVzb3VyY2UuIik7CisKKyAgICAgICAgdGVzdFJ1
bm5lci5zdGF0aXN0aWNzUmVzZXRUb0NvbnNpc3RlbnRTdGF0ZSgpOworICAgICAgICB0ZXN0UnVu
bmVyLm5vdGlmeURvbmUoKTsKKyAgICB9CisKKyAgICBpZiAoZG9jdW1lbnQubG9jYXRpb24uaG9z
dCA9PT0gaG9zdFVuZGVyVGVzdCAmJiB3aW5kb3cudGVzdFJ1bm5lciAmJiB3aW5kb3cuaW50ZXJu
YWxzKSB7CisgICAgICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOworICAgICAgICBpbnRl
cm5hbHMuc2V0UmVzb3VyY2VMb2FkU3RhdGlzdGljc0VuYWJsZWQodHJ1ZSk7CisgICAgICAgIHJ1
blRlc3RSdW5uZXJUZXN0KCk7CisgICAgfQorPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Clwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9s
b2FkaW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtbm9uLXByZXZhbGVudC1i
YXNlZC1vbi1zdWJyZXNvdXJjZS11bmRlci10b3AtZnJhbWUtb3JpZ2lucy1leHBlY3RlZC50eHQK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9h
ZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtbm9uLXByZXZhbGVudC1iYXNlZC1vbi1zdWJyZXNvdXJj
ZS11bmRlci10b3AtZnJhbWUtb3JpZ2lucy1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysg
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xh
c3NpZnktYXMtbm9uLXByZXZhbGVudC1iYXNlZC1vbi1zdWJyZXNvdXJjZS11bmRlci10b3AtZnJh
bWUtb3JpZ2lucy1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw4IEBACitt
YWluIGZyYW1lIC0gZGlkU3RhcnRQcm92aXNpb25hbExvYWRGb3JGcmFtZQorbWFpbiBmcmFtZSAt
IGRpZENvbW1pdExvYWRGb3JGcmFtZQorbWFpbiBmcmFtZSAtIGRpZFJlY2VpdmVUaXRsZTogVGVz
dHMgZm9yIENsYXNzaWZpY2F0aW9uIEJhc2VkIG9uIFN1YnJlc291cmNlIFVuZGVyIFRvcCBGcmFt
ZSBPcmlnaW5zCittYWluIGZyYW1lIC0gZGlkRmluaXNoRG9jdW1lbnRMb2FkRm9yRnJhbWUKK21h
aW4gZnJhbWUgLSBkaWRIYW5kbGVPbmxvYWRFdmVudHNGb3JGcmFtZQorbWFpbiBmcmFtZSAtIGRp
ZEZpbmlzaExvYWRGb3JGcmFtZQorUEFTUyBIb3N0IGRpZCBub3QgZ2V0IGNsYXNzaWZpZWQgYXMg
cHJldmFsZW50IHJlc291cmNlLgorCkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2xvYWRp
bmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1ub24tcHJldmFsZW50LWJhc2Vk
LW9uLXN1YnJlc291cmNlLXVuZGVyLXRvcC1mcmFtZS1vcmlnaW5zLmh0bWwKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mv
Y2xhc3NpZnktYXMtbm9uLXByZXZhbGVudC1iYXNlZC1vbi1zdWJyZXNvdXJjZS11bmRlci10b3At
ZnJhbWUtb3JpZ2lucy5odG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2h0dHAvdGVz
dHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLW5vbi1wcmV2YWxl
bnQtYmFzZWQtb24tc3VicmVzb3VyY2UtdW5kZXItdG9wLWZyYW1lLW9yaWdpbnMuaHRtbAkod29y
a2luZyBjb3B5KQpAQCAtMCwwICsxLDQwIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sIGxhbmc9
ImVuIj4KKzxoZWFkPgorICAgIDxtZXRhIGNoYXJzZXQ9IlVURi04Ij4KKyAgICA8dGl0bGU+VGVz
dHMgZm9yIENsYXNzaWZpY2F0aW9uIEJhc2VkIG9uIFN1YnJlc291cmNlIFVuZGVyIFRvcCBGcmFt
ZSBPcmlnaW5zPC90aXRsZT4KKyAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdD4KKyAgICBjb25z
dCBob3N0VW5kZXJUZXN0ID0gIjEyNy4wLjAuMTo4MDAwIjsKKyAgICBjb25zdCBzdGF0aXN0aWNz
VXJsID0gImh0dHA6Ly8iICsgaG9zdFVuZGVyVGVzdCArICIvdGVtcCI7CisgICAgY29uc3QgdG9w
RnJhbWVPcmlnaW4xID0gImh0dHA6Ly8xMjcuMC4wLjI6ODAwMC90ZW1wIjsKKyAgICBjb25zdCB0
b3BGcmFtZU9yaWdpbjIgPSAiaHR0cDovLzEyNy4wLjAuMzo4MDAwL3RlbXAiOworICAgIGZ1bmN0
aW9uIHJ1blRlc3RSdW5uZXJUZXN0KCkgeworICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3Rp
Y3NQcmV2YWxlbnRSZXNvdXJjZShzdGF0aXN0aWNzVXJsLCBmYWxzZSk7CisgICAgICAgIGlmICh0
ZXN0UnVubmVyLmlzU3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNlKHN0YXRpc3RpY3NVcmwpKQor
ICAgICAgICAgICAgdGVzdEZhaWxlZCgiSG9zdCBkaWQgbm90IGdldCBzZXQgYXMgbm9uLXByZXZh
bGVudCByZXNvdXJjZS4iKTsKKworICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NTdWJy
ZXNvdXJjZVVuZGVyVG9wRnJhbWVPcmlnaW4oc3RhdGlzdGljc1VybCwgdG9wRnJhbWVPcmlnaW4x
KTsKKyAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzU3VicmVzb3VyY2VVbmRlclRvcEZy
YW1lT3JpZ2luKHN0YXRpc3RpY3NVcmwsIHRvcEZyYW1lT3JpZ2luMik7CisKKyAgICAgICAgdGVz
dFJ1bm5lci5zdGF0aXN0aWNzRmlyZURhdGFNb2RpZmljYXRpb25IYW5kbGVyKCk7CisKKyAgICAg
ICAgaWYgKHRlc3RSdW5uZXIuaXNTdGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2Uoc3RhdGlzdGlj
c1VybCkpCisgICAgICAgICAgICB0ZXN0RmFpbGVkKCJIb3N0IGNsYXNzaWZpZWQgYXMgcHJldmFs
ZW50IHJlc291cmNlLiIpOworICAgICAgICBlbHNlCisgICAgICAgICAgICB0ZXN0UGFzc2VkKCJI
b3N0IGRpZCBub3QgZ2V0IGNsYXNzaWZpZWQgYXMgcHJldmFsZW50IHJlc291cmNlLiIpOworCisg
ICAgICAgIHRlc3RSdW5uZXIuc3RhdGlzdGljc1Jlc2V0VG9Db25zaXN0ZW50U3RhdGUoKTsKKyAg
ICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7CisgICAgfQorCisgICAgaWYgKGRvY3VtZW50
LmxvY2F0aW9uLmhvc3QgPT09IGhvc3RVbmRlclRlc3QgJiYgd2luZG93LnRlc3RSdW5uZXIgJiYg
d2luZG93LmludGVybmFscykgeworICAgICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsK
KyAgICAgICAgaW50ZXJuYWxzLnNldFJlc291cmNlTG9hZFN0YXRpc3RpY3NFbmFibGVkKHRydWUp
OworICAgICAgICBydW5UZXN0UnVubmVyVGVzdCgpOworICAgIH0KKzwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKSW5kZXg6IExheW91dFRlc3Rz
L2h0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLW5v
bi1wcmV2YWxlbnQtYmFzZWQtb24tc3VicmVzb3VyY2UtdW5pcXVlLXJlZGlyZWN0cy10by1leHBl
Y3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9sb2FkaW5nL3Jl
c291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtbm9uLXByZXZhbGVudC1iYXNlZC1vbi1z
dWJyZXNvdXJjZS11bmlxdWUtcmVkaXJlY3RzLXRvLWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQp
CisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGlj
cy9jbGFzc2lmeS1hcy1ub24tcHJldmFsZW50LWJhc2VkLW9uLXN1YnJlc291cmNlLXVuaXF1ZS1y
ZWRpcmVjdHMtdG8tZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsOCBAQAor
bWFpbiBmcmFtZSAtIGRpZFN0YXJ0UHJvdmlzaW9uYWxMb2FkRm9yRnJhbWUKK21haW4gZnJhbWUg
LSBkaWRDb21taXRMb2FkRm9yRnJhbWUKK21haW4gZnJhbWUgLSBkaWRSZWNlaXZlVGl0bGU6IFRl
c3RzIGZvciBDbGFzc2lmaWNhdGlvbiBCYXNlZCBvbiBTdWJyZXNvdXJjZSBVbmlxdWUgUmVkaXJl
Y3RzIFRvCittYWluIGZyYW1lIC0gZGlkRmluaXNoRG9jdW1lbnRMb2FkRm9yRnJhbWUKK21haW4g
ZnJhbWUgLSBkaWRIYW5kbGVPbmxvYWRFdmVudHNGb3JGcmFtZQorbWFpbiBmcmFtZSAtIGRpZEZp
bmlzaExvYWRGb3JGcmFtZQorUEFTUyBIb3N0IGRpZCBub3QgZ2V0IGNsYXNzaWZpZWQgYXMgcHJl
dmFsZW50IHJlc291cmNlLgorCkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2xvYWRpbmcv
cmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1ub24tcHJldmFsZW50LWJhc2VkLW9u
LXN1YnJlc291cmNlLXVuaXF1ZS1yZWRpcmVjdHMtdG8uaHRtbAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lm
eS1hcy1ub24tcHJldmFsZW50LWJhc2VkLW9uLXN1YnJlc291cmNlLXVuaXF1ZS1yZWRpcmVjdHMt
dG8uaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2xvYWRpbmcv
cmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1ub24tcHJldmFsZW50LWJhc2VkLW9u
LXN1YnJlc291cmNlLXVuaXF1ZS1yZWRpcmVjdHMtdG8uaHRtbAkod29ya2luZyBjb3B5KQpAQCAt
MCwwICsxLDQxIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sIGxhbmc9ImVuIj4KKzxoZWFkPgor
ICAgIDxtZXRhIGNoYXJzZXQ9IlVURi04Ij4KKyAgICA8dGl0bGU+VGVzdHMgZm9yIENsYXNzaWZp
Y2F0aW9uIEJhc2VkIG9uIFN1YnJlc291cmNlIFVuaXF1ZSBSZWRpcmVjdHMgVG88L3RpdGxlPgor
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0PgorICAgIGNvbnN0IGhvc3RVbmRlclRlc3QgPSAi
MTI3LjAuMC4xOjgwMDAiOworICAgIGNvbnN0IHN0YXRpc3RpY3NVcmwgPSAiaHR0cDovLyIgKyBo
b3N0VW5kZXJUZXN0ICsgIi90ZW1wIjsKKyAgICBjb25zdCB0b3BGcmFtZU9yaWdpbjEgPSAiaHR0
cDovLzEyNy4wLjAuMjo4MDAwL3RlbXAiOworICAgIGNvbnN0IHRvcEZyYW1lT3JpZ2luMiA9ICJo
dHRwOi8vMTI3LjAuMC4zOjgwMDAvdGVtcCI7CisgICAgZnVuY3Rpb24gcnVuVGVzdFJ1bm5lclRl
c3QoKSB7CisgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNl
KHN0YXRpc3RpY3NVcmwsIGZhbHNlKTsKKyAgICAgICAgaWYgKHRlc3RSdW5uZXIuaXNTdGF0aXN0
aWNzUHJldmFsZW50UmVzb3VyY2Uoc3RhdGlzdGljc1VybCkpCisgICAgICAgICAgICB0ZXN0RmFp
bGVkKCJIb3N0IGRpZCBub3QgZ2V0IHNldCBhcyBub24tcHJldmFsZW50IHJlc291cmNlLiIpOwor
CisgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1N1YnJlc291cmNlVW5pcXVlUmVkaXJl
Y3RUbyhzdGF0aXN0aWNzVXJsLCB0b3BGcmFtZU9yaWdpbjEpOworICAgICAgICB0ZXN0UnVubmVy
LnNldFN0YXRpc3RpY3NTdWJyZXNvdXJjZVVuaXF1ZVJlZGlyZWN0VG8oc3RhdGlzdGljc1VybCwg
dG9wRnJhbWVPcmlnaW4yKTsKKworICAgICAgICB0ZXN0UnVubmVyLnN0YXRpc3RpY3NGaXJlRGF0
YU1vZGlmaWNhdGlvbkhhbmRsZXIoKTsKKworICAgICAgICBpZiAodGVzdFJ1bm5lci5pc1N0YXRp
c3RpY3NQcmV2YWxlbnRSZXNvdXJjZShzdGF0aXN0aWNzVXJsKSkKKyAgICAgICAgICAgIHRlc3RG
YWlsZWQoIkhvc3QgY2xhc3NpZmllZCBhcyBwcmV2YWxlbnQgcmVzb3VyY2UuIik7CisgICAgICAg
IGVsc2UKKyAgICAgICAgICAgIHRlc3RQYXNzZWQoIkhvc3QgZGlkIG5vdCBnZXQgY2xhc3NpZmll
ZCBhcyBwcmV2YWxlbnQgcmVzb3VyY2UuIik7CisKKyAgICAgICAgdGVzdFJ1bm5lci5zdGF0aXN0
aWNzUmVzZXRUb0NvbnNpc3RlbnRTdGF0ZSgpOworICAgICAgICBpbnRlcm5hbHMuc2V0UmVzb3Vy
Y2VMb2FkU3RhdGlzdGljc0VuYWJsZWQoZmFsc2UpOworICAgICAgICB0ZXN0UnVubmVyLm5vdGlm
eURvbmUoKTsKKyAgICB9CisKKyAgICBpZiAoZG9jdW1lbnQubG9jYXRpb24uaG9zdCA9PT0gaG9z
dFVuZGVyVGVzdCAmJiB3aW5kb3cudGVzdFJ1bm5lciAmJiB3aW5kb3cuaW50ZXJuYWxzKSB7Cisg
ICAgICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOworICAgICAgICBpbnRlcm5hbHMuc2V0
UmVzb3VyY2VMb2FkU3RhdGlzdGljc0VuYWJsZWQodHJ1ZSk7CisgICAgICAgIHJ1blRlc3RSdW5u
ZXJUZXN0KCk7CisgICAgfQorPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgZmlsZQpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9sb2FkaW5nL3Jl
c291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtcHJldmFsZW50LWJhc2VkLW9uLW1peGVk
LXN0YXRpc3RpY3MtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAv
dGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLXByZXZhbGVu
dC1iYXNlZC1vbi1taXhlZC1zdGF0aXN0aWNzLWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisr
KyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9j
bGFzc2lmeS1hcy1wcmV2YWxlbnQtYmFzZWQtb24tbWl4ZWQtc3RhdGlzdGljcy1leHBlY3RlZC50
eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw4IEBACittYWluIGZyYW1lIC0gZGlkU3RhcnRQ
cm92aXNpb25hbExvYWRGb3JGcmFtZQorbWFpbiBmcmFtZSAtIGRpZENvbW1pdExvYWRGb3JGcmFt
ZQorbWFpbiBmcmFtZSAtIGRpZFJlY2VpdmVUaXRsZTogVGVzdHMgZm9yIENsYXNzaWZpY2F0aW9u
IEJhc2VkIG9uIE1peGVkIFN0YXRpc3RpY3MKK21haW4gZnJhbWUgLSBkaWRGaW5pc2hEb2N1bWVu
dExvYWRGb3JGcmFtZQorbWFpbiBmcmFtZSAtIGRpZEhhbmRsZU9ubG9hZEV2ZW50c0ZvckZyYW1l
CittYWluIGZyYW1lIC0gZGlkRmluaXNoTG9hZEZvckZyYW1lCitQQVNTIEhvc3QgY2xhc3NpZmll
ZCBhcyBwcmV2YWxlbnQgcmVzb3VyY2UuCisKSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMv
bG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLXByZXZhbGVudC1iYXNl
ZC1vbi1taXhlZC1zdGF0aXN0aWNzLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtcHJldmFs
ZW50LWJhc2VkLW9uLW1peGVkLXN0YXRpc3RpY3MuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lm
eS1hcy1wcmV2YWxlbnQtYmFzZWQtb24tbWl4ZWQtc3RhdGlzdGljcy5odG1sCSh3b3JraW5nIGNv
cHkpCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWwgbGFuZz0iZW4iPgor
PGhlYWQ+CisgICAgPG1ldGEgY2hhcnNldD0iVVRGLTgiPgorICAgIDx0aXRsZT5UZXN0cyBmb3Ig
Q2xhc3NpZmljYXRpb24gQmFzZWQgb24gTWl4ZWQgU3RhdGlzdGljczwvdGl0bGU+CisgICAgPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxzY3JpcHQ+CisgICAgY29uc3QgaG9zdFVuZGVyVGVzdCA9ICIxMjcuMC4w
LjE6ODAwMCI7CisgICAgY29uc3Qgc3RhdGlzdGljc1VybCA9ICJodHRwOi8vIiArIGhvc3RVbmRl
clRlc3QgKyAiL3RlbXAiOworICAgIGNvbnN0IHRvcEZyYW1lT3JpZ2luMSA9ICJodHRwOi8vMTI3
LjAuMC4yOjgwMDAvdGVtcCI7CisgICAgY29uc3QgdG9wRnJhbWVPcmlnaW4yID0gImh0dHA6Ly8x
MjcuMC4wLjM6ODAwMC90ZW1wIjsKKyAgICBjb25zdCB0b3BGcmFtZU9yaWdpbjMgPSAiaHR0cDov
LzEyNy4wLjAuNDo4MDAwL3RlbXAiOworICAgIGNvbnN0IHRvcEZyYW1lT3JpZ2luNCA9ICJodHRw
Oi8vMTI3LjAuMC41OjgwMDAvdGVtcCI7CisgICAgZnVuY3Rpb24gcnVuVGVzdFJ1bm5lclRlc3Qo
KSB7CisgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNlKHN0
YXRpc3RpY3NVcmwsIGZhbHNlKTsKKyAgICAgICAgaWYgKHRlc3RSdW5uZXIuaXNTdGF0aXN0aWNz
UHJldmFsZW50UmVzb3VyY2Uoc3RhdGlzdGljc1VybCkpCisgICAgICAgICAgICB0ZXN0RmFpbGVk
KCJIb3N0IGRpZCBub3QgZ2V0IHNldCBhcyBub24tcHJldmFsZW50IHJlc291cmNlLiIpOworCisg
ICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1N1YmZyYW1lVW5kZXJUb3BGcmFtZU9yaWdp
bihzdGF0aXN0aWNzVXJsLCB0b3BGcmFtZU9yaWdpbjEpOworICAgICAgICB0ZXN0UnVubmVyLnNl
dFN0YXRpc3RpY3NTdWJmcmFtZVVuZGVyVG9wRnJhbWVPcmlnaW4oc3RhdGlzdGljc1VybCwgdG9w
RnJhbWVPcmlnaW40KTsKKworICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NTdWJyZXNv
dXJjZVVuZGVyVG9wRnJhbWVPcmlnaW4oc3RhdGlzdGljc1VybCwgdG9wRnJhbWVPcmlnaW4yKTsK
KyAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzU3VicmVzb3VyY2VVbmRlclRvcEZyYW1l
T3JpZ2luKHN0YXRpc3RpY3NVcmwsIHRvcEZyYW1lT3JpZ2luMyk7CisgICAgICAgIHRlc3RSdW5u
ZXIuc2V0U3RhdGlzdGljc1N1YnJlc291cmNlVW5kZXJUb3BGcmFtZU9yaWdpbihzdGF0aXN0aWNz
VXJsLCB0b3BGcmFtZU9yaWdpbjQpOworCisgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGlj
c1N1YnJlc291cmNlVW5pcXVlUmVkaXJlY3RUbyhzdGF0aXN0aWNzVXJsLCB0b3BGcmFtZU9yaWdp
bjMpOworICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NTdWJyZXNvdXJjZVVuaXF1ZVJl
ZGlyZWN0VG8oc3RhdGlzdGljc1VybCwgdG9wRnJhbWVPcmlnaW4xKTsKKworICAgICAgICB0ZXN0
UnVubmVyLnN0YXRpc3RpY3NGaXJlRGF0YU1vZGlmaWNhdGlvbkhhbmRsZXIoKTsKKworICAgICAg
ICBpZiAoIXRlc3RSdW5uZXIuaXNTdGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2Uoc3RhdGlzdGlj
c1VybCkpCisgICAgICAgICAgICB0ZXN0RmFpbGVkKCJIb3N0IGRpZCBub3QgZ2V0IGNsYXNzaWZp
ZWQgYXMgcHJldmFsZW50IHJlc291cmNlLiIpOworICAgICAgICBlbHNlCisgICAgICAgICAgICB0
ZXN0UGFzc2VkKCJIb3N0IGNsYXNzaWZpZWQgYXMgcHJldmFsZW50IHJlc291cmNlLiIpOworCisg
ICAgICAgIHRlc3RSdW5uZXIuc3RhdGlzdGljc1Jlc2V0VG9Db25zaXN0ZW50U3RhdGUoKTsKKyAg
ICAgICAgaW50ZXJuYWxzLnNldFJlc291cmNlTG9hZFN0YXRpc3RpY3NFbmFibGVkKGZhbHNlKTsK
KyAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7CisgICAgfQorCisgICAgaWYgKGRvY3Vt
ZW50LmxvY2F0aW9uLmhvc3QgPT09IGhvc3RVbmRlclRlc3QgJiYgd2luZG93LnRlc3RSdW5uZXIg
JiYgd2luZG93LmludGVybmFscykgeworICAgICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUo
KTsKKyAgICAgICAgaW50ZXJuYWxzLnNldFJlc291cmNlTG9hZFN0YXRpc3RpY3NFbmFibGVkKHRy
dWUpOworICAgICAgICBydW5UZXN0UnVubmVyVGVzdCgpOworICAgIH0KKzwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKSW5kZXg6IExheW91dFRl
c3RzL2h0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFz
LXByZXZhbGVudC1iYXNlZC1vbi1zdWItZnJhbWUtdW5kZXItdG9wLWZyYW1lLW9yaWdpbnMtZXhw
ZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvbG9hZGluZy9y
ZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLXByZXZhbGVudC1iYXNlZC1vbi1zdWIt
ZnJhbWUtdW5kZXItdG9wLWZyYW1lLW9yaWdpbnMtZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkK
KysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNz
L2NsYXNzaWZ5LWFzLXByZXZhbGVudC1iYXNlZC1vbi1zdWItZnJhbWUtdW5kZXItdG9wLWZyYW1l
LW9yaWdpbnMtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsOCBAQAorbWFp
biBmcmFtZSAtIGRpZFN0YXJ0UHJvdmlzaW9uYWxMb2FkRm9yRnJhbWUKK21haW4gZnJhbWUgLSBk
aWRDb21taXRMb2FkRm9yRnJhbWUKK21haW4gZnJhbWUgLSBkaWRSZWNlaXZlVGl0bGU6IFRlc3Rz
IGZvciBDbGFzc2lmaWNhdGlvbiBCYXNlZCBvbiBTdWIgRnJhbWUgVW5kZXIgVG9wIEZyYW1lIE9y
aWdpbnMKK21haW4gZnJhbWUgLSBkaWRGaW5pc2hEb2N1bWVudExvYWRGb3JGcmFtZQorbWFpbiBm
cmFtZSAtIGRpZEhhbmRsZU9ubG9hZEV2ZW50c0ZvckZyYW1lCittYWluIGZyYW1lIC0gZGlkRmlu
aXNoTG9hZEZvckZyYW1lCitQQVNTIEhvc3QgY2xhc3NpZmllZCBhcyBwcmV2YWxlbnQgcmVzb3Vy
Y2UuCisKSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRT
dGF0aXN0aWNzL2NsYXNzaWZ5LWFzLXByZXZhbGVudC1iYXNlZC1vbi1zdWItZnJhbWUtdW5kZXIt
dG9wLWZyYW1lLW9yaWdpbnMuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1wcmV2YWxlbnQt
YmFzZWQtb24tc3ViLWZyYW1lLXVuZGVyLXRvcC1mcmFtZS1vcmlnaW5zLmh0bWwJKG5vbmV4aXN0
ZW50KQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0YXRp
c3RpY3MvY2xhc3NpZnktYXMtcHJldmFsZW50LWJhc2VkLW9uLXN1Yi1mcmFtZS11bmRlci10b3At
ZnJhbWUtb3JpZ2lucy5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNDUgQEAKKzwhRE9D
VFlQRSBodG1sPgorPGh0bWwgbGFuZz0iZW4iPgorPGhlYWQ+CisgICAgPG1ldGEgY2hhcnNldD0i
VVRGLTgiPgorICAgIDx0aXRsZT5UZXN0cyBmb3IgQ2xhc3NpZmljYXRpb24gQmFzZWQgb24gU3Vi
IEZyYW1lIFVuZGVyIFRvcCBGcmFtZSBPcmlnaW5zPC90aXRsZT4KKyAgICA8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHNjcmlwdD4KKyAgICBjb25zdCBob3N0VW5kZXJUZXN0ID0gIjEyNy4wLjAuMTo4MDAwIjsK
KyAgICBjb25zdCBzdGF0aXN0aWNzVXJsID0gImh0dHA6Ly8iICsgaG9zdFVuZGVyVGVzdCArICIv
dGVtcCI7CisgICAgY29uc3QgdG9wRnJhbWVPcmlnaW4xID0gImh0dHA6Ly8xMjcuMC4wLjI6ODAw
MC90ZW1wIjsKKyAgICBjb25zdCB0b3BGcmFtZU9yaWdpbjIgPSAiaHR0cDovLzEyNy4wLjAuMzo4
MDAwL3RlbXAiOworICAgIGNvbnN0IHRvcEZyYW1lT3JpZ2luMyA9ICJodHRwOi8vMTI3LjAuMC40
OjgwMDAvdGVtcCI7CisgICAgY29uc3QgdG9wRnJhbWVPcmlnaW40ID0gImh0dHA6Ly8xMjcuMC4w
LjU6ODAwMC90ZW1wIjsKKyAgICBmdW5jdGlvbiBydW5UZXN0UnVubmVyVGVzdCgpIHsKKyAgICAg
ICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2Uoc3RhdGlzdGljc1Vy
bCwgZmFsc2UpOworICAgICAgICBpZiAodGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NQcmV2YWxlbnRS
ZXNvdXJjZShzdGF0aXN0aWNzVXJsKSkKKyAgICAgICAgICAgIHRlc3RGYWlsZWQoIkhvc3QgZGlk
IG5vdCBnZXQgc2V0IGFzIG5vbi1wcmV2YWxlbnQgcmVzb3VyY2UuIik7CisKKyAgICAgICAgdGVz
dFJ1bm5lci5zZXRTdGF0aXN0aWNzU3ViZnJhbWVVbmRlclRvcEZyYW1lT3JpZ2luKHN0YXRpc3Rp
Y3NVcmwsIHRvcEZyYW1lT3JpZ2luMSk7CisgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGlj
c1N1YmZyYW1lVW5kZXJUb3BGcmFtZU9yaWdpbihzdGF0aXN0aWNzVXJsLCB0b3BGcmFtZU9yaWdp
bjIpOworICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NTdWJmcmFtZVVuZGVyVG9wRnJh
bWVPcmlnaW4oc3RhdGlzdGljc1VybCwgdG9wRnJhbWVPcmlnaW4zKTsKKyAgICAgICAgdGVzdFJ1
bm5lci5zZXRTdGF0aXN0aWNzU3ViZnJhbWVVbmRlclRvcEZyYW1lT3JpZ2luKHN0YXRpc3RpY3NV
cmwsIHRvcEZyYW1lT3JpZ2luNCk7CisKKyAgICAgICAgdGVzdFJ1bm5lci5zdGF0aXN0aWNzRmly
ZURhdGFNb2RpZmljYXRpb25IYW5kbGVyKCk7CisKKyAgICAgICAgaWYgKCF0ZXN0UnVubmVyLmlz
U3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNlKHN0YXRpc3RpY3NVcmwpKQorICAgICAgICAgICAg
dGVzdEZhaWxlZCgiSG9zdCBkaWQgbm90IGdldCBjbGFzc2lmaWVkIGFzIHByZXZhbGVudCByZXNv
dXJjZS4iKTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgdGVzdFBhc3NlZCgiSG9zdCBjbGFz
c2lmaWVkIGFzIHByZXZhbGVudCByZXNvdXJjZS4iKTsKKworICAgICAgICB0ZXN0UnVubmVyLnN0
YXRpc3RpY3NSZXNldFRvQ29uc2lzdGVudFN0YXRlKCk7CisgICAgICAgIGludGVybmFscy5zZXRS
ZXNvdXJjZUxvYWRTdGF0aXN0aWNzRW5hYmxlZChmYWxzZSk7CisgICAgICAgIHRlc3RSdW5uZXIu
bm90aWZ5RG9uZSgpOworICAgIH0KKworICAgIGlmIChkb2N1bWVudC5sb2NhdGlvbi5ob3N0ID09
PSBob3N0VW5kZXJUZXN0ICYmIHdpbmRvdy50ZXN0UnVubmVyICYmIHdpbmRvdy5pbnRlcm5hbHMp
IHsKKyAgICAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7CisgICAgICAgIGludGVybmFs
cy5zZXRSZXNvdXJjZUxvYWRTdGF0aXN0aWNzRW5hYmxlZCh0cnVlKTsKKyAgICAgICAgcnVuVGVz
dFJ1bm5lclRlc3QoKTsKKyAgICB9Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2xvYWRp
bmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1wcmV2YWxlbnQtYmFzZWQtb24t
c3VicmVzb3VyY2UtdW5kZXItdG9wLWZyYW1lLW9yaWdpbnMtZXhwZWN0ZWQudHh0Cj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0
aWNzL2NsYXNzaWZ5LWFzLXByZXZhbGVudC1iYXNlZC1vbi1zdWJyZXNvdXJjZS11bmRlci10b3At
ZnJhbWUtb3JpZ2lucy1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtcHJl
dmFsZW50LWJhc2VkLW9uLXN1YnJlc291cmNlLXVuZGVyLXRvcC1mcmFtZS1vcmlnaW5zLWV4cGVj
dGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDggQEAKK21haW4gZnJhbWUgLSBkaWRT
dGFydFByb3Zpc2lvbmFsTG9hZEZvckZyYW1lCittYWluIGZyYW1lIC0gZGlkQ29tbWl0TG9hZEZv
ckZyYW1lCittYWluIGZyYW1lIC0gZGlkUmVjZWl2ZVRpdGxlOiBUZXN0cyBmb3IgQ2xhc3NpZmlj
YXRpb24gQmFzZWQgb24gU3VicmVzb3VyY2UgVW5kZXIgVG9wIEZyYW1lIE9yaWdpbnMKK21haW4g
ZnJhbWUgLSBkaWRGaW5pc2hEb2N1bWVudExvYWRGb3JGcmFtZQorbWFpbiBmcmFtZSAtIGRpZEhh
bmRsZU9ubG9hZEV2ZW50c0ZvckZyYW1lCittYWluIGZyYW1lIC0gZGlkRmluaXNoTG9hZEZvckZy
YW1lCitQQVNTIEhvc3QgY2xhc3NpZmllZCBhcyBwcmV2YWxlbnQgcmVzb3VyY2UuCisKSW5kZXg6
IExheW91dFRlc3RzL2h0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2Ns
YXNzaWZ5LWFzLXByZXZhbGVudC1iYXNlZC1vbi1zdWJyZXNvdXJjZS11bmRlci10b3AtZnJhbWUt
b3JpZ2lucy5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvbG9hZGlu
Zy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLXByZXZhbGVudC1iYXNlZC1vbi1z
dWJyZXNvdXJjZS11bmRlci10b3AtZnJhbWUtb3JpZ2lucy5odG1sCShub25leGlzdGVudCkKKysr
IExheW91dFRlc3RzL2h0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2Ns
YXNzaWZ5LWFzLXByZXZhbGVudC1iYXNlZC1vbi1zdWJyZXNvdXJjZS11bmRlci10b3AtZnJhbWUt
b3JpZ2lucy5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNDUgQEAKKzwhRE9DVFlQRSBo
dG1sPgorPGh0bWwgbGFuZz0iZW4iPgorPGhlYWQ+CisgICAgPG1ldGEgY2hhcnNldD0iVVRGLTgi
PgorICAgIDx0aXRsZT5UZXN0cyBmb3IgQ2xhc3NpZmljYXRpb24gQmFzZWQgb24gU3VicmVzb3Vy
Y2UgVW5kZXIgVG9wIEZyYW1lIE9yaWdpbnM8L3RpdGxlPgorICAgIDxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8
c2NyaXB0PgorICAgIGNvbnN0IGhvc3RVbmRlclRlc3QgPSAiMTI3LjAuMC4xOjgwMDAiOworICAg
IGNvbnN0IHN0YXRpc3RpY3NVcmwgPSAiaHR0cDovLyIgKyBob3N0VW5kZXJUZXN0ICsgIi90ZW1w
IjsKKyAgICBjb25zdCB0b3BGcmFtZU9yaWdpbjEgPSAiaHR0cDovLzEyNy4wLjAuMjo4MDAwL3Rl
bXAiOworICAgIGNvbnN0IHRvcEZyYW1lT3JpZ2luMiA9ICJodHRwOi8vMTI3LjAuMC4zOjgwMDAv
dGVtcCI7CisgICAgY29uc3QgdG9wRnJhbWVPcmlnaW4zID0gImh0dHA6Ly8xMjcuMC4wLjQ6ODAw
MC90ZW1wIjsKKyAgICBjb25zdCB0b3BGcmFtZU9yaWdpbjQgPSAiaHR0cDovLzEyNy4wLjAuNTo4
MDAwL3RlbXAiOworICAgIGZ1bmN0aW9uIHJ1blRlc3RSdW5uZXJUZXN0KCkgeworICAgICAgICB0
ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJjZShzdGF0aXN0aWNzVXJsLCBm
YWxzZSk7CisgICAgICAgIGlmICh0ZXN0UnVubmVyLmlzU3RhdGlzdGljc1ByZXZhbGVudFJlc291
cmNlKHN0YXRpc3RpY3NVcmwpKQorICAgICAgICAgICAgdGVzdEZhaWxlZCgiSG9zdCBkaWQgbm90
IGdldCBzZXQgYXMgbm9uLXByZXZhbGVudCByZXNvdXJjZS4iKTsKKworICAgICAgICB0ZXN0UnVu
bmVyLnNldFN0YXRpc3RpY3NTdWJyZXNvdXJjZVVuZGVyVG9wRnJhbWVPcmlnaW4oc3RhdGlzdGlj
c1VybCwgdG9wRnJhbWVPcmlnaW4xKTsKKyAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNz
U3VicmVzb3VyY2VVbmRlclRvcEZyYW1lT3JpZ2luKHN0YXRpc3RpY3NVcmwsIHRvcEZyYW1lT3Jp
Z2luMik7CisgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1N1YnJlc291cmNlVW5kZXJU
b3BGcmFtZU9yaWdpbihzdGF0aXN0aWNzVXJsLCB0b3BGcmFtZU9yaWdpbjMpOworICAgICAgICB0
ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NTdWJyZXNvdXJjZVVuZGVyVG9wRnJhbWVPcmlnaW4oc3Rh
dGlzdGljc1VybCwgdG9wRnJhbWVPcmlnaW40KTsKKworICAgICAgICB0ZXN0UnVubmVyLnN0YXRp
c3RpY3NGaXJlRGF0YU1vZGlmaWNhdGlvbkhhbmRsZXIoKTsKKworICAgICAgICBpZiAoIXRlc3RS
dW5uZXIuaXNTdGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2Uoc3RhdGlzdGljc1VybCkpCisgICAg
ICAgICAgICB0ZXN0RmFpbGVkKCJIb3N0IGRpZCBub3QgZ2V0IGNsYXNzaWZpZWQgYXMgcHJldmFs
ZW50IHJlc291cmNlLiIpOworICAgICAgICBlbHNlCisgICAgICAgICAgICB0ZXN0UGFzc2VkKCJI
b3N0IGNsYXNzaWZpZWQgYXMgcHJldmFsZW50IHJlc291cmNlLiIpOworCisgICAgICAgIHRlc3RS
dW5uZXIuc3RhdGlzdGljc1Jlc2V0VG9Db25zaXN0ZW50U3RhdGUoKTsKKyAgICAgICAgaW50ZXJu
YWxzLnNldFJlc291cmNlTG9hZFN0YXRpc3RpY3NFbmFibGVkKGZhbHNlKTsKKyAgICAgICAgdGVz
dFJ1bm5lci5ub3RpZnlEb25lKCk7CisgICAgfQorCisgICAgaWYgKGRvY3VtZW50LmxvY2F0aW9u
Lmhvc3QgPT09IGhvc3RVbmRlclRlc3QgJiYgd2luZG93LnRlc3RSdW5uZXIgJiYgd2luZG93Lmlu
dGVybmFscykgeworICAgICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKKyAgICAgICAg
aW50ZXJuYWxzLnNldFJlc291cmNlTG9hZFN0YXRpc3RpY3NFbmFibGVkKHRydWUpOworICAgICAg
ICBydW5UZXN0UnVubmVyVGVzdCgpOworICAgIH0KKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVz
dHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLXByZXZhbGVudC1i
YXNlZC1vbi1zdWJyZXNvdXJjZS11bmlxdWUtcmVkaXJlY3RzLXRvLWV4cGVjdGVkLnR4dAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3Rh
dGlzdGljcy9jbGFzc2lmeS1hcy1wcmV2YWxlbnQtYmFzZWQtb24tc3VicmVzb3VyY2UtdW5pcXVl
LXJlZGlyZWN0cy10by1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtcHJl
dmFsZW50LWJhc2VkLW9uLXN1YnJlc291cmNlLXVuaXF1ZS1yZWRpcmVjdHMtdG8tZXhwZWN0ZWQu
dHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsOCBAQAorbWFpbiBmcmFtZSAtIGRpZFN0YXJ0
UHJvdmlzaW9uYWxMb2FkRm9yRnJhbWUKK21haW4gZnJhbWUgLSBkaWRDb21taXRMb2FkRm9yRnJh
bWUKK21haW4gZnJhbWUgLSBkaWRSZWNlaXZlVGl0bGU6IFRlc3RzIGZvciBDbGFzc2lmaWNhdGlv
biBCYXNlZCBvbiBTdWJyZXNvdXJjZSBVbmlxdWUgUmVkaXJlY3RzIFRvCittYWluIGZyYW1lIC0g
ZGlkRmluaXNoRG9jdW1lbnRMb2FkRm9yRnJhbWUKK21haW4gZnJhbWUgLSBkaWRIYW5kbGVPbmxv
YWRFdmVudHNGb3JGcmFtZQorbWFpbiBmcmFtZSAtIGRpZEZpbmlzaExvYWRGb3JGcmFtZQorUEFT
UyBIb3N0IGNsYXNzaWZpZWQgYXMgcHJldmFsZW50IHJlc291cmNlLgorCkluZGV4OiBMYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1h
cy1wcmV2YWxlbnQtYmFzZWQtb24tc3VicmVzb3VyY2UtdW5pcXVlLXJlZGlyZWN0cy10by5odG1s
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxv
YWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLXByZXZhbGVudC1iYXNlZC1vbi1zdWJyZXNvdXJjZS11
bmlxdWUtcmVkaXJlY3RzLXRvLmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtcHJldmFs
ZW50LWJhc2VkLW9uLXN1YnJlc291cmNlLXVuaXF1ZS1yZWRpcmVjdHMtdG8uaHRtbAkod29ya2lu
ZyBjb3B5KQpAQCAtMCwwICsxLDQ1IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sIGxhbmc9ImVu
Ij4KKzxoZWFkPgorICAgIDxtZXRhIGNoYXJzZXQ9IlVURi04Ij4KKyAgICA8dGl0bGU+VGVzdHMg
Zm9yIENsYXNzaWZpY2F0aW9uIEJhc2VkIG9uIFN1YnJlc291cmNlIFVuaXF1ZSBSZWRpcmVjdHMg
VG88L3RpdGxlPgorICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0PgorICAgIGNvbnN0IGhvc3RV
bmRlclRlc3QgPSAiMTI3LjAuMC4xOjgwMDAiOworICAgIGNvbnN0IHN0YXRpc3RpY3NVcmwgPSAi
aHR0cDovLyIgKyBob3N0VW5kZXJUZXN0ICsgIi90ZW1wIjsKKyAgICBjb25zdCB0b3BGcmFtZU9y
aWdpbjEgPSAiaHR0cDovLzEyNy4wLjAuMjo4MDAwL3RlbXAiOworICAgIGNvbnN0IHRvcEZyYW1l
T3JpZ2luMiA9ICJodHRwOi8vMTI3LjAuMC4zOjgwMDAvdGVtcCI7CisgICAgY29uc3QgdG9wRnJh
bWVPcmlnaW4zID0gImh0dHA6Ly8xMjcuMC4wLjQ6ODAwMC90ZW1wIjsKKyAgICBjb25zdCB0b3BG
cmFtZU9yaWdpbjQgPSAiaHR0cDovLzEyNy4wLjAuNTo4MDAwL3RlbXAiOworICAgIGZ1bmN0aW9u
IHJ1blRlc3RSdW5uZXJUZXN0KCkgeworICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NQ
cmV2YWxlbnRSZXNvdXJjZShzdGF0aXN0aWNzVXJsLCBmYWxzZSk7CisgICAgICAgIGlmICh0ZXN0
UnVubmVyLmlzU3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNlKHN0YXRpc3RpY3NVcmwpKQorICAg
ICAgICAgICAgdGVzdEZhaWxlZCgiSG9zdCBkaWQgbm90IGdldCBzZXQgYXMgbm9uLXByZXZhbGVu
dCByZXNvdXJjZS4iKTsKKworICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NTdWJyZXNv
dXJjZVVuaXF1ZVJlZGlyZWN0VG8oc3RhdGlzdGljc1VybCwgdG9wRnJhbWVPcmlnaW4xKTsKKyAg
ICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzU3VicmVzb3VyY2VVbmlxdWVSZWRpcmVjdFRv
KHN0YXRpc3RpY3NVcmwsIHRvcEZyYW1lT3JpZ2luMik7CisgICAgICAgIHRlc3RSdW5uZXIuc2V0
U3RhdGlzdGljc1N1YnJlc291cmNlVW5pcXVlUmVkaXJlY3RUbyhzdGF0aXN0aWNzVXJsLCB0b3BG
cmFtZU9yaWdpbjMpOworICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NTdWJyZXNvdXJj
ZVVuaXF1ZVJlZGlyZWN0VG8oc3RhdGlzdGljc1VybCwgdG9wRnJhbWVPcmlnaW40KTsKKworICAg
ICAgICB0ZXN0UnVubmVyLnN0YXRpc3RpY3NGaXJlRGF0YU1vZGlmaWNhdGlvbkhhbmRsZXIoKTsK
KworICAgICAgICBpZiAoIXRlc3RSdW5uZXIuaXNTdGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2Uo
c3RhdGlzdGljc1VybCkpCisgICAgICAgICAgICB0ZXN0RmFpbGVkKCJIb3N0IGRpZCBub3QgZ2V0
IGNsYXNzaWZpZWQgYXMgcHJldmFsZW50IHJlc291cmNlLiIpOworICAgICAgICBlbHNlCisgICAg
ICAgICAgICB0ZXN0UGFzc2VkKCJIb3N0IGNsYXNzaWZpZWQgYXMgcHJldmFsZW50IHJlc291cmNl
LiIpOworCisgICAgICAgIHRlc3RSdW5uZXIuc3RhdGlzdGljc1Jlc2V0VG9Db25zaXN0ZW50U3Rh
dGUoKTsKKyAgICAgICAgaW50ZXJuYWxzLnNldFJlc291cmNlTG9hZFN0YXRpc3RpY3NFbmFibGVk
KGZhbHNlKTsKKyAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7CisgICAgfQorCisgICAg
aWYgKGRvY3VtZW50LmxvY2F0aW9uLmhvc3QgPT09IGhvc3RVbmRlclRlc3QgJiYgd2luZG93LnRl
c3RSdW5uZXIgJiYgd2luZG93LmludGVybmFscykgeworICAgICAgICB0ZXN0UnVubmVyLndhaXRV
bnRpbERvbmUoKTsKKyAgICAgICAgaW50ZXJuYWxzLnNldFJlc291cmNlTG9hZFN0YXRpc3RpY3NF
bmFibGVkKHRydWUpOworICAgICAgICBydW5UZXN0UnVubmVyVGVzdCgpOworICAgIH0KKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9sb2Fk
aW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvbm9uLXByZXZhbGVudC1yZXNvdXJjZS13aXRoLXVz
ZXItaW50ZXJhY3Rpb24uaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9ub24tcHJldmFsZW50LXJlc291cmNlLXdp
dGgtdXNlci1pbnRlcmFjdGlvbi5odG1sCShyZXZpc2lvbiAyMTI4NTYpCisrKyBMYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9ub24tcHJldmFsZW50
LXJlc291cmNlLXdpdGgtdXNlci1pbnRlcmFjdGlvbi5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0z
OCw2ICszOCw3IEBACiAgICAgICAgICAgICBlbHNlCiAgICAgICAgICAgICAgICAgdGVzdEZhaWxl
ZCgiQ29va2llIGRlbGV0ZWQgb3IgZG9jdW1lbnQuY29va2llIGNvbnRhaW5zIG90aGVyIGNvb2tp
ZXM6ICIgKyBkb2N1bWVudC5jb29raWUpOwogICAgICAgICAgICAgdGVzdFJ1bm5lci5zdGF0aXN0
aWNzUmVzZXRUb0NvbnNpc3RlbnRTdGF0ZSgpOworICAgICAgICAgICAgaW50ZXJuYWxzLnNldFJl
c291cmNlTG9hZFN0YXRpc3RpY3NFbmFibGVkKGZhbHNlKTsKICAgICAgICAgICAgIHRlc3RSdW5u
ZXIubm90aWZ5RG9uZSgpOwogICAgICAgICB9KTsKICAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0
aXN0aWNzU2hvdWxkQ2xhc3NpZnlSZXNvdXJjZXNCZWZvcmVEYXRhUmVjb3Jkc1JlbW92YWwoZmFs
c2UpOwpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0
YXRpc3RpY3Mvbm9uLXByZXZhbGVudC1yZXNvdXJjZS13aXRob3V0LXVzZXItaW50ZXJhY3Rpb24u
aHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3Vy
Y2VMb2FkU3RhdGlzdGljcy9ub24tcHJldmFsZW50LXJlc291cmNlLXdpdGhvdXQtdXNlci1pbnRl
cmFjdGlvbi5odG1sCShyZXZpc2lvbiAyMTI4NTYpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9ub24tcHJldmFsZW50LXJlc291cmNlLXdp
dGhvdXQtdXNlci1pbnRlcmFjdGlvbi5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0zOCw2ICszOCw3
IEBACiAgICAgICAgICAgICBlbHNlCiAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZCgiQ29va2ll
IGRlbGV0ZWQgb3IgZG9jdW1lbnQuY29va2llIGNvbnRhaW5zIG90aGVyIGNvb2tpZXM6ICIgKyBk
b2N1bWVudC5jb29raWUpOwogICAgICAgICAgICAgdGVzdFJ1bm5lci5zdGF0aXN0aWNzUmVzZXRU
b0NvbnNpc3RlbnRTdGF0ZSgpOworICAgICAgICAgICAgaW50ZXJuYWxzLnNldFJlc291cmNlTG9h
ZFN0YXRpc3RpY3NFbmFibGVkKGZhbHNlKTsKICAgICAgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5
RG9uZSgpOwogICAgICAgICB9KTsKICAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzU2hv
dWxkQ2xhc3NpZnlSZXNvdXJjZXNCZWZvcmVEYXRhUmVjb3Jkc1JlbW92YWwoZmFsc2UpOwpJbmRl
eDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mv
cHJldmFsZW50LXJlc291cmNlLXdpdGgtdXNlci1pbnRlcmFjdGlvbi10aW1lb3V0Lmh0bWwKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0
YXRpc3RpY3MvcHJldmFsZW50LXJlc291cmNlLXdpdGgtdXNlci1pbnRlcmFjdGlvbi10aW1lb3V0
Lmh0bWwJKHJldmlzaW9uIDIxMjg1NikKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvbG9hZGlu
Zy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3ByZXZhbGVudC1yZXNvdXJjZS13aXRoLXVzZXItaW50
ZXJhY3Rpb24tdGltZW91dC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0zMSw2ICszMSw3IEBACiAg
ICAgICAgICAgICBlbHNlCiAgICAgICAgICAgICAgICAgdGVzdFBhc3NlZCgiQ29va2llIGRlbGV0
ZWQuIik7CiAgICAgICAgICAgICB0ZXN0UnVubmVyLnN0YXRpc3RpY3NSZXNldFRvQ29uc2lzdGVu
dFN0YXRlKCk7CisgICAgICAgICAgICBpbnRlcm5hbHMuc2V0UmVzb3VyY2VMb2FkU3RhdGlzdGlj
c0VuYWJsZWQoZmFsc2UpOwogICAgICAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7CiAg
ICAgICAgIH0pOwogICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NTaG91bGRDbGFzc2lm
eVJlc291cmNlc0JlZm9yZURhdGFSZWNvcmRzUmVtb3ZhbChmYWxzZSk7CkluZGV4OiBMYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9wcmV2YWxlbnQt
cmVzb3VyY2Utd2l0aC11c2VyLWludGVyYWN0aW9uLmh0bWwKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvcHJldmFsZW50
LXJlc291cmNlLXdpdGgtdXNlci1pbnRlcmFjdGlvbi5odG1sCShyZXZpc2lvbiAyMTI4NTYpCisr
KyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9w
cmV2YWxlbnQtcmVzb3VyY2Utd2l0aC11c2VyLWludGVyYWN0aW9uLmh0bWwJKHdvcmtpbmcgY29w
eSkKQEAgLTM4LDYgKzM4LDcgQEAKICAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAgICB0
ZXN0RmFpbGVkKCJDb29raWUgZGVsZXRlZCBvciBkb2N1bWVudC5jb29raWUgY29udGFpbnMgb3Ro
ZXIgY29va2llczogIiArIGRvY3VtZW50LmNvb2tpZSk7CiAgICAgICAgICAgICB0ZXN0UnVubmVy
LnN0YXRpc3RpY3NSZXNldFRvQ29uc2lzdGVudFN0YXRlKCk7CisgICAgICAgICAgICBpbnRlcm5h
bHMuc2V0UmVzb3VyY2VMb2FkU3RhdGlzdGljc0VuYWJsZWQoZmFsc2UpOwogICAgICAgICAgICAg
dGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7CiAgICAgICAgIH0pOwogICAgICAgICB0ZXN0UnVubmVy
LnNldFN0YXRpc3RpY3NTaG91bGRDbGFzc2lmeVJlc291cmNlc0JlZm9yZURhdGFSZWNvcmRzUmVt
b3ZhbChmYWxzZSk7CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3Vy
Y2VMb2FkU3RhdGlzdGljcy9wcmV2YWxlbnQtcmVzb3VyY2Utd2l0aG91dC11c2VyLWludGVyYWN0
aW9uLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9sb2FkaW5nL3Jl
c291cmNlTG9hZFN0YXRpc3RpY3MvcHJldmFsZW50LXJlc291cmNlLXdpdGhvdXQtdXNlci1pbnRl
cmFjdGlvbi5odG1sCShyZXZpc2lvbiAyMTI4NTYpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9wcmV2YWxlbnQtcmVzb3VyY2Utd2l0aG91
dC11c2VyLWludGVyYWN0aW9uLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTMxLDYgKzMxLDcgQEAK
ICAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAgICB0ZXN0UGFzc2VkKCJDb29raWUgZGVs
ZXRlZC4iKTsKICAgICAgICAgICAgIHRlc3RSdW5uZXIuc3RhdGlzdGljc1Jlc2V0VG9Db25zaXN0
ZW50U3RhdGUoKTsKKyAgICAgICAgICAgIGludGVybmFscy5zZXRSZXNvdXJjZUxvYWRTdGF0aXN0
aWNzRW5hYmxlZChmYWxzZSk7CiAgICAgICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsK
ICAgICAgICAgfSk7CiAgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1Nob3VsZENsYXNz
aWZ5UmVzb3VyY2VzQmVmb3JlRGF0YVJlY29yZHNSZW1vdmFsKGZhbHNlKTsKSW5kZXg6IExheW91
dFRlc3RzL3BsYXRmb3JtL2d0ay9UZXN0RXhwZWN0YXRpb25zCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL3BsYXRmb3JtL2d0ay9UZXN0RXhwZWN0YXRpb25zCShyZXZpc2lvbiAyMTI4NTYpCisr
KyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvVGVzdEV4cGVjdGF0aW9ucwkod29ya2luZyBjb3B5
KQpAQCAtOTM5LDExICs5MzksNyBAQCB3ZWJraXQub3JnL2IvMTMxNTQ2IG1lZGlhL3RyYWNrL3Ry
YWNrLWluCiAKIHdlYmtpdC5vcmcvYi8xNjM3ODIgbWVkaWEvdmlkZW8tcGxheWVkLXJhbmdlcy0x
Lmh0bWwgWyBDcmFzaCBQYXNzIF0KIAotd2Via2l0Lm9yZy9iLzE2ODE3MSBodHRwL3Rlc3RzL2xv
YWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9ub24tcHJldmFsZW50LXJlc291cmNlLXdpdGgt
dXNlci1pbnRlcmFjdGlvbi5odG1sIFsgQ3Jhc2ggXQotd2Via2l0Lm9yZy9iLzE2ODE3MSBodHRw
L3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9ub24tcHJldmFsZW50LXJlc291
cmNlLXdpdGhvdXQtdXNlci1pbnRlcmFjdGlvbi5odG1sIFsgQ3Jhc2ggXQotd2Via2l0Lm9yZy9i
LzE2ODE3MSBodHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9wcmV2YWxl
bnQtcmVzb3VyY2Utd2l0aC11c2VyLWludGVyYWN0aW9uLXRpbWVvdXQuaHRtbCBbIENyYXNoIF0K
LXdlYmtpdC5vcmcvYi8xNjgxNzEgaHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0YXRp
c3RpY3MvcHJldmFsZW50LXJlc291cmNlLXdpdGgtdXNlci1pbnRlcmFjdGlvbi5odG1sIFsgQ3Jh
c2ggXQotd2Via2l0Lm9yZy9iLzE2ODE3MSBodHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2Fk
U3RhdGlzdGljcy9wcmV2YWxlbnQtcmVzb3VyY2Utd2l0aG91dC11c2VyLWludGVyYWN0aW9uLmh0
bWwgWyBDcmFzaCBdCit3ZWJraXQub3JnL2IvMTY4MTcxIGh0dHAvdGVzdHMvbG9hZGluZy9yZXNv
dXJjZUxvYWRTdGF0aXN0aWNzIFsgQ3Jhc2ggXQogCiB3ZWJraXQub3JnL2IvMTY3NTc2IGltcG9y
dGVkL3czYy9JbmRleGVkREItcHJpdmF0ZS1icm93c2luZy9pZGJjdXJzb3JfaXRlcmF0aW5nLmh0
bWwgWyBDcmFzaCBdCiB3ZWJraXQub3JnL2IvMTY3NTc2IGltcG9ydGVkL3czYy9JbmRleGVkREIt
cHJpdmF0ZS1icm93c2luZy9pZGJjdXJzb3JfaXRlcmF0aW5nX2luZGV4Lmh0bWwgWyBDcmFzaCBd
CkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS93azIvVGVzdEV4cGVjdGF0aW9ucwo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS93azIvVGVzdEV4cGVjdGF0aW9ucwkocmV2aXNp
b24gMjEyODU2KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2syL1Rlc3RFeHBlY3RhdGlvbnMJ
KHdvcmtpbmcgY29weSkKQEAgLTcwNSw2ICs3MDUsMTQgQEAgaHR0cC90ZXN0cy9sb2FkaW5nL3Jl
c291cmNlTG9hZFN0YXRpc3RpYwogaHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0YXRp
c3RpY3Mvbm9uLXByZXZhbGVudC1yZXNvdXJjZS13aXRob3V0LXVzZXItaW50ZXJhY3Rpb24uaHRt
bCBbIFBhc3MgVGltZW91dCBdCiBodHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlz
dGljcy9wcmV2YWxlbnQtcmVzb3VyY2Utd2l0aG91dC11c2VyLWludGVyYWN0aW9uLmh0bWwgWyBQ
YXNzIFRpbWVvdXQgXQogaHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mv
cHJldmFsZW50LXJlc291cmNlLXdpdGgtdXNlci1pbnRlcmFjdGlvbi10aW1lb3V0Lmh0bWwgWyBQ
YXNzIFRpbWVvdXQgXQoraHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mv
Y2xhc3NpZnktYXMtbm9uLXByZXZhbGVudC1iYXNlZC1vbi1taXhlZC1zdGF0aXN0aWNzLmh0bWwg
WyBQYXNzIF0KK2h0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNz
aWZ5LWFzLW5vbi1wcmV2YWxlbnQtYmFzZWQtb24tc3ViLWZyYW1lLXVuZGVyLXRvcC1mcmFtZS1v
cmlnaW5zLmh0bWwgWyBQYXNzIF0KK2h0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0
aXN0aWNzL2NsYXNzaWZ5LWFzLW5vbi1wcmV2YWxlbnQtYmFzZWQtb24tc3VicmVzb3VyY2UtdW5k
ZXItdG9wLWZyYW1lLW9yaWdpbnMuaHRtbCBbIFBhc3MgXQoraHR0cC90ZXN0cy9sb2FkaW5nL3Jl
c291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtbm9uLXByZXZhbGVudC1iYXNlZC1vbi1z
dWJyZXNvdXJjZS11bmlxdWUtcmVkaXJlY3RzLXRvLmh0bWwgWyBQYXNzIF0KK2h0dHAvdGVzdHMv
bG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLXByZXZhbGVudC1iYXNl
ZC1vbi1taXhlZC1zdGF0aXN0aWNzLmh0bWwgWyBQYXNzIF0KK2h0dHAvdGVzdHMvbG9hZGluZy9y
ZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLXByZXZhbGVudC1iYXNlZC1vbi1zdWIt
ZnJhbWUtdW5kZXItdG9wLWZyYW1lLW9yaWdpbnMuaHRtbCBbIFBhc3MgXQoraHR0cC90ZXN0cy9s
b2FkaW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtcHJldmFsZW50LWJhc2Vk
LW9uLXN1YnJlc291cmNlLXVuZGVyLXRvcC1mcmFtZS1vcmlnaW5zLmh0bWwgWyBQYXNzIF0KK2h0
dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLXByZXZh
bGVudC1iYXNlZC1vbi1zdWJyZXNvdXJjZS11bmlxdWUtcmVkaXJlY3RzLXRvLmh0bWwgWyBQYXNz
IF0KIAogIyMjIEVORCBPRiAoNSkgUHJvZ3Jlc3Npb25zLCBleHBlY3RlZCBzdWNjZXNzZXMgdGhh
dCBhcmUgZXhwZWN0ZWQgZmFpbHVyZXMgaW4gV2ViS2l0MS4KICMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>302626</attachid>
            <date>2017-02-23 18:33:40 -0800</date>
            <delta_ts>2017-02-23 21:38:24 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-168347-20170223183050.patch</filename>
            <type>text/plain</type>
            <size>124784</size>
            <attacher name="John Wilander">wilander</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XVEYvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XVEYvQ2hh
bmdlTG9nCShyZXZpc2lvbiAyMTI4OTgpCisrKyBTb3VyY2UvV1RGL0NoYW5nZUxvZwkod29ya2lu
ZyBjb3B5KQpAQCAtMSwzICsxLDE2IEBACisyMDE3LTAyLTIzICBKb2huIFdpbGFuZGVyICA8d2ls
YW5kZXJAYXBwbGUuY29tPgorCisgICAgICAgIFJlc291cmNlIExvYWQgU3RhdGlzdGljczogQWRk
IGFsdGVybmF0ZSBjbGFzc2lmaWNhdGlvbiBtZXRob2QKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2ODM0NworICAgICAgICA8cmRhcjovL3Byb2JsZW0v
MzAzNTI3OTM+CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8zMDY0NjcxMD4KKyAgICAgICAgPHJk
YXI6Ly9wcm9ibGVtLzMwNjYwNzA4PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgICogd3RmL1BsYXRmb3JtLmg6CisgICAgICAgICAgICBBZGRlZCBzdXBw
b3J0IGZvciBIQVZFKENPUkVfUFJFRElDVElPTikuCisKIDIwMTctMDItMjIgIENhcmxvcyBHYXJj
aWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29tPgogCiAgICAgICAgIEJldHRlciBoYW5kbGUg
VGhyZWFkIGFuZCBSdW5Mb29wIGluaXRpYWxpemF0aW9uCkluZGV4OiBTb3VyY2UvV1RGL3d0Zi9Q
bGF0Zm9ybS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XVEYvd3RmL1BsYXRmb3JtLmgJKHJldmlz
aW9uIDIxMjg5OCkKKysrIFNvdXJjZS9XVEYvd3RmL1BsYXRmb3JtLmgJKHdvcmtpbmcgY29weSkK
QEAgLTExOTgsNCArMTE5OCw3IEBACiAjZGVmaW5lIFVTRV9MSUJXRUJSVEMgMQogI2VuZGlmCiAK
KyNpZiBVU0UoSlNWQUxVRTY0KSAmJiAoUExBVEZPUk0oSU9TKSB8fCAoUExBVEZPUk0oTUFDKSAm
JiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMTIwMCkpCisjZGVmaW5lIEhB
VkVfQ09SRV9QUkVESUNUSU9OIDEKKyNlbmRpZgogI2VuZGlmIC8qIFdURl9QbGF0Zm9ybV9oICov
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvQ2hhbmdlTG9nCShyZXZpc2lvbiAyMTI4OTgpCisrKyBTb3VyY2UvV2ViQ29yZS9DaGFu
Z2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwzMCBAQAorMjAxNy0wMi0yMyAgSm9obiBX
aWxhbmRlciAgPHdpbGFuZGVyQGFwcGxlLmNvbT4KKworICAgICAgICBSZXNvdXJjZSBMb2FkIFN0
YXRpc3RpY3M6IEFkZCBhbHRlcm5hdGUgY2xhc3NpZmljYXRpb24gbWV0aG9kCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjgzNDcKKyAgICAgICAgPHJk
YXI6Ly9wcm9ibGVtLzMwMzUyNzkzPgorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMzA2NDY3MTA+
CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8zMDY2MDcwOD4KKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGlzIHBhdGNoIG9ubHkgYWRkcyB0ZXN0IGlu
ZnJhc3RydWN0dXJlIGluIFdlYkNvcmUuCisKKyAgICAgICAgVGVzdHM6IGh0dHAvdGVzdHMvbG9h
ZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLW5vbi1wcmV2YWxlbnQtYmFz
ZWQtb24tbWl4ZWQtc3RhdGlzdGljcy5odG1sCisgICAgICAgICAgICAgICBodHRwL3Rlc3RzL2xv
YWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1ub24tcHJldmFsZW50LWJh
c2VkLW9uLXN1Yi1mcmFtZS11bmRlci10b3AtZnJhbWUtb3JpZ2lucy5odG1sCisgICAgICAgICAg
ICAgICBodHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1h
cy1ub24tcHJldmFsZW50LWJhc2VkLW9uLXN1YnJlc291cmNlLXVuZGVyLXRvcC1mcmFtZS1vcmln
aW5zLmh0bWwKKyAgICAgICAgICAgICAgIGh0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRT
dGF0aXN0aWNzL2NsYXNzaWZ5LWFzLW5vbi1wcmV2YWxlbnQtYmFzZWQtb24tc3VicmVzb3VyY2Ut
dW5pcXVlLXJlZGlyZWN0cy10by5odG1sCisgICAgICAgICAgICAgICBodHRwL3Rlc3RzL2xvYWRp
bmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1wcmV2YWxlbnQtYmFzZWQtb24t
bWl4ZWQtc3RhdGlzdGljcy5odG1sCisgICAgICAgICAgICAgICBodHRwL3Rlc3RzL2xvYWRpbmcv
cmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1wcmV2YWxlbnQtYmFzZWQtb24tc3Vi
LWZyYW1lLXVuZGVyLXRvcC1mcmFtZS1vcmlnaW5zLmh0bWwKKyAgICAgICAgICAgICAgIGh0dHAv
dGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLXByZXZhbGVu
dC1iYXNlZC1vbi1zdWJyZXNvdXJjZS11bmRlci10b3AtZnJhbWUtb3JpZ2lucy5odG1sCisgICAg
ICAgICAgICAgICBodHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFz
c2lmeS1hcy1wcmV2YWxlbnQtYmFzZWQtb24tc3VicmVzb3VyY2UtdW5pcXVlLXJlZGlyZWN0cy10
by5odG1sCisKKyAgICAgICAgKiBsb2FkZXIvUmVzb3VyY2VMb2FkT2JzZXJ2ZXIuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6UmVzb3VyY2VMb2FkT2JzZXJ2ZXI6OnNldFN1YmZyYW1lVW5kZXJUb3BG
cmFtZU9yaWdpbik6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZUxvYWRPYnNlcnZlcjo6c2V0
U3VicmVzb3VyY2VVbmRlclRvcEZyYW1lT3JpZ2luKToKKyAgICAgICAgKFdlYkNvcmU6OlJlc291
cmNlTG9hZE9ic2VydmVyOjpzZXRTdWJyZXNvdXJjZVVuaXF1ZVJlZGlyZWN0VG8pOgorICAgICAg
ICAqIGxvYWRlci9SZXNvdXJjZUxvYWRPYnNlcnZlci5oOgorCiAyMDE3LTAyLTIzICBDYXJsb3Mg
R2FyY2lhIENhbXBvcyAgPGNnYXJjaWFAaWdhbGlhLmNvbT4KIAogICAgICAgICBbR1N0cmVhbWVy
XSBTZXZlcmFsIGxheW91dCB0ZXN0cyB0cmlnZ2VyIEdTdHJlYW1lci1DUklUSUNBTCAqKjogZ3N0
X2Jpbl9nZXRfYnlfbmFtZTogYXNzZXJ0aW9uICdHU1RfSVNfQklOIChiaW4pJyBmYWlsZWQKSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZUxvYWRPYnNlcnZlci5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlTG9hZE9ic2VydmVyLmNwcAko
cmV2aXNpb24gMjEyODk4KQorKysgU291cmNlL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlTG9hZE9i
c2VydmVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzc1LDYgKzM3NSwzMyBAQCB2b2lkIFJlc291
cmNlTG9hZE9ic2VydmVyOjpjbGVhclByZXZhbGVuCiAgICAgc3RhdGlzdGljcy5pc1ByZXZhbGVu
dFJlc291cmNlID0gZmFsc2U7CiB9CiAKK3ZvaWQgUmVzb3VyY2VMb2FkT2JzZXJ2ZXI6OnNldFN1
YmZyYW1lVW5kZXJUb3BGcmFtZU9yaWdpbihjb25zdCBVUkwmIHN1YmZyYW1lLCBjb25zdCBVUkwm
IHRvcEZyYW1lKQoreworICAgIGlmIChzdWJmcmFtZS5pc0JsYW5rVVJMKCkgfHwgc3ViZnJhbWUu
aXNFbXB0eSgpIHx8IHRvcEZyYW1lLmlzQmxhbmtVUkwoKSB8fCB0b3BGcmFtZS5pc0VtcHR5KCkp
CisgICAgICAgIHJldHVybjsKKyAgICAKKyAgICBhdXRvJiBzdGF0aXN0aWNzID0gbV9zdG9yZS0+
ZW5zdXJlUmVzb3VyY2VTdGF0aXN0aWNzRm9yUHJpbWFyeURvbWFpbihwcmltYXJ5RG9tYWluKHN1
YmZyYW1lKSk7CisgICAgc3RhdGlzdGljcy5zdWJmcmFtZVVuZGVyVG9wRnJhbWVPcmlnaW5zLmFk
ZChwcmltYXJ5RG9tYWluKHRvcEZyYW1lKSk7Cit9CisKK3ZvaWQgUmVzb3VyY2VMb2FkT2JzZXJ2
ZXI6OnNldFN1YnJlc291cmNlVW5kZXJUb3BGcmFtZU9yaWdpbihjb25zdCBVUkwmIHN1YnJlc291
cmNlLCBjb25zdCBVUkwmIHRvcEZyYW1lKQoreworICAgIGlmIChzdWJyZXNvdXJjZS5pc0JsYW5r
VVJMKCkgfHwgc3VicmVzb3VyY2UuaXNFbXB0eSgpIHx8IHRvcEZyYW1lLmlzQmxhbmtVUkwoKSB8
fCB0b3BGcmFtZS5pc0VtcHR5KCkpCisgICAgICAgIHJldHVybjsKKyAgICAKKyAgICBhdXRvJiBz
dGF0aXN0aWNzID0gbV9zdG9yZS0+ZW5zdXJlUmVzb3VyY2VTdGF0aXN0aWNzRm9yUHJpbWFyeURv
bWFpbihwcmltYXJ5RG9tYWluKHN1YnJlc291cmNlKSk7CisgICAgc3RhdGlzdGljcy5zdWJyZXNv
dXJjZVVuZGVyVG9wRnJhbWVPcmlnaW5zLmFkZChwcmltYXJ5RG9tYWluKHRvcEZyYW1lKSk7Cit9
CisKK3ZvaWQgUmVzb3VyY2VMb2FkT2JzZXJ2ZXI6OnNldFN1YnJlc291cmNlVW5pcXVlUmVkaXJl
Y3RUbyhjb25zdCBVUkwmIHN1YnJlc291cmNlLCBjb25zdCBVUkwmIGhvc3ROYW1lUmVkaXJlY3Rl
ZFRvKQoreworICAgIGlmIChzdWJyZXNvdXJjZS5pc0JsYW5rVVJMKCkgfHwgc3VicmVzb3VyY2Uu
aXNFbXB0eSgpIHx8IGhvc3ROYW1lUmVkaXJlY3RlZFRvLmlzQmxhbmtVUkwoKSB8fCBob3N0TmFt
ZVJlZGlyZWN0ZWRUby5pc0VtcHR5KCkpCisgICAgICAgIHJldHVybjsKKyAgICAKKyAgICBhdXRv
JiBzdGF0aXN0aWNzID0gbV9zdG9yZS0+ZW5zdXJlUmVzb3VyY2VTdGF0aXN0aWNzRm9yUHJpbWFy
eURvbWFpbihwcmltYXJ5RG9tYWluKHN1YnJlc291cmNlKSk7CisgICAgc3RhdGlzdGljcy5zdWJy
ZXNvdXJjZVVuaXF1ZVJlZGlyZWN0c1RvLmFkZChwcmltYXJ5RG9tYWluKGhvc3ROYW1lUmVkaXJl
Y3RlZFRvKSk7Cit9CisKIHZvaWQgUmVzb3VyY2VMb2FkT2JzZXJ2ZXI6OnNldFRpbWVUb0xpdmVV
c2VySW50ZXJhY3Rpb24oZG91YmxlIHNlY29uZHMpCiB7CiAgICAgbV9zdG9yZS0+c2V0VGltZVRv
TGl2ZVVzZXJJbnRlcmFjdGlvbihzZWNvbmRzKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2xvYWRl
ci9SZXNvdXJjZUxvYWRPYnNlcnZlci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2xv
YWRlci9SZXNvdXJjZUxvYWRPYnNlcnZlci5oCShyZXZpc2lvbiAyMTI4OTgpCisrKyBTb3VyY2Uv
V2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VMb2FkT2JzZXJ2ZXIuaAkod29ya2luZyBjb3B5KQpAQCAt
NTgsNiArNTgsMTAgQEAgcHVibGljOgogICAgIFdFQkNPUkVfRVhQT1JUIGJvb2wgaXNQcmV2YWxl
bnRSZXNvdXJjZShjb25zdCBVUkwmKTsKICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIGNsZWFyUHJl
dmFsZW50UmVzb3VyY2UoY29uc3QgVVJMJik7CiAKKyAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHNl
dFN1YmZyYW1lVW5kZXJUb3BGcmFtZU9yaWdpbihjb25zdCBVUkwmIHN1YmZyYW1lLCBjb25zdCBV
UkwmIHRvcEZyYW1lKTsKKyAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHNldFN1YnJlc291cmNlVW5k
ZXJUb3BGcmFtZU9yaWdpbihjb25zdCBVUkwmIHN1YnJlc291cmNlLCBjb25zdCBVUkwmIHRvcEZy
YW1lKTsKKyAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHNldFN1YnJlc291cmNlVW5pcXVlUmVkaXJl
Y3RUbyhjb25zdCBVUkwmIHN1YnJlc291cmNlLCBjb25zdCBVUkwmIGhvc3ROYW1lUmVkaXJlY3Rl
ZFRvKTsKKwogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgc2V0VGltZVRvTGl2ZVVzZXJJbnRlcmFj
dGlvbihkb3VibGUgc2Vjb25kcyk7CiAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBzZXRSZWR1Y2Vk
VGltZXN0YW1wUmVzb2x1dGlvbihkb3VibGUgc2Vjb25kcyk7CiAKSW5kZXg6IFNvdXJjZS9XZWJL
aXQyL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDIxMjkzMykKKysrIFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwkod29ya2luZyBjb3B5
KQpAQCAtMSwzICsxLDc1IEBACisyMDE3LTAyLTIzICBKb2huIFdpbGFuZGVyICA8d2lsYW5kZXJA
YXBwbGUuY29tPgorCisgICAgICAgIFJlc291cmNlIExvYWQgU3RhdGlzdGljczogQWRkIGFsdGVy
bmF0ZSBjbGFzc2lmaWNhdGlvbiBtZXRob2QKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTE2ODM0NworICAgICAgICA8cmRhcjovL3Byb2JsZW0vMzAzNTI3
OTM+CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8zMDY0NjcxMD4KKyAgICAgICAgPHJkYXI6Ly9w
cm9ibGVtLzMwNjYwNzA4PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIFRoaXMgcGF0Y2ggYWRkcyBhIENvcmVQcmVkaWN0aW9uLWJhc2VkIGNsYXNzaWZp
ZXIgdG8gdGhlIFdlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZS4KKyAgICAgICAgVGhlIENv
cmVQcmVkaWN0aW9uIGZyYW1ld29yayBpcyBpbnRyb2R1Y2VkIGFzIGEgZGVwZW5kZW5jeSBmb3Ig
bWFjT1MgYW5kIGlPUy4gVGhlIHBhdGNoCisgICAgICAgIGFsc28gYWRkcyBmdW5jdGlvbnMgdG8g
c3VwcG9ydCBsYXlvdXQgdGVzdHMgb2YgdGhlIGZlYXR1cmUuCisKKyAgICAgICAgKiBQbGF0Zm9y
bS9Mb2dnaW5nLmg6CisgICAgICAgICAgICBBZGRlZCBjaGFubmVsIFJlc291cmNlTG9hZFN0YXRp
c3RpY3MuCisgICAgICAgICogUGxhdGZvcm0vY2xhc3NpZmllci9SZXNvdXJjZUxvYWRTdGF0aXN0
aWNzQ2xhc3NpZmllci5oOiBBZGRlZC4KKyAgICAgICAgICAgIFB1bGxzIGluIHRoZSBDb2NvYS1z
cGVjaWZpYyBjbGFzc2lmaWVyIGZvciBDb2NvYS1iYXNlZCBwbGF0Zm9ybXMuCisgICAgICAgIChX
ZWJLaXQ6OlJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyOjpSZXNvdXJjZUxvYWRTdGF0
aXN0aWNzQ2xhc3NpZmllcik6CisgICAgICAgICogUGxhdGZvcm0vY2xhc3NpZmllci9SZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllckJhc2UuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYktp
dDo6UmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXJCYXNlOjpoYXNQcmV2YWxlbnRSZXNv
dXJjZUNoYXJhY3RlcmlzdGljcyk6CisgICAgICAgICAgICBTaGFyZWQgY2xhc3NpZmllciBsb2dp
Yy4KKyAgICAgICAgKFdlYktpdDo6UmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXJCYXNl
OjpjbGFzc2lmeVdpdGhWZWN0b3JUaHJlc2hvbGQpOgorICAgICAgICAgICAgRmFsbGJhY2sgY2xh
c3NpZmllciBmb3Igd2hlbiB3ZSBkb24ndCBoYXZlIENvcmVQcmVkaWN0aW9uLgorICAgICAgICAq
IFBsYXRmb3JtL2NsYXNzaWZpZXIvUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXJCYXNl
Lmg6IEFkZGVkLgorICAgICAgICAoV2ViS2l0OjpSZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3Np
ZmllckJhc2U6OlJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQmFzZSk6CisgICAgICAg
IChXZWJLaXQ6OlJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQmFzZTo6flJlc291cmNl
TG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQmFzZSk6CisgICAgICAgICogUGxhdGZvcm0vY2xhc3Np
Zmllci9jb2NvYS9Db3JlUHJlZGljdGlvblNvZnRMaW5rLmg6IEFkZGVkLgorICAgICAgICAgICAg
U29mdCBsaW5rcyB0byBDb3JlUHJlZGljdGlvbiBhbmQgdGhlIHR3byBmdW5jdGlvbnMgd2UgdXNl
IGZyb20gaXQuCisgICAgICAgICogUGxhdGZvcm0vY2xhc3NpZmllci9jb2NvYS9SZXNvdXJjZUxv
YWRTdGF0aXN0aWNzQ2xhc3NpZmllckNvY29hLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJLaXQ6
OlJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyOjpjbGFzc2lmeSk6CisgICAgICAgIChX
ZWJLaXQ6OlJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyOjpzdG9yYWdlUGF0aCk6Cisg
ICAgICAgIChXZWJLaXQ6OlJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyOjpzaG91bGRV
c2VDb3JlUHJlZGljdGlvbkFuZEhhdmVNb2RlbExvYWRlZCk6CisgICAgICAgIChXZWJLaXQ6OlJl
c291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyOjpzaW5nbGV0b25QcmVkaWN0aW9uTW9kZWwp
OgorICAgICAgICAgICAgVGhlIG5ldyBjbGFzc2lmaWVyIGZvciBDb2NvYSBwbGF0Zm9ybXMuCisg
ICAgICAgICogUGxhdGZvcm0vY2xhc3NpZmllci9jb2NvYS9SZXNvdXJjZUxvYWRTdGF0aXN0aWNz
Q2xhc3NpZmllckNvY29hLmg6IEFkZGVkLgorICAgICAgICAqIFBsYXRmb3JtR1RLLmNtYWtlOgor
ICAgICAgICAgICAgQWRkZWQgUGxhdGZvcm0vY2xhc3NpZmllciBkaXJlY3RvcnkgYW5kIFJlc291
cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQmFzZS5jcHAuCisgICAgICAgICogUGxhdGZvcm1N
YWMuY21ha2U6CisgICAgICAgICAgICBBZGRlZCBQbGF0Zm9ybS9jbGFzc2lmaWVyIGFuZCBQbGF0
Zm9ybS9jbGFzc2lmaWVyL2NvY29hIGRpcmVjdG9yaWVzLCBhbmQKKyAgICAgICAgICAgIHNvdXJj
ZSBmaWxlcyBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllckJhc2UuY3BwIGFuZAorICAg
ICAgICAgICAgUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXJDb2NvYS5jcHAKKyAgICAg
ICAgKiBSZXNvdXJjZXMvUmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jb3JlUHJlZGljdGlvbl9tb2Rl
bDogQWRkZWQuCisgICAgICAgICAgICBNb2RlbCBmaWxlIHRvIGxvYWQgaW50byBDb3JlUHJlZGlj
dGlvbi4KKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0MvV0tSZXNvdXJjZUxvYWRTdGF0aXN0aWNz
TWFuYWdlci5jcHA6CisgICAgICAgIChXS1Jlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VyU2V0
U3ViZnJhbWVVbmRlclRvcEZyYW1lT3JpZ2luKToKKyAgICAgICAgKFdLUmVzb3VyY2VMb2FkU3Rh
dGlzdGljc01hbmFnZXJTZXRTdWJyZXNvdXJjZVVuZGVyVG9wRnJhbWVPcmlnaW4pOgorICAgICAg
ICAoV0tSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdlclNldFN1YnJlc291cmNlVW5pcXVlUmVk
aXJlY3RUbyk6CisgICAgICAgICAgICBUZXN0IGluZnJhc3RydWN0dXJlLgorICAgICAgICAqIFVJ
UHJvY2Vzcy9BUEkvQy9XS1Jlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VyLmg6CisgICAgICAg
ICogVUlQcm9jZXNzL1dlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VyLmNwcDoKKyAgICAg
ICAgKFdlYktpdDo6V2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFnZXI6OnNldFN1YmZyYW1l
VW5kZXJUb3BGcmFtZU9yaWdpbik6CisgICAgICAgIChXZWJLaXQ6OldlYlJlc291cmNlTG9hZFN0
YXRpc3RpY3NNYW5hZ2VyOjpzZXRTdWJyZXNvdXJjZVVuZGVyVG9wRnJhbWVPcmlnaW4pOgorICAg
ICAgICAoV2ViS2l0OjpXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdlcjo6c2V0U3VicmVz
b3VyY2VVbmlxdWVSZWRpcmVjdFRvKToKKyAgICAgICAgICAgIFRlc3QgaW5mcmFzdHJ1Y3R1cmUu
CisgICAgICAgICogVUlQcm9jZXNzL1dlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VyLmg6
CisgICAgICAgICogVUlQcm9jZXNzL1dlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZS5jcHA6
CisgICAgICAgIChXZWJLaXQ6OldlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZTo6V2ViUmVz
b3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlKToKKyAgICAgICAgICAgIFJlbmFtZWQgbV9zdG9yYWdl
UGF0aCB0byBtX3N0YXRpc3RpY3NTdG9yYWdlUGF0aCBmb3IgY2xhcml0eS4KKyAgICAgICAgKFdl
YktpdDo6V2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlOjpjbGFzc2lmeVJlc291cmNlKToK
KyAgICAgICAgICAgIE5vdyBjYWxscyB0aGUgY2xhc3NpZmllciB0aHJvdWdoIGl0cyBSZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllcgorICAgICAgICAgICAgbWVtYmVyIHZhcmlhYmxlLgor
ICAgICAgICAoV2ViS2l0OjpXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmU6OnBlcnNpc3Rl
bnRTdG9yYWdlUGF0aCk6CisgICAgICAgICAgICBSZW5hbWVkIG1fc3RvcmFnZVBhdGggdG8gbV9z
dGF0aXN0aWNzU3RvcmFnZVBhdGggZm9yIGNsYXJpdHkuCisgICAgICAgIChXZWJLaXQ6OldlYlJl
c291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZTo6d3JpdGVFbmNvZGVyVG9EaXNrKToKKyAgICAgICAg
ICAgIFJlbmFtZWQgbV9zdG9yYWdlUGF0aCB0byBtX3N0YXRpc3RpY3NTdG9yYWdlUGF0aCBmb3Ig
Y2xhcml0eS4KKyAgICAgICAgKFdlYktpdDo6V2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3Jl
OjpoYXNQcmV2YWxlbnRSZXNvdXJjZUNoYXJhY3RlcmlzdGljcyk6IERlbGV0ZWQuCisgICAgICAg
ICogVUlQcm9jZXNzL1dlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZS5oOgorICAgICAgICAq
IFdlYktpdDIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgICAgIEFkZGVkIHRo
ZSBuZXcgY2xhc3NpZmllciBzb3VyY2UgZmlsZXMgdW5kZXIgUGxhdGZvcm0vY2xhc3NpZmllciBh
bmQgdGhlCisgICAgICAgICAgICBjb3JlUHJlZGljdGlvbl9tb2RlbCBmaWxlIHVuZGVyIFJlc291
cmNlcy9SZXNvdXJjZUxvYWRTdGF0aXN0aWNzLgorCiAyMDE3LTAyLTIzICBCZXRoIERha2luICA8
YmRha2luQGFwcGxlLmNvbT4gKyBEYW4gU2F1bmRlcnMgIDxkYXNhdUBtaWNyb3NvZnQuY29tPgog
CiAgICAgICAgIE5vIHJlbGlhYmxlIHdheSB0byBnZXQgYSBzbmFwc2hvdCBvZiBXS1dlYlZpZXcK
SW5kZXg6IFNvdXJjZS9XZWJLaXQyL1BsYXRmb3JtR1RLLmNtYWtlCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJLaXQyL1BsYXRmb3JtR1RLLmNtYWtlCShyZXZpc2lvbiAyMTI4OTgpCisrKyBTb3Vy
Y2UvV2ViS2l0Mi9QbGF0Zm9ybUdUSy5jbWFrZQkod29ya2luZyBjb3B5KQpAQCAtNDYsNiArNDYs
OCBAQCBsaXN0KEFQUEVORCBXZWJLaXQyX1NPVVJDRVMKICAgICBQbGF0Zm9ybS9JUEMvdW5peC9B
dHRhY2htZW50VW5peC5jcHAKICAgICBQbGF0Zm9ybS9JUEMvdW5peC9Db25uZWN0aW9uVW5peC5j
cHAKIAorICAgIFBsYXRmb3JtL2NsYXNzaWZpZXIvUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNz
aWZpZXJCYXNlLmNwcAorCiAgICAgUGxhdGZvcm0vZ2xpYi9Nb2R1bGVHbGliLmNwcAogCiAgICAg
UGxhdGZvcm0vdW5peC9Mb2dnaW5nVW5peC5jcHAKQEAgLTg2NSw2ICs4NjcsNyBAQCBsaXN0KEFQ
UEVORCBXZWJLaXQyX0lOQ0xVREVfRElSRUNUT1JJRVMKICAgICAiJHtXRUJLSVQyX0RJUn0vTmV0
d29ya1Byb2Nlc3Mvc291cCIKICAgICAiJHtXRUJLSVQyX0RJUn0vTmV0d29ya1Byb2Nlc3MvdW5p
eCIKICAgICAiJHtXRUJLSVQyX0RJUn0vUGxhdGZvcm0vSVBDL2dsaWIiCisgICAgIiR7V0VCS0lU
Ml9ESVJ9L1BsYXRmb3JtL2NsYXNzaWZpZXIiCiAgICAgIiR7V0VCS0lUMl9ESVJ9L1NoYXJlZC9B
UEkvYy9ndGsiCiAgICAgIiR7V0VCS0lUMl9ESVJ9L1NoYXJlZC9Db29yZGluYXRlZEdyYXBoaWNz
IgogICAgICIke1dFQktJVDJfRElSfS9TaGFyZWQvQ29vcmRpbmF0ZWRHcmFwaGljcy90aHJlYWRl
ZGNvbXBvc2l0b3IiCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybU1hYy5jbWFrZQo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybU1hYy5jbWFrZQkocmV2aXNpb24gMjEy
ODk4KQorKysgU291cmNlL1dlYktpdDIvUGxhdGZvcm1NYWMuY21ha2UJKHdvcmtpbmcgY29weSkK
QEAgLTQ5LDYgKzQ5LDEwIEBAIGxpc3QoQVBQRU5EIFdlYktpdDJfU09VUkNFUwogCiAgICAgUGxh
dGZvcm0vY2cvQ0dVdGlsaXRpZXMuY3BwCiAKKyAgICBQbGF0Zm9ybS9jbGFzc2lmaWVyL1Jlc291
cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQmFzZS5jcHAKKworICAgIFBsYXRmb3JtL2NsYXNz
aWZpZXIvY29jb2EvUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXJDb2NvYS5jcHAKKwog
ICAgIFBsYXRmb3JtL2ZvdW5kYXRpb24vTG9nZ2luZ0ZvdW5kYXRpb24ubW0KIAogICAgIFBsYXRm
b3JtL2NvY29hL1NoYXJlZE1lbW9yeUNvY29hLmNwcApAQCAtMzkxLDYgKzM5NSw4IEBAIGxpc3Qo
QVBQRU5EIFdlYktpdDJfSU5DTFVERV9ESVJFQ1RPUklFUwogICAgICIke1dFQktJVDJfRElSfS9V
SVByb2Nlc3MvU2Nyb2xsaW5nIgogICAgICIke1dFQktJVDJfRElSfS9VSVByb2Nlc3MvaW9zIgog
ICAgICIke1dFQktJVDJfRElSfS9QbGF0Zm9ybS9jZyIKKyAgICAiJHtXRUJLSVQyX0RJUn0vUGxh
dGZvcm0vY2xhc3NpZmllciIKKyAgICAiJHtXRUJLSVQyX0RJUn0vUGxhdGZvcm0vY2xhc3NpZmll
ci9jb2NvYSIKICAgICAiJHtXRUJLSVQyX0RJUn0vUGxhdGZvcm0vbWFjIgogICAgICIke1dFQktJ
VDJfRElSfS9QbGF0Zm9ybS91bml4IgogICAgICIke1dFQktJVDJfRElSfS9QbGF0Zm9ybS9zcGkv
Q29jb2EiCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9Mb2dnaW5nLmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYktpdDIvUGxhdGZvcm0vTG9nZ2luZy5oCShyZXZpc2lvbiAyMTI4OTgp
CisrKyBTb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9Mb2dnaW5nLmgJKHdvcmtpbmcgY29weSkKQEAg
LTYzLDYgKzYzLDcgQEAgZXh0ZXJuICJDIiB7CiAgICAgTShQcm9jZXNzU3VzcGVuc2lvbikgXAog
ICAgIE0oUmVtb3RlTGF5ZXJUcmVlKSBcCiAgICAgTShSZXNpemUpIFwKKyAgICBNKFJlc291cmNl
TG9hZFN0YXRpc3RpY3MpIFwKICAgICBNKFNlbGVjdGlvbikgXAogICAgIE0oU2Vzc2lvblN0YXRl
KSBcCiAgICAgTShTdG9yYWdlQVBJKSBcCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9j
bGFzc2lmaWVyL1Jlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyLmgKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYktpdDIvUGxhdGZvcm0vY2xhc3NpZmllci9SZXNvdXJjZUxvYWRTdGF0aXN0
aWNzQ2xhc3NpZmllci5oCShub25leGlzdGVudCkKKysrIFNvdXJjZS9XZWJLaXQyL1BsYXRmb3Jt
L2NsYXNzaWZpZXIvUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXIuaAkod29ya2luZyBj
b3B5KQpAQCAtMCwwICsxLDUyIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwor
ICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisg
KiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICog
QkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwg
RVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpbmNs
dWRlIDx3dGYvUGxhdGZvcm0uaD4KKworI2lmIFVTRShBUFBMRV9JTlRFUk5BTF9TREspICYmIEhB
VkUoQ09SRV9QUkVESUNUSU9OKQorI2luY2x1ZGUgIlJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFz
c2lmaWVyQ29jb2EuaCIKKyNlbHNlCisKKyNpbmNsdWRlICJSZXNvdXJjZUxvYWRTdGF0aXN0aWNz
Q2xhc3NpZmllckJhc2UuaCIKKworbmFtZXNwYWNlIFdlYktpdCB7CisKK2NsYXNzIFJlc291cmNl
TG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyIDogcHVibGljIFJlc291cmNlTG9hZFN0YXRpc3RpY3ND
bGFzc2lmaWVyQmFzZSB7CitwdWJsaWM6CisgICAgUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNz
aWZpZXIoKQorICAgIDogUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXJCYXNlKCkgeyB9
CisgICAgCitwcm90ZWN0ZWQ6CisgICAgYm9vbCBjbGFzc2lmeSh1bnNpZ25lZCBhLCB1bnNpZ25l
ZCBiLCB1bnNpZ25lZCBjKSBvdmVycmlkZQorICAgIHsKKyAgICAgICAgcmV0dXJuIGNsYXNzaWZ5
V2l0aFZlY3RvclRocmVzaG9sZChhLCBiLCBjKTsKKyAgICB9Cit9OworCit9CisKKyNlbmRpZgpJ
bmRleDogU291cmNlL1dlYktpdDIvUGxhdGZvcm0vY2xhc3NpZmllci9SZXNvdXJjZUxvYWRTdGF0
aXN0aWNzQ2xhc3NpZmllckJhc2UuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1Bs
YXRmb3JtL2NsYXNzaWZpZXIvUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXJCYXNlLmNw
cAkobm9uZXhpc3RlbnQpCisrKyBTb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9jbGFzc2lmaWVyL1Jl
c291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQmFzZS5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTAsMCArMSw2MiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBt
ZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFO
WSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBO
TyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJM
RSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFS
WSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRl
ICJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllckJhc2UuaCIKKworI2luY2x1ZGUgIkxv
Z2dpbmcuaCIKKyNpbmNsdWRlIDxXZWJDb3JlL1Jlc291cmNlTG9hZFN0YXRpc3RpY3MuaD4KKwor
dXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CisKK25hbWVzcGFjZSBXZWJLaXQgeworCitzdGF0aWMg
Y29uc3QgYXV0byBmZWF0dXJlVmVjdG9yTGVuZ3RoVGhyZXNob2xkID0gMzsKK2Jvb2wgUmVzb3Vy
Y2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXJCYXNlOjpoYXNQcmV2YWxlbnRSZXNvdXJjZUNoYXJh
Y3RlcmlzdGljcyhjb25zdCBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzJiByZXNvdXJjZVN0YXRpc3Rp
YykKK3sKKyAgICBhdXRvIHN1YnJlc291cmNlVW5kZXJUb3BGcmFtZU9yaWdpbnNDb3VudCA9IHJl
c291cmNlU3RhdGlzdGljLnN1YnJlc291cmNlVW5kZXJUb3BGcmFtZU9yaWdpbnMuc2l6ZSgpOwor
ICAgIGF1dG8gc3VicmVzb3VyY2VVbmlxdWVSZWRpcmVjdHNUb0NvdW50ID0gcmVzb3VyY2VTdGF0
aXN0aWMuc3VicmVzb3VyY2VVbmlxdWVSZWRpcmVjdHNUby5zaXplKCk7CisgICAgYXV0byBzdWJm
cmFtZVVuZGVyVG9wRnJhbWVPcmlnaW5zQ291bnQgPSByZXNvdXJjZVN0YXRpc3RpYy5zdWJmcmFt
ZVVuZGVyVG9wRnJhbWVPcmlnaW5zLnNpemUoKTsKKyAgICAKKyAgICBpZiAoIXN1YnJlc291cmNl
VW5kZXJUb3BGcmFtZU9yaWdpbnNDb3VudAorICAgICAgICAmJiAhc3VicmVzb3VyY2VVbmlxdWVS
ZWRpcmVjdHNUb0NvdW50CisgICAgICAgICYmICFzdWJmcmFtZVVuZGVyVG9wRnJhbWVPcmlnaW5z
Q291bnQpCisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAKKyAgICBpZiAoc3VicmVzb3VyY2VV
bmRlclRvcEZyYW1lT3JpZ2luc0NvdW50ID4gZmVhdHVyZVZlY3Rvckxlbmd0aFRocmVzaG9sZAor
ICAgICAgICB8fCBzdWJyZXNvdXJjZVVuaXF1ZVJlZGlyZWN0c1RvQ291bnQgPiBmZWF0dXJlVmVj
dG9yTGVuZ3RoVGhyZXNob2xkCisgICAgICAgIHx8IHN1YmZyYW1lVW5kZXJUb3BGcmFtZU9yaWdp
bnNDb3VudCA+IGZlYXR1cmVWZWN0b3JMZW5ndGhUaHJlc2hvbGQpCisgICAgICAgIHJldHVybiB0
cnVlOworCisgICAgcmV0dXJuIGNsYXNzaWZ5KHN1YnJlc291cmNlVW5kZXJUb3BGcmFtZU9yaWdp
bnNDb3VudCwgc3VicmVzb3VyY2VVbmlxdWVSZWRpcmVjdHNUb0NvdW50LCBzdWJmcmFtZVVuZGVy
VG9wRnJhbWVPcmlnaW5zQ291bnQpOworfQorCitib29sIFJlc291cmNlTG9hZFN0YXRpc3RpY3ND
bGFzc2lmaWVyQmFzZTo6Y2xhc3NpZnlXaXRoVmVjdG9yVGhyZXNob2xkKHVuc2lnbmVkIGEsIHVu
c2lnbmVkIGIsIHVuc2lnbmVkIGMpCit7CisgICAgTE9HKFJlc291cmNlTG9hZFN0YXRpc3RpY3Ms
ICJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllckJhc2U6OmNsYXNzaWZ5V2l0aFZlY3Rv
clRocmVzaG9sZCgpOiBDbGFzc2lmaWVkIHdpdGggdGhyZXNob2xkLiIpOworICAgIHJldHVybiBz
cXJ0KGEgKiBhICsgYiAqIGIgKyBjICogYykgPiBmZWF0dXJlVmVjdG9yTGVuZ3RoVGhyZXNob2xk
OworfQorICAgIAorfQpJbmRleDogU291cmNlL1dlYktpdDIvUGxhdGZvcm0vY2xhc3NpZmllci9S
ZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllckJhc2UuaAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViS2l0Mi9QbGF0Zm9ybS9jbGFzc2lmaWVyL1Jlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFz
c2lmaWVyQmFzZS5oCShub25leGlzdGVudCkKKysrIFNvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL2Ns
YXNzaWZpZXIvUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXJCYXNlLmgJKHdvcmtpbmcg
Y29weSkKQEAgLTAsMCArMSw0NCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMK
KyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwor
ICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAq
IEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUws
IEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCituYW1l
c3BhY2UgV2ViQ29yZSB7CitzdHJ1Y3QgUmVzb3VyY2VMb2FkU3RhdGlzdGljczsKK30KKworbmFt
ZXNwYWNlIFdlYktpdCB7CisKK2NsYXNzIFJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVy
QmFzZSB7CitwdWJsaWM6CisgICAgYm9vbCBoYXNQcmV2YWxlbnRSZXNvdXJjZUNoYXJhY3Rlcmlz
dGljcyhjb25zdCBXZWJDb3JlOjpSZXNvdXJjZUxvYWRTdGF0aXN0aWNzJiByZXNvdXJjZVN0YXRp
c3RpYyk7Citwcm90ZWN0ZWQ6CisgICAgUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXJC
YXNlKCkgeyB9CisgICAgdmlydHVhbCB+UmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXJC
YXNlKCkgeyB9CisgICAgdmlydHVhbCBib29sIGNsYXNzaWZ5KHVuc2lnbmVkLCB1bnNpZ25lZCwg
dW5zaWduZWQpID0gMDsKKyAgICBib29sIGNsYXNzaWZ5V2l0aFZlY3RvclRocmVzaG9sZCh1bnNp
Z25lZCwgdW5zaWduZWQsIHVuc2lnbmVkKTsKK307CisKK30KSW5kZXg6IFNvdXJjZS9XZWJLaXQy
L1BsYXRmb3JtL2NsYXNzaWZpZXIvY29jb2EvQ29yZVByZWRpY3Rpb25Tb2Z0TGluay5oCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL2NsYXNzaWZpZXIvY29jb2EvQ29yZVBy
ZWRpY3Rpb25Tb2Z0TGluay5oCShub25leGlzdGVudCkKKysrIFNvdXJjZS9XZWJLaXQyL1BsYXRm
b3JtL2NsYXNzaWZpZXIvY29jb2EvQ29yZVByZWRpY3Rpb25Tb2Z0TGluay5oCSh3b3JraW5nIGNv
cHkpCkBAIC0wLDAgKzEsMzMgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisg
KiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAq
IEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1F
RC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBC
RSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBF
WEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2luY2x1
ZGUgPENvcmVQcmVkaWN0aW9uL3N2bS5oPgorI2luY2x1ZGUgPFdlYkNvcmUvU29mdExpbmtpbmcu
aD4KKworU09GVF9MSU5LX1BSSVZBVEVfRlJBTUVXT1JLX09QVElPTkFMKENvcmVQcmVkaWN0aW9u
KQorU09GVF9MSU5LKENvcmVQcmVkaWN0aW9uLCBzdm1fcHJlZGljdF92YWx1ZXMsIGRvdWJsZSwg
KGNvbnN0IHN0cnVjdCBzdm1fbW9kZWwgKm1vZGVsLCBjb25zdCBzdHJ1Y3Qgc3ZtX25vZGUgKngs
IGRvdWJsZSogZGVjX3ZhbHVlcyksIChtb2RlbCwgeCwgZGVjX3ZhbHVlcykpCitTT0ZUX0xJTkso
Q29yZVByZWRpY3Rpb24sIHN2bV9sb2FkX21vZGVsLCBzdm1fbW9kZWwqLCAoY29uc3QgY2hhciAq
bW9kZWxfZmlsZV9uYW1lKSwgKG1vZGVsX2ZpbGVfbmFtZSkpCkluZGV4OiBTb3VyY2UvV2ViS2l0
Mi9QbGF0Zm9ybS9jbGFzc2lmaWVyL2NvY29hL1Jlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lm
aWVyQ29jb2EuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL2NsYXNz
aWZpZXIvY29jb2EvUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXJDb2NvYS5jcHAJKG5v
bmV4aXN0ZW50KQorKysgU291cmNlL1dlYktpdDIvUGxhdGZvcm0vY2xhc3NpZmllci9jb2NvYS9S
ZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllckNvY29hLmNwcAkod29ya2luZyBjb3B5KQpA
QCAtMCwwICsxLDEyNiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFy
ZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5E
IEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJ
TiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJ
QUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1Q
TEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT
OyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNs
dWRlICJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllckNvY29hLmgiCisKKyNpbmNsdWRl
ICJMb2dnaW5nLmgiCisjaW5jbHVkZSA8d3RmL05ldmVyRGVzdHJveWVkLmg+CisjaW5jbHVkZSAi
Q29yZVByZWRpY3Rpb25Tb2Z0TGluay5oIgorCituYW1lc3BhY2UgV2ViS2l0IHsKKworYm9vbCBS
ZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllcjo6Y2xhc3NpZnkodW5zaWduZWQgc3VicmVz
b3VyY2VVbmRlclRvcEZyYW1lT3JpZ2luc0NvdW50LCB1bnNpZ25lZCBzdWJyZXNvdXJjZVVuaXF1
ZVJlZGlyZWN0c1RvQ291bnQsIHVuc2lnbmVkIHN1YmZyYW1lVW5kZXJUb3BGcmFtZU9yaWdpbnND
b3VudCkKK3sKKyAgICBpZiAoIXNob3VsZFVzZUNvcmVQcmVkaWN0aW9uQW5kSGF2ZU1vZGVsTG9h
ZGVkKCkpCisgICAgICAgIHJldHVybiBjbGFzc2lmeVdpdGhWZWN0b3JUaHJlc2hvbGQoc3VicmVz
b3VyY2VVbmRlclRvcEZyYW1lT3JpZ2luc0NvdW50LCBzdWJyZXNvdXJjZVVuaXF1ZVJlZGlyZWN0
c1RvQ291bnQsIHN1YmZyYW1lVW5kZXJUb3BGcmFtZU9yaWdpbnNDb3VudCk7CisKKyAgICBWZWN0
b3I8dW5zaWduZWQ+IG5vblplcm9GZWF0dXJlczsKKyAgICBWZWN0b3I8dW5zaWduZWQ+IGluZGlj
ZXM7CisKKyAgICBpZiAoc3VicmVzb3VyY2VVbmRlclRvcEZyYW1lT3JpZ2luc0NvdW50KSB7Cisg
ICAgICAgIG5vblplcm9GZWF0dXJlcy5hcHBlbmQoc3VicmVzb3VyY2VVbmRlclRvcEZyYW1lT3Jp
Z2luc0NvdW50KTsKKyAgICAgICAgaW5kaWNlcy5hcHBlbmQoMSk7CisgICAgfQorICAgIGlmIChz
dWJyZXNvdXJjZVVuaXF1ZVJlZGlyZWN0c1RvQ291bnQpIHsKKyAgICAgICAgbm9uWmVyb0ZlYXR1
cmVzLmFwcGVuZChzdWJyZXNvdXJjZVVuaXF1ZVJlZGlyZWN0c1RvQ291bnQpOworICAgICAgICBp
bmRpY2VzLmFwcGVuZCgyKTsKKyAgICB9CisgICAgaWYgKHN1YmZyYW1lVW5kZXJUb3BGcmFtZU9y
aWdpbnNDb3VudCkgeworICAgICAgICBub25aZXJvRmVhdHVyZXMuYXBwZW5kKHN1YmZyYW1lVW5k
ZXJUb3BGcmFtZU9yaWdpbnNDb3VudCk7CisgICAgICAgIGluZGljZXMuYXBwZW5kKDMpOworICAg
IH0KKworICAgIFZlY3Rvcjxzdm1fbm9kZT4gZXhhbXBsZVZlY3Rvcihub25aZXJvRmVhdHVyZXMu
c2l6ZSgpICsgMSk7CisgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBub25aZXJvRmVhdHVyZXMu
c2l6ZSgpOyBpKyspIHsKKyAgICAgICAgZXhhbXBsZVZlY3Rvci5hdChpKS5pbmRleCA9IGluZGlj
ZXMuYXQoaSk7CisgICAgICAgIGV4YW1wbGVWZWN0b3IuYXQoaSkudmFsdWUgPSBub25aZXJvRmVh
dHVyZXMuYXQoaSk7CisgICAgfQorCisgICAgLy8gQWRkIHRlcm1pbmF0aW9uIG5vZGUgd2l0aCBp
bmRleCAtMS4KKyAgICBleGFtcGxlVmVjdG9yLmF0KG5vblplcm9GZWF0dXJlcy5zaXplKCkpLmlu
ZGV4ID0gLTE7CisgICAgZXhhbXBsZVZlY3Rvci5hdChub25aZXJvRmVhdHVyZXMuc2l6ZSgpKS52
YWx1ZSA9IC0xOworCisgICAgZG91YmxlIHNjb3JlOworICAgIGludCBjbGFzc2lmaWNhdGlvbiA9
IHN2bV9wcmVkaWN0X3ZhbHVlcyhzaW5nbGV0b25QcmVkaWN0aW9uTW9kZWwoKSwgZXhhbXBsZVZl
Y3Rvci5kYXRhKCksICZzY29yZSk7CisgICAgTE9HKFJlc291cmNlTG9hZFN0YXRpc3RpY3MsICJS
ZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllcjo6Y2xhc3NpZnkoKTogQ2xhc3NpZmllZCB3
aXRoIENvcmVQcmVkaWN0aW9uLiIpOworICAgIHJldHVybiBjbGFzc2lmaWNhdGlvbiA8IDA7Cit9
CisKK1N0cmluZyBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllcjo6c3RvcmFnZVBhdGgo
KQoreworICAgIENGQnVuZGxlUmVmIHdlYktpdEJ1bmRsZSA9IENGQnVuZGxlR2V0QnVuZGxlV2l0
aElkZW50aWZpZXIoQ0ZTVFIoImNvbS5hcHBsZS5XZWJLaXQiKSk7CisgICAgUmV0YWluUHRyPENG
VVJMUmVmPiByZXNvdXJjZVVybCA9IGFkb3B0Q0YoQ0ZCdW5kbGVDb3B5UmVzb3VyY2VzRGlyZWN0
b3J5VVJMKHdlYktpdEJ1bmRsZSkpOworICAgIHJlc291cmNlVXJsID0gYWRvcHRDRihDRlVSTENy
ZWF0ZUNvcHlBcHBlbmRpbmdQYXRoQ29tcG9uZW50KG51bGxwdHIsIHJlc291cmNlVXJsLmdldCgp
LCBDRlNUUigiY29yZVByZWRpY3Rpb25fbW9kZWwiKSwgZmFsc2UpKTsKKyAgICBDRkVycm9yUmVm
IGVycm9yID0gbnVsbHB0cjsKKyAgICByZXNvdXJjZVVybCA9IGFkb3B0Q0YoQ0ZVUkxDcmVhdGVG
aWxlUGF0aFVSTChudWxscHRyLCByZXNvdXJjZVVybC5nZXQoKSwgJmVycm9yKSk7CisKKyAgICBp
ZiAoZXJyb3IgfHwgIXJlc291cmNlVXJsKQorICAgICAgICByZXR1cm4gU3RyaW5nKCk7CisKKyAg
ICBSZXRhaW5QdHI8Q0ZTdHJpbmdSZWY+IHJlc291cmNlVXJsU3RyaW5nID0gYWRvcHRDRihDRlVS
TENvcHlGaWxlU3lzdGVtUGF0aChyZXNvdXJjZVVybC5nZXQoKSwga0NGVVJMUE9TSVhQYXRoU3R5
bGUpKTsKKyAgICByZXR1cm4gU3RyaW5nKHJlc291cmNlVXJsU3RyaW5nLmdldCgpKTsKK30KKwor
Ym9vbCBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllcjo6c2hvdWxkVXNlQ29yZVByZWRp
Y3Rpb25BbmRIYXZlTW9kZWxMb2FkZWQoKQoreworICAgIGlmIChtX2hhdmVMb2FkZWRNb2RlbCkK
KyAgICAgICAgcmV0dXJuIHRydWU7CisKKyAgICBpZiAoIW1fdXNlQ29yZVByZWRpY3Rpb24pCisg
ICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIGlmICghQ29yZVByZWRpY3Rpb25MaWJyYXJ5KCkp
IHsKKyAgICAgICAgbV91c2VDb3JlUHJlZGljdGlvbiA9IGZhbHNlOworICAgICAgICByZXR1cm4g
ZmFsc2U7CisgICAgfQorCisgICAgU3RyaW5nIHN0b3JhZ2VQYXRoU3RyID0gc3RvcmFnZVBhdGgo
KTsKKyAgICBpZiAoc3RvcmFnZVBhdGhTdHIuaXNOdWxsKCkgfHwgc3RvcmFnZVBhdGhTdHIuaXNF
bXB0eSgpKSB7CisgICAgICAgIG1fdXNlQ29yZVByZWRpY3Rpb24gPSBmYWxzZTsKKyAgICAgICAg
cmV0dXJuIGZhbHNlOworICAgIH0KKworICAgIGlmIChzaW5nbGV0b25QcmVkaWN0aW9uTW9kZWwo
KSkgeworICAgICAgICBtX2hhdmVMb2FkZWRNb2RlbCA9IHRydWU7CisgICAgICAgIHJldHVybiB0
cnVlOworICAgIH0KKworICAgIG1fdXNlQ29yZVByZWRpY3Rpb24gPSBmYWxzZTsKKyAgICByZXR1
cm4gZmFsc2U7Cit9CisKK3N0cnVjdCBzdm1fbW9kZWwqIFJlc291cmNlTG9hZFN0YXRpc3RpY3ND
bGFzc2lmaWVyOjpzaW5nbGV0b25QcmVkaWN0aW9uTW9kZWwoKQoreworICAgIHN0YXRpYyBOZXZl
ckRlc3Ryb3llZDxzdHJ1Y3Qgc3ZtX21vZGVsKj4gY29yZVByZWRpY3Rpb25Nb2RlbCA9IHN2bV9s
b2FkX21vZGVsKHN0b3JhZ2VQYXRoKCkudXRmOCgpLmRhdGEoKSk7CisKKyAgICBpZiAoY29yZVBy
ZWRpY3Rpb25Nb2RlbCkKKyAgICAgICAgcmV0dXJuIGNvcmVQcmVkaWN0aW9uTW9kZWw7CisKKyAg
ICBXVEZMb2dBbHdheXMoIlJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyOjpzaW5nbGV0
b25QcmVkaWN0aW9uTW9kZWwoKTogQ291bGRuJ3QgbG9hZCBtb2RlbCBmaWxlIGF0IHBhdGggJXMu
Iiwgc3RvcmFnZVBhdGgoKS51dGY4KCkuZGF0YSgpKTsKKyAgICBtX3VzZUNvcmVQcmVkaWN0aW9u
ID0gZmFsc2U7CisgICAgcmV0dXJuIG51bGxwdHI7Cit9Cit9CkluZGV4OiBTb3VyY2UvV2ViS2l0
Mi9QbGF0Zm9ybS9jbGFzc2lmaWVyL2NvY29hL1Jlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lm
aWVyQ29jb2EuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9jbGFzc2lm
aWVyL2NvY29hL1Jlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQ29jb2EuaAkobm9uZXhp
c3RlbnQpCisrKyBTb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9jbGFzc2lmaWVyL2NvY29hL1Jlc291
cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQ29jb2EuaAkod29ya2luZyBjb3B5KQpAQCAtMCww
ICsxLDQ3IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoK
KyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBP
UgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4K
KyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0Ug
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpbmNsdWRlICJSZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllckJhc2UuaCIKKyNpbmNsdWRlIDxDb3JlRm91bmRhdGlv
bi9Db3JlRm91bmRhdGlvbi5oPgorI2luY2x1ZGUgPENvcmVQcmVkaWN0aW9uL3N2bS5oPgorI2lu
Y2x1ZGUgPHd0Zi9QbGF0Zm9ybS5oPgorI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgor
CituYW1lc3BhY2UgV2ViS2l0IHsKKworY2xhc3MgUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNz
aWZpZXIgOiBwdWJsaWMgUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXJCYXNlIHsKKwor
cHJpdmF0ZToKKyAgICBib29sIGNsYXNzaWZ5KHVuc2lnbmVkLCB1bnNpZ25lZCwgdW5zaWduZWQp
IG92ZXJyaWRlOworICAgIFN0cmluZyBzdG9yYWdlUGF0aCgpOworICAgIGJvb2wgc2hvdWxkVXNl
Q29yZVByZWRpY3Rpb25BbmRIYXZlTW9kZWxMb2FkZWQoKTsKKyAgICBzdHJ1Y3Qgc3ZtX21vZGVs
KiBzaW5nbGV0b25QcmVkaWN0aW9uTW9kZWwoKTsKKyAgICBib29sIG1fdXNlQ29yZVByZWRpY3Rp
b24geyB0cnVlIH07CisgICAgYm9vbCBtX2hhdmVMb2FkZWRNb2RlbCB7IGZhbHNlIH07Cit9Owor
ICAgIAorfQpJbmRleDogU291cmNlL1dlYktpdDIvUmVzb3VyY2VzL1Jlc291cmNlTG9hZFN0YXRp
c3RpY3MvY29yZVByZWRpY3Rpb25fbW9kZWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIv
UmVzb3VyY2VzL1Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY29yZVByZWRpY3Rpb25fbW9kZWwJKG5v
bmV4aXN0ZW50KQorKysgU291cmNlL1dlYktpdDIvUmVzb3VyY2VzL1Jlc291cmNlTG9hZFN0YXRp
c3RpY3MvY29yZVByZWRpY3Rpb25fbW9kZWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw2Nzgg
QEAKK3N2bV90eXBlIGNfc3ZjCitrZXJuZWxfdHlwZSByYmYKK2dhbW1hIDAuMQorbnJfY2xhc3Mg
MgordG90YWxfc3YgMzMwCityaG8gMC4yODc5NDU2NDIyNjEKK2xhYmVsIC0xIDEKK25yX3N2IDMw
MCAzMAorU1YKKy0wLjA1NDY2OTcwMzg3MjQgMToxNC4wIDI6My4wIDM6Ny4wIAorLTAuMDU0NjY5
NzAzODcyNCAxOjEuMCAyOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAgCistMC4wNTQ2Njk3
MDM4NzI0IDE6MS4wIDM6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEyLjAgCistMC4wNTQ2Njk3
MDM4NzI0IDE6Ny4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAyOjEuMCAKKy0wLjA1NDY2OTcw
Mzg3MjQgMToxLjAgMzoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6My4wIDI6MTYuMCAKKy0wLjA1
NDY2OTcwMzg3MjQgMToxLjAgMzoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDI6Mi4wIAor
LTAuMDU0NjY5NzAzODcyNCAxOjEuMCAzOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAgCist
MC4wNTQ2Njk3MDM4NzI0IDE6My4wIDI6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjUuMCAKKy0w
LjA1NDY2OTcwMzg3MjQgMToxNi4wIDI6Mi4wIDM6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEu
MCAyOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxMS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjQu
MCAzOjMuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyOC4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIu
MCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMzoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4w
IDM6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIyLjAgMjoxLjAgMzoxMi4wIAorLTAuMDU0NjY5
NzAzODcyNCAxOjE0LjAgMzo1LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDM6MS4wIAorLTAu
MDU0NjY5NzAzODcyNCAxOjQ4LjAgMjoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MjUuMCAzOjE2
LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDI6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEu
MCAzOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo2LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Ny4w
IAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAyOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAg
MzoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6My4wIDM6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAx
OjcuMCAyOjEuMCAzOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAgCistMC4wNTQ2Njk3MDM4
NzI0IDE6Ny4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjUuMCAyOjIuMCAzOjMuMCAKKy0wLjA1NDY2
OTcwMzg3MjQgMToyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDI6MS4wIAorLTAuMDU0NjY5
NzAzODcyNCAxOjQuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMjoxLjAgCistMC4wNTQ2Njk3
MDM4NzI0IDE6MS4wIDM6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjkuMCAzOjQuMCAKKy0wLjA1
NDY2OTcwMzg3MjQgMToxLjAgMjoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDM6MS4wIAor
LTAuMDU0NjY5NzAzODcyNCAxOjQ3LjAgMjoyMS4wIDM6MzMuMCAKKy0wLjA1NDY2OTcwMzg3MjQg
MToxMS4wIDI6Mi4wIDM6NS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjExLjAgMjozLjAgMzoxLjAg
CistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDM6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAy
OjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo0My4wIDM6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAx
OjEzLjAgMzo3LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDM6MS4wIAorLTAuMDU0NjY5NzAz
ODcyNCAxOjQuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxMy4wIDM6NC4wIAorLTAuMDU0NjY5NzAz
ODcyNCAxOjQyLjAgMjo0LjAgMzozMi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEwLjAgMjo1LjAg
MzoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Ny4wIDM6NC4wIAorLTAuMDU0NjY5NzAzODcyNCAx
OjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMzoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6
MS4wIDM6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjYuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTox
LjAgMjoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Ni4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjE2
LjAgMjo0LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MTAuMCAyOjEuMCAzOjIuMCAKKy0wLjA1NDY2
OTcwMzg3MjQgMToxOC4wIDI6My4wIDM6Ni4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAzOjEu
MCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMjoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4w
IAorLTAuMDU0NjY5NzAzODcyNCAxOjMuMCAyOjEuMCAzOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQg
MToxLjAgMjoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6My4wIAorLTAuMDU0NjY5NzAzODcyNCAx
OjMuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo0LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIAor
LTAuMDU0NjY5NzAzODcyNCAxOjIuMCAzOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAgCist
MC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDM6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIxLjAgCist
MC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAyOjIuMCAKKy0w
LjA1NDY2OTcwMzg3MjQgMToxNC4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAyOjEuMCAKKy0w
LjA1NDY2OTcwMzg3MjQgMToyLjAgMzoyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6NC4wIDM6My4w
IAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAzOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTozLjAg
CistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAyOjEuMCAK
Ky0wLjA1NDY2OTcwMzg3MjQgMTo0LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MzkuMCAzOjQuMCAK
Ky0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIDI6MS4wIDM6
MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjQuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAgMjox
LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6NC4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAyOjEu
MCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMjoyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4w
IAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAyOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAg
CistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1
NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6My4wIAorLTAuMDU0NjY5NzAz
ODcyNCAxOjEuMCAyOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4
NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTox
LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAzOjEu
MCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAu
MDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3
MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQg
MToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAK
Ky0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MTYuMCAyOjEuMCAz
OjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAor
LTAuMDU0NjY5NzAzODcyNCAxOjEuMCAyOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCist
MC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjMuMCAyOjEuMCAKKy0w
LjA1NDY2OTcwMzg3MjQgMToxLjAgMzoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAu
MDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3
MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQg
MToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MjAuMCAzOjMuMCAKKy0wLjA1NDY2OTcwMzg3MjQg
MToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAK
Ky0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0
NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4
NzI0IDE6MS4wIDM6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3
MjQgMToxLjAgMzoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcy
NCAxOjguMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo3LjAgMjoxLjAgMzoyLjAgCistMC4wNTQ2Njk3
MDM4NzI0IDE6OC4wIDI6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAyOjEuMCAKKy0wLjA1
NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAz
ODcyNCAxOjEuMCAyOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4
NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTox
LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAKKy0w
LjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MTIuMCAzOjcuMCAKKy0w
LjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6OS4wIAorLTAuMDU0NjY5
NzAzODcyNCAxOjcuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0
IDE6MS4wIDI6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAzOjEuMCAKKy0wLjA1NDY2OTcw
Mzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6OC4wIDI6Mi4wIAorLTAuMDU0NjY5NzAz
ODcyNCAxOjE3LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIDI6MS4wIAorLTAuMDU0NjY5NzAz
ODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6
MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo0LjAgCist
MC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2
OTcwMzg3MjQgMToxMy4wIDI6NC4wIDM6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAzOjEu
MCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAgMzoyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4w
IAorLTAuMDU0NjY5NzAzODcyNCAxOjE2LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6My4wIAorLTAu
MDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3
MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQg
MToyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAK
Ky0wLjA1NDY2OTcwMzg3MjQgMToyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0
NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4
NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToz
LjAgMzozLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIu
MCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxMS4wIDM6MTEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTox
LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0w
LjA1NDY2OTcwMzg3MjQgMToyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5
NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0
IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAg
CistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1
NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MTUuMCAKKy0wLjA1NDY2OTcw
Mzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAx
OjIwLjAgMjoxMi4wIDM6My4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcw
Mzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAx
OjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo3LjAgMzoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6
MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAzOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTox
LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAzOjEu
MCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6My4wIDM6Mi4w
IAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4w
NTQ2Njk3MDM4NzI0IDE6OS4wIDI6My4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAzOjEuMCAK
Ky0wLjA1NDY2OTcwMzg3MjQgMTo2LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6NC4wIAorLTAuMDU0
NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo3LjAgMjoyLjAgCistMC4wNTQ2
Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAzOjEuMCAKKy0wLjA1NDY2
OTcwMzg3MjQgMToyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIAorLTAuMDU0NjY5NzAzODcy
NCAxOjkuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4w
IAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4w
NTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcw
Mzg3MjQgMToxNC4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEyLjAgMzo2LjAgCistMC4wNTQ2Njk3
MDM4NzI0IDE6My4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjQuMCAyOjEuMCAzOjEuMCAKKy0wLjA1
NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAz
ODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6
OS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjkuMCAyOjEuMCAzOjQuMCAKKy0wLjA1NDY2OTcwMzg3
MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjku
MCAyOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTozLjAgMjozLjAgCistMC4wNTQ2Njk3MDM4NzI0
IDE6Mi4wIDI6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAyOjEuMCAzOjEuMCAKKy0wLjA1
NDY2OTcwMzg3MjQgMTo4LjAgMjoxLjAgMzozLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAor
LTAuMDU0NjY5NzAzODcyNCAxOjIuMCAyOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo5LjAgMjox
LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0w
LjA1NDY2OTcwMzg3MjQgMToyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5
NzAzODcyNCAxOjM2LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcy
NCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4w
IAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAgCistMC4w
NTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcw
Mzg3MjQgMTo2LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDM6MS4wIAorLTAuMDU0NjY5NzAz
ODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6
MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAgCist
MC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAKKy0wLjA1NDY2
OTcwMzg3MjQgMTo0LjAgMzoyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MTMuMCAzOjQuMCAKKy0w
LjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNDAyMDc1MTc4OTQyIDE6MS4wIAorMC41ODUzNjU4
NTM2NTkgMToxLjAgCiswLjQ3OTI3NjEzOTAwMSAxOjYuMCAyOjMuMCAKKzAuNTg1MzY1ODUzNjU5
IDE6Mi4wIAorMC41ODUzNjU4NTM2NTkgMToxLjAgCiswLjU4NTM2NTg1MzY1OSAxOjMuMCAzOjMu
MCAKKzAuNTg1MzY1ODUzNjU5IDE6NDIuMCAyOjIuMCAzOjI4LjAgCiswLjU4NTM2NTg1MzY1OSAx
OjIuMCAKKzAuNTg1MzY1ODUzNjU5IDE6MTIuMCAKKzAuNDc5MjgzMDQ2NTc4IDE6Ny4wIAorMC4z
MDAzOTc4NzM0NzYgMTozLjAgMzoxLjAgCiswLjA1NDMxNzMzMDY0NDIgMTo2LjAgMzoyLjAgCisw
LjU2MzQ2NTEyNjI5OSAxOjExLjAgCiswLjU4NTM2NTg1MzY1OSAxOjIuMCAKKzAuNTg1MzY1ODUz
NjU5IDE6MTAuMCAyOjMuMCAzOjYuMCAKKzAuNTg1MzY1ODUzNjU5IDE6MS4wIDI6MS4wIAorMC41
ODUzNjU4NTM2NTkgMToyLjAgCiswLjU4NTM2NTg1MzY1OSAxOjEuMCAyOjEuMCAKKzAuNTg1MzY1
ODUzNjU5IDE6My4wIDM6MS4wIAorMC41ODUzNjU4NTM2NTkgMToxLjAgCiswLjU4NTM2NTg1MzY1
OSAxOjIuMCAKKzAuNTg1MzY1ODUzNjU5IDE6MS4wIDI6MS4wIAorMC41ODQ5ODk3MTk5MDkgMTo3
LjAgCiswLjU4NTM2NTg1MzY1OSAxOjMuMCAKKzAuNTg1MzY1ODUzNjU5IDE6My4wIAorMC41MjU5
MjUxMzY5ODMgMTozLjAgMjoyLjAgCiswLjU4NTM2NTg1MzY1OSAxOjEuMCAKKzAuNTg1MzY1ODUz
NjU5IDE6MS4wIAorMC41ODUzNjU4NTM2NTkgMTozLjAgMzoxLjAgCiswLjU4NTM2NTg1MzY1OSAx
OjEuMCAKKzAuNTIwNzQ1ODIyMzc0IDE6My4wIAorc3ZtX3R5cGUgY19zdmMKK2tlcm5lbF90eXBl
IHJiZgorZ2FtbWEgMC4xCitucl9jbGFzcyAyCit0b3RhbF9zdiAzMzAKK3JobyAwLjI4Nzk0NTY0
MjI2MQorbGFiZWwgLTEgMQorbnJfc3YgMzAwIDMwCitTVgorLTAuMDU0NjY5NzAzODcyNCAxOjE0
LjAgMjozLjAgMzo3LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDI6MS4wIAorLTAuMDU0NjY5
NzAzODcyNCAxOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMzoxLjAgCistMC4wNTQ2Njk3
MDM4NzI0IDE6MTIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo3LjAgCistMC4wNTQ2Njk3MDM4NzI0
IDE6Mi4wIDI6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAzOjEuMCAKKy0wLjA1NDY2OTcw
Mzg3MjQgMTozLjAgMjoxNi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAzOjEuMCAKKy0wLjA1
NDY2OTcwMzg3MjQgMToxLjAgMjoyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDM6MS4wIAor
LTAuMDU0NjY5NzAzODcyNCAxOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTozLjAgMjoxLjAgCist
MC4wNTQ2Njk3MDM4NzI0IDE6NS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjE2LjAgMjoyLjAgMzoy
LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDI6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEx
LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6NC4wIDM6My4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjI4
LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAzOjEu
MCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMzoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MjIu
MCAyOjEuMCAzOjEyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MTQuMCAzOjUuMCAKKy0wLjA1NDY2
OTcwMzg3MjQgMToxLjAgMzoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6NDguMCAyOjEuMCAKKy0w
LjA1NDY2OTcwMzg3MjQgMToyNS4wIDM6MTYuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMjox
LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDM6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjYu
MCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo3LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDI6MS4w
IAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAzOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTozLjAg
MzoyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Ny4wIDI6MS4wIDM6MS4wIAorLTAuMDU0NjY5NzAz
ODcyNCAxOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo3LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6
NS4wIDI6Mi4wIDM6My4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAKKy0wLjA1NDY2OTcwMzg3
MjQgMToxLjAgMjoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6NC4wIAorLTAuMDU0NjY5NzAzODcy
NCAxOjEuMCAyOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMzoxLjAgCistMC4wNTQ2Njk3
MDM4NzI0IDE6OS4wIDM6NC4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAyOjEuMCAKKy0wLjA1
NDY2OTcwMzg3MjQgMToxLjAgMzoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6NDcuMCAyOjIxLjAg
MzozMy4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjExLjAgMjoyLjAgMzo1LjAgCistMC4wNTQ2Njk3
MDM4NzI0IDE6MTEuMCAyOjMuMCAzOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMzoxLjAg
CistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIDI6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjQzLjAg
MzoyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MTMuMCAzOjcuMCAKKy0wLjA1NDY2OTcwMzg3MjQg
MToxLjAgMzoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6NC4wIAorLTAuMDU0NjY5NzAzODcyNCAx
OjEzLjAgMzo0LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6NDIuMCAyOjQuMCAzOjMyLjAgCistMC4w
NTQ2Njk3MDM4NzI0IDE6MTAuMCAyOjUuMCAzOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo3LjAg
Mzo0LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAz
OjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMzoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6
Ni4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAyOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo2
LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MTYuMCAyOjQuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTox
MC4wIDI6MS4wIDM6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjE4LjAgMjozLjAgMzo2LjAgCist
MC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDM6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAyOjEu
MCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6My4wIDI6MS4w
IDM6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAyOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQg
MTozLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6My4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjQuMCAK
Ky0wLjA1NDY2OTcwMzg3MjQgMToyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIDM6Mi4wIAor
LTAuMDU0NjY5NzAzODcyNCAxOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMzoxLjAgCist
MC4wNTQ2Njk3MDM4NzI0IDE6MjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAgCistMC4wNTQ2
Njk3MDM4NzI0IDE6Mi4wIDI6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjE0LjAgCistMC4wNTQ2
Njk3MDM4NzI0IDE6Mi4wIDI6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAzOjIuMCAKKy0w
LjA1NDY2OTcwMzg3MjQgMTo0LjAgMzozLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIDM6MS4w
IAorLTAuMDU0NjY5NzAzODcyNCAxOjMuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAgCistMC4w
NTQ2Njk3MDM4NzI0IDE6MS4wIDI6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjQuMCAKKy0wLjA1
NDY2OTcwMzg3MjQgMTozOS4wIDM6NC4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1
NDY2OTcwMzg3MjQgMToyLjAgMjoxLjAgMzoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6NC4wIAor
LTAuMDU0NjY5NzAzODcyNCAxOjIuMCAyOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo0LjAgCist
MC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDI6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAyOjIu
MCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIDI6MS4w
IAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4w
NTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcw
Mzg3MjQgMTozLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDI6MS4wIAorLTAuMDU0NjY5NzAz
ODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6
MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCist
MC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDM6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0w
LjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5
NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0
IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAg
CistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1
NDY2OTcwMzg3MjQgMToxNi4wIDI6MS4wIDM6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAK
Ky0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDI6MS4wIAor
LTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2
Njk3MDM4NzI0IDE6My4wIDI6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAzOjEuMCAKKy0w
LjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5
NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0
IDE6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyMC4w
IDM6My4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAg
CistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1
NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAz
ODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMzoxLjAgCistMC4wNTQ2Njk3MDM4
NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAzOjEuMCAKKy0wLjA1NDY2OTcwMzg3
MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6OC4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjcu
MCAyOjEuMCAzOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo4LjAgMjoyLjAgCistMC4wNTQ2Njk3
MDM4NzI0IDE6MS4wIDI6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcw
Mzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDI6MS4wIAorLTAuMDU0NjY5NzAz
ODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6
MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCist
MC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2
OTcwMzg3MjQgMToxMi4wIDM6Ny4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2
OTcwMzg3MjQgMTo5LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Ny4wIAorLTAuMDU0NjY5NzAzODcy
NCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMjoxLjAgCistMC4wNTQ2Njk3MDM4NzI0
IDE6MS4wIDM6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQg
MTo4LjAgMjoyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MTcuMCAKKy0wLjA1NDY2OTcwMzg3MjQg
MToyLjAgMjoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAx
OjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAor
LTAuMDU0NjY5NzAzODcyNCAxOjQuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2
Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEzLjAgMjo0LjAgMzoyLjAgCist
MC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDM6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAzOjIu
MCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MTYuMCAKKy0w
LjA1NDY2OTcwMzg3MjQgMTozLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5
NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0
IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAg
CistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAKKy0wLjA1
NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAz
ODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6
Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjMuMCAzOjMuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTox
LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjExLjAgMzox
MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCist
MC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAKKy0wLjA1NDY2
OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcy
NCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4w
IAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4w
NTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcw
Mzg3MjQgMToxNS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQg
MToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MjAuMCAyOjEyLjAgMzozLjAgCistMC4wNTQ2Njk3
MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQg
MToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjcuMCAz
OjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDM6
MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCist
MC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDM6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0w
LjA1NDY2OTcwMzg3MjQgMTozLjAgMzoyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAu
MDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo5LjAgMjozLjAgCistMC4w
NTQ2Njk3MDM4NzI0IDE6MS4wIDM6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjYuMCAKKy0wLjA1
NDY2OTcwMzg3MjQgMTo0LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAz
ODcyNCAxOjcuMCAyOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4
NzI0IDE6MS4wIDM6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAKKy0wLjA1NDY2OTcwMzg3
MjQgMToyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6OS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIu
MCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAu
MDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3
MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjE0LjAgCistMC4wNTQ2Njk3MDM4NzI0
IDE6MTIuMCAzOjYuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTozLjAgCistMC4wNTQ2Njk3MDM4NzI0
IDE6NC4wIDI6MS4wIDM6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcw
Mzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAx
OjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo5LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6OS4wIDI6
MS4wIDM6NC4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTox
LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6OS4wIDI6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjMu
MCAyOjMuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAgMjoyLjAgCistMC4wNTQ2Njk3MDM4NzI0
IDE6MS4wIDI6MS4wIDM6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjguMCAyOjEuMCAzOjMuMCAK
Ky0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIDI6MS4wIAor
LTAuMDU0NjY5NzAzODcyNCAxOjkuMCAyOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCist
MC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAKKy0wLjA1NDY2
OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MzYuMCAKKy0wLjA1NDY2OTcwMzg3
MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIu
MCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAu
MDU0NjY5NzAzODcyNCAxOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3
MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjYuMCAKKy0wLjA1NDY2OTcwMzg3MjQg
MToxLjAgMzoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAx
OjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAor
LTAuMDU0NjY5NzAzODcyNCAxOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2
Njk3MDM4NzI0IDE6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjQuMCAzOjIuMCAKKy0wLjA1NDY2
OTcwMzg3MjQgMToxMy4wIDM6NC4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA0MDIw
NzUxNzg5NDIgMToxLjAgCiswLjU4NTM2NTg1MzY1OSAxOjEuMCAKKzAuNDc5Mjc2MTM5MDAxIDE6
Ni4wIDI6My4wIAorMC41ODUzNjU4NTM2NTkgMToyLjAgCiswLjU4NTM2NTg1MzY1OSAxOjEuMCAK
KzAuNTg1MzY1ODUzNjU5IDE6My4wIDM6My4wIAorMC41ODUzNjU4NTM2NTkgMTo0Mi4wIDI6Mi4w
IDM6MjguMCAKKzAuNTg1MzY1ODUzNjU5IDE6Mi4wIAorMC41ODUzNjU4NTM2NTkgMToxMi4wIAor
MC40NzkyODMwNDY1NzggMTo3LjAgCiswLjMwMDM5Nzg3MzQ3NiAxOjMuMCAzOjEuMCAKKzAuMDU0
MzE3MzMwNjQ0MiAxOjYuMCAzOjIuMCAKKzAuNTYzNDY1MTI2Mjk5IDE6MTEuMCAKKzAuNTg1MzY1
ODUzNjU5IDE6Mi4wIAorMC41ODUzNjU4NTM2NTkgMToxMC4wIDI6My4wIDM6Ni4wIAorMC41ODUz
NjU4NTM2NTkgMToxLjAgMjoxLjAgCiswLjU4NTM2NTg1MzY1OSAxOjIuMCAKKzAuNTg1MzY1ODUz
NjU5IDE6MS4wIDI6MS4wIAorMC41ODUzNjU4NTM2NTkgMTozLjAgMzoxLjAgCiswLjU4NTM2NTg1
MzY1OSAxOjEuMCAKKzAuNTg1MzY1ODUzNjU5IDE6Mi4wIAorMC41ODUzNjU4NTM2NTkgMToxLjAg
MjoxLjAgCiswLjU4NDk4OTcxOTkwOSAxOjcuMCAKKzAuNTg1MzY1ODUzNjU5IDE6My4wIAorMC41
ODUzNjU4NTM2NTkgMTozLjAgCiswLjUyNTkyNTEzNjk4MyAxOjMuMCAyOjIuMCAKKzAuNTg1MzY1
ODUzNjU5IDE6MS4wIAorMC41ODUzNjU4NTM2NTkgMToxLjAgCiswLjU4NTM2NTg1MzY1OSAxOjMu
MCAzOjEuMCAKKzAuNTg1MzY1ODUzNjU5IDE6MS4wIAorMC41MjA3NDU4MjIzNzQgMTozLjAgCklu
ZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc01h
bmFnZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJSZXNv
dXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdlci5jcHAJKHJldmlzaW9uIDIxMjg5OCkKKysrIFNvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdlci5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTYxLDYgKzYxLDIxIEBAIGJvb2wgV2ViUmVzb3VyY2VMb2FkU3Rh
dGlzdGljc01hbmFnZXI6OmgKICAgICByZXR1cm4gV2ViQ29yZTo6UmVzb3VyY2VMb2FkT2JzZXJ2
ZXI6OnNoYXJlZE9ic2VydmVyKCkuaGFzSGFkVXNlckludGVyYWN0aW9uKFVSTChVUkwoKSwgaG9z
dE5hbWUpKTsKIH0KIAordm9pZCBXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdlcjo6c2V0
U3ViZnJhbWVVbmRlclRvcEZyYW1lT3JpZ2luKGNvbnN0IFN0cmluZyYgaG9zdE5hbWUsIGNvbnN0
IFN0cmluZyYgdG9wRnJhbWVIb3N0TmFtZSkKK3sKKyAgICBXZWJDb3JlOjpSZXNvdXJjZUxvYWRP
YnNlcnZlcjo6c2hhcmVkT2JzZXJ2ZXIoKS5zZXRTdWJmcmFtZVVuZGVyVG9wRnJhbWVPcmlnaW4o
VVJMKFVSTCgpLCBob3N0TmFtZSksIFVSTChVUkwoKSwgdG9wRnJhbWVIb3N0TmFtZSkpOworfQor
Cit2b2lkIFdlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VyOjpzZXRTdWJyZXNvdXJjZVVu
ZGVyVG9wRnJhbWVPcmlnaW4oY29uc3QgU3RyaW5nJiBob3N0TmFtZSwgY29uc3QgU3RyaW5nJiB0
b3BGcmFtZUhvc3ROYW1lKQoreworICAgIFdlYkNvcmU6OlJlc291cmNlTG9hZE9ic2VydmVyOjpz
aGFyZWRPYnNlcnZlcigpLnNldFN1YnJlc291cmNlVW5kZXJUb3BGcmFtZU9yaWdpbihVUkwoVVJM
KCksIGhvc3ROYW1lKSwgVVJMKFVSTCgpLCB0b3BGcmFtZUhvc3ROYW1lKSk7Cit9CisKK3ZvaWQg
V2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFnZXI6OnNldFN1YnJlc291cmNlVW5pcXVlUmVk
aXJlY3RUbyhjb25zdCBTdHJpbmcmIGhvc3ROYW1lLCBjb25zdCBTdHJpbmcmIGhvc3ROYW1lUmVk
aXJlY3RlZFRvKQoreworICAgIFdlYkNvcmU6OlJlc291cmNlTG9hZE9ic2VydmVyOjpzaGFyZWRP
YnNlcnZlcigpLnNldFN1YnJlc291cmNlVW5pcXVlUmVkaXJlY3RUbyhVUkwoVVJMKCksIGhvc3RO
YW1lKSwgVVJMKFVSTCgpLCBob3N0TmFtZVJlZGlyZWN0ZWRUbykpOworfQorCiB2b2lkIFdlYlJl
c291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VyOjpzZXRUaW1lVG9MaXZlVXNlckludGVyYWN0aW9u
KGRvdWJsZSBzZWNvbmRzKQogewogICAgIFdlYkNvcmU6OlJlc291cmNlTG9hZE9ic2VydmVyOjpz
aGFyZWRPYnNlcnZlcigpLnNldFRpbWVUb0xpdmVVc2VySW50ZXJhY3Rpb24oc2Vjb25kcyk7Cklu
ZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc01h
bmFnZXIuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUmVzb3Vy
Y2VMb2FkU3RhdGlzdGljc01hbmFnZXIuaAkocmV2aXNpb24gMjEyODk4KQorKysgU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL1dlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VyLmgJKHdvcmtp
bmcgY29weSkKQEAgLTQyLDYgKzQyLDkgQEAgcHVibGljOgogICAgIHN0YXRpYyBib29sIGlzUHJl
dmFsZW50UmVzb3VyY2UoY29uc3QgU3RyaW5nJiBob3N0TmFtZSk7CiAgICAgc3RhdGljIHZvaWQg
c2V0SGFzSGFkVXNlckludGVyYWN0aW9uKGNvbnN0IFN0cmluZyYgaG9zdE5hbWUsIGJvb2wgdmFs
dWUpOwogICAgIHN0YXRpYyBib29sIGhhc0hhZFVzZXJJbnRlcmFjdGlvbihjb25zdCBTdHJpbmcm
IGhvc3ROYW1lKTsKKyAgICBzdGF0aWMgdm9pZCBzZXRTdWJmcmFtZVVuZGVyVG9wRnJhbWVPcmln
aW4oY29uc3QgU3RyaW5nJiBob3N0TmFtZSwgY29uc3QgU3RyaW5nJiB0b3BGcmFtZUhvc3ROYW1l
KTsKKyAgICBzdGF0aWMgdm9pZCBzZXRTdWJyZXNvdXJjZVVuZGVyVG9wRnJhbWVPcmlnaW4oY29u
c3QgU3RyaW5nJiBob3N0TmFtZSwgY29uc3QgU3RyaW5nJiB0b3BGcmFtZUhvc3ROYW1lKTsKKyAg
ICBzdGF0aWMgdm9pZCBzZXRTdWJyZXNvdXJjZVVuaXF1ZVJlZGlyZWN0VG8oY29uc3QgU3RyaW5n
JiBob3N0TmFtZSwgY29uc3QgU3RyaW5nJiBob3N0TmFtZVJlZGlyZWN0ZWRUbyk7CiAgICAgc3Rh
dGljIHZvaWQgc2V0VGltZVRvTGl2ZVVzZXJJbnRlcmFjdGlvbihkb3VibGUgc2Vjb25kcyk7CiAg
ICAgc3RhdGljIHZvaWQgc2V0UmVkdWNlZFRpbWVzdGFtcFJlc29sdXRpb24oZG91YmxlIHNlY29u
ZHMpOwogICAgIHN0YXRpYyB2b2lkIGZpcmVEYXRhTW9kaWZpY2F0aW9uSGFuZGxlcigpOwpJbmRl
eDogU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9y
ZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlJlc291cmNl
TG9hZFN0YXRpc3RpY3NTdG9yZS5jcHAJKHJldmlzaW9uIDIxMjg5OCkKKysrIFNvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9XZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmUuY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC00NSw3ICs0NSw2IEBAIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogCiBuYW1l
c3BhY2UgV2ViS2l0IHsKIAotc3RhdGljIGNvbnN0IGF1dG8gZmVhdHVyZVZlY3Rvckxlbmd0aFRo
cmVzaG9sZCA9IDM7CiBzdGF0aWMgYXV0byBtaW5pbXVtVGltZUJldHdlZWVuRGF0YVJlY29yZHNS
ZW1vdmFsID0gNjA7CiBzdGF0aWMgT3B0aW9uU2V0PFdlYktpdDo6V2Vic2l0ZURhdGFUeXBlPiBk
YXRhVHlwZXNUb1JlbW92ZTsKIHN0YXRpYyBhdXRvIG5vdGlmeVBhZ2VzID0gZmFsc2U7CkBAIC01
OSw3ICs1OCw3IEBAIFJlZjxXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmU+IFdlYlIKIFdl
YlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZTo6V2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0
b3JlKGNvbnN0IFN0cmluZyYgcmVzb3VyY2VMb2FkU3RhdGlzdGljc0RpcmVjdG9yeSkKICAgICA6
IG1fcmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlKFJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9y
ZTo6Y3JlYXRlKCkpCiAgICAgLCBtX3N0YXRpc3RpY3NRdWV1ZShXb3JrUXVldWU6OmNyZWF0ZSgi
V2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlIFByb2Nlc3MgRGF0YSBRdWV1ZSIpKQotICAg
ICwgbV9zdG9yYWdlUGF0aChyZXNvdXJjZUxvYWRTdGF0aXN0aWNzRGlyZWN0b3J5KQorICAgICwg
bV9zdGF0aXN0aWNzU3RvcmFnZVBhdGgocmVzb3VyY2VMb2FkU3RhdGlzdGljc0RpcmVjdG9yeSkK
IHsKIH0KIApAQCAtODMsNDAgKzgyLDExIEBAIHZvaWQgV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGlj
c1N0b3JlOjpzZXQKICAgICAgICAgbWluaW11bVRpbWVCZXR3ZWVlbkRhdGFSZWNvcmRzUmVtb3Zh
bCA9IHNlY29uZHM7CiB9CiAKLWJvb2wgV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlOjpo
YXNQcmV2YWxlbnRSZXNvdXJjZUNoYXJhY3RlcmlzdGljcyhjb25zdCBSZXNvdXJjZUxvYWRTdGF0
aXN0aWNzJiByZXNvdXJjZVN0YXRpc3RpYykKLXsKLSAgICBhdXRvIHN1YnJlc291cmNlVW5kZXJU
b3BGcmFtZU9yaWdpbnNDb3VudCA9IHJlc291cmNlU3RhdGlzdGljLnN1YnJlc291cmNlVW5kZXJU
b3BGcmFtZU9yaWdpbnMuc2l6ZSgpOwotICAgIGF1dG8gc3VicmVzb3VyY2VVbmlxdWVSZWRpcmVj
dHNUb0NvdW50ID0gcmVzb3VyY2VTdGF0aXN0aWMuc3VicmVzb3VyY2VVbmlxdWVSZWRpcmVjdHNU
by5zaXplKCk7Ci0gICAgYXV0byBzdWJmcmFtZVVuZGVyVG9wRnJhbWVPcmlnaW5zQ291bnQgPSBy
ZXNvdXJjZVN0YXRpc3RpYy5zdWJmcmFtZVVuZGVyVG9wRnJhbWVPcmlnaW5zLnNpemUoKTsKLSAg
ICAKLSAgICBpZiAoIXN1YnJlc291cmNlVW5kZXJUb3BGcmFtZU9yaWdpbnNDb3VudAotICAgICAg
ICAmJiAhc3VicmVzb3VyY2VVbmlxdWVSZWRpcmVjdHNUb0NvdW50Ci0gICAgICAgICYmICFzdWJm
cmFtZVVuZGVyVG9wRnJhbWVPcmlnaW5zQ291bnQpCi0gICAgICAgIHJldHVybiBmYWxzZTsKLQot
ICAgIGlmIChzdWJyZXNvdXJjZVVuZGVyVG9wRnJhbWVPcmlnaW5zQ291bnQgPiBmZWF0dXJlVmVj
dG9yTGVuZ3RoVGhyZXNob2xkCi0gICAgICAgIHx8IHN1YnJlc291cmNlVW5pcXVlUmVkaXJlY3Rz
VG9Db3VudCA+IGZlYXR1cmVWZWN0b3JMZW5ndGhUaHJlc2hvbGQKLSAgICAgICAgfHwgc3ViZnJh
bWVVbmRlclRvcEZyYW1lT3JpZ2luc0NvdW50ID4gZmVhdHVyZVZlY3Rvckxlbmd0aFRocmVzaG9s
ZCkKLSAgICAgICAgcmV0dXJuIHRydWU7Ci0KLSAgICAvLyBUaGUgcmVzb3VyY2UgaXMgY29uc2lk
ZXJlZCBwcmV2YWxlbnQgaWYgdGhlIGZlYXR1cmUgdmVjdG9yCi0gICAgLy8gaXMgbG9uZ2VyIHRo
YW4gdGhlIHRocmVzaG9sZC4KLSAgICAvLyBWZWN0b3IgbGVuZ3RoIGZvciBuIGRpbWVuc2lvbnMg
aXMgc3FydChhXjIgKyAoLi4uKSArIG5eMikuCi0gICAgZG91YmxlIHZlY3Rvckxlbmd0aCA9IDA7
Ci0gICAgdmVjdG9yTGVuZ3RoICs9IHN1YnJlc291cmNlVW5kZXJUb3BGcmFtZU9yaWdpbnNDb3Vu
dCAqIHN1YnJlc291cmNlVW5kZXJUb3BGcmFtZU9yaWdpbnNDb3VudDsKLSAgICB2ZWN0b3JMZW5n
dGggKz0gc3VicmVzb3VyY2VVbmlxdWVSZWRpcmVjdHNUb0NvdW50ICogc3VicmVzb3VyY2VVbmlx
dWVSZWRpcmVjdHNUb0NvdW50OwotICAgIHZlY3Rvckxlbmd0aCArPSBzdWJmcmFtZVVuZGVyVG9w
RnJhbWVPcmlnaW5zQ291bnQgKiBzdWJmcmFtZVVuZGVyVG9wRnJhbWVPcmlnaW5zQ291bnQ7Ci0K
LSAgICBBU1NFUlQodmVjdG9yTGVuZ3RoID4gMCk7Ci0KLSAgICByZXR1cm4gc3FydCh2ZWN0b3JM
ZW5ndGgpID4gZmVhdHVyZVZlY3Rvckxlbmd0aFRocmVzaG9sZDsKLX0KLSAgICAKIHZvaWQgV2Vi
UmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlOjpjbGFzc2lmeVJlc291cmNlKFJlc291cmNlTG9h
ZFN0YXRpc3RpY3MmIHJlc291cmNlU3RhdGlzdGljKQogewotICAgIGlmICghcmVzb3VyY2VTdGF0
aXN0aWMuaXNQcmV2YWxlbnRSZXNvdXJjZSAmJiBoYXNQcmV2YWxlbnRSZXNvdXJjZUNoYXJhY3Rl
cmlzdGljcyhyZXNvdXJjZVN0YXRpc3RpYykpIHsKKyAgICBpZiAoIXJlc291cmNlU3RhdGlzdGlj
LmlzUHJldmFsZW50UmVzb3VyY2UKKyAgICAgICAgJiYgbV9yZXNvdXJjZUxvYWRTdGF0aXN0aWNz
Q2xhc3NpZmllci5oYXNQcmV2YWxlbnRSZXNvdXJjZUNoYXJhY3RlcmlzdGljcyhyZXNvdXJjZVN0
YXRpc3RpYykpCiAgICAgICAgIHJlc291cmNlU3RhdGlzdGljLmlzUHJldmFsZW50UmVzb3VyY2Ug
PSB0cnVlOwotICAgIH0KIH0KIAogdm9pZCBXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmU6
OnJlbW92ZURhdGFSZWNvcmRzKCkKQEAgLTI0OSwxMSArMjE5LDExIEBAIHZvaWQgV2ViUmVzb3Vy
Y2VMb2FkU3RhdGlzdGljc1N0b3JlOjphcHAKIAogU3RyaW5nIFdlYlJlc291cmNlTG9hZFN0YXRp
c3RpY3NTdG9yZTo6cGVyc2lzdGVudFN0b3JhZ2VQYXRoKGNvbnN0IFN0cmluZyYgbGFiZWwpIGNv
bnN0CiB7Ci0gICAgaWYgKG1fc3RvcmFnZVBhdGguaXNFbXB0eSgpKQorICAgIGlmIChtX3N0YXRp
c3RpY3NTdG9yYWdlUGF0aC5pc0VtcHR5KCkpCiAgICAgICAgIHJldHVybiBlbXB0eVN0cmluZygp
OwogCiAgICAgLy8gVE9ETyBEZWNpZGUgd2hhdCB0byBjYWxsIHRoaXMgZmlsZQotICAgIHJldHVy
biBwYXRoQnlBcHBlbmRpbmdDb21wb25lbnQobV9zdG9yYWdlUGF0aCwgbGFiZWwgKyAiX3Jlc291
cmNlTG9nLnBsaXN0Iik7CisgICAgcmV0dXJuIHBhdGhCeUFwcGVuZGluZ0NvbXBvbmVudChtX3N0
YXRpc3RpY3NTdG9yYWdlUGF0aCwgbGFiZWwgKyAiX3Jlc291cmNlTG9nLnBsaXN0Iik7CiB9CiAK
IHZvaWQgV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlOjp3cml0ZUVuY29kZXJUb0Rpc2so
S2V5ZWRFbmNvZGVyJiBlbmNvZGVyLCBjb25zdCBTdHJpbmcmIGxhYmVsKSBjb25zdApAQCAtMjY2
LDggKzIzNiw4IEBAIHZvaWQgV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlOjp3cmkKICAg
ICBpZiAocmVzb3VyY2VMb2cuaXNFbXB0eSgpKQogICAgICAgICByZXR1cm47CiAKLSAgICBpZiAo
IW1fc3RvcmFnZVBhdGguaXNFbXB0eSgpKQotICAgICAgICBtYWtlQWxsRGlyZWN0b3JpZXMobV9z
dG9yYWdlUGF0aCk7CisgICAgaWYgKCFtX3N0YXRpc3RpY3NTdG9yYWdlUGF0aC5pc0VtcHR5KCkp
CisgICAgICAgIG1ha2VBbGxEaXJlY3RvcmllcyhtX3N0YXRpc3RpY3NTdG9yYWdlUGF0aCk7CiAK
ICAgICBhdXRvIGhhbmRsZSA9IG9wZW5GaWxlKHJlc291cmNlTG9nLCBPcGVuRm9yV3JpdGUpOwog
ICAgIGlmICghaGFuZGxlKQpJbmRleDogU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlJlc291
cmNlTG9hZFN0YXRpc3RpY3NTdG9yZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9XZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmUuaAkocmV2aXNpb24gMjEyODk4
KQorKysgU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NT
dG9yZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0yOCw2ICsyOCw3IEBACiAKICNpbmNsdWRlICJBUElP
YmplY3QuaCIKICNpbmNsdWRlICJDb25uZWN0aW9uLmgiCisjaW5jbHVkZSAiUmVzb3VyY2VMb2Fk
U3RhdGlzdGljc0NsYXNzaWZpZXIuaCIKICNpbmNsdWRlICJXZWJzaXRlRGF0YVJlY29yZC5oIgog
I2luY2x1ZGUgPFdlYkNvcmUvUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlLmg+CiAjaW5jbHVk
ZSA8d3RmL1ZlY3Rvci5oPgpAQCAtNzYsNyArNzcsNiBAQCBwcml2YXRlOgogCiAgICAgdm9pZCBw
cm9jZXNzU3RhdGlzdGljc0FuZERhdGFSZWNvcmRzKCk7CiAKLSAgICBib29sIGhhc1ByZXZhbGVu
dFJlc291cmNlQ2hhcmFjdGVyaXN0aWNzKGNvbnN0IFdlYkNvcmU6OlJlc291cmNlTG9hZFN0YXRp
c3RpY3MmKTsKICAgICB2b2lkIGNsYXNzaWZ5UmVzb3VyY2UoV2ViQ29yZTo6UmVzb3VyY2VMb2Fk
U3RhdGlzdGljcyYpOwogICAgIHZvaWQgcmVtb3ZlRGF0YVJlY29yZHMoKTsKIApAQCAtODksOCAr
ODksOSBAQCBwcml2YXRlOgogICAgIHN0ZDo6dW5pcXVlX3B0cjxXZWJDb3JlOjpLZXllZERlY29k
ZXI+IGNyZWF0ZURlY29kZXJGcm9tRGlzayhjb25zdCBTdHJpbmcmIGxhYmVsKSBjb25zdDsKIAog
ICAgIFJlZjxXZWJDb3JlOjpSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmU+IG1fcmVzb3VyY2VM
b2FkU3RhdGlzdGljc1N0b3JlOworICAgIFJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVy
IG1fcmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXI7CiAgICAgUmVmPFdURjo6V29ya1F1
ZXVlPiBtX3N0YXRpc3RpY3NRdWV1ZTsKLSAgICBTdHJpbmcgbV9zdG9yYWdlUGF0aDsKKyAgICBT
dHJpbmcgbV9zdGF0aXN0aWNzU3RvcmFnZVBhdGg7CiAgICAgYm9vbCBtX3Jlc291cmNlTG9hZFN0
YXRpc3RpY3NFbmFibGVkIHsgZmFsc2UgfTsKIAogICAgIGRvdWJsZSBtX2xhc3RUaW1lRGF0YVJl
Y29yZHNXZXJlUmVtb3ZlZCB7IDAgfTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9B
UEkvQy9XS1Jlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VyLmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFu
YWdlci5jcHAJKHJldmlzaW9uIDIxMjg5OCkKKysrIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9B
UEkvQy9XS1Jlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VyLmNwcAkod29ya2luZyBjb3B5KQpA
QCAtNTYsNiArNTYsMjEgQEAgYm9vbCBXS1Jlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VySXNI
YQogICAgIHJldHVybiBXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdlcjo6aGFzSGFkVXNl
ckludGVyYWN0aW9uKHRvV1RGU3RyaW5nKGhvc3ROYW1lKSk7CiB9CiAKK3ZvaWQgV0tSZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzTWFuYWdlclNldFN1YmZyYW1lVW5kZXJUb3BGcmFtZU9yaWdpbihXS1N0
cmluZ1JlZiBob3N0TmFtZSwgV0tTdHJpbmdSZWYgdG9wRnJhbWVIb3N0TmFtZSkKK3sKKyAgICBX
ZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdlcjo6c2V0U3ViZnJhbWVVbmRlclRvcEZyYW1l
T3JpZ2luKHRvV1RGU3RyaW5nKGhvc3ROYW1lKSwgdG9XVEZTdHJpbmcodG9wRnJhbWVIb3N0TmFt
ZSkpOworfQorCit2b2lkIFdLUmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFnZXJTZXRTdWJyZXNv
dXJjZVVuZGVyVG9wRnJhbWVPcmlnaW4oV0tTdHJpbmdSZWYgaG9zdE5hbWUsIFdLU3RyaW5nUmVm
IHRvcEZyYW1lSG9zdE5hbWUpCit7CisgICAgV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFn
ZXI6OnNldFN1YnJlc291cmNlVW5kZXJUb3BGcmFtZU9yaWdpbih0b1dURlN0cmluZyhob3N0TmFt
ZSksIHRvV1RGU3RyaW5nKHRvcEZyYW1lSG9zdE5hbWUpKTsKK30KKwordm9pZCBXS1Jlc291cmNl
TG9hZFN0YXRpc3RpY3NNYW5hZ2VyU2V0U3VicmVzb3VyY2VVbmlxdWVSZWRpcmVjdFRvKFdLU3Ry
aW5nUmVmIGhvc3ROYW1lLCBXS1N0cmluZ1JlZiBob3N0TmFtZVJlZGlyZWN0ZWRUbykKK3sKKyAg
ICBXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdlcjo6c2V0U3VicmVzb3VyY2VVbmlxdWVS
ZWRpcmVjdFRvKHRvV1RGU3RyaW5nKGhvc3ROYW1lKSwgdG9XVEZTdHJpbmcoaG9zdE5hbWVSZWRp
cmVjdGVkVG8pKTsKK30KKwogdm9pZCBXS1Jlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VyU2V0
VGltZVRvTGl2ZVVzZXJJbnRlcmFjdGlvbihkb3VibGUgc2Vjb25kcykKIHsKICAgICBXZWJSZXNv
dXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdlcjo6c2V0VGltZVRvTGl2ZVVzZXJJbnRlcmFjdGlvbihz
ZWNvbmRzKTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1Jlc291cmNl
TG9hZFN0YXRpc3RpY3NNYW5hZ2VyLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0FQSS9DL1dLUmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFnZXIuaAkocmV2aXNpb24g
MjEyODk4KQorKysgU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUmVzb3VyY2VMb2Fk
U3RhdGlzdGljc01hbmFnZXIuaAkod29ya2luZyBjb3B5KQpAQCAtMzgsNiArMzgsOSBAQCBleHRl
cm4gIkMiIHsKICAgICBXS19FWFBPUlQgYm9vbCBXS1Jlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5h
Z2VySXNQcmV2YWxlbnRSZXNvdXJjZShXS1N0cmluZ1JlZiBob3N0TmFtZSk7CiAgICAgV0tfRVhQ
T1JUIHZvaWQgV0tSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdlclNldEhhc0hhZFVzZXJJbnRl
cmFjdGlvbihXS1N0cmluZ1JlZiBob3N0TmFtZSwgYm9vbCB2YWx1ZSk7CiAgICAgV0tfRVhQT1JU
IGJvb2wgV0tSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdlcklzSGFzSGFkVXNlckludGVyYWN0
aW9uKFdLU3RyaW5nUmVmIGhvc3ROYW1lKTsKKyAgICBXS19FWFBPUlQgdm9pZCBXS1Jlc291cmNl
TG9hZFN0YXRpc3RpY3NNYW5hZ2VyU2V0U3ViZnJhbWVVbmRlclRvcEZyYW1lT3JpZ2luKFdLU3Ry
aW5nUmVmIGhvc3ROYW1lLCBXS1N0cmluZ1JlZiB0b3BGcmFtZUhvc3ROYW1lKTsKKyAgICBXS19F
WFBPUlQgdm9pZCBXS1Jlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VyU2V0U3VicmVzb3VyY2VV
bmRlclRvcEZyYW1lT3JpZ2luKFdLU3RyaW5nUmVmIGhvc3ROYW1lLCBXS1N0cmluZ1JlZiB0b3BG
cmFtZUhvc3ROYW1lKTsKKyAgICBXS19FWFBPUlQgdm9pZCBXS1Jlc291cmNlTG9hZFN0YXRpc3Rp
Y3NNYW5hZ2VyU2V0U3VicmVzb3VyY2VVbmlxdWVSZWRpcmVjdFRvKFdLU3RyaW5nUmVmIGhvc3RO
YW1lLCBXS1N0cmluZ1JlZiBob3N0TmFtZVJlZGlyZWN0ZWRUbyk7CiAgICAgV0tfRVhQT1JUIHZv
aWQgV0tSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdlclNldFRpbWVUb0xpdmVVc2VySW50ZXJh
Y3Rpb24oZG91YmxlIHNlY29uZHMpOwogICAgIFdLX0VYUE9SVCB2b2lkIFdLUmVzb3VyY2VMb2Fk
U3RhdGlzdGljc01hbmFnZXJTZXRSZWR1Y2VkVGltZXN0YW1wUmVzb2x1dGlvbihkb3VibGUgc2Vj
b25kcyk7CiAgICAgV0tfRVhQT1JUIHZvaWQgV0tSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdl
ckZpcmVEYXRhTW9kaWZpY2F0aW9uSGFuZGxlcigpOwpJbmRleDogU291cmNlL1dlYktpdDIvV2Vi
S2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQyL1dlYktpdDIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkocmV2aXNpb24gMjEyODk4KQor
KysgU291cmNlL1dlYktpdDIvV2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xMTQ3LDEwICsxMTQ3LDE3IEBACiAJCTY1MDFCRDFBMTJGMTI0MzQwMEU5
RjI0OCAvKiBXS0J1bmRsZUluc3BlY3Rvci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA2NUI4NkYxNzEyRjExRDdCMDBCN0REOEEgLyogV0tCdW5kbGVJ
bnNwZWN0b3IuY3BwICovOyB9OwogCQk2NTlDNTUxRTEzMDAwNjQxMDAyNUMwQzIgLyogSW5qZWN0
ZWRCdW5kbGVQYWdlUmVzb3VyY2VMb2FkQ2xpZW50LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDY1NDZBODI5MTMwMDAxNjQwMDBDRUIxQyAvKiBJbmpl
Y3RlZEJ1bmRsZVBhZ2VSZXNvdXJjZUxvYWRDbGllbnQuY3BwICovOyB9OwogCQk2NUI4NkYxRTEy
RjExREUzMDBCN0REOEEgLyogV0tCdW5kbGVJbnNwZWN0b3IuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDY1Qjg2RjE4MTJGMTFEN0IwMEI3REQ4QSAvKiBX
S0J1bmRsZUluc3BlY3Rvci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUs
ICk7IH07IH07CisJCTZCMkUwOUJBMUU1N0I4ODEwMEM4QThCOSAvKiBDb3JlUHJlZGljdGlvblNv
ZnRMaW5rLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA2
QjJFMDlCOTFFNTdCODgxMDBDOEE4QjkgLyogQ29yZVByZWRpY3Rpb25Tb2Z0TGluay5oICovOyB9
OwogCQk2QkU5Njk5QzFFNDNCM0ZGMDA4Qjc0ODMgLyogV0tSZXNvdXJjZUxvYWRTdGF0aXN0aWNz
TWFuYWdlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
NkJFOTY5OUIxRTQzQjNGRjAwOEI3NDgzIC8qIFdLUmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFn
ZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk2
QkU5Njk5RTFFNDNCNDFEMDA4Qjc0ODMgLyogV0tSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdl
ci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA2QkU5
Njk5RDFFNDNCNDFEMDA4Qjc0ODMgLyogV0tSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdlci5j
cHAgKi87IH07CiAJCTZCRTk2OUEwMUU0M0I4NkUwMDhCNzQ4MyAvKiBXZWJSZXNvdXJjZUxvYWRT
dGF0aXN0aWNzTWFuYWdlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gNkJFOTY5OUYxRTQzQjg2RTAwOEI3NDgzIC8qIFdlYlJlc291cmNlTG9hZFN0YXRp
c3RpY3NNYW5hZ2VyLmggKi87IH07CiAJCTZCRTk2OUEyMUU0M0I4QTQwMDhCNzQ4MyAvKiBXZWJS
ZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA2QkU5NjlBMTFFNDNCOEE0MDA4Qjc0ODMgLyogV2ViUmVz
b3VyY2VMb2FkU3RhdGlzdGljc01hbmFnZXIuY3BwICovOyB9OworCQk2QkU5NjlDMTFFNTRENDUy
MDA4Qjc0ODMgLyogY29yZVByZWRpY3Rpb25fbW9kZWwgaW4gUmVzb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDZCRTk2OUMwMUU1NEQ0NTIwMDhCNzQ4MyAvKiBjb3Jl
UHJlZGljdGlvbl9tb2RlbCAqLzsgfTsKKwkJNkJFOTY5QzUxRTU0RDRBNDAwOEI3NDgzIC8qIFJl
c291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA2QkU5NjlDNDFFNTRENEE0MDA4Qjc0ODMgLyogUmVzb3Vy
Y2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXIuaCAqLzsgfTsKKwkJNkJFOTY5QzcxRTU0RDRCNjAw
OEI3NDgzIC8qIFJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQmFzZS5jcHAgaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA2QkU5NjlDNjFFNTRENEI2
MDA4Qjc0ODMgLyogUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXJCYXNlLmNwcCAqLzsg
fTsKKwkJNkJFOTY5Q0ExRTU0RDRDRjAwOEI3NDgzIC8qIFJlc291cmNlTG9hZFN0YXRpc3RpY3ND
bGFzc2lmaWVyQ29jb2EuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gNkJFOTY5QzgxRTU0RDRDRjAwOEI3NDgzIC8qIFJlc291cmNlTG9hZFN0YXRpc3Rp
Y3NDbGFzc2lmaWVyQ29jb2EuY3BwICovOyB9OworCQk2QkU5NjlDQjFFNTRENENGMDA4Qjc0ODMg
LyogUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXJDb2NvYS5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNkJFOTY5QzkxRTU0RDRDRjAwOEI3NDgz
IC8qIFJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQ29jb2EuaCAqLzsgfTsKKwkJNkJF
OTY5Q0QxRTU0RTA1NDAwOEI3NDgzIC8qIFJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVy
QmFzZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNkJF
OTY5Q0MxRTU0RTA1NDAwOEI3NDgzIC8qIFJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVy
QmFzZS5oICovOyB9OwogCQk2RUU4NDlDODEzNjhEOTM5MDAzOEQ0ODEgLyogV0tJbnNwZWN0b3JQ
cml2YXRlTWFjLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA2RUU4NDlDNjEzNjhEOTJEMDAzOEQ0ODEgLyogV0tJbnNwZWN0b3JQcml2YXRlTWFjLmggKi87
IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNzI4RTg2RjEx
Nzk1MTg4QzAwODc4NzlFIC8qIFdlYkNvbG9yUGlja2VyTWFjLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3MjhFODZFRjE3OTUxODhDMDA4Nzg3OUUgLyog
V2ViQ29sb3JQaWNrZXJNYWMuaCAqLzsgfTsKIAkJNzI4RTg2RjIxNzk1MTg4QzAwODc4NzlFIC8q
IFdlYkNvbG9yUGlja2VyTWFjLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gNzI4RTg2RjAxNzk1MTg4QzAwODc4NzlFIC8qIFdlYkNvbG9yUGlja2VyTWFj
Lm1tICovOyB9OwpAQCAtMzM0MCwxMCArMzM0NywxNyBAQAogCQk2NTQ2QTgyQTEzMDAwMTY0MDAw
Q0VCMUMgLyogSW5qZWN0ZWRCdW5kbGVQYWdlUmVzb3VyY2VMb2FkQ2xpZW50LmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEluamVjdGVkQnVuZGxlUGFnZVJlc291cmNlTG9hZENs
aWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk2NUI4NkYxNzEyRjExRDdCMDBC
N0REOEEgLyogV0tCdW5kbGVJbnNwZWN0b3IuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
Y3BwOyBwYXRoID0gV0tCdW5kbGVJbnNwZWN0b3IuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQk2NUI4NkYxODEyRjExRDdCMDBCN0REOEEgLyogV0tCdW5kbGVJbnNwZWN0b3IuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV0tCdW5kbGVJbnNwZWN0b3IuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNkIyRTA5QjkxRTU3Qjg4MTAwQzhBOEI5IC8qIENv
cmVQcmVkaWN0aW9uU29mdExpbmsuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
Q29yZVByZWRpY3Rpb25Tb2Z0TGluay5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk2
QkU5Njk5QjFFNDNCM0ZGMDA4Qjc0ODMgLyogV0tSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdl
ci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXS1Jlc291cmNlTG9hZFN0YXRp
c3RpY3NNYW5hZ2VyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTZCRTk2OTlEMUU0
M0I0MUQwMDhCNzQ4MyAvKiBXS1Jlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VyLmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdLUmVzb3VyY2VMb2FkU3RhdGlzdGlj
c01hbmFnZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk2QkU5Njk5RjFFNDNC
ODZFMDA4Qjc0ODMgLyogV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFnZXIuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFn
ZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNkJFOTY5QTExRTQzQjhBNDAwOEI3
NDgzIC8qIFdlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VyLmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2Vy
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNkJFOTY5QzAxRTU0RDQ1MjAwOEI3
NDgzIC8qIGNvcmVQcmVkaWN0aW9uX21vZGVsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IGNvcmVQ
cmVkaWN0aW9uX21vZGVsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk2QkU5NjlDNDFF
NTRENEE0MDA4Qjc0ODMgLyogUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXIuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNz
aWZpZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNkJFOTY5QzYxRTU0RDRCNjAw
OEI3NDgzIC8qIFJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQmFzZS5jcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xh
c3NpZmllckJhc2UuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk2QkU5NjlDODFF
NTRENENGMDA4Qjc0ODMgLyogUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXJDb2NvYS5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBSZXNvdXJjZUxvYWRTdGF0
aXN0aWNzQ2xhc3NpZmllckNvY29hLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
NkJFOTY5QzkxRTU0RDRDRjAwOEI3NDgzIC8qIFJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lm
aWVyQ29jb2EuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUmVzb3VyY2VMb2Fk
U3RhdGlzdGljc0NsYXNzaWZpZXJDb2NvYS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQk2QkU5NjlDQzFFNTRFMDU0MDA4Qjc0ODMgLyogUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNz
aWZpZXJCYXNlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJlc291cmNlTG9h
ZFN0YXRpc3RpY3NDbGFzc2lmaWVyQmFzZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQk2RDhBOTFBNTExRjBFRkQxMDBERDAxRkUgLyogY29tLmFwcGxlLldlYlByb2Nlc3Muc2IuaW4g
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSB0ZXh0OyBuYW1lID0gY29tLmFwcGxlLldlYlByb2Nlc3Muc2IuaW47IHBhdGgg
PSBXZWJQcm9jZXNzL2NvbS5hcHBsZS5XZWJQcm9jZXNzLnNiLmluOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQk2RUU4NDlDNjEzNjhEOTJEMDAzOEQ0ODEgLyogV0tJbnNwZWN0b3JQcml2
YXRlTWFjLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IFdLSW5zcGVjdG9yUHJp
dmF0ZU1hYy5oOyBwYXRoID0gbWFjL1dLSW5zcGVjdG9yUHJpdmF0ZU1hYy5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQk3MjhFODZFRjE3OTUxODhDMDA4Nzg3OUUgLyogV2ViQ29sb3JQ
aWNrZXJNYWMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViQ29sb3JQaWNr
ZXJNYWMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTQzNjAsNiArNDM3NCw3IEBA
CiAJCTA4OUMxNjY1RkU4NDExNThDMDJBQUMwNyAvKiBSZXNvdXJjZXMgKi8gPSB7CiAJCQlpc2Eg
PSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKAorCQkJCTZCRTk2OUJGMUU1NEQ0NTIwMDhCNzQ4
MyAvKiBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzICovLAogCQkJCTM3RjhDOTRGMUFFMjJCRDgwMDdE
QUI5RSAvKiBtYWMgKi8sCiAJCQkJN0NCMTZGRTExNzI0QjlCNTAwN0EwQTk1IC8qIFBsdWdJblNh
bmRib3hQcm9maWxlcyAqLywKIAkJCQlBNzhDQ0RENTE5M0FDOUUzMDA1RUNDMjUgLyogU2FuZGJv
eFByb2ZpbGVzICovLApAQCAtNjEyMyw2ICs2MTM4LDM2IEBACiAJCQluYW1lID0gQ29jb2E7CiAJ
CQlzb3VyY2VUcmVlID0gIjxncm91cD4iOwogCQl9OworCQk2QkU5NjlCRjFFNTRENDUyMDA4Qjc0
ODMgLyogUmVzb3VyY2VMb2FkU3RhdGlzdGljcyAqLyA9IHsKKwkJCWlzYSA9IFBCWEdyb3VwOwor
CQkJY2hpbGRyZW4gPSAoCisJCQkJNkJFOTY5QzAxRTU0RDQ1MjAwOEI3NDgzIC8qIGNvcmVQcmVk
aWN0aW9uX21vZGVsICovLAorCQkJKTsKKwkJCW5hbWUgPSBSZXNvdXJjZUxvYWRTdGF0aXN0aWNz
OworCQkJcGF0aCA9IFJlc291cmNlcy9SZXNvdXJjZUxvYWRTdGF0aXN0aWNzOworCQkJc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsKKwkJfTsKKwkJNkJFOTY5QzIxRTU0RDQ2NzAwOEI3NDgzIC8qIGNs
YXNzaWZpZXIgKi8gPSB7CisJCQlpc2EgPSBQQlhHcm91cDsKKwkJCWNoaWxkcmVuID0gKAorCQkJ
CTZCRTk2OUMzMUU1NEQ0NjcwMDhCNzQ4MyAvKiBjb2NvYSAqLywKKwkJCQk2QkU5NjlDNjFFNTRE
NEI2MDA4Qjc0ODMgLyogUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXJCYXNlLmNwcCAq
LywKKwkJCQk2QkU5NjlDNDFFNTRENEE0MDA4Qjc0ODMgLyogUmVzb3VyY2VMb2FkU3RhdGlzdGlj
c0NsYXNzaWZpZXIuaCAqLywKKwkJCQk2QkU5NjlDQzFFNTRFMDU0MDA4Qjc0ODMgLyogUmVzb3Vy
Y2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXJCYXNlLmggKi8sCisJCQkpOworCQkJcGF0aCA9IGNs
YXNzaWZpZXI7CisJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOworCQl9OworCQk2QkU5NjlDMzFF
NTRENDY3MDA4Qjc0ODMgLyogY29jb2EgKi8gPSB7CisJCQlpc2EgPSBQQlhHcm91cDsKKwkJCWNo
aWxkcmVuID0gKAorCQkJCTZCRTk2OUM4MUU1NEQ0Q0YwMDhCNzQ4MyAvKiBSZXNvdXJjZUxvYWRT
dGF0aXN0aWNzQ2xhc3NpZmllckNvY29hLmNwcCAqLywKKwkJCQk2QkU5NjlDOTFFNTRENENGMDA4
Qjc0ODMgLyogUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXJDb2NvYS5oICovLAorCQkJ
CTZCMkUwOUI5MUU1N0I4ODEwMEM4QThCOSAvKiBDb3JlUHJlZGljdGlvblNvZnRMaW5rLmggKi8s
CisJCQkpOworCQkJcGF0aCA9IGNvY29hOworCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKKwkJ
fTsKIAkJNkVFODQ5QzQxMzY4RDkwNDAwMzhENDgxIC8qIG1hYyAqLyA9IHsKIAkJCWlzYSA9IFBC
WEdyb3VwOwogCQkJY2hpbGRyZW4gPSAoCkBAIC03MDI0LDYgKzcwNjksNyBAQAogCQlCQzJFNkU3
NDExNDE5NkYwMDBBNjNCMUUgLyogUGxhdGZvcm0gKi8gPSB7CiAJCQlpc2EgPSBQQlhHcm91cDsK
IAkJCWNoaWxkcmVuID0gKAorCQkJCTZCRTk2OUMyMUU1NEQ0NjcwMDhCNzQ4MyAvKiBjbGFzc2lm
aWVyICovLAogCQkJCTM3MDk1MDQxMThBODhCQTQwMDg3QUU1RCAvKiBjZiAqLywKIAkJCQkxQUEy
RTUxQTEyRTRDMDU2MDBCQzQ5NjYgLyogY2cgKi8sCiAJCQkJNDQ1MEFFQkUxREMzRkFBQzAwOTk0
M0YyIC8qIGNvY29hICovLApAQCAtNzkwNyw2ICs3OTUzLDcgQEAKIAkJCQk0MURDNDU5NjFFM0Q2
RTIyMDBCMTFGNTEgLyogTmV0d29ya1JUQ1Byb3ZpZGVyLmggaW4gSGVhZGVycyAqLywKIAkJCQk3
QzFCQTMzRTFBNEEwRTYwMDA0M0UyNDkgLyogQVBJRGljdGlvbmFyeS5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJMUY3RDM2QzExOERBNTEzRjAwRDlENjU5IC8qIEFQSURvd25sb2FkQ2xpZW50LmggaW4g
SGVhZGVycyAqLywKKwkJCQk2QkU5NjlDQjFFNTRENENGMDA4Qjc0ODMgLyogUmVzb3VyY2VMb2Fk
U3RhdGlzdGljc0NsYXNzaWZpZXJDb2NvYS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTE2QTRBNUQx
MjBBMkNDRDAwQzA1QjdGIC8qIEFQSUVycm9yLmggaW4gSGVhZGVycyAqLywKIAkJCQkzMTdGRTdD
NTFDNDg3QTZDMDBBMENBODkgLyogQVBJRXhwZXJpbWVudGFsRmVhdHVyZS5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJMDBCOTY2MTYxOEUyNENCQTAwQ0UxRjg4IC8qIEFQSUZpbmRDbGllbnQuaCBpbiBI
ZWFkZXJzICovLApAQCAtODMyOCw2ICs4Mzc1LDcgQEAKIAkJCQkzMzA5MzQ0QTEzMTVCOTIyMDA5
N0E3QkMgLyogV2ViQ29va2llTWFuYWdlclByb3h5TWVzc2FnZXMuaCBpbiBIZWFkZXJzICovLAog
CQkJCUJDMUREN0IyMTE0REMzOTYwMDVBREFGMyAvKiBXZWJDb3JlQXJndW1lbnRDb2RlcnMuaCBp
biBIZWFkZXJzICovLAogCQkJCTUxMkY1ODlCMTJBODgzODgwMDYyOTUzMCAvKiBXZWJDcmVkZW50
aWFsLmggaW4gSGVhZGVycyAqLywKKwkJCQk2QkU5NjlDNTFFNTRENEE0MDA4Qjc0ODMgLyogUmVz
b3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTFBQTgz
RjZEMUE1QjYzRkYwMDAyNkVDNiAvKiBXZWJEYXRhYmFzZVByb3ZpZGVyLmggaW4gSGVhZGVycyAq
LywKIAkJCQlDRDE5QTI2RTFBMTNFODM0MDA4RDY1MEUgLyogV2ViRGlhZ25vc3RpY0xvZ2dpbmdD
bGllbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTFBNUIxQzU1MTg5ODdFREYwMDRGQ0Y5QiAvKiBX
ZWJEb2N1bWVudExvYWRlci5oIGluIEhlYWRlcnMgKi8sCkBAIC04NDEzLDYgKzg0NjEsNyBAQAog
CQkJCTUxMjEyN0M0MTkwODIzOUEwMERBRjM1QyAvKiBXZWJQYXN0ZWJvYXJkT3ZlcnJpZGVzLmgg
aW4gSGVhZGVycyAqLywKIAkJCQk3QzQ2OTREMTFBNTFFMzY4MDBBRDU4NDUgLyogV2ViUGFzdGVi
b2FyZFByb3h5LmggaW4gSGVhZGVycyAqLywKIAkJCQk3QzQ2OTRDQTFBNEI0RUExMDBBRDU4NDUg
LyogV2ViUGFzdGVib2FyZFByb3h5TWVzc2FnZXMuaCBpbiBIZWFkZXJzICovLAorCQkJCTZCMkUw
OUJBMUU1N0I4ODEwMEM4QThCOSAvKiBDb3JlUHJlZGljdGlvblNvZnRMaW5rLmggaW4gSGVhZGVy
cyAqLywKIAkJCQkxQUIxRjc5NzFEMUIzNjEzMDA3QzlCRDEgLyogV2ViUGF5bWVudENvb3JkaW5h
dG9yTWVzc2FnZXMuaCBpbiBIZWFkZXJzICovLAogCQkJCTFBQjFGNzhDMUQxQjMzNTUwMDdDOUJE
MSAvKiBXZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUFC
MUY3N0UxRDFCMzBBOTAwN0M5QkQxIC8qIFdlYlBheW1lbnRDb29yZGluYXRvclByb3h5Q29jb2Eu
aCBpbiBIZWFkZXJzICovLApAQCAtODUzMSw2ICs4NTgwLDcgQEAKIAkJCQlCQzdCNjMzRDEyQTQ1
RDEyMDBEMTc0QTQgLyogV0tCdW5kbGVQYWdlR3JvdXAuaCBpbiBIZWFkZXJzICovLAogCQkJCTFB
QjQ3NEQ4MTg0RDQzRkQwMDUxQjYyMiAvKiBXS0J1bmRsZVBhZ2VMb2FkZXJDbGllbnQuaCBpbiBI
ZWFkZXJzICovLAogCQkJCUVEODJBN0YyMTI4QzZGQUYwMDQ0NzdCMyAvKiBXS0J1bmRsZVBhZ2VP
dmVybGF5LmggaW4gSGVhZGVycyAqLywKKwkJCQk2QkU5NjlDRDFFNTRFMDU0MDA4Qjc0ODMgLyog
UmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXJCYXNlLmggaW4gSGVhZGVycyAqLywKIAkJ
CQkxQUI0NzRFQTE4NEQ0NTEzMDA1MUI2MjIgLyogV0tCdW5kbGVQYWdlUG9saWN5Q2xpZW50Lmgg
aW4gSGVhZGVycyAqLywKIAkJCQlCQzFCNDE5ODExRDQxRDU3MDAxMUU4REQgLyogV0tCdW5kbGVQ
YWdlUHJpdmF0ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUFCNDc0REExODRENDQyNTAwNTFCNjIy
IC8qIFdLQnVuZGxlUGFnZVJlc291cmNlTG9hZENsaWVudC5oIGluIEhlYWRlcnMgKi8sCkBAIC05
MDY0LDYgKzkxMTQsNyBAQAogCQkJCTdBNUUzOTRBMUQ1QkQ4QkUwMEI0QjdDRSAvKiBjb20ubWFj
cm9tZWRpYS5GbGFzaCBQbGF5ZXIgRVNSLnBsdWdpbi5zYiBpbiBSZXNvdXJjZXMgKi8sCiAJCQkJ
OERDMkVGNTMwNDg2QTY5NDAwOThCMjE2IC8qIEluZm9QbGlzdC5zdHJpbmdzIGluIFJlc291cmNl
cyAqLywKIAkJCQk5M0EyQTM0NjFEMjQ2MTI1MDAyQjU5RDMgLyogbWVkaWFJY29uLnBkZiBpbiBS
ZXNvdXJjZXMgKi8sCisJCQkJNkJFOTY5QzExRTU0RDQ1MjAwOEI3NDgzIC8qIGNvcmVQcmVkaWN0
aW9uX21vZGVsIGluIFJlc291cmNlcyAqLywKIAkJCSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVu
dFBvc3Rwcm9jZXNzaW5nID0gMDsKIAkJfTsKQEAgLTk2NTEsNiArOTcwMiw3IEBACiAJCQkJNTE3
OTU1NjcxNjI4NzZDQjAwRkE0M0I2IC8qIE5ldHdvcmtQcm9jZXNzTWFjLm1tIGluIFNvdXJjZXMg
Ki8sCiAJCQkJNTE2MzE5OTQxNjI4OUE2MDAwRTIyRjAwIC8qIE5ldHdvcmtQcm9jZXNzTWVzc2Fn
ZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUUxNEE5NTQ5MTZFMDE2QTQwMDY4REU4
MiAvKiBOZXR3b3JrUHJvY2Vzc1BsYXRmb3JtU3RyYXRlZ2llcy5jcHAgaW4gU291cmNlcyAqLywK
KwkJCQk2QkU5NjlDQTFFNTRENENGMDA4Qjc0ODMgLyogUmVzb3VyY2VMb2FkU3RhdGlzdGljc0Ns
YXNzaWZpZXJDb2NvYS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk1MTc5NTU2RDE2Mjg3N0IxMDBG
QTQzQjYgLyogTmV0d29ya1Byb2Nlc3NQcm94eS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk1MTYz
MTk5MjE2Mjg5ODBBMDBFMjJGMDAgLyogTmV0d29ya1Byb2Nlc3NQcm94eU1hYy5tbSBpbiBTb3Vy
Y2VzICovLAogCQkJCTUxM0ExNjNDMTYzMDg4RjYwMDVEN0QyMiAvKiBOZXR3b3JrUHJvY2Vzc1By
b3h5TWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICovLApAQCAtOTk5NSw2ICsxMDA0Nyw3
IEBACiAJCQkJRDNCOTQ4NDYxMUZGNEI2NTAwMDMyQjM5IC8qIFdlYlBvcHVwTWVudS5jcHAgaW4g
U291cmNlcyAqLywKIAkJCQlCQ0M0M0FDNzEyN0I5OURFMDAzMTdGMTYgLyogV2ViUG9wdXBNZW51
TWFjLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJQkM1NzUwOTgxMjY4RjNDNjAwNkYwRjEyIC8qIFdl
YlBvcHVwTWVudVByb3h5TWFjLm1tIGluIFNvdXJjZXMgKi8sCisJCQkJNkJFOTY5QzcxRTU0RDRC
NjAwOEI3NDgzIC8qIFJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQmFzZS5jcHAgaW4g
U291cmNlcyAqLywKIAkJCQlCQ0Q1OTgwMDExMkI1N0JFMDBFQzhDMjMgLyogV2ViUHJlZmVyZW5j
ZXMuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJN0M4NUZEN0YxOTM0MTY2NTAwMDE3N0M0IC8qIFdl
YlByZWZlcmVuY2VzS2V5cy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCQzg0RUIxODEyQTcxMDBD
MDA4M0YyREEgLyogV2ViUHJlZmVyZW5jZXNNYWMubW0gaW4gU291cmNlcyAqLywKSW5kZXg6IFRv
b2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJldmlzaW9uIDIx
MjkzMykKKysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDMyIEBA
CisyMDE3LTAyLTIzICBKb2huIFdpbGFuZGVyICA8d2lsYW5kZXJAYXBwbGUuY29tPgorCisgICAg
ICAgIFJlc291cmNlIExvYWQgU3RhdGlzdGljczogQWRkIGFsdGVybmF0ZSBjbGFzc2lmaWNhdGlv
biBtZXRob2QKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTE2ODM0NworICAgICAgICA8cmRhcjovL3Byb2JsZW0vMzAzNTI3OTM+CisgICAgICAgIDxyZGFy
Oi8vcHJvYmxlbS8zMDY0NjcxMD4KKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzMwNjYwNzA4Pgor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZGVkIHRo
cmVlIHRlc3RSdW5uZXIgZnVuY3Rpb25zIHRvIGZhY2lsaXRhdGUgbGF5b3V0IHRlc3RzOgorICAg
ICAgICAtIHNldFN0YXRpc3RpY3NTdWJmcmFtZVVuZGVyVG9wRnJhbWVPcmlnaW4oKQorICAgICAg
ICAtIHNldFN0YXRpc3RpY3NTdWJyZXNvdXJjZVVuZGVyVG9wRnJhbWVPcmlnaW4oKQorICAgICAg
ICAtIHNldFN0YXRpc3RpY3NTdWJyZXNvdXJjZVVuaXF1ZVJlZGlyZWN0VG8oKQorCisgICAgICAg
ICogV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9CaW5kaW5ncy9UZXN0UnVubmVyLmlk
bDoKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL1Rlc3RSdW5uZXIu
Y3BwOgorICAgICAgICAoV1RSOjpUZXN0UnVubmVyOjpzZXRTdGF0aXN0aWNzU3ViZnJhbWVVbmRl
clRvcEZyYW1lT3JpZ2luKToKKyAgICAgICAgKFdUUjo6VGVzdFJ1bm5lcjo6c2V0U3RhdGlzdGlj
c1N1YnJlc291cmNlVW5kZXJUb3BGcmFtZU9yaWdpbik6CisgICAgICAgIChXVFI6OlRlc3RSdW5u
ZXI6OnNldFN0YXRpc3RpY3NTdWJyZXNvdXJjZVVuaXF1ZVJlZGlyZWN0VG8pOgorICAgICAgICAq
IFdlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvVGVzdFJ1bm5lci5oOgorICAgICAgICAq
IFdlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuY3BwOgorICAgICAgICAoV1RSOjpUZXN0
Q29udHJvbGxlcjo6c2V0U3RhdGlzdGljc1N1YmZyYW1lVW5kZXJUb3BGcmFtZU9yaWdpbik6Cisg
ICAgICAgIChXVFI6OlRlc3RDb250cm9sbGVyOjpzZXRTdGF0aXN0aWNzU3VicmVzb3VyY2VVbmRl
clRvcEZyYW1lT3JpZ2luKToKKyAgICAgICAgKFdUUjo6VGVzdENvbnRyb2xsZXI6OnNldFN0YXRp
c3RpY3NTdWJyZXNvdXJjZVVuaXF1ZVJlZGlyZWN0VG8pOgorICAgICAgICAqIFdlYktpdFRlc3RS
dW5uZXIvVGVzdENvbnRyb2xsZXIuaDoKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL1Rlc3RJ
bnZvY2F0aW9uLmNwcDoKKyAgICAgICAgKFdUUjo6VGVzdEludm9jYXRpb246OmRpZFJlY2VpdmVT
eW5jaHJvbm91c01lc3NhZ2VGcm9tSW5qZWN0ZWRCdW5kbGUpOgorCiAyMDE3LTAyLTIzICBCZXRo
IERha2luICA8YmRha2luQGFwcGxlLmNvbT4gKyBEYW4gU2F1bmRlcnMgIDxkYXNhdUBtaWNyb3Nv
ZnQuY29tPgogCiAgICAgICAgIE5vIHJlbGlhYmxlIHdheSB0byBnZXQgYSBzbmFwc2hvdCBvZiBX
S1dlYlZpZXcgKG1hY09TKQpJbmRleDogVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJv
bGxlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJv
bGxlci5jcHAJKHJldmlzaW9uIDIxMjg5OCkKKysrIFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVz
dENvbnRyb2xsZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yMjI5LDYgKzIyMjksMjEgQEAgYm9v
bCBUZXN0Q29udHJvbGxlcjo6aXNTdGF0aXN0aWNzSGFzSGFkVQogICAgIHJldHVybiBXS1Jlc291
cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VySXNIYXNIYWRVc2VySW50ZXJhY3Rpb24oaG9zdE5hbWUp
OwogfQogCit2b2lkIFRlc3RDb250cm9sbGVyOjpzZXRTdGF0aXN0aWNzU3ViZnJhbWVVbmRlclRv
cEZyYW1lT3JpZ2luKFdLU3RyaW5nUmVmIGhvc3ROYW1lLCBXS1N0cmluZ1JlZiB0b3BGcmFtZUhv
c3ROYW1lKQoreworICAgIFdLUmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFnZXJTZXRTdWJmcmFt
ZVVuZGVyVG9wRnJhbWVPcmlnaW4oaG9zdE5hbWUsIHRvcEZyYW1lSG9zdE5hbWUpOworfQorCit2
b2lkIFRlc3RDb250cm9sbGVyOjpzZXRTdGF0aXN0aWNzU3VicmVzb3VyY2VVbmRlclRvcEZyYW1l
T3JpZ2luKFdLU3RyaW5nUmVmIGhvc3ROYW1lLCBXS1N0cmluZ1JlZiB0b3BGcmFtZUhvc3ROYW1l
KQoreworICAgIFdLUmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFnZXJTZXRTdWJyZXNvdXJjZVVu
ZGVyVG9wRnJhbWVPcmlnaW4oaG9zdE5hbWUsIHRvcEZyYW1lSG9zdE5hbWUpOworfQorICAgIAor
dm9pZCBUZXN0Q29udHJvbGxlcjo6c2V0U3RhdGlzdGljc1N1YnJlc291cmNlVW5pcXVlUmVkaXJl
Y3RUbyhXS1N0cmluZ1JlZiBob3N0TmFtZSwgV0tTdHJpbmdSZWYgaG9zdE5hbWVSZWRpcmVjdGVk
VG8pCit7CisgICAgV0tSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdlclNldFN1YnJlc291cmNl
VW5pcXVlUmVkaXJlY3RUbyhob3N0TmFtZSwgaG9zdE5hbWVSZWRpcmVjdGVkVG8pOworfQorCiB2
b2lkIFRlc3RDb250cm9sbGVyOjpzZXRTdGF0aXN0aWNzVGltZVRvTGl2ZVVzZXJJbnRlcmFjdGlv
bihkb3VibGUgc2Vjb25kcykKIHsKICAgICBXS1Jlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2Vy
U2V0VGltZVRvTGl2ZVVzZXJJbnRlcmFjdGlvbihzZWNvbmRzKTsKSW5kZXg6IFRvb2xzL1dlYktp
dFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9XZWJLaXRU
ZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmgJKHJldmlzaW9uIDIxMjg5OCkKKysrIFRvb2xzL1dl
YktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuaAkod29ya2luZyBjb3B5KQpAQCAtMTUyLDYg
KzE1Miw5IEBAIHB1YmxpYzoKICAgICBib29sIGlzU3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNl
KFdLU3RyaW5nUmVmIGhvc3ROYW1lKTsKICAgICB2b2lkIHNldFN0YXRpc3RpY3NIYXNIYWRVc2Vy
SW50ZXJhY3Rpb24oV0tTdHJpbmdSZWYgaG9zdE5hbWUsIGJvb2wgdmFsdWUpOwogICAgIGJvb2wg
aXNTdGF0aXN0aWNzSGFzSGFkVXNlckludGVyYWN0aW9uKFdLU3RyaW5nUmVmIGhvc3ROYW1lKTsK
KyAgICB2b2lkIHNldFN0YXRpc3RpY3NTdWJmcmFtZVVuZGVyVG9wRnJhbWVPcmlnaW4oV0tTdHJp
bmdSZWYgaG9zdE5hbWUsIFdLU3RyaW5nUmVmIHRvcEZyYW1lSG9zdE5hbWUpOworICAgIHZvaWQg
c2V0U3RhdGlzdGljc1N1YnJlc291cmNlVW5kZXJUb3BGcmFtZU9yaWdpbihXS1N0cmluZ1JlZiBo
b3N0TmFtZSwgV0tTdHJpbmdSZWYgdG9wRnJhbWVIb3N0TmFtZSk7CisgICAgdm9pZCBzZXRTdGF0
aXN0aWNzU3VicmVzb3VyY2VVbmlxdWVSZWRpcmVjdFRvKFdLU3RyaW5nUmVmIGhvc3ROYW1lLCBX
S1N0cmluZ1JlZiBob3N0TmFtZVJlZGlyZWN0ZWRUbyk7CiAgICAgdm9pZCBzZXRTdGF0aXN0aWNz
VGltZVRvTGl2ZVVzZXJJbnRlcmFjdGlvbihkb3VibGUgc2Vjb25kcyk7CiAgICAgdm9pZCBzdGF0
aXN0aWNzRmlyZURhdGFNb2RpZmljYXRpb25IYW5kbGVyKCk7CiAgICAgdm9pZCBzZXRTdGF0aXN0
aWNzTm90aWZ5UGFnZXNXaGVuRGF0YVJlY29yZHNXZXJlU2Nhbm5lZChib29sKTsKSW5kZXg6IFRv
b2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdEludm9jYXRpb24uY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRv
b2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdEludm9jYXRpb24uY3BwCShyZXZpc2lvbiAyMTI4OTgp
CisrKyBUb29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RJbnZvY2F0aW9uLmNwcAkod29ya2luZyBj
b3B5KQpAQCAtOTMyLDYgKzkzMiw0OCBAQCBXS1JldGFpblB0cjxXS1R5cGVSZWY+IFRlc3RJbnZv
Y2F0aW9uOjpkCiAgICAgICAgIHJldHVybiByZXN1bHQ7CiAgICAgfQogICAgIAorICAgIGlmIChX
S1N0cmluZ0lzRXF1YWxUb1VURjhDU3RyaW5nKG1lc3NhZ2VOYW1lLCAiU2V0U3RhdGlzdGljc1N1
YmZyYW1lVW5kZXJUb3BGcmFtZU9yaWdpbiIpKSB7CisgICAgICAgIEFTU0VSVChXS0dldFR5cGVJ
RChtZXNzYWdlQm9keSkgPT0gV0tEaWN0aW9uYXJ5R2V0VHlwZUlEKCkpOworICAgICAgICAKKyAg
ICAgICAgV0tEaWN0aW9uYXJ5UmVmIG1lc3NhZ2VCb2R5RGljdGlvbmFyeSA9IHN0YXRpY19jYXN0
PFdLRGljdGlvbmFyeVJlZj4obWVzc2FnZUJvZHkpOworICAgICAgICBXS1JldGFpblB0cjxXS1N0
cmluZ1JlZj4gaG9zdE5hbWVLZXkoQWRvcHRXSywgV0tTdHJpbmdDcmVhdGVXaXRoVVRGOENTdHJp
bmcoIkhvc3ROYW1lIikpOworICAgICAgICBXS1JldGFpblB0cjxXS1N0cmluZ1JlZj4gdG9wRnJh
bWVIb3N0TmFtZUtleShBZG9wdFdLLCBXS1N0cmluZ0NyZWF0ZVdpdGhVVEY4Q1N0cmluZygiVG9w
RnJhbWVIb3N0TmFtZSIpKTsKKyAgICAgICAgCisgICAgICAgIFdLU3RyaW5nUmVmIGhvc3ROYW1l
ID0gc3RhdGljX2Nhc3Q8V0tTdHJpbmdSZWY+KFdLRGljdGlvbmFyeUdldEl0ZW1Gb3JLZXkobWVz
c2FnZUJvZHlEaWN0aW9uYXJ5LCBob3N0TmFtZUtleS5nZXQoKSkpOworICAgICAgICBXS1N0cmlu
Z1JlZiB0b3BGcmFtZUhvc3ROYW1lID0gc3RhdGljX2Nhc3Q8V0tTdHJpbmdSZWY+KFdLRGljdGlv
bmFyeUdldEl0ZW1Gb3JLZXkobWVzc2FnZUJvZHlEaWN0aW9uYXJ5LCB0b3BGcmFtZUhvc3ROYW1l
S2V5LmdldCgpKSk7CisKKyAgICAgICAgVGVzdENvbnRyb2xsZXI6OnNpbmdsZXRvbigpLnNldFN0
YXRpc3RpY3NTdWJmcmFtZVVuZGVyVG9wRnJhbWVPcmlnaW4oaG9zdE5hbWUsIHRvcEZyYW1lSG9z
dE5hbWUpOworICAgICAgICByZXR1cm4gbnVsbHB0cjsKKyAgICB9CisgICAgCisgICAgaWYgKFdL
U3RyaW5nSXNFcXVhbFRvVVRGOENTdHJpbmcobWVzc2FnZU5hbWUsICJTZXRTdGF0aXN0aWNzU3Vi
cmVzb3VyY2VVbmRlclRvcEZyYW1lT3JpZ2luIikpIHsKKyAgICAgICAgQVNTRVJUKFdLR2V0VHlw
ZUlEKG1lc3NhZ2VCb2R5KSA9PSBXS0RpY3Rpb25hcnlHZXRUeXBlSUQoKSk7CisgICAgICAgIAor
ICAgICAgICBXS0RpY3Rpb25hcnlSZWYgbWVzc2FnZUJvZHlEaWN0aW9uYXJ5ID0gc3RhdGljX2Nh
c3Q8V0tEaWN0aW9uYXJ5UmVmPihtZXNzYWdlQm9keSk7CisgICAgICAgIFdLUmV0YWluUHRyPFdL
U3RyaW5nUmVmPiBob3N0TmFtZUtleShBZG9wdFdLLCBXS1N0cmluZ0NyZWF0ZVdpdGhVVEY4Q1N0
cmluZygiSG9zdE5hbWUiKSk7CisgICAgICAgIFdLUmV0YWluUHRyPFdLU3RyaW5nUmVmPiB0b3BG
cmFtZUhvc3ROYW1lS2V5KEFkb3B0V0ssIFdLU3RyaW5nQ3JlYXRlV2l0aFVURjhDU3RyaW5nKCJU
b3BGcmFtZUhvc3ROYW1lIikpOworICAgICAgICAKKyAgICAgICAgV0tTdHJpbmdSZWYgaG9zdE5h
bWUgPSBzdGF0aWNfY2FzdDxXS1N0cmluZ1JlZj4oV0tEaWN0aW9uYXJ5R2V0SXRlbUZvcktleSht
ZXNzYWdlQm9keURpY3Rpb25hcnksIGhvc3ROYW1lS2V5LmdldCgpKSk7CisgICAgICAgIFdLU3Ry
aW5nUmVmIHRvcEZyYW1lSG9zdE5hbWUgPSBzdGF0aWNfY2FzdDxXS1N0cmluZ1JlZj4oV0tEaWN0
aW9uYXJ5R2V0SXRlbUZvcktleShtZXNzYWdlQm9keURpY3Rpb25hcnksIHRvcEZyYW1lSG9zdE5h
bWVLZXkuZ2V0KCkpKTsKKyAgICAgICAgCisgICAgICAgIFRlc3RDb250cm9sbGVyOjpzaW5nbGV0
b24oKS5zZXRTdGF0aXN0aWNzU3VicmVzb3VyY2VVbmRlclRvcEZyYW1lT3JpZ2luKGhvc3ROYW1l
LCB0b3BGcmFtZUhvc3ROYW1lKTsKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7CisgICAgfQorICAg
IAorICAgIGlmIChXS1N0cmluZ0lzRXF1YWxUb1VURjhDU3RyaW5nKG1lc3NhZ2VOYW1lLCAiU2V0
U3RhdGlzdGljc1N1YnJlc291cmNlVW5pcXVlUmVkaXJlY3RUbyIpKSB7CisgICAgICAgIEFTU0VS
VChXS0dldFR5cGVJRChtZXNzYWdlQm9keSkgPT0gV0tEaWN0aW9uYXJ5R2V0VHlwZUlEKCkpOwor
ICAgICAgICAKKyAgICAgICAgV0tEaWN0aW9uYXJ5UmVmIG1lc3NhZ2VCb2R5RGljdGlvbmFyeSA9
IHN0YXRpY19jYXN0PFdLRGljdGlvbmFyeVJlZj4obWVzc2FnZUJvZHkpOworICAgICAgICBXS1Jl
dGFpblB0cjxXS1N0cmluZ1JlZj4gaG9zdE5hbWVLZXkoQWRvcHRXSywgV0tTdHJpbmdDcmVhdGVX
aXRoVVRGOENTdHJpbmcoIkhvc3ROYW1lIikpOworICAgICAgICBXS1JldGFpblB0cjxXS1N0cmlu
Z1JlZj4gaG9zdE5hbWVSZWRpcmVjdGVkVG9LZXkoQWRvcHRXSywgV0tTdHJpbmdDcmVhdGVXaXRo
VVRGOENTdHJpbmcoIkhvc3ROYW1lUmVkaXJlY3RlZFRvIikpOworICAgICAgICAKKyAgICAgICAg
V0tTdHJpbmdSZWYgaG9zdE5hbWUgPSBzdGF0aWNfY2FzdDxXS1N0cmluZ1JlZj4oV0tEaWN0aW9u
YXJ5R2V0SXRlbUZvcktleShtZXNzYWdlQm9keURpY3Rpb25hcnksIGhvc3ROYW1lS2V5LmdldCgp
KSk7CisgICAgICAgIFdLU3RyaW5nUmVmIGhvc3ROYW1lUmVkaXJlY3RlZFRvID0gc3RhdGljX2Nh
c3Q8V0tTdHJpbmdSZWY+KFdLRGljdGlvbmFyeUdldEl0ZW1Gb3JLZXkobWVzc2FnZUJvZHlEaWN0
aW9uYXJ5LCBob3N0TmFtZVJlZGlyZWN0ZWRUb0tleS5nZXQoKSkpOworICAgICAgICAKKyAgICAg
ICAgVGVzdENvbnRyb2xsZXI6OnNpbmdsZXRvbigpLnNldFN0YXRpc3RpY3NTdWJyZXNvdXJjZVVu
aXF1ZVJlZGlyZWN0VG8oaG9zdE5hbWUsIGhvc3ROYW1lUmVkaXJlY3RlZFRvKTsKKyAgICAgICAg
cmV0dXJuIG51bGxwdHI7CisgICAgfQorCiAgICAgaWYgKFdLU3RyaW5nSXNFcXVhbFRvVVRGOENT
dHJpbmcobWVzc2FnZU5hbWUsICJTZXRTdGF0aXN0aWNzVGltZVRvTGl2ZVVzZXJJbnRlcmFjdGlv
biIpKSB7CiAgICAgICAgIEFTU0VSVChXS0dldFR5cGVJRChtZXNzYWdlQm9keSkgPT0gV0tEb3Vi
bGVHZXRUeXBlSUQoKSk7CiAgICAgICAgIFdLRG91YmxlUmVmIHNlY29uZHMgPSBzdGF0aWNfY2Fz
dDxXS0RvdWJsZVJlZj4obWVzc2FnZUJvZHkpOwpJbmRleDogVG9vbHMvV2ViS2l0VGVzdFJ1bm5l
ci9JbmplY3RlZEJ1bmRsZS9UZXN0UnVubmVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9XZWJL
aXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL1Rlc3RSdW5uZXIuY3BwCShyZXZpc2lvbiAyMTI4
OTgpCisrKyBUb29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL1Rlc3RSdW5uZXIu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMjI2LDYgKzEyMjYsNzggQEAgYm9vbCBUZXN0UnVubmVy
Ojppc1N0YXRpc3RpY3NIYXNIYWRVc2VySQogICAgIHJldHVybiBXS0Jvb2xlYW5HZXRWYWx1ZShz
dGF0aWNfY2FzdDxXS0Jvb2xlYW5SZWY+KHJldHVybkRhdGEpKTsKIH0KIAordm9pZCBUZXN0UnVu
bmVyOjpzZXRTdGF0aXN0aWNzU3ViZnJhbWVVbmRlclRvcEZyYW1lT3JpZ2luKEpTU3RyaW5nUmVm
IGhvc3ROYW1lLCBKU1N0cmluZ1JlZiB0b3BGcmFtZUhvc3ROYW1lKQoreworICAgIFZlY3RvcjxX
S1JldGFpblB0cjxXS1N0cmluZ1JlZj4+IGtleXM7CisgICAgVmVjdG9yPFdLUmV0YWluUHRyPFdL
VHlwZVJlZj4+IHZhbHVlczsKKyAgICAKKyAgICBrZXlzLmFwcGVuZCh7IEFkb3B0V0ssIFdLU3Ry
aW5nQ3JlYXRlV2l0aFVURjhDU3RyaW5nKCJIb3N0TmFtZSIpIH0pOworICAgIHZhbHVlcy5hcHBl
bmQoeyBBZG9wdFdLLCBXS1N0cmluZ0NyZWF0ZVdpdGhKU1N0cmluZyhob3N0TmFtZSkgfSk7Cisg
ICAgCisgICAga2V5cy5hcHBlbmQoeyBBZG9wdFdLLCBXS1N0cmluZ0NyZWF0ZVdpdGhVVEY4Q1N0
cmluZygiVG9wRnJhbWVIb3N0TmFtZSIpIH0pOworICAgIHZhbHVlcy5hcHBlbmQoeyBBZG9wdFdL
LCBXS1N0cmluZ0NyZWF0ZVdpdGhKU1N0cmluZyh0b3BGcmFtZUhvc3ROYW1lKSB9KTsKKyAgICAK
KyAgICBWZWN0b3I8V0tTdHJpbmdSZWY+IHJhd0tleXMoa2V5cy5zaXplKCkpOworICAgIFZlY3Rv
cjxXS1R5cGVSZWY+IHJhd1ZhbHVlcyh2YWx1ZXMuc2l6ZSgpKTsKKyAgICAKKyAgICBmb3IgKHNp
emVfdCBpID0gMDsgaSA8IGtleXMuc2l6ZSgpOyArK2kpIHsKKyAgICAgICAgcmF3S2V5c1tpXSA9
IGtleXNbaV0uZ2V0KCk7CisgICAgICAgIHJhd1ZhbHVlc1tpXSA9IHZhbHVlc1tpXS5nZXQoKTsK
KyAgICB9CisgICAgCisgICAgV0tSZXRhaW5QdHI8V0tTdHJpbmdSZWY+IG1lc3NhZ2VOYW1lKEFk
b3B0V0ssIFdLU3RyaW5nQ3JlYXRlV2l0aFVURjhDU3RyaW5nKCJTZXRTdGF0aXN0aWNzU3ViZnJh
bWVVbmRlclRvcEZyYW1lT3JpZ2luIikpOworICAgIFdLUmV0YWluUHRyPFdLRGljdGlvbmFyeVJl
Zj4gbWVzc2FnZUJvZHkoQWRvcHRXSywgV0tEaWN0aW9uYXJ5Q3JlYXRlKHJhd0tleXMuZGF0YSgp
LCByYXdWYWx1ZXMuZGF0YSgpLCByYXdLZXlzLnNpemUoKSkpOworICAgIFdLQnVuZGxlUG9zdFN5
bmNocm9ub3VzTWVzc2FnZShJbmplY3RlZEJ1bmRsZTo6c2luZ2xldG9uKCkuYnVuZGxlKCksIG1l
c3NhZ2VOYW1lLmdldCgpLCBtZXNzYWdlQm9keS5nZXQoKSwgbnVsbHB0cik7Cit9CisKK3ZvaWQg
VGVzdFJ1bm5lcjo6c2V0U3RhdGlzdGljc1N1YnJlc291cmNlVW5kZXJUb3BGcmFtZU9yaWdpbihK
U1N0cmluZ1JlZiBob3N0TmFtZSwgSlNTdHJpbmdSZWYgdG9wRnJhbWVIb3N0TmFtZSkKK3sKKyAg
ICBWZWN0b3I8V0tSZXRhaW5QdHI8V0tTdHJpbmdSZWY+PiBrZXlzOworICAgIFZlY3RvcjxXS1Jl
dGFpblB0cjxXS1R5cGVSZWY+PiB2YWx1ZXM7CisgICAgCisgICAga2V5cy5hcHBlbmQoeyBBZG9w
dFdLLCBXS1N0cmluZ0NyZWF0ZVdpdGhVVEY4Q1N0cmluZygiSG9zdE5hbWUiKSB9KTsKKyAgICB2
YWx1ZXMuYXBwZW5kKHsgQWRvcHRXSywgV0tTdHJpbmdDcmVhdGVXaXRoSlNTdHJpbmcoaG9zdE5h
bWUpIH0pOworICAgIAorICAgIGtleXMuYXBwZW5kKHsgQWRvcHRXSywgV0tTdHJpbmdDcmVhdGVX
aXRoVVRGOENTdHJpbmcoIlRvcEZyYW1lSG9zdE5hbWUiKSB9KTsKKyAgICB2YWx1ZXMuYXBwZW5k
KHsgQWRvcHRXSywgV0tTdHJpbmdDcmVhdGVXaXRoSlNTdHJpbmcodG9wRnJhbWVIb3N0TmFtZSkg
fSk7CisgICAgCisgICAgVmVjdG9yPFdLU3RyaW5nUmVmPiByYXdLZXlzKGtleXMuc2l6ZSgpKTsK
KyAgICBWZWN0b3I8V0tUeXBlUmVmPiByYXdWYWx1ZXModmFsdWVzLnNpemUoKSk7CisgICAgCisg
ICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBrZXlzLnNpemUoKTsgKytpKSB7CisgICAgICAgIHJh
d0tleXNbaV0gPSBrZXlzW2ldLmdldCgpOworICAgICAgICByYXdWYWx1ZXNbaV0gPSB2YWx1ZXNb
aV0uZ2V0KCk7CisgICAgfQorICAgIAorICAgIFdLUmV0YWluUHRyPFdLU3RyaW5nUmVmPiBtZXNz
YWdlTmFtZShBZG9wdFdLLCBXS1N0cmluZ0NyZWF0ZVdpdGhVVEY4Q1N0cmluZygiU2V0U3RhdGlz
dGljc1N1YnJlc291cmNlVW5kZXJUb3BGcmFtZU9yaWdpbiIpKTsKKyAgICBXS1JldGFpblB0cjxX
S0RpY3Rpb25hcnlSZWY+IG1lc3NhZ2VCb2R5KEFkb3B0V0ssIFdLRGljdGlvbmFyeUNyZWF0ZShy
YXdLZXlzLmRhdGEoKSwgcmF3VmFsdWVzLmRhdGEoKSwgcmF3S2V5cy5zaXplKCkpKTsKKyAgICBX
S0J1bmRsZVBvc3RTeW5jaHJvbm91c01lc3NhZ2UoSW5qZWN0ZWRCdW5kbGU6OnNpbmdsZXRvbigp
LmJ1bmRsZSgpLCBtZXNzYWdlTmFtZS5nZXQoKSwgbWVzc2FnZUJvZHkuZ2V0KCksIG51bGxwdHIp
OworfQorCit2b2lkIFRlc3RSdW5uZXI6OnNldFN0YXRpc3RpY3NTdWJyZXNvdXJjZVVuaXF1ZVJl
ZGlyZWN0VG8oSlNTdHJpbmdSZWYgaG9zdE5hbWUsIEpTU3RyaW5nUmVmIGhvc3ROYW1lUmVkaXJl
Y3RlZFRvKQoreworICAgIFZlY3RvcjxXS1JldGFpblB0cjxXS1N0cmluZ1JlZj4+IGtleXM7Cisg
ICAgVmVjdG9yPFdLUmV0YWluUHRyPFdLVHlwZVJlZj4+IHZhbHVlczsKKyAgICAKKyAgICBrZXlz
LmFwcGVuZCh7IEFkb3B0V0ssIFdLU3RyaW5nQ3JlYXRlV2l0aFVURjhDU3RyaW5nKCJIb3N0TmFt
ZSIpIH0pOworICAgIHZhbHVlcy5hcHBlbmQoeyBBZG9wdFdLLCBXS1N0cmluZ0NyZWF0ZVdpdGhK
U1N0cmluZyhob3N0TmFtZSkgfSk7CisgICAgCisgICAga2V5cy5hcHBlbmQoeyBBZG9wdFdLLCBX
S1N0cmluZ0NyZWF0ZVdpdGhVVEY4Q1N0cmluZygiSG9zdE5hbWVSZWRpcmVjdGVkVG8iKSB9KTsK
KyAgICB2YWx1ZXMuYXBwZW5kKHsgQWRvcHRXSywgV0tTdHJpbmdDcmVhdGVXaXRoSlNTdHJpbmco
aG9zdE5hbWVSZWRpcmVjdGVkVG8pIH0pOworICAgIAorICAgIFZlY3RvcjxXS1N0cmluZ1JlZj4g
cmF3S2V5cyhrZXlzLnNpemUoKSk7CisgICAgVmVjdG9yPFdLVHlwZVJlZj4gcmF3VmFsdWVzKHZh
bHVlcy5zaXplKCkpOworICAgIAorICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwga2V5cy5zaXpl
KCk7ICsraSkgeworICAgICAgICByYXdLZXlzW2ldID0ga2V5c1tpXS5nZXQoKTsKKyAgICAgICAg
cmF3VmFsdWVzW2ldID0gdmFsdWVzW2ldLmdldCgpOworICAgIH0KKyAgICAKKyAgICBXS1JldGFp
blB0cjxXS1N0cmluZ1JlZj4gbWVzc2FnZU5hbWUoQWRvcHRXSywgV0tTdHJpbmdDcmVhdGVXaXRo
VVRGOENTdHJpbmcoIlNldFN0YXRpc3RpY3NTdWJyZXNvdXJjZVVuaXF1ZVJlZGlyZWN0VG8iKSk7
CisgICAgV0tSZXRhaW5QdHI8V0tEaWN0aW9uYXJ5UmVmPiBtZXNzYWdlQm9keShBZG9wdFdLLCBX
S0RpY3Rpb25hcnlDcmVhdGUocmF3S2V5cy5kYXRhKCksIHJhd1ZhbHVlcy5kYXRhKCksIHJhd0tl
eXMuc2l6ZSgpKSk7CisgICAgV0tCdW5kbGVQb3N0U3luY2hyb25vdXNNZXNzYWdlKEluamVjdGVk
QnVuZGxlOjpzaW5nbGV0b24oKS5idW5kbGUoKSwgbWVzc2FnZU5hbWUuZ2V0KCksIG1lc3NhZ2VC
b2R5LmdldCgpLCBudWxscHRyKTsKK30KKwogdm9pZCBUZXN0UnVubmVyOjpzZXRTdGF0aXN0aWNz
VGltZVRvTGl2ZVVzZXJJbnRlcmFjdGlvbihkb3VibGUgc2Vjb25kcykKIHsKICAgICBXS1JldGFp
blB0cjxXS1N0cmluZ1JlZj4gbWVzc2FnZU5hbWUoQWRvcHRXSywgV0tTdHJpbmdDcmVhdGVXaXRo
VVRGOENTdHJpbmcoIlNldFN0YXRpc3RpY3NUaW1lVG9MaXZlVXNlckludGVyYWN0aW9uIikpOwpJ
bmRleDogVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9UZXN0UnVubmVyLmgK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9UZXN0
UnVubmVyLmgJKHJldmlzaW9uIDIxMjg5OCkKKysrIFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5q
ZWN0ZWRCdW5kbGUvVGVzdFJ1bm5lci5oCSh3b3JraW5nIGNvcHkpCkBAIC0zNTQsNiArMzU0LDkg
QEAgcHVibGljOgogICAgIGJvb2wgaXNTdGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2UoSlNTdHJp
bmdSZWYgaG9zdE5hbWUpOwogICAgIHZvaWQgc2V0U3RhdGlzdGljc0hhc0hhZFVzZXJJbnRlcmFj
dGlvbihKU1N0cmluZ1JlZiBob3N0TmFtZSwgYm9vbCB2YWx1ZSk7CiAgICAgYm9vbCBpc1N0YXRp
c3RpY3NIYXNIYWRVc2VySW50ZXJhY3Rpb24oSlNTdHJpbmdSZWYgaG9zdE5hbWUpOworICAgIHZv
aWQgc2V0U3RhdGlzdGljc1N1YmZyYW1lVW5kZXJUb3BGcmFtZU9yaWdpbihKU1N0cmluZ1JlZiBo
b3N0TmFtZSwgSlNTdHJpbmdSZWYgdG9wRnJhbWVIb3N0TmFtZSk7CisgICAgdm9pZCBzZXRTdGF0
aXN0aWNzU3VicmVzb3VyY2VVbmRlclRvcEZyYW1lT3JpZ2luKEpTU3RyaW5nUmVmIGhvc3ROYW1l
LCBKU1N0cmluZ1JlZiB0b3BGcmFtZUhvc3ROYW1lKTsKKyAgICB2b2lkIHNldFN0YXRpc3RpY3NT
dWJyZXNvdXJjZVVuaXF1ZVJlZGlyZWN0VG8oSlNTdHJpbmdSZWYgaG9zdE5hbWUsIEpTU3RyaW5n
UmVmIGhvc3ROYW1lUmVkaXJlY3RlZFRvKTsKICAgICB2b2lkIHNldFN0YXRpc3RpY3NUaW1lVG9M
aXZlVXNlckludGVyYWN0aW9uKGRvdWJsZSBzZWNvbmRzKTsKICAgICB2b2lkIHNldFN0YXRpc3Rp
Y3NOb3RpZnlQYWdlc1doZW5EYXRhUmVjb3Jkc1dlcmVTY2FubmVkKGJvb2wpOwogICAgIHZvaWQg
c2V0U3RhdGlzdGljc1Nob3VsZENsYXNzaWZ5UmVzb3VyY2VzQmVmb3JlRGF0YVJlY29yZHNSZW1v
dmFsKGJvb2wpOwpJbmRleDogVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9C
aW5kaW5ncy9UZXN0UnVubmVyLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9XZWJLaXRUZXN0UnVu
bmVyL0luamVjdGVkQnVuZGxlL0JpbmRpbmdzL1Rlc3RSdW5uZXIuaWRsCShyZXZpc2lvbiAyMTI4
OTgpCisrKyBUb29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0JpbmRpbmdzL1Rl
c3RSdW5uZXIuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yNTMsNiArMjUzLDkgQEAgaW50ZXJmYWNl
IFRlc3RSdW5uZXIgewogICAgIGJvb2xlYW4gaXNTdGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2Uo
RE9NU3RyaW5nIGhvc3ROYW1lKTsKICAgICB2b2lkIHNldFN0YXRpc3RpY3NIYXNIYWRVc2VySW50
ZXJhY3Rpb24oRE9NU3RyaW5nIGhvc3ROYW1lLCBib29sZWFuIHZhbHVlKTsKICAgICBib29sZWFu
IGlzU3RhdGlzdGljc0hhc0hhZFVzZXJJbnRlcmFjdGlvbihET01TdHJpbmcgaG9zdE5hbWUpOwor
ICAgIHZvaWQgc2V0U3RhdGlzdGljc1N1YmZyYW1lVW5kZXJUb3BGcmFtZU9yaWdpbihET01TdHJp
bmcgaG9zdE5hbWUsIERPTVN0cmluZyB0b3BGcmFtZUhvc3ROYW1lKTsKKyAgICB2b2lkIHNldFN0
YXRpc3RpY3NTdWJyZXNvdXJjZVVuZGVyVG9wRnJhbWVPcmlnaW4oRE9NU3RyaW5nIGhvc3ROYW1l
LCBET01TdHJpbmcgdG9wRnJhbWVIb3N0TmFtZSk7CisgICAgdm9pZCBzZXRTdGF0aXN0aWNzU3Vi
cmVzb3VyY2VVbmlxdWVSZWRpcmVjdFRvKERPTVN0cmluZyBob3N0TmFtZSwgRE9NU3RyaW5nIGhv
c3ROYW1lUmVkaXJlY3RlZFRvKTsKICAgICB2b2lkIHNldFN0YXRpc3RpY3NUaW1lVG9MaXZlVXNl
ckludGVyYWN0aW9uKGRvdWJsZSBzZWNvbmRzKTsKICAgICB2b2lkIHN0YXRpc3RpY3NGaXJlRGF0
YU1vZGlmaWNhdGlvbkhhbmRsZXIoKTsKICAgICB2b2lkIHNldFN0YXRpc3RpY3NOb3RpZnlQYWdl
c1doZW5EYXRhUmVjb3Jkc1dlcmVTY2FubmVkKGJvb2xlYW4gdmFsdWUpOwpJbmRleDogV2ViS2l0
TGlicmFyaWVzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXRMaWJyYXJpZXMvQ2hhbmdl
TG9nCShyZXZpc2lvbiAyMTI4OTgpCisrKyBXZWJLaXRMaWJyYXJpZXMvQ2hhbmdlTG9nCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTctMDItMjMgIEpvaG4gV2lsYW5kZXIgIDx3
aWxhbmRlckBhcHBsZS5jb20+CisKKyAgICAgICAgUmVzb3VyY2UgTG9hZCBTdGF0aXN0aWNzOiBB
ZGQgYWx0ZXJuYXRlIGNsYXNzaWZpY2F0aW9uIG1ldGhvZAorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY4MzQ3CisgICAgICAgIDxyZGFyOi8vcHJvYmxl
bS8zMDM1Mjc5Mz4KKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzMwNjQ2NzEwPgorICAgICAgICA8
cmRhcjovL3Byb2JsZW0vMzA2NjA3MDg+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgKiBXZWJLaXRQcml2YXRlRnJhbWV3b3JrU3R1YnMvaU9TLzEwL0Nv
cmVQcmVkaWN0aW9uLmZyYW1ld29yay9Db3JlUHJlZGljdGlvbi50YmQ6IEFkZGVkLgorICAgICAg
ICAgICAgU3R1YnMgZm9yIHByaXZhdGUgZnJhbWV3b3JrLgorCiAyMDE3LTAyLTIwICBSeWFuIEhh
ZGRhZCAgPHJ5YW5oYWRkYWRAYXBwbGUuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxp
bmcgb3V0IHIyMTI2ODUuCkluZGV4OiBXZWJLaXRMaWJyYXJpZXMvV2ViS2l0UHJpdmF0ZUZyYW1l
d29ya1N0dWJzL2lPUy8xMC9Db3JlUHJlZGljdGlvbi5mcmFtZXdvcmsvQ29yZVByZWRpY3Rpb24u
dGJkCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFdlYktpdExpYnJhcmllcy9XZWJLaXRQcml2YXRlRnJhbWV3b3Jr
U3R1YnMvaU9TLzEwL0NvcmVQcmVkaWN0aW9uLmZyYW1ld29yay9Db3JlUHJlZGljdGlvbi50YmQJ
KG5vbmV4aXN0ZW50KQorKysgV2ViS2l0TGlicmFyaWVzL1dlYktpdFByaXZhdGVGcmFtZXdvcmtT
dHVicy9pT1MvMTAvQ29yZVByZWRpY3Rpb24uZnJhbWV3b3JrL0NvcmVQcmVkaWN0aW9uLnRiZAko
d29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDE4IEBACistLS0gIXRhcGktdGJkLXYyCithcmNoczoK
KyAgLSBhcm12NworICAtIGFybXY3cworICAtIGFybTY0CitleHBvcnRzOgorICAtCisgICAgYXJj
aHM6CisgICAgICAtIGFybXY3CisgICAgICAtIGFybXY3cworICAgICAgLSBhcm02NAorICAgIHN5
bWJvbHM6CisgICAgICAtIF9zdm1fbG9hZF9tb2RlbAorICAgICAgLSBfc3ZtX3ByZWRpY3RfdmFs
dWVzCitpbnN0YWxsLW5hbWU6IC9TeXN0ZW0vTGlicmFyeS9Qcml2YXRlRnJhbWV3b3Jrcy9Db3Jl
UHJlZGljdGlvbi5mcmFtZXdvcmsKK29iamMtY29uc3RyYWludDogbm9uZQorcGxhdGZvcm06IGlv
cworLi4uCkluZGV4OiBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nCShyZXZpc2lvbiAyMTI4OTgpCisrKyBMYXlvdXRUZXN0cy9DaGFuZ2VM
b2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSw0NSBAQAorMjAxNy0wMi0yMyAgSm9obiBXaWxh
bmRlciAgPHdpbGFuZGVyQGFwcGxlLmNvbT4KKworICAgICAgICBSZXNvdXJjZSBMb2FkIFN0YXRp
c3RpY3M6IEFkZCBhbHRlcm5hdGUgY2xhc3NpZmljYXRpb24gbWV0aG9kCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjgzNDcKKyAgICAgICAgPHJkYXI6
Ly9wcm9ibGVtLzMwMzUyNzkzPgorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMzA2NDY3MTA+Cisg
ICAgICAgIDxyZGFyOi8vcHJvYmxlbS8zMDY2MDcwOD4KKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGh0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxv
YWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLW5vbi1wcmV2YWxlbnQtYmFzZWQtb24tbWl4ZWQtc3Rh
dGlzdGljcy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvbG9hZGlu
Zy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLW5vbi1wcmV2YWxlbnQtYmFzZWQt
b24tbWl4ZWQtc3RhdGlzdGljcy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2xv
YWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1ub24tcHJldmFsZW50LWJh
c2VkLW9uLXN1Yi1mcmFtZS11bmRlci10b3AtZnJhbWUtb3JpZ2lucy1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNz
L2NsYXNzaWZ5LWFzLW5vbi1wcmV2YWxlbnQtYmFzZWQtb24tc3ViLWZyYW1lLXVuZGVyLXRvcC1m
cmFtZS1vcmlnaW5zLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvbG9hZGluZy9y
ZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLW5vbi1wcmV2YWxlbnQtYmFzZWQtb24t
c3VicmVzb3VyY2UtdW5kZXItdG9wLWZyYW1lLW9yaWdpbnMtZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiBodHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFz
c2lmeS1hcy1ub24tcHJldmFsZW50LWJhc2VkLW9uLXN1YnJlc291cmNlLXVuZGVyLXRvcC1mcmFt
ZS1vcmlnaW5zLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvbG9hZGluZy9yZXNv
dXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLW5vbi1wcmV2YWxlbnQtYmFzZWQtb24tc3Vi
cmVzb3VyY2UtdW5pcXVlLXJlZGlyZWN0cy10by1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIGh0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFz
LW5vbi1wcmV2YWxlbnQtYmFzZWQtb24tc3VicmVzb3VyY2UtdW5pcXVlLXJlZGlyZWN0cy10by5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3Rh
dGlzdGljcy9jbGFzc2lmeS1hcy1wcmV2YWxlbnQtYmFzZWQtb24tbWl4ZWQtc3RhdGlzdGljcy1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLXByZXZhbGVudC1iYXNlZC1vbi1taXhlZC1zdGF0
aXN0aWNzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLXByZXZhbGVudC1iYXNlZC1vbi1zdWItZnJhbWUt
dW5kZXItdG9wLWZyYW1lLW9yaWdpbnMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBo
dHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1wcmV2
YWxlbnQtYmFzZWQtb24tc3ViLWZyYW1lLXVuZGVyLXRvcC1mcmFtZS1vcmlnaW5zLmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNz
L2NsYXNzaWZ5LWFzLXByZXZhbGVudC1iYXNlZC1vbi1zdWJyZXNvdXJjZS11bmRlci10b3AtZnJh
bWUtb3JpZ2lucy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvbG9h
ZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLXByZXZhbGVudC1iYXNlZC1v
bi1zdWJyZXNvdXJjZS11bmRlci10b3AtZnJhbWUtb3JpZ2lucy5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBodHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1h
cy1wcmV2YWxlbnQtYmFzZWQtb24tc3VicmVzb3VyY2UtdW5pcXVlLXJlZGlyZWN0cy10by1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxv
YWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLXByZXZhbGVudC1iYXNlZC1vbi1zdWJyZXNvdXJjZS11
bmlxdWUtcmVkaXJlY3RzLXRvLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvbG9h
ZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL25vbi1wcmV2YWxlbnQtcmVzb3VyY2Utd2l0aC11
c2VyLWludGVyYWN0aW9uLmh0bWw6CisgICAgICAgICAgICBBZGRlZCBhIGNhbGwgdG8gaW50ZXJu
YWxzLnNldFJlc291cmNlTG9hZFN0YXRpc3RpY3NFbmFibGVkKGZhbHNlKSBiZWZvcmUgdGVzdFJ1
bm5lci5ub3RpZnlEb25lKCkuCisgICAgICAgICogaHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNl
TG9hZFN0YXRpc3RpY3Mvbm9uLXByZXZhbGVudC1yZXNvdXJjZS13aXRob3V0LXVzZXItaW50ZXJh
Y3Rpb24uaHRtbDoKKyAgICAgICAgICAgIEFkZGVkIGEgY2FsbCB0byBpbnRlcm5hbHMuc2V0UmVz
b3VyY2VMb2FkU3RhdGlzdGljc0VuYWJsZWQoZmFsc2UpIGJlZm9yZSB0ZXN0UnVubmVyLm5vdGlm
eURvbmUoKS4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlz
dGljcy9wcmV2YWxlbnQtcmVzb3VyY2Utd2l0aC11c2VyLWludGVyYWN0aW9uLXRpbWVvdXQuaHRt
bDoKKyAgICAgICAgICAgIEFkZGVkIGEgY2FsbCB0byBpbnRlcm5hbHMuc2V0UmVzb3VyY2VMb2Fk
U3RhdGlzdGljc0VuYWJsZWQoZmFsc2UpIGJlZm9yZSB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKS4K
KyAgICAgICAgKiBodHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9wcmV2
YWxlbnQtcmVzb3VyY2Utd2l0aC11c2VyLWludGVyYWN0aW9uLmh0bWw6CisgICAgICAgICAgICBB
ZGRlZCBhIGNhbGwgdG8gaW50ZXJuYWxzLnNldFJlc291cmNlTG9hZFN0YXRpc3RpY3NFbmFibGVk
KGZhbHNlKSBiZWZvcmUgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCkuCisgICAgICAgICogaHR0cC90
ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvcHJldmFsZW50LXJlc291cmNlLXdp
dGhvdXQtdXNlci1pbnRlcmFjdGlvbi5odG1sOgorICAgICAgICAgICAgQWRkZWQgYSBjYWxsIHRv
IGludGVybmFscy5zZXRSZXNvdXJjZUxvYWRTdGF0aXN0aWNzRW5hYmxlZChmYWxzZSkgYmVmb3Jl
IHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpLgorICAgICAgICAqIHBsYXRmb3JtL2d0ay9UZXN0RXhw
ZWN0YXRpb25zOgorICAgICAgICAgICAgVGhlIHdob2xlIGh0dHAvdGVzdHMvbG9hZGluZy9yZXNv
dXJjZUxvYWRTdGF0aXN0aWNzIG1hcmtlZCBhcyBjcmFzaGluZyBiYXNlZCBvbgorICAgICAgICAg
ICAgQ2FybG9zIEdhcmNpYSBDYW1wb3MncyBhc3Nlc3NtZW50IGluIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjgxNzEuCisgICAgICAgICogcGxhdGZvcm0vd2syL1Rl
c3RFeHBlY3RhdGlvbnM6CisgICAgICAgICAgICBUaGUgYWJvdmUgdGVzdHMgYXJlIG9ubHkgdmFs
aWQgZm9yIFdlYktpdDIuIE1hcmtlZCBhcyBbIFBhc3MgXS4KKwogMjAxNy0wMi0yMyAgQ2FybG9z
IEFsYmVydG8gTG9wZXogUGVyZXogIDxjbG9wZXpAaWdhbGlhLmNvbT4KIAogICAgICAgICBbR1RL
XSBHYXJkZW5pbmcgb2Ygc29tZSBmbGFreSB0ZXN0cwpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtbm9uLXByZXZh
bGVudC1iYXNlZC1vbi1taXhlZC1zdGF0aXN0aWNzLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9j
bGFzc2lmeS1hcy1ub24tcHJldmFsZW50LWJhc2VkLW9uLW1peGVkLXN0YXRpc3RpY3MtZXhwZWN0
ZWQudHh0CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvbG9hZGluZy9y
ZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLW5vbi1wcmV2YWxlbnQtYmFzZWQtb24t
bWl4ZWQtc3RhdGlzdGljcy1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw4
IEBACittYWluIGZyYW1lIC0gZGlkU3RhcnRQcm92aXNpb25hbExvYWRGb3JGcmFtZQorbWFpbiBm
cmFtZSAtIGRpZENvbW1pdExvYWRGb3JGcmFtZQorbWFpbiBmcmFtZSAtIGRpZFJlY2VpdmVUaXRs
ZTogVGVzdHMgZm9yIENsYXNzaWZpY2F0aW9uIEJhc2VkIG9uIE1peGVkIFN0YXRpc3RpY3MKK21h
aW4gZnJhbWUgLSBkaWRGaW5pc2hEb2N1bWVudExvYWRGb3JGcmFtZQorbWFpbiBmcmFtZSAtIGRp
ZEhhbmRsZU9ubG9hZEV2ZW50c0ZvckZyYW1lCittYWluIGZyYW1lIC0gZGlkRmluaXNoTG9hZEZv
ckZyYW1lCitQQVNTIEhvc3QgZGlkIG5vdCBnZXQgY2xhc3NpZmllZCBhcyBwcmV2YWxlbnQgcmVz
b3VyY2UuCisKSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxv
YWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLW5vbi1wcmV2YWxlbnQtYmFzZWQtb24tbWl4ZWQtc3Rh
dGlzdGljcy5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvbG9hZGlu
Zy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLW5vbi1wcmV2YWxlbnQtYmFzZWQt
b24tbWl4ZWQtc3RhdGlzdGljcy5odG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2h0
dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLW5vbi1w
cmV2YWxlbnQtYmFzZWQtb24tbWl4ZWQtc3RhdGlzdGljcy5odG1sCSh3b3JraW5nIGNvcHkpCkBA
IC0wLDAgKzEsNDIgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWwgbGFuZz0iZW4iPgorPGhlYWQ+
CisgICAgPG1ldGEgY2hhcnNldD0iVVRGLTgiPgorICAgIDx0aXRsZT5UZXN0cyBmb3IgQ2xhc3Np
ZmljYXRpb24gQmFzZWQgb24gTWl4ZWQgU3RhdGlzdGljczwvdGl0bGU+CisgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxzY3JpcHQ+CisgICAgY29uc3QgaG9zdFVuZGVyVGVzdCA9ICIxMjcuMC4wLjE6ODAw
MCI7CisgICAgY29uc3Qgc3RhdGlzdGljc1VybCA9ICJodHRwOi8vIiArIGhvc3RVbmRlclRlc3Qg
KyAiL3RlbXAiOworICAgIGNvbnN0IHRvcEZyYW1lT3JpZ2luMSA9ICJodHRwOi8vMTI3LjAuMC4y
OjgwMDAvdGVtcCI7CisgICAgY29uc3QgdG9wRnJhbWVPcmlnaW4yID0gImh0dHA6Ly8xMjcuMC4w
LjM6ODAwMC90ZW1wIjsKKyAgICBjb25zdCB0b3BGcmFtZU9yaWdpbjMgPSAiaHR0cDovLzEyNy4w
LjAuNDo4MDAwL3RlbXAiOworICAgIGZ1bmN0aW9uIHJ1blRlc3RSdW5uZXJUZXN0KCkgeworICAg
ICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJjZShzdGF0aXN0aWNz
VXJsLCBmYWxzZSk7CisgICAgICAgIGlmICh0ZXN0UnVubmVyLmlzU3RhdGlzdGljc1ByZXZhbGVu
dFJlc291cmNlKHN0YXRpc3RpY3NVcmwpKQorICAgICAgICAgICAgdGVzdEZhaWxlZCgiSG9zdCBk
aWQgbm90IGdldCBzZXQgYXMgbm9uLXByZXZhbGVudCByZXNvdXJjZS4iKTsKKworICAgICAgICB0
ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NTdWJmcmFtZVVuZGVyVG9wRnJhbWVPcmlnaW4oc3RhdGlz
dGljc1VybCwgdG9wRnJhbWVPcmlnaW4xKTsKKyAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0
aWNzU3VicmVzb3VyY2VVbmRlclRvcEZyYW1lT3JpZ2luKHN0YXRpc3RpY3NVcmwsIHRvcEZyYW1l
T3JpZ2luMik7CisgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1N1YnJlc291cmNlVW5p
cXVlUmVkaXJlY3RUbyhzdGF0aXN0aWNzVXJsLCB0b3BGcmFtZU9yaWdpbjMpOworCisgICAgICAg
IHRlc3RSdW5uZXIuc3RhdGlzdGljc0ZpcmVEYXRhTW9kaWZpY2F0aW9uSGFuZGxlcigpOworCisg
ICAgICAgIGlmICh0ZXN0UnVubmVyLmlzU3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNlKHN0YXRp
c3RpY3NVcmwpKQorICAgICAgICAgICAgdGVzdEZhaWxlZCgiSG9zdCBjbGFzc2lmaWVkIGFzIHBy
ZXZhbGVudCByZXNvdXJjZS4iKTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgdGVzdFBhc3Nl
ZCgiSG9zdCBkaWQgbm90IGdldCBjbGFzc2lmaWVkIGFzIHByZXZhbGVudCByZXNvdXJjZS4iKTsK
KworICAgICAgICB0ZXN0UnVubmVyLnN0YXRpc3RpY3NSZXNldFRvQ29uc2lzdGVudFN0YXRlKCk7
CisgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOworICAgIH0KKworICAgIGlmIChkb2N1
bWVudC5sb2NhdGlvbi5ob3N0ID09PSBob3N0VW5kZXJUZXN0ICYmIHdpbmRvdy50ZXN0UnVubmVy
ICYmIHdpbmRvdy5pbnRlcm5hbHMpIHsKKyAgICAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25l
KCk7CisgICAgICAgIGludGVybmFscy5zZXRSZXNvdXJjZUxvYWRTdGF0aXN0aWNzRW5hYmxlZCh0
cnVlKTsKKyAgICAgICAgcnVuVGVzdFJ1bm5lclRlc3QoKTsKKyAgICB9Cis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCkluZGV4OiBMYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1h
cy1ub24tcHJldmFsZW50LWJhc2VkLW9uLXN1Yi1mcmFtZS11bmRlci10b3AtZnJhbWUtb3JpZ2lu
cy1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9sb2Fk
aW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtbm9uLXByZXZhbGVudC1iYXNl
ZC1vbi1zdWItZnJhbWUtdW5kZXItdG9wLWZyYW1lLW9yaWdpbnMtZXhwZWN0ZWQudHh0CShub25l
eGlzdGVudCkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRT
dGF0aXN0aWNzL2NsYXNzaWZ5LWFzLW5vbi1wcmV2YWxlbnQtYmFzZWQtb24tc3ViLWZyYW1lLXVu
ZGVyLXRvcC1mcmFtZS1vcmlnaW5zLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCww
ICsxLDggQEAKK21haW4gZnJhbWUgLSBkaWRTdGFydFByb3Zpc2lvbmFsTG9hZEZvckZyYW1lCitt
YWluIGZyYW1lIC0gZGlkQ29tbWl0TG9hZEZvckZyYW1lCittYWluIGZyYW1lIC0gZGlkUmVjZWl2
ZVRpdGxlOiBUZXN0cyBmb3IgQ2xhc3NpZmljYXRpb24gQmFzZWQgb24gU3ViIEZyYW1lIFVuZGVy
IFRvcCBGcmFtZSBPcmlnaW5zCittYWluIGZyYW1lIC0gZGlkRmluaXNoRG9jdW1lbnRMb2FkRm9y
RnJhbWUKK21haW4gZnJhbWUgLSBkaWRIYW5kbGVPbmxvYWRFdmVudHNGb3JGcmFtZQorbWFpbiBm
cmFtZSAtIGRpZEZpbmlzaExvYWRGb3JGcmFtZQorUEFTUyBIb3N0IGRpZCBub3QgZ2V0IGNsYXNz
aWZpZWQgYXMgcHJldmFsZW50IHJlc291cmNlLgorCkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1ub24tcHJldmFs
ZW50LWJhc2VkLW9uLXN1Yi1mcmFtZS11bmRlci10b3AtZnJhbWUtb3JpZ2lucy5odG1sCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0
aXN0aWNzL2NsYXNzaWZ5LWFzLW5vbi1wcmV2YWxlbnQtYmFzZWQtb24tc3ViLWZyYW1lLXVuZGVy
LXRvcC1mcmFtZS1vcmlnaW5zLmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtbm9uLXBy
ZXZhbGVudC1iYXNlZC1vbi1zdWItZnJhbWUtdW5kZXItdG9wLWZyYW1lLW9yaWdpbnMuaHRtbAko
d29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDQyIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sIGxh
bmc9ImVuIj4KKzxoZWFkPgorICAgIDxtZXRhIGNoYXJzZXQ9IlVURi04Ij4KKyAgICA8dGl0bGU+
VGVzdHMgZm9yIENsYXNzaWZpY2F0aW9uIEJhc2VkIG9uIFN1YiBGcmFtZSBVbmRlciBUb3AgRnJh
bWUgT3JpZ2luczwvdGl0bGU+CisgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQ+CisgICAgY29u
c3QgaG9zdFVuZGVyVGVzdCA9ICIxMjcuMC4wLjE6ODAwMCI7CisgICAgY29uc3Qgc3RhdGlzdGlj
c1VybCA9ICJodHRwOi8vIiArIGhvc3RVbmRlclRlc3QgKyAiL3RlbXAiOworICAgIGNvbnN0IHRv
cEZyYW1lT3JpZ2luMSA9ICJodHRwOi8vMTI3LjAuMC4yOjgwMDAvdGVtcCI7CisgICAgY29uc3Qg
dG9wRnJhbWVPcmlnaW4yID0gImh0dHA6Ly8xMjcuMC4wLjM6ODAwMC90ZW1wIjsKKyAgICBjb25z
dCB0b3BGcmFtZU9yaWdpbjMgPSAiaHR0cDovLzEyNy4wLjAuNDo4MDAwL3RlbXAiOworICAgIGZ1
bmN0aW9uIHJ1blRlc3RSdW5uZXJUZXN0KCkgeworICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRp
c3RpY3NQcmV2YWxlbnRSZXNvdXJjZShzdGF0aXN0aWNzVXJsLCBmYWxzZSk7CisgICAgICAgIGlm
ICh0ZXN0UnVubmVyLmlzU3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNlKHN0YXRpc3RpY3NVcmwp
KQorICAgICAgICAgICAgdGVzdEZhaWxlZCgiSG9zdCBkaWQgbm90IGdldCBzZXQgYXMgbm9uLXBy
ZXZhbGVudCByZXNvdXJjZS4iKTsKKworICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NT
dWJmcmFtZVVuZGVyVG9wRnJhbWVPcmlnaW4oc3RhdGlzdGljc1VybCwgdG9wRnJhbWVPcmlnaW4x
KTsKKyAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzU3ViZnJhbWVVbmRlclRvcEZyYW1l
T3JpZ2luKHN0YXRpc3RpY3NVcmwsIHRvcEZyYW1lT3JpZ2luMik7CisgICAgICAgIHRlc3RSdW5u
ZXIuc2V0U3RhdGlzdGljc1N1YmZyYW1lVW5kZXJUb3BGcmFtZU9yaWdpbihzdGF0aXN0aWNzVXJs
LCB0b3BGcmFtZU9yaWdpbjMpOworCisgICAgICAgIHRlc3RSdW5uZXIuc3RhdGlzdGljc0ZpcmVE
YXRhTW9kaWZpY2F0aW9uSGFuZGxlcigpOworCisgICAgICAgIGlmICh0ZXN0UnVubmVyLmlzU3Rh
dGlzdGljc1ByZXZhbGVudFJlc291cmNlKHN0YXRpc3RpY3NVcmwpKQorICAgICAgICAgICAgdGVz
dEZhaWxlZCgiSG9zdCBjbGFzc2lmaWVkIGFzIHByZXZhbGVudCByZXNvdXJjZS4iKTsKKyAgICAg
ICAgZWxzZQorICAgICAgICAgICAgdGVzdFBhc3NlZCgiSG9zdCBkaWQgbm90IGdldCBjbGFzc2lm
aWVkIGFzIHByZXZhbGVudCByZXNvdXJjZS4iKTsKKworICAgICAgICB0ZXN0UnVubmVyLnN0YXRp
c3RpY3NSZXNldFRvQ29uc2lzdGVudFN0YXRlKCk7CisgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5
RG9uZSgpOworICAgIH0KKworICAgIGlmIChkb2N1bWVudC5sb2NhdGlvbi5ob3N0ID09PSBob3N0
VW5kZXJUZXN0ICYmIHdpbmRvdy50ZXN0UnVubmVyICYmIHdpbmRvdy5pbnRlcm5hbHMpIHsKKyAg
ICAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7CisgICAgICAgIGludGVybmFscy5zZXRS
ZXNvdXJjZUxvYWRTdGF0aXN0aWNzRW5hYmxlZCh0cnVlKTsKKyAgICAgICAgcnVuVGVzdFJ1bm5l
clRlc3QoKTsKKyAgICB9Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2xvYWRpbmcvcmVz
b3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1ub24tcHJldmFsZW50LWJhc2VkLW9uLXN1
YnJlc291cmNlLXVuZGVyLXRvcC1mcmFtZS1vcmlnaW5zLWV4cGVjdGVkLnR4dAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGlj
cy9jbGFzc2lmeS1hcy1ub24tcHJldmFsZW50LWJhc2VkLW9uLXN1YnJlc291cmNlLXVuZGVyLXRv
cC1mcmFtZS1vcmlnaW5zLWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1u
b24tcHJldmFsZW50LWJhc2VkLW9uLXN1YnJlc291cmNlLXVuZGVyLXRvcC1mcmFtZS1vcmlnaW5z
LWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDggQEAKK21haW4gZnJhbWUg
LSBkaWRTdGFydFByb3Zpc2lvbmFsTG9hZEZvckZyYW1lCittYWluIGZyYW1lIC0gZGlkQ29tbWl0
TG9hZEZvckZyYW1lCittYWluIGZyYW1lIC0gZGlkUmVjZWl2ZVRpdGxlOiBUZXN0cyBmb3IgQ2xh
c3NpZmljYXRpb24gQmFzZWQgb24gU3VicmVzb3VyY2UgVW5kZXIgVG9wIEZyYW1lIE9yaWdpbnMK
K21haW4gZnJhbWUgLSBkaWRGaW5pc2hEb2N1bWVudExvYWRGb3JGcmFtZQorbWFpbiBmcmFtZSAt
IGRpZEhhbmRsZU9ubG9hZEV2ZW50c0ZvckZyYW1lCittYWluIGZyYW1lIC0gZGlkRmluaXNoTG9h
ZEZvckZyYW1lCitQQVNTIEhvc3QgZGlkIG5vdCBnZXQgY2xhc3NpZmllZCBhcyBwcmV2YWxlbnQg
cmVzb3VyY2UuCisKSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLW5vbi1wcmV2YWxlbnQtYmFzZWQtb24tc3VicmVz
b3VyY2UtdW5kZXItdG9wLWZyYW1lLW9yaWdpbnMuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1h
cy1ub24tcHJldmFsZW50LWJhc2VkLW9uLXN1YnJlc291cmNlLXVuZGVyLXRvcC1mcmFtZS1vcmln
aW5zLmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9sb2FkaW5n
L3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtbm9uLXByZXZhbGVudC1iYXNlZC1v
bi1zdWJyZXNvdXJjZS11bmRlci10b3AtZnJhbWUtb3JpZ2lucy5odG1sCSh3b3JraW5nIGNvcHkp
CkBAIC0wLDAgKzEsNDAgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWwgbGFuZz0iZW4iPgorPGhl
YWQ+CisgICAgPG1ldGEgY2hhcnNldD0iVVRGLTgiPgorICAgIDx0aXRsZT5UZXN0cyBmb3IgQ2xh
c3NpZmljYXRpb24gQmFzZWQgb24gU3VicmVzb3VyY2UgVW5kZXIgVG9wIEZyYW1lIE9yaWdpbnM8
L3RpdGxlPgorICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMi
Pjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0PgorICAgIGNvbnN0IGhvc3RVbmRl
clRlc3QgPSAiMTI3LjAuMC4xOjgwMDAiOworICAgIGNvbnN0IHN0YXRpc3RpY3NVcmwgPSAiaHR0
cDovLyIgKyBob3N0VW5kZXJUZXN0ICsgIi90ZW1wIjsKKyAgICBjb25zdCB0b3BGcmFtZU9yaWdp
bjEgPSAiaHR0cDovLzEyNy4wLjAuMjo4MDAwL3RlbXAiOworICAgIGNvbnN0IHRvcEZyYW1lT3Jp
Z2luMiA9ICJodHRwOi8vMTI3LjAuMC4zOjgwMDAvdGVtcCI7CisgICAgZnVuY3Rpb24gcnVuVGVz
dFJ1bm5lclRlc3QoKSB7CisgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1ByZXZhbGVu
dFJlc291cmNlKHN0YXRpc3RpY3NVcmwsIGZhbHNlKTsKKyAgICAgICAgaWYgKHRlc3RSdW5uZXIu
aXNTdGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2Uoc3RhdGlzdGljc1VybCkpCisgICAgICAgICAg
ICB0ZXN0RmFpbGVkKCJIb3N0IGRpZCBub3QgZ2V0IHNldCBhcyBub24tcHJldmFsZW50IHJlc291
cmNlLiIpOworCisgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1N1YnJlc291cmNlVW5k
ZXJUb3BGcmFtZU9yaWdpbihzdGF0aXN0aWNzVXJsLCB0b3BGcmFtZU9yaWdpbjEpOworICAgICAg
ICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NTdWJyZXNvdXJjZVVuZGVyVG9wRnJhbWVPcmlnaW4o
c3RhdGlzdGljc1VybCwgdG9wRnJhbWVPcmlnaW4yKTsKKworICAgICAgICB0ZXN0UnVubmVyLnN0
YXRpc3RpY3NGaXJlRGF0YU1vZGlmaWNhdGlvbkhhbmRsZXIoKTsKKworICAgICAgICBpZiAodGVz
dFJ1bm5lci5pc1N0YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJjZShzdGF0aXN0aWNzVXJsKSkKKyAg
ICAgICAgICAgIHRlc3RGYWlsZWQoIkhvc3QgY2xhc3NpZmllZCBhcyBwcmV2YWxlbnQgcmVzb3Vy
Y2UuIik7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIHRlc3RQYXNzZWQoIkhvc3QgZGlkIG5v
dCBnZXQgY2xhc3NpZmllZCBhcyBwcmV2YWxlbnQgcmVzb3VyY2UuIik7CisKKyAgICAgICAgdGVz
dFJ1bm5lci5zdGF0aXN0aWNzUmVzZXRUb0NvbnNpc3RlbnRTdGF0ZSgpOworICAgICAgICB0ZXN0
UnVubmVyLm5vdGlmeURvbmUoKTsKKyAgICB9CisKKyAgICBpZiAoZG9jdW1lbnQubG9jYXRpb24u
aG9zdCA9PT0gaG9zdFVuZGVyVGVzdCAmJiB3aW5kb3cudGVzdFJ1bm5lciAmJiB3aW5kb3cuaW50
ZXJuYWxzKSB7CisgICAgICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOworICAgICAgICBp
bnRlcm5hbHMuc2V0UmVzb3VyY2VMb2FkU3RhdGlzdGljc0VuYWJsZWQodHJ1ZSk7CisgICAgICAg
IHJ1blRlc3RSdW5uZXJUZXN0KCk7CisgICAgfQorPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtbm9uLXByZXZhbGVu
dC1iYXNlZC1vbi1zdWJyZXNvdXJjZS11bmlxdWUtcmVkaXJlY3RzLXRvLWV4cGVjdGVkLnR4dAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2Fk
U3RhdGlzdGljcy9jbGFzc2lmeS1hcy1ub24tcHJldmFsZW50LWJhc2VkLW9uLXN1YnJlc291cmNl
LXVuaXF1ZS1yZWRpcmVjdHMtdG8tZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKKysrIExheW91
dFRlc3RzL2h0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5
LWFzLW5vbi1wcmV2YWxlbnQtYmFzZWQtb24tc3VicmVzb3VyY2UtdW5pcXVlLXJlZGlyZWN0cy10
by1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw4IEBACittYWluIGZyYW1l
IC0gZGlkU3RhcnRQcm92aXNpb25hbExvYWRGb3JGcmFtZQorbWFpbiBmcmFtZSAtIGRpZENvbW1p
dExvYWRGb3JGcmFtZQorbWFpbiBmcmFtZSAtIGRpZFJlY2VpdmVUaXRsZTogVGVzdHMgZm9yIENs
YXNzaWZpY2F0aW9uIEJhc2VkIG9uIFN1YnJlc291cmNlIFVuaXF1ZSBSZWRpcmVjdHMgVG8KK21h
aW4gZnJhbWUgLSBkaWRGaW5pc2hEb2N1bWVudExvYWRGb3JGcmFtZQorbWFpbiBmcmFtZSAtIGRp
ZEhhbmRsZU9ubG9hZEV2ZW50c0ZvckZyYW1lCittYWluIGZyYW1lIC0gZGlkRmluaXNoTG9hZEZv
ckZyYW1lCitQQVNTIEhvc3QgZGlkIG5vdCBnZXQgY2xhc3NpZmllZCBhcyBwcmV2YWxlbnQgcmVz
b3VyY2UuCisKSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxv
YWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLW5vbi1wcmV2YWxlbnQtYmFzZWQtb24tc3VicmVzb3Vy
Y2UtdW5pcXVlLXJlZGlyZWN0cy10by5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0
dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLW5vbi1w
cmV2YWxlbnQtYmFzZWQtb24tc3VicmVzb3VyY2UtdW5pcXVlLXJlZGlyZWN0cy10by5odG1sCShu
b25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxv
YWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLW5vbi1wcmV2YWxlbnQtYmFzZWQtb24tc3VicmVzb3Vy
Y2UtdW5pcXVlLXJlZGlyZWN0cy10by5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNDEg
QEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWwgbGFuZz0iZW4iPgorPGhlYWQ+CisgICAgPG1ldGEg
Y2hhcnNldD0iVVRGLTgiPgorICAgIDx0aXRsZT5UZXN0cyBmb3IgQ2xhc3NpZmljYXRpb24gQmFz
ZWQgb24gU3VicmVzb3VyY2UgVW5pcXVlIFJlZGlyZWN0cyBUbzwvdGl0bGU+CisgICAgPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxzY3JpcHQ+CisgICAgY29uc3QgaG9zdFVuZGVyVGVzdCA9ICIxMjcuMC4wLjE6
ODAwMCI7CisgICAgY29uc3Qgc3RhdGlzdGljc1VybCA9ICJodHRwOi8vIiArIGhvc3RVbmRlclRl
c3QgKyAiL3RlbXAiOworICAgIGNvbnN0IHRvcEZyYW1lT3JpZ2luMSA9ICJodHRwOi8vMTI3LjAu
MC4yOjgwMDAvdGVtcCI7CisgICAgY29uc3QgdG9wRnJhbWVPcmlnaW4yID0gImh0dHA6Ly8xMjcu
MC4wLjM6ODAwMC90ZW1wIjsKKyAgICBmdW5jdGlvbiBydW5UZXN0UnVubmVyVGVzdCgpIHsKKyAg
ICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2Uoc3RhdGlzdGlj
c1VybCwgZmFsc2UpOworICAgICAgICBpZiAodGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NQcmV2YWxl
bnRSZXNvdXJjZShzdGF0aXN0aWNzVXJsKSkKKyAgICAgICAgICAgIHRlc3RGYWlsZWQoIkhvc3Qg
ZGlkIG5vdCBnZXQgc2V0IGFzIG5vbi1wcmV2YWxlbnQgcmVzb3VyY2UuIik7CisKKyAgICAgICAg
dGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzU3VicmVzb3VyY2VVbmlxdWVSZWRpcmVjdFRvKHN0YXRp
c3RpY3NVcmwsIHRvcEZyYW1lT3JpZ2luMSk7CisgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlz
dGljc1N1YnJlc291cmNlVW5pcXVlUmVkaXJlY3RUbyhzdGF0aXN0aWNzVXJsLCB0b3BGcmFtZU9y
aWdpbjIpOworCisgICAgICAgIHRlc3RSdW5uZXIuc3RhdGlzdGljc0ZpcmVEYXRhTW9kaWZpY2F0
aW9uSGFuZGxlcigpOworCisgICAgICAgIGlmICh0ZXN0UnVubmVyLmlzU3RhdGlzdGljc1ByZXZh
bGVudFJlc291cmNlKHN0YXRpc3RpY3NVcmwpKQorICAgICAgICAgICAgdGVzdEZhaWxlZCgiSG9z
dCBjbGFzc2lmaWVkIGFzIHByZXZhbGVudCByZXNvdXJjZS4iKTsKKyAgICAgICAgZWxzZQorICAg
ICAgICAgICAgdGVzdFBhc3NlZCgiSG9zdCBkaWQgbm90IGdldCBjbGFzc2lmaWVkIGFzIHByZXZh
bGVudCByZXNvdXJjZS4iKTsKKworICAgICAgICB0ZXN0UnVubmVyLnN0YXRpc3RpY3NSZXNldFRv
Q29uc2lzdGVudFN0YXRlKCk7CisgICAgICAgIGludGVybmFscy5zZXRSZXNvdXJjZUxvYWRTdGF0
aXN0aWNzRW5hYmxlZChmYWxzZSk7CisgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwor
ICAgIH0KKworICAgIGlmIChkb2N1bWVudC5sb2NhdGlvbi5ob3N0ID09PSBob3N0VW5kZXJUZXN0
ICYmIHdpbmRvdy50ZXN0UnVubmVyICYmIHdpbmRvdy5pbnRlcm5hbHMpIHsKKyAgICAgICAgdGVz
dFJ1bm5lci53YWl0VW50aWxEb25lKCk7CisgICAgICAgIGludGVybmFscy5zZXRSZXNvdXJjZUxv
YWRTdGF0aXN0aWNzRW5hYmxlZCh0cnVlKTsKKyAgICAgICAgcnVuVGVzdFJ1bm5lclRlc3QoKTsK
KyAgICB9Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2Fk
U3RhdGlzdGljcy9jbGFzc2lmeS1hcy1wcmV2YWxlbnQtYmFzZWQtb24tbWl4ZWQtc3RhdGlzdGlj
cy1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9sb2Fk
aW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtcHJldmFsZW50LWJhc2VkLW9u
LW1peGVkLXN0YXRpc3RpY3MtZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKKysrIExheW91dFRl
c3RzL2h0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFz
LXByZXZhbGVudC1iYXNlZC1vbi1taXhlZC1zdGF0aXN0aWNzLWV4cGVjdGVkLnR4dAkod29ya2lu
ZyBjb3B5KQpAQCAtMCwwICsxLDggQEAKK21haW4gZnJhbWUgLSBkaWRTdGFydFByb3Zpc2lvbmFs
TG9hZEZvckZyYW1lCittYWluIGZyYW1lIC0gZGlkQ29tbWl0TG9hZEZvckZyYW1lCittYWluIGZy
YW1lIC0gZGlkUmVjZWl2ZVRpdGxlOiBUZXN0cyBmb3IgQ2xhc3NpZmljYXRpb24gQmFzZWQgb24g
TWl4ZWQgU3RhdGlzdGljcworbWFpbiBmcmFtZSAtIGRpZEZpbmlzaERvY3VtZW50TG9hZEZvckZy
YW1lCittYWluIGZyYW1lIC0gZGlkSGFuZGxlT25sb2FkRXZlbnRzRm9yRnJhbWUKK21haW4gZnJh
bWUgLSBkaWRGaW5pc2hMb2FkRm9yRnJhbWUKK1BBU1MgSG9zdCBjbGFzc2lmaWVkIGFzIHByZXZh
bGVudCByZXNvdXJjZS4KKwpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9sb2FkaW5nL3Jl
c291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtcHJldmFsZW50LWJhc2VkLW9uLW1peGVk
LXN0YXRpc3RpY3MuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2xv
YWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1wcmV2YWxlbnQtYmFzZWQt
b24tbWl4ZWQtc3RhdGlzdGljcy5odG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2h0
dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLXByZXZh
bGVudC1iYXNlZC1vbi1taXhlZC1zdGF0aXN0aWNzLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAs
MCArMSw1MCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbCBsYW5nPSJlbiI+Cis8aGVhZD4KKyAg
ICA8bWV0YSBjaGFyc2V0PSJVVEYtOCI+CisgICAgPHRpdGxlPlRlc3RzIGZvciBDbGFzc2lmaWNh
dGlvbiBCYXNlZCBvbiBNaXhlZCBTdGF0aXN0aWNzPC90aXRsZT4KKyAgICA8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHNjcmlwdD4KKyAgICBjb25zdCBob3N0VW5kZXJUZXN0ID0gIjEyNy4wLjAuMTo4MDAwIjsK
KyAgICBjb25zdCBzdGF0aXN0aWNzVXJsID0gImh0dHA6Ly8iICsgaG9zdFVuZGVyVGVzdCArICIv
dGVtcCI7CisgICAgY29uc3QgdG9wRnJhbWVPcmlnaW4xID0gImh0dHA6Ly8xMjcuMC4wLjI6ODAw
MC90ZW1wIjsKKyAgICBjb25zdCB0b3BGcmFtZU9yaWdpbjIgPSAiaHR0cDovLzEyNy4wLjAuMzo4
MDAwL3RlbXAiOworICAgIGNvbnN0IHRvcEZyYW1lT3JpZ2luMyA9ICJodHRwOi8vMTI3LjAuMC40
OjgwMDAvdGVtcCI7CisgICAgY29uc3QgdG9wRnJhbWVPcmlnaW40ID0gImh0dHA6Ly8xMjcuMC4w
LjU6ODAwMC90ZW1wIjsKKyAgICBmdW5jdGlvbiBydW5UZXN0UnVubmVyVGVzdCgpIHsKKyAgICAg
ICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2Uoc3RhdGlzdGljc1Vy
bCwgZmFsc2UpOworICAgICAgICBpZiAodGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NQcmV2YWxlbnRS
ZXNvdXJjZShzdGF0aXN0aWNzVXJsKSkKKyAgICAgICAgICAgIHRlc3RGYWlsZWQoIkhvc3QgZGlk
IG5vdCBnZXQgc2V0IGFzIG5vbi1wcmV2YWxlbnQgcmVzb3VyY2UuIik7CisKKyAgICAgICAgdGVz
dFJ1bm5lci5zZXRTdGF0aXN0aWNzU3ViZnJhbWVVbmRlclRvcEZyYW1lT3JpZ2luKHN0YXRpc3Rp
Y3NVcmwsIHRvcEZyYW1lT3JpZ2luMSk7CisgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGlj
c1N1YmZyYW1lVW5kZXJUb3BGcmFtZU9yaWdpbihzdGF0aXN0aWNzVXJsLCB0b3BGcmFtZU9yaWdp
bjQpOworCisgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1N1YnJlc291cmNlVW5kZXJU
b3BGcmFtZU9yaWdpbihzdGF0aXN0aWNzVXJsLCB0b3BGcmFtZU9yaWdpbjIpOworICAgICAgICB0
ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NTdWJyZXNvdXJjZVVuZGVyVG9wRnJhbWVPcmlnaW4oc3Rh
dGlzdGljc1VybCwgdG9wRnJhbWVPcmlnaW4zKTsKKyAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0
aXN0aWNzU3VicmVzb3VyY2VVbmRlclRvcEZyYW1lT3JpZ2luKHN0YXRpc3RpY3NVcmwsIHRvcEZy
YW1lT3JpZ2luNCk7CisKKyAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzU3VicmVzb3Vy
Y2VVbmlxdWVSZWRpcmVjdFRvKHN0YXRpc3RpY3NVcmwsIHRvcEZyYW1lT3JpZ2luMyk7CisgICAg
ICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1N1YnJlc291cmNlVW5pcXVlUmVkaXJlY3RUbyhz
dGF0aXN0aWNzVXJsLCB0b3BGcmFtZU9yaWdpbjEpOworCisgICAgICAgIHRlc3RSdW5uZXIuc3Rh
dGlzdGljc0ZpcmVEYXRhTW9kaWZpY2F0aW9uSGFuZGxlcigpOworCisgICAgICAgIGlmICghdGVz
dFJ1bm5lci5pc1N0YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJjZShzdGF0aXN0aWNzVXJsKSkKKyAg
ICAgICAgICAgIHRlc3RGYWlsZWQoIkhvc3QgZGlkIG5vdCBnZXQgY2xhc3NpZmllZCBhcyBwcmV2
YWxlbnQgcmVzb3VyY2UuIik7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIHRlc3RQYXNzZWQo
Ikhvc3QgY2xhc3NpZmllZCBhcyBwcmV2YWxlbnQgcmVzb3VyY2UuIik7CisKKyAgICAgICAgdGVz
dFJ1bm5lci5zdGF0aXN0aWNzUmVzZXRUb0NvbnNpc3RlbnRTdGF0ZSgpOworICAgICAgICBpbnRl
cm5hbHMuc2V0UmVzb3VyY2VMb2FkU3RhdGlzdGljc0VuYWJsZWQoZmFsc2UpOworICAgICAgICB0
ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKKyAgICB9CisKKyAgICBpZiAoZG9jdW1lbnQubG9jYXRp
b24uaG9zdCA9PT0gaG9zdFVuZGVyVGVzdCAmJiB3aW5kb3cudGVzdFJ1bm5lciAmJiB3aW5kb3cu
aW50ZXJuYWxzKSB7CisgICAgICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOworICAgICAg
ICBpbnRlcm5hbHMuc2V0UmVzb3VyY2VMb2FkU3RhdGlzdGljc0VuYWJsZWQodHJ1ZSk7CisgICAg
ICAgIHJ1blRlc3RSdW5uZXJUZXN0KCk7CisgICAgfQorPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtcHJldmFsZW50
LWJhc2VkLW9uLXN1Yi1mcmFtZS11bmRlci10b3AtZnJhbWUtb3JpZ2lucy1leHBlY3RlZC50eHQK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9h
ZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtcHJldmFsZW50LWJhc2VkLW9uLXN1Yi1mcmFtZS11bmRl
ci10b3AtZnJhbWUtb3JpZ2lucy1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnkt
YXMtcHJldmFsZW50LWJhc2VkLW9uLXN1Yi1mcmFtZS11bmRlci10b3AtZnJhbWUtb3JpZ2lucy1l
eHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw4IEBACittYWluIGZyYW1lIC0g
ZGlkU3RhcnRQcm92aXNpb25hbExvYWRGb3JGcmFtZQorbWFpbiBmcmFtZSAtIGRpZENvbW1pdExv
YWRGb3JGcmFtZQorbWFpbiBmcmFtZSAtIGRpZFJlY2VpdmVUaXRsZTogVGVzdHMgZm9yIENsYXNz
aWZpY2F0aW9uIEJhc2VkIG9uIFN1YiBGcmFtZSBVbmRlciBUb3AgRnJhbWUgT3JpZ2lucworbWFp
biBmcmFtZSAtIGRpZEZpbmlzaERvY3VtZW50TG9hZEZvckZyYW1lCittYWluIGZyYW1lIC0gZGlk
SGFuZGxlT25sb2FkRXZlbnRzRm9yRnJhbWUKK21haW4gZnJhbWUgLSBkaWRGaW5pc2hMb2FkRm9y
RnJhbWUKK1BBU1MgSG9zdCBjbGFzc2lmaWVkIGFzIHByZXZhbGVudCByZXNvdXJjZS4KKwpJbmRl
eDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mv
Y2xhc3NpZnktYXMtcHJldmFsZW50LWJhc2VkLW9uLXN1Yi1mcmFtZS11bmRlci10b3AtZnJhbWUt
b3JpZ2lucy5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvbG9hZGlu
Zy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLXByZXZhbGVudC1iYXNlZC1vbi1z
dWItZnJhbWUtdW5kZXItdG9wLWZyYW1lLW9yaWdpbnMuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBM
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFz
c2lmeS1hcy1wcmV2YWxlbnQtYmFzZWQtb24tc3ViLWZyYW1lLXVuZGVyLXRvcC1mcmFtZS1vcmln
aW5zLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw0NSBAQAorPCFET0NUWVBFIGh0bWw+
Cis8aHRtbCBsYW5nPSJlbiI+Cis8aGVhZD4KKyAgICA8bWV0YSBjaGFyc2V0PSJVVEYtOCI+Cisg
ICAgPHRpdGxlPlRlc3RzIGZvciBDbGFzc2lmaWNhdGlvbiBCYXNlZCBvbiBTdWIgRnJhbWUgVW5k
ZXIgVG9wIEZyYW1lIE9yaWdpbnM8L3RpdGxlPgorICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0
PgorICAgIGNvbnN0IGhvc3RVbmRlclRlc3QgPSAiMTI3LjAuMC4xOjgwMDAiOworICAgIGNvbnN0
IHN0YXRpc3RpY3NVcmwgPSAiaHR0cDovLyIgKyBob3N0VW5kZXJUZXN0ICsgIi90ZW1wIjsKKyAg
ICBjb25zdCB0b3BGcmFtZU9yaWdpbjEgPSAiaHR0cDovLzEyNy4wLjAuMjo4MDAwL3RlbXAiOwor
ICAgIGNvbnN0IHRvcEZyYW1lT3JpZ2luMiA9ICJodHRwOi8vMTI3LjAuMC4zOjgwMDAvdGVtcCI7
CisgICAgY29uc3QgdG9wRnJhbWVPcmlnaW4zID0gImh0dHA6Ly8xMjcuMC4wLjQ6ODAwMC90ZW1w
IjsKKyAgICBjb25zdCB0b3BGcmFtZU9yaWdpbjQgPSAiaHR0cDovLzEyNy4wLjAuNTo4MDAwL3Rl
bXAiOworICAgIGZ1bmN0aW9uIHJ1blRlc3RSdW5uZXJUZXN0KCkgeworICAgICAgICB0ZXN0UnVu
bmVyLnNldFN0YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJjZShzdGF0aXN0aWNzVXJsLCBmYWxzZSk7
CisgICAgICAgIGlmICh0ZXN0UnVubmVyLmlzU3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNlKHN0
YXRpc3RpY3NVcmwpKQorICAgICAgICAgICAgdGVzdEZhaWxlZCgiSG9zdCBkaWQgbm90IGdldCBz
ZXQgYXMgbm9uLXByZXZhbGVudCByZXNvdXJjZS4iKTsKKworICAgICAgICB0ZXN0UnVubmVyLnNl
dFN0YXRpc3RpY3NTdWJmcmFtZVVuZGVyVG9wRnJhbWVPcmlnaW4oc3RhdGlzdGljc1VybCwgdG9w
RnJhbWVPcmlnaW4xKTsKKyAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzU3ViZnJhbWVV
bmRlclRvcEZyYW1lT3JpZ2luKHN0YXRpc3RpY3NVcmwsIHRvcEZyYW1lT3JpZ2luMik7CisgICAg
ICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1N1YmZyYW1lVW5kZXJUb3BGcmFtZU9yaWdpbihz
dGF0aXN0aWNzVXJsLCB0b3BGcmFtZU9yaWdpbjMpOworICAgICAgICB0ZXN0UnVubmVyLnNldFN0
YXRpc3RpY3NTdWJmcmFtZVVuZGVyVG9wRnJhbWVPcmlnaW4oc3RhdGlzdGljc1VybCwgdG9wRnJh
bWVPcmlnaW40KTsKKworICAgICAgICB0ZXN0UnVubmVyLnN0YXRpc3RpY3NGaXJlRGF0YU1vZGlm
aWNhdGlvbkhhbmRsZXIoKTsKKworICAgICAgICBpZiAoIXRlc3RSdW5uZXIuaXNTdGF0aXN0aWNz
UHJldmFsZW50UmVzb3VyY2Uoc3RhdGlzdGljc1VybCkpCisgICAgICAgICAgICB0ZXN0RmFpbGVk
KCJIb3N0IGRpZCBub3QgZ2V0IGNsYXNzaWZpZWQgYXMgcHJldmFsZW50IHJlc291cmNlLiIpOwor
ICAgICAgICBlbHNlCisgICAgICAgICAgICB0ZXN0UGFzc2VkKCJIb3N0IGNsYXNzaWZpZWQgYXMg
cHJldmFsZW50IHJlc291cmNlLiIpOworCisgICAgICAgIHRlc3RSdW5uZXIuc3RhdGlzdGljc1Jl
c2V0VG9Db25zaXN0ZW50U3RhdGUoKTsKKyAgICAgICAgaW50ZXJuYWxzLnNldFJlc291cmNlTG9h
ZFN0YXRpc3RpY3NFbmFibGVkKGZhbHNlKTsKKyAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25l
KCk7CisgICAgfQorCisgICAgaWYgKGRvY3VtZW50LmxvY2F0aW9uLmhvc3QgPT09IGhvc3RVbmRl
clRlc3QgJiYgd2luZG93LnRlc3RSdW5uZXIgJiYgd2luZG93LmludGVybmFscykgeworICAgICAg
ICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKKyAgICAgICAgaW50ZXJuYWxzLnNldFJlc291
cmNlTG9hZFN0YXRpc3RpY3NFbmFibGVkKHRydWUpOworICAgICAgICBydW5UZXN0UnVubmVyVGVz
dCgpOworICAgIH0KKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLXByZXZhbGVudC1iYXNlZC1vbi1zdWJyZXNvdXJj
ZS11bmRlci10b3AtZnJhbWUtb3JpZ2lucy1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3Np
ZnktYXMtcHJldmFsZW50LWJhc2VkLW9uLXN1YnJlc291cmNlLXVuZGVyLXRvcC1mcmFtZS1vcmln
aW5zLWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1wcmV2YWxlbnQtYmFz
ZWQtb24tc3VicmVzb3VyY2UtdW5kZXItdG9wLWZyYW1lLW9yaWdpbnMtZXhwZWN0ZWQudHh0CSh3
b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsOCBAQAorbWFpbiBmcmFtZSAtIGRpZFN0YXJ0UHJvdmlz
aW9uYWxMb2FkRm9yRnJhbWUKK21haW4gZnJhbWUgLSBkaWRDb21taXRMb2FkRm9yRnJhbWUKK21h
aW4gZnJhbWUgLSBkaWRSZWNlaXZlVGl0bGU6IFRlc3RzIGZvciBDbGFzc2lmaWNhdGlvbiBCYXNl
ZCBvbiBTdWJyZXNvdXJjZSBVbmRlciBUb3AgRnJhbWUgT3JpZ2lucworbWFpbiBmcmFtZSAtIGRp
ZEZpbmlzaERvY3VtZW50TG9hZEZvckZyYW1lCittYWluIGZyYW1lIC0gZGlkSGFuZGxlT25sb2Fk
RXZlbnRzRm9yRnJhbWUKK21haW4gZnJhbWUgLSBkaWRGaW5pc2hMb2FkRm9yRnJhbWUKK1BBU1Mg
SG9zdCBjbGFzc2lmaWVkIGFzIHByZXZhbGVudCByZXNvdXJjZS4KKwpJbmRleDogTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMt
cHJldmFsZW50LWJhc2VkLW9uLXN1YnJlc291cmNlLXVuZGVyLXRvcC1mcmFtZS1vcmlnaW5zLmh0
bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNl
TG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtcHJldmFsZW50LWJhc2VkLW9uLXN1YnJlc291cmNl
LXVuZGVyLXRvcC1mcmFtZS1vcmlnaW5zLmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMt
cHJldmFsZW50LWJhc2VkLW9uLXN1YnJlc291cmNlLXVuZGVyLXRvcC1mcmFtZS1vcmlnaW5zLmh0
bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw0NSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRt
bCBsYW5nPSJlbiI+Cis8aGVhZD4KKyAgICA8bWV0YSBjaGFyc2V0PSJVVEYtOCI+CisgICAgPHRp
dGxlPlRlc3RzIGZvciBDbGFzc2lmaWNhdGlvbiBCYXNlZCBvbiBTdWJyZXNvdXJjZSBVbmRlciBU
b3AgRnJhbWUgT3JpZ2luczwvdGl0bGU+CisgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQ+Cisg
ICAgY29uc3QgaG9zdFVuZGVyVGVzdCA9ICIxMjcuMC4wLjE6ODAwMCI7CisgICAgY29uc3Qgc3Rh
dGlzdGljc1VybCA9ICJodHRwOi8vIiArIGhvc3RVbmRlclRlc3QgKyAiL3RlbXAiOworICAgIGNv
bnN0IHRvcEZyYW1lT3JpZ2luMSA9ICJodHRwOi8vMTI3LjAuMC4yOjgwMDAvdGVtcCI7CisgICAg
Y29uc3QgdG9wRnJhbWVPcmlnaW4yID0gImh0dHA6Ly8xMjcuMC4wLjM6ODAwMC90ZW1wIjsKKyAg
ICBjb25zdCB0b3BGcmFtZU9yaWdpbjMgPSAiaHR0cDovLzEyNy4wLjAuNDo4MDAwL3RlbXAiOwor
ICAgIGNvbnN0IHRvcEZyYW1lT3JpZ2luNCA9ICJodHRwOi8vMTI3LjAuMC41OjgwMDAvdGVtcCI7
CisgICAgZnVuY3Rpb24gcnVuVGVzdFJ1bm5lclRlc3QoKSB7CisgICAgICAgIHRlc3RSdW5uZXIu
c2V0U3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNlKHN0YXRpc3RpY3NVcmwsIGZhbHNlKTsKKyAg
ICAgICAgaWYgKHRlc3RSdW5uZXIuaXNTdGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2Uoc3RhdGlz
dGljc1VybCkpCisgICAgICAgICAgICB0ZXN0RmFpbGVkKCJIb3N0IGRpZCBub3QgZ2V0IHNldCBh
cyBub24tcHJldmFsZW50IHJlc291cmNlLiIpOworCisgICAgICAgIHRlc3RSdW5uZXIuc2V0U3Rh
dGlzdGljc1N1YnJlc291cmNlVW5kZXJUb3BGcmFtZU9yaWdpbihzdGF0aXN0aWNzVXJsLCB0b3BG
cmFtZU9yaWdpbjEpOworICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NTdWJyZXNvdXJj
ZVVuZGVyVG9wRnJhbWVPcmlnaW4oc3RhdGlzdGljc1VybCwgdG9wRnJhbWVPcmlnaW4yKTsKKyAg
ICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzU3VicmVzb3VyY2VVbmRlclRvcEZyYW1lT3Jp
Z2luKHN0YXRpc3RpY3NVcmwsIHRvcEZyYW1lT3JpZ2luMyk7CisgICAgICAgIHRlc3RSdW5uZXIu
c2V0U3RhdGlzdGljc1N1YnJlc291cmNlVW5kZXJUb3BGcmFtZU9yaWdpbihzdGF0aXN0aWNzVXJs
LCB0b3BGcmFtZU9yaWdpbjQpOworCisgICAgICAgIHRlc3RSdW5uZXIuc3RhdGlzdGljc0ZpcmVE
YXRhTW9kaWZpY2F0aW9uSGFuZGxlcigpOworCisgICAgICAgIGlmICghdGVzdFJ1bm5lci5pc1N0
YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJjZShzdGF0aXN0aWNzVXJsKSkKKyAgICAgICAgICAgIHRl
c3RGYWlsZWQoIkhvc3QgZGlkIG5vdCBnZXQgY2xhc3NpZmllZCBhcyBwcmV2YWxlbnQgcmVzb3Vy
Y2UuIik7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIHRlc3RQYXNzZWQoIkhvc3QgY2xhc3Np
ZmllZCBhcyBwcmV2YWxlbnQgcmVzb3VyY2UuIik7CisKKyAgICAgICAgdGVzdFJ1bm5lci5zdGF0
aXN0aWNzUmVzZXRUb0NvbnNpc3RlbnRTdGF0ZSgpOworICAgICAgICBpbnRlcm5hbHMuc2V0UmVz
b3VyY2VMb2FkU3RhdGlzdGljc0VuYWJsZWQoZmFsc2UpOworICAgICAgICB0ZXN0UnVubmVyLm5v
dGlmeURvbmUoKTsKKyAgICB9CisKKyAgICBpZiAoZG9jdW1lbnQubG9jYXRpb24uaG9zdCA9PT0g
aG9zdFVuZGVyVGVzdCAmJiB3aW5kb3cudGVzdFJ1bm5lciAmJiB3aW5kb3cuaW50ZXJuYWxzKSB7
CisgICAgICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOworICAgICAgICBpbnRlcm5hbHMu
c2V0UmVzb3VyY2VMb2FkU3RhdGlzdGljc0VuYWJsZWQodHJ1ZSk7CisgICAgICAgIHJ1blRlc3RS
dW5uZXJUZXN0KCk7CisgICAgfQorPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgZmlsZQpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9sb2FkaW5n
L3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtcHJldmFsZW50LWJhc2VkLW9uLXN1
YnJlc291cmNlLXVuaXF1ZS1yZWRpcmVjdHMtdG8tZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL2h0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2Ns
YXNzaWZ5LWFzLXByZXZhbGVudC1iYXNlZC1vbi1zdWJyZXNvdXJjZS11bmlxdWUtcmVkaXJlY3Rz
LXRvLWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1wcmV2YWxlbnQtYmFz
ZWQtb24tc3VicmVzb3VyY2UtdW5pcXVlLXJlZGlyZWN0cy10by1leHBlY3RlZC50eHQJKHdvcmtp
bmcgY29weSkKQEAgLTAsMCArMSw4IEBACittYWluIGZyYW1lIC0gZGlkU3RhcnRQcm92aXNpb25h
bExvYWRGb3JGcmFtZQorbWFpbiBmcmFtZSAtIGRpZENvbW1pdExvYWRGb3JGcmFtZQorbWFpbiBm
cmFtZSAtIGRpZFJlY2VpdmVUaXRsZTogVGVzdHMgZm9yIENsYXNzaWZpY2F0aW9uIEJhc2VkIG9u
IFN1YnJlc291cmNlIFVuaXF1ZSBSZWRpcmVjdHMgVG8KK21haW4gZnJhbWUgLSBkaWRGaW5pc2hE
b2N1bWVudExvYWRGb3JGcmFtZQorbWFpbiBmcmFtZSAtIGRpZEhhbmRsZU9ubG9hZEV2ZW50c0Zv
ckZyYW1lCittYWluIGZyYW1lIC0gZGlkRmluaXNoTG9hZEZvckZyYW1lCitQQVNTIEhvc3QgY2xh
c3NpZmllZCBhcyBwcmV2YWxlbnQgcmVzb3VyY2UuCisKSW5kZXg6IExheW91dFRlc3RzL2h0dHAv
dGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLXByZXZhbGVu
dC1iYXNlZC1vbi1zdWJyZXNvdXJjZS11bmlxdWUtcmVkaXJlY3RzLXRvLmh0bWwKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0YXRpc3Rp
Y3MvY2xhc3NpZnktYXMtcHJldmFsZW50LWJhc2VkLW9uLXN1YnJlc291cmNlLXVuaXF1ZS1yZWRp
cmVjdHMtdG8uaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2xv
YWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1wcmV2YWxlbnQtYmFzZWQt
b24tc3VicmVzb3VyY2UtdW5pcXVlLXJlZGlyZWN0cy10by5odG1sCSh3b3JraW5nIGNvcHkpCkBA
IC0wLDAgKzEsNDUgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWwgbGFuZz0iZW4iPgorPGhlYWQ+
CisgICAgPG1ldGEgY2hhcnNldD0iVVRGLTgiPgorICAgIDx0aXRsZT5UZXN0cyBmb3IgQ2xhc3Np
ZmljYXRpb24gQmFzZWQgb24gU3VicmVzb3VyY2UgVW5pcXVlIFJlZGlyZWN0cyBUbzwvdGl0bGU+
CisgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3Jp
cHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQ+CisgICAgY29uc3QgaG9zdFVuZGVyVGVzdCA9
ICIxMjcuMC4wLjE6ODAwMCI7CisgICAgY29uc3Qgc3RhdGlzdGljc1VybCA9ICJodHRwOi8vIiAr
IGhvc3RVbmRlclRlc3QgKyAiL3RlbXAiOworICAgIGNvbnN0IHRvcEZyYW1lT3JpZ2luMSA9ICJo
dHRwOi8vMTI3LjAuMC4yOjgwMDAvdGVtcCI7CisgICAgY29uc3QgdG9wRnJhbWVPcmlnaW4yID0g
Imh0dHA6Ly8xMjcuMC4wLjM6ODAwMC90ZW1wIjsKKyAgICBjb25zdCB0b3BGcmFtZU9yaWdpbjMg
PSAiaHR0cDovLzEyNy4wLjAuNDo4MDAwL3RlbXAiOworICAgIGNvbnN0IHRvcEZyYW1lT3JpZ2lu
NCA9ICJodHRwOi8vMTI3LjAuMC41OjgwMDAvdGVtcCI7CisgICAgZnVuY3Rpb24gcnVuVGVzdFJ1
bm5lclRlc3QoKSB7CisgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1ByZXZhbGVudFJl
c291cmNlKHN0YXRpc3RpY3NVcmwsIGZhbHNlKTsKKyAgICAgICAgaWYgKHRlc3RSdW5uZXIuaXNT
dGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2Uoc3RhdGlzdGljc1VybCkpCisgICAgICAgICAgICB0
ZXN0RmFpbGVkKCJIb3N0IGRpZCBub3QgZ2V0IHNldCBhcyBub24tcHJldmFsZW50IHJlc291cmNl
LiIpOworCisgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1N1YnJlc291cmNlVW5pcXVl
UmVkaXJlY3RUbyhzdGF0aXN0aWNzVXJsLCB0b3BGcmFtZU9yaWdpbjEpOworICAgICAgICB0ZXN0
UnVubmVyLnNldFN0YXRpc3RpY3NTdWJyZXNvdXJjZVVuaXF1ZVJlZGlyZWN0VG8oc3RhdGlzdGlj
c1VybCwgdG9wRnJhbWVPcmlnaW4yKTsKKyAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNz
U3VicmVzb3VyY2VVbmlxdWVSZWRpcmVjdFRvKHN0YXRpc3RpY3NVcmwsIHRvcEZyYW1lT3JpZ2lu
Myk7CisgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1N1YnJlc291cmNlVW5pcXVlUmVk
aXJlY3RUbyhzdGF0aXN0aWNzVXJsLCB0b3BGcmFtZU9yaWdpbjQpOworCisgICAgICAgIHRlc3RS
dW5uZXIuc3RhdGlzdGljc0ZpcmVEYXRhTW9kaWZpY2F0aW9uSGFuZGxlcigpOworCisgICAgICAg
IGlmICghdGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJjZShzdGF0aXN0aWNz
VXJsKSkKKyAgICAgICAgICAgIHRlc3RGYWlsZWQoIkhvc3QgZGlkIG5vdCBnZXQgY2xhc3NpZmll
ZCBhcyBwcmV2YWxlbnQgcmVzb3VyY2UuIik7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIHRl
c3RQYXNzZWQoIkhvc3QgY2xhc3NpZmllZCBhcyBwcmV2YWxlbnQgcmVzb3VyY2UuIik7CisKKyAg
ICAgICAgdGVzdFJ1bm5lci5zdGF0aXN0aWNzUmVzZXRUb0NvbnNpc3RlbnRTdGF0ZSgpOworICAg
ICAgICBpbnRlcm5hbHMuc2V0UmVzb3VyY2VMb2FkU3RhdGlzdGljc0VuYWJsZWQoZmFsc2UpOwor
ICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKKyAgICB9CisKKyAgICBpZiAoZG9jdW1l
bnQubG9jYXRpb24uaG9zdCA9PT0gaG9zdFVuZGVyVGVzdCAmJiB3aW5kb3cudGVzdFJ1bm5lciAm
JiB3aW5kb3cuaW50ZXJuYWxzKSB7CisgICAgICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgp
OworICAgICAgICBpbnRlcm5hbHMuc2V0UmVzb3VyY2VMb2FkU3RhdGlzdGljc0VuYWJsZWQodHJ1
ZSk7CisgICAgICAgIHJ1blRlc3RSdW5uZXJUZXN0KCk7CisgICAgfQorPC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3Vy
Y2VMb2FkU3RhdGlzdGljcy9ub24tcHJldmFsZW50LXJlc291cmNlLXdpdGgtdXNlci1pbnRlcmFj
dGlvbi5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvbG9hZGluZy9y
ZXNvdXJjZUxvYWRTdGF0aXN0aWNzL25vbi1wcmV2YWxlbnQtcmVzb3VyY2Utd2l0aC11c2VyLWlu
dGVyYWN0aW9uLmh0bWwJKHJldmlzaW9uIDIxMjg5OCkKKysrIExheW91dFRlc3RzL2h0dHAvdGVz
dHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL25vbi1wcmV2YWxlbnQtcmVzb3VyY2Ut
d2l0aC11c2VyLWludGVyYWN0aW9uLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTM4LDYgKzM4LDcg
QEAKICAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKCJDb29raWUg
ZGVsZXRlZCBvciBkb2N1bWVudC5jb29raWUgY29udGFpbnMgb3RoZXIgY29va2llczogIiArIGRv
Y3VtZW50LmNvb2tpZSk7CiAgICAgICAgICAgICB0ZXN0UnVubmVyLnN0YXRpc3RpY3NSZXNldFRv
Q29uc2lzdGVudFN0YXRlKCk7CisgICAgICAgICAgICBpbnRlcm5hbHMuc2V0UmVzb3VyY2VMb2Fk
U3RhdGlzdGljc0VuYWJsZWQoZmFsc2UpOwogICAgICAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlE
b25lKCk7CiAgICAgICAgIH0pOwogICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NTaG91
bGRDbGFzc2lmeVJlc291cmNlc0JlZm9yZURhdGFSZWNvcmRzUmVtb3ZhbChmYWxzZSk7CkluZGV4
OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9u
b24tcHJldmFsZW50LXJlc291cmNlLXdpdGhvdXQtdXNlci1pbnRlcmFjdGlvbi5odG1sCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0
aXN0aWNzL25vbi1wcmV2YWxlbnQtcmVzb3VyY2Utd2l0aG91dC11c2VyLWludGVyYWN0aW9uLmh0
bWwJKHJldmlzaW9uIDIxMjg5OCkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvbG9hZGluZy9y
ZXNvdXJjZUxvYWRTdGF0aXN0aWNzL25vbi1wcmV2YWxlbnQtcmVzb3VyY2Utd2l0aG91dC11c2Vy
LWludGVyYWN0aW9uLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTM4LDYgKzM4LDcgQEAKICAgICAg
ICAgICAgIGVsc2UKICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKCJDb29raWUgZGVsZXRlZCBv
ciBkb2N1bWVudC5jb29raWUgY29udGFpbnMgb3RoZXIgY29va2llczogIiArIGRvY3VtZW50LmNv
b2tpZSk7CiAgICAgICAgICAgICB0ZXN0UnVubmVyLnN0YXRpc3RpY3NSZXNldFRvQ29uc2lzdGVu
dFN0YXRlKCk7CisgICAgICAgICAgICBpbnRlcm5hbHMuc2V0UmVzb3VyY2VMb2FkU3RhdGlzdGlj
c0VuYWJsZWQoZmFsc2UpOwogICAgICAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7CiAg
ICAgICAgIH0pOwogICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NTaG91bGRDbGFzc2lm
eVJlc291cmNlc0JlZm9yZURhdGFSZWNvcmRzUmVtb3ZhbChmYWxzZSk7CkluZGV4OiBMYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9wcmV2YWxlbnQt
cmVzb3VyY2Utd2l0aC11c2VyLWludGVyYWN0aW9uLXRpbWVvdXQuaHRtbAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9w
cmV2YWxlbnQtcmVzb3VyY2Utd2l0aC11c2VyLWludGVyYWN0aW9uLXRpbWVvdXQuaHRtbAkocmV2
aXNpb24gMjEyODk4KQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNl
TG9hZFN0YXRpc3RpY3MvcHJldmFsZW50LXJlc291cmNlLXdpdGgtdXNlci1pbnRlcmFjdGlvbi10
aW1lb3V0Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTMxLDYgKzMxLDcgQEAKICAgICAgICAgICAg
IGVsc2UKICAgICAgICAgICAgICAgICB0ZXN0UGFzc2VkKCJDb29raWUgZGVsZXRlZC4iKTsKICAg
ICAgICAgICAgIHRlc3RSdW5uZXIuc3RhdGlzdGljc1Jlc2V0VG9Db25zaXN0ZW50U3RhdGUoKTsK
KyAgICAgICAgICAgIGludGVybmFscy5zZXRSZXNvdXJjZUxvYWRTdGF0aXN0aWNzRW5hYmxlZChm
YWxzZSk7CiAgICAgICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKICAgICAgICAgfSk7
CiAgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1Nob3VsZENsYXNzaWZ5UmVzb3VyY2Vz
QmVmb3JlRGF0YVJlY29yZHNSZW1vdmFsKGZhbHNlKTsKSW5kZXg6IExheW91dFRlc3RzL2h0dHAv
dGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3ByZXZhbGVudC1yZXNvdXJjZS13
aXRoLXVzZXItaW50ZXJhY3Rpb24uaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9wcmV2YWxlbnQtcmVzb3VyY2Ut
d2l0aC11c2VyLWludGVyYWN0aW9uLmh0bWwJKHJldmlzaW9uIDIxMjg5OCkKKysrIExheW91dFRl
c3RzL2h0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3ByZXZhbGVudC1y
ZXNvdXJjZS13aXRoLXVzZXItaW50ZXJhY3Rpb24uaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMzgs
NiArMzgsNyBAQAogICAgICAgICAgICAgZWxzZQogICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQo
IkNvb2tpZSBkZWxldGVkIG9yIGRvY3VtZW50LmNvb2tpZSBjb250YWlucyBvdGhlciBjb29raWVz
OiAiICsgZG9jdW1lbnQuY29va2llKTsKICAgICAgICAgICAgIHRlc3RSdW5uZXIuc3RhdGlzdGlj
c1Jlc2V0VG9Db25zaXN0ZW50U3RhdGUoKTsKKyAgICAgICAgICAgIGludGVybmFscy5zZXRSZXNv
dXJjZUxvYWRTdGF0aXN0aWNzRW5hYmxlZChmYWxzZSk7CiAgICAgICAgICAgICB0ZXN0UnVubmVy
Lm5vdGlmeURvbmUoKTsKICAgICAgICAgfSk7CiAgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlz
dGljc1Nob3VsZENsYXNzaWZ5UmVzb3VyY2VzQmVmb3JlRGF0YVJlY29yZHNSZW1vdmFsKGZhbHNl
KTsKSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0
aXN0aWNzL3ByZXZhbGVudC1yZXNvdXJjZS13aXRob3V0LXVzZXItaW50ZXJhY3Rpb24uaHRtbAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2Fk
U3RhdGlzdGljcy9wcmV2YWxlbnQtcmVzb3VyY2Utd2l0aG91dC11c2VyLWludGVyYWN0aW9uLmh0
bWwJKHJldmlzaW9uIDIxMjg5OCkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvbG9hZGluZy9y
ZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3ByZXZhbGVudC1yZXNvdXJjZS13aXRob3V0LXVzZXItaW50
ZXJhY3Rpb24uaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMzEsNiArMzEsNyBAQAogICAgICAgICAg
ICAgZWxzZQogICAgICAgICAgICAgICAgIHRlc3RQYXNzZWQoIkNvb2tpZSBkZWxldGVkLiIpOwog
ICAgICAgICAgICAgdGVzdFJ1bm5lci5zdGF0aXN0aWNzUmVzZXRUb0NvbnNpc3RlbnRTdGF0ZSgp
OworICAgICAgICAgICAgaW50ZXJuYWxzLnNldFJlc291cmNlTG9hZFN0YXRpc3RpY3NFbmFibGVk
KGZhbHNlKTsKICAgICAgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwogICAgICAgICB9
KTsKICAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzU2hvdWxkQ2xhc3NpZnlSZXNvdXJj
ZXNCZWZvcmVEYXRhUmVjb3Jkc1JlbW92YWwoZmFsc2UpOwpJbmRleDogTGF5b3V0VGVzdHMvcGxh
dGZvcm0vZ3RrL1Rlc3RFeHBlY3RhdGlvbnMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxh
dGZvcm0vZ3RrL1Rlc3RFeHBlY3RhdGlvbnMJKHJldmlzaW9uIDIxMjg5OCkKKysrIExheW91dFRl
c3RzL3BsYXRmb3JtL2d0ay9UZXN0RXhwZWN0YXRpb25zCSh3b3JraW5nIGNvcHkpCkBAIC05NDks
MTEgKzk0OSw3IEBAIHdlYmtpdC5vcmcvYi8xMzE1NDYgbWVkaWEvdHJhY2svdHJhY2staW4KIAog
d2Via2l0Lm9yZy9iLzE2Mzc4MiBtZWRpYS92aWRlby1wbGF5ZWQtcmFuZ2VzLTEuaHRtbCBbIENy
YXNoIFBhc3MgXQogCi13ZWJraXQub3JnL2IvMTY4MTcxIGh0dHAvdGVzdHMvbG9hZGluZy9yZXNv
dXJjZUxvYWRTdGF0aXN0aWNzL25vbi1wcmV2YWxlbnQtcmVzb3VyY2Utd2l0aC11c2VyLWludGVy
YWN0aW9uLmh0bWwgWyBDcmFzaCBdCi13ZWJraXQub3JnL2IvMTY4MTcxIGh0dHAvdGVzdHMvbG9h
ZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL25vbi1wcmV2YWxlbnQtcmVzb3VyY2Utd2l0aG91
dC11c2VyLWludGVyYWN0aW9uLmh0bWwgWyBDcmFzaCBdCi13ZWJraXQub3JnL2IvMTY4MTcxIGh0
dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3ByZXZhbGVudC1yZXNvdXJj
ZS13aXRoLXVzZXItaW50ZXJhY3Rpb24tdGltZW91dC5odG1sIFsgQ3Jhc2ggXQotd2Via2l0Lm9y
Zy9iLzE2ODE3MSBodHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9wcmV2
YWxlbnQtcmVzb3VyY2Utd2l0aC11c2VyLWludGVyYWN0aW9uLmh0bWwgWyBDcmFzaCBdCi13ZWJr
aXQub3JnL2IvMTY4MTcxIGh0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNz
L3ByZXZhbGVudC1yZXNvdXJjZS13aXRob3V0LXVzZXItaW50ZXJhY3Rpb24uaHRtbCBbIENyYXNo
IF0KK3dlYmtpdC5vcmcvYi8xNjgxNzEgaHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0
YXRpc3RpY3MgWyBDcmFzaCBdCiAKIHdlYmtpdC5vcmcvYi8xNjc1NzYgaW1wb3J0ZWQvdzNjL0lu
ZGV4ZWREQi1wcml2YXRlLWJyb3dzaW5nL2lkYmN1cnNvcl9pdGVyYXRpbmcuaHRtbCBbIENyYXNo
IF0KIHdlYmtpdC5vcmcvYi8xNjc1NzYgaW1wb3J0ZWQvdzNjL0luZGV4ZWREQi1wcml2YXRlLWJy
b3dzaW5nL2lkYmN1cnNvcl9pdGVyYXRpbmdfaW5kZXguaHRtbCBbIENyYXNoIF0KSW5kZXg6IExh
eW91dFRlc3RzL3BsYXRmb3JtL3drMi9UZXN0RXhwZWN0YXRpb25zCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL3BsYXRmb3JtL3drMi9UZXN0RXhwZWN0YXRpb25zCShyZXZpc2lvbiAyMTI4OTgp
CisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS93azIvVGVzdEV4cGVjdGF0aW9ucwkod29ya2luZyBj
b3B5KQpAQCAtNzA1LDYgKzcwNSwxNCBAQCBodHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2Fk
U3RhdGlzdGljCiBodHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9ub24t
cHJldmFsZW50LXJlc291cmNlLXdpdGhvdXQtdXNlci1pbnRlcmFjdGlvbi5odG1sIFsgUGFzcyBU
aW1lb3V0IF0KIGh0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3ByZXZh
bGVudC1yZXNvdXJjZS13aXRob3V0LXVzZXItaW50ZXJhY3Rpb24uaHRtbCBbIFBhc3MgVGltZW91
dCBdCiBodHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9wcmV2YWxlbnQt
cmVzb3VyY2Utd2l0aC11c2VyLWludGVyYWN0aW9uLXRpbWVvdXQuaHRtbCBbIFBhc3MgVGltZW91
dCBdCitodHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1h
cy1ub24tcHJldmFsZW50LWJhc2VkLW9uLW1peGVkLXN0YXRpc3RpY3MuaHRtbCBbIFBhc3MgXQor
aHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtbm9u
LXByZXZhbGVudC1iYXNlZC1vbi1zdWItZnJhbWUtdW5kZXItdG9wLWZyYW1lLW9yaWdpbnMuaHRt
bCBbIFBhc3MgXQoraHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xh
c3NpZnktYXMtbm9uLXByZXZhbGVudC1iYXNlZC1vbi1zdWJyZXNvdXJjZS11bmRlci10b3AtZnJh
bWUtb3JpZ2lucy5odG1sIFsgUGFzcyBdCitodHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2Fk
U3RhdGlzdGljcy9jbGFzc2lmeS1hcy1ub24tcHJldmFsZW50LWJhc2VkLW9uLXN1YnJlc291cmNl
LXVuaXF1ZS1yZWRpcmVjdHMtdG8uaHRtbCBbIFBhc3MgXQoraHR0cC90ZXN0cy9sb2FkaW5nL3Jl
c291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtcHJldmFsZW50LWJhc2VkLW9uLW1peGVk
LXN0YXRpc3RpY3MuaHRtbCBbIFBhc3MgXQoraHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9h
ZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtcHJldmFsZW50LWJhc2VkLW9uLXN1Yi1mcmFtZS11bmRl
ci10b3AtZnJhbWUtb3JpZ2lucy5odG1sIFsgUGFzcyBdCitodHRwL3Rlc3RzL2xvYWRpbmcvcmVz
b3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1wcmV2YWxlbnQtYmFzZWQtb24tc3VicmVz
b3VyY2UtdW5kZXItdG9wLWZyYW1lLW9yaWdpbnMuaHRtbCBbIFBhc3MgXQoraHR0cC90ZXN0cy9s
b2FkaW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtcHJldmFsZW50LWJhc2Vk
LW9uLXN1YnJlc291cmNlLXVuaXF1ZS1yZWRpcmVjdHMtdG8uaHRtbCBbIFBhc3MgXQogCiAjIyMg
RU5EIE9GICg1KSBQcm9ncmVzc2lvbnMsIGV4cGVjdGVkIHN1Y2Nlc3NlcyB0aGF0IGFyZSBleHBl
Y3RlZCBmYWlsdXJlcyBpbiBXZWJLaXQxLgogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>302640</attachid>
            <date>2017-02-23 21:38:29 -0800</date>
            <delta_ts>2017-02-23 21:45:11 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-168347-20170223213540.patch</filename>
            <type>text/plain</type>
            <size>67068</size>
            <attacher name="John Wilander">wilander</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cJKHJldmlzaW9uIDIxMjkzMykKKysrIFNvdXJjZS9XZWJLaXQyL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDc1IEBACisyMDE3LTAyLTIzICBKb2huIFdp
bGFuZGVyICA8d2lsYW5kZXJAYXBwbGUuY29tPgorCisgICAgICAgIFJlc291cmNlIExvYWQgU3Rh
dGlzdGljczogQWRkIGFsdGVybmF0ZSBjbGFzc2lmaWNhdGlvbiBtZXRob2QKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2ODM0NworICAgICAgICA8cmRh
cjovL3Byb2JsZW0vMzAzNTI3OTM+CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8zMDY0NjcxMD4K
KyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzMwNjYwNzA4PgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoaXMgcGF0Y2ggYWRkcyBhIENvcmVQcmVkaWN0
aW9uLWJhc2VkIGNsYXNzaWZpZXIgdG8gdGhlIFdlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9y
ZS4KKyAgICAgICAgVGhlIENvcmVQcmVkaWN0aW9uIGZyYW1ld29yayBpcyBpbnRyb2R1Y2VkIGFz
IGEgZGVwZW5kZW5jeSBmb3IgbWFjT1MgYW5kIGlPUy4gVGhlIHBhdGNoCisgICAgICAgIGFsc28g
YWRkcyBmdW5jdGlvbnMgdG8gc3VwcG9ydCBsYXlvdXQgdGVzdHMgb2YgdGhlIGZlYXR1cmUuCisK
KyAgICAgICAgKiBQbGF0Zm9ybS9Mb2dnaW5nLmg6CisgICAgICAgICAgICBBZGRlZCBjaGFubmVs
IFJlc291cmNlTG9hZFN0YXRpc3RpY3MuCisgICAgICAgICogUGxhdGZvcm0vY2xhc3NpZmllci9S
ZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllci5oOiBBZGRlZC4KKyAgICAgICAgICAgIFB1
bGxzIGluIHRoZSBDb2NvYS1zcGVjaWZpYyBjbGFzc2lmaWVyIGZvciBDb2NvYS1iYXNlZCBwbGF0
Zm9ybXMuCisgICAgICAgIChXZWJLaXQ6OlJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVy
OjpSZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllcik6CisgICAgICAgICogUGxhdGZvcm0v
Y2xhc3NpZmllci9SZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllckJhc2UuY3BwOiBBZGRl
ZC4KKyAgICAgICAgKFdlYktpdDo6UmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXJCYXNl
OjpoYXNQcmV2YWxlbnRSZXNvdXJjZUNoYXJhY3RlcmlzdGljcyk6CisgICAgICAgICAgICBTaGFy
ZWQgY2xhc3NpZmllciBsb2dpYy4KKyAgICAgICAgKFdlYktpdDo6UmVzb3VyY2VMb2FkU3RhdGlz
dGljc0NsYXNzaWZpZXJCYXNlOjpjbGFzc2lmeVdpdGhWZWN0b3JUaHJlc2hvbGQpOgorICAgICAg
ICAgICAgRmFsbGJhY2sgY2xhc3NpZmllciBmb3Igd2hlbiB3ZSBkb24ndCBoYXZlIENvcmVQcmVk
aWN0aW9uLgorICAgICAgICAqIFBsYXRmb3JtL2NsYXNzaWZpZXIvUmVzb3VyY2VMb2FkU3RhdGlz
dGljc0NsYXNzaWZpZXJCYXNlLmg6IEFkZGVkLgorICAgICAgICAoV2ViS2l0OjpSZXNvdXJjZUxv
YWRTdGF0aXN0aWNzQ2xhc3NpZmllckJhc2U6OlJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lm
aWVyQmFzZSk6CisgICAgICAgIChXZWJLaXQ6OlJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lm
aWVyQmFzZTo6flJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQmFzZSk6CisgICAgICAg
ICogUGxhdGZvcm0vY2xhc3NpZmllci9jb2NvYS9Db3JlUHJlZGljdGlvblNvZnRMaW5rLmg6IEFk
ZGVkLgorICAgICAgICAgICAgU29mdCBsaW5rcyB0byBDb3JlUHJlZGljdGlvbiBhbmQgdGhlIHR3
byBmdW5jdGlvbnMgd2UgdXNlIGZyb20gaXQuCisgICAgICAgICogUGxhdGZvcm0vY2xhc3NpZmll
ci9jb2NvYS9SZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllckNvY29hLmNwcDogQWRkZWQu
CisgICAgICAgIChXZWJLaXQ6OlJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyOjpjbGFz
c2lmeSk6CisgICAgICAgIChXZWJLaXQ6OlJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVy
OjpzdG9yYWdlUGF0aCk6CisgICAgICAgIChXZWJLaXQ6OlJlc291cmNlTG9hZFN0YXRpc3RpY3ND
bGFzc2lmaWVyOjpzaG91bGRVc2VDb3JlUHJlZGljdGlvbkFuZEhhdmVNb2RlbExvYWRlZCk6Cisg
ICAgICAgIChXZWJLaXQ6OlJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyOjpzaW5nbGV0
b25QcmVkaWN0aW9uTW9kZWwpOgorICAgICAgICAgICAgVGhlIG5ldyBjbGFzc2lmaWVyIGZvciBD
b2NvYSBwbGF0Zm9ybXMuCisgICAgICAgICogUGxhdGZvcm0vY2xhc3NpZmllci9jb2NvYS9SZXNv
dXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllckNvY29hLmg6IEFkZGVkLgorICAgICAgICAqIFBs
YXRmb3JtR1RLLmNtYWtlOgorICAgICAgICAgICAgQWRkZWQgUGxhdGZvcm0vY2xhc3NpZmllciBk
aXJlY3RvcnkgYW5kIFJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQmFzZS5jcHAuCisg
ICAgICAgICogUGxhdGZvcm1NYWMuY21ha2U6CisgICAgICAgICAgICBBZGRlZCBQbGF0Zm9ybS9j
bGFzc2lmaWVyIGFuZCBQbGF0Zm9ybS9jbGFzc2lmaWVyL2NvY29hIGRpcmVjdG9yaWVzLCBhbmQK
KyAgICAgICAgICAgIHNvdXJjZSBmaWxlcyBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmll
ckJhc2UuY3BwIGFuZAorICAgICAgICAgICAgUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZp
ZXJDb2NvYS5jcHAKKyAgICAgICAgKiBSZXNvdXJjZXMvUmVzb3VyY2VMb2FkU3RhdGlzdGljcy9j
b3JlUHJlZGljdGlvbl9tb2RlbDogQWRkZWQuCisgICAgICAgICAgICBNb2RlbCBmaWxlIHRvIGxv
YWQgaW50byBDb3JlUHJlZGljdGlvbi4KKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0MvV0tSZXNv
dXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdlci5jcHA6CisgICAgICAgIChXS1Jlc291cmNlTG9hZFN0
YXRpc3RpY3NNYW5hZ2VyU2V0U3ViZnJhbWVVbmRlclRvcEZyYW1lT3JpZ2luKToKKyAgICAgICAg
KFdLUmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFnZXJTZXRTdWJyZXNvdXJjZVVuZGVyVG9wRnJh
bWVPcmlnaW4pOgorICAgICAgICAoV0tSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdlclNldFN1
YnJlc291cmNlVW5pcXVlUmVkaXJlY3RUbyk6CisgICAgICAgICAgICBUZXN0IGluZnJhc3RydWN0
dXJlLgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQy9XS1Jlc291cmNlTG9hZFN0YXRpc3RpY3NN
YW5hZ2VyLmg6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NN
YW5hZ2VyLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc01h
bmFnZXI6OnNldFN1YmZyYW1lVW5kZXJUb3BGcmFtZU9yaWdpbik6CisgICAgICAgIChXZWJLaXQ6
OldlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VyOjpzZXRTdWJyZXNvdXJjZVVuZGVyVG9w
RnJhbWVPcmlnaW4pOgorICAgICAgICAoV2ViS2l0OjpXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNz
TWFuYWdlcjo6c2V0U3VicmVzb3VyY2VVbmlxdWVSZWRpcmVjdFRvKToKKyAgICAgICAgICAgIFRl
c3QgaW5mcmFzdHJ1Y3R1cmUuCisgICAgICAgICogVUlQcm9jZXNzL1dlYlJlc291cmNlTG9hZFN0
YXRpc3RpY3NNYW5hZ2VyLmg6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlJlc291cmNlTG9hZFN0
YXRpc3RpY3NTdG9yZS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlJlc291cmNlTG9hZFN0YXRp
c3RpY3NTdG9yZTo6V2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlKToKKyAgICAgICAgICAg
IFJlbmFtZWQgbV9zdG9yYWdlUGF0aCB0byBtX3N0YXRpc3RpY3NTdG9yYWdlUGF0aCBmb3IgY2xh
cml0eS4KKyAgICAgICAgKFdlYktpdDo6V2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlOjpj
bGFzc2lmeVJlc291cmNlKToKKyAgICAgICAgICAgIE5vdyBjYWxscyB0aGUgY2xhc3NpZmllciB0
aHJvdWdoIGl0cyBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllcgorICAgICAgICAgICAg
bWVtYmVyIHZhcmlhYmxlLgorICAgICAgICAoV2ViS2l0OjpXZWJSZXNvdXJjZUxvYWRTdGF0aXN0
aWNzU3RvcmU6OnBlcnNpc3RlbnRTdG9yYWdlUGF0aCk6CisgICAgICAgICAgICBSZW5hbWVkIG1f
c3RvcmFnZVBhdGggdG8gbV9zdGF0aXN0aWNzU3RvcmFnZVBhdGggZm9yIGNsYXJpdHkuCisgICAg
ICAgIChXZWJLaXQ6OldlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZTo6d3JpdGVFbmNvZGVy
VG9EaXNrKToKKyAgICAgICAgICAgIFJlbmFtZWQgbV9zdG9yYWdlUGF0aCB0byBtX3N0YXRpc3Rp
Y3NTdG9yYWdlUGF0aCBmb3IgY2xhcml0eS4KKyAgICAgICAgKFdlYktpdDo6V2ViUmVzb3VyY2VM
b2FkU3RhdGlzdGljc1N0b3JlOjpoYXNQcmV2YWxlbnRSZXNvdXJjZUNoYXJhY3RlcmlzdGljcyk6
IERlbGV0ZWQuCisgICAgICAgICogVUlQcm9jZXNzL1dlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NT
dG9yZS5oOgorICAgICAgICAqIFdlYktpdDIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAg
ICAgICAgICAgIEFkZGVkIHRoZSBuZXcgY2xhc3NpZmllciBzb3VyY2UgZmlsZXMgdW5kZXIgUGxh
dGZvcm0vY2xhc3NpZmllciBhbmQgdGhlCisgICAgICAgICAgICBjb3JlUHJlZGljdGlvbl9tb2Rl
bCBmaWxlIHVuZGVyIFJlc291cmNlcy9SZXNvdXJjZUxvYWRTdGF0aXN0aWNzLgorCiAyMDE3LTAy
LTIzICBCZXRoIERha2luICA8YmRha2luQGFwcGxlLmNvbT4gKyBEYW4gU2F1bmRlcnMgIDxkYXNh
dUBtaWNyb3NvZnQuY29tPgogCiAgICAgICAgIE5vIHJlbGlhYmxlIHdheSB0byBnZXQgYSBzbmFw
c2hvdCBvZiBXS1dlYlZpZXcKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1BsYXRmb3JtR1RLLmNtYWtl
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1BsYXRmb3JtR1RLLmNtYWtlCShyZXZpc2lv
biAyMTI4OTgpCisrKyBTb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybUdUSy5jbWFrZQkod29ya2luZyBj
b3B5KQpAQCAtNDYsNiArNDYsOCBAQCBsaXN0KEFQUEVORCBXZWJLaXQyX1NPVVJDRVMKICAgICBQ
bGF0Zm9ybS9JUEMvdW5peC9BdHRhY2htZW50VW5peC5jcHAKICAgICBQbGF0Zm9ybS9JUEMvdW5p
eC9Db25uZWN0aW9uVW5peC5jcHAKIAorICAgIFBsYXRmb3JtL2NsYXNzaWZpZXIvUmVzb3VyY2VM
b2FkU3RhdGlzdGljc0NsYXNzaWZpZXJCYXNlLmNwcAorCiAgICAgUGxhdGZvcm0vZ2xpYi9Nb2R1
bGVHbGliLmNwcAogCiAgICAgUGxhdGZvcm0vdW5peC9Mb2dnaW5nVW5peC5jcHAKQEAgLTg2NSw2
ICs4NjcsNyBAQCBsaXN0KEFQUEVORCBXZWJLaXQyX0lOQ0xVREVfRElSRUNUT1JJRVMKICAgICAi
JHtXRUJLSVQyX0RJUn0vTmV0d29ya1Byb2Nlc3Mvc291cCIKICAgICAiJHtXRUJLSVQyX0RJUn0v
TmV0d29ya1Byb2Nlc3MvdW5peCIKICAgICAiJHtXRUJLSVQyX0RJUn0vUGxhdGZvcm0vSVBDL2ds
aWIiCisgICAgIiR7V0VCS0lUMl9ESVJ9L1BsYXRmb3JtL2NsYXNzaWZpZXIiCiAgICAgIiR7V0VC
S0lUMl9ESVJ9L1NoYXJlZC9BUEkvYy9ndGsiCiAgICAgIiR7V0VCS0lUMl9ESVJ9L1NoYXJlZC9D
b29yZGluYXRlZEdyYXBoaWNzIgogICAgICIke1dFQktJVDJfRElSfS9TaGFyZWQvQ29vcmRpbmF0
ZWRHcmFwaGljcy90aHJlYWRlZGNvbXBvc2l0b3IiCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9QbGF0
Zm9ybU1hYy5jbWFrZQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybU1hYy5j
bWFrZQkocmV2aXNpb24gMjEyODk4KQorKysgU291cmNlL1dlYktpdDIvUGxhdGZvcm1NYWMuY21h
a2UJKHdvcmtpbmcgY29weSkKQEAgLTQ5LDYgKzQ5LDEwIEBAIGxpc3QoQVBQRU5EIFdlYktpdDJf
U09VUkNFUwogCiAgICAgUGxhdGZvcm0vY2cvQ0dVdGlsaXRpZXMuY3BwCiAKKyAgICBQbGF0Zm9y
bS9jbGFzc2lmaWVyL1Jlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQmFzZS5jcHAKKwor
ICAgIFBsYXRmb3JtL2NsYXNzaWZpZXIvY29jb2EvUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNz
aWZpZXJDb2NvYS5jcHAKKwogICAgIFBsYXRmb3JtL2ZvdW5kYXRpb24vTG9nZ2luZ0ZvdW5kYXRp
b24ubW0KIAogICAgIFBsYXRmb3JtL2NvY29hL1NoYXJlZE1lbW9yeUNvY29hLmNwcApAQCAtMzkx
LDYgKzM5NSw4IEBAIGxpc3QoQVBQRU5EIFdlYktpdDJfSU5DTFVERV9ESVJFQ1RPUklFUwogICAg
ICIke1dFQktJVDJfRElSfS9VSVByb2Nlc3MvU2Nyb2xsaW5nIgogICAgICIke1dFQktJVDJfRElS
fS9VSVByb2Nlc3MvaW9zIgogICAgICIke1dFQktJVDJfRElSfS9QbGF0Zm9ybS9jZyIKKyAgICAi
JHtXRUJLSVQyX0RJUn0vUGxhdGZvcm0vY2xhc3NpZmllciIKKyAgICAiJHtXRUJLSVQyX0RJUn0v
UGxhdGZvcm0vY2xhc3NpZmllci9jb2NvYSIKICAgICAiJHtXRUJLSVQyX0RJUn0vUGxhdGZvcm0v
bWFjIgogICAgICIke1dFQktJVDJfRElSfS9QbGF0Zm9ybS91bml4IgogICAgICIke1dFQktJVDJf
RElSfS9QbGF0Zm9ybS9zcGkvQ29jb2EiCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9M
b2dnaW5nLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvUGxhdGZvcm0vTG9nZ2luZy5o
CShyZXZpc2lvbiAyMTI4OTgpCisrKyBTb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9Mb2dnaW5nLmgJ
KHdvcmtpbmcgY29weSkKQEAgLTYzLDYgKzYzLDcgQEAgZXh0ZXJuICJDIiB7CiAgICAgTShQcm9j
ZXNzU3VzcGVuc2lvbikgXAogICAgIE0oUmVtb3RlTGF5ZXJUcmVlKSBcCiAgICAgTShSZXNpemUp
IFwKKyAgICBNKFJlc291cmNlTG9hZFN0YXRpc3RpY3MpIFwKICAgICBNKFNlbGVjdGlvbikgXAog
ICAgIE0oU2Vzc2lvblN0YXRlKSBcCiAgICAgTShTdG9yYWdlQVBJKSBcCkluZGV4OiBTb3VyY2Uv
V2ViS2l0Mi9QbGF0Zm9ybS9jbGFzc2lmaWVyL1Jlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lm
aWVyLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvUGxhdGZvcm0vY2xhc3NpZmllci9S
ZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllci5oCShub25leGlzdGVudCkKKysrIFNvdXJj
ZS9XZWJLaXQyL1BsYXRmb3JtL2NsYXNzaWZpZXIvUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNz
aWZpZXIuaAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDUyIEBACisvKgorICogQ29weXJpZ2h0
IChDKSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisg
KiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisg
KiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklC
VVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBV
UlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRT
IENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBP
UiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRI
RU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3By
YWdtYSBvbmNlCisKKyNpbmNsdWRlIDx3dGYvUGxhdGZvcm0uaD4KKworI2lmIFVTRShBUFBMRV9J
TlRFUk5BTF9TREspICYmIEhBVkUoQ09SRV9QUkVESUNUSU9OKQorI2luY2x1ZGUgIlJlc291cmNl
TG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQ29jb2EuaCIKKyNlbHNlCisKKyNpbmNsdWRlICJSZXNv
dXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllckJhc2UuaCIKKworbmFtZXNwYWNlIFdlYktpdCB7
CisKK2NsYXNzIFJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyIDogcHVibGljIFJlc291
cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQmFzZSB7CitwdWJsaWM6CisgICAgUmVzb3VyY2VM
b2FkU3RhdGlzdGljc0NsYXNzaWZpZXIoKQorICAgIDogUmVzb3VyY2VMb2FkU3RhdGlzdGljc0Ns
YXNzaWZpZXJCYXNlKCkgeyB9CisgICAgCitwcm90ZWN0ZWQ6CisgICAgYm9vbCBjbGFzc2lmeSh1
bnNpZ25lZCBhLCB1bnNpZ25lZCBiLCB1bnNpZ25lZCBjKSBvdmVycmlkZQorICAgIHsKKyAgICAg
ICAgcmV0dXJuIGNsYXNzaWZ5V2l0aFZlY3RvclRocmVzaG9sZChhLCBiLCBjKTsKKyAgICB9Cit9
OworCit9CisKKyNlbmRpZgpJbmRleDogU291cmNlL1dlYktpdDIvUGxhdGZvcm0vY2xhc3NpZmll
ci9SZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllckJhc2UuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL2NsYXNzaWZpZXIvUmVzb3VyY2VMb2FkU3RhdGlzdGlj
c0NsYXNzaWZpZXJCYXNlLmNwcAkobm9uZXhpc3RlbnQpCisrKyBTb3VyY2UvV2ViS2l0Mi9QbGF0
Zm9ybS9jbGFzc2lmaWVyL1Jlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQmFzZS5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw2MiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAx
NyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBg
QVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1F
UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFS
RSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklC
VVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
IFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5F
U1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1Ig
VE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJj
b25maWcuaCIKKyNpbmNsdWRlICJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllckJhc2Uu
aCIKKworI2luY2x1ZGUgIkxvZ2dpbmcuaCIKKyNpbmNsdWRlIDxXZWJDb3JlL1Jlc291cmNlTG9h
ZFN0YXRpc3RpY3MuaD4KKwordXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CisKK25hbWVzcGFjZSBX
ZWJLaXQgeworCitzdGF0aWMgY29uc3QgYXV0byBmZWF0dXJlVmVjdG9yTGVuZ3RoVGhyZXNob2xk
ID0gMzsKK2Jvb2wgUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXJCYXNlOjpoYXNQcmV2
YWxlbnRSZXNvdXJjZUNoYXJhY3RlcmlzdGljcyhjb25zdCBSZXNvdXJjZUxvYWRTdGF0aXN0aWNz
JiByZXNvdXJjZVN0YXRpc3RpYykKK3sKKyAgICBhdXRvIHN1YnJlc291cmNlVW5kZXJUb3BGcmFt
ZU9yaWdpbnNDb3VudCA9IHJlc291cmNlU3RhdGlzdGljLnN1YnJlc291cmNlVW5kZXJUb3BGcmFt
ZU9yaWdpbnMuc2l6ZSgpOworICAgIGF1dG8gc3VicmVzb3VyY2VVbmlxdWVSZWRpcmVjdHNUb0Nv
dW50ID0gcmVzb3VyY2VTdGF0aXN0aWMuc3VicmVzb3VyY2VVbmlxdWVSZWRpcmVjdHNUby5zaXpl
KCk7CisgICAgYXV0byBzdWJmcmFtZVVuZGVyVG9wRnJhbWVPcmlnaW5zQ291bnQgPSByZXNvdXJj
ZVN0YXRpc3RpYy5zdWJmcmFtZVVuZGVyVG9wRnJhbWVPcmlnaW5zLnNpemUoKTsKKyAgICAKKyAg
ICBpZiAoIXN1YnJlc291cmNlVW5kZXJUb3BGcmFtZU9yaWdpbnNDb3VudAorICAgICAgICAmJiAh
c3VicmVzb3VyY2VVbmlxdWVSZWRpcmVjdHNUb0NvdW50CisgICAgICAgICYmICFzdWJmcmFtZVVu
ZGVyVG9wRnJhbWVPcmlnaW5zQ291bnQpCisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAKKyAg
ICBpZiAoc3VicmVzb3VyY2VVbmRlclRvcEZyYW1lT3JpZ2luc0NvdW50ID4gZmVhdHVyZVZlY3Rv
ckxlbmd0aFRocmVzaG9sZAorICAgICAgICB8fCBzdWJyZXNvdXJjZVVuaXF1ZVJlZGlyZWN0c1Rv
Q291bnQgPiBmZWF0dXJlVmVjdG9yTGVuZ3RoVGhyZXNob2xkCisgICAgICAgIHx8IHN1YmZyYW1l
VW5kZXJUb3BGcmFtZU9yaWdpbnNDb3VudCA+IGZlYXR1cmVWZWN0b3JMZW5ndGhUaHJlc2hvbGQp
CisgICAgICAgIHJldHVybiB0cnVlOworCisgICAgcmV0dXJuIGNsYXNzaWZ5KHN1YnJlc291cmNl
VW5kZXJUb3BGcmFtZU9yaWdpbnNDb3VudCwgc3VicmVzb3VyY2VVbmlxdWVSZWRpcmVjdHNUb0Nv
dW50LCBzdWJmcmFtZVVuZGVyVG9wRnJhbWVPcmlnaW5zQ291bnQpOworfQorCitib29sIFJlc291
cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQmFzZTo6Y2xhc3NpZnlXaXRoVmVjdG9yVGhyZXNo
b2xkKHVuc2lnbmVkIGEsIHVuc2lnbmVkIGIsIHVuc2lnbmVkIGMpCit7CisgICAgTE9HKFJlc291
cmNlTG9hZFN0YXRpc3RpY3MsICJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllckJhc2U6
OmNsYXNzaWZ5V2l0aFZlY3RvclRocmVzaG9sZCgpOiBDbGFzc2lmaWVkIHdpdGggdGhyZXNob2xk
LiIpOworICAgIHJldHVybiBzcXJ0KGEgKiBhICsgYiAqIGIgKyBjICogYykgPiBmZWF0dXJlVmVj
dG9yTGVuZ3RoVGhyZXNob2xkOworfQorICAgIAorfQpJbmRleDogU291cmNlL1dlYktpdDIvUGxh
dGZvcm0vY2xhc3NpZmllci9SZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllckJhc2UuaAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9jbGFzc2lmaWVyL1Jlc291cmNl
TG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQmFzZS5oCShub25leGlzdGVudCkKKysrIFNvdXJjZS9X
ZWJLaXQyL1BsYXRmb3JtL2NsYXNzaWZpZXIvUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZp
ZXJCYXNlLmgJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw0NCBAQAorLyoKKyAqIENvcHlyaWdo
dCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgor
ICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgor
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJ
QlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElU
UyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsg
T1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBU
SEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYg
QURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNw
cmFnbWEgb25jZQorCituYW1lc3BhY2UgV2ViQ29yZSB7CitzdHJ1Y3QgUmVzb3VyY2VMb2FkU3Rh
dGlzdGljczsKK30KKworbmFtZXNwYWNlIFdlYktpdCB7CisKK2NsYXNzIFJlc291cmNlTG9hZFN0
YXRpc3RpY3NDbGFzc2lmaWVyQmFzZSB7CitwdWJsaWM6CisgICAgYm9vbCBoYXNQcmV2YWxlbnRS
ZXNvdXJjZUNoYXJhY3RlcmlzdGljcyhjb25zdCBXZWJDb3JlOjpSZXNvdXJjZUxvYWRTdGF0aXN0
aWNzJiByZXNvdXJjZVN0YXRpc3RpYyk7Citwcm90ZWN0ZWQ6CisgICAgUmVzb3VyY2VMb2FkU3Rh
dGlzdGljc0NsYXNzaWZpZXJCYXNlKCkgeyB9CisgICAgdmlydHVhbCB+UmVzb3VyY2VMb2FkU3Rh
dGlzdGljc0NsYXNzaWZpZXJCYXNlKCkgeyB9CisgICAgdmlydHVhbCBib29sIGNsYXNzaWZ5KHVu
c2lnbmVkLCB1bnNpZ25lZCwgdW5zaWduZWQpID0gMDsKKyAgICBib29sIGNsYXNzaWZ5V2l0aFZl
Y3RvclRocmVzaG9sZCh1bnNpZ25lZCwgdW5zaWduZWQsIHVuc2lnbmVkKTsKK307CisKK30KSW5k
ZXg6IFNvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL2NsYXNzaWZpZXIvY29jb2EvQ29yZVByZWRpY3Rp
b25Tb2Z0TGluay5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL2NsYXNz
aWZpZXIvY29jb2EvQ29yZVByZWRpY3Rpb25Tb2Z0TGluay5oCShub25leGlzdGVudCkKKysrIFNv
dXJjZS9XZWJLaXQyL1BsYXRmb3JtL2NsYXNzaWZpZXIvY29jb2EvQ29yZVByZWRpY3Rpb25Tb2Z0
TGluay5oCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMzcgQEAKKy8qCisgKiBDb3B5cmlnaHQg
KEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAq
IDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAq
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJV
VE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVS
UE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMg
Q09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9S
IEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhF
T1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJh
Z21hIG9uY2UKKworI2lmIFVTRShBUFBMRV9JTlRFUk5BTF9TREspICYmIEhBVkUoQ09SRV9QUkVE
SUNUSU9OKQorCisjaW5jbHVkZSA8Q29yZVByZWRpY3Rpb24vc3ZtLmg+CisjaW5jbHVkZSA8V2Vi
Q29yZS9Tb2Z0TGlua2luZy5oPgorCitTT0ZUX0xJTktfUFJJVkFURV9GUkFNRVdPUktfT1BUSU9O
QUwoQ29yZVByZWRpY3Rpb24pCitTT0ZUX0xJTksoQ29yZVByZWRpY3Rpb24sIHN2bV9wcmVkaWN0
X3ZhbHVlcywgZG91YmxlLCAoY29uc3Qgc3RydWN0IHN2bV9tb2RlbCAqbW9kZWwsIGNvbnN0IHN0
cnVjdCBzdm1fbm9kZSAqeCwgZG91YmxlKiBkZWNfdmFsdWVzKSwgKG1vZGVsLCB4LCBkZWNfdmFs
dWVzKSkKK1NPRlRfTElOSyhDb3JlUHJlZGljdGlvbiwgc3ZtX2xvYWRfbW9kZWwsIHN2bV9tb2Rl
bCosIChjb25zdCBjaGFyICptb2RlbF9maWxlX25hbWUpLCAobW9kZWxfZmlsZV9uYW1lKSkKKwor
I2VuZGlmCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9jbGFzc2lmaWVyL2NvY29hL1Jl
c291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQ29jb2EuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJLaXQyL1BsYXRmb3JtL2NsYXNzaWZpZXIvY29jb2EvUmVzb3VyY2VMb2FkU3RhdGlz
dGljc0NsYXNzaWZpZXJDb2NvYS5jcHAJKG5vbmV4aXN0ZW50KQorKysgU291cmNlL1dlYktpdDIv
UGxhdGZvcm0vY2xhc3NpZmllci9jb2NvYS9SZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmll
ckNvY29hLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDEzMCBAQAorLyoKKyAqIENvcHly
aWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisg
KgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09O
VFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisg
KiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9S
IElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklU
UzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICog
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisK
KyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xh
c3NpZmllckNvY29hLmgiCisKKyNpZiBVU0UoQVBQTEVfSU5URVJOQUxfU0RLKSAmJiBIQVZFKENP
UkVfUFJFRElDVElPTikKKworI2luY2x1ZGUgIkxvZ2dpbmcuaCIKKyNpbmNsdWRlIDx3dGYvTmV2
ZXJEZXN0cm95ZWQuaD4KKyNpbmNsdWRlICJDb3JlUHJlZGljdGlvblNvZnRMaW5rLmgiCisKK25h
bWVzcGFjZSBXZWJLaXQgeworCitib29sIFJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVy
OjpjbGFzc2lmeSh1bnNpZ25lZCBzdWJyZXNvdXJjZVVuZGVyVG9wRnJhbWVPcmlnaW5zQ291bnQs
IHVuc2lnbmVkIHN1YnJlc291cmNlVW5pcXVlUmVkaXJlY3RzVG9Db3VudCwgdW5zaWduZWQgc3Vi
ZnJhbWVVbmRlclRvcEZyYW1lT3JpZ2luc0NvdW50KQoreworICAgIGlmICghc2hvdWxkVXNlQ29y
ZVByZWRpY3Rpb25BbmRIYXZlTW9kZWxMb2FkZWQoKSkKKyAgICAgICAgcmV0dXJuIGNsYXNzaWZ5
V2l0aFZlY3RvclRocmVzaG9sZChzdWJyZXNvdXJjZVVuZGVyVG9wRnJhbWVPcmlnaW5zQ291bnQs
IHN1YnJlc291cmNlVW5pcXVlUmVkaXJlY3RzVG9Db3VudCwgc3ViZnJhbWVVbmRlclRvcEZyYW1l
T3JpZ2luc0NvdW50KTsKKworICAgIFZlY3Rvcjx1bnNpZ25lZD4gbm9uWmVyb0ZlYXR1cmVzOwor
ICAgIFZlY3Rvcjx1bnNpZ25lZD4gaW5kaWNlczsKKworICAgIGlmIChzdWJyZXNvdXJjZVVuZGVy
VG9wRnJhbWVPcmlnaW5zQ291bnQpIHsKKyAgICAgICAgbm9uWmVyb0ZlYXR1cmVzLmFwcGVuZChz
dWJyZXNvdXJjZVVuZGVyVG9wRnJhbWVPcmlnaW5zQ291bnQpOworICAgICAgICBpbmRpY2VzLmFw
cGVuZCgxKTsKKyAgICB9CisgICAgaWYgKHN1YnJlc291cmNlVW5pcXVlUmVkaXJlY3RzVG9Db3Vu
dCkgeworICAgICAgICBub25aZXJvRmVhdHVyZXMuYXBwZW5kKHN1YnJlc291cmNlVW5pcXVlUmVk
aXJlY3RzVG9Db3VudCk7CisgICAgICAgIGluZGljZXMuYXBwZW5kKDIpOworICAgIH0KKyAgICBp
ZiAoc3ViZnJhbWVVbmRlclRvcEZyYW1lT3JpZ2luc0NvdW50KSB7CisgICAgICAgIG5vblplcm9G
ZWF0dXJlcy5hcHBlbmQoc3ViZnJhbWVVbmRlclRvcEZyYW1lT3JpZ2luc0NvdW50KTsKKyAgICAg
ICAgaW5kaWNlcy5hcHBlbmQoMyk7CisgICAgfQorCisgICAgVmVjdG9yPHN2bV9ub2RlPiBleGFt
cGxlVmVjdG9yKG5vblplcm9GZWF0dXJlcy5zaXplKCkgKyAxKTsKKyAgICBmb3IgKHNpemVfdCBp
ID0gMDsgaSA8IG5vblplcm9GZWF0dXJlcy5zaXplKCk7IGkrKykgeworICAgICAgICBleGFtcGxl
VmVjdG9yLmF0KGkpLmluZGV4ID0gaW5kaWNlcy5hdChpKTsKKyAgICAgICAgZXhhbXBsZVZlY3Rv
ci5hdChpKS52YWx1ZSA9IG5vblplcm9GZWF0dXJlcy5hdChpKTsKKyAgICB9CisKKyAgICAvLyBB
ZGQgdGVybWluYXRpb24gbm9kZSB3aXRoIGluZGV4IC0xLgorICAgIGV4YW1wbGVWZWN0b3IuYXQo
bm9uWmVyb0ZlYXR1cmVzLnNpemUoKSkuaW5kZXggPSAtMTsKKyAgICBleGFtcGxlVmVjdG9yLmF0
KG5vblplcm9GZWF0dXJlcy5zaXplKCkpLnZhbHVlID0gLTE7CisKKyAgICBkb3VibGUgc2NvcmU7
CisgICAgaW50IGNsYXNzaWZpY2F0aW9uID0gc3ZtX3ByZWRpY3RfdmFsdWVzKHNpbmdsZXRvblBy
ZWRpY3Rpb25Nb2RlbCgpLCBleGFtcGxlVmVjdG9yLmRhdGEoKSwgJnNjb3JlKTsKKyAgICBMT0co
UmVzb3VyY2VMb2FkU3RhdGlzdGljcywgIlJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVy
OjpjbGFzc2lmeSgpOiBDbGFzc2lmaWVkIHdpdGggQ29yZVByZWRpY3Rpb24uIik7CisgICAgcmV0
dXJuIGNsYXNzaWZpY2F0aW9uIDwgMDsKK30KKworU3RyaW5nIFJlc291cmNlTG9hZFN0YXRpc3Rp
Y3NDbGFzc2lmaWVyOjpzdG9yYWdlUGF0aCgpCit7CisgICAgQ0ZCdW5kbGVSZWYgd2ViS2l0QnVu
ZGxlID0gQ0ZCdW5kbGVHZXRCdW5kbGVXaXRoSWRlbnRpZmllcihDRlNUUigiY29tLmFwcGxlLldl
YktpdCIpKTsKKyAgICBSZXRhaW5QdHI8Q0ZVUkxSZWY+IHJlc291cmNlVXJsID0gYWRvcHRDRihD
RkJ1bmRsZUNvcHlSZXNvdXJjZXNEaXJlY3RvcnlVUkwod2ViS2l0QnVuZGxlKSk7CisgICAgcmVz
b3VyY2VVcmwgPSBhZG9wdENGKENGVVJMQ3JlYXRlQ29weUFwcGVuZGluZ1BhdGhDb21wb25lbnQo
bnVsbHB0ciwgcmVzb3VyY2VVcmwuZ2V0KCksIENGU1RSKCJjb3JlUHJlZGljdGlvbl9tb2RlbCIp
LCBmYWxzZSkpOworICAgIENGRXJyb3JSZWYgZXJyb3IgPSBudWxscHRyOworICAgIHJlc291cmNl
VXJsID0gYWRvcHRDRihDRlVSTENyZWF0ZUZpbGVQYXRoVVJMKG51bGxwdHIsIHJlc291cmNlVXJs
LmdldCgpLCAmZXJyb3IpKTsKKworICAgIGlmIChlcnJvciB8fCAhcmVzb3VyY2VVcmwpCisgICAg
ICAgIHJldHVybiBTdHJpbmcoKTsKKworICAgIFJldGFpblB0cjxDRlN0cmluZ1JlZj4gcmVzb3Vy
Y2VVcmxTdHJpbmcgPSBhZG9wdENGKENGVVJMQ29weUZpbGVTeXN0ZW1QYXRoKHJlc291cmNlVXJs
LmdldCgpLCBrQ0ZVUkxQT1NJWFBhdGhTdHlsZSkpOworICAgIHJldHVybiBTdHJpbmcocmVzb3Vy
Y2VVcmxTdHJpbmcuZ2V0KCkpOworfQorCitib29sIFJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFz
c2lmaWVyOjpzaG91bGRVc2VDb3JlUHJlZGljdGlvbkFuZEhhdmVNb2RlbExvYWRlZCgpCit7Cisg
ICAgaWYgKG1faGF2ZUxvYWRlZE1vZGVsKQorICAgICAgICByZXR1cm4gdHJ1ZTsKKworICAgIGlm
ICghbV91c2VDb3JlUHJlZGljdGlvbikKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgaWYg
KCFDb3JlUHJlZGljdGlvbkxpYnJhcnkoKSkgeworICAgICAgICBtX3VzZUNvcmVQcmVkaWN0aW9u
ID0gZmFsc2U7CisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICB9CisKKyAgICBTdHJpbmcgc3Rv
cmFnZVBhdGhTdHIgPSBzdG9yYWdlUGF0aCgpOworICAgIGlmIChzdG9yYWdlUGF0aFN0ci5pc051
bGwoKSB8fCBzdG9yYWdlUGF0aFN0ci5pc0VtcHR5KCkpIHsKKyAgICAgICAgbV91c2VDb3JlUHJl
ZGljdGlvbiA9IGZhbHNlOworICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgfQorCisgICAgaWYg
KHNpbmdsZXRvblByZWRpY3Rpb25Nb2RlbCgpKSB7CisgICAgICAgIG1faGF2ZUxvYWRlZE1vZGVs
ID0gdHJ1ZTsKKyAgICAgICAgcmV0dXJuIHRydWU7CisgICAgfQorCisgICAgbV91c2VDb3JlUHJl
ZGljdGlvbiA9IGZhbHNlOworICAgIHJldHVybiBmYWxzZTsKK30KKworc3RydWN0IHN2bV9tb2Rl
bCogUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXI6OnNpbmdsZXRvblByZWRpY3Rpb25N
b2RlbCgpCit7CisgICAgc3RhdGljIE5ldmVyRGVzdHJveWVkPHN0cnVjdCBzdm1fbW9kZWwqPiBj
b3JlUHJlZGljdGlvbk1vZGVsID0gc3ZtX2xvYWRfbW9kZWwoc3RvcmFnZVBhdGgoKS51dGY4KCku
ZGF0YSgpKTsKKworICAgIGlmIChjb3JlUHJlZGljdGlvbk1vZGVsKQorICAgICAgICByZXR1cm4g
Y29yZVByZWRpY3Rpb25Nb2RlbDsKKworICAgIFdURkxvZ0Fsd2F5cygiUmVzb3VyY2VMb2FkU3Rh
dGlzdGljc0NsYXNzaWZpZXI6OnNpbmdsZXRvblByZWRpY3Rpb25Nb2RlbCgpOiBDb3VsZG4ndCBs
b2FkIG1vZGVsIGZpbGUgYXQgcGF0aCAlcy4iLCBzdG9yYWdlUGF0aCgpLnV0ZjgoKS5kYXRhKCkp
OworICAgIG1fdXNlQ29yZVByZWRpY3Rpb24gPSBmYWxzZTsKKyAgICByZXR1cm4gbnVsbHB0cjsK
K30KK30KKworI2VuZGlmCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9jbGFzc2lmaWVy
L2NvY29hL1Jlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQ29jb2EuaAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9jbGFzc2lmaWVyL2NvY29hL1Jlc291cmNlTG9h
ZFN0YXRpc3RpY3NDbGFzc2lmaWVyQ29jb2EuaAkobm9uZXhpc3RlbnQpCisrKyBTb3VyY2UvV2Vi
S2l0Mi9QbGF0Zm9ybS9jbGFzc2lmaWVyL2NvY29hL1Jlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFz
c2lmaWVyQ29jb2EuaAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDUxIEBACisvKgorICogQ29w
eXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4K
KyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBD
T05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIK
KyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4g
T1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVD
VCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBE
QU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAq
IFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9G
SVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04g
QU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1Qg
TElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisg
KiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8K
KworI3ByYWdtYSBvbmNlCisKKyNpZiBVU0UoQVBQTEVfSU5URVJOQUxfU0RLKSAmJiBIQVZFKENP
UkVfUFJFRElDVElPTikKKworI2luY2x1ZGUgIlJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lm
aWVyQmFzZS5oIgorI2luY2x1ZGUgPENvcmVGb3VuZGF0aW9uL0NvcmVGb3VuZGF0aW9uLmg+Cisj
aW5jbHVkZSA8Q29yZVByZWRpY3Rpb24vc3ZtLmg+CisjaW5jbHVkZSA8d3RmL1BsYXRmb3JtLmg+
CisjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CisKK25hbWVzcGFjZSBXZWJLaXQgewor
CitjbGFzcyBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllciA6IHB1YmxpYyBSZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllckJhc2UgeworCitwcml2YXRlOgorICAgIGJvb2wgY2xh
c3NpZnkodW5zaWduZWQsIHVuc2lnbmVkLCB1bnNpZ25lZCkgb3ZlcnJpZGU7CisgICAgU3RyaW5n
IHN0b3JhZ2VQYXRoKCk7CisgICAgYm9vbCBzaG91bGRVc2VDb3JlUHJlZGljdGlvbkFuZEhhdmVN
b2RlbExvYWRlZCgpOworICAgIHN0cnVjdCBzdm1fbW9kZWwqIHNpbmdsZXRvblByZWRpY3Rpb25N
b2RlbCgpOworICAgIGJvb2wgbV91c2VDb3JlUHJlZGljdGlvbiB7IHRydWUgfTsKKyAgICBib29s
IG1faGF2ZUxvYWRlZE1vZGVsIHsgZmFsc2UgfTsKK307CisgICAgCit9CisKKyNlbmRpZgpJbmRl
eDogU291cmNlL1dlYktpdDIvUmVzb3VyY2VzL1Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY29yZVBy
ZWRpY3Rpb25fbW9kZWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvUmVzb3VyY2VzL1Jl
c291cmNlTG9hZFN0YXRpc3RpY3MvY29yZVByZWRpY3Rpb25fbW9kZWwJKG5vbmV4aXN0ZW50KQor
KysgU291cmNlL1dlYktpdDIvUmVzb3VyY2VzL1Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY29yZVBy
ZWRpY3Rpb25fbW9kZWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw2NzggQEAKK3N2bV90eXBl
IGNfc3ZjCitrZXJuZWxfdHlwZSByYmYKK2dhbW1hIDAuMQorbnJfY2xhc3MgMgordG90YWxfc3Yg
MzMwCityaG8gMC4yODc5NDU2NDIyNjEKK2xhYmVsIC0xIDEKK25yX3N2IDMwMCAzMAorU1YKKy0w
LjA1NDY2OTcwMzg3MjQgMToxNC4wIDI6My4wIDM6Ny4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEu
MCAyOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4w
IDM6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Ny4w
IAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAyOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAg
MzoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6My4wIDI6MTYuMCAKKy0wLjA1NDY2OTcwMzg3MjQg
MToxLjAgMzoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDI6Mi4wIAorLTAuMDU0NjY5NzAz
ODcyNCAxOjEuMCAzOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAgCistMC4wNTQ2Njk3MDM4
NzI0IDE6My4wIDI6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjUuMCAKKy0wLjA1NDY2OTcwMzg3
MjQgMToxNi4wIDI6Mi4wIDM6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAyOjEuMCAKKy0w
LjA1NDY2OTcwMzg3MjQgMToxMS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjQuMCAzOjMuMCAKKy0w
LjA1NDY2OTcwMzg3MjQgMToyOC4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAKKy0wLjA1NDY2
OTcwMzg3MjQgMToxLjAgMzoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDM6MS4wIAorLTAu
MDU0NjY5NzAzODcyNCAxOjIyLjAgMjoxLjAgMzoxMi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjE0
LjAgMzo1LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDM6MS4wIAorLTAuMDU0NjY5NzAzODcy
NCAxOjQ4LjAgMjoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MjUuMCAzOjE2LjAgCistMC4wNTQ2
Njk3MDM4NzI0IDE6MS4wIDI6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAzOjEuMCAKKy0w
LjA1NDY2OTcwMzg3MjQgMTo2LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Ny4wIAorLTAuMDU0NjY5
NzAzODcyNCAxOjEuMCAyOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMzoxLjAgCistMC4w
NTQ2Njk3MDM4NzI0IDE6My4wIDM6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjcuMCAyOjEuMCAz
OjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Ny4wIAor
LTAuMDU0NjY5NzAzODcyNCAxOjUuMCAyOjIuMCAzOjMuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToy
LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDI6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjQu
MCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMjoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4w
IDM6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjkuMCAzOjQuMCAKKy0wLjA1NDY2OTcwMzg3MjQg
MToxLjAgMjoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDM6MS4wIAorLTAuMDU0NjY5NzAz
ODcyNCAxOjQ3LjAgMjoyMS4wIDM6MzMuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxMS4wIDI6Mi4w
IDM6NS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjExLjAgMjozLjAgMzoxLjAgCistMC4wNTQ2Njk3
MDM4NzI0IDE6MS4wIDM6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAyOjEuMCAKKy0wLjA1
NDY2OTcwMzg3MjQgMTo0My4wIDM6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEzLjAgMzo3LjAg
CistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDM6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjQuMCAK
Ky0wLjA1NDY2OTcwMzg3MjQgMToxMy4wIDM6NC4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjQyLjAg
Mjo0LjAgMzozMi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEwLjAgMjo1LjAgMzoxLjAgCistMC4w
NTQ2Njk3MDM4NzI0IDE6Ny4wIDM6NC4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAKKy0wLjA1
NDY2OTcwMzg3MjQgMToxLjAgMzoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDM6MS4wIAor
LTAuMDU0NjY5NzAzODcyNCAxOjYuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMjoxLjAgCist
MC4wNTQ2Njk3MDM4NzI0IDE6Ni4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjE2LjAgMjo0LjAgCist
MC4wNTQ2Njk3MDM4NzI0IDE6MTAuMCAyOjEuMCAzOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTox
OC4wIDI6My4wIDM6Ni4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAzOjEuMCAKKy0wLjA1NDY2
OTcwMzg3MjQgMToxLjAgMjoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIAorLTAuMDU0NjY5
NzAzODcyNCAxOjMuMCAyOjEuMCAzOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMjoxLjAg
CistMC4wNTQ2Njk3MDM4NzI0IDE6My4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjMuMCAKKy0wLjA1
NDY2OTcwMzg3MjQgMTo0LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIAorLTAuMDU0NjY5NzAz
ODcyNCAxOjIuMCAzOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAgCistMC4wNTQ2Njk3MDM4
NzI0IDE6MS4wIDM6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIxLjAgCistMC4wNTQ2Njk3MDM4
NzI0IDE6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAyOjIuMCAKKy0wLjA1NDY2OTcwMzg3
MjQgMToxNC4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAyOjEuMCAKKy0wLjA1NDY2OTcwMzg3
MjQgMToyLjAgMzoyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6NC4wIDM6My4wIAorLTAuMDU0NjY5
NzAzODcyNCAxOjIuMCAzOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTozLjAgCistMC4wNTQ2Njk3
MDM4NzI0IDE6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAyOjEuMCAKKy0wLjA1NDY2OTcw
Mzg3MjQgMTo0LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MzkuMCAzOjQuMCAKKy0wLjA1NDY2OTcw
Mzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIDI6MS4wIDM6MS4wIAorLTAuMDU0
NjY5NzAzODcyNCAxOjQuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAgMjoxLjAgCistMC4wNTQ2
Njk3MDM4NzI0IDE6NC4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAyOjEuMCAKKy0wLjA1NDY2
OTcwMzg3MjQgMToxLjAgMjoyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5
NzAzODcyNCAxOjIuMCAyOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3
MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQg
MToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6My4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAy
OjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAor
LTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2
Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAzOjEuMCAKKy0wLjA1NDY2
OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcy
NCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4w
IAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4w
NTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcw
Mzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MTYuMCAyOjEuMCAzOjEuMCAKKy0wLjA1
NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAz
ODcyNCAxOjEuMCAyOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4
NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjMuMCAyOjEuMCAKKy0wLjA1NDY2OTcwMzg3
MjQgMToxLjAgMzoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcy
NCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4w
IAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4w
NTQ2Njk3MDM4NzI0IDE6MjAuMCAzOjMuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4w
NTQ2Njk3MDM4NzI0IDE6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcw
Mzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAx
OjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDM6
MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMzox
LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjguMCAKKy0w
LjA1NDY2OTcwMzg3MjQgMTo3LjAgMjoxLjAgMzoyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6OC4w
IDI6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAyOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQg
MToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAy
OjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAor
LTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2
Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAKKy0wLjA1NDY2OTcwMzg3
MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MTIuMCAzOjcuMCAKKy0wLjA1NDY2OTcwMzg3
MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6OS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjcu
MCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDI6MS4w
IAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAzOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAg
CistMC4wNTQ2Njk3MDM4NzI0IDE6OC4wIDI6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjE3LjAg
CistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIDI6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAK
Ky0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0
NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo0LjAgCistMC4wNTQ2Njk3MDM4
NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTox
My4wIDI6NC4wIDM6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAzOjEuMCAKKy0wLjA1NDY2
OTcwMzg3MjQgMToyLjAgMzoyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5
NzAzODcyNCAxOjE2LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6My4wIAorLTAuMDU0NjY5NzAzODcy
NCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4w
IAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAgCistMC4w
NTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAKKy0wLjA1NDY2OTcw
Mzg3MjQgMToyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAx
OjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAor
LTAuMDU0NjY5NzAzODcyNCAxOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTozLjAgMzozLjAgCist
MC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAKKy0wLjA1NDY2
OTcwMzg3MjQgMToxMS4wIDM6MTEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2
Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3
MjQgMToyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEu
MCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAu
MDU0NjY5NzAzODcyNCAxOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3
MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQg
MToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MTUuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAg
CistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIwLjAgMjoxMi4w
IDM6My4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAg
CistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1
NDY2OTcwMzg3MjQgMTo3LjAgMzoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0
NjY5NzAzODcyNCAxOjEuMCAzOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2
Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAzOjEuMCAKKy0wLjA1NDY2
OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6My4wIDM6Mi4wIAorLTAuMDU0NjY5
NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0
IDE6OS4wIDI6My4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAzOjEuMCAKKy0wLjA1NDY2OTcw
Mzg3MjQgMTo2LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6NC4wIAorLTAuMDU0NjY5NzAzODcyNCAx
OjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo3LjAgMjoyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6
MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAzOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToy
LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjkuMCAKKy0w
LjA1NDY2OTcwMzg3MjQgMToyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5
NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0
IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxNC4w
IAorLTAuMDU0NjY5NzAzODcyNCAxOjEyLjAgMzo2LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6My4w
IAorLTAuMDU0NjY5NzAzODcyNCAxOjQuMCAyOjEuMCAzOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQg
MToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAK
Ky0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6OS4wIAorLTAuMDU0
NjY5NzAzODcyNCAxOjkuMCAyOjEuMCAzOjQuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCist
MC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjkuMCAyOjEuMCAKKy0w
LjA1NDY2OTcwMzg3MjQgMTozLjAgMjozLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIDI6Mi4w
IAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAyOjEuMCAzOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQg
MTo4LjAgMjoxLjAgMzozLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAz
ODcyNCAxOjIuMCAyOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo5LjAgMjoxLjAgCistMC4wNTQ2
Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3
MjQgMToyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjM2
LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0w
LjA1NDY2OTcwMzg3MjQgMToyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5
NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAgCistMC4wNTQ2Njk3MDM4NzI0
IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo2LjAg
CistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDM6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAK
Ky0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0
NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAgCistMC4wNTQ2Njk3MDM4
NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo0
LjAgMzoyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MTMuMCAzOjQuMCAKKy0wLjA1NDY2OTcwMzg3
MjQgMToxLjAgCistMC4wNDAyMDc1MTc4OTQyIDE6MS4wIAorMC41ODUzNjU4NTM2NTkgMToxLjAg
CiswLjQ3OTI3NjEzOTAwMSAxOjYuMCAyOjMuMCAKKzAuNTg1MzY1ODUzNjU5IDE6Mi4wIAorMC41
ODUzNjU4NTM2NTkgMToxLjAgCiswLjU4NTM2NTg1MzY1OSAxOjMuMCAzOjMuMCAKKzAuNTg1MzY1
ODUzNjU5IDE6NDIuMCAyOjIuMCAzOjI4LjAgCiswLjU4NTM2NTg1MzY1OSAxOjIuMCAKKzAuNTg1
MzY1ODUzNjU5IDE6MTIuMCAKKzAuNDc5MjgzMDQ2NTc4IDE6Ny4wIAorMC4zMDAzOTc4NzM0NzYg
MTozLjAgMzoxLjAgCiswLjA1NDMxNzMzMDY0NDIgMTo2LjAgMzoyLjAgCiswLjU2MzQ2NTEyNjI5
OSAxOjExLjAgCiswLjU4NTM2NTg1MzY1OSAxOjIuMCAKKzAuNTg1MzY1ODUzNjU5IDE6MTAuMCAy
OjMuMCAzOjYuMCAKKzAuNTg1MzY1ODUzNjU5IDE6MS4wIDI6MS4wIAorMC41ODUzNjU4NTM2NTkg
MToyLjAgCiswLjU4NTM2NTg1MzY1OSAxOjEuMCAyOjEuMCAKKzAuNTg1MzY1ODUzNjU5IDE6My4w
IDM6MS4wIAorMC41ODUzNjU4NTM2NTkgMToxLjAgCiswLjU4NTM2NTg1MzY1OSAxOjIuMCAKKzAu
NTg1MzY1ODUzNjU5IDE6MS4wIDI6MS4wIAorMC41ODQ5ODk3MTk5MDkgMTo3LjAgCiswLjU4NTM2
NTg1MzY1OSAxOjMuMCAKKzAuNTg1MzY1ODUzNjU5IDE6My4wIAorMC41MjU5MjUxMzY5ODMgMToz
LjAgMjoyLjAgCiswLjU4NTM2NTg1MzY1OSAxOjEuMCAKKzAuNTg1MzY1ODUzNjU5IDE6MS4wIAor
MC41ODUzNjU4NTM2NTkgMTozLjAgMzoxLjAgCiswLjU4NTM2NTg1MzY1OSAxOjEuMCAKKzAuNTIw
NzQ1ODIyMzc0IDE6My4wIAorc3ZtX3R5cGUgY19zdmMKK2tlcm5lbF90eXBlIHJiZgorZ2FtbWEg
MC4xCitucl9jbGFzcyAyCit0b3RhbF9zdiAzMzAKK3JobyAwLjI4Nzk0NTY0MjI2MQorbGFiZWwg
LTEgMQorbnJfc3YgMzAwIDMwCitTVgorLTAuMDU0NjY5NzAzODcyNCAxOjE0LjAgMjozLjAgMzo3
LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDI6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIu
MCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMzoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MTIu
MCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo3LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIDI6MS4w
IAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAzOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTozLjAg
MjoxNi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAzOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQg
MToxLjAgMjoyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDM6MS4wIAorLTAuMDU0NjY5NzAz
ODcyNCAxOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTozLjAgMjoxLjAgCistMC4wNTQ2Njk3MDM4
NzI0IDE6NS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjE2LjAgMjoyLjAgMzoyLjAgCistMC4wNTQ2
Njk3MDM4NzI0IDE6MS4wIDI6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjExLjAgCistMC4wNTQ2
Njk3MDM4NzI0IDE6NC4wIDM6My4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjI4LjAgCistMC4wNTQ2
Njk3MDM4NzI0IDE6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAzOjEuMCAKKy0wLjA1NDY2
OTcwMzg3MjQgMToxLjAgMzoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MjIuMCAyOjEuMCAzOjEy
LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MTQuMCAzOjUuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTox
LjAgMzoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6NDguMCAyOjEuMCAKKy0wLjA1NDY2OTcwMzg3
MjQgMToyNS4wIDM6MTYuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMjoxLjAgCistMC4wNTQ2
Njk3MDM4NzI0IDE6MS4wIDM6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjYuMCAKKy0wLjA1NDY2
OTcwMzg3MjQgMTo3LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDI6MS4wIAorLTAuMDU0NjY5
NzAzODcyNCAxOjEuMCAzOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTozLjAgMzoyLjAgCistMC4w
NTQ2Njk3MDM4NzI0IDE6Ny4wIDI6MS4wIDM6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAK
Ky0wLjA1NDY2OTcwMzg3MjQgMTo3LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6NS4wIDI6Mi4wIDM6
My4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMjox
LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6NC4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAyOjEu
MCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMzoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6OS4w
IDM6NC4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAyOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQg
MToxLjAgMzoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6NDcuMCAyOjIxLjAgMzozMy4wIAorLTAu
MDU0NjY5NzAzODcyNCAxOjExLjAgMjoyLjAgMzo1LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MTEu
MCAyOjMuMCAzOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMzoxLjAgCistMC4wNTQ2Njk3
MDM4NzI0IDE6Mi4wIDI6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjQzLjAgMzoyLjAgCistMC4w
NTQ2Njk3MDM4NzI0IDE6MTMuMCAzOjcuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMzoxLjAg
CistMC4wNTQ2Njk3MDM4NzI0IDE6NC4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEzLjAgMzo0LjAg
CistMC4wNTQ2Njk3MDM4NzI0IDE6NDIuMCAyOjQuMCAzOjMyLjAgCistMC4wNTQ2Njk3MDM4NzI0
IDE6MTAuMCAyOjUuMCAzOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo3LjAgMzo0LjAgCistMC4w
NTQ2Njk3MDM4NzI0IDE6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAzOjEuMCAKKy0wLjA1
NDY2OTcwMzg3MjQgMToxLjAgMzoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Ni4wIAorLTAuMDU0
NjY5NzAzODcyNCAxOjEuMCAyOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo2LjAgCistMC4wNTQ2
Njk3MDM4NzI0IDE6MTYuMCAyOjQuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxMC4wIDI6MS4wIDM6
Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjE4LjAgMjozLjAgMzo2LjAgCistMC4wNTQ2Njk3MDM4
NzI0IDE6MS4wIDM6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAyOjEuMCAKKy0wLjA1NDY2
OTcwMzg3MjQgMToyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6My4wIDI6MS4wIDM6MS4wIAorLTAu
MDU0NjY5NzAzODcyNCAxOjEuMCAyOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTozLjAgCistMC4w
NTQ2Njk3MDM4NzI0IDE6My4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjQuMCAKKy0wLjA1NDY2OTcw
Mzg3MjQgMToyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIDM6Mi4wIAorLTAuMDU0NjY5NzAz
ODcyNCAxOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMzoxLjAgCistMC4wNTQ2Njk3MDM4
NzI0IDE6MjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6
Mi4wIDI6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjE0LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6
Mi4wIDI6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAzOjIuMCAKKy0wLjA1NDY2OTcwMzg3
MjQgMTo0LjAgMzozLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIDM6MS4wIAorLTAuMDU0NjY5
NzAzODcyNCAxOjMuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAgCistMC4wNTQ2Njk3MDM4NzI0
IDE6MS4wIDI6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjQuMCAKKy0wLjA1NDY2OTcwMzg3MjQg
MTozOS4wIDM6NC4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQg
MToyLjAgMjoxLjAgMzoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6NC4wIAorLTAuMDU0NjY5NzAz
ODcyNCAxOjIuMCAyOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo0LjAgCistMC4wNTQ2Njk3MDM4
NzI0IDE6MS4wIDI6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAyOjIuMCAKKy0wLjA1NDY2
OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIDI6MS4wIAorLTAuMDU0NjY5
NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0
IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTozLjAg
CistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDI6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAK
Ky0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0
NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4
NzI0IDE6MS4wIDM6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3
MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEu
MCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAu
MDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3
MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQg
MToxNi4wIDI6MS4wIDM6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcw
Mzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDI6MS4wIAorLTAuMDU0NjY5NzAz
ODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6
My4wIDI6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAzOjEuMCAKKy0wLjA1NDY2OTcwMzg3
MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEu
MCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIAorLTAu
MDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyMC4wIDM6My4wIAorLTAu
MDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAgCistMC4wNTQ2Njk3
MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQg
MToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAK
Ky0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMzoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAor
LTAuMDU0NjY5NzAzODcyNCAxOjEuMCAzOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCist
MC4wNTQ2Njk3MDM4NzI0IDE6OC4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjcuMCAyOjEuMCAzOjIu
MCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo4LjAgMjoyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4w
IDI6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAg
CistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDI6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAK
Ky0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0
NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4
NzI0IDE6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTox
Mi4wIDM6Ny4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo5
LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Ny4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0w
LjA1NDY2OTcwMzg3MjQgMToxLjAgMjoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDM6MS4w
IAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo4LjAgMjoyLjAg
CistMC4wNTQ2Njk3MDM4NzI0IDE6MTcuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAgMjoxLjAg
CistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1
NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAz
ODcyNCAxOjQuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6
MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEzLjAgMjo0LjAgMzoyLjAgCistMC4wNTQ2Njk3MDM4
NzI0IDE6MS4wIDM6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAzOjIuMCAKKy0wLjA1NDY2
OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MTYuMCAKKy0wLjA1NDY2OTcwMzg3
MjQgMTozLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEu
MCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAu
MDU0NjY5NzAzODcyNCAxOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3
MDM4NzI0IDE6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQg
MToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAK
Ky0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIAorLTAuMDU0
NjY5NzAzODcyNCAxOjMuMCAzOjMuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2
Njk3MDM4NzI0IDE6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjExLjAgMzoxMS4wIAorLTAuMDU0
NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4
NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTox
LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0w
LjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIAorLTAuMDU0NjY5
NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0
IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxNS4w
IAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4w
NTQ2Njk3MDM4NzI0IDE6MjAuMCAyOjEyLjAgMzozLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4w
IAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4w
NTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjcuMCAzOjEuMCAKKy0wLjA1
NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDM6MS4wIAorLTAuMDU0
NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4
NzI0IDE6MS4wIDM6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3
MjQgMTozLjAgMzoyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcy
NCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo5LjAgMjozLjAgCistMC4wNTQ2Njk3MDM4NzI0
IDE6MS4wIDM6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjYuMCAKKy0wLjA1NDY2OTcwMzg3MjQg
MTo0LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjcuMCAy
OjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDM6
MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAgCist
MC4wNTQ2Njk3MDM4NzI0IDE6OS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAKKy0wLjA1NDY2
OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcy
NCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4w
IAorLTAuMDU0NjY5NzAzODcyNCAxOjE0LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MTIuMCAzOjYu
MCAKKy0wLjA1NDY2OTcwMzg3MjQgMTozLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6NC4wIDI6MS4w
IDM6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAg
CistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1
NDY2OTcwMzg3MjQgMTo5LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6OS4wIDI6MS4wIDM6NC4wIAor
LTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2
Njk3MDM4NzI0IDE6OS4wIDI6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjMuMCAyOjMuMCAKKy0w
LjA1NDY2OTcwMzg3MjQgMToyLjAgMjoyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDI6MS4w
IDM6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjguMCAyOjEuMCAzOjMuMCAKKy0wLjA1NDY2OTcw
Mzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIDI6MS4wIAorLTAuMDU0NjY5NzAz
ODcyNCAxOjkuMCAyOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4
NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTox
LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MzYuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCist
MC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAKKy0wLjA1NDY2
OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcy
NCAxOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4w
IAorLTAuMDU0NjY5NzAzODcyNCAxOjYuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMzoxLjAg
CistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1
NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAz
ODcyNCAxOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6
Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjQuMCAzOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTox
My4wIDM6NC4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA0MDIwNzUxNzg5NDIgMTox
LjAgCiswLjU4NTM2NTg1MzY1OSAxOjEuMCAKKzAuNDc5Mjc2MTM5MDAxIDE6Ni4wIDI6My4wIAor
MC41ODUzNjU4NTM2NTkgMToyLjAgCiswLjU4NTM2NTg1MzY1OSAxOjEuMCAKKzAuNTg1MzY1ODUz
NjU5IDE6My4wIDM6My4wIAorMC41ODUzNjU4NTM2NTkgMTo0Mi4wIDI6Mi4wIDM6MjguMCAKKzAu
NTg1MzY1ODUzNjU5IDE6Mi4wIAorMC41ODUzNjU4NTM2NTkgMToxMi4wIAorMC40NzkyODMwNDY1
NzggMTo3LjAgCiswLjMwMDM5Nzg3MzQ3NiAxOjMuMCAzOjEuMCAKKzAuMDU0MzE3MzMwNjQ0MiAx
OjYuMCAzOjIuMCAKKzAuNTYzNDY1MTI2Mjk5IDE6MTEuMCAKKzAuNTg1MzY1ODUzNjU5IDE6Mi4w
IAorMC41ODUzNjU4NTM2NTkgMToxMC4wIDI6My4wIDM6Ni4wIAorMC41ODUzNjU4NTM2NTkgMTox
LjAgMjoxLjAgCiswLjU4NTM2NTg1MzY1OSAxOjIuMCAKKzAuNTg1MzY1ODUzNjU5IDE6MS4wIDI6
MS4wIAorMC41ODUzNjU4NTM2NTkgMTozLjAgMzoxLjAgCiswLjU4NTM2NTg1MzY1OSAxOjEuMCAK
KzAuNTg1MzY1ODUzNjU5IDE6Mi4wIAorMC41ODUzNjU4NTM2NTkgMToxLjAgMjoxLjAgCiswLjU4
NDk4OTcxOTkwOSAxOjcuMCAKKzAuNTg1MzY1ODUzNjU5IDE6My4wIAorMC41ODUzNjU4NTM2NTkg
MTozLjAgCiswLjUyNTkyNTEzNjk4MyAxOjMuMCAyOjIuMCAKKzAuNTg1MzY1ODUzNjU5IDE6MS4w
IAorMC41ODUzNjU4NTM2NTkgMToxLjAgCiswLjU4NTM2NTg1MzY1OSAxOjMuMCAzOjEuMCAKKzAu
NTg1MzY1ODUzNjU5IDE6MS4wIAorMC41MjA3NDU4MjIzNzQgMTozLjAgCkluZGV4OiBTb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFnZXIuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJSZXNvdXJjZUxvYWRTdGF0
aXN0aWNzTWFuYWdlci5jcHAJKHJldmlzaW9uIDIxMjg5OCkKKysrIFNvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9XZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdlci5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTYxLDYgKzYxLDIxIEBAIGJvb2wgV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFn
ZXI6OmgKICAgICByZXR1cm4gV2ViQ29yZTo6UmVzb3VyY2VMb2FkT2JzZXJ2ZXI6OnNoYXJlZE9i
c2VydmVyKCkuaGFzSGFkVXNlckludGVyYWN0aW9uKFVSTChVUkwoKSwgaG9zdE5hbWUpKTsKIH0K
IAordm9pZCBXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdlcjo6c2V0U3ViZnJhbWVVbmRl
clRvcEZyYW1lT3JpZ2luKGNvbnN0IFN0cmluZyYgaG9zdE5hbWUsIGNvbnN0IFN0cmluZyYgdG9w
RnJhbWVIb3N0TmFtZSkKK3sKKyAgICBXZWJDb3JlOjpSZXNvdXJjZUxvYWRPYnNlcnZlcjo6c2hh
cmVkT2JzZXJ2ZXIoKS5zZXRTdWJmcmFtZVVuZGVyVG9wRnJhbWVPcmlnaW4oVVJMKFVSTCgpLCBo
b3N0TmFtZSksIFVSTChVUkwoKSwgdG9wRnJhbWVIb3N0TmFtZSkpOworfQorCit2b2lkIFdlYlJl
c291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VyOjpzZXRTdWJyZXNvdXJjZVVuZGVyVG9wRnJhbWVP
cmlnaW4oY29uc3QgU3RyaW5nJiBob3N0TmFtZSwgY29uc3QgU3RyaW5nJiB0b3BGcmFtZUhvc3RO
YW1lKQoreworICAgIFdlYkNvcmU6OlJlc291cmNlTG9hZE9ic2VydmVyOjpzaGFyZWRPYnNlcnZl
cigpLnNldFN1YnJlc291cmNlVW5kZXJUb3BGcmFtZU9yaWdpbihVUkwoVVJMKCksIGhvc3ROYW1l
KSwgVVJMKFVSTCgpLCB0b3BGcmFtZUhvc3ROYW1lKSk7Cit9CisKK3ZvaWQgV2ViUmVzb3VyY2VM
b2FkU3RhdGlzdGljc01hbmFnZXI6OnNldFN1YnJlc291cmNlVW5pcXVlUmVkaXJlY3RUbyhjb25z
dCBTdHJpbmcmIGhvc3ROYW1lLCBjb25zdCBTdHJpbmcmIGhvc3ROYW1lUmVkaXJlY3RlZFRvKQor
eworICAgIFdlYkNvcmU6OlJlc291cmNlTG9hZE9ic2VydmVyOjpzaGFyZWRPYnNlcnZlcigpLnNl
dFN1YnJlc291cmNlVW5pcXVlUmVkaXJlY3RUbyhVUkwoVVJMKCksIGhvc3ROYW1lKSwgVVJMKFVS
TCgpLCBob3N0TmFtZVJlZGlyZWN0ZWRUbykpOworfQorCiB2b2lkIFdlYlJlc291cmNlTG9hZFN0
YXRpc3RpY3NNYW5hZ2VyOjpzZXRUaW1lVG9MaXZlVXNlckludGVyYWN0aW9uKGRvdWJsZSBzZWNv
bmRzKQogewogICAgIFdlYkNvcmU6OlJlc291cmNlTG9hZE9ic2VydmVyOjpzaGFyZWRPYnNlcnZl
cigpLnNldFRpbWVUb0xpdmVVc2VySW50ZXJhY3Rpb24oc2Vjb25kcyk7CkluZGV4OiBTb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFnZXIuaAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUmVzb3VyY2VMb2FkU3RhdGlz
dGljc01hbmFnZXIuaAkocmV2aXNpb24gMjEyODk4KQorKysgU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL1dlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VyLmgJKHdvcmtpbmcgY29weSkKQEAg
LTQyLDYgKzQyLDkgQEAgcHVibGljOgogICAgIHN0YXRpYyBib29sIGlzUHJldmFsZW50UmVzb3Vy
Y2UoY29uc3QgU3RyaW5nJiBob3N0TmFtZSk7CiAgICAgc3RhdGljIHZvaWQgc2V0SGFzSGFkVXNl
ckludGVyYWN0aW9uKGNvbnN0IFN0cmluZyYgaG9zdE5hbWUsIGJvb2wgdmFsdWUpOwogICAgIHN0
YXRpYyBib29sIGhhc0hhZFVzZXJJbnRlcmFjdGlvbihjb25zdCBTdHJpbmcmIGhvc3ROYW1lKTsK
KyAgICBzdGF0aWMgdm9pZCBzZXRTdWJmcmFtZVVuZGVyVG9wRnJhbWVPcmlnaW4oY29uc3QgU3Ry
aW5nJiBob3N0TmFtZSwgY29uc3QgU3RyaW5nJiB0b3BGcmFtZUhvc3ROYW1lKTsKKyAgICBzdGF0
aWMgdm9pZCBzZXRTdWJyZXNvdXJjZVVuZGVyVG9wRnJhbWVPcmlnaW4oY29uc3QgU3RyaW5nJiBo
b3N0TmFtZSwgY29uc3QgU3RyaW5nJiB0b3BGcmFtZUhvc3ROYW1lKTsKKyAgICBzdGF0aWMgdm9p
ZCBzZXRTdWJyZXNvdXJjZVVuaXF1ZVJlZGlyZWN0VG8oY29uc3QgU3RyaW5nJiBob3N0TmFtZSwg
Y29uc3QgU3RyaW5nJiBob3N0TmFtZVJlZGlyZWN0ZWRUbyk7CiAgICAgc3RhdGljIHZvaWQgc2V0
VGltZVRvTGl2ZVVzZXJJbnRlcmFjdGlvbihkb3VibGUgc2Vjb25kcyk7CiAgICAgc3RhdGljIHZv
aWQgc2V0UmVkdWNlZFRpbWVzdGFtcFJlc29sdXRpb24oZG91YmxlIHNlY29uZHMpOwogICAgIHN0
YXRpYyB2b2lkIGZpcmVEYXRhTW9kaWZpY2F0aW9uSGFuZGxlcigpOwpJbmRleDogU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL1dlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZS5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlJlc291cmNlTG9hZFN0YXRpc3Rp
Y3NTdG9yZS5jcHAJKHJldmlzaW9uIDIxMjg5OCkKKysrIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9XZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00
NSw3ICs0NSw2IEBAIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogCiBuYW1lc3BhY2UgV2ViS2l0
IHsKIAotc3RhdGljIGNvbnN0IGF1dG8gZmVhdHVyZVZlY3Rvckxlbmd0aFRocmVzaG9sZCA9IDM7
CiBzdGF0aWMgYXV0byBtaW5pbXVtVGltZUJldHdlZWVuRGF0YVJlY29yZHNSZW1vdmFsID0gNjA7
CiBzdGF0aWMgT3B0aW9uU2V0PFdlYktpdDo6V2Vic2l0ZURhdGFUeXBlPiBkYXRhVHlwZXNUb1Jl
bW92ZTsKIHN0YXRpYyBhdXRvIG5vdGlmeVBhZ2VzID0gZmFsc2U7CkBAIC01OSw3ICs1OCw3IEBA
IFJlZjxXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmU+IFdlYlIKIFdlYlJlc291cmNlTG9h
ZFN0YXRpc3RpY3NTdG9yZTo6V2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlKGNvbnN0IFN0
cmluZyYgcmVzb3VyY2VMb2FkU3RhdGlzdGljc0RpcmVjdG9yeSkKICAgICA6IG1fcmVzb3VyY2VM
b2FkU3RhdGlzdGljc1N0b3JlKFJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZTo6Y3JlYXRlKCkp
CiAgICAgLCBtX3N0YXRpc3RpY3NRdWV1ZShXb3JrUXVldWU6OmNyZWF0ZSgiV2ViUmVzb3VyY2VM
b2FkU3RhdGlzdGljc1N0b3JlIFByb2Nlc3MgRGF0YSBRdWV1ZSIpKQotICAgICwgbV9zdG9yYWdl
UGF0aChyZXNvdXJjZUxvYWRTdGF0aXN0aWNzRGlyZWN0b3J5KQorICAgICwgbV9zdGF0aXN0aWNz
U3RvcmFnZVBhdGgocmVzb3VyY2VMb2FkU3RhdGlzdGljc0RpcmVjdG9yeSkKIHsKIH0KIApAQCAt
ODMsNDAgKzgyLDExIEBAIHZvaWQgV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlOjpzZXQK
ICAgICAgICAgbWluaW11bVRpbWVCZXR3ZWVlbkRhdGFSZWNvcmRzUmVtb3ZhbCA9IHNlY29uZHM7
CiB9CiAKLWJvb2wgV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlOjpoYXNQcmV2YWxlbnRS
ZXNvdXJjZUNoYXJhY3RlcmlzdGljcyhjb25zdCBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzJiByZXNv
dXJjZVN0YXRpc3RpYykKLXsKLSAgICBhdXRvIHN1YnJlc291cmNlVW5kZXJUb3BGcmFtZU9yaWdp
bnNDb3VudCA9IHJlc291cmNlU3RhdGlzdGljLnN1YnJlc291cmNlVW5kZXJUb3BGcmFtZU9yaWdp
bnMuc2l6ZSgpOwotICAgIGF1dG8gc3VicmVzb3VyY2VVbmlxdWVSZWRpcmVjdHNUb0NvdW50ID0g
cmVzb3VyY2VTdGF0aXN0aWMuc3VicmVzb3VyY2VVbmlxdWVSZWRpcmVjdHNUby5zaXplKCk7Ci0g
ICAgYXV0byBzdWJmcmFtZVVuZGVyVG9wRnJhbWVPcmlnaW5zQ291bnQgPSByZXNvdXJjZVN0YXRp
c3RpYy5zdWJmcmFtZVVuZGVyVG9wRnJhbWVPcmlnaW5zLnNpemUoKTsKLSAgICAKLSAgICBpZiAo
IXN1YnJlc291cmNlVW5kZXJUb3BGcmFtZU9yaWdpbnNDb3VudAotICAgICAgICAmJiAhc3VicmVz
b3VyY2VVbmlxdWVSZWRpcmVjdHNUb0NvdW50Ci0gICAgICAgICYmICFzdWJmcmFtZVVuZGVyVG9w
RnJhbWVPcmlnaW5zQ291bnQpCi0gICAgICAgIHJldHVybiBmYWxzZTsKLQotICAgIGlmIChzdWJy
ZXNvdXJjZVVuZGVyVG9wRnJhbWVPcmlnaW5zQ291bnQgPiBmZWF0dXJlVmVjdG9yTGVuZ3RoVGhy
ZXNob2xkCi0gICAgICAgIHx8IHN1YnJlc291cmNlVW5pcXVlUmVkaXJlY3RzVG9Db3VudCA+IGZl
YXR1cmVWZWN0b3JMZW5ndGhUaHJlc2hvbGQKLSAgICAgICAgfHwgc3ViZnJhbWVVbmRlclRvcEZy
YW1lT3JpZ2luc0NvdW50ID4gZmVhdHVyZVZlY3Rvckxlbmd0aFRocmVzaG9sZCkKLSAgICAgICAg
cmV0dXJuIHRydWU7Ci0KLSAgICAvLyBUaGUgcmVzb3VyY2UgaXMgY29uc2lkZXJlZCBwcmV2YWxl
bnQgaWYgdGhlIGZlYXR1cmUgdmVjdG9yCi0gICAgLy8gaXMgbG9uZ2VyIHRoYW4gdGhlIHRocmVz
aG9sZC4KLSAgICAvLyBWZWN0b3IgbGVuZ3RoIGZvciBuIGRpbWVuc2lvbnMgaXMgc3FydChhXjIg
KyAoLi4uKSArIG5eMikuCi0gICAgZG91YmxlIHZlY3Rvckxlbmd0aCA9IDA7Ci0gICAgdmVjdG9y
TGVuZ3RoICs9IHN1YnJlc291cmNlVW5kZXJUb3BGcmFtZU9yaWdpbnNDb3VudCAqIHN1YnJlc291
cmNlVW5kZXJUb3BGcmFtZU9yaWdpbnNDb3VudDsKLSAgICB2ZWN0b3JMZW5ndGggKz0gc3VicmVz
b3VyY2VVbmlxdWVSZWRpcmVjdHNUb0NvdW50ICogc3VicmVzb3VyY2VVbmlxdWVSZWRpcmVjdHNU
b0NvdW50OwotICAgIHZlY3Rvckxlbmd0aCArPSBzdWJmcmFtZVVuZGVyVG9wRnJhbWVPcmlnaW5z
Q291bnQgKiBzdWJmcmFtZVVuZGVyVG9wRnJhbWVPcmlnaW5zQ291bnQ7Ci0KLSAgICBBU1NFUlQo
dmVjdG9yTGVuZ3RoID4gMCk7Ci0KLSAgICByZXR1cm4gc3FydCh2ZWN0b3JMZW5ndGgpID4gZmVh
dHVyZVZlY3Rvckxlbmd0aFRocmVzaG9sZDsKLX0KLSAgICAKIHZvaWQgV2ViUmVzb3VyY2VMb2Fk
U3RhdGlzdGljc1N0b3JlOjpjbGFzc2lmeVJlc291cmNlKFJlc291cmNlTG9hZFN0YXRpc3RpY3Mm
IHJlc291cmNlU3RhdGlzdGljKQogewotICAgIGlmICghcmVzb3VyY2VTdGF0aXN0aWMuaXNQcmV2
YWxlbnRSZXNvdXJjZSAmJiBoYXNQcmV2YWxlbnRSZXNvdXJjZUNoYXJhY3RlcmlzdGljcyhyZXNv
dXJjZVN0YXRpc3RpYykpIHsKKyAgICBpZiAoIXJlc291cmNlU3RhdGlzdGljLmlzUHJldmFsZW50
UmVzb3VyY2UKKyAgICAgICAgJiYgbV9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllci5o
YXNQcmV2YWxlbnRSZXNvdXJjZUNoYXJhY3RlcmlzdGljcyhyZXNvdXJjZVN0YXRpc3RpYykpCiAg
ICAgICAgIHJlc291cmNlU3RhdGlzdGljLmlzUHJldmFsZW50UmVzb3VyY2UgPSB0cnVlOwotICAg
IH0KIH0KIAogdm9pZCBXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmU6OnJlbW92ZURhdGFS
ZWNvcmRzKCkKQEAgLTI0OSwxMSArMjE5LDExIEBAIHZvaWQgV2ViUmVzb3VyY2VMb2FkU3RhdGlz
dGljc1N0b3JlOjphcHAKIAogU3RyaW5nIFdlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZTo6
cGVyc2lzdGVudFN0b3JhZ2VQYXRoKGNvbnN0IFN0cmluZyYgbGFiZWwpIGNvbnN0CiB7Ci0gICAg
aWYgKG1fc3RvcmFnZVBhdGguaXNFbXB0eSgpKQorICAgIGlmIChtX3N0YXRpc3RpY3NTdG9yYWdl
UGF0aC5pc0VtcHR5KCkpCiAgICAgICAgIHJldHVybiBlbXB0eVN0cmluZygpOwogCiAgICAgLy8g
VE9ETyBEZWNpZGUgd2hhdCB0byBjYWxsIHRoaXMgZmlsZQotICAgIHJldHVybiBwYXRoQnlBcHBl
bmRpbmdDb21wb25lbnQobV9zdG9yYWdlUGF0aCwgbGFiZWwgKyAiX3Jlc291cmNlTG9nLnBsaXN0
Iik7CisgICAgcmV0dXJuIHBhdGhCeUFwcGVuZGluZ0NvbXBvbmVudChtX3N0YXRpc3RpY3NTdG9y
YWdlUGF0aCwgbGFiZWwgKyAiX3Jlc291cmNlTG9nLnBsaXN0Iik7CiB9CiAKIHZvaWQgV2ViUmVz
b3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlOjp3cml0ZUVuY29kZXJUb0Rpc2soS2V5ZWRFbmNvZGVy
JiBlbmNvZGVyLCBjb25zdCBTdHJpbmcmIGxhYmVsKSBjb25zdApAQCAtMjY2LDggKzIzNiw4IEBA
IHZvaWQgV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlOjp3cmkKICAgICBpZiAocmVzb3Vy
Y2VMb2cuaXNFbXB0eSgpKQogICAgICAgICByZXR1cm47CiAKLSAgICBpZiAoIW1fc3RvcmFnZVBh
dGguaXNFbXB0eSgpKQotICAgICAgICBtYWtlQWxsRGlyZWN0b3JpZXMobV9zdG9yYWdlUGF0aCk7
CisgICAgaWYgKCFtX3N0YXRpc3RpY3NTdG9yYWdlUGF0aC5pc0VtcHR5KCkpCisgICAgICAgIG1h
a2VBbGxEaXJlY3RvcmllcyhtX3N0YXRpc3RpY3NTdG9yYWdlUGF0aCk7CiAKICAgICBhdXRvIGhh
bmRsZSA9IG9wZW5GaWxlKHJlc291cmNlTG9nLCBPcGVuRm9yV3JpdGUpOwogICAgIGlmICghaGFu
ZGxlKQpJbmRleDogU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlJlc291cmNlTG9hZFN0YXRp
c3RpY3NTdG9yZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJS
ZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmUuaAkocmV2aXNpb24gMjEyODk4KQorKysgU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL1dlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZS5oCSh3b3Jr
aW5nIGNvcHkpCkBAIC0yOCw2ICsyOCw3IEBACiAKICNpbmNsdWRlICJBUElPYmplY3QuaCIKICNp
bmNsdWRlICJDb25uZWN0aW9uLmgiCisjaW5jbHVkZSAiUmVzb3VyY2VMb2FkU3RhdGlzdGljc0Ns
YXNzaWZpZXIuaCIKICNpbmNsdWRlICJXZWJzaXRlRGF0YVJlY29yZC5oIgogI2luY2x1ZGUgPFdl
YkNvcmUvUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rv
ci5oPgpAQCAtNzYsNyArNzcsNiBAQCBwcml2YXRlOgogCiAgICAgdm9pZCBwcm9jZXNzU3RhdGlz
dGljc0FuZERhdGFSZWNvcmRzKCk7CiAKLSAgICBib29sIGhhc1ByZXZhbGVudFJlc291cmNlQ2hh
cmFjdGVyaXN0aWNzKGNvbnN0IFdlYkNvcmU6OlJlc291cmNlTG9hZFN0YXRpc3RpY3MmKTsKICAg
ICB2b2lkIGNsYXNzaWZ5UmVzb3VyY2UoV2ViQ29yZTo6UmVzb3VyY2VMb2FkU3RhdGlzdGljcyYp
OwogICAgIHZvaWQgcmVtb3ZlRGF0YVJlY29yZHMoKTsKIApAQCAtODksOCArODksOSBAQCBwcml2
YXRlOgogICAgIHN0ZDo6dW5pcXVlX3B0cjxXZWJDb3JlOjpLZXllZERlY29kZXI+IGNyZWF0ZURl
Y29kZXJGcm9tRGlzayhjb25zdCBTdHJpbmcmIGxhYmVsKSBjb25zdDsKIAogICAgIFJlZjxXZWJD
b3JlOjpSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmU+IG1fcmVzb3VyY2VMb2FkU3RhdGlzdGlj
c1N0b3JlOworICAgIFJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyIG1fcmVzb3VyY2VM
b2FkU3RhdGlzdGljc0NsYXNzaWZpZXI7CiAgICAgUmVmPFdURjo6V29ya1F1ZXVlPiBtX3N0YXRp
c3RpY3NRdWV1ZTsKLSAgICBTdHJpbmcgbV9zdG9yYWdlUGF0aDsKKyAgICBTdHJpbmcgbV9zdGF0
aXN0aWNzU3RvcmFnZVBhdGg7CiAgICAgYm9vbCBtX3Jlc291cmNlTG9hZFN0YXRpc3RpY3NFbmFi
bGVkIHsgZmFsc2UgfTsKIAogICAgIGRvdWJsZSBtX2xhc3RUaW1lRGF0YVJlY29yZHNXZXJlUmVt
b3ZlZCB7IDAgfTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1Jlc291
cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvQVBJL0MvV0tSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdlci5jcHAJKHJl
dmlzaW9uIDIxMjg5OCkKKysrIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1Jlc291
cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTYsNiArNTYs
MjEgQEAgYm9vbCBXS1Jlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VySXNIYQogICAgIHJldHVy
biBXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdlcjo6aGFzSGFkVXNlckludGVyYWN0aW9u
KHRvV1RGU3RyaW5nKGhvc3ROYW1lKSk7CiB9CiAKK3ZvaWQgV0tSZXNvdXJjZUxvYWRTdGF0aXN0
aWNzTWFuYWdlclNldFN1YmZyYW1lVW5kZXJUb3BGcmFtZU9yaWdpbihXS1N0cmluZ1JlZiBob3N0
TmFtZSwgV0tTdHJpbmdSZWYgdG9wRnJhbWVIb3N0TmFtZSkKK3sKKyAgICBXZWJSZXNvdXJjZUxv
YWRTdGF0aXN0aWNzTWFuYWdlcjo6c2V0U3ViZnJhbWVVbmRlclRvcEZyYW1lT3JpZ2luKHRvV1RG
U3RyaW5nKGhvc3ROYW1lKSwgdG9XVEZTdHJpbmcodG9wRnJhbWVIb3N0TmFtZSkpOworfQorCit2
b2lkIFdLUmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFnZXJTZXRTdWJyZXNvdXJjZVVuZGVyVG9w
RnJhbWVPcmlnaW4oV0tTdHJpbmdSZWYgaG9zdE5hbWUsIFdLU3RyaW5nUmVmIHRvcEZyYW1lSG9z
dE5hbWUpCit7CisgICAgV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFnZXI6OnNldFN1YnJl
c291cmNlVW5kZXJUb3BGcmFtZU9yaWdpbih0b1dURlN0cmluZyhob3N0TmFtZSksIHRvV1RGU3Ry
aW5nKHRvcEZyYW1lSG9zdE5hbWUpKTsKK30KKwordm9pZCBXS1Jlc291cmNlTG9hZFN0YXRpc3Rp
Y3NNYW5hZ2VyU2V0U3VicmVzb3VyY2VVbmlxdWVSZWRpcmVjdFRvKFdLU3RyaW5nUmVmIGhvc3RO
YW1lLCBXS1N0cmluZ1JlZiBob3N0TmFtZVJlZGlyZWN0ZWRUbykKK3sKKyAgICBXZWJSZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzTWFuYWdlcjo6c2V0U3VicmVzb3VyY2VVbmlxdWVSZWRpcmVjdFRvKHRv
V1RGU3RyaW5nKGhvc3ROYW1lKSwgdG9XVEZTdHJpbmcoaG9zdE5hbWVSZWRpcmVjdGVkVG8pKTsK
K30KKwogdm9pZCBXS1Jlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VyU2V0VGltZVRvTGl2ZVVz
ZXJJbnRlcmFjdGlvbihkb3VibGUgc2Vjb25kcykKIHsKICAgICBXZWJSZXNvdXJjZUxvYWRTdGF0
aXN0aWNzTWFuYWdlcjo6c2V0VGltZVRvTGl2ZVVzZXJJbnRlcmFjdGlvbihzZWNvbmRzKTsKSW5k
ZXg6IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1Jlc291cmNlTG9hZFN0YXRpc3Rp
Y3NNYW5hZ2VyLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9D
L1dLUmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFnZXIuaAkocmV2aXNpb24gMjEyODk4KQorKysg
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUmVzb3VyY2VMb2FkU3RhdGlzdGljc01h
bmFnZXIuaAkod29ya2luZyBjb3B5KQpAQCAtMzgsNiArMzgsOSBAQCBleHRlcm4gIkMiIHsKICAg
ICBXS19FWFBPUlQgYm9vbCBXS1Jlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VySXNQcmV2YWxl
bnRSZXNvdXJjZShXS1N0cmluZ1JlZiBob3N0TmFtZSk7CiAgICAgV0tfRVhQT1JUIHZvaWQgV0tS
ZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdlclNldEhhc0hhZFVzZXJJbnRlcmFjdGlvbihXS1N0
cmluZ1JlZiBob3N0TmFtZSwgYm9vbCB2YWx1ZSk7CiAgICAgV0tfRVhQT1JUIGJvb2wgV0tSZXNv
dXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdlcklzSGFzSGFkVXNlckludGVyYWN0aW9uKFdLU3RyaW5n
UmVmIGhvc3ROYW1lKTsKKyAgICBXS19FWFBPUlQgdm9pZCBXS1Jlc291cmNlTG9hZFN0YXRpc3Rp
Y3NNYW5hZ2VyU2V0U3ViZnJhbWVVbmRlclRvcEZyYW1lT3JpZ2luKFdLU3RyaW5nUmVmIGhvc3RO
YW1lLCBXS1N0cmluZ1JlZiB0b3BGcmFtZUhvc3ROYW1lKTsKKyAgICBXS19FWFBPUlQgdm9pZCBX
S1Jlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VyU2V0U3VicmVzb3VyY2VVbmRlclRvcEZyYW1l
T3JpZ2luKFdLU3RyaW5nUmVmIGhvc3ROYW1lLCBXS1N0cmluZ1JlZiB0b3BGcmFtZUhvc3ROYW1l
KTsKKyAgICBXS19FWFBPUlQgdm9pZCBXS1Jlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VyU2V0
U3VicmVzb3VyY2VVbmlxdWVSZWRpcmVjdFRvKFdLU3RyaW5nUmVmIGhvc3ROYW1lLCBXS1N0cmlu
Z1JlZiBob3N0TmFtZVJlZGlyZWN0ZWRUbyk7CiAgICAgV0tfRVhQT1JUIHZvaWQgV0tSZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzTWFuYWdlclNldFRpbWVUb0xpdmVVc2VySW50ZXJhY3Rpb24oZG91Ymxl
IHNlY29uZHMpOwogICAgIFdLX0VYUE9SVCB2b2lkIFdLUmVzb3VyY2VMb2FkU3RhdGlzdGljc01h
bmFnZXJTZXRSZWR1Y2VkVGltZXN0YW1wUmVzb2x1dGlvbihkb3VibGUgc2Vjb25kcyk7CiAgICAg
V0tfRVhQT1JUIHZvaWQgV0tSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdlckZpcmVEYXRhTW9k
aWZpY2F0aW9uSGFuZGxlcigpOwpJbmRleDogU291cmNlL1dlYktpdDIvV2ViS2l0Mi54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1dlYktpdDIu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkocmV2aXNpb24gMjEyODk4KQorKysgU291cmNlL1dl
YktpdDIvV2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCSh3b3JraW5nIGNvcHkpCkBA
IC0xMTQ3LDEwICsxMTQ3LDE3IEBACiAJCTY1MDFCRDFBMTJGMTI0MzQwMEU5RjI0OCAvKiBXS0J1
bmRsZUluc3BlY3Rvci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA2NUI4NkYxNzEyRjExRDdCMDBCN0REOEEgLyogV0tCdW5kbGVJbnNwZWN0b3IuY3Bw
ICovOyB9OwogCQk2NTlDNTUxRTEzMDAwNjQxMDAyNUMwQzIgLyogSW5qZWN0ZWRCdW5kbGVQYWdl
UmVzb3VyY2VMb2FkQ2xpZW50LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDY1NDZBODI5MTMwMDAxNjQwMDBDRUIxQyAvKiBJbmplY3RlZEJ1bmRsZVBh
Z2VSZXNvdXJjZUxvYWRDbGllbnQuY3BwICovOyB9OwogCQk2NUI4NkYxRTEyRjExREUzMDBCN0RE
OEEgLyogV0tCdW5kbGVJbnNwZWN0b3IuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDY1Qjg2RjE4MTJGMTFEN0IwMEI3REQ4QSAvKiBXS0J1bmRsZUluc3Bl
Y3Rvci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJ
CTZCMkUwOUJBMUU1N0I4ODEwMEM4QThCOSAvKiBDb3JlUHJlZGljdGlvblNvZnRMaW5rLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA2QjJFMDlCOTFFNTdC
ODgxMDBDOEE4QjkgLyogQ29yZVByZWRpY3Rpb25Tb2Z0TGluay5oICovOyB9OwogCQk2QkU5Njk5
QzFFNDNCM0ZGMDA4Qjc0ODMgLyogV0tSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdlci5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNkJFOTY5OUIxRTQz
QjNGRjAwOEI3NDgzIC8qIFdLUmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFnZXIuaCAqLzsgc2V0
dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk2QkU5Njk5RTFFNDNC
NDFEMDA4Qjc0ODMgLyogV0tSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdlci5jcHAgaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA2QkU5Njk5RDFFNDNCNDFE
MDA4Qjc0ODMgLyogV0tSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdlci5jcHAgKi87IH07CiAJ
CTZCRTk2OUEwMUU0M0I4NkUwMDhCNzQ4MyAvKiBXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFu
YWdlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNkJF
OTY5OUYxRTQzQjg2RTAwOEI3NDgzIC8qIFdlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2Vy
LmggKi87IH07CiAJCTZCRTk2OUEyMUU0M0I4QTQwMDhCNzQ4MyAvKiBXZWJSZXNvdXJjZUxvYWRT
dGF0aXN0aWNzTWFuYWdlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA2QkU5NjlBMTFFNDNCOEE0MDA4Qjc0ODMgLyogV2ViUmVzb3VyY2VMb2FkU3Rh
dGlzdGljc01hbmFnZXIuY3BwICovOyB9OworCQk2QkU5NjlDMTFFNTRENDUyMDA4Qjc0ODMgLyog
Y29yZVByZWRpY3Rpb25fbW9kZWwgaW4gUmVzb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDZCRTk2OUMwMUU1NEQ0NTIwMDhCNzQ4MyAvKiBjb3JlUHJlZGljdGlvbl9t
b2RlbCAqLzsgfTsKKwkJNkJFOTY5QzUxRTU0RDRBNDAwOEI3NDgzIC8qIFJlc291cmNlTG9hZFN0
YXRpc3RpY3NDbGFzc2lmaWVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA2QkU5NjlDNDFFNTRENEE0MDA4Qjc0ODMgLyogUmVzb3VyY2VMb2FkU3RhdGlz
dGljc0NsYXNzaWZpZXIuaCAqLzsgfTsKKwkJNkJFOTY5QzcxRTU0RDRCNjAwOEI3NDgzIC8qIFJl
c291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQmFzZS5jcHAgaW4gU291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA2QkU5NjlDNjFFNTRENEI2MDA4Qjc0ODMgLyog
UmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXJCYXNlLmNwcCAqLzsgfTsKKwkJNkJFOTY5
Q0ExRTU0RDRDRjAwOEI3NDgzIC8qIFJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQ29j
b2EuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNkJF
OTY5QzgxRTU0RDRDRjAwOEI3NDgzIC8qIFJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVy
Q29jb2EuY3BwICovOyB9OworCQk2QkU5NjlDQjFFNTRENENGMDA4Qjc0ODMgLyogUmVzb3VyY2VM
b2FkU3RhdGlzdGljc0NsYXNzaWZpZXJDb2NvYS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gNkJFOTY5QzkxRTU0RDRDRjAwOEI3NDgzIC8qIFJlc291cmNl
TG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQ29jb2EuaCAqLzsgfTsKKwkJNkJFOTY5Q0QxRTU0RTA1
NDAwOEI3NDgzIC8qIFJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQmFzZS5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNkJFOTY5Q0MxRTU0RTA1
NDAwOEI3NDgzIC8qIFJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQmFzZS5oICovOyB9
OwogCQk2RUU4NDlDODEzNjhEOTM5MDAzOEQ0ODEgLyogV0tJbnNwZWN0b3JQcml2YXRlTWFjLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA2RUU4NDlDNjEz
NjhEOTJEMDAzOEQ0ODEgLyogV0tJbnNwZWN0b3JQcml2YXRlTWFjLmggKi87IHNldHRpbmdzID0g
e0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNzI4RTg2RjExNzk1MTg4QzAwODc4
NzlFIC8qIFdlYkNvbG9yUGlja2VyTWFjLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA3MjhFODZFRjE3OTUxODhDMDA4Nzg3OUUgLyogV2ViQ29sb3JQaWNr
ZXJNYWMuaCAqLzsgfTsKIAkJNzI4RTg2RjIxNzk1MTg4QzAwODc4NzlFIC8qIFdlYkNvbG9yUGlj
a2VyTWFjLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
NzI4RTg2RjAxNzk1MTg4QzAwODc4NzlFIC8qIFdlYkNvbG9yUGlja2VyTWFjLm1tICovOyB9OwpA
QCAtMzM0MCwxMCArMzM0NywxNyBAQAogCQk2NTQ2QTgyQTEzMDAwMTY0MDAwQ0VCMUMgLyogSW5q
ZWN0ZWRCdW5kbGVQYWdlUmVzb3VyY2VMb2FkQ2xpZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IEluamVjdGVkQnVuZGxlUGFnZVJlc291cmNlTG9hZENsaWVudC5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk2NUI4NkYxNzEyRjExRDdCMDBCN0REOEEgLyogV0tC
dW5kbGVJbnNwZWN0b3IuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0g
V0tCdW5kbGVJbnNwZWN0b3IuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk2NUI4
NkYxODEyRjExRDdCMDBCN0REOEEgLyogV0tCdW5kbGVJbnNwZWN0b3IuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gV0tCdW5kbGVJbnNwZWN0b3IuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKKwkJNkIyRTA5QjkxRTU3Qjg4MTAwQzhBOEI5IC8qIENvcmVQcmVkaWN0aW9u
U29mdExpbmsuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ29yZVByZWRpY3Rp
b25Tb2Z0TGluay5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk2QkU5Njk5QjFFNDNC
M0ZGMDA4Qjc0ODMgLyogV0tSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdlci5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXS1Jlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2Vy
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTZCRTk2OTlEMUU0M0I0MUQwMDhCNzQ4
MyAvKiBXS1Jlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VyLmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdLUmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFnZXIuY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk2QkU5Njk5RjFFNDNCODZFMDA4Qjc0ODMg
LyogV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFnZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFnZXIuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNkJFOTY5QTExRTQzQjhBNDAwOEI3NDgzIC8qIFdlYlJl
c291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgcGF0aCA9IFdlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VyLmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNkJFOTY5QzAxRTU0RDQ1MjAwOEI3NDgzIC8qIGNvcmVQ
cmVkaWN0aW9uX21vZGVsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IGNvcmVQcmVkaWN0aW9uX21v
ZGVsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk2QkU5NjlDNDFFNTRENEE0MDA4Qjc0
ODMgLyogUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXIuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXIuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNkJFOTY5QzYxRTU0RDRCNjAwOEI3NDgzIC8qIFJl
c291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQmFzZS5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IHBhdGggPSBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllckJhc2Uu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk2QkU5NjlDODFFNTRENENGMDA4Qjc0
ODMgLyogUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXJDb2NvYS5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3Np
ZmllckNvY29hLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNkJFOTY5QzkxRTU0
RDRDRjAwOEI3NDgzIC8qIFJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQ29jb2EuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUmVzb3VyY2VMb2FkU3RhdGlzdGljc0Ns
YXNzaWZpZXJDb2NvYS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk2QkU5NjlDQzFF
NTRFMDU0MDA4Qjc0ODMgLyogUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXJCYXNlLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJlc291cmNlTG9hZFN0YXRpc3RpY3ND
bGFzc2lmaWVyQmFzZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk2RDhBOTFBNTEx
RjBFRkQxMDBERDAxRkUgLyogY29tLmFwcGxlLldlYlByb2Nlc3Muc2IuaW4gKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0
ZXh0OyBuYW1lID0gY29tLmFwcGxlLldlYlByb2Nlc3Muc2IuaW47IHBhdGggPSBXZWJQcm9jZXNz
L2NvbS5hcHBsZS5XZWJQcm9jZXNzLnNiLmluOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQk2RUU4NDlDNjEzNjhEOTJEMDAzOEQ0ODEgLyogV0tJbnNwZWN0b3JQcml2YXRlTWFjLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IFdLSW5zcGVjdG9yUHJpdmF0ZU1hYy5oOyBw
YXRoID0gbWFjL1dLSW5zcGVjdG9yUHJpdmF0ZU1hYy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQk3MjhFODZFRjE3OTUxODhDMDA4Nzg3OUUgLyogV2ViQ29sb3JQaWNrZXJNYWMuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViQ29sb3JQaWNrZXJNYWMuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTQzNjAsNiArNDM3NCw3IEBACiAJCTA4OUMxNjY1
RkU4NDExNThDMDJBQUMwNyAvKiBSZXNvdXJjZXMgKi8gPSB7CiAJCQlpc2EgPSBQQlhHcm91cDsK
IAkJCWNoaWxkcmVuID0gKAorCQkJCTZCRTk2OUJGMUU1NEQ0NTIwMDhCNzQ4MyAvKiBSZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzICovLAogCQkJCTM3RjhDOTRGMUFFMjJCRDgwMDdEQUI5RSAvKiBtYWMg
Ki8sCiAJCQkJN0NCMTZGRTExNzI0QjlCNTAwN0EwQTk1IC8qIFBsdWdJblNhbmRib3hQcm9maWxl
cyAqLywKIAkJCQlBNzhDQ0RENTE5M0FDOUUzMDA1RUNDMjUgLyogU2FuZGJveFByb2ZpbGVzICov
LApAQCAtNjEyMyw2ICs2MTM4LDM2IEBACiAJCQluYW1lID0gQ29jb2E7CiAJCQlzb3VyY2VUcmVl
ID0gIjxncm91cD4iOwogCQl9OworCQk2QkU5NjlCRjFFNTRENDUyMDA4Qjc0ODMgLyogUmVzb3Vy
Y2VMb2FkU3RhdGlzdGljcyAqLyA9IHsKKwkJCWlzYSA9IFBCWEdyb3VwOworCQkJY2hpbGRyZW4g
PSAoCisJCQkJNkJFOTY5QzAxRTU0RDQ1MjAwOEI3NDgzIC8qIGNvcmVQcmVkaWN0aW9uX21vZGVs
ICovLAorCQkJKTsKKwkJCW5hbWUgPSBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzOworCQkJcGF0aCA9
IFJlc291cmNlcy9SZXNvdXJjZUxvYWRTdGF0aXN0aWNzOworCQkJc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsKKwkJfTsKKwkJNkJFOTY5QzIxRTU0RDQ2NzAwOEI3NDgzIC8qIGNsYXNzaWZpZXIgKi8g
PSB7CisJCQlpc2EgPSBQQlhHcm91cDsKKwkJCWNoaWxkcmVuID0gKAorCQkJCTZCRTk2OUMzMUU1
NEQ0NjcwMDhCNzQ4MyAvKiBjb2NvYSAqLywKKwkJCQk2QkU5NjlDNjFFNTRENEI2MDA4Qjc0ODMg
LyogUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXJCYXNlLmNwcCAqLywKKwkJCQk2QkU5
NjlDNDFFNTRENEE0MDA4Qjc0ODMgLyogUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXIu
aCAqLywKKwkJCQk2QkU5NjlDQzFFNTRFMDU0MDA4Qjc0ODMgLyogUmVzb3VyY2VMb2FkU3RhdGlz
dGljc0NsYXNzaWZpZXJCYXNlLmggKi8sCisJCQkpOworCQkJcGF0aCA9IGNsYXNzaWZpZXI7CisJ
CQlzb3VyY2VUcmVlID0gIjxncm91cD4iOworCQl9OworCQk2QkU5NjlDMzFFNTRENDY3MDA4Qjc0
ODMgLyogY29jb2EgKi8gPSB7CisJCQlpc2EgPSBQQlhHcm91cDsKKwkJCWNoaWxkcmVuID0gKAor
CQkJCTZCRTk2OUM4MUU1NEQ0Q0YwMDhCNzQ4MyAvKiBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xh
c3NpZmllckNvY29hLmNwcCAqLywKKwkJCQk2QkU5NjlDOTFFNTRENENGMDA4Qjc0ODMgLyogUmVz
b3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXJDb2NvYS5oICovLAorCQkJCTZCMkUwOUI5MUU1
N0I4ODEwMEM4QThCOSAvKiBDb3JlUHJlZGljdGlvblNvZnRMaW5rLmggKi8sCisJCQkpOworCQkJ
cGF0aCA9IGNvY29hOworCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKKwkJfTsKIAkJNkVFODQ5
QzQxMzY4RDkwNDAwMzhENDgxIC8qIG1hYyAqLyA9IHsKIAkJCWlzYSA9IFBCWEdyb3VwOwogCQkJ
Y2hpbGRyZW4gPSAoCkBAIC03MDI0LDYgKzcwNjksNyBAQAogCQlCQzJFNkU3NDExNDE5NkYwMDBB
NjNCMUUgLyogUGxhdGZvcm0gKi8gPSB7CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVu
ID0gKAorCQkJCTZCRTk2OUMyMUU1NEQ0NjcwMDhCNzQ4MyAvKiBjbGFzc2lmaWVyICovLAogCQkJ
CTM3MDk1MDQxMThBODhCQTQwMDg3QUU1RCAvKiBjZiAqLywKIAkJCQkxQUEyRTUxQTEyRTRDMDU2
MDBCQzQ5NjYgLyogY2cgKi8sCiAJCQkJNDQ1MEFFQkUxREMzRkFBQzAwOTk0M0YyIC8qIGNvY29h
ICovLApAQCAtNzkwNyw2ICs3OTUzLDcgQEAKIAkJCQk0MURDNDU5NjFFM0Q2RTIyMDBCMTFGNTEg
LyogTmV0d29ya1JUQ1Byb3ZpZGVyLmggaW4gSGVhZGVycyAqLywKIAkJCQk3QzFCQTMzRTFBNEEw
RTYwMDA0M0UyNDkgLyogQVBJRGljdGlvbmFyeS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUY3RDM2
QzExOERBNTEzRjAwRDlENjU5IC8qIEFQSURvd25sb2FkQ2xpZW50LmggaW4gSGVhZGVycyAqLywK
KwkJCQk2QkU5NjlDQjFFNTRENENGMDA4Qjc0ODMgLyogUmVzb3VyY2VMb2FkU3RhdGlzdGljc0Ns
YXNzaWZpZXJDb2NvYS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTE2QTRBNUQxMjBBMkNDRDAwQzA1
QjdGIC8qIEFQSUVycm9yLmggaW4gSGVhZGVycyAqLywKIAkJCQkzMTdGRTdDNTFDNDg3QTZDMDBB
MENBODkgLyogQVBJRXhwZXJpbWVudGFsRmVhdHVyZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMDBC
OTY2MTYxOEUyNENCQTAwQ0UxRjg4IC8qIEFQSUZpbmRDbGllbnQuaCBpbiBIZWFkZXJzICovLApA
QCAtODMyOCw2ICs4Mzc1LDcgQEAKIAkJCQkzMzA5MzQ0QTEzMTVCOTIyMDA5N0E3QkMgLyogV2Vi
Q29va2llTWFuYWdlclByb3h5TWVzc2FnZXMuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDMUREN0Iy
MTE0REMzOTYwMDVBREFGMyAvKiBXZWJDb3JlQXJndW1lbnRDb2RlcnMuaCBpbiBIZWFkZXJzICov
LAogCQkJCTUxMkY1ODlCMTJBODgzODgwMDYyOTUzMCAvKiBXZWJDcmVkZW50aWFsLmggaW4gSGVh
ZGVycyAqLywKKwkJCQk2QkU5NjlDNTFFNTRENEE0MDA4Qjc0ODMgLyogUmVzb3VyY2VMb2FkU3Rh
dGlzdGljc0NsYXNzaWZpZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTFBQTgzRjZEMUE1QjYzRkYw
MDAyNkVDNiAvKiBXZWJEYXRhYmFzZVByb3ZpZGVyLmggaW4gSGVhZGVycyAqLywKIAkJCQlDRDE5
QTI2RTFBMTNFODM0MDA4RDY1MEUgLyogV2ViRGlhZ25vc3RpY0xvZ2dpbmdDbGllbnQuaCBpbiBI
ZWFkZXJzICovLAogCQkJCTFBNUIxQzU1MTg5ODdFREYwMDRGQ0Y5QiAvKiBXZWJEb2N1bWVudExv
YWRlci5oIGluIEhlYWRlcnMgKi8sCkBAIC04NDEzLDYgKzg0NjEsNyBAQAogCQkJCTUxMjEyN0M0
MTkwODIzOUEwMERBRjM1QyAvKiBXZWJQYXN0ZWJvYXJkT3ZlcnJpZGVzLmggaW4gSGVhZGVycyAq
LywKIAkJCQk3QzQ2OTREMTFBNTFFMzY4MDBBRDU4NDUgLyogV2ViUGFzdGVib2FyZFByb3h5Lmgg
aW4gSGVhZGVycyAqLywKIAkJCQk3QzQ2OTRDQTFBNEI0RUExMDBBRDU4NDUgLyogV2ViUGFzdGVi
b2FyZFByb3h5TWVzc2FnZXMuaCBpbiBIZWFkZXJzICovLAorCQkJCTZCMkUwOUJBMUU1N0I4ODEw
MEM4QThCOSAvKiBDb3JlUHJlZGljdGlvblNvZnRMaW5rLmggaW4gSGVhZGVycyAqLywKIAkJCQkx
QUIxRjc5NzFEMUIzNjEzMDA3QzlCRDEgLyogV2ViUGF5bWVudENvb3JkaW5hdG9yTWVzc2FnZXMu
aCBpbiBIZWFkZXJzICovLAogCQkJCTFBQjFGNzhDMUQxQjMzNTUwMDdDOUJEMSAvKiBXZWJQYXlt
ZW50Q29vcmRpbmF0b3JQcm94eS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUFCMUY3N0UxRDFCMzBB
OTAwN0M5QkQxIC8qIFdlYlBheW1lbnRDb29yZGluYXRvclByb3h5Q29jb2EuaCBpbiBIZWFkZXJz
ICovLApAQCAtODUzMSw2ICs4NTgwLDcgQEAKIAkJCQlCQzdCNjMzRDEyQTQ1RDEyMDBEMTc0QTQg
LyogV0tCdW5kbGVQYWdlR3JvdXAuaCBpbiBIZWFkZXJzICovLAogCQkJCTFBQjQ3NEQ4MTg0RDQz
RkQwMDUxQjYyMiAvKiBXS0J1bmRsZVBhZ2VMb2FkZXJDbGllbnQuaCBpbiBIZWFkZXJzICovLAog
CQkJCUVEODJBN0YyMTI4QzZGQUYwMDQ0NzdCMyAvKiBXS0J1bmRsZVBhZ2VPdmVybGF5LmggaW4g
SGVhZGVycyAqLywKKwkJCQk2QkU5NjlDRDFFNTRFMDU0MDA4Qjc0ODMgLyogUmVzb3VyY2VMb2Fk
U3RhdGlzdGljc0NsYXNzaWZpZXJCYXNlLmggaW4gSGVhZGVycyAqLywKIAkJCQkxQUI0NzRFQTE4
NEQ0NTEzMDA1MUI2MjIgLyogV0tCdW5kbGVQYWdlUG9saWN5Q2xpZW50LmggaW4gSGVhZGVycyAq
LywKIAkJCQlCQzFCNDE5ODExRDQxRDU3MDAxMUU4REQgLyogV0tCdW5kbGVQYWdlUHJpdmF0ZS5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJMUFCNDc0REExODRENDQyNTAwNTFCNjIyIC8qIFdLQnVuZGxl
UGFnZVJlc291cmNlTG9hZENsaWVudC5oIGluIEhlYWRlcnMgKi8sCkBAIC05MDY0LDYgKzkxMTQs
NyBAQAogCQkJCTdBNUUzOTRBMUQ1QkQ4QkUwMEI0QjdDRSAvKiBjb20ubWFjcm9tZWRpYS5GbGFz
aCBQbGF5ZXIgRVNSLnBsdWdpbi5zYiBpbiBSZXNvdXJjZXMgKi8sCiAJCQkJOERDMkVGNTMwNDg2
QTY5NDAwOThCMjE2IC8qIEluZm9QbGlzdC5zdHJpbmdzIGluIFJlc291cmNlcyAqLywKIAkJCQk5
M0EyQTM0NjFEMjQ2MTI1MDAyQjU5RDMgLyogbWVkaWFJY29uLnBkZiBpbiBSZXNvdXJjZXMgKi8s
CisJCQkJNkJFOTY5QzExRTU0RDQ1MjAwOEI3NDgzIC8qIGNvcmVQcmVkaWN0aW9uX21vZGVsIGlu
IFJlc291cmNlcyAqLywKIAkJCSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNz
aW5nID0gMDsKIAkJfTsKQEAgLTk2NTEsNiArOTcwMiw3IEBACiAJCQkJNTE3OTU1NjcxNjI4NzZD
QjAwRkE0M0I2IC8qIE5ldHdvcmtQcm9jZXNzTWFjLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJNTE2
MzE5OTQxNjI4OUE2MDAwRTIyRjAwIC8qIE5ldHdvcmtQcm9jZXNzTWVzc2FnZVJlY2VpdmVyLmNw
cCBpbiBTb3VyY2VzICovLAogCQkJCUUxNEE5NTQ5MTZFMDE2QTQwMDY4REU4MiAvKiBOZXR3b3Jr
UHJvY2Vzc1BsYXRmb3JtU3RyYXRlZ2llcy5jcHAgaW4gU291cmNlcyAqLywKKwkJCQk2QkU5NjlD
QTFFNTRENENGMDA4Qjc0ODMgLyogUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXJDb2Nv
YS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk1MTc5NTU2RDE2Mjg3N0IxMDBGQTQzQjYgLyogTmV0
d29ya1Byb2Nlc3NQcm94eS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk1MTYzMTk5MjE2Mjg5ODBB
MDBFMjJGMDAgLyogTmV0d29ya1Byb2Nlc3NQcm94eU1hYy5tbSBpbiBTb3VyY2VzICovLAogCQkJ
CTUxM0ExNjNDMTYzMDg4RjYwMDVEN0QyMiAvKiBOZXR3b3JrUHJvY2Vzc1Byb3h5TWVzc2FnZVJl
Y2VpdmVyLmNwcCBpbiBTb3VyY2VzICovLApAQCAtOTk5NSw2ICsxMDA0Nyw3IEBACiAJCQkJRDNC
OTQ4NDYxMUZGNEI2NTAwMDMyQjM5IC8qIFdlYlBvcHVwTWVudS5jcHAgaW4gU291cmNlcyAqLywK
IAkJCQlCQ0M0M0FDNzEyN0I5OURFMDAzMTdGMTYgLyogV2ViUG9wdXBNZW51TWFjLm1tIGluIFNv
dXJjZXMgKi8sCiAJCQkJQkM1NzUwOTgxMjY4RjNDNjAwNkYwRjEyIC8qIFdlYlBvcHVwTWVudVBy
b3h5TWFjLm1tIGluIFNvdXJjZXMgKi8sCisJCQkJNkJFOTY5QzcxRTU0RDRCNjAwOEI3NDgzIC8q
IFJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQmFzZS5jcHAgaW4gU291cmNlcyAqLywK
IAkJCQlCQ0Q1OTgwMDExMkI1N0JFMDBFQzhDMjMgLyogV2ViUHJlZmVyZW5jZXMuY3BwIGluIFNv
dXJjZXMgKi8sCiAJCQkJN0M4NUZEN0YxOTM0MTY2NTAwMDE3N0M0IC8qIFdlYlByZWZlcmVuY2Vz
S2V5cy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCQzg0RUIxODEyQTcxMDBDMDA4M0YyREEgLyog
V2ViUHJlZmVyZW5jZXNNYWMubW0gaW4gU291cmNlcyAqLywK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>302641</attachid>
            <date>2017-02-23 21:45:16 -0800</date>
            <delta_ts>2017-02-24 00:35:37 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-168347-20170223214227.patch</filename>
            <type>text/plain</type>
            <size>124982</size>
            <attacher name="John Wilander">wilander</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XVEYvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XVEYvQ2hh
bmdlTG9nCShyZXZpc2lvbiAyMTI4OTgpCisrKyBTb3VyY2UvV1RGL0NoYW5nZUxvZwkod29ya2lu
ZyBjb3B5KQpAQCAtMSwzICsxLDE2IEBACisyMDE3LTAyLTIzICBKb2huIFdpbGFuZGVyICA8d2ls
YW5kZXJAYXBwbGUuY29tPgorCisgICAgICAgIFJlc291cmNlIExvYWQgU3RhdGlzdGljczogQWRk
IGFsdGVybmF0ZSBjbGFzc2lmaWNhdGlvbiBtZXRob2QKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2ODM0NworICAgICAgICA8cmRhcjovL3Byb2JsZW0v
MzAzNTI3OTM+CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8zMDY0NjcxMD4KKyAgICAgICAgPHJk
YXI6Ly9wcm9ibGVtLzMwNjYwNzA4PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgICogd3RmL1BsYXRmb3JtLmg6CisgICAgICAgICAgICBBZGRlZCBzdXBw
b3J0IGZvciBIQVZFKENPUkVfUFJFRElDVElPTikuCisKIDIwMTctMDItMjIgIENhcmxvcyBHYXJj
aWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29tPgogCiAgICAgICAgIEJldHRlciBoYW5kbGUg
VGhyZWFkIGFuZCBSdW5Mb29wIGluaXRpYWxpemF0aW9uCkluZGV4OiBTb3VyY2UvV1RGL3d0Zi9Q
bGF0Zm9ybS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XVEYvd3RmL1BsYXRmb3JtLmgJKHJldmlz
aW9uIDIxMjg5OCkKKysrIFNvdXJjZS9XVEYvd3RmL1BsYXRmb3JtLmgJKHdvcmtpbmcgY29weSkK
QEAgLTExOTgsNCArMTE5OCw3IEBACiAjZGVmaW5lIFVTRV9MSUJXRUJSVEMgMQogI2VuZGlmCiAK
KyNpZiBVU0UoSlNWQUxVRTY0KSAmJiAoUExBVEZPUk0oSU9TKSB8fCAoUExBVEZPUk0oTUFDKSAm
JiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMTIwMCkpCisjZGVmaW5lIEhB
VkVfQ09SRV9QUkVESUNUSU9OIDEKKyNlbmRpZgogI2VuZGlmIC8qIFdURl9QbGF0Zm9ybV9oICov
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvQ2hhbmdlTG9nCShyZXZpc2lvbiAyMTI4OTgpCisrKyBTb3VyY2UvV2ViQ29yZS9DaGFu
Z2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwzMCBAQAorMjAxNy0wMi0yMyAgSm9obiBX
aWxhbmRlciAgPHdpbGFuZGVyQGFwcGxlLmNvbT4KKworICAgICAgICBSZXNvdXJjZSBMb2FkIFN0
YXRpc3RpY3M6IEFkZCBhbHRlcm5hdGUgY2xhc3NpZmljYXRpb24gbWV0aG9kCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjgzNDcKKyAgICAgICAgPHJk
YXI6Ly9wcm9ibGVtLzMwMzUyNzkzPgorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMzA2NDY3MTA+
CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8zMDY2MDcwOD4KKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGlzIHBhdGNoIG9ubHkgYWRkcyB0ZXN0IGlu
ZnJhc3RydWN0dXJlIGluIFdlYkNvcmUuCisKKyAgICAgICAgVGVzdHM6IGh0dHAvdGVzdHMvbG9h
ZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLW5vbi1wcmV2YWxlbnQtYmFz
ZWQtb24tbWl4ZWQtc3RhdGlzdGljcy5odG1sCisgICAgICAgICAgICAgICBodHRwL3Rlc3RzL2xv
YWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1ub24tcHJldmFsZW50LWJh
c2VkLW9uLXN1Yi1mcmFtZS11bmRlci10b3AtZnJhbWUtb3JpZ2lucy5odG1sCisgICAgICAgICAg
ICAgICBodHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1h
cy1ub24tcHJldmFsZW50LWJhc2VkLW9uLXN1YnJlc291cmNlLXVuZGVyLXRvcC1mcmFtZS1vcmln
aW5zLmh0bWwKKyAgICAgICAgICAgICAgIGh0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRT
dGF0aXN0aWNzL2NsYXNzaWZ5LWFzLW5vbi1wcmV2YWxlbnQtYmFzZWQtb24tc3VicmVzb3VyY2Ut
dW5pcXVlLXJlZGlyZWN0cy10by5odG1sCisgICAgICAgICAgICAgICBodHRwL3Rlc3RzL2xvYWRp
bmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1wcmV2YWxlbnQtYmFzZWQtb24t
bWl4ZWQtc3RhdGlzdGljcy5odG1sCisgICAgICAgICAgICAgICBodHRwL3Rlc3RzL2xvYWRpbmcv
cmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1wcmV2YWxlbnQtYmFzZWQtb24tc3Vi
LWZyYW1lLXVuZGVyLXRvcC1mcmFtZS1vcmlnaW5zLmh0bWwKKyAgICAgICAgICAgICAgIGh0dHAv
dGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLXByZXZhbGVu
dC1iYXNlZC1vbi1zdWJyZXNvdXJjZS11bmRlci10b3AtZnJhbWUtb3JpZ2lucy5odG1sCisgICAg
ICAgICAgICAgICBodHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFz
c2lmeS1hcy1wcmV2YWxlbnQtYmFzZWQtb24tc3VicmVzb3VyY2UtdW5pcXVlLXJlZGlyZWN0cy10
by5odG1sCisKKyAgICAgICAgKiBsb2FkZXIvUmVzb3VyY2VMb2FkT2JzZXJ2ZXIuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6UmVzb3VyY2VMb2FkT2JzZXJ2ZXI6OnNldFN1YmZyYW1lVW5kZXJUb3BG
cmFtZU9yaWdpbik6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZUxvYWRPYnNlcnZlcjo6c2V0
U3VicmVzb3VyY2VVbmRlclRvcEZyYW1lT3JpZ2luKToKKyAgICAgICAgKFdlYkNvcmU6OlJlc291
cmNlTG9hZE9ic2VydmVyOjpzZXRTdWJyZXNvdXJjZVVuaXF1ZVJlZGlyZWN0VG8pOgorICAgICAg
ICAqIGxvYWRlci9SZXNvdXJjZUxvYWRPYnNlcnZlci5oOgorCiAyMDE3LTAyLTIzICBDYXJsb3Mg
R2FyY2lhIENhbXBvcyAgPGNnYXJjaWFAaWdhbGlhLmNvbT4KIAogICAgICAgICBbR1N0cmVhbWVy
XSBTZXZlcmFsIGxheW91dCB0ZXN0cyB0cmlnZ2VyIEdTdHJlYW1lci1DUklUSUNBTCAqKjogZ3N0
X2Jpbl9nZXRfYnlfbmFtZTogYXNzZXJ0aW9uICdHU1RfSVNfQklOIChiaW4pJyBmYWlsZWQKSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZUxvYWRPYnNlcnZlci5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlTG9hZE9ic2VydmVyLmNwcAko
cmV2aXNpb24gMjEyODk4KQorKysgU291cmNlL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlTG9hZE9i
c2VydmVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzc1LDYgKzM3NSwzMyBAQCB2b2lkIFJlc291
cmNlTG9hZE9ic2VydmVyOjpjbGVhclByZXZhbGVuCiAgICAgc3RhdGlzdGljcy5pc1ByZXZhbGVu
dFJlc291cmNlID0gZmFsc2U7CiB9CiAKK3ZvaWQgUmVzb3VyY2VMb2FkT2JzZXJ2ZXI6OnNldFN1
YmZyYW1lVW5kZXJUb3BGcmFtZU9yaWdpbihjb25zdCBVUkwmIHN1YmZyYW1lLCBjb25zdCBVUkwm
IHRvcEZyYW1lKQoreworICAgIGlmIChzdWJmcmFtZS5pc0JsYW5rVVJMKCkgfHwgc3ViZnJhbWUu
aXNFbXB0eSgpIHx8IHRvcEZyYW1lLmlzQmxhbmtVUkwoKSB8fCB0b3BGcmFtZS5pc0VtcHR5KCkp
CisgICAgICAgIHJldHVybjsKKyAgICAKKyAgICBhdXRvJiBzdGF0aXN0aWNzID0gbV9zdG9yZS0+
ZW5zdXJlUmVzb3VyY2VTdGF0aXN0aWNzRm9yUHJpbWFyeURvbWFpbihwcmltYXJ5RG9tYWluKHN1
YmZyYW1lKSk7CisgICAgc3RhdGlzdGljcy5zdWJmcmFtZVVuZGVyVG9wRnJhbWVPcmlnaW5zLmFk
ZChwcmltYXJ5RG9tYWluKHRvcEZyYW1lKSk7Cit9CisKK3ZvaWQgUmVzb3VyY2VMb2FkT2JzZXJ2
ZXI6OnNldFN1YnJlc291cmNlVW5kZXJUb3BGcmFtZU9yaWdpbihjb25zdCBVUkwmIHN1YnJlc291
cmNlLCBjb25zdCBVUkwmIHRvcEZyYW1lKQoreworICAgIGlmIChzdWJyZXNvdXJjZS5pc0JsYW5r
VVJMKCkgfHwgc3VicmVzb3VyY2UuaXNFbXB0eSgpIHx8IHRvcEZyYW1lLmlzQmxhbmtVUkwoKSB8
fCB0b3BGcmFtZS5pc0VtcHR5KCkpCisgICAgICAgIHJldHVybjsKKyAgICAKKyAgICBhdXRvJiBz
dGF0aXN0aWNzID0gbV9zdG9yZS0+ZW5zdXJlUmVzb3VyY2VTdGF0aXN0aWNzRm9yUHJpbWFyeURv
bWFpbihwcmltYXJ5RG9tYWluKHN1YnJlc291cmNlKSk7CisgICAgc3RhdGlzdGljcy5zdWJyZXNv
dXJjZVVuZGVyVG9wRnJhbWVPcmlnaW5zLmFkZChwcmltYXJ5RG9tYWluKHRvcEZyYW1lKSk7Cit9
CisKK3ZvaWQgUmVzb3VyY2VMb2FkT2JzZXJ2ZXI6OnNldFN1YnJlc291cmNlVW5pcXVlUmVkaXJl
Y3RUbyhjb25zdCBVUkwmIHN1YnJlc291cmNlLCBjb25zdCBVUkwmIGhvc3ROYW1lUmVkaXJlY3Rl
ZFRvKQoreworICAgIGlmIChzdWJyZXNvdXJjZS5pc0JsYW5rVVJMKCkgfHwgc3VicmVzb3VyY2Uu
aXNFbXB0eSgpIHx8IGhvc3ROYW1lUmVkaXJlY3RlZFRvLmlzQmxhbmtVUkwoKSB8fCBob3N0TmFt
ZVJlZGlyZWN0ZWRUby5pc0VtcHR5KCkpCisgICAgICAgIHJldHVybjsKKyAgICAKKyAgICBhdXRv
JiBzdGF0aXN0aWNzID0gbV9zdG9yZS0+ZW5zdXJlUmVzb3VyY2VTdGF0aXN0aWNzRm9yUHJpbWFy
eURvbWFpbihwcmltYXJ5RG9tYWluKHN1YnJlc291cmNlKSk7CisgICAgc3RhdGlzdGljcy5zdWJy
ZXNvdXJjZVVuaXF1ZVJlZGlyZWN0c1RvLmFkZChwcmltYXJ5RG9tYWluKGhvc3ROYW1lUmVkaXJl
Y3RlZFRvKSk7Cit9CisKIHZvaWQgUmVzb3VyY2VMb2FkT2JzZXJ2ZXI6OnNldFRpbWVUb0xpdmVV
c2VySW50ZXJhY3Rpb24oZG91YmxlIHNlY29uZHMpCiB7CiAgICAgbV9zdG9yZS0+c2V0VGltZVRv
TGl2ZVVzZXJJbnRlcmFjdGlvbihzZWNvbmRzKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2xvYWRl
ci9SZXNvdXJjZUxvYWRPYnNlcnZlci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2xv
YWRlci9SZXNvdXJjZUxvYWRPYnNlcnZlci5oCShyZXZpc2lvbiAyMTI4OTgpCisrKyBTb3VyY2Uv
V2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VMb2FkT2JzZXJ2ZXIuaAkod29ya2luZyBjb3B5KQpAQCAt
NTgsNiArNTgsMTAgQEAgcHVibGljOgogICAgIFdFQkNPUkVfRVhQT1JUIGJvb2wgaXNQcmV2YWxl
bnRSZXNvdXJjZShjb25zdCBVUkwmKTsKICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIGNsZWFyUHJl
dmFsZW50UmVzb3VyY2UoY29uc3QgVVJMJik7CiAKKyAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHNl
dFN1YmZyYW1lVW5kZXJUb3BGcmFtZU9yaWdpbihjb25zdCBVUkwmIHN1YmZyYW1lLCBjb25zdCBV
UkwmIHRvcEZyYW1lKTsKKyAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHNldFN1YnJlc291cmNlVW5k
ZXJUb3BGcmFtZU9yaWdpbihjb25zdCBVUkwmIHN1YnJlc291cmNlLCBjb25zdCBVUkwmIHRvcEZy
YW1lKTsKKyAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHNldFN1YnJlc291cmNlVW5pcXVlUmVkaXJl
Y3RUbyhjb25zdCBVUkwmIHN1YnJlc291cmNlLCBjb25zdCBVUkwmIGhvc3ROYW1lUmVkaXJlY3Rl
ZFRvKTsKKwogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgc2V0VGltZVRvTGl2ZVVzZXJJbnRlcmFj
dGlvbihkb3VibGUgc2Vjb25kcyk7CiAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBzZXRSZWR1Y2Vk
VGltZXN0YW1wUmVzb2x1dGlvbihkb3VibGUgc2Vjb25kcyk7CiAKSW5kZXg6IFNvdXJjZS9XZWJL
aXQyL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDIxMjkzMykKKysrIFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwkod29ya2luZyBjb3B5
KQpAQCAtMSwzICsxLDc1IEBACisyMDE3LTAyLTIzICBKb2huIFdpbGFuZGVyICA8d2lsYW5kZXJA
YXBwbGUuY29tPgorCisgICAgICAgIFJlc291cmNlIExvYWQgU3RhdGlzdGljczogQWRkIGFsdGVy
bmF0ZSBjbGFzc2lmaWNhdGlvbiBtZXRob2QKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTE2ODM0NworICAgICAgICA8cmRhcjovL3Byb2JsZW0vMzAzNTI3
OTM+CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8zMDY0NjcxMD4KKyAgICAgICAgPHJkYXI6Ly9w
cm9ibGVtLzMwNjYwNzA4PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIFRoaXMgcGF0Y2ggYWRkcyBhIENvcmVQcmVkaWN0aW9uLWJhc2VkIGNsYXNzaWZp
ZXIgdG8gdGhlIFdlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZS4KKyAgICAgICAgVGhlIENv
cmVQcmVkaWN0aW9uIGZyYW1ld29yayBpcyBpbnRyb2R1Y2VkIGFzIGEgZGVwZW5kZW5jeSBmb3Ig
bWFjT1MgYW5kIGlPUy4gVGhlIHBhdGNoCisgICAgICAgIGFsc28gYWRkcyBmdW5jdGlvbnMgdG8g
c3VwcG9ydCBsYXlvdXQgdGVzdHMgb2YgdGhlIGZlYXR1cmUuCisKKyAgICAgICAgKiBQbGF0Zm9y
bS9Mb2dnaW5nLmg6CisgICAgICAgICAgICBBZGRlZCBjaGFubmVsIFJlc291cmNlTG9hZFN0YXRp
c3RpY3MuCisgICAgICAgICogUGxhdGZvcm0vY2xhc3NpZmllci9SZXNvdXJjZUxvYWRTdGF0aXN0
aWNzQ2xhc3NpZmllci5oOiBBZGRlZC4KKyAgICAgICAgICAgIFB1bGxzIGluIHRoZSBDb2NvYS1z
cGVjaWZpYyBjbGFzc2lmaWVyIGZvciBDb2NvYS1iYXNlZCBwbGF0Zm9ybXMuCisgICAgICAgIChX
ZWJLaXQ6OlJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyOjpSZXNvdXJjZUxvYWRTdGF0
aXN0aWNzQ2xhc3NpZmllcik6CisgICAgICAgICogUGxhdGZvcm0vY2xhc3NpZmllci9SZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllckJhc2UuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYktp
dDo6UmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXJCYXNlOjpoYXNQcmV2YWxlbnRSZXNv
dXJjZUNoYXJhY3RlcmlzdGljcyk6CisgICAgICAgICAgICBTaGFyZWQgY2xhc3NpZmllciBsb2dp
Yy4KKyAgICAgICAgKFdlYktpdDo6UmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXJCYXNl
OjpjbGFzc2lmeVdpdGhWZWN0b3JUaHJlc2hvbGQpOgorICAgICAgICAgICAgRmFsbGJhY2sgY2xh
c3NpZmllciBmb3Igd2hlbiB3ZSBkb24ndCBoYXZlIENvcmVQcmVkaWN0aW9uLgorICAgICAgICAq
IFBsYXRmb3JtL2NsYXNzaWZpZXIvUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXJCYXNl
Lmg6IEFkZGVkLgorICAgICAgICAoV2ViS2l0OjpSZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3Np
ZmllckJhc2U6OlJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQmFzZSk6CisgICAgICAg
IChXZWJLaXQ6OlJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQmFzZTo6flJlc291cmNl
TG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQmFzZSk6CisgICAgICAgICogUGxhdGZvcm0vY2xhc3Np
Zmllci9jb2NvYS9Db3JlUHJlZGljdGlvblNvZnRMaW5rLmg6IEFkZGVkLgorICAgICAgICAgICAg
U29mdCBsaW5rcyB0byBDb3JlUHJlZGljdGlvbiBhbmQgdGhlIHR3byBmdW5jdGlvbnMgd2UgdXNl
IGZyb20gaXQuCisgICAgICAgICogUGxhdGZvcm0vY2xhc3NpZmllci9jb2NvYS9SZXNvdXJjZUxv
YWRTdGF0aXN0aWNzQ2xhc3NpZmllckNvY29hLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJLaXQ6
OlJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyOjpjbGFzc2lmeSk6CisgICAgICAgIChX
ZWJLaXQ6OlJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyOjpzdG9yYWdlUGF0aCk6Cisg
ICAgICAgIChXZWJLaXQ6OlJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyOjpzaG91bGRV
c2VDb3JlUHJlZGljdGlvbkFuZEhhdmVNb2RlbExvYWRlZCk6CisgICAgICAgIChXZWJLaXQ6OlJl
c291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyOjpzaW5nbGV0b25QcmVkaWN0aW9uTW9kZWwp
OgorICAgICAgICAgICAgVGhlIG5ldyBjbGFzc2lmaWVyIGZvciBDb2NvYSBwbGF0Zm9ybXMuCisg
ICAgICAgICogUGxhdGZvcm0vY2xhc3NpZmllci9jb2NvYS9SZXNvdXJjZUxvYWRTdGF0aXN0aWNz
Q2xhc3NpZmllckNvY29hLmg6IEFkZGVkLgorICAgICAgICAqIFBsYXRmb3JtR1RLLmNtYWtlOgor
ICAgICAgICAgICAgQWRkZWQgUGxhdGZvcm0vY2xhc3NpZmllciBkaXJlY3RvcnkgYW5kIFJlc291
cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQmFzZS5jcHAuCisgICAgICAgICogUGxhdGZvcm1N
YWMuY21ha2U6CisgICAgICAgICAgICBBZGRlZCBQbGF0Zm9ybS9jbGFzc2lmaWVyIGFuZCBQbGF0
Zm9ybS9jbGFzc2lmaWVyL2NvY29hIGRpcmVjdG9yaWVzLCBhbmQKKyAgICAgICAgICAgIHNvdXJj
ZSBmaWxlcyBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllckJhc2UuY3BwIGFuZAorICAg
ICAgICAgICAgUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXJDb2NvYS5jcHAKKyAgICAg
ICAgKiBSZXNvdXJjZXMvUmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jb3JlUHJlZGljdGlvbl9tb2Rl
bDogQWRkZWQuCisgICAgICAgICAgICBNb2RlbCBmaWxlIHRvIGxvYWQgaW50byBDb3JlUHJlZGlj
dGlvbi4KKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0MvV0tSZXNvdXJjZUxvYWRTdGF0aXN0aWNz
TWFuYWdlci5jcHA6CisgICAgICAgIChXS1Jlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VyU2V0
U3ViZnJhbWVVbmRlclRvcEZyYW1lT3JpZ2luKToKKyAgICAgICAgKFdLUmVzb3VyY2VMb2FkU3Rh
dGlzdGljc01hbmFnZXJTZXRTdWJyZXNvdXJjZVVuZGVyVG9wRnJhbWVPcmlnaW4pOgorICAgICAg
ICAoV0tSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdlclNldFN1YnJlc291cmNlVW5pcXVlUmVk
aXJlY3RUbyk6CisgICAgICAgICAgICBUZXN0IGluZnJhc3RydWN0dXJlLgorICAgICAgICAqIFVJ
UHJvY2Vzcy9BUEkvQy9XS1Jlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VyLmg6CisgICAgICAg
ICogVUlQcm9jZXNzL1dlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VyLmNwcDoKKyAgICAg
ICAgKFdlYktpdDo6V2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFnZXI6OnNldFN1YmZyYW1l
VW5kZXJUb3BGcmFtZU9yaWdpbik6CisgICAgICAgIChXZWJLaXQ6OldlYlJlc291cmNlTG9hZFN0
YXRpc3RpY3NNYW5hZ2VyOjpzZXRTdWJyZXNvdXJjZVVuZGVyVG9wRnJhbWVPcmlnaW4pOgorICAg
ICAgICAoV2ViS2l0OjpXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdlcjo6c2V0U3VicmVz
b3VyY2VVbmlxdWVSZWRpcmVjdFRvKToKKyAgICAgICAgICAgIFRlc3QgaW5mcmFzdHJ1Y3R1cmUu
CisgICAgICAgICogVUlQcm9jZXNzL1dlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VyLmg6
CisgICAgICAgICogVUlQcm9jZXNzL1dlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZS5jcHA6
CisgICAgICAgIChXZWJLaXQ6OldlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZTo6V2ViUmVz
b3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlKToKKyAgICAgICAgICAgIFJlbmFtZWQgbV9zdG9yYWdl
UGF0aCB0byBtX3N0YXRpc3RpY3NTdG9yYWdlUGF0aCBmb3IgY2xhcml0eS4KKyAgICAgICAgKFdl
YktpdDo6V2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlOjpjbGFzc2lmeVJlc291cmNlKToK
KyAgICAgICAgICAgIE5vdyBjYWxscyB0aGUgY2xhc3NpZmllciB0aHJvdWdoIGl0cyBSZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllcgorICAgICAgICAgICAgbWVtYmVyIHZhcmlhYmxlLgor
ICAgICAgICAoV2ViS2l0OjpXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmU6OnBlcnNpc3Rl
bnRTdG9yYWdlUGF0aCk6CisgICAgICAgICAgICBSZW5hbWVkIG1fc3RvcmFnZVBhdGggdG8gbV9z
dGF0aXN0aWNzU3RvcmFnZVBhdGggZm9yIGNsYXJpdHkuCisgICAgICAgIChXZWJLaXQ6OldlYlJl
c291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZTo6d3JpdGVFbmNvZGVyVG9EaXNrKToKKyAgICAgICAg
ICAgIFJlbmFtZWQgbV9zdG9yYWdlUGF0aCB0byBtX3N0YXRpc3RpY3NTdG9yYWdlUGF0aCBmb3Ig
Y2xhcml0eS4KKyAgICAgICAgKFdlYktpdDo6V2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3Jl
OjpoYXNQcmV2YWxlbnRSZXNvdXJjZUNoYXJhY3RlcmlzdGljcyk6IERlbGV0ZWQuCisgICAgICAg
ICogVUlQcm9jZXNzL1dlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZS5oOgorICAgICAgICAq
IFdlYktpdDIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgICAgIEFkZGVkIHRo
ZSBuZXcgY2xhc3NpZmllciBzb3VyY2UgZmlsZXMgdW5kZXIgUGxhdGZvcm0vY2xhc3NpZmllciBh
bmQgdGhlCisgICAgICAgICAgICBjb3JlUHJlZGljdGlvbl9tb2RlbCBmaWxlIHVuZGVyIFJlc291
cmNlcy9SZXNvdXJjZUxvYWRTdGF0aXN0aWNzLgorCiAyMDE3LTAyLTIzICBCZXRoIERha2luICA8
YmRha2luQGFwcGxlLmNvbT4gKyBEYW4gU2F1bmRlcnMgIDxkYXNhdUBtaWNyb3NvZnQuY29tPgog
CiAgICAgICAgIE5vIHJlbGlhYmxlIHdheSB0byBnZXQgYSBzbmFwc2hvdCBvZiBXS1dlYlZpZXcK
SW5kZXg6IFNvdXJjZS9XZWJLaXQyL1BsYXRmb3JtR1RLLmNtYWtlCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJLaXQyL1BsYXRmb3JtR1RLLmNtYWtlCShyZXZpc2lvbiAyMTI4OTgpCisrKyBTb3Vy
Y2UvV2ViS2l0Mi9QbGF0Zm9ybUdUSy5jbWFrZQkod29ya2luZyBjb3B5KQpAQCAtNDYsNiArNDYs
OCBAQCBsaXN0KEFQUEVORCBXZWJLaXQyX1NPVVJDRVMKICAgICBQbGF0Zm9ybS9JUEMvdW5peC9B
dHRhY2htZW50VW5peC5jcHAKICAgICBQbGF0Zm9ybS9JUEMvdW5peC9Db25uZWN0aW9uVW5peC5j
cHAKIAorICAgIFBsYXRmb3JtL2NsYXNzaWZpZXIvUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNz
aWZpZXJCYXNlLmNwcAorCiAgICAgUGxhdGZvcm0vZ2xpYi9Nb2R1bGVHbGliLmNwcAogCiAgICAg
UGxhdGZvcm0vdW5peC9Mb2dnaW5nVW5peC5jcHAKQEAgLTg2NSw2ICs4NjcsNyBAQCBsaXN0KEFQ
UEVORCBXZWJLaXQyX0lOQ0xVREVfRElSRUNUT1JJRVMKICAgICAiJHtXRUJLSVQyX0RJUn0vTmV0
d29ya1Byb2Nlc3Mvc291cCIKICAgICAiJHtXRUJLSVQyX0RJUn0vTmV0d29ya1Byb2Nlc3MvdW5p
eCIKICAgICAiJHtXRUJLSVQyX0RJUn0vUGxhdGZvcm0vSVBDL2dsaWIiCisgICAgIiR7V0VCS0lU
Ml9ESVJ9L1BsYXRmb3JtL2NsYXNzaWZpZXIiCiAgICAgIiR7V0VCS0lUMl9ESVJ9L1NoYXJlZC9B
UEkvYy9ndGsiCiAgICAgIiR7V0VCS0lUMl9ESVJ9L1NoYXJlZC9Db29yZGluYXRlZEdyYXBoaWNz
IgogICAgICIke1dFQktJVDJfRElSfS9TaGFyZWQvQ29vcmRpbmF0ZWRHcmFwaGljcy90aHJlYWRl
ZGNvbXBvc2l0b3IiCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybU1hYy5jbWFrZQo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybU1hYy5jbWFrZQkocmV2aXNpb24gMjEy
ODk4KQorKysgU291cmNlL1dlYktpdDIvUGxhdGZvcm1NYWMuY21ha2UJKHdvcmtpbmcgY29weSkK
QEAgLTQ5LDYgKzQ5LDEwIEBAIGxpc3QoQVBQRU5EIFdlYktpdDJfU09VUkNFUwogCiAgICAgUGxh
dGZvcm0vY2cvQ0dVdGlsaXRpZXMuY3BwCiAKKyAgICBQbGF0Zm9ybS9jbGFzc2lmaWVyL1Jlc291
cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQmFzZS5jcHAKKworICAgIFBsYXRmb3JtL2NsYXNz
aWZpZXIvY29jb2EvUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXJDb2NvYS5jcHAKKwog
ICAgIFBsYXRmb3JtL2ZvdW5kYXRpb24vTG9nZ2luZ0ZvdW5kYXRpb24ubW0KIAogICAgIFBsYXRm
b3JtL2NvY29hL1NoYXJlZE1lbW9yeUNvY29hLmNwcApAQCAtMzkxLDYgKzM5NSw4IEBAIGxpc3Qo
QVBQRU5EIFdlYktpdDJfSU5DTFVERV9ESVJFQ1RPUklFUwogICAgICIke1dFQktJVDJfRElSfS9V
SVByb2Nlc3MvU2Nyb2xsaW5nIgogICAgICIke1dFQktJVDJfRElSfS9VSVByb2Nlc3MvaW9zIgog
ICAgICIke1dFQktJVDJfRElSfS9QbGF0Zm9ybS9jZyIKKyAgICAiJHtXRUJLSVQyX0RJUn0vUGxh
dGZvcm0vY2xhc3NpZmllciIKKyAgICAiJHtXRUJLSVQyX0RJUn0vUGxhdGZvcm0vY2xhc3NpZmll
ci9jb2NvYSIKICAgICAiJHtXRUJLSVQyX0RJUn0vUGxhdGZvcm0vbWFjIgogICAgICIke1dFQktJ
VDJfRElSfS9QbGF0Zm9ybS91bml4IgogICAgICIke1dFQktJVDJfRElSfS9QbGF0Zm9ybS9zcGkv
Q29jb2EiCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9Mb2dnaW5nLmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYktpdDIvUGxhdGZvcm0vTG9nZ2luZy5oCShyZXZpc2lvbiAyMTI4OTgp
CisrKyBTb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9Mb2dnaW5nLmgJKHdvcmtpbmcgY29weSkKQEAg
LTYzLDYgKzYzLDcgQEAgZXh0ZXJuICJDIiB7CiAgICAgTShQcm9jZXNzU3VzcGVuc2lvbikgXAog
ICAgIE0oUmVtb3RlTGF5ZXJUcmVlKSBcCiAgICAgTShSZXNpemUpIFwKKyAgICBNKFJlc291cmNl
TG9hZFN0YXRpc3RpY3MpIFwKICAgICBNKFNlbGVjdGlvbikgXAogICAgIE0oU2Vzc2lvblN0YXRl
KSBcCiAgICAgTShTdG9yYWdlQVBJKSBcCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9j
bGFzc2lmaWVyL1Jlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyLmgKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYktpdDIvUGxhdGZvcm0vY2xhc3NpZmllci9SZXNvdXJjZUxvYWRTdGF0aXN0
aWNzQ2xhc3NpZmllci5oCShub25leGlzdGVudCkKKysrIFNvdXJjZS9XZWJLaXQyL1BsYXRmb3Jt
L2NsYXNzaWZpZXIvUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXIuaAkod29ya2luZyBj
b3B5KQpAQCAtMCwwICsxLDUyIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwor
ICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisg
KiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICog
QkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwg
RVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpbmNs
dWRlIDx3dGYvUGxhdGZvcm0uaD4KKworI2lmIFVTRShBUFBMRV9JTlRFUk5BTF9TREspICYmIEhB
VkUoQ09SRV9QUkVESUNUSU9OKQorI2luY2x1ZGUgIlJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFz
c2lmaWVyQ29jb2EuaCIKKyNlbHNlCisKKyNpbmNsdWRlICJSZXNvdXJjZUxvYWRTdGF0aXN0aWNz
Q2xhc3NpZmllckJhc2UuaCIKKworbmFtZXNwYWNlIFdlYktpdCB7CisKK2NsYXNzIFJlc291cmNl
TG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyIDogcHVibGljIFJlc291cmNlTG9hZFN0YXRpc3RpY3ND
bGFzc2lmaWVyQmFzZSB7CitwdWJsaWM6CisgICAgUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNz
aWZpZXIoKQorICAgIDogUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXJCYXNlKCkgeyB9
CisgICAgCitwcm90ZWN0ZWQ6CisgICAgYm9vbCBjbGFzc2lmeSh1bnNpZ25lZCBhLCB1bnNpZ25l
ZCBiLCB1bnNpZ25lZCBjKSBvdmVycmlkZQorICAgIHsKKyAgICAgICAgcmV0dXJuIGNsYXNzaWZ5
V2l0aFZlY3RvclRocmVzaG9sZChhLCBiLCBjKTsKKyAgICB9Cit9OworCit9CisKKyNlbmRpZgpJ
bmRleDogU291cmNlL1dlYktpdDIvUGxhdGZvcm0vY2xhc3NpZmllci9SZXNvdXJjZUxvYWRTdGF0
aXN0aWNzQ2xhc3NpZmllckJhc2UuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1Bs
YXRmb3JtL2NsYXNzaWZpZXIvUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXJCYXNlLmNw
cAkobm9uZXhpc3RlbnQpCisrKyBTb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9jbGFzc2lmaWVyL1Jl
c291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQmFzZS5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTAsMCArMSw2MiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBt
ZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFO
WSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBO
TyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJM
RSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFS
WSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRl
ICJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllckJhc2UuaCIKKworI2luY2x1ZGUgIkxv
Z2dpbmcuaCIKKyNpbmNsdWRlIDxXZWJDb3JlL1Jlc291cmNlTG9hZFN0YXRpc3RpY3MuaD4KKwor
dXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CisKK25hbWVzcGFjZSBXZWJLaXQgeworCitzdGF0aWMg
Y29uc3QgYXV0byBmZWF0dXJlVmVjdG9yTGVuZ3RoVGhyZXNob2xkID0gMzsKK2Jvb2wgUmVzb3Vy
Y2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXJCYXNlOjpoYXNQcmV2YWxlbnRSZXNvdXJjZUNoYXJh
Y3RlcmlzdGljcyhjb25zdCBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzJiByZXNvdXJjZVN0YXRpc3Rp
YykKK3sKKyAgICBhdXRvIHN1YnJlc291cmNlVW5kZXJUb3BGcmFtZU9yaWdpbnNDb3VudCA9IHJl
c291cmNlU3RhdGlzdGljLnN1YnJlc291cmNlVW5kZXJUb3BGcmFtZU9yaWdpbnMuc2l6ZSgpOwor
ICAgIGF1dG8gc3VicmVzb3VyY2VVbmlxdWVSZWRpcmVjdHNUb0NvdW50ID0gcmVzb3VyY2VTdGF0
aXN0aWMuc3VicmVzb3VyY2VVbmlxdWVSZWRpcmVjdHNUby5zaXplKCk7CisgICAgYXV0byBzdWJm
cmFtZVVuZGVyVG9wRnJhbWVPcmlnaW5zQ291bnQgPSByZXNvdXJjZVN0YXRpc3RpYy5zdWJmcmFt
ZVVuZGVyVG9wRnJhbWVPcmlnaW5zLnNpemUoKTsKKyAgICAKKyAgICBpZiAoIXN1YnJlc291cmNl
VW5kZXJUb3BGcmFtZU9yaWdpbnNDb3VudAorICAgICAgICAmJiAhc3VicmVzb3VyY2VVbmlxdWVS
ZWRpcmVjdHNUb0NvdW50CisgICAgICAgICYmICFzdWJmcmFtZVVuZGVyVG9wRnJhbWVPcmlnaW5z
Q291bnQpCisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAKKyAgICBpZiAoc3VicmVzb3VyY2VV
bmRlclRvcEZyYW1lT3JpZ2luc0NvdW50ID4gZmVhdHVyZVZlY3Rvckxlbmd0aFRocmVzaG9sZAor
ICAgICAgICB8fCBzdWJyZXNvdXJjZVVuaXF1ZVJlZGlyZWN0c1RvQ291bnQgPiBmZWF0dXJlVmVj
dG9yTGVuZ3RoVGhyZXNob2xkCisgICAgICAgIHx8IHN1YmZyYW1lVW5kZXJUb3BGcmFtZU9yaWdp
bnNDb3VudCA+IGZlYXR1cmVWZWN0b3JMZW5ndGhUaHJlc2hvbGQpCisgICAgICAgIHJldHVybiB0
cnVlOworCisgICAgcmV0dXJuIGNsYXNzaWZ5KHN1YnJlc291cmNlVW5kZXJUb3BGcmFtZU9yaWdp
bnNDb3VudCwgc3VicmVzb3VyY2VVbmlxdWVSZWRpcmVjdHNUb0NvdW50LCBzdWJmcmFtZVVuZGVy
VG9wRnJhbWVPcmlnaW5zQ291bnQpOworfQorCitib29sIFJlc291cmNlTG9hZFN0YXRpc3RpY3ND
bGFzc2lmaWVyQmFzZTo6Y2xhc3NpZnlXaXRoVmVjdG9yVGhyZXNob2xkKHVuc2lnbmVkIGEsIHVu
c2lnbmVkIGIsIHVuc2lnbmVkIGMpCit7CisgICAgTE9HKFJlc291cmNlTG9hZFN0YXRpc3RpY3Ms
ICJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllckJhc2U6OmNsYXNzaWZ5V2l0aFZlY3Rv
clRocmVzaG9sZCgpOiBDbGFzc2lmaWVkIHdpdGggdGhyZXNob2xkLiIpOworICAgIHJldHVybiBz
cXJ0KGEgKiBhICsgYiAqIGIgKyBjICogYykgPiBmZWF0dXJlVmVjdG9yTGVuZ3RoVGhyZXNob2xk
OworfQorICAgIAorfQpJbmRleDogU291cmNlL1dlYktpdDIvUGxhdGZvcm0vY2xhc3NpZmllci9S
ZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllckJhc2UuaAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViS2l0Mi9QbGF0Zm9ybS9jbGFzc2lmaWVyL1Jlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFz
c2lmaWVyQmFzZS5oCShub25leGlzdGVudCkKKysrIFNvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL2Ns
YXNzaWZpZXIvUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXJCYXNlLmgJKHdvcmtpbmcg
Y29weSkKQEAgLTAsMCArMSw0NCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMK
KyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwor
ICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAq
IEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUws
IEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCituYW1l
c3BhY2UgV2ViQ29yZSB7CitzdHJ1Y3QgUmVzb3VyY2VMb2FkU3RhdGlzdGljczsKK30KKworbmFt
ZXNwYWNlIFdlYktpdCB7CisKK2NsYXNzIFJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVy
QmFzZSB7CitwdWJsaWM6CisgICAgYm9vbCBoYXNQcmV2YWxlbnRSZXNvdXJjZUNoYXJhY3Rlcmlz
dGljcyhjb25zdCBXZWJDb3JlOjpSZXNvdXJjZUxvYWRTdGF0aXN0aWNzJiByZXNvdXJjZVN0YXRp
c3RpYyk7Citwcm90ZWN0ZWQ6CisgICAgUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXJC
YXNlKCkgeyB9CisgICAgdmlydHVhbCB+UmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXJC
YXNlKCkgeyB9CisgICAgdmlydHVhbCBib29sIGNsYXNzaWZ5KHVuc2lnbmVkLCB1bnNpZ25lZCwg
dW5zaWduZWQpID0gMDsKKyAgICBib29sIGNsYXNzaWZ5V2l0aFZlY3RvclRocmVzaG9sZCh1bnNp
Z25lZCwgdW5zaWduZWQsIHVuc2lnbmVkKTsKK307CisKK30KSW5kZXg6IFNvdXJjZS9XZWJLaXQy
L1BsYXRmb3JtL2NsYXNzaWZpZXIvY29jb2EvQ29yZVByZWRpY3Rpb25Tb2Z0TGluay5oCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL2NsYXNzaWZpZXIvY29jb2EvQ29yZVBy
ZWRpY3Rpb25Tb2Z0TGluay5oCShub25leGlzdGVudCkKKysrIFNvdXJjZS9XZWJLaXQyL1BsYXRm
b3JtL2NsYXNzaWZpZXIvY29jb2EvQ29yZVByZWRpY3Rpb25Tb2Z0TGluay5oCSh3b3JraW5nIGNv
cHkpCkBAIC0wLDAgKzEsMzcgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisg
KiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAq
IEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1F
RC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBC
RSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBF
WEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2lmIFVT
RShBUFBMRV9JTlRFUk5BTF9TREspICYmIEhBVkUoQ09SRV9QUkVESUNUSU9OKQorCisjaW5jbHVk
ZSA8Q29yZVByZWRpY3Rpb24vc3ZtLmg+CisjaW5jbHVkZSA8V2ViQ29yZS9Tb2Z0TGlua2luZy5o
PgorCitTT0ZUX0xJTktfUFJJVkFURV9GUkFNRVdPUktfT1BUSU9OQUwoQ29yZVByZWRpY3Rpb24p
CitTT0ZUX0xJTksoQ29yZVByZWRpY3Rpb24sIHN2bV9wcmVkaWN0X3ZhbHVlcywgZG91YmxlLCAo
Y29uc3Qgc3RydWN0IHN2bV9tb2RlbCAqbW9kZWwsIGNvbnN0IHN0cnVjdCBzdm1fbm9kZSAqeCwg
ZG91YmxlKiBkZWNfdmFsdWVzKSwgKG1vZGVsLCB4LCBkZWNfdmFsdWVzKSkKK1NPRlRfTElOSyhD
b3JlUHJlZGljdGlvbiwgc3ZtX2xvYWRfbW9kZWwsIHN2bV9tb2RlbCosIChjb25zdCBjaGFyICpt
b2RlbF9maWxlX25hbWUpLCAobW9kZWxfZmlsZV9uYW1lKSkKKworI2VuZGlmCkluZGV4OiBTb3Vy
Y2UvV2ViS2l0Mi9QbGF0Zm9ybS9jbGFzc2lmaWVyL2NvY29hL1Jlc291cmNlTG9hZFN0YXRpc3Rp
Y3NDbGFzc2lmaWVyQ29jb2EuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1BsYXRm
b3JtL2NsYXNzaWZpZXIvY29jb2EvUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXJDb2Nv
YS5jcHAJKG5vbmV4aXN0ZW50KQorKysgU291cmNlL1dlYktpdDIvUGxhdGZvcm0vY2xhc3NpZmll
ci9jb2NvYS9SZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllckNvY29hLmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtMCwwICsxLDEzMCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBs
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMn
JworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVND
TEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMK
KyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJ
QUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAq
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICog
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcu
aCIKKyNpbmNsdWRlICJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllckNvY29hLmgiCisK
KyNpZiBVU0UoQVBQTEVfSU5URVJOQUxfU0RLKSAmJiBIQVZFKENPUkVfUFJFRElDVElPTikKKwor
I2luY2x1ZGUgIkxvZ2dpbmcuaCIKKyNpbmNsdWRlIDx3dGYvTmV2ZXJEZXN0cm95ZWQuaD4KKyNp
bmNsdWRlICJDb3JlUHJlZGljdGlvblNvZnRMaW5rLmgiCisKK25hbWVzcGFjZSBXZWJLaXQgewor
Citib29sIFJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyOjpjbGFzc2lmeSh1bnNpZ25l
ZCBzdWJyZXNvdXJjZVVuZGVyVG9wRnJhbWVPcmlnaW5zQ291bnQsIHVuc2lnbmVkIHN1YnJlc291
cmNlVW5pcXVlUmVkaXJlY3RzVG9Db3VudCwgdW5zaWduZWQgc3ViZnJhbWVVbmRlclRvcEZyYW1l
T3JpZ2luc0NvdW50KQoreworICAgIGlmICghc2hvdWxkVXNlQ29yZVByZWRpY3Rpb25BbmRIYXZl
TW9kZWxMb2FkZWQoKSkKKyAgICAgICAgcmV0dXJuIGNsYXNzaWZ5V2l0aFZlY3RvclRocmVzaG9s
ZChzdWJyZXNvdXJjZVVuZGVyVG9wRnJhbWVPcmlnaW5zQ291bnQsIHN1YnJlc291cmNlVW5pcXVl
UmVkaXJlY3RzVG9Db3VudCwgc3ViZnJhbWVVbmRlclRvcEZyYW1lT3JpZ2luc0NvdW50KTsKKwor
ICAgIFZlY3Rvcjx1bnNpZ25lZD4gbm9uWmVyb0ZlYXR1cmVzOworICAgIFZlY3Rvcjx1bnNpZ25l
ZD4gaW5kaWNlczsKKworICAgIGlmIChzdWJyZXNvdXJjZVVuZGVyVG9wRnJhbWVPcmlnaW5zQ291
bnQpIHsKKyAgICAgICAgbm9uWmVyb0ZlYXR1cmVzLmFwcGVuZChzdWJyZXNvdXJjZVVuZGVyVG9w
RnJhbWVPcmlnaW5zQ291bnQpOworICAgICAgICBpbmRpY2VzLmFwcGVuZCgxKTsKKyAgICB9Cisg
ICAgaWYgKHN1YnJlc291cmNlVW5pcXVlUmVkaXJlY3RzVG9Db3VudCkgeworICAgICAgICBub25a
ZXJvRmVhdHVyZXMuYXBwZW5kKHN1YnJlc291cmNlVW5pcXVlUmVkaXJlY3RzVG9Db3VudCk7Cisg
ICAgICAgIGluZGljZXMuYXBwZW5kKDIpOworICAgIH0KKyAgICBpZiAoc3ViZnJhbWVVbmRlclRv
cEZyYW1lT3JpZ2luc0NvdW50KSB7CisgICAgICAgIG5vblplcm9GZWF0dXJlcy5hcHBlbmQoc3Vi
ZnJhbWVVbmRlclRvcEZyYW1lT3JpZ2luc0NvdW50KTsKKyAgICAgICAgaW5kaWNlcy5hcHBlbmQo
Myk7CisgICAgfQorCisgICAgVmVjdG9yPHN2bV9ub2RlPiBleGFtcGxlVmVjdG9yKG5vblplcm9G
ZWF0dXJlcy5zaXplKCkgKyAxKTsKKyAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IG5vblplcm9G
ZWF0dXJlcy5zaXplKCk7IGkrKykgeworICAgICAgICBleGFtcGxlVmVjdG9yLmF0KGkpLmluZGV4
ID0gaW5kaWNlcy5hdChpKTsKKyAgICAgICAgZXhhbXBsZVZlY3Rvci5hdChpKS52YWx1ZSA9IG5v
blplcm9GZWF0dXJlcy5hdChpKTsKKyAgICB9CisKKyAgICAvLyBBZGQgdGVybWluYXRpb24gbm9k
ZSB3aXRoIGluZGV4IC0xLgorICAgIGV4YW1wbGVWZWN0b3IuYXQobm9uWmVyb0ZlYXR1cmVzLnNp
emUoKSkuaW5kZXggPSAtMTsKKyAgICBleGFtcGxlVmVjdG9yLmF0KG5vblplcm9GZWF0dXJlcy5z
aXplKCkpLnZhbHVlID0gLTE7CisKKyAgICBkb3VibGUgc2NvcmU7CisgICAgaW50IGNsYXNzaWZp
Y2F0aW9uID0gc3ZtX3ByZWRpY3RfdmFsdWVzKHNpbmdsZXRvblByZWRpY3Rpb25Nb2RlbCgpLCBl
eGFtcGxlVmVjdG9yLmRhdGEoKSwgJnNjb3JlKTsKKyAgICBMT0coUmVzb3VyY2VMb2FkU3RhdGlz
dGljcywgIlJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyOjpjbGFzc2lmeSgpOiBDbGFz
c2lmaWVkIHdpdGggQ29yZVByZWRpY3Rpb24uIik7CisgICAgcmV0dXJuIGNsYXNzaWZpY2F0aW9u
IDwgMDsKK30KKworU3RyaW5nIFJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyOjpzdG9y
YWdlUGF0aCgpCit7CisgICAgQ0ZCdW5kbGVSZWYgd2ViS2l0QnVuZGxlID0gQ0ZCdW5kbGVHZXRC
dW5kbGVXaXRoSWRlbnRpZmllcihDRlNUUigiY29tLmFwcGxlLldlYktpdCIpKTsKKyAgICBSZXRh
aW5QdHI8Q0ZVUkxSZWY+IHJlc291cmNlVXJsID0gYWRvcHRDRihDRkJ1bmRsZUNvcHlSZXNvdXJj
ZXNEaXJlY3RvcnlVUkwod2ViS2l0QnVuZGxlKSk7CisgICAgcmVzb3VyY2VVcmwgPSBhZG9wdENG
KENGVVJMQ3JlYXRlQ29weUFwcGVuZGluZ1BhdGhDb21wb25lbnQobnVsbHB0ciwgcmVzb3VyY2VV
cmwuZ2V0KCksIENGU1RSKCJjb3JlUHJlZGljdGlvbl9tb2RlbCIpLCBmYWxzZSkpOworICAgIENG
RXJyb3JSZWYgZXJyb3IgPSBudWxscHRyOworICAgIHJlc291cmNlVXJsID0gYWRvcHRDRihDRlVS
TENyZWF0ZUZpbGVQYXRoVVJMKG51bGxwdHIsIHJlc291cmNlVXJsLmdldCgpLCAmZXJyb3IpKTsK
KworICAgIGlmIChlcnJvciB8fCAhcmVzb3VyY2VVcmwpCisgICAgICAgIHJldHVybiBTdHJpbmco
KTsKKworICAgIFJldGFpblB0cjxDRlN0cmluZ1JlZj4gcmVzb3VyY2VVcmxTdHJpbmcgPSBhZG9w
dENGKENGVVJMQ29weUZpbGVTeXN0ZW1QYXRoKHJlc291cmNlVXJsLmdldCgpLCBrQ0ZVUkxQT1NJ
WFBhdGhTdHlsZSkpOworICAgIHJldHVybiBTdHJpbmcocmVzb3VyY2VVcmxTdHJpbmcuZ2V0KCkp
OworfQorCitib29sIFJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyOjpzaG91bGRVc2VD
b3JlUHJlZGljdGlvbkFuZEhhdmVNb2RlbExvYWRlZCgpCit7CisgICAgaWYgKG1faGF2ZUxvYWRl
ZE1vZGVsKQorICAgICAgICByZXR1cm4gdHJ1ZTsKKworICAgIGlmICghbV91c2VDb3JlUHJlZGlj
dGlvbikKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgaWYgKCFDb3JlUHJlZGljdGlvbkxp
YnJhcnkoKSkgeworICAgICAgICBtX3VzZUNvcmVQcmVkaWN0aW9uID0gZmFsc2U7CisgICAgICAg
IHJldHVybiBmYWxzZTsKKyAgICB9CisKKyAgICBTdHJpbmcgc3RvcmFnZVBhdGhTdHIgPSBzdG9y
YWdlUGF0aCgpOworICAgIGlmIChzdG9yYWdlUGF0aFN0ci5pc051bGwoKSB8fCBzdG9yYWdlUGF0
aFN0ci5pc0VtcHR5KCkpIHsKKyAgICAgICAgbV91c2VDb3JlUHJlZGljdGlvbiA9IGZhbHNlOwor
ICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgfQorCisgICAgaWYgKHNpbmdsZXRvblByZWRpY3Rp
b25Nb2RlbCgpKSB7CisgICAgICAgIG1faGF2ZUxvYWRlZE1vZGVsID0gdHJ1ZTsKKyAgICAgICAg
cmV0dXJuIHRydWU7CisgICAgfQorCisgICAgbV91c2VDb3JlUHJlZGljdGlvbiA9IGZhbHNlOwor
ICAgIHJldHVybiBmYWxzZTsKK30KKworc3RydWN0IHN2bV9tb2RlbCogUmVzb3VyY2VMb2FkU3Rh
dGlzdGljc0NsYXNzaWZpZXI6OnNpbmdsZXRvblByZWRpY3Rpb25Nb2RlbCgpCit7CisgICAgc3Rh
dGljIE5ldmVyRGVzdHJveWVkPHN0cnVjdCBzdm1fbW9kZWwqPiBjb3JlUHJlZGljdGlvbk1vZGVs
ID0gc3ZtX2xvYWRfbW9kZWwoc3RvcmFnZVBhdGgoKS51dGY4KCkuZGF0YSgpKTsKKworICAgIGlm
IChjb3JlUHJlZGljdGlvbk1vZGVsKQorICAgICAgICByZXR1cm4gY29yZVByZWRpY3Rpb25Nb2Rl
bDsKKworICAgIFdURkxvZ0Fsd2F5cygiUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXI6
OnNpbmdsZXRvblByZWRpY3Rpb25Nb2RlbCgpOiBDb3VsZG4ndCBsb2FkIG1vZGVsIGZpbGUgYXQg
cGF0aCAlcy4iLCBzdG9yYWdlUGF0aCgpLnV0ZjgoKS5kYXRhKCkpOworICAgIG1fdXNlQ29yZVBy
ZWRpY3Rpb24gPSBmYWxzZTsKKyAgICByZXR1cm4gbnVsbHB0cjsKK30KK30KKworI2VuZGlmCklu
ZGV4OiBTb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9jbGFzc2lmaWVyL2NvY29hL1Jlc291cmNlTG9h
ZFN0YXRpc3RpY3NDbGFzc2lmaWVyQ29jb2EuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0
Mi9QbGF0Zm9ybS9jbGFzc2lmaWVyL2NvY29hL1Jlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lm
aWVyQ29jb2EuaAkobm9uZXhpc3RlbnQpCisrKyBTb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9jbGFz
c2lmaWVyL2NvY29hL1Jlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQ29jb2EuaAkod29y
a2luZyBjb3B5KQpAQCAtMCwwICsxLDUxIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE3IEFw
cGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJ
UycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9S
UworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwor
ICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisg
KiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisK
KyNpZiBVU0UoQVBQTEVfSU5URVJOQUxfU0RLKSAmJiBIQVZFKENPUkVfUFJFRElDVElPTikKKwor
I2luY2x1ZGUgIlJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQmFzZS5oIgorI2luY2x1
ZGUgPENvcmVGb3VuZGF0aW9uL0NvcmVGb3VuZGF0aW9uLmg+CisjaW5jbHVkZSA8Q29yZVByZWRp
Y3Rpb24vc3ZtLmg+CisjaW5jbHVkZSA8d3RmL1BsYXRmb3JtLmg+CisjaW5jbHVkZSA8d3RmL3Rl
eHQvV1RGU3RyaW5nLmg+CisKK25hbWVzcGFjZSBXZWJLaXQgeworCitjbGFzcyBSZXNvdXJjZUxv
YWRTdGF0aXN0aWNzQ2xhc3NpZmllciA6IHB1YmxpYyBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xh
c3NpZmllckJhc2UgeworCitwcml2YXRlOgorICAgIGJvb2wgY2xhc3NpZnkodW5zaWduZWQsIHVu
c2lnbmVkLCB1bnNpZ25lZCkgb3ZlcnJpZGU7CisgICAgU3RyaW5nIHN0b3JhZ2VQYXRoKCk7Cisg
ICAgYm9vbCBzaG91bGRVc2VDb3JlUHJlZGljdGlvbkFuZEhhdmVNb2RlbExvYWRlZCgpOworICAg
IHN0cnVjdCBzdm1fbW9kZWwqIHNpbmdsZXRvblByZWRpY3Rpb25Nb2RlbCgpOworICAgIGJvb2wg
bV91c2VDb3JlUHJlZGljdGlvbiB7IHRydWUgfTsKKyAgICBib29sIG1faGF2ZUxvYWRlZE1vZGVs
IHsgZmFsc2UgfTsKK307CisgICAgCit9CisKKyNlbmRpZgpJbmRleDogU291cmNlL1dlYktpdDIv
UmVzb3VyY2VzL1Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY29yZVByZWRpY3Rpb25fbW9kZWwKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvUmVzb3VyY2VzL1Jlc291cmNlTG9hZFN0YXRpc3Rp
Y3MvY29yZVByZWRpY3Rpb25fbW9kZWwJKG5vbmV4aXN0ZW50KQorKysgU291cmNlL1dlYktpdDIv
UmVzb3VyY2VzL1Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY29yZVByZWRpY3Rpb25fbW9kZWwJKHdv
cmtpbmcgY29weSkKQEAgLTAsMCArMSw2NzggQEAKK3N2bV90eXBlIGNfc3ZjCitrZXJuZWxfdHlw
ZSByYmYKK2dhbW1hIDAuMQorbnJfY2xhc3MgMgordG90YWxfc3YgMzMwCityaG8gMC4yODc5NDU2
NDIyNjEKK2xhYmVsIC0xIDEKK25yX3N2IDMwMCAzMAorU1YKKy0wLjA1NDY2OTcwMzg3MjQgMTox
NC4wIDI6My4wIDM6Ny4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAyOjEuMCAKKy0wLjA1NDY2
OTcwMzg3MjQgMToyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDM6MS4wIAorLTAuMDU0NjY5
NzAzODcyNCAxOjEyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Ny4wIAorLTAuMDU0NjY5NzAzODcy
NCAxOjIuMCAyOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMzoxLjAgCistMC4wNTQ2Njk3
MDM4NzI0IDE6My4wIDI6MTYuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMzoxLjAgCistMC4w
NTQ2Njk3MDM4NzI0IDE6MS4wIDI6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAzOjEuMCAK
Ky0wLjA1NDY2OTcwMzg3MjQgMToyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6My4wIDI6MS4wIAor
LTAuMDU0NjY5NzAzODcyNCAxOjUuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxNi4wIDI6Mi4wIDM6
Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAyOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTox
MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjQuMCAzOjMuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToy
OC4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMzox
LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDM6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIy
LjAgMjoxLjAgMzoxMi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjE0LjAgMzo1LjAgCistMC4wNTQ2
Njk3MDM4NzI0IDE6MS4wIDM6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjQ4LjAgMjoxLjAgCist
MC4wNTQ2Njk3MDM4NzI0IDE6MjUuMCAzOjE2LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDI6
MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAzOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo2
LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Ny4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAyOjEu
MCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMzoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6My4w
IDM6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjcuMCAyOjEuMCAzOjEuMCAKKy0wLjA1NDY2OTcw
Mzg3MjQgMToyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Ny4wIAorLTAuMDU0NjY5NzAzODcyNCAx
OjUuMCAyOjIuMCAzOjMuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAgCistMC4wNTQ2Njk3MDM4
NzI0IDE6MS4wIDI6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjQuMCAKKy0wLjA1NDY2OTcwMzg3
MjQgMToxLjAgMjoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDM6MS4wIAorLTAuMDU0NjY5
NzAzODcyNCAxOjkuMCAzOjQuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMjoxLjAgCistMC4w
NTQ2Njk3MDM4NzI0IDE6MS4wIDM6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjQ3LjAgMjoyMS4w
IDM6MzMuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxMS4wIDI6Mi4wIDM6NS4wIAorLTAuMDU0NjY5
NzAzODcyNCAxOjExLjAgMjozLjAgMzoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDM6MS4w
IAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAyOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo0My4w
IDM6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEzLjAgMzo3LjAgCistMC4wNTQ2Njk3MDM4NzI0
IDE6MS4wIDM6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjQuMCAKKy0wLjA1NDY2OTcwMzg3MjQg
MToxMy4wIDM6NC4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjQyLjAgMjo0LjAgMzozMi4wIAorLTAu
MDU0NjY5NzAzODcyNCAxOjEwLjAgMjo1LjAgMzoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Ny4w
IDM6NC4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAg
MzoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDM6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAx
OjYuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMjoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6
Ni4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjE2LjAgMjo0LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6
MTAuMCAyOjEuMCAzOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxOC4wIDI6My4wIDM6Ni4wIAor
LTAuMDU0NjY5NzAzODcyNCAxOjEuMCAzOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMjox
LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjMuMCAyOjEu
MCAzOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMjoxLjAgCistMC4wNTQ2Njk3MDM4NzI0
IDE6My4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjMuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo0LjAg
CistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAzOjIuMCAK
Ky0wLjA1NDY2OTcwMzg3MjQgMToyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDM6MS4wIAor
LTAuMDU0NjY5NzAzODcyNCAxOjIxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIAorLTAuMDU0
NjY5NzAzODcyNCAxOjIuMCAyOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxNC4wIAorLTAuMDU0
NjY5NzAzODcyNCAxOjIuMCAyOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAgMzoyLjAgCist
MC4wNTQ2Njk3MDM4NzI0IDE6NC4wIDM6My4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAzOjEu
MCAKKy0wLjA1NDY2OTcwMzg3MjQgMTozLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIAorLTAu
MDU0NjY5NzAzODcyNCAxOjEuMCAyOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo0LjAgCistMC4w
NTQ2Njk3MDM4NzI0IDE6MzkuMCAzOjQuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4w
NTQ2Njk3MDM4NzI0IDE6Mi4wIDI6MS4wIDM6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjQuMCAK
Ky0wLjA1NDY2OTcwMzg3MjQgMToyLjAgMjoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6NC4wIAor
LTAuMDU0NjY5NzAzODcyNCAxOjEuMCAyOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMjoy
LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAyOjEu
MCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAu
MDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3
MDM4NzI0IDE6My4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAyOjEuMCAKKy0wLjA1NDY2OTcw
Mzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAx
OjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAor
LTAuMDU0NjY5NzAzODcyNCAxOjEuMCAzOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCist
MC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2
OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcy
NCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4w
IAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4w
NTQ2Njk3MDM4NzI0IDE6MTYuMCAyOjEuMCAzOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAg
CistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAyOjEuMCAK
Ky0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0
NjY5NzAzODcyNCAxOjMuMCAyOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMzoxLjAgCist
MC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2
OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcy
NCAxOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MjAu
MCAzOjMuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4w
IAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4w
NTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcw
Mzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDM6MS4wIAorLTAuMDU0NjY5NzAz
ODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMzoxLjAgCistMC4wNTQ2Njk3MDM4
NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjguMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo3
LjAgMjoxLjAgMzoyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6OC4wIDI6Mi4wIAorLTAuMDU0NjY5
NzAzODcyNCAxOjEuMCAyOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3
MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAyOjEuMCAKKy0wLjA1NDY2OTcw
Mzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAx
OjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAor
LTAuMDU0NjY5NzAzODcyNCAxOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2
Njk3MDM4NzI0IDE6MTIuMCAzOjcuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2
Njk3MDM4NzI0IDE6OS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjcuMCAKKy0wLjA1NDY2OTcwMzg3
MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDI6MS4wIAorLTAuMDU0NjY5NzAzODcy
NCAxOjEuMCAzOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0
IDE6OC4wIDI6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjE3LjAgCistMC4wNTQ2Njk3MDM4NzI0
IDE6Mi4wIDI6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQg
MToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAK
Ky0wLjA1NDY2OTcwMzg3MjQgMTo0LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0
NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxMy4wIDI6NC4wIDM6Mi4wIAor
LTAuMDU0NjY5NzAzODcyNCAxOjEuMCAzOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAgMzoy
LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjE2LjAgCist
MC4wNTQ2Njk3MDM4NzI0IDE6My4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2
OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcy
NCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4w
IAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAgCistMC4w
NTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcw
Mzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAx
OjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTozLjAgMzozLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6
MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxMS4wIDM6
MTEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAor
LTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAgCistMC4wNTQ2
Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3
MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIu
MCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAu
MDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3
MDM4NzI0IDE6MTUuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0
IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIwLjAgMjoxMi4wIDM6My4wIAorLTAuMDU0NjY5
NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0
IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo3LjAg
MzoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAz
OjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAor
LTAuMDU0NjY5NzAzODcyNCAxOjEuMCAzOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCist
MC4wNTQ2Njk3MDM4NzI0IDE6My4wIDM6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0w
LjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6OS4wIDI6My4wIAorLTAu
MDU0NjY5NzAzODcyNCAxOjEuMCAzOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo2LjAgCistMC4w
NTQ2Njk3MDM4NzI0IDE6NC4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcw
Mzg3MjQgMTo3LjAgMjoyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAz
ODcyNCAxOjEuMCAzOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAgCistMC4wNTQ2Njk3MDM4
NzI0IDE6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjkuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToy
LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0w
LjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5
NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxNC4wIAorLTAuMDU0NjY5NzAzODcy
NCAxOjEyLjAgMzo2LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6My4wIAorLTAuMDU0NjY5NzAzODcy
NCAxOjQuMCAyOjEuMCAzOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3
MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQg
MToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6OS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjkuMCAy
OjEuMCAzOjQuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6
MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjkuMCAyOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToz
LjAgMjozLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIDI6Mi4wIAorLTAuMDU0NjY5NzAzODcy
NCAxOjEuMCAyOjEuMCAzOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo4LjAgMjoxLjAgMzozLjAg
CistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAyOjEuMCAK
Ky0wLjA1NDY2OTcwMzg3MjQgMTo5LjAgMjoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAor
LTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAgCistMC4wNTQ2
Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjM2LjAgCistMC4wNTQ2Njk3MDM4
NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToy
LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0w
LjA1NDY2OTcwMzg3MjQgMToyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5
NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo2LjAgCistMC4wNTQ2Njk3MDM4NzI0
IDE6MS4wIDM6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQg
MToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAK
Ky0wLjA1NDY2OTcwMzg3MjQgMToyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0
NjY5NzAzODcyNCAxOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo0LjAgMzoyLjAgCistMC4wNTQ2
Njk3MDM4NzI0IDE6MTMuMCAzOjQuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNDAy
MDc1MTc4OTQyIDE6MS4wIAorMC41ODUzNjU4NTM2NTkgMToxLjAgCiswLjQ3OTI3NjEzOTAwMSAx
OjYuMCAyOjMuMCAKKzAuNTg1MzY1ODUzNjU5IDE6Mi4wIAorMC41ODUzNjU4NTM2NTkgMToxLjAg
CiswLjU4NTM2NTg1MzY1OSAxOjMuMCAzOjMuMCAKKzAuNTg1MzY1ODUzNjU5IDE6NDIuMCAyOjIu
MCAzOjI4LjAgCiswLjU4NTM2NTg1MzY1OSAxOjIuMCAKKzAuNTg1MzY1ODUzNjU5IDE6MTIuMCAK
KzAuNDc5MjgzMDQ2NTc4IDE6Ny4wIAorMC4zMDAzOTc4NzM0NzYgMTozLjAgMzoxLjAgCiswLjA1
NDMxNzMzMDY0NDIgMTo2LjAgMzoyLjAgCiswLjU2MzQ2NTEyNjI5OSAxOjExLjAgCiswLjU4NTM2
NTg1MzY1OSAxOjIuMCAKKzAuNTg1MzY1ODUzNjU5IDE6MTAuMCAyOjMuMCAzOjYuMCAKKzAuNTg1
MzY1ODUzNjU5IDE6MS4wIDI6MS4wIAorMC41ODUzNjU4NTM2NTkgMToyLjAgCiswLjU4NTM2NTg1
MzY1OSAxOjEuMCAyOjEuMCAKKzAuNTg1MzY1ODUzNjU5IDE6My4wIDM6MS4wIAorMC41ODUzNjU4
NTM2NTkgMToxLjAgCiswLjU4NTM2NTg1MzY1OSAxOjIuMCAKKzAuNTg1MzY1ODUzNjU5IDE6MS4w
IDI6MS4wIAorMC41ODQ5ODk3MTk5MDkgMTo3LjAgCiswLjU4NTM2NTg1MzY1OSAxOjMuMCAKKzAu
NTg1MzY1ODUzNjU5IDE6My4wIAorMC41MjU5MjUxMzY5ODMgMTozLjAgMjoyLjAgCiswLjU4NTM2
NTg1MzY1OSAxOjEuMCAKKzAuNTg1MzY1ODUzNjU5IDE6MS4wIAorMC41ODUzNjU4NTM2NTkgMToz
LjAgMzoxLjAgCiswLjU4NTM2NTg1MzY1OSAxOjEuMCAKKzAuNTIwNzQ1ODIyMzc0IDE6My4wIAor
c3ZtX3R5cGUgY19zdmMKK2tlcm5lbF90eXBlIHJiZgorZ2FtbWEgMC4xCitucl9jbGFzcyAyCit0
b3RhbF9zdiAzMzAKK3JobyAwLjI4Nzk0NTY0MjI2MQorbGFiZWwgLTEgMQorbnJfc3YgMzAwIDMw
CitTVgorLTAuMDU0NjY5NzAzODcyNCAxOjE0LjAgMjozLjAgMzo3LjAgCistMC4wNTQ2Njk3MDM4
NzI0IDE6MS4wIDI6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAKKy0wLjA1NDY2OTcwMzg3
MjQgMToxLjAgMzoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MTIuMCAKKy0wLjA1NDY2OTcwMzg3
MjQgMTo3LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIDI6MS4wIAorLTAuMDU0NjY5NzAzODcy
NCAxOjEuMCAzOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTozLjAgMjoxNi4wIAorLTAuMDU0NjY5
NzAzODcyNCAxOjEuMCAzOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMjoyLjAgCistMC4w
NTQ2Njk3MDM4NzI0IDE6MS4wIDM6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAKKy0wLjA1
NDY2OTcwMzg3MjQgMTozLjAgMjoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6NS4wIAorLTAuMDU0
NjY5NzAzODcyNCAxOjE2LjAgMjoyLjAgMzoyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDI6
MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjExLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6NC4wIDM6
My4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjI4LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIAor
LTAuMDU0NjY5NzAzODcyNCAxOjEuMCAzOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMzox
LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MjIuMCAyOjEuMCAzOjEyLjAgCistMC4wNTQ2Njk3MDM4
NzI0IDE6MTQuMCAzOjUuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMzoxLjAgCistMC4wNTQ2
Njk3MDM4NzI0IDE6NDguMCAyOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyNS4wIDM6MTYuMCAK
Ky0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMjoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDM6
MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjYuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo3LjAgCist
MC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDI6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAzOjEu
MCAKKy0wLjA1NDY2OTcwMzg3MjQgMTozLjAgMzoyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Ny4w
IDI6MS4wIDM6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQg
MTo3LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6NS4wIDI6Mi4wIDM6My4wIAorLTAuMDU0NjY5NzAz
ODcyNCAxOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMjoxLjAgCistMC4wNTQ2Njk3MDM4
NzI0IDE6NC4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAyOjEuMCAKKy0wLjA1NDY2OTcwMzg3
MjQgMToxLjAgMzoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6OS4wIDM6NC4wIAorLTAuMDU0NjY5
NzAzODcyNCAxOjEuMCAyOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMzoxLjAgCistMC4w
NTQ2Njk3MDM4NzI0IDE6NDcuMCAyOjIxLjAgMzozMy4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEx
LjAgMjoyLjAgMzo1LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MTEuMCAyOjMuMCAzOjEuMCAKKy0w
LjA1NDY2OTcwMzg3MjQgMToxLjAgMzoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIDI6MS4w
IAorLTAuMDU0NjY5NzAzODcyNCAxOjQzLjAgMzoyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MTMu
MCAzOjcuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMzoxLjAgCistMC4wNTQ2Njk3MDM4NzI0
IDE6NC4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEzLjAgMzo0LjAgCistMC4wNTQ2Njk3MDM4NzI0
IDE6NDIuMCAyOjQuMCAzOjMyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MTAuMCAyOjUuMCAzOjEu
MCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo3LjAgMzo0LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4w
IAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAzOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAg
MzoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Ni4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAy
OjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo2LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MTYuMCAy
OjQuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxMC4wIDI6MS4wIDM6Mi4wIAorLTAuMDU0NjY5NzAz
ODcyNCAxOjE4LjAgMjozLjAgMzo2LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDM6MS4wIAor
LTAuMDU0NjY5NzAzODcyNCAxOjEuMCAyOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAgCist
MC4wNTQ2Njk3MDM4NzI0IDE6My4wIDI6MS4wIDM6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEu
MCAyOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTozLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6My4w
IAorLTAuMDU0NjY5NzAzODcyNCAxOjQuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAgCistMC4w
NTQ2Njk3MDM4NzI0IDE6Mi4wIDM6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAKKy0wLjA1
NDY2OTcwMzg3MjQgMToxLjAgMzoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MjEuMCAKKy0wLjA1
NDY2OTcwMzg3MjQgMToyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIDI6Mi4wIAorLTAuMDU0
NjY5NzAzODcyNCAxOjE0LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIDI6MS4wIAorLTAuMDU0
NjY5NzAzODcyNCAxOjIuMCAzOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo0LjAgMzozLjAgCist
MC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIDM6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjMuMCAKKy0w
LjA1NDY2OTcwMzg3MjQgMToyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDI6MS4wIAorLTAu
MDU0NjY5NzAzODcyNCAxOjQuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTozOS4wIDM6NC4wIAorLTAu
MDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAgMjoxLjAgMzoxLjAg
CistMC4wNTQ2Njk3MDM4NzI0IDE6NC4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAyOjEuMCAK
Ky0wLjA1NDY2OTcwMzg3MjQgMTo0LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDI6MS4wIAor
LTAuMDU0NjY5NzAzODcyNCAxOjEuMCAyOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCist
MC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIDI6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0w
LjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5
NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTozLjAgCistMC4wNTQ2Njk3MDM4NzI0
IDE6MS4wIDI6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQg
MToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAK
Ky0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDM6MS4wIAor
LTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2
Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3
MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEu
MCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAu
MDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxNi4wIDI6MS4wIDM6MS4w
IAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4w
NTQ2Njk3MDM4NzI0IDE6MS4wIDI6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1
NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6My4wIDI6MS4wIAorLTAuMDU0
NjY5NzAzODcyNCAxOjEuMCAzOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2
Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3
MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEu
MCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyMC4wIDM6My4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEu
MCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAu
MDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3
MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQg
MToxLjAgMzoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAx
OjEuMCAzOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6
OC4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjcuMCAyOjEuMCAzOjIuMCAKKy0wLjA1NDY2OTcwMzg3
MjQgMTo4LjAgMjoyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDI6MS4wIAorLTAuMDU0NjY5
NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0
IDE6MS4wIDI6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQg
MToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAK
Ky0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIAorLTAuMDU0
NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxMi4wIDM6Ny4wIAorLTAuMDU0
NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo5LjAgCistMC4wNTQ2Njk3MDM4
NzI0IDE6Ny4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTox
LjAgMjoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDM6MS4wIAorLTAuMDU0NjY5NzAzODcy
NCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo4LjAgMjoyLjAgCistMC4wNTQ2Njk3MDM4NzI0
IDE6MTcuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAgMjoxLjAgCistMC4wNTQ2Njk3MDM4NzI0
IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAg
CistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjQuMCAKKy0wLjA1
NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAz
ODcyNCAxOjEzLjAgMjo0LjAgMzoyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDM6MS4wIAor
LTAuMDU0NjY5NzAzODcyNCAxOjIuMCAzOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCist
MC4wNTQ2Njk3MDM4NzI0IDE6MTYuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTozLjAgCistMC4wNTQ2
Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3
MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIu
MCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIAorLTAu
MDU0NjY5NzAzODcyNCAxOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3
MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQg
MToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjMuMCAz
OjMuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIAor
LTAuMDU0NjY5NzAzODcyNCAxOjExLjAgMzoxMS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAK
Ky0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0
NjY5NzAzODcyNCAxOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4
NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTox
LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0w
LjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5
NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxNS4wIAorLTAuMDU0NjY5NzAzODcy
NCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MjAu
MCAyOjEyLjAgMzozLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcy
NCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4w
IAorLTAuMDU0NjY5NzAzODcyNCAxOjcuMCAzOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAg
CistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDM6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAK
Ky0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDM6MS4wIAor
LTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTozLjAgMzoyLjAgCist
MC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2
OTcwMzg3MjQgMTo5LjAgMjozLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDM6MS4wIAorLTAu
MDU0NjY5NzAzODcyNCAxOjYuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo0LjAgCistMC4wNTQ2Njk3
MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjcuMCAyOjIuMCAKKy0wLjA1NDY2OTcw
Mzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDM6MS4wIAorLTAuMDU0NjY5NzAz
ODcyNCAxOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6
OS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCist
MC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2
OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcy
NCAxOjE0LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MTIuMCAzOjYuMCAKKy0wLjA1NDY2OTcwMzg3
MjQgMTozLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6NC4wIDI6MS4wIDM6MS4wIAorLTAuMDU0NjY5
NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0
IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo5LjAg
CistMC4wNTQ2Njk3MDM4NzI0IDE6OS4wIDI6MS4wIDM6NC4wIAorLTAuMDU0NjY5NzAzODcyNCAx
OjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6OS4wIDI6
MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjMuMCAyOjMuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToy
LjAgMjoyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDI6MS4wIDM6MS4wIAorLTAuMDU0NjY5
NzAzODcyNCAxOjguMCAyOjEuMCAzOjMuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4w
NTQ2Njk3MDM4NzI0IDE6Mi4wIDI6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjkuMCAyOjEuMCAK
Ky0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0
NjY5NzAzODcyNCAxOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4
NzI0IDE6MzYuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6
MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCist
MC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAKKy0wLjA1NDY2
OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcy
NCAxOjYuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMzoxLjAgCistMC4wNTQ2Njk3MDM4NzI0
IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAg
CistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAKKy0wLjA1
NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIAorLTAuMDU0NjY5NzAz
ODcyNCAxOjQuMCAzOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxMy4wIDM6NC4wIAorLTAuMDU0
NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA0MDIwNzUxNzg5NDIgMToxLjAgCiswLjU4NTM2NTg1MzY1
OSAxOjEuMCAKKzAuNDc5Mjc2MTM5MDAxIDE6Ni4wIDI6My4wIAorMC41ODUzNjU4NTM2NTkgMToy
LjAgCiswLjU4NTM2NTg1MzY1OSAxOjEuMCAKKzAuNTg1MzY1ODUzNjU5IDE6My4wIDM6My4wIAor
MC41ODUzNjU4NTM2NTkgMTo0Mi4wIDI6Mi4wIDM6MjguMCAKKzAuNTg1MzY1ODUzNjU5IDE6Mi4w
IAorMC41ODUzNjU4NTM2NTkgMToxMi4wIAorMC40NzkyODMwNDY1NzggMTo3LjAgCiswLjMwMDM5
Nzg3MzQ3NiAxOjMuMCAzOjEuMCAKKzAuMDU0MzE3MzMwNjQ0MiAxOjYuMCAzOjIuMCAKKzAuNTYz
NDY1MTI2Mjk5IDE6MTEuMCAKKzAuNTg1MzY1ODUzNjU5IDE6Mi4wIAorMC41ODUzNjU4NTM2NTkg
MToxMC4wIDI6My4wIDM6Ni4wIAorMC41ODUzNjU4NTM2NTkgMToxLjAgMjoxLjAgCiswLjU4NTM2
NTg1MzY1OSAxOjIuMCAKKzAuNTg1MzY1ODUzNjU5IDE6MS4wIDI6MS4wIAorMC41ODUzNjU4NTM2
NTkgMTozLjAgMzoxLjAgCiswLjU4NTM2NTg1MzY1OSAxOjEuMCAKKzAuNTg1MzY1ODUzNjU5IDE6
Mi4wIAorMC41ODUzNjU4NTM2NTkgMToxLjAgMjoxLjAgCiswLjU4NDk4OTcxOTkwOSAxOjcuMCAK
KzAuNTg1MzY1ODUzNjU5IDE6My4wIAorMC41ODUzNjU4NTM2NTkgMTozLjAgCiswLjUyNTkyNTEz
Njk4MyAxOjMuMCAyOjIuMCAKKzAuNTg1MzY1ODUzNjU5IDE6MS4wIAorMC41ODUzNjU4NTM2NTkg
MToxLjAgCiswLjU4NTM2NTg1MzY1OSAxOjMuMCAzOjEuMCAKKzAuNTg1MzY1ODUzNjU5IDE6MS4w
IAorMC41MjA3NDU4MjIzNzQgMTozLjAgCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
V2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFnZXIuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdlci5jcHAJ
KHJldmlzaW9uIDIxMjg5OCkKKysrIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJSZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzTWFuYWdlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTYxLDYgKzYxLDIx
IEBAIGJvb2wgV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFnZXI6OmgKICAgICByZXR1cm4g
V2ViQ29yZTo6UmVzb3VyY2VMb2FkT2JzZXJ2ZXI6OnNoYXJlZE9ic2VydmVyKCkuaGFzSGFkVXNl
ckludGVyYWN0aW9uKFVSTChVUkwoKSwgaG9zdE5hbWUpKTsKIH0KIAordm9pZCBXZWJSZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzTWFuYWdlcjo6c2V0U3ViZnJhbWVVbmRlclRvcEZyYW1lT3JpZ2luKGNv
bnN0IFN0cmluZyYgaG9zdE5hbWUsIGNvbnN0IFN0cmluZyYgdG9wRnJhbWVIb3N0TmFtZSkKK3sK
KyAgICBXZWJDb3JlOjpSZXNvdXJjZUxvYWRPYnNlcnZlcjo6c2hhcmVkT2JzZXJ2ZXIoKS5zZXRT
dWJmcmFtZVVuZGVyVG9wRnJhbWVPcmlnaW4oVVJMKFVSTCgpLCBob3N0TmFtZSksIFVSTChVUkwo
KSwgdG9wRnJhbWVIb3N0TmFtZSkpOworfQorCit2b2lkIFdlYlJlc291cmNlTG9hZFN0YXRpc3Rp
Y3NNYW5hZ2VyOjpzZXRTdWJyZXNvdXJjZVVuZGVyVG9wRnJhbWVPcmlnaW4oY29uc3QgU3RyaW5n
JiBob3N0TmFtZSwgY29uc3QgU3RyaW5nJiB0b3BGcmFtZUhvc3ROYW1lKQoreworICAgIFdlYkNv
cmU6OlJlc291cmNlTG9hZE9ic2VydmVyOjpzaGFyZWRPYnNlcnZlcigpLnNldFN1YnJlc291cmNl
VW5kZXJUb3BGcmFtZU9yaWdpbihVUkwoVVJMKCksIGhvc3ROYW1lKSwgVVJMKFVSTCgpLCB0b3BG
cmFtZUhvc3ROYW1lKSk7Cit9CisKK3ZvaWQgV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFn
ZXI6OnNldFN1YnJlc291cmNlVW5pcXVlUmVkaXJlY3RUbyhjb25zdCBTdHJpbmcmIGhvc3ROYW1l
LCBjb25zdCBTdHJpbmcmIGhvc3ROYW1lUmVkaXJlY3RlZFRvKQoreworICAgIFdlYkNvcmU6OlJl
c291cmNlTG9hZE9ic2VydmVyOjpzaGFyZWRPYnNlcnZlcigpLnNldFN1YnJlc291cmNlVW5pcXVl
UmVkaXJlY3RUbyhVUkwoVVJMKCksIGhvc3ROYW1lKSwgVVJMKFVSTCgpLCBob3N0TmFtZVJlZGly
ZWN0ZWRUbykpOworfQorCiB2b2lkIFdlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VyOjpz
ZXRUaW1lVG9MaXZlVXNlckludGVyYWN0aW9uKGRvdWJsZSBzZWNvbmRzKQogewogICAgIFdlYkNv
cmU6OlJlc291cmNlTG9hZE9ic2VydmVyOjpzaGFyZWRPYnNlcnZlcigpLnNldFRpbWVUb0xpdmVV
c2VySW50ZXJhY3Rpb24oc2Vjb25kcyk7CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
V2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFnZXIuaAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFnZXIuaAkocmV2
aXNpb24gMjEyODk4KQorKysgU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlJlc291cmNlTG9h
ZFN0YXRpc3RpY3NNYW5hZ2VyLmgJKHdvcmtpbmcgY29weSkKQEAgLTQyLDYgKzQyLDkgQEAgcHVi
bGljOgogICAgIHN0YXRpYyBib29sIGlzUHJldmFsZW50UmVzb3VyY2UoY29uc3QgU3RyaW5nJiBo
b3N0TmFtZSk7CiAgICAgc3RhdGljIHZvaWQgc2V0SGFzSGFkVXNlckludGVyYWN0aW9uKGNvbnN0
IFN0cmluZyYgaG9zdE5hbWUsIGJvb2wgdmFsdWUpOwogICAgIHN0YXRpYyBib29sIGhhc0hhZFVz
ZXJJbnRlcmFjdGlvbihjb25zdCBTdHJpbmcmIGhvc3ROYW1lKTsKKyAgICBzdGF0aWMgdm9pZCBz
ZXRTdWJmcmFtZVVuZGVyVG9wRnJhbWVPcmlnaW4oY29uc3QgU3RyaW5nJiBob3N0TmFtZSwgY29u
c3QgU3RyaW5nJiB0b3BGcmFtZUhvc3ROYW1lKTsKKyAgICBzdGF0aWMgdm9pZCBzZXRTdWJyZXNv
dXJjZVVuZGVyVG9wRnJhbWVPcmlnaW4oY29uc3QgU3RyaW5nJiBob3N0TmFtZSwgY29uc3QgU3Ry
aW5nJiB0b3BGcmFtZUhvc3ROYW1lKTsKKyAgICBzdGF0aWMgdm9pZCBzZXRTdWJyZXNvdXJjZVVu
aXF1ZVJlZGlyZWN0VG8oY29uc3QgU3RyaW5nJiBob3N0TmFtZSwgY29uc3QgU3RyaW5nJiBob3N0
TmFtZVJlZGlyZWN0ZWRUbyk7CiAgICAgc3RhdGljIHZvaWQgc2V0VGltZVRvTGl2ZVVzZXJJbnRl
cmFjdGlvbihkb3VibGUgc2Vjb25kcyk7CiAgICAgc3RhdGljIHZvaWQgc2V0UmVkdWNlZFRpbWVz
dGFtcFJlc29sdXRpb24oZG91YmxlIHNlY29uZHMpOwogICAgIHN0YXRpYyB2b2lkIGZpcmVEYXRh
TW9kaWZpY2F0aW9uSGFuZGxlcigpOwpJbmRleDogU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dl
YlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL1dlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZS5jcHAJKHJldmlz
aW9uIDIxMjg5OCkKKysrIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJSZXNvdXJjZUxvYWRT
dGF0aXN0aWNzU3RvcmUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00NSw3ICs0NSw2IEBAIHVzaW5n
IG5hbWVzcGFjZSBXZWJDb3JlOwogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAotc3RhdGljIGNvbnN0
IGF1dG8gZmVhdHVyZVZlY3Rvckxlbmd0aFRocmVzaG9sZCA9IDM7CiBzdGF0aWMgYXV0byBtaW5p
bXVtVGltZUJldHdlZWVuRGF0YVJlY29yZHNSZW1vdmFsID0gNjA7CiBzdGF0aWMgT3B0aW9uU2V0
PFdlYktpdDo6V2Vic2l0ZURhdGFUeXBlPiBkYXRhVHlwZXNUb1JlbW92ZTsKIHN0YXRpYyBhdXRv
IG5vdGlmeVBhZ2VzID0gZmFsc2U7CkBAIC01OSw3ICs1OCw3IEBAIFJlZjxXZWJSZXNvdXJjZUxv
YWRTdGF0aXN0aWNzU3RvcmU+IFdlYlIKIFdlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZTo6
V2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlKGNvbnN0IFN0cmluZyYgcmVzb3VyY2VMb2Fk
U3RhdGlzdGljc0RpcmVjdG9yeSkKICAgICA6IG1fcmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3Jl
KFJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZTo6Y3JlYXRlKCkpCiAgICAgLCBtX3N0YXRpc3Rp
Y3NRdWV1ZShXb3JrUXVldWU6OmNyZWF0ZSgiV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3Jl
IFByb2Nlc3MgRGF0YSBRdWV1ZSIpKQotICAgICwgbV9zdG9yYWdlUGF0aChyZXNvdXJjZUxvYWRT
dGF0aXN0aWNzRGlyZWN0b3J5KQorICAgICwgbV9zdGF0aXN0aWNzU3RvcmFnZVBhdGgocmVzb3Vy
Y2VMb2FkU3RhdGlzdGljc0RpcmVjdG9yeSkKIHsKIH0KIApAQCAtODMsNDAgKzgyLDExIEBAIHZv
aWQgV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlOjpzZXQKICAgICAgICAgbWluaW11bVRp
bWVCZXR3ZWVlbkRhdGFSZWNvcmRzUmVtb3ZhbCA9IHNlY29uZHM7CiB9CiAKLWJvb2wgV2ViUmVz
b3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlOjpoYXNQcmV2YWxlbnRSZXNvdXJjZUNoYXJhY3Rlcmlz
dGljcyhjb25zdCBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzJiByZXNvdXJjZVN0YXRpc3RpYykKLXsK
LSAgICBhdXRvIHN1YnJlc291cmNlVW5kZXJUb3BGcmFtZU9yaWdpbnNDb3VudCA9IHJlc291cmNl
U3RhdGlzdGljLnN1YnJlc291cmNlVW5kZXJUb3BGcmFtZU9yaWdpbnMuc2l6ZSgpOwotICAgIGF1
dG8gc3VicmVzb3VyY2VVbmlxdWVSZWRpcmVjdHNUb0NvdW50ID0gcmVzb3VyY2VTdGF0aXN0aWMu
c3VicmVzb3VyY2VVbmlxdWVSZWRpcmVjdHNUby5zaXplKCk7Ci0gICAgYXV0byBzdWJmcmFtZVVu
ZGVyVG9wRnJhbWVPcmlnaW5zQ291bnQgPSByZXNvdXJjZVN0YXRpc3RpYy5zdWJmcmFtZVVuZGVy
VG9wRnJhbWVPcmlnaW5zLnNpemUoKTsKLSAgICAKLSAgICBpZiAoIXN1YnJlc291cmNlVW5kZXJU
b3BGcmFtZU9yaWdpbnNDb3VudAotICAgICAgICAmJiAhc3VicmVzb3VyY2VVbmlxdWVSZWRpcmVj
dHNUb0NvdW50Ci0gICAgICAgICYmICFzdWJmcmFtZVVuZGVyVG9wRnJhbWVPcmlnaW5zQ291bnQp
Ci0gICAgICAgIHJldHVybiBmYWxzZTsKLQotICAgIGlmIChzdWJyZXNvdXJjZVVuZGVyVG9wRnJh
bWVPcmlnaW5zQ291bnQgPiBmZWF0dXJlVmVjdG9yTGVuZ3RoVGhyZXNob2xkCi0gICAgICAgIHx8
IHN1YnJlc291cmNlVW5pcXVlUmVkaXJlY3RzVG9Db3VudCA+IGZlYXR1cmVWZWN0b3JMZW5ndGhU
aHJlc2hvbGQKLSAgICAgICAgfHwgc3ViZnJhbWVVbmRlclRvcEZyYW1lT3JpZ2luc0NvdW50ID4g
ZmVhdHVyZVZlY3Rvckxlbmd0aFRocmVzaG9sZCkKLSAgICAgICAgcmV0dXJuIHRydWU7Ci0KLSAg
ICAvLyBUaGUgcmVzb3VyY2UgaXMgY29uc2lkZXJlZCBwcmV2YWxlbnQgaWYgdGhlIGZlYXR1cmUg
dmVjdG9yCi0gICAgLy8gaXMgbG9uZ2VyIHRoYW4gdGhlIHRocmVzaG9sZC4KLSAgICAvLyBWZWN0
b3IgbGVuZ3RoIGZvciBuIGRpbWVuc2lvbnMgaXMgc3FydChhXjIgKyAoLi4uKSArIG5eMikuCi0g
ICAgZG91YmxlIHZlY3Rvckxlbmd0aCA9IDA7Ci0gICAgdmVjdG9yTGVuZ3RoICs9IHN1YnJlc291
cmNlVW5kZXJUb3BGcmFtZU9yaWdpbnNDb3VudCAqIHN1YnJlc291cmNlVW5kZXJUb3BGcmFtZU9y
aWdpbnNDb3VudDsKLSAgICB2ZWN0b3JMZW5ndGggKz0gc3VicmVzb3VyY2VVbmlxdWVSZWRpcmVj
dHNUb0NvdW50ICogc3VicmVzb3VyY2VVbmlxdWVSZWRpcmVjdHNUb0NvdW50OwotICAgIHZlY3Rv
ckxlbmd0aCArPSBzdWJmcmFtZVVuZGVyVG9wRnJhbWVPcmlnaW5zQ291bnQgKiBzdWJmcmFtZVVu
ZGVyVG9wRnJhbWVPcmlnaW5zQ291bnQ7Ci0KLSAgICBBU1NFUlQodmVjdG9yTGVuZ3RoID4gMCk7
Ci0KLSAgICByZXR1cm4gc3FydCh2ZWN0b3JMZW5ndGgpID4gZmVhdHVyZVZlY3Rvckxlbmd0aFRo
cmVzaG9sZDsKLX0KLSAgICAKIHZvaWQgV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlOjpj
bGFzc2lmeVJlc291cmNlKFJlc291cmNlTG9hZFN0YXRpc3RpY3MmIHJlc291cmNlU3RhdGlzdGlj
KQogewotICAgIGlmICghcmVzb3VyY2VTdGF0aXN0aWMuaXNQcmV2YWxlbnRSZXNvdXJjZSAmJiBo
YXNQcmV2YWxlbnRSZXNvdXJjZUNoYXJhY3RlcmlzdGljcyhyZXNvdXJjZVN0YXRpc3RpYykpIHsK
KyAgICBpZiAoIXJlc291cmNlU3RhdGlzdGljLmlzUHJldmFsZW50UmVzb3VyY2UKKyAgICAgICAg
JiYgbV9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllci5oYXNQcmV2YWxlbnRSZXNvdXJj
ZUNoYXJhY3RlcmlzdGljcyhyZXNvdXJjZVN0YXRpc3RpYykpCiAgICAgICAgIHJlc291cmNlU3Rh
dGlzdGljLmlzUHJldmFsZW50UmVzb3VyY2UgPSB0cnVlOwotICAgIH0KIH0KIAogdm9pZCBXZWJS
ZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmU6OnJlbW92ZURhdGFSZWNvcmRzKCkKQEAgLTI0OSwx
MSArMjE5LDExIEBAIHZvaWQgV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlOjphcHAKIAog
U3RyaW5nIFdlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZTo6cGVyc2lzdGVudFN0b3JhZ2VQ
YXRoKGNvbnN0IFN0cmluZyYgbGFiZWwpIGNvbnN0CiB7Ci0gICAgaWYgKG1fc3RvcmFnZVBhdGgu
aXNFbXB0eSgpKQorICAgIGlmIChtX3N0YXRpc3RpY3NTdG9yYWdlUGF0aC5pc0VtcHR5KCkpCiAg
ICAgICAgIHJldHVybiBlbXB0eVN0cmluZygpOwogCiAgICAgLy8gVE9ETyBEZWNpZGUgd2hhdCB0
byBjYWxsIHRoaXMgZmlsZQotICAgIHJldHVybiBwYXRoQnlBcHBlbmRpbmdDb21wb25lbnQobV9z
dG9yYWdlUGF0aCwgbGFiZWwgKyAiX3Jlc291cmNlTG9nLnBsaXN0Iik7CisgICAgcmV0dXJuIHBh
dGhCeUFwcGVuZGluZ0NvbXBvbmVudChtX3N0YXRpc3RpY3NTdG9yYWdlUGF0aCwgbGFiZWwgKyAi
X3Jlc291cmNlTG9nLnBsaXN0Iik7CiB9CiAKIHZvaWQgV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGlj
c1N0b3JlOjp3cml0ZUVuY29kZXJUb0Rpc2soS2V5ZWRFbmNvZGVyJiBlbmNvZGVyLCBjb25zdCBT
dHJpbmcmIGxhYmVsKSBjb25zdApAQCAtMjY2LDggKzIzNiw4IEBAIHZvaWQgV2ViUmVzb3VyY2VM
b2FkU3RhdGlzdGljc1N0b3JlOjp3cmkKICAgICBpZiAocmVzb3VyY2VMb2cuaXNFbXB0eSgpKQog
ICAgICAgICByZXR1cm47CiAKLSAgICBpZiAoIW1fc3RvcmFnZVBhdGguaXNFbXB0eSgpKQotICAg
ICAgICBtYWtlQWxsRGlyZWN0b3JpZXMobV9zdG9yYWdlUGF0aCk7CisgICAgaWYgKCFtX3N0YXRp
c3RpY3NTdG9yYWdlUGF0aC5pc0VtcHR5KCkpCisgICAgICAgIG1ha2VBbGxEaXJlY3Rvcmllcyht
X3N0YXRpc3RpY3NTdG9yYWdlUGF0aCk7CiAKICAgICBhdXRvIGhhbmRsZSA9IG9wZW5GaWxlKHJl
c291cmNlTG9nLCBPcGVuRm9yV3JpdGUpOwogICAgIGlmICghaGFuZGxlKQpJbmRleDogU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL1dlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZS5oCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJSZXNvdXJjZUxvYWRTdGF0aXN0
aWNzU3RvcmUuaAkocmV2aXNpb24gMjEyODk4KQorKysgU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L1dlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0yOCw2
ICsyOCw3IEBACiAKICNpbmNsdWRlICJBUElPYmplY3QuaCIKICNpbmNsdWRlICJDb25uZWN0aW9u
LmgiCisjaW5jbHVkZSAiUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXIuaCIKICNpbmNs
dWRlICJXZWJzaXRlRGF0YVJlY29yZC5oIgogI2luY2x1ZGUgPFdlYkNvcmUvUmVzb3VyY2VMb2Fk
U3RhdGlzdGljc1N0b3JlLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgpAQCAtNzYsNyArNzcs
NiBAQCBwcml2YXRlOgogCiAgICAgdm9pZCBwcm9jZXNzU3RhdGlzdGljc0FuZERhdGFSZWNvcmRz
KCk7CiAKLSAgICBib29sIGhhc1ByZXZhbGVudFJlc291cmNlQ2hhcmFjdGVyaXN0aWNzKGNvbnN0
IFdlYkNvcmU6OlJlc291cmNlTG9hZFN0YXRpc3RpY3MmKTsKICAgICB2b2lkIGNsYXNzaWZ5UmVz
b3VyY2UoV2ViQ29yZTo6UmVzb3VyY2VMb2FkU3RhdGlzdGljcyYpOwogICAgIHZvaWQgcmVtb3Zl
RGF0YVJlY29yZHMoKTsKIApAQCAtODksOCArODksOSBAQCBwcml2YXRlOgogICAgIHN0ZDo6dW5p
cXVlX3B0cjxXZWJDb3JlOjpLZXllZERlY29kZXI+IGNyZWF0ZURlY29kZXJGcm9tRGlzayhjb25z
dCBTdHJpbmcmIGxhYmVsKSBjb25zdDsKIAogICAgIFJlZjxXZWJDb3JlOjpSZXNvdXJjZUxvYWRT
dGF0aXN0aWNzU3RvcmU+IG1fcmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlOworICAgIFJlc291
cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyIG1fcmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNz
aWZpZXI7CiAgICAgUmVmPFdURjo6V29ya1F1ZXVlPiBtX3N0YXRpc3RpY3NRdWV1ZTsKLSAgICBT
dHJpbmcgbV9zdG9yYWdlUGF0aDsKKyAgICBTdHJpbmcgbV9zdGF0aXN0aWNzU3RvcmFnZVBhdGg7
CiAgICAgYm9vbCBtX3Jlc291cmNlTG9hZFN0YXRpc3RpY3NFbmFibGVkIHsgZmFsc2UgfTsKIAog
ICAgIGRvdWJsZSBtX2xhc3RUaW1lRGF0YVJlY29yZHNXZXJlUmVtb3ZlZCB7IDAgfTsKSW5kZXg6
IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1Jlc291cmNlTG9hZFN0YXRpc3RpY3NN
YW5hZ2VyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0Mv
V0tSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdlci5jcHAJKHJldmlzaW9uIDIxMjg5OCkKKysr
IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1Jlc291cmNlTG9hZFN0YXRpc3RpY3NN
YW5hZ2VyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTYsNiArNTYsMjEgQEAgYm9vbCBXS1Jlc291
cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VySXNIYQogICAgIHJldHVybiBXZWJSZXNvdXJjZUxvYWRT
dGF0aXN0aWNzTWFuYWdlcjo6aGFzSGFkVXNlckludGVyYWN0aW9uKHRvV1RGU3RyaW5nKGhvc3RO
YW1lKSk7CiB9CiAKK3ZvaWQgV0tSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdlclNldFN1YmZy
YW1lVW5kZXJUb3BGcmFtZU9yaWdpbihXS1N0cmluZ1JlZiBob3N0TmFtZSwgV0tTdHJpbmdSZWYg
dG9wRnJhbWVIb3N0TmFtZSkKK3sKKyAgICBXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdl
cjo6c2V0U3ViZnJhbWVVbmRlclRvcEZyYW1lT3JpZ2luKHRvV1RGU3RyaW5nKGhvc3ROYW1lKSwg
dG9XVEZTdHJpbmcodG9wRnJhbWVIb3N0TmFtZSkpOworfQorCit2b2lkIFdLUmVzb3VyY2VMb2Fk
U3RhdGlzdGljc01hbmFnZXJTZXRTdWJyZXNvdXJjZVVuZGVyVG9wRnJhbWVPcmlnaW4oV0tTdHJp
bmdSZWYgaG9zdE5hbWUsIFdLU3RyaW5nUmVmIHRvcEZyYW1lSG9zdE5hbWUpCit7CisgICAgV2Vi
UmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFnZXI6OnNldFN1YnJlc291cmNlVW5kZXJUb3BGcmFt
ZU9yaWdpbih0b1dURlN0cmluZyhob3N0TmFtZSksIHRvV1RGU3RyaW5nKHRvcEZyYW1lSG9zdE5h
bWUpKTsKK30KKwordm9pZCBXS1Jlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VyU2V0U3VicmVz
b3VyY2VVbmlxdWVSZWRpcmVjdFRvKFdLU3RyaW5nUmVmIGhvc3ROYW1lLCBXS1N0cmluZ1JlZiBo
b3N0TmFtZVJlZGlyZWN0ZWRUbykKK3sKKyAgICBXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFu
YWdlcjo6c2V0U3VicmVzb3VyY2VVbmlxdWVSZWRpcmVjdFRvKHRvV1RGU3RyaW5nKGhvc3ROYW1l
KSwgdG9XVEZTdHJpbmcoaG9zdE5hbWVSZWRpcmVjdGVkVG8pKTsKK30KKwogdm9pZCBXS1Jlc291
cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VyU2V0VGltZVRvTGl2ZVVzZXJJbnRlcmFjdGlvbihkb3Vi
bGUgc2Vjb25kcykKIHsKICAgICBXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdlcjo6c2V0
VGltZVRvTGl2ZVVzZXJJbnRlcmFjdGlvbihzZWNvbmRzKTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9BUEkvQy9XS1Jlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VyLmgKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUmVzb3VyY2VMb2FkU3Rh
dGlzdGljc01hbmFnZXIuaAkocmV2aXNpb24gMjEyODk4KQorKysgU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0FQSS9DL1dLUmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFnZXIuaAkod29ya2luZyBj
b3B5KQpAQCAtMzgsNiArMzgsOSBAQCBleHRlcm4gIkMiIHsKICAgICBXS19FWFBPUlQgYm9vbCBX
S1Jlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VySXNQcmV2YWxlbnRSZXNvdXJjZShXS1N0cmlu
Z1JlZiBob3N0TmFtZSk7CiAgICAgV0tfRVhQT1JUIHZvaWQgV0tSZXNvdXJjZUxvYWRTdGF0aXN0
aWNzTWFuYWdlclNldEhhc0hhZFVzZXJJbnRlcmFjdGlvbihXS1N0cmluZ1JlZiBob3N0TmFtZSwg
Ym9vbCB2YWx1ZSk7CiAgICAgV0tfRVhQT1JUIGJvb2wgV0tSZXNvdXJjZUxvYWRTdGF0aXN0aWNz
TWFuYWdlcklzSGFzSGFkVXNlckludGVyYWN0aW9uKFdLU3RyaW5nUmVmIGhvc3ROYW1lKTsKKyAg
ICBXS19FWFBPUlQgdm9pZCBXS1Jlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VyU2V0U3ViZnJh
bWVVbmRlclRvcEZyYW1lT3JpZ2luKFdLU3RyaW5nUmVmIGhvc3ROYW1lLCBXS1N0cmluZ1JlZiB0
b3BGcmFtZUhvc3ROYW1lKTsKKyAgICBXS19FWFBPUlQgdm9pZCBXS1Jlc291cmNlTG9hZFN0YXRp
c3RpY3NNYW5hZ2VyU2V0U3VicmVzb3VyY2VVbmRlclRvcEZyYW1lT3JpZ2luKFdLU3RyaW5nUmVm
IGhvc3ROYW1lLCBXS1N0cmluZ1JlZiB0b3BGcmFtZUhvc3ROYW1lKTsKKyAgICBXS19FWFBPUlQg
dm9pZCBXS1Jlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VyU2V0U3VicmVzb3VyY2VVbmlxdWVS
ZWRpcmVjdFRvKFdLU3RyaW5nUmVmIGhvc3ROYW1lLCBXS1N0cmluZ1JlZiBob3N0TmFtZVJlZGly
ZWN0ZWRUbyk7CiAgICAgV0tfRVhQT1JUIHZvaWQgV0tSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFu
YWdlclNldFRpbWVUb0xpdmVVc2VySW50ZXJhY3Rpb24oZG91YmxlIHNlY29uZHMpOwogICAgIFdL
X0VYUE9SVCB2b2lkIFdLUmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFnZXJTZXRSZWR1Y2VkVGlt
ZXN0YW1wUmVzb2x1dGlvbihkb3VibGUgc2Vjb25kcyk7CiAgICAgV0tfRVhQT1JUIHZvaWQgV0tS
ZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdlckZpcmVEYXRhTW9kaWZpY2F0aW9uSGFuZGxlcigp
OwpJbmRleDogU291cmNlL1dlYktpdDIvV2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1dlYktpdDIueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvagkocmV2aXNpb24gMjEyODk4KQorKysgU291cmNlL1dlYktpdDIvV2ViS2l0Mi54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qCSh3b3JraW5nIGNvcHkpCkBAIC0xMTQ3LDEwICsxMTQ3LDE3
IEBACiAJCTY1MDFCRDFBMTJGMTI0MzQwMEU5RjI0OCAvKiBXS0J1bmRsZUluc3BlY3Rvci5jcHAg
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA2NUI4NkYxNzEy
RjExRDdCMDBCN0REOEEgLyogV0tCdW5kbGVJbnNwZWN0b3IuY3BwICovOyB9OwogCQk2NTlDNTUx
RTEzMDAwNjQxMDAyNUMwQzIgLyogSW5qZWN0ZWRCdW5kbGVQYWdlUmVzb3VyY2VMb2FkQ2xpZW50
LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDY1NDZB
ODI5MTMwMDAxNjQwMDBDRUIxQyAvKiBJbmplY3RlZEJ1bmRsZVBhZ2VSZXNvdXJjZUxvYWRDbGll
bnQuY3BwICovOyB9OwogCQk2NUI4NkYxRTEyRjExREUzMDBCN0REOEEgLyogV0tCdW5kbGVJbnNw
ZWN0b3IuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDY1
Qjg2RjE4MTJGMTFEN0IwMEI3REQ4QSAvKiBXS0J1bmRsZUluc3BlY3Rvci5oICovOyBzZXR0aW5n
cyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTZCMkUwOUJBMUU1N0I4ODEw
MEM4QThCOSAvKiBDb3JlUHJlZGljdGlvblNvZnRMaW5rLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA2QjJFMDlCOTFFNTdCODgxMDBDOEE4QjkgLyogQ29y
ZVByZWRpY3Rpb25Tb2Z0TGluay5oICovOyB9OwogCQk2QkU5Njk5QzFFNDNCM0ZGMDA4Qjc0ODMg
LyogV0tSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNkJFOTY5OUIxRTQzQjNGRjAwOEI3NDgzIC8qIFdL
UmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFnZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRF
UyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk2QkU5Njk5RTFFNDNCNDFEMDA4Qjc0ODMgLyogV0tS
ZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA2QkU5Njk5RDFFNDNCNDFEMDA4Qjc0ODMgLyogV0tSZXNv
dXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdlci5jcHAgKi87IH07CiAJCTZCRTk2OUEwMUU0M0I4NkUw
MDhCNzQ4MyAvKiBXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdlci5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNkJFOTY5OUYxRTQzQjg2RTAwOEI3
NDgzIC8qIFdlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VyLmggKi87IH07CiAJCTZCRTk2
OUEyMUU0M0I4QTQwMDhCNzQ4MyAvKiBXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdlci5j
cHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA2QkU5NjlB
MTFFNDNCOEE0MDA4Qjc0ODMgLyogV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFnZXIuY3Bw
ICovOyB9OworCQk2QkU5NjlDMTFFNTRENDUyMDA4Qjc0ODMgLyogY29yZVByZWRpY3Rpb25fbW9k
ZWwgaW4gUmVzb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDZCRTk2
OUMwMUU1NEQ0NTIwMDhCNzQ4MyAvKiBjb3JlUHJlZGljdGlvbl9tb2RlbCAqLzsgfTsKKwkJNkJF
OTY5QzUxRTU0RDRBNDAwOEI3NDgzIC8qIFJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVy
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA2QkU5NjlD
NDFFNTRENEE0MDA4Qjc0ODMgLyogUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXIuaCAq
LzsgfTsKKwkJNkJFOTY5QzcxRTU0RDRCNjAwOEI3NDgzIC8qIFJlc291cmNlTG9hZFN0YXRpc3Rp
Y3NDbGFzc2lmaWVyQmFzZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA2QkU5NjlDNjFFNTRENEI2MDA4Qjc0ODMgLyogUmVzb3VyY2VMb2FkU3RhdGlz
dGljc0NsYXNzaWZpZXJCYXNlLmNwcCAqLzsgfTsKKwkJNkJFOTY5Q0ExRTU0RDRDRjAwOEI3NDgz
IC8qIFJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQ29jb2EuY3BwIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNkJFOTY5QzgxRTU0RDRDRjAwOEI3
NDgzIC8qIFJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQ29jb2EuY3BwICovOyB9Owor
CQk2QkU5NjlDQjFFNTRENENGMDA4Qjc0ODMgLyogUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNz
aWZpZXJDb2NvYS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gNkJFOTY5QzkxRTU0RDRDRjAwOEI3NDgzIC8qIFJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFz
c2lmaWVyQ29jb2EuaCAqLzsgfTsKKwkJNkJFOTY5Q0QxRTU0RTA1NDAwOEI3NDgzIC8qIFJlc291
cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQmFzZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNkJFOTY5Q0MxRTU0RTA1NDAwOEI3NDgzIC8qIFJlc291
cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQmFzZS5oICovOyB9OwogCQk2RUU4NDlDODEzNjhE
OTM5MDAzOEQ0ODEgLyogV0tJbnNwZWN0b3JQcml2YXRlTWFjLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA2RUU4NDlDNjEzNjhEOTJEMDAzOEQ0ODEgLyog
V0tJbnNwZWN0b3JQcml2YXRlTWFjLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJp
dmF0ZSwgKTsgfTsgfTsKIAkJNzI4RTg2RjExNzk1MTg4QzAwODc4NzlFIC8qIFdlYkNvbG9yUGlj
a2VyTWFjLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3
MjhFODZFRjE3OTUxODhDMDA4Nzg3OUUgLyogV2ViQ29sb3JQaWNrZXJNYWMuaCAqLzsgfTsKIAkJ
NzI4RTg2RjIxNzk1MTg4QzAwODc4NzlFIC8qIFdlYkNvbG9yUGlja2VyTWFjLm1tIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNzI4RTg2RjAxNzk1MTg4QzAw
ODc4NzlFIC8qIFdlYkNvbG9yUGlja2VyTWFjLm1tICovOyB9OwpAQCAtMzM0MCwxMCArMzM0Nywx
NyBAQAogCQk2NTQ2QTgyQTEzMDAwMTY0MDAwQ0VCMUMgLyogSW5qZWN0ZWRCdW5kbGVQYWdlUmVz
b3VyY2VMb2FkQ2xpZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEluamVj
dGVkQnVuZGxlUGFnZVJlc291cmNlTG9hZENsaWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQk2NUI4NkYxNzEyRjExRDdCMDBCN0REOEEgLyogV0tCdW5kbGVJbnNwZWN0b3IuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV0tCdW5kbGVJbnNwZWN0b3Iu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk2NUI4NkYxODEyRjExRDdCMDBCN0RE
OEEgLyogV0tCdW5kbGVJbnNwZWN0b3IuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gV0tCdW5kbGVJbnNwZWN0b3IuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNkIy
RTA5QjkxRTU3Qjg4MTAwQzhBOEI5IC8qIENvcmVQcmVkaWN0aW9uU29mdExpbmsuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ29yZVByZWRpY3Rpb25Tb2Z0TGluay5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk2QkU5Njk5QjFFNDNCM0ZGMDA4Qjc0ODMgLyogV0tS
ZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBXS1Jlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VyLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCTZCRTk2OTlEMUU0M0I0MUQwMDhCNzQ4MyAvKiBXS1Jlc291cmNlTG9h
ZFN0YXRpc3RpY3NNYW5hZ2VyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0
aCA9IFdLUmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFnZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQk2QkU5Njk5RjFFNDNCODZFMDA4Qjc0ODMgLyogV2ViUmVzb3VyY2VMb2Fk
U3RhdGlzdGljc01hbmFnZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2Vi
UmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFnZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJNkJFOTY5QTExRTQzQjhBNDAwOEI3NDgzIC8qIFdlYlJlc291cmNlTG9hZFN0YXRpc3Rp
Y3NNYW5hZ2VyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdlYlJl
c291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJNkJFOTY5QzAxRTU0RDQ1MjAwOEI3NDgzIC8qIGNvcmVQcmVkaWN0aW9uX21vZGVsICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gdGV4dDsgcGF0aCA9IGNvcmVQcmVkaWN0aW9uX21vZGVsOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQk2QkU5NjlDNDFFNTRENEE0MDA4Qjc0ODMgLyogUmVzb3VyY2VMb2Fk
U3RhdGlzdGljc0NsYXNzaWZpZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
UmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKKwkJNkJFOTY5QzYxRTU0RDRCNjAwOEI3NDgzIC8qIFJlc291cmNlTG9hZFN0YXRpc3Rp
Y3NDbGFzc2lmaWVyQmFzZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllckJhc2UuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQk2QkU5NjlDODFFNTRENENGMDA4Qjc0ODMgLyogUmVzb3VyY2VMb2Fk
U3RhdGlzdGljc0NsYXNzaWZpZXJDb2NvYS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IHBhdGggPSBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllckNvY29hLmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNkJFOTY5QzkxRTU0RDRDRjAwOEI3NDgzIC8qIFJl
c291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQ29jb2EuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXJDb2NvYS5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk2QkU5NjlDQzFFNTRFMDU0MDA4Qjc0ODMgLyog
UmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXJCYXNlLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IFJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQmFzZS5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk2RDhBOTFBNTExRjBFRkQxMDBERDAxRkUgLyog
Y29tLmFwcGxlLldlYlByb2Nlc3Muc2IuaW4gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBuYW1lID0gY29tLmFw
cGxlLldlYlByb2Nlc3Muc2IuaW47IHBhdGggPSBXZWJQcm9jZXNzL2NvbS5hcHBsZS5XZWJQcm9j
ZXNzLnNiLmluOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk2RUU4NDlDNjEzNjhEOTJE
MDAzOEQ0ODEgLyogV0tJbnNwZWN0b3JQcml2YXRlTWFjLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgbmFtZSA9IFdLSW5zcGVjdG9yUHJpdmF0ZU1hYy5oOyBwYXRoID0gbWFjL1dLSW5zcGVj
dG9yUHJpdmF0ZU1hYy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3MjhFODZFRjE3
OTUxODhDMDA4Nzg3OUUgLyogV2ViQ29sb3JQaWNrZXJNYWMuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gV2ViQ29sb3JQaWNrZXJNYWMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKQEAgLTQzNjAsNiArNDM3NCw3IEBACiAJCTA4OUMxNjY1RkU4NDExNThDMDJBQUMwNyAv
KiBSZXNvdXJjZXMgKi8gPSB7CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKAor
CQkJCTZCRTk2OUJGMUU1NEQ0NTIwMDhCNzQ4MyAvKiBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzICov
LAogCQkJCTM3RjhDOTRGMUFFMjJCRDgwMDdEQUI5RSAvKiBtYWMgKi8sCiAJCQkJN0NCMTZGRTEx
NzI0QjlCNTAwN0EwQTk1IC8qIFBsdWdJblNhbmRib3hQcm9maWxlcyAqLywKIAkJCQlBNzhDQ0RE
NTE5M0FDOUUzMDA1RUNDMjUgLyogU2FuZGJveFByb2ZpbGVzICovLApAQCAtNjEyMyw2ICs2MTM4
LDM2IEBACiAJCQluYW1lID0gQ29jb2E7CiAJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOwogCQl9
OworCQk2QkU5NjlCRjFFNTRENDUyMDA4Qjc0ODMgLyogUmVzb3VyY2VMb2FkU3RhdGlzdGljcyAq
LyA9IHsKKwkJCWlzYSA9IFBCWEdyb3VwOworCQkJY2hpbGRyZW4gPSAoCisJCQkJNkJFOTY5QzAx
RTU0RDQ1MjAwOEI3NDgzIC8qIGNvcmVQcmVkaWN0aW9uX21vZGVsICovLAorCQkJKTsKKwkJCW5h
bWUgPSBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzOworCQkJcGF0aCA9IFJlc291cmNlcy9SZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzOworCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKKwkJfTsKKwkJNkJF
OTY5QzIxRTU0RDQ2NzAwOEI3NDgzIC8qIGNsYXNzaWZpZXIgKi8gPSB7CisJCQlpc2EgPSBQQlhH
cm91cDsKKwkJCWNoaWxkcmVuID0gKAorCQkJCTZCRTk2OUMzMUU1NEQ0NjcwMDhCNzQ4MyAvKiBj
b2NvYSAqLywKKwkJCQk2QkU5NjlDNjFFNTRENEI2MDA4Qjc0ODMgLyogUmVzb3VyY2VMb2FkU3Rh
dGlzdGljc0NsYXNzaWZpZXJCYXNlLmNwcCAqLywKKwkJCQk2QkU5NjlDNDFFNTRENEE0MDA4Qjc0
ODMgLyogUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXIuaCAqLywKKwkJCQk2QkU5NjlD
QzFFNTRFMDU0MDA4Qjc0ODMgLyogUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXJCYXNl
LmggKi8sCisJCQkpOworCQkJcGF0aCA9IGNsYXNzaWZpZXI7CisJCQlzb3VyY2VUcmVlID0gIjxn
cm91cD4iOworCQl9OworCQk2QkU5NjlDMzFFNTRENDY3MDA4Qjc0ODMgLyogY29jb2EgKi8gPSB7
CisJCQlpc2EgPSBQQlhHcm91cDsKKwkJCWNoaWxkcmVuID0gKAorCQkJCTZCRTk2OUM4MUU1NEQ0
Q0YwMDhCNzQ4MyAvKiBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllckNvY29hLmNwcCAq
LywKKwkJCQk2QkU5NjlDOTFFNTRENENGMDA4Qjc0ODMgLyogUmVzb3VyY2VMb2FkU3RhdGlzdGlj
c0NsYXNzaWZpZXJDb2NvYS5oICovLAorCQkJCTZCMkUwOUI5MUU1N0I4ODEwMEM4QThCOSAvKiBD
b3JlUHJlZGljdGlvblNvZnRMaW5rLmggKi8sCisJCQkpOworCQkJcGF0aCA9IGNvY29hOworCQkJ
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKKwkJfTsKIAkJNkVFODQ5QzQxMzY4RDkwNDAwMzhENDgx
IC8qIG1hYyAqLyA9IHsKIAkJCWlzYSA9IFBCWEdyb3VwOwogCQkJY2hpbGRyZW4gPSAoCkBAIC03
MDI0LDYgKzcwNjksNyBAQAogCQlCQzJFNkU3NDExNDE5NkYwMDBBNjNCMUUgLyogUGxhdGZvcm0g
Ki8gPSB7CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKAorCQkJCTZCRTk2OUMy
MUU1NEQ0NjcwMDhCNzQ4MyAvKiBjbGFzc2lmaWVyICovLAogCQkJCTM3MDk1MDQxMThBODhCQTQw
MDg3QUU1RCAvKiBjZiAqLywKIAkJCQkxQUEyRTUxQTEyRTRDMDU2MDBCQzQ5NjYgLyogY2cgKi8s
CiAJCQkJNDQ1MEFFQkUxREMzRkFBQzAwOTk0M0YyIC8qIGNvY29hICovLApAQCAtNzkwNyw2ICs3
OTUzLDcgQEAKIAkJCQk0MURDNDU5NjFFM0Q2RTIyMDBCMTFGNTEgLyogTmV0d29ya1JUQ1Byb3Zp
ZGVyLmggaW4gSGVhZGVycyAqLywKIAkJCQk3QzFCQTMzRTFBNEEwRTYwMDA0M0UyNDkgLyogQVBJ
RGljdGlvbmFyeS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUY3RDM2QzExOERBNTEzRjAwRDlENjU5
IC8qIEFQSURvd25sb2FkQ2xpZW50LmggaW4gSGVhZGVycyAqLywKKwkJCQk2QkU5NjlDQjFFNTRE
NENGMDA4Qjc0ODMgLyogUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXJDb2NvYS5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJNTE2QTRBNUQxMjBBMkNDRDAwQzA1QjdGIC8qIEFQSUVycm9yLmgg
aW4gSGVhZGVycyAqLywKIAkJCQkzMTdGRTdDNTFDNDg3QTZDMDBBMENBODkgLyogQVBJRXhwZXJp
bWVudGFsRmVhdHVyZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMDBCOTY2MTYxOEUyNENCQTAwQ0Ux
Rjg4IC8qIEFQSUZpbmRDbGllbnQuaCBpbiBIZWFkZXJzICovLApAQCAtODMyOCw2ICs4Mzc1LDcg
QEAKIAkJCQkzMzA5MzQ0QTEzMTVCOTIyMDA5N0E3QkMgLyogV2ViQ29va2llTWFuYWdlclByb3h5
TWVzc2FnZXMuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDMUREN0IyMTE0REMzOTYwMDVBREFGMyAv
KiBXZWJDb3JlQXJndW1lbnRDb2RlcnMuaCBpbiBIZWFkZXJzICovLAogCQkJCTUxMkY1ODlCMTJB
ODgzODgwMDYyOTUzMCAvKiBXZWJDcmVkZW50aWFsLmggaW4gSGVhZGVycyAqLywKKwkJCQk2QkU5
NjlDNTFFNTRENEE0MDA4Qjc0ODMgLyogUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXIu
aCBpbiBIZWFkZXJzICovLAogCQkJCTFBQTgzRjZEMUE1QjYzRkYwMDAyNkVDNiAvKiBXZWJEYXRh
YmFzZVByb3ZpZGVyLmggaW4gSGVhZGVycyAqLywKIAkJCQlDRDE5QTI2RTFBMTNFODM0MDA4RDY1
MEUgLyogV2ViRGlhZ25vc3RpY0xvZ2dpbmdDbGllbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTFB
NUIxQzU1MTg5ODdFREYwMDRGQ0Y5QiAvKiBXZWJEb2N1bWVudExvYWRlci5oIGluIEhlYWRlcnMg
Ki8sCkBAIC04NDEzLDYgKzg0NjEsNyBAQAogCQkJCTUxMjEyN0M0MTkwODIzOUEwMERBRjM1QyAv
KiBXZWJQYXN0ZWJvYXJkT3ZlcnJpZGVzLmggaW4gSGVhZGVycyAqLywKIAkJCQk3QzQ2OTREMTFB
NTFFMzY4MDBBRDU4NDUgLyogV2ViUGFzdGVib2FyZFByb3h5LmggaW4gSGVhZGVycyAqLywKIAkJ
CQk3QzQ2OTRDQTFBNEI0RUExMDBBRDU4NDUgLyogV2ViUGFzdGVib2FyZFByb3h5TWVzc2FnZXMu
aCBpbiBIZWFkZXJzICovLAorCQkJCTZCMkUwOUJBMUU1N0I4ODEwMEM4QThCOSAvKiBDb3JlUHJl
ZGljdGlvblNvZnRMaW5rLmggaW4gSGVhZGVycyAqLywKIAkJCQkxQUIxRjc5NzFEMUIzNjEzMDA3
QzlCRDEgLyogV2ViUGF5bWVudENvb3JkaW5hdG9yTWVzc2FnZXMuaCBpbiBIZWFkZXJzICovLAog
CQkJCTFBQjFGNzhDMUQxQjMzNTUwMDdDOUJEMSAvKiBXZWJQYXltZW50Q29vcmRpbmF0b3JQcm94
eS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUFCMUY3N0UxRDFCMzBBOTAwN0M5QkQxIC8qIFdlYlBh
eW1lbnRDb29yZGluYXRvclByb3h5Q29jb2EuaCBpbiBIZWFkZXJzICovLApAQCAtODUzMSw2ICs4
NTgwLDcgQEAKIAkJCQlCQzdCNjMzRDEyQTQ1RDEyMDBEMTc0QTQgLyogV0tCdW5kbGVQYWdlR3Jv
dXAuaCBpbiBIZWFkZXJzICovLAogCQkJCTFBQjQ3NEQ4MTg0RDQzRkQwMDUxQjYyMiAvKiBXS0J1
bmRsZVBhZ2VMb2FkZXJDbGllbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUVEODJBN0YyMTI4QzZG
QUYwMDQ0NzdCMyAvKiBXS0J1bmRsZVBhZ2VPdmVybGF5LmggaW4gSGVhZGVycyAqLywKKwkJCQk2
QkU5NjlDRDFFNTRFMDU0MDA4Qjc0ODMgLyogUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZp
ZXJCYXNlLmggaW4gSGVhZGVycyAqLywKIAkJCQkxQUI0NzRFQTE4NEQ0NTEzMDA1MUI2MjIgLyog
V0tCdW5kbGVQYWdlUG9saWN5Q2xpZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQlCQzFCNDE5ODEx
RDQxRDU3MDAxMUU4REQgLyogV0tCdW5kbGVQYWdlUHJpdmF0ZS5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJMUFCNDc0REExODRENDQyNTAwNTFCNjIyIC8qIFdLQnVuZGxlUGFnZVJlc291cmNlTG9hZENs
aWVudC5oIGluIEhlYWRlcnMgKi8sCkBAIC05MDY0LDYgKzkxMTQsNyBAQAogCQkJCTdBNUUzOTRB
MUQ1QkQ4QkUwMEI0QjdDRSAvKiBjb20ubWFjcm9tZWRpYS5GbGFzaCBQbGF5ZXIgRVNSLnBsdWdp
bi5zYiBpbiBSZXNvdXJjZXMgKi8sCiAJCQkJOERDMkVGNTMwNDg2QTY5NDAwOThCMjE2IC8qIElu
Zm9QbGlzdC5zdHJpbmdzIGluIFJlc291cmNlcyAqLywKIAkJCQk5M0EyQTM0NjFEMjQ2MTI1MDAy
QjU5RDMgLyogbWVkaWFJY29uLnBkZiBpbiBSZXNvdXJjZXMgKi8sCisJCQkJNkJFOTY5QzExRTU0
RDQ1MjAwOEI3NDgzIC8qIGNvcmVQcmVkaWN0aW9uX21vZGVsIGluIFJlc291cmNlcyAqLywKIAkJ
CSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKIAkJfTsKQEAg
LTk2NTEsNiArOTcwMiw3IEBACiAJCQkJNTE3OTU1NjcxNjI4NzZDQjAwRkE0M0I2IC8qIE5ldHdv
cmtQcm9jZXNzTWFjLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJNTE2MzE5OTQxNjI4OUE2MDAwRTIy
RjAwIC8qIE5ldHdvcmtQcm9jZXNzTWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICovLAog
CQkJCUUxNEE5NTQ5MTZFMDE2QTQwMDY4REU4MiAvKiBOZXR3b3JrUHJvY2Vzc1BsYXRmb3JtU3Ry
YXRlZ2llcy5jcHAgaW4gU291cmNlcyAqLywKKwkJCQk2QkU5NjlDQTFFNTRENENGMDA4Qjc0ODMg
LyogUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXJDb2NvYS5jcHAgaW4gU291cmNlcyAq
LywKIAkJCQk1MTc5NTU2RDE2Mjg3N0IxMDBGQTQzQjYgLyogTmV0d29ya1Byb2Nlc3NQcm94eS5j
cHAgaW4gU291cmNlcyAqLywKIAkJCQk1MTYzMTk5MjE2Mjg5ODBBMDBFMjJGMDAgLyogTmV0d29y
a1Byb2Nlc3NQcm94eU1hYy5tbSBpbiBTb3VyY2VzICovLAogCQkJCTUxM0ExNjNDMTYzMDg4RjYw
MDVEN0QyMiAvKiBOZXR3b3JrUHJvY2Vzc1Byb3h5TWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3Vy
Y2VzICovLApAQCAtOTk5NSw2ICsxMDA0Nyw3IEBACiAJCQkJRDNCOTQ4NDYxMUZGNEI2NTAwMDMy
QjM5IC8qIFdlYlBvcHVwTWVudS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCQ0M0M0FDNzEyN0I5
OURFMDAzMTdGMTYgLyogV2ViUG9wdXBNZW51TWFjLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJQkM1
NzUwOTgxMjY4RjNDNjAwNkYwRjEyIC8qIFdlYlBvcHVwTWVudVByb3h5TWFjLm1tIGluIFNvdXJj
ZXMgKi8sCisJCQkJNkJFOTY5QzcxRTU0RDRCNjAwOEI3NDgzIC8qIFJlc291cmNlTG9hZFN0YXRp
c3RpY3NDbGFzc2lmaWVyQmFzZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCQ0Q1OTgwMDExMkI1
N0JFMDBFQzhDMjMgLyogV2ViUHJlZmVyZW5jZXMuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJN0M4
NUZEN0YxOTM0MTY2NTAwMDE3N0M0IC8qIFdlYlByZWZlcmVuY2VzS2V5cy5jcHAgaW4gU291cmNl
cyAqLywKIAkJCQlCQzg0RUIxODEyQTcxMDBDMDA4M0YyREEgLyogV2ViUHJlZmVyZW5jZXNNYWMu
bW0gaW4gU291cmNlcyAqLywKSW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBU
b29scy9DaGFuZ2VMb2cJKHJldmlzaW9uIDIxMjkzMykKKysrIFRvb2xzL0NoYW5nZUxvZwkod29y
a2luZyBjb3B5KQpAQCAtMSwzICsxLDMyIEBACisyMDE3LTAyLTIzICBKb2huIFdpbGFuZGVyICA8
d2lsYW5kZXJAYXBwbGUuY29tPgorCisgICAgICAgIFJlc291cmNlIExvYWQgU3RhdGlzdGljczog
QWRkIGFsdGVybmF0ZSBjbGFzc2lmaWNhdGlvbiBtZXRob2QKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2ODM0NworICAgICAgICA8cmRhcjovL3Byb2Js
ZW0vMzAzNTI3OTM+CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8zMDY0NjcxMD4KKyAgICAgICAg
PHJkYXI6Ly9wcm9ibGVtLzMwNjYwNzA4PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIEFkZGVkIHRocmVlIHRlc3RSdW5uZXIgZnVuY3Rpb25zIHRvIGZh
Y2lsaXRhdGUgbGF5b3V0IHRlc3RzOgorICAgICAgICAtIHNldFN0YXRpc3RpY3NTdWJmcmFtZVVu
ZGVyVG9wRnJhbWVPcmlnaW4oKQorICAgICAgICAtIHNldFN0YXRpc3RpY3NTdWJyZXNvdXJjZVVu
ZGVyVG9wRnJhbWVPcmlnaW4oKQorICAgICAgICAtIHNldFN0YXRpc3RpY3NTdWJyZXNvdXJjZVVu
aXF1ZVJlZGlyZWN0VG8oKQorCisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1
bmRsZS9CaW5kaW5ncy9UZXN0UnVubmVyLmlkbDoKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVy
L0luamVjdGVkQnVuZGxlL1Rlc3RSdW5uZXIuY3BwOgorICAgICAgICAoV1RSOjpUZXN0UnVubmVy
OjpzZXRTdGF0aXN0aWNzU3ViZnJhbWVVbmRlclRvcEZyYW1lT3JpZ2luKToKKyAgICAgICAgKFdU
Ujo6VGVzdFJ1bm5lcjo6c2V0U3RhdGlzdGljc1N1YnJlc291cmNlVW5kZXJUb3BGcmFtZU9yaWdp
bik6CisgICAgICAgIChXVFI6OlRlc3RSdW5uZXI6OnNldFN0YXRpc3RpY3NTdWJyZXNvdXJjZVVu
aXF1ZVJlZGlyZWN0VG8pOgorICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5k
bGUvVGVzdFJ1bm5lci5oOgorICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xs
ZXIuY3BwOgorICAgICAgICAoV1RSOjpUZXN0Q29udHJvbGxlcjo6c2V0U3RhdGlzdGljc1N1YmZy
YW1lVW5kZXJUb3BGcmFtZU9yaWdpbik6CisgICAgICAgIChXVFI6OlRlc3RDb250cm9sbGVyOjpz
ZXRTdGF0aXN0aWNzU3VicmVzb3VyY2VVbmRlclRvcEZyYW1lT3JpZ2luKToKKyAgICAgICAgKFdU
Ujo6VGVzdENvbnRyb2xsZXI6OnNldFN0YXRpc3RpY3NTdWJyZXNvdXJjZVVuaXF1ZVJlZGlyZWN0
VG8pOgorICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuaDoKKyAgICAg
ICAgKiBXZWJLaXRUZXN0UnVubmVyL1Rlc3RJbnZvY2F0aW9uLmNwcDoKKyAgICAgICAgKFdUUjo6
VGVzdEludm9jYXRpb246OmRpZFJlY2VpdmVTeW5jaHJvbm91c01lc3NhZ2VGcm9tSW5qZWN0ZWRC
dW5kbGUpOgorCiAyMDE3LTAyLTIzICBCZXRoIERha2luICA8YmRha2luQGFwcGxlLmNvbT4gKyBE
YW4gU2F1bmRlcnMgIDxkYXNhdUBtaWNyb3NvZnQuY29tPgogCiAgICAgICAgIE5vIHJlbGlhYmxl
IHdheSB0byBnZXQgYSBzbmFwc2hvdCBvZiBXS1dlYlZpZXcgKG1hY09TKQpJbmRleDogVG9vbHMv
V2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMv
V2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5jcHAJKHJldmlzaW9uIDIxMjg5OCkKKysr
IFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC0yMjI5LDYgKzIyMjksMjEgQEAgYm9vbCBUZXN0Q29udHJvbGxlcjo6aXNTdGF0aXN0aWNz
SGFzSGFkVQogICAgIHJldHVybiBXS1Jlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VySXNIYXNI
YWRVc2VySW50ZXJhY3Rpb24oaG9zdE5hbWUpOwogfQogCit2b2lkIFRlc3RDb250cm9sbGVyOjpz
ZXRTdGF0aXN0aWNzU3ViZnJhbWVVbmRlclRvcEZyYW1lT3JpZ2luKFdLU3RyaW5nUmVmIGhvc3RO
YW1lLCBXS1N0cmluZ1JlZiB0b3BGcmFtZUhvc3ROYW1lKQoreworICAgIFdLUmVzb3VyY2VMb2Fk
U3RhdGlzdGljc01hbmFnZXJTZXRTdWJmcmFtZVVuZGVyVG9wRnJhbWVPcmlnaW4oaG9zdE5hbWUs
IHRvcEZyYW1lSG9zdE5hbWUpOworfQorCit2b2lkIFRlc3RDb250cm9sbGVyOjpzZXRTdGF0aXN0
aWNzU3VicmVzb3VyY2VVbmRlclRvcEZyYW1lT3JpZ2luKFdLU3RyaW5nUmVmIGhvc3ROYW1lLCBX
S1N0cmluZ1JlZiB0b3BGcmFtZUhvc3ROYW1lKQoreworICAgIFdLUmVzb3VyY2VMb2FkU3RhdGlz
dGljc01hbmFnZXJTZXRTdWJyZXNvdXJjZVVuZGVyVG9wRnJhbWVPcmlnaW4oaG9zdE5hbWUsIHRv
cEZyYW1lSG9zdE5hbWUpOworfQorICAgIAordm9pZCBUZXN0Q29udHJvbGxlcjo6c2V0U3RhdGlz
dGljc1N1YnJlc291cmNlVW5pcXVlUmVkaXJlY3RUbyhXS1N0cmluZ1JlZiBob3N0TmFtZSwgV0tT
dHJpbmdSZWYgaG9zdE5hbWVSZWRpcmVjdGVkVG8pCit7CisgICAgV0tSZXNvdXJjZUxvYWRTdGF0
aXN0aWNzTWFuYWdlclNldFN1YnJlc291cmNlVW5pcXVlUmVkaXJlY3RUbyhob3N0TmFtZSwgaG9z
dE5hbWVSZWRpcmVjdGVkVG8pOworfQorCiB2b2lkIFRlc3RDb250cm9sbGVyOjpzZXRTdGF0aXN0
aWNzVGltZVRvTGl2ZVVzZXJJbnRlcmFjdGlvbihkb3VibGUgc2Vjb25kcykKIHsKICAgICBXS1Jl
c291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VyU2V0VGltZVRvTGl2ZVVzZXJJbnRlcmFjdGlvbihz
ZWNvbmRzKTsKSW5kZXg6IFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuaAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBUb29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmgJKHJl
dmlzaW9uIDIxMjg5OCkKKysrIFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIu
aAkod29ya2luZyBjb3B5KQpAQCAtMTUyLDYgKzE1Miw5IEBAIHB1YmxpYzoKICAgICBib29sIGlz
U3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNlKFdLU3RyaW5nUmVmIGhvc3ROYW1lKTsKICAgICB2
b2lkIHNldFN0YXRpc3RpY3NIYXNIYWRVc2VySW50ZXJhY3Rpb24oV0tTdHJpbmdSZWYgaG9zdE5h
bWUsIGJvb2wgdmFsdWUpOwogICAgIGJvb2wgaXNTdGF0aXN0aWNzSGFzSGFkVXNlckludGVyYWN0
aW9uKFdLU3RyaW5nUmVmIGhvc3ROYW1lKTsKKyAgICB2b2lkIHNldFN0YXRpc3RpY3NTdWJmcmFt
ZVVuZGVyVG9wRnJhbWVPcmlnaW4oV0tTdHJpbmdSZWYgaG9zdE5hbWUsIFdLU3RyaW5nUmVmIHRv
cEZyYW1lSG9zdE5hbWUpOworICAgIHZvaWQgc2V0U3RhdGlzdGljc1N1YnJlc291cmNlVW5kZXJU
b3BGcmFtZU9yaWdpbihXS1N0cmluZ1JlZiBob3N0TmFtZSwgV0tTdHJpbmdSZWYgdG9wRnJhbWVI
b3N0TmFtZSk7CisgICAgdm9pZCBzZXRTdGF0aXN0aWNzU3VicmVzb3VyY2VVbmlxdWVSZWRpcmVj
dFRvKFdLU3RyaW5nUmVmIGhvc3ROYW1lLCBXS1N0cmluZ1JlZiBob3N0TmFtZVJlZGlyZWN0ZWRU
byk7CiAgICAgdm9pZCBzZXRTdGF0aXN0aWNzVGltZVRvTGl2ZVVzZXJJbnRlcmFjdGlvbihkb3Vi
bGUgc2Vjb25kcyk7CiAgICAgdm9pZCBzdGF0aXN0aWNzRmlyZURhdGFNb2RpZmljYXRpb25IYW5k
bGVyKCk7CiAgICAgdm9pZCBzZXRTdGF0aXN0aWNzTm90aWZ5UGFnZXNXaGVuRGF0YVJlY29yZHNX
ZXJlU2Nhbm5lZChib29sKTsKSW5kZXg6IFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdEludm9j
YXRpb24uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdEludm9j
YXRpb24uY3BwCShyZXZpc2lvbiAyMTI4OTgpCisrKyBUb29scy9XZWJLaXRUZXN0UnVubmVyL1Rl
c3RJbnZvY2F0aW9uLmNwcAkod29ya2luZyBjb3B5KQpAQCAtOTMyLDYgKzkzMiw0OCBAQCBXS1Jl
dGFpblB0cjxXS1R5cGVSZWY+IFRlc3RJbnZvY2F0aW9uOjpkCiAgICAgICAgIHJldHVybiByZXN1
bHQ7CiAgICAgfQogICAgIAorICAgIGlmIChXS1N0cmluZ0lzRXF1YWxUb1VURjhDU3RyaW5nKG1l
c3NhZ2VOYW1lLCAiU2V0U3RhdGlzdGljc1N1YmZyYW1lVW5kZXJUb3BGcmFtZU9yaWdpbiIpKSB7
CisgICAgICAgIEFTU0VSVChXS0dldFR5cGVJRChtZXNzYWdlQm9keSkgPT0gV0tEaWN0aW9uYXJ5
R2V0VHlwZUlEKCkpOworICAgICAgICAKKyAgICAgICAgV0tEaWN0aW9uYXJ5UmVmIG1lc3NhZ2VC
b2R5RGljdGlvbmFyeSA9IHN0YXRpY19jYXN0PFdLRGljdGlvbmFyeVJlZj4obWVzc2FnZUJvZHkp
OworICAgICAgICBXS1JldGFpblB0cjxXS1N0cmluZ1JlZj4gaG9zdE5hbWVLZXkoQWRvcHRXSywg
V0tTdHJpbmdDcmVhdGVXaXRoVVRGOENTdHJpbmcoIkhvc3ROYW1lIikpOworICAgICAgICBXS1Jl
dGFpblB0cjxXS1N0cmluZ1JlZj4gdG9wRnJhbWVIb3N0TmFtZUtleShBZG9wdFdLLCBXS1N0cmlu
Z0NyZWF0ZVdpdGhVVEY4Q1N0cmluZygiVG9wRnJhbWVIb3N0TmFtZSIpKTsKKyAgICAgICAgCisg
ICAgICAgIFdLU3RyaW5nUmVmIGhvc3ROYW1lID0gc3RhdGljX2Nhc3Q8V0tTdHJpbmdSZWY+KFdL
RGljdGlvbmFyeUdldEl0ZW1Gb3JLZXkobWVzc2FnZUJvZHlEaWN0aW9uYXJ5LCBob3N0TmFtZUtl
eS5nZXQoKSkpOworICAgICAgICBXS1N0cmluZ1JlZiB0b3BGcmFtZUhvc3ROYW1lID0gc3RhdGlj
X2Nhc3Q8V0tTdHJpbmdSZWY+KFdLRGljdGlvbmFyeUdldEl0ZW1Gb3JLZXkobWVzc2FnZUJvZHlE
aWN0aW9uYXJ5LCB0b3BGcmFtZUhvc3ROYW1lS2V5LmdldCgpKSk7CisKKyAgICAgICAgVGVzdENv
bnRyb2xsZXI6OnNpbmdsZXRvbigpLnNldFN0YXRpc3RpY3NTdWJmcmFtZVVuZGVyVG9wRnJhbWVP
cmlnaW4oaG9zdE5hbWUsIHRvcEZyYW1lSG9zdE5hbWUpOworICAgICAgICByZXR1cm4gbnVsbHB0
cjsKKyAgICB9CisgICAgCisgICAgaWYgKFdLU3RyaW5nSXNFcXVhbFRvVVRGOENTdHJpbmcobWVz
c2FnZU5hbWUsICJTZXRTdGF0aXN0aWNzU3VicmVzb3VyY2VVbmRlclRvcEZyYW1lT3JpZ2luIikp
IHsKKyAgICAgICAgQVNTRVJUKFdLR2V0VHlwZUlEKG1lc3NhZ2VCb2R5KSA9PSBXS0RpY3Rpb25h
cnlHZXRUeXBlSUQoKSk7CisgICAgICAgIAorICAgICAgICBXS0RpY3Rpb25hcnlSZWYgbWVzc2Fn
ZUJvZHlEaWN0aW9uYXJ5ID0gc3RhdGljX2Nhc3Q8V0tEaWN0aW9uYXJ5UmVmPihtZXNzYWdlQm9k
eSk7CisgICAgICAgIFdLUmV0YWluUHRyPFdLU3RyaW5nUmVmPiBob3N0TmFtZUtleShBZG9wdFdL
LCBXS1N0cmluZ0NyZWF0ZVdpdGhVVEY4Q1N0cmluZygiSG9zdE5hbWUiKSk7CisgICAgICAgIFdL
UmV0YWluUHRyPFdLU3RyaW5nUmVmPiB0b3BGcmFtZUhvc3ROYW1lS2V5KEFkb3B0V0ssIFdLU3Ry
aW5nQ3JlYXRlV2l0aFVURjhDU3RyaW5nKCJUb3BGcmFtZUhvc3ROYW1lIikpOworICAgICAgICAK
KyAgICAgICAgV0tTdHJpbmdSZWYgaG9zdE5hbWUgPSBzdGF0aWNfY2FzdDxXS1N0cmluZ1JlZj4o
V0tEaWN0aW9uYXJ5R2V0SXRlbUZvcktleShtZXNzYWdlQm9keURpY3Rpb25hcnksIGhvc3ROYW1l
S2V5LmdldCgpKSk7CisgICAgICAgIFdLU3RyaW5nUmVmIHRvcEZyYW1lSG9zdE5hbWUgPSBzdGF0
aWNfY2FzdDxXS1N0cmluZ1JlZj4oV0tEaWN0aW9uYXJ5R2V0SXRlbUZvcktleShtZXNzYWdlQm9k
eURpY3Rpb25hcnksIHRvcEZyYW1lSG9zdE5hbWVLZXkuZ2V0KCkpKTsKKyAgICAgICAgCisgICAg
ICAgIFRlc3RDb250cm9sbGVyOjpzaW5nbGV0b24oKS5zZXRTdGF0aXN0aWNzU3VicmVzb3VyY2VV
bmRlclRvcEZyYW1lT3JpZ2luKGhvc3ROYW1lLCB0b3BGcmFtZUhvc3ROYW1lKTsKKyAgICAgICAg
cmV0dXJuIG51bGxwdHI7CisgICAgfQorICAgIAorICAgIGlmIChXS1N0cmluZ0lzRXF1YWxUb1VU
RjhDU3RyaW5nKG1lc3NhZ2VOYW1lLCAiU2V0U3RhdGlzdGljc1N1YnJlc291cmNlVW5pcXVlUmVk
aXJlY3RUbyIpKSB7CisgICAgICAgIEFTU0VSVChXS0dldFR5cGVJRChtZXNzYWdlQm9keSkgPT0g
V0tEaWN0aW9uYXJ5R2V0VHlwZUlEKCkpOworICAgICAgICAKKyAgICAgICAgV0tEaWN0aW9uYXJ5
UmVmIG1lc3NhZ2VCb2R5RGljdGlvbmFyeSA9IHN0YXRpY19jYXN0PFdLRGljdGlvbmFyeVJlZj4o
bWVzc2FnZUJvZHkpOworICAgICAgICBXS1JldGFpblB0cjxXS1N0cmluZ1JlZj4gaG9zdE5hbWVL
ZXkoQWRvcHRXSywgV0tTdHJpbmdDcmVhdGVXaXRoVVRGOENTdHJpbmcoIkhvc3ROYW1lIikpOwor
ICAgICAgICBXS1JldGFpblB0cjxXS1N0cmluZ1JlZj4gaG9zdE5hbWVSZWRpcmVjdGVkVG9LZXko
QWRvcHRXSywgV0tTdHJpbmdDcmVhdGVXaXRoVVRGOENTdHJpbmcoIkhvc3ROYW1lUmVkaXJlY3Rl
ZFRvIikpOworICAgICAgICAKKyAgICAgICAgV0tTdHJpbmdSZWYgaG9zdE5hbWUgPSBzdGF0aWNf
Y2FzdDxXS1N0cmluZ1JlZj4oV0tEaWN0aW9uYXJ5R2V0SXRlbUZvcktleShtZXNzYWdlQm9keURp
Y3Rpb25hcnksIGhvc3ROYW1lS2V5LmdldCgpKSk7CisgICAgICAgIFdLU3RyaW5nUmVmIGhvc3RO
YW1lUmVkaXJlY3RlZFRvID0gc3RhdGljX2Nhc3Q8V0tTdHJpbmdSZWY+KFdLRGljdGlvbmFyeUdl
dEl0ZW1Gb3JLZXkobWVzc2FnZUJvZHlEaWN0aW9uYXJ5LCBob3N0TmFtZVJlZGlyZWN0ZWRUb0tl
eS5nZXQoKSkpOworICAgICAgICAKKyAgICAgICAgVGVzdENvbnRyb2xsZXI6OnNpbmdsZXRvbigp
LnNldFN0YXRpc3RpY3NTdWJyZXNvdXJjZVVuaXF1ZVJlZGlyZWN0VG8oaG9zdE5hbWUsIGhvc3RO
YW1lUmVkaXJlY3RlZFRvKTsKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7CisgICAgfQorCiAgICAg
aWYgKFdLU3RyaW5nSXNFcXVhbFRvVVRGOENTdHJpbmcobWVzc2FnZU5hbWUsICJTZXRTdGF0aXN0
aWNzVGltZVRvTGl2ZVVzZXJJbnRlcmFjdGlvbiIpKSB7CiAgICAgICAgIEFTU0VSVChXS0dldFR5
cGVJRChtZXNzYWdlQm9keSkgPT0gV0tEb3VibGVHZXRUeXBlSUQoKSk7CiAgICAgICAgIFdLRG91
YmxlUmVmIHNlY29uZHMgPSBzdGF0aWNfY2FzdDxXS0RvdWJsZVJlZj4obWVzc2FnZUJvZHkpOwpJ
bmRleDogVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9UZXN0UnVubmVyLmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBUb29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL1Rl
c3RSdW5uZXIuY3BwCShyZXZpc2lvbiAyMTI4OTgpCisrKyBUb29scy9XZWJLaXRUZXN0UnVubmVy
L0luamVjdGVkQnVuZGxlL1Rlc3RSdW5uZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMjI2LDYg
KzEyMjYsNzggQEAgYm9vbCBUZXN0UnVubmVyOjppc1N0YXRpc3RpY3NIYXNIYWRVc2VySQogICAg
IHJldHVybiBXS0Jvb2xlYW5HZXRWYWx1ZShzdGF0aWNfY2FzdDxXS0Jvb2xlYW5SZWY+KHJldHVy
bkRhdGEpKTsKIH0KIAordm9pZCBUZXN0UnVubmVyOjpzZXRTdGF0aXN0aWNzU3ViZnJhbWVVbmRl
clRvcEZyYW1lT3JpZ2luKEpTU3RyaW5nUmVmIGhvc3ROYW1lLCBKU1N0cmluZ1JlZiB0b3BGcmFt
ZUhvc3ROYW1lKQoreworICAgIFZlY3RvcjxXS1JldGFpblB0cjxXS1N0cmluZ1JlZj4+IGtleXM7
CisgICAgVmVjdG9yPFdLUmV0YWluUHRyPFdLVHlwZVJlZj4+IHZhbHVlczsKKyAgICAKKyAgICBr
ZXlzLmFwcGVuZCh7IEFkb3B0V0ssIFdLU3RyaW5nQ3JlYXRlV2l0aFVURjhDU3RyaW5nKCJIb3N0
TmFtZSIpIH0pOworICAgIHZhbHVlcy5hcHBlbmQoeyBBZG9wdFdLLCBXS1N0cmluZ0NyZWF0ZVdp
dGhKU1N0cmluZyhob3N0TmFtZSkgfSk7CisgICAgCisgICAga2V5cy5hcHBlbmQoeyBBZG9wdFdL
LCBXS1N0cmluZ0NyZWF0ZVdpdGhVVEY4Q1N0cmluZygiVG9wRnJhbWVIb3N0TmFtZSIpIH0pOwor
ICAgIHZhbHVlcy5hcHBlbmQoeyBBZG9wdFdLLCBXS1N0cmluZ0NyZWF0ZVdpdGhKU1N0cmluZyh0
b3BGcmFtZUhvc3ROYW1lKSB9KTsKKyAgICAKKyAgICBWZWN0b3I8V0tTdHJpbmdSZWY+IHJhd0tl
eXMoa2V5cy5zaXplKCkpOworICAgIFZlY3RvcjxXS1R5cGVSZWY+IHJhd1ZhbHVlcyh2YWx1ZXMu
c2l6ZSgpKTsKKyAgICAKKyAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IGtleXMuc2l6ZSgpOyAr
K2kpIHsKKyAgICAgICAgcmF3S2V5c1tpXSA9IGtleXNbaV0uZ2V0KCk7CisgICAgICAgIHJhd1Zh
bHVlc1tpXSA9IHZhbHVlc1tpXS5nZXQoKTsKKyAgICB9CisgICAgCisgICAgV0tSZXRhaW5QdHI8
V0tTdHJpbmdSZWY+IG1lc3NhZ2VOYW1lKEFkb3B0V0ssIFdLU3RyaW5nQ3JlYXRlV2l0aFVURjhD
U3RyaW5nKCJTZXRTdGF0aXN0aWNzU3ViZnJhbWVVbmRlclRvcEZyYW1lT3JpZ2luIikpOworICAg
IFdLUmV0YWluUHRyPFdLRGljdGlvbmFyeVJlZj4gbWVzc2FnZUJvZHkoQWRvcHRXSywgV0tEaWN0
aW9uYXJ5Q3JlYXRlKHJhd0tleXMuZGF0YSgpLCByYXdWYWx1ZXMuZGF0YSgpLCByYXdLZXlzLnNp
emUoKSkpOworICAgIFdLQnVuZGxlUG9zdFN5bmNocm9ub3VzTWVzc2FnZShJbmplY3RlZEJ1bmRs
ZTo6c2luZ2xldG9uKCkuYnVuZGxlKCksIG1lc3NhZ2VOYW1lLmdldCgpLCBtZXNzYWdlQm9keS5n
ZXQoKSwgbnVsbHB0cik7Cit9CisKK3ZvaWQgVGVzdFJ1bm5lcjo6c2V0U3RhdGlzdGljc1N1YnJl
c291cmNlVW5kZXJUb3BGcmFtZU9yaWdpbihKU1N0cmluZ1JlZiBob3N0TmFtZSwgSlNTdHJpbmdS
ZWYgdG9wRnJhbWVIb3N0TmFtZSkKK3sKKyAgICBWZWN0b3I8V0tSZXRhaW5QdHI8V0tTdHJpbmdS
ZWY+PiBrZXlzOworICAgIFZlY3RvcjxXS1JldGFpblB0cjxXS1R5cGVSZWY+PiB2YWx1ZXM7Cisg
ICAgCisgICAga2V5cy5hcHBlbmQoeyBBZG9wdFdLLCBXS1N0cmluZ0NyZWF0ZVdpdGhVVEY4Q1N0
cmluZygiSG9zdE5hbWUiKSB9KTsKKyAgICB2YWx1ZXMuYXBwZW5kKHsgQWRvcHRXSywgV0tTdHJp
bmdDcmVhdGVXaXRoSlNTdHJpbmcoaG9zdE5hbWUpIH0pOworICAgIAorICAgIGtleXMuYXBwZW5k
KHsgQWRvcHRXSywgV0tTdHJpbmdDcmVhdGVXaXRoVVRGOENTdHJpbmcoIlRvcEZyYW1lSG9zdE5h
bWUiKSB9KTsKKyAgICB2YWx1ZXMuYXBwZW5kKHsgQWRvcHRXSywgV0tTdHJpbmdDcmVhdGVXaXRo
SlNTdHJpbmcodG9wRnJhbWVIb3N0TmFtZSkgfSk7CisgICAgCisgICAgVmVjdG9yPFdLU3RyaW5n
UmVmPiByYXdLZXlzKGtleXMuc2l6ZSgpKTsKKyAgICBWZWN0b3I8V0tUeXBlUmVmPiByYXdWYWx1
ZXModmFsdWVzLnNpemUoKSk7CisgICAgCisgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBrZXlz
LnNpemUoKTsgKytpKSB7CisgICAgICAgIHJhd0tleXNbaV0gPSBrZXlzW2ldLmdldCgpOworICAg
ICAgICByYXdWYWx1ZXNbaV0gPSB2YWx1ZXNbaV0uZ2V0KCk7CisgICAgfQorICAgIAorICAgIFdL
UmV0YWluUHRyPFdLU3RyaW5nUmVmPiBtZXNzYWdlTmFtZShBZG9wdFdLLCBXS1N0cmluZ0NyZWF0
ZVdpdGhVVEY4Q1N0cmluZygiU2V0U3RhdGlzdGljc1N1YnJlc291cmNlVW5kZXJUb3BGcmFtZU9y
aWdpbiIpKTsKKyAgICBXS1JldGFpblB0cjxXS0RpY3Rpb25hcnlSZWY+IG1lc3NhZ2VCb2R5KEFk
b3B0V0ssIFdLRGljdGlvbmFyeUNyZWF0ZShyYXdLZXlzLmRhdGEoKSwgcmF3VmFsdWVzLmRhdGEo
KSwgcmF3S2V5cy5zaXplKCkpKTsKKyAgICBXS0J1bmRsZVBvc3RTeW5jaHJvbm91c01lc3NhZ2Uo
SW5qZWN0ZWRCdW5kbGU6OnNpbmdsZXRvbigpLmJ1bmRsZSgpLCBtZXNzYWdlTmFtZS5nZXQoKSwg
bWVzc2FnZUJvZHkuZ2V0KCksIG51bGxwdHIpOworfQorCit2b2lkIFRlc3RSdW5uZXI6OnNldFN0
YXRpc3RpY3NTdWJyZXNvdXJjZVVuaXF1ZVJlZGlyZWN0VG8oSlNTdHJpbmdSZWYgaG9zdE5hbWUs
IEpTU3RyaW5nUmVmIGhvc3ROYW1lUmVkaXJlY3RlZFRvKQoreworICAgIFZlY3RvcjxXS1JldGFp
blB0cjxXS1N0cmluZ1JlZj4+IGtleXM7CisgICAgVmVjdG9yPFdLUmV0YWluUHRyPFdLVHlwZVJl
Zj4+IHZhbHVlczsKKyAgICAKKyAgICBrZXlzLmFwcGVuZCh7IEFkb3B0V0ssIFdLU3RyaW5nQ3Jl
YXRlV2l0aFVURjhDU3RyaW5nKCJIb3N0TmFtZSIpIH0pOworICAgIHZhbHVlcy5hcHBlbmQoeyBB
ZG9wdFdLLCBXS1N0cmluZ0NyZWF0ZVdpdGhKU1N0cmluZyhob3N0TmFtZSkgfSk7CisgICAgCisg
ICAga2V5cy5hcHBlbmQoeyBBZG9wdFdLLCBXS1N0cmluZ0NyZWF0ZVdpdGhVVEY4Q1N0cmluZygi
SG9zdE5hbWVSZWRpcmVjdGVkVG8iKSB9KTsKKyAgICB2YWx1ZXMuYXBwZW5kKHsgQWRvcHRXSywg
V0tTdHJpbmdDcmVhdGVXaXRoSlNTdHJpbmcoaG9zdE5hbWVSZWRpcmVjdGVkVG8pIH0pOworICAg
IAorICAgIFZlY3RvcjxXS1N0cmluZ1JlZj4gcmF3S2V5cyhrZXlzLnNpemUoKSk7CisgICAgVmVj
dG9yPFdLVHlwZVJlZj4gcmF3VmFsdWVzKHZhbHVlcy5zaXplKCkpOworICAgIAorICAgIGZvciAo
c2l6ZV90IGkgPSAwOyBpIDwga2V5cy5zaXplKCk7ICsraSkgeworICAgICAgICByYXdLZXlzW2ld
ID0ga2V5c1tpXS5nZXQoKTsKKyAgICAgICAgcmF3VmFsdWVzW2ldID0gdmFsdWVzW2ldLmdldCgp
OworICAgIH0KKyAgICAKKyAgICBXS1JldGFpblB0cjxXS1N0cmluZ1JlZj4gbWVzc2FnZU5hbWUo
QWRvcHRXSywgV0tTdHJpbmdDcmVhdGVXaXRoVVRGOENTdHJpbmcoIlNldFN0YXRpc3RpY3NTdWJy
ZXNvdXJjZVVuaXF1ZVJlZGlyZWN0VG8iKSk7CisgICAgV0tSZXRhaW5QdHI8V0tEaWN0aW9uYXJ5
UmVmPiBtZXNzYWdlQm9keShBZG9wdFdLLCBXS0RpY3Rpb25hcnlDcmVhdGUocmF3S2V5cy5kYXRh
KCksIHJhd1ZhbHVlcy5kYXRhKCksIHJhd0tleXMuc2l6ZSgpKSk7CisgICAgV0tCdW5kbGVQb3N0
U3luY2hyb25vdXNNZXNzYWdlKEluamVjdGVkQnVuZGxlOjpzaW5nbGV0b24oKS5idW5kbGUoKSwg
bWVzc2FnZU5hbWUuZ2V0KCksIG1lc3NhZ2VCb2R5LmdldCgpLCBudWxscHRyKTsKK30KKwogdm9p
ZCBUZXN0UnVubmVyOjpzZXRTdGF0aXN0aWNzVGltZVRvTGl2ZVVzZXJJbnRlcmFjdGlvbihkb3Vi
bGUgc2Vjb25kcykKIHsKICAgICBXS1JldGFpblB0cjxXS1N0cmluZ1JlZj4gbWVzc2FnZU5hbWUo
QWRvcHRXSywgV0tTdHJpbmdDcmVhdGVXaXRoVVRGOENTdHJpbmcoIlNldFN0YXRpc3RpY3NUaW1l
VG9MaXZlVXNlckludGVyYWN0aW9uIikpOwpJbmRleDogVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9J
bmplY3RlZEJ1bmRsZS9UZXN0UnVubmVyLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvV2ViS2l0VGVz
dFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9UZXN0UnVubmVyLmgJKHJldmlzaW9uIDIxMjg5OCkKKysr
IFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvVGVzdFJ1bm5lci5oCSh3b3Jr
aW5nIGNvcHkpCkBAIC0zNTQsNiArMzU0LDkgQEAgcHVibGljOgogICAgIGJvb2wgaXNTdGF0aXN0
aWNzUHJldmFsZW50UmVzb3VyY2UoSlNTdHJpbmdSZWYgaG9zdE5hbWUpOwogICAgIHZvaWQgc2V0
U3RhdGlzdGljc0hhc0hhZFVzZXJJbnRlcmFjdGlvbihKU1N0cmluZ1JlZiBob3N0TmFtZSwgYm9v
bCB2YWx1ZSk7CiAgICAgYm9vbCBpc1N0YXRpc3RpY3NIYXNIYWRVc2VySW50ZXJhY3Rpb24oSlNT
dHJpbmdSZWYgaG9zdE5hbWUpOworICAgIHZvaWQgc2V0U3RhdGlzdGljc1N1YmZyYW1lVW5kZXJU
b3BGcmFtZU9yaWdpbihKU1N0cmluZ1JlZiBob3N0TmFtZSwgSlNTdHJpbmdSZWYgdG9wRnJhbWVI
b3N0TmFtZSk7CisgICAgdm9pZCBzZXRTdGF0aXN0aWNzU3VicmVzb3VyY2VVbmRlclRvcEZyYW1l
T3JpZ2luKEpTU3RyaW5nUmVmIGhvc3ROYW1lLCBKU1N0cmluZ1JlZiB0b3BGcmFtZUhvc3ROYW1l
KTsKKyAgICB2b2lkIHNldFN0YXRpc3RpY3NTdWJyZXNvdXJjZVVuaXF1ZVJlZGlyZWN0VG8oSlNT
dHJpbmdSZWYgaG9zdE5hbWUsIEpTU3RyaW5nUmVmIGhvc3ROYW1lUmVkaXJlY3RlZFRvKTsKICAg
ICB2b2lkIHNldFN0YXRpc3RpY3NUaW1lVG9MaXZlVXNlckludGVyYWN0aW9uKGRvdWJsZSBzZWNv
bmRzKTsKICAgICB2b2lkIHNldFN0YXRpc3RpY3NOb3RpZnlQYWdlc1doZW5EYXRhUmVjb3Jkc1dl
cmVTY2FubmVkKGJvb2wpOwogICAgIHZvaWQgc2V0U3RhdGlzdGljc1Nob3VsZENsYXNzaWZ5UmVz
b3VyY2VzQmVmb3JlRGF0YVJlY29yZHNSZW1vdmFsKGJvb2wpOwpJbmRleDogVG9vbHMvV2ViS2l0
VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9CaW5kaW5ncy9UZXN0UnVubmVyLmlkbAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBUb29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0JpbmRpbmdzL1Rl
c3RSdW5uZXIuaWRsCShyZXZpc2lvbiAyMTI4OTgpCisrKyBUb29scy9XZWJLaXRUZXN0UnVubmVy
L0luamVjdGVkQnVuZGxlL0JpbmRpbmdzL1Rlc3RSdW5uZXIuaWRsCSh3b3JraW5nIGNvcHkpCkBA
IC0yNTMsNiArMjUzLDkgQEAgaW50ZXJmYWNlIFRlc3RSdW5uZXIgewogICAgIGJvb2xlYW4gaXNT
dGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2UoRE9NU3RyaW5nIGhvc3ROYW1lKTsKICAgICB2b2lk
IHNldFN0YXRpc3RpY3NIYXNIYWRVc2VySW50ZXJhY3Rpb24oRE9NU3RyaW5nIGhvc3ROYW1lLCBi
b29sZWFuIHZhbHVlKTsKICAgICBib29sZWFuIGlzU3RhdGlzdGljc0hhc0hhZFVzZXJJbnRlcmFj
dGlvbihET01TdHJpbmcgaG9zdE5hbWUpOworICAgIHZvaWQgc2V0U3RhdGlzdGljc1N1YmZyYW1l
VW5kZXJUb3BGcmFtZU9yaWdpbihET01TdHJpbmcgaG9zdE5hbWUsIERPTVN0cmluZyB0b3BGcmFt
ZUhvc3ROYW1lKTsKKyAgICB2b2lkIHNldFN0YXRpc3RpY3NTdWJyZXNvdXJjZVVuZGVyVG9wRnJh
bWVPcmlnaW4oRE9NU3RyaW5nIGhvc3ROYW1lLCBET01TdHJpbmcgdG9wRnJhbWVIb3N0TmFtZSk7
CisgICAgdm9pZCBzZXRTdGF0aXN0aWNzU3VicmVzb3VyY2VVbmlxdWVSZWRpcmVjdFRvKERPTVN0
cmluZyBob3N0TmFtZSwgRE9NU3RyaW5nIGhvc3ROYW1lUmVkaXJlY3RlZFRvKTsKICAgICB2b2lk
IHNldFN0YXRpc3RpY3NUaW1lVG9MaXZlVXNlckludGVyYWN0aW9uKGRvdWJsZSBzZWNvbmRzKTsK
ICAgICB2b2lkIHN0YXRpc3RpY3NGaXJlRGF0YU1vZGlmaWNhdGlvbkhhbmRsZXIoKTsKICAgICB2
b2lkIHNldFN0YXRpc3RpY3NOb3RpZnlQYWdlc1doZW5EYXRhUmVjb3Jkc1dlcmVTY2FubmVkKGJv
b2xlYW4gdmFsdWUpOwpJbmRleDogV2ViS2l0TGlicmFyaWVzL0NoYW5nZUxvZwo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBXZWJLaXRMaWJyYXJpZXMvQ2hhbmdlTG9nCShyZXZpc2lvbiAyMTI4OTgpCisrKyBXZWJL
aXRMaWJyYXJpZXMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTYgQEAKKzIw
MTctMDItMjMgIEpvaG4gV2lsYW5kZXIgIDx3aWxhbmRlckBhcHBsZS5jb20+CisKKyAgICAgICAg
UmVzb3VyY2UgTG9hZCBTdGF0aXN0aWNzOiBBZGQgYWx0ZXJuYXRlIGNsYXNzaWZpY2F0aW9uIG1l
dGhvZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY4
MzQ3CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8zMDM1Mjc5Mz4KKyAgICAgICAgPHJkYXI6Ly9w
cm9ibGVtLzMwNjQ2NzEwPgorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMzA2NjA3MDg+CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXZWJLaXRQcml2
YXRlRnJhbWV3b3JrU3R1YnMvaU9TLzEwL0NvcmVQcmVkaWN0aW9uLmZyYW1ld29yay9Db3JlUHJl
ZGljdGlvbi50YmQ6IEFkZGVkLgorICAgICAgICAgICAgU3R1YnMgZm9yIHByaXZhdGUgZnJhbWV3
b3JrLgorCiAyMDE3LTAyLTIwICBSeWFuIEhhZGRhZCAgPHJ5YW5oYWRkYWRAYXBwbGUuY29tPgog
CiAgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHIyMTI2ODUuCkluZGV4OiBXZWJLaXRM
aWJyYXJpZXMvV2ViS2l0UHJpdmF0ZUZyYW1ld29ya1N0dWJzL2lPUy8xMC9Db3JlUHJlZGljdGlv
bi5mcmFtZXdvcmsvQ29yZVByZWRpY3Rpb24udGJkCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdExpYnJh
cmllcy9XZWJLaXRQcml2YXRlRnJhbWV3b3JrU3R1YnMvaU9TLzEwL0NvcmVQcmVkaWN0aW9uLmZy
YW1ld29yay9Db3JlUHJlZGljdGlvbi50YmQJKG5vbmV4aXN0ZW50KQorKysgV2ViS2l0TGlicmFy
aWVzL1dlYktpdFByaXZhdGVGcmFtZXdvcmtTdHVicy9pT1MvMTAvQ29yZVByZWRpY3Rpb24uZnJh
bWV3b3JrL0NvcmVQcmVkaWN0aW9uLnRiZAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDE4IEBA
CistLS0gIXRhcGktdGJkLXYyCithcmNoczoKKyAgLSBhcm12NworICAtIGFybXY3cworICAtIGFy
bTY0CitleHBvcnRzOgorICAtCisgICAgYXJjaHM6CisgICAgICAtIGFybXY3CisgICAgICAtIGFy
bXY3cworICAgICAgLSBhcm02NAorICAgIHN5bWJvbHM6CisgICAgICAtIF9zdm1fbG9hZF9tb2Rl
bAorICAgICAgLSBfc3ZtX3ByZWRpY3RfdmFsdWVzCitpbnN0YWxsLW5hbWU6IC9TeXN0ZW0vTGli
cmFyeS9Qcml2YXRlRnJhbWV3b3Jrcy9Db3JlUHJlZGljdGlvbi5mcmFtZXdvcmsKK29iamMtY29u
c3RyYWludDogbm9uZQorcGxhdGZvcm06IGlvcworLi4uCkluZGV4OiBMYXlvdXRUZXN0cy9DaGFu
Z2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCShyZXZpc2lvbiAyMTI4
OTgpCisrKyBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSw0
NSBAQAorMjAxNy0wMi0yMyAgSm9obiBXaWxhbmRlciAgPHdpbGFuZGVyQGFwcGxlLmNvbT4KKwor
ICAgICAgICBSZXNvdXJjZSBMb2FkIFN0YXRpc3RpY3M6IEFkZCBhbHRlcm5hdGUgY2xhc3NpZmlj
YXRpb24gbWV0aG9kCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xNjgzNDcKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzMwMzUyNzkzPgorICAgICAgICA8
cmRhcjovL3Byb2JsZW0vMzA2NDY3MTA+CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8zMDY2MDcw
OD4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGh0
dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLW5vbi1w
cmV2YWxlbnQtYmFzZWQtb24tbWl4ZWQtc3RhdGlzdGljcy1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGh0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNz
aWZ5LWFzLW5vbi1wcmV2YWxlbnQtYmFzZWQtb24tbWl4ZWQtc3RhdGlzdGljcy5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9j
bGFzc2lmeS1hcy1ub24tcHJldmFsZW50LWJhc2VkLW9uLXN1Yi1mcmFtZS11bmRlci10b3AtZnJh
bWUtb3JpZ2lucy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvbG9h
ZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLW5vbi1wcmV2YWxlbnQtYmFz
ZWQtb24tc3ViLWZyYW1lLXVuZGVyLXRvcC1mcmFtZS1vcmlnaW5zLmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIGh0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5
LWFzLW5vbi1wcmV2YWxlbnQtYmFzZWQtb24tc3VicmVzb3VyY2UtdW5kZXItdG9wLWZyYW1lLW9y
aWdpbnMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2xvYWRpbmcv
cmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1ub24tcHJldmFsZW50LWJhc2VkLW9u
LXN1YnJlc291cmNlLXVuZGVyLXRvcC1mcmFtZS1vcmlnaW5zLmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIGh0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFz
LW5vbi1wcmV2YWxlbnQtYmFzZWQtb24tc3VicmVzb3VyY2UtdW5pcXVlLXJlZGlyZWN0cy10by1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLW5vbi1wcmV2YWxlbnQtYmFzZWQtb24tc3VicmVz
b3VyY2UtdW5pcXVlLXJlZGlyZWN0cy10by5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rl
c3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1wcmV2YWxlbnQt
YmFzZWQtb24tbWl4ZWQtc3RhdGlzdGljcy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGh0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLXBy
ZXZhbGVudC1iYXNlZC1vbi1taXhlZC1zdGF0aXN0aWNzLmh0bWw6IEFkZGVkLgorICAgICAgICAq
IGh0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLXBy
ZXZhbGVudC1iYXNlZC1vbi1zdWItZnJhbWUtdW5kZXItdG9wLWZyYW1lLW9yaWdpbnMtZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2Fk
U3RhdGlzdGljcy9jbGFzc2lmeS1hcy1wcmV2YWxlbnQtYmFzZWQtb24tc3ViLWZyYW1lLXVuZGVy
LXRvcC1mcmFtZS1vcmlnaW5zLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvbG9h
ZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLXByZXZhbGVudC1iYXNlZC1v
bi1zdWJyZXNvdXJjZS11bmRlci10b3AtZnJhbWUtb3JpZ2lucy1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGh0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2Ns
YXNzaWZ5LWFzLXByZXZhbGVudC1iYXNlZC1vbi1zdWJyZXNvdXJjZS11bmRlci10b3AtZnJhbWUt
b3JpZ2lucy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3Vy
Y2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1wcmV2YWxlbnQtYmFzZWQtb24tc3VicmVzb3Vy
Y2UtdW5pcXVlLXJlZGlyZWN0cy10by1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0
dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLXByZXZh
bGVudC1iYXNlZC1vbi1zdWJyZXNvdXJjZS11bmlxdWUtcmVkaXJlY3RzLXRvLmh0bWw6IEFkZGVk
LgorICAgICAgICAqIGh0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL25v
bi1wcmV2YWxlbnQtcmVzb3VyY2Utd2l0aC11c2VyLWludGVyYWN0aW9uLmh0bWw6CisgICAgICAg
ICAgICBBZGRlZCBhIGNhbGwgdG8gaW50ZXJuYWxzLnNldFJlc291cmNlTG9hZFN0YXRpc3RpY3NF
bmFibGVkKGZhbHNlKSBiZWZvcmUgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCkuCisgICAgICAgICog
aHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvbm9uLXByZXZhbGVudC1y
ZXNvdXJjZS13aXRob3V0LXVzZXItaW50ZXJhY3Rpb24uaHRtbDoKKyAgICAgICAgICAgIEFkZGVk
IGEgY2FsbCB0byBpbnRlcm5hbHMuc2V0UmVzb3VyY2VMb2FkU3RhdGlzdGljc0VuYWJsZWQoZmFs
c2UpIGJlZm9yZSB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKS4KKyAgICAgICAgKiBodHRwL3Rlc3Rz
L2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9wcmV2YWxlbnQtcmVzb3VyY2Utd2l0aC11
c2VyLWludGVyYWN0aW9uLXRpbWVvdXQuaHRtbDoKKyAgICAgICAgICAgIEFkZGVkIGEgY2FsbCB0
byBpbnRlcm5hbHMuc2V0UmVzb3VyY2VMb2FkU3RhdGlzdGljc0VuYWJsZWQoZmFsc2UpIGJlZm9y
ZSB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKS4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2xvYWRpbmcv
cmVzb3VyY2VMb2FkU3RhdGlzdGljcy9wcmV2YWxlbnQtcmVzb3VyY2Utd2l0aC11c2VyLWludGVy
YWN0aW9uLmh0bWw6CisgICAgICAgICAgICBBZGRlZCBhIGNhbGwgdG8gaW50ZXJuYWxzLnNldFJl
c291cmNlTG9hZFN0YXRpc3RpY3NFbmFibGVkKGZhbHNlKSBiZWZvcmUgdGVzdFJ1bm5lci5ub3Rp
ZnlEb25lKCkuCisgICAgICAgICogaHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0YXRp
c3RpY3MvcHJldmFsZW50LXJlc291cmNlLXdpdGhvdXQtdXNlci1pbnRlcmFjdGlvbi5odG1sOgor
ICAgICAgICAgICAgQWRkZWQgYSBjYWxsIHRvIGludGVybmFscy5zZXRSZXNvdXJjZUxvYWRTdGF0
aXN0aWNzRW5hYmxlZChmYWxzZSkgYmVmb3JlIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpLgorICAg
ICAgICAqIHBsYXRmb3JtL2d0ay9UZXN0RXhwZWN0YXRpb25zOgorICAgICAgICAgICAgVGhlIHdo
b2xlIGh0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzIG1hcmtlZCBhcyBj
cmFzaGluZyBiYXNlZCBvbgorICAgICAgICAgICAgQ2FybG9zIEdhcmNpYSBDYW1wb3MncyBhc3Nl
c3NtZW50IGluIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjgxNzEu
CisgICAgICAgICogcGxhdGZvcm0vd2syL1Rlc3RFeHBlY3RhdGlvbnM6CisgICAgICAgICAgICBU
aGUgYWJvdmUgdGVzdHMgYXJlIG9ubHkgdmFsaWQgZm9yIFdlYktpdDIuIE1hcmtlZCBhcyBbIFBh
c3MgXS4KKwogMjAxNy0wMi0yMyAgQ2FybG9zIEFsYmVydG8gTG9wZXogUGVyZXogIDxjbG9wZXpA
aWdhbGlhLmNvbT4KIAogICAgICAgICBbR1RLXSBHYXJkZW5pbmcgb2Ygc29tZSBmbGFreSB0ZXN0
cwpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0YXRp
c3RpY3MvY2xhc3NpZnktYXMtbm9uLXByZXZhbGVudC1iYXNlZC1vbi1taXhlZC1zdGF0aXN0aWNz
LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2xvYWRp
bmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1ub24tcHJldmFsZW50LWJhc2Vk
LW9uLW1peGVkLXN0YXRpc3RpY3MtZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKKysrIExheW91
dFRlc3RzL2h0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5
LWFzLW5vbi1wcmV2YWxlbnQtYmFzZWQtb24tbWl4ZWQtc3RhdGlzdGljcy1leHBlY3RlZC50eHQJ
KHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw4IEBACittYWluIGZyYW1lIC0gZGlkU3RhcnRQcm92
aXNpb25hbExvYWRGb3JGcmFtZQorbWFpbiBmcmFtZSAtIGRpZENvbW1pdExvYWRGb3JGcmFtZQor
bWFpbiBmcmFtZSAtIGRpZFJlY2VpdmVUaXRsZTogVGVzdHMgZm9yIENsYXNzaWZpY2F0aW9uIEJh
c2VkIG9uIE1peGVkIFN0YXRpc3RpY3MKK21haW4gZnJhbWUgLSBkaWRGaW5pc2hEb2N1bWVudExv
YWRGb3JGcmFtZQorbWFpbiBmcmFtZSAtIGRpZEhhbmRsZU9ubG9hZEV2ZW50c0ZvckZyYW1lCitt
YWluIGZyYW1lIC0gZGlkRmluaXNoTG9hZEZvckZyYW1lCitQQVNTIEhvc3QgZGlkIG5vdCBnZXQg
Y2xhc3NpZmllZCBhcyBwcmV2YWxlbnQgcmVzb3VyY2UuCisKSW5kZXg6IExheW91dFRlc3RzL2h0
dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLW5vbi1w
cmV2YWxlbnQtYmFzZWQtb24tbWl4ZWQtc3RhdGlzdGljcy5odG1sCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL2h0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNz
aWZ5LWFzLW5vbi1wcmV2YWxlbnQtYmFzZWQtb24tbWl4ZWQtc3RhdGlzdGljcy5odG1sCShub25l
eGlzdGVudCkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRT
dGF0aXN0aWNzL2NsYXNzaWZ5LWFzLW5vbi1wcmV2YWxlbnQtYmFzZWQtb24tbWl4ZWQtc3RhdGlz
dGljcy5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNDIgQEAKKzwhRE9DVFlQRSBodG1s
PgorPGh0bWwgbGFuZz0iZW4iPgorPGhlYWQ+CisgICAgPG1ldGEgY2hhcnNldD0iVVRGLTgiPgor
ICAgIDx0aXRsZT5UZXN0cyBmb3IgQ2xhc3NpZmljYXRpb24gQmFzZWQgb24gTWl4ZWQgU3RhdGlz
dGljczwvdGl0bGU+CisgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBy
ZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQ+CisgICAgY29uc3QgaG9z
dFVuZGVyVGVzdCA9ICIxMjcuMC4wLjE6ODAwMCI7CisgICAgY29uc3Qgc3RhdGlzdGljc1VybCA9
ICJodHRwOi8vIiArIGhvc3RVbmRlclRlc3QgKyAiL3RlbXAiOworICAgIGNvbnN0IHRvcEZyYW1l
T3JpZ2luMSA9ICJodHRwOi8vMTI3LjAuMC4yOjgwMDAvdGVtcCI7CisgICAgY29uc3QgdG9wRnJh
bWVPcmlnaW4yID0gImh0dHA6Ly8xMjcuMC4wLjM6ODAwMC90ZW1wIjsKKyAgICBjb25zdCB0b3BG
cmFtZU9yaWdpbjMgPSAiaHR0cDovLzEyNy4wLjAuNDo4MDAwL3RlbXAiOworICAgIGZ1bmN0aW9u
IHJ1blRlc3RSdW5uZXJUZXN0KCkgeworICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NQ
cmV2YWxlbnRSZXNvdXJjZShzdGF0aXN0aWNzVXJsLCBmYWxzZSk7CisgICAgICAgIGlmICh0ZXN0
UnVubmVyLmlzU3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNlKHN0YXRpc3RpY3NVcmwpKQorICAg
ICAgICAgICAgdGVzdEZhaWxlZCgiSG9zdCBkaWQgbm90IGdldCBzZXQgYXMgbm9uLXByZXZhbGVu
dCByZXNvdXJjZS4iKTsKKworICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NTdWJmcmFt
ZVVuZGVyVG9wRnJhbWVPcmlnaW4oc3RhdGlzdGljc1VybCwgdG9wRnJhbWVPcmlnaW4xKTsKKyAg
ICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzU3VicmVzb3VyY2VVbmRlclRvcEZyYW1lT3Jp
Z2luKHN0YXRpc3RpY3NVcmwsIHRvcEZyYW1lT3JpZ2luMik7CisgICAgICAgIHRlc3RSdW5uZXIu
c2V0U3RhdGlzdGljc1N1YnJlc291cmNlVW5pcXVlUmVkaXJlY3RUbyhzdGF0aXN0aWNzVXJsLCB0
b3BGcmFtZU9yaWdpbjMpOworCisgICAgICAgIHRlc3RSdW5uZXIuc3RhdGlzdGljc0ZpcmVEYXRh
TW9kaWZpY2F0aW9uSGFuZGxlcigpOworCisgICAgICAgIGlmICh0ZXN0UnVubmVyLmlzU3RhdGlz
dGljc1ByZXZhbGVudFJlc291cmNlKHN0YXRpc3RpY3NVcmwpKQorICAgICAgICAgICAgdGVzdEZh
aWxlZCgiSG9zdCBjbGFzc2lmaWVkIGFzIHByZXZhbGVudCByZXNvdXJjZS4iKTsKKyAgICAgICAg
ZWxzZQorICAgICAgICAgICAgdGVzdFBhc3NlZCgiSG9zdCBkaWQgbm90IGdldCBjbGFzc2lmaWVk
IGFzIHByZXZhbGVudCByZXNvdXJjZS4iKTsKKworICAgICAgICB0ZXN0UnVubmVyLnN0YXRpc3Rp
Y3NSZXNldFRvQ29uc2lzdGVudFN0YXRlKCk7CisgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9u
ZSgpOworICAgIH0KKworICAgIGlmIChkb2N1bWVudC5sb2NhdGlvbi5ob3N0ID09PSBob3N0VW5k
ZXJUZXN0ICYmIHdpbmRvdy50ZXN0UnVubmVyICYmIHdpbmRvdy5pbnRlcm5hbHMpIHsKKyAgICAg
ICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7CisgICAgICAgIGludGVybmFscy5zZXRSZXNv
dXJjZUxvYWRTdGF0aXN0aWNzRW5hYmxlZCh0cnVlKTsKKyAgICAgICAgcnVuVGVzdFJ1bm5lclRl
c3QoKTsKKyAgICB9Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3Vy
Y2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1ub24tcHJldmFsZW50LWJhc2VkLW9uLXN1Yi1m
cmFtZS11bmRlci10b3AtZnJhbWUtb3JpZ2lucy1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xh
c3NpZnktYXMtbm9uLXByZXZhbGVudC1iYXNlZC1vbi1zdWItZnJhbWUtdW5kZXItdG9wLWZyYW1l
LW9yaWdpbnMtZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2h0dHAv
dGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLW5vbi1wcmV2
YWxlbnQtYmFzZWQtb24tc3ViLWZyYW1lLXVuZGVyLXRvcC1mcmFtZS1vcmlnaW5zLWV4cGVjdGVk
LnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDggQEAKK21haW4gZnJhbWUgLSBkaWRTdGFy
dFByb3Zpc2lvbmFsTG9hZEZvckZyYW1lCittYWluIGZyYW1lIC0gZGlkQ29tbWl0TG9hZEZvckZy
YW1lCittYWluIGZyYW1lIC0gZGlkUmVjZWl2ZVRpdGxlOiBUZXN0cyBmb3IgQ2xhc3NpZmljYXRp
b24gQmFzZWQgb24gU3ViIEZyYW1lIFVuZGVyIFRvcCBGcmFtZSBPcmlnaW5zCittYWluIGZyYW1l
IC0gZGlkRmluaXNoRG9jdW1lbnRMb2FkRm9yRnJhbWUKK21haW4gZnJhbWUgLSBkaWRIYW5kbGVP
bmxvYWRFdmVudHNGb3JGcmFtZQorbWFpbiBmcmFtZSAtIGRpZEZpbmlzaExvYWRGb3JGcmFtZQor
UEFTUyBIb3N0IGRpZCBub3QgZ2V0IGNsYXNzaWZpZWQgYXMgcHJldmFsZW50IHJlc291cmNlLgor
CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlz
dGljcy9jbGFzc2lmeS1hcy1ub24tcHJldmFsZW50LWJhc2VkLW9uLXN1Yi1mcmFtZS11bmRlci10
b3AtZnJhbWUtb3JpZ2lucy5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVz
dHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLW5vbi1wcmV2YWxl
bnQtYmFzZWQtb24tc3ViLWZyYW1lLXVuZGVyLXRvcC1mcmFtZS1vcmlnaW5zLmh0bWwJKG5vbmV4
aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0
YXRpc3RpY3MvY2xhc3NpZnktYXMtbm9uLXByZXZhbGVudC1iYXNlZC1vbi1zdWItZnJhbWUtdW5k
ZXItdG9wLWZyYW1lLW9yaWdpbnMuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDQyIEBA
Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1sIGxhbmc9ImVuIj4KKzxoZWFkPgorICAgIDxtZXRhIGNo
YXJzZXQ9IlVURi04Ij4KKyAgICA8dGl0bGU+VGVzdHMgZm9yIENsYXNzaWZpY2F0aW9uIEJhc2Vk
IG9uIFN1YiBGcmFtZSBVbmRlciBUb3AgRnJhbWUgT3JpZ2luczwvdGl0bGU+CisgICAgPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxzY3JpcHQ+CisgICAgY29uc3QgaG9zdFVuZGVyVGVzdCA9ICIxMjcuMC4wLjE6
ODAwMCI7CisgICAgY29uc3Qgc3RhdGlzdGljc1VybCA9ICJodHRwOi8vIiArIGhvc3RVbmRlclRl
c3QgKyAiL3RlbXAiOworICAgIGNvbnN0IHRvcEZyYW1lT3JpZ2luMSA9ICJodHRwOi8vMTI3LjAu
MC4yOjgwMDAvdGVtcCI7CisgICAgY29uc3QgdG9wRnJhbWVPcmlnaW4yID0gImh0dHA6Ly8xMjcu
MC4wLjM6ODAwMC90ZW1wIjsKKyAgICBjb25zdCB0b3BGcmFtZU9yaWdpbjMgPSAiaHR0cDovLzEy
Ny4wLjAuNDo4MDAwL3RlbXAiOworICAgIGZ1bmN0aW9uIHJ1blRlc3RSdW5uZXJUZXN0KCkgewor
ICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJjZShzdGF0aXN0
aWNzVXJsLCBmYWxzZSk7CisgICAgICAgIGlmICh0ZXN0UnVubmVyLmlzU3RhdGlzdGljc1ByZXZh
bGVudFJlc291cmNlKHN0YXRpc3RpY3NVcmwpKQorICAgICAgICAgICAgdGVzdEZhaWxlZCgiSG9z
dCBkaWQgbm90IGdldCBzZXQgYXMgbm9uLXByZXZhbGVudCByZXNvdXJjZS4iKTsKKworICAgICAg
ICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NTdWJmcmFtZVVuZGVyVG9wRnJhbWVPcmlnaW4oc3Rh
dGlzdGljc1VybCwgdG9wRnJhbWVPcmlnaW4xKTsKKyAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0
aXN0aWNzU3ViZnJhbWVVbmRlclRvcEZyYW1lT3JpZ2luKHN0YXRpc3RpY3NVcmwsIHRvcEZyYW1l
T3JpZ2luMik7CisgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1N1YmZyYW1lVW5kZXJU
b3BGcmFtZU9yaWdpbihzdGF0aXN0aWNzVXJsLCB0b3BGcmFtZU9yaWdpbjMpOworCisgICAgICAg
IHRlc3RSdW5uZXIuc3RhdGlzdGljc0ZpcmVEYXRhTW9kaWZpY2F0aW9uSGFuZGxlcigpOworCisg
ICAgICAgIGlmICh0ZXN0UnVubmVyLmlzU3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNlKHN0YXRp
c3RpY3NVcmwpKQorICAgICAgICAgICAgdGVzdEZhaWxlZCgiSG9zdCBjbGFzc2lmaWVkIGFzIHBy
ZXZhbGVudCByZXNvdXJjZS4iKTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgdGVzdFBhc3Nl
ZCgiSG9zdCBkaWQgbm90IGdldCBjbGFzc2lmaWVkIGFzIHByZXZhbGVudCByZXNvdXJjZS4iKTsK
KworICAgICAgICB0ZXN0UnVubmVyLnN0YXRpc3RpY3NSZXNldFRvQ29uc2lzdGVudFN0YXRlKCk7
CisgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOworICAgIH0KKworICAgIGlmIChkb2N1
bWVudC5sb2NhdGlvbi5ob3N0ID09PSBob3N0VW5kZXJUZXN0ICYmIHdpbmRvdy50ZXN0UnVubmVy
ICYmIHdpbmRvdy5pbnRlcm5hbHMpIHsKKyAgICAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25l
KCk7CisgICAgICAgIGludGVybmFscy5zZXRSZXNvdXJjZUxvYWRTdGF0aXN0aWNzRW5hYmxlZCh0
cnVlKTsKKyAgICAgICAgcnVuVGVzdFJ1bm5lclRlc3QoKTsKKyAgICB9Cis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCkluZGV4OiBMYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1h
cy1ub24tcHJldmFsZW50LWJhc2VkLW9uLXN1YnJlc291cmNlLXVuZGVyLXRvcC1mcmFtZS1vcmln
aW5zLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2xv
YWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1ub24tcHJldmFsZW50LWJh
c2VkLW9uLXN1YnJlc291cmNlLXVuZGVyLXRvcC1mcmFtZS1vcmlnaW5zLWV4cGVjdGVkLnR4dAko
bm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VM
b2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1ub24tcHJldmFsZW50LWJhc2VkLW9uLXN1YnJlc291
cmNlLXVuZGVyLXRvcC1mcmFtZS1vcmlnaW5zLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpA
QCAtMCwwICsxLDggQEAKK21haW4gZnJhbWUgLSBkaWRTdGFydFByb3Zpc2lvbmFsTG9hZEZvckZy
YW1lCittYWluIGZyYW1lIC0gZGlkQ29tbWl0TG9hZEZvckZyYW1lCittYWluIGZyYW1lIC0gZGlk
UmVjZWl2ZVRpdGxlOiBUZXN0cyBmb3IgQ2xhc3NpZmljYXRpb24gQmFzZWQgb24gU3VicmVzb3Vy
Y2UgVW5kZXIgVG9wIEZyYW1lIE9yaWdpbnMKK21haW4gZnJhbWUgLSBkaWRGaW5pc2hEb2N1bWVu
dExvYWRGb3JGcmFtZQorbWFpbiBmcmFtZSAtIGRpZEhhbmRsZU9ubG9hZEV2ZW50c0ZvckZyYW1l
CittYWluIGZyYW1lIC0gZGlkRmluaXNoTG9hZEZvckZyYW1lCitQQVNTIEhvc3QgZGlkIG5vdCBn
ZXQgY2xhc3NpZmllZCBhcyBwcmV2YWxlbnQgcmVzb3VyY2UuCisKSW5kZXg6IExheW91dFRlc3Rz
L2h0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLW5v
bi1wcmV2YWxlbnQtYmFzZWQtb24tc3VicmVzb3VyY2UtdW5kZXItdG9wLWZyYW1lLW9yaWdpbnMu
aHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3Vy
Y2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1ub24tcHJldmFsZW50LWJhc2VkLW9uLXN1YnJl
c291cmNlLXVuZGVyLXRvcC1mcmFtZS1vcmlnaW5zLmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3Np
ZnktYXMtbm9uLXByZXZhbGVudC1iYXNlZC1vbi1zdWJyZXNvdXJjZS11bmRlci10b3AtZnJhbWUt
b3JpZ2lucy5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNDAgQEAKKzwhRE9DVFlQRSBo
dG1sPgorPGh0bWwgbGFuZz0iZW4iPgorPGhlYWQ+CisgICAgPG1ldGEgY2hhcnNldD0iVVRGLTgi
PgorICAgIDx0aXRsZT5UZXN0cyBmb3IgQ2xhc3NpZmljYXRpb24gQmFzZWQgb24gU3VicmVzb3Vy
Y2UgVW5kZXIgVG9wIEZyYW1lIE9yaWdpbnM8L3RpdGxlPgorICAgIDxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8
c2NyaXB0PgorICAgIGNvbnN0IGhvc3RVbmRlclRlc3QgPSAiMTI3LjAuMC4xOjgwMDAiOworICAg
IGNvbnN0IHN0YXRpc3RpY3NVcmwgPSAiaHR0cDovLyIgKyBob3N0VW5kZXJUZXN0ICsgIi90ZW1w
IjsKKyAgICBjb25zdCB0b3BGcmFtZU9yaWdpbjEgPSAiaHR0cDovLzEyNy4wLjAuMjo4MDAwL3Rl
bXAiOworICAgIGNvbnN0IHRvcEZyYW1lT3JpZ2luMiA9ICJodHRwOi8vMTI3LjAuMC4zOjgwMDAv
dGVtcCI7CisgICAgZnVuY3Rpb24gcnVuVGVzdFJ1bm5lclRlc3QoKSB7CisgICAgICAgIHRlc3RS
dW5uZXIuc2V0U3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNlKHN0YXRpc3RpY3NVcmwsIGZhbHNl
KTsKKyAgICAgICAgaWYgKHRlc3RSdW5uZXIuaXNTdGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2Uo
c3RhdGlzdGljc1VybCkpCisgICAgICAgICAgICB0ZXN0RmFpbGVkKCJIb3N0IGRpZCBub3QgZ2V0
IHNldCBhcyBub24tcHJldmFsZW50IHJlc291cmNlLiIpOworCisgICAgICAgIHRlc3RSdW5uZXIu
c2V0U3RhdGlzdGljc1N1YnJlc291cmNlVW5kZXJUb3BGcmFtZU9yaWdpbihzdGF0aXN0aWNzVXJs
LCB0b3BGcmFtZU9yaWdpbjEpOworICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NTdWJy
ZXNvdXJjZVVuZGVyVG9wRnJhbWVPcmlnaW4oc3RhdGlzdGljc1VybCwgdG9wRnJhbWVPcmlnaW4y
KTsKKworICAgICAgICB0ZXN0UnVubmVyLnN0YXRpc3RpY3NGaXJlRGF0YU1vZGlmaWNhdGlvbkhh
bmRsZXIoKTsKKworICAgICAgICBpZiAodGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NQcmV2YWxlbnRS
ZXNvdXJjZShzdGF0aXN0aWNzVXJsKSkKKyAgICAgICAgICAgIHRlc3RGYWlsZWQoIkhvc3QgY2xh
c3NpZmllZCBhcyBwcmV2YWxlbnQgcmVzb3VyY2UuIik7CisgICAgICAgIGVsc2UKKyAgICAgICAg
ICAgIHRlc3RQYXNzZWQoIkhvc3QgZGlkIG5vdCBnZXQgY2xhc3NpZmllZCBhcyBwcmV2YWxlbnQg
cmVzb3VyY2UuIik7CisKKyAgICAgICAgdGVzdFJ1bm5lci5zdGF0aXN0aWNzUmVzZXRUb0NvbnNp
c3RlbnRTdGF0ZSgpOworICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKKyAgICB9CisK
KyAgICBpZiAoZG9jdW1lbnQubG9jYXRpb24uaG9zdCA9PT0gaG9zdFVuZGVyVGVzdCAmJiB3aW5k
b3cudGVzdFJ1bm5lciAmJiB3aW5kb3cuaW50ZXJuYWxzKSB7CisgICAgICAgIHRlc3RSdW5uZXIu
d2FpdFVudGlsRG9uZSgpOworICAgICAgICBpbnRlcm5hbHMuc2V0UmVzb3VyY2VMb2FkU3RhdGlz
dGljc0VuYWJsZWQodHJ1ZSk7CisgICAgICAgIHJ1blRlc3RSdW5uZXJUZXN0KCk7CisgICAgfQor
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpJ
bmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0YXRpc3Rp
Y3MvY2xhc3NpZnktYXMtbm9uLXByZXZhbGVudC1iYXNlZC1vbi1zdWJyZXNvdXJjZS11bmlxdWUt
cmVkaXJlY3RzLXRvLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1ub24tcHJl
dmFsZW50LWJhc2VkLW9uLXN1YnJlc291cmNlLXVuaXF1ZS1yZWRpcmVjdHMtdG8tZXhwZWN0ZWQu
dHh0CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvbG9hZGluZy9yZXNv
dXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLW5vbi1wcmV2YWxlbnQtYmFzZWQtb24tc3Vi
cmVzb3VyY2UtdW5pcXVlLXJlZGlyZWN0cy10by1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkK
QEAgLTAsMCArMSw4IEBACittYWluIGZyYW1lIC0gZGlkU3RhcnRQcm92aXNpb25hbExvYWRGb3JG
cmFtZQorbWFpbiBmcmFtZSAtIGRpZENvbW1pdExvYWRGb3JGcmFtZQorbWFpbiBmcmFtZSAtIGRp
ZFJlY2VpdmVUaXRsZTogVGVzdHMgZm9yIENsYXNzaWZpY2F0aW9uIEJhc2VkIG9uIFN1YnJlc291
cmNlIFVuaXF1ZSBSZWRpcmVjdHMgVG8KK21haW4gZnJhbWUgLSBkaWRGaW5pc2hEb2N1bWVudExv
YWRGb3JGcmFtZQorbWFpbiBmcmFtZSAtIGRpZEhhbmRsZU9ubG9hZEV2ZW50c0ZvckZyYW1lCitt
YWluIGZyYW1lIC0gZGlkRmluaXNoTG9hZEZvckZyYW1lCitQQVNTIEhvc3QgZGlkIG5vdCBnZXQg
Y2xhc3NpZmllZCBhcyBwcmV2YWxlbnQgcmVzb3VyY2UuCisKSW5kZXg6IExheW91dFRlc3RzL2h0
dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLW5vbi1w
cmV2YWxlbnQtYmFzZWQtb24tc3VicmVzb3VyY2UtdW5pcXVlLXJlZGlyZWN0cy10by5odG1sCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRT
dGF0aXN0aWNzL2NsYXNzaWZ5LWFzLW5vbi1wcmV2YWxlbnQtYmFzZWQtb24tc3VicmVzb3VyY2Ut
dW5pcXVlLXJlZGlyZWN0cy10by5odG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2h0
dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLW5vbi1w
cmV2YWxlbnQtYmFzZWQtb24tc3VicmVzb3VyY2UtdW5pcXVlLXJlZGlyZWN0cy10by5odG1sCSh3
b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNDEgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWwgbGFu
Zz0iZW4iPgorPGhlYWQ+CisgICAgPG1ldGEgY2hhcnNldD0iVVRGLTgiPgorICAgIDx0aXRsZT5U
ZXN0cyBmb3IgQ2xhc3NpZmljYXRpb24gQmFzZWQgb24gU3VicmVzb3VyY2UgVW5pcXVlIFJlZGly
ZWN0cyBUbzwvdGl0bGU+CisgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQ+CisgICAgY29uc3Qg
aG9zdFVuZGVyVGVzdCA9ICIxMjcuMC4wLjE6ODAwMCI7CisgICAgY29uc3Qgc3RhdGlzdGljc1Vy
bCA9ICJodHRwOi8vIiArIGhvc3RVbmRlclRlc3QgKyAiL3RlbXAiOworICAgIGNvbnN0IHRvcEZy
YW1lT3JpZ2luMSA9ICJodHRwOi8vMTI3LjAuMC4yOjgwMDAvdGVtcCI7CisgICAgY29uc3QgdG9w
RnJhbWVPcmlnaW4yID0gImh0dHA6Ly8xMjcuMC4wLjM6ODAwMC90ZW1wIjsKKyAgICBmdW5jdGlv
biBydW5UZXN0UnVubmVyVGVzdCgpIHsKKyAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNz
UHJldmFsZW50UmVzb3VyY2Uoc3RhdGlzdGljc1VybCwgZmFsc2UpOworICAgICAgICBpZiAodGVz
dFJ1bm5lci5pc1N0YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJjZShzdGF0aXN0aWNzVXJsKSkKKyAg
ICAgICAgICAgIHRlc3RGYWlsZWQoIkhvc3QgZGlkIG5vdCBnZXQgc2V0IGFzIG5vbi1wcmV2YWxl
bnQgcmVzb3VyY2UuIik7CisKKyAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzU3VicmVz
b3VyY2VVbmlxdWVSZWRpcmVjdFRvKHN0YXRpc3RpY3NVcmwsIHRvcEZyYW1lT3JpZ2luMSk7Cisg
ICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1N1YnJlc291cmNlVW5pcXVlUmVkaXJlY3RU
byhzdGF0aXN0aWNzVXJsLCB0b3BGcmFtZU9yaWdpbjIpOworCisgICAgICAgIHRlc3RSdW5uZXIu
c3RhdGlzdGljc0ZpcmVEYXRhTW9kaWZpY2F0aW9uSGFuZGxlcigpOworCisgICAgICAgIGlmICh0
ZXN0UnVubmVyLmlzU3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNlKHN0YXRpc3RpY3NVcmwpKQor
ICAgICAgICAgICAgdGVzdEZhaWxlZCgiSG9zdCBjbGFzc2lmaWVkIGFzIHByZXZhbGVudCByZXNv
dXJjZS4iKTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgdGVzdFBhc3NlZCgiSG9zdCBkaWQg
bm90IGdldCBjbGFzc2lmaWVkIGFzIHByZXZhbGVudCByZXNvdXJjZS4iKTsKKworICAgICAgICB0
ZXN0UnVubmVyLnN0YXRpc3RpY3NSZXNldFRvQ29uc2lzdGVudFN0YXRlKCk7CisgICAgICAgIGlu
dGVybmFscy5zZXRSZXNvdXJjZUxvYWRTdGF0aXN0aWNzRW5hYmxlZChmYWxzZSk7CisgICAgICAg
IHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOworICAgIH0KKworICAgIGlmIChkb2N1bWVudC5sb2Nh
dGlvbi5ob3N0ID09PSBob3N0VW5kZXJUZXN0ICYmIHdpbmRvdy50ZXN0UnVubmVyICYmIHdpbmRv
dy5pbnRlcm5hbHMpIHsKKyAgICAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7CisgICAg
ICAgIGludGVybmFscy5zZXRSZXNvdXJjZUxvYWRTdGF0aXN0aWNzRW5hYmxlZCh0cnVlKTsKKyAg
ICAgICAgcnVuVGVzdFJ1bm5lclRlc3QoKTsKKyAgICB9Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCkluZGV4OiBMYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1wcmV2YWxl
bnQtYmFzZWQtb24tbWl4ZWQtc3RhdGlzdGljcy1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xh
c3NpZnktYXMtcHJldmFsZW50LWJhc2VkLW9uLW1peGVkLXN0YXRpc3RpY3MtZXhwZWN0ZWQudHh0
CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLXByZXZhbGVudC1iYXNlZC1vbi1taXhlZC1zdGF0
aXN0aWNzLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDggQEAKK21haW4g
ZnJhbWUgLSBkaWRTdGFydFByb3Zpc2lvbmFsTG9hZEZvckZyYW1lCittYWluIGZyYW1lIC0gZGlk
Q29tbWl0TG9hZEZvckZyYW1lCittYWluIGZyYW1lIC0gZGlkUmVjZWl2ZVRpdGxlOiBUZXN0cyBm
b3IgQ2xhc3NpZmljYXRpb24gQmFzZWQgb24gTWl4ZWQgU3RhdGlzdGljcworbWFpbiBmcmFtZSAt
IGRpZEZpbmlzaERvY3VtZW50TG9hZEZvckZyYW1lCittYWluIGZyYW1lIC0gZGlkSGFuZGxlT25s
b2FkRXZlbnRzRm9yRnJhbWUKK21haW4gZnJhbWUgLSBkaWRGaW5pc2hMb2FkRm9yRnJhbWUKK1BB
U1MgSG9zdCBjbGFzc2lmaWVkIGFzIHByZXZhbGVudCByZXNvdXJjZS4KKwpJbmRleDogTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnkt
YXMtcHJldmFsZW50LWJhc2VkLW9uLW1peGVkLXN0YXRpc3RpY3MuaHRtbAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9j
bGFzc2lmeS1hcy1wcmV2YWxlbnQtYmFzZWQtb24tbWl4ZWQtc3RhdGlzdGljcy5odG1sCShub25l
eGlzdGVudCkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRT
dGF0aXN0aWNzL2NsYXNzaWZ5LWFzLXByZXZhbGVudC1iYXNlZC1vbi1taXhlZC1zdGF0aXN0aWNz
Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw1MCBAQAorPCFET0NUWVBFIGh0bWw+Cis8
aHRtbCBsYW5nPSJlbiI+Cis8aGVhZD4KKyAgICA8bWV0YSBjaGFyc2V0PSJVVEYtOCI+CisgICAg
PHRpdGxlPlRlc3RzIGZvciBDbGFzc2lmaWNhdGlvbiBCYXNlZCBvbiBNaXhlZCBTdGF0aXN0aWNz
PC90aXRsZT4KKyAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdD4KKyAgICBjb25zdCBob3N0VW5k
ZXJUZXN0ID0gIjEyNy4wLjAuMTo4MDAwIjsKKyAgICBjb25zdCBzdGF0aXN0aWNzVXJsID0gImh0
dHA6Ly8iICsgaG9zdFVuZGVyVGVzdCArICIvdGVtcCI7CisgICAgY29uc3QgdG9wRnJhbWVPcmln
aW4xID0gImh0dHA6Ly8xMjcuMC4wLjI6ODAwMC90ZW1wIjsKKyAgICBjb25zdCB0b3BGcmFtZU9y
aWdpbjIgPSAiaHR0cDovLzEyNy4wLjAuMzo4MDAwL3RlbXAiOworICAgIGNvbnN0IHRvcEZyYW1l
T3JpZ2luMyA9ICJodHRwOi8vMTI3LjAuMC40OjgwMDAvdGVtcCI7CisgICAgY29uc3QgdG9wRnJh
bWVPcmlnaW40ID0gImh0dHA6Ly8xMjcuMC4wLjU6ODAwMC90ZW1wIjsKKyAgICBmdW5jdGlvbiBy
dW5UZXN0UnVubmVyVGVzdCgpIHsKKyAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzUHJl
dmFsZW50UmVzb3VyY2Uoc3RhdGlzdGljc1VybCwgZmFsc2UpOworICAgICAgICBpZiAodGVzdFJ1
bm5lci5pc1N0YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJjZShzdGF0aXN0aWNzVXJsKSkKKyAgICAg
ICAgICAgIHRlc3RGYWlsZWQoIkhvc3QgZGlkIG5vdCBnZXQgc2V0IGFzIG5vbi1wcmV2YWxlbnQg
cmVzb3VyY2UuIik7CisKKyAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzU3ViZnJhbWVV
bmRlclRvcEZyYW1lT3JpZ2luKHN0YXRpc3RpY3NVcmwsIHRvcEZyYW1lT3JpZ2luMSk7CisgICAg
ICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1N1YmZyYW1lVW5kZXJUb3BGcmFtZU9yaWdpbihz
dGF0aXN0aWNzVXJsLCB0b3BGcmFtZU9yaWdpbjQpOworCisgICAgICAgIHRlc3RSdW5uZXIuc2V0
U3RhdGlzdGljc1N1YnJlc291cmNlVW5kZXJUb3BGcmFtZU9yaWdpbihzdGF0aXN0aWNzVXJsLCB0
b3BGcmFtZU9yaWdpbjIpOworICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NTdWJyZXNv
dXJjZVVuZGVyVG9wRnJhbWVPcmlnaW4oc3RhdGlzdGljc1VybCwgdG9wRnJhbWVPcmlnaW4zKTsK
KyAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzU3VicmVzb3VyY2VVbmRlclRvcEZyYW1l
T3JpZ2luKHN0YXRpc3RpY3NVcmwsIHRvcEZyYW1lT3JpZ2luNCk7CisKKyAgICAgICAgdGVzdFJ1
bm5lci5zZXRTdGF0aXN0aWNzU3VicmVzb3VyY2VVbmlxdWVSZWRpcmVjdFRvKHN0YXRpc3RpY3NV
cmwsIHRvcEZyYW1lT3JpZ2luMyk7CisgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1N1
YnJlc291cmNlVW5pcXVlUmVkaXJlY3RUbyhzdGF0aXN0aWNzVXJsLCB0b3BGcmFtZU9yaWdpbjEp
OworCisgICAgICAgIHRlc3RSdW5uZXIuc3RhdGlzdGljc0ZpcmVEYXRhTW9kaWZpY2F0aW9uSGFu
ZGxlcigpOworCisgICAgICAgIGlmICghdGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NQcmV2YWxlbnRS
ZXNvdXJjZShzdGF0aXN0aWNzVXJsKSkKKyAgICAgICAgICAgIHRlc3RGYWlsZWQoIkhvc3QgZGlk
IG5vdCBnZXQgY2xhc3NpZmllZCBhcyBwcmV2YWxlbnQgcmVzb3VyY2UuIik7CisgICAgICAgIGVs
c2UKKyAgICAgICAgICAgIHRlc3RQYXNzZWQoIkhvc3QgY2xhc3NpZmllZCBhcyBwcmV2YWxlbnQg
cmVzb3VyY2UuIik7CisKKyAgICAgICAgdGVzdFJ1bm5lci5zdGF0aXN0aWNzUmVzZXRUb0NvbnNp
c3RlbnRTdGF0ZSgpOworICAgICAgICBpbnRlcm5hbHMuc2V0UmVzb3VyY2VMb2FkU3RhdGlzdGlj
c0VuYWJsZWQoZmFsc2UpOworICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKKyAgICB9
CisKKyAgICBpZiAoZG9jdW1lbnQubG9jYXRpb24uaG9zdCA9PT0gaG9zdFVuZGVyVGVzdCAmJiB3
aW5kb3cudGVzdFJ1bm5lciAmJiB3aW5kb3cuaW50ZXJuYWxzKSB7CisgICAgICAgIHRlc3RSdW5u
ZXIud2FpdFVudGlsRG9uZSgpOworICAgICAgICBpbnRlcm5hbHMuc2V0UmVzb3VyY2VMb2FkU3Rh
dGlzdGljc0VuYWJsZWQodHJ1ZSk7CisgICAgICAgIHJ1blRlc3RSdW5uZXJUZXN0KCk7CisgICAg
fQorPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0YXRp
c3RpY3MvY2xhc3NpZnktYXMtcHJldmFsZW50LWJhc2VkLW9uLXN1Yi1mcmFtZS11bmRlci10b3At
ZnJhbWUtb3JpZ2lucy1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtcHJldmFs
ZW50LWJhc2VkLW9uLXN1Yi1mcmFtZS11bmRlci10b3AtZnJhbWUtb3JpZ2lucy1leHBlY3RlZC50
eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291
cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtcHJldmFsZW50LWJhc2VkLW9uLXN1Yi1mcmFt
ZS11bmRlci10b3AtZnJhbWUtb3JpZ2lucy1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAg
LTAsMCArMSw4IEBACittYWluIGZyYW1lIC0gZGlkU3RhcnRQcm92aXNpb25hbExvYWRGb3JGcmFt
ZQorbWFpbiBmcmFtZSAtIGRpZENvbW1pdExvYWRGb3JGcmFtZQorbWFpbiBmcmFtZSAtIGRpZFJl
Y2VpdmVUaXRsZTogVGVzdHMgZm9yIENsYXNzaWZpY2F0aW9uIEJhc2VkIG9uIFN1YiBGcmFtZSBV
bmRlciBUb3AgRnJhbWUgT3JpZ2lucworbWFpbiBmcmFtZSAtIGRpZEZpbmlzaERvY3VtZW50TG9h
ZEZvckZyYW1lCittYWluIGZyYW1lIC0gZGlkSGFuZGxlT25sb2FkRXZlbnRzRm9yRnJhbWUKK21h
aW4gZnJhbWUgLSBkaWRGaW5pc2hMb2FkRm9yRnJhbWUKK1BBU1MgSG9zdCBjbGFzc2lmaWVkIGFz
IHByZXZhbGVudCByZXNvdXJjZS4KKwpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9sb2Fk
aW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtcHJldmFsZW50LWJhc2VkLW9u
LXN1Yi1mcmFtZS11bmRlci10b3AtZnJhbWUtb3JpZ2lucy5odG1sCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL2h0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNz
aWZ5LWFzLXByZXZhbGVudC1iYXNlZC1vbi1zdWItZnJhbWUtdW5kZXItdG9wLWZyYW1lLW9yaWdp
bnMuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2xvYWRpbmcv
cmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1wcmV2YWxlbnQtYmFzZWQtb24tc3Vi
LWZyYW1lLXVuZGVyLXRvcC1mcmFtZS1vcmlnaW5zLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAs
MCArMSw0NSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbCBsYW5nPSJlbiI+Cis8aGVhZD4KKyAg
ICA8bWV0YSBjaGFyc2V0PSJVVEYtOCI+CisgICAgPHRpdGxlPlRlc3RzIGZvciBDbGFzc2lmaWNh
dGlvbiBCYXNlZCBvbiBTdWIgRnJhbWUgVW5kZXIgVG9wIEZyYW1lIE9yaWdpbnM8L3RpdGxlPgor
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0PgorICAgIGNvbnN0IGhvc3RVbmRlclRlc3QgPSAi
MTI3LjAuMC4xOjgwMDAiOworICAgIGNvbnN0IHN0YXRpc3RpY3NVcmwgPSAiaHR0cDovLyIgKyBo
b3N0VW5kZXJUZXN0ICsgIi90ZW1wIjsKKyAgICBjb25zdCB0b3BGcmFtZU9yaWdpbjEgPSAiaHR0
cDovLzEyNy4wLjAuMjo4MDAwL3RlbXAiOworICAgIGNvbnN0IHRvcEZyYW1lT3JpZ2luMiA9ICJo
dHRwOi8vMTI3LjAuMC4zOjgwMDAvdGVtcCI7CisgICAgY29uc3QgdG9wRnJhbWVPcmlnaW4zID0g
Imh0dHA6Ly8xMjcuMC4wLjQ6ODAwMC90ZW1wIjsKKyAgICBjb25zdCB0b3BGcmFtZU9yaWdpbjQg
PSAiaHR0cDovLzEyNy4wLjAuNTo4MDAwL3RlbXAiOworICAgIGZ1bmN0aW9uIHJ1blRlc3RSdW5u
ZXJUZXN0KCkgeworICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NQcmV2YWxlbnRSZXNv
dXJjZShzdGF0aXN0aWNzVXJsLCBmYWxzZSk7CisgICAgICAgIGlmICh0ZXN0UnVubmVyLmlzU3Rh
dGlzdGljc1ByZXZhbGVudFJlc291cmNlKHN0YXRpc3RpY3NVcmwpKQorICAgICAgICAgICAgdGVz
dEZhaWxlZCgiSG9zdCBkaWQgbm90IGdldCBzZXQgYXMgbm9uLXByZXZhbGVudCByZXNvdXJjZS4i
KTsKKworICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NTdWJmcmFtZVVuZGVyVG9wRnJh
bWVPcmlnaW4oc3RhdGlzdGljc1VybCwgdG9wRnJhbWVPcmlnaW4xKTsKKyAgICAgICAgdGVzdFJ1
bm5lci5zZXRTdGF0aXN0aWNzU3ViZnJhbWVVbmRlclRvcEZyYW1lT3JpZ2luKHN0YXRpc3RpY3NV
cmwsIHRvcEZyYW1lT3JpZ2luMik7CisgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1N1
YmZyYW1lVW5kZXJUb3BGcmFtZU9yaWdpbihzdGF0aXN0aWNzVXJsLCB0b3BGcmFtZU9yaWdpbjMp
OworICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NTdWJmcmFtZVVuZGVyVG9wRnJhbWVP
cmlnaW4oc3RhdGlzdGljc1VybCwgdG9wRnJhbWVPcmlnaW40KTsKKworICAgICAgICB0ZXN0UnVu
bmVyLnN0YXRpc3RpY3NGaXJlRGF0YU1vZGlmaWNhdGlvbkhhbmRsZXIoKTsKKworICAgICAgICBp
ZiAoIXRlc3RSdW5uZXIuaXNTdGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2Uoc3RhdGlzdGljc1Vy
bCkpCisgICAgICAgICAgICB0ZXN0RmFpbGVkKCJIb3N0IGRpZCBub3QgZ2V0IGNsYXNzaWZpZWQg
YXMgcHJldmFsZW50IHJlc291cmNlLiIpOworICAgICAgICBlbHNlCisgICAgICAgICAgICB0ZXN0
UGFzc2VkKCJIb3N0IGNsYXNzaWZpZWQgYXMgcHJldmFsZW50IHJlc291cmNlLiIpOworCisgICAg
ICAgIHRlc3RSdW5uZXIuc3RhdGlzdGljc1Jlc2V0VG9Db25zaXN0ZW50U3RhdGUoKTsKKyAgICAg
ICAgaW50ZXJuYWxzLnNldFJlc291cmNlTG9hZFN0YXRpc3RpY3NFbmFibGVkKGZhbHNlKTsKKyAg
ICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7CisgICAgfQorCisgICAgaWYgKGRvY3VtZW50
LmxvY2F0aW9uLmhvc3QgPT09IGhvc3RVbmRlclRlc3QgJiYgd2luZG93LnRlc3RSdW5uZXIgJiYg
d2luZG93LmludGVybmFscykgeworICAgICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsK
KyAgICAgICAgaW50ZXJuYWxzLnNldFJlc291cmNlTG9hZFN0YXRpc3RpY3NFbmFibGVkKHRydWUp
OworICAgICAgICBydW5UZXN0UnVubmVyVGVzdCgpOworICAgIH0KKzwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKSW5kZXg6IExheW91dFRlc3Rz
L2h0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLXBy
ZXZhbGVudC1iYXNlZC1vbi1zdWJyZXNvdXJjZS11bmRlci10b3AtZnJhbWUtb3JpZ2lucy1leHBl
Y3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9sb2FkaW5nL3Jl
c291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtcHJldmFsZW50LWJhc2VkLW9uLXN1YnJl
c291cmNlLXVuZGVyLXRvcC1mcmFtZS1vcmlnaW5zLWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQp
CisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGlj
cy9jbGFzc2lmeS1hcy1wcmV2YWxlbnQtYmFzZWQtb24tc3VicmVzb3VyY2UtdW5kZXItdG9wLWZy
YW1lLW9yaWdpbnMtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsOCBAQAor
bWFpbiBmcmFtZSAtIGRpZFN0YXJ0UHJvdmlzaW9uYWxMb2FkRm9yRnJhbWUKK21haW4gZnJhbWUg
LSBkaWRDb21taXRMb2FkRm9yRnJhbWUKK21haW4gZnJhbWUgLSBkaWRSZWNlaXZlVGl0bGU6IFRl
c3RzIGZvciBDbGFzc2lmaWNhdGlvbiBCYXNlZCBvbiBTdWJyZXNvdXJjZSBVbmRlciBUb3AgRnJh
bWUgT3JpZ2lucworbWFpbiBmcmFtZSAtIGRpZEZpbmlzaERvY3VtZW50TG9hZEZvckZyYW1lCitt
YWluIGZyYW1lIC0gZGlkSGFuZGxlT25sb2FkRXZlbnRzRm9yRnJhbWUKK21haW4gZnJhbWUgLSBk
aWRGaW5pc2hMb2FkRm9yRnJhbWUKK1BBU1MgSG9zdCBjbGFzc2lmaWVkIGFzIHByZXZhbGVudCBy
ZXNvdXJjZS4KKwpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNl
TG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtcHJldmFsZW50LWJhc2VkLW9uLXN1YnJlc291cmNl
LXVuZGVyLXRvcC1mcmFtZS1vcmlnaW5zLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtcHJl
dmFsZW50LWJhc2VkLW9uLXN1YnJlc291cmNlLXVuZGVyLXRvcC1mcmFtZS1vcmlnaW5zLmh0bWwJ
KG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNl
TG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtcHJldmFsZW50LWJhc2VkLW9uLXN1YnJlc291cmNl
LXVuZGVyLXRvcC1mcmFtZS1vcmlnaW5zLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw0
NSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbCBsYW5nPSJlbiI+Cis8aGVhZD4KKyAgICA8bWV0
YSBjaGFyc2V0PSJVVEYtOCI+CisgICAgPHRpdGxlPlRlc3RzIGZvciBDbGFzc2lmaWNhdGlvbiBC
YXNlZCBvbiBTdWJyZXNvdXJjZSBVbmRlciBUb3AgRnJhbWUgT3JpZ2luczwvdGl0bGU+CisgICAg
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQ+CisgICAgY29uc3QgaG9zdFVuZGVyVGVzdCA9ICIxMjcu
MC4wLjE6ODAwMCI7CisgICAgY29uc3Qgc3RhdGlzdGljc1VybCA9ICJodHRwOi8vIiArIGhvc3RV
bmRlclRlc3QgKyAiL3RlbXAiOworICAgIGNvbnN0IHRvcEZyYW1lT3JpZ2luMSA9ICJodHRwOi8v
MTI3LjAuMC4yOjgwMDAvdGVtcCI7CisgICAgY29uc3QgdG9wRnJhbWVPcmlnaW4yID0gImh0dHA6
Ly8xMjcuMC4wLjM6ODAwMC90ZW1wIjsKKyAgICBjb25zdCB0b3BGcmFtZU9yaWdpbjMgPSAiaHR0
cDovLzEyNy4wLjAuNDo4MDAwL3RlbXAiOworICAgIGNvbnN0IHRvcEZyYW1lT3JpZ2luNCA9ICJo
dHRwOi8vMTI3LjAuMC41OjgwMDAvdGVtcCI7CisgICAgZnVuY3Rpb24gcnVuVGVzdFJ1bm5lclRl
c3QoKSB7CisgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNl
KHN0YXRpc3RpY3NVcmwsIGZhbHNlKTsKKyAgICAgICAgaWYgKHRlc3RSdW5uZXIuaXNTdGF0aXN0
aWNzUHJldmFsZW50UmVzb3VyY2Uoc3RhdGlzdGljc1VybCkpCisgICAgICAgICAgICB0ZXN0RmFp
bGVkKCJIb3N0IGRpZCBub3QgZ2V0IHNldCBhcyBub24tcHJldmFsZW50IHJlc291cmNlLiIpOwor
CisgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1N1YnJlc291cmNlVW5kZXJUb3BGcmFt
ZU9yaWdpbihzdGF0aXN0aWNzVXJsLCB0b3BGcmFtZU9yaWdpbjEpOworICAgICAgICB0ZXN0UnVu
bmVyLnNldFN0YXRpc3RpY3NTdWJyZXNvdXJjZVVuZGVyVG9wRnJhbWVPcmlnaW4oc3RhdGlzdGlj
c1VybCwgdG9wRnJhbWVPcmlnaW4yKTsKKyAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNz
U3VicmVzb3VyY2VVbmRlclRvcEZyYW1lT3JpZ2luKHN0YXRpc3RpY3NVcmwsIHRvcEZyYW1lT3Jp
Z2luMyk7CisgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1N1YnJlc291cmNlVW5kZXJU
b3BGcmFtZU9yaWdpbihzdGF0aXN0aWNzVXJsLCB0b3BGcmFtZU9yaWdpbjQpOworCisgICAgICAg
IHRlc3RSdW5uZXIuc3RhdGlzdGljc0ZpcmVEYXRhTW9kaWZpY2F0aW9uSGFuZGxlcigpOworCisg
ICAgICAgIGlmICghdGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJjZShzdGF0
aXN0aWNzVXJsKSkKKyAgICAgICAgICAgIHRlc3RGYWlsZWQoIkhvc3QgZGlkIG5vdCBnZXQgY2xh
c3NpZmllZCBhcyBwcmV2YWxlbnQgcmVzb3VyY2UuIik7CisgICAgICAgIGVsc2UKKyAgICAgICAg
ICAgIHRlc3RQYXNzZWQoIkhvc3QgY2xhc3NpZmllZCBhcyBwcmV2YWxlbnQgcmVzb3VyY2UuIik7
CisKKyAgICAgICAgdGVzdFJ1bm5lci5zdGF0aXN0aWNzUmVzZXRUb0NvbnNpc3RlbnRTdGF0ZSgp
OworICAgICAgICBpbnRlcm5hbHMuc2V0UmVzb3VyY2VMb2FkU3RhdGlzdGljc0VuYWJsZWQoZmFs
c2UpOworICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKKyAgICB9CisKKyAgICBpZiAo
ZG9jdW1lbnQubG9jYXRpb24uaG9zdCA9PT0gaG9zdFVuZGVyVGVzdCAmJiB3aW5kb3cudGVzdFJ1
bm5lciAmJiB3aW5kb3cuaW50ZXJuYWxzKSB7CisgICAgICAgIHRlc3RSdW5uZXIud2FpdFVudGls
RG9uZSgpOworICAgICAgICBpbnRlcm5hbHMuc2V0UmVzb3VyY2VMb2FkU3RhdGlzdGljc0VuYWJs
ZWQodHJ1ZSk7CisgICAgICAgIHJ1blRlc3RSdW5uZXJUZXN0KCk7CisgICAgfQorPC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpJbmRleDogTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3Np
ZnktYXMtcHJldmFsZW50LWJhc2VkLW9uLXN1YnJlc291cmNlLXVuaXF1ZS1yZWRpcmVjdHMtdG8t
ZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvbG9hZGlu
Zy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLXByZXZhbGVudC1iYXNlZC1vbi1z
dWJyZXNvdXJjZS11bmlxdWUtcmVkaXJlY3RzLXRvLWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQp
CisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGlj
cy9jbGFzc2lmeS1hcy1wcmV2YWxlbnQtYmFzZWQtb24tc3VicmVzb3VyY2UtdW5pcXVlLXJlZGly
ZWN0cy10by1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw4IEBACittYWlu
IGZyYW1lIC0gZGlkU3RhcnRQcm92aXNpb25hbExvYWRGb3JGcmFtZQorbWFpbiBmcmFtZSAtIGRp
ZENvbW1pdExvYWRGb3JGcmFtZQorbWFpbiBmcmFtZSAtIGRpZFJlY2VpdmVUaXRsZTogVGVzdHMg
Zm9yIENsYXNzaWZpY2F0aW9uIEJhc2VkIG9uIFN1YnJlc291cmNlIFVuaXF1ZSBSZWRpcmVjdHMg
VG8KK21haW4gZnJhbWUgLSBkaWRGaW5pc2hEb2N1bWVudExvYWRGb3JGcmFtZQorbWFpbiBmcmFt
ZSAtIGRpZEhhbmRsZU9ubG9hZEV2ZW50c0ZvckZyYW1lCittYWluIGZyYW1lIC0gZGlkRmluaXNo
TG9hZEZvckZyYW1lCitQQVNTIEhvc3QgY2xhc3NpZmllZCBhcyBwcmV2YWxlbnQgcmVzb3VyY2Uu
CisKSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0
aXN0aWNzL2NsYXNzaWZ5LWFzLXByZXZhbGVudC1iYXNlZC1vbi1zdWJyZXNvdXJjZS11bmlxdWUt
cmVkaXJlY3RzLXRvLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9s
b2FkaW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtcHJldmFsZW50LWJhc2Vk
LW9uLXN1YnJlc291cmNlLXVuaXF1ZS1yZWRpcmVjdHMtdG8uaHRtbAkobm9uZXhpc3RlbnQpCisr
KyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9j
bGFzc2lmeS1hcy1wcmV2YWxlbnQtYmFzZWQtb24tc3VicmVzb3VyY2UtdW5pcXVlLXJlZGlyZWN0
cy10by5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNDUgQEAKKzwhRE9DVFlQRSBodG1s
PgorPGh0bWwgbGFuZz0iZW4iPgorPGhlYWQ+CisgICAgPG1ldGEgY2hhcnNldD0iVVRGLTgiPgor
ICAgIDx0aXRsZT5UZXN0cyBmb3IgQ2xhc3NpZmljYXRpb24gQmFzZWQgb24gU3VicmVzb3VyY2Ug
VW5pcXVlIFJlZGlyZWN0cyBUbzwvdGl0bGU+CisgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQ+
CisgICAgY29uc3QgaG9zdFVuZGVyVGVzdCA9ICIxMjcuMC4wLjE6ODAwMCI7CisgICAgY29uc3Qg
c3RhdGlzdGljc1VybCA9ICJodHRwOi8vIiArIGhvc3RVbmRlclRlc3QgKyAiL3RlbXAiOworICAg
IGNvbnN0IHRvcEZyYW1lT3JpZ2luMSA9ICJodHRwOi8vMTI3LjAuMC4yOjgwMDAvdGVtcCI7Cisg
ICAgY29uc3QgdG9wRnJhbWVPcmlnaW4yID0gImh0dHA6Ly8xMjcuMC4wLjM6ODAwMC90ZW1wIjsK
KyAgICBjb25zdCB0b3BGcmFtZU9yaWdpbjMgPSAiaHR0cDovLzEyNy4wLjAuNDo4MDAwL3RlbXAi
OworICAgIGNvbnN0IHRvcEZyYW1lT3JpZ2luNCA9ICJodHRwOi8vMTI3LjAuMC41OjgwMDAvdGVt
cCI7CisgICAgZnVuY3Rpb24gcnVuVGVzdFJ1bm5lclRlc3QoKSB7CisgICAgICAgIHRlc3RSdW5u
ZXIuc2V0U3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNlKHN0YXRpc3RpY3NVcmwsIGZhbHNlKTsK
KyAgICAgICAgaWYgKHRlc3RSdW5uZXIuaXNTdGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2Uoc3Rh
dGlzdGljc1VybCkpCisgICAgICAgICAgICB0ZXN0RmFpbGVkKCJIb3N0IGRpZCBub3QgZ2V0IHNl
dCBhcyBub24tcHJldmFsZW50IHJlc291cmNlLiIpOworCisgICAgICAgIHRlc3RSdW5uZXIuc2V0
U3RhdGlzdGljc1N1YnJlc291cmNlVW5pcXVlUmVkaXJlY3RUbyhzdGF0aXN0aWNzVXJsLCB0b3BG
cmFtZU9yaWdpbjEpOworICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NTdWJyZXNvdXJj
ZVVuaXF1ZVJlZGlyZWN0VG8oc3RhdGlzdGljc1VybCwgdG9wRnJhbWVPcmlnaW4yKTsKKyAgICAg
ICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzU3VicmVzb3VyY2VVbmlxdWVSZWRpcmVjdFRvKHN0
YXRpc3RpY3NVcmwsIHRvcEZyYW1lT3JpZ2luMyk7CisgICAgICAgIHRlc3RSdW5uZXIuc2V0U3Rh
dGlzdGljc1N1YnJlc291cmNlVW5pcXVlUmVkaXJlY3RUbyhzdGF0aXN0aWNzVXJsLCB0b3BGcmFt
ZU9yaWdpbjQpOworCisgICAgICAgIHRlc3RSdW5uZXIuc3RhdGlzdGljc0ZpcmVEYXRhTW9kaWZp
Y2F0aW9uSGFuZGxlcigpOworCisgICAgICAgIGlmICghdGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NQ
cmV2YWxlbnRSZXNvdXJjZShzdGF0aXN0aWNzVXJsKSkKKyAgICAgICAgICAgIHRlc3RGYWlsZWQo
Ikhvc3QgZGlkIG5vdCBnZXQgY2xhc3NpZmllZCBhcyBwcmV2YWxlbnQgcmVzb3VyY2UuIik7Cisg
ICAgICAgIGVsc2UKKyAgICAgICAgICAgIHRlc3RQYXNzZWQoIkhvc3QgY2xhc3NpZmllZCBhcyBw
cmV2YWxlbnQgcmVzb3VyY2UuIik7CisKKyAgICAgICAgdGVzdFJ1bm5lci5zdGF0aXN0aWNzUmVz
ZXRUb0NvbnNpc3RlbnRTdGF0ZSgpOworICAgICAgICBpbnRlcm5hbHMuc2V0UmVzb3VyY2VMb2Fk
U3RhdGlzdGljc0VuYWJsZWQoZmFsc2UpOworICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUo
KTsKKyAgICB9CisKKyAgICBpZiAoZG9jdW1lbnQubG9jYXRpb24uaG9zdCA9PT0gaG9zdFVuZGVy
VGVzdCAmJiB3aW5kb3cudGVzdFJ1bm5lciAmJiB3aW5kb3cuaW50ZXJuYWxzKSB7CisgICAgICAg
IHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOworICAgICAgICBpbnRlcm5hbHMuc2V0UmVzb3Vy
Y2VMb2FkU3RhdGlzdGljc0VuYWJsZWQodHJ1ZSk7CisgICAgICAgIHJ1blRlc3RSdW5uZXJUZXN0
KCk7CisgICAgfQorPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9ub24tcHJldmFsZW50
LXJlc291cmNlLXdpdGgtdXNlci1pbnRlcmFjdGlvbi5odG1sCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL2h0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL25vbi1wcmV2
YWxlbnQtcmVzb3VyY2Utd2l0aC11c2VyLWludGVyYWN0aW9uLmh0bWwJKHJldmlzaW9uIDIxMjg5
OCkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0
aWNzL25vbi1wcmV2YWxlbnQtcmVzb3VyY2Utd2l0aC11c2VyLWludGVyYWN0aW9uLmh0bWwJKHdv
cmtpbmcgY29weSkKQEAgLTM4LDYgKzM4LDcgQEAKICAgICAgICAgICAgIGVsc2UKICAgICAgICAg
ICAgICAgICB0ZXN0RmFpbGVkKCJDb29raWUgZGVsZXRlZCBvciBkb2N1bWVudC5jb29raWUgY29u
dGFpbnMgb3RoZXIgY29va2llczogIiArIGRvY3VtZW50LmNvb2tpZSk7CiAgICAgICAgICAgICB0
ZXN0UnVubmVyLnN0YXRpc3RpY3NSZXNldFRvQ29uc2lzdGVudFN0YXRlKCk7CisgICAgICAgICAg
ICBpbnRlcm5hbHMuc2V0UmVzb3VyY2VMb2FkU3RhdGlzdGljc0VuYWJsZWQoZmFsc2UpOwogICAg
ICAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7CiAgICAgICAgIH0pOwogICAgICAgICB0
ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NTaG91bGRDbGFzc2lmeVJlc291cmNlc0JlZm9yZURhdGFS
ZWNvcmRzUmVtb3ZhbChmYWxzZSk7CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2xvYWRp
bmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9ub24tcHJldmFsZW50LXJlc291cmNlLXdpdGhvdXQt
dXNlci1pbnRlcmFjdGlvbi5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVz
dHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL25vbi1wcmV2YWxlbnQtcmVzb3VyY2Ut
d2l0aG91dC11c2VyLWludGVyYWN0aW9uLmh0bWwJKHJldmlzaW9uIDIxMjg5OCkKKysrIExheW91
dFRlc3RzL2h0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL25vbi1wcmV2
YWxlbnQtcmVzb3VyY2Utd2l0aG91dC11c2VyLWludGVyYWN0aW9uLmh0bWwJKHdvcmtpbmcgY29w
eSkKQEAgLTM4LDYgKzM4LDcgQEAKICAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAgICB0
ZXN0RmFpbGVkKCJDb29raWUgZGVsZXRlZCBvciBkb2N1bWVudC5jb29raWUgY29udGFpbnMgb3Ro
ZXIgY29va2llczogIiArIGRvY3VtZW50LmNvb2tpZSk7CiAgICAgICAgICAgICB0ZXN0UnVubmVy
LnN0YXRpc3RpY3NSZXNldFRvQ29uc2lzdGVudFN0YXRlKCk7CisgICAgICAgICAgICBpbnRlcm5h
bHMuc2V0UmVzb3VyY2VMb2FkU3RhdGlzdGljc0VuYWJsZWQoZmFsc2UpOwogICAgICAgICAgICAg
dGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7CiAgICAgICAgIH0pOwogICAgICAgICB0ZXN0UnVubmVy
LnNldFN0YXRpc3RpY3NTaG91bGRDbGFzc2lmeVJlc291cmNlc0JlZm9yZURhdGFSZWNvcmRzUmVt
b3ZhbChmYWxzZSk7CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3Vy
Y2VMb2FkU3RhdGlzdGljcy9wcmV2YWxlbnQtcmVzb3VyY2Utd2l0aC11c2VyLWludGVyYWN0aW9u
LXRpbWVvdXQuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2xvYWRp
bmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9wcmV2YWxlbnQtcmVzb3VyY2Utd2l0aC11c2VyLWlu
dGVyYWN0aW9uLXRpbWVvdXQuaHRtbAkocmV2aXNpb24gMjEyODk4KQorKysgTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvcHJldmFsZW50LXJlc291
cmNlLXdpdGgtdXNlci1pbnRlcmFjdGlvbi10aW1lb3V0Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAg
LTMxLDYgKzMxLDcgQEAKICAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAgICB0ZXN0UGFz
c2VkKCJDb29raWUgZGVsZXRlZC4iKTsKICAgICAgICAgICAgIHRlc3RSdW5uZXIuc3RhdGlzdGlj
c1Jlc2V0VG9Db25zaXN0ZW50U3RhdGUoKTsKKyAgICAgICAgICAgIGludGVybmFscy5zZXRSZXNv
dXJjZUxvYWRTdGF0aXN0aWNzRW5hYmxlZChmYWxzZSk7CiAgICAgICAgICAgICB0ZXN0UnVubmVy
Lm5vdGlmeURvbmUoKTsKICAgICAgICAgfSk7CiAgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlz
dGljc1Nob3VsZENsYXNzaWZ5UmVzb3VyY2VzQmVmb3JlRGF0YVJlY29yZHNSZW1vdmFsKGZhbHNl
KTsKSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0
aXN0aWNzL3ByZXZhbGVudC1yZXNvdXJjZS13aXRoLXVzZXItaW50ZXJhY3Rpb24uaHRtbAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3Rh
dGlzdGljcy9wcmV2YWxlbnQtcmVzb3VyY2Utd2l0aC11c2VyLWludGVyYWN0aW9uLmh0bWwJKHJl
dmlzaW9uIDIxMjg5OCkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzL3ByZXZhbGVudC1yZXNvdXJjZS13aXRoLXVzZXItaW50ZXJhY3Rpb24u
aHRtbAkod29ya2luZyBjb3B5KQpAQCAtMzgsNiArMzgsNyBAQAogICAgICAgICAgICAgZWxzZQog
ICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoIkNvb2tpZSBkZWxldGVkIG9yIGRvY3VtZW50LmNv
b2tpZSBjb250YWlucyBvdGhlciBjb29raWVzOiAiICsgZG9jdW1lbnQuY29va2llKTsKICAgICAg
ICAgICAgIHRlc3RSdW5uZXIuc3RhdGlzdGljc1Jlc2V0VG9Db25zaXN0ZW50U3RhdGUoKTsKKyAg
ICAgICAgICAgIGludGVybmFscy5zZXRSZXNvdXJjZUxvYWRTdGF0aXN0aWNzRW5hYmxlZChmYWxz
ZSk7CiAgICAgICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKICAgICAgICAgfSk7CiAg
ICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1Nob3VsZENsYXNzaWZ5UmVzb3VyY2VzQmVm
b3JlRGF0YVJlY29yZHNSZW1vdmFsKGZhbHNlKTsKSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVz
dHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3ByZXZhbGVudC1yZXNvdXJjZS13aXRo
b3V0LXVzZXItaW50ZXJhY3Rpb24uaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9wcmV2YWxlbnQtcmVzb3VyY2Ut
d2l0aG91dC11c2VyLWludGVyYWN0aW9uLmh0bWwJKHJldmlzaW9uIDIxMjg5OCkKKysrIExheW91
dFRlc3RzL2h0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3ByZXZhbGVu
dC1yZXNvdXJjZS13aXRob3V0LXVzZXItaW50ZXJhY3Rpb24uaHRtbAkod29ya2luZyBjb3B5KQpA
QCAtMzEsNiArMzEsNyBAQAogICAgICAgICAgICAgZWxzZQogICAgICAgICAgICAgICAgIHRlc3RQ
YXNzZWQoIkNvb2tpZSBkZWxldGVkLiIpOwogICAgICAgICAgICAgdGVzdFJ1bm5lci5zdGF0aXN0
aWNzUmVzZXRUb0NvbnNpc3RlbnRTdGF0ZSgpOworICAgICAgICAgICAgaW50ZXJuYWxzLnNldFJl
c291cmNlTG9hZFN0YXRpc3RpY3NFbmFibGVkKGZhbHNlKTsKICAgICAgICAgICAgIHRlc3RSdW5u
ZXIubm90aWZ5RG9uZSgpOwogICAgICAgICB9KTsKICAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0
aXN0aWNzU2hvdWxkQ2xhc3NpZnlSZXNvdXJjZXNCZWZvcmVEYXRhUmVjb3Jkc1JlbW92YWwoZmFs
c2UpOwpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1Rlc3RFeHBlY3RhdGlvbnMKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1Rlc3RFeHBlY3RhdGlvbnMJKHJl
dmlzaW9uIDIxMjg5OCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9UZXN0RXhwZWN0YXRp
b25zCSh3b3JraW5nIGNvcHkpCkBAIC05NDksMTEgKzk0OSw3IEBAIHdlYmtpdC5vcmcvYi8xMzE1
NDYgbWVkaWEvdHJhY2svdHJhY2staW4KIAogd2Via2l0Lm9yZy9iLzE2Mzc4MiBtZWRpYS92aWRl
by1wbGF5ZWQtcmFuZ2VzLTEuaHRtbCBbIENyYXNoIFBhc3MgXQogCi13ZWJraXQub3JnL2IvMTY4
MTcxIGh0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL25vbi1wcmV2YWxl
bnQtcmVzb3VyY2Utd2l0aC11c2VyLWludGVyYWN0aW9uLmh0bWwgWyBDcmFzaCBdCi13ZWJraXQu
b3JnL2IvMTY4MTcxIGh0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL25v
bi1wcmV2YWxlbnQtcmVzb3VyY2Utd2l0aG91dC11c2VyLWludGVyYWN0aW9uLmh0bWwgWyBDcmFz
aCBdCi13ZWJraXQub3JnL2IvMTY4MTcxIGh0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRT
dGF0aXN0aWNzL3ByZXZhbGVudC1yZXNvdXJjZS13aXRoLXVzZXItaW50ZXJhY3Rpb24tdGltZW91
dC5odG1sIFsgQ3Jhc2ggXQotd2Via2l0Lm9yZy9iLzE2ODE3MSBodHRwL3Rlc3RzL2xvYWRpbmcv
cmVzb3VyY2VMb2FkU3RhdGlzdGljcy9wcmV2YWxlbnQtcmVzb3VyY2Utd2l0aC11c2VyLWludGVy
YWN0aW9uLmh0bWwgWyBDcmFzaCBdCi13ZWJraXQub3JnL2IvMTY4MTcxIGh0dHAvdGVzdHMvbG9h
ZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3ByZXZhbGVudC1yZXNvdXJjZS13aXRob3V0LXVz
ZXItaW50ZXJhY3Rpb24uaHRtbCBbIENyYXNoIF0KK3dlYmtpdC5vcmcvYi8xNjgxNzEgaHR0cC90
ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MgWyBDcmFzaCBdCiAKIHdlYmtpdC5v
cmcvYi8xNjc1NzYgaW1wb3J0ZWQvdzNjL0luZGV4ZWREQi1wcml2YXRlLWJyb3dzaW5nL2lkYmN1
cnNvcl9pdGVyYXRpbmcuaHRtbCBbIENyYXNoIF0KIHdlYmtpdC5vcmcvYi8xNjc1NzYgaW1wb3J0
ZWQvdzNjL0luZGV4ZWREQi1wcml2YXRlLWJyb3dzaW5nL2lkYmN1cnNvcl9pdGVyYXRpbmdfaW5k
ZXguaHRtbCBbIENyYXNoIF0KSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL3drMi9UZXN0RXhw
ZWN0YXRpb25zCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL3drMi9UZXN0RXhw
ZWN0YXRpb25zCShyZXZpc2lvbiAyMTI4OTgpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS93azIv
VGVzdEV4cGVjdGF0aW9ucwkod29ya2luZyBjb3B5KQpAQCAtNzA1LDYgKzcwNSwxNCBAQCBodHRw
L3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljCiBodHRwL3Rlc3RzL2xvYWRpbmcv
cmVzb3VyY2VMb2FkU3RhdGlzdGljcy9ub24tcHJldmFsZW50LXJlc291cmNlLXdpdGhvdXQtdXNl
ci1pbnRlcmFjdGlvbi5odG1sIFsgUGFzcyBUaW1lb3V0IF0KIGh0dHAvdGVzdHMvbG9hZGluZy9y
ZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3ByZXZhbGVudC1yZXNvdXJjZS13aXRob3V0LXVzZXItaW50
ZXJhY3Rpb24uaHRtbCBbIFBhc3MgVGltZW91dCBdCiBodHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3Vy
Y2VMb2FkU3RhdGlzdGljcy9wcmV2YWxlbnQtcmVzb3VyY2Utd2l0aC11c2VyLWludGVyYWN0aW9u
LXRpbWVvdXQuaHRtbCBbIFBhc3MgVGltZW91dCBdCitodHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3Vy
Y2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1ub24tcHJldmFsZW50LWJhc2VkLW9uLW1peGVk
LXN0YXRpc3RpY3MuaHRtbCBbIFBhc3MgXQoraHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9h
ZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtbm9uLXByZXZhbGVudC1iYXNlZC1vbi1zdWItZnJhbWUt
dW5kZXItdG9wLWZyYW1lLW9yaWdpbnMuaHRtbCBbIFBhc3MgXQoraHR0cC90ZXN0cy9sb2FkaW5n
L3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtbm9uLXByZXZhbGVudC1iYXNlZC1v
bi1zdWJyZXNvdXJjZS11bmRlci10b3AtZnJhbWUtb3JpZ2lucy5odG1sIFsgUGFzcyBdCitodHRw
L3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1ub24tcHJl
dmFsZW50LWJhc2VkLW9uLXN1YnJlc291cmNlLXVuaXF1ZS1yZWRpcmVjdHMtdG8uaHRtbCBbIFBh
c3MgXQoraHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnkt
YXMtcHJldmFsZW50LWJhc2VkLW9uLW1peGVkLXN0YXRpc3RpY3MuaHRtbCBbIFBhc3MgXQoraHR0
cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtcHJldmFs
ZW50LWJhc2VkLW9uLXN1Yi1mcmFtZS11bmRlci10b3AtZnJhbWUtb3JpZ2lucy5odG1sIFsgUGFz
cyBdCitodHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1h
cy1wcmV2YWxlbnQtYmFzZWQtb24tc3VicmVzb3VyY2UtdW5kZXItdG9wLWZyYW1lLW9yaWdpbnMu
aHRtbCBbIFBhc3MgXQoraHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mv
Y2xhc3NpZnktYXMtcHJldmFsZW50LWJhc2VkLW9uLXN1YnJlc291cmNlLXVuaXF1ZS1yZWRpcmVj
dHMtdG8uaHRtbCBbIFBhc3MgXQogCiAjIyMgRU5EIE9GICg1KSBQcm9ncmVzc2lvbnMsIGV4cGVj
dGVkIHN1Y2Nlc3NlcyB0aGF0IGFyZSBleHBlY3RlZCBmYWlsdXJlcyBpbiBXZWJLaXQxLgogIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>302655</attachid>
            <date>2017-02-24 00:35:45 -0800</date>
            <delta_ts>2017-02-24 01:21:42 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-168347-20170224003254.patch</filename>
            <type>text/plain</type>
            <size>118967</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDIxMjkzMikKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDMwIEBACisyMDE3LTAyLTIzICBKb2huIFdp
bGFuZGVyICA8d2lsYW5kZXJAYXBwbGUuY29tPgorCisgICAgICAgIFJlc291cmNlIExvYWQgU3Rh
dGlzdGljczogQWRkIGFsdGVybmF0ZSBjbGFzc2lmaWNhdGlvbiBtZXRob2QKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2ODM0NworICAgICAgICA8cmRh
cjovL3Byb2JsZW0vMzAzNTI3OTM+CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8zMDY0NjcxMD4K
KyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzMwNjYwNzA4PgorCisgICAgICAgIFJldmlld2VkIGJ5
IEFsZXggQ2hyaXN0ZW5zZW4uCisKKyAgICAgICAgVGhpcyBwYXRjaCBvbmx5IGFkZHMgdGVzdCBp
bmZyYXN0cnVjdHVyZSBpbiBXZWJDb3JlLgorCisgICAgICAgIFRlc3RzOiBodHRwL3Rlc3RzL2xv
YWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1ub24tcHJldmFsZW50LWJh
c2VkLW9uLW1peGVkLXN0YXRpc3RpY3MuaHRtbAorICAgICAgICAgICAgICAgaHR0cC90ZXN0cy9s
b2FkaW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtbm9uLXByZXZhbGVudC1i
YXNlZC1vbi1zdWItZnJhbWUtdW5kZXItdG9wLWZyYW1lLW9yaWdpbnMuaHRtbAorICAgICAgICAg
ICAgICAgaHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnkt
YXMtbm9uLXByZXZhbGVudC1iYXNlZC1vbi1zdWJyZXNvdXJjZS11bmRlci10b3AtZnJhbWUtb3Jp
Z2lucy5odG1sCisgICAgICAgICAgICAgICBodHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2Fk
U3RhdGlzdGljcy9jbGFzc2lmeS1hcy1ub24tcHJldmFsZW50LWJhc2VkLW9uLXN1YnJlc291cmNl
LXVuaXF1ZS1yZWRpcmVjdHMtdG8uaHRtbAorICAgICAgICAgICAgICAgaHR0cC90ZXN0cy9sb2Fk
aW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtcHJldmFsZW50LWJhc2VkLW9u
LW1peGVkLXN0YXRpc3RpY3MuaHRtbAorICAgICAgICAgICAgICAgaHR0cC90ZXN0cy9sb2FkaW5n
L3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtcHJldmFsZW50LWJhc2VkLW9uLXN1
Yi1mcmFtZS11bmRlci10b3AtZnJhbWUtb3JpZ2lucy5odG1sCisgICAgICAgICAgICAgICBodHRw
L3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1wcmV2YWxl
bnQtYmFzZWQtb24tc3VicmVzb3VyY2UtdW5kZXItdG9wLWZyYW1lLW9yaWdpbnMuaHRtbAorICAg
ICAgICAgICAgICAgaHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xh
c3NpZnktYXMtcHJldmFsZW50LWJhc2VkLW9uLXN1YnJlc291cmNlLXVuaXF1ZS1yZWRpcmVjdHMt
dG8uaHRtbAorCisgICAgICAgICogbG9hZGVyL1Jlc291cmNlTG9hZE9ic2VydmVyLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OlJlc291cmNlTG9hZE9ic2VydmVyOjpzZXRTdWJmcmFtZVVuZGVyVG9w
RnJhbWVPcmlnaW4pOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VMb2FkT2JzZXJ2ZXI6OnNl
dFN1YnJlc291cmNlVW5kZXJUb3BGcmFtZU9yaWdpbik6CisgICAgICAgIChXZWJDb3JlOjpSZXNv
dXJjZUxvYWRPYnNlcnZlcjo6c2V0U3VicmVzb3VyY2VVbmlxdWVSZWRpcmVjdFRvKToKKyAgICAg
ICAgKiBsb2FkZXIvUmVzb3VyY2VMb2FkT2JzZXJ2ZXIuaDoKKwogMjAxNy0wMi0yMyAgWW91ZW5u
IEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CiAKICAgICAgICAgW1dlYlJUQ10gT3V0Z29pbmcg
dmlkZW8gcXVhbGl0eSBpcyBwb29yCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9sb2FkZXIvUmVzb3Vy
Y2VMb2FkT2JzZXJ2ZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2xvYWRlci9S
ZXNvdXJjZUxvYWRPYnNlcnZlci5jcHAJKHJldmlzaW9uIDIxMjkzMikKKysrIFNvdXJjZS9XZWJD
b3JlL2xvYWRlci9SZXNvdXJjZUxvYWRPYnNlcnZlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM3
NSw2ICszNzUsMzMgQEAgdm9pZCBSZXNvdXJjZUxvYWRPYnNlcnZlcjo6Y2xlYXJQcmV2YWxlbgog
ICAgIHN0YXRpc3RpY3MuaXNQcmV2YWxlbnRSZXNvdXJjZSA9IGZhbHNlOwogfQogCit2b2lkIFJl
c291cmNlTG9hZE9ic2VydmVyOjpzZXRTdWJmcmFtZVVuZGVyVG9wRnJhbWVPcmlnaW4oY29uc3Qg
VVJMJiBzdWJmcmFtZSwgY29uc3QgVVJMJiB0b3BGcmFtZSkKK3sKKyAgICBpZiAoc3ViZnJhbWUu
aXNCbGFua1VSTCgpIHx8IHN1YmZyYW1lLmlzRW1wdHkoKSB8fCB0b3BGcmFtZS5pc0JsYW5rVVJM
KCkgfHwgdG9wRnJhbWUuaXNFbXB0eSgpKQorICAgICAgICByZXR1cm47CisgICAgCisgICAgYXV0
byYgc3RhdGlzdGljcyA9IG1fc3RvcmUtPmVuc3VyZVJlc291cmNlU3RhdGlzdGljc0ZvclByaW1h
cnlEb21haW4ocHJpbWFyeURvbWFpbihzdWJmcmFtZSkpOworICAgIHN0YXRpc3RpY3Muc3ViZnJh
bWVVbmRlclRvcEZyYW1lT3JpZ2lucy5hZGQocHJpbWFyeURvbWFpbih0b3BGcmFtZSkpOworfQor
Cit2b2lkIFJlc291cmNlTG9hZE9ic2VydmVyOjpzZXRTdWJyZXNvdXJjZVVuZGVyVG9wRnJhbWVP
cmlnaW4oY29uc3QgVVJMJiBzdWJyZXNvdXJjZSwgY29uc3QgVVJMJiB0b3BGcmFtZSkKK3sKKyAg
ICBpZiAoc3VicmVzb3VyY2UuaXNCbGFua1VSTCgpIHx8IHN1YnJlc291cmNlLmlzRW1wdHkoKSB8
fCB0b3BGcmFtZS5pc0JsYW5rVVJMKCkgfHwgdG9wRnJhbWUuaXNFbXB0eSgpKQorICAgICAgICBy
ZXR1cm47CisgICAgCisgICAgYXV0byYgc3RhdGlzdGljcyA9IG1fc3RvcmUtPmVuc3VyZVJlc291
cmNlU3RhdGlzdGljc0ZvclByaW1hcnlEb21haW4ocHJpbWFyeURvbWFpbihzdWJyZXNvdXJjZSkp
OworICAgIHN0YXRpc3RpY3Muc3VicmVzb3VyY2VVbmRlclRvcEZyYW1lT3JpZ2lucy5hZGQocHJp
bWFyeURvbWFpbih0b3BGcmFtZSkpOworfQorCit2b2lkIFJlc291cmNlTG9hZE9ic2VydmVyOjpz
ZXRTdWJyZXNvdXJjZVVuaXF1ZVJlZGlyZWN0VG8oY29uc3QgVVJMJiBzdWJyZXNvdXJjZSwgY29u
c3QgVVJMJiBob3N0TmFtZVJlZGlyZWN0ZWRUbykKK3sKKyAgICBpZiAoc3VicmVzb3VyY2UuaXNC
bGFua1VSTCgpIHx8IHN1YnJlc291cmNlLmlzRW1wdHkoKSB8fCBob3N0TmFtZVJlZGlyZWN0ZWRU
by5pc0JsYW5rVVJMKCkgfHwgaG9zdE5hbWVSZWRpcmVjdGVkVG8uaXNFbXB0eSgpKQorICAgICAg
ICByZXR1cm47CisgICAgCisgICAgYXV0byYgc3RhdGlzdGljcyA9IG1fc3RvcmUtPmVuc3VyZVJl
c291cmNlU3RhdGlzdGljc0ZvclByaW1hcnlEb21haW4ocHJpbWFyeURvbWFpbihzdWJyZXNvdXJj
ZSkpOworICAgIHN0YXRpc3RpY3Muc3VicmVzb3VyY2VVbmlxdWVSZWRpcmVjdHNUby5hZGQocHJp
bWFyeURvbWFpbihob3N0TmFtZVJlZGlyZWN0ZWRUbykpOworfQorCiB2b2lkIFJlc291cmNlTG9h
ZE9ic2VydmVyOjpzZXRUaW1lVG9MaXZlVXNlckludGVyYWN0aW9uKGRvdWJsZSBzZWNvbmRzKQog
ewogICAgIG1fc3RvcmUtPnNldFRpbWVUb0xpdmVVc2VySW50ZXJhY3Rpb24oc2Vjb25kcyk7Cklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VMb2FkT2JzZXJ2ZXIuaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VMb2FkT2JzZXJ2ZXIuaAkocmV2
aXNpb24gMjEyOTMyKQorKysgU291cmNlL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlTG9hZE9ic2Vy
dmVyLmgJKHdvcmtpbmcgY29weSkKQEAgLTU4LDYgKzU4LDEwIEBAIHB1YmxpYzoKICAgICBXRUJD
T1JFX0VYUE9SVCBib29sIGlzUHJldmFsZW50UmVzb3VyY2UoY29uc3QgVVJMJik7CiAgICAgV0VC
Q09SRV9FWFBPUlQgdm9pZCBjbGVhclByZXZhbGVudFJlc291cmNlKGNvbnN0IFVSTCYpOwogCisg
ICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBzZXRTdWJmcmFtZVVuZGVyVG9wRnJhbWVPcmlnaW4oY29u
c3QgVVJMJiBzdWJmcmFtZSwgY29uc3QgVVJMJiB0b3BGcmFtZSk7CisgICAgV0VCQ09SRV9FWFBP
UlQgdm9pZCBzZXRTdWJyZXNvdXJjZVVuZGVyVG9wRnJhbWVPcmlnaW4oY29uc3QgVVJMJiBzdWJy
ZXNvdXJjZSwgY29uc3QgVVJMJiB0b3BGcmFtZSk7CisgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBz
ZXRTdWJyZXNvdXJjZVVuaXF1ZVJlZGlyZWN0VG8oY29uc3QgVVJMJiBzdWJyZXNvdXJjZSwgY29u
c3QgVVJMJiBob3N0TmFtZVJlZGlyZWN0ZWRUbyk7CisKICAgICBXRUJDT1JFX0VYUE9SVCB2b2lk
IHNldFRpbWVUb0xpdmVVc2VySW50ZXJhY3Rpb24oZG91YmxlIHNlY29uZHMpOwogICAgIFdFQkNP
UkVfRVhQT1JUIHZvaWQgc2V0UmVkdWNlZFRpbWVzdGFtcFJlc29sdXRpb24oZG91YmxlIHNlY29u
ZHMpOwogCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYktpdDIvQ2hhbmdlTG9nCShyZXZpc2lvbiAyMTI5MzIpCisrKyBTb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSw3NSBAQAorMjAxNy0wMi0yMyAg
Sm9obiBXaWxhbmRlciAgPHdpbGFuZGVyQGFwcGxlLmNvbT4KKworICAgICAgICBSZXNvdXJjZSBM
b2FkIFN0YXRpc3RpY3M6IEFkZCBhbHRlcm5hdGUgY2xhc3NpZmljYXRpb24gbWV0aG9kCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjgzNDcKKyAgICAg
ICAgPHJkYXI6Ly9wcm9ibGVtLzMwMzUyNzkzPgorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMzA2
NDY3MTA+CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8zMDY2MDcwOD4KKworICAgICAgICBSZXZp
ZXdlZCBieSBBbGV4IENocmlzdGVuc2VuLgorCisgICAgICAgIFRoaXMgcGF0Y2ggYWRkcyBhIENv
cmVQcmVkaWN0aW9uLWJhc2VkIGNsYXNzaWZpZXIgdG8gdGhlIFdlYlJlc291cmNlTG9hZFN0YXRp
c3RpY3NTdG9yZS4KKyAgICAgICAgVGhlIENvcmVQcmVkaWN0aW9uIGZyYW1ld29yayBpcyBpbnRy
b2R1Y2VkIGFzIGEgZGVwZW5kZW5jeSBmb3IgbWFjT1MgYW5kIGlPUy4gVGhlIHBhdGNoCisgICAg
ICAgIGFsc28gYWRkcyBmdW5jdGlvbnMgdG8gc3VwcG9ydCBsYXlvdXQgdGVzdHMgb2YgdGhlIGZl
YXR1cmUuCisKKyAgICAgICAgKiBQbGF0Zm9ybS9Mb2dnaW5nLmg6CisgICAgICAgICAgICBBZGRl
ZCBjaGFubmVsIFJlc291cmNlTG9hZFN0YXRpc3RpY3MuCisgICAgICAgICogUGxhdGZvcm0vY2xh
c3NpZmllci9SZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllci5oOiBBZGRlZC4KKyAgICAg
ICAgICAgIFB1bGxzIGluIHRoZSBDb2NvYS1zcGVjaWZpYyBjbGFzc2lmaWVyIGZvciBDb2NvYS1i
YXNlZCBwbGF0Zm9ybXMuCisgICAgICAgIChXZWJLaXQ6OlJlc291cmNlTG9hZFN0YXRpc3RpY3ND
bGFzc2lmaWVyOjpSZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllcik6CisgICAgICAgICog
UGxhdGZvcm0vY2xhc3NpZmllci9SZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllckJhc2Uu
Y3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYktpdDo6UmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNz
aWZpZXJCYXNlOjpoYXNQcmV2YWxlbnRSZXNvdXJjZUNoYXJhY3RlcmlzdGljcyk6CisgICAgICAg
ICAgICBTaGFyZWQgY2xhc3NpZmllciBsb2dpYy4KKyAgICAgICAgKFdlYktpdDo6UmVzb3VyY2VM
b2FkU3RhdGlzdGljc0NsYXNzaWZpZXJCYXNlOjpjbGFzc2lmeVdpdGhWZWN0b3JUaHJlc2hvbGQp
OgorICAgICAgICAgICAgRmFsbGJhY2sgY2xhc3NpZmllciBmb3Igd2hlbiB3ZSBkb24ndCBoYXZl
IENvcmVQcmVkaWN0aW9uLgorICAgICAgICAqIFBsYXRmb3JtL2NsYXNzaWZpZXIvUmVzb3VyY2VM
b2FkU3RhdGlzdGljc0NsYXNzaWZpZXJCYXNlLmg6IEFkZGVkLgorICAgICAgICAoV2ViS2l0OjpS
ZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllckJhc2U6OlJlc291cmNlTG9hZFN0YXRpc3Rp
Y3NDbGFzc2lmaWVyQmFzZSk6CisgICAgICAgIChXZWJLaXQ6OlJlc291cmNlTG9hZFN0YXRpc3Rp
Y3NDbGFzc2lmaWVyQmFzZTo6flJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQmFzZSk6
CisgICAgICAgICogUGxhdGZvcm0vY2xhc3NpZmllci9jb2NvYS9Db3JlUHJlZGljdGlvblNvZnRM
aW5rLmg6IEFkZGVkLgorICAgICAgICAgICAgU29mdCBsaW5rcyB0byBDb3JlUHJlZGljdGlvbiBh
bmQgdGhlIHR3byBmdW5jdGlvbnMgd2UgdXNlIGZyb20gaXQuCisgICAgICAgICogUGxhdGZvcm0v
Y2xhc3NpZmllci9jb2NvYS9SZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllckNvY29hLmNw
cDogQWRkZWQuCisgICAgICAgIChXZWJLaXQ6OlJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lm
aWVyOjpjbGFzc2lmeSk6CisgICAgICAgIChXZWJLaXQ6OlJlc291cmNlTG9hZFN0YXRpc3RpY3ND
bGFzc2lmaWVyOjpzdG9yYWdlUGF0aCk6CisgICAgICAgIChXZWJLaXQ6OlJlc291cmNlTG9hZFN0
YXRpc3RpY3NDbGFzc2lmaWVyOjpzaG91bGRVc2VDb3JlUHJlZGljdGlvbkFuZEhhdmVNb2RlbExv
YWRlZCk6CisgICAgICAgIChXZWJLaXQ6OlJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVy
OjpzaW5nbGV0b25QcmVkaWN0aW9uTW9kZWwpOgorICAgICAgICAgICAgVGhlIG5ldyBjbGFzc2lm
aWVyIGZvciBDb2NvYSBwbGF0Zm9ybXMuCisgICAgICAgICogUGxhdGZvcm0vY2xhc3NpZmllci9j
b2NvYS9SZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllckNvY29hLmg6IEFkZGVkLgorICAg
ICAgICAqIFBsYXRmb3JtR1RLLmNtYWtlOgorICAgICAgICAgICAgQWRkZWQgUGxhdGZvcm0vY2xh
c3NpZmllciBkaXJlY3RvcnkgYW5kIFJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQmFz
ZS5jcHAuCisgICAgICAgICogUGxhdGZvcm1NYWMuY21ha2U6CisgICAgICAgICAgICBBZGRlZCBQ
bGF0Zm9ybS9jbGFzc2lmaWVyIGFuZCBQbGF0Zm9ybS9jbGFzc2lmaWVyL2NvY29hIGRpcmVjdG9y
aWVzLCBhbmQKKyAgICAgICAgICAgIHNvdXJjZSBmaWxlcyBSZXNvdXJjZUxvYWRTdGF0aXN0aWNz
Q2xhc3NpZmllckJhc2UuY3BwIGFuZAorICAgICAgICAgICAgUmVzb3VyY2VMb2FkU3RhdGlzdGlj
c0NsYXNzaWZpZXJDb2NvYS5jcHAKKyAgICAgICAgKiBSZXNvdXJjZXMvUmVzb3VyY2VMb2FkU3Rh
dGlzdGljcy9jb3JlUHJlZGljdGlvbl9tb2RlbDogQWRkZWQuCisgICAgICAgICAgICBNb2RlbCBm
aWxlIHRvIGxvYWQgaW50byBDb3JlUHJlZGljdGlvbi4KKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJ
L0MvV0tSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdlci5jcHA6CisgICAgICAgIChXS1Jlc291
cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VyU2V0U3ViZnJhbWVVbmRlclRvcEZyYW1lT3JpZ2luKToK
KyAgICAgICAgKFdLUmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFnZXJTZXRTdWJyZXNvdXJjZVVu
ZGVyVG9wRnJhbWVPcmlnaW4pOgorICAgICAgICAoV0tSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFu
YWdlclNldFN1YnJlc291cmNlVW5pcXVlUmVkaXJlY3RUbyk6CisgICAgICAgICAgICBUZXN0IGlu
ZnJhc3RydWN0dXJlLgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQy9XS1Jlc291cmNlTG9hZFN0
YXRpc3RpY3NNYW5hZ2VyLmg6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlJlc291cmNlTG9hZFN0
YXRpc3RpY3NNYW5hZ2VyLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUmVzb3VyY2VMb2FkU3Rh
dGlzdGljc01hbmFnZXI6OnNldFN1YmZyYW1lVW5kZXJUb3BGcmFtZU9yaWdpbik6CisgICAgICAg
IChXZWJLaXQ6OldlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VyOjpzZXRTdWJyZXNvdXJj
ZVVuZGVyVG9wRnJhbWVPcmlnaW4pOgorICAgICAgICAoV2ViS2l0OjpXZWJSZXNvdXJjZUxvYWRT
dGF0aXN0aWNzTWFuYWdlcjo6c2V0U3VicmVzb3VyY2VVbmlxdWVSZWRpcmVjdFRvKToKKyAgICAg
ICAgICAgIFRlc3QgaW5mcmFzdHJ1Y3R1cmUuCisgICAgICAgICogVUlQcm9jZXNzL1dlYlJlc291
cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VyLmg6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlJlc291
cmNlTG9hZFN0YXRpc3RpY3NTdG9yZS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlJlc291cmNl
TG9hZFN0YXRpc3RpY3NTdG9yZTo6V2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlKToKKyAg
ICAgICAgICAgIFJlbmFtZWQgbV9zdG9yYWdlUGF0aCB0byBtX3N0YXRpc3RpY3NTdG9yYWdlUGF0
aCBmb3IgY2xhcml0eS4KKyAgICAgICAgKFdlYktpdDo6V2ViUmVzb3VyY2VMb2FkU3RhdGlzdGlj
c1N0b3JlOjpjbGFzc2lmeVJlc291cmNlKToKKyAgICAgICAgICAgIE5vdyBjYWxscyB0aGUgY2xh
c3NpZmllciB0aHJvdWdoIGl0cyBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllcgorICAg
ICAgICAgICAgbWVtYmVyIHZhcmlhYmxlLgorICAgICAgICAoV2ViS2l0OjpXZWJSZXNvdXJjZUxv
YWRTdGF0aXN0aWNzU3RvcmU6OnBlcnNpc3RlbnRTdG9yYWdlUGF0aCk6CisgICAgICAgICAgICBS
ZW5hbWVkIG1fc3RvcmFnZVBhdGggdG8gbV9zdGF0aXN0aWNzU3RvcmFnZVBhdGggZm9yIGNsYXJp
dHkuCisgICAgICAgIChXZWJLaXQ6OldlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZTo6d3Jp
dGVFbmNvZGVyVG9EaXNrKToKKyAgICAgICAgICAgIFJlbmFtZWQgbV9zdG9yYWdlUGF0aCB0byBt
X3N0YXRpc3RpY3NTdG9yYWdlUGF0aCBmb3IgY2xhcml0eS4KKyAgICAgICAgKFdlYktpdDo6V2Vi
UmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlOjpoYXNQcmV2YWxlbnRSZXNvdXJjZUNoYXJhY3Rl
cmlzdGljcyk6IERlbGV0ZWQuCisgICAgICAgICogVUlQcm9jZXNzL1dlYlJlc291cmNlTG9hZFN0
YXRpc3RpY3NTdG9yZS5oOgorICAgICAgICAqIFdlYktpdDIueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvajoKKyAgICAgICAgICAgIEFkZGVkIHRoZSBuZXcgY2xhc3NpZmllciBzb3VyY2UgZmlsZXMg
dW5kZXIgUGxhdGZvcm0vY2xhc3NpZmllciBhbmQgdGhlCisgICAgICAgICAgICBjb3JlUHJlZGlj
dGlvbl9tb2RlbCBmaWxlIHVuZGVyIFJlc291cmNlcy9SZXNvdXJjZUxvYWRTdGF0aXN0aWNzLgor
CiAyMDE3LTAyLTIzICBCZXRoIERha2luICA8YmRha2luQGFwcGxlLmNvbT4gKyBEYW4gU2F1bmRl
cnMgIDxkYXNhdUBtaWNyb3NvZnQuY29tPgogCiAgICAgICAgIE5vIHJlbGlhYmxlIHdheSB0byBn
ZXQgYSBzbmFwc2hvdCBvZiBXS1dlYlZpZXcKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1BsYXRmb3Jt
R1RLLmNtYWtlCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1BsYXRmb3JtR1RLLmNtYWtl
CShyZXZpc2lvbiAyMTI5MzIpCisrKyBTb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybUdUSy5jbWFrZQko
d29ya2luZyBjb3B5KQpAQCAtNDYsNiArNDYsOCBAQCBsaXN0KEFQUEVORCBXZWJLaXQyX1NPVVJD
RVMKICAgICBQbGF0Zm9ybS9JUEMvdW5peC9BdHRhY2htZW50VW5peC5jcHAKICAgICBQbGF0Zm9y
bS9JUEMvdW5peC9Db25uZWN0aW9uVW5peC5jcHAKIAorICAgIFBsYXRmb3JtL2NsYXNzaWZpZXIv
UmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXIuY3BwCisKICAgICBQbGF0Zm9ybS9nbGli
L01vZHVsZUdsaWIuY3BwCiAKICAgICBQbGF0Zm9ybS91bml4L0xvZ2dpbmdVbml4LmNwcApAQCAt
ODY1LDYgKzg2Nyw3IEBAIGxpc3QoQVBQRU5EIFdlYktpdDJfSU5DTFVERV9ESVJFQ1RPUklFUwog
ICAgICIke1dFQktJVDJfRElSfS9OZXR3b3JrUHJvY2Vzcy9zb3VwIgogICAgICIke1dFQktJVDJf
RElSfS9OZXR3b3JrUHJvY2Vzcy91bml4IgogICAgICIke1dFQktJVDJfRElSfS9QbGF0Zm9ybS9J
UEMvZ2xpYiIKKyAgICAiJHtXRUJLSVQyX0RJUn0vUGxhdGZvcm0vY2xhc3NpZmllciIKICAgICAi
JHtXRUJLSVQyX0RJUn0vU2hhcmVkL0FQSS9jL2d0ayIKICAgICAiJHtXRUJLSVQyX0RJUn0vU2hh
cmVkL0Nvb3JkaW5hdGVkR3JhcGhpY3MiCiAgICAgIiR7V0VCS0lUMl9ESVJ9L1NoYXJlZC9Db29y
ZGluYXRlZEdyYXBoaWNzL3RocmVhZGVkY29tcG9zaXRvciIKSW5kZXg6IFNvdXJjZS9XZWJLaXQy
L1BsYXRmb3JtTWFjLmNtYWtlCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1BsYXRmb3Jt
TWFjLmNtYWtlCShyZXZpc2lvbiAyMTI5MzIpCisrKyBTb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybU1h
Yy5jbWFrZQkod29ya2luZyBjb3B5KQpAQCAtNDksNiArNDksMTAgQEAgbGlzdChBUFBFTkQgV2Vi
S2l0Ml9TT1VSQ0VTCiAKICAgICBQbGF0Zm9ybS9jZy9DR1V0aWxpdGllcy5jcHAKIAorICAgIFBs
YXRmb3JtL2NsYXNzaWZpZXIvUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXIuY3BwCisK
KyAgICBQbGF0Zm9ybS9jbGFzc2lmaWVyL2NvY29hL1Jlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFz
c2lmaWVyQ29jb2EuY3BwCisKICAgICBQbGF0Zm9ybS9mb3VuZGF0aW9uL0xvZ2dpbmdGb3VuZGF0
aW9uLm1tCiAKICAgICBQbGF0Zm9ybS9jb2NvYS9TaGFyZWRNZW1vcnlDb2NvYS5jcHAKQEAgLTM5
MSw2ICszOTUsOCBAQCBsaXN0KEFQUEVORCBXZWJLaXQyX0lOQ0xVREVfRElSRUNUT1JJRVMKICAg
ICAiJHtXRUJLSVQyX0RJUn0vVUlQcm9jZXNzL1Njcm9sbGluZyIKICAgICAiJHtXRUJLSVQyX0RJ
Un0vVUlQcm9jZXNzL2lvcyIKICAgICAiJHtXRUJLSVQyX0RJUn0vUGxhdGZvcm0vY2ciCisgICAg
IiR7V0VCS0lUMl9ESVJ9L1BsYXRmb3JtL2NsYXNzaWZpZXIiCisgICAgIiR7V0VCS0lUMl9ESVJ9
L1BsYXRmb3JtL2NsYXNzaWZpZXIvY29jb2EiCiAgICAgIiR7V0VCS0lUMl9ESVJ9L1BsYXRmb3Jt
L21hYyIKICAgICAiJHtXRUJLSVQyX0RJUn0vUGxhdGZvcm0vdW5peCIKICAgICAiJHtXRUJLSVQy
X0RJUn0vUGxhdGZvcm0vc3BpL0NvY29hIgpJbmRleDogU291cmNlL1dlYktpdDIvUGxhdGZvcm0v
TG9nZ2luZy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL0xvZ2dpbmcu
aAkocmV2aXNpb24gMjEyOTMyKQorKysgU291cmNlL1dlYktpdDIvUGxhdGZvcm0vTG9nZ2luZy5o
CSh3b3JraW5nIGNvcHkpCkBAIC02Myw2ICs2Myw3IEBAIGV4dGVybiAiQyIgewogICAgIE0oUHJv
Y2Vzc1N1c3BlbnNpb24pIFwKICAgICBNKFJlbW90ZUxheWVyVHJlZSkgXAogICAgIE0oUmVzaXpl
KSBcCisgICAgTShSZXNvdXJjZUxvYWRTdGF0aXN0aWNzKSBcCiAgICAgTShTZWxlY3Rpb24pIFwK
ICAgICBNKFNlc3Npb25TdGF0ZSkgXAogICAgIE0oU3RvcmFnZUFQSSkgXApJbmRleDogU291cmNl
L1dlYktpdDIvUGxhdGZvcm0vY2xhc3NpZmllci9SZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3Np
Zmllci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvUGxhdGZvcm0vY2xhc3NpZmll
ci9SZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllci5jcHAJKG5vbmV4aXN0ZW50KQorKysg
U291cmNlL1dlYktpdDIvUGxhdGZvcm0vY2xhc3NpZmllci9SZXNvdXJjZUxvYWRTdGF0aXN0aWNz
Q2xhc3NpZmllci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw2MiBAQAorLyoKKyAqIENv
cHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24u
CisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMg
Q09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
CisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMu
IE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisg
KiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJP
RklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQor
ICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICov
CisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJSZXNvdXJjZUxvYWRTdGF0aXN0aWNz
Q2xhc3NpZmllci5oIgorCisjaW5jbHVkZSAiTG9nZ2luZy5oIgorI2luY2x1ZGUgPFdlYkNvcmUv
UmVzb3VyY2VMb2FkU3RhdGlzdGljcy5oPgorCit1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKKwor
bmFtZXNwYWNlIFdlYktpdCB7CisKK3N0YXRpYyBjb25zdCBhdXRvIGZlYXR1cmVWZWN0b3JMZW5n
dGhUaHJlc2hvbGQgPSAzOworYm9vbCBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllcjo6
aGFzUHJldmFsZW50UmVzb3VyY2VDaGFyYWN0ZXJpc3RpY3MoY29uc3QgUmVzb3VyY2VMb2FkU3Rh
dGlzdGljcyYgcmVzb3VyY2VTdGF0aXN0aWMpCit7CisgICAgYXV0byBzdWJyZXNvdXJjZVVuZGVy
VG9wRnJhbWVPcmlnaW5zQ291bnQgPSByZXNvdXJjZVN0YXRpc3RpYy5zdWJyZXNvdXJjZVVuZGVy
VG9wRnJhbWVPcmlnaW5zLnNpemUoKTsKKyAgICBhdXRvIHN1YnJlc291cmNlVW5pcXVlUmVkaXJl
Y3RzVG9Db3VudCA9IHJlc291cmNlU3RhdGlzdGljLnN1YnJlc291cmNlVW5pcXVlUmVkaXJlY3Rz
VG8uc2l6ZSgpOworICAgIGF1dG8gc3ViZnJhbWVVbmRlclRvcEZyYW1lT3JpZ2luc0NvdW50ID0g
cmVzb3VyY2VTdGF0aXN0aWMuc3ViZnJhbWVVbmRlclRvcEZyYW1lT3JpZ2lucy5zaXplKCk7Cisg
ICAgCisgICAgaWYgKCFzdWJyZXNvdXJjZVVuZGVyVG9wRnJhbWVPcmlnaW5zQ291bnQKKyAgICAg
ICAgJiYgIXN1YnJlc291cmNlVW5pcXVlUmVkaXJlY3RzVG9Db3VudAorICAgICAgICAmJiAhc3Vi
ZnJhbWVVbmRlclRvcEZyYW1lT3JpZ2luc0NvdW50KQorICAgICAgICByZXR1cm4gZmFsc2U7Cisg
ICAgCisgICAgaWYgKHN1YnJlc291cmNlVW5kZXJUb3BGcmFtZU9yaWdpbnNDb3VudCA+IGZlYXR1
cmVWZWN0b3JMZW5ndGhUaHJlc2hvbGQKKyAgICAgICAgfHwgc3VicmVzb3VyY2VVbmlxdWVSZWRp
cmVjdHNUb0NvdW50ID4gZmVhdHVyZVZlY3Rvckxlbmd0aFRocmVzaG9sZAorICAgICAgICB8fCBz
dWJmcmFtZVVuZGVyVG9wRnJhbWVPcmlnaW5zQ291bnQgPiBmZWF0dXJlVmVjdG9yTGVuZ3RoVGhy
ZXNob2xkKQorICAgICAgICByZXR1cm4gdHJ1ZTsKKworICAgIHJldHVybiBjbGFzc2lmeShzdWJy
ZXNvdXJjZVVuZGVyVG9wRnJhbWVPcmlnaW5zQ291bnQsIHN1YnJlc291cmNlVW5pcXVlUmVkaXJl
Y3RzVG9Db3VudCwgc3ViZnJhbWVVbmRlclRvcEZyYW1lT3JpZ2luc0NvdW50KTsKK30KKworYm9v
bCBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllcjo6Y2xhc3NpZnlXaXRoVmVjdG9yVGhy
ZXNob2xkKHVuc2lnbmVkIGEsIHVuc2lnbmVkIGIsIHVuc2lnbmVkIGMpCit7CisgICAgTE9HKFJl
c291cmNlTG9hZFN0YXRpc3RpY3MsICJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllcjo6
Y2xhc3NpZnlXaXRoVmVjdG9yVGhyZXNob2xkKCk6IENsYXNzaWZpZWQgd2l0aCB0aHJlc2hvbGQu
Iik7CisgICAgcmV0dXJuIHNxcnQoYSAqIGEgKyBiICogYiArIGMgKiBjKSA+IGZlYXR1cmVWZWN0
b3JMZW5ndGhUaHJlc2hvbGQ7Cit9CisgICAgCit9CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9QbGF0
Zm9ybS9jbGFzc2lmaWVyL1Jlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyLmgKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYktpdDIvUGxhdGZvcm0vY2xhc3NpZmllci9SZXNvdXJjZUxvYWRT
dGF0aXN0aWNzQ2xhc3NpZmllci5oCShub25leGlzdGVudCkKKysrIFNvdXJjZS9XZWJLaXQyL1Bs
YXRmb3JtL2NsYXNzaWZpZXIvUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXIuaAkod29y
a2luZyBjb3B5KQpAQCAtMCwwICsxLDQ3IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE3IEFw
cGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJ
UycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9S
UworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwor
ICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisg
KiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisK
K25hbWVzcGFjZSBXZWJDb3JlIHsKK3N0cnVjdCBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzOworfQor
CituYW1lc3BhY2UgV2ViS2l0IHsKKworY2xhc3MgUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNz
aWZpZXIgeworcHVibGljOgorICAgIFJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyKCkg
PSBkZWZhdWx0OworICAgIHZpcnR1YWwgflJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVy
KCkgPSBkZWZhdWx0OworICAgIGJvb2wgaGFzUHJldmFsZW50UmVzb3VyY2VDaGFyYWN0ZXJpc3Rp
Y3MoY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VMb2FkU3RhdGlzdGljcyYgcmVzb3VyY2VTdGF0aXN0
aWMpOworcHJvdGVjdGVkOgorICAgIHZpcnR1YWwgYm9vbCBjbGFzc2lmeSh1bnNpZ25lZCBzdWJy
ZXNvdXJjZVVuZGVyVG9wRnJhbWVPcmlnaW5zQ291bnQsIHVuc2lnbmVkIHN1YnJlc291cmNlVW5p
cXVlUmVkaXJlY3RzVG9Db3VudCwgdW5zaWduZWQgc3ViZnJhbWVVbmRlclRvcEZyYW1lT3JpZ2lu
c0NvdW50KQorICAgIHsKKyAgICAgICAgcmV0dXJuIGNsYXNzaWZ5V2l0aFZlY3RvclRocmVzaG9s
ZChzdWJyZXNvdXJjZVVuZGVyVG9wRnJhbWVPcmlnaW5zQ291bnQsIHN1YnJlc291cmNlVW5pcXVl
UmVkaXJlY3RzVG9Db3VudCwgc3ViZnJhbWVVbmRlclRvcEZyYW1lT3JpZ2luc0NvdW50KTsKKyAg
ICB9CisgICAgYm9vbCBjbGFzc2lmeVdpdGhWZWN0b3JUaHJlc2hvbGQodW5zaWduZWQsIHVuc2ln
bmVkLCB1bnNpZ25lZCk7Cit9OworCit9CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9j
bGFzc2lmaWVyL2NvY29hL0NvcmVQcmVkaWN0aW9uU29mdExpbmsuaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9jbGFzc2lmaWVyL2NvY29hL0NvcmVQcmVkaWN0aW9uU29m
dExpbmsuaAkobm9uZXhpc3RlbnQpCisrKyBTb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9jbGFzc2lm
aWVyL2NvY29hL0NvcmVQcmVkaWN0aW9uU29mdExpbmsuaAkod29ya2luZyBjb3B5KQpAQCAtMCww
ICsxLDM4IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoK
KyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBP
UgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4K
KyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0Ug
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpbmNsdWRlIDxXZWJDb3Jl
L1NvZnRMaW5raW5nLmg+CisKK3N0cnVjdCBzdm1fbW9kZWw7CitzdHJ1Y3Qgc3ZtX25vZGUgewor
ICAgIGludCBpbmRleDsKKyAgICBkb3VibGUgdmFsdWU7Cit9OworCitTT0ZUX0xJTktfUFJJVkFU
RV9GUkFNRVdPUktfT1BUSU9OQUwoQ29yZVByZWRpY3Rpb24pCitTT0ZUX0xJTksoQ29yZVByZWRp
Y3Rpb24sIHN2bV9wcmVkaWN0X3ZhbHVlcywgZG91YmxlLCAoY29uc3Qgc3RydWN0IHN2bV9tb2Rl
bCAqbW9kZWwsIGNvbnN0IHN0cnVjdCBzdm1fbm9kZSAqeCwgZG91YmxlKiBkZWNfdmFsdWVzKSwg
KG1vZGVsLCB4LCBkZWNfdmFsdWVzKSkKK1NPRlRfTElOSyhDb3JlUHJlZGljdGlvbiwgc3ZtX2xv
YWRfbW9kZWwsIHN2bV9tb2RlbCosIChjb25zdCBjaGFyICptb2RlbF9maWxlX25hbWUpLCAobW9k
ZWxfZmlsZV9uYW1lKSkKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL2NsYXNzaWZpZXIv
Y29jb2EvUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXJDb2NvYS5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYktpdDIvUGxhdGZvcm0vY2xhc3NpZmllci9jb2NvYS9SZXNvdXJjZUxv
YWRTdGF0aXN0aWNzQ2xhc3NpZmllckNvY29hLmNwcAkobm9uZXhpc3RlbnQpCisrKyBTb3VyY2Uv
V2ViS2l0Mi9QbGF0Zm9ybS9jbGFzc2lmaWVyL2NvY29hL1Jlc291cmNlTG9hZFN0YXRpc3RpY3ND
bGFzc2lmaWVyQ29jb2EuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMTEyIEBACisvKgor
ICogQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAq
CisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXBy
b2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1
dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5E
IElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJ
Q1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExF
IElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQg
T0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBP
UiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
CisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIlJlc291cmNlTG9hZFN0YXRp
c3RpY3NDbGFzc2lmaWVyQ29jb2EuaCIKKworI2luY2x1ZGUgIkxvZ2dpbmcuaCIKKyNpbmNsdWRl
IDx3dGYvTmV2ZXJEZXN0cm95ZWQuaD4KKyNpbmNsdWRlICJDb3JlUHJlZGljdGlvblNvZnRMaW5r
LmgiCisKK25hbWVzcGFjZSBXZWJLaXQgeworCitib29sIFJlc291cmNlTG9hZFN0YXRpc3RpY3ND
bGFzc2lmaWVyQ29jb2E6OmNsYXNzaWZ5KHVuc2lnbmVkIHN1YnJlc291cmNlVW5kZXJUb3BGcmFt
ZU9yaWdpbnNDb3VudCwgdW5zaWduZWQgc3VicmVzb3VyY2VVbmlxdWVSZWRpcmVjdHNUb0NvdW50
LCB1bnNpZ25lZCBzdWJmcmFtZVVuZGVyVG9wRnJhbWVPcmlnaW5zQ291bnQpCit7CisgICAgaWYg
KCFjYW5Vc2VDb3JlUHJlZGljdGlvbigpKQorICAgICAgICByZXR1cm4gY2xhc3NpZnlXaXRoVmVj
dG9yVGhyZXNob2xkKHN1YnJlc291cmNlVW5kZXJUb3BGcmFtZU9yaWdpbnNDb3VudCwgc3VicmVz
b3VyY2VVbmlxdWVSZWRpcmVjdHNUb0NvdW50LCBzdWJmcmFtZVVuZGVyVG9wRnJhbWVPcmlnaW5z
Q291bnQpOworCisgICAgVmVjdG9yPHN2bV9ub2RlPiBmZWF0dXJlczsKKworICAgIGlmIChzdWJy
ZXNvdXJjZVVuZGVyVG9wRnJhbWVPcmlnaW5zQ291bnQpCisgICAgICAgIGZlYXR1cmVzLmFwcGVu
ZCh7MSwgc3RhdGljX2Nhc3Q8ZG91YmxlPihzdWJyZXNvdXJjZVVuZGVyVG9wRnJhbWVPcmlnaW5z
Q291bnQpfSk7CisgICAgaWYgKHN1YnJlc291cmNlVW5pcXVlUmVkaXJlY3RzVG9Db3VudCkKKyAg
ICAgICAgZmVhdHVyZXMuYXBwZW5kKHsyLCBzdGF0aWNfY2FzdDxkb3VibGU+KHN1YnJlc291cmNl
VW5pcXVlUmVkaXJlY3RzVG9Db3VudCl9KTsKKyAgICBpZiAoc3ViZnJhbWVVbmRlclRvcEZyYW1l
T3JpZ2luc0NvdW50KQorICAgICAgICBmZWF0dXJlcy5hcHBlbmQoezMsIHN0YXRpY19jYXN0PGRv
dWJsZT4oc3ViZnJhbWVVbmRlclRvcEZyYW1lT3JpZ2luc0NvdW50KX0pOworCisgICAgLy8gQWRk
IHRlcm1pbmF0aW9uIG5vZGUgd2l0aCBpbmRleCAtMS4KKyAgICBmZWF0dXJlcy5hcHBlbmQoey0x
LCAtMX0pOworCisgICAgZG91YmxlIHNjb3JlOworICAgIGludCBjbGFzc2lmaWNhdGlvbiA9IHN2
bV9wcmVkaWN0X3ZhbHVlcyhzaW5nbGV0b25QcmVkaWN0aW9uTW9kZWwoKSwgZmVhdHVyZXMuZGF0
YSgpLCAmc2NvcmUpOworICAgIExPRyhSZXNvdXJjZUxvYWRTdGF0aXN0aWNzLCAiUmVzb3VyY2VM
b2FkU3RhdGlzdGljc0NsYXNzaWZpZXJDb2NvYTo6Y2xhc3NpZnkoKTogQ2xhc3NpZmllZCB3aXRo
IENvcmVQcmVkaWN0aW9uLiIpOworICAgIHJldHVybiBjbGFzc2lmaWNhdGlvbiA8IDA7Cit9CisK
K1N0cmluZyBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllckNvY29hOjpzdG9yYWdlUGF0
aCgpCit7CisgICAgQ0ZCdW5kbGVSZWYgd2ViS2l0QnVuZGxlID0gQ0ZCdW5kbGVHZXRCdW5kbGVX
aXRoSWRlbnRpZmllcihDRlNUUigiY29tLmFwcGxlLldlYktpdCIpKTsKKyAgICBSZXRhaW5QdHI8
Q0ZVUkxSZWY+IHJlc291cmNlVXJsID0gYWRvcHRDRihDRkJ1bmRsZUNvcHlSZXNvdXJjZXNEaXJl
Y3RvcnlVUkwod2ViS2l0QnVuZGxlKSk7CisgICAgcmVzb3VyY2VVcmwgPSBhZG9wdENGKENGVVJM
Q3JlYXRlQ29weUFwcGVuZGluZ1BhdGhDb21wb25lbnQobnVsbHB0ciwgcmVzb3VyY2VVcmwuZ2V0
KCksIENGU1RSKCJjb3JlUHJlZGljdGlvbl9tb2RlbCIpLCBmYWxzZSkpOworICAgIENGRXJyb3JS
ZWYgZXJyb3IgPSBudWxscHRyOworICAgIHJlc291cmNlVXJsID0gYWRvcHRDRihDRlVSTENyZWF0
ZUZpbGVQYXRoVVJMKG51bGxwdHIsIHJlc291cmNlVXJsLmdldCgpLCAmZXJyb3IpKTsKKworICAg
IGlmIChlcnJvciB8fCAhcmVzb3VyY2VVcmwpCisgICAgICAgIHJldHVybiBTdHJpbmcoKTsKKwor
ICAgIFJldGFpblB0cjxDRlN0cmluZ1JlZj4gcmVzb3VyY2VVcmxTdHJpbmcgPSBhZG9wdENGKENG
VVJMQ29weUZpbGVTeXN0ZW1QYXRoKHJlc291cmNlVXJsLmdldCgpLCBrQ0ZVUkxQT1NJWFBhdGhT
dHlsZSkpOworICAgIHJldHVybiBTdHJpbmcocmVzb3VyY2VVcmxTdHJpbmcuZ2V0KCkpOworfQor
Citib29sIFJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQ29jb2E6OmNhblVzZUNvcmVQ
cmVkaWN0aW9uKCkKK3sKKyAgICBpZiAobV9oYXZlTG9hZGVkTW9kZWwpCisgICAgICAgIHJldHVy
biB0cnVlOworCisgICAgaWYgKCFtX3VzZUNvcmVQcmVkaWN0aW9uKQorICAgICAgICByZXR1cm4g
ZmFsc2U7CisKKyAgICBpZiAoIUNvcmVQcmVkaWN0aW9uTGlicmFyeSgpKSB7CisgICAgICAgIG1f
dXNlQ29yZVByZWRpY3Rpb24gPSBmYWxzZTsKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIH0K
KworICAgIFN0cmluZyBzdG9yYWdlUGF0aFN0ciA9IHN0b3JhZ2VQYXRoKCk7CisgICAgaWYgKHN0
b3JhZ2VQYXRoU3RyLmlzTnVsbCgpIHx8IHN0b3JhZ2VQYXRoU3RyLmlzRW1wdHkoKSkgeworICAg
ICAgICBtX3VzZUNvcmVQcmVkaWN0aW9uID0gZmFsc2U7CisgICAgICAgIHJldHVybiBmYWxzZTsK
KyAgICB9CisKKyAgICBpZiAoc2luZ2xldG9uUHJlZGljdGlvbk1vZGVsKCkpIHsKKyAgICAgICAg
bV9oYXZlTG9hZGVkTW9kZWwgPSB0cnVlOworICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICB9CisK
KyAgICBtX3VzZUNvcmVQcmVkaWN0aW9uID0gZmFsc2U7CisgICAgcmV0dXJuIGZhbHNlOworfQor
Citjb25zdCBzdHJ1Y3Qgc3ZtX21vZGVsKiBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmll
ckNvY29hOjpzaW5nbGV0b25QcmVkaWN0aW9uTW9kZWwoKQoreworICAgIHN0YXRpYyBOZXZlckRl
c3Ryb3llZDxzdHJ1Y3Qgc3ZtX21vZGVsKj4gY29yZVByZWRpY3Rpb25Nb2RlbCA9IHN2bV9sb2Fk
X21vZGVsKHN0b3JhZ2VQYXRoKCkudXRmOCgpLmRhdGEoKSk7CisKKyAgICBpZiAoY29yZVByZWRp
Y3Rpb25Nb2RlbCkKKyAgICAgICAgcmV0dXJuIGNvcmVQcmVkaWN0aW9uTW9kZWw7CisKKyAgICBX
VEZMb2dBbHdheXMoIlJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQ29jb2E6OnNpbmds
ZXRvblByZWRpY3Rpb25Nb2RlbCgpOiBDb3VsZG4ndCBsb2FkIG1vZGVsIGZpbGUgYXQgcGF0aCAl
cy4iLCBzdG9yYWdlUGF0aCgpLnV0ZjgoKS5kYXRhKCkpOworICAgIG1fdXNlQ29yZVByZWRpY3Rp
b24gPSBmYWxzZTsKKyAgICByZXR1cm4gbnVsbHB0cjsKK30KK30KSW5kZXg6IFNvdXJjZS9XZWJL
aXQyL1BsYXRmb3JtL2NsYXNzaWZpZXIvY29jb2EvUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNz
aWZpZXJDb2NvYS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL2NsYXNz
aWZpZXIvY29jb2EvUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXJDb2NvYS5oCShub25l
eGlzdGVudCkKKysrIFNvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL2NsYXNzaWZpZXIvY29jb2EvUmVz
b3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXJDb2NvYS5oCSh3b3JraW5nIGNvcHkpCkBAIC0w
LDAgKzEsNDYgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0
OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4g
dGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkg
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8g
RVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUg
Rk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlks
IE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9T
UyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04p
IEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2luY2x1ZGUgIlJlc291
cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyLmgiCisjaW5jbHVkZSA8d3RmL1BsYXRmb3JtLmg+
CisjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CisKK3N0cnVjdCBzdm1fbW9kZWw7CisK
K25hbWVzcGFjZSBXZWJLaXQgeworCitjbGFzcyBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3Np
ZmllckNvY29hIDogcHVibGljIFJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyIHsKK3By
aXZhdGU6CisgICAgYm9vbCBjbGFzc2lmeSh1bnNpZ25lZCwgdW5zaWduZWQsIHVuc2lnbmVkKSBv
dmVycmlkZTsKKyAgICBTdHJpbmcgc3RvcmFnZVBhdGgoKTsKKyAgICBib29sIGNhblVzZUNvcmVQ
cmVkaWN0aW9uKCk7CisgICAgY29uc3Qgc3RydWN0IHN2bV9tb2RlbCogc2luZ2xldG9uUHJlZGlj
dGlvbk1vZGVsKCk7CisgICAgYm9vbCBtX3VzZUNvcmVQcmVkaWN0aW9uIHsgdHJ1ZSB9OworICAg
IGJvb2wgbV9oYXZlTG9hZGVkTW9kZWwgeyBmYWxzZSB9OworfTsKKyAgICAKK30KSW5kZXg6IFNv
dXJjZS9XZWJLaXQyL1Jlc291cmNlcy9SZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NvcmVQcmVkaWN0
aW9uX21vZGVsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1Jlc291cmNlcy9SZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzL2NvcmVQcmVkaWN0aW9uX21vZGVsCShub25leGlzdGVudCkKKysrIFNv
dXJjZS9XZWJLaXQyL1Jlc291cmNlcy9SZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NvcmVQcmVkaWN0
aW9uX21vZGVsCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNjc4IEBACitzdm1fdHlwZSBjX3N2
Ywora2VybmVsX3R5cGUgcmJmCitnYW1tYSAwLjEKK25yX2NsYXNzIDIKK3RvdGFsX3N2IDMzMAor
cmhvIDAuMjg3OTQ1NjQyMjYxCitsYWJlbCAtMSAxCitucl9zdiAzMDAgMzAKK1NWCistMC4wNTQ2
Njk3MDM4NzI0IDE6MTQuMCAyOjMuMCAzOjcuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMjox
LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAzOjEu
MCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxMi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjcuMCAKKy0w
LjA1NDY2OTcwMzg3MjQgMToyLjAgMjoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDM6MS4w
IAorLTAuMDU0NjY5NzAzODcyNCAxOjMuMCAyOjE2LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4w
IDM6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAyOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQg
MToxLjAgMzoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAx
OjMuMCAyOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo1LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6
MTYuMCAyOjIuMCAzOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMjoxLjAgCistMC4wNTQ2
Njk3MDM4NzI0IDE6MTEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo0LjAgMzozLjAgCistMC4wNTQ2
Njk3MDM4NzI0IDE6MjguMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAgCistMC4wNTQ2Njk3MDM4
NzI0IDE6MS4wIDM6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAzOjEuMCAKKy0wLjA1NDY2
OTcwMzg3MjQgMToyMi4wIDI6MS4wIDM6MTIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxNC4wIDM6
NS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAzOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo0
OC4wIDI6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjI1LjAgMzoxNi4wIAorLTAuMDU0NjY5NzAz
ODcyNCAxOjEuMCAyOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMzoxLjAgCistMC4wNTQ2
Njk3MDM4NzI0IDE6Ni4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjcuMCAKKy0wLjA1NDY2OTcwMzg3
MjQgMToxLjAgMjoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDM6MS4wIAorLTAuMDU0NjY5
NzAzODcyNCAxOjMuMCAzOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo3LjAgMjoxLjAgMzoxLjAg
CistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjcuMCAKKy0wLjA1
NDY2OTcwMzg3MjQgMTo1LjAgMjoyLjAgMzozLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIAor
LTAuMDU0NjY5NzAzODcyNCAxOjEuMCAyOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo0LjAgCist
MC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDI6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAzOjEu
MCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo5LjAgMzo0LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4w
IDI6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAzOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQg
MTo0Ny4wIDI6MjEuMCAzOjMzLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MTEuMCAyOjIuMCAzOjUu
MCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxMS4wIDI6My4wIDM6MS4wIAorLTAuMDU0NjY5NzAzODcy
NCAxOjEuMCAzOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAgMjoxLjAgCistMC4wNTQ2Njk3
MDM4NzI0IDE6NDMuMCAzOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxMy4wIDM6Ny4wIAorLTAu
MDU0NjY5NzAzODcyNCAxOjEuMCAzOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo0LjAgCistMC4w
NTQ2Njk3MDM4NzI0IDE6MTMuMCAzOjQuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo0Mi4wIDI6NC4w
IDM6MzIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxMC4wIDI6NS4wIDM6MS4wIAorLTAuMDU0NjY5
NzAzODcyNCAxOjcuMCAzOjQuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAgCistMC4wNTQ2Njk3
MDM4NzI0IDE6MS4wIDM6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAzOjEuMCAKKy0wLjA1
NDY2OTcwMzg3MjQgMTo2LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDI6MS4wIAorLTAuMDU0
NjY5NzAzODcyNCAxOjYuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxNi4wIDI6NC4wIAorLTAuMDU0
NjY5NzAzODcyNCAxOjEwLjAgMjoxLjAgMzoyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MTguMCAy
OjMuMCAzOjYuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMzoxLjAgCistMC4wNTQ2Njk3MDM4
NzI0IDE6MS4wIDI6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAKKy0wLjA1NDY2OTcwMzg3
MjQgMTozLjAgMjoxLjAgMzoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDI6MS4wIAorLTAu
MDU0NjY5NzAzODcyNCAxOjMuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTozLjAgCistMC4wNTQ2Njk3
MDM4NzI0IDE6NC4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQg
MToyLjAgMzoyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAx
OjEuMCAzOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyMS4wIAorLTAuMDU0NjY5NzAzODcyNCAx
OjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAgMjoyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6
MTQuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAgMjoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6
Mi4wIDM6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjQuMCAzOjMuMCAKKy0wLjA1NDY2OTcwMzg3
MjQgMToyLjAgMzoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6My4wIAorLTAuMDU0NjY5NzAzODcy
NCAxOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMjoxLjAgCistMC4wNTQ2Njk3MDM4NzI0
IDE6NC4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjM5LjAgMzo0LjAgCistMC4wNTQ2Njk3MDM4NzI0
IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAyOjEuMCAzOjEuMCAKKy0wLjA1NDY2OTcw
Mzg3MjQgMTo0LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIDI6MS4wIAorLTAuMDU0NjY5NzAz
ODcyNCAxOjQuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMjoxLjAgCistMC4wNTQ2Njk3MDM4
NzI0IDE6MS4wIDI6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3
MjQgMToyLjAgMjoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcy
NCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4w
IAorLTAuMDU0NjY5NzAzODcyNCAxOjMuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMjoxLjAg
CistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1
NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAz
ODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMzoxLjAgCistMC4wNTQ2Njk3MDM4
NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTox
LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0w
LjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5
NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0
IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjE2LjAgMjoxLjAgMzoxLjAgCistMC4wNTQ2Njk3
MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQg
MToxLjAgMjoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAx
OjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTozLjAgMjoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6
MS4wIDM6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTox
LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0w
LjA1NDY2OTcwMzg3MjQgMToyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5
NzAzODcyNCAxOjIwLjAgMzozLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5
NzAzODcyNCAxOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0
IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAg
CistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAzOjEuMCAK
Ky0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDM6MS4wIAor
LTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo4LjAgCistMC4wNTQ2
Njk3MDM4NzI0IDE6Ny4wIDI6MS4wIDM6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjguMCAyOjIu
MCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMjoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4w
IAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMjoxLjAg
CistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1
NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAz
ODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6
MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEyLjAgMzo3LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6
MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjkuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo3LjAgCist
MC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAyOjEuMCAKKy0w
LjA1NDY2OTcwMzg3MjQgMToxLjAgMzoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAu
MDU0NjY5NzAzODcyNCAxOjguMCAyOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxNy4wIAorLTAu
MDU0NjY5NzAzODcyNCAxOjIuMCAyOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4w
NTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcw
Mzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6NC4wIAorLTAuMDU0NjY5NzAzODcyNCAx
OjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MTMuMCAy
OjQuMCAzOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMzoxLjAgCistMC4wNTQ2Njk3MDM4
NzI0IDE6Mi4wIDM6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3
MjQgMToxNi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjMuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTox
LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0w
LjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIAorLTAuMDU0NjY5
NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAgCistMC4wNTQ2Njk3MDM4NzI0
IDE6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAg
CistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1
NDY2OTcwMzg3MjQgMToyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6My4wIDM6My4wIAorLTAuMDU0
NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAgCistMC4wNTQ2Njk3MDM4
NzI0IDE6MTEuMCAzOjExLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAz
ODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6
Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCist
MC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2
OTcwMzg3MjQgMToyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcy
NCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4w
IAorLTAuMDU0NjY5NzAzODcyNCAxOjE1LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAu
MDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyMC4wIDI6MTIuMCAzOjMu
MCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAu
MDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3
MDM4NzI0IDE6Ny4wIDM6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcw
Mzg3MjQgMToxLjAgMzoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAz
ODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMzoxLjAgCistMC4wNTQ2Njk3MDM4
NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjMuMCAzOjIuMCAKKy0wLjA1NDY2OTcwMzg3
MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjku
MCAyOjMuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMzoxLjAgCistMC4wNTQ2Njk3MDM4NzI0
IDE6Ni4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjQuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAg
CistMC4wNTQ2Njk3MDM4NzI0IDE6Ny4wIDI6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAK
Ky0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMzoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIAor
LTAuMDU0NjY5NzAzODcyNCAxOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo5LjAgCistMC4wNTQ2
Njk3MDM4NzI0IDE6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3
MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEu
MCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MTQuMCAKKy0w
LjA1NDY2OTcwMzg3MjQgMToxMi4wIDM6Ni4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjMuMCAKKy0w
LjA1NDY2OTcwMzg3MjQgMTo0LjAgMjoxLjAgMzoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4w
IAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4w
NTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjkuMCAKKy0wLjA1NDY2OTcw
Mzg3MjQgMTo5LjAgMjoxLjAgMzo0LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0
NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo5LjAgMjoxLjAgCistMC4wNTQ2
Njk3MDM4NzI0IDE6My4wIDI6My4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAyOjIuMCAKKy0w
LjA1NDY2OTcwMzg3MjQgMToxLjAgMjoxLjAgMzoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6OC4w
IDI6MS4wIDM6My4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQg
MToyLjAgMjoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6OS4wIDI6MS4wIAorLTAuMDU0NjY5NzAz
ODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6
Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTozNi4wIAor
LTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2
Njk3MDM4NzI0IDE6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3
MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEu
MCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Ni4wIAorLTAu
MDU0NjY5NzAzODcyNCAxOjEuMCAzOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4w
NTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcw
Mzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAx
OjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6NC4wIDM6
Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEzLjAgMzo0LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6
MS4wIAorLTAuMDQwMjA3NTE3ODk0MiAxOjEuMCAKKzAuNTg1MzY1ODUzNjU5IDE6MS4wIAorMC40
NzkyNzYxMzkwMDEgMTo2LjAgMjozLjAgCiswLjU4NTM2NTg1MzY1OSAxOjIuMCAKKzAuNTg1MzY1
ODUzNjU5IDE6MS4wIAorMC41ODUzNjU4NTM2NTkgMTozLjAgMzozLjAgCiswLjU4NTM2NTg1MzY1
OSAxOjQyLjAgMjoyLjAgMzoyOC4wIAorMC41ODUzNjU4NTM2NTkgMToyLjAgCiswLjU4NTM2NTg1
MzY1OSAxOjEyLjAgCiswLjQ3OTI4MzA0NjU3OCAxOjcuMCAKKzAuMzAwMzk3ODczNDc2IDE6My4w
IDM6MS4wIAorMC4wNTQzMTczMzA2NDQyIDE6Ni4wIDM6Mi4wIAorMC41NjM0NjUxMjYyOTkgMTox
MS4wIAorMC41ODUzNjU4NTM2NTkgMToyLjAgCiswLjU4NTM2NTg1MzY1OSAxOjEwLjAgMjozLjAg
Mzo2LjAgCiswLjU4NTM2NTg1MzY1OSAxOjEuMCAyOjEuMCAKKzAuNTg1MzY1ODUzNjU5IDE6Mi4w
IAorMC41ODUzNjU4NTM2NTkgMToxLjAgMjoxLjAgCiswLjU4NTM2NTg1MzY1OSAxOjMuMCAzOjEu
MCAKKzAuNTg1MzY1ODUzNjU5IDE6MS4wIAorMC41ODUzNjU4NTM2NTkgMToyLjAgCiswLjU4NTM2
NTg1MzY1OSAxOjEuMCAyOjEuMCAKKzAuNTg0OTg5NzE5OTA5IDE6Ny4wIAorMC41ODUzNjU4NTM2
NTkgMTozLjAgCiswLjU4NTM2NTg1MzY1OSAxOjMuMCAKKzAuNTI1OTI1MTM2OTgzIDE6My4wIDI6
Mi4wIAorMC41ODUzNjU4NTM2NTkgMToxLjAgCiswLjU4NTM2NTg1MzY1OSAxOjEuMCAKKzAuNTg1
MzY1ODUzNjU5IDE6My4wIDM6MS4wIAorMC41ODUzNjU4NTM2NTkgMToxLjAgCiswLjUyMDc0NTgy
MjM3NCAxOjMuMCAKK3N2bV90eXBlIGNfc3ZjCitrZXJuZWxfdHlwZSByYmYKK2dhbW1hIDAuMQor
bnJfY2xhc3MgMgordG90YWxfc3YgMzMwCityaG8gMC4yODc5NDU2NDIyNjEKK2xhYmVsIC0xIDEK
K25yX3N2IDMwMCAzMAorU1YKKy0wLjA1NDY2OTcwMzg3MjQgMToxNC4wIDI6My4wIDM6Ny4wIAor
LTAuMDU0NjY5NzAzODcyNCAxOjEuMCAyOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAgCist
MC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDM6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEyLjAgCist
MC4wNTQ2Njk3MDM4NzI0IDE6Ny4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAyOjEuMCAKKy0w
LjA1NDY2OTcwMzg3MjQgMToxLjAgMzoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6My4wIDI6MTYu
MCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMzoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4w
IDI6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAzOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQg
MToyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6My4wIDI6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAx
OjUuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxNi4wIDI6Mi4wIDM6Mi4wIAorLTAuMDU0NjY5NzAz
ODcyNCAxOjEuMCAyOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxMS4wIAorLTAuMDU0NjY5NzAz
ODcyNCAxOjQuMCAzOjMuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyOC4wIAorLTAuMDU0NjY5NzAz
ODcyNCAxOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMzoxLjAgCistMC4wNTQ2Njk3MDM4
NzI0IDE6MS4wIDM6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIyLjAgMjoxLjAgMzoxMi4wIAor
LTAuMDU0NjY5NzAzODcyNCAxOjE0LjAgMzo1LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDM6
MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjQ4LjAgMjoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6
MjUuMCAzOjE2LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDI6MS4wIAorLTAuMDU0NjY5NzAz
ODcyNCAxOjEuMCAzOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo2LjAgCistMC4wNTQ2Njk3MDM4
NzI0IDE6Ny4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAyOjEuMCAKKy0wLjA1NDY2OTcwMzg3
MjQgMToxLjAgMzoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6My4wIDM6Mi4wIAorLTAuMDU0NjY5
NzAzODcyNCAxOjcuMCAyOjEuMCAzOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAgCistMC4w
NTQ2Njk3MDM4NzI0IDE6Ny4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjUuMCAyOjIuMCAzOjMuMCAK
Ky0wLjA1NDY2OTcwMzg3MjQgMToyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDI6MS4wIAor
LTAuMDU0NjY5NzAzODcyNCAxOjQuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMjoxLjAgCist
MC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDM6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjkuMCAzOjQu
MCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMjoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4w
IDM6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjQ3LjAgMjoyMS4wIDM6MzMuMCAKKy0wLjA1NDY2
OTcwMzg3MjQgMToxMS4wIDI6Mi4wIDM6NS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjExLjAgMjoz
LjAgMzoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDM6MS4wIAorLTAuMDU0NjY5NzAzODcy
NCAxOjIuMCAyOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo0My4wIDM6Mi4wIAorLTAuMDU0NjY5
NzAzODcyNCAxOjEzLjAgMzo3LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDM6MS4wIAorLTAu
MDU0NjY5NzAzODcyNCAxOjQuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxMy4wIDM6NC4wIAorLTAu
MDU0NjY5NzAzODcyNCAxOjQyLjAgMjo0LjAgMzozMi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEw
LjAgMjo1LjAgMzoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Ny4wIDM6NC4wIAorLTAuMDU0NjY5
NzAzODcyNCAxOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMzoxLjAgCistMC4wNTQ2Njk3
MDM4NzI0IDE6MS4wIDM6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjYuMCAKKy0wLjA1NDY2OTcw
Mzg3MjQgMToxLjAgMjoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Ni4wIAorLTAuMDU0NjY5NzAz
ODcyNCAxOjE2LjAgMjo0LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MTAuMCAyOjEuMCAzOjIuMCAK
Ky0wLjA1NDY2OTcwMzg3MjQgMToxOC4wIDI6My4wIDM6Ni4wIAorLTAuMDU0NjY5NzAzODcyNCAx
OjEuMCAzOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMjoxLjAgCistMC4wNTQ2Njk3MDM4
NzI0IDE6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjMuMCAyOjEuMCAzOjEuMCAKKy0wLjA1NDY2
OTcwMzg3MjQgMToxLjAgMjoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6My4wIAorLTAuMDU0NjY5
NzAzODcyNCAxOjMuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo0LjAgCistMC4wNTQ2Njk3MDM4NzI0
IDE6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAzOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQg
MToyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDM6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAx
OjIxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAy
OjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxNC4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAy
OjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAgMzoyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6
NC4wIDM6My4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAzOjEuMCAKKy0wLjA1NDY2OTcwMzg3
MjQgMTozLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEu
MCAyOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo0LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mzku
MCAzOjQuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4w
IDI6MS4wIDM6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjQuMCAKKy0wLjA1NDY2OTcwMzg3MjQg
MToyLjAgMjoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6NC4wIAorLTAuMDU0NjY5NzAzODcyNCAx
OjEuMCAyOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMjoyLjAgCistMC4wNTQ2Njk3MDM4
NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAyOjEuMCAKKy0wLjA1NDY2OTcwMzg3
MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEu
MCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6My4wIAorLTAu
MDU0NjY5NzAzODcyNCAxOjEuMCAyOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4w
NTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcw
Mzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAx
OjEuMCAzOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6
MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCist
MC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2
OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcy
NCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MTYu
MCAyOjEuMCAzOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0
IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAyOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQg
MToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjMuMCAy
OjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgMzoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6
MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCist
MC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAKKy0wLjA1NDY2
OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MjAuMCAzOjMuMCAKKy0wLjA1NDY2
OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIAorLTAuMDU0NjY5NzAzODcy
NCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4w
IAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4w
NTQ2Njk3MDM4NzI0IDE6MS4wIDM6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1
NDY2OTcwMzg3MjQgMToxLjAgMzoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0
NjY5NzAzODcyNCAxOjguMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo3LjAgMjoxLjAgMzoyLjAgCist
MC4wNTQ2Njk3MDM4NzI0IDE6OC4wIDI6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAyOjEu
MCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAu
MDU0NjY5NzAzODcyNCAxOjEuMCAyOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4w
NTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcw
Mzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAx
OjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MTIuMCAz
OjcuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6OS4wIAor
LTAuMDU0NjY5NzAzODcyNCAxOjcuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2
Njk3MDM4NzI0IDE6MS4wIDI6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAzOjEuMCAKKy0w
LjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6OC4wIDI6Mi4wIAorLTAu
MDU0NjY5NzAzODcyNCAxOjE3LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIDI6MS4wIAorLTAu
MDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3
MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQg
MTo0LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAK
Ky0wLjA1NDY2OTcwMzg3MjQgMToxMy4wIDI6NC4wIDM6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAx
OjEuMCAzOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAgMzoyLjAgCistMC4wNTQ2Njk3MDM4
NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjE2LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6
My4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCist
MC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2
OTcwMzg3MjQgMToyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcy
NCAxOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4w
IAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4w
NTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAKKy0wLjA1NDY2OTcw
Mzg3MjQgMTozLjAgMzozLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAz
ODcyNCAxOjIuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxMS4wIDM6MTEuMCAKKy0wLjA1NDY2OTcw
Mzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAx
OjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAor
LTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2
Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAKKy0wLjA1NDY2OTcwMzg3
MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEu
MCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MTUuMCAKKy0w
LjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5
NzAzODcyNCAxOjIwLjAgMjoxMi4wIDM6My4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0w
LjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5
NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo3LjAgMzoxLjAgCistMC4wNTQ2Njk3
MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAzOjEuMCAKKy0wLjA1NDY2OTcw
Mzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAx
OjEuMCAzOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6
My4wIDM6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTox
LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6OS4wIDI6My4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEu
MCAzOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo2LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6NC4w
IAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo3LjAgMjoyLjAg
CistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAzOjEuMCAK
Ky0wLjA1NDY2OTcwMzg3MjQgMToyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6Mi4wIAorLTAuMDU0
NjY5NzAzODcyNCAxOjkuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAgCistMC4wNTQ2Njk3MDM4
NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTox
LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0w
LjA1NDY2OTcwMzg3MjQgMToxNC4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEyLjAgMzo2LjAgCist
MC4wNTQ2Njk3MDM4NzI0IDE6My4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjQuMCAyOjEuMCAzOjEu
MCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAu
MDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3
MDM4NzI0IDE6OS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjkuMCAyOjEuMCAzOjQuMCAKKy0wLjA1
NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAz
ODcyNCAxOjkuMCAyOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMTozLjAgMjozLjAgCistMC4wNTQ2
Njk3MDM4NzI0IDE6Mi4wIDI6Mi4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAyOjEuMCAzOjEu
MCAKKy0wLjA1NDY2OTcwMzg3MjQgMTo4LjAgMjoxLjAgMzozLjAgCistMC4wNTQ2Njk3MDM4NzI0
IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAyOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQg
MTo5LjAgMjoxLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAx
OjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAor
LTAuMDU0NjY5NzAzODcyNCAxOjM2LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0
NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToyLjAgCistMC4wNTQ2Njk3MDM4
NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToy
LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0w
LjA1NDY2OTcwMzg3MjQgMTo2LjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIDM6MS4wIAorLTAu
MDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNTQ2Njk3
MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjEuMCAKKy0wLjA1NDY2OTcwMzg3MjQg
MToyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MS4wIAorLTAuMDU0NjY5NzAzODcyNCAxOjIuMCAK
Ky0wLjA1NDY2OTcwMzg3MjQgMTo0LjAgMzoyLjAgCistMC4wNTQ2Njk3MDM4NzI0IDE6MTMuMCAz
OjQuMCAKKy0wLjA1NDY2OTcwMzg3MjQgMToxLjAgCistMC4wNDAyMDc1MTc4OTQyIDE6MS4wIAor
MC41ODUzNjU4NTM2NTkgMToxLjAgCiswLjQ3OTI3NjEzOTAwMSAxOjYuMCAyOjMuMCAKKzAuNTg1
MzY1ODUzNjU5IDE6Mi4wIAorMC41ODUzNjU4NTM2NTkgMToxLjAgCiswLjU4NTM2NTg1MzY1OSAx
OjMuMCAzOjMuMCAKKzAuNTg1MzY1ODUzNjU5IDE6NDIuMCAyOjIuMCAzOjI4LjAgCiswLjU4NTM2
NTg1MzY1OSAxOjIuMCAKKzAuNTg1MzY1ODUzNjU5IDE6MTIuMCAKKzAuNDc5MjgzMDQ2NTc4IDE6
Ny4wIAorMC4zMDAzOTc4NzM0NzYgMTozLjAgMzoxLjAgCiswLjA1NDMxNzMzMDY0NDIgMTo2LjAg
MzoyLjAgCiswLjU2MzQ2NTEyNjI5OSAxOjExLjAgCiswLjU4NTM2NTg1MzY1OSAxOjIuMCAKKzAu
NTg1MzY1ODUzNjU5IDE6MTAuMCAyOjMuMCAzOjYuMCAKKzAuNTg1MzY1ODUzNjU5IDE6MS4wIDI6
MS4wIAorMC41ODUzNjU4NTM2NTkgMToyLjAgCiswLjU4NTM2NTg1MzY1OSAxOjEuMCAyOjEuMCAK
KzAuNTg1MzY1ODUzNjU5IDE6My4wIDM6MS4wIAorMC41ODUzNjU4NTM2NTkgMToxLjAgCiswLjU4
NTM2NTg1MzY1OSAxOjIuMCAKKzAuNTg1MzY1ODUzNjU5IDE6MS4wIDI6MS4wIAorMC41ODQ5ODk3
MTk5MDkgMTo3LjAgCiswLjU4NTM2NTg1MzY1OSAxOjMuMCAKKzAuNTg1MzY1ODUzNjU5IDE6My4w
IAorMC41MjU5MjUxMzY5ODMgMTozLjAgMjoyLjAgCiswLjU4NTM2NTg1MzY1OSAxOjEuMCAKKzAu
NTg1MzY1ODUzNjU5IDE6MS4wIAorMC41ODUzNjU4NTM2NTkgMTozLjAgMzoxLjAgCiswLjU4NTM2
NTg1MzY1OSAxOjEuMCAKKzAuNTIwNzQ1ODIyMzc0IDE6My4wIApJbmRleDogU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL1dlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VyLmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGlj
c01hbmFnZXIuY3BwCShyZXZpc2lvbiAyMTI5MzIpCisrKyBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFnZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC02MSw2ICs2MSwyMSBAQCBib29sIFdlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VyOjpo
CiAgICAgcmV0dXJuIFdlYkNvcmU6OlJlc291cmNlTG9hZE9ic2VydmVyOjpzaGFyZWRPYnNlcnZl
cigpLmhhc0hhZFVzZXJJbnRlcmFjdGlvbihVUkwoVVJMKCksIGhvc3ROYW1lKSk7CiB9CiAKK3Zv
aWQgV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFnZXI6OnNldFN1YmZyYW1lVW5kZXJUb3BG
cmFtZU9yaWdpbihjb25zdCBTdHJpbmcmIGhvc3ROYW1lLCBjb25zdCBTdHJpbmcmIHRvcEZyYW1l
SG9zdE5hbWUpCit7CisgICAgV2ViQ29yZTo6UmVzb3VyY2VMb2FkT2JzZXJ2ZXI6OnNoYXJlZE9i
c2VydmVyKCkuc2V0U3ViZnJhbWVVbmRlclRvcEZyYW1lT3JpZ2luKFVSTChVUkwoKSwgaG9zdE5h
bWUpLCBVUkwoVVJMKCksIHRvcEZyYW1lSG9zdE5hbWUpKTsKK30KKwordm9pZCBXZWJSZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzTWFuYWdlcjo6c2V0U3VicmVzb3VyY2VVbmRlclRvcEZyYW1lT3JpZ2lu
KGNvbnN0IFN0cmluZyYgaG9zdE5hbWUsIGNvbnN0IFN0cmluZyYgdG9wRnJhbWVIb3N0TmFtZSkK
K3sKKyAgICBXZWJDb3JlOjpSZXNvdXJjZUxvYWRPYnNlcnZlcjo6c2hhcmVkT2JzZXJ2ZXIoKS5z
ZXRTdWJyZXNvdXJjZVVuZGVyVG9wRnJhbWVPcmlnaW4oVVJMKFVSTCgpLCBob3N0TmFtZSksIFVS
TChVUkwoKSwgdG9wRnJhbWVIb3N0TmFtZSkpOworfQorCit2b2lkIFdlYlJlc291cmNlTG9hZFN0
YXRpc3RpY3NNYW5hZ2VyOjpzZXRTdWJyZXNvdXJjZVVuaXF1ZVJlZGlyZWN0VG8oY29uc3QgU3Ry
aW5nJiBob3N0TmFtZSwgY29uc3QgU3RyaW5nJiBob3N0TmFtZVJlZGlyZWN0ZWRUbykKK3sKKyAg
ICBXZWJDb3JlOjpSZXNvdXJjZUxvYWRPYnNlcnZlcjo6c2hhcmVkT2JzZXJ2ZXIoKS5zZXRTdWJy
ZXNvdXJjZVVuaXF1ZVJlZGlyZWN0VG8oVVJMKFVSTCgpLCBob3N0TmFtZSksIFVSTChVUkwoKSwg
aG9zdE5hbWVSZWRpcmVjdGVkVG8pKTsKK30KKwogdm9pZCBXZWJSZXNvdXJjZUxvYWRTdGF0aXN0
aWNzTWFuYWdlcjo6c2V0VGltZVRvTGl2ZVVzZXJJbnRlcmFjdGlvbihkb3VibGUgc2Vjb25kcykK
IHsKICAgICBXZWJDb3JlOjpSZXNvdXJjZUxvYWRPYnNlcnZlcjo6c2hhcmVkT2JzZXJ2ZXIoKS5z
ZXRUaW1lVG9MaXZlVXNlckludGVyYWN0aW9uKHNlY29uZHMpOwpJbmRleDogU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL1dlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VyLmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NN
YW5hZ2VyLmgJKHJldmlzaW9uIDIxMjkzMikKKysrIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9X
ZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdlci5oCSh3b3JraW5nIGNvcHkpCkBAIC00Miw2
ICs0Miw5IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgYm9vbCBpc1ByZXZhbGVudFJlc291cmNlKGNv
bnN0IFN0cmluZyYgaG9zdE5hbWUpOwogICAgIHN0YXRpYyB2b2lkIHNldEhhc0hhZFVzZXJJbnRl
cmFjdGlvbihjb25zdCBTdHJpbmcmIGhvc3ROYW1lLCBib29sIHZhbHVlKTsKICAgICBzdGF0aWMg
Ym9vbCBoYXNIYWRVc2VySW50ZXJhY3Rpb24oY29uc3QgU3RyaW5nJiBob3N0TmFtZSk7CisgICAg
c3RhdGljIHZvaWQgc2V0U3ViZnJhbWVVbmRlclRvcEZyYW1lT3JpZ2luKGNvbnN0IFN0cmluZyYg
aG9zdE5hbWUsIGNvbnN0IFN0cmluZyYgdG9wRnJhbWVIb3N0TmFtZSk7CisgICAgc3RhdGljIHZv
aWQgc2V0U3VicmVzb3VyY2VVbmRlclRvcEZyYW1lT3JpZ2luKGNvbnN0IFN0cmluZyYgaG9zdE5h
bWUsIGNvbnN0IFN0cmluZyYgdG9wRnJhbWVIb3N0TmFtZSk7CisgICAgc3RhdGljIHZvaWQgc2V0
U3VicmVzb3VyY2VVbmlxdWVSZWRpcmVjdFRvKGNvbnN0IFN0cmluZyYgaG9zdE5hbWUsIGNvbnN0
IFN0cmluZyYgaG9zdE5hbWVSZWRpcmVjdGVkVG8pOwogICAgIHN0YXRpYyB2b2lkIHNldFRpbWVU
b0xpdmVVc2VySW50ZXJhY3Rpb24oZG91YmxlIHNlY29uZHMpOwogICAgIHN0YXRpYyB2b2lkIHNl
dFJlZHVjZWRUaW1lc3RhbXBSZXNvbHV0aW9uKGRvdWJsZSBzZWNvbmRzKTsKICAgICBzdGF0aWMg
dm9pZCBmaXJlRGF0YU1vZGlmaWNhdGlvbkhhbmRsZXIoKTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9XZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmUuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3Rv
cmUuY3BwCShyZXZpc2lvbiAyMTI5MzIpCisrKyBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2Vi
UmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDUsNyAr
NDUsNiBAQCB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIAogbmFtZXNwYWNlIFdlYktpdCB7CiAK
LXN0YXRpYyBjb25zdCBhdXRvIGZlYXR1cmVWZWN0b3JMZW5ndGhUaHJlc2hvbGQgPSAzOwogc3Rh
dGljIGF1dG8gbWluaW11bVRpbWVCZXR3ZWVlbkRhdGFSZWNvcmRzUmVtb3ZhbCA9IDYwOwogc3Rh
dGljIE9wdGlvblNldDxXZWJLaXQ6OldlYnNpdGVEYXRhVHlwZT4gZGF0YVR5cGVzVG9SZW1vdmU7
CiBzdGF0aWMgYXV0byBub3RpZnlQYWdlcyA9IGZhbHNlOwpAQCAtNTksNyArNTgsNyBAQCBSZWY8
V2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlPiBXZWJSCiBXZWJSZXNvdXJjZUxvYWRTdGF0
aXN0aWNzU3RvcmU6OldlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZShjb25zdCBTdHJpbmcm
IHJlc291cmNlTG9hZFN0YXRpc3RpY3NEaXJlY3RvcnkpCiAgICAgOiBtX3Jlc291cmNlTG9hZFN0
YXRpc3RpY3NTdG9yZShSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmU6OmNyZWF0ZSgpKQogICAg
ICwgbV9zdGF0aXN0aWNzUXVldWUoV29ya1F1ZXVlOjpjcmVhdGUoIldlYlJlc291cmNlTG9hZFN0
YXRpc3RpY3NTdG9yZSBQcm9jZXNzIERhdGEgUXVldWUiKSkKLSAgICAsIG1fc3RvcmFnZVBhdGgo
cmVzb3VyY2VMb2FkU3RhdGlzdGljc0RpcmVjdG9yeSkKKyAgICAsIG1fc3RhdGlzdGljc1N0b3Jh
Z2VQYXRoKHJlc291cmNlTG9hZFN0YXRpc3RpY3NEaXJlY3RvcnkpCiB7CiB9CiAKQEAgLTgzLDQw
ICs4MiwxMSBAQCB2b2lkIFdlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZTo6c2V0CiAgICAg
ICAgIG1pbmltdW1UaW1lQmV0d2VlZW5EYXRhUmVjb3Jkc1JlbW92YWwgPSBzZWNvbmRzOwogfQog
Ci1ib29sIFdlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZTo6aGFzUHJldmFsZW50UmVzb3Vy
Y2VDaGFyYWN0ZXJpc3RpY3MoY29uc3QgUmVzb3VyY2VMb2FkU3RhdGlzdGljcyYgcmVzb3VyY2VT
dGF0aXN0aWMpCi17Ci0gICAgYXV0byBzdWJyZXNvdXJjZVVuZGVyVG9wRnJhbWVPcmlnaW5zQ291
bnQgPSByZXNvdXJjZVN0YXRpc3RpYy5zdWJyZXNvdXJjZVVuZGVyVG9wRnJhbWVPcmlnaW5zLnNp
emUoKTsKLSAgICBhdXRvIHN1YnJlc291cmNlVW5pcXVlUmVkaXJlY3RzVG9Db3VudCA9IHJlc291
cmNlU3RhdGlzdGljLnN1YnJlc291cmNlVW5pcXVlUmVkaXJlY3RzVG8uc2l6ZSgpOwotICAgIGF1
dG8gc3ViZnJhbWVVbmRlclRvcEZyYW1lT3JpZ2luc0NvdW50ID0gcmVzb3VyY2VTdGF0aXN0aWMu
c3ViZnJhbWVVbmRlclRvcEZyYW1lT3JpZ2lucy5zaXplKCk7Ci0gICAgCi0gICAgaWYgKCFzdWJy
ZXNvdXJjZVVuZGVyVG9wRnJhbWVPcmlnaW5zQ291bnQKLSAgICAgICAgJiYgIXN1YnJlc291cmNl
VW5pcXVlUmVkaXJlY3RzVG9Db3VudAotICAgICAgICAmJiAhc3ViZnJhbWVVbmRlclRvcEZyYW1l
T3JpZ2luc0NvdW50KQotICAgICAgICByZXR1cm4gZmFsc2U7Ci0KLSAgICBpZiAoc3VicmVzb3Vy
Y2VVbmRlclRvcEZyYW1lT3JpZ2luc0NvdW50ID4gZmVhdHVyZVZlY3Rvckxlbmd0aFRocmVzaG9s
ZAotICAgICAgICB8fCBzdWJyZXNvdXJjZVVuaXF1ZVJlZGlyZWN0c1RvQ291bnQgPiBmZWF0dXJl
VmVjdG9yTGVuZ3RoVGhyZXNob2xkCi0gICAgICAgIHx8IHN1YmZyYW1lVW5kZXJUb3BGcmFtZU9y
aWdpbnNDb3VudCA+IGZlYXR1cmVWZWN0b3JMZW5ndGhUaHJlc2hvbGQpCi0gICAgICAgIHJldHVy
biB0cnVlOwotCi0gICAgLy8gVGhlIHJlc291cmNlIGlzIGNvbnNpZGVyZWQgcHJldmFsZW50IGlm
IHRoZSBmZWF0dXJlIHZlY3RvcgotICAgIC8vIGlzIGxvbmdlciB0aGFuIHRoZSB0aHJlc2hvbGQu
Ci0gICAgLy8gVmVjdG9yIGxlbmd0aCBmb3IgbiBkaW1lbnNpb25zIGlzIHNxcnQoYV4yICsgKC4u
LikgKyBuXjIpLgotICAgIGRvdWJsZSB2ZWN0b3JMZW5ndGggPSAwOwotICAgIHZlY3Rvckxlbmd0
aCArPSBzdWJyZXNvdXJjZVVuZGVyVG9wRnJhbWVPcmlnaW5zQ291bnQgKiBzdWJyZXNvdXJjZVVu
ZGVyVG9wRnJhbWVPcmlnaW5zQ291bnQ7Ci0gICAgdmVjdG9yTGVuZ3RoICs9IHN1YnJlc291cmNl
VW5pcXVlUmVkaXJlY3RzVG9Db3VudCAqIHN1YnJlc291cmNlVW5pcXVlUmVkaXJlY3RzVG9Db3Vu
dDsKLSAgICB2ZWN0b3JMZW5ndGggKz0gc3ViZnJhbWVVbmRlclRvcEZyYW1lT3JpZ2luc0NvdW50
ICogc3ViZnJhbWVVbmRlclRvcEZyYW1lT3JpZ2luc0NvdW50OwotCi0gICAgQVNTRVJUKHZlY3Rv
ckxlbmd0aCA+IDApOwotCi0gICAgcmV0dXJuIHNxcnQodmVjdG9yTGVuZ3RoKSA+IGZlYXR1cmVW
ZWN0b3JMZW5ndGhUaHJlc2hvbGQ7Ci19Ci0gICAgCiB2b2lkIFdlYlJlc291cmNlTG9hZFN0YXRp
c3RpY3NTdG9yZTo6Y2xhc3NpZnlSZXNvdXJjZShSZXNvdXJjZUxvYWRTdGF0aXN0aWNzJiByZXNv
dXJjZVN0YXRpc3RpYykKIHsKLSAgICBpZiAoIXJlc291cmNlU3RhdGlzdGljLmlzUHJldmFsZW50
UmVzb3VyY2UgJiYgaGFzUHJldmFsZW50UmVzb3VyY2VDaGFyYWN0ZXJpc3RpY3MocmVzb3VyY2VT
dGF0aXN0aWMpKSB7CisgICAgaWYgKCFyZXNvdXJjZVN0YXRpc3RpYy5pc1ByZXZhbGVudFJlc291
cmNlCisgICAgICAgICYmIG1fcmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXIuaGFzUHJl
dmFsZW50UmVzb3VyY2VDaGFyYWN0ZXJpc3RpY3MocmVzb3VyY2VTdGF0aXN0aWMpKQogICAgICAg
ICByZXNvdXJjZVN0YXRpc3RpYy5pc1ByZXZhbGVudFJlc291cmNlID0gdHJ1ZTsKLSAgICB9CiB9
CiAKIHZvaWQgV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlOjpyZW1vdmVEYXRhUmVjb3Jk
cygpCkBAIC0yNDksMTEgKzIxOSwxMSBAQCB2b2lkIFdlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NT
dG9yZTo6YXBwCiAKIFN0cmluZyBXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmU6OnBlcnNp
c3RlbnRTdG9yYWdlUGF0aChjb25zdCBTdHJpbmcmIGxhYmVsKSBjb25zdAogewotICAgIGlmICht
X3N0b3JhZ2VQYXRoLmlzRW1wdHkoKSkKKyAgICBpZiAobV9zdGF0aXN0aWNzU3RvcmFnZVBhdGgu
aXNFbXB0eSgpKQogICAgICAgICByZXR1cm4gZW1wdHlTdHJpbmcoKTsKIAogICAgIC8vIFRPRE8g
RGVjaWRlIHdoYXQgdG8gY2FsbCB0aGlzIGZpbGUKLSAgICByZXR1cm4gcGF0aEJ5QXBwZW5kaW5n
Q29tcG9uZW50KG1fc3RvcmFnZVBhdGgsIGxhYmVsICsgIl9yZXNvdXJjZUxvZy5wbGlzdCIpOwor
ICAgIHJldHVybiBwYXRoQnlBcHBlbmRpbmdDb21wb25lbnQobV9zdGF0aXN0aWNzU3RvcmFnZVBh
dGgsIGxhYmVsICsgIl9yZXNvdXJjZUxvZy5wbGlzdCIpOwogfQogCiB2b2lkIFdlYlJlc291cmNl
TG9hZFN0YXRpc3RpY3NTdG9yZTo6d3JpdGVFbmNvZGVyVG9EaXNrKEtleWVkRW5jb2RlciYgZW5j
b2RlciwgY29uc3QgU3RyaW5nJiBsYWJlbCkgY29uc3QKQEAgLTI2Niw4ICsyMzYsOCBAQCB2b2lk
IFdlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZTo6d3JpCiAgICAgaWYgKHJlc291cmNlTG9n
LmlzRW1wdHkoKSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgaWYgKCFtX3N0b3JhZ2VQYXRoLmlz
RW1wdHkoKSkKLSAgICAgICAgbWFrZUFsbERpcmVjdG9yaWVzKG1fc3RvcmFnZVBhdGgpOworICAg
IGlmICghbV9zdGF0aXN0aWNzU3RvcmFnZVBhdGguaXNFbXB0eSgpKQorICAgICAgICBtYWtlQWxs
RGlyZWN0b3JpZXMobV9zdGF0aXN0aWNzU3RvcmFnZVBhdGgpOwogCiAgICAgYXV0byBoYW5kbGUg
PSBvcGVuRmlsZShyZXNvdXJjZUxvZywgT3BlbkZvcldyaXRlKTsKICAgICBpZiAoIWhhbmRsZSkK
SW5kZXg6IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNz
U3RvcmUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUmVzb3Vy
Y2VMb2FkU3RhdGlzdGljc1N0b3JlLmgJKHJldmlzaW9uIDIxMjkzMikKKysrIFNvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9XZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmUuaAkod29ya2luZyBj
b3B5KQpAQCAtMjMsMTYgKzIzLDIwIEBACiAgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuCiAgKi8KIAotI2lmbmRlZiBXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmVfaAotI2Rl
ZmluZSBXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmVfaAorI3ByYWdtYSBvbmNlCiAKICNp
bmNsdWRlICJBUElPYmplY3QuaCIKICNpbmNsdWRlICJDb25uZWN0aW9uLmgiCisjaW5jbHVkZSAi
UmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXIuaCIKICNpbmNsdWRlICJXZWJzaXRlRGF0
YVJlY29yZC5oIgogI2luY2x1ZGUgPFdlYkNvcmUvUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3Jl
Lmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmlu
Zy5oPgogCisjaWYgUExBVEZPUk0oQ09DT0EpCisjaW5jbHVkZSAiUmVzb3VyY2VMb2FkU3RhdGlz
dGljc0NsYXNzaWZpZXJDb2NvYS5oIgorI2VuZGlmCisKIG5hbWVzcGFjZSBXVEYgewogY2xhc3Mg
V29ya1F1ZXVlOwogfQpAQCAtNzYsNyArODAsNiBAQCBwcml2YXRlOgogCiAgICAgdm9pZCBwcm9j
ZXNzU3RhdGlzdGljc0FuZERhdGFSZWNvcmRzKCk7CiAKLSAgICBib29sIGhhc1ByZXZhbGVudFJl
c291cmNlQ2hhcmFjdGVyaXN0aWNzKGNvbnN0IFdlYkNvcmU6OlJlc291cmNlTG9hZFN0YXRpc3Rp
Y3MmKTsKICAgICB2b2lkIGNsYXNzaWZ5UmVzb3VyY2UoV2ViQ29yZTo6UmVzb3VyY2VMb2FkU3Rh
dGlzdGljcyYpOwogICAgIHZvaWQgcmVtb3ZlRGF0YVJlY29yZHMoKTsKIApAQCAtODksOCArOTIs
MTMgQEAgcHJpdmF0ZToKICAgICBzdGQ6OnVuaXF1ZV9wdHI8V2ViQ29yZTo6S2V5ZWREZWNvZGVy
PiBjcmVhdGVEZWNvZGVyRnJvbURpc2soY29uc3QgU3RyaW5nJiBsYWJlbCkgY29uc3Q7CiAKICAg
ICBSZWY8V2ViQ29yZTo6UmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlPiBtX3Jlc291cmNlTG9h
ZFN0YXRpc3RpY3NTdG9yZTsKKyNpZiBQTEFURk9STShDT0NPQSkKKyAgICBSZXNvdXJjZUxvYWRT
dGF0aXN0aWNzQ2xhc3NpZmllckNvY29hIG1fcmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZp
ZXI7CisjZWxzZQorICAgIFJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyIG1fcmVzb3Vy
Y2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXI7CisjZW5kaWYKICAgICBSZWY8V1RGOjpXb3JrUXVl
dWU+IG1fc3RhdGlzdGljc1F1ZXVlOwotICAgIFN0cmluZyBtX3N0b3JhZ2VQYXRoOworICAgIFN0
cmluZyBtX3N0YXRpc3RpY3NTdG9yYWdlUGF0aDsKICAgICBib29sIG1fcmVzb3VyY2VMb2FkU3Rh
dGlzdGljc0VuYWJsZWQgeyBmYWxzZSB9OwogCiAgICAgZG91YmxlIG1fbGFzdFRpbWVEYXRhUmVj
b3Jkc1dlcmVSZW1vdmVkIHsgMCB9OwpAQCAtOTgsNSArMTA2LDMgQEAgcHJpdmF0ZToKIH07CiAK
IH0gLy8gbmFtZXNwYWNlIFdlYktpdAotCi0jZW5kaWYgLy8gV2ViUmVzb3VyY2VMb2FkU3RhdGlz
dGljc1N0b3JlX2gKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1Jlc291
cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvQVBJL0MvV0tSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdlci5jcHAJKHJl
dmlzaW9uIDIxMjkzMikKKysrIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1Jlc291
cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTYsNiArNTYs
MjEgQEAgYm9vbCBXS1Jlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VySXNIYQogICAgIHJldHVy
biBXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdlcjo6aGFzSGFkVXNlckludGVyYWN0aW9u
KHRvV1RGU3RyaW5nKGhvc3ROYW1lKSk7CiB9CiAKK3ZvaWQgV0tSZXNvdXJjZUxvYWRTdGF0aXN0
aWNzTWFuYWdlclNldFN1YmZyYW1lVW5kZXJUb3BGcmFtZU9yaWdpbihXS1N0cmluZ1JlZiBob3N0
TmFtZSwgV0tTdHJpbmdSZWYgdG9wRnJhbWVIb3N0TmFtZSkKK3sKKyAgICBXZWJSZXNvdXJjZUxv
YWRTdGF0aXN0aWNzTWFuYWdlcjo6c2V0U3ViZnJhbWVVbmRlclRvcEZyYW1lT3JpZ2luKHRvV1RG
U3RyaW5nKGhvc3ROYW1lKSwgdG9XVEZTdHJpbmcodG9wRnJhbWVIb3N0TmFtZSkpOworfQorCit2
b2lkIFdLUmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFnZXJTZXRTdWJyZXNvdXJjZVVuZGVyVG9w
RnJhbWVPcmlnaW4oV0tTdHJpbmdSZWYgaG9zdE5hbWUsIFdLU3RyaW5nUmVmIHRvcEZyYW1lSG9z
dE5hbWUpCit7CisgICAgV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFnZXI6OnNldFN1YnJl
c291cmNlVW5kZXJUb3BGcmFtZU9yaWdpbih0b1dURlN0cmluZyhob3N0TmFtZSksIHRvV1RGU3Ry
aW5nKHRvcEZyYW1lSG9zdE5hbWUpKTsKK30KKwordm9pZCBXS1Jlc291cmNlTG9hZFN0YXRpc3Rp
Y3NNYW5hZ2VyU2V0U3VicmVzb3VyY2VVbmlxdWVSZWRpcmVjdFRvKFdLU3RyaW5nUmVmIGhvc3RO
YW1lLCBXS1N0cmluZ1JlZiBob3N0TmFtZVJlZGlyZWN0ZWRUbykKK3sKKyAgICBXZWJSZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzTWFuYWdlcjo6c2V0U3VicmVzb3VyY2VVbmlxdWVSZWRpcmVjdFRvKHRv
V1RGU3RyaW5nKGhvc3ROYW1lKSwgdG9XVEZTdHJpbmcoaG9zdE5hbWVSZWRpcmVjdGVkVG8pKTsK
K30KKwogdm9pZCBXS1Jlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VyU2V0VGltZVRvTGl2ZVVz
ZXJJbnRlcmFjdGlvbihkb3VibGUgc2Vjb25kcykKIHsKICAgICBXZWJSZXNvdXJjZUxvYWRTdGF0
aXN0aWNzTWFuYWdlcjo6c2V0VGltZVRvTGl2ZVVzZXJJbnRlcmFjdGlvbihzZWNvbmRzKTsKSW5k
ZXg6IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1Jlc291cmNlTG9hZFN0YXRpc3Rp
Y3NNYW5hZ2VyLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9D
L1dLUmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFnZXIuaAkocmV2aXNpb24gMjEyOTMyKQorKysg
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUmVzb3VyY2VMb2FkU3RhdGlzdGljc01h
bmFnZXIuaAkod29ya2luZyBjb3B5KQpAQCAtMzgsNiArMzgsOSBAQCBleHRlcm4gIkMiIHsKICAg
ICBXS19FWFBPUlQgYm9vbCBXS1Jlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VySXNQcmV2YWxl
bnRSZXNvdXJjZShXS1N0cmluZ1JlZiBob3N0TmFtZSk7CiAgICAgV0tfRVhQT1JUIHZvaWQgV0tS
ZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdlclNldEhhc0hhZFVzZXJJbnRlcmFjdGlvbihXS1N0
cmluZ1JlZiBob3N0TmFtZSwgYm9vbCB2YWx1ZSk7CiAgICAgV0tfRVhQT1JUIGJvb2wgV0tSZXNv
dXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdlcklzSGFzSGFkVXNlckludGVyYWN0aW9uKFdLU3RyaW5n
UmVmIGhvc3ROYW1lKTsKKyAgICBXS19FWFBPUlQgdm9pZCBXS1Jlc291cmNlTG9hZFN0YXRpc3Rp
Y3NNYW5hZ2VyU2V0U3ViZnJhbWVVbmRlclRvcEZyYW1lT3JpZ2luKFdLU3RyaW5nUmVmIGhvc3RO
YW1lLCBXS1N0cmluZ1JlZiB0b3BGcmFtZUhvc3ROYW1lKTsKKyAgICBXS19FWFBPUlQgdm9pZCBX
S1Jlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VyU2V0U3VicmVzb3VyY2VVbmRlclRvcEZyYW1l
T3JpZ2luKFdLU3RyaW5nUmVmIGhvc3ROYW1lLCBXS1N0cmluZ1JlZiB0b3BGcmFtZUhvc3ROYW1l
KTsKKyAgICBXS19FWFBPUlQgdm9pZCBXS1Jlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VyU2V0
U3VicmVzb3VyY2VVbmlxdWVSZWRpcmVjdFRvKFdLU3RyaW5nUmVmIGhvc3ROYW1lLCBXS1N0cmlu
Z1JlZiBob3N0TmFtZVJlZGlyZWN0ZWRUbyk7CiAgICAgV0tfRVhQT1JUIHZvaWQgV0tSZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzTWFuYWdlclNldFRpbWVUb0xpdmVVc2VySW50ZXJhY3Rpb24oZG91Ymxl
IHNlY29uZHMpOwogICAgIFdLX0VYUE9SVCB2b2lkIFdLUmVzb3VyY2VMb2FkU3RhdGlzdGljc01h
bmFnZXJTZXRSZWR1Y2VkVGltZXN0YW1wUmVzb2x1dGlvbihkb3VibGUgc2Vjb25kcyk7CiAgICAg
V0tfRVhQT1JUIHZvaWQgV0tSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdlckZpcmVEYXRhTW9k
aWZpY2F0aW9uSGFuZGxlcigpOwpJbmRleDogU291cmNlL1dlYktpdDIvV2ViS2l0Mi54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1dlYktpdDIu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkocmV2aXNpb24gMjEyOTMyKQorKysgU291cmNlL1dl
YktpdDIvV2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCSh3b3JraW5nIGNvcHkpCkBA
IC0xMTQ3LDEwICsxMTQ3LDE2IEBACiAJCTY1MDFCRDFBMTJGMTI0MzQwMEU5RjI0OCAvKiBXS0J1
bmRsZUluc3BlY3Rvci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA2NUI4NkYxNzEyRjExRDdCMDBCN0REOEEgLyogV0tCdW5kbGVJbnNwZWN0b3IuY3Bw
ICovOyB9OwogCQk2NTlDNTUxRTEzMDAwNjQxMDAyNUMwQzIgLyogSW5qZWN0ZWRCdW5kbGVQYWdl
UmVzb3VyY2VMb2FkQ2xpZW50LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDY1NDZBODI5MTMwMDAxNjQwMDBDRUIxQyAvKiBJbmplY3RlZEJ1bmRsZVBh
Z2VSZXNvdXJjZUxvYWRDbGllbnQuY3BwICovOyB9OwogCQk2NUI4NkYxRTEyRjExREUzMDBCN0RE
OEEgLyogV0tCdW5kbGVJbnNwZWN0b3IuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDY1Qjg2RjE4MTJGMTFEN0IwMEI3REQ4QSAvKiBXS0J1bmRsZUluc3Bl
Y3Rvci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJ
CTZCMkUwOUJBMUU1N0I4ODEwMEM4QThCOSAvKiBDb3JlUHJlZGljdGlvblNvZnRMaW5rLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA2QjJFMDlCOTFFNTdC
ODgxMDBDOEE4QjkgLyogQ29yZVByZWRpY3Rpb25Tb2Z0TGluay5oICovOyB9OwogCQk2QkU5Njk5
QzFFNDNCM0ZGMDA4Qjc0ODMgLyogV0tSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdlci5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNkJFOTY5OUIxRTQz
QjNGRjAwOEI3NDgzIC8qIFdLUmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFnZXIuaCAqLzsgc2V0
dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk2QkU5Njk5RTFFNDNC
NDFEMDA4Qjc0ODMgLyogV0tSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdlci5jcHAgaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA2QkU5Njk5RDFFNDNCNDFE
MDA4Qjc0ODMgLyogV0tSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdlci5jcHAgKi87IH07CiAJ
CTZCRTk2OUEwMUU0M0I4NkUwMDhCNzQ4MyAvKiBXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFu
YWdlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNkJF
OTY5OUYxRTQzQjg2RTAwOEI3NDgzIC8qIFdlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2Vy
LmggKi87IH07CiAJCTZCRTk2OUEyMUU0M0I4QTQwMDhCNzQ4MyAvKiBXZWJSZXNvdXJjZUxvYWRT
dGF0aXN0aWNzTWFuYWdlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA2QkU5NjlBMTFFNDNCOEE0MDA4Qjc0ODMgLyogV2ViUmVzb3VyY2VMb2FkU3Rh
dGlzdGljc01hbmFnZXIuY3BwICovOyB9OworCQk2QkU5NjlDMTFFNTRENDUyMDA4Qjc0ODMgLyog
Y29yZVByZWRpY3Rpb25fbW9kZWwgaW4gUmVzb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDZCRTk2OUMwMUU1NEQ0NTIwMDhCNzQ4MyAvKiBjb3JlUHJlZGljdGlvbl9t
b2RlbCAqLzsgfTsKKwkJNkJFOTY5QzcxRTU0RDRCNjAwOEI3NDgzIC8qIFJlc291cmNlTG9hZFN0
YXRpc3RpY3NDbGFzc2lmaWVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDZCRTk2OUM2MUU1NEQ0QjYwMDhCNzQ4MyAvKiBSZXNvdXJjZUxvYWRTdGF0
aXN0aWNzQ2xhc3NpZmllci5jcHAgKi87IH07CisJCTZCRTk2OUNBMUU1NEQ0Q0YwMDhCNzQ4MyAv
KiBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllckNvY29hLmNwcCBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDZCRTk2OUM4MUU1NEQ0Q0YwMDhCNzQ4
MyAvKiBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllckNvY29hLmNwcCAqLzsgfTsKKwkJ
NkJFOTY5Q0IxRTU0RDRDRjAwOEI3NDgzIC8qIFJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lm
aWVyQ29jb2EuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDZCRTk2OUM5MUU1NEQ0Q0YwMDhCNzQ4MyAvKiBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3Np
ZmllckNvY29hLmggKi87IH07CisJCTZCRTk2OUNEMUU1NEUwNTQwMDhCNzQ4MyAvKiBSZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gNkJFOTY5Q0MxRTU0RTA1NDAwOEI3NDgzIC8qIFJlc291cmNlTG9h
ZFN0YXRpc3RpY3NDbGFzc2lmaWVyLmggKi87IH07CiAJCTZFRTg0OUM4MTM2OEQ5MzkwMDM4RDQ4
MSAvKiBXS0luc3BlY3RvclByaXZhdGVNYWMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDZFRTg0OUM2MTM2OEQ5MkQwMDM4RDQ4MSAvKiBXS0luc3BlY3Rv
clByaXZhdGVNYWMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9
OyB9OwogCQk3MjhFODZGMTE3OTUxODhDMDA4Nzg3OUUgLyogV2ViQ29sb3JQaWNrZXJNYWMuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDcyOEU4NkVGMTc5
NTE4OEMwMDg3ODc5RSAvKiBXZWJDb2xvclBpY2tlck1hYy5oICovOyB9OwogCQk3MjhFODZGMjE3
OTUxODhDMDA4Nzg3OUUgLyogV2ViQ29sb3JQaWNrZXJNYWMubW0gaW4gU291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3MjhFODZGMDE3OTUxODhDMDA4Nzg3OUUgLyog
V2ViQ29sb3JQaWNrZXJNYWMubW0gKi87IH07CkBAIC0zMzQyLDEwICszMzQ4LDE2IEBACiAJCTY1
NDZBODJBMTMwMDAxNjQwMDBDRUIxQyAvKiBJbmplY3RlZEJ1bmRsZVBhZ2VSZXNvdXJjZUxvYWRD
bGllbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSW5qZWN0ZWRCdW5kbGVQ
YWdlUmVzb3VyY2VMb2FkQ2xpZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTY1
Qjg2RjE3MTJGMTFEN0IwMEI3REQ4QSAvKiBXS0J1bmRsZUluc3BlY3Rvci5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXS0J1bmRsZUluc3BlY3Rvci5jcHA7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTY1Qjg2RjE4MTJGMTFEN0IwMEI3REQ4QSAvKiBXS0J1
bmRsZUluc3BlY3Rvci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXS0J1bmRs
ZUluc3BlY3Rvci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk2QjJFMDlCOTFFNTdC
ODgxMDBDOEE4QjkgLyogQ29yZVByZWRpY3Rpb25Tb2Z0TGluay5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBDb3JlUHJlZGljdGlvblNvZnRMaW5rLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCTZCRTk2OTlCMUU0M0IzRkYwMDhCNzQ4MyAvKiBXS1Jlc291cmNlTG9h
ZFN0YXRpc3RpY3NNYW5hZ2VyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdL
UmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFnZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJNkJFOTY5OUQxRTQzQjQxRDAwOEI3NDgzIC8qIFdLUmVzb3VyY2VMb2FkU3RhdGlzdGlj
c01hbmFnZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV0tSZXNv
dXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCTZCRTk2OTlGMUU0M0I4NkUwMDhCNzQ4MyAvKiBXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNz
TWFuYWdlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJSZXNvdXJjZUxv
YWRTdGF0aXN0aWNzTWFuYWdlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk2QkU5
NjlBMTFFNDNCOEE0MDA4Qjc0ODMgLyogV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFnZXIu
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV2ViUmVzb3VyY2VMb2Fk
U3RhdGlzdGljc01hbmFnZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk2QkU5
NjlDMDFFNTRENDUyMDA4Qjc0ODMgLyogY29yZVByZWRpY3Rpb25fbW9kZWwgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0
ZXh0OyBwYXRoID0gY29yZVByZWRpY3Rpb25fbW9kZWw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CisJCTZCRTk2OUM2MUU1NEQ0QjYwMDhCNzQ4MyAvKiBSZXNvdXJjZUxvYWRTdGF0aXN0aWNz
Q2xhc3NpZmllci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBSZXNv
dXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CisJCTZCRTk2OUM4MUU1NEQ0Q0YwMDhCNzQ4MyAvKiBSZXNvdXJjZUxvYWRTdGF0aXN0aWNz
Q2xhc3NpZmllckNvY29hLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9
IFJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQ29jb2EuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQk2QkU5NjlDOTFFNTRENENGMDA4Qjc0ODMgLyogUmVzb3VyY2VMb2Fk
U3RhdGlzdGljc0NsYXNzaWZpZXJDb2NvYS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllckNvY29hLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CisJCTZCRTk2OUNDMUU1NEUwNTQwMDhCNzQ4MyAvKiBSZXNvdXJjZUxv
YWRTdGF0aXN0aWNzQ2xhc3NpZmllci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllci5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQk2RDhBOTFBNTExRjBFRkQxMDBERDAxRkUgLyogY29tLmFwcGxlLldlYlByb2Nl
c3Muc2IuaW4gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBuYW1lID0gY29tLmFwcGxlLldlYlByb2Nlc3Muc2Iu
aW47IHBhdGggPSBXZWJQcm9jZXNzL2NvbS5hcHBsZS5XZWJQcm9jZXNzLnNiLmluOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQk2RUU4NDlDNjEzNjhEOTJEMDAzOEQ0ODEgLyogV0tJbnNw
ZWN0b3JQcml2YXRlTWFjLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IFdLSW5z
cGVjdG9yUHJpdmF0ZU1hYy5oOyBwYXRoID0gbWFjL1dLSW5zcGVjdG9yUHJpdmF0ZU1hYy5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3MjhFODZFRjE3OTUxODhDMDA4Nzg3OUUgLyog
V2ViQ29sb3JQaWNrZXJNYWMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2Vi
Q29sb3JQaWNrZXJNYWMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTQzNjQsNiAr
NDM3Niw3IEBACiAJCTA4OUMxNjY1RkU4NDExNThDMDJBQUMwNyAvKiBSZXNvdXJjZXMgKi8gPSB7
CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKAorCQkJCTZCRTk2OUJGMUU1NEQ0
NTIwMDhCNzQ4MyAvKiBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzICovLAogCQkJCTM3RjhDOTRGMUFF
MjJCRDgwMDdEQUI5RSAvKiBtYWMgKi8sCiAJCQkJN0NCMTZGRTExNzI0QjlCNTAwN0EwQTk1IC8q
IFBsdWdJblNhbmRib3hQcm9maWxlcyAqLywKIAkJCQlBNzhDQ0RENTE5M0FDOUUzMDA1RUNDMjUg
LyogU2FuZGJveFByb2ZpbGVzICovLApAQCAtNjEyOSw2ICs2MTQyLDM1IEBACiAJCQluYW1lID0g
Q29jb2E7CiAJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOwogCQl9OworCQk2QkU5NjlCRjFFNTRE
NDUyMDA4Qjc0ODMgLyogUmVzb3VyY2VMb2FkU3RhdGlzdGljcyAqLyA9IHsKKwkJCWlzYSA9IFBC
WEdyb3VwOworCQkJY2hpbGRyZW4gPSAoCisJCQkJNkJFOTY5QzAxRTU0RDQ1MjAwOEI3NDgzIC8q
IGNvcmVQcmVkaWN0aW9uX21vZGVsICovLAorCQkJKTsKKwkJCW5hbWUgPSBSZXNvdXJjZUxvYWRT
dGF0aXN0aWNzOworCQkJcGF0aCA9IFJlc291cmNlcy9SZXNvdXJjZUxvYWRTdGF0aXN0aWNzOwor
CQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKKwkJfTsKKwkJNkJFOTY5QzIxRTU0RDQ2NzAwOEI3
NDgzIC8qIGNsYXNzaWZpZXIgKi8gPSB7CisJCQlpc2EgPSBQQlhHcm91cDsKKwkJCWNoaWxkcmVu
ID0gKAorCQkJCTZCRTk2OUMzMUU1NEQ0NjcwMDhCNzQ4MyAvKiBjb2NvYSAqLywKKwkJCQk2QkU5
NjlDNjFFNTRENEI2MDA4Qjc0ODMgLyogUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXIu
Y3BwICovLAorCQkJCTZCRTk2OUNDMUU1NEUwNTQwMDhCNzQ4MyAvKiBSZXNvdXJjZUxvYWRTdGF0
aXN0aWNzQ2xhc3NpZmllci5oICovLAorCQkJKTsKKwkJCXBhdGggPSBjbGFzc2lmaWVyOworCQkJ
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKKwkJfTsKKwkJNkJFOTY5QzMxRTU0RDQ2NzAwOEI3NDgz
IC8qIGNvY29hICovID0geworCQkJaXNhID0gUEJYR3JvdXA7CisJCQljaGlsZHJlbiA9ICgKKwkJ
CQk2QkU5NjlDODFFNTRENENGMDA4Qjc0ODMgLyogUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNz
aWZpZXJDb2NvYS5jcHAgKi8sCisJCQkJNkJFOTY5QzkxRTU0RDRDRjAwOEI3NDgzIC8qIFJlc291
cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQ29jb2EuaCAqLywKKwkJCQk2QjJFMDlCOTFFNTdC
ODgxMDBDOEE4QjkgLyogQ29yZVByZWRpY3Rpb25Tb2Z0TGluay5oICovLAorCQkJKTsKKwkJCXBh
dGggPSBjb2NvYTsKKwkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CisJCX07CiAJCTZFRTg0OUM0
MTM2OEQ5MDQwMDM4RDQ4MSAvKiBtYWMgKi8gPSB7CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNo
aWxkcmVuID0gKApAQCAtNzAzMCw2ICs3MDcyLDcgQEAKIAkJQkMyRTZFNzQxMTQxOTZGMDAwQTYz
QjFFIC8qIFBsYXRmb3JtICovID0gewogCQkJaXNhID0gUEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9
ICgKKwkJCQk2QkU5NjlDMjFFNTRENDY3MDA4Qjc0ODMgLyogY2xhc3NpZmllciAqLywKIAkJCQkz
NzA5NTA0MTE4QTg4QkE0MDA4N0FFNUQgLyogY2YgKi8sCiAJCQkJMUFBMkU1MUExMkU0QzA1NjAw
QkM0OTY2IC8qIGNnICovLAogCQkJCTQ0NTBBRUJFMURDM0ZBQUMwMDk5NDNGMiAvKiBjb2NvYSAq
LywKQEAgLTc5MTMsNiArNzk1Niw3IEBACiAJCQkJNDFEQzQ1OTYxRTNENkUyMjAwQjExRjUxIC8q
IE5ldHdvcmtSVENQcm92aWRlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJN0MxQkEzM0UxQTRBMEU2
MDAwNDNFMjQ5IC8qIEFQSURpY3Rpb25hcnkuaCBpbiBIZWFkZXJzICovLAogCQkJCTFGN0QzNkMx
MThEQTUxM0YwMEQ5RDY1OSAvKiBBUElEb3dubG9hZENsaWVudC5oIGluIEhlYWRlcnMgKi8sCisJ
CQkJNkJFOTY5Q0IxRTU0RDRDRjAwOEI3NDgzIC8qIFJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFz
c2lmaWVyQ29jb2EuaCBpbiBIZWFkZXJzICovLAogCQkJCTUxNkE0QTVEMTIwQTJDQ0QwMEMwNUI3
RiAvKiBBUElFcnJvci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMzE3RkU3QzUxQzQ4N0E2QzAwQTBD
QTg5IC8qIEFQSUV4cGVyaW1lbnRhbEZlYXR1cmUuaCBpbiBIZWFkZXJzICovLAogCQkJCTAwQjk2
NjE2MThFMjRDQkEwMENFMUY4OCAvKiBBUElGaW5kQ2xpZW50LmggaW4gSGVhZGVycyAqLywKQEAg
LTg0MjAsNiArODQ2NCw3IEBACiAJCQkJNTEyMTI3QzQxOTA4MjM5QTAwREFGMzVDIC8qIFdlYlBh
c3RlYm9hcmRPdmVycmlkZXMuaCBpbiBIZWFkZXJzICovLAogCQkJCTdDNDY5NEQxMUE1MUUzNjgw
MEFENTg0NSAvKiBXZWJQYXN0ZWJvYXJkUHJveHkuaCBpbiBIZWFkZXJzICovLAogCQkJCTdDNDY5
NENBMUE0QjRFQTEwMEFENTg0NSAvKiBXZWJQYXN0ZWJvYXJkUHJveHlNZXNzYWdlcy5oIGluIEhl
YWRlcnMgKi8sCisJCQkJNkIyRTA5QkExRTU3Qjg4MTAwQzhBOEI5IC8qIENvcmVQcmVkaWN0aW9u
U29mdExpbmsuaCBpbiBIZWFkZXJzICovLAogCQkJCTFBQjFGNzk3MUQxQjM2MTMwMDdDOUJEMSAv
KiBXZWJQYXltZW50Q29vcmRpbmF0b3JNZXNzYWdlcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUFC
MUY3OEMxRDFCMzM1NTAwN0M5QkQxIC8qIFdlYlBheW1lbnRDb29yZGluYXRvclByb3h5LmggaW4g
SGVhZGVycyAqLywKIAkJCQkxQUIxRjc3RTFEMUIzMEE5MDA3QzlCRDEgLyogV2ViUGF5bWVudENv
b3JkaW5hdG9yUHJveHlDb2NvYS5oIGluIEhlYWRlcnMgKi8sCkBAIC04NTM4LDYgKzg1ODMsNyBA
QAogCQkJCUJDN0I2MzNEMTJBNDVEMTIwMEQxNzRBNCAvKiBXS0J1bmRsZVBhZ2VHcm91cC5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJMUFCNDc0RDgxODRENDNGRDAwNTFCNjIyIC8qIFdLQnVuZGxlUGFn
ZUxvYWRlckNsaWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRUQ4MkE3RjIxMjhDNkZBRjAwNDQ3
N0IzIC8qIFdLQnVuZGxlUGFnZU92ZXJsYXkuaCBpbiBIZWFkZXJzICovLAorCQkJCTZCRTk2OUNE
MUU1NEUwNTQwMDhCNzQ4MyAvKiBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllci5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJMUFCNDc0RUExODRENDUxMzAwNTFCNjIyIC8qIFdLQnVuZGxlUGFn
ZVBvbGljeUNsaWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkMxQjQxOTgxMUQ0MUQ1NzAwMTFF
OEREIC8qIFdLQnVuZGxlUGFnZVByaXZhdGUuaCBpbiBIZWFkZXJzICovLAogCQkJCTFBQjQ3NERB
MTg0RDQ0MjUwMDUxQjYyMiAvKiBXS0J1bmRsZVBhZ2VSZXNvdXJjZUxvYWRDbGllbnQuaCBpbiBI
ZWFkZXJzICovLApAQCAtOTA3MSw2ICs5MTE3LDcgQEAKIAkJCQk3QTVFMzk0QTFENUJEOEJFMDBC
NEI3Q0UgLyogY29tLm1hY3JvbWVkaWEuRmxhc2ggUGxheWVyIEVTUi5wbHVnaW4uc2IgaW4gUmVz
b3VyY2VzICovLAogCQkJCThEQzJFRjUzMDQ4NkE2OTQwMDk4QjIxNiAvKiBJbmZvUGxpc3Quc3Ry
aW5ncyBpbiBSZXNvdXJjZXMgKi8sCiAJCQkJOTNBMkEzNDYxRDI0NjEyNTAwMkI1OUQzIC8qIG1l
ZGlhSWNvbi5wZGYgaW4gUmVzb3VyY2VzICovLAorCQkJCTZCRTk2OUMxMUU1NEQ0NTIwMDhCNzQ4
MyAvKiBjb3JlUHJlZGljdGlvbl9tb2RlbCBpbiBSZXNvdXJjZXMgKi8sCiAJCQkpOwogCQkJcnVu
T25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CiAJCX07CkBAIC05NjU4LDYgKzk3
MDUsNyBAQAogCQkJCTUxNzk1NTY3MTYyODc2Q0IwMEZBNDNCNiAvKiBOZXR3b3JrUHJvY2Vzc01h
Yy5tbSBpbiBTb3VyY2VzICovLAogCQkJCTUxNjMxOTk0MTYyODlBNjAwMEUyMkYwMCAvKiBOZXR3
b3JrUHJvY2Vzc01lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlFMTRBOTU0
OTE2RTAxNkE0MDA2OERFODIgLyogTmV0d29ya1Byb2Nlc3NQbGF0Zm9ybVN0cmF0ZWdpZXMuY3Bw
IGluIFNvdXJjZXMgKi8sCisJCQkJNkJFOTY5Q0ExRTU0RDRDRjAwOEI3NDgzIC8qIFJlc291cmNl
TG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQ29jb2EuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNTE3
OTU1NkQxNjI4NzdCMTAwRkE0M0I2IC8qIE5ldHdvcmtQcm9jZXNzUHJveHkuY3BwIGluIFNvdXJj
ZXMgKi8sCiAJCQkJNTE2MzE5OTIxNjI4OTgwQTAwRTIyRjAwIC8qIE5ldHdvcmtQcm9jZXNzUHJv
eHlNYWMubW0gaW4gU291cmNlcyAqLywKIAkJCQk1MTNBMTYzQzE2MzA4OEY2MDA1RDdEMjIgLyog
TmV0d29ya1Byb2Nlc3NQcm94eU1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLywKQEAg
LTEwMDAyLDYgKzEwMDUwLDcgQEAKIAkJCQlEM0I5NDg0NjExRkY0QjY1MDAwMzJCMzkgLyogV2Vi
UG9wdXBNZW51LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUJDQzQzQUM3MTI3Qjk5REUwMDMxN0Yx
NiAvKiBXZWJQb3B1cE1lbnVNYWMubW0gaW4gU291cmNlcyAqLywKIAkJCQlCQzU3NTA5ODEyNjhG
M0M2MDA2RjBGMTIgLyogV2ViUG9wdXBNZW51UHJveHlNYWMubW0gaW4gU291cmNlcyAqLywKKwkJ
CQk2QkU5NjlDNzFFNTRENEI2MDA4Qjc0ODMgLyogUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNz
aWZpZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQkNENTk4MDAxMTJCNTdCRTAwRUM4QzIzIC8q
IFdlYlByZWZlcmVuY2VzLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTdDODVGRDdGMTkzNDE2NjUw
MDAxNzdDNCAvKiBXZWJQcmVmZXJlbmNlc0tleXMuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQkM4
NEVCMTgxMkE3MTAwQzAwODNGMkRBIC8qIFdlYlByZWZlcmVuY2VzTWFjLm1tIGluIFNvdXJjZXMg
Ki8sCkluZGV4OiBUb29scy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvQ2hhbmdlTG9n
CShyZXZpc2lvbiAyMTI5MzIpCisrKyBUb29scy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAg
LTEsMyArMSwzMiBAQAorMjAxNy0wMi0yMyAgSm9obiBXaWxhbmRlciAgPHdpbGFuZGVyQGFwcGxl
LmNvbT4KKworICAgICAgICBSZXNvdXJjZSBMb2FkIFN0YXRpc3RpY3M6IEFkZCBhbHRlcm5hdGUg
Y2xhc3NpZmljYXRpb24gbWV0aG9kCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xNjgzNDcKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzMwMzUyNzkzPgor
ICAgICAgICA8cmRhcjovL3Byb2JsZW0vMzA2NDY3MTA+CisgICAgICAgIDxyZGFyOi8vcHJvYmxl
bS8zMDY2MDcwOD4KKworICAgICAgICBSZXZpZXdlZCBieSBBbGV4IENocmlzdGVuc2VuLgorCisg
ICAgICAgIEFkZGVkIHRocmVlIHRlc3RSdW5uZXIgZnVuY3Rpb25zIHRvIGZhY2lsaXRhdGUgbGF5
b3V0IHRlc3RzOgorICAgICAgICAtIHNldFN0YXRpc3RpY3NTdWJmcmFtZVVuZGVyVG9wRnJhbWVP
cmlnaW4oKQorICAgICAgICAtIHNldFN0YXRpc3RpY3NTdWJyZXNvdXJjZVVuZGVyVG9wRnJhbWVP
cmlnaW4oKQorICAgICAgICAtIHNldFN0YXRpc3RpY3NTdWJyZXNvdXJjZVVuaXF1ZVJlZGlyZWN0
VG8oKQorCisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9CaW5kaW5n
cy9UZXN0UnVubmVyLmlkbDoKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVu
ZGxlL1Rlc3RSdW5uZXIuY3BwOgorICAgICAgICAoV1RSOjpUZXN0UnVubmVyOjpzZXRTdGF0aXN0
aWNzU3ViZnJhbWVVbmRlclRvcEZyYW1lT3JpZ2luKToKKyAgICAgICAgKFdUUjo6VGVzdFJ1bm5l
cjo6c2V0U3RhdGlzdGljc1N1YnJlc291cmNlVW5kZXJUb3BGcmFtZU9yaWdpbik6CisgICAgICAg
IChXVFI6OlRlc3RSdW5uZXI6OnNldFN0YXRpc3RpY3NTdWJyZXNvdXJjZVVuaXF1ZVJlZGlyZWN0
VG8pOgorICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvVGVzdFJ1bm5l
ci5oOgorICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuY3BwOgorICAg
ICAgICAoV1RSOjpUZXN0Q29udHJvbGxlcjo6c2V0U3RhdGlzdGljc1N1YmZyYW1lVW5kZXJUb3BG
cmFtZU9yaWdpbik6CisgICAgICAgIChXVFI6OlRlc3RDb250cm9sbGVyOjpzZXRTdGF0aXN0aWNz
U3VicmVzb3VyY2VVbmRlclRvcEZyYW1lT3JpZ2luKToKKyAgICAgICAgKFdUUjo6VGVzdENvbnRy
b2xsZXI6OnNldFN0YXRpc3RpY3NTdWJyZXNvdXJjZVVuaXF1ZVJlZGlyZWN0VG8pOgorICAgICAg
ICAqIFdlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuaDoKKyAgICAgICAgKiBXZWJLaXRU
ZXN0UnVubmVyL1Rlc3RJbnZvY2F0aW9uLmNwcDoKKyAgICAgICAgKFdUUjo6VGVzdEludm9jYXRp
b246OmRpZFJlY2VpdmVTeW5jaHJvbm91c01lc3NhZ2VGcm9tSW5qZWN0ZWRCdW5kbGUpOgorCiAy
MDE3LTAyLTIzICBCZXRoIERha2luICA8YmRha2luQGFwcGxlLmNvbT4gKyBEYW4gU2F1bmRlcnMg
IDxkYXNhdUBtaWNyb3NvZnQuY29tPgogCiAgICAgICAgIE5vIHJlbGlhYmxlIHdheSB0byBnZXQg
YSBzbmFwc2hvdCBvZiBXS1dlYlZpZXcgKG1hY09TKQpJbmRleDogVG9vbHMvV2ViS2l0VGVzdFJ1
bm5lci9UZXN0Q29udHJvbGxlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvV2ViS2l0VGVzdFJ1
bm5lci9UZXN0Q29udHJvbGxlci5jcHAJKHJldmlzaW9uIDIxMjkzMikKKysrIFRvb2xzL1dlYktp
dFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yMjI5LDYg
KzIyMjksMjEgQEAgYm9vbCBUZXN0Q29udHJvbGxlcjo6aXNTdGF0aXN0aWNzSGFzSGFkVQogICAg
IHJldHVybiBXS1Jlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VySXNIYXNIYWRVc2VySW50ZXJh
Y3Rpb24oaG9zdE5hbWUpOwogfQogCit2b2lkIFRlc3RDb250cm9sbGVyOjpzZXRTdGF0aXN0aWNz
U3ViZnJhbWVVbmRlclRvcEZyYW1lT3JpZ2luKFdLU3RyaW5nUmVmIGhvc3ROYW1lLCBXS1N0cmlu
Z1JlZiB0b3BGcmFtZUhvc3ROYW1lKQoreworICAgIFdLUmVzb3VyY2VMb2FkU3RhdGlzdGljc01h
bmFnZXJTZXRTdWJmcmFtZVVuZGVyVG9wRnJhbWVPcmlnaW4oaG9zdE5hbWUsIHRvcEZyYW1lSG9z
dE5hbWUpOworfQorCit2b2lkIFRlc3RDb250cm9sbGVyOjpzZXRTdGF0aXN0aWNzU3VicmVzb3Vy
Y2VVbmRlclRvcEZyYW1lT3JpZ2luKFdLU3RyaW5nUmVmIGhvc3ROYW1lLCBXS1N0cmluZ1JlZiB0
b3BGcmFtZUhvc3ROYW1lKQoreworICAgIFdLUmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFnZXJT
ZXRTdWJyZXNvdXJjZVVuZGVyVG9wRnJhbWVPcmlnaW4oaG9zdE5hbWUsIHRvcEZyYW1lSG9zdE5h
bWUpOworfQorICAgIAordm9pZCBUZXN0Q29udHJvbGxlcjo6c2V0U3RhdGlzdGljc1N1YnJlc291
cmNlVW5pcXVlUmVkaXJlY3RUbyhXS1N0cmluZ1JlZiBob3N0TmFtZSwgV0tTdHJpbmdSZWYgaG9z
dE5hbWVSZWRpcmVjdGVkVG8pCit7CisgICAgV0tSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdl
clNldFN1YnJlc291cmNlVW5pcXVlUmVkaXJlY3RUbyhob3N0TmFtZSwgaG9zdE5hbWVSZWRpcmVj
dGVkVG8pOworfQorCiB2b2lkIFRlc3RDb250cm9sbGVyOjpzZXRTdGF0aXN0aWNzVGltZVRvTGl2
ZVVzZXJJbnRlcmFjdGlvbihkb3VibGUgc2Vjb25kcykKIHsKICAgICBXS1Jlc291cmNlTG9hZFN0
YXRpc3RpY3NNYW5hZ2VyU2V0VGltZVRvTGl2ZVVzZXJJbnRlcmFjdGlvbihzZWNvbmRzKTsKSW5k
ZXg6IFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBUb29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmgJKHJldmlzaW9uIDIxMjkz
MikKKysrIFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuaAkod29ya2luZyBj
b3B5KQpAQCAtMTUyLDYgKzE1Miw5IEBAIHB1YmxpYzoKICAgICBib29sIGlzU3RhdGlzdGljc1By
ZXZhbGVudFJlc291cmNlKFdLU3RyaW5nUmVmIGhvc3ROYW1lKTsKICAgICB2b2lkIHNldFN0YXRp
c3RpY3NIYXNIYWRVc2VySW50ZXJhY3Rpb24oV0tTdHJpbmdSZWYgaG9zdE5hbWUsIGJvb2wgdmFs
dWUpOwogICAgIGJvb2wgaXNTdGF0aXN0aWNzSGFzSGFkVXNlckludGVyYWN0aW9uKFdLU3RyaW5n
UmVmIGhvc3ROYW1lKTsKKyAgICB2b2lkIHNldFN0YXRpc3RpY3NTdWJmcmFtZVVuZGVyVG9wRnJh
bWVPcmlnaW4oV0tTdHJpbmdSZWYgaG9zdE5hbWUsIFdLU3RyaW5nUmVmIHRvcEZyYW1lSG9zdE5h
bWUpOworICAgIHZvaWQgc2V0U3RhdGlzdGljc1N1YnJlc291cmNlVW5kZXJUb3BGcmFtZU9yaWdp
bihXS1N0cmluZ1JlZiBob3N0TmFtZSwgV0tTdHJpbmdSZWYgdG9wRnJhbWVIb3N0TmFtZSk7Cisg
ICAgdm9pZCBzZXRTdGF0aXN0aWNzU3VicmVzb3VyY2VVbmlxdWVSZWRpcmVjdFRvKFdLU3RyaW5n
UmVmIGhvc3ROYW1lLCBXS1N0cmluZ1JlZiBob3N0TmFtZVJlZGlyZWN0ZWRUbyk7CiAgICAgdm9p
ZCBzZXRTdGF0aXN0aWNzVGltZVRvTGl2ZVVzZXJJbnRlcmFjdGlvbihkb3VibGUgc2Vjb25kcyk7
CiAgICAgdm9pZCBzdGF0aXN0aWNzRmlyZURhdGFNb2RpZmljYXRpb25IYW5kbGVyKCk7CiAgICAg
dm9pZCBzZXRTdGF0aXN0aWNzTm90aWZ5UGFnZXNXaGVuRGF0YVJlY29yZHNXZXJlU2Nhbm5lZChi
b29sKTsKSW5kZXg6IFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdEludm9jYXRpb24uY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdEludm9jYXRpb24uY3BwCShy
ZXZpc2lvbiAyMTI5MzIpCisrKyBUb29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RJbnZvY2F0aW9u
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtOTMyLDYgKzkzMiw0OCBAQCBXS1JldGFpblB0cjxXS1R5
cGVSZWY+IFRlc3RJbnZvY2F0aW9uOjpkCiAgICAgICAgIHJldHVybiByZXN1bHQ7CiAgICAgfQog
ICAgIAorICAgIGlmIChXS1N0cmluZ0lzRXF1YWxUb1VURjhDU3RyaW5nKG1lc3NhZ2VOYW1lLCAi
U2V0U3RhdGlzdGljc1N1YmZyYW1lVW5kZXJUb3BGcmFtZU9yaWdpbiIpKSB7CisgICAgICAgIEFT
U0VSVChXS0dldFR5cGVJRChtZXNzYWdlQm9keSkgPT0gV0tEaWN0aW9uYXJ5R2V0VHlwZUlEKCkp
OworICAgICAgICAKKyAgICAgICAgV0tEaWN0aW9uYXJ5UmVmIG1lc3NhZ2VCb2R5RGljdGlvbmFy
eSA9IHN0YXRpY19jYXN0PFdLRGljdGlvbmFyeVJlZj4obWVzc2FnZUJvZHkpOworICAgICAgICBX
S1JldGFpblB0cjxXS1N0cmluZ1JlZj4gaG9zdE5hbWVLZXkoQWRvcHRXSywgV0tTdHJpbmdDcmVh
dGVXaXRoVVRGOENTdHJpbmcoIkhvc3ROYW1lIikpOworICAgICAgICBXS1JldGFpblB0cjxXS1N0
cmluZ1JlZj4gdG9wRnJhbWVIb3N0TmFtZUtleShBZG9wdFdLLCBXS1N0cmluZ0NyZWF0ZVdpdGhV
VEY4Q1N0cmluZygiVG9wRnJhbWVIb3N0TmFtZSIpKTsKKyAgICAgICAgCisgICAgICAgIFdLU3Ry
aW5nUmVmIGhvc3ROYW1lID0gc3RhdGljX2Nhc3Q8V0tTdHJpbmdSZWY+KFdLRGljdGlvbmFyeUdl
dEl0ZW1Gb3JLZXkobWVzc2FnZUJvZHlEaWN0aW9uYXJ5LCBob3N0TmFtZUtleS5nZXQoKSkpOwor
ICAgICAgICBXS1N0cmluZ1JlZiB0b3BGcmFtZUhvc3ROYW1lID0gc3RhdGljX2Nhc3Q8V0tTdHJp
bmdSZWY+KFdLRGljdGlvbmFyeUdldEl0ZW1Gb3JLZXkobWVzc2FnZUJvZHlEaWN0aW9uYXJ5LCB0
b3BGcmFtZUhvc3ROYW1lS2V5LmdldCgpKSk7CisKKyAgICAgICAgVGVzdENvbnRyb2xsZXI6OnNp
bmdsZXRvbigpLnNldFN0YXRpc3RpY3NTdWJmcmFtZVVuZGVyVG9wRnJhbWVPcmlnaW4oaG9zdE5h
bWUsIHRvcEZyYW1lSG9zdE5hbWUpOworICAgICAgICByZXR1cm4gbnVsbHB0cjsKKyAgICB9Cisg
ICAgCisgICAgaWYgKFdLU3RyaW5nSXNFcXVhbFRvVVRGOENTdHJpbmcobWVzc2FnZU5hbWUsICJT
ZXRTdGF0aXN0aWNzU3VicmVzb3VyY2VVbmRlclRvcEZyYW1lT3JpZ2luIikpIHsKKyAgICAgICAg
QVNTRVJUKFdLR2V0VHlwZUlEKG1lc3NhZ2VCb2R5KSA9PSBXS0RpY3Rpb25hcnlHZXRUeXBlSUQo
KSk7CisgICAgICAgIAorICAgICAgICBXS0RpY3Rpb25hcnlSZWYgbWVzc2FnZUJvZHlEaWN0aW9u
YXJ5ID0gc3RhdGljX2Nhc3Q8V0tEaWN0aW9uYXJ5UmVmPihtZXNzYWdlQm9keSk7CisgICAgICAg
IFdLUmV0YWluUHRyPFdLU3RyaW5nUmVmPiBob3N0TmFtZUtleShBZG9wdFdLLCBXS1N0cmluZ0Ny
ZWF0ZVdpdGhVVEY4Q1N0cmluZygiSG9zdE5hbWUiKSk7CisgICAgICAgIFdLUmV0YWluUHRyPFdL
U3RyaW5nUmVmPiB0b3BGcmFtZUhvc3ROYW1lS2V5KEFkb3B0V0ssIFdLU3RyaW5nQ3JlYXRlV2l0
aFVURjhDU3RyaW5nKCJUb3BGcmFtZUhvc3ROYW1lIikpOworICAgICAgICAKKyAgICAgICAgV0tT
dHJpbmdSZWYgaG9zdE5hbWUgPSBzdGF0aWNfY2FzdDxXS1N0cmluZ1JlZj4oV0tEaWN0aW9uYXJ5
R2V0SXRlbUZvcktleShtZXNzYWdlQm9keURpY3Rpb25hcnksIGhvc3ROYW1lS2V5LmdldCgpKSk7
CisgICAgICAgIFdLU3RyaW5nUmVmIHRvcEZyYW1lSG9zdE5hbWUgPSBzdGF0aWNfY2FzdDxXS1N0
cmluZ1JlZj4oV0tEaWN0aW9uYXJ5R2V0SXRlbUZvcktleShtZXNzYWdlQm9keURpY3Rpb25hcnks
IHRvcEZyYW1lSG9zdE5hbWVLZXkuZ2V0KCkpKTsKKyAgICAgICAgCisgICAgICAgIFRlc3RDb250
cm9sbGVyOjpzaW5nbGV0b24oKS5zZXRTdGF0aXN0aWNzU3VicmVzb3VyY2VVbmRlclRvcEZyYW1l
T3JpZ2luKGhvc3ROYW1lLCB0b3BGcmFtZUhvc3ROYW1lKTsKKyAgICAgICAgcmV0dXJuIG51bGxw
dHI7CisgICAgfQorICAgIAorICAgIGlmIChXS1N0cmluZ0lzRXF1YWxUb1VURjhDU3RyaW5nKG1l
c3NhZ2VOYW1lLCAiU2V0U3RhdGlzdGljc1N1YnJlc291cmNlVW5pcXVlUmVkaXJlY3RUbyIpKSB7
CisgICAgICAgIEFTU0VSVChXS0dldFR5cGVJRChtZXNzYWdlQm9keSkgPT0gV0tEaWN0aW9uYXJ5
R2V0VHlwZUlEKCkpOworICAgICAgICAKKyAgICAgICAgV0tEaWN0aW9uYXJ5UmVmIG1lc3NhZ2VC
b2R5RGljdGlvbmFyeSA9IHN0YXRpY19jYXN0PFdLRGljdGlvbmFyeVJlZj4obWVzc2FnZUJvZHkp
OworICAgICAgICBXS1JldGFpblB0cjxXS1N0cmluZ1JlZj4gaG9zdE5hbWVLZXkoQWRvcHRXSywg
V0tTdHJpbmdDcmVhdGVXaXRoVVRGOENTdHJpbmcoIkhvc3ROYW1lIikpOworICAgICAgICBXS1Jl
dGFpblB0cjxXS1N0cmluZ1JlZj4gaG9zdE5hbWVSZWRpcmVjdGVkVG9LZXkoQWRvcHRXSywgV0tT
dHJpbmdDcmVhdGVXaXRoVVRGOENTdHJpbmcoIkhvc3ROYW1lUmVkaXJlY3RlZFRvIikpOworICAg
ICAgICAKKyAgICAgICAgV0tTdHJpbmdSZWYgaG9zdE5hbWUgPSBzdGF0aWNfY2FzdDxXS1N0cmlu
Z1JlZj4oV0tEaWN0aW9uYXJ5R2V0SXRlbUZvcktleShtZXNzYWdlQm9keURpY3Rpb25hcnksIGhv
c3ROYW1lS2V5LmdldCgpKSk7CisgICAgICAgIFdLU3RyaW5nUmVmIGhvc3ROYW1lUmVkaXJlY3Rl
ZFRvID0gc3RhdGljX2Nhc3Q8V0tTdHJpbmdSZWY+KFdLRGljdGlvbmFyeUdldEl0ZW1Gb3JLZXko
bWVzc2FnZUJvZHlEaWN0aW9uYXJ5LCBob3N0TmFtZVJlZGlyZWN0ZWRUb0tleS5nZXQoKSkpOwor
ICAgICAgICAKKyAgICAgICAgVGVzdENvbnRyb2xsZXI6OnNpbmdsZXRvbigpLnNldFN0YXRpc3Rp
Y3NTdWJyZXNvdXJjZVVuaXF1ZVJlZGlyZWN0VG8oaG9zdE5hbWUsIGhvc3ROYW1lUmVkaXJlY3Rl
ZFRvKTsKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7CisgICAgfQorCiAgICAgaWYgKFdLU3RyaW5n
SXNFcXVhbFRvVVRGOENTdHJpbmcobWVzc2FnZU5hbWUsICJTZXRTdGF0aXN0aWNzVGltZVRvTGl2
ZVVzZXJJbnRlcmFjdGlvbiIpKSB7CiAgICAgICAgIEFTU0VSVChXS0dldFR5cGVJRChtZXNzYWdl
Qm9keSkgPT0gV0tEb3VibGVHZXRUeXBlSUQoKSk7CiAgICAgICAgIFdLRG91YmxlUmVmIHNlY29u
ZHMgPSBzdGF0aWNfY2FzdDxXS0RvdWJsZVJlZj4obWVzc2FnZUJvZHkpOwpJbmRleDogVG9vbHMv
V2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9UZXN0UnVubmVyLmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBUb29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL1Rlc3RSdW5uZXIuY3Bw
CShyZXZpc2lvbiAyMTI5MzIpCisrKyBUb29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVu
ZGxlL1Rlc3RSdW5uZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMjI2LDYgKzEyMjYsNzggQEAg
Ym9vbCBUZXN0UnVubmVyOjppc1N0YXRpc3RpY3NIYXNIYWRVc2VySQogICAgIHJldHVybiBXS0Jv
b2xlYW5HZXRWYWx1ZShzdGF0aWNfY2FzdDxXS0Jvb2xlYW5SZWY+KHJldHVybkRhdGEpKTsKIH0K
IAordm9pZCBUZXN0UnVubmVyOjpzZXRTdGF0aXN0aWNzU3ViZnJhbWVVbmRlclRvcEZyYW1lT3Jp
Z2luKEpTU3RyaW5nUmVmIGhvc3ROYW1lLCBKU1N0cmluZ1JlZiB0b3BGcmFtZUhvc3ROYW1lKQor
eworICAgIFZlY3RvcjxXS1JldGFpblB0cjxXS1N0cmluZ1JlZj4+IGtleXM7CisgICAgVmVjdG9y
PFdLUmV0YWluUHRyPFdLVHlwZVJlZj4+IHZhbHVlczsKKyAgICAKKyAgICBrZXlzLmFwcGVuZCh7
IEFkb3B0V0ssIFdLU3RyaW5nQ3JlYXRlV2l0aFVURjhDU3RyaW5nKCJIb3N0TmFtZSIpIH0pOwor
ICAgIHZhbHVlcy5hcHBlbmQoeyBBZG9wdFdLLCBXS1N0cmluZ0NyZWF0ZVdpdGhKU1N0cmluZyho
b3N0TmFtZSkgfSk7CisgICAgCisgICAga2V5cy5hcHBlbmQoeyBBZG9wdFdLLCBXS1N0cmluZ0Ny
ZWF0ZVdpdGhVVEY4Q1N0cmluZygiVG9wRnJhbWVIb3N0TmFtZSIpIH0pOworICAgIHZhbHVlcy5h
cHBlbmQoeyBBZG9wdFdLLCBXS1N0cmluZ0NyZWF0ZVdpdGhKU1N0cmluZyh0b3BGcmFtZUhvc3RO
YW1lKSB9KTsKKyAgICAKKyAgICBWZWN0b3I8V0tTdHJpbmdSZWY+IHJhd0tleXMoa2V5cy5zaXpl
KCkpOworICAgIFZlY3RvcjxXS1R5cGVSZWY+IHJhd1ZhbHVlcyh2YWx1ZXMuc2l6ZSgpKTsKKyAg
ICAKKyAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IGtleXMuc2l6ZSgpOyArK2kpIHsKKyAgICAg
ICAgcmF3S2V5c1tpXSA9IGtleXNbaV0uZ2V0KCk7CisgICAgICAgIHJhd1ZhbHVlc1tpXSA9IHZh
bHVlc1tpXS5nZXQoKTsKKyAgICB9CisgICAgCisgICAgV0tSZXRhaW5QdHI8V0tTdHJpbmdSZWY+
IG1lc3NhZ2VOYW1lKEFkb3B0V0ssIFdLU3RyaW5nQ3JlYXRlV2l0aFVURjhDU3RyaW5nKCJTZXRT
dGF0aXN0aWNzU3ViZnJhbWVVbmRlclRvcEZyYW1lT3JpZ2luIikpOworICAgIFdLUmV0YWluUHRy
PFdLRGljdGlvbmFyeVJlZj4gbWVzc2FnZUJvZHkoQWRvcHRXSywgV0tEaWN0aW9uYXJ5Q3JlYXRl
KHJhd0tleXMuZGF0YSgpLCByYXdWYWx1ZXMuZGF0YSgpLCByYXdLZXlzLnNpemUoKSkpOworICAg
IFdLQnVuZGxlUG9zdFN5bmNocm9ub3VzTWVzc2FnZShJbmplY3RlZEJ1bmRsZTo6c2luZ2xldG9u
KCkuYnVuZGxlKCksIG1lc3NhZ2VOYW1lLmdldCgpLCBtZXNzYWdlQm9keS5nZXQoKSwgbnVsbHB0
cik7Cit9CisKK3ZvaWQgVGVzdFJ1bm5lcjo6c2V0U3RhdGlzdGljc1N1YnJlc291cmNlVW5kZXJU
b3BGcmFtZU9yaWdpbihKU1N0cmluZ1JlZiBob3N0TmFtZSwgSlNTdHJpbmdSZWYgdG9wRnJhbWVI
b3N0TmFtZSkKK3sKKyAgICBWZWN0b3I8V0tSZXRhaW5QdHI8V0tTdHJpbmdSZWY+PiBrZXlzOwor
ICAgIFZlY3RvcjxXS1JldGFpblB0cjxXS1R5cGVSZWY+PiB2YWx1ZXM7CisgICAgCisgICAga2V5
cy5hcHBlbmQoeyBBZG9wdFdLLCBXS1N0cmluZ0NyZWF0ZVdpdGhVVEY4Q1N0cmluZygiSG9zdE5h
bWUiKSB9KTsKKyAgICB2YWx1ZXMuYXBwZW5kKHsgQWRvcHRXSywgV0tTdHJpbmdDcmVhdGVXaXRo
SlNTdHJpbmcoaG9zdE5hbWUpIH0pOworICAgIAorICAgIGtleXMuYXBwZW5kKHsgQWRvcHRXSywg
V0tTdHJpbmdDcmVhdGVXaXRoVVRGOENTdHJpbmcoIlRvcEZyYW1lSG9zdE5hbWUiKSB9KTsKKyAg
ICB2YWx1ZXMuYXBwZW5kKHsgQWRvcHRXSywgV0tTdHJpbmdDcmVhdGVXaXRoSlNTdHJpbmcodG9w
RnJhbWVIb3N0TmFtZSkgfSk7CisgICAgCisgICAgVmVjdG9yPFdLU3RyaW5nUmVmPiByYXdLZXlz
KGtleXMuc2l6ZSgpKTsKKyAgICBWZWN0b3I8V0tUeXBlUmVmPiByYXdWYWx1ZXModmFsdWVzLnNp
emUoKSk7CisgICAgCisgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBrZXlzLnNpemUoKTsgKytp
KSB7CisgICAgICAgIHJhd0tleXNbaV0gPSBrZXlzW2ldLmdldCgpOworICAgICAgICByYXdWYWx1
ZXNbaV0gPSB2YWx1ZXNbaV0uZ2V0KCk7CisgICAgfQorICAgIAorICAgIFdLUmV0YWluUHRyPFdL
U3RyaW5nUmVmPiBtZXNzYWdlTmFtZShBZG9wdFdLLCBXS1N0cmluZ0NyZWF0ZVdpdGhVVEY4Q1N0
cmluZygiU2V0U3RhdGlzdGljc1N1YnJlc291cmNlVW5kZXJUb3BGcmFtZU9yaWdpbiIpKTsKKyAg
ICBXS1JldGFpblB0cjxXS0RpY3Rpb25hcnlSZWY+IG1lc3NhZ2VCb2R5KEFkb3B0V0ssIFdLRGlj
dGlvbmFyeUNyZWF0ZShyYXdLZXlzLmRhdGEoKSwgcmF3VmFsdWVzLmRhdGEoKSwgcmF3S2V5cy5z
aXplKCkpKTsKKyAgICBXS0J1bmRsZVBvc3RTeW5jaHJvbm91c01lc3NhZ2UoSW5qZWN0ZWRCdW5k
bGU6OnNpbmdsZXRvbigpLmJ1bmRsZSgpLCBtZXNzYWdlTmFtZS5nZXQoKSwgbWVzc2FnZUJvZHku
Z2V0KCksIG51bGxwdHIpOworfQorCit2b2lkIFRlc3RSdW5uZXI6OnNldFN0YXRpc3RpY3NTdWJy
ZXNvdXJjZVVuaXF1ZVJlZGlyZWN0VG8oSlNTdHJpbmdSZWYgaG9zdE5hbWUsIEpTU3RyaW5nUmVm
IGhvc3ROYW1lUmVkaXJlY3RlZFRvKQoreworICAgIFZlY3RvcjxXS1JldGFpblB0cjxXS1N0cmlu
Z1JlZj4+IGtleXM7CisgICAgVmVjdG9yPFdLUmV0YWluUHRyPFdLVHlwZVJlZj4+IHZhbHVlczsK
KyAgICAKKyAgICBrZXlzLmFwcGVuZCh7IEFkb3B0V0ssIFdLU3RyaW5nQ3JlYXRlV2l0aFVURjhD
U3RyaW5nKCJIb3N0TmFtZSIpIH0pOworICAgIHZhbHVlcy5hcHBlbmQoeyBBZG9wdFdLLCBXS1N0
cmluZ0NyZWF0ZVdpdGhKU1N0cmluZyhob3N0TmFtZSkgfSk7CisgICAgCisgICAga2V5cy5hcHBl
bmQoeyBBZG9wdFdLLCBXS1N0cmluZ0NyZWF0ZVdpdGhVVEY4Q1N0cmluZygiSG9zdE5hbWVSZWRp
cmVjdGVkVG8iKSB9KTsKKyAgICB2YWx1ZXMuYXBwZW5kKHsgQWRvcHRXSywgV0tTdHJpbmdDcmVh
dGVXaXRoSlNTdHJpbmcoaG9zdE5hbWVSZWRpcmVjdGVkVG8pIH0pOworICAgIAorICAgIFZlY3Rv
cjxXS1N0cmluZ1JlZj4gcmF3S2V5cyhrZXlzLnNpemUoKSk7CisgICAgVmVjdG9yPFdLVHlwZVJl
Zj4gcmF3VmFsdWVzKHZhbHVlcy5zaXplKCkpOworICAgIAorICAgIGZvciAoc2l6ZV90IGkgPSAw
OyBpIDwga2V5cy5zaXplKCk7ICsraSkgeworICAgICAgICByYXdLZXlzW2ldID0ga2V5c1tpXS5n
ZXQoKTsKKyAgICAgICAgcmF3VmFsdWVzW2ldID0gdmFsdWVzW2ldLmdldCgpOworICAgIH0KKyAg
ICAKKyAgICBXS1JldGFpblB0cjxXS1N0cmluZ1JlZj4gbWVzc2FnZU5hbWUoQWRvcHRXSywgV0tT
dHJpbmdDcmVhdGVXaXRoVVRGOENTdHJpbmcoIlNldFN0YXRpc3RpY3NTdWJyZXNvdXJjZVVuaXF1
ZVJlZGlyZWN0VG8iKSk7CisgICAgV0tSZXRhaW5QdHI8V0tEaWN0aW9uYXJ5UmVmPiBtZXNzYWdl
Qm9keShBZG9wdFdLLCBXS0RpY3Rpb25hcnlDcmVhdGUocmF3S2V5cy5kYXRhKCksIHJhd1ZhbHVl
cy5kYXRhKCksIHJhd0tleXMuc2l6ZSgpKSk7CisgICAgV0tCdW5kbGVQb3N0U3luY2hyb25vdXNN
ZXNzYWdlKEluamVjdGVkQnVuZGxlOjpzaW5nbGV0b24oKS5idW5kbGUoKSwgbWVzc2FnZU5hbWUu
Z2V0KCksIG1lc3NhZ2VCb2R5LmdldCgpLCBudWxscHRyKTsKK30KKwogdm9pZCBUZXN0UnVubmVy
OjpzZXRTdGF0aXN0aWNzVGltZVRvTGl2ZVVzZXJJbnRlcmFjdGlvbihkb3VibGUgc2Vjb25kcykK
IHsKICAgICBXS1JldGFpblB0cjxXS1N0cmluZ1JlZj4gbWVzc2FnZU5hbWUoQWRvcHRXSywgV0tT
dHJpbmdDcmVhdGVXaXRoVVRGOENTdHJpbmcoIlNldFN0YXRpc3RpY3NUaW1lVG9MaXZlVXNlcklu
dGVyYWN0aW9uIikpOwpJbmRleDogVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRs
ZS9UZXN0UnVubmVyLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9Jbmpl
Y3RlZEJ1bmRsZS9UZXN0UnVubmVyLmgJKHJldmlzaW9uIDIxMjkzMikKKysrIFRvb2xzL1dlYktp
dFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvVGVzdFJ1bm5lci5oCSh3b3JraW5nIGNvcHkpCkBA
IC0zNTQsNiArMzU0LDkgQEAgcHVibGljOgogICAgIGJvb2wgaXNTdGF0aXN0aWNzUHJldmFsZW50
UmVzb3VyY2UoSlNTdHJpbmdSZWYgaG9zdE5hbWUpOwogICAgIHZvaWQgc2V0U3RhdGlzdGljc0hh
c0hhZFVzZXJJbnRlcmFjdGlvbihKU1N0cmluZ1JlZiBob3N0TmFtZSwgYm9vbCB2YWx1ZSk7CiAg
ICAgYm9vbCBpc1N0YXRpc3RpY3NIYXNIYWRVc2VySW50ZXJhY3Rpb24oSlNTdHJpbmdSZWYgaG9z
dE5hbWUpOworICAgIHZvaWQgc2V0U3RhdGlzdGljc1N1YmZyYW1lVW5kZXJUb3BGcmFtZU9yaWdp
bihKU1N0cmluZ1JlZiBob3N0TmFtZSwgSlNTdHJpbmdSZWYgdG9wRnJhbWVIb3N0TmFtZSk7Cisg
ICAgdm9pZCBzZXRTdGF0aXN0aWNzU3VicmVzb3VyY2VVbmRlclRvcEZyYW1lT3JpZ2luKEpTU3Ry
aW5nUmVmIGhvc3ROYW1lLCBKU1N0cmluZ1JlZiB0b3BGcmFtZUhvc3ROYW1lKTsKKyAgICB2b2lk
IHNldFN0YXRpc3RpY3NTdWJyZXNvdXJjZVVuaXF1ZVJlZGlyZWN0VG8oSlNTdHJpbmdSZWYgaG9z
dE5hbWUsIEpTU3RyaW5nUmVmIGhvc3ROYW1lUmVkaXJlY3RlZFRvKTsKICAgICB2b2lkIHNldFN0
YXRpc3RpY3NUaW1lVG9MaXZlVXNlckludGVyYWN0aW9uKGRvdWJsZSBzZWNvbmRzKTsKICAgICB2
b2lkIHNldFN0YXRpc3RpY3NOb3RpZnlQYWdlc1doZW5EYXRhUmVjb3Jkc1dlcmVTY2FubmVkKGJv
b2wpOwogICAgIHZvaWQgc2V0U3RhdGlzdGljc1Nob3VsZENsYXNzaWZ5UmVzb3VyY2VzQmVmb3Jl
RGF0YVJlY29yZHNSZW1vdmFsKGJvb2wpOwpJbmRleDogVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9J
bmplY3RlZEJ1bmRsZS9CaW5kaW5ncy9UZXN0UnVubmVyLmlkbAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29s
cy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0JpbmRpbmdzL1Rlc3RSdW5uZXIuaWRs
CShyZXZpc2lvbiAyMTI5MzIpCisrKyBUb29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVu
ZGxlL0JpbmRpbmdzL1Rlc3RSdW5uZXIuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yNTMsNiArMjUz
LDkgQEAgaW50ZXJmYWNlIFRlc3RSdW5uZXIgewogICAgIGJvb2xlYW4gaXNTdGF0aXN0aWNzUHJl
dmFsZW50UmVzb3VyY2UoRE9NU3RyaW5nIGhvc3ROYW1lKTsKICAgICB2b2lkIHNldFN0YXRpc3Rp
Y3NIYXNIYWRVc2VySW50ZXJhY3Rpb24oRE9NU3RyaW5nIGhvc3ROYW1lLCBib29sZWFuIHZhbHVl
KTsKICAgICBib29sZWFuIGlzU3RhdGlzdGljc0hhc0hhZFVzZXJJbnRlcmFjdGlvbihET01TdHJp
bmcgaG9zdE5hbWUpOworICAgIHZvaWQgc2V0U3RhdGlzdGljc1N1YmZyYW1lVW5kZXJUb3BGcmFt
ZU9yaWdpbihET01TdHJpbmcgaG9zdE5hbWUsIERPTVN0cmluZyB0b3BGcmFtZUhvc3ROYW1lKTsK
KyAgICB2b2lkIHNldFN0YXRpc3RpY3NTdWJyZXNvdXJjZVVuZGVyVG9wRnJhbWVPcmlnaW4oRE9N
U3RyaW5nIGhvc3ROYW1lLCBET01TdHJpbmcgdG9wRnJhbWVIb3N0TmFtZSk7CisgICAgdm9pZCBz
ZXRTdGF0aXN0aWNzU3VicmVzb3VyY2VVbmlxdWVSZWRpcmVjdFRvKERPTVN0cmluZyBob3N0TmFt
ZSwgRE9NU3RyaW5nIGhvc3ROYW1lUmVkaXJlY3RlZFRvKTsKICAgICB2b2lkIHNldFN0YXRpc3Rp
Y3NUaW1lVG9MaXZlVXNlckludGVyYWN0aW9uKGRvdWJsZSBzZWNvbmRzKTsKICAgICB2b2lkIHN0
YXRpc3RpY3NGaXJlRGF0YU1vZGlmaWNhdGlvbkhhbmRsZXIoKTsKICAgICB2b2lkIHNldFN0YXRp
c3RpY3NOb3RpZnlQYWdlc1doZW5EYXRhUmVjb3Jkc1dlcmVTY2FubmVkKGJvb2xlYW4gdmFsdWUp
OwpJbmRleDogTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L0NoYW5nZUxvZwkocmV2aXNpb24gMjEyOTMyKQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3
b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsNDUgQEAKKzIwMTctMDItMjMgIEpvaG4gV2lsYW5kZXIg
IDx3aWxhbmRlckBhcHBsZS5jb20+CisKKyAgICAgICAgUmVzb3VyY2UgTG9hZCBTdGF0aXN0aWNz
OiBBZGQgYWx0ZXJuYXRlIGNsYXNzaWZpY2F0aW9uIG1ldGhvZAorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY4MzQ3CisgICAgICAgIDxyZGFyOi8vcHJv
YmxlbS8zMDM1Mjc5Mz4KKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzMwNjQ2NzEwPgorICAgICAg
ICA8cmRhcjovL3Byb2JsZW0vMzA2NjA3MDg+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgQWxleCBD
aHJpc3RlbnNlbi4KKworICAgICAgICAqIGh0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRT
dGF0aXN0aWNzL2NsYXNzaWZ5LWFzLW5vbi1wcmV2YWxlbnQtYmFzZWQtb24tbWl4ZWQtc3RhdGlz
dGljcy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvbG9hZGluZy9y
ZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLW5vbi1wcmV2YWxlbnQtYmFzZWQtb24t
bWl4ZWQtc3RhdGlzdGljcy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2xvYWRp
bmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1ub24tcHJldmFsZW50LWJhc2Vk
LW9uLXN1Yi1mcmFtZS11bmRlci10b3AtZnJhbWUtb3JpZ2lucy1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGh0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2Ns
YXNzaWZ5LWFzLW5vbi1wcmV2YWxlbnQtYmFzZWQtb24tc3ViLWZyYW1lLXVuZGVyLXRvcC1mcmFt
ZS1vcmlnaW5zLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvbG9hZGluZy9yZXNv
dXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLW5vbi1wcmV2YWxlbnQtYmFzZWQtb24tc3Vi
cmVzb3VyY2UtdW5kZXItdG9wLWZyYW1lLW9yaWdpbnMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiBodHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lm
eS1hcy1ub24tcHJldmFsZW50LWJhc2VkLW9uLXN1YnJlc291cmNlLXVuZGVyLXRvcC1mcmFtZS1v
cmlnaW5zLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLW5vbi1wcmV2YWxlbnQtYmFzZWQtb24tc3VicmVz
b3VyY2UtdW5pcXVlLXJlZGlyZWN0cy10by1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGh0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLW5v
bi1wcmV2YWxlbnQtYmFzZWQtb24tc3VicmVzb3VyY2UtdW5pcXVlLXJlZGlyZWN0cy10by5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlz
dGljcy9jbGFzc2lmeS1hcy1wcmV2YWxlbnQtYmFzZWQtb24tbWl4ZWQtc3RhdGlzdGljcy1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxv
YWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLXByZXZhbGVudC1iYXNlZC1vbi1taXhlZC1zdGF0aXN0
aWNzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxv
YWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLXByZXZhbGVudC1iYXNlZC1vbi1zdWItZnJhbWUtdW5k
ZXItdG9wLWZyYW1lLW9yaWdpbnMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRw
L3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1wcmV2YWxl
bnQtYmFzZWQtb24tc3ViLWZyYW1lLXVuZGVyLXRvcC1mcmFtZS1vcmlnaW5zLmh0bWw6IEFkZGVk
LgorICAgICAgICAqIGh0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2Ns
YXNzaWZ5LWFzLXByZXZhbGVudC1iYXNlZC1vbi1zdWJyZXNvdXJjZS11bmRlci10b3AtZnJhbWUt
b3JpZ2lucy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvbG9hZGlu
Zy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLXByZXZhbGVudC1iYXNlZC1vbi1z
dWJyZXNvdXJjZS11bmRlci10b3AtZnJhbWUtb3JpZ2lucy5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiBodHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1w
cmV2YWxlbnQtYmFzZWQtb24tc3VicmVzb3VyY2UtdW5pcXVlLXJlZGlyZWN0cy10by1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRT
dGF0aXN0aWNzL2NsYXNzaWZ5LWFzLXByZXZhbGVudC1iYXNlZC1vbi1zdWJyZXNvdXJjZS11bmlx
dWUtcmVkaXJlY3RzLXRvLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvbG9hZGlu
Zy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL25vbi1wcmV2YWxlbnQtcmVzb3VyY2Utd2l0aC11c2Vy
LWludGVyYWN0aW9uLmh0bWw6CisgICAgICAgICAgICBBZGRlZCBhIGNhbGwgdG8gaW50ZXJuYWxz
LnNldFJlc291cmNlTG9hZFN0YXRpc3RpY3NFbmFibGVkKGZhbHNlKSBiZWZvcmUgdGVzdFJ1bm5l
ci5ub3RpZnlEb25lKCkuCisgICAgICAgICogaHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9h
ZFN0YXRpc3RpY3Mvbm9uLXByZXZhbGVudC1yZXNvdXJjZS13aXRob3V0LXVzZXItaW50ZXJhY3Rp
b24uaHRtbDoKKyAgICAgICAgICAgIEFkZGVkIGEgY2FsbCB0byBpbnRlcm5hbHMuc2V0UmVzb3Vy
Y2VMb2FkU3RhdGlzdGljc0VuYWJsZWQoZmFsc2UpIGJlZm9yZSB0ZXN0UnVubmVyLm5vdGlmeURv
bmUoKS4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGlj
cy9wcmV2YWxlbnQtcmVzb3VyY2Utd2l0aC11c2VyLWludGVyYWN0aW9uLXRpbWVvdXQuaHRtbDoK
KyAgICAgICAgICAgIEFkZGVkIGEgY2FsbCB0byBpbnRlcm5hbHMuc2V0UmVzb3VyY2VMb2FkU3Rh
dGlzdGljc0VuYWJsZWQoZmFsc2UpIGJlZm9yZSB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKS4KKyAg
ICAgICAgKiBodHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9wcmV2YWxl
bnQtcmVzb3VyY2Utd2l0aC11c2VyLWludGVyYWN0aW9uLmh0bWw6CisgICAgICAgICAgICBBZGRl
ZCBhIGNhbGwgdG8gaW50ZXJuYWxzLnNldFJlc291cmNlTG9hZFN0YXRpc3RpY3NFbmFibGVkKGZh
bHNlKSBiZWZvcmUgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCkuCisgICAgICAgICogaHR0cC90ZXN0
cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvcHJldmFsZW50LXJlc291cmNlLXdpdGhv
dXQtdXNlci1pbnRlcmFjdGlvbi5odG1sOgorICAgICAgICAgICAgQWRkZWQgYSBjYWxsIHRvIGlu
dGVybmFscy5zZXRSZXNvdXJjZUxvYWRTdGF0aXN0aWNzRW5hYmxlZChmYWxzZSkgYmVmb3JlIHRl
c3RSdW5uZXIubm90aWZ5RG9uZSgpLgorICAgICAgICAqIHBsYXRmb3JtL2d0ay9UZXN0RXhwZWN0
YXRpb25zOgorICAgICAgICAgICAgVGhlIHdob2xlIGh0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzIG1hcmtlZCBhcyBjcmFzaGluZyBiYXNlZCBvbgorICAgICAgICAgICAg
Q2FybG9zIEdhcmNpYSBDYW1wb3MncyBhc3Nlc3NtZW50IGluIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xNjgxNzEuCisgICAgICAgICogcGxhdGZvcm0vd2syL1Rlc3RF
eHBlY3RhdGlvbnM6CisgICAgICAgICAgICBUaGUgYWJvdmUgdGVzdHMgYXJlIG9ubHkgdmFsaWQg
Zm9yIFdlYktpdDIuIE1hcmtlZCBhcyBbIFBhc3MgXS4KKwogMjAxNy0wMi0yMyAgQ2FybG9zIEFs
YmVydG8gTG9wZXogUGVyZXogIDxjbG9wZXpAaWdhbGlhLmNvbT4KIAogICAgICAgICBbR1RLXSBH
YXJkZW5pbmcgb2Ygc29tZSBmbGFreSB0ZXN0cwpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtbm9uLXByZXZhbGVu
dC1iYXNlZC1vbi1taXhlZC1zdGF0aXN0aWNzLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFz
c2lmeS1hcy1ub24tcHJldmFsZW50LWJhc2VkLW9uLW1peGVkLXN0YXRpc3RpY3MtZXhwZWN0ZWQu
dHh0CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvbG9hZGluZy9yZXNv
dXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLW5vbi1wcmV2YWxlbnQtYmFzZWQtb24tbWl4
ZWQtc3RhdGlzdGljcy1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw4IEBA
CittYWluIGZyYW1lIC0gZGlkU3RhcnRQcm92aXNpb25hbExvYWRGb3JGcmFtZQorbWFpbiBmcmFt
ZSAtIGRpZENvbW1pdExvYWRGb3JGcmFtZQorbWFpbiBmcmFtZSAtIGRpZFJlY2VpdmVUaXRsZTog
VGVzdHMgZm9yIENsYXNzaWZpY2F0aW9uIEJhc2VkIG9uIE1peGVkIFN0YXRpc3RpY3MKK21haW4g
ZnJhbWUgLSBkaWRGaW5pc2hEb2N1bWVudExvYWRGb3JGcmFtZQorbWFpbiBmcmFtZSAtIGRpZEhh
bmRsZU9ubG9hZEV2ZW50c0ZvckZyYW1lCittYWluIGZyYW1lIC0gZGlkRmluaXNoTG9hZEZvckZy
YW1lCitQQVNTIEhvc3QgZGlkIG5vdCBnZXQgY2xhc3NpZmllZCBhcyBwcmV2YWxlbnQgcmVzb3Vy
Y2UuCisKSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRT
dGF0aXN0aWNzL2NsYXNzaWZ5LWFzLW5vbi1wcmV2YWxlbnQtYmFzZWQtb24tbWl4ZWQtc3RhdGlz
dGljcy5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvbG9hZGluZy9y
ZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLW5vbi1wcmV2YWxlbnQtYmFzZWQtb24t
bWl4ZWQtc3RhdGlzdGljcy5odG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2h0dHAv
dGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLW5vbi1wcmV2
YWxlbnQtYmFzZWQtb24tbWl4ZWQtc3RhdGlzdGljcy5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0w
LDAgKzEsNDIgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWwgbGFuZz0iZW4iPgorPGhlYWQ+Cisg
ICAgPG1ldGEgY2hhcnNldD0iVVRGLTgiPgorICAgIDx0aXRsZT5UZXN0cyBmb3IgQ2xhc3NpZmlj
YXRpb24gQmFzZWQgb24gTWl4ZWQgU3RhdGlzdGljczwvdGl0bGU+CisgICAgPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxzY3JpcHQ+CisgICAgY29uc3QgaG9zdFVuZGVyVGVzdCA9ICIxMjcuMC4wLjE6ODAwMCI7
CisgICAgY29uc3Qgc3RhdGlzdGljc1VybCA9ICJodHRwOi8vIiArIGhvc3RVbmRlclRlc3QgKyAi
L3RlbXAiOworICAgIGNvbnN0IHRvcEZyYW1lT3JpZ2luMSA9ICJodHRwOi8vMTI3LjAuMC4yOjgw
MDAvdGVtcCI7CisgICAgY29uc3QgdG9wRnJhbWVPcmlnaW4yID0gImh0dHA6Ly8xMjcuMC4wLjM6
ODAwMC90ZW1wIjsKKyAgICBjb25zdCB0b3BGcmFtZU9yaWdpbjMgPSAiaHR0cDovLzEyNy4wLjAu
NDo4MDAwL3RlbXAiOworICAgIGZ1bmN0aW9uIHJ1blRlc3RSdW5uZXJUZXN0KCkgeworICAgICAg
ICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJjZShzdGF0aXN0aWNzVXJs
LCBmYWxzZSk7CisgICAgICAgIGlmICh0ZXN0UnVubmVyLmlzU3RhdGlzdGljc1ByZXZhbGVudFJl
c291cmNlKHN0YXRpc3RpY3NVcmwpKQorICAgICAgICAgICAgdGVzdEZhaWxlZCgiSG9zdCBkaWQg
bm90IGdldCBzZXQgYXMgbm9uLXByZXZhbGVudCByZXNvdXJjZS4iKTsKKworICAgICAgICB0ZXN0
UnVubmVyLnNldFN0YXRpc3RpY3NTdWJmcmFtZVVuZGVyVG9wRnJhbWVPcmlnaW4oc3RhdGlzdGlj
c1VybCwgdG9wRnJhbWVPcmlnaW4xKTsKKyAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNz
U3VicmVzb3VyY2VVbmRlclRvcEZyYW1lT3JpZ2luKHN0YXRpc3RpY3NVcmwsIHRvcEZyYW1lT3Jp
Z2luMik7CisgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1N1YnJlc291cmNlVW5pcXVl
UmVkaXJlY3RUbyhzdGF0aXN0aWNzVXJsLCB0b3BGcmFtZU9yaWdpbjMpOworCisgICAgICAgIHRl
c3RSdW5uZXIuc3RhdGlzdGljc0ZpcmVEYXRhTW9kaWZpY2F0aW9uSGFuZGxlcigpOworCisgICAg
ICAgIGlmICh0ZXN0UnVubmVyLmlzU3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNlKHN0YXRpc3Rp
Y3NVcmwpKQorICAgICAgICAgICAgdGVzdEZhaWxlZCgiSG9zdCBjbGFzc2lmaWVkIGFzIHByZXZh
bGVudCByZXNvdXJjZS4iKTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgdGVzdFBhc3NlZCgi
SG9zdCBkaWQgbm90IGdldCBjbGFzc2lmaWVkIGFzIHByZXZhbGVudCByZXNvdXJjZS4iKTsKKwor
ICAgICAgICB0ZXN0UnVubmVyLnN0YXRpc3RpY3NSZXNldFRvQ29uc2lzdGVudFN0YXRlKCk7Cisg
ICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOworICAgIH0KKworICAgIGlmIChkb2N1bWVu
dC5sb2NhdGlvbi5ob3N0ID09PSBob3N0VW5kZXJUZXN0ICYmIHdpbmRvdy50ZXN0UnVubmVyICYm
IHdpbmRvdy5pbnRlcm5hbHMpIHsKKyAgICAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7
CisgICAgICAgIGludGVybmFscy5zZXRSZXNvdXJjZUxvYWRTdGF0aXN0aWNzRW5hYmxlZCh0cnVl
KTsKKyAgICAgICAgcnVuVGVzdFJ1bm5lclRlc3QoKTsKKyAgICB9Cis8L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCkluZGV4OiBMYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1u
b24tcHJldmFsZW50LWJhc2VkLW9uLXN1Yi1mcmFtZS11bmRlci10b3AtZnJhbWUtb3JpZ2lucy1l
eHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9sb2FkaW5n
L3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtbm9uLXByZXZhbGVudC1iYXNlZC1v
bi1zdWItZnJhbWUtdW5kZXItdG9wLWZyYW1lLW9yaWdpbnMtZXhwZWN0ZWQudHh0CShub25leGlz
dGVudCkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0
aXN0aWNzL2NsYXNzaWZ5LWFzLW5vbi1wcmV2YWxlbnQtYmFzZWQtb24tc3ViLWZyYW1lLXVuZGVy
LXRvcC1mcmFtZS1vcmlnaW5zLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsx
LDggQEAKK21haW4gZnJhbWUgLSBkaWRTdGFydFByb3Zpc2lvbmFsTG9hZEZvckZyYW1lCittYWlu
IGZyYW1lIC0gZGlkQ29tbWl0TG9hZEZvckZyYW1lCittYWluIGZyYW1lIC0gZGlkUmVjZWl2ZVRp
dGxlOiBUZXN0cyBmb3IgQ2xhc3NpZmljYXRpb24gQmFzZWQgb24gU3ViIEZyYW1lIFVuZGVyIFRv
cCBGcmFtZSBPcmlnaW5zCittYWluIGZyYW1lIC0gZGlkRmluaXNoRG9jdW1lbnRMb2FkRm9yRnJh
bWUKK21haW4gZnJhbWUgLSBkaWRIYW5kbGVPbmxvYWRFdmVudHNGb3JGcmFtZQorbWFpbiBmcmFt
ZSAtIGRpZEZpbmlzaExvYWRGb3JGcmFtZQorUEFTUyBIb3N0IGRpZCBub3QgZ2V0IGNsYXNzaWZp
ZWQgYXMgcHJldmFsZW50IHJlc291cmNlLgorCkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1ub24tcHJldmFsZW50
LWJhc2VkLW9uLXN1Yi1mcmFtZS11bmRlci10b3AtZnJhbWUtb3JpZ2lucy5odG1sCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0
aWNzL2NsYXNzaWZ5LWFzLW5vbi1wcmV2YWxlbnQtYmFzZWQtb24tc3ViLWZyYW1lLXVuZGVyLXRv
cC1mcmFtZS1vcmlnaW5zLmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtbm9uLXByZXZh
bGVudC1iYXNlZC1vbi1zdWItZnJhbWUtdW5kZXItdG9wLWZyYW1lLW9yaWdpbnMuaHRtbAkod29y
a2luZyBjb3B5KQpAQCAtMCwwICsxLDQyIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sIGxhbmc9
ImVuIj4KKzxoZWFkPgorICAgIDxtZXRhIGNoYXJzZXQ9IlVURi04Ij4KKyAgICA8dGl0bGU+VGVz
dHMgZm9yIENsYXNzaWZpY2F0aW9uIEJhc2VkIG9uIFN1YiBGcmFtZSBVbmRlciBUb3AgRnJhbWUg
T3JpZ2luczwvdGl0bGU+CisgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQ+CisgICAgY29uc3Qg
aG9zdFVuZGVyVGVzdCA9ICIxMjcuMC4wLjE6ODAwMCI7CisgICAgY29uc3Qgc3RhdGlzdGljc1Vy
bCA9ICJodHRwOi8vIiArIGhvc3RVbmRlclRlc3QgKyAiL3RlbXAiOworICAgIGNvbnN0IHRvcEZy
YW1lT3JpZ2luMSA9ICJodHRwOi8vMTI3LjAuMC4yOjgwMDAvdGVtcCI7CisgICAgY29uc3QgdG9w
RnJhbWVPcmlnaW4yID0gImh0dHA6Ly8xMjcuMC4wLjM6ODAwMC90ZW1wIjsKKyAgICBjb25zdCB0
b3BGcmFtZU9yaWdpbjMgPSAiaHR0cDovLzEyNy4wLjAuNDo4MDAwL3RlbXAiOworICAgIGZ1bmN0
aW9uIHJ1blRlc3RSdW5uZXJUZXN0KCkgeworICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3Rp
Y3NQcmV2YWxlbnRSZXNvdXJjZShzdGF0aXN0aWNzVXJsLCBmYWxzZSk7CisgICAgICAgIGlmICh0
ZXN0UnVubmVyLmlzU3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNlKHN0YXRpc3RpY3NVcmwpKQor
ICAgICAgICAgICAgdGVzdEZhaWxlZCgiSG9zdCBkaWQgbm90IGdldCBzZXQgYXMgbm9uLXByZXZh
bGVudCByZXNvdXJjZS4iKTsKKworICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NTdWJm
cmFtZVVuZGVyVG9wRnJhbWVPcmlnaW4oc3RhdGlzdGljc1VybCwgdG9wRnJhbWVPcmlnaW4xKTsK
KyAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzU3ViZnJhbWVVbmRlclRvcEZyYW1lT3Jp
Z2luKHN0YXRpc3RpY3NVcmwsIHRvcEZyYW1lT3JpZ2luMik7CisgICAgICAgIHRlc3RSdW5uZXIu
c2V0U3RhdGlzdGljc1N1YmZyYW1lVW5kZXJUb3BGcmFtZU9yaWdpbihzdGF0aXN0aWNzVXJsLCB0
b3BGcmFtZU9yaWdpbjMpOworCisgICAgICAgIHRlc3RSdW5uZXIuc3RhdGlzdGljc0ZpcmVEYXRh
TW9kaWZpY2F0aW9uSGFuZGxlcigpOworCisgICAgICAgIGlmICh0ZXN0UnVubmVyLmlzU3RhdGlz
dGljc1ByZXZhbGVudFJlc291cmNlKHN0YXRpc3RpY3NVcmwpKQorICAgICAgICAgICAgdGVzdEZh
aWxlZCgiSG9zdCBjbGFzc2lmaWVkIGFzIHByZXZhbGVudCByZXNvdXJjZS4iKTsKKyAgICAgICAg
ZWxzZQorICAgICAgICAgICAgdGVzdFBhc3NlZCgiSG9zdCBkaWQgbm90IGdldCBjbGFzc2lmaWVk
IGFzIHByZXZhbGVudCByZXNvdXJjZS4iKTsKKworICAgICAgICB0ZXN0UnVubmVyLnN0YXRpc3Rp
Y3NSZXNldFRvQ29uc2lzdGVudFN0YXRlKCk7CisgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9u
ZSgpOworICAgIH0KKworICAgIGlmIChkb2N1bWVudC5sb2NhdGlvbi5ob3N0ID09PSBob3N0VW5k
ZXJUZXN0ICYmIHdpbmRvdy50ZXN0UnVubmVyICYmIHdpbmRvdy5pbnRlcm5hbHMpIHsKKyAgICAg
ICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7CisgICAgICAgIGludGVybmFscy5zZXRSZXNv
dXJjZUxvYWRTdGF0aXN0aWNzRW5hYmxlZCh0cnVlKTsKKyAgICAgICAgcnVuVGVzdFJ1bm5lclRl
c3QoKTsKKyAgICB9Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3Vy
Y2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1ub24tcHJldmFsZW50LWJhc2VkLW9uLXN1YnJl
c291cmNlLXVuZGVyLXRvcC1mcmFtZS1vcmlnaW5zLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9j
bGFzc2lmeS1hcy1ub24tcHJldmFsZW50LWJhc2VkLW9uLXN1YnJlc291cmNlLXVuZGVyLXRvcC1m
cmFtZS1vcmlnaW5zLWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1ub24t
cHJldmFsZW50LWJhc2VkLW9uLXN1YnJlc291cmNlLXVuZGVyLXRvcC1mcmFtZS1vcmlnaW5zLWV4
cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDggQEAKK21haW4gZnJhbWUgLSBk
aWRTdGFydFByb3Zpc2lvbmFsTG9hZEZvckZyYW1lCittYWluIGZyYW1lIC0gZGlkQ29tbWl0TG9h
ZEZvckZyYW1lCittYWluIGZyYW1lIC0gZGlkUmVjZWl2ZVRpdGxlOiBUZXN0cyBmb3IgQ2xhc3Np
ZmljYXRpb24gQmFzZWQgb24gU3VicmVzb3VyY2UgVW5kZXIgVG9wIEZyYW1lIE9yaWdpbnMKK21h
aW4gZnJhbWUgLSBkaWRGaW5pc2hEb2N1bWVudExvYWRGb3JGcmFtZQorbWFpbiBmcmFtZSAtIGRp
ZEhhbmRsZU9ubG9hZEV2ZW50c0ZvckZyYW1lCittYWluIGZyYW1lIC0gZGlkRmluaXNoTG9hZEZv
ckZyYW1lCitQQVNTIEhvc3QgZGlkIG5vdCBnZXQgY2xhc3NpZmllZCBhcyBwcmV2YWxlbnQgcmVz
b3VyY2UuCisKSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxv
YWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLW5vbi1wcmV2YWxlbnQtYmFzZWQtb24tc3VicmVzb3Vy
Y2UtdW5kZXItdG9wLWZyYW1lLW9yaWdpbnMuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1u
b24tcHJldmFsZW50LWJhc2VkLW9uLXN1YnJlc291cmNlLXVuZGVyLXRvcC1mcmFtZS1vcmlnaW5z
Lmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9sb2FkaW5nL3Jl
c291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtbm9uLXByZXZhbGVudC1iYXNlZC1vbi1z
dWJyZXNvdXJjZS11bmRlci10b3AtZnJhbWUtb3JpZ2lucy5odG1sCSh3b3JraW5nIGNvcHkpCkBA
IC0wLDAgKzEsNDAgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWwgbGFuZz0iZW4iPgorPGhlYWQ+
CisgICAgPG1ldGEgY2hhcnNldD0iVVRGLTgiPgorICAgIDx0aXRsZT5UZXN0cyBmb3IgQ2xhc3Np
ZmljYXRpb24gQmFzZWQgb24gU3VicmVzb3VyY2UgVW5kZXIgVG9wIEZyYW1lIE9yaWdpbnM8L3Rp
dGxlPgorICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwv
c2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0PgorICAgIGNvbnN0IGhvc3RVbmRlclRl
c3QgPSAiMTI3LjAuMC4xOjgwMDAiOworICAgIGNvbnN0IHN0YXRpc3RpY3NVcmwgPSAiaHR0cDov
LyIgKyBob3N0VW5kZXJUZXN0ICsgIi90ZW1wIjsKKyAgICBjb25zdCB0b3BGcmFtZU9yaWdpbjEg
PSAiaHR0cDovLzEyNy4wLjAuMjo4MDAwL3RlbXAiOworICAgIGNvbnN0IHRvcEZyYW1lT3JpZ2lu
MiA9ICJodHRwOi8vMTI3LjAuMC4zOjgwMDAvdGVtcCI7CisgICAgZnVuY3Rpb24gcnVuVGVzdFJ1
bm5lclRlc3QoKSB7CisgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1ByZXZhbGVudFJl
c291cmNlKHN0YXRpc3RpY3NVcmwsIGZhbHNlKTsKKyAgICAgICAgaWYgKHRlc3RSdW5uZXIuaXNT
dGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2Uoc3RhdGlzdGljc1VybCkpCisgICAgICAgICAgICB0
ZXN0RmFpbGVkKCJIb3N0IGRpZCBub3QgZ2V0IHNldCBhcyBub24tcHJldmFsZW50IHJlc291cmNl
LiIpOworCisgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1N1YnJlc291cmNlVW5kZXJU
b3BGcmFtZU9yaWdpbihzdGF0aXN0aWNzVXJsLCB0b3BGcmFtZU9yaWdpbjEpOworICAgICAgICB0
ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NTdWJyZXNvdXJjZVVuZGVyVG9wRnJhbWVPcmlnaW4oc3Rh
dGlzdGljc1VybCwgdG9wRnJhbWVPcmlnaW4yKTsKKworICAgICAgICB0ZXN0UnVubmVyLnN0YXRp
c3RpY3NGaXJlRGF0YU1vZGlmaWNhdGlvbkhhbmRsZXIoKTsKKworICAgICAgICBpZiAodGVzdFJ1
bm5lci5pc1N0YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJjZShzdGF0aXN0aWNzVXJsKSkKKyAgICAg
ICAgICAgIHRlc3RGYWlsZWQoIkhvc3QgY2xhc3NpZmllZCBhcyBwcmV2YWxlbnQgcmVzb3VyY2Uu
Iik7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIHRlc3RQYXNzZWQoIkhvc3QgZGlkIG5vdCBn
ZXQgY2xhc3NpZmllZCBhcyBwcmV2YWxlbnQgcmVzb3VyY2UuIik7CisKKyAgICAgICAgdGVzdFJ1
bm5lci5zdGF0aXN0aWNzUmVzZXRUb0NvbnNpc3RlbnRTdGF0ZSgpOworICAgICAgICB0ZXN0UnVu
bmVyLm5vdGlmeURvbmUoKTsKKyAgICB9CisKKyAgICBpZiAoZG9jdW1lbnQubG9jYXRpb24uaG9z
dCA9PT0gaG9zdFVuZGVyVGVzdCAmJiB3aW5kb3cudGVzdFJ1bm5lciAmJiB3aW5kb3cuaW50ZXJu
YWxzKSB7CisgICAgICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOworICAgICAgICBpbnRl
cm5hbHMuc2V0UmVzb3VyY2VMb2FkU3RhdGlzdGljc0VuYWJsZWQodHJ1ZSk7CisgICAgICAgIHJ1
blRlc3RSdW5uZXJUZXN0KCk7CisgICAgfQorPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Clwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9s
b2FkaW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtbm9uLXByZXZhbGVudC1i
YXNlZC1vbi1zdWJyZXNvdXJjZS11bmlxdWUtcmVkaXJlY3RzLXRvLWV4cGVjdGVkLnR4dAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3Rh
dGlzdGljcy9jbGFzc2lmeS1hcy1ub24tcHJldmFsZW50LWJhc2VkLW9uLXN1YnJlc291cmNlLXVu
aXF1ZS1yZWRpcmVjdHMtdG8tZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKKysrIExheW91dFRl
c3RzL2h0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFz
LW5vbi1wcmV2YWxlbnQtYmFzZWQtb24tc3VicmVzb3VyY2UtdW5pcXVlLXJlZGlyZWN0cy10by1l
eHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw4IEBACittYWluIGZyYW1lIC0g
ZGlkU3RhcnRQcm92aXNpb25hbExvYWRGb3JGcmFtZQorbWFpbiBmcmFtZSAtIGRpZENvbW1pdExv
YWRGb3JGcmFtZQorbWFpbiBmcmFtZSAtIGRpZFJlY2VpdmVUaXRsZTogVGVzdHMgZm9yIENsYXNz
aWZpY2F0aW9uIEJhc2VkIG9uIFN1YnJlc291cmNlIFVuaXF1ZSBSZWRpcmVjdHMgVG8KK21haW4g
ZnJhbWUgLSBkaWRGaW5pc2hEb2N1bWVudExvYWRGb3JGcmFtZQorbWFpbiBmcmFtZSAtIGRpZEhh
bmRsZU9ubG9hZEV2ZW50c0ZvckZyYW1lCittYWluIGZyYW1lIC0gZGlkRmluaXNoTG9hZEZvckZy
YW1lCitQQVNTIEhvc3QgZGlkIG5vdCBnZXQgY2xhc3NpZmllZCBhcyBwcmV2YWxlbnQgcmVzb3Vy
Y2UuCisKSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRT
dGF0aXN0aWNzL2NsYXNzaWZ5LWFzLW5vbi1wcmV2YWxlbnQtYmFzZWQtb24tc3VicmVzb3VyY2Ut
dW5pcXVlLXJlZGlyZWN0cy10by5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAv
dGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLW5vbi1wcmV2
YWxlbnQtYmFzZWQtb24tc3VicmVzb3VyY2UtdW5pcXVlLXJlZGlyZWN0cy10by5odG1sCShub25l
eGlzdGVudCkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRT
dGF0aXN0aWNzL2NsYXNzaWZ5LWFzLW5vbi1wcmV2YWxlbnQtYmFzZWQtb24tc3VicmVzb3VyY2Ut
dW5pcXVlLXJlZGlyZWN0cy10by5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNDEgQEAK
KzwhRE9DVFlQRSBodG1sPgorPGh0bWwgbGFuZz0iZW4iPgorPGhlYWQ+CisgICAgPG1ldGEgY2hh
cnNldD0iVVRGLTgiPgorICAgIDx0aXRsZT5UZXN0cyBmb3IgQ2xhc3NpZmljYXRpb24gQmFzZWQg
b24gU3VicmVzb3VyY2UgVW5pcXVlIFJlZGlyZWN0cyBUbzwvdGl0bGU+CisgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxzY3JpcHQ+CisgICAgY29uc3QgaG9zdFVuZGVyVGVzdCA9ICIxMjcuMC4wLjE6ODAw
MCI7CisgICAgY29uc3Qgc3RhdGlzdGljc1VybCA9ICJodHRwOi8vIiArIGhvc3RVbmRlclRlc3Qg
KyAiL3RlbXAiOworICAgIGNvbnN0IHRvcEZyYW1lT3JpZ2luMSA9ICJodHRwOi8vMTI3LjAuMC4y
OjgwMDAvdGVtcCI7CisgICAgY29uc3QgdG9wRnJhbWVPcmlnaW4yID0gImh0dHA6Ly8xMjcuMC4w
LjM6ODAwMC90ZW1wIjsKKyAgICBmdW5jdGlvbiBydW5UZXN0UnVubmVyVGVzdCgpIHsKKyAgICAg
ICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2Uoc3RhdGlzdGljc1Vy
bCwgZmFsc2UpOworICAgICAgICBpZiAodGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NQcmV2YWxlbnRS
ZXNvdXJjZShzdGF0aXN0aWNzVXJsKSkKKyAgICAgICAgICAgIHRlc3RGYWlsZWQoIkhvc3QgZGlk
IG5vdCBnZXQgc2V0IGFzIG5vbi1wcmV2YWxlbnQgcmVzb3VyY2UuIik7CisKKyAgICAgICAgdGVz
dFJ1bm5lci5zZXRTdGF0aXN0aWNzU3VicmVzb3VyY2VVbmlxdWVSZWRpcmVjdFRvKHN0YXRpc3Rp
Y3NVcmwsIHRvcEZyYW1lT3JpZ2luMSk7CisgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGlj
c1N1YnJlc291cmNlVW5pcXVlUmVkaXJlY3RUbyhzdGF0aXN0aWNzVXJsLCB0b3BGcmFtZU9yaWdp
bjIpOworCisgICAgICAgIHRlc3RSdW5uZXIuc3RhdGlzdGljc0ZpcmVEYXRhTW9kaWZpY2F0aW9u
SGFuZGxlcigpOworCisgICAgICAgIGlmICh0ZXN0UnVubmVyLmlzU3RhdGlzdGljc1ByZXZhbGVu
dFJlc291cmNlKHN0YXRpc3RpY3NVcmwpKQorICAgICAgICAgICAgdGVzdEZhaWxlZCgiSG9zdCBj
bGFzc2lmaWVkIGFzIHByZXZhbGVudCByZXNvdXJjZS4iKTsKKyAgICAgICAgZWxzZQorICAgICAg
ICAgICAgdGVzdFBhc3NlZCgiSG9zdCBkaWQgbm90IGdldCBjbGFzc2lmaWVkIGFzIHByZXZhbGVu
dCByZXNvdXJjZS4iKTsKKworICAgICAgICB0ZXN0UnVubmVyLnN0YXRpc3RpY3NSZXNldFRvQ29u
c2lzdGVudFN0YXRlKCk7CisgICAgICAgIGludGVybmFscy5zZXRSZXNvdXJjZUxvYWRTdGF0aXN0
aWNzRW5hYmxlZChmYWxzZSk7CisgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOworICAg
IH0KKworICAgIGlmIChkb2N1bWVudC5sb2NhdGlvbi5ob3N0ID09PSBob3N0VW5kZXJUZXN0ICYm
IHdpbmRvdy50ZXN0UnVubmVyICYmIHdpbmRvdy5pbnRlcm5hbHMpIHsKKyAgICAgICAgdGVzdFJ1
bm5lci53YWl0VW50aWxEb25lKCk7CisgICAgICAgIGludGVybmFscy5zZXRSZXNvdXJjZUxvYWRT
dGF0aXN0aWNzRW5hYmxlZCh0cnVlKTsKKyAgICAgICAgcnVuVGVzdFJ1bm5lclRlc3QoKTsKKyAg
ICB9Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3Rh
dGlzdGljcy9jbGFzc2lmeS1hcy1wcmV2YWxlbnQtYmFzZWQtb24tbWl4ZWQtc3RhdGlzdGljcy1l
eHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9sb2FkaW5n
L3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtcHJldmFsZW50LWJhc2VkLW9uLW1p
eGVkLXN0YXRpc3RpY3MtZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKKysrIExheW91dFRlc3Rz
L2h0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLXBy
ZXZhbGVudC1iYXNlZC1vbi1taXhlZC1zdGF0aXN0aWNzLWV4cGVjdGVkLnR4dAkod29ya2luZyBj
b3B5KQpAQCAtMCwwICsxLDggQEAKK21haW4gZnJhbWUgLSBkaWRTdGFydFByb3Zpc2lvbmFsTG9h
ZEZvckZyYW1lCittYWluIGZyYW1lIC0gZGlkQ29tbWl0TG9hZEZvckZyYW1lCittYWluIGZyYW1l
IC0gZGlkUmVjZWl2ZVRpdGxlOiBUZXN0cyBmb3IgQ2xhc3NpZmljYXRpb24gQmFzZWQgb24gTWl4
ZWQgU3RhdGlzdGljcworbWFpbiBmcmFtZSAtIGRpZEZpbmlzaERvY3VtZW50TG9hZEZvckZyYW1l
CittYWluIGZyYW1lIC0gZGlkSGFuZGxlT25sb2FkRXZlbnRzRm9yRnJhbWUKK21haW4gZnJhbWUg
LSBkaWRGaW5pc2hMb2FkRm9yRnJhbWUKK1BBU1MgSG9zdCBjbGFzc2lmaWVkIGFzIHByZXZhbGVu
dCByZXNvdXJjZS4KKwpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291
cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtcHJldmFsZW50LWJhc2VkLW9uLW1peGVkLXN0
YXRpc3RpY3MuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2xvYWRp
bmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1wcmV2YWxlbnQtYmFzZWQtb24t
bWl4ZWQtc3RhdGlzdGljcy5odG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2h0dHAv
dGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLXByZXZhbGVu
dC1iYXNlZC1vbi1taXhlZC1zdGF0aXN0aWNzLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCAr
MSw1MCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbCBsYW5nPSJlbiI+Cis8aGVhZD4KKyAgICA8
bWV0YSBjaGFyc2V0PSJVVEYtOCI+CisgICAgPHRpdGxlPlRlc3RzIGZvciBDbGFzc2lmaWNhdGlv
biBCYXNlZCBvbiBNaXhlZCBTdGF0aXN0aWNzPC90aXRsZT4KKyAgICA8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHNjcmlwdD4KKyAgICBjb25zdCBob3N0VW5kZXJUZXN0ID0gIjEyNy4wLjAuMTo4MDAwIjsKKyAg
ICBjb25zdCBzdGF0aXN0aWNzVXJsID0gImh0dHA6Ly8iICsgaG9zdFVuZGVyVGVzdCArICIvdGVt
cCI7CisgICAgY29uc3QgdG9wRnJhbWVPcmlnaW4xID0gImh0dHA6Ly8xMjcuMC4wLjI6ODAwMC90
ZW1wIjsKKyAgICBjb25zdCB0b3BGcmFtZU9yaWdpbjIgPSAiaHR0cDovLzEyNy4wLjAuMzo4MDAw
L3RlbXAiOworICAgIGNvbnN0IHRvcEZyYW1lT3JpZ2luMyA9ICJodHRwOi8vMTI3LjAuMC40Ojgw
MDAvdGVtcCI7CisgICAgY29uc3QgdG9wRnJhbWVPcmlnaW40ID0gImh0dHA6Ly8xMjcuMC4wLjU6
ODAwMC90ZW1wIjsKKyAgICBmdW5jdGlvbiBydW5UZXN0UnVubmVyVGVzdCgpIHsKKyAgICAgICAg
dGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2Uoc3RhdGlzdGljc1VybCwg
ZmFsc2UpOworICAgICAgICBpZiAodGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NQcmV2YWxlbnRSZXNv
dXJjZShzdGF0aXN0aWNzVXJsKSkKKyAgICAgICAgICAgIHRlc3RGYWlsZWQoIkhvc3QgZGlkIG5v
dCBnZXQgc2V0IGFzIG5vbi1wcmV2YWxlbnQgcmVzb3VyY2UuIik7CisKKyAgICAgICAgdGVzdFJ1
bm5lci5zZXRTdGF0aXN0aWNzU3ViZnJhbWVVbmRlclRvcEZyYW1lT3JpZ2luKHN0YXRpc3RpY3NV
cmwsIHRvcEZyYW1lT3JpZ2luMSk7CisgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1N1
YmZyYW1lVW5kZXJUb3BGcmFtZU9yaWdpbihzdGF0aXN0aWNzVXJsLCB0b3BGcmFtZU9yaWdpbjQp
OworCisgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1N1YnJlc291cmNlVW5kZXJUb3BG
cmFtZU9yaWdpbihzdGF0aXN0aWNzVXJsLCB0b3BGcmFtZU9yaWdpbjIpOworICAgICAgICB0ZXN0
UnVubmVyLnNldFN0YXRpc3RpY3NTdWJyZXNvdXJjZVVuZGVyVG9wRnJhbWVPcmlnaW4oc3RhdGlz
dGljc1VybCwgdG9wRnJhbWVPcmlnaW4zKTsKKyAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0
aWNzU3VicmVzb3VyY2VVbmRlclRvcEZyYW1lT3JpZ2luKHN0YXRpc3RpY3NVcmwsIHRvcEZyYW1l
T3JpZ2luNCk7CisKKyAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzU3VicmVzb3VyY2VV
bmlxdWVSZWRpcmVjdFRvKHN0YXRpc3RpY3NVcmwsIHRvcEZyYW1lT3JpZ2luMyk7CisgICAgICAg
IHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1N1YnJlc291cmNlVW5pcXVlUmVkaXJlY3RUbyhzdGF0
aXN0aWNzVXJsLCB0b3BGcmFtZU9yaWdpbjEpOworCisgICAgICAgIHRlc3RSdW5uZXIuc3RhdGlz
dGljc0ZpcmVEYXRhTW9kaWZpY2F0aW9uSGFuZGxlcigpOworCisgICAgICAgIGlmICghdGVzdFJ1
bm5lci5pc1N0YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJjZShzdGF0aXN0aWNzVXJsKSkKKyAgICAg
ICAgICAgIHRlc3RGYWlsZWQoIkhvc3QgZGlkIG5vdCBnZXQgY2xhc3NpZmllZCBhcyBwcmV2YWxl
bnQgcmVzb3VyY2UuIik7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIHRlc3RQYXNzZWQoIkhv
c3QgY2xhc3NpZmllZCBhcyBwcmV2YWxlbnQgcmVzb3VyY2UuIik7CisKKyAgICAgICAgdGVzdFJ1
bm5lci5zdGF0aXN0aWNzUmVzZXRUb0NvbnNpc3RlbnRTdGF0ZSgpOworICAgICAgICBpbnRlcm5h
bHMuc2V0UmVzb3VyY2VMb2FkU3RhdGlzdGljc0VuYWJsZWQoZmFsc2UpOworICAgICAgICB0ZXN0
UnVubmVyLm5vdGlmeURvbmUoKTsKKyAgICB9CisKKyAgICBpZiAoZG9jdW1lbnQubG9jYXRpb24u
aG9zdCA9PT0gaG9zdFVuZGVyVGVzdCAmJiB3aW5kb3cudGVzdFJ1bm5lciAmJiB3aW5kb3cuaW50
ZXJuYWxzKSB7CisgICAgICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOworICAgICAgICBp
bnRlcm5hbHMuc2V0UmVzb3VyY2VMb2FkU3RhdGlzdGljc0VuYWJsZWQodHJ1ZSk7CisgICAgICAg
IHJ1blRlc3RSdW5uZXJUZXN0KCk7CisgICAgfQorPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtcHJldmFsZW50LWJh
c2VkLW9uLXN1Yi1mcmFtZS11bmRlci10b3AtZnJhbWUtb3JpZ2lucy1leHBlY3RlZC50eHQKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0
YXRpc3RpY3MvY2xhc3NpZnktYXMtcHJldmFsZW50LWJhc2VkLW9uLXN1Yi1mcmFtZS11bmRlci10
b3AtZnJhbWUtb3JpZ2lucy1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMt
cHJldmFsZW50LWJhc2VkLW9uLXN1Yi1mcmFtZS11bmRlci10b3AtZnJhbWUtb3JpZ2lucy1leHBl
Y3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw4IEBACittYWluIGZyYW1lIC0gZGlk
U3RhcnRQcm92aXNpb25hbExvYWRGb3JGcmFtZQorbWFpbiBmcmFtZSAtIGRpZENvbW1pdExvYWRG
b3JGcmFtZQorbWFpbiBmcmFtZSAtIGRpZFJlY2VpdmVUaXRsZTogVGVzdHMgZm9yIENsYXNzaWZp
Y2F0aW9uIEJhc2VkIG9uIFN1YiBGcmFtZSBVbmRlciBUb3AgRnJhbWUgT3JpZ2lucworbWFpbiBm
cmFtZSAtIGRpZEZpbmlzaERvY3VtZW50TG9hZEZvckZyYW1lCittYWluIGZyYW1lIC0gZGlkSGFu
ZGxlT25sb2FkRXZlbnRzRm9yRnJhbWUKK21haW4gZnJhbWUgLSBkaWRGaW5pc2hMb2FkRm9yRnJh
bWUKK1BBU1MgSG9zdCBjbGFzc2lmaWVkIGFzIHByZXZhbGVudCByZXNvdXJjZS4KKwpJbmRleDog
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xh
c3NpZnktYXMtcHJldmFsZW50LWJhc2VkLW9uLXN1Yi1mcmFtZS11bmRlci10b3AtZnJhbWUtb3Jp
Z2lucy5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvbG9hZGluZy9y
ZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLXByZXZhbGVudC1iYXNlZC1vbi1zdWIt
ZnJhbWUtdW5kZXItdG9wLWZyYW1lLW9yaWdpbnMuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lm
eS1hcy1wcmV2YWxlbnQtYmFzZWQtb24tc3ViLWZyYW1lLXVuZGVyLXRvcC1mcmFtZS1vcmlnaW5z
Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw0NSBAQAorPCFET0NUWVBFIGh0bWw+Cis8
aHRtbCBsYW5nPSJlbiI+Cis8aGVhZD4KKyAgICA8bWV0YSBjaGFyc2V0PSJVVEYtOCI+CisgICAg
PHRpdGxlPlRlc3RzIGZvciBDbGFzc2lmaWNhdGlvbiBCYXNlZCBvbiBTdWIgRnJhbWUgVW5kZXIg
VG9wIEZyYW1lIE9yaWdpbnM8L3RpdGxlPgorICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0Pgor
ICAgIGNvbnN0IGhvc3RVbmRlclRlc3QgPSAiMTI3LjAuMC4xOjgwMDAiOworICAgIGNvbnN0IHN0
YXRpc3RpY3NVcmwgPSAiaHR0cDovLyIgKyBob3N0VW5kZXJUZXN0ICsgIi90ZW1wIjsKKyAgICBj
b25zdCB0b3BGcmFtZU9yaWdpbjEgPSAiaHR0cDovLzEyNy4wLjAuMjo4MDAwL3RlbXAiOworICAg
IGNvbnN0IHRvcEZyYW1lT3JpZ2luMiA9ICJodHRwOi8vMTI3LjAuMC4zOjgwMDAvdGVtcCI7Cisg
ICAgY29uc3QgdG9wRnJhbWVPcmlnaW4zID0gImh0dHA6Ly8xMjcuMC4wLjQ6ODAwMC90ZW1wIjsK
KyAgICBjb25zdCB0b3BGcmFtZU9yaWdpbjQgPSAiaHR0cDovLzEyNy4wLjAuNTo4MDAwL3RlbXAi
OworICAgIGZ1bmN0aW9uIHJ1blRlc3RSdW5uZXJUZXN0KCkgeworICAgICAgICB0ZXN0UnVubmVy
LnNldFN0YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJjZShzdGF0aXN0aWNzVXJsLCBmYWxzZSk7Cisg
ICAgICAgIGlmICh0ZXN0UnVubmVyLmlzU3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNlKHN0YXRp
c3RpY3NVcmwpKQorICAgICAgICAgICAgdGVzdEZhaWxlZCgiSG9zdCBkaWQgbm90IGdldCBzZXQg
YXMgbm9uLXByZXZhbGVudCByZXNvdXJjZS4iKTsKKworICAgICAgICB0ZXN0UnVubmVyLnNldFN0
YXRpc3RpY3NTdWJmcmFtZVVuZGVyVG9wRnJhbWVPcmlnaW4oc3RhdGlzdGljc1VybCwgdG9wRnJh
bWVPcmlnaW4xKTsKKyAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzU3ViZnJhbWVVbmRl
clRvcEZyYW1lT3JpZ2luKHN0YXRpc3RpY3NVcmwsIHRvcEZyYW1lT3JpZ2luMik7CisgICAgICAg
IHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1N1YmZyYW1lVW5kZXJUb3BGcmFtZU9yaWdpbihzdGF0
aXN0aWNzVXJsLCB0b3BGcmFtZU9yaWdpbjMpOworICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRp
c3RpY3NTdWJmcmFtZVVuZGVyVG9wRnJhbWVPcmlnaW4oc3RhdGlzdGljc1VybCwgdG9wRnJhbWVP
cmlnaW40KTsKKworICAgICAgICB0ZXN0UnVubmVyLnN0YXRpc3RpY3NGaXJlRGF0YU1vZGlmaWNh
dGlvbkhhbmRsZXIoKTsKKworICAgICAgICBpZiAoIXRlc3RSdW5uZXIuaXNTdGF0aXN0aWNzUHJl
dmFsZW50UmVzb3VyY2Uoc3RhdGlzdGljc1VybCkpCisgICAgICAgICAgICB0ZXN0RmFpbGVkKCJI
b3N0IGRpZCBub3QgZ2V0IGNsYXNzaWZpZWQgYXMgcHJldmFsZW50IHJlc291cmNlLiIpOworICAg
ICAgICBlbHNlCisgICAgICAgICAgICB0ZXN0UGFzc2VkKCJIb3N0IGNsYXNzaWZpZWQgYXMgcHJl
dmFsZW50IHJlc291cmNlLiIpOworCisgICAgICAgIHRlc3RSdW5uZXIuc3RhdGlzdGljc1Jlc2V0
VG9Db25zaXN0ZW50U3RhdGUoKTsKKyAgICAgICAgaW50ZXJuYWxzLnNldFJlc291cmNlTG9hZFN0
YXRpc3RpY3NFbmFibGVkKGZhbHNlKTsKKyAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7
CisgICAgfQorCisgICAgaWYgKGRvY3VtZW50LmxvY2F0aW9uLmhvc3QgPT09IGhvc3RVbmRlclRl
c3QgJiYgd2luZG93LnRlc3RSdW5uZXIgJiYgd2luZG93LmludGVybmFscykgeworICAgICAgICB0
ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKKyAgICAgICAgaW50ZXJuYWxzLnNldFJlc291cmNl
TG9hZFN0YXRpc3RpY3NFbmFibGVkKHRydWUpOworICAgICAgICBydW5UZXN0UnVubmVyVGVzdCgp
OworICAgIH0KKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxv
YWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLXByZXZhbGVudC1iYXNlZC1vbi1zdWJyZXNvdXJjZS11
bmRlci10b3AtZnJhbWUtb3JpZ2lucy1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnkt
YXMtcHJldmFsZW50LWJhc2VkLW9uLXN1YnJlc291cmNlLXVuZGVyLXRvcC1mcmFtZS1vcmlnaW5z
LWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2xv
YWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1wcmV2YWxlbnQtYmFzZWQt
b24tc3VicmVzb3VyY2UtdW5kZXItdG9wLWZyYW1lLW9yaWdpbnMtZXhwZWN0ZWQudHh0CSh3b3Jr
aW5nIGNvcHkpCkBAIC0wLDAgKzEsOCBAQAorbWFpbiBmcmFtZSAtIGRpZFN0YXJ0UHJvdmlzaW9u
YWxMb2FkRm9yRnJhbWUKK21haW4gZnJhbWUgLSBkaWRDb21taXRMb2FkRm9yRnJhbWUKK21haW4g
ZnJhbWUgLSBkaWRSZWNlaXZlVGl0bGU6IFRlc3RzIGZvciBDbGFzc2lmaWNhdGlvbiBCYXNlZCBv
biBTdWJyZXNvdXJjZSBVbmRlciBUb3AgRnJhbWUgT3JpZ2lucworbWFpbiBmcmFtZSAtIGRpZEZp
bmlzaERvY3VtZW50TG9hZEZvckZyYW1lCittYWluIGZyYW1lIC0gZGlkSGFuZGxlT25sb2FkRXZl
bnRzRm9yRnJhbWUKK21haW4gZnJhbWUgLSBkaWRGaW5pc2hMb2FkRm9yRnJhbWUKK1BBU1MgSG9z
dCBjbGFzc2lmaWVkIGFzIHByZXZhbGVudCByZXNvdXJjZS4KKwpJbmRleDogTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtcHJl
dmFsZW50LWJhc2VkLW9uLXN1YnJlc291cmNlLXVuZGVyLXRvcC1mcmFtZS1vcmlnaW5zLmh0bWwK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9h
ZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtcHJldmFsZW50LWJhc2VkLW9uLXN1YnJlc291cmNlLXVu
ZGVyLXRvcC1mcmFtZS1vcmlnaW5zLmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtcHJl
dmFsZW50LWJhc2VkLW9uLXN1YnJlc291cmNlLXVuZGVyLXRvcC1mcmFtZS1vcmlnaW5zLmh0bWwJ
KHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw0NSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbCBs
YW5nPSJlbiI+Cis8aGVhZD4KKyAgICA8bWV0YSBjaGFyc2V0PSJVVEYtOCI+CisgICAgPHRpdGxl
PlRlc3RzIGZvciBDbGFzc2lmaWNhdGlvbiBCYXNlZCBvbiBTdWJyZXNvdXJjZSBVbmRlciBUb3Ag
RnJhbWUgT3JpZ2luczwvdGl0bGU+CisgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQ+CisgICAg
Y29uc3QgaG9zdFVuZGVyVGVzdCA9ICIxMjcuMC4wLjE6ODAwMCI7CisgICAgY29uc3Qgc3RhdGlz
dGljc1VybCA9ICJodHRwOi8vIiArIGhvc3RVbmRlclRlc3QgKyAiL3RlbXAiOworICAgIGNvbnN0
IHRvcEZyYW1lT3JpZ2luMSA9ICJodHRwOi8vMTI3LjAuMC4yOjgwMDAvdGVtcCI7CisgICAgY29u
c3QgdG9wRnJhbWVPcmlnaW4yID0gImh0dHA6Ly8xMjcuMC4wLjM6ODAwMC90ZW1wIjsKKyAgICBj
b25zdCB0b3BGcmFtZU9yaWdpbjMgPSAiaHR0cDovLzEyNy4wLjAuNDo4MDAwL3RlbXAiOworICAg
IGNvbnN0IHRvcEZyYW1lT3JpZ2luNCA9ICJodHRwOi8vMTI3LjAuMC41OjgwMDAvdGVtcCI7Cisg
ICAgZnVuY3Rpb24gcnVuVGVzdFJ1bm5lclRlc3QoKSB7CisgICAgICAgIHRlc3RSdW5uZXIuc2V0
U3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNlKHN0YXRpc3RpY3NVcmwsIGZhbHNlKTsKKyAgICAg
ICAgaWYgKHRlc3RSdW5uZXIuaXNTdGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2Uoc3RhdGlzdGlj
c1VybCkpCisgICAgICAgICAgICB0ZXN0RmFpbGVkKCJIb3N0IGRpZCBub3QgZ2V0IHNldCBhcyBu
b24tcHJldmFsZW50IHJlc291cmNlLiIpOworCisgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlz
dGljc1N1YnJlc291cmNlVW5kZXJUb3BGcmFtZU9yaWdpbihzdGF0aXN0aWNzVXJsLCB0b3BGcmFt
ZU9yaWdpbjEpOworICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NTdWJyZXNvdXJjZVVu
ZGVyVG9wRnJhbWVPcmlnaW4oc3RhdGlzdGljc1VybCwgdG9wRnJhbWVPcmlnaW4yKTsKKyAgICAg
ICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzU3VicmVzb3VyY2VVbmRlclRvcEZyYW1lT3JpZ2lu
KHN0YXRpc3RpY3NVcmwsIHRvcEZyYW1lT3JpZ2luMyk7CisgICAgICAgIHRlc3RSdW5uZXIuc2V0
U3RhdGlzdGljc1N1YnJlc291cmNlVW5kZXJUb3BGcmFtZU9yaWdpbihzdGF0aXN0aWNzVXJsLCB0
b3BGcmFtZU9yaWdpbjQpOworCisgICAgICAgIHRlc3RSdW5uZXIuc3RhdGlzdGljc0ZpcmVEYXRh
TW9kaWZpY2F0aW9uSGFuZGxlcigpOworCisgICAgICAgIGlmICghdGVzdFJ1bm5lci5pc1N0YXRp
c3RpY3NQcmV2YWxlbnRSZXNvdXJjZShzdGF0aXN0aWNzVXJsKSkKKyAgICAgICAgICAgIHRlc3RG
YWlsZWQoIkhvc3QgZGlkIG5vdCBnZXQgY2xhc3NpZmllZCBhcyBwcmV2YWxlbnQgcmVzb3VyY2Uu
Iik7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIHRlc3RQYXNzZWQoIkhvc3QgY2xhc3NpZmll
ZCBhcyBwcmV2YWxlbnQgcmVzb3VyY2UuIik7CisKKyAgICAgICAgdGVzdFJ1bm5lci5zdGF0aXN0
aWNzUmVzZXRUb0NvbnNpc3RlbnRTdGF0ZSgpOworICAgICAgICBpbnRlcm5hbHMuc2V0UmVzb3Vy
Y2VMb2FkU3RhdGlzdGljc0VuYWJsZWQoZmFsc2UpOworICAgICAgICB0ZXN0UnVubmVyLm5vdGlm
eURvbmUoKTsKKyAgICB9CisKKyAgICBpZiAoZG9jdW1lbnQubG9jYXRpb24uaG9zdCA9PT0gaG9z
dFVuZGVyVGVzdCAmJiB3aW5kb3cudGVzdFJ1bm5lciAmJiB3aW5kb3cuaW50ZXJuYWxzKSB7Cisg
ICAgICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOworICAgICAgICBpbnRlcm5hbHMuc2V0
UmVzb3VyY2VMb2FkU3RhdGlzdGljc0VuYWJsZWQodHJ1ZSk7CisgICAgICAgIHJ1blRlc3RSdW5u
ZXJUZXN0KCk7CisgICAgfQorPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgZmlsZQpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9sb2FkaW5nL3Jl
c291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtcHJldmFsZW50LWJhc2VkLW9uLXN1YnJl
c291cmNlLXVuaXF1ZS1yZWRpcmVjdHMtdG8tZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL2h0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNz
aWZ5LWFzLXByZXZhbGVudC1iYXNlZC1vbi1zdWJyZXNvdXJjZS11bmlxdWUtcmVkaXJlY3RzLXRv
LWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2xv
YWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1wcmV2YWxlbnQtYmFzZWQt
b24tc3VicmVzb3VyY2UtdW5pcXVlLXJlZGlyZWN0cy10by1leHBlY3RlZC50eHQJKHdvcmtpbmcg
Y29weSkKQEAgLTAsMCArMSw4IEBACittYWluIGZyYW1lIC0gZGlkU3RhcnRQcm92aXNpb25hbExv
YWRGb3JGcmFtZQorbWFpbiBmcmFtZSAtIGRpZENvbW1pdExvYWRGb3JGcmFtZQorbWFpbiBmcmFt
ZSAtIGRpZFJlY2VpdmVUaXRsZTogVGVzdHMgZm9yIENsYXNzaWZpY2F0aW9uIEJhc2VkIG9uIFN1
YnJlc291cmNlIFVuaXF1ZSBSZWRpcmVjdHMgVG8KK21haW4gZnJhbWUgLSBkaWRGaW5pc2hEb2N1
bWVudExvYWRGb3JGcmFtZQorbWFpbiBmcmFtZSAtIGRpZEhhbmRsZU9ubG9hZEV2ZW50c0ZvckZy
YW1lCittYWluIGZyYW1lIC0gZGlkRmluaXNoTG9hZEZvckZyYW1lCitQQVNTIEhvc3QgY2xhc3Np
ZmllZCBhcyBwcmV2YWxlbnQgcmVzb3VyY2UuCisKSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVz
dHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLXByZXZhbGVudC1i
YXNlZC1vbi1zdWJyZXNvdXJjZS11bmlxdWUtcmVkaXJlY3RzLXRvLmh0bWwKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mv
Y2xhc3NpZnktYXMtcHJldmFsZW50LWJhc2VkLW9uLXN1YnJlc291cmNlLXVuaXF1ZS1yZWRpcmVj
dHMtdG8uaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2xvYWRp
bmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1wcmV2YWxlbnQtYmFzZWQtb24t
c3VicmVzb3VyY2UtdW5pcXVlLXJlZGlyZWN0cy10by5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0w
LDAgKzEsNDUgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWwgbGFuZz0iZW4iPgorPGhlYWQ+Cisg
ICAgPG1ldGEgY2hhcnNldD0iVVRGLTgiPgorICAgIDx0aXRsZT5UZXN0cyBmb3IgQ2xhc3NpZmlj
YXRpb24gQmFzZWQgb24gU3VicmVzb3VyY2UgVW5pcXVlIFJlZGlyZWN0cyBUbzwvdGl0bGU+Cisg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQ+CisgICAgY29uc3QgaG9zdFVuZGVyVGVzdCA9ICIx
MjcuMC4wLjE6ODAwMCI7CisgICAgY29uc3Qgc3RhdGlzdGljc1VybCA9ICJodHRwOi8vIiArIGhv
c3RVbmRlclRlc3QgKyAiL3RlbXAiOworICAgIGNvbnN0IHRvcEZyYW1lT3JpZ2luMSA9ICJodHRw
Oi8vMTI3LjAuMC4yOjgwMDAvdGVtcCI7CisgICAgY29uc3QgdG9wRnJhbWVPcmlnaW4yID0gImh0
dHA6Ly8xMjcuMC4wLjM6ODAwMC90ZW1wIjsKKyAgICBjb25zdCB0b3BGcmFtZU9yaWdpbjMgPSAi
aHR0cDovLzEyNy4wLjAuNDo4MDAwL3RlbXAiOworICAgIGNvbnN0IHRvcEZyYW1lT3JpZ2luNCA9
ICJodHRwOi8vMTI3LjAuMC41OjgwMDAvdGVtcCI7CisgICAgZnVuY3Rpb24gcnVuVGVzdFJ1bm5l
clRlc3QoKSB7CisgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1ByZXZhbGVudFJlc291
cmNlKHN0YXRpc3RpY3NVcmwsIGZhbHNlKTsKKyAgICAgICAgaWYgKHRlc3RSdW5uZXIuaXNTdGF0
aXN0aWNzUHJldmFsZW50UmVzb3VyY2Uoc3RhdGlzdGljc1VybCkpCisgICAgICAgICAgICB0ZXN0
RmFpbGVkKCJIb3N0IGRpZCBub3QgZ2V0IHNldCBhcyBub24tcHJldmFsZW50IHJlc291cmNlLiIp
OworCisgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1N1YnJlc291cmNlVW5pcXVlUmVk
aXJlY3RUbyhzdGF0aXN0aWNzVXJsLCB0b3BGcmFtZU9yaWdpbjEpOworICAgICAgICB0ZXN0UnVu
bmVyLnNldFN0YXRpc3RpY3NTdWJyZXNvdXJjZVVuaXF1ZVJlZGlyZWN0VG8oc3RhdGlzdGljc1Vy
bCwgdG9wRnJhbWVPcmlnaW4yKTsKKyAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzU3Vi
cmVzb3VyY2VVbmlxdWVSZWRpcmVjdFRvKHN0YXRpc3RpY3NVcmwsIHRvcEZyYW1lT3JpZ2luMyk7
CisgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1N1YnJlc291cmNlVW5pcXVlUmVkaXJl
Y3RUbyhzdGF0aXN0aWNzVXJsLCB0b3BGcmFtZU9yaWdpbjQpOworCisgICAgICAgIHRlc3RSdW5u
ZXIuc3RhdGlzdGljc0ZpcmVEYXRhTW9kaWZpY2F0aW9uSGFuZGxlcigpOworCisgICAgICAgIGlm
ICghdGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJjZShzdGF0aXN0aWNzVXJs
KSkKKyAgICAgICAgICAgIHRlc3RGYWlsZWQoIkhvc3QgZGlkIG5vdCBnZXQgY2xhc3NpZmllZCBh
cyBwcmV2YWxlbnQgcmVzb3VyY2UuIik7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIHRlc3RQ
YXNzZWQoIkhvc3QgY2xhc3NpZmllZCBhcyBwcmV2YWxlbnQgcmVzb3VyY2UuIik7CisKKyAgICAg
ICAgdGVzdFJ1bm5lci5zdGF0aXN0aWNzUmVzZXRUb0NvbnNpc3RlbnRTdGF0ZSgpOworICAgICAg
ICBpbnRlcm5hbHMuc2V0UmVzb3VyY2VMb2FkU3RhdGlzdGljc0VuYWJsZWQoZmFsc2UpOworICAg
ICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKKyAgICB9CisKKyAgICBpZiAoZG9jdW1lbnQu
bG9jYXRpb24uaG9zdCA9PT0gaG9zdFVuZGVyVGVzdCAmJiB3aW5kb3cudGVzdFJ1bm5lciAmJiB3
aW5kb3cuaW50ZXJuYWxzKSB7CisgICAgICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwor
ICAgICAgICBpbnRlcm5hbHMuc2V0UmVzb3VyY2VMb2FkU3RhdGlzdGljc0VuYWJsZWQodHJ1ZSk7
CisgICAgICAgIHJ1blRlc3RSdW5uZXJUZXN0KCk7CisgICAgfQorPC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VM
b2FkU3RhdGlzdGljcy9ub24tcHJldmFsZW50LXJlc291cmNlLXdpdGgtdXNlci1pbnRlcmFjdGlv
bi5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvbG9hZGluZy9yZXNv
dXJjZUxvYWRTdGF0aXN0aWNzL25vbi1wcmV2YWxlbnQtcmVzb3VyY2Utd2l0aC11c2VyLWludGVy
YWN0aW9uLmh0bWwJKHJldmlzaW9uIDIxMjkzMikKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMv
bG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL25vbi1wcmV2YWxlbnQtcmVzb3VyY2Utd2l0
aC11c2VyLWludGVyYWN0aW9uLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTM4LDYgKzM4LDcgQEAK
ICAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKCJDb29raWUgZGVs
ZXRlZCBvciBkb2N1bWVudC5jb29raWUgY29udGFpbnMgb3RoZXIgY29va2llczogIiArIGRvY3Vt
ZW50LmNvb2tpZSk7CiAgICAgICAgICAgICB0ZXN0UnVubmVyLnN0YXRpc3RpY3NSZXNldFRvQ29u
c2lzdGVudFN0YXRlKCk7CisgICAgICAgICAgICBpbnRlcm5hbHMuc2V0UmVzb3VyY2VMb2FkU3Rh
dGlzdGljc0VuYWJsZWQoZmFsc2UpOwogICAgICAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25l
KCk7CiAgICAgICAgIH0pOwogICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NTaG91bGRD
bGFzc2lmeVJlc291cmNlc0JlZm9yZURhdGFSZWNvcmRzUmVtb3ZhbChmYWxzZSk7CkluZGV4OiBM
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9ub24t
cHJldmFsZW50LXJlc291cmNlLXdpdGhvdXQtdXNlci1pbnRlcmFjdGlvbi5odG1sCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0
aWNzL25vbi1wcmV2YWxlbnQtcmVzb3VyY2Utd2l0aG91dC11c2VyLWludGVyYWN0aW9uLmh0bWwJ
KHJldmlzaW9uIDIxMjkzMikKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvbG9hZGluZy9yZXNv
dXJjZUxvYWRTdGF0aXN0aWNzL25vbi1wcmV2YWxlbnQtcmVzb3VyY2Utd2l0aG91dC11c2VyLWlu
dGVyYWN0aW9uLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTM4LDYgKzM4LDcgQEAKICAgICAgICAg
ICAgIGVsc2UKICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKCJDb29raWUgZGVsZXRlZCBvciBk
b2N1bWVudC5jb29raWUgY29udGFpbnMgb3RoZXIgY29va2llczogIiArIGRvY3VtZW50LmNvb2tp
ZSk7CiAgICAgICAgICAgICB0ZXN0UnVubmVyLnN0YXRpc3RpY3NSZXNldFRvQ29uc2lzdGVudFN0
YXRlKCk7CisgICAgICAgICAgICBpbnRlcm5hbHMuc2V0UmVzb3VyY2VMb2FkU3RhdGlzdGljc0Vu
YWJsZWQoZmFsc2UpOwogICAgICAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7CiAgICAg
ICAgIH0pOwogICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NTaG91bGRDbGFzc2lmeVJl
c291cmNlc0JlZm9yZURhdGFSZWNvcmRzUmVtb3ZhbChmYWxzZSk7CkluZGV4OiBMYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9wcmV2YWxlbnQtcmVz
b3VyY2Utd2l0aC11c2VyLWludGVyYWN0aW9uLXRpbWVvdXQuaHRtbAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9wcmV2
YWxlbnQtcmVzb3VyY2Utd2l0aC11c2VyLWludGVyYWN0aW9uLXRpbWVvdXQuaHRtbAkocmV2aXNp
b24gMjEyOTMyKQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9h
ZFN0YXRpc3RpY3MvcHJldmFsZW50LXJlc291cmNlLXdpdGgtdXNlci1pbnRlcmFjdGlvbi10aW1l
b3V0Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTMxLDYgKzMxLDcgQEAKICAgICAgICAgICAgIGVs
c2UKICAgICAgICAgICAgICAgICB0ZXN0UGFzc2VkKCJDb29raWUgZGVsZXRlZC4iKTsKICAgICAg
ICAgICAgIHRlc3RSdW5uZXIuc3RhdGlzdGljc1Jlc2V0VG9Db25zaXN0ZW50U3RhdGUoKTsKKyAg
ICAgICAgICAgIGludGVybmFscy5zZXRSZXNvdXJjZUxvYWRTdGF0aXN0aWNzRW5hYmxlZChmYWxz
ZSk7CiAgICAgICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKICAgICAgICAgfSk7CiAg
ICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1Nob3VsZENsYXNzaWZ5UmVzb3VyY2VzQmVm
b3JlRGF0YVJlY29yZHNSZW1vdmFsKGZhbHNlKTsKSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVz
dHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3ByZXZhbGVudC1yZXNvdXJjZS13aXRo
LXVzZXItaW50ZXJhY3Rpb24uaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9wcmV2YWxlbnQtcmVzb3VyY2Utd2l0
aC11c2VyLWludGVyYWN0aW9uLmh0bWwJKHJldmlzaW9uIDIxMjkzMikKKysrIExheW91dFRlc3Rz
L2h0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3ByZXZhbGVudC1yZXNv
dXJjZS13aXRoLXVzZXItaW50ZXJhY3Rpb24uaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMzgsNiAr
MzgsNyBAQAogICAgICAgICAgICAgZWxzZQogICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoIkNv
b2tpZSBkZWxldGVkIG9yIGRvY3VtZW50LmNvb2tpZSBjb250YWlucyBvdGhlciBjb29raWVzOiAi
ICsgZG9jdW1lbnQuY29va2llKTsKICAgICAgICAgICAgIHRlc3RSdW5uZXIuc3RhdGlzdGljc1Jl
c2V0VG9Db25zaXN0ZW50U3RhdGUoKTsKKyAgICAgICAgICAgIGludGVybmFscy5zZXRSZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzRW5hYmxlZChmYWxzZSk7CiAgICAgICAgICAgICB0ZXN0UnVubmVyLm5v
dGlmeURvbmUoKTsKICAgICAgICAgfSk7CiAgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGlj
c1Nob3VsZENsYXNzaWZ5UmVzb3VyY2VzQmVmb3JlRGF0YVJlY29yZHNSZW1vdmFsKGZhbHNlKTsK
SW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0
aWNzL3ByZXZhbGVudC1yZXNvdXJjZS13aXRob3V0LXVzZXItaW50ZXJhY3Rpb24uaHRtbAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3Rh
dGlzdGljcy9wcmV2YWxlbnQtcmVzb3VyY2Utd2l0aG91dC11c2VyLWludGVyYWN0aW9uLmh0bWwJ
KHJldmlzaW9uIDIxMjkzMikKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvbG9hZGluZy9yZXNv
dXJjZUxvYWRTdGF0aXN0aWNzL3ByZXZhbGVudC1yZXNvdXJjZS13aXRob3V0LXVzZXItaW50ZXJh
Y3Rpb24uaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMzEsNiArMzEsNyBAQAogICAgICAgICAgICAg
ZWxzZQogICAgICAgICAgICAgICAgIHRlc3RQYXNzZWQoIkNvb2tpZSBkZWxldGVkLiIpOwogICAg
ICAgICAgICAgdGVzdFJ1bm5lci5zdGF0aXN0aWNzUmVzZXRUb0NvbnNpc3RlbnRTdGF0ZSgpOwor
ICAgICAgICAgICAgaW50ZXJuYWxzLnNldFJlc291cmNlTG9hZFN0YXRpc3RpY3NFbmFibGVkKGZh
bHNlKTsKICAgICAgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwogICAgICAgICB9KTsK
ICAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzU2hvdWxkQ2xhc3NpZnlSZXNvdXJjZXNC
ZWZvcmVEYXRhUmVjb3Jkc1JlbW92YWwoZmFsc2UpOwpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZv
cm0vZ3RrL1Rlc3RFeHBlY3RhdGlvbnMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZv
cm0vZ3RrL1Rlc3RFeHBlY3RhdGlvbnMJKHJldmlzaW9uIDIxMjkzMikKKysrIExheW91dFRlc3Rz
L3BsYXRmb3JtL2d0ay9UZXN0RXhwZWN0YXRpb25zCSh3b3JraW5nIGNvcHkpCkBAIC05NDksMTEg
Kzk0OSw3IEBAIHdlYmtpdC5vcmcvYi8xMzE1NDYgbWVkaWEvdHJhY2svdHJhY2staW4KIAogd2Vi
a2l0Lm9yZy9iLzE2Mzc4MiBtZWRpYS92aWRlby1wbGF5ZWQtcmFuZ2VzLTEuaHRtbCBbIENyYXNo
IFBhc3MgXQogCi13ZWJraXQub3JnL2IvMTY4MTcxIGh0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzL25vbi1wcmV2YWxlbnQtcmVzb3VyY2Utd2l0aC11c2VyLWludGVyYWN0
aW9uLmh0bWwgWyBDcmFzaCBdCi13ZWJraXQub3JnL2IvMTY4MTcxIGh0dHAvdGVzdHMvbG9hZGlu
Zy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL25vbi1wcmV2YWxlbnQtcmVzb3VyY2Utd2l0aG91dC11
c2VyLWludGVyYWN0aW9uLmh0bWwgWyBDcmFzaCBdCi13ZWJraXQub3JnL2IvMTY4MTcxIGh0dHAv
dGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3ByZXZhbGVudC1yZXNvdXJjZS13
aXRoLXVzZXItaW50ZXJhY3Rpb24tdGltZW91dC5odG1sIFsgQ3Jhc2ggXQotd2Via2l0Lm9yZy9i
LzE2ODE3MSBodHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9wcmV2YWxl
bnQtcmVzb3VyY2Utd2l0aC11c2VyLWludGVyYWN0aW9uLmh0bWwgWyBDcmFzaCBdCi13ZWJraXQu
b3JnL2IvMTY4MTcxIGh0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3By
ZXZhbGVudC1yZXNvdXJjZS13aXRob3V0LXVzZXItaW50ZXJhY3Rpb24uaHRtbCBbIENyYXNoIF0K
K3dlYmtpdC5vcmcvYi8xNjgxNzEgaHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0YXRp
c3RpY3MgWyBDcmFzaCBdCiAKIHdlYmtpdC5vcmcvYi8xNjc1NzYgaW1wb3J0ZWQvdzNjL0luZGV4
ZWREQi1wcml2YXRlLWJyb3dzaW5nL2lkYmN1cnNvcl9pdGVyYXRpbmcuaHRtbCBbIENyYXNoIF0K
IHdlYmtpdC5vcmcvYi8xNjc1NzYgaW1wb3J0ZWQvdzNjL0luZGV4ZWREQi1wcml2YXRlLWJyb3dz
aW5nL2lkYmN1cnNvcl9pdGVyYXRpbmdfaW5kZXguaHRtbCBbIENyYXNoIF0KSW5kZXg6IExheW91
dFRlc3RzL3BsYXRmb3JtL3drMi9UZXN0RXhwZWN0YXRpb25zCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL3BsYXRmb3JtL3drMi9UZXN0RXhwZWN0YXRpb25zCShyZXZpc2lvbiAyMTI5MzIpCisr
KyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS93azIvVGVzdEV4cGVjdGF0aW9ucwkod29ya2luZyBjb3B5
KQpAQCAtNzA1LDYgKzcwNSwxNCBAQCBodHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3Rh
dGlzdGljCiBodHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9ub24tcHJl
dmFsZW50LXJlc291cmNlLXdpdGhvdXQtdXNlci1pbnRlcmFjdGlvbi5odG1sIFsgUGFzcyBUaW1l
b3V0IF0KIGh0dHAvdGVzdHMvbG9hZGluZy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3ByZXZhbGVu
dC1yZXNvdXJjZS13aXRob3V0LXVzZXItaW50ZXJhY3Rpb24uaHRtbCBbIFBhc3MgVGltZW91dCBd
CiBodHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9wcmV2YWxlbnQtcmVz
b3VyY2Utd2l0aC11c2VyLWludGVyYWN0aW9uLXRpbWVvdXQuaHRtbCBbIFBhc3MgVGltZW91dCBd
CitodHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1u
b24tcHJldmFsZW50LWJhc2VkLW9uLW1peGVkLXN0YXRpc3RpY3MuaHRtbCBbIFBhc3MgXQoraHR0
cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtbm9uLXBy
ZXZhbGVudC1iYXNlZC1vbi1zdWItZnJhbWUtdW5kZXItdG9wLWZyYW1lLW9yaWdpbnMuaHRtbCBb
IFBhc3MgXQoraHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3Np
ZnktYXMtbm9uLXByZXZhbGVudC1iYXNlZC1vbi1zdWJyZXNvdXJjZS11bmRlci10b3AtZnJhbWUt
b3JpZ2lucy5odG1sIFsgUGFzcyBdCitodHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3VyY2VMb2FkU3Rh
dGlzdGljcy9jbGFzc2lmeS1hcy1ub24tcHJldmFsZW50LWJhc2VkLW9uLXN1YnJlc291cmNlLXVu
aXF1ZS1yZWRpcmVjdHMtdG8uaHRtbCBbIFBhc3MgXQoraHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291
cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtcHJldmFsZW50LWJhc2VkLW9uLW1peGVkLXN0
YXRpc3RpY3MuaHRtbCBbIFBhc3MgXQoraHR0cC90ZXN0cy9sb2FkaW5nL3Jlc291cmNlTG9hZFN0
YXRpc3RpY3MvY2xhc3NpZnktYXMtcHJldmFsZW50LWJhc2VkLW9uLXN1Yi1mcmFtZS11bmRlci10
b3AtZnJhbWUtb3JpZ2lucy5odG1sIFsgUGFzcyBdCitodHRwL3Rlc3RzL2xvYWRpbmcvcmVzb3Vy
Y2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1wcmV2YWxlbnQtYmFzZWQtb24tc3VicmVzb3Vy
Y2UtdW5kZXItdG9wLWZyYW1lLW9yaWdpbnMuaHRtbCBbIFBhc3MgXQoraHR0cC90ZXN0cy9sb2Fk
aW5nL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtcHJldmFsZW50LWJhc2VkLW9u
LXN1YnJlc291cmNlLXVuaXF1ZS1yZWRpcmVjdHMtdG8uaHRtbCBbIFBhc3MgXQogCiAjIyMgRU5E
IE9GICg1KSBQcm9ncmVzc2lvbnMsIGV4cGVjdGVkIHN1Y2Nlc3NlcyB0aGF0IGFyZSBleHBlY3Rl
ZCBmYWlsdXJlcyBpbiBXZWJLaXQxLgogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>