<?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>155508</bug_id>
          
          <creation_ts>2016-03-15 13:26:09 -0700</creation_ts>
          <short_desc>Remove compile time define for SEPARATED_HEAP</short_desc>
          <delta_ts>2016-04-13 23:33:44 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>155537</dependson>
    
    <dependson>155555</dependson>
    
    <dependson>156505</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Oliver Hunt">oliver</reporter>
          <assigned_to name="Oliver Hunt">oliver</assigned_to>
          <cc>achristensen</cc>
    
    <cc>benjamin</cc>
    
    <cc>cdumez</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>commit-queue</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>ossy</cc>
    
    <cc>rniwa</cc>
    
    <cc>ryanhaddad</cc>
    
    <cc>saam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1175075</commentid>
    <comment_count>0</comment_count>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2016-03-15 13:26:09 -0700</bug_when>
    <thetext>Remove compile time define for SEPARATED_HEAP</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1175076</commentid>
    <comment_count>1</comment_count>
      <attachid>274119</attachid>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2016-03-15 13:28:25 -0700</bug_when>
    <thetext>Created attachment 274119
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1175092</commentid>
    <comment_count>2</comment_count>
      <attachid>274119</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2016-03-15 13:54:25 -0700</bug_when>
    <thetext>Comment on attachment 274119
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1175093</commentid>
    <comment_count>3</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2016-03-15 13:55:14 -0700</bug_when>
    <thetext>The efl EWS is not happy.  Can you fix the efl build failure before landing?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1175146</commentid>
    <comment_count>4</comment_count>
      <attachid>274142</attachid>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2016-03-15 15:22:38 -0700</bug_when>
    <thetext>Created attachment 274142
patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1175152</commentid>
    <comment_count>5</comment_count>
      <attachid>274142</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2016-03-15 15:31:30 -0700</bug_when>
    <thetext>Comment on attachment 274142
patch for landing

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1175167</commentid>
    <comment_count>6</comment_count>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2016-03-15 15:44:47 -0700</bug_when>
    <thetext>Committed r198235: &lt;http://trac.webkit.org/changeset/198235&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1175179</commentid>
    <comment_count>7</comment_count>
    <who name="Ryan Haddad">ryanhaddad</who>
    <bug_when>2016-03-15 16:15:37 -0700</bug_when>
    <thetext>This change broke the iOS 9 build:
&lt;https://build.webkit.org/builders/Apple%20iOS%209%20Release%20%28Build%29/builds/3308&gt;

/Volumes/Data/slave/ios-9-release/build/Source/JavaScriptCore/jit/ExecutableAllocatorFixedVMPool.cpp:91:18: error: unused variable &apos;startOfFixedWritableMemoryPool&apos; [-Werror,-Wunused-variable]
static uintptr_t startOfFixedWritableMemoryPool;
                 ^
1 error generated.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1175180</commentid>
    <comment_count>8</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2016-03-15 16:24:48 -0700</bug_when>
    <thetext>(In reply to comment #7)
&gt; /Volumes/Data/slave/ios-9-release/build/Source/JavaScriptCore/jit/
&gt; ExecutableAllocatorFixedVMPool.cpp:91:18: error: unused variable
&gt; &apos;startOfFixedWritableMemoryPool&apos; [-Werror,-Wunused-variable]
&gt; static uintptr_t startOfFixedWritableMemoryPool;
&gt;                  ^
&gt; 1 error generated.

Fixed in r198240: &lt;http://trac.webkit.org/r198240&gt;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1175182</commentid>
    <comment_count>9</comment_count>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2016-03-15 16:30:56 -0700</bug_when>
    <thetext>(In reply to comment #8)
&gt; (In reply to comment #7)
&gt; &gt; /Volumes/Data/slave/ios-9-release/build/Source/JavaScriptCore/jit/
&gt; &gt; ExecutableAllocatorFixedVMPool.cpp:91:18: error: unused variable
&gt; &gt; &apos;startOfFixedWritableMemoryPool&apos; [-Werror,-Wunused-variable]
&gt; &gt; static uintptr_t startOfFixedWritableMemoryPool;
&gt; &gt;                  ^
&gt; &gt; 1 error generated.
&gt; 
&gt; Fixed in r198240: &lt;http://trac.webkit.org/r198240&gt;.

Put a better fix in afterwards -- i was waiting for it to clear all the myriad of iOS configs :-/</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1175184</commentid>
    <comment_count>10</comment_count>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2016-03-15 16:38:24 -0700</bug_when>
    <thetext>More fixed in https://trac.webkit.org/r198241</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1175332</commentid>
    <comment_count>11</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2016-03-16 06:08:04 -0700</bug_when>
    <thetext>(In reply to comment #6)
&gt; Committed r198235: &lt;http://trac.webkit.org/changeset/198235&gt;

It caused a serious regression on ARMv7 Thumb2 Linux, see bug155537 for details.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1175441</commentid>
    <comment_count>12</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2016-03-16 12:24:44 -0700</bug_when>
    <thetext>Looks like this is causing crashes on iOS.  I think we should roll it out for now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1175444</commentid>
    <comment_count>13</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-03-16 12:33:34 -0700</bug_when>
    <thetext>Reverted r198235, r198240, r198241, and r198252 for reason:

Causing crashes on ARM

Committed r198291: &lt;http://trac.webkit.org/changeset/198291&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1175539</commentid>
    <comment_count>14</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-03-16 15:53:14 -0700</bug_when>
    <thetext>(In reply to comment #13)
&gt; Reverted r198235, r198240, r198241, and r198252 for reason:
&gt; 
&gt; Causing crashes on ARM
&gt; 
&gt; Committed r198291: &lt;http://trac.webkit.org/changeset/198291&gt;

This roll out seems to have fixed PLT on iOS 9.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1181133</commentid>
    <comment_count>15</comment_count>
      <attachid>275740</attachid>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2016-04-05 19:58:02 -0700</bug_when>
    <thetext>Created attachment 275740
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1181134</commentid>
    <comment_count>16</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-04-05 20:00:35 -0700</bug_when>
    <thetext>Attachment 275740 did not pass style-queue:


ERROR: Source/WebCore/ChangeLog:8:  You should remove the &apos;No new tests&apos; and either add and list tests, or explain why no new tests were possible.  [changelog/nonewtests] [5]
Total errors found: 1 in 18 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>1182277</commentid>
    <comment_count>17</comment_count>
      <attachid>276032</attachid>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2016-04-08 13:08:40 -0700</bug_when>
    <thetext>Created attachment 276032
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1182528</commentid>
    <comment_count>18</comment_count>
      <attachid>276032</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2016-04-09 21:39:18 -0700</bug_when>
    <thetext>Comment on attachment 276032
Patch

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

&gt; Source/JavaScriptCore/assembler/ARM64Assembler.h:2486
&gt; -    void linkJump(AssemblerLabel from, AssemblerLabel to)
&gt; +    void linkJump(AssemblerLabel from, void* executableCode, AssemblerLabel to)
&gt;      {
&gt;          ASSERT(from.isSet());
&gt;          ASSERT(to.isSet());
&gt; -        relinkJumpOrCall&lt;false&gt;(addressOf(from), addressOf(to));
&gt; +        relinkJumpOrCall&lt;false&gt;(addressOf(from), addressOf(executableCode, from), addressOf(to));
&gt;      }
&gt;      
&gt;      static void linkJump(void* code, AssemblerLabel from, void* to)
&gt;      {
&gt;          ASSERT(from.isSet());
&gt; -        relinkJumpOrCall&lt;false&gt;(addressOf(code, from), to);
&gt; +        relinkJumpOrCall&lt;false&gt;(addressOf(code, from), addressOf(code, from), to);
&gt;      }

The part of the patch that actually &quot;remove compile time define for SEPARATED_HEAP&quot; looks good to me (with a few suggestions below).

However, I have several concerns:

1. In this patch, you&apos;ve made a lot of changes to some of the linking code, and this is not documented / explained in the ChangeLog.

2. I can see why you would want to pass the X address in addition to the W address.  However, sometimes, you pass the same address as both values (e.g. line 2485 above), and sometimes you don&apos;t (e.g. line 2479 above).  It&apos;s not clear to me why you&apos;re passing the same values.  Can you explain why the difference, or specifically, why is it ever correct to pass the same values for the X address and the W address?  What am I not getting?

   Also, why does some linkJump()s (above line 2475) not need the X address at all?

3. Have you run benchmarks to make sure that there&apos;s no perf regression?  Threading the extra X address arg thru the linking functions may not add up to any meaningful perturbation of perf results, but it is extra work for the linker, and I&apos;d feel better if we have some perf number to back it up.

&gt; Source/JavaScriptCore/jit/ExecutableAllocatorFixedVMPool.cpp:60
&gt; +#if CPU(ARM64) &amp;&amp; PLATFORM(IOS) &amp;&amp; __IPHONE_OS_VERSION_MIN_REQUIRED &gt;= 100000
&gt; +#define USE_EXECUTE_ONLY_JIT_WRITE_FUNCTION 1
&gt; +#endif

Can we enclose this in &quot;#if HAVE(REMAP_JIT)&quot; and &quot;#endif&quot;?  According to the code below, if is meaningless to USE(EXECUTE_ONLY_JIT_WRITE_FUNCTION) while !HAVE(REMAP_JIT).  Isn&apos;t that true?  If so, let&apos;s make it explicit.

&gt; Source/JavaScriptCore/jit/ExecutableAllocatorFixedVMPool.cpp:100
&gt; +#if !USE(EXECUTE_ONLY_JIT_WRITE_FUNCTION)
&gt; +static uintptr_t startOfFixedWritableMemoryPool;
&gt;  #endif

Ditto.  Enclose in &quot;#if HAVE(REMAP_JIT)&quot; and &quot;#endif&quot;.

&gt; Source/JavaScriptCore/jit/ExecutableAllocatorFixedVMPool.cpp:299
&gt; +#else // !OS(DARWIN)

nit: can you change this comment to be &quot;// OS(DARWIN) &amp;&amp; HAVE(REMAP_JIT)&quot; so that we know that it matches the #if above.

&gt; Source/JavaScriptCore/jit/ExecutableAllocatorFixedVMPool.cpp:302
&gt; +        ASSERT_UNUSED(startOfFixedWritableMemoryPool, !startOfFixedWritableMemoryPool);

By putting the USE(EXECUTE_ONLY_JIT_WRITE_FUNCTION) stuff under the guard of #if HAVE(REMAP_JIT), you can get rid of this.

&gt; Source/JavaScriptCore/jit/ExecutableAllocatorFixedVMPool.cpp:304
&gt; +#endif

nit: can you change this comment to be &quot;// OS(DARWIN) &amp;&amp; HAVE(REMAP_JIT)&quot; so that we know that it matches the #if above.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1182550</commentid>
    <comment_count>19</comment_count>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2016-04-10 11:58:48 -0700</bug_when>
    <thetext>(In reply to comment #18)
&gt; Comment on attachment 276032 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=276032&amp;action=review
&gt; 
&gt; &gt; Source/JavaScriptCore/assembler/ARM64Assembler.h:2486
&gt; &gt; -    void linkJump(AssemblerLabel from, AssemblerLabel to)
&gt; &gt; +    void linkJump(AssemblerLabel from, void* executableCode, AssemblerLabel to)
&gt; &gt;      {
&gt; &gt;          ASSERT(from.isSet());
&gt; &gt;          ASSERT(to.isSet());
&gt; &gt; -        relinkJumpOrCall&lt;false&gt;(addressOf(from), addressOf(to));
&gt; &gt; +        relinkJumpOrCall&lt;false&gt;(addressOf(from), addressOf(executableCode, from), addressOf(to));
&gt; &gt;      }
&gt; &gt;      
&gt; &gt;      static void linkJump(void* code, AssemblerLabel from, void* to)
&gt; &gt;      {
&gt; &gt;          ASSERT(from.isSet());
&gt; &gt; -        relinkJumpOrCall&lt;false&gt;(addressOf(code, from), to);
&gt; &gt; +        relinkJumpOrCall&lt;false&gt;(addressOf(code, from), addressOf(code, from), to);
&gt; &gt;      }
&gt; 
&gt; The part of the patch that actually &quot;remove compile time define for
&gt; SEPARATED_HEAP&quot; looks good to me (with a few suggestions below).
&gt; 
&gt; However, I have several concerns:
&gt; 
&gt; 1. In this patch, you&apos;ve made a lot of changes to some of the linking code,
&gt; and this is not documented / explained in the ChangeLog.

The linking code changes are needed to make this actually work with runtime enabling/disabling. With the runtime control of separation we always use a side buffer during linkage, and that makes relative branch offsets wrong.

&gt; 
&gt; 2. I can see why you would want to pass the X address in addition to the W
&gt; address.  However, sometimes, you pass the same address as both values (e.g.
&gt; line 2485 above), and sometimes you don&apos;t (e.g. line 2479 above).  It&apos;s not
&gt; clear to me why you&apos;re passing the same values.  Can you explain why the
&gt; difference, or specifically, why is it ever correct to pass the same values
&gt; for the X address and the W address?  What am I not getting?
&gt; 
&gt;    Also, why does some linkJump()s (above line 2475) not need the X address
&gt; at all?
&gt;

To avoid needless (risky) code duplication we always use the same core branch linking functions. The same argument variants are used for repatching instructions after the original linkage, so they are passing in the actual executable code pointer so the executable and the &quot;writable&quot; addresses are the same. My concern with having a separate version of the actual &quot;write to memory&quot; portion of the patch is that it introduces a _very_ subtle foot gun where you get an incorrect branch computation.
 
&gt; 3. Have you run benchmarks to make sure that there&apos;s no perf regression? 
&gt; Threading the extra X address arg thru the linking functions may not add up
&gt; to any meaningful perturbation of perf results, but it is extra work for the
&gt; linker, and I&apos;d feel better if we have some perf number to back it up.

I&apos;ve run all jsc-benchmarks in the jsc shell and there wasn&apos;t a perf hit on device, or on x86-32/64. Even when actually using the remapping.

&gt; 
&gt; &gt; Source/JavaScriptCore/jit/ExecutableAllocatorFixedVMPool.cpp:60
&gt; &gt; +#if CPU(ARM64) &amp;&amp; PLATFORM(IOS) &amp;&amp; __IPHONE_OS_VERSION_MIN_REQUIRED &gt;= 100000
&gt; &gt; +#define USE_EXECUTE_ONLY_JIT_WRITE_FUNCTION 1
&gt; &gt; +#endif
&gt; 
&gt; Can we enclose this in &quot;#if HAVE(REMAP_JIT)&quot; and &quot;#endif&quot;?  According to the
&gt; code below, if is meaningless to USE(EXECUTE_ONLY_JIT_WRITE_FUNCTION) while
&gt; !HAVE(REMAP_JIT).  Isn&apos;t that true?  If so, let&apos;s make it explicit.

Ok, to this comment and the others. Do you want me to repost for rereview?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1182551</commentid>
    <comment_count>20</comment_count>
      <attachid>276106</attachid>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2016-04-10 13:38:07 -0700</bug_when>
    <thetext>Created attachment 276106
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1182553</commentid>
    <comment_count>21</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2016-04-10 13:56:01 -0700</bug_when>
    <thetext>(In reply to comment #19)
&gt; (In reply to comment #18)
&gt; &gt; Comment on attachment 276032 [details]
&gt; &gt; Patch
&gt; &gt; 
&gt; &gt; View in context:
&gt; &gt; https://bugs.webkit.org/attachment.cgi?id=276032&amp;action=review
&gt; &gt; 
&gt; &gt; &gt; Source/JavaScriptCore/assembler/ARM64Assembler.h:2486
&gt; &gt; &gt; -    void linkJump(AssemblerLabel from, AssemblerLabel to)
&gt; &gt; &gt; +    void linkJump(AssemblerLabel from, void* executableCode, AssemblerLabel to)
&gt; &gt; &gt;      {
&gt; &gt; &gt;          ASSERT(from.isSet());
&gt; &gt; &gt;          ASSERT(to.isSet());
&gt; &gt; &gt; -        relinkJumpOrCall&lt;false&gt;(addressOf(from), addressOf(to));
&gt; &gt; &gt; +        relinkJumpOrCall&lt;false&gt;(addressOf(from), addressOf(executableCode, from), addressOf(to));
&gt; &gt; &gt;      }
&gt; &gt; &gt;      
&gt; &gt; &gt;      static void linkJump(void* code, AssemblerLabel from, void* to)
&gt; &gt; &gt;      {
&gt; &gt; &gt;          ASSERT(from.isSet());
&gt; &gt; &gt; -        relinkJumpOrCall&lt;false&gt;(addressOf(code, from), to);
&gt; &gt; &gt; +        relinkJumpOrCall&lt;false&gt;(addressOf(code, from), addressOf(code, from), to);
&gt; &gt; &gt;      }
&gt; &gt; 
&gt; &gt; The part of the patch that actually &quot;remove compile time define for
&gt; &gt; SEPARATED_HEAP&quot; looks good to me (with a few suggestions below).
&gt; &gt; 
&gt; &gt; However, I have several concerns:
&gt; &gt; 
&gt; &gt; 1. In this patch, you&apos;ve made a lot of changes to some of the linking code,
&gt; &gt; and this is not documented / explained in the ChangeLog.
&gt; 
&gt; The linking code changes are needed to make this actually work with runtime
&gt; enabling/disabling. With the runtime control of separation we always use a
&gt; side buffer during linkage, and that makes relative branch offsets wrong.

I understand that.  I just think the ChangeLog deserves a comment or two on these details.

&gt; &gt; 
&gt; &gt; 2. I can see why you would want to pass the X address in addition to the W
&gt; &gt; address.  However, sometimes, you pass the same address as both values (e.g.
&gt; &gt; line 2485 above), and sometimes you don&apos;t (e.g. line 2479 above).  It&apos;s not
&gt; &gt; clear to me why you&apos;re passing the same values.  Can you explain why the
&gt; &gt; difference, or specifically, why is it ever correct to pass the same values
&gt; &gt; for the X address and the W address?  What am I not getting?
&gt; &gt; 
&gt; &gt;    Also, why does some linkJump()s (above line 2475) not need the X address
&gt; &gt; at all?
&gt; &gt;
&gt; 
&gt; To avoid needless (risky) code duplication we always use the same core
&gt; branch linking functions. The same argument variants are used for repatching
&gt; instructions after the original linkage, so they are passing in the actual
&gt; executable code pointer so the executable and the &quot;writable&quot; addresses are
&gt; the same. My concern with having a separate version of the actual &quot;write to
&gt; memory&quot; portion of the patch is that it introduces a _very_ subtle foot gun
&gt; where you get an incorrect branch computation.

I agree with not having 2 separate versions.  My concern is that it is not very clear just from reading the code why we sometimes do one thing and sometimes do another.  I think this lack of clarity can lead to bugs being introduced later.  To summarize, this is what I think you said: we want to use the same linking functions both for original linkage (different W X addresses) and also for repatching (only use X addresses).  I&apos;ll try to go through the patch again with your comments in mind.   Maybe it&apos;ll be clearer this time.

Please add this info to the ChangeLog as well.

&gt; &gt; 3. Have you run benchmarks to make sure that there&apos;s no perf regression? 
&gt; &gt; Threading the extra X address arg thru the linking functions may not add up
&gt; &gt; to any meaningful perturbation of perf results, but it is extra work for the
&gt; &gt; linker, and I&apos;d feel better if we have some perf number to back it up.
&gt; 
&gt; I&apos;ve run all jsc-benchmarks in the jsc shell and there wasn&apos;t a perf hit on
&gt; device, or on x86-32/64. Even when actually using the remapping.

Usually, we post the perf results either in a bugzilla comment or as an attachment so that the reviewer can confirm that.  That said, a comment in the ChangeLog to indicate that you saw no perf regression with this patch is adequate.  This is useful info to have in the event the we have multiple revisions of build failures, and later discover a perf regression.  Comments like these help us to focus on patches that have not been vetted instead of spending time on the ones that have already been perf tested.

&gt; &gt; 
&gt; &gt; &gt; Source/JavaScriptCore/jit/ExecutableAllocatorFixedVMPool.cpp:60
&gt; &gt; &gt; +#if CPU(ARM64) &amp;&amp; PLATFORM(IOS) &amp;&amp; __IPHONE_OS_VERSION_MIN_REQUIRED &gt;= 100000
&gt; &gt; &gt; +#define USE_EXECUTE_ONLY_JIT_WRITE_FUNCTION 1
&gt; &gt; &gt; +#endif
&gt; &gt; 
&gt; &gt; Can we enclose this in &quot;#if HAVE(REMAP_JIT)&quot; and &quot;#endif&quot;?  According to the
&gt; &gt; code below, if is meaningless to USE(EXECUTE_ONLY_JIT_WRITE_FUNCTION) while
&gt; &gt; !HAVE(REMAP_JIT).  Isn&apos;t that true?  If so, let&apos;s make it explicit.
&gt; 
&gt; Ok, to this comment and the others. Do you want me to repost for rereview?

It would be nice to have a new patch with an updated ChangeLog plus the suggested fixes.  I see that you&apos;ve already done that (but still need the ChangeLog comments on what was changed to make linking work).  Thanks.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1182556</commentid>
    <comment_count>22</comment_count>
      <attachid>276108</attachid>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2016-04-10 14:22:53 -0700</bug_when>
    <thetext>Created attachment 276108
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1182747</commentid>
    <comment_count>23</comment_count>
      <attachid>276108</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2016-04-11 11:39:37 -0700</bug_when>
    <thetext>Comment on attachment 276108
Patch

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

r=me with some added comments in the code (for the benefit of future readers of this code) to explain why some link / relink / jump functions are doing the right thing to pass the same address for both the write and executable addresses.

&gt; Source/JavaScriptCore/assembler/ARM64Assembler.h:2485
&gt; +        relinkJumpOrCall&lt;false&gt;(addressOf(code, from), addressOf(code, from), to);

Please add a comment here explaining why it&apos;s ok to pass the same address for the Write address and the Execute address.  Or alternatively if the comment is long-ish, add the long comment at the top of the file, and just add a short comment here to see that top comment.  That way, you can add the &quot;see top comment&quot; at other places that passes the same value as well.

&gt; Source/JavaScriptCore/assembler/ARM64Assembler.h:2491
&gt; +        linkJumpOrCall&lt;true&gt;(addressOf(code, from) - 1, addressOf(code, from) - 1, to);

Ditto.

&gt; Source/JavaScriptCore/assembler/ARM64Assembler.h:2661
&gt; +        relinkJumpOrCall&lt;false&gt;(reinterpret_cast&lt;int*&gt;(from), reinterpret_cast&lt;const int*&gt;(from), to);

A comment up saying that &quot;relinks always writes to the same address as the executable address&quot; would be good.

&gt; Source/JavaScriptCore/assembler/ARM64Assembler.h:2667
&gt; +        relinkJumpOrCall&lt;true&gt;(reinterpret_cast&lt;int*&gt;(from) - 1, reinterpret_cast&lt;const int*&gt;(from) - 1, to);

Ditto.

&gt; Source/JavaScriptCore/assembler/ARMv7Assembler.h:2194
&gt; +        linkJumpAbsolute(location, location, to);

This one needs a comment.

&gt; Source/JavaScriptCore/assembler/ARMv7Assembler.h:2215
&gt; +        linkJumpAbsolute(reinterpret_cast&lt;uint16_t*&gt;(from), reinterpret_cast&lt;uint16_t*&gt;(from), to);

Needs a comment.

&gt; Source/JavaScriptCore/assembler/ARMv7Assembler.h:2280
&gt; +            linkJumpT4(ptr, ptr, to);

Needs a comment.

&gt; Source/JavaScriptCore/assembler/ARMv7Assembler.h:2284
&gt; +            linkBX(ptr, ptr, to);

Ditto.

&gt; Source/JavaScriptCore/assembler/ARMv7Assembler.h:2290
&gt;          cacheFlush(ptr - 2, sizeof(uint16_t) * 2);

Ditto.

&gt; Source/JavaScriptCore/assembler/ARMv7Assembler.h:2720
&gt; -        
&gt; +

Please undo.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1182765</commentid>
    <comment_count>24</comment_count>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2016-04-11 12:00:43 -0700</bug_when>
    <thetext>Committed r199299: &lt;http://trac.webkit.org/changeset/199299&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1183009</commentid>
    <comment_count>25</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2016-04-12 00:31:24 -0700</bug_when>
    <thetext>Build fix in http://trac.webkit.org/changeset/199339
It would be nice if someone could verify that I did not change the intent of the code.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1183101</commentid>
    <comment_count>26</comment_count>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2016-04-12 10:33:07 -0700</bug_when>
    <thetext>(In reply to comment #25)
&gt; Build fix in http://trac.webkit.org/changeset/199339
&gt; It would be nice if someone could verify that I did not change the intent of
&gt; the code.

That did have a meaningful change -- what platform broke? this passed all the EWS bots?

If absolutely necessary we can have a #if for the platform that doesn&apos;t have memset_s</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1183104</commentid>
    <comment_count>27</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-04-12 10:38:13 -0700</bug_when>
    <thetext>Re-opened since this is blocked by bug 156505</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1183106</commentid>
    <comment_count>28</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2016-04-12 10:39:30 -0700</bug_when>
    <thetext>I&apos;m reverting that change.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1183363</commentid>
    <comment_count>29</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2016-04-13 01:23:51 -0700</bug_when>
    <thetext>(In reply to comment #26)
&gt; (In reply to comment #25)
&gt; &gt; Build fix in http://trac.webkit.org/changeset/199339
&gt; &gt; It would be nice if someone could verify that I did not change the intent of
&gt; &gt; the code.
&gt; 
&gt; That did have a meaningful change -- what platform broke? this passed all
&gt; the EWS bots?
&gt; 
&gt; If absolutely necessary we can have a #if for the platform that doesn&apos;t have
&gt; memset_s

Which platform? The Apple Mac cmake build:

/Volumes/Data/slave/elcapitan-cmake-debug/build/Source/JavaScriptCore/jit/ExecutableAllocatorFixedVMPool.cpp:213:9: error: use of undeclared identifier &apos;memset_s&apos;
        memset_s(&amp;writableAddr, sizeof(writableAddr), 0, sizeof(writableAddr));
        ^
1 error generated.


https://developer.apple.com/library/mac/documentation/Darwin/Reference/ManPages/man3/memset_s.3.html says the following:
SYNOPSIS
     #define __STDC_WANT_LIB_EXT1__ 1
     #include &lt;string.h&gt;

The question is why &quot;normal&quot; Apple Mac build defines __STDC_WANT_LIB_EXT1__
and why and how the Apple Mac cmake build doesn&apos;t. There isn&apos;t any occurence
of __STDC_WANT_LIB_EXT1_ in WebKit trunk, except the changelog of the reverted
buildfix.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1183646</commentid>
    <comment_count>30</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2016-04-13 23:33:44 -0700</bug_when>
    <thetext>Just to document, https://trac.webkit.org/changeset/199530/trunk/Source/JavaScriptCore/PlatformMac.cmake fixed this Apple Mac cmake issue.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>274119</attachid>
            <date>2016-03-15 13:28:25 -0700</date>
            <delta_ts>2016-03-15 15:22:33 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-155508-20160315132813.patch</filename>
            <type>text/plain</type>
            <size>43852</size>
            <attacher name="Oliver Hunt">oliver</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTk4MjE5CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBh
MGMzYjdlMGNjNmU2YjUxOGY3OWNhMDJmMWUyZjQxYzFhMTQxNTljLi4xMGQ0MGYwOWEyMjM0NzFh
YjVmY2EzYTFmM2E0ZWY2ZDYxMWRkNGY4IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwzMCBAQAorMjAxNi0wMy0xNSAgT2xpdmVyIEh1bnQgIDxvbGl2ZXJAYXBwbGUuY29tPgor
CisgICAgICAgIFJlbW92ZSBjb21waWxlIHRpbWUgZGVmaW5lIGZvciBTRVBBUkFURURfSEVBUAor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTU1NTA4CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhpcyByZW1v
dmVzIHRoZSBjb21waWxlIHRpbWUgZGVmaW5lIGZvciB0aGUgU0VQQVJBVEVEX0hFQVAKKyAgICAg
ICAgZmVhdHVyZSwgYW5kIG1vdmVzIHRvIGEgZGVmYXVsdC1vZmYgcnVudGltZSBwcmVmZXJlbmNl
LgorCisgICAgICAgIFRoaXMgaGFwcGlseSBhbHNvIHJlbW92ZXMgdGhlIG5lZWQgZm9yIHdvcmxk
IHJlYnVpbGRzIHdoaWxlCisgICAgICAgIGJyaW5naW5nIGl0IHVwIG9uIGRpZmZlcmVudCBwbGF0
Zm9ybXMuCisKKyAgICAgICAgKiBDb25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZp
ZzoKKyAgICAgICAgKiBhc3NlbWJsZXIvTGlua0J1ZmZlci5jcHA6CisgICAgICAgIChKU0M6Okxp
bmtCdWZmZXI6OmNvcHlDb21wYWN0QW5kTGlua0NvZGUpOgorICAgICAgICAqIGppdC9FeGVjdXRh
YmxlQWxsb2NhdG9yLmg6CisgICAgICAgIChKU0M6OnBlcmZvcm1KSVRNZW1jcHkpOgorICAgICAg
ICAqIGppdC9FeGVjdXRhYmxlQWxsb2NhdG9yRml4ZWRWTVBvb2wuY3BwOgorICAgICAgICAoSlND
OjpGaXhlZFZNUG9vbEV4ZWN1dGFibGVBbGxvY2F0b3I6OmluaXRpYWxpemVTZXBhcmF0ZWRXWEhl
YXBzKToKKyAgICAgICAgKEpTQzo6Rml4ZWRWTVBvb2xFeGVjdXRhYmxlQWxsb2NhdG9yOjpqaXRX
cml0ZVRodW5rR2VuZXJhdG9yKToKKyAgICAgICAgKEpTQzo6Rml4ZWRWTVBvb2xFeGVjdXRhYmxl
QWxsb2NhdG9yOjpnZW5lcmljV3JpdGVUb0pJVFJlZ2lvbik6CisgICAgICAgIChKU0M6OkZpeGVk
Vk1Qb29sRXhlY3V0YWJsZUFsbG9jYXRvcjo6Rml4ZWRWTVBvb2xFeGVjdXRhYmxlQWxsb2NhdG9y
KTogRGVsZXRlZC4KKyAgICAgICAgKiBydW50aW1lL09wdGlvbnMuY3BwOgorICAgICAgICAoSlND
OjpyZWNvbXB1dGVEZXBlbmRlbnRPcHRpb25zKToKKyAgICAgICAgKiBydW50aW1lL09wdGlvbnMu
aDoKKwogMjAxNi0wMy0xNSAgRmlsaXAgUGl6bG8gIDxmcGl6bG9AYXBwbGUuY29tPgogCiAgICAg
ICAgIFJlbW92ZSB0aGUgQmFrZXIgYmFycmllciBmcm9tIEpTQwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dURi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV1RGL0NoYW5nZUxvZwppbmRleCAwMWU3MTQxNWMzMDRh
NDU2ZTVjZWNiNGNiOTBlZjBmNGQxZWZkZjQxLi40MjBkMGRjYWIyMGYzMzAzYzBlYWM5YWExNGFm
ZWJkZTA3ZTAyZjMxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL0NoYW5nZUxvZworKysgYi9Tb3Vy
Y2UvV1RGL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDE2LTAzLTE1ICBPbGl2ZXIgSHVu
dCAgPG9saXZlckBhcHBsZS5jb20+CisKKyAgICAgICAgUmVtb3ZlIGNvbXBpbGUgdGltZSBkZWZp
bmUgZm9yIFNFUEFSQVRFRF9IRUFQCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xNTU1MDgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBSZW1vdmUgdGhlIGZlYXR1cmUgZGVmaW5lLgorCisgICAgICAgICogd3Rm
L0ZlYXR1cmVEZWZpbmVzLmg6CisgICAgICAgICogd3RmL1BsYXRmb3JtLmg6CisKIDIwMTYtMDMt
MTQgIE1hcmsgTGFtICA8bWFyay5sYW1AYXBwbGUuY29tPgogCiAgICAgICAgIE5lZWQgdG8gZGlz
dGluZ3Vpc2ggYmV0d2VlbiBTeW1ib2woKSBhbmQgU3ltYm9sKCIiKS4KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBi
ZDdiN2JiZjg4NTBmOGE2MmNmOGY0YjA4NTVmNGMxMDVjZTBhOGNhLi45YzFiMGNmNWNmZGJkMjEy
MjdlYzgzYjlhMGM4MDMxYmQwZmE0NGUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFu
Z2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIw
MTYtMDMtMTUgIE9saXZlciBIdW50ICA8b2xpdmVyQGFwcGxlLmNvbT4KKworICAgICAgICBSZW1v
dmUgY29tcGlsZSB0aW1lIGRlZmluZSBmb3IgU0VQQVJBVEVEX0hFQVAKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1NTUwOAorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJlbW92ZSB0aGUgZmVhdHVyZSBkZWZp
bmUuCisKKyAgICAgICAgKiBDb25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZzoK
KwogMjAxNi0wMy0xNSAgQ2hyaXMgRmxlaXphY2ggIDxjZmxlaXphY2hAYXBwbGUuY29tPgogCiAg
ICAgICAgIEFYOiBjZXJ0YWluIGVsZW1lbnRzIG5vdCBpbmNsdWRlZCBpbiBhY2Nlc3NpYmlsaXR5
IHRyZWUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZyBiL1NvdXJjZS9X
ZWJLaXQvbWFjL0NoYW5nZUxvZwppbmRleCA5ZDQ1ZDk2MDJjN2Q4NjJlYzUzNzUzYjA4ZGU3ODA0
MDA2N2IzZjdkLi4yMGI4Mzk1MTRmMjlhNDA2NTU3NDJjNWMxZjZiYWYwYzkwNTFjNTAzIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9t
YWMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTYtMDMtMTUgIE9saXZlciBIdW50ICA8
b2xpdmVyQGFwcGxlLmNvbT4KKworICAgICAgICBSZW1vdmUgY29tcGlsZSB0aW1lIGRlZmluZSBm
b3IgU0VQQVJBVEVEX0hFQVAKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTE1NTUwOAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIFJlbW92ZSB0aGUgZmVhdHVyZSBkZWZpbmUuCisKKyAgICAgICAgKiBDb25maWd1
cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZzoKKwogMjAxNi0wMy0xNSAgQ2hyaXMgRHVt
ZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0
IHIxOTgyMDMuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cgYi9Tb3VyY2Uv
V2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggY2ZiOTAxZDIxMDcxODVlZmQ3MmNmMTJmOTc2OWIxODIz
ODZjNGMzNy4uMDEzMDQ5OTJlYzFiNjZiNDkyNjEyMjZkODIyMjVmZTRjOWFiZjAwNCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5n
ZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDE2LTAzLTE1ICBPbGl2ZXIgSHVudCAgPG9saXZlckBh
cHBsZS5jb20+CisKKyAgICAgICAgUmVtb3ZlIGNvbXBpbGUgdGltZSBkZWZpbmUgZm9yIFNFUEFS
QVRFRF9IRUFQCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xNTU1MDgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBSZW1vdmUgdGhlIGZlYXR1cmUgZGVmaW5lLgorCisgICAgICAgICogQ29uZmlndXJhdGlvbnMv
RmVhdHVyZURlZmluZXMueGNjb25maWc6CisKIDIwMTYtMDMtMTUgIEd5dXlvdW5nIEtpbSAgPGd5
dXlvdW5nLmtpbUB3ZWJraXQub3JnPgogCiAgICAgICAgIEVGTCBidWlsZCBoYXMgYmVlbiBicm9r
ZW4gc2luY2UgcjE5ODE4MApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0NvbmZp
Z3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCmluZGV4IDM4N2U0OThhZjhj
NzVjZmJlOTVhMzc2MDJhMzVhZTU1ZjA0NTU0MGQuLjk0OTRlMmY1ZTE0NjIzOTQxZDcxMzQ0Y2Y1
MTFkNTJkNzRjYzdmNTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9Db25maWd1
cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZworKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKQEAgLTE5Miw3ICsxOTIs
NCBAQCBFTkFCTEVfRlRMX0pJVFtzZGs9aXBob25lb3MqXSA9IEVOQUJMRV9GVExfSklUOwogRU5B
QkxFX1NIQURPV19ET00gPSBFTkFCTEVfU0hBRE9XX0RPTTsKIEVOQUJMRV9DVVNUT01fRUxFTUVO
VFMgPSBFTkFCTEVfQ1VTVE9NX0VMRU1FTlRTOwogCi1FTkFCTEVfU0VQQVJBVEVEX1dYX0hFQVBb
c2RrPWlwaG9uZSpdID0gOwotRU5BQkxFX1NFUEFSQVRFRF9XWF9IRUFQW3Nkaz1tYWNvc3gqXSA9
IDsKLQotRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfVFJBTlNGT1JNUykgJChFTkFCTEVf
QUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JP
TExJTkcpICQoRU5BQkxFX0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQVRUQUNITUVOVF9FTEVNRU5U
KSAkKEVOQUJMRV9DQUNIRV9QQVJUSVRJT05JTkcpICQoRU5BQkxFX0NBTlZBU19QQVRIKSAkKEVO
QUJMRV9DQU5WQVNfUFJPWFkpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9F
UzZfQVJST1dGVU5DVElPTl9TWU5UQVgpICQoRU5BQkxFX0VTNl9DTEFTU19TWU5UQVgpICQoRU5B
QkxFX0VTNl9HRU5FUkFUT1JTKSAkKEVOQUJMRV9FUzZfTU9EVUxFUykgJChFTkFCTEVfQ09OVEVO
VF9GSUxURVJJTkcpICQoRU5BQkxFX0NTUF9ORVhUKSAkKEVOQUJMRV9DU1NfQU5JTUFUSU9OU19M
RVZFTF8yKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUspICQoRU5BQkxFX0NTU19D
T01QT1NJVElORykgJChFTkFCTEVfQ1NTX0RFVklDRV9BREFQVEFUSU9OKSAkKEVOQUJMRV9DU1Nf
R1JJRF9MQVlPVVQpICQoRU5BQkxFX0NTU19JTUFHRV9PUklFTlRBVElPTikgJChFTkFCTEVfQ1NT
X0lNQUdFX1JFU09MVVRJT04pICQoRU5BQkxFX0NTU19SRUdJT05TKSAkKEVOQUJMRV9DU1NfU0VM
RUNUT1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NTX1NIQVBFUykgJChFTkFCTEVfQ1NTM19URVhUKSAk
KEVOQUJMRV9DU1MzX1RFWFRfTElORV9CUkVBSykgJChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkp
ICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVfREFTSEJPQVJEX1NVUFBP
UlQpICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RBVEFfVFJBTlNGRVJfSVRF
TVMpICQoRU5BQkxFX0RFVEFJTFNfRUxFTUVOVCkgJChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9O
KSAkKEVOQUJMRV9ET000X0VWRU5UU19DT05TVFJVQ1RPUikgJChFTkFCTEVfRU5DUllQVEVEX01F
RElBKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUFfVjIpICQoRU5BQkxFX0ZFVENIX0FQSSkgJChF
TkFCTEVfRklMVEVSU19MRVZFTF8yKSAkKEVOQUJMRV9GT05UX0xPQURfRVZFTlRTKSAkKEVOQUJM
RV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0FNRVBBRF9ERVBS
RUNBVEVEKSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVO
QUJMRV9TRVJWSUNFX0NPTlRST0xTKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJM
RV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMpICQoRU5BQkxFX0lORElFX1VJKSAkKEVOQUJM
RV9JTlBVVF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SX1BPUE9WRVIpICQo
RU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRV9JTkNP
TVBMRVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxFX0lOUFVU
X1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQ
RV9XRUVLKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICQoRU5BQkxFX0lOVEwp
ICQoRU5BQkxFX0lPU19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfSU9TX1RFWFRfQVVUT1NJWklO
RykgJChFTkFCTEVfSU9TX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1Jf
UFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9MRUdBQ1lf
VkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfV0VCX0FVRElPKSAkKEVOQUJMRV9MRVRU
RVJQUkVTUykgJChFTkFCTEVfTElOS19QUkVGRVRDSCkgJChFTkFCTEVfTUFDX0dFU1RVUkVfRVZF
TlRTKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElBX0NPTlRST0xTX1NDUklQVCkgJChF
TkFCTEVfTUVESUFfU0VTU0lPTikgJChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9NRURJ
QV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9NRURJQV9TVFJFQU0pICQoRU5BQkxFX01FVEVSX0VMRU1F
TlQpICQoRU5BQkxFX01IVE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUpICQoRU5BQkxF
X05BVklHQVRPUl9DT05URU5UX1VUSUxTKSAkKEVOQUJMRV9OQVZJR0FUT1JfSFdDT05DVVJSRU5D
WSkgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfUERGS0lUX1BMVUdJTikgJChFTkFC
TEVfUE9JTlRFUl9MT0NLKSAkKEVOQUJMRV9QUk9YSU1JVFlfRVZFTlRTKSAkKEVOQUJMRV9QVUJM
SUNfU1VGRklYX0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRVFVRVNUX0FOSU1BVElP
Tl9GUkFNRSkgJChFTkFCTEVfUkVRVUVTVF9BVVRPQ09NUExFVEUpICQoRU5BQkxFX1JFTU9URV9J
TlNQRUNUT1IpICQoRU5BQkxFX1JFU09MVVRJT05fTUVESUFfUVVFUlkpICQoRU5BQkxFX1JFU09V
UkNFX1VTQUdFKSAkKEVOQUJMRV9SVUJCRVJfQkFORElORykgJChFTkFCTEVfQ1NTX1NDUk9MTF9T
TkFQKSAkKEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TVFJFQU1TX0FQSSkgJChF
TkFCTEVfU1VCVExFX0NSWVBUTykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9URUxFUEhP
TkVfTlVNQkVSX0RFVEVDVElPTikgJChFTkFCTEVfVEVNUExBVEVfRUxFTUVOVCkgJChFTkFCTEVf
VEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9UT1VDSF9FVkVOVFMpICQoRU5BQkxFX1RPVUNIX0lD
T05fTE9BRElORykgJChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQoRU5BQkxFX1VTRVJTRUxF
Q1RfQUxMKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxFX0RB
VEFDVUVfVkFMVUUpICQoRU5BQkxFX1ZJRVdfTU9ERV9DU1NfTUVESUEpICQoRU5BQkxFX1dFQkFT
U0VNQkxZKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCR0wyKSAkKEVOQUJMRV9XRUJfQU5J
TUFUSU9OUykgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfUkVQTEFZKSAkKEVOQUJM
RV9XRUJfU09DS0VUUykgJChFTkFCTEVfV0VCX1RJTUlORykgJChFTkFCTEVfWFNMVCkgJChFTkFC
TEVfRlRMX0pJVCkgJChFTkFCTEVfSklUKSAkKEVOQUJMRV9TSEFET1dfRE9NKSAkKEVOQUJMRV9D
VVNUT01fRUxFTUVOVFMpICQoRU5BQkxFX1ZJREVPX1BSRVNFTlRBVElPTl9NT0RFKSAkKEVOQUJM
RV9TRVBBUkFURURfV1hfSEVBUCk7CitGRUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9UUkFO
U0ZPUk1TKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VMRVJB
VEVEX09WRVJGTE9XX1NDUk9MTElORykgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9B
VFRBQ0hNRU5UX0VMRU1FTlQpICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykgJChFTkFCTEVf
Q0FOVkFTX1BBVEgpICQoRU5BQkxFX0NBTlZBU19QUk9YWSkgJChFTkFCTEVfQ0hBTk5FTF9NRVNT
QUdJTkcpICQoRU5BQkxFX0VTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkgJChFTkFCTEVfRVM2X0NM
QVNTX1NZTlRBWCkgJChFTkFCTEVfRVM2X0dFTkVSQVRPUlMpICQoRU5BQkxFX0VTNl9NT0RVTEVT
KSAkKEVOQUJMRV9DT05URU5UX0ZJTFRFUklORykgJChFTkFCTEVfQ1NQX05FWFQpICQoRU5BQkxF
X0NTU19BTklNQVRJT05TX0xFVkVMXzIpICQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVB
SykgJChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJ
T04pICQoRU5BQkxFX0NTU19HUklEX0xBWU9VVCkgJChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFU
SU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1JFR0lPTlMp
ICQoRU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9DU1NfU0hBUEVTKSAkKEVO
QUJMRV9DU1MzX1RFWFQpICQoRU5BQkxFX0NTUzNfVEVYVF9MSU5FX0JSRUFLKSAkKEVOQUJMRV9D
VVJTT1JfVklTSUJJTElUWSkgJChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJM
RV9EQVNIQk9BUkRfU1VQUE9SVCkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVf
REFUQV9UUkFOU0ZFUl9JVEVNUykgJChFTkFCTEVfREVUQUlMU19FTEVNRU5UKSAkKEVOQUJMRV9E
RVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RPTTRfRVZFTlRTX0NPTlNUUlVDVE9SKSAkKEVO
QUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQV9WMikgJChFTkFC
TEVfRkVUQ0hfQVBJKSAkKEVOQUJMRV9GSUxURVJTX0xFVkVMXzIpICQoRU5BQkxFX0ZPTlRfTE9B
RF9FVkVOVFMpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVO
QUJMRV9HQU1FUEFEX0RFUFJFQ0FURUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9J
Q09OREFUQUJBU0UpICQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX0lOREVYRURf
REFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVf
SU5ESUVfVUkpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZUEVf
Q09MT1JfUE9QT1ZFUikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9U
WVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NB
TCkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAk
KEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdF
VCkgJChFTkFCTEVfSU5UTCkgJChFTkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9J
T1NfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9M
RUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX05PVElGSUNBVElPTlMp
ICQoRU5BQkxFX0xFR0FDWV9WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9XRUJfQVVE
SU8pICQoRU5BQkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9MSU5LX1BSRUZFVENIKSAkKEVOQUJM
RV9NQUNfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFfQ09O
VFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJQV9TRVNTSU9OKSAkKEVOQUJMRV9NRURJQV9TT1VS
Q0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FRElBX1NUUkVBTSkgJChF
TkFCTEVfTUVURVJfRUxFTUVOVCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxFX01PVVNFX0NVUlNP
Ul9TQ0FMRSkgJChFTkFCTEVfTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpICQoRU5BQkxFX05BVklH
QVRPUl9IV0NPTkNVUlJFTkNZKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9QREZL
SVRfUExVR0lOKSAkKEVOQUJMRV9QT0lOVEVSX0xPQ0spICQoRU5BQkxFX1BST1hJTUlUWV9FVkVO
VFMpICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxF
X1JFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FKSAkKEVOQUJMRV9SRVFVRVNUX0FVVE9DT01QTEVURSkg
JChFTkFCTEVfUkVNT1RFX0lOU1BFQ1RPUikgJChFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVS
WSkgJChFTkFCTEVfUkVTT1VSQ0VfVVNBR0UpICQoRU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAkKEVO
QUJMRV9DU1NfU0NST0xMX1NOQVApICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxF
X1NUUkVBTVNfQVBJKSAkKEVOQUJMRV9TVUJUTEVfQ1JZUFRPKSAkKEVOQUJMRV9TVkdfRk9OVFMp
ICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVOQUJMRV9URU1QTEFURV9F
TEVNRU5UKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RPVUNIX0VWRU5UUykg
JChFTkFCTEVfVE9VQ0hfSUNPTl9MT0FESU5HKSAkKEVOQUJMRV9DU1NfVFJBSUxJTkdfV09SRCkg
JChFTkFCTEVfVVNFUlNFTEVDVF9BTEwpICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSURFT19U
UkFDSykgJChFTkFCTEVfREFUQUNVRV9WQUxVRSkgJChFTkFCTEVfVklFV19NT0RFX0NTU19NRURJ
QSkgJChFTkFCTEVfV0VCQVNTRU1CTFkpICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJHTDIp
ICQoRU5BQkxFX1dFQl9BTklNQVRJT05TKSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dF
Ql9SRVBMQVkpICQoRU5BQkxFX1dFQl9TT0NLRVRTKSAkKEVOQUJMRV9XRUJfVElNSU5HKSAkKEVO
QUJMRV9YU0xUKSAkKEVOQUJMRV9GVExfSklUKSAkKEVOQUJMRV9KSVQpICQoRU5BQkxFX1NIQURP
V19ET00pICQoRU5BQkxFX0NVU1RPTV9FTEVNRU5UUykgJChFTkFCTEVfVklERU9fUFJFU0VOVEFU
SU9OX01PREUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9M
aW5rQnVmZmVyLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTGlua0J1ZmZl
ci5jcHAKaW5kZXggZjBmYmM1MDk2YjI0OTFlN2NmY2ExYWZkZTIzODg4NzQ5MTJkNTliNS4uYjVl
NjU2MDc1NTI4OWY1NjAwNmQ2ZjVhNzZmZWQwYjg4Y2Q5ZGEwZCAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9MaW5rQnVmZmVyLmNwcAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvYXNzZW1ibGVyL0xpbmtCdWZmZXIuY3BwCkBAIC0xMDUsMTIgKzEwNSwxMCBA
QCB2b2lkIExpbmtCdWZmZXI6OmNvcHlDb21wYWN0QW5kTGlua0NvZGUoTWFjcm9Bc3NlbWJsZXIm
IG1hY3JvQXNzZW1ibGVyLCB2b2lkKiBvdwogICAgIFZlY3RvcjxMaW5rUmVjb3JkLCAwLCBVbnNh
ZmVWZWN0b3JPdmVyZmxvdz4mIGp1bXBzVG9MaW5rID0gbWFjcm9Bc3NlbWJsZXIuanVtcHNUb0xp
bmsoKTsKICAgICBtX2Fzc2VtYmxlclN0b3JhZ2UgPSBtYWNyb0Fzc2VtYmxlci5tX2Fzc2VtYmxl
ci5idWZmZXIoKS5yZWxlYXNlQXNzZW1ibGVyRGF0YSgpOwogICAgIHVpbnQ4X3QqIGluRGF0YSA9
IHJlaW50ZXJwcmV0X2Nhc3Q8dWludDhfdCo+KG1fYXNzZW1ibGVyU3RvcmFnZS5idWZmZXIoKSk7
Ci0jaWYgRU5BQkxFKFNFUEFSQVRFRF9XWF9IRUFQKQorCiAgICAgQXNzZW1ibGVyRGF0YSBvdXRC
dWZmZXIobV9zaXplKTsKICAgICB1aW50OF90KiBvdXREYXRhID0gcmVpbnRlcnByZXRfY2FzdDx1
aW50OF90Kj4ob3V0QnVmZmVyLmJ1ZmZlcigpKTsKLSNlbHNlCi0gICAgdWludDhfdCogb3V0RGF0
YSA9IHJlaW50ZXJwcmV0X2Nhc3Q8dWludDhfdCo+KG1fY29kZSk7Ci0jZW5kaWYKKwogICAgIGlu
dCByZWFkUHRyID0gMDsKICAgICBpbnQgd3JpdGVQdHIgPSAwOwogICAgIHVuc2lnbmVkIGp1bXBD
b3VudCA9IGp1bXBzVG9MaW5rLnNpemUoKTsKQEAgLTE2NSw5ICsxNjMsNyBAQCB2b2lkIExpbmtC
dWZmZXI6OmNvcHlDb21wYWN0QW5kTGlua0NvZGUoTWFjcm9Bc3NlbWJsZXImIG1hY3JvQXNzZW1i
bGVyLCB2b2lkKiBvdwogICAgIGp1bXBzVG9MaW5rLmNsZWFyKCk7CiAgICAgc2hyaW5rKHdyaXRl
UHRyICsgbV9pbml0aWFsU2l6ZSAtIHJlYWRQdHIpOwogCi0jaWYgRU5BQkxFKFNFUEFSQVRFRF9X
WF9IRUFQKQogICAgIHBlcmZvcm1KSVRNZW1jcHkobV9jb2RlLCBvdXRCdWZmZXIuYnVmZmVyKCks
IG1fc2l6ZSk7Ci0jZW5kaWYKIAogI2lmIERVTVBfTElOS19TVEFUSVNUSUNTCiAgICAgZHVtcExp
bmtTdGF0aXN0aWNzKG1fY29kZSwgbV9pbml0aWFsU2l6ZSwgbV9zaXplKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvRXhlY3V0YWJsZUFsbG9jYXRvci5oIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2ppdC9FeGVjdXRhYmxlQWxsb2NhdG9yLmgKaW5kZXggNWI1NTY4MzBl
OTJmNTllYjNmNDg2YTU1Y2JmODQ3NTNmNWUyZWQwNi4uNzRjZGMxZmIwZjg4ZGJhOTkxN2NlZTIx
YWQ5MmJhOTMxMzIzODk1OCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9F
eGVjdXRhYmxlQWxsb2NhdG9yLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9FeGVj
dXRhYmxlQWxsb2NhdG9yLmgKQEAgLTkyLDI5ICs5MiwzMCBAQCBzdGF0aWMgY29uc3QgZG91Ymxl
IGV4ZWN1dGFibGVQb29sUmVzZXJ2YXRpb25GcmFjdGlvbiA9IDAuMjU7CiBleHRlcm4gSlNfRVhQ
T1JUREFUQSB1aW50cHRyX3Qgc3RhcnRPZkZpeGVkRXhlY3V0YWJsZU1lbW9yeVBvb2w7CiBleHRl
cm4gSlNfRVhQT1JUREFUQSB1aW50cHRyX3QgZW5kT2ZGaXhlZEV4ZWN1dGFibGVNZW1vcnlQb29s
OwogCi0jaWYgRU5BQkxFKFNFUEFSQVRFRF9XWF9IRUFQKQotZXh0ZXJuIEpTX0VYUE9SVERBVEEg
dWludHB0cl90IGppdFdyaXRlRnVuY3Rpb25BZGRyZXNzOwotI2VuZGlmCi0jZW5kaWYgLy8gRU5B
QkxFKEVYRUNVVEFCTEVfQUxMT0NBVE9SX0ZJWEVEKQordHlwZWRlZiB2b2lkICgqSklUV3JpdGVG
dW5jdGlvbikob2ZmX3QsIGNvbnN0IHZvaWQqLCBzaXplX3QpOworZXh0ZXJuIEpTX0VYUE9SVERB
VEEgSklUV3JpdGVGdW5jdGlvbiBqaXRXcml0ZUZ1bmN0aW9uOwogCiBzdGF0aWMgaW5saW5lIHZv
aWQqIHBlcmZvcm1KSVRNZW1jcHkodm9pZCAqZHN0LCBjb25zdCB2b2lkICpzcmMsIHNpemVfdCBu
KQogewotI2lmIEVOQUJMRShTRVBBUkFURURfV1hfSEVBUCkKICAgICAvLyBVc2UgZXhlY3V0ZS1v
bmx5IHdyaXRlIHRodW5rIGZvciB3cml0ZXMgaW5zaWRlIHRoZSBKSVQgcmVnaW9uLiBUaGlzIGlz
IGEgdmFyaWFudCBvZgogICAgIC8vIG1lbWNweSB0aGF0IHRha2VzIGFuIG9mZnNldCBpbnRvIHRo
ZSBKSVQgcmVnaW9uIGFzIGl0cyBkZXN0aW5hdGlvbiAoZmlyc3QpIHBhcmFtZXRlci4KLSAgICBp
ZiAoaml0V3JpdGVGdW5jdGlvbkFkZHJlc3MgJiYgKHVpbnRwdHJfdClkc3QgPj0gc3RhcnRPZkZp
eGVkRXhlY3V0YWJsZU1lbW9yeVBvb2wgJiYgKHVpbnRwdHJfdClkc3QgPD0gZW5kT2ZGaXhlZEV4
ZWN1dGFibGVNZW1vcnlQb29sKSB7Ci0gICAgICAgIHVzaW5nIEpJVFdyaXRlRnVuY3Rpb24gPSB2
b2lkICgqKShvZmZfdCwgY29uc3Qgdm9pZCosIHNpemVfdCk7Ci0gICAgICAgIEpJVFdyaXRlRnVu
Y3Rpb24gZnVuYyA9IChKSVRXcml0ZUZ1bmN0aW9uKWppdFdyaXRlRnVuY3Rpb25BZGRyZXNzOwor
ICAgIGlmIChqaXRXcml0ZUZ1bmN0aW9uICYmICh1aW50cHRyX3QpZHN0ID49IHN0YXJ0T2ZGaXhl
ZEV4ZWN1dGFibGVNZW1vcnlQb29sICYmICh1aW50cHRyX3QpZHN0IDw9IGVuZE9mRml4ZWRFeGVj
dXRhYmxlTWVtb3J5UG9vbCkgewogICAgICAgICBvZmZfdCBvZmZzZXQgPSAob2ZmX3QpKCh1aW50
cHRyX3QpZHN0IC0gc3RhcnRPZkZpeGVkRXhlY3V0YWJsZU1lbW9yeVBvb2wpOwotICAgICAgICBm
dW5jKG9mZnNldCwgc3JjLCBuKTsKKyAgICAgICAgaml0V3JpdGVGdW5jdGlvbihvZmZzZXQsIHNy
Yywgbik7CiAgICAgICAgIHJldHVybiBkc3Q7CiAgICAgfQotI2VuZGlmCiAKICAgICAvLyBVc2Ug
cmVndWxhciBtZW1jcHkgZm9yIHdyaXRlcyBvdXRzaWRlIHRoZSBKSVQgcmVnaW9uLgogICAgIHJl
dHVybiBtZW1jcHkoZHN0LCBzcmMsIG4pOwogfQogCisjZWxzZSAvLyBFTkFCTEUoRVhFQ1VUQUJM
RV9BTExPQ0FUT1JfRklYRUQpCitzdGF0aWMgaW5saW5lIHZvaWQqIHBlcmZvcm1KSVRNZW1jcHko
dm9pZCAqZHN0LCBjb25zdCB2b2lkICpzcmMsIHNpemVfdCBuKQoreworICAgIHJldHVybiBtZW1j
cHkoZHN0LCBzcmMsIG4pOworfQorI2VuZGlmCisKIGNsYXNzIEV4ZWN1dGFibGVBbGxvY2F0b3Ig
ewogICAgIGVudW0gUHJvdGVjdGlvblNldHRpbmcgeyBXcml0YWJsZSwgRXhlY3V0YWJsZSB9Owog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0V4ZWN1dGFibGVBbGxvY2F0
b3JGaXhlZFZNUG9vbC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0V4ZWN1dGFibGVB
bGxvY2F0b3JGaXhlZFZNUG9vbC5jcHAKaW5kZXggODJjNDZmN2E1ODgwYmI0Mzk4MTFlZmM5ZTVm
ZDRjZTk1OTI4ZjRhNS4uZjJhN2EyNmM2MjE3NTRhOWVjYTM2MWIxNjNhYzU0NzZlY2Y1NzhhYiAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9FeGVjdXRhYmxlQWxsb2NhdG9y
Rml4ZWRWTVBvb2wuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvRXhlY3V0YWJs
ZUFsbG9jYXRvckZpeGVkVk1Qb29sLmNwcApAQCAtNDgsNyArNDgsNiBAQAogI2luY2x1ZGUgPHN0
ZGlvLmg+CiAjZW5kaWYKIAotI2lmIEVOQUJMRShTRVBBUkFURURfV1hfSEVBUCkKICNpbmNsdWRl
ICJMaW5rQnVmZmVyLmgiCiAjaW5jbHVkZSAiTWFjcm9Bc3NlbWJsZXIuaCIKIApAQCAtNzksOCAr
NzgsNiBAQCBleHRlcm4gIkMiIHsKIAogI2VuZGlmCiAKLSNlbmRpZgotCiB1c2luZyBuYW1lc3Bh
Y2UgV1RGOwogCiBuYW1lc3BhY2UgSlNDIHsKQEAgLTg4LDggKzg1LDEwIEBAIG5hbWVzcGFjZSBK
U0MgewogSlNfRVhQT1JUREFUQSB1aW50cHRyX3Qgc3RhcnRPZkZpeGVkRXhlY3V0YWJsZU1lbW9y
eVBvb2w7CiBKU19FWFBPUlREQVRBIHVpbnRwdHJfdCBlbmRPZkZpeGVkRXhlY3V0YWJsZU1lbW9y
eVBvb2w7CiAKLSNpZiBFTkFCTEUoU0VQQVJBVEVEX1dYX0hFQVApCi1KU19FWFBPUlREQVRBIHVp
bnRwdHJfdCBqaXRXcml0ZUZ1bmN0aW9uQWRkcmVzczsKK0pTX0VYUE9SVERBVEEgSklUV3JpdGVG
dW5jdGlvbiBqaXRXcml0ZUZ1bmN0aW9uOworCisjaWYgIUVOQUJMRShTRVBBUkFURURfSEVBUF9K
SVRfV1JJVEVfRlVOQ1RJT04pCitzdGF0aWMgdWludHB0cl90IHN0YXJ0T2ZGaXhlZFdyaXRhYmxl
TWVtb3J5UG9vbDsKICNlbmRpZgogCiBjbGFzcyBGaXhlZFZNUG9vbEV4ZWN1dGFibGVBbGxvY2F0
b3IgOiBwdWJsaWMgTWV0YUFsbG9jYXRvciB7CkBAIC0xMDksNyArMTA4LDYgQEAgcHVibGljOgog
ICAgICAgICAgICAgQVNTRVJUKG1fcmVzZXJ2YXRpb24uc2l6ZSgpID09IHJlc2VydmF0aW9uU2l6
ZSk7CiAgICAgICAgICAgICB2b2lkKiByZXNlcnZhdGlvbkJhc2UgPSBtX3Jlc2VydmF0aW9uLmJh
c2UoKTsKIAotI2lmIEVOQUJMRShTRVBBUkFURURfV1hfSEVBUCkKICAgICAgICAgICAgIGlmIChP
cHRpb25zOjp1c2VTZXBhcmF0ZWRXWEhlYXAoKSkgewogICAgICAgICAgICAgICAgIC8vIEZpcnN0
IHBhZ2Ugb2Ygb3VyIEpJVCBhbGxvY2F0aW9uIGlzIHJlc2VydmVkLgogICAgICAgICAgICAgICAg
IEFTU0VSVChyZXNlcnZhdGlvblNpemUgPj0gcGFnZVNpemUoKSAqIDIpOwpAQCAtMTE3LDcgKzEx
NSw2IEBAIHB1YmxpYzoKICAgICAgICAgICAgICAgICByZXNlcnZhdGlvblNpemUgLT0gcGFnZVNp
emUoKTsKICAgICAgICAgICAgICAgICBpbml0aWFsaXplU2VwYXJhdGVkV1hIZWFwcyhtX3Jlc2Vy
dmF0aW9uLmJhc2UoKSwgcGFnZVNpemUoKSwgcmVzZXJ2YXRpb25CYXNlLCByZXNlcnZhdGlvblNp
emUpOwogICAgICAgICAgICAgfQotI2VuZGlmCiAKICAgICAgICAgICAgIGFkZEZyZXNoRnJlZVNw
YWNlKHJlc2VydmF0aW9uQmFzZSwgcmVzZXJ2YXRpb25TaXplKTsKIApAQCAtMTYzLDcgKzE2MCw3
IEBAIHByb3RlY3RlZDoKICAgICB9CiAKIHByaXZhdGU6Ci0jaWYgRU5BQkxFKFNFUEFSQVRFRF9X
WF9IRUFQKQorI2lmIE9TKERBUldJTikKICAgICB2b2lkIGluaXRpYWxpemVTZXBhcmF0ZWRXWEhl
YXBzKHZvaWQqIHN0dWJCYXNlLCBzaXplX3Qgc3R1YlNpemUsIHZvaWQqIGppdEJhc2UsIHNpemVf
dCBqaXRTaXplKQogICAgIHsKICAgICAgICAgbWFjaF92bV9hZGRyZXNzX3Qgd3JpdGFibGVBZGRy
ID0gMDsKQEAgLTE4NCw0MCArMTgxLDM5IEBAIHByaXZhdGU6CiAgICAgICAgICAgICByZXR1cm47
CiAKICAgICAgICAgLy8gQXNzZW1ibGUgYSB0aHVuayB0aGF0IHdpbGwgc2VydmUgYXMgdGhlIG1l
YW5zIGZvciB3cml0aW5nIGludG8gdGhlIEpJVCByZWdpb24uCi0gICAgICAgIE1hY3JvQXNzZW1i
bGVyQ29kZVJlZiB3cml0ZVRodW5rID0gaml0V3JpdGVUaHVua0dlbmVyYXRvcih3cml0YWJsZUFk
ZHIsIHN0dWJCYXNlLCBzdHViU2l6ZSk7CisgICAgICAgIE1hY3JvQXNzZW1ibGVyQ29kZVJlZiB3
cml0ZVRodW5rID0gaml0V3JpdGVUaHVua0dlbmVyYXRvcihyZWludGVycHJldF9jYXN0PHZvaWQq
Pih3cml0YWJsZUFkZHIpLCBzdHViQmFzZSwgc3R1YlNpemUpOwogCiAgICAgICAgIGludCByZXN1
bHQgPSAwOwogCi0gICAgICAgIGlmICghcmVtYXBTdWNjZWVkZWQpIHsKICNpZiBkZWZpbmVkKFZN
X1BST1RfRVhFQ1VURV9PTkxZKQotICAgICAgICAgICAgLy8gUHJldmVudCByZWFkaW5nIHRoZSB3
cml0ZSB0aHVuayBjb2RlLgotICAgICAgICAgICAgcmVzdWx0ID0gbXByb3RlY3Qoc3R1YkJhc2Us
IHN0dWJTaXplLCBWTV9QUk9UX0VYRUNVVEVfT05MWSk7Ci0gICAgICAgICAgICBSRUxFQVNFX0FT
U0VSVCghcmVzdWx0KTsKKyAgICAgICAgLy8gUHJldmVudCByZWFkaW5nIHRoZSB3cml0ZSB0aHVu
ayBjb2RlLgorICAgICAgICByZXN1bHQgPSBtcHJvdGVjdChzdHViQmFzZSwgc3R1YlNpemUsIFZN
X1BST1RfRVhFQ1VURV9PTkxZKTsKKyAgICAgICAgUkVMRUFTRV9BU1NFUlQoIXJlc3VsdCk7CiAj
ZW5kaWYKIAotICAgICAgICAgICAgLy8gUHJldmVudCB3cml0aW5nIGludG8gdGhlIGV4ZWN1dGFi
bGUgSklUIG1hcHBpbmcuCi0gICAgICAgICAgICByZXN1bHQgPSBtcHJvdGVjdChqaXRCYXNlLCBq
aXRTaXplLCBWTV9QUk9UX1JFQUQgfCBWTV9QUk9UX0VYRUNVVEUpOwotICAgICAgICAgICAgUkVM
RUFTRV9BU1NFUlQoIXJlc3VsdCk7CisgICAgICAgIC8vIFByZXZlbnQgd3JpdGluZyBpbnRvIHRo
ZSBleGVjdXRhYmxlIEpJVCBtYXBwaW5nLgorICAgICAgICByZXN1bHQgPSBtcHJvdGVjdChqaXRC
YXNlLCBqaXRTaXplLCBWTV9QUk9UX1JFQUQgfCBWTV9QUk9UX0VYRUNVVEUpOworICAgICAgICBS
RUxFQVNFX0FTU0VSVCghcmVzdWx0KTsKIAotICAgICAgICAgICAgLy8gUHJldmVudCBleGVjdXRp
b24gaW4gdGhlIHdyaXRhYmxlIEpJVCBtYXBwaW5nLgotICAgICAgICAgICAgcmVzdWx0ID0gbXBy
b3RlY3QoKHZvaWQqKXdyaXRhYmxlQWRkciwgaml0U2l6ZSwgVk1fUFJPVF9SRUFEIHwgVk1fUFJP
VF9XUklURSk7Ci0gICAgICAgICAgICBSRUxFQVNFX0FTU0VSVCghcmVzdWx0KTsKKyAgICAgICAg
Ly8gUHJldmVudCBleGVjdXRpb24gaW4gdGhlIHdyaXRhYmxlIEpJVCBtYXBwaW5nLgorICAgICAg
ICByZXN1bHQgPSBtcHJvdGVjdCgodm9pZCopd3JpdGFibGVBZGRyLCBqaXRTaXplLCBWTV9QUk9U
X1JFQUQgfCBWTV9QUk9UX1dSSVRFKTsKKyAgICAgICAgUkVMRUFTRV9BU1NFUlQoIXJlc3VsdCk7
CiAKLSAgICAgICAgICAgIC8vIFplcm8gb3V0IHdyaXRhYmxlQWRkciB0byBhdm9pZCBsZWFraW5n
IHRoZSBhZGRyZXNzIG9mIHRoZSB3cml0YWJsZSBtYXBwaW5nLgotICAgICAgICAgICAgbWVtc2V0
X3MoJndyaXRhYmxlQWRkciwgc2l6ZW9mKHdyaXRhYmxlQWRkciksIDAsIHNpemVvZih3cml0YWJs
ZUFkZHIpKTsKLSAgICAgICAgfQotICAgICAgICBqaXRXcml0ZUZ1bmN0aW9uQWRkcmVzcyA9ICh1
aW50cHRyX3Qpd3JpdGVUaHVuay5jb2RlKCkuZXhlY3V0YWJsZUFkZHJlc3MoKTsKKyAgICAgICAg
Ly8gWmVybyBvdXQgd3JpdGFibGVBZGRyIHRvIGF2b2lkIGxlYWtpbmcgdGhlIGFkZHJlc3Mgb2Yg
dGhlIHdyaXRhYmxlIG1hcHBpbmcuCisgICAgICAgIG1lbXNldF9zKCZ3cml0YWJsZUFkZHIsIHNp
emVvZih3cml0YWJsZUFkZHIpLCAwLCBzaXplb2Yod3JpdGFibGVBZGRyKSk7CisKKyAgICAgICAg
aml0V3JpdGVGdW5jdGlvbiA9IHJlaW50ZXJwcmV0X2Nhc3Q8SklUV3JpdGVGdW5jdGlvbj4od3Jp
dGVUaHVuay5jb2RlKCkuZXhlY3V0YWJsZUFkZHJlc3MoKSk7CiAgICAgfQogCiAjaWYgQ1BVKEFS
TTY0KQotICAgIE1hY3JvQXNzZW1ibGVyQ29kZVJlZiBqaXRXcml0ZVRodW5rR2VuZXJhdG9yKG1h
Y2hfdm1fYWRkcmVzc190IHdyaXRhYmxlQWRkciwgdm9pZCogc3R1YkJhc2UsIHNpemVfdCBzdHVi
U2l6ZSkKKyAgICBNYWNyb0Fzc2VtYmxlckNvZGVSZWYgaml0V3JpdGVUaHVua0dlbmVyYXRvcih2
b2lkKiB3cml0YWJsZUFkZHIsIHZvaWQqIHN0dWJCYXNlLCBzaXplX3Qgc3R1YlNpemUpCiAgICAg
ewogICAgICAgICB1c2luZyBuYW1lc3BhY2UgQVJNNjRSZWdpc3RlcnM7CiAgICAgICAgIHVzaW5n
IFRydXN0ZWRJbW0zMiA9IE1hY3JvQXNzZW1ibGVyOjpUcnVzdGVkSW1tMzI7CiAKICAgICAgICAg
TWFjcm9Bc3NlbWJsZXIgaml0OwogCi0gICAgICAgIGppdC5tb3ZlKE1hY3JvQXNzZW1ibGVyOjpU
cnVzdGVkSW1tUHRyKChjb25zdCB2b2lkKil3cml0YWJsZUFkZHIpLCB4Nyk7CisgICAgICAgIGpp
dC5tb3ZlKE1hY3JvQXNzZW1ibGVyOjpUcnVzdGVkSW1tUHRyKHdyaXRhYmxlQWRkciksIHg3KTsK
ICAgICAgICAgaml0LmFkZFB0cih4NywgeDApOwogCiAgICAgICAgIGppdC5tb3ZlKHgwLCB4Myk7
CkBAIC0yNzQsOCArMjcwLDI0IEBAIHByaXZhdGU6CiAgICAgICAgIExpbmtCdWZmZXIgbGlua0J1
ZmZlcihqaXQsIHN0dWJCYXNlLCBzdHViU2l6ZSk7CiAgICAgICAgIHJldHVybiBGSU5BTElaRV9D
T0RFKGxpbmtCdWZmZXIsICgiQnVsbGV0cHJvb2YgSklUIHdyaXRlIHRodW5rIikpOwogICAgIH0K
LSNlbmRpZiAvLyBDUFUoQVJNNjQpCi0jZW5kaWYgLy8gRU5BQkxFKFNFUEFSQVRFRF9XWF9IRUFQ
KQorI2Vsc2UgLy8gIUNQVShBUk02NCkKKyAgICBzdGF0aWMgdm9pZCBnZW5lcmljV3JpdGVUb0pJ
VFJlZ2lvbihvZmZfdCBvZmZzZXQsIGNvbnN0IHZvaWQqIGRhdGEsIHNpemVfdCBkYXRhU2l6ZSkK
KyAgICB7CisgICAgICAgIG1lbWNweSgodm9pZCopKHN0YXJ0T2ZGaXhlZFdyaXRhYmxlTWVtb3J5
UG9vbCArIG9mZnNldCksIGRhdGEsIGRhdGFTaXplKTsKKyAgICB9CisKKyAgICBNYWNyb0Fzc2Vt
YmxlckNvZGVSZWYgaml0V3JpdGVUaHVua0dlbmVyYXRvcih2b2lkKiBhZGRyZXNzLCB2b2lkKiwg
c2l6ZV90KQorICAgIHsKKyAgICAgICAgc3RhcnRPZkZpeGVkV3JpdGFibGVNZW1vcnlQb29sID0g
cmVpbnRlcnByZXRfY2FzdDx1aW50cHRyX3Q+KGFkZHJlc3MpOworICAgICAgICByZXR1cm4gTWFj
cm9Bc3NlbWJsZXJDb2RlUmVmOjpjcmVhdGVTZWxmTWFuYWdlZENvZGVSZWYoTWFjcm9Bc3NlbWJs
ZXJDb2RlUHRyKCh2b2lkKikmZ2VuZXJpY1dyaXRlVG9KSVRSZWdpb24pKTsKKyAgICB9CisjZW5k
aWYKKworI2Vsc2UgLy8gT1MoREFSV0lOKQorICAgIHZvaWQgaW5pdGlhbGl6ZVNlcGFyYXRlZFdY
SGVhcHModm9pZCosIHNpemVfdCwgdm9pZCosIHNpemVfdCkKKyAgICB7CisgICAgfQorI2VuZGlm
CiAKIHByaXZhdGU6CiAgICAgUGFnZVJlc2VydmF0aW9uIG1fcmVzZXJ2YXRpb247CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9PcHRpb25zLmNwcCBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL09wdGlvbnMuY3BwCmluZGV4IGUyYTY4NzI2MzQwNTlkODA2
ZTU3MDJkNDhhOTBmZGExNjQ3Y2NlZmUuLjQ0ZmQyMjZmM2NjMWY0MDBhNmFlY2I4OTIzMTY0ZTY3
YjRiMjQxYzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL09wdGlv
bnMuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL09wdGlvbnMuY3BwCkBA
IC0yOTQsOSArMjk0LDcgQEAgc3RhdGljIHZvaWQgcmVjb21wdXRlRGVwZW5kZW50T3B0aW9ucygp
CiAjaWYgIUVOQUJMRShGVExfSklUKQogICAgIE9wdGlvbnM6OnVzZUZUTEpJVCgpID0gZmFsc2U7
CiAjZW5kaWYKLSNpZiAhRU5BQkxFKFNFUEFSQVRFRF9XWF9IRUFQKQotICAgIE9wdGlvbnM6OnVz
ZVNlcGFyYXRlZFdYSGVhcCgpID0gZmFsc2U7Ci0jZW5kaWYKKyAgICAKICNpZiBPUyhXSU5ET1dT
KSAmJiBDUFUoWDg2KSAKICAgICAvLyBEaXNhYmxlIEpJVCBvbiBXaW5kb3dzIGlmIFNTRTIgaXMg
bm90IHByZXNlbnQgCiAgICAgaWYgKCFNYWNyb0Fzc2VtYmxlclg4Njo6c3VwcG9ydHNGbG9hdGlu
Z1BvaW50KCkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9PcHRp
b25zLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9PcHRpb25zLmgKaW5kZXggZTcy
MDAwYTliZDNkZGVlZmJiZjRhMzgzYzMyNGJhZWQ5NWEzYjJjYS4uNGYzYjM1MDJlYTZiNzI5Zjcw
ZTczOWU3YjE1NmE3OTUwZWMyZWJiNSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvT3B0aW9ucy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL09w
dGlvbnMuaApAQCAtMTE4LDcgKzExOCw3IEBAIHR5cGVkZWYgY29uc3QgY2hhciogb3B0aW9uU3Ry
aW5nOwogICAgIFwKICAgICB2KGJvb2wsIGNyYXNoSWZDYW50QWxsb2NhdGVKSVRNZW1vcnksIGZh
bHNlLCBudWxscHRyKSBcCiAgICAgdih1bnNpZ25lZCwgaml0TWVtb3J5UmVzZXJ2YXRpb25TaXpl
LCAwLCAiU2V0IHRoaXMgbnVtYmVyIHRvIGNoYW5nZSB0aGUgZXhlY3V0YWJsZSBhbGxvY2F0aW9u
IHNpemUgaW4gRXhlY3V0YWJsZUFsbG9jYXRvckZpeGVkVk1Qb29sLiAoSW4gYnl0ZXMuKSIpIFwK
LSAgICB2KGJvb2wsIHVzZVNlcGFyYXRlZFdYSGVhcCwgdHJ1ZSwgbnVsbHB0cikgXAorICAgIHYo
Ym9vbCwgdXNlU2VwYXJhdGVkV1hIZWFwLCBmYWxzZSwgbnVsbHB0cikgXAogICAgIFwKICAgICB2
KGJvb2wsIGZvcmNlQ29kZUJsb2NrTGl2ZW5lc3MsIGZhbHNlLCBudWxscHRyKSBcCiAgICAgdihi
b29sLCBmb3JjZUlDRmFpbHVyZSwgZmFsc2UsIG51bGxwdHIpIFwKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XVEYvd3RmL0ZlYXR1cmVEZWZpbmVzLmggYi9Tb3VyY2UvV1RGL3d0Zi9GZWF0dXJlRGVmaW5l
cy5oCmluZGV4IDZiOTUwZDU1MDE3MTE2ZWJjZWIxYjEyNDRhZmYzZTMxMjJiNDY3M2EuLjNmYjli
ZTY0ODE3MmQzOWJlMjE2MTQwZGZmMjA2ZWQ3N2Y1YjhjYjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
VEYvd3RmL0ZlYXR1cmVEZWZpbmVzLmgKKysrIGIvU291cmNlL1dURi93dGYvRmVhdHVyZURlZmlu
ZXMuaApAQCAtNzk1LDEwICs3OTUsNiBAQCB0aGUgcHVibGljIGlPUyBTREsuIFdlIHdpbGwgYWxz
byBuZWVkIHRvIHVwZGF0ZSB0aGUgRmVhdHVyZURlZmluZXMueGNjb25maWcgZmlsZQogI2RlZmlu
ZSBFTkFCTEVfWFNMVCAxCiAjZW5kaWYKIAotI2lmICFkZWZpbmVkKEVOQUJMRV9TRVBBUkFURURf
V1hfSEVBUCkKLSNkZWZpbmUgRU5BQkxFX1NFUEFSQVRFRF9XWF9IRUFQIDAKLSNlbmRpZgotCiAv
KiBBc3NlcnRzLCBpbnZhcmlhbnRzIGZvciBtYWNybyBkZWZpbml0aW9ucyAqLwogCiAjaWYgRU5B
QkxFKFZJREVPX1RSQUNLKSAmJiAhRU5BQkxFKFZJREVPKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dU
Ri93dGYvUGxhdGZvcm0uaCBiL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtLmgKaW5kZXggMzBlYTg3
MjM1YjgyMWE3ZjU3OGM5NDhmODhlOTdhMWM2YzdkODMwYi4uMGI0ZDc1MWNhODZmZmI0YjEzYTE3
ZTVjMzJkODQ1MTY4YzhlOTM2OSAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvUGxhdGZvcm0u
aAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybS5oCkBAIC0xMTQ1LDEwICsxMTQ1LDQgQEAK
ICNlbmRpZgogI2VuZGlmCiAKLSNpZiBkZWZpbmVkKEVOQUJMRV9TRVBBUkFURURfV1hfSEVBUCkK
LSNpZiAhKENQVShBUk02NCkgJiYgKChQTEFURk9STShJT1MpICYmIF9fSVBIT05FX09TX1ZFUlNJ
T05fTUlOX1JFUVVJUkVEID49IDEwMDAwMCkpKQotI3VuZGVmIEVOQUJMRV9TRVBBUkFURURfV1hf
SEVBUAotI2VuZGlmCi0jZW5kaWYKLQogI2VuZGlmIC8qIFdURl9QbGF0Zm9ybV9oICovCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2Nv
bmZpZyBiL1NvdXJjZS9XZWJDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29u
ZmlnCmluZGV4IDM4N2U0OThhZjhjNzVjZmJlOTVhMzc2MDJhMzVhZTU1ZjA0NTU0MGQuLjk0OTRl
MmY1ZTE0NjIzOTQxZDcxMzQ0Y2Y1MTFkNTJkNzRjYzdmNTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCkBAIC0xOTIs
NyArMTkyLDQgQEAgRU5BQkxFX0ZUTF9KSVRbc2RrPWlwaG9uZW9zKl0gPSBFTkFCTEVfRlRMX0pJ
VDsKIEVOQUJMRV9TSEFET1dfRE9NID0gRU5BQkxFX1NIQURPV19ET007CiBFTkFCTEVfQ1VTVE9N
X0VMRU1FTlRTID0gRU5BQkxFX0NVU1RPTV9FTEVNRU5UUzsKIAotRU5BQkxFX1NFUEFSQVRFRF9X
WF9IRUFQW3Nkaz1pcGhvbmUqXSA9IDsKLUVOQUJMRV9TRVBBUkFURURfV1hfSEVBUFtzZGs9bWFj
b3N4Kl0gPSA7Ci0KLUZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxFXzNEX1RSQU5TRk9STVMpICQo
RU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZM
T1dfU0NST0xMSU5HKSAkKEVOQUJMRV9BVkZfQ0FQVElPTlMpICQoRU5BQkxFX0FUVEFDSE1FTlRf
RUxFTUVOVCkgJChFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DQU5WQVNfUEFU
SCkgJChFTkFCTEVfQ0FOVkFTX1BST1hZKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChF
TkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKSAkKEVOQUJMRV9FUzZfQ0xBU1NfU1lOVEFY
KSAkKEVOQUJMRV9FUzZfR0VORVJBVE9SUykgJChFTkFCTEVfRVM2X01PRFVMRVMpICQoRU5BQkxF
X0NPTlRFTlRfRklMVEVSSU5HKSAkKEVOQUJMRV9DU1BfTkVYVCkgJChFTkFCTEVfQ1NTX0FOSU1B
VElPTlNfTEVWRUxfMikgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJM
RV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTikgJChFTkFC
TEVfQ1NTX0dSSURfTEFZT1VUKSAkKEVOQUJMRV9DU1NfSU1BR0VfT1JJRU5UQVRJT04pICQoRU5B
QkxFX0NTU19JTUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9DU1NfUkVHSU9OUykgJChFTkFCTEVf
Q1NTX1NFTEVDVE9SU19MRVZFTDQpICQoRU5BQkxFX0NTU19TSEFQRVMpICQoRU5BQkxFX0NTUzNf
VEVYVCkgJChFTkFCTEVfQ1NTM19URVhUX0xJTkVfQlJFQUspICQoRU5BQkxFX0NVUlNPUl9WSVNJ
QklMSVRZKSAkKEVOQUJMRV9DVVNUT01fU0NIRU1FX0hBTkRMRVIpICQoRU5BQkxFX0RBU0hCT0FS
RF9TVVBQT1JUKSAkKEVOQUJMRV9EQVRBTElTVF9FTEVNRU5UKSAkKEVOQUJMRV9EQVRBX1RSQU5T
RkVSX0lURU1TKSAkKEVOQUJMRV9ERVRBSUxTX0VMRU1FTlQpICQoRU5BQkxFX0RFVklDRV9PUklF
TlRBVElPTikgJChFTkFCTEVfRE9NNF9FVkVOVFNfQ09OU1RSVUNUT1IpICQoRU5BQkxFX0VOQ1JZ
UFRFRF9NRURJQSkgJChFTkFCTEVfRU5DUllQVEVEX01FRElBX1YyKSAkKEVOQUJMRV9GRVRDSF9B
UEkpICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikgJChFTkFCTEVfRk9OVF9MT0FEX0VWRU5UUykg
JChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dBTUVQ
QURfREVQUkVDQVRFRCkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0lDT05EQVRBQkFT
RSkgJChFTkFCTEVfU0VSVklDRV9DT05UUk9MUykgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkg
JChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAkKEVOQUJMRV9JTkRJRV9VSSkg
JChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUl9QT1BP
VkVSKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJ
TUVfSU5DT01QTEVURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJM
RV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lO
UFVUX1RZUEVfV0VFSykgJChFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKSAkKEVOQUJM
RV9JTlRMKSAkKEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX0lPU19URVhUX0FV
VE9TSVpJTkcpICQoRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMpICQoRU5BQkxFX0xFR0FDWV9DU1Nf
VkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVf
TEVHQUNZX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX1dFQl9BVURJTykgJChFTkFC
TEVfTEVUVEVSUFJFU1MpICQoRU5BQkxFX0xJTktfUFJFRkVUQ0gpICQoRU5BQkxFX01BQ19HRVNU
VVJFX0VWRU5UUykgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9DT05UUk9MU19TQ1JJ
UFQpICQoRU5BQkxFX01FRElBX1NFU1NJT04pICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFC
TEVfTUVESUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVESUFfU1RSRUFNKSAkKEVOQUJMRV9NRVRF
Ul9FTEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkgJChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAk
KEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9VVElMUykgJChFTkFCTEVfTkFWSUdBVE9SX0hXQ09O
Q1VSUkVOQ1kpICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX1BERktJVF9QTFVHSU4p
ICQoRU5BQkxFX1BPSU5URVJfTE9DSykgJChFTkFCTEVfUFJPWElNSVRZX0VWRU5UUykgJChFTkFC
TEVfUFVCTElDX1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVRVUVTVF9B
TklNQVRJT05fRlJBTUUpICQoRU5BQkxFX1JFUVVFU1RfQVVUT0NPTVBMRVRFKSAkKEVOQUJMRV9S
RU1PVEVfSU5TUEVDVE9SKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVOQUJM
RV9SRVNPVVJDRV9VU0FHRSkgJChFTkFCTEVfUlVCQkVSX0JBTkRJTkcpICQoRU5BQkxFX0NTU19T
Q1JPTExfU05BUCkgJChFTkFCTEVfU1BFRUNIX1NZTlRIRVNJUykgJChFTkFCTEVfU1RSRUFNU19B
UEkpICQoRU5BQkxFX1NVQlRMRV9DUllQVE8pICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVf
VEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04pICQoRU5BQkxFX1RFTVBMQVRFX0VMRU1FTlQpICQo
RU5BQkxFX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9U
T1VDSF9JQ09OX0xPQURJTkcpICQoRU5BQkxFX0NTU19UUkFJTElOR19XT1JEKSAkKEVOQUJMRV9V
U0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVO
QUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9WSUVXX01PREVfQ1NTX01FRElBKSAkKEVOQUJM
RV9XRUJBU1NFTUJMWSkgJChFTkFCTEVfV0VCR0wpICQoRU5BQkxFX1dFQkdMMikgJChFTkFCTEVf
V0VCX0FOSU1BVElPTlMpICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VCX1JFUExBWSkg
JChFTkFCTEVfV0VCX1NPQ0tFVFMpICQoRU5BQkxFX1dFQl9USU1JTkcpICQoRU5BQkxFX1hTTFQp
ICQoRU5BQkxFX0ZUTF9KSVQpICQoRU5BQkxFX0pJVCkgJChFTkFCTEVfU0hBRE9XX0RPTSkgJChF
TkFCTEVfQ1VTVE9NX0VMRU1FTlRTKSAkKEVOQUJMRV9WSURFT19QUkVTRU5UQVRJT05fTU9ERSkg
JChFTkFCTEVfU0VQQVJBVEVEX1dYX0hFQVApOworRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVf
M0RfVFJBTlNGT1JNUykgJChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9B
Q0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkcpICQoRU5BQkxFX0FWRl9DQVBUSU9OUykgJChF
TkFCTEVfQVRUQUNITUVOVF9FTEVNRU5UKSAkKEVOQUJMRV9DQUNIRV9QQVJUSVRJT05JTkcpICQo
RU5BQkxFX0NBTlZBU19QQVRIKSAkKEVOQUJMRV9DQU5WQVNfUFJPWFkpICQoRU5BQkxFX0NIQU5O
RUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9FUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpICQoRU5BQkxF
X0VTNl9DTEFTU19TWU5UQVgpICQoRU5BQkxFX0VTNl9HRU5FUkFUT1JTKSAkKEVOQUJMRV9FUzZf
TU9EVUxFUykgJChFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcpICQoRU5BQkxFX0NTUF9ORVhUKSAk
KEVOQUJMRV9DU1NfQU5JTUFUSU9OU19MRVZFTF8yKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJ
T05fQlJFQUspICQoRU5BQkxFX0NTU19DT01QT1NJVElORykgJChFTkFCTEVfQ1NTX0RFVklDRV9B
REFQVEFUSU9OKSAkKEVOQUJMRV9DU1NfR1JJRF9MQVlPVVQpICQoRU5BQkxFX0NTU19JTUFHRV9P
UklFTlRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJT04pICQoRU5BQkxFX0NTU19S
RUdJT05TKSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NTX1NIQVBF
UykgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJMRV9DU1MzX1RFWFRfTElORV9CUkVBSykgJChF
TkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikg
JChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQpICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQo
RU5BQkxFX0RBVEFfVFJBTlNGRVJfSVRFTVMpICQoRU5BQkxFX0RFVEFJTFNfRUxFTUVOVCkgJChF
TkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9ET000X0VWRU5UU19DT05TVFJVQ1RP
UikgJChFTkFCTEVfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUFfVjIp
ICQoRU5BQkxFX0ZFVENIX0FQSSkgJChFTkFCTEVfRklMVEVSU19MRVZFTF8yKSAkKEVOQUJMRV9G
T05UX0xPQURfRVZFTlRTKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0FNRVBB
RCkgJChFTkFCTEVfR0FNRVBBRF9ERVBSRUNBVEVEKSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChF
TkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKSAkKEVOQUJMRV9J
TkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMpICQo
RU5BQkxFX0lORElFX1VJKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9JTlBV
VF9UWVBFX0NPTE9SX1BPUE9WRVIpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFCTEVf
SU5QVVRfVFlQRV9EQVRFVElNRV9JTkNPTVBMRVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVU
SU1FTE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVf
VElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFD
S19UQVJHRVQpICQoRU5BQkxFX0lOVEwpICQoRU5BQkxFX0lPU19HRVNUVVJFX0VWRU5UUykgJChF
TkFCTEVfSU9TX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfSU9TX1RPVUNIX0VWRU5UUykgJChF
TkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9OT1RJRklD
QVRJT05TKSAkKEVOQUJMRV9MRUdBQ1lfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lf
V0VCX0FVRElPKSAkKEVOQUJMRV9MRVRURVJQUkVTUykgJChFTkFCTEVfTElOS19QUkVGRVRDSCkg
JChFTkFCTEVfTUFDX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01F
RElBX0NPTlRST0xTX1NDUklQVCkgJChFTkFCTEVfTUVESUFfU0VTU0lPTikgJChFTkFCTEVfTUVE
SUFfU09VUkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9NRURJQV9TVFJF
QU0pICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAkKEVOQUJMRV9NT1VT
RV9DVVJTT1JfU0NBTEUpICQoRU5BQkxFX05BVklHQVRPUl9DT05URU5UX1VUSUxTKSAkKEVOQUJM
RV9OQVZJR0FUT1JfSFdDT05DVVJSRU5DWSkgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykgJChFTkFC
TEVfUERGS0lUX1BMVUdJTikgJChFTkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVOQUJMRV9QUk9YSU1J
VFlfRVZFTlRTKSAkKEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJU1QpICQoRU5BQkxFX1FVT1RBKSAk
KEVOQUJMRV9SRVFVRVNUX0FOSU1BVElPTl9GUkFNRSkgJChFTkFCTEVfUkVRVUVTVF9BVVRPQ09N
UExFVEUpICQoRU5BQkxFX1JFTU9URV9JTlNQRUNUT1IpICQoRU5BQkxFX1JFU09MVVRJT05fTUVE
SUFfUVVFUlkpICQoRU5BQkxFX1JFU09VUkNFX1VTQUdFKSAkKEVOQUJMRV9SVUJCRVJfQkFORElO
RykgJChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAk
KEVOQUJMRV9TVFJFQU1TX0FQSSkgJChFTkFCTEVfU1VCVExFX0NSWVBUTykgJChFTkFCTEVfU1ZH
X0ZPTlRTKSAkKEVOQUJMRV9URUxFUEhPTkVfTlVNQkVSX0RFVEVDVElPTikgJChFTkFCTEVfVEVN
UExBVEVfRUxFTUVOVCkgJChFTkFCTEVfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9UT1VDSF9F
VkVOVFMpICQoRU5BQkxFX1RPVUNIX0lDT05fTE9BRElORykgJChFTkFCTEVfQ1NTX1RSQUlMSU5H
X1dPUkQpICQoRU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVf
VklERU9fVFJBQ0spICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUpICQoRU5BQkxFX1ZJRVdfTU9ERV9D
U1NfTUVESUEpICQoRU5BQkxFX1dFQkFTU0VNQkxZKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVf
V0VCR0wyKSAkKEVOQUJMRV9XRUJfQU5JTUFUSU9OUykgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVO
QUJMRV9XRUJfUkVQTEFZKSAkKEVOQUJMRV9XRUJfU09DS0VUUykgJChFTkFCTEVfV0VCX1RJTUlO
RykgJChFTkFCTEVfWFNMVCkgJChFTkFCTEVfRlRMX0pJVCkgJChFTkFCTEVfSklUKSAkKEVOQUJM
RV9TSEFET1dfRE9NKSAkKEVOQUJMRV9DVVNUT01fRUxFTUVOVFMpICQoRU5BQkxFX1ZJREVPX1BS
RVNFTlRBVElPTl9NT0RFKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL0NvbmZpZ3Vy
YXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnIGIvU291cmNlL1dlYktpdC9tYWMvQ29uZmln
dXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKaW5kZXggMzg3ZTQ5OGFmOGM3NWNmYmU5
NWEzNzYwMmEzNWFlNTVmMDQ1NTQwZC4uOTQ5NGUyZjVlMTQ2MjM5NDFkNzEzNDRjZjUxMWQ1MmQ3
NGNjN2Y1NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvQ29uZmlndXJhdGlvbnMvRmVh
dHVyZURlZmluZXMueGNjb25maWcKKysrIGIvU291cmNlL1dlYktpdC9tYWMvQ29uZmlndXJhdGlv
bnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKQEAgLTE5Miw3ICsxOTIsNCBAQCBFTkFCTEVfRlRM
X0pJVFtzZGs9aXBob25lb3MqXSA9IEVOQUJMRV9GVExfSklUOwogRU5BQkxFX1NIQURPV19ET00g
PSBFTkFCTEVfU0hBRE9XX0RPTTsKIEVOQUJMRV9DVVNUT01fRUxFTUVOVFMgPSBFTkFCTEVfQ1VT
VE9NX0VMRU1FTlRTOwogCi1FTkFCTEVfU0VQQVJBVEVEX1dYX0hFQVBbc2RrPWlwaG9uZSpdID0g
OwotRU5BQkxFX1NFUEFSQVRFRF9XWF9IRUFQW3Nkaz1tYWNvc3gqXSA9IDsKLQotRkVBVFVSRV9E
RUZJTkVTID0gJChFTkFCTEVfM0RfVFJBTlNGT1JNUykgJChFTkFCTEVfQUNDRUxFUkFURURfMkRf
Q0FOVkFTKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkcpICQoRU5BQkxF
X0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQVRUQUNITUVOVF9FTEVNRU5UKSAkKEVOQUJMRV9DQUNI
RV9QQVJUSVRJT05JTkcpICQoRU5BQkxFX0NBTlZBU19QQVRIKSAkKEVOQUJMRV9DQU5WQVNfUFJP
WFkpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9FUzZfQVJST1dGVU5DVElP
Tl9TWU5UQVgpICQoRU5BQkxFX0VTNl9DTEFTU19TWU5UQVgpICQoRU5BQkxFX0VTNl9HRU5FUkFU
T1JTKSAkKEVOQUJMRV9FUzZfTU9EVUxFUykgJChFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcpICQo
RU5BQkxFX0NTUF9ORVhUKSAkKEVOQUJMRV9DU1NfQU5JTUFUSU9OU19MRVZFTF8yKSAkKEVOQUJM
RV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUspICQoRU5BQkxFX0NTU19DT01QT1NJVElORykgJChF
TkFCTEVfQ1NTX0RFVklDRV9BREFQVEFUSU9OKSAkKEVOQUJMRV9DU1NfR1JJRF9MQVlPVVQpICQo
RU5BQkxFX0NTU19JTUFHRV9PUklFTlRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJ
T04pICQoRU5BQkxFX0NTU19SRUdJT05TKSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkg
JChFTkFCTEVfQ1NTX1NIQVBFUykgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJMRV9DU1MzX1RF
WFRfTElORV9CUkVBSykgJChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NVU1RP
TV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQpICQoRU5BQkxFX0RB
VEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RBVEFfVFJBTlNGRVJfSVRFTVMpICQoRU5BQkxFX0RF
VEFJTFNfRUxFTUVOVCkgJChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9ET000
X0VWRU5UU19DT05TVFJVQ1RPUikgJChFTkFCTEVfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9F
TkNSWVBURURfTUVESUFfVjIpICQoRU5BQkxFX0ZFVENIX0FQSSkgJChFTkFCTEVfRklMVEVSU19M
RVZFTF8yKSAkKEVOQUJMRV9GT05UX0xPQURfRVZFTlRTKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQ
SSkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0FNRVBBRF9ERVBSRUNBVEVEKSAkKEVOQUJM
RV9HRU9MT0NBVElPTikgJChFTkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJMRV9TRVJWSUNFX0NP
TlRST0xTKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFC
QVNFX0lOX1dPUktFUlMpICQoRU5BQkxFX0lORElFX1VJKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NP
TE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SX1BPUE9WRVIpICQoRU5BQkxFX0lOUFVUX1RZ
UEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRV9JTkNPTVBMRVRFKSAkKEVOQUJM
RV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQo
RU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJM
RV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICQoRU5BQkxFX0lOVEwpICQoRU5BQkxFX0lPU19H
RVNUVVJFX0VWRU5UUykgJChFTkFCTEVfSU9TX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfSU9T
X1RPVUNIX0VWRU5UUykgJChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMpICQoRU5B
QkxFX0xFR0FDWV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9MRUdBQ1lfVkVORE9SX1BSRUZJWEVT
KSAkKEVOQUJMRV9MRUdBQ1lfV0VCX0FVRElPKSAkKEVOQUJMRV9MRVRURVJQUkVTUykgJChFTkFC
TEVfTElOS19QUkVGRVRDSCkgJChFTkFCTEVfTUFDX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9N
QVRITUwpICQoRU5BQkxFX01FRElBX0NPTlRST0xTX1NDUklQVCkgJChFTkFCTEVfTUVESUFfU0VT
U0lPTikgJChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAk
KEVOQUJMRV9NRURJQV9TVFJFQU0pICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxFX01I
VE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUpICQoRU5BQkxFX05BVklHQVRPUl9DT05U
RU5UX1VUSUxTKSAkKEVOQUJMRV9OQVZJR0FUT1JfSFdDT05DVVJSRU5DWSkgJChFTkFCTEVfTk9U
SUZJQ0FUSU9OUykgJChFTkFCTEVfUERGS0lUX1BMVUdJTikgJChFTkFCTEVfUE9JTlRFUl9MT0NL
KSAkKEVOQUJMRV9QUk9YSU1JVFlfRVZFTlRTKSAkKEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJU1Qp
ICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRVFVRVNUX0FOSU1BVElPTl9GUkFNRSkgJChFTkFC
TEVfUkVRVUVTVF9BVVRPQ09NUExFVEUpICQoRU5BQkxFX1JFTU9URV9JTlNQRUNUT1IpICQoRU5B
QkxFX1JFU09MVVRJT05fTUVESUFfUVVFUlkpICQoRU5BQkxFX1JFU09VUkNFX1VTQUdFKSAkKEVO
QUJMRV9SVUJCRVJfQkFORElORykgJChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9T
UEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TVFJFQU1TX0FQSSkgJChFTkFCTEVfU1VCVExFX0NS
WVBUTykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9URUxFUEhPTkVfTlVNQkVSX0RFVEVD
VElPTikgJChFTkFCTEVfVEVNUExBVEVfRUxFTUVOVCkgJChFTkFCTEVfVEVYVF9BVVRPU0laSU5H
KSAkKEVOQUJMRV9UT1VDSF9FVkVOVFMpICQoRU5BQkxFX1RPVUNIX0lDT05fTE9BRElORykgJChF
TkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQoRU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJM
RV9WSURFTykgJChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUpICQo
RU5BQkxFX1ZJRVdfTU9ERV9DU1NfTUVESUEpICQoRU5BQkxFX1dFQkFTU0VNQkxZKSAkKEVOQUJM
RV9XRUJHTCkgJChFTkFCTEVfV0VCR0wyKSAkKEVOQUJMRV9XRUJfQU5JTUFUSU9OUykgJChFTkFC
TEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfUkVQTEFZKSAkKEVOQUJMRV9XRUJfU09DS0VUUykg
JChFTkFCTEVfV0VCX1RJTUlORykgJChFTkFCTEVfWFNMVCkgJChFTkFCTEVfRlRMX0pJVCkgJChF
TkFCTEVfSklUKSAkKEVOQUJMRV9TSEFET1dfRE9NKSAkKEVOQUJMRV9DVVNUT01fRUxFTUVOVFMp
ICQoRU5BQkxFX1ZJREVPX1BSRVNFTlRBVElPTl9NT0RFKSAkKEVOQUJMRV9TRVBBUkFURURfV1hf
SEVBUCk7CitGRUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9UUkFOU0ZPUk1TKSAkKEVOQUJM
RV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1ND
Uk9MTElORykgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1F
TlQpICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykgJChFTkFCTEVfQ0FOVkFTX1BBVEgpICQo
RU5BQkxFX0NBTlZBU19QUk9YWSkgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxF
X0VTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkgJChFTkFCTEVfRVM2X0NMQVNTX1NZTlRBWCkgJChF
TkFCTEVfRVM2X0dFTkVSQVRPUlMpICQoRU5BQkxFX0VTNl9NT0RVTEVTKSAkKEVOQUJMRV9DT05U
RU5UX0ZJTFRFUklORykgJChFTkFCTEVfQ1NQX05FWFQpICQoRU5BQkxFX0NTU19BTklNQVRJT05T
X0xFVkVMXzIpICQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVBSykgJChFTkFCTEVfQ1NT
X0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJT04pICQoRU5BQkxFX0NT
U19HUklEX0xBWU9VVCkgJChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9D
U1NfSU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1JFR0lPTlMpICQoRU5BQkxFX0NTU19T
RUxFQ1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9DU1NfU0hBUEVTKSAkKEVOQUJMRV9DU1MzX1RFWFQp
ICQoRU5BQkxFX0NTUzNfVEVYVF9MSU5FX0JSRUFLKSAkKEVOQUJMRV9DVVJTT1JfVklTSUJJTElU
WSkgJChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQ
UE9SVCkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREFUQV9UUkFOU0ZFUl9J
VEVNUykgJChFTkFCTEVfREVUQUlMU19FTEVNRU5UKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJ
T04pICQoRU5BQkxFX0RPTTRfRVZFTlRTX0NPTlNUUlVDVE9SKSAkKEVOQUJMRV9FTkNSWVBURURf
TUVESUEpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQV9WMikgJChFTkFCTEVfRkVUQ0hfQVBJKSAk
KEVOQUJMRV9GSUxURVJTX0xFVkVMXzIpICQoRU5BQkxFX0ZPTlRfTE9BRF9FVkVOVFMpICQoRU5B
QkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HQU1FUEFEX0RF
UFJFQ0FURUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9JQ09OREFUQUJBU0UpICQo
RU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5B
QkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5ESUVfVUkpICQoRU5B
QkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1JfUE9QT1ZFUikg
JChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lO
Q09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5Q
VVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9U
WVBFX1dFRUspICQoRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkgJChFTkFCTEVfSU5U
TCkgJChFTkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1NfVEVYVF9BVVRPU0la
SU5HKSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRP
Ul9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX05PVElGSUNBVElPTlMpICQoRU5BQkxFX0xFR0FD
WV9WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9XRUJfQVVESU8pICQoRU5BQkxFX0xF
VFRFUlBSRVNTKSAkKEVOQUJMRV9MSU5LX1BSRUZFVENIKSAkKEVOQUJMRV9NQUNfR0VTVFVSRV9F
VkVOVFMpICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUKSAk
KEVOQUJMRV9NRURJQV9TRVNTSU9OKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01F
RElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FRElBX1NUUkVBTSkgJChFTkFCTEVfTUVURVJfRUxF
TUVOVCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFC
TEVfTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpICQoRU5BQkxFX05BVklHQVRPUl9IV0NPTkNVUlJF
TkNZKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9QREZLSVRfUExVR0lOKSAkKEVO
QUJMRV9QT0lOVEVSX0xPQ0spICQoRU5BQkxFX1BST1hJTUlUWV9FVkVOVFMpICQoRU5BQkxFX1BV
QkxJQ19TVUZGSVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFUVVFU1RfQU5JTUFU
SU9OX0ZSQU1FKSAkKEVOQUJMRV9SRVFVRVNUX0FVVE9DT01QTEVURSkgJChFTkFCTEVfUkVNT1RF
X0lOU1BFQ1RPUikgJChFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVfUkVT
T1VSQ0VfVVNBR0UpICQoRU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAkKEVOQUJMRV9DU1NfU0NST0xM
X1NOQVApICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxFX1NUUkVBTVNfQVBJKSAk
KEVOQUJMRV9TVUJUTEVfQ1JZUFRPKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1RFTEVQ
SE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVOQUJMRV9URU1QTEFURV9FTEVNRU5UKSAkKEVOQUJM
RV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVE9VQ0hf
SUNPTl9MT0FESU5HKSAkKEVOQUJMRV9DU1NfVFJBSUxJTkdfV09SRCkgJChFTkFCTEVfVVNFUlNF
TEVDVF9BTEwpICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVf
REFUQUNVRV9WQUxVRSkgJChFTkFCTEVfVklFV19NT0RFX0NTU19NRURJQSkgJChFTkFCTEVfV0VC
QVNTRU1CTFkpICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJHTDIpICQoRU5BQkxFX1dFQl9B
TklNQVRJT05TKSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9SRVBMQVkpICQoRU5B
QkxFX1dFQl9TT0NLRVRTKSAkKEVOQUJMRV9XRUJfVElNSU5HKSAkKEVOQUJMRV9YU0xUKSAkKEVO
QUJMRV9GVExfSklUKSAkKEVOQUJMRV9KSVQpICQoRU5BQkxFX1NIQURPV19ET00pICQoRU5BQkxF
X0NVU1RPTV9FTEVNRU5UUykgJChFTkFCTEVfVklERU9fUFJFU0VOVEFUSU9OX01PREUpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNj
b25maWcgYi9Tb3VyY2UvV2ViS2l0Mi9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2Nv
bmZpZwppbmRleCAzODdlNDk4YWY4Yzc1Y2ZiZTk1YTM3NjAyYTM1YWU1NWYwNDU1NDBkLi45NDk0
ZTJmNWUxNDYyMzk0MWQ3MTM0NGNmNTExZDUyZDc0Y2M3ZjU2IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0Mi9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZworKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwpAQCAtMTky
LDcgKzE5Miw0IEBAIEVOQUJMRV9GVExfSklUW3Nkaz1pcGhvbmVvcypdID0gRU5BQkxFX0ZUTF9K
SVQ7CiBFTkFCTEVfU0hBRE9XX0RPTSA9IEVOQUJMRV9TSEFET1dfRE9NOwogRU5BQkxFX0NVU1RP
TV9FTEVNRU5UUyA9IEVOQUJMRV9DVVNUT01fRUxFTUVOVFM7CiAKLUVOQUJMRV9TRVBBUkFURURf
V1hfSEVBUFtzZGs9aXBob25lKl0gPSA7Ci1FTkFCTEVfU0VQQVJBVEVEX1dYX0hFQVBbc2RrPW1h
Y29zeCpdID0gOwotCi1GRUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9UUkFOU0ZPUk1TKSAk
KEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJG
TE9XX1NDUk9MTElORykgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9BVFRBQ0hNRU5U
X0VMRU1FTlQpICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykgJChFTkFCTEVfQ0FOVkFTX1BB
VEgpICQoRU5BQkxFX0NBTlZBU19QUk9YWSkgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQo
RU5BQkxFX0VTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkgJChFTkFCTEVfRVM2X0NMQVNTX1NZTlRB
WCkgJChFTkFCTEVfRVM2X0dFTkVSQVRPUlMpICQoRU5BQkxFX0VTNl9NT0RVTEVTKSAkKEVOQUJM
RV9DT05URU5UX0ZJTFRFUklORykgJChFTkFCTEVfQ1NQX05FWFQpICQoRU5BQkxFX0NTU19BTklN
QVRJT05TX0xFVkVMXzIpICQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVBSykgJChFTkFC
TEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJT04pICQoRU5B
QkxFX0NTU19HUklEX0xBWU9VVCkgJChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVO
QUJMRV9DU1NfSU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1JFR0lPTlMpICQoRU5BQkxF
X0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9DU1NfU0hBUEVTKSAkKEVOQUJMRV9DU1Mz
X1RFWFQpICQoRU5BQkxFX0NTUzNfVEVYVF9MSU5FX0JSRUFLKSAkKEVOQUJMRV9DVVJTT1JfVklT
SUJJTElUWSkgJChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJMRV9EQVNIQk9B
UkRfU1VQUE9SVCkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREFUQV9UUkFO
U0ZFUl9JVEVNUykgJChFTkFCTEVfREVUQUlMU19FTEVNRU5UKSAkKEVOQUJMRV9ERVZJQ0VfT1JJ
RU5UQVRJT04pICQoRU5BQkxFX0RPTTRfRVZFTlRTX0NPTlNUUlVDVE9SKSAkKEVOQUJMRV9FTkNS
WVBURURfTUVESUEpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQV9WMikgJChFTkFCTEVfRkVUQ0hf
QVBJKSAkKEVOQUJMRV9GSUxURVJTX0xFVkVMXzIpICQoRU5BQkxFX0ZPTlRfTE9BRF9FVkVOVFMp
ICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HQU1F
UEFEX0RFUFJFQ0FURUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9JQ09OREFUQUJB
U0UpICQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0Up
ICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5ESUVfVUkp
ICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1JfUE9Q
T1ZFUikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVU
SU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFC
TEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9J
TlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkgJChFTkFC
TEVfSU5UTCkgJChFTkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1NfVEVYVF9B
VVRPU0laSU5HKSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9MRUdBQ1lfQ1NT
X1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX05PVElGSUNBVElPTlMpICQoRU5BQkxF
X0xFR0FDWV9WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9XRUJfQVVESU8pICQoRU5B
QkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9MSU5LX1BSRUZFVENIKSAkKEVOQUJMRV9NQUNfR0VT
VFVSRV9FVkVOVFMpICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NS
SVBUKSAkKEVOQUJMRV9NRURJQV9TRVNTSU9OKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQoRU5B
QkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FRElBX1NUUkVBTSkgJChFTkFCTEVfTUVU
RVJfRUxFTUVOVCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkg
JChFTkFCTEVfTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpICQoRU5BQkxFX05BVklHQVRPUl9IV0NP
TkNVUlJFTkNZKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9QREZLSVRfUExVR0lO
KSAkKEVOQUJMRV9QT0lOVEVSX0xPQ0spICQoRU5BQkxFX1BST1hJTUlUWV9FVkVOVFMpICQoRU5B
QkxFX1BVQkxJQ19TVUZGSVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFUVVFU1Rf
QU5JTUFUSU9OX0ZSQU1FKSAkKEVOQUJMRV9SRVFVRVNUX0FVVE9DT01QTEVURSkgJChFTkFCTEVf
UkVNT1RFX0lOU1BFQ1RPUikgJChFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFC
TEVfUkVTT1VSQ0VfVVNBR0UpICQoRU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAkKEVOQUJMRV9DU1Nf
U0NST0xMX1NOQVApICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxFX1NUUkVBTVNf
QVBJKSAkKEVOQUJMRV9TVUJUTEVfQ1JZUFRPKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxF
X1RFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVOQUJMRV9URU1QTEFURV9FTEVNRU5UKSAk
KEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVf
VE9VQ0hfSUNPTl9MT0FESU5HKSAkKEVOQUJMRV9DU1NfVFJBSUxJTkdfV09SRCkgJChFTkFCTEVf
VVNFUlNFTEVDVF9BTEwpICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChF
TkFCTEVfREFUQUNVRV9WQUxVRSkgJChFTkFCTEVfVklFV19NT0RFX0NTU19NRURJQSkgJChFTkFC
TEVfV0VCQVNTRU1CTFkpICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJHTDIpICQoRU5BQkxF
X1dFQl9BTklNQVRJT05TKSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9SRVBMQVkp
ICQoRU5BQkxFX1dFQl9TT0NLRVRTKSAkKEVOQUJMRV9XRUJfVElNSU5HKSAkKEVOQUJMRV9YU0xU
KSAkKEVOQUJMRV9GVExfSklUKSAkKEVOQUJMRV9KSVQpICQoRU5BQkxFX1NIQURPV19ET00pICQo
RU5BQkxFX0NVU1RPTV9FTEVNRU5UUykgJChFTkFCTEVfVklERU9fUFJFU0VOVEFUSU9OX01PREUp
ICQoRU5BQkxFX1NFUEFSQVRFRF9XWF9IRUFQKTsKK0ZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxF
XzNEX1RSQU5TRk9STVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVf
QUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HKSAkKEVOQUJMRV9BVkZfQ0FQVElPTlMpICQo
RU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVOVCkgJChFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAk
KEVOQUJMRV9DQU5WQVNfUEFUSCkgJChFTkFCTEVfQ0FOVkFTX1BST1hZKSAkKEVOQUJMRV9DSEFO
TkVMX01FU1NBR0lORykgJChFTkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKSAkKEVOQUJM
RV9FUzZfQ0xBU1NfU1lOVEFYKSAkKEVOQUJMRV9FUzZfR0VORVJBVE9SUykgJChFTkFCTEVfRVM2
X01PRFVMRVMpICQoRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HKSAkKEVOQUJMRV9DU1BfTkVYVCkg
JChFTkFCTEVfQ1NTX0FOSU1BVElPTlNfTEVWRUxfMikgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFU
SU9OX0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19ERVZJQ0Vf
QURBUFRBVElPTikgJChFTkFCTEVfQ1NTX0dSSURfTEFZT1VUKSAkKEVOQUJMRV9DU1NfSU1BR0Vf
T1JJRU5UQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9DU1Nf
UkVHSU9OUykgJChFTkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQpICQoRU5BQkxFX0NTU19TSEFQ
RVMpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NTM19URVhUX0xJTkVfQlJFQUspICQo
RU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVOQUJMRV9DVVNUT01fU0NIRU1FX0hBTkRMRVIp
ICQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUKSAkKEVOQUJMRV9EQVRBTElTVF9FTEVNRU5UKSAk
KEVOQUJMRV9EQVRBX1RSQU5TRkVSX0lURU1TKSAkKEVOQUJMRV9ERVRBSUxTX0VMRU1FTlQpICQo
RU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVfRE9NNF9FVkVOVFNfQ09OU1RSVUNU
T1IpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfRU5DUllQVEVEX01FRElBX1Yy
KSAkKEVOQUJMRV9GRVRDSF9BUEkpICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikgJChFTkFCTEVf
Rk9OVF9MT0FEX0VWRU5UUykgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQ
QUQpICQoRU5BQkxFX0dBTUVQQURfREVQUkVDQVRFRCkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQo
RU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVfU0VSVklDRV9DT05UUk9MUykgJChFTkFCTEVf
SU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAk
KEVOQUJMRV9JTkRJRV9VSSkgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5Q
VVRfVFlQRV9DT0xPUl9QT1BPVkVSKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxF
X0lOUFVUX1RZUEVfREFURVRJTUVfSU5DT01QTEVURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRF
VElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBF
X1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVfV0lSRUxFU1NfUExBWUJB
Q0tfVEFSR0VUKSAkKEVOQUJMRV9JTlRMKSAkKEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMpICQo
RU5BQkxFX0lPU19URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMpICQo
RU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfTk9USUZJ
Q0FUSU9OUykgJChFTkFCTEVfTEVHQUNZX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZ
X1dFQl9BVURJTykgJChFTkFCTEVfTEVUVEVSUFJFU1MpICQoRU5BQkxFX0xJTktfUFJFRkVUQ0gp
ICQoRU5BQkxFX01BQ19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9N
RURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxFX01FRElBX1NFU1NJT04pICQoRU5BQkxFX01F
RElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVESUFfU1RS
RUFNKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkgJChFTkFCTEVfTU9V
U0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9VVElMUykgJChFTkFC
TEVfTkFWSUdBVE9SX0hXQ09OQ1VSUkVOQ1kpICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5B
QkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJfTE9DSykgJChFTkFCTEVfUFJPWElN
SVRZX0VWRU5UUykgJChFTkFCTEVfUFVCTElDX1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkg
JChFTkFCTEVfUkVRVUVTVF9BTklNQVRJT05fRlJBTUUpICQoRU5BQkxFX1JFUVVFU1RfQVVUT0NP
TVBMRVRFKSAkKEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9SKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01F
RElBX1FVRVJZKSAkKEVOQUJMRV9SRVNPVVJDRV9VU0FHRSkgJChFTkFCTEVfUlVCQkVSX0JBTkRJ
TkcpICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkgJChFTkFCTEVfU1BFRUNIX1NZTlRIRVNJUykg
JChFTkFCTEVfU1RSRUFNU19BUEkpICQoRU5BQkxFX1NVQlRMRV9DUllQVE8pICQoRU5BQkxFX1NW
R19GT05UUykgJChFTkFCTEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04pICQoRU5BQkxFX1RF
TVBMQVRFX0VMRU1FTlQpICQoRU5BQkxFX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfVE9VQ0hf
RVZFTlRTKSAkKEVOQUJMRV9UT1VDSF9JQ09OX0xPQURJTkcpICQoRU5BQkxFX0NTU19UUkFJTElO
R19XT1JEKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVklERU8pICQoRU5BQkxF
X1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9WSUVXX01PREVf
Q1NTX01FRElBKSAkKEVOQUJMRV9XRUJBU1NFTUJMWSkgJChFTkFCTEVfV0VCR0wpICQoRU5BQkxF
X1dFQkdMMikgJChFTkFCTEVfV0VCX0FOSU1BVElPTlMpICQoRU5BQkxFX1dFQl9BVURJTykgJChF
TkFCTEVfV0VCX1JFUExBWSkgJChFTkFCTEVfV0VCX1NPQ0tFVFMpICQoRU5BQkxFX1dFQl9USU1J
TkcpICQoRU5BQkxFX1hTTFQpICQoRU5BQkxFX0ZUTF9KSVQpICQoRU5BQkxFX0pJVCkgJChFTkFC
TEVfU0hBRE9XX0RPTSkgJChFTkFCTEVfQ1VTVE9NX0VMRU1FTlRTKSAkKEVOQUJMRV9WSURFT19Q
UkVTRU5UQVRJT05fTU9ERSk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>274142</attachid>
            <date>2016-03-15 15:22:38 -0700</date>
            <delta_ts>2016-04-05 19:57:57 -0700</delta_ts>
            <desc>patch for landing</desc>
            <filename>bug-155508-20160315152226.patch</filename>
            <type>text/plain</type>
            <size>43942</size>
            <attacher name="Oliver Hunt">oliver</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTk4MjE5CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBh
MGMzYjdlMGNjNmU2YjUxOGY3OWNhMDJmMWUyZjQxYzFhMTQxNTljLi4xMGQ0MGYwOWEyMjM0NzFh
YjVmY2EzYTFmM2E0ZWY2ZDYxMWRkNGY4IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwzMCBAQAorMjAxNi0wMy0xNSAgT2xpdmVyIEh1bnQgIDxvbGl2ZXJAYXBwbGUuY29tPgor
CisgICAgICAgIFJlbW92ZSBjb21waWxlIHRpbWUgZGVmaW5lIGZvciBTRVBBUkFURURfSEVBUAor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTU1NTA4CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhpcyByZW1v
dmVzIHRoZSBjb21waWxlIHRpbWUgZGVmaW5lIGZvciB0aGUgU0VQQVJBVEVEX0hFQVAKKyAgICAg
ICAgZmVhdHVyZSwgYW5kIG1vdmVzIHRvIGEgZGVmYXVsdC1vZmYgcnVudGltZSBwcmVmZXJlbmNl
LgorCisgICAgICAgIFRoaXMgaGFwcGlseSBhbHNvIHJlbW92ZXMgdGhlIG5lZWQgZm9yIHdvcmxk
IHJlYnVpbGRzIHdoaWxlCisgICAgICAgIGJyaW5naW5nIGl0IHVwIG9uIGRpZmZlcmVudCBwbGF0
Zm9ybXMuCisKKyAgICAgICAgKiBDb25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZp
ZzoKKyAgICAgICAgKiBhc3NlbWJsZXIvTGlua0J1ZmZlci5jcHA6CisgICAgICAgIChKU0M6Okxp
bmtCdWZmZXI6OmNvcHlDb21wYWN0QW5kTGlua0NvZGUpOgorICAgICAgICAqIGppdC9FeGVjdXRh
YmxlQWxsb2NhdG9yLmg6CisgICAgICAgIChKU0M6OnBlcmZvcm1KSVRNZW1jcHkpOgorICAgICAg
ICAqIGppdC9FeGVjdXRhYmxlQWxsb2NhdG9yRml4ZWRWTVBvb2wuY3BwOgorICAgICAgICAoSlND
OjpGaXhlZFZNUG9vbEV4ZWN1dGFibGVBbGxvY2F0b3I6OmluaXRpYWxpemVTZXBhcmF0ZWRXWEhl
YXBzKToKKyAgICAgICAgKEpTQzo6Rml4ZWRWTVBvb2xFeGVjdXRhYmxlQWxsb2NhdG9yOjpqaXRX
cml0ZVRodW5rR2VuZXJhdG9yKToKKyAgICAgICAgKEpTQzo6Rml4ZWRWTVBvb2xFeGVjdXRhYmxl
QWxsb2NhdG9yOjpnZW5lcmljV3JpdGVUb0pJVFJlZ2lvbik6CisgICAgICAgIChKU0M6OkZpeGVk
Vk1Qb29sRXhlY3V0YWJsZUFsbG9jYXRvcjo6Rml4ZWRWTVBvb2xFeGVjdXRhYmxlQWxsb2NhdG9y
KTogRGVsZXRlZC4KKyAgICAgICAgKiBydW50aW1lL09wdGlvbnMuY3BwOgorICAgICAgICAoSlND
OjpyZWNvbXB1dGVEZXBlbmRlbnRPcHRpb25zKToKKyAgICAgICAgKiBydW50aW1lL09wdGlvbnMu
aDoKKwogMjAxNi0wMy0xNSAgRmlsaXAgUGl6bG8gIDxmcGl6bG9AYXBwbGUuY29tPgogCiAgICAg
ICAgIFJlbW92ZSB0aGUgQmFrZXIgYmFycmllciBmcm9tIEpTQwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dURi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV1RGL0NoYW5nZUxvZwppbmRleCAwMWU3MTQxNWMzMDRh
NDU2ZTVjZWNiNGNiOTBlZjBmNGQxZWZkZjQxLi40MjBkMGRjYWIyMGYzMzAzYzBlYWM5YWExNGFm
ZWJkZTA3ZTAyZjMxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL0NoYW5nZUxvZworKysgYi9Tb3Vy
Y2UvV1RGL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDE2LTAzLTE1ICBPbGl2ZXIgSHVu
dCAgPG9saXZlckBhcHBsZS5jb20+CisKKyAgICAgICAgUmVtb3ZlIGNvbXBpbGUgdGltZSBkZWZp
bmUgZm9yIFNFUEFSQVRFRF9IRUFQCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xNTU1MDgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBSZW1vdmUgdGhlIGZlYXR1cmUgZGVmaW5lLgorCisgICAgICAgICogd3Rm
L0ZlYXR1cmVEZWZpbmVzLmg6CisgICAgICAgICogd3RmL1BsYXRmb3JtLmg6CisKIDIwMTYtMDMt
MTQgIE1hcmsgTGFtICA8bWFyay5sYW1AYXBwbGUuY29tPgogCiAgICAgICAgIE5lZWQgdG8gZGlz
dGluZ3Vpc2ggYmV0d2VlbiBTeW1ib2woKSBhbmQgU3ltYm9sKCIiKS4KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBi
ZDdiN2JiZjg4NTBmOGE2MmNmOGY0YjA4NTVmNGMxMDVjZTBhOGNhLi45YzFiMGNmNWNmZGJkMjEy
MjdlYzgzYjlhMGM4MDMxYmQwZmE0NGUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFu
Z2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIw
MTYtMDMtMTUgIE9saXZlciBIdW50ICA8b2xpdmVyQGFwcGxlLmNvbT4KKworICAgICAgICBSZW1v
dmUgY29tcGlsZSB0aW1lIGRlZmluZSBmb3IgU0VQQVJBVEVEX0hFQVAKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1NTUwOAorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJlbW92ZSB0aGUgZmVhdHVyZSBkZWZp
bmUuCisKKyAgICAgICAgKiBDb25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZzoK
KwogMjAxNi0wMy0xNSAgQ2hyaXMgRmxlaXphY2ggIDxjZmxlaXphY2hAYXBwbGUuY29tPgogCiAg
ICAgICAgIEFYOiBjZXJ0YWluIGVsZW1lbnRzIG5vdCBpbmNsdWRlZCBpbiBhY2Nlc3NpYmlsaXR5
IHRyZWUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZyBiL1NvdXJjZS9X
ZWJLaXQvbWFjL0NoYW5nZUxvZwppbmRleCA5ZDQ1ZDk2MDJjN2Q4NjJlYzUzNzUzYjA4ZGU3ODA0
MDA2N2IzZjdkLi4yMGI4Mzk1MTRmMjlhNDA2NTU3NDJjNWMxZjZiYWYwYzkwNTFjNTAzIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9t
YWMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTYtMDMtMTUgIE9saXZlciBIdW50ICA8
b2xpdmVyQGFwcGxlLmNvbT4KKworICAgICAgICBSZW1vdmUgY29tcGlsZSB0aW1lIGRlZmluZSBm
b3IgU0VQQVJBVEVEX0hFQVAKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTE1NTUwOAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIFJlbW92ZSB0aGUgZmVhdHVyZSBkZWZpbmUuCisKKyAgICAgICAgKiBDb25maWd1
cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZzoKKwogMjAxNi0wMy0xNSAgQ2hyaXMgRHVt
ZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0
IHIxOTgyMDMuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cgYi9Tb3VyY2Uv
V2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggY2ZiOTAxZDIxMDcxODVlZmQ3MmNmMTJmOTc2OWIxODIz
ODZjNGMzNy4uMDEzMDQ5OTJlYzFiNjZiNDkyNjEyMjZkODIyMjVmZTRjOWFiZjAwNCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5n
ZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDE2LTAzLTE1ICBPbGl2ZXIgSHVudCAgPG9saXZlckBh
cHBsZS5jb20+CisKKyAgICAgICAgUmVtb3ZlIGNvbXBpbGUgdGltZSBkZWZpbmUgZm9yIFNFUEFS
QVRFRF9IRUFQCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xNTU1MDgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBSZW1vdmUgdGhlIGZlYXR1cmUgZGVmaW5lLgorCisgICAgICAgICogQ29uZmlndXJhdGlvbnMv
RmVhdHVyZURlZmluZXMueGNjb25maWc6CisKIDIwMTYtMDMtMTUgIEd5dXlvdW5nIEtpbSAgPGd5
dXlvdW5nLmtpbUB3ZWJraXQub3JnPgogCiAgICAgICAgIEVGTCBidWlsZCBoYXMgYmVlbiBicm9r
ZW4gc2luY2UgcjE5ODE4MApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0NvbmZp
Z3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCmluZGV4IDM4N2U0OThhZjhj
NzVjZmJlOTVhMzc2MDJhMzVhZTU1ZjA0NTU0MGQuLjk0OTRlMmY1ZTE0NjIzOTQxZDcxMzQ0Y2Y1
MTFkNTJkNzRjYzdmNTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9Db25maWd1
cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZworKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKQEAgLTE5Miw3ICsxOTIs
NCBAQCBFTkFCTEVfRlRMX0pJVFtzZGs9aXBob25lb3MqXSA9IEVOQUJMRV9GVExfSklUOwogRU5B
QkxFX1NIQURPV19ET00gPSBFTkFCTEVfU0hBRE9XX0RPTTsKIEVOQUJMRV9DVVNUT01fRUxFTUVO
VFMgPSBFTkFCTEVfQ1VTVE9NX0VMRU1FTlRTOwogCi1FTkFCTEVfU0VQQVJBVEVEX1dYX0hFQVBb
c2RrPWlwaG9uZSpdID0gOwotRU5BQkxFX1NFUEFSQVRFRF9XWF9IRUFQW3Nkaz1tYWNvc3gqXSA9
IDsKLQotRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfVFJBTlNGT1JNUykgJChFTkFCTEVf
QUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JP
TExJTkcpICQoRU5BQkxFX0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQVRUQUNITUVOVF9FTEVNRU5U
KSAkKEVOQUJMRV9DQUNIRV9QQVJUSVRJT05JTkcpICQoRU5BQkxFX0NBTlZBU19QQVRIKSAkKEVO
QUJMRV9DQU5WQVNfUFJPWFkpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9F
UzZfQVJST1dGVU5DVElPTl9TWU5UQVgpICQoRU5BQkxFX0VTNl9DTEFTU19TWU5UQVgpICQoRU5B
QkxFX0VTNl9HRU5FUkFUT1JTKSAkKEVOQUJMRV9FUzZfTU9EVUxFUykgJChFTkFCTEVfQ09OVEVO
VF9GSUxURVJJTkcpICQoRU5BQkxFX0NTUF9ORVhUKSAkKEVOQUJMRV9DU1NfQU5JTUFUSU9OU19M
RVZFTF8yKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUspICQoRU5BQkxFX0NTU19D
T01QT1NJVElORykgJChFTkFCTEVfQ1NTX0RFVklDRV9BREFQVEFUSU9OKSAkKEVOQUJMRV9DU1Nf
R1JJRF9MQVlPVVQpICQoRU5BQkxFX0NTU19JTUFHRV9PUklFTlRBVElPTikgJChFTkFCTEVfQ1NT
X0lNQUdFX1JFU09MVVRJT04pICQoRU5BQkxFX0NTU19SRUdJT05TKSAkKEVOQUJMRV9DU1NfU0VM
RUNUT1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NTX1NIQVBFUykgJChFTkFCTEVfQ1NTM19URVhUKSAk
KEVOQUJMRV9DU1MzX1RFWFRfTElORV9CUkVBSykgJChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkp
ICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVfREFTSEJPQVJEX1NVUFBP
UlQpICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RBVEFfVFJBTlNGRVJfSVRF
TVMpICQoRU5BQkxFX0RFVEFJTFNfRUxFTUVOVCkgJChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9O
KSAkKEVOQUJMRV9ET000X0VWRU5UU19DT05TVFJVQ1RPUikgJChFTkFCTEVfRU5DUllQVEVEX01F
RElBKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUFfVjIpICQoRU5BQkxFX0ZFVENIX0FQSSkgJChF
TkFCTEVfRklMVEVSU19MRVZFTF8yKSAkKEVOQUJMRV9GT05UX0xPQURfRVZFTlRTKSAkKEVOQUJM
RV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0FNRVBBRF9ERVBS
RUNBVEVEKSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVO
QUJMRV9TRVJWSUNFX0NPTlRST0xTKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJM
RV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMpICQoRU5BQkxFX0lORElFX1VJKSAkKEVOQUJM
RV9JTlBVVF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SX1BPUE9WRVIpICQo
RU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRV9JTkNP
TVBMRVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxFX0lOUFVU
X1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQ
RV9XRUVLKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICQoRU5BQkxFX0lOVEwp
ICQoRU5BQkxFX0lPU19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfSU9TX1RFWFRfQVVUT1NJWklO
RykgJChFTkFCTEVfSU9TX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1Jf
UFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9MRUdBQ1lf
VkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfV0VCX0FVRElPKSAkKEVOQUJMRV9MRVRU
RVJQUkVTUykgJChFTkFCTEVfTElOS19QUkVGRVRDSCkgJChFTkFCTEVfTUFDX0dFU1RVUkVfRVZF
TlRTKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElBX0NPTlRST0xTX1NDUklQVCkgJChF
TkFCTEVfTUVESUFfU0VTU0lPTikgJChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9NRURJ
QV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9NRURJQV9TVFJFQU0pICQoRU5BQkxFX01FVEVSX0VMRU1F
TlQpICQoRU5BQkxFX01IVE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUpICQoRU5BQkxF
X05BVklHQVRPUl9DT05URU5UX1VUSUxTKSAkKEVOQUJMRV9OQVZJR0FUT1JfSFdDT05DVVJSRU5D
WSkgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfUERGS0lUX1BMVUdJTikgJChFTkFC
TEVfUE9JTlRFUl9MT0NLKSAkKEVOQUJMRV9QUk9YSU1JVFlfRVZFTlRTKSAkKEVOQUJMRV9QVUJM
SUNfU1VGRklYX0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRVFVRVNUX0FOSU1BVElP
Tl9GUkFNRSkgJChFTkFCTEVfUkVRVUVTVF9BVVRPQ09NUExFVEUpICQoRU5BQkxFX1JFTU9URV9J
TlNQRUNUT1IpICQoRU5BQkxFX1JFU09MVVRJT05fTUVESUFfUVVFUlkpICQoRU5BQkxFX1JFU09V
UkNFX1VTQUdFKSAkKEVOQUJMRV9SVUJCRVJfQkFORElORykgJChFTkFCTEVfQ1NTX1NDUk9MTF9T
TkFQKSAkKEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TVFJFQU1TX0FQSSkgJChF
TkFCTEVfU1VCVExFX0NSWVBUTykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9URUxFUEhP
TkVfTlVNQkVSX0RFVEVDVElPTikgJChFTkFCTEVfVEVNUExBVEVfRUxFTUVOVCkgJChFTkFCTEVf
VEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9UT1VDSF9FVkVOVFMpICQoRU5BQkxFX1RPVUNIX0lD
T05fTE9BRElORykgJChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQoRU5BQkxFX1VTRVJTRUxF
Q1RfQUxMKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxFX0RB
VEFDVUVfVkFMVUUpICQoRU5BQkxFX1ZJRVdfTU9ERV9DU1NfTUVESUEpICQoRU5BQkxFX1dFQkFT
U0VNQkxZKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCR0wyKSAkKEVOQUJMRV9XRUJfQU5J
TUFUSU9OUykgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfUkVQTEFZKSAkKEVOQUJM
RV9XRUJfU09DS0VUUykgJChFTkFCTEVfV0VCX1RJTUlORykgJChFTkFCTEVfWFNMVCkgJChFTkFC
TEVfRlRMX0pJVCkgJChFTkFCTEVfSklUKSAkKEVOQUJMRV9TSEFET1dfRE9NKSAkKEVOQUJMRV9D
VVNUT01fRUxFTUVOVFMpICQoRU5BQkxFX1ZJREVPX1BSRVNFTlRBVElPTl9NT0RFKSAkKEVOQUJM
RV9TRVBBUkFURURfV1hfSEVBUCk7CitGRUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9UUkFO
U0ZPUk1TKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VMRVJB
VEVEX09WRVJGTE9XX1NDUk9MTElORykgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9B
VFRBQ0hNRU5UX0VMRU1FTlQpICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykgJChFTkFCTEVf
Q0FOVkFTX1BBVEgpICQoRU5BQkxFX0NBTlZBU19QUk9YWSkgJChFTkFCTEVfQ0hBTk5FTF9NRVNT
QUdJTkcpICQoRU5BQkxFX0VTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkgJChFTkFCTEVfRVM2X0NM
QVNTX1NZTlRBWCkgJChFTkFCTEVfRVM2X0dFTkVSQVRPUlMpICQoRU5BQkxFX0VTNl9NT0RVTEVT
KSAkKEVOQUJMRV9DT05URU5UX0ZJTFRFUklORykgJChFTkFCTEVfQ1NQX05FWFQpICQoRU5BQkxF
X0NTU19BTklNQVRJT05TX0xFVkVMXzIpICQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVB
SykgJChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJ
T04pICQoRU5BQkxFX0NTU19HUklEX0xBWU9VVCkgJChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFU
SU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1JFR0lPTlMp
ICQoRU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9DU1NfU0hBUEVTKSAkKEVO
QUJMRV9DU1MzX1RFWFQpICQoRU5BQkxFX0NTUzNfVEVYVF9MSU5FX0JSRUFLKSAkKEVOQUJMRV9D
VVJTT1JfVklTSUJJTElUWSkgJChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJM
RV9EQVNIQk9BUkRfU1VQUE9SVCkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVf
REFUQV9UUkFOU0ZFUl9JVEVNUykgJChFTkFCTEVfREVUQUlMU19FTEVNRU5UKSAkKEVOQUJMRV9E
RVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RPTTRfRVZFTlRTX0NPTlNUUlVDVE9SKSAkKEVO
QUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQV9WMikgJChFTkFC
TEVfRkVUQ0hfQVBJKSAkKEVOQUJMRV9GSUxURVJTX0xFVkVMXzIpICQoRU5BQkxFX0ZPTlRfTE9B
RF9FVkVOVFMpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVO
QUJMRV9HQU1FUEFEX0RFUFJFQ0FURUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9J
Q09OREFUQUJBU0UpICQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX0lOREVYRURf
REFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVf
SU5ESUVfVUkpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZUEVf
Q09MT1JfUE9QT1ZFUikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9U
WVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NB
TCkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAk
KEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdF
VCkgJChFTkFCTEVfSU5UTCkgJChFTkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9J
T1NfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9M
RUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX05PVElGSUNBVElPTlMp
ICQoRU5BQkxFX0xFR0FDWV9WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9XRUJfQVVE
SU8pICQoRU5BQkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9MSU5LX1BSRUZFVENIKSAkKEVOQUJM
RV9NQUNfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFfQ09O
VFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJQV9TRVNTSU9OKSAkKEVOQUJMRV9NRURJQV9TT1VS
Q0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FRElBX1NUUkVBTSkgJChF
TkFCTEVfTUVURVJfRUxFTUVOVCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxFX01PVVNFX0NVUlNP
Ul9TQ0FMRSkgJChFTkFCTEVfTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpICQoRU5BQkxFX05BVklH
QVRPUl9IV0NPTkNVUlJFTkNZKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9QREZL
SVRfUExVR0lOKSAkKEVOQUJMRV9QT0lOVEVSX0xPQ0spICQoRU5BQkxFX1BST1hJTUlUWV9FVkVO
VFMpICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxF
X1JFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FKSAkKEVOQUJMRV9SRVFVRVNUX0FVVE9DT01QTEVURSkg
JChFTkFCTEVfUkVNT1RFX0lOU1BFQ1RPUikgJChFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVS
WSkgJChFTkFCTEVfUkVTT1VSQ0VfVVNBR0UpICQoRU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAkKEVO
QUJMRV9DU1NfU0NST0xMX1NOQVApICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxF
X1NUUkVBTVNfQVBJKSAkKEVOQUJMRV9TVUJUTEVfQ1JZUFRPKSAkKEVOQUJMRV9TVkdfRk9OVFMp
ICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVOQUJMRV9URU1QTEFURV9F
TEVNRU5UKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RPVUNIX0VWRU5UUykg
JChFTkFCTEVfVE9VQ0hfSUNPTl9MT0FESU5HKSAkKEVOQUJMRV9DU1NfVFJBSUxJTkdfV09SRCkg
JChFTkFCTEVfVVNFUlNFTEVDVF9BTEwpICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSURFT19U
UkFDSykgJChFTkFCTEVfREFUQUNVRV9WQUxVRSkgJChFTkFCTEVfVklFV19NT0RFX0NTU19NRURJ
QSkgJChFTkFCTEVfV0VCQVNTRU1CTFkpICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJHTDIp
ICQoRU5BQkxFX1dFQl9BTklNQVRJT05TKSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dF
Ql9SRVBMQVkpICQoRU5BQkxFX1dFQl9TT0NLRVRTKSAkKEVOQUJMRV9XRUJfVElNSU5HKSAkKEVO
QUJMRV9YU0xUKSAkKEVOQUJMRV9GVExfSklUKSAkKEVOQUJMRV9KSVQpICQoRU5BQkxFX1NIQURP
V19ET00pICQoRU5BQkxFX0NVU1RPTV9FTEVNRU5UUykgJChFTkFCTEVfVklERU9fUFJFU0VOVEFU
SU9OX01PREUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9M
aW5rQnVmZmVyLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTGlua0J1ZmZl
ci5jcHAKaW5kZXggZjBmYmM1MDk2YjI0OTFlN2NmY2ExYWZkZTIzODg4NzQ5MTJkNTliNS4uYjVl
NjU2MDc1NTI4OWY1NjAwNmQ2ZjVhNzZmZWQwYjg4Y2Q5ZGEwZCAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9MaW5rQnVmZmVyLmNwcAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvYXNzZW1ibGVyL0xpbmtCdWZmZXIuY3BwCkBAIC0xMDUsMTIgKzEwNSwxMCBA
QCB2b2lkIExpbmtCdWZmZXI6OmNvcHlDb21wYWN0QW5kTGlua0NvZGUoTWFjcm9Bc3NlbWJsZXIm
IG1hY3JvQXNzZW1ibGVyLCB2b2lkKiBvdwogICAgIFZlY3RvcjxMaW5rUmVjb3JkLCAwLCBVbnNh
ZmVWZWN0b3JPdmVyZmxvdz4mIGp1bXBzVG9MaW5rID0gbWFjcm9Bc3NlbWJsZXIuanVtcHNUb0xp
bmsoKTsKICAgICBtX2Fzc2VtYmxlclN0b3JhZ2UgPSBtYWNyb0Fzc2VtYmxlci5tX2Fzc2VtYmxl
ci5idWZmZXIoKS5yZWxlYXNlQXNzZW1ibGVyRGF0YSgpOwogICAgIHVpbnQ4X3QqIGluRGF0YSA9
IHJlaW50ZXJwcmV0X2Nhc3Q8dWludDhfdCo+KG1fYXNzZW1ibGVyU3RvcmFnZS5idWZmZXIoKSk7
Ci0jaWYgRU5BQkxFKFNFUEFSQVRFRF9XWF9IRUFQKQorCiAgICAgQXNzZW1ibGVyRGF0YSBvdXRC
dWZmZXIobV9zaXplKTsKICAgICB1aW50OF90KiBvdXREYXRhID0gcmVpbnRlcnByZXRfY2FzdDx1
aW50OF90Kj4ob3V0QnVmZmVyLmJ1ZmZlcigpKTsKLSNlbHNlCi0gICAgdWludDhfdCogb3V0RGF0
YSA9IHJlaW50ZXJwcmV0X2Nhc3Q8dWludDhfdCo+KG1fY29kZSk7Ci0jZW5kaWYKKwogICAgIGlu
dCByZWFkUHRyID0gMDsKICAgICBpbnQgd3JpdGVQdHIgPSAwOwogICAgIHVuc2lnbmVkIGp1bXBD
b3VudCA9IGp1bXBzVG9MaW5rLnNpemUoKTsKQEAgLTE2NSw5ICsxNjMsNyBAQCB2b2lkIExpbmtC
dWZmZXI6OmNvcHlDb21wYWN0QW5kTGlua0NvZGUoTWFjcm9Bc3NlbWJsZXImIG1hY3JvQXNzZW1i
bGVyLCB2b2lkKiBvdwogICAgIGp1bXBzVG9MaW5rLmNsZWFyKCk7CiAgICAgc2hyaW5rKHdyaXRl
UHRyICsgbV9pbml0aWFsU2l6ZSAtIHJlYWRQdHIpOwogCi0jaWYgRU5BQkxFKFNFUEFSQVRFRF9X
WF9IRUFQKQogICAgIHBlcmZvcm1KSVRNZW1jcHkobV9jb2RlLCBvdXRCdWZmZXIuYnVmZmVyKCks
IG1fc2l6ZSk7Ci0jZW5kaWYKIAogI2lmIERVTVBfTElOS19TVEFUSVNUSUNTCiAgICAgZHVtcExp
bmtTdGF0aXN0aWNzKG1fY29kZSwgbV9pbml0aWFsU2l6ZSwgbV9zaXplKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvRXhlY3V0YWJsZUFsbG9jYXRvci5oIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2ppdC9FeGVjdXRhYmxlQWxsb2NhdG9yLmgKaW5kZXggNWI1NTY4MzBl
OTJmNTllYjNmNDg2YTU1Y2JmODQ3NTNmNWUyZWQwNi4uNzRjZGMxZmIwZjg4ZGJhOTkxN2NlZTIx
YWQ5MmJhOTMxMzIzODk1OCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9F
eGVjdXRhYmxlQWxsb2NhdG9yLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9FeGVj
dXRhYmxlQWxsb2NhdG9yLmgKQEAgLTkyLDI5ICs5MiwzMCBAQCBzdGF0aWMgY29uc3QgZG91Ymxl
IGV4ZWN1dGFibGVQb29sUmVzZXJ2YXRpb25GcmFjdGlvbiA9IDAuMjU7CiBleHRlcm4gSlNfRVhQ
T1JUREFUQSB1aW50cHRyX3Qgc3RhcnRPZkZpeGVkRXhlY3V0YWJsZU1lbW9yeVBvb2w7CiBleHRl
cm4gSlNfRVhQT1JUREFUQSB1aW50cHRyX3QgZW5kT2ZGaXhlZEV4ZWN1dGFibGVNZW1vcnlQb29s
OwogCi0jaWYgRU5BQkxFKFNFUEFSQVRFRF9XWF9IRUFQKQotZXh0ZXJuIEpTX0VYUE9SVERBVEEg
dWludHB0cl90IGppdFdyaXRlRnVuY3Rpb25BZGRyZXNzOwotI2VuZGlmCi0jZW5kaWYgLy8gRU5B
QkxFKEVYRUNVVEFCTEVfQUxMT0NBVE9SX0ZJWEVEKQordHlwZWRlZiB2b2lkICgqSklUV3JpdGVG
dW5jdGlvbikob2ZmX3QsIGNvbnN0IHZvaWQqLCBzaXplX3QpOworZXh0ZXJuIEpTX0VYUE9SVERB
VEEgSklUV3JpdGVGdW5jdGlvbiBqaXRXcml0ZUZ1bmN0aW9uOwogCiBzdGF0aWMgaW5saW5lIHZv
aWQqIHBlcmZvcm1KSVRNZW1jcHkodm9pZCAqZHN0LCBjb25zdCB2b2lkICpzcmMsIHNpemVfdCBu
KQogewotI2lmIEVOQUJMRShTRVBBUkFURURfV1hfSEVBUCkKICAgICAvLyBVc2UgZXhlY3V0ZS1v
bmx5IHdyaXRlIHRodW5rIGZvciB3cml0ZXMgaW5zaWRlIHRoZSBKSVQgcmVnaW9uLiBUaGlzIGlz
IGEgdmFyaWFudCBvZgogICAgIC8vIG1lbWNweSB0aGF0IHRha2VzIGFuIG9mZnNldCBpbnRvIHRo
ZSBKSVQgcmVnaW9uIGFzIGl0cyBkZXN0aW5hdGlvbiAoZmlyc3QpIHBhcmFtZXRlci4KLSAgICBp
ZiAoaml0V3JpdGVGdW5jdGlvbkFkZHJlc3MgJiYgKHVpbnRwdHJfdClkc3QgPj0gc3RhcnRPZkZp
eGVkRXhlY3V0YWJsZU1lbW9yeVBvb2wgJiYgKHVpbnRwdHJfdClkc3QgPD0gZW5kT2ZGaXhlZEV4
ZWN1dGFibGVNZW1vcnlQb29sKSB7Ci0gICAgICAgIHVzaW5nIEpJVFdyaXRlRnVuY3Rpb24gPSB2
b2lkICgqKShvZmZfdCwgY29uc3Qgdm9pZCosIHNpemVfdCk7Ci0gICAgICAgIEpJVFdyaXRlRnVu
Y3Rpb24gZnVuYyA9IChKSVRXcml0ZUZ1bmN0aW9uKWppdFdyaXRlRnVuY3Rpb25BZGRyZXNzOwor
ICAgIGlmIChqaXRXcml0ZUZ1bmN0aW9uICYmICh1aW50cHRyX3QpZHN0ID49IHN0YXJ0T2ZGaXhl
ZEV4ZWN1dGFibGVNZW1vcnlQb29sICYmICh1aW50cHRyX3QpZHN0IDw9IGVuZE9mRml4ZWRFeGVj
dXRhYmxlTWVtb3J5UG9vbCkgewogICAgICAgICBvZmZfdCBvZmZzZXQgPSAob2ZmX3QpKCh1aW50
cHRyX3QpZHN0IC0gc3RhcnRPZkZpeGVkRXhlY3V0YWJsZU1lbW9yeVBvb2wpOwotICAgICAgICBm
dW5jKG9mZnNldCwgc3JjLCBuKTsKKyAgICAgICAgaml0V3JpdGVGdW5jdGlvbihvZmZzZXQsIHNy
Yywgbik7CiAgICAgICAgIHJldHVybiBkc3Q7CiAgICAgfQotI2VuZGlmCiAKICAgICAvLyBVc2Ug
cmVndWxhciBtZW1jcHkgZm9yIHdyaXRlcyBvdXRzaWRlIHRoZSBKSVQgcmVnaW9uLgogICAgIHJl
dHVybiBtZW1jcHkoZHN0LCBzcmMsIG4pOwogfQogCisjZWxzZSAvLyBFTkFCTEUoRVhFQ1VUQUJM
RV9BTExPQ0FUT1JfRklYRUQpCitzdGF0aWMgaW5saW5lIHZvaWQqIHBlcmZvcm1KSVRNZW1jcHko
dm9pZCAqZHN0LCBjb25zdCB2b2lkICpzcmMsIHNpemVfdCBuKQoreworICAgIHJldHVybiBtZW1j
cHkoZHN0LCBzcmMsIG4pOworfQorI2VuZGlmCisKIGNsYXNzIEV4ZWN1dGFibGVBbGxvY2F0b3Ig
ewogICAgIGVudW0gUHJvdGVjdGlvblNldHRpbmcgeyBXcml0YWJsZSwgRXhlY3V0YWJsZSB9Owog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0V4ZWN1dGFibGVBbGxvY2F0
b3JGaXhlZFZNUG9vbC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0V4ZWN1dGFibGVB
bGxvY2F0b3JGaXhlZFZNUG9vbC5jcHAKaW5kZXggODJjNDZmN2E1ODgwYmI0Mzk4MTFlZmM5ZTVm
ZDRjZTk1OTI4ZjRhNS4uMjA2Yjc3Yzg4MzMxMjlhZWE1YTJmMmQ1ZGU2ODg0ODQ3ZTUyZGNiYSAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9FeGVjdXRhYmxlQWxsb2NhdG9y
Rml4ZWRWTVBvb2wuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvRXhlY3V0YWJs
ZUFsbG9jYXRvckZpeGVkVk1Qb29sLmNwcApAQCAtNDgsNyArNDgsNiBAQAogI2luY2x1ZGUgPHN0
ZGlvLmg+CiAjZW5kaWYKIAotI2lmIEVOQUJMRShTRVBBUkFURURfV1hfSEVBUCkKICNpbmNsdWRl
ICJMaW5rQnVmZmVyLmgiCiAjaW5jbHVkZSAiTWFjcm9Bc3NlbWJsZXIuaCIKIApAQCAtNzksOCAr
NzgsNiBAQCBleHRlcm4gIkMiIHsKIAogI2VuZGlmCiAKLSNlbmRpZgotCiB1c2luZyBuYW1lc3Bh
Y2UgV1RGOwogCiBuYW1lc3BhY2UgSlNDIHsKQEAgLTg4LDggKzg1LDEwIEBAIG5hbWVzcGFjZSBK
U0MgewogSlNfRVhQT1JUREFUQSB1aW50cHRyX3Qgc3RhcnRPZkZpeGVkRXhlY3V0YWJsZU1lbW9y
eVBvb2w7CiBKU19FWFBPUlREQVRBIHVpbnRwdHJfdCBlbmRPZkZpeGVkRXhlY3V0YWJsZU1lbW9y
eVBvb2w7CiAKLSNpZiBFTkFCTEUoU0VQQVJBVEVEX1dYX0hFQVApCi1KU19FWFBPUlREQVRBIHVp
bnRwdHJfdCBqaXRXcml0ZUZ1bmN0aW9uQWRkcmVzczsKK0pTX0VYUE9SVERBVEEgSklUV3JpdGVG
dW5jdGlvbiBqaXRXcml0ZUZ1bmN0aW9uOworCisjaWYgIUVOQUJMRShTRVBBUkFURURfSEVBUF9K
SVRfV1JJVEVfRlVOQ1RJT04pCitzdGF0aWMgdWludHB0cl90IHN0YXJ0T2ZGaXhlZFdyaXRhYmxl
TWVtb3J5UG9vbDsKICNlbmRpZgogCiBjbGFzcyBGaXhlZFZNUG9vbEV4ZWN1dGFibGVBbGxvY2F0
b3IgOiBwdWJsaWMgTWV0YUFsbG9jYXRvciB7CkBAIC0xMDksNyArMTA4LDYgQEAgcHVibGljOgog
ICAgICAgICAgICAgQVNTRVJUKG1fcmVzZXJ2YXRpb24uc2l6ZSgpID09IHJlc2VydmF0aW9uU2l6
ZSk7CiAgICAgICAgICAgICB2b2lkKiByZXNlcnZhdGlvbkJhc2UgPSBtX3Jlc2VydmF0aW9uLmJh
c2UoKTsKIAotI2lmIEVOQUJMRShTRVBBUkFURURfV1hfSEVBUCkKICAgICAgICAgICAgIGlmIChP
cHRpb25zOjp1c2VTZXBhcmF0ZWRXWEhlYXAoKSkgewogICAgICAgICAgICAgICAgIC8vIEZpcnN0
IHBhZ2Ugb2Ygb3VyIEpJVCBhbGxvY2F0aW9uIGlzIHJlc2VydmVkLgogICAgICAgICAgICAgICAg
IEFTU0VSVChyZXNlcnZhdGlvblNpemUgPj0gcGFnZVNpemUoKSAqIDIpOwpAQCAtMTE3LDcgKzEx
NSw2IEBAIHB1YmxpYzoKICAgICAgICAgICAgICAgICByZXNlcnZhdGlvblNpemUgLT0gcGFnZVNp
emUoKTsKICAgICAgICAgICAgICAgICBpbml0aWFsaXplU2VwYXJhdGVkV1hIZWFwcyhtX3Jlc2Vy
dmF0aW9uLmJhc2UoKSwgcGFnZVNpemUoKSwgcmVzZXJ2YXRpb25CYXNlLCByZXNlcnZhdGlvblNp
emUpOwogICAgICAgICAgICAgfQotI2VuZGlmCiAKICAgICAgICAgICAgIGFkZEZyZXNoRnJlZVNw
YWNlKHJlc2VydmF0aW9uQmFzZSwgcmVzZXJ2YXRpb25TaXplKTsKIApAQCAtMTYzLDcgKzE2MCw3
IEBAIHByb3RlY3RlZDoKICAgICB9CiAKIHByaXZhdGU6Ci0jaWYgRU5BQkxFKFNFUEFSQVRFRF9X
WF9IRUFQKQorI2lmIE9TKERBUldJTikKICAgICB2b2lkIGluaXRpYWxpemVTZXBhcmF0ZWRXWEhl
YXBzKHZvaWQqIHN0dWJCYXNlLCBzaXplX3Qgc3R1YlNpemUsIHZvaWQqIGppdEJhc2UsIHNpemVf
dCBqaXRTaXplKQogICAgIHsKICAgICAgICAgbWFjaF92bV9hZGRyZXNzX3Qgd3JpdGFibGVBZGRy
ID0gMDsKQEAgLTE4NCw0MCArMTgxLDM5IEBAIHByaXZhdGU6CiAgICAgICAgICAgICByZXR1cm47
CiAKICAgICAgICAgLy8gQXNzZW1ibGUgYSB0aHVuayB0aGF0IHdpbGwgc2VydmUgYXMgdGhlIG1l
YW5zIGZvciB3cml0aW5nIGludG8gdGhlIEpJVCByZWdpb24uCi0gICAgICAgIE1hY3JvQXNzZW1i
bGVyQ29kZVJlZiB3cml0ZVRodW5rID0gaml0V3JpdGVUaHVua0dlbmVyYXRvcih3cml0YWJsZUFk
ZHIsIHN0dWJCYXNlLCBzdHViU2l6ZSk7CisgICAgICAgIE1hY3JvQXNzZW1ibGVyQ29kZVJlZiB3
cml0ZVRodW5rID0gaml0V3JpdGVUaHVua0dlbmVyYXRvcihyZWludGVycHJldF9jYXN0PHZvaWQq
Pih3cml0YWJsZUFkZHIpLCBzdHViQmFzZSwgc3R1YlNpemUpOwogCiAgICAgICAgIGludCByZXN1
bHQgPSAwOwogCi0gICAgICAgIGlmICghcmVtYXBTdWNjZWVkZWQpIHsKICNpZiBkZWZpbmVkKFZN
X1BST1RfRVhFQ1VURV9PTkxZKQotICAgICAgICAgICAgLy8gUHJldmVudCByZWFkaW5nIHRoZSB3
cml0ZSB0aHVuayBjb2RlLgotICAgICAgICAgICAgcmVzdWx0ID0gbXByb3RlY3Qoc3R1YkJhc2Us
IHN0dWJTaXplLCBWTV9QUk9UX0VYRUNVVEVfT05MWSk7Ci0gICAgICAgICAgICBSRUxFQVNFX0FT
U0VSVCghcmVzdWx0KTsKKyAgICAgICAgLy8gUHJldmVudCByZWFkaW5nIHRoZSB3cml0ZSB0aHVu
ayBjb2RlLgorICAgICAgICByZXN1bHQgPSBtcHJvdGVjdChzdHViQmFzZSwgc3R1YlNpemUsIFZN
X1BST1RfRVhFQ1VURV9PTkxZKTsKKyAgICAgICAgUkVMRUFTRV9BU1NFUlQoIXJlc3VsdCk7CiAj
ZW5kaWYKIAotICAgICAgICAgICAgLy8gUHJldmVudCB3cml0aW5nIGludG8gdGhlIGV4ZWN1dGFi
bGUgSklUIG1hcHBpbmcuCi0gICAgICAgICAgICByZXN1bHQgPSBtcHJvdGVjdChqaXRCYXNlLCBq
aXRTaXplLCBWTV9QUk9UX1JFQUQgfCBWTV9QUk9UX0VYRUNVVEUpOwotICAgICAgICAgICAgUkVM
RUFTRV9BU1NFUlQoIXJlc3VsdCk7CisgICAgICAgIC8vIFByZXZlbnQgd3JpdGluZyBpbnRvIHRo
ZSBleGVjdXRhYmxlIEpJVCBtYXBwaW5nLgorICAgICAgICByZXN1bHQgPSBtcHJvdGVjdChqaXRC
YXNlLCBqaXRTaXplLCBWTV9QUk9UX1JFQUQgfCBWTV9QUk9UX0VYRUNVVEUpOworICAgICAgICBS
RUxFQVNFX0FTU0VSVCghcmVzdWx0KTsKIAotICAgICAgICAgICAgLy8gUHJldmVudCBleGVjdXRp
b24gaW4gdGhlIHdyaXRhYmxlIEpJVCBtYXBwaW5nLgotICAgICAgICAgICAgcmVzdWx0ID0gbXBy
b3RlY3QoKHZvaWQqKXdyaXRhYmxlQWRkciwgaml0U2l6ZSwgVk1fUFJPVF9SRUFEIHwgVk1fUFJP
VF9XUklURSk7Ci0gICAgICAgICAgICBSRUxFQVNFX0FTU0VSVCghcmVzdWx0KTsKKyAgICAgICAg
Ly8gUHJldmVudCBleGVjdXRpb24gaW4gdGhlIHdyaXRhYmxlIEpJVCBtYXBwaW5nLgorICAgICAg
ICByZXN1bHQgPSBtcHJvdGVjdCgodm9pZCopd3JpdGFibGVBZGRyLCBqaXRTaXplLCBWTV9QUk9U
X1JFQUQgfCBWTV9QUk9UX1dSSVRFKTsKKyAgICAgICAgUkVMRUFTRV9BU1NFUlQoIXJlc3VsdCk7
CiAKLSAgICAgICAgICAgIC8vIFplcm8gb3V0IHdyaXRhYmxlQWRkciB0byBhdm9pZCBsZWFraW5n
IHRoZSBhZGRyZXNzIG9mIHRoZSB3cml0YWJsZSBtYXBwaW5nLgotICAgICAgICAgICAgbWVtc2V0
X3MoJndyaXRhYmxlQWRkciwgc2l6ZW9mKHdyaXRhYmxlQWRkciksIDAsIHNpemVvZih3cml0YWJs
ZUFkZHIpKTsKLSAgICAgICAgfQotICAgICAgICBqaXRXcml0ZUZ1bmN0aW9uQWRkcmVzcyA9ICh1
aW50cHRyX3Qpd3JpdGVUaHVuay5jb2RlKCkuZXhlY3V0YWJsZUFkZHJlc3MoKTsKKyAgICAgICAg
Ly8gWmVybyBvdXQgd3JpdGFibGVBZGRyIHRvIGF2b2lkIGxlYWtpbmcgdGhlIGFkZHJlc3Mgb2Yg
dGhlIHdyaXRhYmxlIG1hcHBpbmcuCisgICAgICAgIG1lbXNldF9zKCZ3cml0YWJsZUFkZHIsIHNp
emVvZih3cml0YWJsZUFkZHIpLCAwLCBzaXplb2Yod3JpdGFibGVBZGRyKSk7CisKKyAgICAgICAg
aml0V3JpdGVGdW5jdGlvbiA9IHJlaW50ZXJwcmV0X2Nhc3Q8SklUV3JpdGVGdW5jdGlvbj4od3Jp
dGVUaHVuay5jb2RlKCkuZXhlY3V0YWJsZUFkZHJlc3MoKSk7CiAgICAgfQogCiAjaWYgQ1BVKEFS
TTY0KQotICAgIE1hY3JvQXNzZW1ibGVyQ29kZVJlZiBqaXRXcml0ZVRodW5rR2VuZXJhdG9yKG1h
Y2hfdm1fYWRkcmVzc190IHdyaXRhYmxlQWRkciwgdm9pZCogc3R1YkJhc2UsIHNpemVfdCBzdHVi
U2l6ZSkKKyAgICBNYWNyb0Fzc2VtYmxlckNvZGVSZWYgaml0V3JpdGVUaHVua0dlbmVyYXRvcih2
b2lkKiB3cml0YWJsZUFkZHIsIHZvaWQqIHN0dWJCYXNlLCBzaXplX3Qgc3R1YlNpemUpCiAgICAg
ewogICAgICAgICB1c2luZyBuYW1lc3BhY2UgQVJNNjRSZWdpc3RlcnM7CiAgICAgICAgIHVzaW5n
IFRydXN0ZWRJbW0zMiA9IE1hY3JvQXNzZW1ibGVyOjpUcnVzdGVkSW1tMzI7CiAKICAgICAgICAg
TWFjcm9Bc3NlbWJsZXIgaml0OwogCi0gICAgICAgIGppdC5tb3ZlKE1hY3JvQXNzZW1ibGVyOjpU
cnVzdGVkSW1tUHRyKChjb25zdCB2b2lkKil3cml0YWJsZUFkZHIpLCB4Nyk7CisgICAgICAgIGpp
dC5tb3ZlKE1hY3JvQXNzZW1ibGVyOjpUcnVzdGVkSW1tUHRyKHdyaXRhYmxlQWRkciksIHg3KTsK
ICAgICAgICAgaml0LmFkZFB0cih4NywgeDApOwogCiAgICAgICAgIGppdC5tb3ZlKHgwLCB4Myk7
CkBAIC0yNzQsOCArMjcwLDI1IEBAIHByaXZhdGU6CiAgICAgICAgIExpbmtCdWZmZXIgbGlua0J1
ZmZlcihqaXQsIHN0dWJCYXNlLCBzdHViU2l6ZSk7CiAgICAgICAgIHJldHVybiBGSU5BTElaRV9D
T0RFKGxpbmtCdWZmZXIsICgiQnVsbGV0cHJvb2YgSklUIHdyaXRlIHRodW5rIikpOwogICAgIH0K
LSNlbmRpZiAvLyBDUFUoQVJNNjQpCi0jZW5kaWYgLy8gRU5BQkxFKFNFUEFSQVRFRF9XWF9IRUFQ
KQorI2Vsc2UgLy8gIUNQVShBUk02NCkKKyAgICBzdGF0aWMgdm9pZCBnZW5lcmljV3JpdGVUb0pJ
VFJlZ2lvbihvZmZfdCBvZmZzZXQsIGNvbnN0IHZvaWQqIGRhdGEsIHNpemVfdCBkYXRhU2l6ZSkK
KyAgICB7CisgICAgICAgIG1lbWNweSgodm9pZCopKHN0YXJ0T2ZGaXhlZFdyaXRhYmxlTWVtb3J5
UG9vbCArIG9mZnNldCksIGRhdGEsIGRhdGFTaXplKTsKKyAgICB9CisKKyAgICBNYWNyb0Fzc2Vt
YmxlckNvZGVSZWYgaml0V3JpdGVUaHVua0dlbmVyYXRvcih2b2lkKiBhZGRyZXNzLCB2b2lkKiwg
c2l6ZV90KQorICAgIHsKKyAgICAgICAgc3RhcnRPZkZpeGVkV3JpdGFibGVNZW1vcnlQb29sID0g
cmVpbnRlcnByZXRfY2FzdDx1aW50cHRyX3Q+KGFkZHJlc3MpOworICAgICAgICByZXR1cm4gTWFj
cm9Bc3NlbWJsZXJDb2RlUmVmOjpjcmVhdGVTZWxmTWFuYWdlZENvZGVSZWYoTWFjcm9Bc3NlbWJs
ZXJDb2RlUHRyKCh2b2lkKikmZ2VuZXJpY1dyaXRlVG9KSVRSZWdpb24pKTsKKyAgICB9CisjZW5k
aWYKKworI2Vsc2UgLy8gIU9TKERBUldJTikKKyAgICB2b2lkIGluaXRpYWxpemVTZXBhcmF0ZWRX
WEhlYXBzKHZvaWQqLCBzaXplX3QsIHZvaWQqLCBzaXplX3QpCisgICAgeworICAgICAgICBBU1NF
UlRfVU5VU0VEKHN0YXJ0T2ZGaXhlZFdyaXRhYmxlTWVtb3J5UG9vbCwgIXN0YXJ0T2ZGaXhlZFdy
aXRhYmxlTWVtb3J5UG9vbCk7CisgICAgfQorI2VuZGlmCiAKIHByaXZhdGU6CiAgICAgUGFnZVJl
c2VydmF0aW9uIG1fcmVzZXJ2YXRpb247CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9PcHRpb25zLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL09w
dGlvbnMuY3BwCmluZGV4IGUyYTY4NzI2MzQwNTlkODA2ZTU3MDJkNDhhOTBmZGExNjQ3Y2NlZmUu
LjQ0ZmQyMjZmM2NjMWY0MDBhNmFlY2I4OTIzMTY0ZTY3YjRiMjQxYzkgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL09wdGlvbnMuY3BwCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL09wdGlvbnMuY3BwCkBAIC0yOTQsOSArMjk0LDcgQEAgc3RhdGlj
IHZvaWQgcmVjb21wdXRlRGVwZW5kZW50T3B0aW9ucygpCiAjaWYgIUVOQUJMRShGVExfSklUKQog
ICAgIE9wdGlvbnM6OnVzZUZUTEpJVCgpID0gZmFsc2U7CiAjZW5kaWYKLSNpZiAhRU5BQkxFKFNF
UEFSQVRFRF9XWF9IRUFQKQotICAgIE9wdGlvbnM6OnVzZVNlcGFyYXRlZFdYSGVhcCgpID0gZmFs
c2U7Ci0jZW5kaWYKKyAgICAKICNpZiBPUyhXSU5ET1dTKSAmJiBDUFUoWDg2KSAKICAgICAvLyBE
aXNhYmxlIEpJVCBvbiBXaW5kb3dzIGlmIFNTRTIgaXMgbm90IHByZXNlbnQgCiAgICAgaWYgKCFN
YWNyb0Fzc2VtYmxlclg4Njo6c3VwcG9ydHNGbG9hdGluZ1BvaW50KCkpCmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9PcHRpb25zLmggYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9PcHRpb25zLmgKaW5kZXggZTcyMDAwYTliZDNkZGVlZmJiZjRhMzgzYzMy
NGJhZWQ5NWEzYjJjYS4uNGYzYjM1MDJlYTZiNzI5ZjcwZTczOWU3YjE1NmE3OTUwZWMyZWJiNSAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvT3B0aW9ucy5oCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL09wdGlvbnMuaApAQCAtMTE4LDcgKzExOCw3
IEBAIHR5cGVkZWYgY29uc3QgY2hhciogb3B0aW9uU3RyaW5nOwogICAgIFwKICAgICB2KGJvb2ws
IGNyYXNoSWZDYW50QWxsb2NhdGVKSVRNZW1vcnksIGZhbHNlLCBudWxscHRyKSBcCiAgICAgdih1
bnNpZ25lZCwgaml0TWVtb3J5UmVzZXJ2YXRpb25TaXplLCAwLCAiU2V0IHRoaXMgbnVtYmVyIHRv
IGNoYW5nZSB0aGUgZXhlY3V0YWJsZSBhbGxvY2F0aW9uIHNpemUgaW4gRXhlY3V0YWJsZUFsbG9j
YXRvckZpeGVkVk1Qb29sLiAoSW4gYnl0ZXMuKSIpIFwKLSAgICB2KGJvb2wsIHVzZVNlcGFyYXRl
ZFdYSGVhcCwgdHJ1ZSwgbnVsbHB0cikgXAorICAgIHYoYm9vbCwgdXNlU2VwYXJhdGVkV1hIZWFw
LCBmYWxzZSwgbnVsbHB0cikgXAogICAgIFwKICAgICB2KGJvb2wsIGZvcmNlQ29kZUJsb2NrTGl2
ZW5lc3MsIGZhbHNlLCBudWxscHRyKSBcCiAgICAgdihib29sLCBmb3JjZUlDRmFpbHVyZSwgZmFs
c2UsIG51bGxwdHIpIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL0ZlYXR1cmVEZWZpbmVz
LmggYi9Tb3VyY2UvV1RGL3d0Zi9GZWF0dXJlRGVmaW5lcy5oCmluZGV4IDZiOTUwZDU1MDE3MTE2
ZWJjZWIxYjEyNDRhZmYzZTMxMjJiNDY3M2EuLjNmYjliZTY0ODE3MmQzOWJlMjE2MTQwZGZmMjA2
ZWQ3N2Y1YjhjYjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL0ZlYXR1cmVEZWZpbmVzLmgK
KysrIGIvU291cmNlL1dURi93dGYvRmVhdHVyZURlZmluZXMuaApAQCAtNzk1LDEwICs3OTUsNiBA
QCB0aGUgcHVibGljIGlPUyBTREsuIFdlIHdpbGwgYWxzbyBuZWVkIHRvIHVwZGF0ZSB0aGUgRmVh
dHVyZURlZmluZXMueGNjb25maWcgZmlsZQogI2RlZmluZSBFTkFCTEVfWFNMVCAxCiAjZW5kaWYK
IAotI2lmICFkZWZpbmVkKEVOQUJMRV9TRVBBUkFURURfV1hfSEVBUCkKLSNkZWZpbmUgRU5BQkxF
X1NFUEFSQVRFRF9XWF9IRUFQIDAKLSNlbmRpZgotCiAvKiBBc3NlcnRzLCBpbnZhcmlhbnRzIGZv
ciBtYWNybyBkZWZpbml0aW9ucyAqLwogCiAjaWYgRU5BQkxFKFZJREVPX1RSQUNLKSAmJiAhRU5B
QkxFKFZJREVPKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvUGxhdGZvcm0uaCBiL1NvdXJj
ZS9XVEYvd3RmL1BsYXRmb3JtLmgKaW5kZXggMzBlYTg3MjM1YjgyMWE3ZjU3OGM5NDhmODhlOTdh
MWM2YzdkODMwYi4uMGI0ZDc1MWNhODZmZmI0YjEzYTE3ZTVjMzJkODQ1MTY4YzhlOTM2OSAxMDA2
NDQKLS0tIGEvU291cmNlL1dURi93dGYvUGxhdGZvcm0uaAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9Q
bGF0Zm9ybS5oCkBAIC0xMTQ1LDEwICsxMTQ1LDQgQEAKICNlbmRpZgogI2VuZGlmCiAKLSNpZiBk
ZWZpbmVkKEVOQUJMRV9TRVBBUkFURURfV1hfSEVBUCkKLSNpZiAhKENQVShBUk02NCkgJiYgKChQ
TEFURk9STShJT1MpICYmIF9fSVBIT05FX09TX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMDAw
MCkpKQotI3VuZGVmIEVOQUJMRV9TRVBBUkFURURfV1hfSEVBUAotI2VuZGlmCi0jZW5kaWYKLQog
I2VuZGlmIC8qIFdURl9QbGF0Zm9ybV9oICovCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
b25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZyBiL1NvdXJjZS9XZWJDb3JlL0Nv
bmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCmluZGV4IDM4N2U0OThhZjhjNzVj
ZmJlOTVhMzc2MDJhMzVhZTU1ZjA0NTU0MGQuLjk0OTRlMmY1ZTE0NjIzOTQxZDcxMzQ0Y2Y1MTFk
NTJkNzRjYzdmNTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NvbmZpZ3VyYXRpb25zL0Zl
YXR1cmVEZWZpbmVzLnhjY29uZmlnCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NvbmZpZ3VyYXRpb25z
L0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCkBAIC0xOTIsNyArMTkyLDQgQEAgRU5BQkxFX0ZUTF9K
SVRbc2RrPWlwaG9uZW9zKl0gPSBFTkFCTEVfRlRMX0pJVDsKIEVOQUJMRV9TSEFET1dfRE9NID0g
RU5BQkxFX1NIQURPV19ET007CiBFTkFCTEVfQ1VTVE9NX0VMRU1FTlRTID0gRU5BQkxFX0NVU1RP
TV9FTEVNRU5UUzsKIAotRU5BQkxFX1NFUEFSQVRFRF9XWF9IRUFQW3Nkaz1pcGhvbmUqXSA9IDsK
LUVOQUJMRV9TRVBBUkFURURfV1hfSEVBUFtzZGs9bWFjb3N4Kl0gPSA7Ci0KLUZFQVRVUkVfREVG
SU5FUyA9ICQoRU5BQkxFXzNEX1RSQU5TRk9STVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NB
TlZBUykgJChFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HKSAkKEVOQUJMRV9B
VkZfQ0FQVElPTlMpICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVOVCkgJChFTkFCTEVfQ0FDSEVf
UEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DQU5WQVNfUEFUSCkgJChFTkFCTEVfQ0FOVkFTX1BST1hZ
KSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05f
U1lOVEFYKSAkKEVOQUJMRV9FUzZfQ0xBU1NfU1lOVEFYKSAkKEVOQUJMRV9FUzZfR0VORVJBVE9S
UykgJChFTkFCTEVfRVM2X01PRFVMRVMpICQoRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HKSAkKEVO
QUJMRV9DU1BfTkVYVCkgJChFTkFCTEVfQ1NTX0FOSU1BVElPTlNfTEVWRUxfMikgJChFTkFCTEVf
Q1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5B
QkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTikgJChFTkFCTEVfQ1NTX0dSSURfTEFZT1VUKSAkKEVO
QUJMRV9DU1NfSU1BR0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9SRVNPTFVUSU9O
KSAkKEVOQUJMRV9DU1NfUkVHSU9OUykgJChFTkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQpICQo
RU5BQkxFX0NTU19TSEFQRVMpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NTM19URVhU
X0xJTkVfQlJFQUspICQoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVOQUJMRV9DVVNUT01f
U0NIRU1FX0hBTkRMRVIpICQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUKSAkKEVOQUJMRV9EQVRB
TElTVF9FTEVNRU5UKSAkKEVOQUJMRV9EQVRBX1RSQU5TRkVSX0lURU1TKSAkKEVOQUJMRV9ERVRB
SUxTX0VMRU1FTlQpICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVfRE9NNF9F
VkVOVFNfQ09OU1RSVUNUT1IpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfRU5D
UllQVEVEX01FRElBX1YyKSAkKEVOQUJMRV9GRVRDSF9BUEkpICQoRU5BQkxFX0ZJTFRFUlNfTEVW
RUxfMikgJChFTkFCTEVfRk9OVF9MT0FEX0VWRU5UUykgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkp
ICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dBTUVQQURfREVQUkVDQVRFRCkgJChFTkFCTEVf
R0VPTE9DQVRJT04pICQoRU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVfU0VSVklDRV9DT05U
Uk9MUykgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFT
RV9JTl9XT1JLRVJTKSAkKEVOQUJMRV9JTkRJRV9VSSkgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xP
UikgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUl9QT1BPVkVSKSAkKEVOQUJMRV9JTlBVVF9UWVBF
X0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVfSU5DT01QTEVURSkgJChFTkFCTEVf
SU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVO
QUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVf
V0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKSAkKEVOQUJMRV9JTlRMKSAkKEVOQUJMRV9JT1NfR0VT
VFVSRV9FVkVOVFMpICQoRU5BQkxFX0lPU19URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX0lPU19U
T1VDSF9FVkVOVFMpICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJM
RV9MRUdBQ1lfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfTEVHQUNZX1ZFTkRPUl9QUkVGSVhFUykg
JChFTkFCTEVfTEVHQUNZX1dFQl9BVURJTykgJChFTkFCTEVfTEVUVEVSUFJFU1MpICQoRU5BQkxF
X0xJTktfUFJFRkVUQ0gpICQoRU5BQkxFX01BQ19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfTUFU
SE1MKSAkKEVOQUJMRV9NRURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxFX01FRElBX1NFU1NJ
T04pICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElDUykgJChF
TkFCTEVfTUVESUFfU1RSRUFNKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9NSFRN
TCkgJChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVO
VF9VVElMUykgJChFTkFCTEVfTkFWSUdBVE9SX0hXQ09OQ1VSUkVOQ1kpICQoRU5BQkxFX05PVElG
SUNBVElPTlMpICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJfTE9DSykg
JChFTkFCTEVfUFJPWElNSVRZX0VWRU5UUykgJChFTkFCTEVfUFVCTElDX1NVRkZJWF9MSVNUKSAk
KEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVRVUVTVF9BTklNQVRJT05fRlJBTUUpICQoRU5BQkxF
X1JFUVVFU1RfQVVUT0NPTVBMRVRFKSAkKEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9SKSAkKEVOQUJM
RV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVOQUJMRV9SRVNPVVJDRV9VU0FHRSkgJChFTkFC
TEVfUlVCQkVSX0JBTkRJTkcpICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkgJChFTkFCTEVfU1BF
RUNIX1NZTlRIRVNJUykgJChFTkFCTEVfU1RSRUFNU19BUEkpICQoRU5BQkxFX1NVQlRMRV9DUllQ
VE8pICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJ
T04pICQoRU5BQkxFX1RFTVBMQVRFX0VMRU1FTlQpICQoRU5BQkxFX1RFWFRfQVVUT1NJWklORykg
JChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9UT1VDSF9JQ09OX0xPQURJTkcpICQoRU5B
QkxFX0NTU19UUkFJTElOR19XT1JEKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVf
VklERU8pICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVO
QUJMRV9WSUVXX01PREVfQ1NTX01FRElBKSAkKEVOQUJMRV9XRUJBU1NFTUJMWSkgJChFTkFCTEVf
V0VCR0wpICQoRU5BQkxFX1dFQkdMMikgJChFTkFCTEVfV0VCX0FOSU1BVElPTlMpICQoRU5BQkxF
X1dFQl9BVURJTykgJChFTkFCTEVfV0VCX1JFUExBWSkgJChFTkFCTEVfV0VCX1NPQ0tFVFMpICQo
RU5BQkxFX1dFQl9USU1JTkcpICQoRU5BQkxFX1hTTFQpICQoRU5BQkxFX0ZUTF9KSVQpICQoRU5B
QkxFX0pJVCkgJChFTkFCTEVfU0hBRE9XX0RPTSkgJChFTkFCTEVfQ1VTVE9NX0VMRU1FTlRTKSAk
KEVOQUJMRV9WSURFT19QUkVTRU5UQVRJT05fTU9ERSkgJChFTkFCTEVfU0VQQVJBVEVEX1dYX0hF
QVApOworRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfVFJBTlNGT1JNUykgJChFTkFCTEVf
QUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JP
TExJTkcpICQoRU5BQkxFX0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQVRUQUNITUVOVF9FTEVNRU5U
KSAkKEVOQUJMRV9DQUNIRV9QQVJUSVRJT05JTkcpICQoRU5BQkxFX0NBTlZBU19QQVRIKSAkKEVO
QUJMRV9DQU5WQVNfUFJPWFkpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9F
UzZfQVJST1dGVU5DVElPTl9TWU5UQVgpICQoRU5BQkxFX0VTNl9DTEFTU19TWU5UQVgpICQoRU5B
QkxFX0VTNl9HRU5FUkFUT1JTKSAkKEVOQUJMRV9FUzZfTU9EVUxFUykgJChFTkFCTEVfQ09OVEVO
VF9GSUxURVJJTkcpICQoRU5BQkxFX0NTUF9ORVhUKSAkKEVOQUJMRV9DU1NfQU5JTUFUSU9OU19M
RVZFTF8yKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUspICQoRU5BQkxFX0NTU19D
T01QT1NJVElORykgJChFTkFCTEVfQ1NTX0RFVklDRV9BREFQVEFUSU9OKSAkKEVOQUJMRV9DU1Nf
R1JJRF9MQVlPVVQpICQoRU5BQkxFX0NTU19JTUFHRV9PUklFTlRBVElPTikgJChFTkFCTEVfQ1NT
X0lNQUdFX1JFU09MVVRJT04pICQoRU5BQkxFX0NTU19SRUdJT05TKSAkKEVOQUJMRV9DU1NfU0VM
RUNUT1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NTX1NIQVBFUykgJChFTkFCTEVfQ1NTM19URVhUKSAk
KEVOQUJMRV9DU1MzX1RFWFRfTElORV9CUkVBSykgJChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkp
ICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVfREFTSEJPQVJEX1NVUFBP
UlQpICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RBVEFfVFJBTlNGRVJfSVRF
TVMpICQoRU5BQkxFX0RFVEFJTFNfRUxFTUVOVCkgJChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9O
KSAkKEVOQUJMRV9ET000X0VWRU5UU19DT05TVFJVQ1RPUikgJChFTkFCTEVfRU5DUllQVEVEX01F
RElBKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUFfVjIpICQoRU5BQkxFX0ZFVENIX0FQSSkgJChF
TkFCTEVfRklMVEVSU19MRVZFTF8yKSAkKEVOQUJMRV9GT05UX0xPQURfRVZFTlRTKSAkKEVOQUJM
RV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0FNRVBBRF9ERVBS
RUNBVEVEKSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVO
QUJMRV9TRVJWSUNFX0NPTlRST0xTKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJM
RV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMpICQoRU5BQkxFX0lORElFX1VJKSAkKEVOQUJM
RV9JTlBVVF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SX1BPUE9WRVIpICQo
RU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRV9JTkNP
TVBMRVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxFX0lOUFVU
X1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQ
RV9XRUVLKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICQoRU5BQkxFX0lOVEwp
ICQoRU5BQkxFX0lPU19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfSU9TX1RFWFRfQVVUT1NJWklO
RykgJChFTkFCTEVfSU9TX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1Jf
UFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9MRUdBQ1lf
VkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfV0VCX0FVRElPKSAkKEVOQUJMRV9MRVRU
RVJQUkVTUykgJChFTkFCTEVfTElOS19QUkVGRVRDSCkgJChFTkFCTEVfTUFDX0dFU1RVUkVfRVZF
TlRTKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElBX0NPTlRST0xTX1NDUklQVCkgJChF
TkFCTEVfTUVESUFfU0VTU0lPTikgJChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9NRURJ
QV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9NRURJQV9TVFJFQU0pICQoRU5BQkxFX01FVEVSX0VMRU1F
TlQpICQoRU5BQkxFX01IVE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUpICQoRU5BQkxF
X05BVklHQVRPUl9DT05URU5UX1VUSUxTKSAkKEVOQUJMRV9OQVZJR0FUT1JfSFdDT05DVVJSRU5D
WSkgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfUERGS0lUX1BMVUdJTikgJChFTkFC
TEVfUE9JTlRFUl9MT0NLKSAkKEVOQUJMRV9QUk9YSU1JVFlfRVZFTlRTKSAkKEVOQUJMRV9QVUJM
SUNfU1VGRklYX0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRVFVRVNUX0FOSU1BVElP
Tl9GUkFNRSkgJChFTkFCTEVfUkVRVUVTVF9BVVRPQ09NUExFVEUpICQoRU5BQkxFX1JFTU9URV9J
TlNQRUNUT1IpICQoRU5BQkxFX1JFU09MVVRJT05fTUVESUFfUVVFUlkpICQoRU5BQkxFX1JFU09V
UkNFX1VTQUdFKSAkKEVOQUJMRV9SVUJCRVJfQkFORElORykgJChFTkFCTEVfQ1NTX1NDUk9MTF9T
TkFQKSAkKEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TVFJFQU1TX0FQSSkgJChF
TkFCTEVfU1VCVExFX0NSWVBUTykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9URUxFUEhP
TkVfTlVNQkVSX0RFVEVDVElPTikgJChFTkFCTEVfVEVNUExBVEVfRUxFTUVOVCkgJChFTkFCTEVf
VEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9UT1VDSF9FVkVOVFMpICQoRU5BQkxFX1RPVUNIX0lD
T05fTE9BRElORykgJChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQoRU5BQkxFX1VTRVJTRUxF
Q1RfQUxMKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxFX0RB
VEFDVUVfVkFMVUUpICQoRU5BQkxFX1ZJRVdfTU9ERV9DU1NfTUVESUEpICQoRU5BQkxFX1dFQkFT
U0VNQkxZKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCR0wyKSAkKEVOQUJMRV9XRUJfQU5J
TUFUSU9OUykgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfUkVQTEFZKSAkKEVOQUJM
RV9XRUJfU09DS0VUUykgJChFTkFCTEVfV0VCX1RJTUlORykgJChFTkFCTEVfWFNMVCkgJChFTkFC
TEVfRlRMX0pJVCkgJChFTkFCTEVfSklUKSAkKEVOQUJMRV9TSEFET1dfRE9NKSAkKEVOQUJMRV9D
VVNUT01fRUxFTUVOVFMpICQoRU5BQkxFX1ZJREVPX1BSRVNFTlRBVElPTl9NT0RFKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhj
Y29uZmlnIGIvU291cmNlL1dlYktpdC9tYWMvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMu
eGNjb25maWcKaW5kZXggMzg3ZTQ5OGFmOGM3NWNmYmU5NWEzNzYwMmEzNWFlNTVmMDQ1NTQwZC4u
OTQ5NGUyZjVlMTQ2MjM5NDFkNzEzNDRjZjUxMWQ1MmQ3NGNjN2Y1NiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9tYWMvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKKysr
IGIvU291cmNlL1dlYktpdC9tYWMvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25m
aWcKQEAgLTE5Miw3ICsxOTIsNCBAQCBFTkFCTEVfRlRMX0pJVFtzZGs9aXBob25lb3MqXSA9IEVO
QUJMRV9GVExfSklUOwogRU5BQkxFX1NIQURPV19ET00gPSBFTkFCTEVfU0hBRE9XX0RPTTsKIEVO
QUJMRV9DVVNUT01fRUxFTUVOVFMgPSBFTkFCTEVfQ1VTVE9NX0VMRU1FTlRTOwogCi1FTkFCTEVf
U0VQQVJBVEVEX1dYX0hFQVBbc2RrPWlwaG9uZSpdID0gOwotRU5BQkxFX1NFUEFSQVRFRF9XWF9I
RUFQW3Nkaz1tYWNvc3gqXSA9IDsKLQotRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfVFJB
TlNGT1JNUykgJChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9BQ0NFTEVS
QVRFRF9PVkVSRkxPV19TQ1JPTExJTkcpICQoRU5BQkxFX0FWRl9DQVBUSU9OUykgJChFTkFCTEVf
QVRUQUNITUVOVF9FTEVNRU5UKSAkKEVOQUJMRV9DQUNIRV9QQVJUSVRJT05JTkcpICQoRU5BQkxF
X0NBTlZBU19QQVRIKSAkKEVOQUJMRV9DQU5WQVNfUFJPWFkpICQoRU5BQkxFX0NIQU5ORUxfTUVT
U0FHSU5HKSAkKEVOQUJMRV9FUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpICQoRU5BQkxFX0VTNl9D
TEFTU19TWU5UQVgpICQoRU5BQkxFX0VTNl9HRU5FUkFUT1JTKSAkKEVOQUJMRV9FUzZfTU9EVUxF
UykgJChFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcpICQoRU5BQkxFX0NTUF9ORVhUKSAkKEVOQUJM
RV9DU1NfQU5JTUFUSU9OU19MRVZFTF8yKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJF
QUspICQoRU5BQkxFX0NTU19DT01QT1NJVElORykgJChFTkFCTEVfQ1NTX0RFVklDRV9BREFQVEFU
SU9OKSAkKEVOQUJMRV9DU1NfR1JJRF9MQVlPVVQpICQoRU5BQkxFX0NTU19JTUFHRV9PUklFTlRB
VElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJT04pICQoRU5BQkxFX0NTU19SRUdJT05T
KSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NTX1NIQVBFUykgJChF
TkFCTEVfQ1NTM19URVhUKSAkKEVOQUJMRV9DU1MzX1RFWFRfTElORV9CUkVBSykgJChFTkFCTEVf
Q1VSU09SX1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFC
TEVfREFTSEJPQVJEX1NVUFBPUlQpICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxF
X0RBVEFfVFJBTlNGRVJfSVRFTVMpICQoRU5BQkxFX0RFVEFJTFNfRUxFTUVOVCkgJChFTkFCTEVf
REVWSUNFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9ET000X0VWRU5UU19DT05TVFJVQ1RPUikgJChF
TkFCTEVfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUFfVjIpICQoRU5B
QkxFX0ZFVENIX0FQSSkgJChFTkFCTEVfRklMVEVSU19MRVZFTF8yKSAkKEVOQUJMRV9GT05UX0xP
QURfRVZFTlRTKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0FNRVBBRCkgJChF
TkFCTEVfR0FNRVBBRF9ERVBSRUNBVEVEKSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVf
SUNPTkRBVEFCQVNFKSAkKEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKSAkKEVOQUJMRV9JTkRFWEVE
X0RBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMpICQoRU5BQkxF
X0lORElFX1VJKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBF
X0NPTE9SX1BPUE9WRVIpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRf
VFlQRV9EQVRFVElNRV9JTkNPTVBMRVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9D
QUwpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkg
JChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJH
RVQpICQoRU5BQkxFX0lOVEwpICQoRU5BQkxFX0lPU19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVf
SU9TX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfSU9TX1RPVUNIX0VWRU5UUykgJChFTkFCTEVf
TEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9OT1RJRklDQVRJT05T
KSAkKEVOQUJMRV9MRUdBQ1lfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfV0VCX0FV
RElPKSAkKEVOQUJMRV9MRVRURVJQUkVTUykgJChFTkFCTEVfTElOS19QUkVGRVRDSCkgJChFTkFC
TEVfTUFDX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElBX0NP
TlRST0xTX1NDUklQVCkgJChFTkFCTEVfTUVESUFfU0VTU0lPTikgJChFTkFCTEVfTUVESUFfU09V
UkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9NRURJQV9TVFJFQU0pICQo
RU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJT
T1JfU0NBTEUpICQoRU5BQkxFX05BVklHQVRPUl9DT05URU5UX1VUSUxTKSAkKEVOQUJMRV9OQVZJ
R0FUT1JfSFdDT05DVVJSRU5DWSkgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfUERG
S0lUX1BMVUdJTikgJChFTkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVOQUJMRV9QUk9YSU1JVFlfRVZF
TlRTKSAkKEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJM
RV9SRVFVRVNUX0FOSU1BVElPTl9GUkFNRSkgJChFTkFCTEVfUkVRVUVTVF9BVVRPQ09NUExFVEUp
ICQoRU5BQkxFX1JFTU9URV9JTlNQRUNUT1IpICQoRU5BQkxFX1JFU09MVVRJT05fTUVESUFfUVVF
UlkpICQoRU5BQkxFX1JFU09VUkNFX1VTQUdFKSAkKEVOQUJMRV9SVUJCRVJfQkFORElORykgJChF
TkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJM
RV9TVFJFQU1TX0FQSSkgJChFTkFCTEVfU1VCVExFX0NSWVBUTykgJChFTkFCTEVfU1ZHX0ZPTlRT
KSAkKEVOQUJMRV9URUxFUEhPTkVfTlVNQkVSX0RFVEVDVElPTikgJChFTkFCTEVfVEVNUExBVEVf
RUxFTUVOVCkgJChFTkFCTEVfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9UT1VDSF9FVkVOVFMp
ICQoRU5BQkxFX1RPVUNIX0lDT05fTE9BRElORykgJChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQp
ICQoRU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklERU9f
VFJBQ0spICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUpICQoRU5BQkxFX1ZJRVdfTU9ERV9DU1NfTUVE
SUEpICQoRU5BQkxFX1dFQkFTU0VNQkxZKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCR0wy
KSAkKEVOQUJMRV9XRUJfQU5JTUFUSU9OUykgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9X
RUJfUkVQTEFZKSAkKEVOQUJMRV9XRUJfU09DS0VUUykgJChFTkFCTEVfV0VCX1RJTUlORykgJChF
TkFCTEVfWFNMVCkgJChFTkFCTEVfRlRMX0pJVCkgJChFTkFCTEVfSklUKSAkKEVOQUJMRV9TSEFE
T1dfRE9NKSAkKEVOQUJMRV9DVVNUT01fRUxFTUVOVFMpICQoRU5BQkxFX1ZJREVPX1BSRVNFTlRB
VElPTl9NT0RFKSAkKEVOQUJMRV9TRVBBUkFURURfV1hfSEVBUCk7CitGRUFUVVJFX0RFRklORVMg
PSAkKEVOQUJMRV8zRF9UUkFOU0ZPUk1TKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMp
ICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElORykgJChFTkFCTEVfQVZGX0NB
UFRJT05TKSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQpICQoRU5BQkxFX0NBQ0hFX1BBUlRJ
VElPTklORykgJChFTkFCTEVfQ0FOVkFTX1BBVEgpICQoRU5BQkxFX0NBTlZBU19QUk9YWSkgJChF
TkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0VTNl9BUlJPV0ZVTkNUSU9OX1NZTlRB
WCkgJChFTkFCTEVfRVM2X0NMQVNTX1NZTlRBWCkgJChFTkFCTEVfRVM2X0dFTkVSQVRPUlMpICQo
RU5BQkxFX0VTNl9NT0RVTEVTKSAkKEVOQUJMRV9DT05URU5UX0ZJTFRFUklORykgJChFTkFCTEVf
Q1NQX05FWFQpICQoRU5BQkxFX0NTU19BTklNQVRJT05TX0xFVkVMXzIpICQoRU5BQkxFX0NTU19C
T1hfREVDT1JBVElPTl9CUkVBSykgJChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9D
U1NfREVWSUNFX0FEQVBUQVRJT04pICQoRU5BQkxFX0NTU19HUklEX0xBWU9VVCkgJChFTkFCTEVf
Q1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xVVElPTikgJChF
TkFCTEVfQ1NTX1JFR0lPTlMpICQoRU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAkKEVOQUJM
RV9DU1NfU0hBUEVTKSAkKEVOQUJMRV9DU1MzX1RFWFQpICQoRU5BQkxFX0NTUzNfVEVYVF9MSU5F
X0JSRUFLKSAkKEVOQUJMRV9DVVJTT1JfVklTSUJJTElUWSkgJChFTkFCTEVfQ1VTVE9NX1NDSEVN
RV9IQU5ETEVSKSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVCkgJChFTkFCTEVfREFUQUxJU1Rf
RUxFTUVOVCkgJChFTkFCTEVfREFUQV9UUkFOU0ZFUl9JVEVNUykgJChFTkFCTEVfREVUQUlMU19F
TEVNRU5UKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RPTTRfRVZFTlRT
X0NPTlNUUlVDVE9SKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0VOQ1JZUFRF
RF9NRURJQV9WMikgJChFTkFCTEVfRkVUQ0hfQVBJKSAkKEVOQUJMRV9GSUxURVJTX0xFVkVMXzIp
ICQoRU5BQkxFX0ZPTlRfTE9BRF9FVkVOVFMpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVO
QUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HQU1FUEFEX0RFUFJFQ0FURUQpICQoRU5BQkxFX0dFT0xP
Q0FUSU9OKSAkKEVOQUJMRV9JQ09OREFUQUJBU0UpICQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMp
ICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0VfSU5f
V09SS0VSUykgJChFTkFCTEVfSU5ESUVfVUkpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpICQo
RU5BQkxFX0lOUFVUX1RZUEVfQ09MT1JfUE9QT1ZFUikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRF
KSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVU
X1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVf
SU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX1dJUkVM
RVNTX1BMQVlCQUNLX1RBUkdFVCkgJChFTkFCTEVfSU5UTCkgJChFTkFCTEVfSU9TX0dFU1RVUkVf
RVZFTlRTKSAkKEVOQUJMRV9JT1NfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9JT1NfVE9VQ0hf
RVZFTlRTKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVH
QUNZX05PVElGSUNBVElPTlMpICQoRU5BQkxFX0xFR0FDWV9WRU5ET1JfUFJFRklYRVMpICQoRU5B
QkxFX0xFR0FDWV9XRUJfQVVESU8pICQoRU5BQkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9MSU5L
X1BSRUZFVENIKSAkKEVOQUJMRV9NQUNfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX01BVEhNTCkg
JChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJQV9TRVNTSU9OKSAk
KEVOQUJMRV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxF
X01FRElBX1NUUkVBTSkgJChFTkFCTEVfTUVURVJfRUxFTUVOVCkgJChFTkFCTEVfTUhUTUwpICQo
RU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVfTkFWSUdBVE9SX0NPTlRFTlRfVVRJ
TFMpICQoRU5BQkxFX05BVklHQVRPUl9IV0NPTkNVUlJFTkNZKSAkKEVOQUJMRV9OT1RJRklDQVRJ
T05TKSAkKEVOQUJMRV9QREZLSVRfUExVR0lOKSAkKEVOQUJMRV9QT0lOVEVSX0xPQ0spICQoRU5B
QkxFX1BST1hJTUlUWV9FVkVOVFMpICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElTVCkgJChFTkFC
TEVfUVVPVEEpICQoRU5BQkxFX1JFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FKSAkKEVOQUJMRV9SRVFV
RVNUX0FVVE9DT01QTEVURSkgJChFTkFCTEVfUkVNT1RFX0lOU1BFQ1RPUikgJChFTkFCTEVfUkVT
T0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVfUkVTT1VSQ0VfVVNBR0UpICQoRU5BQkxFX1JV
QkJFUl9CQU5ESU5HKSAkKEVOQUJMRV9DU1NfU0NST0xMX1NOQVApICQoRU5BQkxFX1NQRUVDSF9T
WU5USEVTSVMpICQoRU5BQkxFX1NUUkVBTVNfQVBJKSAkKEVOQUJMRV9TVUJUTEVfQ1JZUFRPKSAk
KEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAk
KEVOQUJMRV9URU1QTEFURV9FTEVNRU5UKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQoRU5B
QkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVE9VQ0hfSUNPTl9MT0FESU5HKSAkKEVOQUJMRV9D
U1NfVFJBSUxJTkdfV09SRCkgJChFTkFCTEVfVVNFUlNFTEVDVF9BTEwpICQoRU5BQkxFX1ZJREVP
KSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVfREFUQUNVRV9WQUxVRSkgJChFTkFCTEVf
VklFV19NT0RFX0NTU19NRURJQSkgJChFTkFCTEVfV0VCQVNTRU1CTFkpICQoRU5BQkxFX1dFQkdM
KSAkKEVOQUJMRV9XRUJHTDIpICQoRU5BQkxFX1dFQl9BTklNQVRJT05TKSAkKEVOQUJMRV9XRUJf
QVVESU8pICQoRU5BQkxFX1dFQl9SRVBMQVkpICQoRU5BQkxFX1dFQl9TT0NLRVRTKSAkKEVOQUJM
RV9XRUJfVElNSU5HKSAkKEVOQUJMRV9YU0xUKSAkKEVOQUJMRV9GVExfSklUKSAkKEVOQUJMRV9K
SVQpICQoRU5BQkxFX1NIQURPV19ET00pICQoRU5BQkxFX0NVU1RPTV9FTEVNRU5UUykgJChFTkFC
TEVfVklERU9fUFJFU0VOVEFUSU9OX01PREUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
Q29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcgYi9Tb3VyY2UvV2ViS2l0Mi9D
b25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwppbmRleCAzODdlNDk4YWY4Yzc1
Y2ZiZTk1YTM3NjAyYTM1YWU1NWYwNDU1NDBkLi45NDk0ZTJmNWUxNDYyMzk0MWQ3MTM0NGNmNTEx
ZDUyZDc0Y2M3ZjU2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9Db25maWd1cmF0aW9ucy9G
ZWF0dXJlRGVmaW5lcy54Y2NvbmZpZworKysgYi9Tb3VyY2UvV2ViS2l0Mi9Db25maWd1cmF0aW9u
cy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwpAQCAtMTkyLDcgKzE5Miw0IEBAIEVOQUJMRV9GVExf
SklUW3Nkaz1pcGhvbmVvcypdID0gRU5BQkxFX0ZUTF9KSVQ7CiBFTkFCTEVfU0hBRE9XX0RPTSA9
IEVOQUJMRV9TSEFET1dfRE9NOwogRU5BQkxFX0NVU1RPTV9FTEVNRU5UUyA9IEVOQUJMRV9DVVNU
T01fRUxFTUVOVFM7CiAKLUVOQUJMRV9TRVBBUkFURURfV1hfSEVBUFtzZGs9aXBob25lKl0gPSA7
Ci1FTkFCTEVfU0VQQVJBVEVEX1dYX0hFQVBbc2RrPW1hY29zeCpdID0gOwotCi1GRUFUVVJFX0RF
RklORVMgPSAkKEVOQUJMRV8zRF9UUkFOU0ZPUk1TKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9D
QU5WQVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElORykgJChFTkFCTEVf
QVZGX0NBUFRJT05TKSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQpICQoRU5BQkxFX0NBQ0hF
X1BBUlRJVElPTklORykgJChFTkFCTEVfQ0FOVkFTX1BBVEgpICQoRU5BQkxFX0NBTlZBU19QUk9Y
WSkgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0VTNl9BUlJPV0ZVTkNUSU9O
X1NZTlRBWCkgJChFTkFCTEVfRVM2X0NMQVNTX1NZTlRBWCkgJChFTkFCTEVfRVM2X0dFTkVSQVRP
UlMpICQoRU5BQkxFX0VTNl9NT0RVTEVTKSAkKEVOQUJMRV9DT05URU5UX0ZJTFRFUklORykgJChF
TkFCTEVfQ1NQX05FWFQpICQoRU5BQkxFX0NTU19BTklNQVRJT05TX0xFVkVMXzIpICQoRU5BQkxF
X0NTU19CT1hfREVDT1JBVElPTl9CUkVBSykgJChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVO
QUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJT04pICQoRU5BQkxFX0NTU19HUklEX0xBWU9VVCkgJChF
TkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xVVElP
TikgJChFTkFCTEVfQ1NTX1JFR0lPTlMpICQoRU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAk
KEVOQUJMRV9DU1NfU0hBUEVTKSAkKEVOQUJMRV9DU1MzX1RFWFQpICQoRU5BQkxFX0NTUzNfVEVY
VF9MSU5FX0JSRUFLKSAkKEVOQUJMRV9DVVJTT1JfVklTSUJJTElUWSkgJChFTkFCTEVfQ1VTVE9N
X1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVCkgJChFTkFCTEVfREFU
QUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREFUQV9UUkFOU0ZFUl9JVEVNUykgJChFTkFCTEVfREVU
QUlMU19FTEVNRU5UKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RPTTRf
RVZFTlRTX0NPTlNUUlVDVE9SKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0VO
Q1JZUFRFRF9NRURJQV9WMikgJChFTkFCTEVfRkVUQ0hfQVBJKSAkKEVOQUJMRV9GSUxURVJTX0xF
VkVMXzIpICQoRU5BQkxFX0ZPTlRfTE9BRF9FVkVOVFMpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJ
KSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HQU1FUEFEX0RFUFJFQ0FURUQpICQoRU5BQkxF
X0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9JQ09OREFUQUJBU0UpICQoRU5BQkxFX1NFUlZJQ0VfQ09O
VFJPTFMpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJB
U0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5ESUVfVUkpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09M
T1IpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1JfUE9QT1ZFUikgJChFTkFCTEVfSU5QVVRfVFlQ
RV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxF
X0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChF
TkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxF
X1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkgJChFTkFCTEVfSU5UTCkgJChFTkFCTEVfSU9TX0dF
U1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1NfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9JT1Nf
VE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFC
TEVfTEVHQUNZX05PVElGSUNBVElPTlMpICQoRU5BQkxFX0xFR0FDWV9WRU5ET1JfUFJFRklYRVMp
ICQoRU5BQkxFX0xFR0FDWV9XRUJfQVVESU8pICQoRU5BQkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJM
RV9MSU5LX1BSRUZFVENIKSAkKEVOQUJMRV9NQUNfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX01B
VEhNTCkgJChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJQV9TRVNT
SU9OKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQo
RU5BQkxFX01FRElBX1NUUkVBTSkgJChFTkFCTEVfTUVURVJfRUxFTUVOVCkgJChFTkFCTEVfTUhU
TUwpICQoRU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVfTkFWSUdBVE9SX0NPTlRF
TlRfVVRJTFMpICQoRU5BQkxFX05BVklHQVRPUl9IV0NPTkNVUlJFTkNZKSAkKEVOQUJMRV9OT1RJ
RklDQVRJT05TKSAkKEVOQUJMRV9QREZLSVRfUExVR0lOKSAkKEVOQUJMRV9QT0lOVEVSX0xPQ0sp
ICQoRU5BQkxFX1BST1hJTUlUWV9FVkVOVFMpICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElTVCkg
JChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FKSAkKEVOQUJM
RV9SRVFVRVNUX0FVVE9DT01QTEVURSkgJChFTkFCTEVfUkVNT1RFX0lOU1BFQ1RPUikgJChFTkFC
TEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVfUkVTT1VSQ0VfVVNBR0UpICQoRU5B
QkxFX1JVQkJFUl9CQU5ESU5HKSAkKEVOQUJMRV9DU1NfU0NST0xMX1NOQVApICQoRU5BQkxFX1NQ
RUVDSF9TWU5USEVTSVMpICQoRU5BQkxFX1NUUkVBTVNfQVBJKSAkKEVOQUJMRV9TVUJUTEVfQ1JZ
UFRPKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJfREVURUNU
SU9OKSAkKEVOQUJMRV9URU1QTEFURV9FTEVNRU5UKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcp
ICQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVE9VQ0hfSUNPTl9MT0FESU5HKSAkKEVO
QUJMRV9DU1NfVFJBSUxJTkdfV09SRCkgJChFTkFCTEVfVVNFUlNFTEVDVF9BTEwpICQoRU5BQkxF
X1ZJREVPKSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVfREFUQUNVRV9WQUxVRSkgJChF
TkFCTEVfVklFV19NT0RFX0NTU19NRURJQSkgJChFTkFCTEVfV0VCQVNTRU1CTFkpICQoRU5BQkxF
X1dFQkdMKSAkKEVOQUJMRV9XRUJHTDIpICQoRU5BQkxFX1dFQl9BTklNQVRJT05TKSAkKEVOQUJM
RV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9SRVBMQVkpICQoRU5BQkxFX1dFQl9TT0NLRVRTKSAk
KEVOQUJMRV9XRUJfVElNSU5HKSAkKEVOQUJMRV9YU0xUKSAkKEVOQUJMRV9GVExfSklUKSAkKEVO
QUJMRV9KSVQpICQoRU5BQkxFX1NIQURPV19ET00pICQoRU5BQkxFX0NVU1RPTV9FTEVNRU5UUykg
JChFTkFCTEVfVklERU9fUFJFU0VOVEFUSU9OX01PREUpICQoRU5BQkxFX1NFUEFSQVRFRF9XWF9I
RUFQKTsKK0ZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxFXzNEX1RSQU5TRk9STVMpICQoRU5BQkxF
X0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NS
T0xMSU5HKSAkKEVOQUJMRV9BVkZfQ0FQVElPTlMpICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVO
VCkgJChFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DQU5WQVNfUEFUSCkgJChF
TkFCTEVfQ0FOVkFTX1BST1hZKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVf
RVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKSAkKEVOQUJMRV9FUzZfQ0xBU1NfU1lOVEFYKSAkKEVO
QUJMRV9FUzZfR0VORVJBVE9SUykgJChFTkFCTEVfRVM2X01PRFVMRVMpICQoRU5BQkxFX0NPTlRF
TlRfRklMVEVSSU5HKSAkKEVOQUJMRV9DU1BfTkVYVCkgJChFTkFCTEVfQ1NTX0FOSU1BVElPTlNf
TEVWRUxfMikgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1Nf
Q09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTikgJChFTkFCTEVfQ1NT
X0dSSURfTEFZT1VUKSAkKEVOQUJMRV9DU1NfSU1BR0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0NT
U19JTUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9DU1NfUkVHSU9OUykgJChFTkFCTEVfQ1NTX1NF
TEVDVE9SU19MRVZFTDQpICQoRU5BQkxFX0NTU19TSEFQRVMpICQoRU5BQkxFX0NTUzNfVEVYVCkg
JChFTkFCTEVfQ1NTM19URVhUX0xJTkVfQlJFQUspICQoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZ
KSAkKEVOQUJMRV9DVVNUT01fU0NIRU1FX0hBTkRMRVIpICQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQ
T1JUKSAkKEVOQUJMRV9EQVRBTElTVF9FTEVNRU5UKSAkKEVOQUJMRV9EQVRBX1RSQU5TRkVSX0lU
RU1TKSAkKEVOQUJMRV9ERVRBSUxTX0VMRU1FTlQpICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElP
TikgJChFTkFCTEVfRE9NNF9FVkVOVFNfQ09OU1RSVUNUT1IpICQoRU5BQkxFX0VOQ1JZUFRFRF9N
RURJQSkgJChFTkFCTEVfRU5DUllQVEVEX01FRElBX1YyKSAkKEVOQUJMRV9GRVRDSF9BUEkpICQo
RU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikgJChFTkFCTEVfRk9OVF9MT0FEX0VWRU5UUykgJChFTkFC
TEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dBTUVQQURfREVQ
UkVDQVRFRCkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0lDT05EQVRBQkFTRSkgJChF
TkFCTEVfU0VSVklDRV9DT05UUk9MUykgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFC
TEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAkKEVOQUJMRV9JTkRJRV9VSSkgJChFTkFC
TEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUl9QT1BPVkVSKSAk
KEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVfSU5D
T01QTEVURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBV
VF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZ
UEVfV0VFSykgJChFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKSAkKEVOQUJMRV9JTlRM
KSAkKEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX0lPU19URVhUX0FVVE9TSVpJ
TkcpICQoRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMpICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9S
X1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfTEVHQUNZ
X1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX1dFQl9BVURJTykgJChFTkFCTEVfTEVU
VEVSUFJFU1MpICQoRU5BQkxFX0xJTktfUFJFRkVUQ0gpICQoRU5BQkxFX01BQ19HRVNUVVJFX0VW
RU5UUykgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9DT05UUk9MU19TQ1JJUFQpICQo
RU5BQkxFX01FRElBX1NFU1NJT04pICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVE
SUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVESUFfU1RSRUFNKSAkKEVOQUJMRV9NRVRFUl9FTEVN
RU5UKSAkKEVOQUJMRV9NSFRNTCkgJChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJM
RV9OQVZJR0FUT1JfQ09OVEVOVF9VVElMUykgJChFTkFCTEVfTkFWSUdBVE9SX0hXQ09OQ1VSUkVO
Q1kpICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQoRU5B
QkxFX1BPSU5URVJfTE9DSykgJChFTkFCTEVfUFJPWElNSVRZX0VWRU5UUykgJChFTkFCTEVfUFVC
TElDX1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVRVUVTVF9BTklNQVRJ
T05fRlJBTUUpICQoRU5BQkxFX1JFUVVFU1RfQVVUT0NPTVBMRVRFKSAkKEVOQUJMRV9SRU1PVEVf
SU5TUEVDVE9SKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVOQUJMRV9SRVNP
VVJDRV9VU0FHRSkgJChFTkFCTEVfUlVCQkVSX0JBTkRJTkcpICQoRU5BQkxFX0NTU19TQ1JPTExf
U05BUCkgJChFTkFCTEVfU1BFRUNIX1NZTlRIRVNJUykgJChFTkFCTEVfU1RSRUFNU19BUEkpICQo
RU5BQkxFX1NVQlRMRV9DUllQVE8pICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVfVEVMRVBI
T05FX05VTUJFUl9ERVRFQ1RJT04pICQoRU5BQkxFX1RFTVBMQVRFX0VMRU1FTlQpICQoRU5BQkxF
X1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9UT1VDSF9J
Q09OX0xPQURJTkcpICQoRU5BQkxFX0NTU19UUkFJTElOR19XT1JEKSAkKEVOQUJMRV9VU0VSU0VM
RUNUX0FMTCkgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9E
QVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9WSUVXX01PREVfQ1NTX01FRElBKSAkKEVOQUJMRV9XRUJB
U1NFTUJMWSkgJChFTkFCTEVfV0VCR0wpICQoRU5BQkxFX1dFQkdMMikgJChFTkFCTEVfV0VCX0FO
SU1BVElPTlMpICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VCX1JFUExBWSkgJChFTkFC
TEVfV0VCX1NPQ0tFVFMpICQoRU5BQkxFX1dFQl9USU1JTkcpICQoRU5BQkxFX1hTTFQpICQoRU5B
QkxFX0ZUTF9KSVQpICQoRU5BQkxFX0pJVCkgJChFTkFCTEVfU0hBRE9XX0RPTSkgJChFTkFCTEVf
Q1VTVE9NX0VMRU1FTlRTKSAkKEVOQUJMRV9WSURFT19QUkVTRU5UQVRJT05fTU9ERSk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>275740</attachid>
            <date>2016-04-05 19:58:02 -0700</date>
            <delta_ts>2016-04-08 13:08:34 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-155508-20160405195803.patch</filename>
            <type>text/plain</type>
            <size>82103</size>
            <attacher name="Oliver Hunt">oliver</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTk5MDkwCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA2
MGQ4YzA5ZDc5OGYwOGQzNGRiYTFkYzNlOWJjNzJhOTEwN2RkODU5Li5lYmM4OTI3ZTVhM2Y4MmNj
M2M0OTM3YzA0NTE0ZDE0NWVlMzUwM2ZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw3MyBAQAorMjAxNi0wNC0wNSAgT2xpdmVyIEh1bnQgIDxvbGl2ZXJAYXBwbGUuY29tPgor
CisgICAgICAgIFJlbW92ZSBjb21waWxlIHRpbWUgZGVmaW5lIGZvciBTRVBBUkFURURfSEVBUAor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTU1NTA4CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUmVtb3ZlIHRo
ZSBTRVBBUkFURURfSEVBUCBjb21waWxlIHRpbWUgZmxhZy4gVGhlIHNlcGFyYXRlZAorICAgICAg
ICBoZWFwIGlzIGF2YWlsYWJsZSwgYnV0IG9mZiBieSBkZWZhdWx0LCBvbiB4ODZfNjQsIEFSTXY3
LCBhbmQKKyAgICAgICAgQVJNNjQuCisKKyAgICAgICAgV29ya2luZyB0aHJvdWdoIHRoZSBpc3N1
ZXMgdGhhdCBoYXBwZW5lZCBsYXN0IHRpbWUgZXNzZW50aWFsbHkKKyAgICAgICAgcmVxdWlyZWQg
aW1wbGVtZW50aW5nIHRoZSBBUk12NyBwYXRoIGZvciB0aGUgc2VwYXJhdGVkIGhlYXAKKyAgICAg
ICAganVzdCBzbyBJIGNvdWxkIGZpbmQgYWxsIHRoZSB3YXlzIGl0IHdhcyBnb2luZyB3cm9uZy4K
KworICAgICAgICAqIENvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnOgorICAg
ICAgICAqIGFzc2VtYmxlci9BUk02NEFzc2VtYmxlci5oOgorICAgICAgICAoSlNDOjpBUk02NEFz
c2VtYmxlcjo6bGlua0p1bXApOgorICAgICAgICAoSlNDOjpBUk02NEFzc2VtYmxlcjo6bGlua0Nh
bGwpOgorICAgICAgICAoSlNDOjpBUk02NEFzc2VtYmxlcjo6cmVsaW5rSnVtcCk6CisgICAgICAg
IChKU0M6OkFSTTY0QXNzZW1ibGVyOjpyZWxpbmtDYWxsKToKKyAgICAgICAgKEpTQzo6QVJNNjRB
c3NlbWJsZXI6OmxpbmspOgorICAgICAgICAoSlNDOjpBUk02NEFzc2VtYmxlcjo6bGlua0p1bXBP
ckNhbGwpOgorICAgICAgICAoSlNDOjpBUk02NEFzc2VtYmxlcjo6bGlua0NvbXBhcmVBbmRCcmFu
Y2gpOgorICAgICAgICAoSlNDOjpBUk02NEFzc2VtYmxlcjo6bGlua0NvbmRpdGlvbmFsQnJhbmNo
KToKKyAgICAgICAgKEpTQzo6QVJNNjRBc3NlbWJsZXI6OmxpbmtUZXN0QW5kQnJhbmNoKToKKyAg
ICAgICAgKEpTQzo6QVJNNjRBc3NlbWJsZXI6OnJlbGlua0p1bXBPckNhbGwpOgorICAgICAgICAq
IGFzc2VtYmxlci9BUk12N0Fzc2VtYmxlci5oOgorICAgICAgICAoSlNDOjpBUk12N0Fzc2VtYmxl
cjo6cmV2ZXJ0SnVtcFRvX21vdlQzbW92dGNtcFQyKToKKyAgICAgICAgKEpTQzo6QVJNdjdBc3Nl
bWJsZXI6OnJldmVydEp1bXBUb19tb3ZUMyk6CisgICAgICAgIChKU0M6OkFSTXY3QXNzZW1ibGVy
OjpsaW5rKToKKyAgICAgICAgKEpTQzo6QVJNdjdBc3NlbWJsZXI6OmxpbmtKdW1wKToKKyAgICAg
ICAgKEpTQzo6QVJNdjdBc3NlbWJsZXI6OnJlbGlua0p1bXApOgorICAgICAgICAoSlNDOjpBUk12
N0Fzc2VtYmxlcjo6cmVwYXRjaENvbXBhY3QpOgorICAgICAgICAoSlNDOjpBUk12N0Fzc2VtYmxl
cjo6cmVwbGFjZVdpdGhKdW1wKToKKyAgICAgICAgKEpTQzo6QVJNdjdBc3NlbWJsZXI6OnJlcGxh
Y2VXaXRoTG9hZCk6CisgICAgICAgIChKU0M6OkFSTXY3QXNzZW1ibGVyOjpyZXBsYWNlV2l0aEFk
ZHJlc3NDb21wdXRhdGlvbik6CisgICAgICAgIChKU0M6OkFSTXY3QXNzZW1ibGVyOjpzZXRJbnQz
Mik6CisgICAgICAgIChKU0M6OkFSTXY3QXNzZW1ibGVyOjpzZXRVSW50N0ZvckxvYWQpOgorICAg
ICAgICAoSlNDOjpBUk12N0Fzc2VtYmxlcjo6aXNCKToKKyAgICAgICAgKEpTQzo6QVJNdjdBc3Nl
bWJsZXI6OmlzQlgpOgorICAgICAgICAoSlNDOjpBUk12N0Fzc2VtYmxlcjo6aXNNT1ZfaW1tX1Qz
KToKKyAgICAgICAgKEpTQzo6QVJNdjdBc3NlbWJsZXI6OmlzTU9WVCk6CisgICAgICAgIChKU0M6
OkFSTXY3QXNzZW1ibGVyOjppc05PUF9UMSk6CisgICAgICAgIChKU0M6OkFSTXY3QXNzZW1ibGVy
Ojppc05PUF9UMik6CisgICAgICAgIChKU0M6OkFSTXY3QXNzZW1ibGVyOjpsaW5rSnVtcFQxKToK
KyAgICAgICAgKEpTQzo6QVJNdjdBc3NlbWJsZXI6OmxpbmtKdW1wVDIpOgorICAgICAgICAoSlND
OjpBUk12N0Fzc2VtYmxlcjo6bGlua0p1bXBUMyk6CisgICAgICAgIChKU0M6OkFSTXY3QXNzZW1i
bGVyOjpsaW5rSnVtcFQ0KToKKyAgICAgICAgKEpTQzo6QVJNdjdBc3NlbWJsZXI6OmxpbmtDb25k
aXRpb25hbEp1bXBUNCk6CisgICAgICAgIChKU0M6OkFSTXY3QXNzZW1ibGVyOjpsaW5rQlgpOgor
ICAgICAgICAoSlNDOjpBUk12N0Fzc2VtYmxlcjo6bGlua0NvbmRpdGlvbmFsQlgpOgorICAgICAg
ICAoSlNDOjpBUk12N0Fzc2VtYmxlcjo6bGlua0p1bXBBYnNvbHV0ZSk6CisgICAgICAgICogYXNz
ZW1ibGVyL0xpbmtCdWZmZXIuY3BwOgorICAgICAgICAoSlNDOjpMaW5rQnVmZmVyOjpjb3B5Q29t
cGFjdEFuZExpbmtDb2RlKToKKyAgICAgICAgKiBhc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJBUk02
NC5oOgorICAgICAgICAoSlNDOjpNYWNyb0Fzc2VtYmxlckFSTTY0OjpsaW5rKToKKyAgICAgICAg
KiBhc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJBUk12Ny5oOgorICAgICAgICAoSlNDOjpNYWNyb0Fz
c2VtYmxlckFSTXY3OjpsaW5rKToKKyAgICAgICAgKiBqaXQvRXhlY3V0YWJsZUFsbG9jYXRvci5o
OgorICAgICAgICAoSlNDOjpwZXJmb3JtSklUTWVtY3B5KToKKyAgICAgICAgKiBqaXQvRXhlY3V0
YWJsZUFsbG9jYXRvckZpeGVkVk1Qb29sLmNwcDoKKyAgICAgICAgKEpTQzo6Rml4ZWRWTVBvb2xF
eGVjdXRhYmxlQWxsb2NhdG9yOjppbml0aWFsaXplU2VwYXJhdGVkV1hIZWFwcyk6CisgICAgICAg
IChKU0M6OkZpeGVkVk1Qb29sRXhlY3V0YWJsZUFsbG9jYXRvcjo6aml0V3JpdGVUaHVua0dlbmVy
YXRvcik6CisgICAgICAgIChKU0M6OkZpeGVkVk1Qb29sRXhlY3V0YWJsZUFsbG9jYXRvcjo6Z2Vu
ZXJpY1dyaXRlVG9KSVRSZWdpb24pOgorICAgICAgICAoSlNDOjpGaXhlZFZNUG9vbEV4ZWN1dGFi
bGVBbGxvY2F0b3I6OkZpeGVkVk1Qb29sRXhlY3V0YWJsZUFsbG9jYXRvcik6IERlbGV0ZWQuCisg
ICAgICAgICogcnVudGltZS9PcHRpb25zLmNwcDoKKyAgICAgICAgKEpTQzo6cmVjb21wdXRlRGVw
ZW5kZW50T3B0aW9ucyk6CisgICAgICAgICogcnVudGltZS9PcHRpb25zLmg6CisKIDIwMTYtMDQt
MDUgIENvbW1pdCBRdWV1ZSAgPGNvbW1pdC1xdWV1ZUB3ZWJraXQub3JnPgogCiAgICAgICAgIFVu
cmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHIxOTkwNzMuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0No
YW5nZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGQwN2FkZTI5OWQxMTU4Y2JjYmVk
NjIxOGI1YjNlZmNhNGE3YzYyNTMuLjJjNTcyY2ZkN2I0NjU3MWU1YTdmZTZkOGRmNmVjMDkzZmEw
OTkzODUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTYtMDQtMDUgIE9saXZlciBIdW50ICA8b2xp
dmVyQGFwcGxlLmNvbT4KKworICAgICAgICBSZW1vdmUgY29tcGlsZSB0aW1lIGRlZmluZSBmb3Ig
U0VQQVJBVEVEX0hFQVAKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTE1NTUwOAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgICogd3RmL0ZlYXR1cmVEZWZpbmVzLmg6CisgICAgICAgICogd3RmL1BsYXRmb3JtLmg6
CisKIDIwMTYtMDMtMTkgIEZpbGlwIFBpemxvICA8ZnBpemxvQGFwcGxlLmNvbT4KIAogICAgICAg
ICBERkcgYW5kIEZUTCBzaG91bGQgY29uc3RhbnQtZm9sZCBSZWdFeHBFeGVjCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5k
ZXggMTMxYTkxYTA1MDI1ODViZmNkMzM5N2VlMWFkZGFjNmRmZjBmZTJlMS4uNjhjODFhYmM1ZmJi
YWIzNzVjMzMwM2I4YWI3ZjVmOGVjNTY1ZTQ3ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
Q2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBA
CisyMDE2LTA0LTA1ICBPbGl2ZXIgSHVudCAgPG9saXZlckBhcHBsZS5jb20+CisKKyAgICAgICAg
UmVtb3ZlIGNvbXBpbGUgdGltZSBkZWZpbmUgZm9yIFNFUEFSQVRFRF9IRUFQCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTU1MDgKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBObyBuZXcgdGVzdHMgKE9PUFMh
KS4KKworICAgICAgICAqIENvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnOgor
CiAyMDE2LTA0LTA1ICBKb24gRGF2aXMgIDxqb25kQGluZ2VuZXNpcy5uZXQ+CiAKICAgICAgICAg
Rml4ZWQgQ1NTIFNoYXBlcyBlbnRyeSBvbiB0aGUgV2ViS2l0IEZlYXR1cmUgU3RhdHVzIHBhZ2Uu
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0
L21hYy9DaGFuZ2VMb2cKaW5kZXggNDE1N2E0Mjg4YmE0OGFlZDQyMzM4OGFiNTcwNTU2YzJiMTJl
ODg0Ni4uOGMyZTY5OWFiMTkxYjE1NTI1N2Q5MDZhNjkxNDkwMmFiNDdmZDgwNSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL0No
YW5nZUxvZwpAQCAtMSwzICsxLDEyIEBACisyMDE2LTA0LTA1ICBPbGl2ZXIgSHVudCAgPG9saXZl
ckBhcHBsZS5jb20+CisKKyAgICAgICAgUmVtb3ZlIGNvbXBpbGUgdGltZSBkZWZpbmUgZm9yIFNF
UEFSQVRFRF9IRUFQCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xNTU1MDgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICAqIENvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnOgorCiAyMDE2LTA0
LTA1ICBCZXRoIERha2luICA8YmRha2luQGFwcGxlLmNvbT4KIAogICAgICAgICBNYWtlIHJlcXVl
c3RDYW5kaWRhdGVzRm9yU2VsZWN0aW9uIGF2YWlsYWJsZSBvbiBhbnkgRWRpdG9yQ2xpZW50CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFu
Z2VMb2cKaW5kZXggMGVjMjA0ZTM2Yjk1ODAzOGJmMjY2Mjk3OTJhYWNjOTdiNDBiNjM1NC4uM2Y3
NGNlOTllYmZmZmY1YjE0YmEwMmY4NDIyOTE0Nzc4YmI4NzJlOCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDEyIEBACisyMDE2LTA0LTA1ICBPbGl2ZXIgSHVudCAgPG9saXZlckBhcHBsZS5jb20+CisK
KyAgICAgICAgUmVtb3ZlIGNvbXBpbGUgdGltZSBkZWZpbmUgZm9yIFNFUEFSQVRFRF9IRUFQCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTU1MDgKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIENvbmZpZ3Vy
YXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnOgorCiAyMDE2LTA0LTA1ICBBbGV4IENocmlz
dGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CiAKICAgICAgICAgRml4IFJhbmdlIHJl
cXVlc3RzIHdoZW4gbm90IHVzaW5nIHRoZSBOZXR3b3JrQ2FjaGUgd2l0aCBOZXR3b3JrU2Vzc2lv
bgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1
cmVEZWZpbmVzLnhjY29uZmlnIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NvbmZpZ3VyYXRpb25z
L0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCmluZGV4IDIwYzlmOTg4YWVjNjkzMjc2YzFlYmRlZWUy
YjYzOTMyNjlkODFhNjUuLjVjMzkzNTE3NTE3Yjc5OTMxNzRjNDQ4YjBmZGViYjE5ZWE4Yzc1MjAg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJl
RGVmaW5lcy54Y2NvbmZpZworKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ29uZmlndXJhdGlv
bnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKQEAgLTE5NCw3ICsxOTQsNCBAQCBFTkFCTEVfRlRM
X0pJVFtzZGs9aXBob25lb3MqXSA9IEVOQUJMRV9GVExfSklUOwogRU5BQkxFX1NIQURPV19ET00g
PSBFTkFCTEVfU0hBRE9XX0RPTTsKIEVOQUJMRV9DVVNUT01fRUxFTUVOVFMgPSBFTkFCTEVfQ1VT
VE9NX0VMRU1FTlRTOwogCi1FTkFCTEVfU0VQQVJBVEVEX1dYX0hFQVBbc2RrPWlwaG9uZSpdID0g
OwotRU5BQkxFX1NFUEFSQVRFRF9XWF9IRUFQW3Nkaz1tYWNvc3gqXSA9IDsKLQotRkVBVFVSRV9E
RUZJTkVTID0gJChFTkFCTEVfM0RfVFJBTlNGT1JNUykgJChFTkFCTEVfQUNDRUxFUkFURURfMkRf
Q0FOVkFTKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkcpICQoRU5BQkxF
X0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQVRUQUNITUVOVF9FTEVNRU5UKSAkKEVOQUJMRV9DQUNI
RV9QQVJUSVRJT05JTkcpICQoRU5BQkxFX0NBTlZBU19QQVRIKSAkKEVOQUJMRV9DQU5WQVNfUFJP
WFkpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9FUzZfQVJST1dGVU5DVElP
Tl9TWU5UQVgpICQoRU5BQkxFX0VTNl9DTEFTU19TWU5UQVgpICQoRU5BQkxFX0VTNl9HRU5FUkFU
T1JTKSAkKEVOQUJMRV9FUzZfTU9EVUxFUykgJChFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcpICQo
RU5BQkxFX0NTUF9ORVhUKSAkKEVOQUJMRV9DU1NfQU5JTUFUSU9OU19MRVZFTF8yKSAkKEVOQUJM
RV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUspICQoRU5BQkxFX0NTU19DT01QT1NJVElORykgJChF
TkFCTEVfQ1NTX0RFVklDRV9BREFQVEFUSU9OKSAkKEVOQUJMRV9DU1NfR1JJRF9MQVlPVVQpICQo
RU5BQkxFX0NTU19JTUFHRV9PUklFTlRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJ
T04pICQoRU5BQkxFX0NTU19SRUdJT05TKSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkg
JChFTkFCTEVfQ1NTX1NIQVBFUykgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJMRV9DU1MzX1RF
WFRfTElORV9CUkVBSykgJChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NVU1RP
TV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQpICQoRU5BQkxFX0RB
VEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RBVEFfVFJBTlNGRVJfSVRFTVMpICQoRU5BQkxFX0RF
VEFJTFNfRUxFTUVOVCkgJChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9ET000
X0VWRU5UU19DT05TVFJVQ1RPUikgJChFTkFCTEVfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9F
TkNSWVBURURfTUVESUFfVjIpICQoRU5BQkxFX0ZFVENIX0FQSSkgJChFTkFCTEVfRklMVEVSU19M
RVZFTF8yKSAkKEVOQUJMRV9GT05UX0xPQURfRVZFTlRTKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQ
SSkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0FNRVBBRF9ERVBSRUNBVEVEKSAkKEVOQUJM
RV9HRU9MT0NBVElPTikgJChFTkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJMRV9TRVJWSUNFX0NP
TlRST0xTKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFC
QVNFX0lOX1dPUktFUlMpICQoRU5BQkxFX0lORElFX1VJKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NP
TE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SX1BPUE9WRVIpICQoRU5BQkxFX0lOUFVUX1RZ
UEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRV9JTkNPTVBMRVRFKSAkKEVOQUJM
RV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQo
RU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJM
RV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICQoRU5BQkxFX0lOVEwpICQoRU5BQkxFX0lPU19H
RVNUVVJFX0VWRU5UUykgJChFTkFCTEVfSU9TX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfSU9T
X1RPVUNIX0VWRU5UUykgJChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMpICQoRU5B
QkxFX0xFR0FDWV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9MRUdBQ1lfVkVORE9SX1BSRUZJWEVT
KSAkKEVOQUJMRV9MRUdBQ1lfV0VCX0FVRElPKSAkKEVOQUJMRV9MRVRURVJQUkVTUykgJChFTkFC
TEVfTElOS19QUkVGRVRDSCkgJChFTkFCTEVfTUFDX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9N
QVRITUwpICQoRU5BQkxFX01FRElBX0NPTlRST0xTX1NDUklQVCkgJChFTkFCTEVfTUVESUFfU0VT
U0lPTikgJChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAk
KEVOQUJMRV9NRURJQV9TVFJFQU0pICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxFX01I
VE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUpICQoRU5BQkxFX05BVklHQVRPUl9DT05U
RU5UX1VUSUxTKSAkKEVOQUJMRV9OQVZJR0FUT1JfSFdDT05DVVJSRU5DWSkgJChFTkFCTEVfTk9U
SUZJQ0FUSU9OUykgJChFTkFCTEVfUERGS0lUX1BMVUdJTikgJChFTkFCTEVfUE9JTlRFUl9MT0NL
KSAkKEVOQUJMRV9QUk9YSU1JVFlfRVZFTlRTKSAkKEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJU1Qp
ICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRVFVRVNUX0FOSU1BVElPTl9GUkFNRSkgJChFTkFC
TEVfUkVRVUVTVF9BVVRPQ09NUExFVEUpICQoRU5BQkxFX1JFTU9URV9JTlNQRUNUT1IpICQoRU5B
QkxFX1JFU09MVVRJT05fTUVESUFfUVVFUlkpICQoRU5BQkxFX1JFU09VUkNFX1VTQUdFKSAkKEVO
QUJMRV9SVUJCRVJfQkFORElORykgJChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9T
UEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TVFJFQU1TX0FQSSkgJChFTkFCTEVfU1VCVExFX0NS
WVBUTykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9URUxFUEhPTkVfTlVNQkVSX0RFVEVD
VElPTikgJChFTkFCTEVfVEVNUExBVEVfRUxFTUVOVCkgJChFTkFCTEVfVEVYVF9BVVRPU0laSU5H
KSAkKEVOQUJMRV9UT1VDSF9FVkVOVFMpICQoRU5BQkxFX1RPVUNIX0lDT05fTE9BRElORykgJChF
TkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQoRU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJM
RV9WSURFTykgJChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUpICQo
RU5BQkxFX1ZJRVdfTU9ERV9DU1NfTUVESUEpICQoRU5BQkxFX1dFQkFTU0VNQkxZKSAkKEVOQUJM
RV9XRUJHTCkgJChFTkFCTEVfV0VCR0wyKSAkKEVOQUJMRV9XRUJfQU5JTUFUSU9OUykgJChFTkFC
TEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfUkVQTEFZKSAkKEVOQUJMRV9XRUJfU09DS0VUUykg
JChFTkFCTEVfV0VCX1RJTUlORykgJChFTkFCTEVfWFNMVCkgJChFTkFCTEVfRlRMX0pJVCkgJChF
TkFCTEVfSklUKSAkKEVOQUJMRV9TSEFET1dfRE9NKSAkKEVOQUJMRV9DVVNUT01fRUxFTUVOVFMp
ICQoRU5BQkxFX1ZJREVPX1BSRVNFTlRBVElPTl9NT0RFKSAkKEVOQUJMRV9TRVBBUkFURURfV1hf
SEVBUCk7CitGRUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9UUkFOU0ZPUk1TKSAkKEVOQUJM
RV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1ND
Uk9MTElORykgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1F
TlQpICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykgJChFTkFCTEVfQ0FOVkFTX1BBVEgpICQo
RU5BQkxFX0NBTlZBU19QUk9YWSkgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxF
X0VTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkgJChFTkFCTEVfRVM2X0NMQVNTX1NZTlRBWCkgJChF
TkFCTEVfRVM2X0dFTkVSQVRPUlMpICQoRU5BQkxFX0VTNl9NT0RVTEVTKSAkKEVOQUJMRV9DT05U
RU5UX0ZJTFRFUklORykgJChFTkFCTEVfQ1NQX05FWFQpICQoRU5BQkxFX0NTU19BTklNQVRJT05T
X0xFVkVMXzIpICQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVBSykgJChFTkFCTEVfQ1NT
X0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJT04pICQoRU5BQkxFX0NT
U19HUklEX0xBWU9VVCkgJChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9D
U1NfSU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1JFR0lPTlMpICQoRU5BQkxFX0NTU19T
RUxFQ1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9DU1NfU0hBUEVTKSAkKEVOQUJMRV9DU1MzX1RFWFQp
ICQoRU5BQkxFX0NTUzNfVEVYVF9MSU5FX0JSRUFLKSAkKEVOQUJMRV9DVVJTT1JfVklTSUJJTElU
WSkgJChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQ
UE9SVCkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREFUQV9UUkFOU0ZFUl9J
VEVNUykgJChFTkFCTEVfREVUQUlMU19FTEVNRU5UKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJ
T04pICQoRU5BQkxFX0RPTTRfRVZFTlRTX0NPTlNUUlVDVE9SKSAkKEVOQUJMRV9FTkNSWVBURURf
TUVESUEpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQV9WMikgJChFTkFCTEVfRkVUQ0hfQVBJKSAk
KEVOQUJMRV9GSUxURVJTX0xFVkVMXzIpICQoRU5BQkxFX0ZPTlRfTE9BRF9FVkVOVFMpICQoRU5B
QkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HQU1FUEFEX0RF
UFJFQ0FURUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9JQ09OREFUQUJBU0UpICQo
RU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5B
QkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5ESUVfVUkpICQoRU5B
QkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1JfUE9QT1ZFUikg
JChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lO
Q09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5Q
VVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9U
WVBFX1dFRUspICQoRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkgJChFTkFCTEVfSU5U
TCkgJChFTkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1NfVEVYVF9BVVRPU0la
SU5HKSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRP
Ul9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX05PVElGSUNBVElPTlMpICQoRU5BQkxFX0xFR0FD
WV9WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9XRUJfQVVESU8pICQoRU5BQkxFX0xF
VFRFUlBSRVNTKSAkKEVOQUJMRV9MSU5LX1BSRUZFVENIKSAkKEVOQUJMRV9NQUNfR0VTVFVSRV9F
VkVOVFMpICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUKSAk
KEVOQUJMRV9NRURJQV9TRVNTSU9OKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01F
RElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FRElBX1NUUkVBTSkgJChFTkFCTEVfTUVURVJfRUxF
TUVOVCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFC
TEVfTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpICQoRU5BQkxFX05BVklHQVRPUl9IV0NPTkNVUlJF
TkNZKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9QREZLSVRfUExVR0lOKSAkKEVO
QUJMRV9QT0lOVEVSX0xPQ0spICQoRU5BQkxFX1BST1hJTUlUWV9FVkVOVFMpICQoRU5BQkxFX1BV
QkxJQ19TVUZGSVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFUVVFU1RfQU5JTUFU
SU9OX0ZSQU1FKSAkKEVOQUJMRV9SRVFVRVNUX0FVVE9DT01QTEVURSkgJChFTkFCTEVfUkVNT1RF
X0lOU1BFQ1RPUikgJChFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVfUkVT
T1VSQ0VfVVNBR0UpICQoRU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAkKEVOQUJMRV9DU1NfU0NST0xM
X1NOQVApICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxFX1NUUkVBTVNfQVBJKSAk
KEVOQUJMRV9TVUJUTEVfQ1JZUFRPKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1RFTEVQ
SE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVOQUJMRV9URU1QTEFURV9FTEVNRU5UKSAkKEVOQUJM
RV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVE9VQ0hf
SUNPTl9MT0FESU5HKSAkKEVOQUJMRV9DU1NfVFJBSUxJTkdfV09SRCkgJChFTkFCTEVfVVNFUlNF
TEVDVF9BTEwpICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVf
REFUQUNVRV9WQUxVRSkgJChFTkFCTEVfVklFV19NT0RFX0NTU19NRURJQSkgJChFTkFCTEVfV0VC
QVNTRU1CTFkpICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJHTDIpICQoRU5BQkxFX1dFQl9B
TklNQVRJT05TKSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9SRVBMQVkpICQoRU5B
QkxFX1dFQl9TT0NLRVRTKSAkKEVOQUJMRV9XRUJfVElNSU5HKSAkKEVOQUJMRV9YU0xUKSAkKEVO
QUJMRV9GVExfSklUKSAkKEVOQUJMRV9KSVQpICQoRU5BQkxFX1NIQURPV19ET00pICQoRU5BQkxF
X0NVU1RPTV9FTEVNRU5UUykgJChFTkFCTEVfVklERU9fUFJFU0VOVEFUSU9OX01PREUpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9BUk02NEFzc2VtYmxlci5o
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9BUk02NEFzc2VtYmxlci5oCmluZGV4
IDE4ZDMzOGVjNDZlOTFmMzk0ODFhM2E4ZGZiMDNiYzdlNjFkYTJiYzguLmI2MTA2YzMzOTE0NTMz
YzFmZGFjNTkwY2JjNDU2YTExNzg5NzZkMjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9hc3NlbWJsZXIvQVJNNjRBc3NlbWJsZXIuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvYXNzZW1ibGVyL0FSTTY0QXNzZW1ibGVyLmgKQEAgLTI0NzIsMjMgKzI0NzIsMjMgQEAgcHVi
bGljOgogICAgICAgICBtX2p1bXBzVG9MaW5rLmFwcGVuZChMaW5rUmVjb3JkKGZyb20ubV9vZmZz
ZXQsIHRvLm1fb2Zmc2V0LCB0eXBlLCBjb25kaXRpb24sIGJpdE51bWJlciwgY29tcGFyZVJlZ2lz
dGVyKSk7CiAgICAgfQogCi0gICAgdm9pZCBsaW5rSnVtcChBc3NlbWJsZXJMYWJlbCBmcm9tLCBB
c3NlbWJsZXJMYWJlbCB0bykKKyAgICB2b2lkIGxpbmtKdW1wKEFzc2VtYmxlckxhYmVsIGZyb20s
IHZvaWQqIGV4ZWN1dGFibGVDb2RlLCBBc3NlbWJsZXJMYWJlbCB0bykKICAgICB7CiAgICAgICAg
IEFTU0VSVChmcm9tLmlzU2V0KCkpOwogICAgICAgICBBU1NFUlQodG8uaXNTZXQoKSk7Ci0gICAg
ICAgIHJlbGlua0p1bXBPckNhbGw8ZmFsc2U+KGFkZHJlc3NPZihmcm9tKSwgYWRkcmVzc09mKHRv
KSk7CisgICAgICAgIHJlbGlua0p1bXBPckNhbGw8ZmFsc2U+KGFkZHJlc3NPZihmcm9tKSwgYWRk
cmVzc09mKGV4ZWN1dGFibGVDb2RlLCBmcm9tKSwgYWRkcmVzc09mKHRvKSk7CiAgICAgfQogICAg
IAogICAgIHN0YXRpYyB2b2lkIGxpbmtKdW1wKHZvaWQqIGNvZGUsIEFzc2VtYmxlckxhYmVsIGZy
b20sIHZvaWQqIHRvKQogICAgIHsKICAgICAgICAgQVNTRVJUKGZyb20uaXNTZXQoKSk7Ci0gICAg
ICAgIHJlbGlua0p1bXBPckNhbGw8ZmFsc2U+KGFkZHJlc3NPZihjb2RlLCBmcm9tKSwgdG8pOwor
ICAgICAgICByZWxpbmtKdW1wT3JDYWxsPGZhbHNlPihhZGRyZXNzT2YoY29kZSwgZnJvbSksIGFk
ZHJlc3NPZihjb2RlLCBmcm9tKSwgdG8pOwogICAgIH0KIAogICAgIHN0YXRpYyB2b2lkIGxpbmtD
YWxsKHZvaWQqIGNvZGUsIEFzc2VtYmxlckxhYmVsIGZyb20sIHZvaWQqIHRvKQogICAgIHsKICAg
ICAgICAgQVNTRVJUKGZyb20uaXNTZXQoKSk7Ci0gICAgICAgIGxpbmtKdW1wT3JDYWxsPHRydWU+
KGFkZHJlc3NPZihjb2RlLCBmcm9tKSAtIDEsIHRvKTsKKyAgICAgICAgbGlua0p1bXBPckNhbGw8
dHJ1ZT4oYWRkcmVzc09mKGNvZGUsIGZyb20pIC0gMSwgYWRkcmVzc09mKGNvZGUsIGZyb20pIC0g
MSwgdG8pOwogICAgIH0KIAogICAgIHN0YXRpYyB2b2lkIGxpbmtQb2ludGVyKHZvaWQqIGNvZGUs
IEFzc2VtYmxlckxhYmVsIHdoZXJlLCB2b2lkKiB2YWx1ZVB0cikKQEAgLTI2NTgsMTMgKzI2NTgs
MTMgQEAgcHVibGljOgogCiAgICAgc3RhdGljIHZvaWQgcmVsaW5rSnVtcCh2b2lkKiBmcm9tLCB2
b2lkKiB0bykKICAgICB7Ci0gICAgICAgIHJlbGlua0p1bXBPckNhbGw8ZmFsc2U+KHJlaW50ZXJw
cmV0X2Nhc3Q8aW50Kj4oZnJvbSksIHRvKTsKKyAgICAgICAgcmVsaW5rSnVtcE9yQ2FsbDxmYWxz
ZT4ocmVpbnRlcnByZXRfY2FzdDxpbnQqPihmcm9tKSwgcmVpbnRlcnByZXRfY2FzdDxjb25zdCBp
bnQqPihmcm9tKSwgdG8pOwogICAgICAgICBjYWNoZUZsdXNoKGZyb20sIHNpemVvZihpbnQpKTsK
ICAgICB9CiAgICAgCiAgICAgc3RhdGljIHZvaWQgcmVsaW5rQ2FsbCh2b2lkKiBmcm9tLCB2b2lk
KiB0bykKICAgICB7Ci0gICAgICAgIHJlbGlua0p1bXBPckNhbGw8dHJ1ZT4ocmVpbnRlcnByZXRf
Y2FzdDxpbnQqPihmcm9tKSAtIDEsIHRvKTsKKyAgICAgICAgcmVsaW5rSnVtcE9yQ2FsbDx0cnVl
PihyZWludGVycHJldF9jYXN0PGludCo+KGZyb20pIC0gMSwgcmVpbnRlcnByZXRfY2FzdDxjb25z
dCBpbnQqPihmcm9tKSAtIDEsIHRvKTsKICAgICAgICAgY2FjaGVGbHVzaChyZWludGVycHJldF9j
YXN0PGludCo+KGZyb20pIC0gMSwgc2l6ZW9mKGludCkpOwogICAgIH0KICAgICAKQEAgLTI4MDYs
MjkgKzI4MDYsMzAgQEAgcHVibGljOgogICAgICAgICByZXR1cm4gbV9qdW1wc1RvTGluazsKICAg
ICB9CiAKLSAgICBzdGF0aWMgdm9pZCBBTFdBWVNfSU5MSU5FIGxpbmsoTGlua1JlY29yZCYgcmVj
b3JkLCB1aW50OF90KiBmcm9tLCB1aW50OF90KiB0bykKKyAgICBzdGF0aWMgdm9pZCBBTFdBWVNf
SU5MSU5FIGxpbmsoTGlua1JlY29yZCYgcmVjb3JkLCB1aW50OF90KiBmcm9tLCBjb25zdCB1aW50
OF90KiBmcm9tSW5zdHJ1Y3Rpb244LCB1aW50OF90KiB0bykKICAgICB7CisgICAgICAgIGNvbnN0
IGludCogZnJvbUluc3RydWN0aW9uID0gcmVpbnRlcnByZXRfY2FzdDxjb25zdCBpbnQqPihmcm9t
SW5zdHJ1Y3Rpb244KTsKICAgICAgICAgc3dpdGNoIChyZWNvcmQubGlua1R5cGUoKSkgewogICAg
ICAgICBjYXNlIExpbmtKdW1wTm9Db25kaXRpb246Ci0gICAgICAgICAgICBsaW5rSnVtcE9yQ2Fs
bDxmYWxzZT4ocmVpbnRlcnByZXRfY2FzdDxpbnQqPihmcm9tKSwgdG8pOworICAgICAgICAgICAg
bGlua0p1bXBPckNhbGw8ZmFsc2U+KHJlaW50ZXJwcmV0X2Nhc3Q8aW50Kj4oZnJvbSksIGZyb21J
bnN0cnVjdGlvbiwgdG8pOwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGNhc2UgTGlua0p1
bXBDb25kaXRpb25EaXJlY3Q6Ci0gICAgICAgICAgICBsaW5rQ29uZGl0aW9uYWxCcmFuY2g8dHJ1
ZT4ocmVjb3JkLmNvbmRpdGlvbigpLCByZWludGVycHJldF9jYXN0PGludCo+KGZyb20pLCB0byk7
CisgICAgICAgICAgICBsaW5rQ29uZGl0aW9uYWxCcmFuY2g8dHJ1ZT4ocmVjb3JkLmNvbmRpdGlv
bigpLCByZWludGVycHJldF9jYXN0PGludCo+KGZyb20pLCBmcm9tSW5zdHJ1Y3Rpb24sIHRvKTsK
ICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBjYXNlIExpbmtKdW1wQ29uZGl0aW9uOgotICAg
ICAgICAgICAgbGlua0NvbmRpdGlvbmFsQnJhbmNoPGZhbHNlPihyZWNvcmQuY29uZGl0aW9uKCks
IHJlaW50ZXJwcmV0X2Nhc3Q8aW50Kj4oZnJvbSkgLSAxLCB0byk7CisgICAgICAgICAgICBsaW5r
Q29uZGl0aW9uYWxCcmFuY2g8ZmFsc2U+KHJlY29yZC5jb25kaXRpb24oKSwgcmVpbnRlcnByZXRf
Y2FzdDxpbnQqPihmcm9tKSAtIDEsIGZyb21JbnN0cnVjdGlvbiAtIDEsIHRvKTsKICAgICAgICAg
ICAgIGJyZWFrOwogICAgICAgICBjYXNlIExpbmtKdW1wQ29tcGFyZUFuZEJyYW5jaERpcmVjdDoK
LSAgICAgICAgICAgIGxpbmtDb21wYXJlQW5kQnJhbmNoPHRydWU+KHJlY29yZC5jb25kaXRpb24o
KSwgcmVjb3JkLmlzNjRCaXQoKSwgcmVjb3JkLmNvbXBhcmVSZWdpc3RlcigpLCByZWludGVycHJl
dF9jYXN0PGludCo+KGZyb20pLCB0byk7CisgICAgICAgICAgICBsaW5rQ29tcGFyZUFuZEJyYW5j
aDx0cnVlPihyZWNvcmQuY29uZGl0aW9uKCksIHJlY29yZC5pczY0Qml0KCksIHJlY29yZC5jb21w
YXJlUmVnaXN0ZXIoKSwgcmVpbnRlcnByZXRfY2FzdDxpbnQqPihmcm9tKSwgZnJvbUluc3RydWN0
aW9uLCB0byk7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgY2FzZSBMaW5rSnVtcENvbXBh
cmVBbmRCcmFuY2g6Ci0gICAgICAgICAgICBsaW5rQ29tcGFyZUFuZEJyYW5jaDxmYWxzZT4ocmVj
b3JkLmNvbmRpdGlvbigpLCByZWNvcmQuaXM2NEJpdCgpLCByZWNvcmQuY29tcGFyZVJlZ2lzdGVy
KCksIHJlaW50ZXJwcmV0X2Nhc3Q8aW50Kj4oZnJvbSkgLSAxLCB0byk7CisgICAgICAgICAgICBs
aW5rQ29tcGFyZUFuZEJyYW5jaDxmYWxzZT4ocmVjb3JkLmNvbmRpdGlvbigpLCByZWNvcmQuaXM2
NEJpdCgpLCByZWNvcmQuY29tcGFyZVJlZ2lzdGVyKCksIHJlaW50ZXJwcmV0X2Nhc3Q8aW50Kj4o
ZnJvbSkgLSAxLCBmcm9tSW5zdHJ1Y3Rpb24gLSAxLCB0byk7CiAgICAgICAgICAgICBicmVhazsK
ICAgICAgICAgY2FzZSBMaW5rSnVtcFRlc3RCaXREaXJlY3Q6Ci0gICAgICAgICAgICBsaW5rVGVz
dEFuZEJyYW5jaDx0cnVlPihyZWNvcmQuY29uZGl0aW9uKCksIHJlY29yZC5iaXROdW1iZXIoKSwg
cmVjb3JkLmNvbXBhcmVSZWdpc3RlcigpLCByZWludGVycHJldF9jYXN0PGludCo+KGZyb20pLCB0
byk7CisgICAgICAgICAgICBsaW5rVGVzdEFuZEJyYW5jaDx0cnVlPihyZWNvcmQuY29uZGl0aW9u
KCksIHJlY29yZC5iaXROdW1iZXIoKSwgcmVjb3JkLmNvbXBhcmVSZWdpc3RlcigpLCByZWludGVy
cHJldF9jYXN0PGludCo+KGZyb20pLCBmcm9tSW5zdHJ1Y3Rpb24sIHRvKTsKICAgICAgICAgICAg
IGJyZWFrOwogICAgICAgICBjYXNlIExpbmtKdW1wVGVzdEJpdDoKLSAgICAgICAgICAgIGxpbmtU
ZXN0QW5kQnJhbmNoPGZhbHNlPihyZWNvcmQuY29uZGl0aW9uKCksIHJlY29yZC5iaXROdW1iZXIo
KSwgcmVjb3JkLmNvbXBhcmVSZWdpc3RlcigpLCByZWludGVycHJldF9jYXN0PGludCo+KGZyb20p
IC0gMSwgdG8pOworICAgICAgICAgICAgbGlua1Rlc3RBbmRCcmFuY2g8ZmFsc2U+KHJlY29yZC5j
b25kaXRpb24oKSwgcmVjb3JkLmJpdE51bWJlcigpLCByZWNvcmQuY29tcGFyZVJlZ2lzdGVyKCks
IHJlaW50ZXJwcmV0X2Nhc3Q8aW50Kj4oZnJvbSkgLSAxLCBmcm9tSW5zdHJ1Y3Rpb24gLSAxLCB0
byk7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgZGVmYXVsdDoKICAgICAgICAgICAgIEFT
U0VSVF9OT1RfUkVBQ0hFRCgpOwpAQCAtMjg3MCw3ICsyODcxLDcgQEAgcHJpdmF0ZToKICAgICB9
CiAKICAgICB0ZW1wbGF0ZTxib29sIGlzQ2FsbD4KLSAgICBzdGF0aWMgdm9pZCBsaW5rSnVtcE9y
Q2FsbChpbnQqIGZyb20sIHZvaWQqIHRvKQorICAgIHN0YXRpYyB2b2lkIGxpbmtKdW1wT3JDYWxs
KGludCogZnJvbSwgY29uc3QgaW50KiBmcm9tSW5zdHJ1Y3Rpb24sIHZvaWQqIHRvKQogICAgIHsK
ICAgICAgICAgYm9vbCBsaW5rOwogICAgICAgICBpbnQgaW1tMjY7CkBAIC0yODgwLDcgKzI4ODEs
NyBAQCBwcml2YXRlOgogICAgICAgICBBU1NFUlRfVU5VU0VEKGlzQ2FsbCwgKGxpbmsgPT0gaXND
YWxsKSB8fCBkaXNhc3NlbWJsZU5vcChmcm9tKSk7CiAgICAgICAgIEFTU0VSVCghKHJlaW50ZXJw
cmV0X2Nhc3Q8aW50cHRyX3Q+KGZyb20pICYgMykpOwogICAgICAgICBBU1NFUlQoIShyZWludGVy
cHJldF9jYXN0PGludHB0cl90Pih0bykgJiAzKSk7Ci0gICAgICAgIGludHB0cl90IG9mZnNldCA9
IChyZWludGVycHJldF9jYXN0PGludHB0cl90Pih0bykgLSByZWludGVycHJldF9jYXN0PGludHB0
cl90Pihmcm9tKSkgPj4gMjsKKyAgICAgICAgaW50cHRyX3Qgb2Zmc2V0ID0gKHJlaW50ZXJwcmV0
X2Nhc3Q8aW50cHRyX3Q+KHRvKSAtIHJlaW50ZXJwcmV0X2Nhc3Q8aW50cHRyX3Q+KGZyb21JbnN0
cnVjdGlvbikpID4+IDI7CiAgICAgICAgIEFTU0VSVChzdGF0aWNfY2FzdDxpbnQ+KG9mZnNldCkg
PT0gb2Zmc2V0KTsKIAogICAgICAgICBpbnQgaW5zbiA9IHVuY29uZGl0aW9uYWxCcmFuY2hJbW1l
ZGlhdGUoaXNDYWxsLCBzdGF0aWNfY2FzdDxpbnQ+KG9mZnNldCkpOwpAQCAtMjg4OCwxMSArMjg4
OSwxMSBAQCBwcml2YXRlOgogICAgIH0KIAogICAgIHRlbXBsYXRlPGJvb2wgaXNEaXJlY3Q+Ci0g
ICAgc3RhdGljIHZvaWQgbGlua0NvbXBhcmVBbmRCcmFuY2goQ29uZGl0aW9uIGNvbmRpdGlvbiwg
Ym9vbCBpczY0Qml0LCBSZWdpc3RlcklEIHJ0LCBpbnQqIGZyb20sIHZvaWQqIHRvKQorICAgIHN0
YXRpYyB2b2lkIGxpbmtDb21wYXJlQW5kQnJhbmNoKENvbmRpdGlvbiBjb25kaXRpb24sIGJvb2wg
aXM2NEJpdCwgUmVnaXN0ZXJJRCBydCwgaW50KiBmcm9tLCBjb25zdCBpbnQqIGZyb21JbnN0cnVj
dGlvbiwgdm9pZCogdG8pCiAgICAgewogICAgICAgICBBU1NFUlQoIShyZWludGVycHJldF9jYXN0
PGludHB0cl90Pihmcm9tKSAmIDMpKTsKICAgICAgICAgQVNTRVJUKCEocmVpbnRlcnByZXRfY2Fz
dDxpbnRwdHJfdD4odG8pICYgMykpOwotICAgICAgICBpbnRwdHJfdCBvZmZzZXQgPSAocmVpbnRl
cnByZXRfY2FzdDxpbnRwdHJfdD4odG8pIC0gcmVpbnRlcnByZXRfY2FzdDxpbnRwdHJfdD4oZnJv
bSkpID4+IDI7CisgICAgICAgIGludHB0cl90IG9mZnNldCA9IChyZWludGVycHJldF9jYXN0PGlu
dHB0cl90Pih0bykgLSByZWludGVycHJldF9jYXN0PGludHB0cl90Pihmcm9tSW5zdHJ1Y3Rpb24p
KSA+PiAyOwogICAgICAgICBBU1NFUlQoKChvZmZzZXQgPDwgMzgpID4+IDM4KSA9PSBvZmZzZXQp
OwogCiAgICAgICAgIGJvb2wgdXNlRGlyZWN0ID0gKChvZmZzZXQgPDwgNDUpID4+IDQ1KSA9PSBv
ZmZzZXQ7IC8vIEZpdHMgaW4gMTkgYml0cwpAQCAtMjkwOCwxNiArMjkwOSwxNiBAQCBwcml2YXRl
OgogICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgaW50IGluc24gPSBjb21wYXJlQW5kQnJh
bmNoSW1tZWRpYXRlKGlzNjRCaXQgPyBEYXRhc2l6ZV82NCA6IERhdGFzaXplXzMyLCBpbnZlcnQo
Y29uZGl0aW9uKSA9PSBDb25kaXRpb25ORSwgMiwgcnQpOwogICAgICAgICAgICAgcGVyZm9ybUpJ
VE1lbWNweShmcm9tLCAmaW5zbiwgc2l6ZW9mKGludCkpOwotICAgICAgICAgICAgbGlua0p1bXBP
ckNhbGw8ZmFsc2U+KGZyb20gKyAxLCB0byk7CisgICAgICAgICAgICBsaW5rSnVtcE9yQ2FsbDxm
YWxzZT4oZnJvbSArIDEsIGZyb21JbnN0cnVjdGlvbiArIDEsIHRvKTsKICAgICAgICAgfQogICAg
IH0KIAogICAgIHRlbXBsYXRlPGJvb2wgaXNEaXJlY3Q+Ci0gICAgc3RhdGljIHZvaWQgbGlua0Nv
bmRpdGlvbmFsQnJhbmNoKENvbmRpdGlvbiBjb25kaXRpb24sIGludCogZnJvbSwgdm9pZCogdG8p
CisgICAgc3RhdGljIHZvaWQgbGlua0NvbmRpdGlvbmFsQnJhbmNoKENvbmRpdGlvbiBjb25kaXRp
b24sIGludCogZnJvbSwgY29uc3QgaW50KiBmcm9tSW5zdHJ1Y3Rpb24sIHZvaWQqIHRvKQogICAg
IHsKICAgICAgICAgQVNTRVJUKCEocmVpbnRlcnByZXRfY2FzdDxpbnRwdHJfdD4oZnJvbSkgJiAz
KSk7CiAgICAgICAgIEFTU0VSVCghKHJlaW50ZXJwcmV0X2Nhc3Q8aW50cHRyX3Q+KHRvKSAmIDMp
KTsKLSAgICAgICAgaW50cHRyX3Qgb2Zmc2V0ID0gKHJlaW50ZXJwcmV0X2Nhc3Q8aW50cHRyX3Q+
KHRvKSAtIHJlaW50ZXJwcmV0X2Nhc3Q8aW50cHRyX3Q+KGZyb20pKSA+PiAyOworICAgICAgICBp
bnRwdHJfdCBvZmZzZXQgPSAocmVpbnRlcnByZXRfY2FzdDxpbnRwdHJfdD4odG8pIC0gcmVpbnRl
cnByZXRfY2FzdDxpbnRwdHJfdD4oZnJvbUluc3RydWN0aW9uKSkgPj4gMjsKICAgICAgICAgQVNT
RVJUKCgob2Zmc2V0IDw8IDM4KSA+PiAzOCkgPT0gb2Zmc2V0KTsKIAogICAgICAgICBib29sIHVz
ZURpcmVjdCA9ICgob2Zmc2V0IDw8IDQ1KSA+PiA0NSkgPT0gb2Zmc2V0OyAvLyBGaXRzIGluIDE5
IGJpdHMKQEAgLTI5MzMsMTYgKzI5MzQsMTYgQEAgcHJpdmF0ZToKICAgICAgICAgfSBlbHNlIHsK
ICAgICAgICAgICAgIGludCBpbnNuID0gY29uZGl0aW9uYWxCcmFuY2hJbW1lZGlhdGUoMiwgaW52
ZXJ0KGNvbmRpdGlvbikpOwogICAgICAgICAgICAgcGVyZm9ybUpJVE1lbWNweShmcm9tLCAmaW5z
biwgc2l6ZW9mKGludCkpOwotICAgICAgICAgICAgbGlua0p1bXBPckNhbGw8ZmFsc2U+KGZyb20g
KyAxLCB0byk7CisgICAgICAgICAgICBsaW5rSnVtcE9yQ2FsbDxmYWxzZT4oZnJvbSArIDEsIGZy
b21JbnN0cnVjdGlvbiArIDEsIHRvKTsKICAgICAgICAgfQogICAgIH0KIAogICAgIHRlbXBsYXRl
PGJvb2wgaXNEaXJlY3Q+Ci0gICAgc3RhdGljIHZvaWQgbGlua1Rlc3RBbmRCcmFuY2goQ29uZGl0
aW9uIGNvbmRpdGlvbiwgdW5zaWduZWQgYml0TnVtYmVyLCBSZWdpc3RlcklEIHJ0LCBpbnQqIGZy
b20sIHZvaWQqIHRvKQorICAgIHN0YXRpYyB2b2lkIGxpbmtUZXN0QW5kQnJhbmNoKENvbmRpdGlv
biBjb25kaXRpb24sIHVuc2lnbmVkIGJpdE51bWJlciwgUmVnaXN0ZXJJRCBydCwgaW50KiBmcm9t
LCBjb25zdCBpbnQqIGZyb21JbnN0cnVjdGlvbiwgdm9pZCogdG8pCiAgICAgewogICAgICAgICBB
U1NFUlQoIShyZWludGVycHJldF9jYXN0PGludHB0cl90Pihmcm9tKSAmIDMpKTsKICAgICAgICAg
QVNTRVJUKCEocmVpbnRlcnByZXRfY2FzdDxpbnRwdHJfdD4odG8pICYgMykpOwotICAgICAgICBp
bnRwdHJfdCBvZmZzZXQgPSAocmVpbnRlcnByZXRfY2FzdDxpbnRwdHJfdD4odG8pIC0gcmVpbnRl
cnByZXRfY2FzdDxpbnRwdHJfdD4oZnJvbSkpID4+IDI7CisgICAgICAgIGludHB0cl90IG9mZnNl
dCA9IChyZWludGVycHJldF9jYXN0PGludHB0cl90Pih0bykgLSByZWludGVycHJldF9jYXN0PGlu
dHB0cl90Pihmcm9tSW5zdHJ1Y3Rpb24pKSA+PiAyOwogICAgICAgICBBU1NFUlQoc3RhdGljX2Nh
c3Q8aW50PihvZmZzZXQpID09IG9mZnNldCk7CiAgICAgICAgIEFTU0VSVCgoKG9mZnNldCA8PCAz
OCkgPj4gMzgpID09IG9mZnNldCk7CiAKQEAgLTI5NTksMTIgKzI5NjAsMTIgQEAgcHJpdmF0ZToK
ICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgIGludCBpbnNuID0gdGVzdEFuZEJyYW5jaElt
bWVkaWF0ZShpbnZlcnQoY29uZGl0aW9uKSA9PSBDb25kaXRpb25ORSwgc3RhdGljX2Nhc3Q8aW50
PihiaXROdW1iZXIpLCAyLCBydCk7CiAgICAgICAgICAgICBwZXJmb3JtSklUTWVtY3B5KGZyb20s
ICZpbnNuLCBzaXplb2YoaW50KSk7Ci0gICAgICAgICAgICBsaW5rSnVtcE9yQ2FsbDxmYWxzZT4o
ZnJvbSArIDEsIHRvKTsKKyAgICAgICAgICAgIGxpbmtKdW1wT3JDYWxsPGZhbHNlPihmcm9tICsg
MSwgZnJvbUluc3RydWN0aW9uICsgMSwgdG8pOwogICAgICAgICB9CiAgICAgfQogCiAgICAgdGVt
cGxhdGU8Ym9vbCBpc0NhbGw+Ci0gICAgc3RhdGljIHZvaWQgcmVsaW5rSnVtcE9yQ2FsbChpbnQq
IGZyb20sIHZvaWQqIHRvKQorICAgIHN0YXRpYyB2b2lkIHJlbGlua0p1bXBPckNhbGwoaW50KiBm
cm9tLCBjb25zdCBpbnQqIGZyb21JbnN0cnVjdGlvbiwgdm9pZCogdG8pCiAgICAgewogICAgICAg
ICBpZiAoIWlzQ2FsbCAmJiBkaXNhc3NlbWJsZU5vcChmcm9tKSkgewogICAgICAgICAgICAgdW5z
aWduZWQgb3AwMTsKQEAgLTI5NzksNyArMjk4MCw3IEBAIHByaXZhdGU6CiAgICAgICAgICAgICAg
ICAgaWYgKGltbTE5ID09IDgpCiAgICAgICAgICAgICAgICAgICAgIGNvbmRpdGlvbiA9IGludmVy
dChjb25kaXRpb24pOwogCi0gICAgICAgICAgICAgICAgbGlua0NvbmRpdGlvbmFsQnJhbmNoPGZh
bHNlPihjb25kaXRpb24sIGZyb20gLSAxLCB0byk7CisgICAgICAgICAgICAgICAgbGlua0NvbmRp
dGlvbmFsQnJhbmNoPGZhbHNlPihjb25kaXRpb24sIGZyb20gLSAxLCBmcm9tSW5zdHJ1Y3Rpb24g
LSAxLCB0byk7CiAgICAgICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgICAgfQogCkBAIC0y
OTkyLDcgKzI5OTMsNyBAQCBwcml2YXRlOgogICAgICAgICAgICAgICAgIGlmIChpbW0xOSA9PSA4
KQogICAgICAgICAgICAgICAgICAgICBvcCA9ICFvcDsKIAotICAgICAgICAgICAgICAgIGxpbmtD
b21wYXJlQW5kQnJhbmNoPGZhbHNlPihvcCA/IENvbmRpdGlvbk5FIDogQ29uZGl0aW9uRVEsIG9w
U2l6ZSA9PSBEYXRhc2l6ZV82NCwgcnQsIGZyb20gLSAxLCB0byk7CisgICAgICAgICAgICAgICAg
bGlua0NvbXBhcmVBbmRCcmFuY2g8ZmFsc2U+KG9wID8gQ29uZGl0aW9uTkUgOiBDb25kaXRpb25F
USwgb3BTaXplID09IERhdGFzaXplXzY0LCBydCwgZnJvbSAtIDEsIGZyb21JbnN0cnVjdGlvbiAt
IDEsIHRvKTsKICAgICAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgICAgICB9CiAKQEAgLTMw
MDQsMTIgKzMwMDUsMTIgQEAgcHJpdmF0ZToKICAgICAgICAgICAgICAgICBpZiAoaW1tMTQgPT0g
OCkKICAgICAgICAgICAgICAgICAgICAgb3AgPSAhb3A7CiAKLSAgICAgICAgICAgICAgICBsaW5r
VGVzdEFuZEJyYW5jaDxmYWxzZT4ob3AgPyBDb25kaXRpb25ORSA6IENvbmRpdGlvbkVRLCBiaXRO
dW1iZXIsIHJ0LCBmcm9tIC0gMSwgdG8pOworICAgICAgICAgICAgICAgIGxpbmtUZXN0QW5kQnJh
bmNoPGZhbHNlPihvcCA/IENvbmRpdGlvbk5FIDogQ29uZGl0aW9uRVEsIGJpdE51bWJlciwgcnQs
IGZyb20gLSAxLCBmcm9tSW5zdHJ1Y3Rpb24gLSAxLCB0byk7CiAgICAgICAgICAgICAgICAgcmV0
dXJuOwogICAgICAgICAgICAgfQogICAgICAgICB9CiAKLSAgICAgICAgbGlua0p1bXBPckNhbGw8
aXNDYWxsPihmcm9tLCB0byk7CisgICAgICAgIGxpbmtKdW1wT3JDYWxsPGlzQ2FsbD4oZnJvbSwg
ZnJvbUluc3RydWN0aW9uLCB0byk7CiAgICAgfQogCiAgICAgc3RhdGljIGludCogYWRkcmVzc09m
KHZvaWQqIGNvZGUsIEFzc2VtYmxlckxhYmVsIGxhYmVsKQpkaWZmIC0tZ2l0IGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9BUk12N0Fzc2VtYmxlci5oIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2Fzc2VtYmxlci9BUk12N0Fzc2VtYmxlci5oCmluZGV4IDZiOWYzMDVlOTI3NDY5ZjFi
MjM1ZGJiZjdhMjVkMjMxODkzZmRmZGUuLmU0ZWViN2NhOTE4ODllNmYzMTczZDBhNTNmM2JjM2Q5
NDAwZDA5MjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvQVJN
djdBc3NlbWJsZXIuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL0FSTXY3
QXNzZW1ibGVyLmgKQEAgLTEzMjcsMTEgKzEzMjcsMTQgQEAgcHVibGljOgogICAgICAgICB1aW50
MTZfdCogYWRkcmVzcyA9IHN0YXRpY19jYXN0PHVpbnQxNl90Kj4oaW5zdHJ1Y3Rpb25TdGFydCk7
CiAgICAgICAgIEFSTVRodW1iSW1tZWRpYXRlIGxvMTYgPSBBUk1UaHVtYkltbWVkaWF0ZTo6bWFr
ZVVJbnQxNihzdGF0aWNfY2FzdDx1aW50MTZfdD4oaW1tKSk7CiAgICAgICAgIEFSTVRodW1iSW1t
ZWRpYXRlIGhpMTYgPSBBUk1UaHVtYkltbWVkaWF0ZTo6bWFrZVVJbnQxNihzdGF0aWNfY2FzdDx1
aW50MTZfdD4oaW1tID4+IDE2KSk7Ci0gICAgICAgIGFkZHJlc3NbMF0gPSB0d29Xb3JkT3A1aTZJ
bW00UmVnNEVuY29kZWRJbW1GaXJzdChPUF9NT1ZfaW1tX1QzLCBsbzE2KTsKLSAgICAgICAgYWRk
cmVzc1sxXSA9IHR3b1dvcmRPcDVpNkltbTRSZWc0RW5jb2RlZEltbVNlY29uZChyaWdodCwgbG8x
Nik7Ci0gICAgICAgIGFkZHJlc3NbMl0gPSB0d29Xb3JkT3A1aTZJbW00UmVnNEVuY29kZWRJbW1G
aXJzdChPUF9NT1ZULCBoaTE2KTsKLSAgICAgICAgYWRkcmVzc1szXSA9IHR3b1dvcmRPcDVpNklt
bTRSZWc0RW5jb2RlZEltbVNlY29uZChyaWdodCwgaGkxNik7Ci0gICAgICAgIGFkZHJlc3NbNF0g
PSBPUF9DTVBfcmVnX1QyIHwgbGVmdDsKKyAgICAgICAgdWludDE2X3QgaW5zdHJ1Y3Rpb25bXSA9
IHsKKyAgICAgICAgICAgIHR3b1dvcmRPcDVpNkltbTRSZWc0RW5jb2RlZEltbUZpcnN0KE9QX01P
Vl9pbW1fVDMsIGxvMTYpLAorICAgICAgICAgICAgdHdvV29yZE9wNWk2SW1tNFJlZzRFbmNvZGVk
SW1tU2Vjb25kKHJpZ2h0LCBsbzE2KSwKKyAgICAgICAgICAgIHR3b1dvcmRPcDVpNkltbTRSZWc0
RW5jb2RlZEltbUZpcnN0KE9QX01PVlQsIGhpMTYpLAorICAgICAgICAgICAgdHdvV29yZE9wNWk2
SW1tNFJlZzRFbmNvZGVkSW1tU2Vjb25kKHJpZ2h0LCBoaTE2KSwKKyAgICAgICAgICAgIE9QX0NN
UF9yZWdfVDIgfCBsZWZ0CisgICAgICAgIH07CisgICAgICAgIHBlcmZvcm1KSVRNZW1jcHkoYWRk
cmVzcywgaW5zdHJ1Y3Rpb24sIHNpemVvZih1aW50MTZfdCkgKiA1KTsKICAgICAgICAgY2FjaGVG
bHVzaChhZGRyZXNzLCBzaXplb2YodWludDE2X3QpICogNSk7CiAgICAgfQogI2Vsc2UKQEAgLTEz
NDIsOCArMTM0NSwxMSBAQCBwdWJsaWM6CiAgICAgICAgIEFTU0VSVCghQmFkUmVnKHJkKSk7CiAg
ICAgICAgIAogICAgICAgICB1aW50MTZfdCogYWRkcmVzcyA9IHN0YXRpY19jYXN0PHVpbnQxNl90
Kj4oaW5zdHJ1Y3Rpb25TdGFydCk7Ci0gICAgICAgIGFkZHJlc3NbMF0gPSB0d29Xb3JkT3A1aTZJ
bW00UmVnNEVuY29kZWRJbW1GaXJzdChPUF9NT1ZfaW1tX1QzLCBpbW0pOwotICAgICAgICBhZGRy
ZXNzWzFdID0gdHdvV29yZE9wNWk2SW1tNFJlZzRFbmNvZGVkSW1tU2Vjb25kKHJkLCBpbW0pOwor
ICAgICAgICB1aW50MTZfdCBpbnN0cnVjdGlvbltdID0geworICAgICAgICAgICAgdHdvV29yZE9w
NWk2SW1tNFJlZzRFbmNvZGVkSW1tRmlyc3QoT1BfTU9WX2ltbV9UMywgaW1tKSwKKyAgICAgICAg
ICAgIHR3b1dvcmRPcDVpNkltbTRSZWc0RW5jb2RlZEltbVNlY29uZChyZCwgaW1tKQorICAgICAg
ICB9OworICAgICAgICBwZXJmb3JtSklUTWVtY3B5KGFkZHJlc3MsIGluc3RydWN0aW9uLCBzaXpl
b2YodWludDE2X3QpICogMik7CiAgICAgICAgIGNhY2hlRmx1c2goYWRkcmVzcywgc2l6ZW9mKHVp
bnQxNl90KSAqIDIpOwogICAgIH0KICNlbmRpZgpAQCAtMjEyNSwyOSArMjEzMSwzMCBAQCBwdWJs
aWM6CiAgICAgICAgIHJldHVybiBtX2p1bXBzVG9MaW5rOwogICAgIH0KIAotICAgIHN0YXRpYyB2
b2lkIEFMV0FZU19JTkxJTkUgbGluayhMaW5rUmVjb3JkJiByZWNvcmQsIHVpbnQ4X3QqIGZyb20s
IHVpbnQ4X3QqIHRvKQorICAgIHN0YXRpYyB2b2lkIEFMV0FZU19JTkxJTkUgbGluayhMaW5rUmVj
b3JkJiByZWNvcmQsIHVpbnQ4X3QqIGZyb20sIGNvbnN0IHVpbnQ4X3QqIGZyb21JbnN0cnVjdGlv
bjgsIHVpbnQ4X3QqIHRvKQogICAgIHsKKyAgICAgICAgY29uc3QgdWludDE2X3QqIGZyb21JbnN0
cnVjdGlvbiA9IHJlaW50ZXJwcmV0X2Nhc3RfcHRyPGNvbnN0IHVpbnQxNl90Kj4oZnJvbUluc3Ry
dWN0aW9uOCk7CiAgICAgICAgIHN3aXRjaCAocmVjb3JkLmxpbmtUeXBlKCkpIHsKICAgICAgICAg
Y2FzZSBMaW5rSnVtcFQxOgotICAgICAgICAgICAgbGlua0p1bXBUMShyZWNvcmQuY29uZGl0aW9u
KCksIHJlaW50ZXJwcmV0X2Nhc3RfcHRyPHVpbnQxNl90Kj4oZnJvbSksIHRvKTsKKyAgICAgICAg
ICAgIGxpbmtKdW1wVDEocmVjb3JkLmNvbmRpdGlvbigpLCByZWludGVycHJldF9jYXN0X3B0cjx1
aW50MTZfdCo+KGZyb20pLCBmcm9tSW5zdHJ1Y3Rpb24sIHRvKTsKICAgICAgICAgICAgIGJyZWFr
OwogICAgICAgICBjYXNlIExpbmtKdW1wVDI6Ci0gICAgICAgICAgICBsaW5rSnVtcFQyKHJlaW50
ZXJwcmV0X2Nhc3RfcHRyPHVpbnQxNl90Kj4oZnJvbSksIHRvKTsKKyAgICAgICAgICAgIGxpbmtK
dW1wVDIocmVpbnRlcnByZXRfY2FzdF9wdHI8dWludDE2X3QqPihmcm9tKSwgZnJvbUluc3RydWN0
aW9uLCB0byk7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgY2FzZSBMaW5rSnVtcFQzOgot
ICAgICAgICAgICAgbGlua0p1bXBUMyhyZWNvcmQuY29uZGl0aW9uKCksIHJlaW50ZXJwcmV0X2Nh
c3RfcHRyPHVpbnQxNl90Kj4oZnJvbSksIHRvKTsKKyAgICAgICAgICAgIGxpbmtKdW1wVDMocmVj
b3JkLmNvbmRpdGlvbigpLCByZWludGVycHJldF9jYXN0X3B0cjx1aW50MTZfdCo+KGZyb20pLCBm
cm9tSW5zdHJ1Y3Rpb24sIHRvKTsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBjYXNlIExp
bmtKdW1wVDQ6Ci0gICAgICAgICAgICBsaW5rSnVtcFQ0KHJlaW50ZXJwcmV0X2Nhc3RfcHRyPHVp
bnQxNl90Kj4oZnJvbSksIHRvKTsKKyAgICAgICAgICAgIGxpbmtKdW1wVDQocmVpbnRlcnByZXRf
Y2FzdF9wdHI8dWludDE2X3QqPihmcm9tKSwgZnJvbUluc3RydWN0aW9uLCB0byk7CiAgICAgICAg
ICAgICBicmVhazsKICAgICAgICAgY2FzZSBMaW5rQ29uZGl0aW9uYWxKdW1wVDQ6Ci0gICAgICAg
ICAgICBsaW5rQ29uZGl0aW9uYWxKdW1wVDQocmVjb3JkLmNvbmRpdGlvbigpLCByZWludGVycHJl
dF9jYXN0X3B0cjx1aW50MTZfdCo+KGZyb20pLCB0byk7CisgICAgICAgICAgICBsaW5rQ29uZGl0
aW9uYWxKdW1wVDQocmVjb3JkLmNvbmRpdGlvbigpLCByZWludGVycHJldF9jYXN0X3B0cjx1aW50
MTZfdCo+KGZyb20pLCBmcm9tSW5zdHJ1Y3Rpb24sIHRvKTsKICAgICAgICAgICAgIGJyZWFrOwog
ICAgICAgICBjYXNlIExpbmtDb25kaXRpb25hbEJYOgotICAgICAgICAgICAgbGlua0NvbmRpdGlv
bmFsQlgocmVjb3JkLmNvbmRpdGlvbigpLCByZWludGVycHJldF9jYXN0X3B0cjx1aW50MTZfdCo+
KGZyb20pLCB0byk7CisgICAgICAgICAgICBsaW5rQ29uZGl0aW9uYWxCWChyZWNvcmQuY29uZGl0
aW9uKCksIHJlaW50ZXJwcmV0X2Nhc3RfcHRyPHVpbnQxNl90Kj4oZnJvbSksIGZyb21JbnN0cnVj
dGlvbiwgdG8pOwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGNhc2UgTGlua0JYOgotICAg
ICAgICAgICAgbGlua0JYKHJlaW50ZXJwcmV0X2Nhc3RfcHRyPHVpbnQxNl90Kj4oZnJvbSksIHRv
KTsKKyAgICAgICAgICAgIGxpbmtCWChyZWludGVycHJldF9jYXN0X3B0cjx1aW50MTZfdCo+KGZy
b20pLCBmcm9tSW5zdHJ1Y3Rpb24sIHRvKTsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBk
ZWZhdWx0OgogICAgICAgICAgICAgUkVMRUFTRV9BU1NFUlRfTk9UX1JFQUNIRUQoKTsKQEAgLTIx
ODQsNyArMjE5MSw3IEBAIHB1YmxpYzoKICAgICAgICAgQVNTRVJUKGZyb20uaXNTZXQoKSk7CiAg
ICAgICAgIAogICAgICAgICB1aW50MTZfdCogbG9jYXRpb24gPSByZWludGVycHJldF9jYXN0PHVp
bnQxNl90Kj4ocmVpbnRlcnByZXRfY2FzdDxpbnRwdHJfdD4oY29kZSkgKyBmcm9tLm1fb2Zmc2V0
KTsKLSAgICAgICAgbGlua0p1bXBBYnNvbHV0ZShsb2NhdGlvbiwgdG8pOworICAgICAgICBsaW5r
SnVtcEFic29sdXRlKGxvY2F0aW9uLCBsb2NhdGlvbiwgdG8pOwogICAgIH0KIAogICAgIHN0YXRp
YyB2b2lkIGxpbmtDYWxsKHZvaWQqIGNvZGUsIEFzc2VtYmxlckxhYmVsIGZyb20sIHZvaWQqIHRv
KQpAQCAtMjIwNSw3ICsyMjEyLDcgQEAgcHVibGljOgogICAgICAgICBBU1NFUlQoIShyZWludGVy
cHJldF9jYXN0PGludHB0cl90Pihmcm9tKSAmIDEpKTsKICAgICAgICAgQVNTRVJUKCEocmVpbnRl
cnByZXRfY2FzdDxpbnRwdHJfdD4odG8pICYgMSkpOwogCi0gICAgICAgIGxpbmtKdW1wQWJzb2x1
dGUocmVpbnRlcnByZXRfY2FzdDx1aW50MTZfdCo+KGZyb20pLCB0byk7CisgICAgICAgIGxpbmtK
dW1wQWJzb2x1dGUocmVpbnRlcnByZXRfY2FzdDx1aW50MTZfdCo+KGZyb20pLCByZWludGVycHJl
dF9jYXN0PHVpbnQxNl90Kj4oZnJvbSksIHRvKTsKIAogICAgICAgICBjYWNoZUZsdXNoKHJlaW50
ZXJwcmV0X2Nhc3Q8dWludDE2X3QqPihmcm9tKSAtIDUsIDUgKiBzaXplb2YodWludDE2X3QpKTsK
ICAgICB9CkBAIC0yMjQ0LDggKzIyNTEsOSBAQCBwdWJsaWM6CiAgICAgICAgIG9mZnNldCB8PSAo
MSA8PCAxMSk7CiAKICAgICAgICAgdWludDE2X3QqIGxvY2F0aW9uID0gcmVpbnRlcnByZXRfY2Fz
dDx1aW50MTZfdCo+KHdoZXJlKTsKLSAgICAgICAgbG9jYXRpb25bMV0gJj0gfigoMSA8PCAxMikg
LSAxKTsKLSAgICAgICAgbG9jYXRpb25bMV0gfD0gb2Zmc2V0OworICAgICAgICB1aW50MTZfdCBp
bnN0cnVjdGlvbiA9IGxvY2F0aW9uWzFdICYgfigoMSA8PCAxMikgLSAxKTsKKyAgICAgICAgaW5z
dHJ1Y3Rpb24gfD0gb2Zmc2V0OworICAgICAgICBwZXJmb3JtSklUTWVtY3B5KGxvY2F0aW9uICsg
MSwgJmluc3RydWN0aW9uLCBzaXplb2YodWludDE2X3QpKTsKICAgICAgICAgY2FjaGVGbHVzaChs
b2NhdGlvbiwgc2l6ZW9mKHVpbnQxNl90KSAqIDIpOwogICAgIH0KIApAQCAtMjI2OSwxNiArMjI3
NywxNiBAQCBwdWJsaWM6CiAjaWYgT1MoTElOVVgpCiAgICAgICAgIGlmIChjYW5CZUp1bXBUNChy
ZWludGVycHJldF9jYXN0PHVpbnQxNl90Kj4oaW5zdHJ1Y3Rpb25TdGFydCksIHRvKSkgewogICAg
ICAgICAgICAgdWludDE2X3QqIHB0ciA9IHJlaW50ZXJwcmV0X2Nhc3Q8dWludDE2X3QqPihpbnN0
cnVjdGlvblN0YXJ0KSArIDI7Ci0gICAgICAgICAgICBsaW5rSnVtcFQ0KHB0ciwgdG8pOworICAg
ICAgICAgICAgbGlua0p1bXBUNChwdHIsIHB0ciwgdG8pOwogICAgICAgICAgICAgY2FjaGVGbHVz
aChwdHIgLSAyLCBzaXplb2YodWludDE2X3QpICogMik7CiAgICAgICAgIH0gZWxzZSB7CiAgICAg
ICAgICAgICB1aW50MTZfdCogcHRyID0gcmVpbnRlcnByZXRfY2FzdDx1aW50MTZfdCo+KGluc3Ry
dWN0aW9uU3RhcnQpICsgNTsKLSAgICAgICAgICAgIGxpbmtCWChwdHIsIHRvKTsKKyAgICAgICAg
ICAgIGxpbmtCWChwdHIsIHB0ciwgdG8pOwogICAgICAgICAgICAgY2FjaGVGbHVzaChwdHIgLSA1
LCBzaXplb2YodWludDE2X3QpICogNSk7CiAgICAgICAgIH0KICNlbHNlCiAgICAgICAgIHVpbnQx
Nl90KiBwdHIgPSByZWludGVycHJldF9jYXN0PHVpbnQxNl90Kj4oaW5zdHJ1Y3Rpb25TdGFydCkg
KyAyOwotICAgICAgICBsaW5rSnVtcFQ0KHB0ciwgdG8pOworICAgICAgICBsaW5rSnVtcFQ0KHB0
ciwgcHRyLCB0byk7CiAgICAgICAgIGNhY2hlRmx1c2gocHRyIC0gMiwgc2l6ZW9mKHVpbnQxNl90
KSAqIDIpOwogI2VuZGlmCiAgICAgfQpAQCAtMjI5OSwxNCArMjMwNywxNyBAQCBwdWJsaWM6CiAg
ICAgICAgIHN3aXRjaCAocHRyWzBdICYgMHhGRkYwKSB7CiAgICAgICAgIGNhc2UgT1BfTERSX2lt
bV9UMzoKICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICBjYXNlIE9QX0FERF9pbW1fVDM6Cisg
ICAgICAgIGNhc2UgT1BfQUREX2ltbV9UMzogewogICAgICAgICAgICAgQVNTRVJUKCEocHRyWzFd
ICYgMHhGMDAwKSk7Ci0gICAgICAgICAgICBwdHJbMF0gJj0gMHgwMDBGOwotICAgICAgICAgICAg
cHRyWzBdIHw9IE9QX0xEUl9pbW1fVDM7Ci0gICAgICAgICAgICBwdHJbMV0gfD0gKHB0clsxXSAm
IDB4MEYwMCkgPDwgNDsKLSAgICAgICAgICAgIHB0clsxXSAmPSAweEYwRkY7CisgICAgICAgICAg
ICB1aW50MTZfdCBpbnN0cnVjdGlvbnNbMl07CisgICAgICAgICAgICBpbnN0cnVjdGlvbnNbMF0g
PSBwdHJbMF0gJiAweDAwMEY7CisgICAgICAgICAgICBpbnN0cnVjdGlvbnNbMF0gfD0gT1BfTERS
X2ltbV9UMzsKKyAgICAgICAgICAgIGluc3RydWN0aW9uc1sxXSA9IHB0clsxXSB8IChwdHJbMV0g
JiAweDBGMDApIDw8IDQ7CisgICAgICAgICAgICBpbnN0cnVjdGlvbnNbMV0gJj0gMHhGMEZGOwor
ICAgICAgICAgICAgcGVyZm9ybUpJVE1lbWNweShwdHIsIGluc3RydWN0aW9ucywgc2l6ZW9mKHVp
bnQxNl90KSAqIDIpOwogICAgICAgICAgICAgY2FjaGVGbHVzaChwdHIsIHNpemVvZih1aW50MTZf
dCkgKiAyKTsKICAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CiAgICAgICAgIGRlZmF1bHQ6
CiAgICAgICAgICAgICBSRUxFQVNFX0FTU0VSVF9OT1RfUkVBQ0hFRCgpOwogICAgICAgICB9CkBA
IC0yMzE3LDE0ICsyMzI4LDE3IEBAIHB1YmxpYzoKICAgICAgICAgQVNTRVJUKCEoYml0d2lzZV9j
YXN0PHVpbnRwdHJfdD4oaW5zdHJ1Y3Rpb25TdGFydCkgJiAxKSk7CiAgICAgICAgIHVpbnQxNl90
KiBwdHIgPSByZWludGVycHJldF9jYXN0PHVpbnQxNl90Kj4oaW5zdHJ1Y3Rpb25TdGFydCk7CiAg
ICAgICAgIHN3aXRjaCAocHRyWzBdICYgMHhGRkYwKSB7Ci0gICAgICAgIGNhc2UgT1BfTERSX2lt
bV9UMzoKKyAgICAgICAgY2FzZSBPUF9MRFJfaW1tX1QzOiB7CiAgICAgICAgICAgICBBU1NFUlQo
IShwdHJbMV0gJiAweDBGMDApKTsKLSAgICAgICAgICAgIHB0clswXSAmPSAweDAwMEY7Ci0gICAg
ICAgICAgICBwdHJbMF0gfD0gT1BfQUREX2ltbV9UMzsKLSAgICAgICAgICAgIHB0clsxXSB8PSAo
cHRyWzFdICYgMHhGMDAwKSA+PiA0OwotICAgICAgICAgICAgcHRyWzFdICY9IDB4MEZGRjsKKyAg
ICAgICAgICAgIHVpbnQxNl90IGluc3RydWN0aW9uc1syXTsKKyAgICAgICAgICAgIGluc3RydWN0
aW9uc1swXSA9IHB0clswXSAmIDB4MDAwRjsKKyAgICAgICAgICAgIGluc3RydWN0aW9uc1swXSB8
PSBPUF9BRERfaW1tX1QzOworICAgICAgICAgICAgaW5zdHJ1Y3Rpb25zWzFdID0gcHRyWzFdIHwg
KHB0clsxXSAmIDB4RjAwMCkgPj4gNDsKKyAgICAgICAgICAgIGluc3RydWN0aW9uc1sxXSAmPSAw
eDBGRkY7CisgICAgICAgICAgICBwZXJmb3JtSklUTWVtY3B5KHB0ciwgaW5zdHJ1Y3Rpb25zLCBz
aXplb2YodWludDE2X3QpICogMik7CiAgICAgICAgICAgICBjYWNoZUZsdXNoKHB0ciwgc2l6ZW9m
KHVpbnQxNl90KSAqIDIpOwogICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KICAgICAgICAg
Y2FzZSBPUF9BRERfaW1tX1QzOgogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGRlZmF1bHQ6
CkBAIC0yNDUyLDExICsyNDY2LDEzIEBAIHByaXZhdGU6CiAKICAgICAgICAgQVJNVGh1bWJJbW1l
ZGlhdGUgbG8xNiA9IEFSTVRodW1iSW1tZWRpYXRlOjptYWtlVUludDE2KHN0YXRpY19jYXN0PHVp
bnQxNl90Pih2YWx1ZSkpOwogICAgICAgICBBUk1UaHVtYkltbWVkaWF0ZSBoaTE2ID0gQVJNVGh1
bWJJbW1lZGlhdGU6Om1ha2VVSW50MTYoc3RhdGljX2Nhc3Q8dWludDE2X3Q+KHZhbHVlID4+IDE2
KSk7Ci0gICAgICAgIGxvY2F0aW9uWy00XSA9IHR3b1dvcmRPcDVpNkltbTRSZWc0RW5jb2RlZElt
bUZpcnN0KE9QX01PVl9pbW1fVDMsIGxvMTYpOwotICAgICAgICBsb2NhdGlvblstM10gPSB0d29X
b3JkT3A1aTZJbW00UmVnNEVuY29kZWRJbW1TZWNvbmQoKGxvY2F0aW9uWy0zXSA+PiA4KSAmIDB4
ZiwgbG8xNik7Ci0gICAgICAgIGxvY2F0aW9uWy0yXSA9IHR3b1dvcmRPcDVpNkltbTRSZWc0RW5j
b2RlZEltbUZpcnN0KE9QX01PVlQsIGhpMTYpOwotICAgICAgICBsb2NhdGlvblstMV0gPSB0d29X
b3JkT3A1aTZJbW00UmVnNEVuY29kZWRJbW1TZWNvbmQoKGxvY2F0aW9uWy0xXSA+PiA4KSAmIDB4
ZiwgaGkxNik7CisgICAgICAgIHVpbnQxNl90IGluc3RydWN0aW9uc1s0XTsKKyAgICAgICAgaW5z
dHJ1Y3Rpb25zWzBdID0gdHdvV29yZE9wNWk2SW1tNFJlZzRFbmNvZGVkSW1tRmlyc3QoT1BfTU9W
X2ltbV9UMywgbG8xNik7CisgICAgICAgIGluc3RydWN0aW9uc1sxXSA9IHR3b1dvcmRPcDVpNklt
bTRSZWc0RW5jb2RlZEltbVNlY29uZCgobG9jYXRpb25bLTNdID4+IDgpICYgMHhmLCBsbzE2KTsK
KyAgICAgICAgaW5zdHJ1Y3Rpb25zWzJdID0gdHdvV29yZE9wNWk2SW1tNFJlZzRFbmNvZGVkSW1t
Rmlyc3QoT1BfTU9WVCwgaGkxNik7CisgICAgICAgIGluc3RydWN0aW9uc1szXSA9IHR3b1dvcmRP
cDVpNkltbTRSZWc0RW5jb2RlZEltbVNlY29uZCgobG9jYXRpb25bLTFdID4+IDgpICYgMHhmLCBo
aTE2KTsKIAorICAgICAgICBwZXJmb3JtSklUTWVtY3B5KGxvY2F0aW9uIC0gNCwgaW5zdHJ1Y3Rp
b25zLCA0ICogc2l6ZW9mKHVpbnQxNl90KSk7CiAgICAgICAgIGlmIChmbHVzaCkKICAgICAgICAg
ICAgIGNhY2hlRmx1c2gobG9jYXRpb24gLSA0LCA0ICogc2l6ZW9mKHVpbnQxNl90KSk7CiAgICAg
fQpAQCAtMjQ4NCw4ICsyNTAwLDEwIEBAIHByaXZhdGU6CiAgICAgICAgIEFTU0VSVChpbW0uaXNW
YWxpZCgpKTsKICAgICAgICAgQVNTRVJUKGltbS5pc1VJbnQ3KCkpOwogICAgICAgICB1aW50MTZf
dCogbG9jYXRpb24gPSByZWludGVycHJldF9jYXN0PHVpbnQxNl90Kj4oY29kZSk7Ci0gICAgICAg
IGxvY2F0aW9uWzBdICY9IH4oKHN0YXRpY19jYXN0PHVpbnQxNl90PigweDdmKSA+PiAyKSA8PCA2
KTsKLSAgICAgICAgbG9jYXRpb25bMF0gfD0gKGltbS5nZXRVSW50NygpID4+IDIpIDw8IDY7Cisg
ICAgICAgIHVpbnQxNl90IGluc3RydWN0aW9uOworICAgICAgICBpbnN0cnVjdGlvbiA9IGxvY2F0
aW9uWzBdICYgfigoc3RhdGljX2Nhc3Q8dWludDE2X3Q+KDB4N2YpID4+IDIpIDw8IDYpOworICAg
ICAgICBpbnN0cnVjdGlvbiB8PSAoaW1tLmdldFVJbnQ3KCkgPj4gMikgPDwgNjsKKyAgICAgICAg
cGVyZm9ybUpJVE1lbWNweShsb2NhdGlvbiwgJmluc3RydWN0aW9uLCBzaXplb2YodWludDE2X3Qp
KTsKICAgICAgICAgY2FjaGVGbHVzaChsb2NhdGlvbiwgc2l6ZW9mKHVpbnQxNl90KSk7CiAgICAg
fQogCkBAIC0yNDk0LDM5ICsyNTEyLDM5IEBAIHByaXZhdGU6CiAgICAgICAgIHNldEludDMyKGNv
ZGUsIHJlaW50ZXJwcmV0X2Nhc3Q8dWludDMyX3Q+KHZhbHVlKSwgZmx1c2gpOwogICAgIH0KIAot
ICAgIHN0YXRpYyBib29sIGlzQih2b2lkKiBhZGRyZXNzKQorICAgIHN0YXRpYyBib29sIGlzQihj
b25zdCB2b2lkKiBhZGRyZXNzKQogICAgIHsKLSAgICAgICAgdWludDE2X3QqIGluc3RydWN0aW9u
ID0gc3RhdGljX2Nhc3Q8dWludDE2X3QqPihhZGRyZXNzKTsKKyAgICAgICAgY29uc3QgdWludDE2
X3QqIGluc3RydWN0aW9uID0gc3RhdGljX2Nhc3Q8Y29uc3QgdWludDE2X3QqPihhZGRyZXNzKTsK
ICAgICAgICAgcmV0dXJuICgoaW5zdHJ1Y3Rpb25bMF0gJiAweGY4MDApID09IE9QX0JfVDRhKSAm
JiAoKGluc3RydWN0aW9uWzFdICYgMHhkMDAwKSA9PSBPUF9CX1Q0Yik7CiAgICAgfQogCi0gICAg
c3RhdGljIGJvb2wgaXNCWCh2b2lkKiBhZGRyZXNzKQorICAgIHN0YXRpYyBib29sIGlzQlgoY29u
c3Qgdm9pZCogYWRkcmVzcykKICAgICB7Ci0gICAgICAgIHVpbnQxNl90KiBpbnN0cnVjdGlvbiA9
IHN0YXRpY19jYXN0PHVpbnQxNl90Kj4oYWRkcmVzcyk7CisgICAgICAgIGNvbnN0IHVpbnQxNl90
KiBpbnN0cnVjdGlvbiA9IHN0YXRpY19jYXN0PGNvbnN0IHVpbnQxNl90Kj4oYWRkcmVzcyk7CiAg
ICAgICAgIHJldHVybiAoaW5zdHJ1Y3Rpb25bMF0gJiAweGZmODcpID09IE9QX0JYOwogICAgIH0K
IAotICAgIHN0YXRpYyBib29sIGlzTU9WX2ltbV9UMyh2b2lkKiBhZGRyZXNzKQorICAgIHN0YXRp
YyBib29sIGlzTU9WX2ltbV9UMyhjb25zdCB2b2lkKiBhZGRyZXNzKQogICAgIHsKLSAgICAgICAg
dWludDE2X3QqIGluc3RydWN0aW9uID0gc3RhdGljX2Nhc3Q8dWludDE2X3QqPihhZGRyZXNzKTsK
KyAgICAgICAgY29uc3QgdWludDE2X3QqIGluc3RydWN0aW9uID0gc3RhdGljX2Nhc3Q8Y29uc3Qg
dWludDE2X3QqPihhZGRyZXNzKTsKICAgICAgICAgcmV0dXJuICgoaW5zdHJ1Y3Rpb25bMF0gJiAw
eEZCRjApID09IE9QX01PVl9pbW1fVDMpICYmICgoaW5zdHJ1Y3Rpb25bMV0gJiAweDgwMDApID09
IDApOwogICAgIH0KIAotICAgIHN0YXRpYyBib29sIGlzTU9WVCh2b2lkKiBhZGRyZXNzKQorICAg
IHN0YXRpYyBib29sIGlzTU9WVChjb25zdCB2b2lkKiBhZGRyZXNzKQogICAgIHsKLSAgICAgICAg
dWludDE2X3QqIGluc3RydWN0aW9uID0gc3RhdGljX2Nhc3Q8dWludDE2X3QqPihhZGRyZXNzKTsK
KyAgICAgICAgY29uc3QgdWludDE2X3QqIGluc3RydWN0aW9uID0gc3RhdGljX2Nhc3Q8Y29uc3Qg
dWludDE2X3QqPihhZGRyZXNzKTsKICAgICAgICAgcmV0dXJuICgoaW5zdHJ1Y3Rpb25bMF0gJiAw
eEZCRjApID09IE9QX01PVlQpICYmICgoaW5zdHJ1Y3Rpb25bMV0gJiAweDgwMDApID09IDApOwog
ICAgIH0KIAotICAgIHN0YXRpYyBib29sIGlzTk9QX1QxKHZvaWQqIGFkZHJlc3MpCisgICAgc3Rh
dGljIGJvb2wgaXNOT1BfVDEoY29uc3Qgdm9pZCogYWRkcmVzcykKICAgICB7Ci0gICAgICAgIHVp
bnQxNl90KiBpbnN0cnVjdGlvbiA9IHN0YXRpY19jYXN0PHVpbnQxNl90Kj4oYWRkcmVzcyk7Cisg
ICAgICAgIGNvbnN0IHVpbnQxNl90KiBpbnN0cnVjdGlvbiA9IHN0YXRpY19jYXN0PGNvbnN0IHVp
bnQxNl90Kj4oYWRkcmVzcyk7CiAgICAgICAgIHJldHVybiBpbnN0cnVjdGlvblswXSA9PSBPUF9O
T1BfVDE7CiAgICAgfQogCi0gICAgc3RhdGljIGJvb2wgaXNOT1BfVDIodm9pZCogYWRkcmVzcykK
KyAgICBzdGF0aWMgYm9vbCBpc05PUF9UMihjb25zdCB2b2lkKiBhZGRyZXNzKQogICAgIHsKLSAg
ICAgICAgdWludDE2X3QqIGluc3RydWN0aW9uID0gc3RhdGljX2Nhc3Q8dWludDE2X3QqPihhZGRy
ZXNzKTsKKyAgICAgICAgY29uc3QgdWludDE2X3QqIGluc3RydWN0aW9uID0gc3RhdGljX2Nhc3Q8
Y29uc3QgdWludDE2X3QqPihhZGRyZXNzKTsKICAgICAgICAgcmV0dXJuIChpbnN0cnVjdGlvblsw
XSA9PSBPUF9OT1BfVDJhKSAmJiAoaW5zdHJ1Y3Rpb25bMV0gPT0gT1BfTk9QX1QyYik7CiAgICAg
fQogCkBAIC0yNTc0LDcgKzI1OTIsNyBAQCBwcml2YXRlOgogICAgICAgICByZXR1cm4gKChyZWxh
dGl2ZSA8PCA3KSA+PiA3KSA9PSByZWxhdGl2ZTsKICAgICB9CiAgICAgCi0gICAgc3RhdGljIHZv
aWQgbGlua0p1bXBUMShDb25kaXRpb24gY29uZCwgdWludDE2X3QqIGluc3RydWN0aW9uLCB2b2lk
KiB0YXJnZXQpCisgICAgc3RhdGljIHZvaWQgbGlua0p1bXBUMShDb25kaXRpb24gY29uZCwgdWlu
dDE2X3QqIHdyaXRlVGFyZ2V0LCBjb25zdCB1aW50MTZfdCogaW5zdHJ1Y3Rpb24sIHZvaWQqIHRh
cmdldCkKICAgICB7CiAgICAgICAgIC8vIEZJTVhFOiB0aGlzIHNob3VsZCBiZSB1cCBpbiB0aGUg
TWFjcm9Bc3NlbWJsZXIgbGF5ZXIuIDotKCAgICAgICAgCiAgICAgICAgIEFTU0VSVCghKHJlaW50
ZXJwcmV0X2Nhc3Q8aW50cHRyX3Q+KGluc3RydWN0aW9uKSAmIDEpKTsKQEAgLTI1ODksMTAgKzI2
MDcsMTEgQEAgcHJpdmF0ZToKICAgICAgICAgCiAgICAgICAgIC8vIEFsbCBicmFuY2ggb2Zmc2V0
cyBzaG91bGQgYmUgYW4gZXZlbiBkaXN0YW5jZS4KICAgICAgICAgQVNTRVJUKCEocmVsYXRpdmUg
JiAxKSk7Ci0gICAgICAgIGluc3RydWN0aW9uWy0xXSA9IE9QX0JfVDEgfCAoKGNvbmQgJiAweGYp
IDw8IDgpIHwgKChyZWxhdGl2ZSAmIDB4MWZlKSA+PiAxKTsKKyAgICAgICAgdWludDE2X3QgbmV3
SW5zdHJ1Y3Rpb24gPSBPUF9CX1QxIHwgKChjb25kICYgMHhmKSA8PCA4KSB8ICgocmVsYXRpdmUg
JiAweDFmZSkgPj4gMSk7CisgICAgICAgIHBlcmZvcm1KSVRNZW1jcHkod3JpdGVUYXJnZXQgLSAx
LCAmbmV3SW5zdHJ1Y3Rpb24sIHNpemVvZih1aW50MTZfdCkpOwogICAgIH0KICAgICAKLSAgICBz
dGF0aWMgdm9pZCBsaW5rSnVtcFQyKHVpbnQxNl90KiBpbnN0cnVjdGlvbiwgdm9pZCogdGFyZ2V0
KQorICAgIHN0YXRpYyB2b2lkIGxpbmtKdW1wVDIodWludDE2X3QqIHdyaXRlVGFyZ2V0LCBjb25z
dCB1aW50MTZfdCogaW5zdHJ1Y3Rpb24sIHZvaWQqIHRhcmdldCkKICAgICB7CiAgICAgICAgIC8v
IEZJTVhFOiB0aGlzIHNob3VsZCBiZSB1cCBpbiB0aGUgTWFjcm9Bc3NlbWJsZXIgbGF5ZXIuIDot
KCAgICAgICAgCiAgICAgICAgIEFTU0VSVCghKHJlaW50ZXJwcmV0X2Nhc3Q8aW50cHRyX3Q+KGlu
c3RydWN0aW9uKSAmIDEpKTsKQEAgLTI2MDcsMTAgKzI2MjYsMTEgQEAgcHJpdmF0ZToKICAgICAg
ICAgCiAgICAgICAgIC8vIEFsbCBicmFuY2ggb2Zmc2V0cyBzaG91bGQgYmUgYW4gZXZlbiBkaXN0
YW5jZS4KICAgICAgICAgQVNTRVJUKCEocmVsYXRpdmUgJiAxKSk7Ci0gICAgICAgIGluc3RydWN0
aW9uWy0xXSA9IE9QX0JfVDIgfCAoKHJlbGF0aXZlICYgMHhmZmUpID4+IDEpOworICAgICAgICB1
aW50MTZfdCBuZXdJbnN0cnVjdGlvbiA9IE9QX0JfVDIgfCAoKHJlbGF0aXZlICYgMHhmZmUpID4+
IDEpOworICAgICAgICBwZXJmb3JtSklUTWVtY3B5KHdyaXRlVGFyZ2V0IC0gMSwgJm5ld0luc3Ry
dWN0aW9uLCBzaXplb2YodWludDE2X3QpKTsKICAgICB9CiAgICAgCi0gICAgc3RhdGljIHZvaWQg
bGlua0p1bXBUMyhDb25kaXRpb24gY29uZCwgdWludDE2X3QqIGluc3RydWN0aW9uLCB2b2lkKiB0
YXJnZXQpCisgICAgc3RhdGljIHZvaWQgbGlua0p1bXBUMyhDb25kaXRpb24gY29uZCwgdWludDE2
X3QqIHdyaXRlVGFyZ2V0LCBjb25zdCB1aW50MTZfdCogaW5zdHJ1Y3Rpb24sIHZvaWQqIHRhcmdl
dCkKICAgICB7CiAgICAgICAgIC8vIEZJTVhFOiB0aGlzIHNob3VsZCBiZSB1cCBpbiB0aGUgTWFj
cm9Bc3NlbWJsZXIgbGF5ZXIuIDotKAogICAgICAgICBBU1NFUlQoIShyZWludGVycHJldF9jYXN0
PGludHB0cl90PihpbnN0cnVjdGlvbikgJiAxKSk7CkBAIC0yNjIxLDExICsyNjQxLDEzIEBAIHBy
aXZhdGU6CiAgICAgICAgIAogICAgICAgICAvLyBBbGwgYnJhbmNoIG9mZnNldHMgc2hvdWxkIGJl
IGFuIGV2ZW4gZGlzdGFuY2UuCiAgICAgICAgIEFTU0VSVCghKHJlbGF0aXZlICYgMSkpOwotICAg
ICAgICBpbnN0cnVjdGlvblstMl0gPSBPUF9CX1QzYSB8ICgocmVsYXRpdmUgJiAweDEwMDAwMCkg
Pj4gMTApIHwgKChjb25kICYgMHhmKSA8PCA2KSB8ICgocmVsYXRpdmUgJiAweDNmMDAwKSA+PiAx
Mik7Ci0gICAgICAgIGluc3RydWN0aW9uWy0xXSA9IE9QX0JfVDNiIHwgKChyZWxhdGl2ZSAmIDB4
ODAwMDApID4+IDgpIHwgKChyZWxhdGl2ZSAmIDB4NDAwMDApID4+IDUpIHwgKChyZWxhdGl2ZSAm
IDB4ZmZlKSA+PiAxKTsKKyAgICAgICAgdWludDE2X3QgaW5zdHJ1Y3Rpb25zWzJdOworICAgICAg
ICBpbnN0cnVjdGlvbnNbMF0gPSBPUF9CX1QzYSB8ICgocmVsYXRpdmUgJiAweDEwMDAwMCkgPj4g
MTApIHwgKChjb25kICYgMHhmKSA8PCA2KSB8ICgocmVsYXRpdmUgJiAweDNmMDAwKSA+PiAxMik7
CisgICAgICAgIGluc3RydWN0aW9uc1sxXSA9IE9QX0JfVDNiIHwgKChyZWxhdGl2ZSAmIDB4ODAw
MDApID4+IDgpIHwgKChyZWxhdGl2ZSAmIDB4NDAwMDApID4+IDUpIHwgKChyZWxhdGl2ZSAmIDB4
ZmZlKSA+PiAxKTsKKyAgICAgICAgcGVyZm9ybUpJVE1lbWNweSh3cml0ZVRhcmdldCAtIDIsIGlu
c3RydWN0aW9ucywgMiAqIHNpemVvZih1aW50MTZfdCkpOwogICAgIH0KICAgICAKLSAgICBzdGF0
aWMgdm9pZCBsaW5rSnVtcFQ0KHVpbnQxNl90KiBpbnN0cnVjdGlvbiwgdm9pZCogdGFyZ2V0KQor
ICAgIHN0YXRpYyB2b2lkIGxpbmtKdW1wVDQodWludDE2X3QqIHdyaXRlVGFyZ2V0LCBjb25zdCB1
aW50MTZfdCogaW5zdHJ1Y3Rpb24sIHZvaWQqIHRhcmdldCkKICAgICB7CiAgICAgICAgIC8vIEZJ
TVhFOiB0aGlzIHNob3VsZCBiZSB1cCBpbiB0aGUgTWFjcm9Bc3NlbWJsZXIgbGF5ZXIuIDotKCAg
ICAgICAgCiAgICAgICAgIEFTU0VSVCghKHJlaW50ZXJwcmV0X2Nhc3Q8aW50cHRyX3Q+KGluc3Ry
dWN0aW9uKSAmIDEpKTsKQEAgLTI2MzksMjEgKzI2NjEsMjQgQEAgcHJpdmF0ZToKICAgICAgICAg
CiAgICAgICAgIC8vIEFsbCBicmFuY2ggb2Zmc2V0cyBzaG91bGQgYmUgYW4gZXZlbiBkaXN0YW5j
ZS4KICAgICAgICAgQVNTRVJUKCEocmVsYXRpdmUgJiAxKSk7Ci0gICAgICAgIGluc3RydWN0aW9u
Wy0yXSA9IE9QX0JfVDRhIHwgKChyZWxhdGl2ZSAmIDB4MTAwMDAwMCkgPj4gMTQpIHwgKChyZWxh
dGl2ZSAmIDB4M2ZmMDAwKSA+PiAxMik7Ci0gICAgICAgIGluc3RydWN0aW9uWy0xXSA9IE9QX0Jf
VDRiIHwgKChyZWxhdGl2ZSAmIDB4ODAwMDAwKSA+PiAxMCkgfCAoKHJlbGF0aXZlICYgMHg0MDAw
MDApID4+IDExKSB8ICgocmVsYXRpdmUgJiAweGZmZSkgPj4gMSk7CisgICAgICAgIHVpbnQxNl90
IGluc3RydWN0aW9uc1syXTsKKyAgICAgICAgaW5zdHJ1Y3Rpb25zWzBdID0gT1BfQl9UNGEgfCAo
KHJlbGF0aXZlICYgMHgxMDAwMDAwKSA+PiAxNCkgfCAoKHJlbGF0aXZlICYgMHgzZmYwMDApID4+
IDEyKTsKKyAgICAgICAgaW5zdHJ1Y3Rpb25zWzFdID0gT1BfQl9UNGIgfCAoKHJlbGF0aXZlICYg
MHg4MDAwMDApID4+IDEwKSB8ICgocmVsYXRpdmUgJiAweDQwMDAwMCkgPj4gMTEpIHwgKChyZWxh
dGl2ZSAmIDB4ZmZlKSA+PiAxKTsKKyAgICAgICAgcGVyZm9ybUpJVE1lbWNweSh3cml0ZVRhcmdl
dCAtIDIsIGluc3RydWN0aW9ucywgMiAqIHNpemVvZih1aW50MTZfdCkpOwogICAgIH0KICAgICAK
LSAgICBzdGF0aWMgdm9pZCBsaW5rQ29uZGl0aW9uYWxKdW1wVDQoQ29uZGl0aW9uIGNvbmQsIHVp
bnQxNl90KiBpbnN0cnVjdGlvbiwgdm9pZCogdGFyZ2V0KQorICAgIHN0YXRpYyB2b2lkIGxpbmtD
b25kaXRpb25hbEp1bXBUNChDb25kaXRpb24gY29uZCwgdWludDE2X3QqIHdyaXRlVGFyZ2V0LCBj
b25zdCB1aW50MTZfdCogaW5zdHJ1Y3Rpb24sIHZvaWQqIHRhcmdldCkKICAgICB7CiAgICAgICAg
IC8vIEZJTVhFOiB0aGlzIHNob3VsZCBiZSB1cCBpbiB0aGUgTWFjcm9Bc3NlbWJsZXIgbGF5ZXIu
IDotKCAgICAgICAgCiAgICAgICAgIEFTU0VSVCghKHJlaW50ZXJwcmV0X2Nhc3Q8aW50cHRyX3Q+
KGluc3RydWN0aW9uKSAmIDEpKTsKICAgICAgICAgQVNTRVJUKCEocmVpbnRlcnByZXRfY2FzdDxp
bnRwdHJfdD4odGFyZ2V0KSAmIDEpKTsKICAgICAgICAgCi0gICAgICAgIGluc3RydWN0aW9uWy0z
XSA9IGlmVGhlbkVsc2UoY29uZCkgfCBPUF9JVDsKLSAgICAgICAgbGlua0p1bXBUNChpbnN0cnVj
dGlvbiwgdGFyZ2V0KTsKKyAgICAgICAgdWludDE2X3QgbmV3SW5zdHJ1Y3Rpb24gPSBpZlRoZW5F
bHNlKGNvbmQpIHwgT1BfSVQ7CisgICAgICAgIHBlcmZvcm1KSVRNZW1jcHkod3JpdGVUYXJnZXQg
LSAzLCAmbmV3SW5zdHJ1Y3Rpb24sIHNpemVvZih1aW50MTZfdCkpOworICAgICAgICBsaW5rSnVt
cFQ0KHdyaXRlVGFyZ2V0LCBpbnN0cnVjdGlvbiwgdGFyZ2V0KTsKICAgICB9CiAgICAgCi0gICAg
c3RhdGljIHZvaWQgbGlua0JYKHVpbnQxNl90KiBpbnN0cnVjdGlvbiwgdm9pZCogdGFyZ2V0KQor
ICAgIHN0YXRpYyB2b2lkIGxpbmtCWCh1aW50MTZfdCogd3JpdGVUYXJnZXQsIGNvbnN0IHVpbnQx
Nl90KiBpbnN0cnVjdGlvbiwgdm9pZCogdGFyZ2V0KQogICAgIHsKICAgICAgICAgLy8gRklNWEU6
IHRoaXMgc2hvdWxkIGJlIHVwIGluIHRoZSBNYWNyb0Fzc2VtYmxlciBsYXllci4gOi0oCiAgICAg
ICAgIEFTU0VSVCghKHJlaW50ZXJwcmV0X2Nhc3Q8aW50cHRyX3Q+KGluc3RydWN0aW9uKSAmIDEp
KTsKQEAgLTI2NjIsMjQgKzI2ODcsMjggQEAgcHJpdmF0ZToKICAgICAgICAgY29uc3QgdWludDE2
X3QgSlVNUF9URU1QT1JBUllfUkVHSVNURVIgPSBBUk1SZWdpc3RlcnM6OmlwOwogICAgICAgICBB
Uk1UaHVtYkltbWVkaWF0ZSBsbzE2ID0gQVJNVGh1bWJJbW1lZGlhdGU6Om1ha2VVSW50MTYoc3Rh
dGljX2Nhc3Q8dWludDE2X3Q+KHJlaW50ZXJwcmV0X2Nhc3Q8dWludDMyX3Q+KHRhcmdldCkgKyAx
KSk7CiAgICAgICAgIEFSTVRodW1iSW1tZWRpYXRlIGhpMTYgPSBBUk1UaHVtYkltbWVkaWF0ZTo6
bWFrZVVJbnQxNihzdGF0aWNfY2FzdDx1aW50MTZfdD4ocmVpbnRlcnByZXRfY2FzdDx1aW50MzJf
dD4odGFyZ2V0KSA+PiAxNikpOwotICAgICAgICBpbnN0cnVjdGlvblstNV0gPSB0d29Xb3JkT3A1
aTZJbW00UmVnNEVuY29kZWRJbW1GaXJzdChPUF9NT1ZfaW1tX1QzLCBsbzE2KTsKLSAgICAgICAg
aW5zdHJ1Y3Rpb25bLTRdID0gdHdvV29yZE9wNWk2SW1tNFJlZzRFbmNvZGVkSW1tU2Vjb25kKEpV
TVBfVEVNUE9SQVJZX1JFR0lTVEVSLCBsbzE2KTsKLSAgICAgICAgaW5zdHJ1Y3Rpb25bLTNdID0g
dHdvV29yZE9wNWk2SW1tNFJlZzRFbmNvZGVkSW1tRmlyc3QoT1BfTU9WVCwgaGkxNik7Ci0gICAg
ICAgIGluc3RydWN0aW9uWy0yXSA9IHR3b1dvcmRPcDVpNkltbTRSZWc0RW5jb2RlZEltbVNlY29u
ZChKVU1QX1RFTVBPUkFSWV9SRUdJU1RFUiwgaGkxNik7Ci0gICAgICAgIGluc3RydWN0aW9uWy0x
XSA9IE9QX0JYIHwgKEpVTVBfVEVNUE9SQVJZX1JFR0lTVEVSIDw8IDMpOworICAgICAgICB1aW50
MTZfdCBpbnN0cnVjdGlvbnNbNV07CisgICAgICAgIGluc3RydWN0aW9uc1swXSA9IHR3b1dvcmRP
cDVpNkltbTRSZWc0RW5jb2RlZEltbUZpcnN0KE9QX01PVl9pbW1fVDMsIGxvMTYpOworICAgICAg
ICBpbnN0cnVjdGlvbnNbMV0gPSB0d29Xb3JkT3A1aTZJbW00UmVnNEVuY29kZWRJbW1TZWNvbmQo
SlVNUF9URU1QT1JBUllfUkVHSVNURVIsIGxvMTYpOworICAgICAgICBpbnN0cnVjdGlvbnNbMl0g
PSB0d29Xb3JkT3A1aTZJbW00UmVnNEVuY29kZWRJbW1GaXJzdChPUF9NT1ZULCBoaTE2KTsKKyAg
ICAgICAgaW5zdHJ1Y3Rpb25zWzNdID0gdHdvV29yZE9wNWk2SW1tNFJlZzRFbmNvZGVkSW1tU2Vj
b25kKEpVTVBfVEVNUE9SQVJZX1JFR0lTVEVSLCBoaTE2KTsKKyAgICAgICAgaW5zdHJ1Y3Rpb25z
WzRdID0gT1BfQlggfCAoSlVNUF9URU1QT1JBUllfUkVHSVNURVIgPDwgMyk7CisKKyAgICAgICAg
cGVyZm9ybUpJVE1lbWNweSh3cml0ZVRhcmdldCAtIDUsIGluc3RydWN0aW9ucywgNSAqIHNpemVv
Zih1aW50MTZfdCkpOwogICAgIH0KICAgICAKLSAgICBzdGF0aWMgdm9pZCBsaW5rQ29uZGl0aW9u
YWxCWChDb25kaXRpb24gY29uZCwgdWludDE2X3QqIGluc3RydWN0aW9uLCB2b2lkKiB0YXJnZXQp
CisgICAgc3RhdGljIHZvaWQgbGlua0NvbmRpdGlvbmFsQlgoQ29uZGl0aW9uIGNvbmQsIHVpbnQx
Nl90KiB3cml0ZVRhcmdldCwgY29uc3QgdWludDE2X3QqIGluc3RydWN0aW9uLCB2b2lkKiB0YXJn
ZXQpCiAgICAgewogICAgICAgICAvLyBGSU1YRTogdGhpcyBzaG91bGQgYmUgdXAgaW4gdGhlIE1h
Y3JvQXNzZW1ibGVyIGxheWVyLiA6LSggICAgICAgIAogICAgICAgICBBU1NFUlQoIShyZWludGVy
cHJldF9jYXN0PGludHB0cl90PihpbnN0cnVjdGlvbikgJiAxKSk7CiAgICAgICAgIEFTU0VSVCgh
KHJlaW50ZXJwcmV0X2Nhc3Q8aW50cHRyX3Q+KHRhcmdldCkgJiAxKSk7CiAgICAgICAgIAotICAg
ICAgICBsaW5rQlgoaW5zdHJ1Y3Rpb24sIHRhcmdldCk7Ci0gICAgICAgIGluc3RydWN0aW9uWy02
XSA9IGlmVGhlbkVsc2UoY29uZCwgdHJ1ZSwgdHJ1ZSkgfCBPUF9JVDsKKyAgICAgICAgbGlua0JY
KHdyaXRlVGFyZ2V0LCBpbnN0cnVjdGlvbiwgdGFyZ2V0KTsKKyAgICAgICAgdWludDE2X3QgbmV3
SW5zdHJ1Y3Rpb24gPSBpZlRoZW5FbHNlKGNvbmQsIHRydWUsIHRydWUpIHwgT1BfSVQ7CisgICAg
ICAgIHBlcmZvcm1KSVRNZW1jcHkod3JpdGVUYXJnZXQgLSA2LCAmbmV3SW5zdHJ1Y3Rpb24sIHNp
emVvZih1aW50MTZfdCkpOwogICAgIH0KICAgICAKLSAgICBzdGF0aWMgdm9pZCBsaW5rSnVtcEFi
c29sdXRlKHVpbnQxNl90KiBpbnN0cnVjdGlvbiwgdm9pZCogdGFyZ2V0KQorICAgIHN0YXRpYyB2
b2lkIGxpbmtKdW1wQWJzb2x1dGUodWludDE2X3QqIHdyaXRlVGFyZ2V0LCBjb25zdCB1aW50MTZf
dCogaW5zdHJ1Y3Rpb24sIHZvaWQqIHRhcmdldCkKICAgICB7CiAgICAgICAgIC8vIEZJTVhFOiB0
aGlzIHNob3VsZCBiZSB1cCBpbiB0aGUgTWFjcm9Bc3NlbWJsZXIgbGF5ZXIuIDotKAogICAgICAg
ICBBU1NFUlQoIShyZWludGVycHJldF9jYXN0PGludHB0cl90PihpbnN0cnVjdGlvbikgJiAxKSk7
CkBAIC0yNjg3LDI2ICsyNzE2LDMxIEBAIHByaXZhdGU6CiAgICAgICAgIAogICAgICAgICBBU1NF
UlQoKGlzTU9WX2ltbV9UMyhpbnN0cnVjdGlvbiAtIDUpICYmIGlzTU9WVChpbnN0cnVjdGlvbiAt
IDMpICYmIGlzQlgoaW5zdHJ1Y3Rpb24gLSAxKSkKICAgICAgICAgICAgICAgIHx8IChpc05PUF9U
MShpbnN0cnVjdGlvbiAtIDUpICYmIGlzTk9QX1QyKGluc3RydWN0aW9uIC0gNCkgJiYgaXNCKGlu
c3RydWN0aW9uIC0gMikpKTsKLSAgICAgICAgCisKICAgICAgICAgaWYgKGNhbkJlSnVtcFQ0KGlu
c3RydWN0aW9uLCB0YXJnZXQpKSB7CiAgICAgICAgICAgICAvLyBUaGVyZSBtYXkgYmUgYSBiZXR0
ZXIgd2F5IHRvIGZpeCB0aGlzLCBidXQgcmlnaHQgbm93IHB1dCB0aGUgTk9QcyBmaXJzdCwgc2lu
Y2UgaW4gdGhlCiAgICAgICAgICAgICAvLyBjYXNlIG9mIGFuIGNvbmRpdGlvbmFsIGJyYW5jaCB0
aGlzIHdpbGwgYmUgY29taW5nIGFmdGVyIGFuIElUVFQgcHJlZGljYXRpbmcgKnRocmVlKgogICAg
ICAgICAgICAgLy8gaW5zdHJ1Y3Rpb25zISAgTG9va2luZyBiYWNrd2FyZHMgdG8gbW9kaWZ5IHRo
ZSBJVFRUIHRvIGFuIElUIGlzIG5vdCBlYXN5LCBkdWUgdG8KICAgICAgICAgICAgIC8vIHZhcmlh
YmxlIHdkaXRoIGVuY29kaW5nIC0gdGhlIHByZXZpb3VzIGluc3RydWN0aW9uIG1pZ2h0ICpsb29r
KiBsaWtlIGFuIElUVFQgYnV0CiAgICAgICAgICAgICAvLyBhY3R1YWxseSBiZSB0aGUgc2Vjb25k
IGhhbGYgb2YgYSAyLXdvcmQgb3AuCi0gICAgICAgICAgICBpbnN0cnVjdGlvblstNV0gPSBPUF9O
T1BfVDE7Ci0gICAgICAgICAgICBpbnN0cnVjdGlvblstNF0gPSBPUF9OT1BfVDJhOwotICAgICAg
ICAgICAgaW5zdHJ1Y3Rpb25bLTNdID0gT1BfTk9QX1QyYjsKLSAgICAgICAgICAgIGxpbmtKdW1w
VDQoaW5zdHJ1Y3Rpb24sIHRhcmdldCk7CisgICAgICAgICAgICB1aW50MTZfdCBpbnN0cnVjdGlv
bnNbM107CisgICAgICAgICAgICBpbnN0cnVjdGlvbnNbMF0gPSBPUF9OT1BfVDE7CisgICAgICAg
ICAgICBpbnN0cnVjdGlvbnNbMV0gPSBPUF9OT1BfVDJhOworICAgICAgICAgICAgaW5zdHJ1Y3Rp
b25zWzJdID0gT1BfTk9QX1QyYjsKKyAgICAgICAgICAgIHBlcmZvcm1KSVRNZW1jcHkod3JpdGVU
YXJnZXQgLSA1LCBpbnN0cnVjdGlvbnMsIDMgKiBzaXplb2YodWludDE2X3QpKTsKKyAgICAgICAg
ICAgIGxpbmtKdW1wVDQod3JpdGVUYXJnZXQsIGluc3RydWN0aW9uLCB0YXJnZXQpOwogICAgICAg
ICB9IGVsc2UgewogICAgICAgICAgICAgY29uc3QgdWludDE2X3QgSlVNUF9URU1QT1JBUllfUkVH
SVNURVIgPSBBUk1SZWdpc3RlcnM6OmlwOwogICAgICAgICAgICAgQVJNVGh1bWJJbW1lZGlhdGUg
bG8xNiA9IEFSTVRodW1iSW1tZWRpYXRlOjptYWtlVUludDE2KHN0YXRpY19jYXN0PHVpbnQxNl90
PihyZWludGVycHJldF9jYXN0PHVpbnQzMl90Pih0YXJnZXQpICsgMSkpOwogICAgICAgICAgICAg
QVJNVGh1bWJJbW1lZGlhdGUgaGkxNiA9IEFSTVRodW1iSW1tZWRpYXRlOjptYWtlVUludDE2KHN0
YXRpY19jYXN0PHVpbnQxNl90PihyZWludGVycHJldF9jYXN0PHVpbnQzMl90Pih0YXJnZXQpID4+
IDE2KSk7Ci0gICAgICAgICAgICBpbnN0cnVjdGlvblstNV0gPSB0d29Xb3JkT3A1aTZJbW00UmVn
NEVuY29kZWRJbW1GaXJzdChPUF9NT1ZfaW1tX1QzLCBsbzE2KTsKLSAgICAgICAgICAgIGluc3Ry
dWN0aW9uWy00XSA9IHR3b1dvcmRPcDVpNkltbTRSZWc0RW5jb2RlZEltbVNlY29uZChKVU1QX1RF
TVBPUkFSWV9SRUdJU1RFUiwgbG8xNik7Ci0gICAgICAgICAgICBpbnN0cnVjdGlvblstM10gPSB0
d29Xb3JkT3A1aTZJbW00UmVnNEVuY29kZWRJbW1GaXJzdChPUF9NT1ZULCBoaTE2KTsKLSAgICAg
ICAgICAgIGluc3RydWN0aW9uWy0yXSA9IHR3b1dvcmRPcDVpNkltbTRSZWc0RW5jb2RlZEltbVNl
Y29uZChKVU1QX1RFTVBPUkFSWV9SRUdJU1RFUiwgaGkxNik7Ci0gICAgICAgICAgICBpbnN0cnVj
dGlvblstMV0gPSBPUF9CWCB8IChKVU1QX1RFTVBPUkFSWV9SRUdJU1RFUiA8PCAzKTsKKworICAg
ICAgICAgICAgdWludDE2X3QgaW5zdHJ1Y3Rpb25zWzVdOworICAgICAgICAgICAgaW5zdHJ1Y3Rp
b25zWzBdID0gdHdvV29yZE9wNWk2SW1tNFJlZzRFbmNvZGVkSW1tRmlyc3QoT1BfTU9WX2ltbV9U
MywgbG8xNik7CisgICAgICAgICAgICBpbnN0cnVjdGlvbnNbMV0gPSB0d29Xb3JkT3A1aTZJbW00
UmVnNEVuY29kZWRJbW1TZWNvbmQoSlVNUF9URU1QT1JBUllfUkVHSVNURVIsIGxvMTYpOworICAg
ICAgICAgICAgaW5zdHJ1Y3Rpb25zWzJdID0gdHdvV29yZE9wNWk2SW1tNFJlZzRFbmNvZGVkSW1t
Rmlyc3QoT1BfTU9WVCwgaGkxNik7CisgICAgICAgICAgICBpbnN0cnVjdGlvbnNbM10gPSB0d29X
b3JkT3A1aTZJbW00UmVnNEVuY29kZWRJbW1TZWNvbmQoSlVNUF9URU1QT1JBUllfUkVHSVNURVIs
IGhpMTYpOworICAgICAgICAgICAgaW5zdHJ1Y3Rpb25zWzRdID0gT1BfQlggfCAoSlVNUF9URU1Q
T1JBUllfUkVHSVNURVIgPDwgMyk7CisgICAgICAgICAgICBwZXJmb3JtSklUTWVtY3B5KHdyaXRl
VGFyZ2V0IC0gNSwgaW5zdHJ1Y3Rpb25zLCA1ICogc2l6ZW9mKHVpbnQxNl90KSk7CiAgICAgICAg
IH0KICAgICB9CiAgICAgCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1i
bGVyL0xpbmtCdWZmZXIuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9MaW5r
QnVmZmVyLmNwcAppbmRleCBmMGZiYzUwOTZiMjQ5MWU3Y2ZjYTFhZmRlMjM4ODg3NDkxMmQ1OWI1
Li42MzE1MWE4M2FmNTAzOWE2NGJhMTVlZDZjYTg0NWIwMTQzMWE3ZTAyIDEwMDY0NAotLS0gYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL0xpbmtCdWZmZXIuY3BwCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTGlua0J1ZmZlci5jcHAKQEAgLTEwNSwxMiArMTA1
LDExIEBAIHZvaWQgTGlua0J1ZmZlcjo6Y29weUNvbXBhY3RBbmRMaW5rQ29kZShNYWNyb0Fzc2Vt
YmxlciYgbWFjcm9Bc3NlbWJsZXIsIHZvaWQqIG93CiAgICAgVmVjdG9yPExpbmtSZWNvcmQsIDAs
IFVuc2FmZVZlY3Rvck92ZXJmbG93PiYganVtcHNUb0xpbmsgPSBtYWNyb0Fzc2VtYmxlci5qdW1w
c1RvTGluaygpOwogICAgIG1fYXNzZW1ibGVyU3RvcmFnZSA9IG1hY3JvQXNzZW1ibGVyLm1fYXNz
ZW1ibGVyLmJ1ZmZlcigpLnJlbGVhc2VBc3NlbWJsZXJEYXRhKCk7CiAgICAgdWludDhfdCogaW5E
YXRhID0gcmVpbnRlcnByZXRfY2FzdDx1aW50OF90Kj4obV9hc3NlbWJsZXJTdG9yYWdlLmJ1ZmZl
cigpKTsKLSNpZiBFTkFCTEUoU0VQQVJBVEVEX1dYX0hFQVApCisKICAgICBBc3NlbWJsZXJEYXRh
IG91dEJ1ZmZlcihtX3NpemUpOwogICAgIHVpbnQ4X3QqIG91dERhdGEgPSByZWludGVycHJldF9j
YXN0PHVpbnQ4X3QqPihvdXRCdWZmZXIuYnVmZmVyKCkpOwotI2Vsc2UKLSAgICB1aW50OF90KiBv
dXREYXRhID0gcmVpbnRlcnByZXRfY2FzdDx1aW50OF90Kj4obV9jb2RlKTsKLSNlbmRpZgorICAg
IHVpbnQ4X3QqIGNvZGVPdXREYXRhID0gcmVpbnRlcnByZXRfY2FzdDx1aW50OF90Kj4obV9jb2Rl
KTsKKwogICAgIGludCByZWFkUHRyID0gMDsKICAgICBpbnQgd3JpdGVQdHIgPSAwOwogICAgIHVu
c2lnbmVkIGp1bXBDb3VudCA9IGp1bXBzVG9MaW5rLnNpemUoKTsKQEAgLTEzNiwxMSArMTM1LDEx
IEBAIHZvaWQgTGlua0J1ZmZlcjo6Y29weUNvbXBhY3RBbmRMaW5rQ29kZShNYWNyb0Fzc2VtYmxl
ciYgbWFjcm9Bc3NlbWJsZXIsIHZvaWQqIG93CiAgICAgICAgIC8vIGJyYW5jaGVzIHdlIG5lZWQg
dG8gYmUgcHJlY2lzZSwgZm9yd2FyZCBicmFuY2hlcyB3ZSBhcmUgcGVzc2ltaXN0aWMKICAgICAg
ICAgY29uc3QgdWludDhfdCogdGFyZ2V0OwogICAgICAgICBpZiAoanVtcHNUb0xpbmtbaV0udG8o
KSA+PSBqdW1wc1RvTGlua1tpXS5mcm9tKCkpCi0gICAgICAgICAgICB0YXJnZXQgPSBvdXREYXRh
ICsganVtcHNUb0xpbmtbaV0udG8oKSAtIG9mZnNldDsgLy8gQ29tcGVuc2F0ZSBmb3Igd2hhdCB3
ZSBoYXZlIGNvbGxhcHNlZCBzbyBmYXIKKyAgICAgICAgICAgIHRhcmdldCA9IGNvZGVPdXREYXRh
ICsganVtcHNUb0xpbmtbaV0udG8oKSAtIG9mZnNldDsgLy8gQ29tcGVuc2F0ZSBmb3Igd2hhdCB3
ZSBoYXZlIGNvbGxhcHNlZCBzbyBmYXIKICAgICAgICAgZWxzZQotICAgICAgICAgICAgdGFyZ2V0
ID0gb3V0RGF0YSArIGp1bXBzVG9MaW5rW2ldLnRvKCkgLSBleGVjdXRhYmxlT2Zmc2V0Rm9yKGp1
bXBzVG9MaW5rW2ldLnRvKCkpOworICAgICAgICAgICAgdGFyZ2V0ID0gY29kZU91dERhdGEgKyBq
dW1wc1RvTGlua1tpXS50bygpIC0gZXhlY3V0YWJsZU9mZnNldEZvcihqdW1wc1RvTGlua1tpXS50
bygpKTsKICAgICAgICAgICAgIAotICAgICAgICBKdW1wTGlua1R5cGUganVtcExpbmtUeXBlID0g
TWFjcm9Bc3NlbWJsZXI6OmNvbXB1dGVKdW1wVHlwZShqdW1wc1RvTGlua1tpXSwgb3V0RGF0YSAr
IHdyaXRlUHRyLCB0YXJnZXQpOworICAgICAgICBKdW1wTGlua1R5cGUganVtcExpbmtUeXBlID0g
TWFjcm9Bc3NlbWJsZXI6OmNvbXB1dGVKdW1wVHlwZShqdW1wc1RvTGlua1tpXSwgY29kZU91dERh
dGEgKyB3cml0ZVB0ciwgdGFyZ2V0KTsKICAgICAgICAgLy8gQ29tcGFjdCBicmFuY2ggaWYgd2Ug
Y2FuLi4uCiAgICAgICAgIGlmIChNYWNyb0Fzc2VtYmxlcjo6Y2FuQ29tcGFjdChqdW1wc1RvTGlu
a1tpXS50eXBlKCkpKSB7CiAgICAgICAgICAgICAvLyBTdGVwIGJhY2sgaW4gdGhlIHdyaXRlIHN0
cmVhbQpAQCAtMTU3LDE3ICsxNTYsMTUgQEAgdm9pZCBMaW5rQnVmZmVyOjpjb3B5Q29tcGFjdEFu
ZExpbmtDb2RlKE1hY3JvQXNzZW1ibGVyJiBtYWNyb0Fzc2VtYmxlciwgdm9pZCogb3cKICAgICBy
ZWNvcmRMaW5rT2Zmc2V0cyhtX2Fzc2VtYmxlclN0b3JhZ2UsIHJlYWRQdHIsIG1faW5pdGlhbFNp
emUsIHJlYWRQdHIgLSB3cml0ZVB0cik7CiAgICAgICAgIAogICAgIGZvciAodW5zaWduZWQgaSA9
IDA7IGkgPCBqdW1wQ291bnQ7ICsraSkgewotICAgICAgICB1aW50OF90KiBsb2NhdGlvbiA9IG91
dERhdGEgKyBqdW1wc1RvTGlua1tpXS5mcm9tKCk7Ci0gICAgICAgIHVpbnQ4X3QqIHRhcmdldCA9
IG91dERhdGEgKyBqdW1wc1RvTGlua1tpXS50bygpIC0gZXhlY3V0YWJsZU9mZnNldEZvcihqdW1w
c1RvTGlua1tpXS50bygpKTsKLSAgICAgICAgTWFjcm9Bc3NlbWJsZXI6OmxpbmsoanVtcHNUb0xp
bmtbaV0sIGxvY2F0aW9uLCB0YXJnZXQpOworICAgICAgICB1aW50OF90KiBsb2NhdGlvbiA9IGNv
ZGVPdXREYXRhICsganVtcHNUb0xpbmtbaV0uZnJvbSgpOworICAgICAgICB1aW50OF90KiB0YXJn
ZXQgPSBjb2RlT3V0RGF0YSArIGp1bXBzVG9MaW5rW2ldLnRvKCkgLSBleGVjdXRhYmxlT2Zmc2V0
Rm9yKGp1bXBzVG9MaW5rW2ldLnRvKCkpOworICAgICAgICBNYWNyb0Fzc2VtYmxlcjo6bGluayhq
dW1wc1RvTGlua1tpXSwgb3V0RGF0YSArIGp1bXBzVG9MaW5rW2ldLmZyb20oKSwgbG9jYXRpb24s
IHRhcmdldCk7CiAgICAgfQogCiAgICAganVtcHNUb0xpbmsuY2xlYXIoKTsKICAgICBzaHJpbmso
d3JpdGVQdHIgKyBtX2luaXRpYWxTaXplIC0gcmVhZFB0cik7CiAKLSNpZiBFTkFCTEUoU0VQQVJB
VEVEX1dYX0hFQVApCiAgICAgcGVyZm9ybUpJVE1lbWNweShtX2NvZGUsIG91dEJ1ZmZlci5idWZm
ZXIoKSwgbV9zaXplKTsKLSNlbmRpZgogCiAjaWYgRFVNUF9MSU5LX1NUQVRJU1RJQ1MKICAgICBk
dW1wTGlua1N0YXRpc3RpY3MobV9jb2RlLCBtX2luaXRpYWxTaXplLCBtX3NpemUpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9NYWNyb0Fzc2VtYmxlckFSTTY0
LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL01hY3JvQXNzZW1ibGVyQVJNNjQu
aAppbmRleCBkZTdlMGU0YzIyOTQxNGM4MWRkOGMwY2RhYmFkMGQwYjBjMTYzMTU5Li4yMGY2ZDAx
ZDA1MjI5N2I0MDY3NTgxNmY2MmUzYTQzYjBkNDM5MDI2IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvYXNzZW1ibGVyL01hY3JvQXNzZW1ibGVyQVJNNjQuaAorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL01hY3JvQXNzZW1ibGVyQVJNNjQuaApAQCAtNzgsNyAr
NzgsNyBAQCBwdWJsaWM6CiAgICAgc3RhdGljIEp1bXBMaW5rVHlwZSBjb21wdXRlSnVtcFR5cGUo
SnVtcFR5cGUganVtcFR5cGUsIGNvbnN0IHVpbnQ4X3QqIGZyb20sIGNvbnN0IHVpbnQ4X3QqIHRv
KSB7IHJldHVybiBBUk02NEFzc2VtYmxlcjo6Y29tcHV0ZUp1bXBUeXBlKGp1bXBUeXBlLCBmcm9t
LCB0byk7IH0KICAgICBzdGF0aWMgSnVtcExpbmtUeXBlIGNvbXB1dGVKdW1wVHlwZShMaW5rUmVj
b3JkJiByZWNvcmQsIGNvbnN0IHVpbnQ4X3QqIGZyb20sIGNvbnN0IHVpbnQ4X3QqIHRvKSB7IHJl
dHVybiBBUk02NEFzc2VtYmxlcjo6Y29tcHV0ZUp1bXBUeXBlKHJlY29yZCwgZnJvbSwgdG8pOyB9
CiAgICAgc3RhdGljIGludCBqdW1wU2l6ZURlbHRhKEp1bXBUeXBlIGp1bXBUeXBlLCBKdW1wTGlu
a1R5cGUganVtcExpbmtUeXBlKSB7IHJldHVybiBBUk02NEFzc2VtYmxlcjo6anVtcFNpemVEZWx0
YShqdW1wVHlwZSwganVtcExpbmtUeXBlKTsgfQotICAgIHN0YXRpYyB2b2lkIGxpbmsoTGlua1Jl
Y29yZCYgcmVjb3JkLCB1aW50OF90KiBmcm9tLCB1aW50OF90KiB0bykgeyByZXR1cm4gQVJNNjRB
c3NlbWJsZXI6OmxpbmsocmVjb3JkLCBmcm9tLCB0byk7IH0KKyAgICBzdGF0aWMgdm9pZCBsaW5r
KExpbmtSZWNvcmQmIHJlY29yZCwgdWludDhfdCogZnJvbSwgY29uc3QgdWludDhfdCogZnJvbUlu
c3RydWN0aW9uLCB1aW50OF90KiB0bykgeyByZXR1cm4gQVJNNjRBc3NlbWJsZXI6OmxpbmsocmVj
b3JkLCBmcm9tLCBmcm9tSW5zdHJ1Y3Rpb24sIHRvKTsgfQogCiAgICAgc3RhdGljIGNvbnN0IFNj
YWxlIFNjYWxlUHRyID0gVGltZXNFaWdodDsKIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2Fzc2VtYmxlci9NYWNyb0Fzc2VtYmxlckFSTXY3LmggYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvYXNzZW1ibGVyL01hY3JvQXNzZW1ibGVyQVJNdjcuaAppbmRleCBkMjI1NmUxZjY4OTM5
YTI0MGUxOGVkYjliN2ZjNTk0ZWUwYTg4YWQxLi4xY2VhN2FjM2EwODhiYzRmOTFhNTBkZWMxZmY5
YjVjYTMzYjczMDMyIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVy
L01hY3JvQXNzZW1ibGVyQVJNdjcuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1i
bGVyL01hY3JvQXNzZW1ibGVyQVJNdjcuaApAQCAtNjYsNyArNjYsNyBAQCBwdWJsaWM6CiAgICAg
c3RhdGljIEp1bXBMaW5rVHlwZSBjb21wdXRlSnVtcFR5cGUoSnVtcFR5cGUganVtcFR5cGUsIGNv
bnN0IHVpbnQ4X3QqIGZyb20sIGNvbnN0IHVpbnQ4X3QqIHRvKSB7IHJldHVybiBBUk12N0Fzc2Vt
Ymxlcjo6Y29tcHV0ZUp1bXBUeXBlKGp1bXBUeXBlLCBmcm9tLCB0byk7IH0KICAgICBzdGF0aWMg
SnVtcExpbmtUeXBlIGNvbXB1dGVKdW1wVHlwZShMaW5rUmVjb3JkJiByZWNvcmQsIGNvbnN0IHVp
bnQ4X3QqIGZyb20sIGNvbnN0IHVpbnQ4X3QqIHRvKSB7IHJldHVybiBBUk12N0Fzc2VtYmxlcjo6
Y29tcHV0ZUp1bXBUeXBlKHJlY29yZCwgZnJvbSwgdG8pOyB9CiAgICAgc3RhdGljIGludCBqdW1w
U2l6ZURlbHRhKEp1bXBUeXBlIGp1bXBUeXBlLCBKdW1wTGlua1R5cGUganVtcExpbmtUeXBlKSB7
IHJldHVybiBBUk12N0Fzc2VtYmxlcjo6anVtcFNpemVEZWx0YShqdW1wVHlwZSwganVtcExpbmtU
eXBlKTsgfQotICAgIHN0YXRpYyB2b2lkIGxpbmsoTGlua1JlY29yZCYgcmVjb3JkLCB1aW50OF90
KiBmcm9tLCB1aW50OF90KiB0bykgeyByZXR1cm4gQVJNdjdBc3NlbWJsZXI6OmxpbmsocmVjb3Jk
LCBmcm9tLCB0byk7IH0KKyAgICBzdGF0aWMgdm9pZCBsaW5rKExpbmtSZWNvcmQmIHJlY29yZCwg
dWludDhfdCogZnJvbSwgY29uc3QgdWludDhfdCogZnJvbUluc3RydWN0aW9uLCB1aW50OF90KiB0
bykgeyByZXR1cm4gQVJNdjdBc3NlbWJsZXI6OmxpbmsocmVjb3JkLCBmcm9tLCBmcm9tSW5zdHJ1
Y3Rpb24sIHRvKTsgfQogCiAgICAgc3RydWN0IEFybUFkZHJlc3MgewogICAgICAgICBlbnVtIEFk
ZHJlc3NUeXBlIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvRXhlY3V0
YWJsZUFsbG9jYXRvci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9FeGVjdXRhYmxlQWxs
b2NhdG9yLmgKaW5kZXggNWI1NTY4MzBlOTJmNTllYjNmNDg2YTU1Y2JmODQ3NTNmNWUyZWQwNi4u
NzRjZGMxZmIwZjg4ZGJhOTkxN2NlZTIxYWQ5MmJhOTMxMzIzODk1OCAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9FeGVjdXRhYmxlQWxsb2NhdG9yLmgKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2ppdC9FeGVjdXRhYmxlQWxsb2NhdG9yLmgKQEAgLTkyLDI5ICs5Miwz
MCBAQCBzdGF0aWMgY29uc3QgZG91YmxlIGV4ZWN1dGFibGVQb29sUmVzZXJ2YXRpb25GcmFjdGlv
biA9IDAuMjU7CiBleHRlcm4gSlNfRVhQT1JUREFUQSB1aW50cHRyX3Qgc3RhcnRPZkZpeGVkRXhl
Y3V0YWJsZU1lbW9yeVBvb2w7CiBleHRlcm4gSlNfRVhQT1JUREFUQSB1aW50cHRyX3QgZW5kT2ZG
aXhlZEV4ZWN1dGFibGVNZW1vcnlQb29sOwogCi0jaWYgRU5BQkxFKFNFUEFSQVRFRF9XWF9IRUFQ
KQotZXh0ZXJuIEpTX0VYUE9SVERBVEEgdWludHB0cl90IGppdFdyaXRlRnVuY3Rpb25BZGRyZXNz
OwotI2VuZGlmCi0jZW5kaWYgLy8gRU5BQkxFKEVYRUNVVEFCTEVfQUxMT0NBVE9SX0ZJWEVEKQor
dHlwZWRlZiB2b2lkICgqSklUV3JpdGVGdW5jdGlvbikob2ZmX3QsIGNvbnN0IHZvaWQqLCBzaXpl
X3QpOworZXh0ZXJuIEpTX0VYUE9SVERBVEEgSklUV3JpdGVGdW5jdGlvbiBqaXRXcml0ZUZ1bmN0
aW9uOwogCiBzdGF0aWMgaW5saW5lIHZvaWQqIHBlcmZvcm1KSVRNZW1jcHkodm9pZCAqZHN0LCBj
b25zdCB2b2lkICpzcmMsIHNpemVfdCBuKQogewotI2lmIEVOQUJMRShTRVBBUkFURURfV1hfSEVB
UCkKICAgICAvLyBVc2UgZXhlY3V0ZS1vbmx5IHdyaXRlIHRodW5rIGZvciB3cml0ZXMgaW5zaWRl
IHRoZSBKSVQgcmVnaW9uLiBUaGlzIGlzIGEgdmFyaWFudCBvZgogICAgIC8vIG1lbWNweSB0aGF0
IHRha2VzIGFuIG9mZnNldCBpbnRvIHRoZSBKSVQgcmVnaW9uIGFzIGl0cyBkZXN0aW5hdGlvbiAo
Zmlyc3QpIHBhcmFtZXRlci4KLSAgICBpZiAoaml0V3JpdGVGdW5jdGlvbkFkZHJlc3MgJiYgKHVp
bnRwdHJfdClkc3QgPj0gc3RhcnRPZkZpeGVkRXhlY3V0YWJsZU1lbW9yeVBvb2wgJiYgKHVpbnRw
dHJfdClkc3QgPD0gZW5kT2ZGaXhlZEV4ZWN1dGFibGVNZW1vcnlQb29sKSB7Ci0gICAgICAgIHVz
aW5nIEpJVFdyaXRlRnVuY3Rpb24gPSB2b2lkICgqKShvZmZfdCwgY29uc3Qgdm9pZCosIHNpemVf
dCk7Ci0gICAgICAgIEpJVFdyaXRlRnVuY3Rpb24gZnVuYyA9IChKSVRXcml0ZUZ1bmN0aW9uKWpp
dFdyaXRlRnVuY3Rpb25BZGRyZXNzOworICAgIGlmIChqaXRXcml0ZUZ1bmN0aW9uICYmICh1aW50
cHRyX3QpZHN0ID49IHN0YXJ0T2ZGaXhlZEV4ZWN1dGFibGVNZW1vcnlQb29sICYmICh1aW50cHRy
X3QpZHN0IDw9IGVuZE9mRml4ZWRFeGVjdXRhYmxlTWVtb3J5UG9vbCkgewogICAgICAgICBvZmZf
dCBvZmZzZXQgPSAob2ZmX3QpKCh1aW50cHRyX3QpZHN0IC0gc3RhcnRPZkZpeGVkRXhlY3V0YWJs
ZU1lbW9yeVBvb2wpOwotICAgICAgICBmdW5jKG9mZnNldCwgc3JjLCBuKTsKKyAgICAgICAgaml0
V3JpdGVGdW5jdGlvbihvZmZzZXQsIHNyYywgbik7CiAgICAgICAgIHJldHVybiBkc3Q7CiAgICAg
fQotI2VuZGlmCiAKICAgICAvLyBVc2UgcmVndWxhciBtZW1jcHkgZm9yIHdyaXRlcyBvdXRzaWRl
IHRoZSBKSVQgcmVnaW9uLgogICAgIHJldHVybiBtZW1jcHkoZHN0LCBzcmMsIG4pOwogfQogCisj
ZWxzZSAvLyBFTkFCTEUoRVhFQ1VUQUJMRV9BTExPQ0FUT1JfRklYRUQpCitzdGF0aWMgaW5saW5l
IHZvaWQqIHBlcmZvcm1KSVRNZW1jcHkodm9pZCAqZHN0LCBjb25zdCB2b2lkICpzcmMsIHNpemVf
dCBuKQoreworICAgIHJldHVybiBtZW1jcHkoZHN0LCBzcmMsIG4pOworfQorI2VuZGlmCisKIGNs
YXNzIEV4ZWN1dGFibGVBbGxvY2F0b3IgewogICAgIGVudW0gUHJvdGVjdGlvblNldHRpbmcgeyBX
cml0YWJsZSwgRXhlY3V0YWJsZSB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvaml0L0V4ZWN1dGFibGVBbGxvY2F0b3JGaXhlZFZNUG9vbC5jcHAgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvaml0L0V4ZWN1dGFibGVBbGxvY2F0b3JGaXhlZFZNUG9vbC5jcHAKaW5kZXggODJj
NDZmN2E1ODgwYmI0Mzk4MTFlZmM5ZTVmZDRjZTk1OTI4ZjRhNS4uN2RhNTg3YTdmYjdiY2U2NmFi
MjlkOTExNmNiZmQyOTFlMzdjYTBmZSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2ppdC9FeGVjdXRhYmxlQWxsb2NhdG9yRml4ZWRWTVBvb2wuY3BwCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9qaXQvRXhlY3V0YWJsZUFsbG9jYXRvckZpeGVkVk1Qb29sLmNwcApAQCAtNDgs
MTAgKzQ4LDEzIEBACiAjaW5jbHVkZSA8c3RkaW8uaD4KICNlbmRpZgogCi0jaWYgRU5BQkxFKFNF
UEFSQVRFRF9XWF9IRUFQKQogI2luY2x1ZGUgIkxpbmtCdWZmZXIuaCIKICNpbmNsdWRlICJNYWNy
b0Fzc2VtYmxlci5oIgogCisjaWYgQ1BVKEFSTTY0KSAmJiBQTEFURk9STShJT1MpICYmIF9fSVBI
T05FX09TX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMDAwMAorI2RlZmluZSBFTkFCTEVfU0VQ
QVJBVEVEX0hFQVBfSklUX1dSSVRFX0ZVTkNUSU9OIDEKKyNlbmRpZgorCiAjaWYgT1MoREFSV0lO
KQogI2luY2x1ZGUgPG1hY2gvbWFjaC5oPgogZXh0ZXJuICJDIiB7CkBAIC03OSw4ICs4Miw2IEBA
IGV4dGVybiAiQyIgewogCiAjZW5kaWYKIAotI2VuZGlmCi0KIHVzaW5nIG5hbWVzcGFjZSBXVEY7
CiAKIG5hbWVzcGFjZSBKU0MgewpAQCAtODgsOCArODksMTAgQEAgbmFtZXNwYWNlIEpTQyB7CiBK
U19FWFBPUlREQVRBIHVpbnRwdHJfdCBzdGFydE9mRml4ZWRFeGVjdXRhYmxlTWVtb3J5UG9vbDsK
IEpTX0VYUE9SVERBVEEgdWludHB0cl90IGVuZE9mRml4ZWRFeGVjdXRhYmxlTWVtb3J5UG9vbDsK
IAotI2lmIEVOQUJMRShTRVBBUkFURURfV1hfSEVBUCkKLUpTX0VYUE9SVERBVEEgdWludHB0cl90
IGppdFdyaXRlRnVuY3Rpb25BZGRyZXNzOworSlNfRVhQT1JUREFUQSBKSVRXcml0ZUZ1bmN0aW9u
IGppdFdyaXRlRnVuY3Rpb247CisKKyNpZiAhRU5BQkxFKFNFUEFSQVRFRF9IRUFQX0pJVF9XUklU
RV9GVU5DVElPTikKK3N0YXRpYyB1aW50cHRyX3Qgc3RhcnRPZkZpeGVkV3JpdGFibGVNZW1vcnlQ
b29sOwogI2VuZGlmCiAKIGNsYXNzIEZpeGVkVk1Qb29sRXhlY3V0YWJsZUFsbG9jYXRvciA6IHB1
YmxpYyBNZXRhQWxsb2NhdG9yIHsKQEAgLTEwOSw3ICsxMTIsNiBAQCBwdWJsaWM6CiAgICAgICAg
ICAgICBBU1NFUlQobV9yZXNlcnZhdGlvbi5zaXplKCkgPT0gcmVzZXJ2YXRpb25TaXplKTsKICAg
ICAgICAgICAgIHZvaWQqIHJlc2VydmF0aW9uQmFzZSA9IG1fcmVzZXJ2YXRpb24uYmFzZSgpOwog
Ci0jaWYgRU5BQkxFKFNFUEFSQVRFRF9XWF9IRUFQKQogICAgICAgICAgICAgaWYgKE9wdGlvbnM6
OnVzZVNlcGFyYXRlZFdYSGVhcCgpKSB7CiAgICAgICAgICAgICAgICAgLy8gRmlyc3QgcGFnZSBv
ZiBvdXIgSklUIGFsbG9jYXRpb24gaXMgcmVzZXJ2ZWQuCiAgICAgICAgICAgICAgICAgQVNTRVJU
KHJlc2VydmF0aW9uU2l6ZSA+PSBwYWdlU2l6ZSgpICogMik7CkBAIC0xMTcsNyArMTE5LDYgQEAg
cHVibGljOgogICAgICAgICAgICAgICAgIHJlc2VydmF0aW9uU2l6ZSAtPSBwYWdlU2l6ZSgpOwog
ICAgICAgICAgICAgICAgIGluaXRpYWxpemVTZXBhcmF0ZWRXWEhlYXBzKG1fcmVzZXJ2YXRpb24u
YmFzZSgpLCBwYWdlU2l6ZSgpLCByZXNlcnZhdGlvbkJhc2UsIHJlc2VydmF0aW9uU2l6ZSk7CiAg
ICAgICAgICAgICB9Ci0jZW5kaWYKIAogICAgICAgICAgICAgYWRkRnJlc2hGcmVlU3BhY2UocmVz
ZXJ2YXRpb25CYXNlLCByZXNlcnZhdGlvblNpemUpOwogCkBAIC0xNjMsNyArMTY0LDcgQEAgcHJv
dGVjdGVkOgogICAgIH0KIAogcHJpdmF0ZToKLSNpZiBFTkFCTEUoU0VQQVJBVEVEX1dYX0hFQVAp
CisjaWYgT1MoREFSV0lOKQogICAgIHZvaWQgaW5pdGlhbGl6ZVNlcGFyYXRlZFdYSGVhcHModm9p
ZCogc3R1YkJhc2UsIHNpemVfdCBzdHViU2l6ZSwgdm9pZCogaml0QmFzZSwgc2l6ZV90IGppdFNp
emUpCiAgICAgewogICAgICAgICBtYWNoX3ZtX2FkZHJlc3NfdCB3cml0YWJsZUFkZHIgPSAwOwpA
QCAtMTg0LDQwICsxODUsMzkgQEAgcHJpdmF0ZToKICAgICAgICAgICAgIHJldHVybjsKIAogICAg
ICAgICAvLyBBc3NlbWJsZSBhIHRodW5rIHRoYXQgd2lsbCBzZXJ2ZSBhcyB0aGUgbWVhbnMgZm9y
IHdyaXRpbmcgaW50byB0aGUgSklUIHJlZ2lvbi4KLSAgICAgICAgTWFjcm9Bc3NlbWJsZXJDb2Rl
UmVmIHdyaXRlVGh1bmsgPSBqaXRXcml0ZVRodW5rR2VuZXJhdG9yKHdyaXRhYmxlQWRkciwgc3R1
YkJhc2UsIHN0dWJTaXplKTsKKyAgICAgICAgTWFjcm9Bc3NlbWJsZXJDb2RlUmVmIHdyaXRlVGh1
bmsgPSBqaXRXcml0ZVRodW5rR2VuZXJhdG9yKHJlaW50ZXJwcmV0X2Nhc3Q8dm9pZCo+KHdyaXRh
YmxlQWRkciksIHN0dWJCYXNlLCBzdHViU2l6ZSk7CiAKICAgICAgICAgaW50IHJlc3VsdCA9IDA7
CiAKLSAgICAgICAgaWYgKCFyZW1hcFN1Y2NlZWRlZCkgewogI2lmIGRlZmluZWQoVk1fUFJPVF9F
WEVDVVRFX09OTFkpCi0gICAgICAgICAgICAvLyBQcmV2ZW50IHJlYWRpbmcgdGhlIHdyaXRlIHRo
dW5rIGNvZGUuCi0gICAgICAgICAgICByZXN1bHQgPSBtcHJvdGVjdChzdHViQmFzZSwgc3R1YlNp
emUsIFZNX1BST1RfRVhFQ1VURV9PTkxZKTsKLSAgICAgICAgICAgIFJFTEVBU0VfQVNTRVJUKCFy
ZXN1bHQpOworICAgICAgICAvLyBQcmV2ZW50IHJlYWRpbmcgdGhlIHdyaXRlIHRodW5rIGNvZGUu
CisgICAgICAgIHJlc3VsdCA9IG1wcm90ZWN0KHN0dWJCYXNlLCBzdHViU2l6ZSwgVk1fUFJPVF9F
WEVDVVRFX09OTFkpOworICAgICAgICBSRUxFQVNFX0FTU0VSVCghcmVzdWx0KTsKICNlbmRpZgog
Ci0gICAgICAgICAgICAvLyBQcmV2ZW50IHdyaXRpbmcgaW50byB0aGUgZXhlY3V0YWJsZSBKSVQg
bWFwcGluZy4KLSAgICAgICAgICAgIHJlc3VsdCA9IG1wcm90ZWN0KGppdEJhc2UsIGppdFNpemUs
IFZNX1BST1RfUkVBRCB8IFZNX1BST1RfRVhFQ1VURSk7Ci0gICAgICAgICAgICBSRUxFQVNFX0FT
U0VSVCghcmVzdWx0KTsKKyAgICAgICAgLy8gUHJldmVudCB3cml0aW5nIGludG8gdGhlIGV4ZWN1
dGFibGUgSklUIG1hcHBpbmcuCisgICAgICAgIHJlc3VsdCA9IG1wcm90ZWN0KGppdEJhc2UsIGpp
dFNpemUsIFZNX1BST1RfUkVBRCB8IFZNX1BST1RfRVhFQ1VURSk7CisgICAgICAgIFJFTEVBU0Vf
QVNTRVJUKCFyZXN1bHQpOwogCi0gICAgICAgICAgICAvLyBQcmV2ZW50IGV4ZWN1dGlvbiBpbiB0
aGUgd3JpdGFibGUgSklUIG1hcHBpbmcuCi0gICAgICAgICAgICByZXN1bHQgPSBtcHJvdGVjdCgo
dm9pZCopd3JpdGFibGVBZGRyLCBqaXRTaXplLCBWTV9QUk9UX1JFQUQgfCBWTV9QUk9UX1dSSVRF
KTsKLSAgICAgICAgICAgIFJFTEVBU0VfQVNTRVJUKCFyZXN1bHQpOworICAgICAgICAvLyBQcmV2
ZW50IGV4ZWN1dGlvbiBpbiB0aGUgd3JpdGFibGUgSklUIG1hcHBpbmcuCisgICAgICAgIHJlc3Vs
dCA9IG1wcm90ZWN0KCh2b2lkKil3cml0YWJsZUFkZHIsIGppdFNpemUsIFZNX1BST1RfUkVBRCB8
IFZNX1BST1RfV1JJVEUpOworICAgICAgICBSRUxFQVNFX0FTU0VSVCghcmVzdWx0KTsKIAotICAg
ICAgICAgICAgLy8gWmVybyBvdXQgd3JpdGFibGVBZGRyIHRvIGF2b2lkIGxlYWtpbmcgdGhlIGFk
ZHJlc3Mgb2YgdGhlIHdyaXRhYmxlIG1hcHBpbmcuCi0gICAgICAgICAgICBtZW1zZXRfcygmd3Jp
dGFibGVBZGRyLCBzaXplb2Yod3JpdGFibGVBZGRyKSwgMCwgc2l6ZW9mKHdyaXRhYmxlQWRkcikp
OwotICAgICAgICB9Ci0gICAgICAgIGppdFdyaXRlRnVuY3Rpb25BZGRyZXNzID0gKHVpbnRwdHJf
dCl3cml0ZVRodW5rLmNvZGUoKS5leGVjdXRhYmxlQWRkcmVzcygpOworICAgICAgICAvLyBaZXJv
IG91dCB3cml0YWJsZUFkZHIgdG8gYXZvaWQgbGVha2luZyB0aGUgYWRkcmVzcyBvZiB0aGUgd3Jp
dGFibGUgbWFwcGluZy4KKyAgICAgICAgbWVtc2V0X3MoJndyaXRhYmxlQWRkciwgc2l6ZW9mKHdy
aXRhYmxlQWRkciksIDAsIHNpemVvZih3cml0YWJsZUFkZHIpKTsKKworICAgICAgICBqaXRXcml0
ZUZ1bmN0aW9uID0gcmVpbnRlcnByZXRfY2FzdDxKSVRXcml0ZUZ1bmN0aW9uPih3cml0ZVRodW5r
LmNvZGUoKS5leGVjdXRhYmxlQWRkcmVzcygpKTsKICAgICB9CiAKLSNpZiBDUFUoQVJNNjQpCi0g
ICAgTWFjcm9Bc3NlbWJsZXJDb2RlUmVmIGppdFdyaXRlVGh1bmtHZW5lcmF0b3IobWFjaF92bV9h
ZGRyZXNzX3Qgd3JpdGFibGVBZGRyLCB2b2lkKiBzdHViQmFzZSwgc2l6ZV90IHN0dWJTaXplKQor
I2lmIENQVShBUk02NCkgJiYgRU5BQkxFKFNFUEFSQVRFRF9IRUFQX0pJVF9XUklURV9GVU5DVElP
TikKKyAgICBNYWNyb0Fzc2VtYmxlckNvZGVSZWYgaml0V3JpdGVUaHVua0dlbmVyYXRvcih2b2lk
KiB3cml0YWJsZUFkZHIsIHZvaWQqIHN0dWJCYXNlLCBzaXplX3Qgc3R1YlNpemUpCiAgICAgewog
ICAgICAgICB1c2luZyBuYW1lc3BhY2UgQVJNNjRSZWdpc3RlcnM7CiAgICAgICAgIHVzaW5nIFRy
dXN0ZWRJbW0zMiA9IE1hY3JvQXNzZW1ibGVyOjpUcnVzdGVkSW1tMzI7CiAKICAgICAgICAgTWFj
cm9Bc3NlbWJsZXIgaml0OwogCi0gICAgICAgIGppdC5tb3ZlKE1hY3JvQXNzZW1ibGVyOjpUcnVz
dGVkSW1tUHRyKChjb25zdCB2b2lkKil3cml0YWJsZUFkZHIpLCB4Nyk7CisgICAgICAgIGppdC5t
b3ZlKE1hY3JvQXNzZW1ibGVyOjpUcnVzdGVkSW1tUHRyKHdyaXRhYmxlQWRkciksIHg3KTsKICAg
ICAgICAgaml0LmFkZFB0cih4NywgeDApOwogCiAgICAgICAgIGppdC5tb3ZlKHgwLCB4Myk7CkBA
IC0yNzQsOCArMjc0LDMwIEBAIHByaXZhdGU6CiAgICAgICAgIExpbmtCdWZmZXIgbGlua0J1ZmZl
cihqaXQsIHN0dWJCYXNlLCBzdHViU2l6ZSk7CiAgICAgICAgIHJldHVybiBGSU5BTElaRV9DT0RF
KGxpbmtCdWZmZXIsICgiQnVsbGV0cHJvb2YgSklUIHdyaXRlIHRodW5rIikpOwogICAgIH0KLSNl
bmRpZiAvLyBDUFUoQVJNNjQpCi0jZW5kaWYgLy8gRU5BQkxFKFNFUEFSQVRFRF9XWF9IRUFQKQor
I2Vsc2UgLy8gIUNQVShBUk02NCkKKyAgICBzdGF0aWMgdm9pZCBnZW5lcmljV3JpdGVUb0pJVFJl
Z2lvbihvZmZfdCBvZmZzZXQsIGNvbnN0IHZvaWQqIGRhdGEsIHNpemVfdCBkYXRhU2l6ZSkKKyAg
ICB7CisgICAgICAgIG1lbWNweSgodm9pZCopKHN0YXJ0T2ZGaXhlZFdyaXRhYmxlTWVtb3J5UG9v
bCArIG9mZnNldCksIGRhdGEsIGRhdGFTaXplKTsKKyAgICB9CisKKyAgICBNYWNyb0Fzc2VtYmxl
ckNvZGVSZWYgaml0V3JpdGVUaHVua0dlbmVyYXRvcih2b2lkKiBhZGRyZXNzLCB2b2lkKiwgc2l6
ZV90KQorICAgIHsKKyAgICAgICAgc3RhcnRPZkZpeGVkV3JpdGFibGVNZW1vcnlQb29sID0gcmVp
bnRlcnByZXRfY2FzdDx1aW50cHRyX3Q+KGFkZHJlc3MpOworICAgICAgICB1aW50cHRyX3QgZnVu
Y3Rpb24gPSAodWludHB0cl90KSgodm9pZCopJmdlbmVyaWNXcml0ZVRvSklUUmVnaW9uKTsKKyNp
ZiBDUFUoQVJNX1RIVU1CMikKKyAgICAgICAgLy8gSGFuZGxlIHRodW1iIG9mZnNldAorICAgICAg
ICBmdW5jdGlvbiAtPSAxOworI2VuZGlmCisgICAgICAgIHJldHVybiBNYWNyb0Fzc2VtYmxlckNv
ZGVSZWY6OmNyZWF0ZVNlbGZNYW5hZ2VkQ29kZVJlZihNYWNyb0Fzc2VtYmxlckNvZGVQdHIoKHZv
aWQqKWZ1bmN0aW9uKSk7CisgICAgfQorI2VuZGlmCisKKyNlbHNlIC8vICFPUyhEQVJXSU4pCisg
ICAgdm9pZCBpbml0aWFsaXplU2VwYXJhdGVkV1hIZWFwcyh2b2lkKiwgc2l6ZV90LCB2b2lkKiwg
c2l6ZV90KQorICAgIHsKKyAgICAgICAgQVNTRVJUX1VOVVNFRChzdGFydE9mRml4ZWRXcml0YWJs
ZU1lbW9yeVBvb2wsICFzdGFydE9mRml4ZWRXcml0YWJsZU1lbW9yeVBvb2wpOworICAgIH0KKyNl
bmRpZgogCiBwcml2YXRlOgogICAgIFBhZ2VSZXNlcnZhdGlvbiBtX3Jlc2VydmF0aW9uOwpkaWZm
IC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvT3B0aW9ucy5jcHAgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9PcHRpb25zLmNwcAppbmRleCBlMmE2ODcyNjM0MDU5
ZDgwNmU1NzAyZDQ4YTkwZmRhMTY0N2NjZWZlLi40NGZkMjI2ZjNjYzFmNDAwYTZhZWNiODkyMzE2
NGU2N2I0YjI0MWM5IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9P
cHRpb25zLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9PcHRpb25zLmNw
cApAQCAtMjk0LDkgKzI5NCw3IEBAIHN0YXRpYyB2b2lkIHJlY29tcHV0ZURlcGVuZGVudE9wdGlv
bnMoKQogI2lmICFFTkFCTEUoRlRMX0pJVCkKICAgICBPcHRpb25zOjp1c2VGVExKSVQoKSA9IGZh
bHNlOwogI2VuZGlmCi0jaWYgIUVOQUJMRShTRVBBUkFURURfV1hfSEVBUCkKLSAgICBPcHRpb25z
Ojp1c2VTZXBhcmF0ZWRXWEhlYXAoKSA9IGZhbHNlOwotI2VuZGlmCisgICAgCiAjaWYgT1MoV0lO
RE9XUykgJiYgQ1BVKFg4NikgCiAgICAgLy8gRGlzYWJsZSBKSVQgb24gV2luZG93cyBpZiBTU0Uy
IGlzIG5vdCBwcmVzZW50IAogICAgIGlmICghTWFjcm9Bc3NlbWJsZXJYODY6OnN1cHBvcnRzRmxv
YXRpbmdQb2ludCgpKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
T3B0aW9ucy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvT3B0aW9ucy5oCmluZGV4
IGE4MDIwMjI5YjFjNjhjZDE1NGY5MmQzMjI4NDVlODdjZTY2NTQyNTAuLmYwMjY1NzIwZDE0MzNh
NDcwYjFjMDdkMDkzYTg4MjE3MDYzNGRhOGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL09wdGlvbnMuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9PcHRpb25zLmgKQEAgLTExOCw3ICsxMTgsNyBAQCB0eXBlZGVmIGNvbnN0IGNoYXIqIG9wdGlv
blN0cmluZzsKICAgICBcCiAgICAgdihib29sLCBjcmFzaElmQ2FudEFsbG9jYXRlSklUTWVtb3J5
LCBmYWxzZSwgbnVsbHB0cikgXAogICAgIHYodW5zaWduZWQsIGppdE1lbW9yeVJlc2VydmF0aW9u
U2l6ZSwgMCwgIlNldCB0aGlzIG51bWJlciB0byBjaGFuZ2UgdGhlIGV4ZWN1dGFibGUgYWxsb2Nh
dGlvbiBzaXplIGluIEV4ZWN1dGFibGVBbGxvY2F0b3JGaXhlZFZNUG9vbC4gKEluIGJ5dGVzLiki
KSBcCi0gICAgdihib29sLCB1c2VTZXBhcmF0ZWRXWEhlYXAsIHRydWUsIG51bGxwdHIpIFwKKyAg
ICB2KGJvb2wsIHVzZVNlcGFyYXRlZFdYSGVhcCwgZmFsc2UsIG51bGxwdHIpIFwKICAgICBcCiAg
ICAgdihib29sLCBmb3JjZUNvZGVCbG9ja0xpdmVuZXNzLCBmYWxzZSwgbnVsbHB0cikgXAogICAg
IHYoYm9vbCwgZm9yY2VJQ0ZhaWx1cmUsIGZhbHNlLCBudWxscHRyKSBcCmRpZmYgLS1naXQgYS9T
b3VyY2UvV1RGL3d0Zi9GZWF0dXJlRGVmaW5lcy5oIGIvU291cmNlL1dURi93dGYvRmVhdHVyZURl
ZmluZXMuaAppbmRleCA4N2EzNmMxYTViM2U5ZjRkMjU5YWI1YTZjYjM0MTNkYTFiOTk3NmY3Li5l
NzgwMTFlNWNmNDc1NGU5NDY3NDk3ZjIyOWU1MjYwNGU4NGJkOTFiIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV1RGL3d0Zi9GZWF0dXJlRGVmaW5lcy5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL0ZlYXR1cmVE
ZWZpbmVzLmgKQEAgLTc4MywxMCArNzgzLDYgQEAgdGhlIHB1YmxpYyBpT1MgU0RLLiBXZSB3aWxs
IGFsc28gbmVlZCB0byB1cGRhdGUgdGhlIEZlYXR1cmVEZWZpbmVzLnhjY29uZmlnIGZpbGUKICNk
ZWZpbmUgRU5BQkxFX1hTTFQgMQogI2VuZGlmCiAKLSNpZiAhZGVmaW5lZChFTkFCTEVfU0VQQVJB
VEVEX1dYX0hFQVApCi0jZGVmaW5lIEVOQUJMRV9TRVBBUkFURURfV1hfSEVBUCAwCi0jZW5kaWYK
LQogLyogQXNzZXJ0cywgaW52YXJpYW50cyBmb3IgbWFjcm8gZGVmaW5pdGlvbnMgKi8KIAogI2lm
IEVOQUJMRShWSURFT19UUkFDSykgJiYgIUVOQUJMRShWSURFTykKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XVEYvd3RmL1BsYXRmb3JtLmggYi9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybS5oCmluZGV4IGRk
M2RjMWRkYzMxMjliZDg4ZTFhYTE1MTA0OWQ5MzQxMjEzNDIxYjMuLmYwYTVkNzkyYjY2NDljMDZj
YjhiODkyYWQ1ODljZjNiNDcwMWI1YTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL1BsYXRm
b3JtLmgKKysrIGIvU291cmNlL1dURi93dGYvUGxhdGZvcm0uaApAQCAtMTE0MiwxMCArMTE0Miw0
IEBACiAjZW5kaWYKICNlbmRpZgogCi0jaWYgZGVmaW5lZChFTkFCTEVfU0VQQVJBVEVEX1dYX0hF
QVApCi0jaWYgIShDUFUoQVJNNjQpICYmICgoUExBVEZPUk0oSU9TKSAmJiBfX0lQSE9ORV9PU19W
RVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDAwMDApKSkKLSN1bmRlZiBFTkFCTEVfU0VQQVJBVEVE
X1dYX0hFQVAKLSNlbmRpZgotI2VuZGlmCi0KICNlbmRpZiAvKiBXVEZfUGxhdGZvcm1faCAqLwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMu
eGNjb25maWcgYi9Tb3VyY2UvV2ViQ29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54
Y2NvbmZpZwppbmRleCAyMGM5Zjk4OGFlYzY5MzI3NmMxZWJkZWVlMmI2MzkzMjY5ZDgxYTY1Li41
YzM5MzUxNzUxN2I3OTkzMTc0YzQ0OGIwZmRlYmIxOWVhOGM3NTIwIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZworKysgYi9T
b3VyY2UvV2ViQ29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwpAQCAt
MTk0LDcgKzE5NCw0IEBAIEVOQUJMRV9GVExfSklUW3Nkaz1pcGhvbmVvcypdID0gRU5BQkxFX0ZU
TF9KSVQ7CiBFTkFCTEVfU0hBRE9XX0RPTSA9IEVOQUJMRV9TSEFET1dfRE9NOwogRU5BQkxFX0NV
U1RPTV9FTEVNRU5UUyA9IEVOQUJMRV9DVVNUT01fRUxFTUVOVFM7CiAKLUVOQUJMRV9TRVBBUkFU
RURfV1hfSEVBUFtzZGs9aXBob25lKl0gPSA7Ci1FTkFCTEVfU0VQQVJBVEVEX1dYX0hFQVBbc2Rr
PW1hY29zeCpdID0gOwotCi1GRUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9UUkFOU0ZPUk1T
KSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09W
RVJGTE9XX1NDUk9MTElORykgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9BVFRBQ0hN
RU5UX0VMRU1FTlQpICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykgJChFTkFCTEVfQ0FOVkFT
X1BBVEgpICQoRU5BQkxFX0NBTlZBU19QUk9YWSkgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcp
ICQoRU5BQkxFX0VTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkgJChFTkFCTEVfRVM2X0NMQVNTX1NZ
TlRBWCkgJChFTkFCTEVfRVM2X0dFTkVSQVRPUlMpICQoRU5BQkxFX0VTNl9NT0RVTEVTKSAkKEVO
QUJMRV9DT05URU5UX0ZJTFRFUklORykgJChFTkFCTEVfQ1NQX05FWFQpICQoRU5BQkxFX0NTU19B
TklNQVRJT05TX0xFVkVMXzIpICQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVBSykgJChF
TkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJT04pICQo
RU5BQkxFX0NTU19HUklEX0xBWU9VVCkgJChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAk
KEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1JFR0lPTlMpICQoRU5B
QkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9DU1NfU0hBUEVTKSAkKEVOQUJMRV9D
U1MzX1RFWFQpICQoRU5BQkxFX0NTUzNfVEVYVF9MSU5FX0JSRUFLKSAkKEVOQUJMRV9DVVJTT1Jf
VklTSUJJTElUWSkgJChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJMRV9EQVNI
Qk9BUkRfU1VQUE9SVCkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREFUQV9U
UkFOU0ZFUl9JVEVNUykgJChFTkFCTEVfREVUQUlMU19FTEVNRU5UKSAkKEVOQUJMRV9ERVZJQ0Vf
T1JJRU5UQVRJT04pICQoRU5BQkxFX0RPTTRfRVZFTlRTX0NPTlNUUlVDVE9SKSAkKEVOQUJMRV9F
TkNSWVBURURfTUVESUEpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQV9WMikgJChFTkFCTEVfRkVU
Q0hfQVBJKSAkKEVOQUJMRV9GSUxURVJTX0xFVkVMXzIpICQoRU5BQkxFX0ZPTlRfTE9BRF9FVkVO
VFMpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9H
QU1FUEFEX0RFUFJFQ0FURUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9JQ09OREFU
QUJBU0UpICQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX0lOREVYRURfREFUQUJB
U0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5ESUVf
VUkpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1Jf
UE9QT1ZFUikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RB
VEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChF
TkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJM
RV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkgJChF
TkFCTEVfSU5UTCkgJChFTkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1NfVEVY
VF9BVVRPU0laSU5HKSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9MRUdBQ1lf
Q1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX05PVElGSUNBVElPTlMpICQoRU5B
QkxFX0xFR0FDWV9WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9XRUJfQVVESU8pICQo
RU5BQkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9MSU5LX1BSRUZFVENIKSAkKEVOQUJMRV9NQUNf
R0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFfQ09OVFJPTFNf
U0NSSVBUKSAkKEVOQUJMRV9NRURJQV9TRVNTSU9OKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQo
RU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FRElBX1NUUkVBTSkgJChFTkFCTEVf
TUVURVJfRUxFTUVOVCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FM
RSkgJChFTkFCTEVfTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpICQoRU5BQkxFX05BVklHQVRPUl9I
V0NPTkNVUlJFTkNZKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9QREZLSVRfUExV
R0lOKSAkKEVOQUJMRV9QT0lOVEVSX0xPQ0spICQoRU5BQkxFX1BST1hJTUlUWV9FVkVOVFMpICQo
RU5BQkxFX1BVQkxJQ19TVUZGSVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFUVVF
U1RfQU5JTUFUSU9OX0ZSQU1FKSAkKEVOQUJMRV9SRVFVRVNUX0FVVE9DT01QTEVURSkgJChFTkFC
TEVfUkVNT1RFX0lOU1BFQ1RPUikgJChFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChF
TkFCTEVfUkVTT1VSQ0VfVVNBR0UpICQoRU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAkKEVOQUJMRV9D
U1NfU0NST0xMX1NOQVApICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxFX1NUUkVB
TVNfQVBJKSAkKEVOQUJMRV9TVUJUTEVfQ1JZUFRPKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5B
QkxFX1RFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVOQUJMRV9URU1QTEFURV9FTEVNRU5U
KSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFC
TEVfVE9VQ0hfSUNPTl9MT0FESU5HKSAkKEVOQUJMRV9DU1NfVFJBSUxJTkdfV09SRCkgJChFTkFC
TEVfVVNFUlNFTEVDVF9BTEwpICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSURFT19UUkFDSykg
JChFTkFCTEVfREFUQUNVRV9WQUxVRSkgJChFTkFCTEVfVklFV19NT0RFX0NTU19NRURJQSkgJChF
TkFCTEVfV0VCQVNTRU1CTFkpICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJHTDIpICQoRU5B
QkxFX1dFQl9BTklNQVRJT05TKSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9SRVBM
QVkpICQoRU5BQkxFX1dFQl9TT0NLRVRTKSAkKEVOQUJMRV9XRUJfVElNSU5HKSAkKEVOQUJMRV9Y
U0xUKSAkKEVOQUJMRV9GVExfSklUKSAkKEVOQUJMRV9KSVQpICQoRU5BQkxFX1NIQURPV19ET00p
ICQoRU5BQkxFX0NVU1RPTV9FTEVNRU5UUykgJChFTkFCTEVfVklERU9fUFJFU0VOVEFUSU9OX01P
REUpICQoRU5BQkxFX1NFUEFSQVRFRF9XWF9IRUFQKTsKK0ZFQVRVUkVfREVGSU5FUyA9ICQoRU5B
QkxFXzNEX1RSQU5TRk9STVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFC
TEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HKSAkKEVOQUJMRV9BVkZfQ0FQVElPTlMp
ICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVOVCkgJChFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5H
KSAkKEVOQUJMRV9DQU5WQVNfUEFUSCkgJChFTkFCTEVfQ0FOVkFTX1BST1hZKSAkKEVOQUJMRV9D
SEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKSAkKEVO
QUJMRV9FUzZfQ0xBU1NfU1lOVEFYKSAkKEVOQUJMRV9FUzZfR0VORVJBVE9SUykgJChFTkFCTEVf
RVM2X01PRFVMRVMpICQoRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HKSAkKEVOQUJMRV9DU1BfTkVY
VCkgJChFTkFCTEVfQ1NTX0FOSU1BVElPTlNfTEVWRUxfMikgJChFTkFCTEVfQ1NTX0JPWF9ERUNP
UkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19ERVZJ
Q0VfQURBUFRBVElPTikgJChFTkFCTEVfQ1NTX0dSSURfTEFZT1VUKSAkKEVOQUJMRV9DU1NfSU1B
R0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9D
U1NfUkVHSU9OUykgJChFTkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQpICQoRU5BQkxFX0NTU19T
SEFQRVMpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NTM19URVhUX0xJTkVfQlJFQUsp
ICQoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVOQUJMRV9DVVNUT01fU0NIRU1FX0hBTkRM
RVIpICQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUKSAkKEVOQUJMRV9EQVRBTElTVF9FTEVNRU5U
KSAkKEVOQUJMRV9EQVRBX1RSQU5TRkVSX0lURU1TKSAkKEVOQUJMRV9ERVRBSUxTX0VMRU1FTlQp
ICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVfRE9NNF9FVkVOVFNfQ09OU1RS
VUNUT1IpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfRU5DUllQVEVEX01FRElB
X1YyKSAkKEVOQUJMRV9GRVRDSF9BUEkpICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikgJChFTkFC
TEVfRk9OVF9MT0FEX0VWRU5UUykgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX0dB
TUVQQUQpICQoRU5BQkxFX0dBTUVQQURfREVQUkVDQVRFRCkgJChFTkFCTEVfR0VPTE9DQVRJT04p
ICQoRU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVfU0VSVklDRV9DT05UUk9MUykgJChFTkFC
TEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJT
KSAkKEVOQUJMRV9JTkRJRV9VSSkgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFCTEVf
SU5QVVRfVFlQRV9DT0xPUl9QT1BPVkVSKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5B
QkxFX0lOUFVUX1RZUEVfREFURVRJTUVfSU5DT01QTEVURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9E
QVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9U
WVBFX1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVfV0lSRUxFU1NfUExB
WUJBQ0tfVEFSR0VUKSAkKEVOQUJMRV9JTlRMKSAkKEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMp
ICQoRU5BQkxFX0lPU19URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMp
ICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfTk9U
SUZJQ0FUSU9OUykgJChFTkFCTEVfTEVHQUNZX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVH
QUNZX1dFQl9BVURJTykgJChFTkFCTEVfTEVUVEVSUFJFU1MpICQoRU5BQkxFX0xJTktfUFJFRkVU
Q0gpICQoRU5BQkxFX01BQ19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJM
RV9NRURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxFX01FRElBX1NFU1NJT04pICQoRU5BQkxF
X01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVESUFf
U1RSRUFNKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkgJChFTkFCTEVf
TU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9VVElMUykgJChF
TkFCTEVfTkFWSUdBVE9SX0hXQ09OQ1VSUkVOQ1kpICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQo
RU5BQkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJfTE9DSykgJChFTkFCTEVfUFJP
WElNSVRZX0VWRU5UUykgJChFTkFCTEVfUFVCTElDX1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9U
QSkgJChFTkFCTEVfUkVRVUVTVF9BTklNQVRJT05fRlJBTUUpICQoRU5BQkxFX1JFUVVFU1RfQVVU
T0NPTVBMRVRFKSAkKEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9SKSAkKEVOQUJMRV9SRVNPTFVUSU9O
X01FRElBX1FVRVJZKSAkKEVOQUJMRV9SRVNPVVJDRV9VU0FHRSkgJChFTkFCTEVfUlVCQkVSX0JB
TkRJTkcpICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkgJChFTkFCTEVfU1BFRUNIX1NZTlRIRVNJ
UykgJChFTkFCTEVfU1RSRUFNU19BUEkpICQoRU5BQkxFX1NVQlRMRV9DUllQVE8pICQoRU5BQkxF
X1NWR19GT05UUykgJChFTkFCTEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04pICQoRU5BQkxF
X1RFTVBMQVRFX0VMRU1FTlQpICQoRU5BQkxFX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfVE9V
Q0hfRVZFTlRTKSAkKEVOQUJMRV9UT1VDSF9JQ09OX0xPQURJTkcpICQoRU5BQkxFX0NTU19UUkFJ
TElOR19XT1JEKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVklERU8pICQoRU5B
QkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9WSUVXX01P
REVfQ1NTX01FRElBKSAkKEVOQUJMRV9XRUJBU1NFTUJMWSkgJChFTkFCTEVfV0VCR0wpICQoRU5B
QkxFX1dFQkdMMikgJChFTkFCTEVfV0VCX0FOSU1BVElPTlMpICQoRU5BQkxFX1dFQl9BVURJTykg
JChFTkFCTEVfV0VCX1JFUExBWSkgJChFTkFCTEVfV0VCX1NPQ0tFVFMpICQoRU5BQkxFX1dFQl9U
SU1JTkcpICQoRU5BQkxFX1hTTFQpICQoRU5BQkxFX0ZUTF9KSVQpICQoRU5BQkxFX0pJVCkgJChF
TkFCTEVfU0hBRE9XX0RPTSkgJChFTkFCTEVfQ1VTVE9NX0VMRU1FTlRTKSAkKEVOQUJMRV9WSURF
T19QUkVTRU5UQVRJT05fTU9ERSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9Db25m
aWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZyBiL1NvdXJjZS9XZWJLaXQvbWFjL0Nv
bmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCmluZGV4IDIwYzlmOTg4YWVjNjkz
Mjc2YzFlYmRlZWUyYjYzOTMyNjlkODFhNjUuLjVjMzkzNTE3NTE3Yjc5OTMxNzRjNDQ4YjBmZGVi
YjE5ZWE4Yzc1MjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL0NvbmZpZ3VyYXRpb25z
L0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL0NvbmZpZ3Vy
YXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCkBAIC0xOTQsNyArMTk0LDQgQEAgRU5BQkxF
X0ZUTF9KSVRbc2RrPWlwaG9uZW9zKl0gPSBFTkFCTEVfRlRMX0pJVDsKIEVOQUJMRV9TSEFET1df
RE9NID0gRU5BQkxFX1NIQURPV19ET007CiBFTkFCTEVfQ1VTVE9NX0VMRU1FTlRTID0gRU5BQkxF
X0NVU1RPTV9FTEVNRU5UUzsKIAotRU5BQkxFX1NFUEFSQVRFRF9XWF9IRUFQW3Nkaz1pcGhvbmUq
XSA9IDsKLUVOQUJMRV9TRVBBUkFURURfV1hfSEVBUFtzZGs9bWFjb3N4Kl0gPSA7Ci0KLUZFQVRV
UkVfREVGSU5FUyA9ICQoRU5BQkxFXzNEX1RSQU5TRk9STVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVE
XzJEX0NBTlZBUykgJChFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HKSAkKEVO
QUJMRV9BVkZfQ0FQVElPTlMpICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVOVCkgJChFTkFCTEVf
Q0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DQU5WQVNfUEFUSCkgJChFTkFCTEVfQ0FOVkFT
X1BST1hZKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfRVM2X0FSUk9XRlVO
Q1RJT05fU1lOVEFYKSAkKEVOQUJMRV9FUzZfQ0xBU1NfU1lOVEFYKSAkKEVOQUJMRV9FUzZfR0VO
RVJBVE9SUykgJChFTkFCTEVfRVM2X01PRFVMRVMpICQoRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5H
KSAkKEVOQUJMRV9DU1BfTkVYVCkgJChFTkFCTEVfQ1NTX0FOSU1BVElPTlNfTEVWRUxfMikgJChF
TkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcp
ICQoRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTikgJChFTkFCTEVfQ1NTX0dSSURfTEFZT1VU
KSAkKEVOQUJMRV9DU1NfSU1BR0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9SRVNP
TFVUSU9OKSAkKEVOQUJMRV9DU1NfUkVHSU9OUykgJChFTkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZF
TDQpICQoRU5BQkxFX0NTU19TSEFQRVMpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NT
M19URVhUX0xJTkVfQlJFQUspICQoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVOQUJMRV9D
VVNUT01fU0NIRU1FX0hBTkRMRVIpICQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUKSAkKEVOQUJM
RV9EQVRBTElTVF9FTEVNRU5UKSAkKEVOQUJMRV9EQVRBX1RSQU5TRkVSX0lURU1TKSAkKEVOQUJM
RV9ERVRBSUxTX0VMRU1FTlQpICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVf
RE9NNF9FVkVOVFNfQ09OU1RSVUNUT1IpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFC
TEVfRU5DUllQVEVEX01FRElBX1YyKSAkKEVOQUJMRV9GRVRDSF9BUEkpICQoRU5BQkxFX0ZJTFRF
UlNfTEVWRUxfMikgJChFTkFCTEVfRk9OVF9MT0FEX0VWRU5UUykgJChFTkFCTEVfRlVMTFNDUkVF
Tl9BUEkpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dBTUVQQURfREVQUkVDQVRFRCkgJChF
TkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVfU0VSVklD
RV9DT05UUk9MUykgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9E
QVRBQkFTRV9JTl9XT1JLRVJTKSAkKEVOQUJMRV9JTkRJRV9VSSkgJChFTkFCTEVfSU5QVVRfVFlQ
RV9DT0xPUikgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUl9QT1BPVkVSKSAkKEVOQUJMRV9JTlBV
VF9UWVBFX0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVfSU5DT01QTEVURSkgJChF
TkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBFX01PTlRI
KSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VFSykgJChF
TkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKSAkKEVOQUJMRV9JTlRMKSAkKEVOQUJMRV9J
T1NfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX0lPU19URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxF
X0lPU19UT1VDSF9FVkVOVFMpICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAk
KEVOQUJMRV9MRUdBQ1lfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfTEVHQUNZX1ZFTkRPUl9QUkVG
SVhFUykgJChFTkFCTEVfTEVHQUNZX1dFQl9BVURJTykgJChFTkFCTEVfTEVUVEVSUFJFU1MpICQo
RU5BQkxFX0xJTktfUFJFRkVUQ0gpICQoRU5BQkxFX01BQ19HRVNUVVJFX0VWRU5UUykgJChFTkFC
TEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxFX01FRElB
X1NFU1NJT04pICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElD
UykgJChFTkFCTEVfTUVESUFfU1RSRUFNKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJM
RV9NSFRNTCkgJChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1Jf
Q09OVEVOVF9VVElMUykgJChFTkFCTEVfTkFWSUdBVE9SX0hXQ09OQ1VSUkVOQ1kpICQoRU5BQkxF
X05PVElGSUNBVElPTlMpICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJf
TE9DSykgJChFTkFCTEVfUFJPWElNSVRZX0VWRU5UUykgJChFTkFCTEVfUFVCTElDX1NVRkZJWF9M
SVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVRVUVTVF9BTklNQVRJT05fRlJBTUUpICQo
RU5BQkxFX1JFUVVFU1RfQVVUT0NPTVBMRVRFKSAkKEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9SKSAk
KEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVOQUJMRV9SRVNPVVJDRV9VU0FHRSkg
JChFTkFCTEVfUlVCQkVSX0JBTkRJTkcpICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkgJChFTkFC
TEVfU1BFRUNIX1NZTlRIRVNJUykgJChFTkFCTEVfU1RSRUFNU19BUEkpICQoRU5BQkxFX1NVQlRM
RV9DUllQVE8pICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVfVEVMRVBIT05FX05VTUJFUl9E
RVRFQ1RJT04pICQoRU5BQkxFX1RFTVBMQVRFX0VMRU1FTlQpICQoRU5BQkxFX1RFWFRfQVVUT1NJ
WklORykgJChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9UT1VDSF9JQ09OX0xPQURJTkcp
ICQoRU5BQkxFX0NTU19UUkFJTElOR19XT1JEKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkgJChF
TkFCTEVfVklERU8pICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9EQVRBQ1VFX1ZBTFVF
KSAkKEVOQUJMRV9WSUVXX01PREVfQ1NTX01FRElBKSAkKEVOQUJMRV9XRUJBU1NFTUJMWSkgJChF
TkFCTEVfV0VCR0wpICQoRU5BQkxFX1dFQkdMMikgJChFTkFCTEVfV0VCX0FOSU1BVElPTlMpICQo
RU5BQkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VCX1JFUExBWSkgJChFTkFCTEVfV0VCX1NPQ0tF
VFMpICQoRU5BQkxFX1dFQl9USU1JTkcpICQoRU5BQkxFX1hTTFQpICQoRU5BQkxFX0ZUTF9KSVQp
ICQoRU5BQkxFX0pJVCkgJChFTkFCTEVfU0hBRE9XX0RPTSkgJChFTkFCTEVfQ1VTVE9NX0VMRU1F
TlRTKSAkKEVOQUJMRV9WSURFT19QUkVTRU5UQVRJT05fTU9ERSkgJChFTkFCTEVfU0VQQVJBVEVE
X1dYX0hFQVApOworRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfVFJBTlNGT1JNUykgJChF
TkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxP
V19TQ1JPTExJTkcpICQoRU5BQkxFX0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQVRUQUNITUVOVF9F
TEVNRU5UKSAkKEVOQUJMRV9DQUNIRV9QQVJUSVRJT05JTkcpICQoRU5BQkxFX0NBTlZBU19QQVRI
KSAkKEVOQUJMRV9DQU5WQVNfUFJPWFkpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVO
QUJMRV9FUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpICQoRU5BQkxFX0VTNl9DTEFTU19TWU5UQVgp
ICQoRU5BQkxFX0VTNl9HRU5FUkFUT1JTKSAkKEVOQUJMRV9FUzZfTU9EVUxFUykgJChFTkFCTEVf
Q09OVEVOVF9GSUxURVJJTkcpICQoRU5BQkxFX0NTUF9ORVhUKSAkKEVOQUJMRV9DU1NfQU5JTUFU
SU9OU19MRVZFTF8yKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUspICQoRU5BQkxF
X0NTU19DT01QT1NJVElORykgJChFTkFCTEVfQ1NTX0RFVklDRV9BREFQVEFUSU9OKSAkKEVOQUJM
RV9DU1NfR1JJRF9MQVlPVVQpICQoRU5BQkxFX0NTU19JTUFHRV9PUklFTlRBVElPTikgJChFTkFC
TEVfQ1NTX0lNQUdFX1JFU09MVVRJT04pICQoRU5BQkxFX0NTU19SRUdJT05TKSAkKEVOQUJMRV9D
U1NfU0VMRUNUT1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NTX1NIQVBFUykgJChFTkFCTEVfQ1NTM19U
RVhUKSAkKEVOQUJMRV9DU1MzX1RFWFRfTElORV9CUkVBSykgJChFTkFCTEVfQ1VSU09SX1ZJU0lC
SUxJVFkpICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVfREFTSEJPQVJE
X1NVUFBPUlQpICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RBVEFfVFJBTlNG
RVJfSVRFTVMpICQoRU5BQkxFX0RFVEFJTFNfRUxFTUVOVCkgJChFTkFCTEVfREVWSUNFX09SSUVO
VEFUSU9OKSAkKEVOQUJMRV9ET000X0VWRU5UU19DT05TVFJVQ1RPUikgJChFTkFCTEVfRU5DUllQ
VEVEX01FRElBKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUFfVjIpICQoRU5BQkxFX0ZFVENIX0FQ
SSkgJChFTkFCTEVfRklMVEVSU19MRVZFTF8yKSAkKEVOQUJMRV9GT05UX0xPQURfRVZFTlRTKSAk
KEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0FNRVBB
RF9ERVBSRUNBVEVEKSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVfSUNPTkRBVEFCQVNF
KSAkKEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAk
KEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMpICQoRU5BQkxFX0lORElFX1VJKSAk
KEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SX1BPUE9W
RVIpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElN
RV9JTkNPTVBMRVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxF
X0lOUFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5Q
VVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICQoRU5BQkxF
X0lOVEwpICQoRU5BQkxFX0lPU19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfSU9TX1RFWFRfQVVU
T1NJWklORykgJChFTkFCTEVfSU9TX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfTEVHQUNZX0NTU19W
RU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9M
RUdBQ1lfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfV0VCX0FVRElPKSAkKEVOQUJM
RV9MRVRURVJQUkVTUykgJChFTkFCTEVfTElOS19QUkVGRVRDSCkgJChFTkFCTEVfTUFDX0dFU1RV
UkVfRVZFTlRTKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElBX0NPTlRST0xTX1NDUklQ
VCkgJChFTkFCTEVfTUVESUFfU0VTU0lPTikgJChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVOQUJM
RV9NRURJQV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9NRURJQV9TVFJFQU0pICQoRU5BQkxFX01FVEVS
X0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUpICQo
RU5BQkxFX05BVklHQVRPUl9DT05URU5UX1VUSUxTKSAkKEVOQUJMRV9OQVZJR0FUT1JfSFdDT05D
VVJSRU5DWSkgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfUERGS0lUX1BMVUdJTikg
JChFTkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVOQUJMRV9QUk9YSU1JVFlfRVZFTlRTKSAkKEVOQUJM
RV9QVUJMSUNfU1VGRklYX0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRVFVRVNUX0FO
SU1BVElPTl9GUkFNRSkgJChFTkFCTEVfUkVRVUVTVF9BVVRPQ09NUExFVEUpICQoRU5BQkxFX1JF
TU9URV9JTlNQRUNUT1IpICQoRU5BQkxFX1JFU09MVVRJT05fTUVESUFfUVVFUlkpICQoRU5BQkxF
X1JFU09VUkNFX1VTQUdFKSAkKEVOQUJMRV9SVUJCRVJfQkFORElORykgJChFTkFCTEVfQ1NTX1ND
Uk9MTF9TTkFQKSAkKEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TVFJFQU1TX0FQ
SSkgJChFTkFCTEVfU1VCVExFX0NSWVBUTykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9U
RUxFUEhPTkVfTlVNQkVSX0RFVEVDVElPTikgJChFTkFCTEVfVEVNUExBVEVfRUxFTUVOVCkgJChF
TkFCTEVfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9UT1VDSF9FVkVOVFMpICQoRU5BQkxFX1RP
VUNIX0lDT05fTE9BRElORykgJChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQoRU5BQkxFX1VT
RVJTRUxFQ1RfQUxMKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5B
QkxFX0RBVEFDVUVfVkFMVUUpICQoRU5BQkxFX1ZJRVdfTU9ERV9DU1NfTUVESUEpICQoRU5BQkxF
X1dFQkFTU0VNQkxZKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCR0wyKSAkKEVOQUJMRV9X
RUJfQU5JTUFUSU9OUykgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfUkVQTEFZKSAk
KEVOQUJMRV9XRUJfU09DS0VUUykgJChFTkFCTEVfV0VCX1RJTUlORykgJChFTkFCTEVfWFNMVCkg
JChFTkFCTEVfRlRMX0pJVCkgJChFTkFCTEVfSklUKSAkKEVOQUJMRV9TSEFET1dfRE9NKSAkKEVO
QUJMRV9DVVNUT01fRUxFTUVOVFMpICQoRU5BQkxFX1ZJREVPX1BSRVNFTlRBVElPTl9NT0RFKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVz
LnhjY29uZmlnIGIvU291cmNlL1dlYktpdDIvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMu
eGNjb25maWcKaW5kZXggMjBjOWY5ODhhZWM2OTMyNzZjMWViZGVlZTJiNjM5MzI2OWQ4MWE2NS4u
NWMzOTM1MTc1MTdiNzk5MzE3NGM0NDhiMGZkZWJiMTllYThjNzUyMCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdDIvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKKysrIGIv
U291cmNlL1dlYktpdDIvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKQEAg
LTE5NCw3ICsxOTQsNCBAQCBFTkFCTEVfRlRMX0pJVFtzZGs9aXBob25lb3MqXSA9IEVOQUJMRV9G
VExfSklUOwogRU5BQkxFX1NIQURPV19ET00gPSBFTkFCTEVfU0hBRE9XX0RPTTsKIEVOQUJMRV9D
VVNUT01fRUxFTUVOVFMgPSBFTkFCTEVfQ1VTVE9NX0VMRU1FTlRTOwogCi1FTkFCTEVfU0VQQVJB
VEVEX1dYX0hFQVBbc2RrPWlwaG9uZSpdID0gOwotRU5BQkxFX1NFUEFSQVRFRF9XWF9IRUFQW3Nk
az1tYWNvc3gqXSA9IDsKLQotRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfVFJBTlNGT1JN
UykgJChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF9P
VkVSRkxPV19TQ1JPTExJTkcpICQoRU5BQkxFX0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQVRUQUNI
TUVOVF9FTEVNRU5UKSAkKEVOQUJMRV9DQUNIRV9QQVJUSVRJT05JTkcpICQoRU5BQkxFX0NBTlZB
U19QQVRIKSAkKEVOQUJMRV9DQU5WQVNfUFJPWFkpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5H
KSAkKEVOQUJMRV9FUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpICQoRU5BQkxFX0VTNl9DTEFTU19T
WU5UQVgpICQoRU5BQkxFX0VTNl9HRU5FUkFUT1JTKSAkKEVOQUJMRV9FUzZfTU9EVUxFUykgJChF
TkFCTEVfQ09OVEVOVF9GSUxURVJJTkcpICQoRU5BQkxFX0NTUF9ORVhUKSAkKEVOQUJMRV9DU1Nf
QU5JTUFUSU9OU19MRVZFTF8yKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUspICQo
RU5BQkxFX0NTU19DT01QT1NJVElORykgJChFTkFCTEVfQ1NTX0RFVklDRV9BREFQVEFUSU9OKSAk
KEVOQUJMRV9DU1NfR1JJRF9MQVlPVVQpICQoRU5BQkxFX0NTU19JTUFHRV9PUklFTlRBVElPTikg
JChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJT04pICQoRU5BQkxFX0NTU19SRUdJT05TKSAkKEVO
QUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NTX1NIQVBFUykgJChFTkFCTEVf
Q1NTM19URVhUKSAkKEVOQUJMRV9DU1MzX1RFWFRfTElORV9CUkVBSykgJChFTkFCTEVfQ1VSU09S
X1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVfREFT
SEJPQVJEX1NVUFBPUlQpICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RBVEFf
VFJBTlNGRVJfSVRFTVMpICQoRU5BQkxFX0RFVEFJTFNfRUxFTUVOVCkgJChFTkFCTEVfREVWSUNF
X09SSUVOVEFUSU9OKSAkKEVOQUJMRV9ET000X0VWRU5UU19DT05TVFJVQ1RPUikgJChFTkFCTEVf
RU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUFfVjIpICQoRU5BQkxFX0ZF
VENIX0FQSSkgJChFTkFCTEVfRklMVEVSU19MRVZFTF8yKSAkKEVOQUJMRV9GT05UX0xPQURfRVZF
TlRTKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVf
R0FNRVBBRF9ERVBSRUNBVEVEKSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVfSUNPTkRB
VEFCQVNFKSAkKEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFC
QVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMpICQoRU5BQkxFX0lORElF
X1VJKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9S
X1BPUE9WRVIpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9E
QVRFVElNRV9JTkNPTVBMRVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQo
RU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFC
TEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICQo
RU5BQkxFX0lOVEwpICQoRU5BQkxFX0lPU19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfSU9TX1RF
WFRfQVVUT1NJWklORykgJChFTkFCTEVfSU9TX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfTEVHQUNZ
X0NTU19WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9OT1RJRklDQVRJT05TKSAkKEVO
QUJMRV9MRUdBQ1lfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfV0VCX0FVRElPKSAk
KEVOQUJMRV9MRVRURVJQUkVTUykgJChFTkFCTEVfTElOS19QUkVGRVRDSCkgJChFTkFCTEVfTUFD
X0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElBX0NPTlRST0xT
X1NDUklQVCkgJChFTkFCTEVfTUVESUFfU0VTU0lPTikgJChFTkFCTEVfTUVESUFfU09VUkNFKSAk
KEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9NRURJQV9TVFJFQU0pICQoRU5BQkxF
X01FVEVSX0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NB
TEUpICQoRU5BQkxFX05BVklHQVRPUl9DT05URU5UX1VUSUxTKSAkKEVOQUJMRV9OQVZJR0FUT1Jf
SFdDT05DVVJSRU5DWSkgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfUERGS0lUX1BM
VUdJTikgJChFTkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVOQUJMRV9QUk9YSU1JVFlfRVZFTlRTKSAk
KEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRVFV
RVNUX0FOSU1BVElPTl9GUkFNRSkgJChFTkFCTEVfUkVRVUVTVF9BVVRPQ09NUExFVEUpICQoRU5B
QkxFX1JFTU9URV9JTlNQRUNUT1IpICQoRU5BQkxFX1JFU09MVVRJT05fTUVESUFfUVVFUlkpICQo
RU5BQkxFX1JFU09VUkNFX1VTQUdFKSAkKEVOQUJMRV9SVUJCRVJfQkFORElORykgJChFTkFCTEVf
Q1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TVFJF
QU1TX0FQSSkgJChFTkFCTEVfU1VCVExFX0NSWVBUTykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVO
QUJMRV9URUxFUEhPTkVfTlVNQkVSX0RFVEVDVElPTikgJChFTkFCTEVfVEVNUExBVEVfRUxFTUVO
VCkgJChFTkFCTEVfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9UT1VDSF9FVkVOVFMpICQoRU5B
QkxFX1RPVUNIX0lDT05fTE9BRElORykgJChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQoRU5B
QkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklERU9fVFJBQ0sp
ICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUpICQoRU5BQkxFX1ZJRVdfTU9ERV9DU1NfTUVESUEpICQo
RU5BQkxFX1dFQkFTU0VNQkxZKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCR0wyKSAkKEVO
QUJMRV9XRUJfQU5JTUFUSU9OUykgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfUkVQ
TEFZKSAkKEVOQUJMRV9XRUJfU09DS0VUUykgJChFTkFCTEVfV0VCX1RJTUlORykgJChFTkFCTEVf
WFNMVCkgJChFTkFCTEVfRlRMX0pJVCkgJChFTkFCTEVfSklUKSAkKEVOQUJMRV9TSEFET1dfRE9N
KSAkKEVOQUJMRV9DVVNUT01fRUxFTUVOVFMpICQoRU5BQkxFX1ZJREVPX1BSRVNFTlRBVElPTl9N
T0RFKSAkKEVOQUJMRV9TRVBBUkFURURfV1hfSEVBUCk7CitGRUFUVVJFX0RFRklORVMgPSAkKEVO
QUJMRV8zRF9UUkFOU0ZPUk1TKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5B
QkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElORykgJChFTkFCTEVfQVZGX0NBUFRJT05T
KSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQpICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklO
RykgJChFTkFCTEVfQ0FOVkFTX1BBVEgpICQoRU5BQkxFX0NBTlZBU19QUk9YWSkgJChFTkFCTEVf
Q0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0VTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkgJChF
TkFCTEVfRVM2X0NMQVNTX1NZTlRBWCkgJChFTkFCTEVfRVM2X0dFTkVSQVRPUlMpICQoRU5BQkxF
X0VTNl9NT0RVTEVTKSAkKEVOQUJMRV9DT05URU5UX0ZJTFRFUklORykgJChFTkFCTEVfQ1NQX05F
WFQpICQoRU5BQkxFX0NTU19BTklNQVRJT05TX0xFVkVMXzIpICQoRU5BQkxFX0NTU19CT1hfREVD
T1JBVElPTl9CUkVBSykgJChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9DU1NfREVW
SUNFX0FEQVBUQVRJT04pICQoRU5BQkxFX0NTU19HUklEX0xBWU9VVCkgJChFTkFCTEVfQ1NTX0lN
QUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVf
Q1NTX1JFR0lPTlMpICQoRU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9DU1Nf
U0hBUEVTKSAkKEVOQUJMRV9DU1MzX1RFWFQpICQoRU5BQkxFX0NTUzNfVEVYVF9MSU5FX0JSRUFL
KSAkKEVOQUJMRV9DVVJTT1JfVklTSUJJTElUWSkgJChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5E
TEVSKSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVCkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVO
VCkgJChFTkFCTEVfREFUQV9UUkFOU0ZFUl9JVEVNUykgJChFTkFCTEVfREVUQUlMU19FTEVNRU5U
KSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RPTTRfRVZFTlRTX0NPTlNU
UlVDVE9SKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJ
QV9WMikgJChFTkFCTEVfRkVUQ0hfQVBJKSAkKEVOQUJMRV9GSUxURVJTX0xFVkVMXzIpICQoRU5B
QkxFX0ZPTlRfTE9BRF9FVkVOVFMpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9H
QU1FUEFEKSAkKEVOQUJMRV9HQU1FUEFEX0RFUFJFQ0FURUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9O
KSAkKEVOQUJMRV9JQ09OREFUQUJBU0UpICQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5B
QkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VS
UykgJChFTkFCTEVfSU5ESUVfVUkpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxF
X0lOUFVUX1RZUEVfQ09MT1JfUE9QT1ZFUikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVO
QUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVf
REFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRf
VFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX1dJUkVMRVNTX1BM
QVlCQUNLX1RBUkdFVCkgJChFTkFCTEVfSU5UTCkgJChFTkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRT
KSAkKEVOQUJMRV9JT1NfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRT
KSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX05P
VElGSUNBVElPTlMpICQoRU5BQkxFX0xFR0FDWV9WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xF
R0FDWV9XRUJfQVVESU8pICQoRU5BQkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9MSU5LX1BSRUZF
VENIKSAkKEVOQUJMRV9NQUNfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX01BVEhNTCkgJChFTkFC
TEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJQV9TRVNTSU9OKSAkKEVOQUJM
RV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FRElB
X1NUUkVBTSkgJChFTkFCTEVfTUVURVJfRUxFTUVOVCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxF
X01PVVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVfTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpICQo
RU5BQkxFX05BVklHQVRPUl9IV0NPTkNVUlJFTkNZKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAk
KEVOQUJMRV9QREZLSVRfUExVR0lOKSAkKEVOQUJMRV9QT0lOVEVSX0xPQ0spICQoRU5BQkxFX1BS
T1hJTUlUWV9FVkVOVFMpICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElTVCkgJChFTkFCTEVfUVVP
VEEpICQoRU5BQkxFX1JFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FKSAkKEVOQUJMRV9SRVFVRVNUX0FV
VE9DT01QTEVURSkgJChFTkFCTEVfUkVNT1RFX0lOU1BFQ1RPUikgJChFTkFCTEVfUkVTT0xVVElP
Tl9NRURJQV9RVUVSWSkgJChFTkFCTEVfUkVTT1VSQ0VfVVNBR0UpICQoRU5BQkxFX1JVQkJFUl9C
QU5ESU5HKSAkKEVOQUJMRV9DU1NfU0NST0xMX1NOQVApICQoRU5BQkxFX1NQRUVDSF9TWU5USEVT
SVMpICQoRU5BQkxFX1NUUkVBTVNfQVBJKSAkKEVOQUJMRV9TVUJUTEVfQ1JZUFRPKSAkKEVOQUJM
RV9TVkdfRk9OVFMpICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVOQUJM
RV9URU1QTEFURV9FTEVNRU5UKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RP
VUNIX0VWRU5UUykgJChFTkFCTEVfVE9VQ0hfSUNPTl9MT0FESU5HKSAkKEVOQUJMRV9DU1NfVFJB
SUxJTkdfV09SRCkgJChFTkFCTEVfVVNFUlNFTEVDVF9BTEwpICQoRU5BQkxFX1ZJREVPKSAkKEVO
QUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVfREFUQUNVRV9WQUxVRSkgJChFTkFCTEVfVklFV19N
T0RFX0NTU19NRURJQSkgJChFTkFCTEVfV0VCQVNTRU1CTFkpICQoRU5BQkxFX1dFQkdMKSAkKEVO
QUJMRV9XRUJHTDIpICQoRU5BQkxFX1dFQl9BTklNQVRJT05TKSAkKEVOQUJMRV9XRUJfQVVESU8p
ICQoRU5BQkxFX1dFQl9SRVBMQVkpICQoRU5BQkxFX1dFQl9TT0NLRVRTKSAkKEVOQUJMRV9XRUJf
VElNSU5HKSAkKEVOQUJMRV9YU0xUKSAkKEVOQUJMRV9GVExfSklUKSAkKEVOQUJMRV9KSVQpICQo
RU5BQkxFX1NIQURPV19ET00pICQoRU5BQkxFX0NVU1RPTV9FTEVNRU5UUykgJChFTkFCTEVfVklE
RU9fUFJFU0VOVEFUSU9OX01PREUpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>276032</attachid>
            <date>2016-04-08 13:08:40 -0700</date>
            <delta_ts>2016-04-10 13:38:01 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-155508-20160408130844.patch</filename>
            <type>text/plain</type>
            <size>89729</size>
            <attacher name="Oliver Hunt">oliver</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTk5MjM4CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA4
NGE1MjY1ZTMxZDA2MTc3YTkyODcxMGNlZmU5NDJiYmI1NTRmNWRhLi4wZDVlMmZmZGY4Nzk4MmY0
MzRiMzA4M2Y0NTg3NzExZDFiYzI0YTBiIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw3MyBAQAorMjAxNi0wNC0wNSAgT2xpdmVyIEh1bnQgIDxvbGl2ZXJAYXBwbGUuY29tPgor
CisgICAgICAgIFJlbW92ZSBjb21waWxlIHRpbWUgZGVmaW5lIGZvciBTRVBBUkFURURfSEVBUAor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTU1NTA4CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUmVtb3ZlIHRo
ZSBTRVBBUkFURURfSEVBUCBjb21waWxlIHRpbWUgZmxhZy4gVGhlIHNlcGFyYXRlZAorICAgICAg
ICBoZWFwIGlzIGF2YWlsYWJsZSwgYnV0IG9mZiBieSBkZWZhdWx0LCBvbiB4ODZfNjQsIEFSTXY3
LCBhbmQKKyAgICAgICAgQVJNNjQuCisKKyAgICAgICAgV29ya2luZyB0aHJvdWdoIHRoZSBpc3N1
ZXMgdGhhdCBoYXBwZW5lZCBsYXN0IHRpbWUgZXNzZW50aWFsbHkKKyAgICAgICAgcmVxdWlyZWQg
aW1wbGVtZW50aW5nIHRoZSBBUk12NyBwYXRoIGZvciB0aGUgc2VwYXJhdGVkIGhlYXAKKyAgICAg
ICAganVzdCBzbyBJIGNvdWxkIGZpbmQgYWxsIHRoZSB3YXlzIGl0IHdhcyBnb2luZyB3cm9uZy4K
KworICAgICAgICAqIENvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnOgorICAg
ICAgICAqIGFzc2VtYmxlci9BUk02NEFzc2VtYmxlci5oOgorICAgICAgICAoSlNDOjpBUk02NEFz
c2VtYmxlcjo6bGlua0p1bXApOgorICAgICAgICAoSlNDOjpBUk02NEFzc2VtYmxlcjo6bGlua0Nh
bGwpOgorICAgICAgICAoSlNDOjpBUk02NEFzc2VtYmxlcjo6cmVsaW5rSnVtcCk6CisgICAgICAg
IChKU0M6OkFSTTY0QXNzZW1ibGVyOjpyZWxpbmtDYWxsKToKKyAgICAgICAgKEpTQzo6QVJNNjRB
c3NlbWJsZXI6OmxpbmspOgorICAgICAgICAoSlNDOjpBUk02NEFzc2VtYmxlcjo6bGlua0p1bXBP
ckNhbGwpOgorICAgICAgICAoSlNDOjpBUk02NEFzc2VtYmxlcjo6bGlua0NvbXBhcmVBbmRCcmFu
Y2gpOgorICAgICAgICAoSlNDOjpBUk02NEFzc2VtYmxlcjo6bGlua0NvbmRpdGlvbmFsQnJhbmNo
KToKKyAgICAgICAgKEpTQzo6QVJNNjRBc3NlbWJsZXI6OmxpbmtUZXN0QW5kQnJhbmNoKToKKyAg
ICAgICAgKEpTQzo6QVJNNjRBc3NlbWJsZXI6OnJlbGlua0p1bXBPckNhbGwpOgorICAgICAgICAq
IGFzc2VtYmxlci9BUk12N0Fzc2VtYmxlci5oOgorICAgICAgICAoSlNDOjpBUk12N0Fzc2VtYmxl
cjo6cmV2ZXJ0SnVtcFRvX21vdlQzbW92dGNtcFQyKToKKyAgICAgICAgKEpTQzo6QVJNdjdBc3Nl
bWJsZXI6OnJldmVydEp1bXBUb19tb3ZUMyk6CisgICAgICAgIChKU0M6OkFSTXY3QXNzZW1ibGVy
OjpsaW5rKToKKyAgICAgICAgKEpTQzo6QVJNdjdBc3NlbWJsZXI6OmxpbmtKdW1wKToKKyAgICAg
ICAgKEpTQzo6QVJNdjdBc3NlbWJsZXI6OnJlbGlua0p1bXApOgorICAgICAgICAoSlNDOjpBUk12
N0Fzc2VtYmxlcjo6cmVwYXRjaENvbXBhY3QpOgorICAgICAgICAoSlNDOjpBUk12N0Fzc2VtYmxl
cjo6cmVwbGFjZVdpdGhKdW1wKToKKyAgICAgICAgKEpTQzo6QVJNdjdBc3NlbWJsZXI6OnJlcGxh
Y2VXaXRoTG9hZCk6CisgICAgICAgIChKU0M6OkFSTXY3QXNzZW1ibGVyOjpyZXBsYWNlV2l0aEFk
ZHJlc3NDb21wdXRhdGlvbik6CisgICAgICAgIChKU0M6OkFSTXY3QXNzZW1ibGVyOjpzZXRJbnQz
Mik6CisgICAgICAgIChKU0M6OkFSTXY3QXNzZW1ibGVyOjpzZXRVSW50N0ZvckxvYWQpOgorICAg
ICAgICAoSlNDOjpBUk12N0Fzc2VtYmxlcjo6aXNCKToKKyAgICAgICAgKEpTQzo6QVJNdjdBc3Nl
bWJsZXI6OmlzQlgpOgorICAgICAgICAoSlNDOjpBUk12N0Fzc2VtYmxlcjo6aXNNT1ZfaW1tX1Qz
KToKKyAgICAgICAgKEpTQzo6QVJNdjdBc3NlbWJsZXI6OmlzTU9WVCk6CisgICAgICAgIChKU0M6
OkFSTXY3QXNzZW1ibGVyOjppc05PUF9UMSk6CisgICAgICAgIChKU0M6OkFSTXY3QXNzZW1ibGVy
Ojppc05PUF9UMik6CisgICAgICAgIChKU0M6OkFSTXY3QXNzZW1ibGVyOjpsaW5rSnVtcFQxKToK
KyAgICAgICAgKEpTQzo6QVJNdjdBc3NlbWJsZXI6OmxpbmtKdW1wVDIpOgorICAgICAgICAoSlND
OjpBUk12N0Fzc2VtYmxlcjo6bGlua0p1bXBUMyk6CisgICAgICAgIChKU0M6OkFSTXY3QXNzZW1i
bGVyOjpsaW5rSnVtcFQ0KToKKyAgICAgICAgKEpTQzo6QVJNdjdBc3NlbWJsZXI6OmxpbmtDb25k
aXRpb25hbEp1bXBUNCk6CisgICAgICAgIChKU0M6OkFSTXY3QXNzZW1ibGVyOjpsaW5rQlgpOgor
ICAgICAgICAoSlNDOjpBUk12N0Fzc2VtYmxlcjo6bGlua0NvbmRpdGlvbmFsQlgpOgorICAgICAg
ICAoSlNDOjpBUk12N0Fzc2VtYmxlcjo6bGlua0p1bXBBYnNvbHV0ZSk6CisgICAgICAgICogYXNz
ZW1ibGVyL0xpbmtCdWZmZXIuY3BwOgorICAgICAgICAoSlNDOjpMaW5rQnVmZmVyOjpjb3B5Q29t
cGFjdEFuZExpbmtDb2RlKToKKyAgICAgICAgKiBhc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJBUk02
NC5oOgorICAgICAgICAoSlNDOjpNYWNyb0Fzc2VtYmxlckFSTTY0OjpsaW5rKToKKyAgICAgICAg
KiBhc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJBUk12Ny5oOgorICAgICAgICAoSlNDOjpNYWNyb0Fz
c2VtYmxlckFSTXY3OjpsaW5rKToKKyAgICAgICAgKiBqaXQvRXhlY3V0YWJsZUFsbG9jYXRvci5o
OgorICAgICAgICAoSlNDOjpwZXJmb3JtSklUTWVtY3B5KToKKyAgICAgICAgKiBqaXQvRXhlY3V0
YWJsZUFsbG9jYXRvckZpeGVkVk1Qb29sLmNwcDoKKyAgICAgICAgKEpTQzo6Rml4ZWRWTVBvb2xF
eGVjdXRhYmxlQWxsb2NhdG9yOjppbml0aWFsaXplU2VwYXJhdGVkV1hIZWFwcyk6CisgICAgICAg
IChKU0M6OkZpeGVkVk1Qb29sRXhlY3V0YWJsZUFsbG9jYXRvcjo6aml0V3JpdGVUaHVua0dlbmVy
YXRvcik6CisgICAgICAgIChKU0M6OkZpeGVkVk1Qb29sRXhlY3V0YWJsZUFsbG9jYXRvcjo6Z2Vu
ZXJpY1dyaXRlVG9KSVRSZWdpb24pOgorICAgICAgICAoSlNDOjpGaXhlZFZNUG9vbEV4ZWN1dGFi
bGVBbGxvY2F0b3I6OkZpeGVkVk1Qb29sRXhlY3V0YWJsZUFsbG9jYXRvcik6IERlbGV0ZWQuCisg
ICAgICAgICogcnVudGltZS9PcHRpb25zLmNwcDoKKyAgICAgICAgKEpTQzo6cmVjb21wdXRlRGVw
ZW5kZW50T3B0aW9ucyk6CisgICAgICAgICogcnVudGltZS9PcHRpb25zLmg6CisKIDIwMTYtMDQt
MDggIEJlbmphbWluIFBvdWxhaW4gIDxicG91bGFpbkBhcHBsZS5jb20+CiAKICAgICAgICAgVUlu
dDMyVG9OdW1iZXIgc2hvdWxkIGhhdmUgYW4gSW50NTIgcGF0aApkaWZmIC0tZ2l0IGEvU291cmNl
L1dURi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV1RGL0NoYW5nZUxvZwppbmRleCA1MGU2NzRmNzE5ZjFl
NjYzYTFlYjkxM2ZlOTg4M2IxYzMxODQ1Y2RiLi40MGQzNDExZmIyMmI5ZmQ3M2QyOWFlOTZkY2Rm
ZDM1NmQwYmRkZTY4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL0NoYW5nZUxvZworKysgYi9Tb3Vy
Y2UvV1RGL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDE2LTA0LTA1ICBPbGl2ZXIgSHVu
dCAgPG9saXZlckBhcHBsZS5jb20+CisKKyAgICAgICAgUmVtb3ZlIGNvbXBpbGUgdGltZSBkZWZp
bmUgZm9yIFNFUEFSQVRFRF9IRUFQCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xNTU1MDgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICAqIHd0Zi9GZWF0dXJlRGVmaW5lcy5oOgorICAgICAgICAqIHd0Zi9QbGF0
Zm9ybS5oOgorCiAyMDE2LTA0LTA4ICBZdXN1a2UgU3V6dWtpICA8dXRhdGFuZS50ZWFAZ21haWwu
Y29tPgogCiAgICAgICAgIFtKU0NdIEVuYWJsZSBDb25jdXJyZW50IEpJVCBieSBkZWZhdWx0CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFu
Z2VMb2cKaW5kZXggNDI5OWU3MmVjOTQ3YTdiMjVhOGRmYzc2ZWYzYTRlNTk3ZjgxMmQyMy4uOWE4
ZmMyMjY2NjMyMGJhNGJmYzM3YWZiNGM1ZmY0OTFmM2QyNjYzNiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDEyIEBACisyMDE2LTA0LTA1ICBPbGl2ZXIgSHVudCAgPG9saXZlckBhcHBsZS5jb20+CisK
KyAgICAgICAgUmVtb3ZlIGNvbXBpbGUgdGltZSBkZWZpbmUgZm9yIFNFUEFSQVRFRF9IRUFQCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTU1MDgKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIENvbmZpZ3Vy
YXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnOgorCiAyMDE2LTA0LTA4ICBCZXRoIERha2lu
ICA8YmRha2luQGFwcGxlLmNvbT4KIAogICAgICAgICBGaXggbGVha3MgaW4gV2ViQVZNZWRpYVNl
bGVjdGlvbk9wdGlvbk1hYyBhbmQgV2ViUGxheWJhY2tDb250cm9sc01hbmFnZXIKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5n
ZUxvZwppbmRleCA2NjU3Y2I4OTAwMWM3MTJiN2Q2NDc1MzcwNjBkMWIxYTJlOGEyZjM0Li4xMjZj
MDdmMTcwMDE2ZDMzM2RmMGU5ZDM4ZDA5MGMxMGFhNjY3OGM1IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L21hYy9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMTIgQEAKKzIwMTYtMDQtMDUgIE9saXZlciBIdW50ICA8b2xpdmVyQGFwcGxlLmNv
bT4KKworICAgICAgICBSZW1vdmUgY29tcGlsZSB0aW1lIGRlZmluZSBmb3IgU0VQQVJBVEVEX0hF
QVAKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1NTUw
OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogQ29u
ZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWc6CisKIDIwMTYtMDQtMDcgIEpvc2Vw
aCBQZWNvcmFybyAgPHBlY29yYXJvQGFwcGxlLmNvbT4KIAogICAgICAgICBSZW1vdmUgRU5BQkxF
KEVOQUJMRV9FUzZfQ0xBU1NfU1lOVEFYKSBndWFyZHMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRleCAxYzhmNzJlNWI5
ZWVmNzk4MzAxZWI2OWY5OGNhMmViZThlNThkNzlmLi5hY2YwN2YxNTM5NDU4MzNmOTVlMzY5YWM0
NDg2MmIzMmEwNjU4OTUyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKKysr
IGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMTYtMDQtMDUg
IE9saXZlciBIdW50ICA8b2xpdmVyQGFwcGxlLmNvbT4KKworICAgICAgICBSZW1vdmUgY29tcGls
ZSB0aW1lIGRlZmluZSBmb3IgU0VQQVJBVEVEX0hFQVAKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1NTUwOAorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgICogQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMu
eGNjb25maWc6CisKIDIwMTYtMDQtMDcgIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNlckBhcHBs
ZS5jb20+CiAKICAgICAgICAgW2lPUyBXSzJdIFN0b3AgdXNpbmcgZXhwb3NlZENvbnRlbnRSZWN0
IGZvciBoaXN0b3J5IHNjcm9sbCBzdGF0ZSByZXN0b3JhdGlvbgpkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29u
ZmlnCmluZGV4IDczNGI2YWU0N2YzMjQ2ZDg3ZDRkY2Q2OWNjZGNlMmVkNDhiMGNjOGYuLmE1ZWEx
ZjRhNjg5Y2MxYTgwYWFhZWY1ZTE4OTFiZTFmMTE2NzRlYjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZworKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNj
b25maWcKQEAgLTE5Myw3ICsxOTMsNCBAQCBFTkFCTEVfRlRMX0pJVFtzZGs9aXBob25lb3MqXSA9
IEVOQUJMRV9GVExfSklUOwogRU5BQkxFX1NIQURPV19ET00gPSBFTkFCTEVfU0hBRE9XX0RPTTsK
IEVOQUJMRV9DVVNUT01fRUxFTUVOVFMgPSBFTkFCTEVfQ1VTVE9NX0VMRU1FTlRTOwogCi1FTkFC
TEVfU0VQQVJBVEVEX1dYX0hFQVBbc2RrPWlwaG9uZSpdID0gOwotRU5BQkxFX1NFUEFSQVRFRF9X
WF9IRUFQW3Nkaz1tYWNvc3gqXSA9IDsKLQotRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0Rf
VFJBTlNGT1JNUykgJChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9BQ0NF
TEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkcpICQoRU5BQkxFX0FWRl9DQVBUSU9OUykgJChFTkFC
TEVfQVRUQUNITUVOVF9FTEVNRU5UKSAkKEVOQUJMRV9DQUNIRV9QQVJUSVRJT05JTkcpICQoRU5B
QkxFX0NBTlZBU19QQVRIKSAkKEVOQUJMRV9DQU5WQVNfUFJPWFkpICQoRU5BQkxFX0NIQU5ORUxf
TUVTU0FHSU5HKSAkKEVOQUJMRV9FUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpICQoRU5BQkxFX0VT
Nl9HRU5FUkFUT1JTKSAkKEVOQUJMRV9FUzZfTU9EVUxFUykgJChFTkFCTEVfQ09OVEVOVF9GSUxU
RVJJTkcpICQoRU5BQkxFX0NTUF9ORVhUKSAkKEVOQUJMRV9DU1NfQU5JTUFUSU9OU19MRVZFTF8y
KSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUspICQoRU5BQkxFX0NTU19DT01QT1NJ
VElORykgJChFTkFCTEVfQ1NTX0RFVklDRV9BREFQVEFUSU9OKSAkKEVOQUJMRV9DU1NfR1JJRF9M
QVlPVVQpICQoRU5BQkxFX0NTU19JTUFHRV9PUklFTlRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdF
X1JFU09MVVRJT04pICQoRU5BQkxFX0NTU19SRUdJT05TKSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JT
X0xFVkVMNCkgJChFTkFCTEVfQ1NTX1NIQVBFUykgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJM
RV9DU1MzX1RFWFRfTElORV9CUkVBSykgJChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQoRU5B
QkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQpICQo
RU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RBVEFfVFJBTlNGRVJfSVRFTVMpICQo
RU5BQkxFX0RFVEFJTFNfRUxFTUVOVCkgJChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAkKEVO
QUJMRV9ET000X0VWRU5UU19DT05TVFJVQ1RPUikgJChFTkFCTEVfRU5DUllQVEVEX01FRElBKSAk
KEVOQUJMRV9FTkNSWVBURURfTUVESUFfVjIpICQoRU5BQkxFX0ZFVENIX0FQSSkgJChFTkFCTEVf
RklMVEVSU19MRVZFTF8yKSAkKEVOQUJMRV9GT05UX0xPQURfRVZFTlRTKSAkKEVOQUJMRV9GVUxM
U0NSRUVOX0FQSSkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0FNRVBBRF9ERVBSRUNBVEVE
KSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJMRV9T
RVJWSUNFX0NPTlRST0xTKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTkRF
WEVEX0RBVEFCQVNFX0lOX1dPUktFUlMpICQoRU5BQkxFX0lORElFX1VJKSAkKEVOQUJMRV9JTlBV
VF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SX1BPUE9WRVIpICQoRU5BQkxF
X0lOUFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRV9JTkNPTVBMRVRF
KSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZUEVf
TU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9XRUVL
KSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICQoRU5BQkxFX0lOVEwpICQoRU5B
QkxFX0lPU19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfSU9TX1RFWFRfQVVUT1NJWklORykgJChF
TkFCTEVfSU9TX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklY
RVMpICQoRU5BQkxFX0xFR0FDWV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9MRUdBQ1lfVkVORE9S
X1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfV0VCX0FVRElPKSAkKEVOQUJMRV9MRVRURVJQUkVT
UykgJChFTkFCTEVfTElOS19QUkVGRVRDSCkgJChFTkFCTEVfTUFDX0dFU1RVUkVfRVZFTlRTKSAk
KEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElBX0NPTlRST0xTX1NDUklQVCkgJChFTkFCTEVf
TUVESUFfU0VTU0lPTikgJChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9NRURJQV9TVEFU
SVNUSUNTKSAkKEVOQUJMRV9NRURJQV9TVFJFQU0pICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQo
RU5BQkxFX01IVE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUpICQoRU5BQkxFX05BVklH
QVRPUl9DT05URU5UX1VUSUxTKSAkKEVOQUJMRV9OQVZJR0FUT1JfSFdDT05DVVJSRU5DWSkgJChF
TkFCTEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfUERGS0lUX1BMVUdJTikgJChFTkFCTEVfUE9J
TlRFUl9MT0NLKSAkKEVOQUJMRV9QUk9YSU1JVFlfRVZFTlRTKSAkKEVOQUJMRV9QVUJMSUNfU1VG
RklYX0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRVFVRVNUX0FOSU1BVElPTl9GUkFN
RSkgJChFTkFCTEVfUkVRVUVTVF9BVVRPQ09NUExFVEUpICQoRU5BQkxFX1JFTU9URV9JTlNQRUNU
T1IpICQoRU5BQkxFX1JFU09MVVRJT05fTUVESUFfUVVFUlkpICQoRU5BQkxFX1JFU09VUkNFX1VT
QUdFKSAkKEVOQUJMRV9SVUJCRVJfQkFORElORykgJChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAk
KEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TVFJFQU1TX0FQSSkgJChFTkFCTEVf
U1VCVExFX0NSWVBUTykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9URUxFUEhPTkVfTlVN
QkVSX0RFVEVDVElPTikgJChFTkFCTEVfVEVNUExBVEVfRUxFTUVOVCkgJChFTkFCTEVfVEVYVF9B
VVRPU0laSU5HKSAkKEVOQUJMRV9UT1VDSF9FVkVOVFMpICQoRU5BQkxFX1RPVUNIX0lDT05fTE9B
RElORykgJChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQoRU5BQkxFX1VTRVJTRUxFQ1RfQUxM
KSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxFX0RBVEFDVUVf
VkFMVUUpICQoRU5BQkxFX1ZJRVdfTU9ERV9DU1NfTUVESUEpICQoRU5BQkxFX1dFQkFTU0VNQkxZ
KSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCR0wyKSAkKEVOQUJMRV9XRUJfQU5JTUFUSU9O
UykgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfUkVQTEFZKSAkKEVOQUJMRV9XRUJf
U09DS0VUUykgJChFTkFCTEVfV0VCX1RJTUlORykgJChFTkFCTEVfWFNMVCkgJChFTkFCTEVfRlRM
X0pJVCkgJChFTkFCTEVfSklUKSAkKEVOQUJMRV9TSEFET1dfRE9NKSAkKEVOQUJMRV9DVVNUT01f
RUxFTUVOVFMpICQoRU5BQkxFX1ZJREVPX1BSRVNFTlRBVElPTl9NT0RFKSAkKEVOQUJMRV9TRVBB
UkFURURfV1hfSEVBUCk7CitGRUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9UUkFOU0ZPUk1T
KSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09W
RVJGTE9XX1NDUk9MTElORykgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9BVFRBQ0hN
RU5UX0VMRU1FTlQpICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykgJChFTkFCTEVfQ0FOVkFT
X1BBVEgpICQoRU5BQkxFX0NBTlZBU19QUk9YWSkgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcp
ICQoRU5BQkxFX0VTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkgJChFTkFCTEVfRVM2X0dFTkVSQVRP
UlMpICQoRU5BQkxFX0VTNl9NT0RVTEVTKSAkKEVOQUJMRV9DT05URU5UX0ZJTFRFUklORykgJChF
TkFCTEVfQ1NQX05FWFQpICQoRU5BQkxFX0NTU19BTklNQVRJT05TX0xFVkVMXzIpICQoRU5BQkxF
X0NTU19CT1hfREVDT1JBVElPTl9CUkVBSykgJChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVO
QUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJT04pICQoRU5BQkxFX0NTU19HUklEX0xBWU9VVCkgJChF
TkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xVVElP
TikgJChFTkFCTEVfQ1NTX1JFR0lPTlMpICQoRU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAk
KEVOQUJMRV9DU1NfU0hBUEVTKSAkKEVOQUJMRV9DU1MzX1RFWFQpICQoRU5BQkxFX0NTUzNfVEVY
VF9MSU5FX0JSRUFLKSAkKEVOQUJMRV9DVVJTT1JfVklTSUJJTElUWSkgJChFTkFCTEVfQ1VTVE9N
X1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVCkgJChFTkFCTEVfREFU
QUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREFUQV9UUkFOU0ZFUl9JVEVNUykgJChFTkFCTEVfREVU
QUlMU19FTEVNRU5UKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RPTTRf
RVZFTlRTX0NPTlNUUlVDVE9SKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0VO
Q1JZUFRFRF9NRURJQV9WMikgJChFTkFCTEVfRkVUQ0hfQVBJKSAkKEVOQUJMRV9GSUxURVJTX0xF
VkVMXzIpICQoRU5BQkxFX0ZPTlRfTE9BRF9FVkVOVFMpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJ
KSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HQU1FUEFEX0RFUFJFQ0FURUQpICQoRU5BQkxF
X0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9JQ09OREFUQUJBU0UpICQoRU5BQkxFX1NFUlZJQ0VfQ09O
VFJPTFMpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJB
U0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5ESUVfVUkpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09M
T1IpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1JfUE9QT1ZFUikgJChFTkFCTEVfSU5QVVRfVFlQ
RV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxF
X0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChF
TkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxF
X1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkgJChFTkFCTEVfSU5UTCkgJChFTkFCTEVfSU9TX0dF
U1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1NfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9JT1Nf
VE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFC
TEVfTEVHQUNZX05PVElGSUNBVElPTlMpICQoRU5BQkxFX0xFR0FDWV9WRU5ET1JfUFJFRklYRVMp
ICQoRU5BQkxFX0xFR0FDWV9XRUJfQVVESU8pICQoRU5BQkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJM
RV9MSU5LX1BSRUZFVENIKSAkKEVOQUJMRV9NQUNfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX01B
VEhNTCkgJChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJQV9TRVNT
SU9OKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQo
RU5BQkxFX01FRElBX1NUUkVBTSkgJChFTkFCTEVfTUVURVJfRUxFTUVOVCkgJChFTkFCTEVfTUhU
TUwpICQoRU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVfTkFWSUdBVE9SX0NPTlRF
TlRfVVRJTFMpICQoRU5BQkxFX05BVklHQVRPUl9IV0NPTkNVUlJFTkNZKSAkKEVOQUJMRV9OT1RJ
RklDQVRJT05TKSAkKEVOQUJMRV9QREZLSVRfUExVR0lOKSAkKEVOQUJMRV9QT0lOVEVSX0xPQ0sp
ICQoRU5BQkxFX1BST1hJTUlUWV9FVkVOVFMpICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElTVCkg
JChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FKSAkKEVOQUJM
RV9SRVFVRVNUX0FVVE9DT01QTEVURSkgJChFTkFCTEVfUkVNT1RFX0lOU1BFQ1RPUikgJChFTkFC
TEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVfUkVTT1VSQ0VfVVNBR0UpICQoRU5B
QkxFX1JVQkJFUl9CQU5ESU5HKSAkKEVOQUJMRV9DU1NfU0NST0xMX1NOQVApICQoRU5BQkxFX1NQ
RUVDSF9TWU5USEVTSVMpICQoRU5BQkxFX1NUUkVBTVNfQVBJKSAkKEVOQUJMRV9TVUJUTEVfQ1JZ
UFRPKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJfREVURUNU
SU9OKSAkKEVOQUJMRV9URU1QTEFURV9FTEVNRU5UKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcp
ICQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVE9VQ0hfSUNPTl9MT0FESU5HKSAkKEVO
QUJMRV9DU1NfVFJBSUxJTkdfV09SRCkgJChFTkFCTEVfVVNFUlNFTEVDVF9BTEwpICQoRU5BQkxF
X1ZJREVPKSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVfREFUQUNVRV9WQUxVRSkgJChF
TkFCTEVfVklFV19NT0RFX0NTU19NRURJQSkgJChFTkFCTEVfV0VCQVNTRU1CTFkpICQoRU5BQkxF
X1dFQkdMKSAkKEVOQUJMRV9XRUJHTDIpICQoRU5BQkxFX1dFQl9BTklNQVRJT05TKSAkKEVOQUJM
RV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9SRVBMQVkpICQoRU5BQkxFX1dFQl9TT0NLRVRTKSAk
KEVOQUJMRV9XRUJfVElNSU5HKSAkKEVOQUJMRV9YU0xUKSAkKEVOQUJMRV9GVExfSklUKSAkKEVO
QUJMRV9KSVQpICQoRU5BQkxFX1NIQURPV19ET00pICQoRU5BQkxFX0NVU1RPTV9FTEVNRU5UUykg
JChFTkFCTEVfVklERU9fUFJFU0VOVEFUSU9OX01PREUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9BUk02NEFzc2VtYmxlci5oIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2Fzc2VtYmxlci9BUk02NEFzc2VtYmxlci5oCmluZGV4IDE4ZDMzOGVjNDZlOTFmMzk0
ODFhM2E4ZGZiMDNiYzdlNjFkYTJiYzguLmI2MTA2YzMzOTE0NTMzYzFmZGFjNTkwY2JjNDU2YTEx
Nzg5NzZkMjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvQVJN
NjRBc3NlbWJsZXIuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL0FSTTY0
QXNzZW1ibGVyLmgKQEAgLTI0NzIsMjMgKzI0NzIsMjMgQEAgcHVibGljOgogICAgICAgICBtX2p1
bXBzVG9MaW5rLmFwcGVuZChMaW5rUmVjb3JkKGZyb20ubV9vZmZzZXQsIHRvLm1fb2Zmc2V0LCB0
eXBlLCBjb25kaXRpb24sIGJpdE51bWJlciwgY29tcGFyZVJlZ2lzdGVyKSk7CiAgICAgfQogCi0g
ICAgdm9pZCBsaW5rSnVtcChBc3NlbWJsZXJMYWJlbCBmcm9tLCBBc3NlbWJsZXJMYWJlbCB0bykK
KyAgICB2b2lkIGxpbmtKdW1wKEFzc2VtYmxlckxhYmVsIGZyb20sIHZvaWQqIGV4ZWN1dGFibGVD
b2RlLCBBc3NlbWJsZXJMYWJlbCB0bykKICAgICB7CiAgICAgICAgIEFTU0VSVChmcm9tLmlzU2V0
KCkpOwogICAgICAgICBBU1NFUlQodG8uaXNTZXQoKSk7Ci0gICAgICAgIHJlbGlua0p1bXBPckNh
bGw8ZmFsc2U+KGFkZHJlc3NPZihmcm9tKSwgYWRkcmVzc09mKHRvKSk7CisgICAgICAgIHJlbGlu
a0p1bXBPckNhbGw8ZmFsc2U+KGFkZHJlc3NPZihmcm9tKSwgYWRkcmVzc09mKGV4ZWN1dGFibGVD
b2RlLCBmcm9tKSwgYWRkcmVzc09mKHRvKSk7CiAgICAgfQogICAgIAogICAgIHN0YXRpYyB2b2lk
IGxpbmtKdW1wKHZvaWQqIGNvZGUsIEFzc2VtYmxlckxhYmVsIGZyb20sIHZvaWQqIHRvKQogICAg
IHsKICAgICAgICAgQVNTRVJUKGZyb20uaXNTZXQoKSk7Ci0gICAgICAgIHJlbGlua0p1bXBPckNh
bGw8ZmFsc2U+KGFkZHJlc3NPZihjb2RlLCBmcm9tKSwgdG8pOworICAgICAgICByZWxpbmtKdW1w
T3JDYWxsPGZhbHNlPihhZGRyZXNzT2YoY29kZSwgZnJvbSksIGFkZHJlc3NPZihjb2RlLCBmcm9t
KSwgdG8pOwogICAgIH0KIAogICAgIHN0YXRpYyB2b2lkIGxpbmtDYWxsKHZvaWQqIGNvZGUsIEFz
c2VtYmxlckxhYmVsIGZyb20sIHZvaWQqIHRvKQogICAgIHsKICAgICAgICAgQVNTRVJUKGZyb20u
aXNTZXQoKSk7Ci0gICAgICAgIGxpbmtKdW1wT3JDYWxsPHRydWU+KGFkZHJlc3NPZihjb2RlLCBm
cm9tKSAtIDEsIHRvKTsKKyAgICAgICAgbGlua0p1bXBPckNhbGw8dHJ1ZT4oYWRkcmVzc09mKGNv
ZGUsIGZyb20pIC0gMSwgYWRkcmVzc09mKGNvZGUsIGZyb20pIC0gMSwgdG8pOwogICAgIH0KIAog
ICAgIHN0YXRpYyB2b2lkIGxpbmtQb2ludGVyKHZvaWQqIGNvZGUsIEFzc2VtYmxlckxhYmVsIHdo
ZXJlLCB2b2lkKiB2YWx1ZVB0cikKQEAgLTI2NTgsMTMgKzI2NTgsMTMgQEAgcHVibGljOgogCiAg
ICAgc3RhdGljIHZvaWQgcmVsaW5rSnVtcCh2b2lkKiBmcm9tLCB2b2lkKiB0bykKICAgICB7Ci0g
ICAgICAgIHJlbGlua0p1bXBPckNhbGw8ZmFsc2U+KHJlaW50ZXJwcmV0X2Nhc3Q8aW50Kj4oZnJv
bSksIHRvKTsKKyAgICAgICAgcmVsaW5rSnVtcE9yQ2FsbDxmYWxzZT4ocmVpbnRlcnByZXRfY2Fz
dDxpbnQqPihmcm9tKSwgcmVpbnRlcnByZXRfY2FzdDxjb25zdCBpbnQqPihmcm9tKSwgdG8pOwog
ICAgICAgICBjYWNoZUZsdXNoKGZyb20sIHNpemVvZihpbnQpKTsKICAgICB9CiAgICAgCiAgICAg
c3RhdGljIHZvaWQgcmVsaW5rQ2FsbCh2b2lkKiBmcm9tLCB2b2lkKiB0bykKICAgICB7Ci0gICAg
ICAgIHJlbGlua0p1bXBPckNhbGw8dHJ1ZT4ocmVpbnRlcnByZXRfY2FzdDxpbnQqPihmcm9tKSAt
IDEsIHRvKTsKKyAgICAgICAgcmVsaW5rSnVtcE9yQ2FsbDx0cnVlPihyZWludGVycHJldF9jYXN0
PGludCo+KGZyb20pIC0gMSwgcmVpbnRlcnByZXRfY2FzdDxjb25zdCBpbnQqPihmcm9tKSAtIDEs
IHRvKTsKICAgICAgICAgY2FjaGVGbHVzaChyZWludGVycHJldF9jYXN0PGludCo+KGZyb20pIC0g
MSwgc2l6ZW9mKGludCkpOwogICAgIH0KICAgICAKQEAgLTI4MDYsMjkgKzI4MDYsMzAgQEAgcHVi
bGljOgogICAgICAgICByZXR1cm4gbV9qdW1wc1RvTGluazsKICAgICB9CiAKLSAgICBzdGF0aWMg
dm9pZCBBTFdBWVNfSU5MSU5FIGxpbmsoTGlua1JlY29yZCYgcmVjb3JkLCB1aW50OF90KiBmcm9t
LCB1aW50OF90KiB0bykKKyAgICBzdGF0aWMgdm9pZCBBTFdBWVNfSU5MSU5FIGxpbmsoTGlua1Jl
Y29yZCYgcmVjb3JkLCB1aW50OF90KiBmcm9tLCBjb25zdCB1aW50OF90KiBmcm9tSW5zdHJ1Y3Rp
b244LCB1aW50OF90KiB0bykKICAgICB7CisgICAgICAgIGNvbnN0IGludCogZnJvbUluc3RydWN0
aW9uID0gcmVpbnRlcnByZXRfY2FzdDxjb25zdCBpbnQqPihmcm9tSW5zdHJ1Y3Rpb244KTsKICAg
ICAgICAgc3dpdGNoIChyZWNvcmQubGlua1R5cGUoKSkgewogICAgICAgICBjYXNlIExpbmtKdW1w
Tm9Db25kaXRpb246Ci0gICAgICAgICAgICBsaW5rSnVtcE9yQ2FsbDxmYWxzZT4ocmVpbnRlcnBy
ZXRfY2FzdDxpbnQqPihmcm9tKSwgdG8pOworICAgICAgICAgICAgbGlua0p1bXBPckNhbGw8ZmFs
c2U+KHJlaW50ZXJwcmV0X2Nhc3Q8aW50Kj4oZnJvbSksIGZyb21JbnN0cnVjdGlvbiwgdG8pOwog
ICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGNhc2UgTGlua0p1bXBDb25kaXRpb25EaXJlY3Q6
Ci0gICAgICAgICAgICBsaW5rQ29uZGl0aW9uYWxCcmFuY2g8dHJ1ZT4ocmVjb3JkLmNvbmRpdGlv
bigpLCByZWludGVycHJldF9jYXN0PGludCo+KGZyb20pLCB0byk7CisgICAgICAgICAgICBsaW5r
Q29uZGl0aW9uYWxCcmFuY2g8dHJ1ZT4ocmVjb3JkLmNvbmRpdGlvbigpLCByZWludGVycHJldF9j
YXN0PGludCo+KGZyb20pLCBmcm9tSW5zdHJ1Y3Rpb24sIHRvKTsKICAgICAgICAgICAgIGJyZWFr
OwogICAgICAgICBjYXNlIExpbmtKdW1wQ29uZGl0aW9uOgotICAgICAgICAgICAgbGlua0NvbmRp
dGlvbmFsQnJhbmNoPGZhbHNlPihyZWNvcmQuY29uZGl0aW9uKCksIHJlaW50ZXJwcmV0X2Nhc3Q8
aW50Kj4oZnJvbSkgLSAxLCB0byk7CisgICAgICAgICAgICBsaW5rQ29uZGl0aW9uYWxCcmFuY2g8
ZmFsc2U+KHJlY29yZC5jb25kaXRpb24oKSwgcmVpbnRlcnByZXRfY2FzdDxpbnQqPihmcm9tKSAt
IDEsIGZyb21JbnN0cnVjdGlvbiAtIDEsIHRvKTsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAg
ICBjYXNlIExpbmtKdW1wQ29tcGFyZUFuZEJyYW5jaERpcmVjdDoKLSAgICAgICAgICAgIGxpbmtD
b21wYXJlQW5kQnJhbmNoPHRydWU+KHJlY29yZC5jb25kaXRpb24oKSwgcmVjb3JkLmlzNjRCaXQo
KSwgcmVjb3JkLmNvbXBhcmVSZWdpc3RlcigpLCByZWludGVycHJldF9jYXN0PGludCo+KGZyb20p
LCB0byk7CisgICAgICAgICAgICBsaW5rQ29tcGFyZUFuZEJyYW5jaDx0cnVlPihyZWNvcmQuY29u
ZGl0aW9uKCksIHJlY29yZC5pczY0Qml0KCksIHJlY29yZC5jb21wYXJlUmVnaXN0ZXIoKSwgcmVp
bnRlcnByZXRfY2FzdDxpbnQqPihmcm9tKSwgZnJvbUluc3RydWN0aW9uLCB0byk7CiAgICAgICAg
ICAgICBicmVhazsKICAgICAgICAgY2FzZSBMaW5rSnVtcENvbXBhcmVBbmRCcmFuY2g6Ci0gICAg
ICAgICAgICBsaW5rQ29tcGFyZUFuZEJyYW5jaDxmYWxzZT4ocmVjb3JkLmNvbmRpdGlvbigpLCBy
ZWNvcmQuaXM2NEJpdCgpLCByZWNvcmQuY29tcGFyZVJlZ2lzdGVyKCksIHJlaW50ZXJwcmV0X2Nh
c3Q8aW50Kj4oZnJvbSkgLSAxLCB0byk7CisgICAgICAgICAgICBsaW5rQ29tcGFyZUFuZEJyYW5j
aDxmYWxzZT4ocmVjb3JkLmNvbmRpdGlvbigpLCByZWNvcmQuaXM2NEJpdCgpLCByZWNvcmQuY29t
cGFyZVJlZ2lzdGVyKCksIHJlaW50ZXJwcmV0X2Nhc3Q8aW50Kj4oZnJvbSkgLSAxLCBmcm9tSW5z
dHJ1Y3Rpb24gLSAxLCB0byk7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgY2FzZSBMaW5r
SnVtcFRlc3RCaXREaXJlY3Q6Ci0gICAgICAgICAgICBsaW5rVGVzdEFuZEJyYW5jaDx0cnVlPihy
ZWNvcmQuY29uZGl0aW9uKCksIHJlY29yZC5iaXROdW1iZXIoKSwgcmVjb3JkLmNvbXBhcmVSZWdp
c3RlcigpLCByZWludGVycHJldF9jYXN0PGludCo+KGZyb20pLCB0byk7CisgICAgICAgICAgICBs
aW5rVGVzdEFuZEJyYW5jaDx0cnVlPihyZWNvcmQuY29uZGl0aW9uKCksIHJlY29yZC5iaXROdW1i
ZXIoKSwgcmVjb3JkLmNvbXBhcmVSZWdpc3RlcigpLCByZWludGVycHJldF9jYXN0PGludCo+KGZy
b20pLCBmcm9tSW5zdHJ1Y3Rpb24sIHRvKTsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBj
YXNlIExpbmtKdW1wVGVzdEJpdDoKLSAgICAgICAgICAgIGxpbmtUZXN0QW5kQnJhbmNoPGZhbHNl
PihyZWNvcmQuY29uZGl0aW9uKCksIHJlY29yZC5iaXROdW1iZXIoKSwgcmVjb3JkLmNvbXBhcmVS
ZWdpc3RlcigpLCByZWludGVycHJldF9jYXN0PGludCo+KGZyb20pIC0gMSwgdG8pOworICAgICAg
ICAgICAgbGlua1Rlc3RBbmRCcmFuY2g8ZmFsc2U+KHJlY29yZC5jb25kaXRpb24oKSwgcmVjb3Jk
LmJpdE51bWJlcigpLCByZWNvcmQuY29tcGFyZVJlZ2lzdGVyKCksIHJlaW50ZXJwcmV0X2Nhc3Q8
aW50Kj4oZnJvbSkgLSAxLCBmcm9tSW5zdHJ1Y3Rpb24gLSAxLCB0byk7CiAgICAgICAgICAgICBi
cmVhazsKICAgICAgICAgZGVmYXVsdDoKICAgICAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgp
OwpAQCAtMjg3MCw3ICsyODcxLDcgQEAgcHJpdmF0ZToKICAgICB9CiAKICAgICB0ZW1wbGF0ZTxi
b29sIGlzQ2FsbD4KLSAgICBzdGF0aWMgdm9pZCBsaW5rSnVtcE9yQ2FsbChpbnQqIGZyb20sIHZv
aWQqIHRvKQorICAgIHN0YXRpYyB2b2lkIGxpbmtKdW1wT3JDYWxsKGludCogZnJvbSwgY29uc3Qg
aW50KiBmcm9tSW5zdHJ1Y3Rpb24sIHZvaWQqIHRvKQogICAgIHsKICAgICAgICAgYm9vbCBsaW5r
OwogICAgICAgICBpbnQgaW1tMjY7CkBAIC0yODgwLDcgKzI4ODEsNyBAQCBwcml2YXRlOgogICAg
ICAgICBBU1NFUlRfVU5VU0VEKGlzQ2FsbCwgKGxpbmsgPT0gaXNDYWxsKSB8fCBkaXNhc3NlbWJs
ZU5vcChmcm9tKSk7CiAgICAgICAgIEFTU0VSVCghKHJlaW50ZXJwcmV0X2Nhc3Q8aW50cHRyX3Q+
KGZyb20pICYgMykpOwogICAgICAgICBBU1NFUlQoIShyZWludGVycHJldF9jYXN0PGludHB0cl90
Pih0bykgJiAzKSk7Ci0gICAgICAgIGludHB0cl90IG9mZnNldCA9IChyZWludGVycHJldF9jYXN0
PGludHB0cl90Pih0bykgLSByZWludGVycHJldF9jYXN0PGludHB0cl90Pihmcm9tKSkgPj4gMjsK
KyAgICAgICAgaW50cHRyX3Qgb2Zmc2V0ID0gKHJlaW50ZXJwcmV0X2Nhc3Q8aW50cHRyX3Q+KHRv
KSAtIHJlaW50ZXJwcmV0X2Nhc3Q8aW50cHRyX3Q+KGZyb21JbnN0cnVjdGlvbikpID4+IDI7CiAg
ICAgICAgIEFTU0VSVChzdGF0aWNfY2FzdDxpbnQ+KG9mZnNldCkgPT0gb2Zmc2V0KTsKIAogICAg
ICAgICBpbnQgaW5zbiA9IHVuY29uZGl0aW9uYWxCcmFuY2hJbW1lZGlhdGUoaXNDYWxsLCBzdGF0
aWNfY2FzdDxpbnQ+KG9mZnNldCkpOwpAQCAtMjg4OCwxMSArMjg4OSwxMSBAQCBwcml2YXRlOgog
ICAgIH0KIAogICAgIHRlbXBsYXRlPGJvb2wgaXNEaXJlY3Q+Ci0gICAgc3RhdGljIHZvaWQgbGlu
a0NvbXBhcmVBbmRCcmFuY2goQ29uZGl0aW9uIGNvbmRpdGlvbiwgYm9vbCBpczY0Qml0LCBSZWdp
c3RlcklEIHJ0LCBpbnQqIGZyb20sIHZvaWQqIHRvKQorICAgIHN0YXRpYyB2b2lkIGxpbmtDb21w
YXJlQW5kQnJhbmNoKENvbmRpdGlvbiBjb25kaXRpb24sIGJvb2wgaXM2NEJpdCwgUmVnaXN0ZXJJ
RCBydCwgaW50KiBmcm9tLCBjb25zdCBpbnQqIGZyb21JbnN0cnVjdGlvbiwgdm9pZCogdG8pCiAg
ICAgewogICAgICAgICBBU1NFUlQoIShyZWludGVycHJldF9jYXN0PGludHB0cl90Pihmcm9tKSAm
IDMpKTsKICAgICAgICAgQVNTRVJUKCEocmVpbnRlcnByZXRfY2FzdDxpbnRwdHJfdD4odG8pICYg
MykpOwotICAgICAgICBpbnRwdHJfdCBvZmZzZXQgPSAocmVpbnRlcnByZXRfY2FzdDxpbnRwdHJf
dD4odG8pIC0gcmVpbnRlcnByZXRfY2FzdDxpbnRwdHJfdD4oZnJvbSkpID4+IDI7CisgICAgICAg
IGludHB0cl90IG9mZnNldCA9IChyZWludGVycHJldF9jYXN0PGludHB0cl90Pih0bykgLSByZWlu
dGVycHJldF9jYXN0PGludHB0cl90Pihmcm9tSW5zdHJ1Y3Rpb24pKSA+PiAyOwogICAgICAgICBB
U1NFUlQoKChvZmZzZXQgPDwgMzgpID4+IDM4KSA9PSBvZmZzZXQpOwogCiAgICAgICAgIGJvb2wg
dXNlRGlyZWN0ID0gKChvZmZzZXQgPDwgNDUpID4+IDQ1KSA9PSBvZmZzZXQ7IC8vIEZpdHMgaW4g
MTkgYml0cwpAQCAtMjkwOCwxNiArMjkwOSwxNiBAQCBwcml2YXRlOgogICAgICAgICB9IGVsc2Ug
ewogICAgICAgICAgICAgaW50IGluc24gPSBjb21wYXJlQW5kQnJhbmNoSW1tZWRpYXRlKGlzNjRC
aXQgPyBEYXRhc2l6ZV82NCA6IERhdGFzaXplXzMyLCBpbnZlcnQoY29uZGl0aW9uKSA9PSBDb25k
aXRpb25ORSwgMiwgcnQpOwogICAgICAgICAgICAgcGVyZm9ybUpJVE1lbWNweShmcm9tLCAmaW5z
biwgc2l6ZW9mKGludCkpOwotICAgICAgICAgICAgbGlua0p1bXBPckNhbGw8ZmFsc2U+KGZyb20g
KyAxLCB0byk7CisgICAgICAgICAgICBsaW5rSnVtcE9yQ2FsbDxmYWxzZT4oZnJvbSArIDEsIGZy
b21JbnN0cnVjdGlvbiArIDEsIHRvKTsKICAgICAgICAgfQogICAgIH0KIAogICAgIHRlbXBsYXRl
PGJvb2wgaXNEaXJlY3Q+Ci0gICAgc3RhdGljIHZvaWQgbGlua0NvbmRpdGlvbmFsQnJhbmNoKENv
bmRpdGlvbiBjb25kaXRpb24sIGludCogZnJvbSwgdm9pZCogdG8pCisgICAgc3RhdGljIHZvaWQg
bGlua0NvbmRpdGlvbmFsQnJhbmNoKENvbmRpdGlvbiBjb25kaXRpb24sIGludCogZnJvbSwgY29u
c3QgaW50KiBmcm9tSW5zdHJ1Y3Rpb24sIHZvaWQqIHRvKQogICAgIHsKICAgICAgICAgQVNTRVJU
KCEocmVpbnRlcnByZXRfY2FzdDxpbnRwdHJfdD4oZnJvbSkgJiAzKSk7CiAgICAgICAgIEFTU0VS
VCghKHJlaW50ZXJwcmV0X2Nhc3Q8aW50cHRyX3Q+KHRvKSAmIDMpKTsKLSAgICAgICAgaW50cHRy
X3Qgb2Zmc2V0ID0gKHJlaW50ZXJwcmV0X2Nhc3Q8aW50cHRyX3Q+KHRvKSAtIHJlaW50ZXJwcmV0
X2Nhc3Q8aW50cHRyX3Q+KGZyb20pKSA+PiAyOworICAgICAgICBpbnRwdHJfdCBvZmZzZXQgPSAo
cmVpbnRlcnByZXRfY2FzdDxpbnRwdHJfdD4odG8pIC0gcmVpbnRlcnByZXRfY2FzdDxpbnRwdHJf
dD4oZnJvbUluc3RydWN0aW9uKSkgPj4gMjsKICAgICAgICAgQVNTRVJUKCgob2Zmc2V0IDw8IDM4
KSA+PiAzOCkgPT0gb2Zmc2V0KTsKIAogICAgICAgICBib29sIHVzZURpcmVjdCA9ICgob2Zmc2V0
IDw8IDQ1KSA+PiA0NSkgPT0gb2Zmc2V0OyAvLyBGaXRzIGluIDE5IGJpdHMKQEAgLTI5MzMsMTYg
KzI5MzQsMTYgQEAgcHJpdmF0ZToKICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgIGludCBp
bnNuID0gY29uZGl0aW9uYWxCcmFuY2hJbW1lZGlhdGUoMiwgaW52ZXJ0KGNvbmRpdGlvbikpOwog
ICAgICAgICAgICAgcGVyZm9ybUpJVE1lbWNweShmcm9tLCAmaW5zbiwgc2l6ZW9mKGludCkpOwot
ICAgICAgICAgICAgbGlua0p1bXBPckNhbGw8ZmFsc2U+KGZyb20gKyAxLCB0byk7CisgICAgICAg
ICAgICBsaW5rSnVtcE9yQ2FsbDxmYWxzZT4oZnJvbSArIDEsIGZyb21JbnN0cnVjdGlvbiArIDEs
IHRvKTsKICAgICAgICAgfQogICAgIH0KIAogICAgIHRlbXBsYXRlPGJvb2wgaXNEaXJlY3Q+Ci0g
ICAgc3RhdGljIHZvaWQgbGlua1Rlc3RBbmRCcmFuY2goQ29uZGl0aW9uIGNvbmRpdGlvbiwgdW5z
aWduZWQgYml0TnVtYmVyLCBSZWdpc3RlcklEIHJ0LCBpbnQqIGZyb20sIHZvaWQqIHRvKQorICAg
IHN0YXRpYyB2b2lkIGxpbmtUZXN0QW5kQnJhbmNoKENvbmRpdGlvbiBjb25kaXRpb24sIHVuc2ln
bmVkIGJpdE51bWJlciwgUmVnaXN0ZXJJRCBydCwgaW50KiBmcm9tLCBjb25zdCBpbnQqIGZyb21J
bnN0cnVjdGlvbiwgdm9pZCogdG8pCiAgICAgewogICAgICAgICBBU1NFUlQoIShyZWludGVycHJl
dF9jYXN0PGludHB0cl90Pihmcm9tKSAmIDMpKTsKICAgICAgICAgQVNTRVJUKCEocmVpbnRlcnBy
ZXRfY2FzdDxpbnRwdHJfdD4odG8pICYgMykpOwotICAgICAgICBpbnRwdHJfdCBvZmZzZXQgPSAo
cmVpbnRlcnByZXRfY2FzdDxpbnRwdHJfdD4odG8pIC0gcmVpbnRlcnByZXRfY2FzdDxpbnRwdHJf
dD4oZnJvbSkpID4+IDI7CisgICAgICAgIGludHB0cl90IG9mZnNldCA9IChyZWludGVycHJldF9j
YXN0PGludHB0cl90Pih0bykgLSByZWludGVycHJldF9jYXN0PGludHB0cl90Pihmcm9tSW5zdHJ1
Y3Rpb24pKSA+PiAyOwogICAgICAgICBBU1NFUlQoc3RhdGljX2Nhc3Q8aW50PihvZmZzZXQpID09
IG9mZnNldCk7CiAgICAgICAgIEFTU0VSVCgoKG9mZnNldCA8PCAzOCkgPj4gMzgpID09IG9mZnNl
dCk7CiAKQEAgLTI5NTksMTIgKzI5NjAsMTIgQEAgcHJpdmF0ZToKICAgICAgICAgfSBlbHNlIHsK
ICAgICAgICAgICAgIGludCBpbnNuID0gdGVzdEFuZEJyYW5jaEltbWVkaWF0ZShpbnZlcnQoY29u
ZGl0aW9uKSA9PSBDb25kaXRpb25ORSwgc3RhdGljX2Nhc3Q8aW50PihiaXROdW1iZXIpLCAyLCBy
dCk7CiAgICAgICAgICAgICBwZXJmb3JtSklUTWVtY3B5KGZyb20sICZpbnNuLCBzaXplb2YoaW50
KSk7Ci0gICAgICAgICAgICBsaW5rSnVtcE9yQ2FsbDxmYWxzZT4oZnJvbSArIDEsIHRvKTsKKyAg
ICAgICAgICAgIGxpbmtKdW1wT3JDYWxsPGZhbHNlPihmcm9tICsgMSwgZnJvbUluc3RydWN0aW9u
ICsgMSwgdG8pOwogICAgICAgICB9CiAgICAgfQogCiAgICAgdGVtcGxhdGU8Ym9vbCBpc0NhbGw+
Ci0gICAgc3RhdGljIHZvaWQgcmVsaW5rSnVtcE9yQ2FsbChpbnQqIGZyb20sIHZvaWQqIHRvKQor
ICAgIHN0YXRpYyB2b2lkIHJlbGlua0p1bXBPckNhbGwoaW50KiBmcm9tLCBjb25zdCBpbnQqIGZy
b21JbnN0cnVjdGlvbiwgdm9pZCogdG8pCiAgICAgewogICAgICAgICBpZiAoIWlzQ2FsbCAmJiBk
aXNhc3NlbWJsZU5vcChmcm9tKSkgewogICAgICAgICAgICAgdW5zaWduZWQgb3AwMTsKQEAgLTI5
NzksNyArMjk4MCw3IEBAIHByaXZhdGU6CiAgICAgICAgICAgICAgICAgaWYgKGltbTE5ID09IDgp
CiAgICAgICAgICAgICAgICAgICAgIGNvbmRpdGlvbiA9IGludmVydChjb25kaXRpb24pOwogCi0g
ICAgICAgICAgICAgICAgbGlua0NvbmRpdGlvbmFsQnJhbmNoPGZhbHNlPihjb25kaXRpb24sIGZy
b20gLSAxLCB0byk7CisgICAgICAgICAgICAgICAgbGlua0NvbmRpdGlvbmFsQnJhbmNoPGZhbHNl
Pihjb25kaXRpb24sIGZyb20gLSAxLCBmcm9tSW5zdHJ1Y3Rpb24gLSAxLCB0byk7CiAgICAgICAg
ICAgICAgICAgcmV0dXJuOwogICAgICAgICAgICAgfQogCkBAIC0yOTkyLDcgKzI5OTMsNyBAQCBw
cml2YXRlOgogICAgICAgICAgICAgICAgIGlmIChpbW0xOSA9PSA4KQogICAgICAgICAgICAgICAg
ICAgICBvcCA9ICFvcDsKIAotICAgICAgICAgICAgICAgIGxpbmtDb21wYXJlQW5kQnJhbmNoPGZh
bHNlPihvcCA/IENvbmRpdGlvbk5FIDogQ29uZGl0aW9uRVEsIG9wU2l6ZSA9PSBEYXRhc2l6ZV82
NCwgcnQsIGZyb20gLSAxLCB0byk7CisgICAgICAgICAgICAgICAgbGlua0NvbXBhcmVBbmRCcmFu
Y2g8ZmFsc2U+KG9wID8gQ29uZGl0aW9uTkUgOiBDb25kaXRpb25FUSwgb3BTaXplID09IERhdGFz
aXplXzY0LCBydCwgZnJvbSAtIDEsIGZyb21JbnN0cnVjdGlvbiAtIDEsIHRvKTsKICAgICAgICAg
ICAgICAgICByZXR1cm47CiAgICAgICAgICAgICB9CiAKQEAgLTMwMDQsMTIgKzMwMDUsMTIgQEAg
cHJpdmF0ZToKICAgICAgICAgICAgICAgICBpZiAoaW1tMTQgPT0gOCkKICAgICAgICAgICAgICAg
ICAgICAgb3AgPSAhb3A7CiAKLSAgICAgICAgICAgICAgICBsaW5rVGVzdEFuZEJyYW5jaDxmYWxz
ZT4ob3AgPyBDb25kaXRpb25ORSA6IENvbmRpdGlvbkVRLCBiaXROdW1iZXIsIHJ0LCBmcm9tIC0g
MSwgdG8pOworICAgICAgICAgICAgICAgIGxpbmtUZXN0QW5kQnJhbmNoPGZhbHNlPihvcCA/IENv
bmRpdGlvbk5FIDogQ29uZGl0aW9uRVEsIGJpdE51bWJlciwgcnQsIGZyb20gLSAxLCBmcm9tSW5z
dHJ1Y3Rpb24gLSAxLCB0byk7CiAgICAgICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgICAg
fQogICAgICAgICB9CiAKLSAgICAgICAgbGlua0p1bXBPckNhbGw8aXNDYWxsPihmcm9tLCB0byk7
CisgICAgICAgIGxpbmtKdW1wT3JDYWxsPGlzQ2FsbD4oZnJvbSwgZnJvbUluc3RydWN0aW9uLCB0
byk7CiAgICAgfQogCiAgICAgc3RhdGljIGludCogYWRkcmVzc09mKHZvaWQqIGNvZGUsIEFzc2Vt
YmxlckxhYmVsIGxhYmVsKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2Vt
Ymxlci9BUk12N0Fzc2VtYmxlci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9B
Uk12N0Fzc2VtYmxlci5oCmluZGV4IDZiOWYzMDVlOTI3NDY5ZjFiMjM1ZGJiZjdhMjVkMjMxODkz
ZmRmZGUuLjhlZTk5YzRiZDdjN2YzMDYxNDg2ODk2MDE4N2U3ZmIyMzkwYWZjZDIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvQVJNdjdBc3NlbWJsZXIuaAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL0FSTXY3QXNzZW1ibGVyLmgKQEAgLTEz
MjcsMTEgKzEzMjcsMTQgQEAgcHVibGljOgogICAgICAgICB1aW50MTZfdCogYWRkcmVzcyA9IHN0
YXRpY19jYXN0PHVpbnQxNl90Kj4oaW5zdHJ1Y3Rpb25TdGFydCk7CiAgICAgICAgIEFSTVRodW1i
SW1tZWRpYXRlIGxvMTYgPSBBUk1UaHVtYkltbWVkaWF0ZTo6bWFrZVVJbnQxNihzdGF0aWNfY2Fz
dDx1aW50MTZfdD4oaW1tKSk7CiAgICAgICAgIEFSTVRodW1iSW1tZWRpYXRlIGhpMTYgPSBBUk1U
aHVtYkltbWVkaWF0ZTo6bWFrZVVJbnQxNihzdGF0aWNfY2FzdDx1aW50MTZfdD4oaW1tID4+IDE2
KSk7Ci0gICAgICAgIGFkZHJlc3NbMF0gPSB0d29Xb3JkT3A1aTZJbW00UmVnNEVuY29kZWRJbW1G
aXJzdChPUF9NT1ZfaW1tX1QzLCBsbzE2KTsKLSAgICAgICAgYWRkcmVzc1sxXSA9IHR3b1dvcmRP
cDVpNkltbTRSZWc0RW5jb2RlZEltbVNlY29uZChyaWdodCwgbG8xNik7Ci0gICAgICAgIGFkZHJl
c3NbMl0gPSB0d29Xb3JkT3A1aTZJbW00UmVnNEVuY29kZWRJbW1GaXJzdChPUF9NT1ZULCBoaTE2
KTsKLSAgICAgICAgYWRkcmVzc1szXSA9IHR3b1dvcmRPcDVpNkltbTRSZWc0RW5jb2RlZEltbVNl
Y29uZChyaWdodCwgaGkxNik7Ci0gICAgICAgIGFkZHJlc3NbNF0gPSBPUF9DTVBfcmVnX1QyIHwg
bGVmdDsKKyAgICAgICAgdWludDE2X3QgaW5zdHJ1Y3Rpb25bXSA9IHsKKyAgICAgICAgICAgIHR3
b1dvcmRPcDVpNkltbTRSZWc0RW5jb2RlZEltbUZpcnN0KE9QX01PVl9pbW1fVDMsIGxvMTYpLAor
ICAgICAgICAgICAgdHdvV29yZE9wNWk2SW1tNFJlZzRFbmNvZGVkSW1tU2Vjb25kKHJpZ2h0LCBs
bzE2KSwKKyAgICAgICAgICAgIHR3b1dvcmRPcDVpNkltbTRSZWc0RW5jb2RlZEltbUZpcnN0KE9Q
X01PVlQsIGhpMTYpLAorICAgICAgICAgICAgdHdvV29yZE9wNWk2SW1tNFJlZzRFbmNvZGVkSW1t
U2Vjb25kKHJpZ2h0LCBoaTE2KSwKKyAgICAgICAgICAgIE9QX0NNUF9yZWdfVDIgfCBsZWZ0Cisg
ICAgICAgIH07CisgICAgICAgIHBlcmZvcm1KSVRNZW1jcHkoYWRkcmVzcywgaW5zdHJ1Y3Rpb24s
IHNpemVvZih1aW50MTZfdCkgKiA1KTsKICAgICAgICAgY2FjaGVGbHVzaChhZGRyZXNzLCBzaXpl
b2YodWludDE2X3QpICogNSk7CiAgICAgfQogI2Vsc2UKQEAgLTEzNDIsOCArMTM0NSwxMSBAQCBw
dWJsaWM6CiAgICAgICAgIEFTU0VSVCghQmFkUmVnKHJkKSk7CiAgICAgICAgIAogICAgICAgICB1
aW50MTZfdCogYWRkcmVzcyA9IHN0YXRpY19jYXN0PHVpbnQxNl90Kj4oaW5zdHJ1Y3Rpb25TdGFy
dCk7Ci0gICAgICAgIGFkZHJlc3NbMF0gPSB0d29Xb3JkT3A1aTZJbW00UmVnNEVuY29kZWRJbW1G
aXJzdChPUF9NT1ZfaW1tX1QzLCBpbW0pOwotICAgICAgICBhZGRyZXNzWzFdID0gdHdvV29yZE9w
NWk2SW1tNFJlZzRFbmNvZGVkSW1tU2Vjb25kKHJkLCBpbW0pOworICAgICAgICB1aW50MTZfdCBp
bnN0cnVjdGlvbltdID0geworICAgICAgICAgICAgdHdvV29yZE9wNWk2SW1tNFJlZzRFbmNvZGVk
SW1tRmlyc3QoT1BfTU9WX2ltbV9UMywgaW1tKSwKKyAgICAgICAgICAgIHR3b1dvcmRPcDVpNklt
bTRSZWc0RW5jb2RlZEltbVNlY29uZChyZCwgaW1tKQorICAgICAgICB9OworICAgICAgICBwZXJm
b3JtSklUTWVtY3B5KGFkZHJlc3MsIGluc3RydWN0aW9uLCBzaXplb2YodWludDE2X3QpICogMik7
CiAgICAgICAgIGNhY2hlRmx1c2goYWRkcmVzcywgc2l6ZW9mKHVpbnQxNl90KSAqIDIpOwogICAg
IH0KICNlbmRpZgpAQCAtMjEyNSwyOSArMjEzMSwzMCBAQCBwdWJsaWM6CiAgICAgICAgIHJldHVy
biBtX2p1bXBzVG9MaW5rOwogICAgIH0KIAotICAgIHN0YXRpYyB2b2lkIEFMV0FZU19JTkxJTkUg
bGluayhMaW5rUmVjb3JkJiByZWNvcmQsIHVpbnQ4X3QqIGZyb20sIHVpbnQ4X3QqIHRvKQorICAg
IHN0YXRpYyB2b2lkIEFMV0FZU19JTkxJTkUgbGluayhMaW5rUmVjb3JkJiByZWNvcmQsIHVpbnQ4
X3QqIGZyb20sIGNvbnN0IHVpbnQ4X3QqIGZyb21JbnN0cnVjdGlvbjgsIHVpbnQ4X3QqIHRvKQog
ICAgIHsKKyAgICAgICAgY29uc3QgdWludDE2X3QqIGZyb21JbnN0cnVjdGlvbiA9IHJlaW50ZXJw
cmV0X2Nhc3RfcHRyPGNvbnN0IHVpbnQxNl90Kj4oZnJvbUluc3RydWN0aW9uOCk7CiAgICAgICAg
IHN3aXRjaCAocmVjb3JkLmxpbmtUeXBlKCkpIHsKICAgICAgICAgY2FzZSBMaW5rSnVtcFQxOgot
ICAgICAgICAgICAgbGlua0p1bXBUMShyZWNvcmQuY29uZGl0aW9uKCksIHJlaW50ZXJwcmV0X2Nh
c3RfcHRyPHVpbnQxNl90Kj4oZnJvbSksIHRvKTsKKyAgICAgICAgICAgIGxpbmtKdW1wVDEocmVj
b3JkLmNvbmRpdGlvbigpLCByZWludGVycHJldF9jYXN0X3B0cjx1aW50MTZfdCo+KGZyb20pLCBm
cm9tSW5zdHJ1Y3Rpb24sIHRvKTsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBjYXNlIExp
bmtKdW1wVDI6Ci0gICAgICAgICAgICBsaW5rSnVtcFQyKHJlaW50ZXJwcmV0X2Nhc3RfcHRyPHVp
bnQxNl90Kj4oZnJvbSksIHRvKTsKKyAgICAgICAgICAgIGxpbmtKdW1wVDIocmVpbnRlcnByZXRf
Y2FzdF9wdHI8dWludDE2X3QqPihmcm9tKSwgZnJvbUluc3RydWN0aW9uLCB0byk7CiAgICAgICAg
ICAgICBicmVhazsKICAgICAgICAgY2FzZSBMaW5rSnVtcFQzOgotICAgICAgICAgICAgbGlua0p1
bXBUMyhyZWNvcmQuY29uZGl0aW9uKCksIHJlaW50ZXJwcmV0X2Nhc3RfcHRyPHVpbnQxNl90Kj4o
ZnJvbSksIHRvKTsKKyAgICAgICAgICAgIGxpbmtKdW1wVDMocmVjb3JkLmNvbmRpdGlvbigpLCBy
ZWludGVycHJldF9jYXN0X3B0cjx1aW50MTZfdCo+KGZyb20pLCBmcm9tSW5zdHJ1Y3Rpb24sIHRv
KTsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBjYXNlIExpbmtKdW1wVDQ6Ci0gICAgICAg
ICAgICBsaW5rSnVtcFQ0KHJlaW50ZXJwcmV0X2Nhc3RfcHRyPHVpbnQxNl90Kj4oZnJvbSksIHRv
KTsKKyAgICAgICAgICAgIGxpbmtKdW1wVDQocmVpbnRlcnByZXRfY2FzdF9wdHI8dWludDE2X3Qq
Pihmcm9tKSwgZnJvbUluc3RydWN0aW9uLCB0byk7CiAgICAgICAgICAgICBicmVhazsKICAgICAg
ICAgY2FzZSBMaW5rQ29uZGl0aW9uYWxKdW1wVDQ6Ci0gICAgICAgICAgICBsaW5rQ29uZGl0aW9u
YWxKdW1wVDQocmVjb3JkLmNvbmRpdGlvbigpLCByZWludGVycHJldF9jYXN0X3B0cjx1aW50MTZf
dCo+KGZyb20pLCB0byk7CisgICAgICAgICAgICBsaW5rQ29uZGl0aW9uYWxKdW1wVDQocmVjb3Jk
LmNvbmRpdGlvbigpLCByZWludGVycHJldF9jYXN0X3B0cjx1aW50MTZfdCo+KGZyb20pLCBmcm9t
SW5zdHJ1Y3Rpb24sIHRvKTsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBjYXNlIExpbmtD
b25kaXRpb25hbEJYOgotICAgICAgICAgICAgbGlua0NvbmRpdGlvbmFsQlgocmVjb3JkLmNvbmRp
dGlvbigpLCByZWludGVycHJldF9jYXN0X3B0cjx1aW50MTZfdCo+KGZyb20pLCB0byk7CisgICAg
ICAgICAgICBsaW5rQ29uZGl0aW9uYWxCWChyZWNvcmQuY29uZGl0aW9uKCksIHJlaW50ZXJwcmV0
X2Nhc3RfcHRyPHVpbnQxNl90Kj4oZnJvbSksIGZyb21JbnN0cnVjdGlvbiwgdG8pOwogICAgICAg
ICAgICAgYnJlYWs7CiAgICAgICAgIGNhc2UgTGlua0JYOgotICAgICAgICAgICAgbGlua0JYKHJl
aW50ZXJwcmV0X2Nhc3RfcHRyPHVpbnQxNl90Kj4oZnJvbSksIHRvKTsKKyAgICAgICAgICAgIGxp
bmtCWChyZWludGVycHJldF9jYXN0X3B0cjx1aW50MTZfdCo+KGZyb20pLCBmcm9tSW5zdHJ1Y3Rp
b24sIHRvKTsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBkZWZhdWx0OgogICAgICAgICAg
ICAgUkVMRUFTRV9BU1NFUlRfTk9UX1JFQUNIRUQoKTsKQEAgLTIxODQsNyArMjE5MSw3IEBAIHB1
YmxpYzoKICAgICAgICAgQVNTRVJUKGZyb20uaXNTZXQoKSk7CiAgICAgICAgIAogICAgICAgICB1
aW50MTZfdCogbG9jYXRpb24gPSByZWludGVycHJldF9jYXN0PHVpbnQxNl90Kj4ocmVpbnRlcnBy
ZXRfY2FzdDxpbnRwdHJfdD4oY29kZSkgKyBmcm9tLm1fb2Zmc2V0KTsKLSAgICAgICAgbGlua0p1
bXBBYnNvbHV0ZShsb2NhdGlvbiwgdG8pOworICAgICAgICBsaW5rSnVtcEFic29sdXRlKGxvY2F0
aW9uLCBsb2NhdGlvbiwgdG8pOwogICAgIH0KIAogICAgIHN0YXRpYyB2b2lkIGxpbmtDYWxsKHZv
aWQqIGNvZGUsIEFzc2VtYmxlckxhYmVsIGZyb20sIHZvaWQqIHRvKQpAQCAtMjIwNSw3ICsyMjEy
LDcgQEAgcHVibGljOgogICAgICAgICBBU1NFUlQoIShyZWludGVycHJldF9jYXN0PGludHB0cl90
Pihmcm9tKSAmIDEpKTsKICAgICAgICAgQVNTRVJUKCEocmVpbnRlcnByZXRfY2FzdDxpbnRwdHJf
dD4odG8pICYgMSkpOwogCi0gICAgICAgIGxpbmtKdW1wQWJzb2x1dGUocmVpbnRlcnByZXRfY2Fz
dDx1aW50MTZfdCo+KGZyb20pLCB0byk7CisgICAgICAgIGxpbmtKdW1wQWJzb2x1dGUocmVpbnRl
cnByZXRfY2FzdDx1aW50MTZfdCo+KGZyb20pLCByZWludGVycHJldF9jYXN0PHVpbnQxNl90Kj4o
ZnJvbSksIHRvKTsKIAogICAgICAgICBjYWNoZUZsdXNoKHJlaW50ZXJwcmV0X2Nhc3Q8dWludDE2
X3QqPihmcm9tKSAtIDUsIDUgKiBzaXplb2YodWludDE2X3QpKTsKICAgICB9CkBAIC0yMjQ0LDgg
KzIyNTEsOSBAQCBwdWJsaWM6CiAgICAgICAgIG9mZnNldCB8PSAoMSA8PCAxMSk7CiAKICAgICAg
ICAgdWludDE2X3QqIGxvY2F0aW9uID0gcmVpbnRlcnByZXRfY2FzdDx1aW50MTZfdCo+KHdoZXJl
KTsKLSAgICAgICAgbG9jYXRpb25bMV0gJj0gfigoMSA8PCAxMikgLSAxKTsKLSAgICAgICAgbG9j
YXRpb25bMV0gfD0gb2Zmc2V0OworICAgICAgICB1aW50MTZfdCBpbnN0cnVjdGlvbiA9IGxvY2F0
aW9uWzFdICYgfigoMSA8PCAxMikgLSAxKTsKKyAgICAgICAgaW5zdHJ1Y3Rpb24gfD0gb2Zmc2V0
OworICAgICAgICBwZXJmb3JtSklUTWVtY3B5KGxvY2F0aW9uICsgMSwgJmluc3RydWN0aW9uLCBz
aXplb2YodWludDE2X3QpKTsKICAgICAgICAgY2FjaGVGbHVzaChsb2NhdGlvbiwgc2l6ZW9mKHVp
bnQxNl90KSAqIDIpOwogICAgIH0KIApAQCAtMjI2OSwxNiArMjI3NywxNiBAQCBwdWJsaWM6CiAj
aWYgT1MoTElOVVgpCiAgICAgICAgIGlmIChjYW5CZUp1bXBUNChyZWludGVycHJldF9jYXN0PHVp
bnQxNl90Kj4oaW5zdHJ1Y3Rpb25TdGFydCksIHRvKSkgewogICAgICAgICAgICAgdWludDE2X3Qq
IHB0ciA9IHJlaW50ZXJwcmV0X2Nhc3Q8dWludDE2X3QqPihpbnN0cnVjdGlvblN0YXJ0KSArIDI7
Ci0gICAgICAgICAgICBsaW5rSnVtcFQ0KHB0ciwgdG8pOworICAgICAgICAgICAgbGlua0p1bXBU
NChwdHIsIHB0ciwgdG8pOwogICAgICAgICAgICAgY2FjaGVGbHVzaChwdHIgLSAyLCBzaXplb2Yo
dWludDE2X3QpICogMik7CiAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICB1aW50MTZfdCog
cHRyID0gcmVpbnRlcnByZXRfY2FzdDx1aW50MTZfdCo+KGluc3RydWN0aW9uU3RhcnQpICsgNTsK
LSAgICAgICAgICAgIGxpbmtCWChwdHIsIHRvKTsKKyAgICAgICAgICAgIGxpbmtCWChwdHIsIHB0
ciwgdG8pOwogICAgICAgICAgICAgY2FjaGVGbHVzaChwdHIgLSA1LCBzaXplb2YodWludDE2X3Qp
ICogNSk7CiAgICAgICAgIH0KICNlbHNlCiAgICAgICAgIHVpbnQxNl90KiBwdHIgPSByZWludGVy
cHJldF9jYXN0PHVpbnQxNl90Kj4oaW5zdHJ1Y3Rpb25TdGFydCkgKyAyOwotICAgICAgICBsaW5r
SnVtcFQ0KHB0ciwgdG8pOworICAgICAgICBsaW5rSnVtcFQ0KHB0ciwgcHRyLCB0byk7CiAgICAg
ICAgIGNhY2hlRmx1c2gocHRyIC0gMiwgc2l6ZW9mKHVpbnQxNl90KSAqIDIpOwogI2VuZGlmCiAg
ICAgfQpAQCAtMjI5OSwxNCArMjMwNywxNyBAQCBwdWJsaWM6CiAgICAgICAgIHN3aXRjaCAocHRy
WzBdICYgMHhGRkYwKSB7CiAgICAgICAgIGNhc2UgT1BfTERSX2ltbV9UMzoKICAgICAgICAgICAg
IGJyZWFrOwotICAgICAgICBjYXNlIE9QX0FERF9pbW1fVDM6CisgICAgICAgIGNhc2UgT1BfQURE
X2ltbV9UMzogewogICAgICAgICAgICAgQVNTRVJUKCEocHRyWzFdICYgMHhGMDAwKSk7Ci0gICAg
ICAgICAgICBwdHJbMF0gJj0gMHgwMDBGOwotICAgICAgICAgICAgcHRyWzBdIHw9IE9QX0xEUl9p
bW1fVDM7Ci0gICAgICAgICAgICBwdHJbMV0gfD0gKHB0clsxXSAmIDB4MEYwMCkgPDwgNDsKLSAg
ICAgICAgICAgIHB0clsxXSAmPSAweEYwRkY7CisgICAgICAgICAgICB1aW50MTZfdCBpbnN0cnVj
dGlvbnNbMl07CisgICAgICAgICAgICBpbnN0cnVjdGlvbnNbMF0gPSBwdHJbMF0gJiAweDAwMEY7
CisgICAgICAgICAgICBpbnN0cnVjdGlvbnNbMF0gfD0gT1BfTERSX2ltbV9UMzsKKyAgICAgICAg
ICAgIGluc3RydWN0aW9uc1sxXSA9IHB0clsxXSB8IChwdHJbMV0gJiAweDBGMDApIDw8IDQ7Cisg
ICAgICAgICAgICBpbnN0cnVjdGlvbnNbMV0gJj0gMHhGMEZGOworICAgICAgICAgICAgcGVyZm9y
bUpJVE1lbWNweShwdHIsIGluc3RydWN0aW9ucywgc2l6ZW9mKHVpbnQxNl90KSAqIDIpOwogICAg
ICAgICAgICAgY2FjaGVGbHVzaChwdHIsIHNpemVvZih1aW50MTZfdCkgKiAyKTsKICAgICAgICAg
ICAgIGJyZWFrOworICAgICAgICB9CiAgICAgICAgIGRlZmF1bHQ6CiAgICAgICAgICAgICBSRUxF
QVNFX0FTU0VSVF9OT1RfUkVBQ0hFRCgpOwogICAgICAgICB9CkBAIC0yMzE3LDE0ICsyMzI4LDE3
IEBAIHB1YmxpYzoKICAgICAgICAgQVNTRVJUKCEoYml0d2lzZV9jYXN0PHVpbnRwdHJfdD4oaW5z
dHJ1Y3Rpb25TdGFydCkgJiAxKSk7CiAgICAgICAgIHVpbnQxNl90KiBwdHIgPSByZWludGVycHJl
dF9jYXN0PHVpbnQxNl90Kj4oaW5zdHJ1Y3Rpb25TdGFydCk7CiAgICAgICAgIHN3aXRjaCAocHRy
WzBdICYgMHhGRkYwKSB7Ci0gICAgICAgIGNhc2UgT1BfTERSX2ltbV9UMzoKKyAgICAgICAgY2Fz
ZSBPUF9MRFJfaW1tX1QzOiB7CiAgICAgICAgICAgICBBU1NFUlQoIShwdHJbMV0gJiAweDBGMDAp
KTsKLSAgICAgICAgICAgIHB0clswXSAmPSAweDAwMEY7Ci0gICAgICAgICAgICBwdHJbMF0gfD0g
T1BfQUREX2ltbV9UMzsKLSAgICAgICAgICAgIHB0clsxXSB8PSAocHRyWzFdICYgMHhGMDAwKSA+
PiA0OwotICAgICAgICAgICAgcHRyWzFdICY9IDB4MEZGRjsKKyAgICAgICAgICAgIHVpbnQxNl90
IGluc3RydWN0aW9uc1syXTsKKyAgICAgICAgICAgIGluc3RydWN0aW9uc1swXSA9IHB0clswXSAm
IDB4MDAwRjsKKyAgICAgICAgICAgIGluc3RydWN0aW9uc1swXSB8PSBPUF9BRERfaW1tX1QzOwor
ICAgICAgICAgICAgaW5zdHJ1Y3Rpb25zWzFdID0gcHRyWzFdIHwgKHB0clsxXSAmIDB4RjAwMCkg
Pj4gNDsKKyAgICAgICAgICAgIGluc3RydWN0aW9uc1sxXSAmPSAweDBGRkY7CisgICAgICAgICAg
ICBwZXJmb3JtSklUTWVtY3B5KHB0ciwgaW5zdHJ1Y3Rpb25zLCBzaXplb2YodWludDE2X3QpICog
Mik7CiAgICAgICAgICAgICBjYWNoZUZsdXNoKHB0ciwgc2l6ZW9mKHVpbnQxNl90KSAqIDIpOwog
ICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KICAgICAgICAgY2FzZSBPUF9BRERfaW1tX1Qz
OgogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGRlZmF1bHQ6CkBAIC0yNDUyLDExICsyNDY2
LDEzIEBAIHByaXZhdGU6CiAKICAgICAgICAgQVJNVGh1bWJJbW1lZGlhdGUgbG8xNiA9IEFSTVRo
dW1iSW1tZWRpYXRlOjptYWtlVUludDE2KHN0YXRpY19jYXN0PHVpbnQxNl90Pih2YWx1ZSkpOwog
ICAgICAgICBBUk1UaHVtYkltbWVkaWF0ZSBoaTE2ID0gQVJNVGh1bWJJbW1lZGlhdGU6Om1ha2VV
SW50MTYoc3RhdGljX2Nhc3Q8dWludDE2X3Q+KHZhbHVlID4+IDE2KSk7Ci0gICAgICAgIGxvY2F0
aW9uWy00XSA9IHR3b1dvcmRPcDVpNkltbTRSZWc0RW5jb2RlZEltbUZpcnN0KE9QX01PVl9pbW1f
VDMsIGxvMTYpOwotICAgICAgICBsb2NhdGlvblstM10gPSB0d29Xb3JkT3A1aTZJbW00UmVnNEVu
Y29kZWRJbW1TZWNvbmQoKGxvY2F0aW9uWy0zXSA+PiA4KSAmIDB4ZiwgbG8xNik7Ci0gICAgICAg
IGxvY2F0aW9uWy0yXSA9IHR3b1dvcmRPcDVpNkltbTRSZWc0RW5jb2RlZEltbUZpcnN0KE9QX01P
VlQsIGhpMTYpOwotICAgICAgICBsb2NhdGlvblstMV0gPSB0d29Xb3JkT3A1aTZJbW00UmVnNEVu
Y29kZWRJbW1TZWNvbmQoKGxvY2F0aW9uWy0xXSA+PiA4KSAmIDB4ZiwgaGkxNik7CisgICAgICAg
IHVpbnQxNl90IGluc3RydWN0aW9uc1s0XTsKKyAgICAgICAgaW5zdHJ1Y3Rpb25zWzBdID0gdHdv
V29yZE9wNWk2SW1tNFJlZzRFbmNvZGVkSW1tRmlyc3QoT1BfTU9WX2ltbV9UMywgbG8xNik7Cisg
ICAgICAgIGluc3RydWN0aW9uc1sxXSA9IHR3b1dvcmRPcDVpNkltbTRSZWc0RW5jb2RlZEltbVNl
Y29uZCgobG9jYXRpb25bLTNdID4+IDgpICYgMHhmLCBsbzE2KTsKKyAgICAgICAgaW5zdHJ1Y3Rp
b25zWzJdID0gdHdvV29yZE9wNWk2SW1tNFJlZzRFbmNvZGVkSW1tRmlyc3QoT1BfTU9WVCwgaGkx
Nik7CisgICAgICAgIGluc3RydWN0aW9uc1szXSA9IHR3b1dvcmRPcDVpNkltbTRSZWc0RW5jb2Rl
ZEltbVNlY29uZCgobG9jYXRpb25bLTFdID4+IDgpICYgMHhmLCBoaTE2KTsKIAorICAgICAgICBw
ZXJmb3JtSklUTWVtY3B5KGxvY2F0aW9uIC0gNCwgaW5zdHJ1Y3Rpb25zLCA0ICogc2l6ZW9mKHVp
bnQxNl90KSk7CiAgICAgICAgIGlmIChmbHVzaCkKICAgICAgICAgICAgIGNhY2hlRmx1c2gobG9j
YXRpb24gLSA0LCA0ICogc2l6ZW9mKHVpbnQxNl90KSk7CiAgICAgfQpAQCAtMjQ4NCw4ICsyNTAw
LDEwIEBAIHByaXZhdGU6CiAgICAgICAgIEFTU0VSVChpbW0uaXNWYWxpZCgpKTsKICAgICAgICAg
QVNTRVJUKGltbS5pc1VJbnQ3KCkpOwogICAgICAgICB1aW50MTZfdCogbG9jYXRpb24gPSByZWlu
dGVycHJldF9jYXN0PHVpbnQxNl90Kj4oY29kZSk7Ci0gICAgICAgIGxvY2F0aW9uWzBdICY9IH4o
KHN0YXRpY19jYXN0PHVpbnQxNl90PigweDdmKSA+PiAyKSA8PCA2KTsKLSAgICAgICAgbG9jYXRp
b25bMF0gfD0gKGltbS5nZXRVSW50NygpID4+IDIpIDw8IDY7CisgICAgICAgIHVpbnQxNl90IGlu
c3RydWN0aW9uOworICAgICAgICBpbnN0cnVjdGlvbiA9IGxvY2F0aW9uWzBdICYgfigoc3RhdGlj
X2Nhc3Q8dWludDE2X3Q+KDB4N2YpID4+IDIpIDw8IDYpOworICAgICAgICBpbnN0cnVjdGlvbiB8
PSAoaW1tLmdldFVJbnQ3KCkgPj4gMikgPDwgNjsKKyAgICAgICAgcGVyZm9ybUpJVE1lbWNweShs
b2NhdGlvbiwgJmluc3RydWN0aW9uLCBzaXplb2YodWludDE2X3QpKTsKICAgICAgICAgY2FjaGVG
bHVzaChsb2NhdGlvbiwgc2l6ZW9mKHVpbnQxNl90KSk7CiAgICAgfQogCkBAIC0yNDk0LDM5ICsy
NTEyLDM5IEBAIHByaXZhdGU6CiAgICAgICAgIHNldEludDMyKGNvZGUsIHJlaW50ZXJwcmV0X2Nh
c3Q8dWludDMyX3Q+KHZhbHVlKSwgZmx1c2gpOwogICAgIH0KIAotICAgIHN0YXRpYyBib29sIGlz
Qih2b2lkKiBhZGRyZXNzKQorICAgIHN0YXRpYyBib29sIGlzQihjb25zdCB2b2lkKiBhZGRyZXNz
KQogICAgIHsKLSAgICAgICAgdWludDE2X3QqIGluc3RydWN0aW9uID0gc3RhdGljX2Nhc3Q8dWlu
dDE2X3QqPihhZGRyZXNzKTsKKyAgICAgICAgY29uc3QgdWludDE2X3QqIGluc3RydWN0aW9uID0g
c3RhdGljX2Nhc3Q8Y29uc3QgdWludDE2X3QqPihhZGRyZXNzKTsKICAgICAgICAgcmV0dXJuICgo
aW5zdHJ1Y3Rpb25bMF0gJiAweGY4MDApID09IE9QX0JfVDRhKSAmJiAoKGluc3RydWN0aW9uWzFd
ICYgMHhkMDAwKSA9PSBPUF9CX1Q0Yik7CiAgICAgfQogCi0gICAgc3RhdGljIGJvb2wgaXNCWCh2
b2lkKiBhZGRyZXNzKQorICAgIHN0YXRpYyBib29sIGlzQlgoY29uc3Qgdm9pZCogYWRkcmVzcykK
ICAgICB7Ci0gICAgICAgIHVpbnQxNl90KiBpbnN0cnVjdGlvbiA9IHN0YXRpY19jYXN0PHVpbnQx
Nl90Kj4oYWRkcmVzcyk7CisgICAgICAgIGNvbnN0IHVpbnQxNl90KiBpbnN0cnVjdGlvbiA9IHN0
YXRpY19jYXN0PGNvbnN0IHVpbnQxNl90Kj4oYWRkcmVzcyk7CiAgICAgICAgIHJldHVybiAoaW5z
dHJ1Y3Rpb25bMF0gJiAweGZmODcpID09IE9QX0JYOwogICAgIH0KIAotICAgIHN0YXRpYyBib29s
IGlzTU9WX2ltbV9UMyh2b2lkKiBhZGRyZXNzKQorICAgIHN0YXRpYyBib29sIGlzTU9WX2ltbV9U
Myhjb25zdCB2b2lkKiBhZGRyZXNzKQogICAgIHsKLSAgICAgICAgdWludDE2X3QqIGluc3RydWN0
aW9uID0gc3RhdGljX2Nhc3Q8dWludDE2X3QqPihhZGRyZXNzKTsKKyAgICAgICAgY29uc3QgdWlu
dDE2X3QqIGluc3RydWN0aW9uID0gc3RhdGljX2Nhc3Q8Y29uc3QgdWludDE2X3QqPihhZGRyZXNz
KTsKICAgICAgICAgcmV0dXJuICgoaW5zdHJ1Y3Rpb25bMF0gJiAweEZCRjApID09IE9QX01PVl9p
bW1fVDMpICYmICgoaW5zdHJ1Y3Rpb25bMV0gJiAweDgwMDApID09IDApOwogICAgIH0KIAotICAg
IHN0YXRpYyBib29sIGlzTU9WVCh2b2lkKiBhZGRyZXNzKQorICAgIHN0YXRpYyBib29sIGlzTU9W
VChjb25zdCB2b2lkKiBhZGRyZXNzKQogICAgIHsKLSAgICAgICAgdWludDE2X3QqIGluc3RydWN0
aW9uID0gc3RhdGljX2Nhc3Q8dWludDE2X3QqPihhZGRyZXNzKTsKKyAgICAgICAgY29uc3QgdWlu
dDE2X3QqIGluc3RydWN0aW9uID0gc3RhdGljX2Nhc3Q8Y29uc3QgdWludDE2X3QqPihhZGRyZXNz
KTsKICAgICAgICAgcmV0dXJuICgoaW5zdHJ1Y3Rpb25bMF0gJiAweEZCRjApID09IE9QX01PVlQp
ICYmICgoaW5zdHJ1Y3Rpb25bMV0gJiAweDgwMDApID09IDApOwogICAgIH0KIAotICAgIHN0YXRp
YyBib29sIGlzTk9QX1QxKHZvaWQqIGFkZHJlc3MpCisgICAgc3RhdGljIGJvb2wgaXNOT1BfVDEo
Y29uc3Qgdm9pZCogYWRkcmVzcykKICAgICB7Ci0gICAgICAgIHVpbnQxNl90KiBpbnN0cnVjdGlv
biA9IHN0YXRpY19jYXN0PHVpbnQxNl90Kj4oYWRkcmVzcyk7CisgICAgICAgIGNvbnN0IHVpbnQx
Nl90KiBpbnN0cnVjdGlvbiA9IHN0YXRpY19jYXN0PGNvbnN0IHVpbnQxNl90Kj4oYWRkcmVzcyk7
CiAgICAgICAgIHJldHVybiBpbnN0cnVjdGlvblswXSA9PSBPUF9OT1BfVDE7CiAgICAgfQogCi0g
ICAgc3RhdGljIGJvb2wgaXNOT1BfVDIodm9pZCogYWRkcmVzcykKKyAgICBzdGF0aWMgYm9vbCBp
c05PUF9UMihjb25zdCB2b2lkKiBhZGRyZXNzKQogICAgIHsKLSAgICAgICAgdWludDE2X3QqIGlu
c3RydWN0aW9uID0gc3RhdGljX2Nhc3Q8dWludDE2X3QqPihhZGRyZXNzKTsKKyAgICAgICAgY29u
c3QgdWludDE2X3QqIGluc3RydWN0aW9uID0gc3RhdGljX2Nhc3Q8Y29uc3QgdWludDE2X3QqPihh
ZGRyZXNzKTsKICAgICAgICAgcmV0dXJuIChpbnN0cnVjdGlvblswXSA9PSBPUF9OT1BfVDJhKSAm
JiAoaW5zdHJ1Y3Rpb25bMV0gPT0gT1BfTk9QX1QyYik7CiAgICAgfQogCkBAIC0yNTc0LDcgKzI1
OTIsNyBAQCBwcml2YXRlOgogICAgICAgICByZXR1cm4gKChyZWxhdGl2ZSA8PCA3KSA+PiA3KSA9
PSByZWxhdGl2ZTsKICAgICB9CiAgICAgCi0gICAgc3RhdGljIHZvaWQgbGlua0p1bXBUMShDb25k
aXRpb24gY29uZCwgdWludDE2X3QqIGluc3RydWN0aW9uLCB2b2lkKiB0YXJnZXQpCisgICAgc3Rh
dGljIHZvaWQgbGlua0p1bXBUMShDb25kaXRpb24gY29uZCwgdWludDE2X3QqIHdyaXRlVGFyZ2V0
LCBjb25zdCB1aW50MTZfdCogaW5zdHJ1Y3Rpb24sIHZvaWQqIHRhcmdldCkKICAgICB7CiAgICAg
ICAgIC8vIEZJTVhFOiB0aGlzIHNob3VsZCBiZSB1cCBpbiB0aGUgTWFjcm9Bc3NlbWJsZXIgbGF5
ZXIuIDotKCAgICAgICAgCiAgICAgICAgIEFTU0VSVCghKHJlaW50ZXJwcmV0X2Nhc3Q8aW50cHRy
X3Q+KGluc3RydWN0aW9uKSAmIDEpKTsKQEAgLTI1ODksMTAgKzI2MDcsMTEgQEAgcHJpdmF0ZToK
ICAgICAgICAgCiAgICAgICAgIC8vIEFsbCBicmFuY2ggb2Zmc2V0cyBzaG91bGQgYmUgYW4gZXZl
biBkaXN0YW5jZS4KICAgICAgICAgQVNTRVJUKCEocmVsYXRpdmUgJiAxKSk7Ci0gICAgICAgIGlu
c3RydWN0aW9uWy0xXSA9IE9QX0JfVDEgfCAoKGNvbmQgJiAweGYpIDw8IDgpIHwgKChyZWxhdGl2
ZSAmIDB4MWZlKSA+PiAxKTsKKyAgICAgICAgdWludDE2X3QgbmV3SW5zdHJ1Y3Rpb24gPSBPUF9C
X1QxIHwgKChjb25kICYgMHhmKSA8PCA4KSB8ICgocmVsYXRpdmUgJiAweDFmZSkgPj4gMSk7Cisg
ICAgICAgIHBlcmZvcm1KSVRNZW1jcHkod3JpdGVUYXJnZXQgLSAxLCAmbmV3SW5zdHJ1Y3Rpb24s
IHNpemVvZih1aW50MTZfdCkpOwogICAgIH0KICAgICAKLSAgICBzdGF0aWMgdm9pZCBsaW5rSnVt
cFQyKHVpbnQxNl90KiBpbnN0cnVjdGlvbiwgdm9pZCogdGFyZ2V0KQorICAgIHN0YXRpYyB2b2lk
IGxpbmtKdW1wVDIodWludDE2X3QqIHdyaXRlVGFyZ2V0LCBjb25zdCB1aW50MTZfdCogaW5zdHJ1
Y3Rpb24sIHZvaWQqIHRhcmdldCkKICAgICB7CiAgICAgICAgIC8vIEZJTVhFOiB0aGlzIHNob3Vs
ZCBiZSB1cCBpbiB0aGUgTWFjcm9Bc3NlbWJsZXIgbGF5ZXIuIDotKCAgICAgICAgCiAgICAgICAg
IEFTU0VSVCghKHJlaW50ZXJwcmV0X2Nhc3Q8aW50cHRyX3Q+KGluc3RydWN0aW9uKSAmIDEpKTsK
QEAgLTI2MDcsMTAgKzI2MjYsMTEgQEAgcHJpdmF0ZToKICAgICAgICAgCiAgICAgICAgIC8vIEFs
bCBicmFuY2ggb2Zmc2V0cyBzaG91bGQgYmUgYW4gZXZlbiBkaXN0YW5jZS4KICAgICAgICAgQVNT
RVJUKCEocmVsYXRpdmUgJiAxKSk7Ci0gICAgICAgIGluc3RydWN0aW9uWy0xXSA9IE9QX0JfVDIg
fCAoKHJlbGF0aXZlICYgMHhmZmUpID4+IDEpOworICAgICAgICB1aW50MTZfdCBuZXdJbnN0cnVj
dGlvbiA9IE9QX0JfVDIgfCAoKHJlbGF0aXZlICYgMHhmZmUpID4+IDEpOworICAgICAgICBwZXJm
b3JtSklUTWVtY3B5KHdyaXRlVGFyZ2V0IC0gMSwgJm5ld0luc3RydWN0aW9uLCBzaXplb2YodWlu
dDE2X3QpKTsKICAgICB9CiAgICAgCi0gICAgc3RhdGljIHZvaWQgbGlua0p1bXBUMyhDb25kaXRp
b24gY29uZCwgdWludDE2X3QqIGluc3RydWN0aW9uLCB2b2lkKiB0YXJnZXQpCisgICAgc3RhdGlj
IHZvaWQgbGlua0p1bXBUMyhDb25kaXRpb24gY29uZCwgdWludDE2X3QqIHdyaXRlVGFyZ2V0LCBj
b25zdCB1aW50MTZfdCogaW5zdHJ1Y3Rpb24sIHZvaWQqIHRhcmdldCkKICAgICB7CiAgICAgICAg
IC8vIEZJTVhFOiB0aGlzIHNob3VsZCBiZSB1cCBpbiB0aGUgTWFjcm9Bc3NlbWJsZXIgbGF5ZXIu
IDotKAogICAgICAgICBBU1NFUlQoIShyZWludGVycHJldF9jYXN0PGludHB0cl90PihpbnN0cnVj
dGlvbikgJiAxKSk7CkBAIC0yNjIxLDExICsyNjQxLDEzIEBAIHByaXZhdGU6CiAgICAgICAgIAog
ICAgICAgICAvLyBBbGwgYnJhbmNoIG9mZnNldHMgc2hvdWxkIGJlIGFuIGV2ZW4gZGlzdGFuY2Uu
CiAgICAgICAgIEFTU0VSVCghKHJlbGF0aXZlICYgMSkpOwotICAgICAgICBpbnN0cnVjdGlvblst
Ml0gPSBPUF9CX1QzYSB8ICgocmVsYXRpdmUgJiAweDEwMDAwMCkgPj4gMTApIHwgKChjb25kICYg
MHhmKSA8PCA2KSB8ICgocmVsYXRpdmUgJiAweDNmMDAwKSA+PiAxMik7Ci0gICAgICAgIGluc3Ry
dWN0aW9uWy0xXSA9IE9QX0JfVDNiIHwgKChyZWxhdGl2ZSAmIDB4ODAwMDApID4+IDgpIHwgKChy
ZWxhdGl2ZSAmIDB4NDAwMDApID4+IDUpIHwgKChyZWxhdGl2ZSAmIDB4ZmZlKSA+PiAxKTsKKyAg
ICAgICAgdWludDE2X3QgaW5zdHJ1Y3Rpb25zWzJdOworICAgICAgICBpbnN0cnVjdGlvbnNbMF0g
PSBPUF9CX1QzYSB8ICgocmVsYXRpdmUgJiAweDEwMDAwMCkgPj4gMTApIHwgKChjb25kICYgMHhm
KSA8PCA2KSB8ICgocmVsYXRpdmUgJiAweDNmMDAwKSA+PiAxMik7CisgICAgICAgIGluc3RydWN0
aW9uc1sxXSA9IE9QX0JfVDNiIHwgKChyZWxhdGl2ZSAmIDB4ODAwMDApID4+IDgpIHwgKChyZWxh
dGl2ZSAmIDB4NDAwMDApID4+IDUpIHwgKChyZWxhdGl2ZSAmIDB4ZmZlKSA+PiAxKTsKKyAgICAg
ICAgcGVyZm9ybUpJVE1lbWNweSh3cml0ZVRhcmdldCAtIDIsIGluc3RydWN0aW9ucywgMiAqIHNp
emVvZih1aW50MTZfdCkpOwogICAgIH0KICAgICAKLSAgICBzdGF0aWMgdm9pZCBsaW5rSnVtcFQ0
KHVpbnQxNl90KiBpbnN0cnVjdGlvbiwgdm9pZCogdGFyZ2V0KQorICAgIHN0YXRpYyB2b2lkIGxp
bmtKdW1wVDQodWludDE2X3QqIHdyaXRlVGFyZ2V0LCBjb25zdCB1aW50MTZfdCogaW5zdHJ1Y3Rp
b24sIHZvaWQqIHRhcmdldCkKICAgICB7CiAgICAgICAgIC8vIEZJTVhFOiB0aGlzIHNob3VsZCBi
ZSB1cCBpbiB0aGUgTWFjcm9Bc3NlbWJsZXIgbGF5ZXIuIDotKCAgICAgICAgCiAgICAgICAgIEFT
U0VSVCghKHJlaW50ZXJwcmV0X2Nhc3Q8aW50cHRyX3Q+KGluc3RydWN0aW9uKSAmIDEpKTsKQEAg
LTI2MzksNDcgKzI2NjEsNTUgQEAgcHJpdmF0ZToKICAgICAgICAgCiAgICAgICAgIC8vIEFsbCBi
cmFuY2ggb2Zmc2V0cyBzaG91bGQgYmUgYW4gZXZlbiBkaXN0YW5jZS4KICAgICAgICAgQVNTRVJU
KCEocmVsYXRpdmUgJiAxKSk7Ci0gICAgICAgIGluc3RydWN0aW9uWy0yXSA9IE9QX0JfVDRhIHwg
KChyZWxhdGl2ZSAmIDB4MTAwMDAwMCkgPj4gMTQpIHwgKChyZWxhdGl2ZSAmIDB4M2ZmMDAwKSA+
PiAxMik7Ci0gICAgICAgIGluc3RydWN0aW9uWy0xXSA9IE9QX0JfVDRiIHwgKChyZWxhdGl2ZSAm
IDB4ODAwMDAwKSA+PiAxMCkgfCAoKHJlbGF0aXZlICYgMHg0MDAwMDApID4+IDExKSB8ICgocmVs
YXRpdmUgJiAweGZmZSkgPj4gMSk7CisgICAgICAgIHVpbnQxNl90IGluc3RydWN0aW9uc1syXTsK
KyAgICAgICAgaW5zdHJ1Y3Rpb25zWzBdID0gT1BfQl9UNGEgfCAoKHJlbGF0aXZlICYgMHgxMDAw
MDAwKSA+PiAxNCkgfCAoKHJlbGF0aXZlICYgMHgzZmYwMDApID4+IDEyKTsKKyAgICAgICAgaW5z
dHJ1Y3Rpb25zWzFdID0gT1BfQl9UNGIgfCAoKHJlbGF0aXZlICYgMHg4MDAwMDApID4+IDEwKSB8
ICgocmVsYXRpdmUgJiAweDQwMDAwMCkgPj4gMTEpIHwgKChyZWxhdGl2ZSAmIDB4ZmZlKSA+PiAx
KTsKKyAgICAgICAgcGVyZm9ybUpJVE1lbWNweSh3cml0ZVRhcmdldCAtIDIsIGluc3RydWN0aW9u
cywgMiAqIHNpemVvZih1aW50MTZfdCkpOwogICAgIH0KICAgICAKLSAgICBzdGF0aWMgdm9pZCBs
aW5rQ29uZGl0aW9uYWxKdW1wVDQoQ29uZGl0aW9uIGNvbmQsIHVpbnQxNl90KiBpbnN0cnVjdGlv
biwgdm9pZCogdGFyZ2V0KQorICAgIHN0YXRpYyB2b2lkIGxpbmtDb25kaXRpb25hbEp1bXBUNChD
b25kaXRpb24gY29uZCwgdWludDE2X3QqIHdyaXRlVGFyZ2V0LCBjb25zdCB1aW50MTZfdCogaW5z
dHJ1Y3Rpb24sIHZvaWQqIHRhcmdldCkKICAgICB7CiAgICAgICAgIC8vIEZJTVhFOiB0aGlzIHNo
b3VsZCBiZSB1cCBpbiB0aGUgTWFjcm9Bc3NlbWJsZXIgbGF5ZXIuIDotKCAgICAgICAgCiAgICAg
ICAgIEFTU0VSVCghKHJlaW50ZXJwcmV0X2Nhc3Q8aW50cHRyX3Q+KGluc3RydWN0aW9uKSAmIDEp
KTsKICAgICAgICAgQVNTRVJUKCEocmVpbnRlcnByZXRfY2FzdDxpbnRwdHJfdD4odGFyZ2V0KSAm
IDEpKTsKICAgICAgICAgCi0gICAgICAgIGluc3RydWN0aW9uWy0zXSA9IGlmVGhlbkVsc2UoY29u
ZCkgfCBPUF9JVDsKLSAgICAgICAgbGlua0p1bXBUNChpbnN0cnVjdGlvbiwgdGFyZ2V0KTsKKyAg
ICAgICAgdWludDE2X3QgbmV3SW5zdHJ1Y3Rpb24gPSBpZlRoZW5FbHNlKGNvbmQpIHwgT1BfSVQ7
CisgICAgICAgIHBlcmZvcm1KSVRNZW1jcHkod3JpdGVUYXJnZXQgLSAzLCAmbmV3SW5zdHJ1Y3Rp
b24sIHNpemVvZih1aW50MTZfdCkpOworICAgICAgICBsaW5rSnVtcFQ0KHdyaXRlVGFyZ2V0LCBp
bnN0cnVjdGlvbiwgdGFyZ2V0KTsKICAgICB9CiAgICAgCi0gICAgc3RhdGljIHZvaWQgbGlua0JY
KHVpbnQxNl90KiBpbnN0cnVjdGlvbiwgdm9pZCogdGFyZ2V0KQorICAgIHN0YXRpYyB2b2lkIGxp
bmtCWCh1aW50MTZfdCogd3JpdGVUYXJnZXQsIGNvbnN0IHVpbnQxNl90KiBpbnN0cnVjdGlvbiwg
dm9pZCogdGFyZ2V0KQogICAgIHsKICAgICAgICAgLy8gRklNWEU6IHRoaXMgc2hvdWxkIGJlIHVw
IGluIHRoZSBNYWNyb0Fzc2VtYmxlciBsYXllci4gOi0oCi0gICAgICAgIEFTU0VSVCghKHJlaW50
ZXJwcmV0X2Nhc3Q8aW50cHRyX3Q+KGluc3RydWN0aW9uKSAmIDEpKTsKKyAgICAgICAgQVNTRVJU
X1VOVVNFRChpbnN0cnVjdGlvbiwgIShyZWludGVycHJldF9jYXN0PGludHB0cl90PihpbnN0cnVj
dGlvbikgJiAxKSk7CisgICAgICAgIEFTU0VSVCghKHJlaW50ZXJwcmV0X2Nhc3Q8aW50cHRyX3Q+
KHdyaXRlVGFyZ2V0KSAmIDEpKTsKICAgICAgICAgQVNTRVJUKCEocmVpbnRlcnByZXRfY2FzdDxp
bnRwdHJfdD4odGFyZ2V0KSAmIDEpKTsKICAgICAgICAgCiAgICAgICAgIGNvbnN0IHVpbnQxNl90
IEpVTVBfVEVNUE9SQVJZX1JFR0lTVEVSID0gQVJNUmVnaXN0ZXJzOjppcDsKICAgICAgICAgQVJN
VGh1bWJJbW1lZGlhdGUgbG8xNiA9IEFSTVRodW1iSW1tZWRpYXRlOjptYWtlVUludDE2KHN0YXRp
Y19jYXN0PHVpbnQxNl90PihyZWludGVycHJldF9jYXN0PHVpbnQzMl90Pih0YXJnZXQpICsgMSkp
OwogICAgICAgICBBUk1UaHVtYkltbWVkaWF0ZSBoaTE2ID0gQVJNVGh1bWJJbW1lZGlhdGU6Om1h
a2VVSW50MTYoc3RhdGljX2Nhc3Q8dWludDE2X3Q+KHJlaW50ZXJwcmV0X2Nhc3Q8dWludDMyX3Q+
KHRhcmdldCkgPj4gMTYpKTsKLSAgICAgICAgaW5zdHJ1Y3Rpb25bLTVdID0gdHdvV29yZE9wNWk2
SW1tNFJlZzRFbmNvZGVkSW1tRmlyc3QoT1BfTU9WX2ltbV9UMywgbG8xNik7Ci0gICAgICAgIGlu
c3RydWN0aW9uWy00XSA9IHR3b1dvcmRPcDVpNkltbTRSZWc0RW5jb2RlZEltbVNlY29uZChKVU1Q
X1RFTVBPUkFSWV9SRUdJU1RFUiwgbG8xNik7Ci0gICAgICAgIGluc3RydWN0aW9uWy0zXSA9IHR3
b1dvcmRPcDVpNkltbTRSZWc0RW5jb2RlZEltbUZpcnN0KE9QX01PVlQsIGhpMTYpOwotICAgICAg
ICBpbnN0cnVjdGlvblstMl0gPSB0d29Xb3JkT3A1aTZJbW00UmVnNEVuY29kZWRJbW1TZWNvbmQo
SlVNUF9URU1QT1JBUllfUkVHSVNURVIsIGhpMTYpOwotICAgICAgICBpbnN0cnVjdGlvblstMV0g
PSBPUF9CWCB8IChKVU1QX1RFTVBPUkFSWV9SRUdJU1RFUiA8PCAzKTsKKyAgICAgICAgdWludDE2
X3QgaW5zdHJ1Y3Rpb25zWzVdOworICAgICAgICBpbnN0cnVjdGlvbnNbMF0gPSB0d29Xb3JkT3A1
aTZJbW00UmVnNEVuY29kZWRJbW1GaXJzdChPUF9NT1ZfaW1tX1QzLCBsbzE2KTsKKyAgICAgICAg
aW5zdHJ1Y3Rpb25zWzFdID0gdHdvV29yZE9wNWk2SW1tNFJlZzRFbmNvZGVkSW1tU2Vjb25kKEpV
TVBfVEVNUE9SQVJZX1JFR0lTVEVSLCBsbzE2KTsKKyAgICAgICAgaW5zdHJ1Y3Rpb25zWzJdID0g
dHdvV29yZE9wNWk2SW1tNFJlZzRFbmNvZGVkSW1tRmlyc3QoT1BfTU9WVCwgaGkxNik7CisgICAg
ICAgIGluc3RydWN0aW9uc1szXSA9IHR3b1dvcmRPcDVpNkltbTRSZWc0RW5jb2RlZEltbVNlY29u
ZChKVU1QX1RFTVBPUkFSWV9SRUdJU1RFUiwgaGkxNik7CisgICAgICAgIGluc3RydWN0aW9uc1s0
XSA9IE9QX0JYIHwgKEpVTVBfVEVNUE9SQVJZX1JFR0lTVEVSIDw8IDMpOworCisgICAgICAgIHBl
cmZvcm1KSVRNZW1jcHkod3JpdGVUYXJnZXQgLSA1LCBpbnN0cnVjdGlvbnMsIDUgKiBzaXplb2Yo
dWludDE2X3QpKTsKICAgICB9CiAgICAgCi0gICAgc3RhdGljIHZvaWQgbGlua0NvbmRpdGlvbmFs
QlgoQ29uZGl0aW9uIGNvbmQsIHVpbnQxNl90KiBpbnN0cnVjdGlvbiwgdm9pZCogdGFyZ2V0KQor
ICAgIHN0YXRpYyB2b2lkIGxpbmtDb25kaXRpb25hbEJYKENvbmRpdGlvbiBjb25kLCB1aW50MTZf
dCogd3JpdGVUYXJnZXQsIGNvbnN0IHVpbnQxNl90KiBpbnN0cnVjdGlvbiwgdm9pZCogdGFyZ2V0
KQogICAgIHsKICAgICAgICAgLy8gRklNWEU6IHRoaXMgc2hvdWxkIGJlIHVwIGluIHRoZSBNYWNy
b0Fzc2VtYmxlciBsYXllci4gOi0oICAgICAgICAKICAgICAgICAgQVNTRVJUKCEocmVpbnRlcnBy
ZXRfY2FzdDxpbnRwdHJfdD4oaW5zdHJ1Y3Rpb24pICYgMSkpOwogICAgICAgICBBU1NFUlQoIShy
ZWludGVycHJldF9jYXN0PGludHB0cl90Pih0YXJnZXQpICYgMSkpOwogICAgICAgICAKLSAgICAg
ICAgbGlua0JYKGluc3RydWN0aW9uLCB0YXJnZXQpOwotICAgICAgICBpbnN0cnVjdGlvblstNl0g
PSBpZlRoZW5FbHNlKGNvbmQsIHRydWUsIHRydWUpIHwgT1BfSVQ7CisgICAgICAgIGxpbmtCWCh3
cml0ZVRhcmdldCwgaW5zdHJ1Y3Rpb24sIHRhcmdldCk7CisgICAgICAgIHVpbnQxNl90IG5ld0lu
c3RydWN0aW9uID0gaWZUaGVuRWxzZShjb25kLCB0cnVlLCB0cnVlKSB8IE9QX0lUOworICAgICAg
ICBwZXJmb3JtSklUTWVtY3B5KHdyaXRlVGFyZ2V0IC0gNiwgJm5ld0luc3RydWN0aW9uLCBzaXpl
b2YodWludDE2X3QpKTsKICAgICB9CiAgICAgCi0gICAgc3RhdGljIHZvaWQgbGlua0p1bXBBYnNv
bHV0ZSh1aW50MTZfdCogaW5zdHJ1Y3Rpb24sIHZvaWQqIHRhcmdldCkKKyAgICBzdGF0aWMgdm9p
ZCBsaW5rSnVtcEFic29sdXRlKHVpbnQxNl90KiB3cml0ZVRhcmdldCwgY29uc3QgdWludDE2X3Qq
IGluc3RydWN0aW9uLCB2b2lkKiB0YXJnZXQpCiAgICAgewogICAgICAgICAvLyBGSU1YRTogdGhp
cyBzaG91bGQgYmUgdXAgaW4gdGhlIE1hY3JvQXNzZW1ibGVyIGxheWVyLiA6LSgKICAgICAgICAg
QVNTRVJUKCEocmVpbnRlcnByZXRfY2FzdDxpbnRwdHJfdD4oaW5zdHJ1Y3Rpb24pICYgMSkpOwpA
QCAtMjY4NywyNiArMjcxNywzMSBAQCBwcml2YXRlOgogICAgICAgICAKICAgICAgICAgQVNTRVJU
KChpc01PVl9pbW1fVDMoaW5zdHJ1Y3Rpb24gLSA1KSAmJiBpc01PVlQoaW5zdHJ1Y3Rpb24gLSAz
KSAmJiBpc0JYKGluc3RydWN0aW9uIC0gMSkpCiAgICAgICAgICAgICAgICB8fCAoaXNOT1BfVDEo
aW5zdHJ1Y3Rpb24gLSA1KSAmJiBpc05PUF9UMihpbnN0cnVjdGlvbiAtIDQpICYmIGlzQihpbnN0
cnVjdGlvbiAtIDIpKSk7Ci0gICAgICAgIAorCiAgICAgICAgIGlmIChjYW5CZUp1bXBUNChpbnN0
cnVjdGlvbiwgdGFyZ2V0KSkgewogICAgICAgICAgICAgLy8gVGhlcmUgbWF5IGJlIGEgYmV0dGVy
IHdheSB0byBmaXggdGhpcywgYnV0IHJpZ2h0IG5vdyBwdXQgdGhlIE5PUHMgZmlyc3QsIHNpbmNl
IGluIHRoZQogICAgICAgICAgICAgLy8gY2FzZSBvZiBhbiBjb25kaXRpb25hbCBicmFuY2ggdGhp
cyB3aWxsIGJlIGNvbWluZyBhZnRlciBhbiBJVFRUIHByZWRpY2F0aW5nICp0aHJlZSoKICAgICAg
ICAgICAgIC8vIGluc3RydWN0aW9ucyEgIExvb2tpbmcgYmFja3dhcmRzIHRvIG1vZGlmeSB0aGUg
SVRUVCB0byBhbiBJVCBpcyBub3QgZWFzeSwgZHVlIHRvCiAgICAgICAgICAgICAvLyB2YXJpYWJs
ZSB3ZGl0aCBlbmNvZGluZyAtIHRoZSBwcmV2aW91cyBpbnN0cnVjdGlvbiBtaWdodCAqbG9vayog
bGlrZSBhbiBJVFRUIGJ1dAogICAgICAgICAgICAgLy8gYWN0dWFsbHkgYmUgdGhlIHNlY29uZCBo
YWxmIG9mIGEgMi13b3JkIG9wLgotICAgICAgICAgICAgaW5zdHJ1Y3Rpb25bLTVdID0gT1BfTk9Q
X1QxOwotICAgICAgICAgICAgaW5zdHJ1Y3Rpb25bLTRdID0gT1BfTk9QX1QyYTsKLSAgICAgICAg
ICAgIGluc3RydWN0aW9uWy0zXSA9IE9QX05PUF9UMmI7Ci0gICAgICAgICAgICBsaW5rSnVtcFQ0
KGluc3RydWN0aW9uLCB0YXJnZXQpOworICAgICAgICAgICAgdWludDE2X3QgaW5zdHJ1Y3Rpb25z
WzNdOworICAgICAgICAgICAgaW5zdHJ1Y3Rpb25zWzBdID0gT1BfTk9QX1QxOworICAgICAgICAg
ICAgaW5zdHJ1Y3Rpb25zWzFdID0gT1BfTk9QX1QyYTsKKyAgICAgICAgICAgIGluc3RydWN0aW9u
c1syXSA9IE9QX05PUF9UMmI7CisgICAgICAgICAgICBwZXJmb3JtSklUTWVtY3B5KHdyaXRlVGFy
Z2V0IC0gNSwgaW5zdHJ1Y3Rpb25zLCAzICogc2l6ZW9mKHVpbnQxNl90KSk7CisgICAgICAgICAg
ICBsaW5rSnVtcFQ0KHdyaXRlVGFyZ2V0LCBpbnN0cnVjdGlvbiwgdGFyZ2V0KTsKICAgICAgICAg
fSBlbHNlIHsKICAgICAgICAgICAgIGNvbnN0IHVpbnQxNl90IEpVTVBfVEVNUE9SQVJZX1JFR0lT
VEVSID0gQVJNUmVnaXN0ZXJzOjppcDsKICAgICAgICAgICAgIEFSTVRodW1iSW1tZWRpYXRlIGxv
MTYgPSBBUk1UaHVtYkltbWVkaWF0ZTo6bWFrZVVJbnQxNihzdGF0aWNfY2FzdDx1aW50MTZfdD4o
cmVpbnRlcnByZXRfY2FzdDx1aW50MzJfdD4odGFyZ2V0KSArIDEpKTsKICAgICAgICAgICAgIEFS
TVRodW1iSW1tZWRpYXRlIGhpMTYgPSBBUk1UaHVtYkltbWVkaWF0ZTo6bWFrZVVJbnQxNihzdGF0
aWNfY2FzdDx1aW50MTZfdD4ocmVpbnRlcnByZXRfY2FzdDx1aW50MzJfdD4odGFyZ2V0KSA+PiAx
NikpOwotICAgICAgICAgICAgaW5zdHJ1Y3Rpb25bLTVdID0gdHdvV29yZE9wNWk2SW1tNFJlZzRF
bmNvZGVkSW1tRmlyc3QoT1BfTU9WX2ltbV9UMywgbG8xNik7Ci0gICAgICAgICAgICBpbnN0cnVj
dGlvblstNF0gPSB0d29Xb3JkT3A1aTZJbW00UmVnNEVuY29kZWRJbW1TZWNvbmQoSlVNUF9URU1Q
T1JBUllfUkVHSVNURVIsIGxvMTYpOwotICAgICAgICAgICAgaW5zdHJ1Y3Rpb25bLTNdID0gdHdv
V29yZE9wNWk2SW1tNFJlZzRFbmNvZGVkSW1tRmlyc3QoT1BfTU9WVCwgaGkxNik7Ci0gICAgICAg
ICAgICBpbnN0cnVjdGlvblstMl0gPSB0d29Xb3JkT3A1aTZJbW00UmVnNEVuY29kZWRJbW1TZWNv
bmQoSlVNUF9URU1QT1JBUllfUkVHSVNURVIsIGhpMTYpOwotICAgICAgICAgICAgaW5zdHJ1Y3Rp
b25bLTFdID0gT1BfQlggfCAoSlVNUF9URU1QT1JBUllfUkVHSVNURVIgPDwgMyk7CisKKyAgICAg
ICAgICAgIHVpbnQxNl90IGluc3RydWN0aW9uc1s1XTsKKyAgICAgICAgICAgIGluc3RydWN0aW9u
c1swXSA9IHR3b1dvcmRPcDVpNkltbTRSZWc0RW5jb2RlZEltbUZpcnN0KE9QX01PVl9pbW1fVDMs
IGxvMTYpOworICAgICAgICAgICAgaW5zdHJ1Y3Rpb25zWzFdID0gdHdvV29yZE9wNWk2SW1tNFJl
ZzRFbmNvZGVkSW1tU2Vjb25kKEpVTVBfVEVNUE9SQVJZX1JFR0lTVEVSLCBsbzE2KTsKKyAgICAg
ICAgICAgIGluc3RydWN0aW9uc1syXSA9IHR3b1dvcmRPcDVpNkltbTRSZWc0RW5jb2RlZEltbUZp
cnN0KE9QX01PVlQsIGhpMTYpOworICAgICAgICAgICAgaW5zdHJ1Y3Rpb25zWzNdID0gdHdvV29y
ZE9wNWk2SW1tNFJlZzRFbmNvZGVkSW1tU2Vjb25kKEpVTVBfVEVNUE9SQVJZX1JFR0lTVEVSLCBo
aTE2KTsKKyAgICAgICAgICAgIGluc3RydWN0aW9uc1s0XSA9IE9QX0JYIHwgKEpVTVBfVEVNUE9S
QVJZX1JFR0lTVEVSIDw8IDMpOworICAgICAgICAgICAgcGVyZm9ybUpJVE1lbWNweSh3cml0ZVRh
cmdldCAtIDUsIGluc3RydWN0aW9ucywgNSAqIHNpemVvZih1aW50MTZfdCkpOwogICAgICAgICB9
CiAgICAgfQogICAgIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxl
ci9MaW5rQnVmZmVyLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTGlua0J1
ZmZlci5jcHAKaW5kZXggZjBmYmM1MDk2YjI0OTFlN2NmY2ExYWZkZTIzODg4NzQ5MTJkNTliNS4u
NWZjYWVhNDkzMTI5NzAyY2MzOWE0M2I2YTc3ZDQ1MWFlOTNlN2VlYSAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9MaW5rQnVmZmVyLmNwcAorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL0xpbmtCdWZmZXIuY3BwCkBAIC0xMDUsMTIgKzEwNSwx
MSBAQCB2b2lkIExpbmtCdWZmZXI6OmNvcHlDb21wYWN0QW5kTGlua0NvZGUoTWFjcm9Bc3NlbWJs
ZXImIG1hY3JvQXNzZW1ibGVyLCB2b2lkKiBvdwogICAgIFZlY3RvcjxMaW5rUmVjb3JkLCAwLCBV
bnNhZmVWZWN0b3JPdmVyZmxvdz4mIGp1bXBzVG9MaW5rID0gbWFjcm9Bc3NlbWJsZXIuanVtcHNU
b0xpbmsoKTsKICAgICBtX2Fzc2VtYmxlclN0b3JhZ2UgPSBtYWNyb0Fzc2VtYmxlci5tX2Fzc2Vt
Ymxlci5idWZmZXIoKS5yZWxlYXNlQXNzZW1ibGVyRGF0YSgpOwogICAgIHVpbnQ4X3QqIGluRGF0
YSA9IHJlaW50ZXJwcmV0X2Nhc3Q8dWludDhfdCo+KG1fYXNzZW1ibGVyU3RvcmFnZS5idWZmZXIo
KSk7Ci0jaWYgRU5BQkxFKFNFUEFSQVRFRF9XWF9IRUFQKQorCiAgICAgQXNzZW1ibGVyRGF0YSBv
dXRCdWZmZXIobV9zaXplKTsKICAgICB1aW50OF90KiBvdXREYXRhID0gcmVpbnRlcnByZXRfY2Fz
dDx1aW50OF90Kj4ob3V0QnVmZmVyLmJ1ZmZlcigpKTsKLSNlbHNlCi0gICAgdWludDhfdCogb3V0
RGF0YSA9IHJlaW50ZXJwcmV0X2Nhc3Q8dWludDhfdCo+KG1fY29kZSk7Ci0jZW5kaWYKKyAgICB1
aW50OF90KiBjb2RlT3V0RGF0YSA9IHJlaW50ZXJwcmV0X2Nhc3Q8dWludDhfdCo+KG1fY29kZSk7
CisKICAgICBpbnQgcmVhZFB0ciA9IDA7CiAgICAgaW50IHdyaXRlUHRyID0gMDsKICAgICB1bnNp
Z25lZCBqdW1wQ291bnQgPSBqdW1wc1RvTGluay5zaXplKCk7CkBAIC0xMzYsMTEgKzEzNSwxMSBA
QCB2b2lkIExpbmtCdWZmZXI6OmNvcHlDb21wYWN0QW5kTGlua0NvZGUoTWFjcm9Bc3NlbWJsZXIm
IG1hY3JvQXNzZW1ibGVyLCB2b2lkKiBvdwogICAgICAgICAvLyBicmFuY2hlcyB3ZSBuZWVkIHRv
IGJlIHByZWNpc2UsIGZvcndhcmQgYnJhbmNoZXMgd2UgYXJlIHBlc3NpbWlzdGljCiAgICAgICAg
IGNvbnN0IHVpbnQ4X3QqIHRhcmdldDsKICAgICAgICAgaWYgKGp1bXBzVG9MaW5rW2ldLnRvKCkg
Pj0ganVtcHNUb0xpbmtbaV0uZnJvbSgpKQotICAgICAgICAgICAgdGFyZ2V0ID0gb3V0RGF0YSAr
IGp1bXBzVG9MaW5rW2ldLnRvKCkgLSBvZmZzZXQ7IC8vIENvbXBlbnNhdGUgZm9yIHdoYXQgd2Ug
aGF2ZSBjb2xsYXBzZWQgc28gZmFyCisgICAgICAgICAgICB0YXJnZXQgPSBjb2RlT3V0RGF0YSAr
IGp1bXBzVG9MaW5rW2ldLnRvKCkgLSBvZmZzZXQ7IC8vIENvbXBlbnNhdGUgZm9yIHdoYXQgd2Ug
aGF2ZSBjb2xsYXBzZWQgc28gZmFyCiAgICAgICAgIGVsc2UKLSAgICAgICAgICAgIHRhcmdldCA9
IG91dERhdGEgKyBqdW1wc1RvTGlua1tpXS50bygpIC0gZXhlY3V0YWJsZU9mZnNldEZvcihqdW1w
c1RvTGlua1tpXS50bygpKTsKKyAgICAgICAgICAgIHRhcmdldCA9IGNvZGVPdXREYXRhICsganVt
cHNUb0xpbmtbaV0udG8oKSAtIGV4ZWN1dGFibGVPZmZzZXRGb3IoanVtcHNUb0xpbmtbaV0udG8o
KSk7CiAgICAgICAgICAgICAKLSAgICAgICAgSnVtcExpbmtUeXBlIGp1bXBMaW5rVHlwZSA9IE1h
Y3JvQXNzZW1ibGVyOjpjb21wdXRlSnVtcFR5cGUoanVtcHNUb0xpbmtbaV0sIG91dERhdGEgKyB3
cml0ZVB0ciwgdGFyZ2V0KTsKKyAgICAgICAgSnVtcExpbmtUeXBlIGp1bXBMaW5rVHlwZSA9IE1h
Y3JvQXNzZW1ibGVyOjpjb21wdXRlSnVtcFR5cGUoanVtcHNUb0xpbmtbaV0sIGNvZGVPdXREYXRh
ICsgd3JpdGVQdHIsIHRhcmdldCk7CiAgICAgICAgIC8vIENvbXBhY3QgYnJhbmNoIGlmIHdlIGNh
bi4uLgogICAgICAgICBpZiAoTWFjcm9Bc3NlbWJsZXI6OmNhbkNvbXBhY3QoanVtcHNUb0xpbmtb
aV0udHlwZSgpKSkgewogICAgICAgICAgICAgLy8gU3RlcCBiYWNrIGluIHRoZSB3cml0ZSBzdHJl
YW0KQEAgLTE1NywxNyArMTU2LDE1IEBAIHZvaWQgTGlua0J1ZmZlcjo6Y29weUNvbXBhY3RBbmRM
aW5rQ29kZShNYWNyb0Fzc2VtYmxlciYgbWFjcm9Bc3NlbWJsZXIsIHZvaWQqIG93CiAgICAgcmVj
b3JkTGlua09mZnNldHMobV9hc3NlbWJsZXJTdG9yYWdlLCByZWFkUHRyLCBtX2luaXRpYWxTaXpl
LCByZWFkUHRyIC0gd3JpdGVQdHIpOwogICAgICAgICAKICAgICBmb3IgKHVuc2lnbmVkIGkgPSAw
OyBpIDwganVtcENvdW50OyArK2kpIHsKLSAgICAgICAgdWludDhfdCogbG9jYXRpb24gPSBvdXRE
YXRhICsganVtcHNUb0xpbmtbaV0uZnJvbSgpOwotICAgICAgICB1aW50OF90KiB0YXJnZXQgPSBv
dXREYXRhICsganVtcHNUb0xpbmtbaV0udG8oKSAtIGV4ZWN1dGFibGVPZmZzZXRGb3IoanVtcHNU
b0xpbmtbaV0udG8oKSk7Ci0gICAgICAgIE1hY3JvQXNzZW1ibGVyOjpsaW5rKGp1bXBzVG9MaW5r
W2ldLCBsb2NhdGlvbiwgdGFyZ2V0KTsKKyAgICAgICAgdWludDhfdCogbG9jYXRpb24gPSBjb2Rl
T3V0RGF0YSArIGp1bXBzVG9MaW5rW2ldLmZyb20oKTsKKyAgICAgICAgdWludDhfdCogdGFyZ2V0
ID0gY29kZU91dERhdGEgKyBqdW1wc1RvTGlua1tpXS50bygpIC0gZXhlY3V0YWJsZU9mZnNldEZv
cihqdW1wc1RvTGlua1tpXS50bygpKTsKKyAgICAgICAgTWFjcm9Bc3NlbWJsZXI6OmxpbmsoanVt
cHNUb0xpbmtbaV0sIG91dERhdGEgKyBqdW1wc1RvTGlua1tpXS5mcm9tKCksIGxvY2F0aW9uLCB0
YXJnZXQpOwogICAgIH0KIAogICAgIGp1bXBzVG9MaW5rLmNsZWFyKCk7CiAgICAgc2hyaW5rKHdy
aXRlUHRyICsgbV9pbml0aWFsU2l6ZSAtIHJlYWRQdHIpOwogCi0jaWYgRU5BQkxFKFNFUEFSQVRF
RF9XWF9IRUFQKQogICAgIHBlcmZvcm1KSVRNZW1jcHkobV9jb2RlLCBvdXRCdWZmZXIuYnVmZmVy
KCksIG1fc2l6ZSk7Ci0jZW5kaWYKIAogI2lmIERVTVBfTElOS19TVEFUSVNUSUNTCiAgICAgZHVt
cExpbmtTdGF0aXN0aWNzKG1fY29kZSwgbV9pbml0aWFsU2l6ZSwgbV9zaXplKTsKQEAgLTE5Myw3
ICsxOTAsNyBAQCB2b2lkIExpbmtCdWZmZXI6OmxpbmtDb2RlKE1hY3JvQXNzZW1ibGVyJiBtYWNy
b0Fzc2VtYmxlciwgdm9pZCogb3duZXJVSUQsIEpJVENvbQogI2lmIENQVShBUk1fVFJBRElUSU9O
QUwpCiAgICAgbWFjcm9Bc3NlbWJsZXIubV9hc3NlbWJsZXIucHJlcGFyZUV4ZWN1dGFibGVDb3B5
KG1fY29kZSk7CiAjZW5kaWYKLSAgICBtZW1jcHkobV9jb2RlLCBidWZmZXIuZGF0YSgpLCBidWZm
ZXIuY29kZVNpemUoKSk7CisgICAgcGVyZm9ybUpJVE1lbWNweShtX2NvZGUsIGJ1ZmZlci5kYXRh
KCksIGJ1ZmZlci5jb2RlU2l6ZSgpKTsKICNpZiBDUFUoTUlQUykKICAgICBtYWNyb0Fzc2VtYmxl
ci5tX2Fzc2VtYmxlci5yZWxvY2F0ZUp1bXBzKGJ1ZmZlci5kYXRhKCksIG1fY29kZSk7CiAjZW5k
aWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTWFjcm9Bc3Nl
bWJsZXJBUk02NC5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9NYWNyb0Fzc2Vt
YmxlckFSTTY0LmgKaW5kZXggZGU3ZTBlNGMyMjk0MTRjODFkZDhjMGNkYWJhZDBkMGIwYzE2MzE1
OS4uMjBmNmQwMWQwNTIyOTdiNDA2NzU4MTZmNjJlM2E0M2IwZDQzOTAyNiAxMDA2NDQKLS0tIGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9NYWNyb0Fzc2VtYmxlckFSTTY0LmgKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9NYWNyb0Fzc2VtYmxlckFSTTY0LmgK
QEAgLTc4LDcgKzc4LDcgQEAgcHVibGljOgogICAgIHN0YXRpYyBKdW1wTGlua1R5cGUgY29tcHV0
ZUp1bXBUeXBlKEp1bXBUeXBlIGp1bXBUeXBlLCBjb25zdCB1aW50OF90KiBmcm9tLCBjb25zdCB1
aW50OF90KiB0bykgeyByZXR1cm4gQVJNNjRBc3NlbWJsZXI6OmNvbXB1dGVKdW1wVHlwZShqdW1w
VHlwZSwgZnJvbSwgdG8pOyB9CiAgICAgc3RhdGljIEp1bXBMaW5rVHlwZSBjb21wdXRlSnVtcFR5
cGUoTGlua1JlY29yZCYgcmVjb3JkLCBjb25zdCB1aW50OF90KiBmcm9tLCBjb25zdCB1aW50OF90
KiB0bykgeyByZXR1cm4gQVJNNjRBc3NlbWJsZXI6OmNvbXB1dGVKdW1wVHlwZShyZWNvcmQsIGZy
b20sIHRvKTsgfQogICAgIHN0YXRpYyBpbnQganVtcFNpemVEZWx0YShKdW1wVHlwZSBqdW1wVHlw
ZSwgSnVtcExpbmtUeXBlIGp1bXBMaW5rVHlwZSkgeyByZXR1cm4gQVJNNjRBc3NlbWJsZXI6Omp1
bXBTaXplRGVsdGEoanVtcFR5cGUsIGp1bXBMaW5rVHlwZSk7IH0KLSAgICBzdGF0aWMgdm9pZCBs
aW5rKExpbmtSZWNvcmQmIHJlY29yZCwgdWludDhfdCogZnJvbSwgdWludDhfdCogdG8pIHsgcmV0
dXJuIEFSTTY0QXNzZW1ibGVyOjpsaW5rKHJlY29yZCwgZnJvbSwgdG8pOyB9CisgICAgc3RhdGlj
IHZvaWQgbGluayhMaW5rUmVjb3JkJiByZWNvcmQsIHVpbnQ4X3QqIGZyb20sIGNvbnN0IHVpbnQ4
X3QqIGZyb21JbnN0cnVjdGlvbiwgdWludDhfdCogdG8pIHsgcmV0dXJuIEFSTTY0QXNzZW1ibGVy
OjpsaW5rKHJlY29yZCwgZnJvbSwgZnJvbUluc3RydWN0aW9uLCB0byk7IH0KIAogICAgIHN0YXRp
YyBjb25zdCBTY2FsZSBTY2FsZVB0ciA9IFRpbWVzRWlnaHQ7CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJBUk12Ny5oIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9NYWNyb0Fzc2VtYmxlckFSTXY3LmgKaW5kZXggZDIy
NTZlMWY2ODkzOWEyNDBlMThlZGI5YjdmYzU5NGVlMGE4OGFkMS4uMWNlYTdhYzNhMDg4YmM0Zjkx
YTUwZGVjMWZmOWI1Y2EzM2I3MzAzMiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2Fzc2VtYmxlci9NYWNyb0Fzc2VtYmxlckFSTXY3LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL2Fzc2VtYmxlci9NYWNyb0Fzc2VtYmxlckFSTXY3LmgKQEAgLTY2LDcgKzY2LDcgQEAgcHVi
bGljOgogICAgIHN0YXRpYyBKdW1wTGlua1R5cGUgY29tcHV0ZUp1bXBUeXBlKEp1bXBUeXBlIGp1
bXBUeXBlLCBjb25zdCB1aW50OF90KiBmcm9tLCBjb25zdCB1aW50OF90KiB0bykgeyByZXR1cm4g
QVJNdjdBc3NlbWJsZXI6OmNvbXB1dGVKdW1wVHlwZShqdW1wVHlwZSwgZnJvbSwgdG8pOyB9CiAg
ICAgc3RhdGljIEp1bXBMaW5rVHlwZSBjb21wdXRlSnVtcFR5cGUoTGlua1JlY29yZCYgcmVjb3Jk
LCBjb25zdCB1aW50OF90KiBmcm9tLCBjb25zdCB1aW50OF90KiB0bykgeyByZXR1cm4gQVJNdjdB
c3NlbWJsZXI6OmNvbXB1dGVKdW1wVHlwZShyZWNvcmQsIGZyb20sIHRvKTsgfQogICAgIHN0YXRp
YyBpbnQganVtcFNpemVEZWx0YShKdW1wVHlwZSBqdW1wVHlwZSwgSnVtcExpbmtUeXBlIGp1bXBM
aW5rVHlwZSkgeyByZXR1cm4gQVJNdjdBc3NlbWJsZXI6Omp1bXBTaXplRGVsdGEoanVtcFR5cGUs
IGp1bXBMaW5rVHlwZSk7IH0KLSAgICBzdGF0aWMgdm9pZCBsaW5rKExpbmtSZWNvcmQmIHJlY29y
ZCwgdWludDhfdCogZnJvbSwgdWludDhfdCogdG8pIHsgcmV0dXJuIEFSTXY3QXNzZW1ibGVyOjps
aW5rKHJlY29yZCwgZnJvbSwgdG8pOyB9CisgICAgc3RhdGljIHZvaWQgbGluayhMaW5rUmVjb3Jk
JiByZWNvcmQsIHVpbnQ4X3QqIGZyb20sIGNvbnN0IHVpbnQ4X3QqIGZyb21JbnN0cnVjdGlvbiwg
dWludDhfdCogdG8pIHsgcmV0dXJuIEFSTXY3QXNzZW1ibGVyOjpsaW5rKHJlY29yZCwgZnJvbSwg
ZnJvbUluc3RydWN0aW9uLCB0byk7IH0KIAogICAgIHN0cnVjdCBBcm1BZGRyZXNzIHsKICAgICAg
ICAgZW51bSBBZGRyZXNzVHlwZSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
aml0L0V4ZWN1dGFibGVBbGxvY2F0b3IuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvRXhl
Y3V0YWJsZUFsbG9jYXRvci5oCmluZGV4IDViNTU2ODMwZTkyZjU5ZWIzZjQ4NmE1NWNiZjg0NzUz
ZjVlMmVkMDYuLjc0Y2RjMWZiMGY4OGRiYTk5MTdjZWUyMWFkOTJiYTkzMTMyMzg5NTggMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvRXhlY3V0YWJsZUFsbG9jYXRvci5oCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvRXhlY3V0YWJsZUFsbG9jYXRvci5oCkBAIC05
MiwyOSArOTIsMzAgQEAgc3RhdGljIGNvbnN0IGRvdWJsZSBleGVjdXRhYmxlUG9vbFJlc2VydmF0
aW9uRnJhY3Rpb24gPSAwLjI1OwogZXh0ZXJuIEpTX0VYUE9SVERBVEEgdWludHB0cl90IHN0YXJ0
T2ZGaXhlZEV4ZWN1dGFibGVNZW1vcnlQb29sOwogZXh0ZXJuIEpTX0VYUE9SVERBVEEgdWludHB0
cl90IGVuZE9mRml4ZWRFeGVjdXRhYmxlTWVtb3J5UG9vbDsKIAotI2lmIEVOQUJMRShTRVBBUkFU
RURfV1hfSEVBUCkKLWV4dGVybiBKU19FWFBPUlREQVRBIHVpbnRwdHJfdCBqaXRXcml0ZUZ1bmN0
aW9uQWRkcmVzczsKLSNlbmRpZgotI2VuZGlmIC8vIEVOQUJMRShFWEVDVVRBQkxFX0FMTE9DQVRP
Ul9GSVhFRCkKK3R5cGVkZWYgdm9pZCAoKkpJVFdyaXRlRnVuY3Rpb24pKG9mZl90LCBjb25zdCB2
b2lkKiwgc2l6ZV90KTsKK2V4dGVybiBKU19FWFBPUlREQVRBIEpJVFdyaXRlRnVuY3Rpb24gaml0
V3JpdGVGdW5jdGlvbjsKIAogc3RhdGljIGlubGluZSB2b2lkKiBwZXJmb3JtSklUTWVtY3B5KHZv
aWQgKmRzdCwgY29uc3Qgdm9pZCAqc3JjLCBzaXplX3QgbikKIHsKLSNpZiBFTkFCTEUoU0VQQVJB
VEVEX1dYX0hFQVApCiAgICAgLy8gVXNlIGV4ZWN1dGUtb25seSB3cml0ZSB0aHVuayBmb3Igd3Jp
dGVzIGluc2lkZSB0aGUgSklUIHJlZ2lvbi4gVGhpcyBpcyBhIHZhcmlhbnQgb2YKICAgICAvLyBt
ZW1jcHkgdGhhdCB0YWtlcyBhbiBvZmZzZXQgaW50byB0aGUgSklUIHJlZ2lvbiBhcyBpdHMgZGVz
dGluYXRpb24gKGZpcnN0KSBwYXJhbWV0ZXIuCi0gICAgaWYgKGppdFdyaXRlRnVuY3Rpb25BZGRy
ZXNzICYmICh1aW50cHRyX3QpZHN0ID49IHN0YXJ0T2ZGaXhlZEV4ZWN1dGFibGVNZW1vcnlQb29s
ICYmICh1aW50cHRyX3QpZHN0IDw9IGVuZE9mRml4ZWRFeGVjdXRhYmxlTWVtb3J5UG9vbCkgewot
ICAgICAgICB1c2luZyBKSVRXcml0ZUZ1bmN0aW9uID0gdm9pZCAoKikob2ZmX3QsIGNvbnN0IHZv
aWQqLCBzaXplX3QpOwotICAgICAgICBKSVRXcml0ZUZ1bmN0aW9uIGZ1bmMgPSAoSklUV3JpdGVG
dW5jdGlvbilqaXRXcml0ZUZ1bmN0aW9uQWRkcmVzczsKKyAgICBpZiAoaml0V3JpdGVGdW5jdGlv
biAmJiAodWludHB0cl90KWRzdCA+PSBzdGFydE9mRml4ZWRFeGVjdXRhYmxlTWVtb3J5UG9vbCAm
JiAodWludHB0cl90KWRzdCA8PSBlbmRPZkZpeGVkRXhlY3V0YWJsZU1lbW9yeVBvb2wpIHsKICAg
ICAgICAgb2ZmX3Qgb2Zmc2V0ID0gKG9mZl90KSgodWludHB0cl90KWRzdCAtIHN0YXJ0T2ZGaXhl
ZEV4ZWN1dGFibGVNZW1vcnlQb29sKTsKLSAgICAgICAgZnVuYyhvZmZzZXQsIHNyYywgbik7Cisg
ICAgICAgIGppdFdyaXRlRnVuY3Rpb24ob2Zmc2V0LCBzcmMsIG4pOwogICAgICAgICByZXR1cm4g
ZHN0OwogICAgIH0KLSNlbmRpZgogCiAgICAgLy8gVXNlIHJlZ3VsYXIgbWVtY3B5IGZvciB3cml0
ZXMgb3V0c2lkZSB0aGUgSklUIHJlZ2lvbi4KICAgICByZXR1cm4gbWVtY3B5KGRzdCwgc3JjLCBu
KTsKIH0KIAorI2Vsc2UgLy8gRU5BQkxFKEVYRUNVVEFCTEVfQUxMT0NBVE9SX0ZJWEVEKQorc3Rh
dGljIGlubGluZSB2b2lkKiBwZXJmb3JtSklUTWVtY3B5KHZvaWQgKmRzdCwgY29uc3Qgdm9pZCAq
c3JjLCBzaXplX3QgbikKK3sKKyAgICByZXR1cm4gbWVtY3B5KGRzdCwgc3JjLCBuKTsKK30KKyNl
bmRpZgorCiBjbGFzcyBFeGVjdXRhYmxlQWxsb2NhdG9yIHsKICAgICBlbnVtIFByb3RlY3Rpb25T
ZXR0aW5nIHsgV3JpdGFibGUsIEV4ZWN1dGFibGUgfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2ppdC9FeGVjdXRhYmxlQWxsb2NhdG9yRml4ZWRWTVBvb2wuY3BwIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9FeGVjdXRhYmxlQWxsb2NhdG9yRml4ZWRWTVBvb2wuY3Bw
CmluZGV4IDgyYzQ2ZjdhNTg4MGJiNDM5ODExZWZjOWU1ZmQ0Y2U5NTkyOGY0YTUuLjAxOWUzYWU4
YmMyYzc0MmM3OGFlMzQ5ZWU5MWFkMDU4YWY2ZWM3ZWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9qaXQvRXhlY3V0YWJsZUFsbG9jYXRvckZpeGVkVk1Qb29sLmNwcAorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0V4ZWN1dGFibGVBbGxvY2F0b3JGaXhlZFZNUG9vbC5j
cHAKQEAgLTQ4LDEwICs0OCwxNyBAQAogI2luY2x1ZGUgPHN0ZGlvLmg+CiAjZW5kaWYKIAotI2lm
IEVOQUJMRShTRVBBUkFURURfV1hfSEVBUCkKICNpbmNsdWRlICJMaW5rQnVmZmVyLmgiCiAjaW5j
bHVkZSAiTWFjcm9Bc3NlbWJsZXIuaCIKIAorI2lmIFBMQVRGT1JNKE1BQykgfHwgKFBMQVRGT1JN
KElPUykgJiYgX19JUEhPTkVfT1NfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAwMDAwKQorI2Rl
ZmluZSBIQVZFX1JFTUFQX0pJVCAxCisjZW5kaWYKKworI2lmIENQVShBUk02NCkgJiYgUExBVEZP
Uk0oSU9TKSAmJiBfX0lQSE9ORV9PU19WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDAwMDAKKyNk
ZWZpbmUgVVNFX0VYRUNVVEVfT05MWV9KSVRfV1JJVEVfRlVOQ1RJT04gMQorI2VuZGlmCisKICNp
ZiBPUyhEQVJXSU4pCiAjaW5jbHVkZSA8bWFjaC9tYWNoLmg+CiBleHRlcm4gIkMiIHsKQEAgLTc5
LDggKzg2LDYgQEAgZXh0ZXJuICJDIiB7CiAKICNlbmRpZgogCi0jZW5kaWYKLQogdXNpbmcgbmFt
ZXNwYWNlIFdURjsKIAogbmFtZXNwYWNlIEpTQyB7CkBAIC04OCw4ICs5MywxMCBAQCBuYW1lc3Bh
Y2UgSlNDIHsKIEpTX0VYUE9SVERBVEEgdWludHB0cl90IHN0YXJ0T2ZGaXhlZEV4ZWN1dGFibGVN
ZW1vcnlQb29sOwogSlNfRVhQT1JUREFUQSB1aW50cHRyX3QgZW5kT2ZGaXhlZEV4ZWN1dGFibGVN
ZW1vcnlQb29sOwogCi0jaWYgRU5BQkxFKFNFUEFSQVRFRF9XWF9IRUFQKQotSlNfRVhQT1JUREFU
QSB1aW50cHRyX3Qgaml0V3JpdGVGdW5jdGlvbkFkZHJlc3M7CitKU19FWFBPUlREQVRBIEpJVFdy
aXRlRnVuY3Rpb24gaml0V3JpdGVGdW5jdGlvbjsKKworI2lmICFVU0UoRVhFQ1VURV9PTkxZX0pJ
VF9XUklURV9GVU5DVElPTikKK3N0YXRpYyB1aW50cHRyX3Qgc3RhcnRPZkZpeGVkV3JpdGFibGVN
ZW1vcnlQb29sOwogI2VuZGlmCiAKIGNsYXNzIEZpeGVkVk1Qb29sRXhlY3V0YWJsZUFsbG9jYXRv
ciA6IHB1YmxpYyBNZXRhQWxsb2NhdG9yIHsKQEAgLTEwOSw3ICsxMTYsNiBAQCBwdWJsaWM6CiAg
ICAgICAgICAgICBBU1NFUlQobV9yZXNlcnZhdGlvbi5zaXplKCkgPT0gcmVzZXJ2YXRpb25TaXpl
KTsKICAgICAgICAgICAgIHZvaWQqIHJlc2VydmF0aW9uQmFzZSA9IG1fcmVzZXJ2YXRpb24uYmFz
ZSgpOwogCi0jaWYgRU5BQkxFKFNFUEFSQVRFRF9XWF9IRUFQKQogICAgICAgICAgICAgaWYgKE9w
dGlvbnM6OnVzZVNlcGFyYXRlZFdYSGVhcCgpKSB7CiAgICAgICAgICAgICAgICAgLy8gRmlyc3Qg
cGFnZSBvZiBvdXIgSklUIGFsbG9jYXRpb24gaXMgcmVzZXJ2ZWQuCiAgICAgICAgICAgICAgICAg
QVNTRVJUKHJlc2VydmF0aW9uU2l6ZSA+PSBwYWdlU2l6ZSgpICogMik7CkBAIC0xMTcsNyArMTIz
LDYgQEAgcHVibGljOgogICAgICAgICAgICAgICAgIHJlc2VydmF0aW9uU2l6ZSAtPSBwYWdlU2l6
ZSgpOwogICAgICAgICAgICAgICAgIGluaXRpYWxpemVTZXBhcmF0ZWRXWEhlYXBzKG1fcmVzZXJ2
YXRpb24uYmFzZSgpLCBwYWdlU2l6ZSgpLCByZXNlcnZhdGlvbkJhc2UsIHJlc2VydmF0aW9uU2l6
ZSk7CiAgICAgICAgICAgICB9Ci0jZW5kaWYKIAogICAgICAgICAgICAgYWRkRnJlc2hGcmVlU3Bh
Y2UocmVzZXJ2YXRpb25CYXNlLCByZXNlcnZhdGlvblNpemUpOwogCkBAIC0xNjMsNyArMTY4LDcg
QEAgcHJvdGVjdGVkOgogICAgIH0KIAogcHJpdmF0ZToKLSNpZiBFTkFCTEUoU0VQQVJBVEVEX1dY
X0hFQVApCisjaWYgT1MoREFSV0lOKSAmJiBIQVZFKFJFTUFQX0pJVCkKICAgICB2b2lkIGluaXRp
YWxpemVTZXBhcmF0ZWRXWEhlYXBzKHZvaWQqIHN0dWJCYXNlLCBzaXplX3Qgc3R1YlNpemUsIHZv
aWQqIGppdEJhc2UsIHNpemVfdCBqaXRTaXplKQogICAgIHsKICAgICAgICAgbWFjaF92bV9hZGRy
ZXNzX3Qgd3JpdGFibGVBZGRyID0gMDsKQEAgLTE4NCw0MCArMTg5LDM5IEBAIHByaXZhdGU6CiAg
ICAgICAgICAgICByZXR1cm47CiAKICAgICAgICAgLy8gQXNzZW1ibGUgYSB0aHVuayB0aGF0IHdp
bGwgc2VydmUgYXMgdGhlIG1lYW5zIGZvciB3cml0aW5nIGludG8gdGhlIEpJVCByZWdpb24uCi0g
ICAgICAgIE1hY3JvQXNzZW1ibGVyQ29kZVJlZiB3cml0ZVRodW5rID0gaml0V3JpdGVUaHVua0dl
bmVyYXRvcih3cml0YWJsZUFkZHIsIHN0dWJCYXNlLCBzdHViU2l6ZSk7CisgICAgICAgIE1hY3Jv
QXNzZW1ibGVyQ29kZVJlZiB3cml0ZVRodW5rID0gaml0V3JpdGVUaHVua0dlbmVyYXRvcihyZWlu
dGVycHJldF9jYXN0PHZvaWQqPih3cml0YWJsZUFkZHIpLCBzdHViQmFzZSwgc3R1YlNpemUpOwog
CiAgICAgICAgIGludCByZXN1bHQgPSAwOwogCi0gICAgICAgIGlmICghcmVtYXBTdWNjZWVkZWQp
IHsKLSNpZiBkZWZpbmVkKFZNX1BST1RfRVhFQ1VURV9PTkxZKQotICAgICAgICAgICAgLy8gUHJl
dmVudCByZWFkaW5nIHRoZSB3cml0ZSB0aHVuayBjb2RlLgotICAgICAgICAgICAgcmVzdWx0ID0g
bXByb3RlY3Qoc3R1YkJhc2UsIHN0dWJTaXplLCBWTV9QUk9UX0VYRUNVVEVfT05MWSk7Ci0gICAg
ICAgICAgICBSRUxFQVNFX0FTU0VSVCghcmVzdWx0KTsKKyNpZiBVU0UoRVhFQ1VURV9PTkxZX0pJ
VF9XUklURV9GVU5DVElPTikKKyAgICAgICAgLy8gUHJldmVudCByZWFkaW5nIHRoZSB3cml0ZSB0
aHVuayBjb2RlLgorICAgICAgICByZXN1bHQgPSBtcHJvdGVjdChzdHViQmFzZSwgc3R1YlNpemUs
IFZNX1BST1RfRVhFQ1VURV9PTkxZKTsKKyAgICAgICAgUkVMRUFTRV9BU1NFUlQoIXJlc3VsdCk7
CiAjZW5kaWYKIAotICAgICAgICAgICAgLy8gUHJldmVudCB3cml0aW5nIGludG8gdGhlIGV4ZWN1
dGFibGUgSklUIG1hcHBpbmcuCi0gICAgICAgICAgICByZXN1bHQgPSBtcHJvdGVjdChqaXRCYXNl
LCBqaXRTaXplLCBWTV9QUk9UX1JFQUQgfCBWTV9QUk9UX0VYRUNVVEUpOwotICAgICAgICAgICAg
UkVMRUFTRV9BU1NFUlQoIXJlc3VsdCk7CisgICAgICAgIC8vIFByZXZlbnQgd3JpdGluZyBpbnRv
IHRoZSBleGVjdXRhYmxlIEpJVCBtYXBwaW5nLgorICAgICAgICByZXN1bHQgPSBtcHJvdGVjdChq
aXRCYXNlLCBqaXRTaXplLCBWTV9QUk9UX1JFQUQgfCBWTV9QUk9UX0VYRUNVVEUpOworICAgICAg
ICBSRUxFQVNFX0FTU0VSVCghcmVzdWx0KTsKIAotICAgICAgICAgICAgLy8gUHJldmVudCBleGVj
dXRpb24gaW4gdGhlIHdyaXRhYmxlIEpJVCBtYXBwaW5nLgotICAgICAgICAgICAgcmVzdWx0ID0g
bXByb3RlY3QoKHZvaWQqKXdyaXRhYmxlQWRkciwgaml0U2l6ZSwgVk1fUFJPVF9SRUFEIHwgVk1f
UFJPVF9XUklURSk7Ci0gICAgICAgICAgICBSRUxFQVNFX0FTU0VSVCghcmVzdWx0KTsKKyAgICAg
ICAgLy8gUHJldmVudCBleGVjdXRpb24gaW4gdGhlIHdyaXRhYmxlIEpJVCBtYXBwaW5nLgorICAg
ICAgICByZXN1bHQgPSBtcHJvdGVjdCgodm9pZCopd3JpdGFibGVBZGRyLCBqaXRTaXplLCBWTV9Q
Uk9UX1JFQUQgfCBWTV9QUk9UX1dSSVRFKTsKKyAgICAgICAgUkVMRUFTRV9BU1NFUlQoIXJlc3Vs
dCk7CiAKLSAgICAgICAgICAgIC8vIFplcm8gb3V0IHdyaXRhYmxlQWRkciB0byBhdm9pZCBsZWFr
aW5nIHRoZSBhZGRyZXNzIG9mIHRoZSB3cml0YWJsZSBtYXBwaW5nLgotICAgICAgICAgICAgbWVt
c2V0X3MoJndyaXRhYmxlQWRkciwgc2l6ZW9mKHdyaXRhYmxlQWRkciksIDAsIHNpemVvZih3cml0
YWJsZUFkZHIpKTsKLSAgICAgICAgfQotICAgICAgICBqaXRXcml0ZUZ1bmN0aW9uQWRkcmVzcyA9
ICh1aW50cHRyX3Qpd3JpdGVUaHVuay5jb2RlKCkuZXhlY3V0YWJsZUFkZHJlc3MoKTsKKyAgICAg
ICAgLy8gWmVybyBvdXQgd3JpdGFibGVBZGRyIHRvIGF2b2lkIGxlYWtpbmcgdGhlIGFkZHJlc3Mg
b2YgdGhlIHdyaXRhYmxlIG1hcHBpbmcuCisgICAgICAgIG1lbXNldF9zKCZ3cml0YWJsZUFkZHIs
IHNpemVvZih3cml0YWJsZUFkZHIpLCAwLCBzaXplb2Yod3JpdGFibGVBZGRyKSk7CisKKyAgICAg
ICAgaml0V3JpdGVGdW5jdGlvbiA9IHJlaW50ZXJwcmV0X2Nhc3Q8SklUV3JpdGVGdW5jdGlvbj4o
d3JpdGVUaHVuay5jb2RlKCkuZXhlY3V0YWJsZUFkZHJlc3MoKSk7CiAgICAgfQogCi0jaWYgQ1BV
KEFSTTY0KQotICAgIE1hY3JvQXNzZW1ibGVyQ29kZVJlZiBqaXRXcml0ZVRodW5rR2VuZXJhdG9y
KG1hY2hfdm1fYWRkcmVzc190IHdyaXRhYmxlQWRkciwgdm9pZCogc3R1YkJhc2UsIHNpemVfdCBz
dHViU2l6ZSkKKyNpZiBDUFUoQVJNNjQpICYmIFVTRShFWEVDVVRFX09OTFlfSklUX1dSSVRFX0ZV
TkNUSU9OKQorICAgIE1hY3JvQXNzZW1ibGVyQ29kZVJlZiBqaXRXcml0ZVRodW5rR2VuZXJhdG9y
KHZvaWQqIHdyaXRhYmxlQWRkciwgdm9pZCogc3R1YkJhc2UsIHNpemVfdCBzdHViU2l6ZSkKICAg
ICB7CiAgICAgICAgIHVzaW5nIG5hbWVzcGFjZSBBUk02NFJlZ2lzdGVyczsKICAgICAgICAgdXNp
bmcgVHJ1c3RlZEltbTMyID0gTWFjcm9Bc3NlbWJsZXI6OlRydXN0ZWRJbW0zMjsKIAogICAgICAg
ICBNYWNyb0Fzc2VtYmxlciBqaXQ7CiAKLSAgICAgICAgaml0Lm1vdmUoTWFjcm9Bc3NlbWJsZXI6
OlRydXN0ZWRJbW1QdHIoKGNvbnN0IHZvaWQqKXdyaXRhYmxlQWRkciksIHg3KTsKKyAgICAgICAg
aml0Lm1vdmUoTWFjcm9Bc3NlbWJsZXI6OlRydXN0ZWRJbW1QdHIod3JpdGFibGVBZGRyKSwgeDcp
OwogICAgICAgICBqaXQuYWRkUHRyKHg3LCB4MCk7CiAKICAgICAgICAgaml0Lm1vdmUoeDAsIHgz
KTsKQEAgLTI3NCw4ICsyNzgsMzAgQEAgcHJpdmF0ZToKICAgICAgICAgTGlua0J1ZmZlciBsaW5r
QnVmZmVyKGppdCwgc3R1YkJhc2UsIHN0dWJTaXplKTsKICAgICAgICAgcmV0dXJuIEZJTkFMSVpF
X0NPREUobGlua0J1ZmZlciwgKCJCdWxsZXRwcm9vZiBKSVQgd3JpdGUgdGh1bmsiKSk7CiAgICAg
fQotI2VuZGlmIC8vIENQVShBUk02NCkKLSNlbmRpZiAvLyBFTkFCTEUoU0VQQVJBVEVEX1dYX0hF
QVApCisjZWxzZSAvLyAhKENQVShBUk02NCkgJiYgVVNFKEVYRUNVVEVfT05MWV9KSVRfV1JJVEVf
RlVOQ1RJT04pKQorICAgIHN0YXRpYyB2b2lkIGdlbmVyaWNXcml0ZVRvSklUUmVnaW9uKG9mZl90
IG9mZnNldCwgY29uc3Qgdm9pZCogZGF0YSwgc2l6ZV90IGRhdGFTaXplKQorICAgIHsKKyAgICAg
ICAgbWVtY3B5KCh2b2lkKikoc3RhcnRPZkZpeGVkV3JpdGFibGVNZW1vcnlQb29sICsgb2Zmc2V0
KSwgZGF0YSwgZGF0YVNpemUpOworICAgIH0KKworICAgIE1hY3JvQXNzZW1ibGVyQ29kZVJlZiBq
aXRXcml0ZVRodW5rR2VuZXJhdG9yKHZvaWQqIGFkZHJlc3MsIHZvaWQqLCBzaXplX3QpCisgICAg
eworICAgICAgICBzdGFydE9mRml4ZWRXcml0YWJsZU1lbW9yeVBvb2wgPSByZWludGVycHJldF9j
YXN0PHVpbnRwdHJfdD4oYWRkcmVzcyk7CisgICAgICAgIHVpbnRwdHJfdCBmdW5jdGlvbiA9ICh1
aW50cHRyX3QpKCh2b2lkKikmZ2VuZXJpY1dyaXRlVG9KSVRSZWdpb24pOworI2lmIENQVShBUk1f
VEhVTUIyKQorICAgICAgICAvLyBIYW5kbGUgdGh1bWIgb2Zmc2V0CisgICAgICAgIGZ1bmN0aW9u
IC09IDE7CisjZW5kaWYKKyAgICAgICAgcmV0dXJuIE1hY3JvQXNzZW1ibGVyQ29kZVJlZjo6Y3Jl
YXRlU2VsZk1hbmFnZWRDb2RlUmVmKE1hY3JvQXNzZW1ibGVyQ29kZVB0cigodm9pZCopZnVuY3Rp
b24pKTsKKyAgICB9CisjZW5kaWYKKworI2Vsc2UgLy8gIU9TKERBUldJTikKKyAgICB2b2lkIGlu
aXRpYWxpemVTZXBhcmF0ZWRXWEhlYXBzKHZvaWQqLCBzaXplX3QsIHZvaWQqLCBzaXplX3QpCisg
ICAgeworICAgICAgICBBU1NFUlRfVU5VU0VEKHN0YXJ0T2ZGaXhlZFdyaXRhYmxlTWVtb3J5UG9v
bCwgIXN0YXJ0T2ZGaXhlZFdyaXRhYmxlTWVtb3J5UG9vbCk7CisgICAgfQorI2VuZGlmCiAKIHBy
aXZhdGU6CiAgICAgUGFnZVJlc2VydmF0aW9uIG1fcmVzZXJ2YXRpb247CmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9PcHRpb25zLmNwcCBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL09wdGlvbnMuY3BwCmluZGV4IGUyYTY4NzI2MzQwNTlkODA2ZTU3MDJk
NDhhOTBmZGExNjQ3Y2NlZmUuLjQ0ZmQyMjZmM2NjMWY0MDBhNmFlY2I4OTIzMTY0ZTY3YjRiMjQx
YzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL09wdGlvbnMuY3Bw
CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL09wdGlvbnMuY3BwCkBAIC0yOTQs
OSArMjk0LDcgQEAgc3RhdGljIHZvaWQgcmVjb21wdXRlRGVwZW5kZW50T3B0aW9ucygpCiAjaWYg
IUVOQUJMRShGVExfSklUKQogICAgIE9wdGlvbnM6OnVzZUZUTEpJVCgpID0gZmFsc2U7CiAjZW5k
aWYKLSNpZiAhRU5BQkxFKFNFUEFSQVRFRF9XWF9IRUFQKQotICAgIE9wdGlvbnM6OnVzZVNlcGFy
YXRlZFdYSGVhcCgpID0gZmFsc2U7Ci0jZW5kaWYKKyAgICAKICNpZiBPUyhXSU5ET1dTKSAmJiBD
UFUoWDg2KSAKICAgICAvLyBEaXNhYmxlIEpJVCBvbiBXaW5kb3dzIGlmIFNTRTIgaXMgbm90IHBy
ZXNlbnQgCiAgICAgaWYgKCFNYWNyb0Fzc2VtYmxlclg4Njo6c3VwcG9ydHNGbG9hdGluZ1BvaW50
KCkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9PcHRpb25zLmgg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9PcHRpb25zLmgKaW5kZXggODk4OGY0ZjQ0
MTljZWUwNzllOTYxOWNlNjBhNDdiY2VjZmQ2MGVjNS4uNmExOTA4MzFiYjdkODgwMmUzYmJjYWU1
YmFjZDE1MjhiZTc5ZTdmNSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvT3B0aW9ucy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL09wdGlvbnMu
aApAQCAtMTE4LDcgKzExOCw3IEBAIHR5cGVkZWYgY29uc3QgY2hhciogb3B0aW9uU3RyaW5nOwog
ICAgIFwKICAgICB2KGJvb2wsIGNyYXNoSWZDYW50QWxsb2NhdGVKSVRNZW1vcnksIGZhbHNlLCBu
dWxscHRyKSBcCiAgICAgdih1bnNpZ25lZCwgaml0TWVtb3J5UmVzZXJ2YXRpb25TaXplLCAwLCAi
U2V0IHRoaXMgbnVtYmVyIHRvIGNoYW5nZSB0aGUgZXhlY3V0YWJsZSBhbGxvY2F0aW9uIHNpemUg
aW4gRXhlY3V0YWJsZUFsbG9jYXRvckZpeGVkVk1Qb29sLiAoSW4gYnl0ZXMuKSIpIFwKLSAgICB2
KGJvb2wsIHVzZVNlcGFyYXRlZFdYSGVhcCwgdHJ1ZSwgbnVsbHB0cikgXAorICAgIHYoYm9vbCwg
dXNlU2VwYXJhdGVkV1hIZWFwLCBmYWxzZSwgbnVsbHB0cikgXAogICAgIFwKICAgICB2KGJvb2ws
IGZvcmNlQ29kZUJsb2NrTGl2ZW5lc3MsIGZhbHNlLCBudWxscHRyKSBcCiAgICAgdihib29sLCBm
b3JjZUlDRmFpbHVyZSwgZmFsc2UsIG51bGxwdHIpIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYv
d3RmL0ZlYXR1cmVEZWZpbmVzLmggYi9Tb3VyY2UvV1RGL3d0Zi9GZWF0dXJlRGVmaW5lcy5oCmlu
ZGV4IDA0MDhiZjJmMGQ0ZDEwNzY5ZDdkNThkZTBmYjZhMzFlNjQxYjZiNmMuLmFlMWY2YzNkNDQ3
ZGU4NjVkODYzNTNkYjczMmI0Y2YxYmM1NjQyZTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3Rm
L0ZlYXR1cmVEZWZpbmVzLmgKKysrIGIvU291cmNlL1dURi93dGYvRmVhdHVyZURlZmluZXMuaApA
QCAtNzc5LDEwICs3NzksNiBAQCB0aGUgcHVibGljIGlPUyBTREsuIFdlIHdpbGwgYWxzbyBuZWVk
IHRvIHVwZGF0ZSB0aGUgRmVhdHVyZURlZmluZXMueGNjb25maWcgZmlsZQogI2RlZmluZSBFTkFC
TEVfWFNMVCAxCiAjZW5kaWYKIAotI2lmICFkZWZpbmVkKEVOQUJMRV9TRVBBUkFURURfV1hfSEVB
UCkKLSNkZWZpbmUgRU5BQkxFX1NFUEFSQVRFRF9XWF9IRUFQIDAKLSNlbmRpZgotCiAvKiBBc3Nl
cnRzLCBpbnZhcmlhbnRzIGZvciBtYWNybyBkZWZpbml0aW9ucyAqLwogCiAjaWYgRU5BQkxFKFZJ
REVPX1RSQUNLKSAmJiAhRU5BQkxFKFZJREVPKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYv
UGxhdGZvcm0uaCBiL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtLmgKaW5kZXggMTY3OWIzNTZlNGQy
NDQ2ZTVmZWMxNWJjZmJjMTlhNmMyMWJiNDhlMy4uYThkMmNhNTYwMTZiZmJlY2MzOTNmNjNkZTM5
ZTMwMmU0ZDAzM2NhOSAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvUGxhdGZvcm0uaAorKysg
Yi9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybS5oCkBAIC0xMTQyLDEwICsxMTQyLDQgQEAKICNlbmRp
ZgogI2VuZGlmCiAKLSNpZiBkZWZpbmVkKEVOQUJMRV9TRVBBUkFURURfV1hfSEVBUCkKLSNpZiAh
KENQVShBUk02NCkgJiYgKChQTEFURk9STShJT1MpICYmIF9fSVBIT05FX09TX1ZFUlNJT05fTUlO
X1JFUVVJUkVEID49IDEwMDAwMCkpKQotI3VuZGVmIEVOQUJMRV9TRVBBUkFURURfV1hfSEVBUAot
I2VuZGlmCi0jZW5kaWYKLQogI2VuZGlmIC8qIFdURl9QbGF0Zm9ybV9oICovCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZyBi
L1NvdXJjZS9XZWJDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCmlu
ZGV4IDczNGI2YWU0N2YzMjQ2ZDg3ZDRkY2Q2OWNjZGNlMmVkNDhiMGNjOGYuLmE1ZWExZjRhNjg5
Y2MxYTgwYWFhZWY1ZTE4OTFiZTFmMTE2NzRlYjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCisrKyBiL1NvdXJjZS9XZWJD
b3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCkBAIC0xOTMsNyArMTkz
LDQgQEAgRU5BQkxFX0ZUTF9KSVRbc2RrPWlwaG9uZW9zKl0gPSBFTkFCTEVfRlRMX0pJVDsKIEVO
QUJMRV9TSEFET1dfRE9NID0gRU5BQkxFX1NIQURPV19ET007CiBFTkFCTEVfQ1VTVE9NX0VMRU1F
TlRTID0gRU5BQkxFX0NVU1RPTV9FTEVNRU5UUzsKIAotRU5BQkxFX1NFUEFSQVRFRF9XWF9IRUFQ
W3Nkaz1pcGhvbmUqXSA9IDsKLUVOQUJMRV9TRVBBUkFURURfV1hfSEVBUFtzZGs9bWFjb3N4Kl0g
PSA7Ci0KLUZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxFXzNEX1RSQU5TRk9STVMpICQoRU5BQkxF
X0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NS
T0xMSU5HKSAkKEVOQUJMRV9BVkZfQ0FQVElPTlMpICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVO
VCkgJChFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DQU5WQVNfUEFUSCkgJChF
TkFCTEVfQ0FOVkFTX1BST1hZKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVf
RVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKSAkKEVOQUJMRV9FUzZfR0VORVJBVE9SUykgJChFTkFC
TEVfRVM2X01PRFVMRVMpICQoRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HKSAkKEVOQUJMRV9DU1Bf
TkVYVCkgJChFTkFCTEVfQ1NTX0FOSU1BVElPTlNfTEVWRUxfMikgJChFTkFCTEVfQ1NTX0JPWF9E
RUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19E
RVZJQ0VfQURBUFRBVElPTikgJChFTkFCTEVfQ1NTX0dSSURfTEFZT1VUKSAkKEVOQUJMRV9DU1Nf
SU1BR0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJM
RV9DU1NfUkVHSU9OUykgJChFTkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQpICQoRU5BQkxFX0NT
U19TSEFQRVMpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NTM19URVhUX0xJTkVfQlJF
QUspICQoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVOQUJMRV9DVVNUT01fU0NIRU1FX0hB
TkRMRVIpICQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUKSAkKEVOQUJMRV9EQVRBTElTVF9FTEVN
RU5UKSAkKEVOQUJMRV9EQVRBX1RSQU5TRkVSX0lURU1TKSAkKEVOQUJMRV9ERVRBSUxTX0VMRU1F
TlQpICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVfRE9NNF9FVkVOVFNfQ09O
U1RSVUNUT1IpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfRU5DUllQVEVEX01F
RElBX1YyKSAkKEVOQUJMRV9GRVRDSF9BUEkpICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikgJChF
TkFCTEVfRk9OVF9MT0FEX0VWRU5UUykgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxF
X0dBTUVQQUQpICQoRU5BQkxFX0dBTUVQQURfREVQUkVDQVRFRCkgJChFTkFCTEVfR0VPTE9DQVRJ
T04pICQoRU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVfU0VSVklDRV9DT05UUk9MUykgJChF
TkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JL
RVJTKSAkKEVOQUJMRV9JTkRJRV9VSSkgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFC
TEVfSU5QVVRfVFlQRV9DT0xPUl9QT1BPVkVSKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQo
RU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVfSU5DT01QTEVURSkgJChFTkFCTEVfSU5QVVRfVFlQ
RV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBV
VF9UWVBFX1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVfV0lSRUxFU1Nf
UExBWUJBQ0tfVEFSR0VUKSAkKEVOQUJMRV9JTlRMKSAkKEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVO
VFMpICQoRU5BQkxFX0lPU19URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX0lPU19UT1VDSF9FVkVO
VFMpICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lf
Tk9USUZJQ0FUSU9OUykgJChFTkFCTEVfTEVHQUNZX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVf
TEVHQUNZX1dFQl9BVURJTykgJChFTkFCTEVfTEVUVEVSUFJFU1MpICQoRU5BQkxFX0xJTktfUFJF
RkVUQ0gpICQoRU5BQkxFX01BQ19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfTUFUSE1MKSAkKEVO
QUJMRV9NRURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxFX01FRElBX1NFU1NJT04pICQoRU5B
QkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVE
SUFfU1RSRUFNKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkgJChFTkFC
TEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9VVElMUykg
JChFTkFCTEVfTkFWSUdBVE9SX0hXQ09OQ1VSUkVOQ1kpICQoRU5BQkxFX05PVElGSUNBVElPTlMp
ICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJfTE9DSykgJChFTkFCTEVf
UFJPWElNSVRZX0VWRU5UUykgJChFTkFCTEVfUFVCTElDX1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9R
VU9UQSkgJChFTkFCTEVfUkVRVUVTVF9BTklNQVRJT05fRlJBTUUpICQoRU5BQkxFX1JFUVVFU1Rf
QVVUT0NPTVBMRVRFKSAkKEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9SKSAkKEVOQUJMRV9SRVNPTFVU
SU9OX01FRElBX1FVRVJZKSAkKEVOQUJMRV9SRVNPVVJDRV9VU0FHRSkgJChFTkFCTEVfUlVCQkVS
X0JBTkRJTkcpICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkgJChFTkFCTEVfU1BFRUNIX1NZTlRI
RVNJUykgJChFTkFCTEVfU1RSRUFNU19BUEkpICQoRU5BQkxFX1NVQlRMRV9DUllQVE8pICQoRU5B
QkxFX1NWR19GT05UUykgJChFTkFCTEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04pICQoRU5B
QkxFX1RFTVBMQVRFX0VMRU1FTlQpICQoRU5BQkxFX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVf
VE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9UT1VDSF9JQ09OX0xPQURJTkcpICQoRU5BQkxFX0NTU19U
UkFJTElOR19XT1JEKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVklERU8pICQo
RU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9WSUVX
X01PREVfQ1NTX01FRElBKSAkKEVOQUJMRV9XRUJBU1NFTUJMWSkgJChFTkFCTEVfV0VCR0wpICQo
RU5BQkxFX1dFQkdMMikgJChFTkFCTEVfV0VCX0FOSU1BVElPTlMpICQoRU5BQkxFX1dFQl9BVURJ
TykgJChFTkFCTEVfV0VCX1JFUExBWSkgJChFTkFCTEVfV0VCX1NPQ0tFVFMpICQoRU5BQkxFX1dF
Ql9USU1JTkcpICQoRU5BQkxFX1hTTFQpICQoRU5BQkxFX0ZUTF9KSVQpICQoRU5BQkxFX0pJVCkg
JChFTkFCTEVfU0hBRE9XX0RPTSkgJChFTkFCTEVfQ1VTVE9NX0VMRU1FTlRTKSAkKEVOQUJMRV9W
SURFT19QUkVTRU5UQVRJT05fTU9ERSkgJChFTkFCTEVfU0VQQVJBVEVEX1dYX0hFQVApOworRkVB
VFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfVFJBTlNGT1JNUykgJChFTkFCTEVfQUNDRUxFUkFU
RURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkcpICQo
RU5BQkxFX0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQVRUQUNITUVOVF9FTEVNRU5UKSAkKEVOQUJM
RV9DQUNIRV9QQVJUSVRJT05JTkcpICQoRU5BQkxFX0NBTlZBU19QQVRIKSAkKEVOQUJMRV9DQU5W
QVNfUFJPWFkpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9FUzZfQVJST1dG
VU5DVElPTl9TWU5UQVgpICQoRU5BQkxFX0VTNl9HRU5FUkFUT1JTKSAkKEVOQUJMRV9FUzZfTU9E
VUxFUykgJChFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcpICQoRU5BQkxFX0NTUF9ORVhUKSAkKEVO
QUJMRV9DU1NfQU5JTUFUSU9OU19MRVZFTF8yKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05f
QlJFQUspICQoRU5BQkxFX0NTU19DT01QT1NJVElORykgJChFTkFCTEVfQ1NTX0RFVklDRV9BREFQ
VEFUSU9OKSAkKEVOQUJMRV9DU1NfR1JJRF9MQVlPVVQpICQoRU5BQkxFX0NTU19JTUFHRV9PUklF
TlRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJT04pICQoRU5BQkxFX0NTU19SRUdJ
T05TKSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NTX1NIQVBFUykg
JChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJMRV9DU1MzX1RFWFRfTElORV9CUkVBSykgJChFTkFC
TEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChF
TkFCTEVfREFTSEJPQVJEX1NVUFBPUlQpICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5B
QkxFX0RBVEFfVFJBTlNGRVJfSVRFTVMpICQoRU5BQkxFX0RFVEFJTFNfRUxFTUVOVCkgJChFTkFC
TEVfREVWSUNFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9ET000X0VWRU5UU19DT05TVFJVQ1RPUikg
JChFTkFCTEVfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUFfVjIpICQo
RU5BQkxFX0ZFVENIX0FQSSkgJChFTkFCTEVfRklMVEVSU19MRVZFTF8yKSAkKEVOQUJMRV9GT05U
X0xPQURfRVZFTlRTKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0FNRVBBRCkg
JChFTkFCTEVfR0FNRVBBRF9ERVBSRUNBVEVEKSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFC
TEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKSAkKEVOQUJMRV9JTkRF
WEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMpICQoRU5B
QkxFX0lORElFX1VJKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9U
WVBFX0NPTE9SX1BPUE9WRVIpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5Q
VVRfVFlQRV9EQVRFVElNRV9JTkNPTVBMRVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1F
TE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElN
RSkgJChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19U
QVJHRVQpICQoRU5BQkxFX0lOVEwpICQoRU5BQkxFX0lPU19HRVNUVVJFX0VWRU5UUykgJChFTkFC
TEVfSU9TX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfSU9TX1RPVUNIX0VWRU5UUykgJChFTkFC
TEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9OT1RJRklDQVRJ
T05TKSAkKEVOQUJMRV9MRUdBQ1lfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfV0VC
X0FVRElPKSAkKEVOQUJMRV9MRVRURVJQUkVTUykgJChFTkFCTEVfTElOS19QUkVGRVRDSCkgJChF
TkFCTEVfTUFDX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElB
X0NPTlRST0xTX1NDUklQVCkgJChFTkFCTEVfTUVESUFfU0VTU0lPTikgJChFTkFCTEVfTUVESUFf
U09VUkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9NRURJQV9TVFJFQU0p
ICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAkKEVOQUJMRV9NT1VTRV9D
VVJTT1JfU0NBTEUpICQoRU5BQkxFX05BVklHQVRPUl9DT05URU5UX1VUSUxTKSAkKEVOQUJMRV9O
QVZJR0FUT1JfSFdDT05DVVJSRU5DWSkgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVf
UERGS0lUX1BMVUdJTikgJChFTkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVOQUJMRV9QUk9YSU1JVFlf
RVZFTlRTKSAkKEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVO
QUJMRV9SRVFVRVNUX0FOSU1BVElPTl9GUkFNRSkgJChFTkFCTEVfUkVRVUVTVF9BVVRPQ09NUExF
VEUpICQoRU5BQkxFX1JFTU9URV9JTlNQRUNUT1IpICQoRU5BQkxFX1JFU09MVVRJT05fTUVESUFf
UVVFUlkpICQoRU5BQkxFX1JFU09VUkNFX1VTQUdFKSAkKEVOQUJMRV9SVUJCRVJfQkFORElORykg
JChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVO
QUJMRV9TVFJFQU1TX0FQSSkgJChFTkFCTEVfU1VCVExFX0NSWVBUTykgJChFTkFCTEVfU1ZHX0ZP
TlRTKSAkKEVOQUJMRV9URUxFUEhPTkVfTlVNQkVSX0RFVEVDVElPTikgJChFTkFCTEVfVEVNUExB
VEVfRUxFTUVOVCkgJChFTkFCTEVfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9UT1VDSF9FVkVO
VFMpICQoRU5BQkxFX1RPVUNIX0lDT05fTE9BRElORykgJChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dP
UkQpICQoRU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklE
RU9fVFJBQ0spICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUpICQoRU5BQkxFX1ZJRVdfTU9ERV9DU1Nf
TUVESUEpICQoRU5BQkxFX1dFQkFTU0VNQkxZKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VC
R0wyKSAkKEVOQUJMRV9XRUJfQU5JTUFUSU9OUykgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJM
RV9XRUJfUkVQTEFZKSAkKEVOQUJMRV9XRUJfU09DS0VUUykgJChFTkFCTEVfV0VCX1RJTUlORykg
JChFTkFCTEVfWFNMVCkgJChFTkFCTEVfRlRMX0pJVCkgJChFTkFCTEVfSklUKSAkKEVOQUJMRV9T
SEFET1dfRE9NKSAkKEVOQUJMRV9DVVNUT01fRUxFTUVOVFMpICQoRU5BQkxFX1ZJREVPX1BSRVNF
TlRBVElPTl9NT0RFKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL0NvbmZpZ3VyYXRp
b25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnIGIvU291cmNlL1dlYktpdC9tYWMvQ29uZmlndXJh
dGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKaW5kZXggNzM0YjZhZTQ3ZjMyNDZkODdkNGRj
ZDY5Y2NkY2UyZWQ0OGIwY2M4Zi4uYTVlYTFmNGE2ODljYzFhODBhYWFlZjVlMTg5MWJlMWYxMTY3
NGViMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvQ29uZmlndXJhdGlvbnMvRmVhdHVy
ZURlZmluZXMueGNjb25maWcKKysrIGIvU291cmNlL1dlYktpdC9tYWMvQ29uZmlndXJhdGlvbnMv
RmVhdHVyZURlZmluZXMueGNjb25maWcKQEAgLTE5Myw3ICsxOTMsNCBAQCBFTkFCTEVfRlRMX0pJ
VFtzZGs9aXBob25lb3MqXSA9IEVOQUJMRV9GVExfSklUOwogRU5BQkxFX1NIQURPV19ET00gPSBF
TkFCTEVfU0hBRE9XX0RPTTsKIEVOQUJMRV9DVVNUT01fRUxFTUVOVFMgPSBFTkFCTEVfQ1VTVE9N
X0VMRU1FTlRTOwogCi1FTkFCTEVfU0VQQVJBVEVEX1dYX0hFQVBbc2RrPWlwaG9uZSpdID0gOwot
RU5BQkxFX1NFUEFSQVRFRF9XWF9IRUFQW3Nkaz1tYWNvc3gqXSA9IDsKLQotRkVBVFVSRV9ERUZJ
TkVTID0gJChFTkFCTEVfM0RfVFJBTlNGT1JNUykgJChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FO
VkFTKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkcpICQoRU5BQkxFX0FW
Rl9DQVBUSU9OUykgJChFTkFCTEVfQVRUQUNITUVOVF9FTEVNRU5UKSAkKEVOQUJMRV9DQUNIRV9Q
QVJUSVRJT05JTkcpICQoRU5BQkxFX0NBTlZBU19QQVRIKSAkKEVOQUJMRV9DQU5WQVNfUFJPWFkp
ICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9FUzZfQVJST1dGVU5DVElPTl9T
WU5UQVgpICQoRU5BQkxFX0VTNl9HRU5FUkFUT1JTKSAkKEVOQUJMRV9FUzZfTU9EVUxFUykgJChF
TkFCTEVfQ09OVEVOVF9GSUxURVJJTkcpICQoRU5BQkxFX0NTUF9ORVhUKSAkKEVOQUJMRV9DU1Nf
QU5JTUFUSU9OU19MRVZFTF8yKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUspICQo
RU5BQkxFX0NTU19DT01QT1NJVElORykgJChFTkFCTEVfQ1NTX0RFVklDRV9BREFQVEFUSU9OKSAk
KEVOQUJMRV9DU1NfR1JJRF9MQVlPVVQpICQoRU5BQkxFX0NTU19JTUFHRV9PUklFTlRBVElPTikg
JChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJT04pICQoRU5BQkxFX0NTU19SRUdJT05TKSAkKEVO
QUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NTX1NIQVBFUykgJChFTkFCTEVf
Q1NTM19URVhUKSAkKEVOQUJMRV9DU1MzX1RFWFRfTElORV9CUkVBSykgJChFTkFCTEVfQ1VSU09S
X1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVfREFT
SEJPQVJEX1NVUFBPUlQpICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RBVEFf
VFJBTlNGRVJfSVRFTVMpICQoRU5BQkxFX0RFVEFJTFNfRUxFTUVOVCkgJChFTkFCTEVfREVWSUNF
X09SSUVOVEFUSU9OKSAkKEVOQUJMRV9ET000X0VWRU5UU19DT05TVFJVQ1RPUikgJChFTkFCTEVf
RU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUFfVjIpICQoRU5BQkxFX0ZF
VENIX0FQSSkgJChFTkFCTEVfRklMVEVSU19MRVZFTF8yKSAkKEVOQUJMRV9GT05UX0xPQURfRVZF
TlRTKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVf
R0FNRVBBRF9ERVBSRUNBVEVEKSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVfSUNPTkRB
VEFCQVNFKSAkKEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFC
QVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMpICQoRU5BQkxFX0lORElF
X1VJKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9S
X1BPUE9WRVIpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9E
QVRFVElNRV9JTkNPTVBMRVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQo
RU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFC
TEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICQo
RU5BQkxFX0lOVEwpICQoRU5BQkxFX0lPU19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfSU9TX1RF
WFRfQVVUT1NJWklORykgJChFTkFCTEVfSU9TX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfTEVHQUNZ
X0NTU19WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9OT1RJRklDQVRJT05TKSAkKEVO
QUJMRV9MRUdBQ1lfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfV0VCX0FVRElPKSAk
KEVOQUJMRV9MRVRURVJQUkVTUykgJChFTkFCTEVfTElOS19QUkVGRVRDSCkgJChFTkFCTEVfTUFD
X0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElBX0NPTlRST0xT
X1NDUklQVCkgJChFTkFCTEVfTUVESUFfU0VTU0lPTikgJChFTkFCTEVfTUVESUFfU09VUkNFKSAk
KEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9NRURJQV9TVFJFQU0pICQoRU5BQkxF
X01FVEVSX0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NB
TEUpICQoRU5BQkxFX05BVklHQVRPUl9DT05URU5UX1VUSUxTKSAkKEVOQUJMRV9OQVZJR0FUT1Jf
SFdDT05DVVJSRU5DWSkgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfUERGS0lUX1BM
VUdJTikgJChFTkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVOQUJMRV9QUk9YSU1JVFlfRVZFTlRTKSAk
KEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRVFV
RVNUX0FOSU1BVElPTl9GUkFNRSkgJChFTkFCTEVfUkVRVUVTVF9BVVRPQ09NUExFVEUpICQoRU5B
QkxFX1JFTU9URV9JTlNQRUNUT1IpICQoRU5BQkxFX1JFU09MVVRJT05fTUVESUFfUVVFUlkpICQo
RU5BQkxFX1JFU09VUkNFX1VTQUdFKSAkKEVOQUJMRV9SVUJCRVJfQkFORElORykgJChFTkFCTEVf
Q1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TVFJF
QU1TX0FQSSkgJChFTkFCTEVfU1VCVExFX0NSWVBUTykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVO
QUJMRV9URUxFUEhPTkVfTlVNQkVSX0RFVEVDVElPTikgJChFTkFCTEVfVEVNUExBVEVfRUxFTUVO
VCkgJChFTkFCTEVfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9UT1VDSF9FVkVOVFMpICQoRU5B
QkxFX1RPVUNIX0lDT05fTE9BRElORykgJChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQoRU5B
QkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklERU9fVFJBQ0sp
ICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUpICQoRU5BQkxFX1ZJRVdfTU9ERV9DU1NfTUVESUEpICQo
RU5BQkxFX1dFQkFTU0VNQkxZKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCR0wyKSAkKEVO
QUJMRV9XRUJfQU5JTUFUSU9OUykgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfUkVQ
TEFZKSAkKEVOQUJMRV9XRUJfU09DS0VUUykgJChFTkFCTEVfV0VCX1RJTUlORykgJChFTkFCTEVf
WFNMVCkgJChFTkFCTEVfRlRMX0pJVCkgJChFTkFCTEVfSklUKSAkKEVOQUJMRV9TSEFET1dfRE9N
KSAkKEVOQUJMRV9DVVNUT01fRUxFTUVOVFMpICQoRU5BQkxFX1ZJREVPX1BSRVNFTlRBVElPTl9N
T0RFKSAkKEVOQUJMRV9TRVBBUkFURURfV1hfSEVBUCk7CitGRUFUVVJFX0RFRklORVMgPSAkKEVO
QUJMRV8zRF9UUkFOU0ZPUk1TKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5B
QkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElORykgJChFTkFCTEVfQVZGX0NBUFRJT05T
KSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQpICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklO
RykgJChFTkFCTEVfQ0FOVkFTX1BBVEgpICQoRU5BQkxFX0NBTlZBU19QUk9YWSkgJChFTkFCTEVf
Q0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0VTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkgJChF
TkFCTEVfRVM2X0dFTkVSQVRPUlMpICQoRU5BQkxFX0VTNl9NT0RVTEVTKSAkKEVOQUJMRV9DT05U
RU5UX0ZJTFRFUklORykgJChFTkFCTEVfQ1NQX05FWFQpICQoRU5BQkxFX0NTU19BTklNQVRJT05T
X0xFVkVMXzIpICQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVBSykgJChFTkFCTEVfQ1NT
X0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJT04pICQoRU5BQkxFX0NT
U19HUklEX0xBWU9VVCkgJChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9D
U1NfSU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1JFR0lPTlMpICQoRU5BQkxFX0NTU19T
RUxFQ1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9DU1NfU0hBUEVTKSAkKEVOQUJMRV9DU1MzX1RFWFQp
ICQoRU5BQkxFX0NTUzNfVEVYVF9MSU5FX0JSRUFLKSAkKEVOQUJMRV9DVVJTT1JfVklTSUJJTElU
WSkgJChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQ
UE9SVCkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREFUQV9UUkFOU0ZFUl9J
VEVNUykgJChFTkFCTEVfREVUQUlMU19FTEVNRU5UKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJ
T04pICQoRU5BQkxFX0RPTTRfRVZFTlRTX0NPTlNUUlVDVE9SKSAkKEVOQUJMRV9FTkNSWVBURURf
TUVESUEpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQV9WMikgJChFTkFCTEVfRkVUQ0hfQVBJKSAk
KEVOQUJMRV9GSUxURVJTX0xFVkVMXzIpICQoRU5BQkxFX0ZPTlRfTE9BRF9FVkVOVFMpICQoRU5B
QkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HQU1FUEFEX0RF
UFJFQ0FURUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9JQ09OREFUQUJBU0UpICQo
RU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5B
QkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5ESUVfVUkpICQoRU5B
QkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1JfUE9QT1ZFUikg
JChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lO
Q09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5Q
VVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9U
WVBFX1dFRUspICQoRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkgJChFTkFCTEVfSU5U
TCkgJChFTkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1NfVEVYVF9BVVRPU0la
SU5HKSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRP
Ul9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX05PVElGSUNBVElPTlMpICQoRU5BQkxFX0xFR0FD
WV9WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9XRUJfQVVESU8pICQoRU5BQkxFX0xF
VFRFUlBSRVNTKSAkKEVOQUJMRV9MSU5LX1BSRUZFVENIKSAkKEVOQUJMRV9NQUNfR0VTVFVSRV9F
VkVOVFMpICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUKSAk
KEVOQUJMRV9NRURJQV9TRVNTSU9OKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01F
RElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FRElBX1NUUkVBTSkgJChFTkFCTEVfTUVURVJfRUxF
TUVOVCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFC
TEVfTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpICQoRU5BQkxFX05BVklHQVRPUl9IV0NPTkNVUlJF
TkNZKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9QREZLSVRfUExVR0lOKSAkKEVO
QUJMRV9QT0lOVEVSX0xPQ0spICQoRU5BQkxFX1BST1hJTUlUWV9FVkVOVFMpICQoRU5BQkxFX1BV
QkxJQ19TVUZGSVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFUVVFU1RfQU5JTUFU
SU9OX0ZSQU1FKSAkKEVOQUJMRV9SRVFVRVNUX0FVVE9DT01QTEVURSkgJChFTkFCTEVfUkVNT1RF
X0lOU1BFQ1RPUikgJChFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVfUkVT
T1VSQ0VfVVNBR0UpICQoRU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAkKEVOQUJMRV9DU1NfU0NST0xM
X1NOQVApICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxFX1NUUkVBTVNfQVBJKSAk
KEVOQUJMRV9TVUJUTEVfQ1JZUFRPKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1RFTEVQ
SE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVOQUJMRV9URU1QTEFURV9FTEVNRU5UKSAkKEVOQUJM
RV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVE9VQ0hf
SUNPTl9MT0FESU5HKSAkKEVOQUJMRV9DU1NfVFJBSUxJTkdfV09SRCkgJChFTkFCTEVfVVNFUlNF
TEVDVF9BTEwpICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVf
REFUQUNVRV9WQUxVRSkgJChFTkFCTEVfVklFV19NT0RFX0NTU19NRURJQSkgJChFTkFCTEVfV0VC
QVNTRU1CTFkpICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJHTDIpICQoRU5BQkxFX1dFQl9B
TklNQVRJT05TKSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9SRVBMQVkpICQoRU5B
QkxFX1dFQl9TT0NLRVRTKSAkKEVOQUJMRV9XRUJfVElNSU5HKSAkKEVOQUJMRV9YU0xUKSAkKEVO
QUJMRV9GVExfSklUKSAkKEVOQUJMRV9KSVQpICQoRU5BQkxFX1NIQURPV19ET00pICQoRU5BQkxF
X0NVU1RPTV9FTEVNRU5UUykgJChFTkFCTEVfVklERU9fUFJFU0VOVEFUSU9OX01PREUpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNj
b25maWcgYi9Tb3VyY2UvV2ViS2l0Mi9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2Nv
bmZpZwppbmRleCA3MzRiNmFlNDdmMzI0NmQ4N2Q0ZGNkNjljY2RjZTJlZDQ4YjBjYzhmLi5hNWVh
MWY0YTY4OWNjMWE4MGFhYWVmNWUxODkxYmUxZjExNjc0ZWIyIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0Mi9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZworKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwpAQCAtMTkz
LDcgKzE5Myw0IEBAIEVOQUJMRV9GVExfSklUW3Nkaz1pcGhvbmVvcypdID0gRU5BQkxFX0ZUTF9K
SVQ7CiBFTkFCTEVfU0hBRE9XX0RPTSA9IEVOQUJMRV9TSEFET1dfRE9NOwogRU5BQkxFX0NVU1RP
TV9FTEVNRU5UUyA9IEVOQUJMRV9DVVNUT01fRUxFTUVOVFM7CiAKLUVOQUJMRV9TRVBBUkFURURf
V1hfSEVBUFtzZGs9aXBob25lKl0gPSA7Ci1FTkFCTEVfU0VQQVJBVEVEX1dYX0hFQVBbc2RrPW1h
Y29zeCpdID0gOwotCi1GRUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9UUkFOU0ZPUk1TKSAk
KEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJG
TE9XX1NDUk9MTElORykgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9BVFRBQ0hNRU5U
X0VMRU1FTlQpICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykgJChFTkFCTEVfQ0FOVkFTX1BB
VEgpICQoRU5BQkxFX0NBTlZBU19QUk9YWSkgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQo
RU5BQkxFX0VTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkgJChFTkFCTEVfRVM2X0dFTkVSQVRPUlMp
ICQoRU5BQkxFX0VTNl9NT0RVTEVTKSAkKEVOQUJMRV9DT05URU5UX0ZJTFRFUklORykgJChFTkFC
TEVfQ1NQX05FWFQpICQoRU5BQkxFX0NTU19BTklNQVRJT05TX0xFVkVMXzIpICQoRU5BQkxFX0NT
U19CT1hfREVDT1JBVElPTl9CUkVBSykgJChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJM
RV9DU1NfREVWSUNFX0FEQVBUQVRJT04pICQoRU5BQkxFX0NTU19HUklEX0xBWU9VVCkgJChFTkFC
TEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xVVElPTikg
JChFTkFCTEVfQ1NTX1JFR0lPTlMpICQoRU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAkKEVO
QUJMRV9DU1NfU0hBUEVTKSAkKEVOQUJMRV9DU1MzX1RFWFQpICQoRU5BQkxFX0NTUzNfVEVYVF9M
SU5FX0JSRUFLKSAkKEVOQUJMRV9DVVJTT1JfVklTSUJJTElUWSkgJChFTkFCTEVfQ1VTVE9NX1ND
SEVNRV9IQU5ETEVSKSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVCkgJChFTkFCTEVfREFUQUxJ
U1RfRUxFTUVOVCkgJChFTkFCTEVfREFUQV9UUkFOU0ZFUl9JVEVNUykgJChFTkFCTEVfREVUQUlM
U19FTEVNRU5UKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RPTTRfRVZF
TlRTX0NPTlNUUlVDVE9SKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0VOQ1JZ
UFRFRF9NRURJQV9WMikgJChFTkFCTEVfRkVUQ0hfQVBJKSAkKEVOQUJMRV9GSUxURVJTX0xFVkVM
XzIpICQoRU5BQkxFX0ZPTlRfTE9BRF9FVkVOVFMpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAk
KEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HQU1FUEFEX0RFUFJFQ0FURUQpICQoRU5BQkxFX0dF
T0xPQ0FUSU9OKSAkKEVOQUJMRV9JQ09OREFUQUJBU0UpICQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJP
TFMpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0Vf
SU5fV09SS0VSUykgJChFTkFCTEVfSU5ESUVfVUkpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1Ip
ICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1JfUE9QT1ZFUikgJChFTkFCTEVfSU5QVVRfVFlQRV9E
QVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lO
UFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFC
TEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX1dJ
UkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkgJChFTkFCTEVfSU5UTCkgJChFTkFCTEVfSU9TX0dFU1RV
UkVfRVZFTlRTKSAkKEVOQUJMRV9JT1NfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9JT1NfVE9V
Q0hfRVZFTlRTKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVf
TEVHQUNZX05PVElGSUNBVElPTlMpICQoRU5BQkxFX0xFR0FDWV9WRU5ET1JfUFJFRklYRVMpICQo
RU5BQkxFX0xFR0FDWV9XRUJfQVVESU8pICQoRU5BQkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9M
SU5LX1BSRUZFVENIKSAkKEVOQUJMRV9NQUNfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX01BVEhN
TCkgJChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJQV9TRVNTSU9O
KSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5B
QkxFX01FRElBX1NUUkVBTSkgJChFTkFCTEVfTUVURVJfRUxFTUVOVCkgJChFTkFCTEVfTUhUTUwp
ICQoRU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVfTkFWSUdBVE9SX0NPTlRFTlRf
VVRJTFMpICQoRU5BQkxFX05BVklHQVRPUl9IV0NPTkNVUlJFTkNZKSAkKEVOQUJMRV9OT1RJRklD
QVRJT05TKSAkKEVOQUJMRV9QREZLSVRfUExVR0lOKSAkKEVOQUJMRV9QT0lOVEVSX0xPQ0spICQo
RU5BQkxFX1BST1hJTUlUWV9FVkVOVFMpICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElTVCkgJChF
TkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FKSAkKEVOQUJMRV9S
RVFVRVNUX0FVVE9DT01QTEVURSkgJChFTkFCTEVfUkVNT1RFX0lOU1BFQ1RPUikgJChFTkFCTEVf
UkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVfUkVTT1VSQ0VfVVNBR0UpICQoRU5BQkxF
X1JVQkJFUl9CQU5ESU5HKSAkKEVOQUJMRV9DU1NfU0NST0xMX1NOQVApICQoRU5BQkxFX1NQRUVD
SF9TWU5USEVTSVMpICQoRU5BQkxFX1NUUkVBTVNfQVBJKSAkKEVOQUJMRV9TVUJUTEVfQ1JZUFRP
KSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9O
KSAkKEVOQUJMRV9URU1QTEFURV9FTEVNRU5UKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQo
RU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVE9VQ0hfSUNPTl9MT0FESU5HKSAkKEVOQUJM
RV9DU1NfVFJBSUxJTkdfV09SRCkgJChFTkFCTEVfVVNFUlNFTEVDVF9BTEwpICQoRU5BQkxFX1ZJ
REVPKSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVfREFUQUNVRV9WQUxVRSkgJChFTkFC
TEVfVklFV19NT0RFX0NTU19NRURJQSkgJChFTkFCTEVfV0VCQVNTRU1CTFkpICQoRU5BQkxFX1dF
QkdMKSAkKEVOQUJMRV9XRUJHTDIpICQoRU5BQkxFX1dFQl9BTklNQVRJT05TKSAkKEVOQUJMRV9X
RUJfQVVESU8pICQoRU5BQkxFX1dFQl9SRVBMQVkpICQoRU5BQkxFX1dFQl9TT0NLRVRTKSAkKEVO
QUJMRV9XRUJfVElNSU5HKSAkKEVOQUJMRV9YU0xUKSAkKEVOQUJMRV9GVExfSklUKSAkKEVOQUJM
RV9KSVQpICQoRU5BQkxFX1NIQURPV19ET00pICQoRU5BQkxFX0NVU1RPTV9FTEVNRU5UUykgJChF
TkFCTEVfVklERU9fUFJFU0VOVEFUSU9OX01PREUpICQoRU5BQkxFX1NFUEFSQVRFRF9XWF9IRUFQ
KTsKK0ZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxFXzNEX1RSQU5TRk9STVMpICQoRU5BQkxFX0FD
Q0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xM
SU5HKSAkKEVOQUJMRV9BVkZfQ0FQVElPTlMpICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVOVCkg
JChFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DQU5WQVNfUEFUSCkgJChFTkFC
TEVfQ0FOVkFTX1BST1hZKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfRVM2
X0FSUk9XRlVOQ1RJT05fU1lOVEFYKSAkKEVOQUJMRV9FUzZfR0VORVJBVE9SUykgJChFTkFCTEVf
RVM2X01PRFVMRVMpICQoRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HKSAkKEVOQUJMRV9DU1BfTkVY
VCkgJChFTkFCTEVfQ1NTX0FOSU1BVElPTlNfTEVWRUxfMikgJChFTkFCTEVfQ1NTX0JPWF9ERUNP
UkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19ERVZJ
Q0VfQURBUFRBVElPTikgJChFTkFCTEVfQ1NTX0dSSURfTEFZT1VUKSAkKEVOQUJMRV9DU1NfSU1B
R0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9D
U1NfUkVHSU9OUykgJChFTkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQpICQoRU5BQkxFX0NTU19T
SEFQRVMpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NTM19URVhUX0xJTkVfQlJFQUsp
ICQoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVOQUJMRV9DVVNUT01fU0NIRU1FX0hBTkRM
RVIpICQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUKSAkKEVOQUJMRV9EQVRBTElTVF9FTEVNRU5U
KSAkKEVOQUJMRV9EQVRBX1RSQU5TRkVSX0lURU1TKSAkKEVOQUJMRV9ERVRBSUxTX0VMRU1FTlQp
ICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVfRE9NNF9FVkVOVFNfQ09OU1RS
VUNUT1IpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfRU5DUllQVEVEX01FRElB
X1YyKSAkKEVOQUJMRV9GRVRDSF9BUEkpICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikgJChFTkFC
TEVfRk9OVF9MT0FEX0VWRU5UUykgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX0dB
TUVQQUQpICQoRU5BQkxFX0dBTUVQQURfREVQUkVDQVRFRCkgJChFTkFCTEVfR0VPTE9DQVRJT04p
ICQoRU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVfU0VSVklDRV9DT05UUk9MUykgJChFTkFC
TEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJT
KSAkKEVOQUJMRV9JTkRJRV9VSSkgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFCTEVf
SU5QVVRfVFlQRV9DT0xPUl9QT1BPVkVSKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5B
QkxFX0lOUFVUX1RZUEVfREFURVRJTUVfSU5DT01QTEVURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9E
QVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9U
WVBFX1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVfV0lSRUxFU1NfUExB
WUJBQ0tfVEFSR0VUKSAkKEVOQUJMRV9JTlRMKSAkKEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMp
ICQoRU5BQkxFX0lPU19URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMp
ICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfTk9U
SUZJQ0FUSU9OUykgJChFTkFCTEVfTEVHQUNZX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVH
QUNZX1dFQl9BVURJTykgJChFTkFCTEVfTEVUVEVSUFJFU1MpICQoRU5BQkxFX0xJTktfUFJFRkVU
Q0gpICQoRU5BQkxFX01BQ19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJM
RV9NRURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxFX01FRElBX1NFU1NJT04pICQoRU5BQkxF
X01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVESUFf
U1RSRUFNKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkgJChFTkFCTEVf
TU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9VVElMUykgJChF
TkFCTEVfTkFWSUdBVE9SX0hXQ09OQ1VSUkVOQ1kpICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQo
RU5BQkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJfTE9DSykgJChFTkFCTEVfUFJP
WElNSVRZX0VWRU5UUykgJChFTkFCTEVfUFVCTElDX1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9U
QSkgJChFTkFCTEVfUkVRVUVTVF9BTklNQVRJT05fRlJBTUUpICQoRU5BQkxFX1JFUVVFU1RfQVVU
T0NPTVBMRVRFKSAkKEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9SKSAkKEVOQUJMRV9SRVNPTFVUSU9O
X01FRElBX1FVRVJZKSAkKEVOQUJMRV9SRVNPVVJDRV9VU0FHRSkgJChFTkFCTEVfUlVCQkVSX0JB
TkRJTkcpICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkgJChFTkFCTEVfU1BFRUNIX1NZTlRIRVNJ
UykgJChFTkFCTEVfU1RSRUFNU19BUEkpICQoRU5BQkxFX1NVQlRMRV9DUllQVE8pICQoRU5BQkxF
X1NWR19GT05UUykgJChFTkFCTEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04pICQoRU5BQkxF
X1RFTVBMQVRFX0VMRU1FTlQpICQoRU5BQkxFX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfVE9V
Q0hfRVZFTlRTKSAkKEVOQUJMRV9UT1VDSF9JQ09OX0xPQURJTkcpICQoRU5BQkxFX0NTU19UUkFJ
TElOR19XT1JEKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVklERU8pICQoRU5B
QkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9WSUVXX01P
REVfQ1NTX01FRElBKSAkKEVOQUJMRV9XRUJBU1NFTUJMWSkgJChFTkFCTEVfV0VCR0wpICQoRU5B
QkxFX1dFQkdMMikgJChFTkFCTEVfV0VCX0FOSU1BVElPTlMpICQoRU5BQkxFX1dFQl9BVURJTykg
JChFTkFCTEVfV0VCX1JFUExBWSkgJChFTkFCTEVfV0VCX1NPQ0tFVFMpICQoRU5BQkxFX1dFQl9U
SU1JTkcpICQoRU5BQkxFX1hTTFQpICQoRU5BQkxFX0ZUTF9KSVQpICQoRU5BQkxFX0pJVCkgJChF
TkFCTEVfU0hBRE9XX0RPTSkgJChFTkFCTEVfQ1VTVE9NX0VMRU1FTlRTKSAkKEVOQUJMRV9WSURF
T19QUkVTRU5UQVRJT05fTU9ERSk7CmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL0Nv
bmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnIGIvVG9vbHMvVGVzdFdlYktpdEFQ
SS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwppbmRleCA3MzRiNmFlNDdm
MzI0NmQ4N2Q0ZGNkNjljY2RjZTJlZDQ4YjBjYzhmLi5hNWVhMWY0YTY4OWNjMWE4MGFhYWVmNWUx
ODkxYmUxZjExNjc0ZWIyIDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL0NvbmZpZ3Vy
YXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkv
Q29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKQEAgLTE5Myw3ICsxOTMsNCBA
QCBFTkFCTEVfRlRMX0pJVFtzZGs9aXBob25lb3MqXSA9IEVOQUJMRV9GVExfSklUOwogRU5BQkxF
X1NIQURPV19ET00gPSBFTkFCTEVfU0hBRE9XX0RPTTsKIEVOQUJMRV9DVVNUT01fRUxFTUVOVFMg
PSBFTkFCTEVfQ1VTVE9NX0VMRU1FTlRTOwogCi1FTkFCTEVfU0VQQVJBVEVEX1dYX0hFQVBbc2Rr
PWlwaG9uZSpdID0gOwotRU5BQkxFX1NFUEFSQVRFRF9XWF9IRUFQW3Nkaz1tYWNvc3gqXSA9IDsK
LQotRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfVFJBTlNGT1JNUykgJChFTkFCTEVfQUND
RUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJ
TkcpICQoRU5BQkxFX0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQVRUQUNITUVOVF9FTEVNRU5UKSAk
KEVOQUJMRV9DQUNIRV9QQVJUSVRJT05JTkcpICQoRU5BQkxFX0NBTlZBU19QQVRIKSAkKEVOQUJM
RV9DQU5WQVNfUFJPWFkpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9FUzZf
QVJST1dGVU5DVElPTl9TWU5UQVgpICQoRU5BQkxFX0VTNl9HRU5FUkFUT1JTKSAkKEVOQUJMRV9F
UzZfTU9EVUxFUykgJChFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcpICQoRU5BQkxFX0NTUF9ORVhU
KSAkKEVOQUJMRV9DU1NfQU5JTUFUSU9OU19MRVZFTF8yKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09S
QVRJT05fQlJFQUspICQoRU5BQkxFX0NTU19DT01QT1NJVElORykgJChFTkFCTEVfQ1NTX0RFVklD
RV9BREFQVEFUSU9OKSAkKEVOQUJMRV9DU1NfR1JJRF9MQVlPVVQpICQoRU5BQkxFX0NTU19JTUFH
RV9PUklFTlRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJT04pICQoRU5BQkxFX0NT
U19SRUdJT05TKSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NTX1NI
QVBFUykgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJMRV9DU1MzX1RFWFRfTElORV9CUkVBSykg
JChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExF
UikgJChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQpICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQp
ICQoRU5BQkxFX0RBVEFfVFJBTlNGRVJfSVRFTVMpICQoRU5BQkxFX0RFVEFJTFNfRUxFTUVOVCkg
JChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9ET000X0VWRU5UU19DT05TVFJV
Q1RPUikgJChFTkFCTEVfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUFf
VjIpICQoRU5BQkxFX0ZFVENIX0FQSSkgJChFTkFCTEVfRklMVEVSU19MRVZFTF8yKSAkKEVOQUJM
RV9GT05UX0xPQURfRVZFTlRTKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0FN
RVBBRCkgJChFTkFCTEVfR0FNRVBBRF9ERVBSRUNBVEVEKSAkKEVOQUJMRV9HRU9MT0NBVElPTikg
JChFTkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKSAkKEVOQUJM
RV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMp
ICQoRU5BQkxFX0lORElFX1VJKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9J
TlBVVF9UWVBFX0NPTE9SX1BPUE9WRVIpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFC
TEVfSU5QVVRfVFlQRV9EQVRFVElNRV9JTkNPTVBMRVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RB
VEVUSU1FTE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZ
UEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZ
QkFDS19UQVJHRVQpICQoRU5BQkxFX0lOVEwpICQoRU5BQkxFX0lPU19HRVNUVVJFX0VWRU5UUykg
JChFTkFCTEVfSU9TX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfSU9TX1RPVUNIX0VWRU5UUykg
JChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9OT1RJ
RklDQVRJT05TKSAkKEVOQUJMRV9MRUdBQ1lfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdB
Q1lfV0VCX0FVRElPKSAkKEVOQUJMRV9MRVRURVJQUkVTUykgJChFTkFCTEVfTElOS19QUkVGRVRD
SCkgJChFTkFCTEVfTUFDX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxF
X01FRElBX0NPTlRST0xTX1NDUklQVCkgJChFTkFCTEVfTUVESUFfU0VTU0lPTikgJChFTkFCTEVf
TUVESUFfU09VUkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9NRURJQV9T
VFJFQU0pICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAkKEVOQUJMRV9N
T1VTRV9DVVJTT1JfU0NBTEUpICQoRU5BQkxFX05BVklHQVRPUl9DT05URU5UX1VUSUxTKSAkKEVO
QUJMRV9OQVZJR0FUT1JfSFdDT05DVVJSRU5DWSkgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykgJChF
TkFCTEVfUERGS0lUX1BMVUdJTikgJChFTkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVOQUJMRV9QUk9Y
SU1JVFlfRVZFTlRTKSAkKEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJU1QpICQoRU5BQkxFX1FVT1RB
KSAkKEVOQUJMRV9SRVFVRVNUX0FOSU1BVElPTl9GUkFNRSkgJChFTkFCTEVfUkVRVUVTVF9BVVRP
Q09NUExFVEUpICQoRU5BQkxFX1JFTU9URV9JTlNQRUNUT1IpICQoRU5BQkxFX1JFU09MVVRJT05f
TUVESUFfUVVFUlkpICQoRU5BQkxFX1JFU09VUkNFX1VTQUdFKSAkKEVOQUJMRV9SVUJCRVJfQkFO
RElORykgJChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lT
KSAkKEVOQUJMRV9TVFJFQU1TX0FQSSkgJChFTkFCTEVfU1VCVExFX0NSWVBUTykgJChFTkFCTEVf
U1ZHX0ZPTlRTKSAkKEVOQUJMRV9URUxFUEhPTkVfTlVNQkVSX0RFVEVDVElPTikgJChFTkFCTEVf
VEVNUExBVEVfRUxFTUVOVCkgJChFTkFCTEVfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9UT1VD
SF9FVkVOVFMpICQoRU5BQkxFX1RPVUNIX0lDT05fTE9BRElORykgJChFTkFCTEVfQ1NTX1RSQUlM
SU5HX1dPUkQpICQoRU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJMRV9WSURFTykgJChFTkFC
TEVfVklERU9fVFJBQ0spICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUpICQoRU5BQkxFX1ZJRVdfTU9E
RV9DU1NfTUVESUEpICQoRU5BQkxFX1dFQkFTU0VNQkxZKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFC
TEVfV0VCR0wyKSAkKEVOQUJMRV9XRUJfQU5JTUFUSU9OUykgJChFTkFCTEVfV0VCX0FVRElPKSAk
KEVOQUJMRV9XRUJfUkVQTEFZKSAkKEVOQUJMRV9XRUJfU09DS0VUUykgJChFTkFCTEVfV0VCX1RJ
TUlORykgJChFTkFCTEVfWFNMVCkgJChFTkFCTEVfRlRMX0pJVCkgJChFTkFCTEVfSklUKSAkKEVO
QUJMRV9TSEFET1dfRE9NKSAkKEVOQUJMRV9DVVNUT01fRUxFTUVOVFMpICQoRU5BQkxFX1ZJREVP
X1BSRVNFTlRBVElPTl9NT0RFKSAkKEVOQUJMRV9TRVBBUkFURURfV1hfSEVBUCk7CitGRUFUVVJF
X0RFRklORVMgPSAkKEVOQUJMRV8zRF9UUkFOU0ZPUk1TKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8y
RF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElORykgJChFTkFC
TEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQpICQoRU5BQkxFX0NB
Q0hFX1BBUlRJVElPTklORykgJChFTkFCTEVfQ0FOVkFTX1BBVEgpICQoRU5BQkxFX0NBTlZBU19Q
Uk9YWSkgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0VTNl9BUlJPV0ZVTkNU
SU9OX1NZTlRBWCkgJChFTkFCTEVfRVM2X0dFTkVSQVRPUlMpICQoRU5BQkxFX0VTNl9NT0RVTEVT
KSAkKEVOQUJMRV9DT05URU5UX0ZJTFRFUklORykgJChFTkFCTEVfQ1NQX05FWFQpICQoRU5BQkxF
X0NTU19BTklNQVRJT05TX0xFVkVMXzIpICQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVB
SykgJChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJ
T04pICQoRU5BQkxFX0NTU19HUklEX0xBWU9VVCkgJChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFU
SU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1JFR0lPTlMp
ICQoRU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9DU1NfU0hBUEVTKSAkKEVO
QUJMRV9DU1MzX1RFWFQpICQoRU5BQkxFX0NTUzNfVEVYVF9MSU5FX0JSRUFLKSAkKEVOQUJMRV9D
VVJTT1JfVklTSUJJTElUWSkgJChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJM
RV9EQVNIQk9BUkRfU1VQUE9SVCkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVf
REFUQV9UUkFOU0ZFUl9JVEVNUykgJChFTkFCTEVfREVUQUlMU19FTEVNRU5UKSAkKEVOQUJMRV9E
RVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RPTTRfRVZFTlRTX0NPTlNUUlVDVE9SKSAkKEVO
QUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQV9WMikgJChFTkFC
TEVfRkVUQ0hfQVBJKSAkKEVOQUJMRV9GSUxURVJTX0xFVkVMXzIpICQoRU5BQkxFX0ZPTlRfTE9B
RF9FVkVOVFMpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVO
QUJMRV9HQU1FUEFEX0RFUFJFQ0FURUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9J
Q09OREFUQUJBU0UpICQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX0lOREVYRURf
REFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVf
SU5ESUVfVUkpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZUEVf
Q09MT1JfUE9QT1ZFUikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9U
WVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NB
TCkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAk
KEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdF
VCkgJChFTkFCTEVfSU5UTCkgJChFTkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9J
T1NfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9M
RUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX05PVElGSUNBVElPTlMp
ICQoRU5BQkxFX0xFR0FDWV9WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9XRUJfQVVE
SU8pICQoRU5BQkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9MSU5LX1BSRUZFVENIKSAkKEVOQUJM
RV9NQUNfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFfQ09O
VFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJQV9TRVNTSU9OKSAkKEVOQUJMRV9NRURJQV9TT1VS
Q0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FRElBX1NUUkVBTSkgJChF
TkFCTEVfTUVURVJfRUxFTUVOVCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxFX01PVVNFX0NVUlNP
Ul9TQ0FMRSkgJChFTkFCTEVfTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpICQoRU5BQkxFX05BVklH
QVRPUl9IV0NPTkNVUlJFTkNZKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9QREZL
SVRfUExVR0lOKSAkKEVOQUJMRV9QT0lOVEVSX0xPQ0spICQoRU5BQkxFX1BST1hJTUlUWV9FVkVO
VFMpICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxF
X1JFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FKSAkKEVOQUJMRV9SRVFVRVNUX0FVVE9DT01QTEVURSkg
JChFTkFCTEVfUkVNT1RFX0lOU1BFQ1RPUikgJChFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVS
WSkgJChFTkFCTEVfUkVTT1VSQ0VfVVNBR0UpICQoRU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAkKEVO
QUJMRV9DU1NfU0NST0xMX1NOQVApICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxF
X1NUUkVBTVNfQVBJKSAkKEVOQUJMRV9TVUJUTEVfQ1JZUFRPKSAkKEVOQUJMRV9TVkdfRk9OVFMp
ICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVOQUJMRV9URU1QTEFURV9F
TEVNRU5UKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RPVUNIX0VWRU5UUykg
JChFTkFCTEVfVE9VQ0hfSUNPTl9MT0FESU5HKSAkKEVOQUJMRV9DU1NfVFJBSUxJTkdfV09SRCkg
JChFTkFCTEVfVVNFUlNFTEVDVF9BTEwpICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSURFT19U
UkFDSykgJChFTkFCTEVfREFUQUNVRV9WQUxVRSkgJChFTkFCTEVfVklFV19NT0RFX0NTU19NRURJ
QSkgJChFTkFCTEVfV0VCQVNTRU1CTFkpICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJHTDIp
ICQoRU5BQkxFX1dFQl9BTklNQVRJT05TKSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dF
Ql9SRVBMQVkpICQoRU5BQkxFX1dFQl9TT0NLRVRTKSAkKEVOQUJMRV9XRUJfVElNSU5HKSAkKEVO
QUJMRV9YU0xUKSAkKEVOQUJMRV9GVExfSklUKSAkKEVOQUJMRV9KSVQpICQoRU5BQkxFX1NIQURP
V19ET00pICQoRU5BQkxFX0NVU1RPTV9FTEVNRU5UUykgJChFTkFCTEVfVklERU9fUFJFU0VOVEFU
SU9OX01PREUpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>276106</attachid>
            <date>2016-04-10 13:38:07 -0700</date>
            <delta_ts>2016-04-10 14:22:49 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-155508-20160410133814.patch</filename>
            <type>text/plain</type>
            <size>89703</size>
            <attacher name="Oliver Hunt">oliver</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTk5MjM4CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA4
NGE1MjY1ZTMxZDA2MTc3YTkyODcxMGNlZmU5NDJiYmI1NTRmNWRhLi4wZDVlMmZmZGY4Nzk4MmY0
MzRiMzA4M2Y0NTg3NzExZDFiYzI0YTBiIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw3MyBAQAorMjAxNi0wNC0wNSAgT2xpdmVyIEh1bnQgIDxvbGl2ZXJAYXBwbGUuY29tPgor
CisgICAgICAgIFJlbW92ZSBjb21waWxlIHRpbWUgZGVmaW5lIGZvciBTRVBBUkFURURfSEVBUAor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTU1NTA4CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUmVtb3ZlIHRo
ZSBTRVBBUkFURURfSEVBUCBjb21waWxlIHRpbWUgZmxhZy4gVGhlIHNlcGFyYXRlZAorICAgICAg
ICBoZWFwIGlzIGF2YWlsYWJsZSwgYnV0IG9mZiBieSBkZWZhdWx0LCBvbiB4ODZfNjQsIEFSTXY3
LCBhbmQKKyAgICAgICAgQVJNNjQuCisKKyAgICAgICAgV29ya2luZyB0aHJvdWdoIHRoZSBpc3N1
ZXMgdGhhdCBoYXBwZW5lZCBsYXN0IHRpbWUgZXNzZW50aWFsbHkKKyAgICAgICAgcmVxdWlyZWQg
aW1wbGVtZW50aW5nIHRoZSBBUk12NyBwYXRoIGZvciB0aGUgc2VwYXJhdGVkIGhlYXAKKyAgICAg
ICAganVzdCBzbyBJIGNvdWxkIGZpbmQgYWxsIHRoZSB3YXlzIGl0IHdhcyBnb2luZyB3cm9uZy4K
KworICAgICAgICAqIENvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnOgorICAg
ICAgICAqIGFzc2VtYmxlci9BUk02NEFzc2VtYmxlci5oOgorICAgICAgICAoSlNDOjpBUk02NEFz
c2VtYmxlcjo6bGlua0p1bXApOgorICAgICAgICAoSlNDOjpBUk02NEFzc2VtYmxlcjo6bGlua0Nh
bGwpOgorICAgICAgICAoSlNDOjpBUk02NEFzc2VtYmxlcjo6cmVsaW5rSnVtcCk6CisgICAgICAg
IChKU0M6OkFSTTY0QXNzZW1ibGVyOjpyZWxpbmtDYWxsKToKKyAgICAgICAgKEpTQzo6QVJNNjRB
c3NlbWJsZXI6OmxpbmspOgorICAgICAgICAoSlNDOjpBUk02NEFzc2VtYmxlcjo6bGlua0p1bXBP
ckNhbGwpOgorICAgICAgICAoSlNDOjpBUk02NEFzc2VtYmxlcjo6bGlua0NvbXBhcmVBbmRCcmFu
Y2gpOgorICAgICAgICAoSlNDOjpBUk02NEFzc2VtYmxlcjo6bGlua0NvbmRpdGlvbmFsQnJhbmNo
KToKKyAgICAgICAgKEpTQzo6QVJNNjRBc3NlbWJsZXI6OmxpbmtUZXN0QW5kQnJhbmNoKToKKyAg
ICAgICAgKEpTQzo6QVJNNjRBc3NlbWJsZXI6OnJlbGlua0p1bXBPckNhbGwpOgorICAgICAgICAq
IGFzc2VtYmxlci9BUk12N0Fzc2VtYmxlci5oOgorICAgICAgICAoSlNDOjpBUk12N0Fzc2VtYmxl
cjo6cmV2ZXJ0SnVtcFRvX21vdlQzbW92dGNtcFQyKToKKyAgICAgICAgKEpTQzo6QVJNdjdBc3Nl
bWJsZXI6OnJldmVydEp1bXBUb19tb3ZUMyk6CisgICAgICAgIChKU0M6OkFSTXY3QXNzZW1ibGVy
OjpsaW5rKToKKyAgICAgICAgKEpTQzo6QVJNdjdBc3NlbWJsZXI6OmxpbmtKdW1wKToKKyAgICAg
ICAgKEpTQzo6QVJNdjdBc3NlbWJsZXI6OnJlbGlua0p1bXApOgorICAgICAgICAoSlNDOjpBUk12
N0Fzc2VtYmxlcjo6cmVwYXRjaENvbXBhY3QpOgorICAgICAgICAoSlNDOjpBUk12N0Fzc2VtYmxl
cjo6cmVwbGFjZVdpdGhKdW1wKToKKyAgICAgICAgKEpTQzo6QVJNdjdBc3NlbWJsZXI6OnJlcGxh
Y2VXaXRoTG9hZCk6CisgICAgICAgIChKU0M6OkFSTXY3QXNzZW1ibGVyOjpyZXBsYWNlV2l0aEFk
ZHJlc3NDb21wdXRhdGlvbik6CisgICAgICAgIChKU0M6OkFSTXY3QXNzZW1ibGVyOjpzZXRJbnQz
Mik6CisgICAgICAgIChKU0M6OkFSTXY3QXNzZW1ibGVyOjpzZXRVSW50N0ZvckxvYWQpOgorICAg
ICAgICAoSlNDOjpBUk12N0Fzc2VtYmxlcjo6aXNCKToKKyAgICAgICAgKEpTQzo6QVJNdjdBc3Nl
bWJsZXI6OmlzQlgpOgorICAgICAgICAoSlNDOjpBUk12N0Fzc2VtYmxlcjo6aXNNT1ZfaW1tX1Qz
KToKKyAgICAgICAgKEpTQzo6QVJNdjdBc3NlbWJsZXI6OmlzTU9WVCk6CisgICAgICAgIChKU0M6
OkFSTXY3QXNzZW1ibGVyOjppc05PUF9UMSk6CisgICAgICAgIChKU0M6OkFSTXY3QXNzZW1ibGVy
Ojppc05PUF9UMik6CisgICAgICAgIChKU0M6OkFSTXY3QXNzZW1ibGVyOjpsaW5rSnVtcFQxKToK
KyAgICAgICAgKEpTQzo6QVJNdjdBc3NlbWJsZXI6OmxpbmtKdW1wVDIpOgorICAgICAgICAoSlND
OjpBUk12N0Fzc2VtYmxlcjo6bGlua0p1bXBUMyk6CisgICAgICAgIChKU0M6OkFSTXY3QXNzZW1i
bGVyOjpsaW5rSnVtcFQ0KToKKyAgICAgICAgKEpTQzo6QVJNdjdBc3NlbWJsZXI6OmxpbmtDb25k
aXRpb25hbEp1bXBUNCk6CisgICAgICAgIChKU0M6OkFSTXY3QXNzZW1ibGVyOjpsaW5rQlgpOgor
ICAgICAgICAoSlNDOjpBUk12N0Fzc2VtYmxlcjo6bGlua0NvbmRpdGlvbmFsQlgpOgorICAgICAg
ICAoSlNDOjpBUk12N0Fzc2VtYmxlcjo6bGlua0p1bXBBYnNvbHV0ZSk6CisgICAgICAgICogYXNz
ZW1ibGVyL0xpbmtCdWZmZXIuY3BwOgorICAgICAgICAoSlNDOjpMaW5rQnVmZmVyOjpjb3B5Q29t
cGFjdEFuZExpbmtDb2RlKToKKyAgICAgICAgKiBhc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJBUk02
NC5oOgorICAgICAgICAoSlNDOjpNYWNyb0Fzc2VtYmxlckFSTTY0OjpsaW5rKToKKyAgICAgICAg
KiBhc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJBUk12Ny5oOgorICAgICAgICAoSlNDOjpNYWNyb0Fz
c2VtYmxlckFSTXY3OjpsaW5rKToKKyAgICAgICAgKiBqaXQvRXhlY3V0YWJsZUFsbG9jYXRvci5o
OgorICAgICAgICAoSlNDOjpwZXJmb3JtSklUTWVtY3B5KToKKyAgICAgICAgKiBqaXQvRXhlY3V0
YWJsZUFsbG9jYXRvckZpeGVkVk1Qb29sLmNwcDoKKyAgICAgICAgKEpTQzo6Rml4ZWRWTVBvb2xF
eGVjdXRhYmxlQWxsb2NhdG9yOjppbml0aWFsaXplU2VwYXJhdGVkV1hIZWFwcyk6CisgICAgICAg
IChKU0M6OkZpeGVkVk1Qb29sRXhlY3V0YWJsZUFsbG9jYXRvcjo6aml0V3JpdGVUaHVua0dlbmVy
YXRvcik6CisgICAgICAgIChKU0M6OkZpeGVkVk1Qb29sRXhlY3V0YWJsZUFsbG9jYXRvcjo6Z2Vu
ZXJpY1dyaXRlVG9KSVRSZWdpb24pOgorICAgICAgICAoSlNDOjpGaXhlZFZNUG9vbEV4ZWN1dGFi
bGVBbGxvY2F0b3I6OkZpeGVkVk1Qb29sRXhlY3V0YWJsZUFsbG9jYXRvcik6IERlbGV0ZWQuCisg
ICAgICAgICogcnVudGltZS9PcHRpb25zLmNwcDoKKyAgICAgICAgKEpTQzo6cmVjb21wdXRlRGVw
ZW5kZW50T3B0aW9ucyk6CisgICAgICAgICogcnVudGltZS9PcHRpb25zLmg6CisKIDIwMTYtMDQt
MDggIEJlbmphbWluIFBvdWxhaW4gIDxicG91bGFpbkBhcHBsZS5jb20+CiAKICAgICAgICAgVUlu
dDMyVG9OdW1iZXIgc2hvdWxkIGhhdmUgYW4gSW50NTIgcGF0aApkaWZmIC0tZ2l0IGEvU291cmNl
L1dURi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV1RGL0NoYW5nZUxvZwppbmRleCA1MGU2NzRmNzE5ZjFl
NjYzYTFlYjkxM2ZlOTg4M2IxYzMxODQ1Y2RiLi40MGQzNDExZmIyMmI5ZmQ3M2QyOWFlOTZkY2Rm
ZDM1NmQwYmRkZTY4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL0NoYW5nZUxvZworKysgYi9Tb3Vy
Y2UvV1RGL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDE2LTA0LTA1ICBPbGl2ZXIgSHVu
dCAgPG9saXZlckBhcHBsZS5jb20+CisKKyAgICAgICAgUmVtb3ZlIGNvbXBpbGUgdGltZSBkZWZp
bmUgZm9yIFNFUEFSQVRFRF9IRUFQCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xNTU1MDgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICAqIHd0Zi9GZWF0dXJlRGVmaW5lcy5oOgorICAgICAgICAqIHd0Zi9QbGF0
Zm9ybS5oOgorCiAyMDE2LTA0LTA4ICBZdXN1a2UgU3V6dWtpICA8dXRhdGFuZS50ZWFAZ21haWwu
Y29tPgogCiAgICAgICAgIFtKU0NdIEVuYWJsZSBDb25jdXJyZW50IEpJVCBieSBkZWZhdWx0CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFu
Z2VMb2cKaW5kZXggNDI5OWU3MmVjOTQ3YTdiMjVhOGRmYzc2ZWYzYTRlNTk3ZjgxMmQyMy4uOWE4
ZmMyMjY2NjMyMGJhNGJmYzM3YWZiNGM1ZmY0OTFmM2QyNjYzNiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDEyIEBACisyMDE2LTA0LTA1ICBPbGl2ZXIgSHVudCAgPG9saXZlckBhcHBsZS5jb20+CisK
KyAgICAgICAgUmVtb3ZlIGNvbXBpbGUgdGltZSBkZWZpbmUgZm9yIFNFUEFSQVRFRF9IRUFQCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTU1MDgKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIENvbmZpZ3Vy
YXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnOgorCiAyMDE2LTA0LTA4ICBCZXRoIERha2lu
ICA8YmRha2luQGFwcGxlLmNvbT4KIAogICAgICAgICBGaXggbGVha3MgaW4gV2ViQVZNZWRpYVNl
bGVjdGlvbk9wdGlvbk1hYyBhbmQgV2ViUGxheWJhY2tDb250cm9sc01hbmFnZXIKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5n
ZUxvZwppbmRleCA2NjU3Y2I4OTAwMWM3MTJiN2Q2NDc1MzcwNjBkMWIxYTJlOGEyZjM0Li4xMjZj
MDdmMTcwMDE2ZDMzM2RmMGU5ZDM4ZDA5MGMxMGFhNjY3OGM1IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L21hYy9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMTIgQEAKKzIwMTYtMDQtMDUgIE9saXZlciBIdW50ICA8b2xpdmVyQGFwcGxlLmNv
bT4KKworICAgICAgICBSZW1vdmUgY29tcGlsZSB0aW1lIGRlZmluZSBmb3IgU0VQQVJBVEVEX0hF
QVAKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1NTUw
OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogQ29u
ZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWc6CisKIDIwMTYtMDQtMDcgIEpvc2Vw
aCBQZWNvcmFybyAgPHBlY29yYXJvQGFwcGxlLmNvbT4KIAogICAgICAgICBSZW1vdmUgRU5BQkxF
KEVOQUJMRV9FUzZfQ0xBU1NfU1lOVEFYKSBndWFyZHMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRleCAxYzhmNzJlNWI5
ZWVmNzk4MzAxZWI2OWY5OGNhMmViZThlNThkNzlmLi5hY2YwN2YxNTM5NDU4MzNmOTVlMzY5YWM0
NDg2MmIzMmEwNjU4OTUyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKKysr
IGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMTYtMDQtMDUg
IE9saXZlciBIdW50ICA8b2xpdmVyQGFwcGxlLmNvbT4KKworICAgICAgICBSZW1vdmUgY29tcGls
ZSB0aW1lIGRlZmluZSBmb3IgU0VQQVJBVEVEX0hFQVAKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1NTUwOAorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgICogQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMu
eGNjb25maWc6CisKIDIwMTYtMDQtMDcgIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNlckBhcHBs
ZS5jb20+CiAKICAgICAgICAgW2lPUyBXSzJdIFN0b3AgdXNpbmcgZXhwb3NlZENvbnRlbnRSZWN0
IGZvciBoaXN0b3J5IHNjcm9sbCBzdGF0ZSByZXN0b3JhdGlvbgpkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29u
ZmlnCmluZGV4IDczNGI2YWU0N2YzMjQ2ZDg3ZDRkY2Q2OWNjZGNlMmVkNDhiMGNjOGYuLmE1ZWEx
ZjRhNjg5Y2MxYTgwYWFhZWY1ZTE4OTFiZTFmMTE2NzRlYjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZworKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNj
b25maWcKQEAgLTE5Myw3ICsxOTMsNCBAQCBFTkFCTEVfRlRMX0pJVFtzZGs9aXBob25lb3MqXSA9
IEVOQUJMRV9GVExfSklUOwogRU5BQkxFX1NIQURPV19ET00gPSBFTkFCTEVfU0hBRE9XX0RPTTsK
IEVOQUJMRV9DVVNUT01fRUxFTUVOVFMgPSBFTkFCTEVfQ1VTVE9NX0VMRU1FTlRTOwogCi1FTkFC
TEVfU0VQQVJBVEVEX1dYX0hFQVBbc2RrPWlwaG9uZSpdID0gOwotRU5BQkxFX1NFUEFSQVRFRF9X
WF9IRUFQW3Nkaz1tYWNvc3gqXSA9IDsKLQotRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0Rf
VFJBTlNGT1JNUykgJChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9BQ0NF
TEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkcpICQoRU5BQkxFX0FWRl9DQVBUSU9OUykgJChFTkFC
TEVfQVRUQUNITUVOVF9FTEVNRU5UKSAkKEVOQUJMRV9DQUNIRV9QQVJUSVRJT05JTkcpICQoRU5B
QkxFX0NBTlZBU19QQVRIKSAkKEVOQUJMRV9DQU5WQVNfUFJPWFkpICQoRU5BQkxFX0NIQU5ORUxf
TUVTU0FHSU5HKSAkKEVOQUJMRV9FUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpICQoRU5BQkxFX0VT
Nl9HRU5FUkFUT1JTKSAkKEVOQUJMRV9FUzZfTU9EVUxFUykgJChFTkFCTEVfQ09OVEVOVF9GSUxU
RVJJTkcpICQoRU5BQkxFX0NTUF9ORVhUKSAkKEVOQUJMRV9DU1NfQU5JTUFUSU9OU19MRVZFTF8y
KSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUspICQoRU5BQkxFX0NTU19DT01QT1NJ
VElORykgJChFTkFCTEVfQ1NTX0RFVklDRV9BREFQVEFUSU9OKSAkKEVOQUJMRV9DU1NfR1JJRF9M
QVlPVVQpICQoRU5BQkxFX0NTU19JTUFHRV9PUklFTlRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdF
X1JFU09MVVRJT04pICQoRU5BQkxFX0NTU19SRUdJT05TKSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JT
X0xFVkVMNCkgJChFTkFCTEVfQ1NTX1NIQVBFUykgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJM
RV9DU1MzX1RFWFRfTElORV9CUkVBSykgJChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQoRU5B
QkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQpICQo
RU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RBVEFfVFJBTlNGRVJfSVRFTVMpICQo
RU5BQkxFX0RFVEFJTFNfRUxFTUVOVCkgJChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAkKEVO
QUJMRV9ET000X0VWRU5UU19DT05TVFJVQ1RPUikgJChFTkFCTEVfRU5DUllQVEVEX01FRElBKSAk
KEVOQUJMRV9FTkNSWVBURURfTUVESUFfVjIpICQoRU5BQkxFX0ZFVENIX0FQSSkgJChFTkFCTEVf
RklMVEVSU19MRVZFTF8yKSAkKEVOQUJMRV9GT05UX0xPQURfRVZFTlRTKSAkKEVOQUJMRV9GVUxM
U0NSRUVOX0FQSSkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0FNRVBBRF9ERVBSRUNBVEVE
KSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJMRV9T
RVJWSUNFX0NPTlRST0xTKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTkRF
WEVEX0RBVEFCQVNFX0lOX1dPUktFUlMpICQoRU5BQkxFX0lORElFX1VJKSAkKEVOQUJMRV9JTlBV
VF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SX1BPUE9WRVIpICQoRU5BQkxF
X0lOUFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRV9JTkNPTVBMRVRF
KSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZUEVf
TU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9XRUVL
KSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICQoRU5BQkxFX0lOVEwpICQoRU5B
QkxFX0lPU19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfSU9TX1RFWFRfQVVUT1NJWklORykgJChF
TkFCTEVfSU9TX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklY
RVMpICQoRU5BQkxFX0xFR0FDWV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9MRUdBQ1lfVkVORE9S
X1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfV0VCX0FVRElPKSAkKEVOQUJMRV9MRVRURVJQUkVT
UykgJChFTkFCTEVfTElOS19QUkVGRVRDSCkgJChFTkFCTEVfTUFDX0dFU1RVUkVfRVZFTlRTKSAk
KEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElBX0NPTlRST0xTX1NDUklQVCkgJChFTkFCTEVf
TUVESUFfU0VTU0lPTikgJChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9NRURJQV9TVEFU
SVNUSUNTKSAkKEVOQUJMRV9NRURJQV9TVFJFQU0pICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQo
RU5BQkxFX01IVE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUpICQoRU5BQkxFX05BVklH
QVRPUl9DT05URU5UX1VUSUxTKSAkKEVOQUJMRV9OQVZJR0FUT1JfSFdDT05DVVJSRU5DWSkgJChF
TkFCTEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfUERGS0lUX1BMVUdJTikgJChFTkFCTEVfUE9J
TlRFUl9MT0NLKSAkKEVOQUJMRV9QUk9YSU1JVFlfRVZFTlRTKSAkKEVOQUJMRV9QVUJMSUNfU1VG
RklYX0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRVFVRVNUX0FOSU1BVElPTl9GUkFN
RSkgJChFTkFCTEVfUkVRVUVTVF9BVVRPQ09NUExFVEUpICQoRU5BQkxFX1JFTU9URV9JTlNQRUNU
T1IpICQoRU5BQkxFX1JFU09MVVRJT05fTUVESUFfUVVFUlkpICQoRU5BQkxFX1JFU09VUkNFX1VT
QUdFKSAkKEVOQUJMRV9SVUJCRVJfQkFORElORykgJChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAk
KEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TVFJFQU1TX0FQSSkgJChFTkFCTEVf
U1VCVExFX0NSWVBUTykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9URUxFUEhPTkVfTlVN
QkVSX0RFVEVDVElPTikgJChFTkFCTEVfVEVNUExBVEVfRUxFTUVOVCkgJChFTkFCTEVfVEVYVF9B
VVRPU0laSU5HKSAkKEVOQUJMRV9UT1VDSF9FVkVOVFMpICQoRU5BQkxFX1RPVUNIX0lDT05fTE9B
RElORykgJChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQoRU5BQkxFX1VTRVJTRUxFQ1RfQUxM
KSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxFX0RBVEFDVUVf
VkFMVUUpICQoRU5BQkxFX1ZJRVdfTU9ERV9DU1NfTUVESUEpICQoRU5BQkxFX1dFQkFTU0VNQkxZ
KSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCR0wyKSAkKEVOQUJMRV9XRUJfQU5JTUFUSU9O
UykgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfUkVQTEFZKSAkKEVOQUJMRV9XRUJf
U09DS0VUUykgJChFTkFCTEVfV0VCX1RJTUlORykgJChFTkFCTEVfWFNMVCkgJChFTkFCTEVfRlRM
X0pJVCkgJChFTkFCTEVfSklUKSAkKEVOQUJMRV9TSEFET1dfRE9NKSAkKEVOQUJMRV9DVVNUT01f
RUxFTUVOVFMpICQoRU5BQkxFX1ZJREVPX1BSRVNFTlRBVElPTl9NT0RFKSAkKEVOQUJMRV9TRVBB
UkFURURfV1hfSEVBUCk7CitGRUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9UUkFOU0ZPUk1T
KSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09W
RVJGTE9XX1NDUk9MTElORykgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9BVFRBQ0hN
RU5UX0VMRU1FTlQpICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykgJChFTkFCTEVfQ0FOVkFT
X1BBVEgpICQoRU5BQkxFX0NBTlZBU19QUk9YWSkgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcp
ICQoRU5BQkxFX0VTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkgJChFTkFCTEVfRVM2X0dFTkVSQVRP
UlMpICQoRU5BQkxFX0VTNl9NT0RVTEVTKSAkKEVOQUJMRV9DT05URU5UX0ZJTFRFUklORykgJChF
TkFCTEVfQ1NQX05FWFQpICQoRU5BQkxFX0NTU19BTklNQVRJT05TX0xFVkVMXzIpICQoRU5BQkxF
X0NTU19CT1hfREVDT1JBVElPTl9CUkVBSykgJChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVO
QUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJT04pICQoRU5BQkxFX0NTU19HUklEX0xBWU9VVCkgJChF
TkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xVVElP
TikgJChFTkFCTEVfQ1NTX1JFR0lPTlMpICQoRU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAk
KEVOQUJMRV9DU1NfU0hBUEVTKSAkKEVOQUJMRV9DU1MzX1RFWFQpICQoRU5BQkxFX0NTUzNfVEVY
VF9MSU5FX0JSRUFLKSAkKEVOQUJMRV9DVVJTT1JfVklTSUJJTElUWSkgJChFTkFCTEVfQ1VTVE9N
X1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVCkgJChFTkFCTEVfREFU
QUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREFUQV9UUkFOU0ZFUl9JVEVNUykgJChFTkFCTEVfREVU
QUlMU19FTEVNRU5UKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RPTTRf
RVZFTlRTX0NPTlNUUlVDVE9SKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0VO
Q1JZUFRFRF9NRURJQV9WMikgJChFTkFCTEVfRkVUQ0hfQVBJKSAkKEVOQUJMRV9GSUxURVJTX0xF
VkVMXzIpICQoRU5BQkxFX0ZPTlRfTE9BRF9FVkVOVFMpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJ
KSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HQU1FUEFEX0RFUFJFQ0FURUQpICQoRU5BQkxF
X0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9JQ09OREFUQUJBU0UpICQoRU5BQkxFX1NFUlZJQ0VfQ09O
VFJPTFMpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJB
U0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5ESUVfVUkpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09M
T1IpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1JfUE9QT1ZFUikgJChFTkFCTEVfSU5QVVRfVFlQ
RV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxF
X0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChF
TkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxF
X1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkgJChFTkFCTEVfSU5UTCkgJChFTkFCTEVfSU9TX0dF
U1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1NfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9JT1Nf
VE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFC
TEVfTEVHQUNZX05PVElGSUNBVElPTlMpICQoRU5BQkxFX0xFR0FDWV9WRU5ET1JfUFJFRklYRVMp
ICQoRU5BQkxFX0xFR0FDWV9XRUJfQVVESU8pICQoRU5BQkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJM
RV9MSU5LX1BSRUZFVENIKSAkKEVOQUJMRV9NQUNfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX01B
VEhNTCkgJChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJQV9TRVNT
SU9OKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQo
RU5BQkxFX01FRElBX1NUUkVBTSkgJChFTkFCTEVfTUVURVJfRUxFTUVOVCkgJChFTkFCTEVfTUhU
TUwpICQoRU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVfTkFWSUdBVE9SX0NPTlRF
TlRfVVRJTFMpICQoRU5BQkxFX05BVklHQVRPUl9IV0NPTkNVUlJFTkNZKSAkKEVOQUJMRV9OT1RJ
RklDQVRJT05TKSAkKEVOQUJMRV9QREZLSVRfUExVR0lOKSAkKEVOQUJMRV9QT0lOVEVSX0xPQ0sp
ICQoRU5BQkxFX1BST1hJTUlUWV9FVkVOVFMpICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElTVCkg
JChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FKSAkKEVOQUJM
RV9SRVFVRVNUX0FVVE9DT01QTEVURSkgJChFTkFCTEVfUkVNT1RFX0lOU1BFQ1RPUikgJChFTkFC
TEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVfUkVTT1VSQ0VfVVNBR0UpICQoRU5B
QkxFX1JVQkJFUl9CQU5ESU5HKSAkKEVOQUJMRV9DU1NfU0NST0xMX1NOQVApICQoRU5BQkxFX1NQ
RUVDSF9TWU5USEVTSVMpICQoRU5BQkxFX1NUUkVBTVNfQVBJKSAkKEVOQUJMRV9TVUJUTEVfQ1JZ
UFRPKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJfREVURUNU
SU9OKSAkKEVOQUJMRV9URU1QTEFURV9FTEVNRU5UKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcp
ICQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVE9VQ0hfSUNPTl9MT0FESU5HKSAkKEVO
QUJMRV9DU1NfVFJBSUxJTkdfV09SRCkgJChFTkFCTEVfVVNFUlNFTEVDVF9BTEwpICQoRU5BQkxF
X1ZJREVPKSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVfREFUQUNVRV9WQUxVRSkgJChF
TkFCTEVfVklFV19NT0RFX0NTU19NRURJQSkgJChFTkFCTEVfV0VCQVNTRU1CTFkpICQoRU5BQkxF
X1dFQkdMKSAkKEVOQUJMRV9XRUJHTDIpICQoRU5BQkxFX1dFQl9BTklNQVRJT05TKSAkKEVOQUJM
RV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9SRVBMQVkpICQoRU5BQkxFX1dFQl9TT0NLRVRTKSAk
KEVOQUJMRV9XRUJfVElNSU5HKSAkKEVOQUJMRV9YU0xUKSAkKEVOQUJMRV9GVExfSklUKSAkKEVO
QUJMRV9KSVQpICQoRU5BQkxFX1NIQURPV19ET00pICQoRU5BQkxFX0NVU1RPTV9FTEVNRU5UUykg
JChFTkFCTEVfVklERU9fUFJFU0VOVEFUSU9OX01PREUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9BUk02NEFzc2VtYmxlci5oIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2Fzc2VtYmxlci9BUk02NEFzc2VtYmxlci5oCmluZGV4IDE4ZDMzOGVjNDZlOTFmMzk0
ODFhM2E4ZGZiMDNiYzdlNjFkYTJiYzguLmI2MTA2YzMzOTE0NTMzYzFmZGFjNTkwY2JjNDU2YTEx
Nzg5NzZkMjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvQVJN
NjRBc3NlbWJsZXIuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL0FSTTY0
QXNzZW1ibGVyLmgKQEAgLTI0NzIsMjMgKzI0NzIsMjMgQEAgcHVibGljOgogICAgICAgICBtX2p1
bXBzVG9MaW5rLmFwcGVuZChMaW5rUmVjb3JkKGZyb20ubV9vZmZzZXQsIHRvLm1fb2Zmc2V0LCB0
eXBlLCBjb25kaXRpb24sIGJpdE51bWJlciwgY29tcGFyZVJlZ2lzdGVyKSk7CiAgICAgfQogCi0g
ICAgdm9pZCBsaW5rSnVtcChBc3NlbWJsZXJMYWJlbCBmcm9tLCBBc3NlbWJsZXJMYWJlbCB0bykK
KyAgICB2b2lkIGxpbmtKdW1wKEFzc2VtYmxlckxhYmVsIGZyb20sIHZvaWQqIGV4ZWN1dGFibGVD
b2RlLCBBc3NlbWJsZXJMYWJlbCB0bykKICAgICB7CiAgICAgICAgIEFTU0VSVChmcm9tLmlzU2V0
KCkpOwogICAgICAgICBBU1NFUlQodG8uaXNTZXQoKSk7Ci0gICAgICAgIHJlbGlua0p1bXBPckNh
bGw8ZmFsc2U+KGFkZHJlc3NPZihmcm9tKSwgYWRkcmVzc09mKHRvKSk7CisgICAgICAgIHJlbGlu
a0p1bXBPckNhbGw8ZmFsc2U+KGFkZHJlc3NPZihmcm9tKSwgYWRkcmVzc09mKGV4ZWN1dGFibGVD
b2RlLCBmcm9tKSwgYWRkcmVzc09mKHRvKSk7CiAgICAgfQogICAgIAogICAgIHN0YXRpYyB2b2lk
IGxpbmtKdW1wKHZvaWQqIGNvZGUsIEFzc2VtYmxlckxhYmVsIGZyb20sIHZvaWQqIHRvKQogICAg
IHsKICAgICAgICAgQVNTRVJUKGZyb20uaXNTZXQoKSk7Ci0gICAgICAgIHJlbGlua0p1bXBPckNh
bGw8ZmFsc2U+KGFkZHJlc3NPZihjb2RlLCBmcm9tKSwgdG8pOworICAgICAgICByZWxpbmtKdW1w
T3JDYWxsPGZhbHNlPihhZGRyZXNzT2YoY29kZSwgZnJvbSksIGFkZHJlc3NPZihjb2RlLCBmcm9t
KSwgdG8pOwogICAgIH0KIAogICAgIHN0YXRpYyB2b2lkIGxpbmtDYWxsKHZvaWQqIGNvZGUsIEFz
c2VtYmxlckxhYmVsIGZyb20sIHZvaWQqIHRvKQogICAgIHsKICAgICAgICAgQVNTRVJUKGZyb20u
aXNTZXQoKSk7Ci0gICAgICAgIGxpbmtKdW1wT3JDYWxsPHRydWU+KGFkZHJlc3NPZihjb2RlLCBm
cm9tKSAtIDEsIHRvKTsKKyAgICAgICAgbGlua0p1bXBPckNhbGw8dHJ1ZT4oYWRkcmVzc09mKGNv
ZGUsIGZyb20pIC0gMSwgYWRkcmVzc09mKGNvZGUsIGZyb20pIC0gMSwgdG8pOwogICAgIH0KIAog
ICAgIHN0YXRpYyB2b2lkIGxpbmtQb2ludGVyKHZvaWQqIGNvZGUsIEFzc2VtYmxlckxhYmVsIHdo
ZXJlLCB2b2lkKiB2YWx1ZVB0cikKQEAgLTI2NTgsMTMgKzI2NTgsMTMgQEAgcHVibGljOgogCiAg
ICAgc3RhdGljIHZvaWQgcmVsaW5rSnVtcCh2b2lkKiBmcm9tLCB2b2lkKiB0bykKICAgICB7Ci0g
ICAgICAgIHJlbGlua0p1bXBPckNhbGw8ZmFsc2U+KHJlaW50ZXJwcmV0X2Nhc3Q8aW50Kj4oZnJv
bSksIHRvKTsKKyAgICAgICAgcmVsaW5rSnVtcE9yQ2FsbDxmYWxzZT4ocmVpbnRlcnByZXRfY2Fz
dDxpbnQqPihmcm9tKSwgcmVpbnRlcnByZXRfY2FzdDxjb25zdCBpbnQqPihmcm9tKSwgdG8pOwog
ICAgICAgICBjYWNoZUZsdXNoKGZyb20sIHNpemVvZihpbnQpKTsKICAgICB9CiAgICAgCiAgICAg
c3RhdGljIHZvaWQgcmVsaW5rQ2FsbCh2b2lkKiBmcm9tLCB2b2lkKiB0bykKICAgICB7Ci0gICAg
ICAgIHJlbGlua0p1bXBPckNhbGw8dHJ1ZT4ocmVpbnRlcnByZXRfY2FzdDxpbnQqPihmcm9tKSAt
IDEsIHRvKTsKKyAgICAgICAgcmVsaW5rSnVtcE9yQ2FsbDx0cnVlPihyZWludGVycHJldF9jYXN0
PGludCo+KGZyb20pIC0gMSwgcmVpbnRlcnByZXRfY2FzdDxjb25zdCBpbnQqPihmcm9tKSAtIDEs
IHRvKTsKICAgICAgICAgY2FjaGVGbHVzaChyZWludGVycHJldF9jYXN0PGludCo+KGZyb20pIC0g
MSwgc2l6ZW9mKGludCkpOwogICAgIH0KICAgICAKQEAgLTI4MDYsMjkgKzI4MDYsMzAgQEAgcHVi
bGljOgogICAgICAgICByZXR1cm4gbV9qdW1wc1RvTGluazsKICAgICB9CiAKLSAgICBzdGF0aWMg
dm9pZCBBTFdBWVNfSU5MSU5FIGxpbmsoTGlua1JlY29yZCYgcmVjb3JkLCB1aW50OF90KiBmcm9t
LCB1aW50OF90KiB0bykKKyAgICBzdGF0aWMgdm9pZCBBTFdBWVNfSU5MSU5FIGxpbmsoTGlua1Jl
Y29yZCYgcmVjb3JkLCB1aW50OF90KiBmcm9tLCBjb25zdCB1aW50OF90KiBmcm9tSW5zdHJ1Y3Rp
b244LCB1aW50OF90KiB0bykKICAgICB7CisgICAgICAgIGNvbnN0IGludCogZnJvbUluc3RydWN0
aW9uID0gcmVpbnRlcnByZXRfY2FzdDxjb25zdCBpbnQqPihmcm9tSW5zdHJ1Y3Rpb244KTsKICAg
ICAgICAgc3dpdGNoIChyZWNvcmQubGlua1R5cGUoKSkgewogICAgICAgICBjYXNlIExpbmtKdW1w
Tm9Db25kaXRpb246Ci0gICAgICAgICAgICBsaW5rSnVtcE9yQ2FsbDxmYWxzZT4ocmVpbnRlcnBy
ZXRfY2FzdDxpbnQqPihmcm9tKSwgdG8pOworICAgICAgICAgICAgbGlua0p1bXBPckNhbGw8ZmFs
c2U+KHJlaW50ZXJwcmV0X2Nhc3Q8aW50Kj4oZnJvbSksIGZyb21JbnN0cnVjdGlvbiwgdG8pOwog
ICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGNhc2UgTGlua0p1bXBDb25kaXRpb25EaXJlY3Q6
Ci0gICAgICAgICAgICBsaW5rQ29uZGl0aW9uYWxCcmFuY2g8dHJ1ZT4ocmVjb3JkLmNvbmRpdGlv
bigpLCByZWludGVycHJldF9jYXN0PGludCo+KGZyb20pLCB0byk7CisgICAgICAgICAgICBsaW5r
Q29uZGl0aW9uYWxCcmFuY2g8dHJ1ZT4ocmVjb3JkLmNvbmRpdGlvbigpLCByZWludGVycHJldF9j
YXN0PGludCo+KGZyb20pLCBmcm9tSW5zdHJ1Y3Rpb24sIHRvKTsKICAgICAgICAgICAgIGJyZWFr
OwogICAgICAgICBjYXNlIExpbmtKdW1wQ29uZGl0aW9uOgotICAgICAgICAgICAgbGlua0NvbmRp
dGlvbmFsQnJhbmNoPGZhbHNlPihyZWNvcmQuY29uZGl0aW9uKCksIHJlaW50ZXJwcmV0X2Nhc3Q8
aW50Kj4oZnJvbSkgLSAxLCB0byk7CisgICAgICAgICAgICBsaW5rQ29uZGl0aW9uYWxCcmFuY2g8
ZmFsc2U+KHJlY29yZC5jb25kaXRpb24oKSwgcmVpbnRlcnByZXRfY2FzdDxpbnQqPihmcm9tKSAt
IDEsIGZyb21JbnN0cnVjdGlvbiAtIDEsIHRvKTsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAg
ICBjYXNlIExpbmtKdW1wQ29tcGFyZUFuZEJyYW5jaERpcmVjdDoKLSAgICAgICAgICAgIGxpbmtD
b21wYXJlQW5kQnJhbmNoPHRydWU+KHJlY29yZC5jb25kaXRpb24oKSwgcmVjb3JkLmlzNjRCaXQo
KSwgcmVjb3JkLmNvbXBhcmVSZWdpc3RlcigpLCByZWludGVycHJldF9jYXN0PGludCo+KGZyb20p
LCB0byk7CisgICAgICAgICAgICBsaW5rQ29tcGFyZUFuZEJyYW5jaDx0cnVlPihyZWNvcmQuY29u
ZGl0aW9uKCksIHJlY29yZC5pczY0Qml0KCksIHJlY29yZC5jb21wYXJlUmVnaXN0ZXIoKSwgcmVp
bnRlcnByZXRfY2FzdDxpbnQqPihmcm9tKSwgZnJvbUluc3RydWN0aW9uLCB0byk7CiAgICAgICAg
ICAgICBicmVhazsKICAgICAgICAgY2FzZSBMaW5rSnVtcENvbXBhcmVBbmRCcmFuY2g6Ci0gICAg
ICAgICAgICBsaW5rQ29tcGFyZUFuZEJyYW5jaDxmYWxzZT4ocmVjb3JkLmNvbmRpdGlvbigpLCBy
ZWNvcmQuaXM2NEJpdCgpLCByZWNvcmQuY29tcGFyZVJlZ2lzdGVyKCksIHJlaW50ZXJwcmV0X2Nh
c3Q8aW50Kj4oZnJvbSkgLSAxLCB0byk7CisgICAgICAgICAgICBsaW5rQ29tcGFyZUFuZEJyYW5j
aDxmYWxzZT4ocmVjb3JkLmNvbmRpdGlvbigpLCByZWNvcmQuaXM2NEJpdCgpLCByZWNvcmQuY29t
cGFyZVJlZ2lzdGVyKCksIHJlaW50ZXJwcmV0X2Nhc3Q8aW50Kj4oZnJvbSkgLSAxLCBmcm9tSW5z
dHJ1Y3Rpb24gLSAxLCB0byk7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgY2FzZSBMaW5r
SnVtcFRlc3RCaXREaXJlY3Q6Ci0gICAgICAgICAgICBsaW5rVGVzdEFuZEJyYW5jaDx0cnVlPihy
ZWNvcmQuY29uZGl0aW9uKCksIHJlY29yZC5iaXROdW1iZXIoKSwgcmVjb3JkLmNvbXBhcmVSZWdp
c3RlcigpLCByZWludGVycHJldF9jYXN0PGludCo+KGZyb20pLCB0byk7CisgICAgICAgICAgICBs
aW5rVGVzdEFuZEJyYW5jaDx0cnVlPihyZWNvcmQuY29uZGl0aW9uKCksIHJlY29yZC5iaXROdW1i
ZXIoKSwgcmVjb3JkLmNvbXBhcmVSZWdpc3RlcigpLCByZWludGVycHJldF9jYXN0PGludCo+KGZy
b20pLCBmcm9tSW5zdHJ1Y3Rpb24sIHRvKTsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBj
YXNlIExpbmtKdW1wVGVzdEJpdDoKLSAgICAgICAgICAgIGxpbmtUZXN0QW5kQnJhbmNoPGZhbHNl
PihyZWNvcmQuY29uZGl0aW9uKCksIHJlY29yZC5iaXROdW1iZXIoKSwgcmVjb3JkLmNvbXBhcmVS
ZWdpc3RlcigpLCByZWludGVycHJldF9jYXN0PGludCo+KGZyb20pIC0gMSwgdG8pOworICAgICAg
ICAgICAgbGlua1Rlc3RBbmRCcmFuY2g8ZmFsc2U+KHJlY29yZC5jb25kaXRpb24oKSwgcmVjb3Jk
LmJpdE51bWJlcigpLCByZWNvcmQuY29tcGFyZVJlZ2lzdGVyKCksIHJlaW50ZXJwcmV0X2Nhc3Q8
aW50Kj4oZnJvbSkgLSAxLCBmcm9tSW5zdHJ1Y3Rpb24gLSAxLCB0byk7CiAgICAgICAgICAgICBi
cmVhazsKICAgICAgICAgZGVmYXVsdDoKICAgICAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgp
OwpAQCAtMjg3MCw3ICsyODcxLDcgQEAgcHJpdmF0ZToKICAgICB9CiAKICAgICB0ZW1wbGF0ZTxi
b29sIGlzQ2FsbD4KLSAgICBzdGF0aWMgdm9pZCBsaW5rSnVtcE9yQ2FsbChpbnQqIGZyb20sIHZv
aWQqIHRvKQorICAgIHN0YXRpYyB2b2lkIGxpbmtKdW1wT3JDYWxsKGludCogZnJvbSwgY29uc3Qg
aW50KiBmcm9tSW5zdHJ1Y3Rpb24sIHZvaWQqIHRvKQogICAgIHsKICAgICAgICAgYm9vbCBsaW5r
OwogICAgICAgICBpbnQgaW1tMjY7CkBAIC0yODgwLDcgKzI4ODEsNyBAQCBwcml2YXRlOgogICAg
ICAgICBBU1NFUlRfVU5VU0VEKGlzQ2FsbCwgKGxpbmsgPT0gaXNDYWxsKSB8fCBkaXNhc3NlbWJs
ZU5vcChmcm9tKSk7CiAgICAgICAgIEFTU0VSVCghKHJlaW50ZXJwcmV0X2Nhc3Q8aW50cHRyX3Q+
KGZyb20pICYgMykpOwogICAgICAgICBBU1NFUlQoIShyZWludGVycHJldF9jYXN0PGludHB0cl90
Pih0bykgJiAzKSk7Ci0gICAgICAgIGludHB0cl90IG9mZnNldCA9IChyZWludGVycHJldF9jYXN0
PGludHB0cl90Pih0bykgLSByZWludGVycHJldF9jYXN0PGludHB0cl90Pihmcm9tKSkgPj4gMjsK
KyAgICAgICAgaW50cHRyX3Qgb2Zmc2V0ID0gKHJlaW50ZXJwcmV0X2Nhc3Q8aW50cHRyX3Q+KHRv
KSAtIHJlaW50ZXJwcmV0X2Nhc3Q8aW50cHRyX3Q+KGZyb21JbnN0cnVjdGlvbikpID4+IDI7CiAg
ICAgICAgIEFTU0VSVChzdGF0aWNfY2FzdDxpbnQ+KG9mZnNldCkgPT0gb2Zmc2V0KTsKIAogICAg
ICAgICBpbnQgaW5zbiA9IHVuY29uZGl0aW9uYWxCcmFuY2hJbW1lZGlhdGUoaXNDYWxsLCBzdGF0
aWNfY2FzdDxpbnQ+KG9mZnNldCkpOwpAQCAtMjg4OCwxMSArMjg4OSwxMSBAQCBwcml2YXRlOgog
ICAgIH0KIAogICAgIHRlbXBsYXRlPGJvb2wgaXNEaXJlY3Q+Ci0gICAgc3RhdGljIHZvaWQgbGlu
a0NvbXBhcmVBbmRCcmFuY2goQ29uZGl0aW9uIGNvbmRpdGlvbiwgYm9vbCBpczY0Qml0LCBSZWdp
c3RlcklEIHJ0LCBpbnQqIGZyb20sIHZvaWQqIHRvKQorICAgIHN0YXRpYyB2b2lkIGxpbmtDb21w
YXJlQW5kQnJhbmNoKENvbmRpdGlvbiBjb25kaXRpb24sIGJvb2wgaXM2NEJpdCwgUmVnaXN0ZXJJ
RCBydCwgaW50KiBmcm9tLCBjb25zdCBpbnQqIGZyb21JbnN0cnVjdGlvbiwgdm9pZCogdG8pCiAg
ICAgewogICAgICAgICBBU1NFUlQoIShyZWludGVycHJldF9jYXN0PGludHB0cl90Pihmcm9tKSAm
IDMpKTsKICAgICAgICAgQVNTRVJUKCEocmVpbnRlcnByZXRfY2FzdDxpbnRwdHJfdD4odG8pICYg
MykpOwotICAgICAgICBpbnRwdHJfdCBvZmZzZXQgPSAocmVpbnRlcnByZXRfY2FzdDxpbnRwdHJf
dD4odG8pIC0gcmVpbnRlcnByZXRfY2FzdDxpbnRwdHJfdD4oZnJvbSkpID4+IDI7CisgICAgICAg
IGludHB0cl90IG9mZnNldCA9IChyZWludGVycHJldF9jYXN0PGludHB0cl90Pih0bykgLSByZWlu
dGVycHJldF9jYXN0PGludHB0cl90Pihmcm9tSW5zdHJ1Y3Rpb24pKSA+PiAyOwogICAgICAgICBB
U1NFUlQoKChvZmZzZXQgPDwgMzgpID4+IDM4KSA9PSBvZmZzZXQpOwogCiAgICAgICAgIGJvb2wg
dXNlRGlyZWN0ID0gKChvZmZzZXQgPDwgNDUpID4+IDQ1KSA9PSBvZmZzZXQ7IC8vIEZpdHMgaW4g
MTkgYml0cwpAQCAtMjkwOCwxNiArMjkwOSwxNiBAQCBwcml2YXRlOgogICAgICAgICB9IGVsc2Ug
ewogICAgICAgICAgICAgaW50IGluc24gPSBjb21wYXJlQW5kQnJhbmNoSW1tZWRpYXRlKGlzNjRC
aXQgPyBEYXRhc2l6ZV82NCA6IERhdGFzaXplXzMyLCBpbnZlcnQoY29uZGl0aW9uKSA9PSBDb25k
aXRpb25ORSwgMiwgcnQpOwogICAgICAgICAgICAgcGVyZm9ybUpJVE1lbWNweShmcm9tLCAmaW5z
biwgc2l6ZW9mKGludCkpOwotICAgICAgICAgICAgbGlua0p1bXBPckNhbGw8ZmFsc2U+KGZyb20g
KyAxLCB0byk7CisgICAgICAgICAgICBsaW5rSnVtcE9yQ2FsbDxmYWxzZT4oZnJvbSArIDEsIGZy
b21JbnN0cnVjdGlvbiArIDEsIHRvKTsKICAgICAgICAgfQogICAgIH0KIAogICAgIHRlbXBsYXRl
PGJvb2wgaXNEaXJlY3Q+Ci0gICAgc3RhdGljIHZvaWQgbGlua0NvbmRpdGlvbmFsQnJhbmNoKENv
bmRpdGlvbiBjb25kaXRpb24sIGludCogZnJvbSwgdm9pZCogdG8pCisgICAgc3RhdGljIHZvaWQg
bGlua0NvbmRpdGlvbmFsQnJhbmNoKENvbmRpdGlvbiBjb25kaXRpb24sIGludCogZnJvbSwgY29u
c3QgaW50KiBmcm9tSW5zdHJ1Y3Rpb24sIHZvaWQqIHRvKQogICAgIHsKICAgICAgICAgQVNTRVJU
KCEocmVpbnRlcnByZXRfY2FzdDxpbnRwdHJfdD4oZnJvbSkgJiAzKSk7CiAgICAgICAgIEFTU0VS
VCghKHJlaW50ZXJwcmV0X2Nhc3Q8aW50cHRyX3Q+KHRvKSAmIDMpKTsKLSAgICAgICAgaW50cHRy
X3Qgb2Zmc2V0ID0gKHJlaW50ZXJwcmV0X2Nhc3Q8aW50cHRyX3Q+KHRvKSAtIHJlaW50ZXJwcmV0
X2Nhc3Q8aW50cHRyX3Q+KGZyb20pKSA+PiAyOworICAgICAgICBpbnRwdHJfdCBvZmZzZXQgPSAo
cmVpbnRlcnByZXRfY2FzdDxpbnRwdHJfdD4odG8pIC0gcmVpbnRlcnByZXRfY2FzdDxpbnRwdHJf
dD4oZnJvbUluc3RydWN0aW9uKSkgPj4gMjsKICAgICAgICAgQVNTRVJUKCgob2Zmc2V0IDw8IDM4
KSA+PiAzOCkgPT0gb2Zmc2V0KTsKIAogICAgICAgICBib29sIHVzZURpcmVjdCA9ICgob2Zmc2V0
IDw8IDQ1KSA+PiA0NSkgPT0gb2Zmc2V0OyAvLyBGaXRzIGluIDE5IGJpdHMKQEAgLTI5MzMsMTYg
KzI5MzQsMTYgQEAgcHJpdmF0ZToKICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgIGludCBp
bnNuID0gY29uZGl0aW9uYWxCcmFuY2hJbW1lZGlhdGUoMiwgaW52ZXJ0KGNvbmRpdGlvbikpOwog
ICAgICAgICAgICAgcGVyZm9ybUpJVE1lbWNweShmcm9tLCAmaW5zbiwgc2l6ZW9mKGludCkpOwot
ICAgICAgICAgICAgbGlua0p1bXBPckNhbGw8ZmFsc2U+KGZyb20gKyAxLCB0byk7CisgICAgICAg
ICAgICBsaW5rSnVtcE9yQ2FsbDxmYWxzZT4oZnJvbSArIDEsIGZyb21JbnN0cnVjdGlvbiArIDEs
IHRvKTsKICAgICAgICAgfQogICAgIH0KIAogICAgIHRlbXBsYXRlPGJvb2wgaXNEaXJlY3Q+Ci0g
ICAgc3RhdGljIHZvaWQgbGlua1Rlc3RBbmRCcmFuY2goQ29uZGl0aW9uIGNvbmRpdGlvbiwgdW5z
aWduZWQgYml0TnVtYmVyLCBSZWdpc3RlcklEIHJ0LCBpbnQqIGZyb20sIHZvaWQqIHRvKQorICAg
IHN0YXRpYyB2b2lkIGxpbmtUZXN0QW5kQnJhbmNoKENvbmRpdGlvbiBjb25kaXRpb24sIHVuc2ln
bmVkIGJpdE51bWJlciwgUmVnaXN0ZXJJRCBydCwgaW50KiBmcm9tLCBjb25zdCBpbnQqIGZyb21J
bnN0cnVjdGlvbiwgdm9pZCogdG8pCiAgICAgewogICAgICAgICBBU1NFUlQoIShyZWludGVycHJl
dF9jYXN0PGludHB0cl90Pihmcm9tKSAmIDMpKTsKICAgICAgICAgQVNTRVJUKCEocmVpbnRlcnBy
ZXRfY2FzdDxpbnRwdHJfdD4odG8pICYgMykpOwotICAgICAgICBpbnRwdHJfdCBvZmZzZXQgPSAo
cmVpbnRlcnByZXRfY2FzdDxpbnRwdHJfdD4odG8pIC0gcmVpbnRlcnByZXRfY2FzdDxpbnRwdHJf
dD4oZnJvbSkpID4+IDI7CisgICAgICAgIGludHB0cl90IG9mZnNldCA9IChyZWludGVycHJldF9j
YXN0PGludHB0cl90Pih0bykgLSByZWludGVycHJldF9jYXN0PGludHB0cl90Pihmcm9tSW5zdHJ1
Y3Rpb24pKSA+PiAyOwogICAgICAgICBBU1NFUlQoc3RhdGljX2Nhc3Q8aW50PihvZmZzZXQpID09
IG9mZnNldCk7CiAgICAgICAgIEFTU0VSVCgoKG9mZnNldCA8PCAzOCkgPj4gMzgpID09IG9mZnNl
dCk7CiAKQEAgLTI5NTksMTIgKzI5NjAsMTIgQEAgcHJpdmF0ZToKICAgICAgICAgfSBlbHNlIHsK
ICAgICAgICAgICAgIGludCBpbnNuID0gdGVzdEFuZEJyYW5jaEltbWVkaWF0ZShpbnZlcnQoY29u
ZGl0aW9uKSA9PSBDb25kaXRpb25ORSwgc3RhdGljX2Nhc3Q8aW50PihiaXROdW1iZXIpLCAyLCBy
dCk7CiAgICAgICAgICAgICBwZXJmb3JtSklUTWVtY3B5KGZyb20sICZpbnNuLCBzaXplb2YoaW50
KSk7Ci0gICAgICAgICAgICBsaW5rSnVtcE9yQ2FsbDxmYWxzZT4oZnJvbSArIDEsIHRvKTsKKyAg
ICAgICAgICAgIGxpbmtKdW1wT3JDYWxsPGZhbHNlPihmcm9tICsgMSwgZnJvbUluc3RydWN0aW9u
ICsgMSwgdG8pOwogICAgICAgICB9CiAgICAgfQogCiAgICAgdGVtcGxhdGU8Ym9vbCBpc0NhbGw+
Ci0gICAgc3RhdGljIHZvaWQgcmVsaW5rSnVtcE9yQ2FsbChpbnQqIGZyb20sIHZvaWQqIHRvKQor
ICAgIHN0YXRpYyB2b2lkIHJlbGlua0p1bXBPckNhbGwoaW50KiBmcm9tLCBjb25zdCBpbnQqIGZy
b21JbnN0cnVjdGlvbiwgdm9pZCogdG8pCiAgICAgewogICAgICAgICBpZiAoIWlzQ2FsbCAmJiBk
aXNhc3NlbWJsZU5vcChmcm9tKSkgewogICAgICAgICAgICAgdW5zaWduZWQgb3AwMTsKQEAgLTI5
NzksNyArMjk4MCw3IEBAIHByaXZhdGU6CiAgICAgICAgICAgICAgICAgaWYgKGltbTE5ID09IDgp
CiAgICAgICAgICAgICAgICAgICAgIGNvbmRpdGlvbiA9IGludmVydChjb25kaXRpb24pOwogCi0g
ICAgICAgICAgICAgICAgbGlua0NvbmRpdGlvbmFsQnJhbmNoPGZhbHNlPihjb25kaXRpb24sIGZy
b20gLSAxLCB0byk7CisgICAgICAgICAgICAgICAgbGlua0NvbmRpdGlvbmFsQnJhbmNoPGZhbHNl
Pihjb25kaXRpb24sIGZyb20gLSAxLCBmcm9tSW5zdHJ1Y3Rpb24gLSAxLCB0byk7CiAgICAgICAg
ICAgICAgICAgcmV0dXJuOwogICAgICAgICAgICAgfQogCkBAIC0yOTkyLDcgKzI5OTMsNyBAQCBw
cml2YXRlOgogICAgICAgICAgICAgICAgIGlmIChpbW0xOSA9PSA4KQogICAgICAgICAgICAgICAg
ICAgICBvcCA9ICFvcDsKIAotICAgICAgICAgICAgICAgIGxpbmtDb21wYXJlQW5kQnJhbmNoPGZh
bHNlPihvcCA/IENvbmRpdGlvbk5FIDogQ29uZGl0aW9uRVEsIG9wU2l6ZSA9PSBEYXRhc2l6ZV82
NCwgcnQsIGZyb20gLSAxLCB0byk7CisgICAgICAgICAgICAgICAgbGlua0NvbXBhcmVBbmRCcmFu
Y2g8ZmFsc2U+KG9wID8gQ29uZGl0aW9uTkUgOiBDb25kaXRpb25FUSwgb3BTaXplID09IERhdGFz
aXplXzY0LCBydCwgZnJvbSAtIDEsIGZyb21JbnN0cnVjdGlvbiAtIDEsIHRvKTsKICAgICAgICAg
ICAgICAgICByZXR1cm47CiAgICAgICAgICAgICB9CiAKQEAgLTMwMDQsMTIgKzMwMDUsMTIgQEAg
cHJpdmF0ZToKICAgICAgICAgICAgICAgICBpZiAoaW1tMTQgPT0gOCkKICAgICAgICAgICAgICAg
ICAgICAgb3AgPSAhb3A7CiAKLSAgICAgICAgICAgICAgICBsaW5rVGVzdEFuZEJyYW5jaDxmYWxz
ZT4ob3AgPyBDb25kaXRpb25ORSA6IENvbmRpdGlvbkVRLCBiaXROdW1iZXIsIHJ0LCBmcm9tIC0g
MSwgdG8pOworICAgICAgICAgICAgICAgIGxpbmtUZXN0QW5kQnJhbmNoPGZhbHNlPihvcCA/IENv
bmRpdGlvbk5FIDogQ29uZGl0aW9uRVEsIGJpdE51bWJlciwgcnQsIGZyb20gLSAxLCBmcm9tSW5z
dHJ1Y3Rpb24gLSAxLCB0byk7CiAgICAgICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgICAg
fQogICAgICAgICB9CiAKLSAgICAgICAgbGlua0p1bXBPckNhbGw8aXNDYWxsPihmcm9tLCB0byk7
CisgICAgICAgIGxpbmtKdW1wT3JDYWxsPGlzQ2FsbD4oZnJvbSwgZnJvbUluc3RydWN0aW9uLCB0
byk7CiAgICAgfQogCiAgICAgc3RhdGljIGludCogYWRkcmVzc09mKHZvaWQqIGNvZGUsIEFzc2Vt
YmxlckxhYmVsIGxhYmVsKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2Vt
Ymxlci9BUk12N0Fzc2VtYmxlci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9B
Uk12N0Fzc2VtYmxlci5oCmluZGV4IDZiOWYzMDVlOTI3NDY5ZjFiMjM1ZGJiZjdhMjVkMjMxODkz
ZmRmZGUuLjhlZTk5YzRiZDdjN2YzMDYxNDg2ODk2MDE4N2U3ZmIyMzkwYWZjZDIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvQVJNdjdBc3NlbWJsZXIuaAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL0FSTXY3QXNzZW1ibGVyLmgKQEAgLTEz
MjcsMTEgKzEzMjcsMTQgQEAgcHVibGljOgogICAgICAgICB1aW50MTZfdCogYWRkcmVzcyA9IHN0
YXRpY19jYXN0PHVpbnQxNl90Kj4oaW5zdHJ1Y3Rpb25TdGFydCk7CiAgICAgICAgIEFSTVRodW1i
SW1tZWRpYXRlIGxvMTYgPSBBUk1UaHVtYkltbWVkaWF0ZTo6bWFrZVVJbnQxNihzdGF0aWNfY2Fz
dDx1aW50MTZfdD4oaW1tKSk7CiAgICAgICAgIEFSTVRodW1iSW1tZWRpYXRlIGhpMTYgPSBBUk1U
aHVtYkltbWVkaWF0ZTo6bWFrZVVJbnQxNihzdGF0aWNfY2FzdDx1aW50MTZfdD4oaW1tID4+IDE2
KSk7Ci0gICAgICAgIGFkZHJlc3NbMF0gPSB0d29Xb3JkT3A1aTZJbW00UmVnNEVuY29kZWRJbW1G
aXJzdChPUF9NT1ZfaW1tX1QzLCBsbzE2KTsKLSAgICAgICAgYWRkcmVzc1sxXSA9IHR3b1dvcmRP
cDVpNkltbTRSZWc0RW5jb2RlZEltbVNlY29uZChyaWdodCwgbG8xNik7Ci0gICAgICAgIGFkZHJl
c3NbMl0gPSB0d29Xb3JkT3A1aTZJbW00UmVnNEVuY29kZWRJbW1GaXJzdChPUF9NT1ZULCBoaTE2
KTsKLSAgICAgICAgYWRkcmVzc1szXSA9IHR3b1dvcmRPcDVpNkltbTRSZWc0RW5jb2RlZEltbVNl
Y29uZChyaWdodCwgaGkxNik7Ci0gICAgICAgIGFkZHJlc3NbNF0gPSBPUF9DTVBfcmVnX1QyIHwg
bGVmdDsKKyAgICAgICAgdWludDE2X3QgaW5zdHJ1Y3Rpb25bXSA9IHsKKyAgICAgICAgICAgIHR3
b1dvcmRPcDVpNkltbTRSZWc0RW5jb2RlZEltbUZpcnN0KE9QX01PVl9pbW1fVDMsIGxvMTYpLAor
ICAgICAgICAgICAgdHdvV29yZE9wNWk2SW1tNFJlZzRFbmNvZGVkSW1tU2Vjb25kKHJpZ2h0LCBs
bzE2KSwKKyAgICAgICAgICAgIHR3b1dvcmRPcDVpNkltbTRSZWc0RW5jb2RlZEltbUZpcnN0KE9Q
X01PVlQsIGhpMTYpLAorICAgICAgICAgICAgdHdvV29yZE9wNWk2SW1tNFJlZzRFbmNvZGVkSW1t
U2Vjb25kKHJpZ2h0LCBoaTE2KSwKKyAgICAgICAgICAgIE9QX0NNUF9yZWdfVDIgfCBsZWZ0Cisg
ICAgICAgIH07CisgICAgICAgIHBlcmZvcm1KSVRNZW1jcHkoYWRkcmVzcywgaW5zdHJ1Y3Rpb24s
IHNpemVvZih1aW50MTZfdCkgKiA1KTsKICAgICAgICAgY2FjaGVGbHVzaChhZGRyZXNzLCBzaXpl
b2YodWludDE2X3QpICogNSk7CiAgICAgfQogI2Vsc2UKQEAgLTEzNDIsOCArMTM0NSwxMSBAQCBw
dWJsaWM6CiAgICAgICAgIEFTU0VSVCghQmFkUmVnKHJkKSk7CiAgICAgICAgIAogICAgICAgICB1
aW50MTZfdCogYWRkcmVzcyA9IHN0YXRpY19jYXN0PHVpbnQxNl90Kj4oaW5zdHJ1Y3Rpb25TdGFy
dCk7Ci0gICAgICAgIGFkZHJlc3NbMF0gPSB0d29Xb3JkT3A1aTZJbW00UmVnNEVuY29kZWRJbW1G
aXJzdChPUF9NT1ZfaW1tX1QzLCBpbW0pOwotICAgICAgICBhZGRyZXNzWzFdID0gdHdvV29yZE9w
NWk2SW1tNFJlZzRFbmNvZGVkSW1tU2Vjb25kKHJkLCBpbW0pOworICAgICAgICB1aW50MTZfdCBp
bnN0cnVjdGlvbltdID0geworICAgICAgICAgICAgdHdvV29yZE9wNWk2SW1tNFJlZzRFbmNvZGVk
SW1tRmlyc3QoT1BfTU9WX2ltbV9UMywgaW1tKSwKKyAgICAgICAgICAgIHR3b1dvcmRPcDVpNklt
bTRSZWc0RW5jb2RlZEltbVNlY29uZChyZCwgaW1tKQorICAgICAgICB9OworICAgICAgICBwZXJm
b3JtSklUTWVtY3B5KGFkZHJlc3MsIGluc3RydWN0aW9uLCBzaXplb2YodWludDE2X3QpICogMik7
CiAgICAgICAgIGNhY2hlRmx1c2goYWRkcmVzcywgc2l6ZW9mKHVpbnQxNl90KSAqIDIpOwogICAg
IH0KICNlbmRpZgpAQCAtMjEyNSwyOSArMjEzMSwzMCBAQCBwdWJsaWM6CiAgICAgICAgIHJldHVy
biBtX2p1bXBzVG9MaW5rOwogICAgIH0KIAotICAgIHN0YXRpYyB2b2lkIEFMV0FZU19JTkxJTkUg
bGluayhMaW5rUmVjb3JkJiByZWNvcmQsIHVpbnQ4X3QqIGZyb20sIHVpbnQ4X3QqIHRvKQorICAg
IHN0YXRpYyB2b2lkIEFMV0FZU19JTkxJTkUgbGluayhMaW5rUmVjb3JkJiByZWNvcmQsIHVpbnQ4
X3QqIGZyb20sIGNvbnN0IHVpbnQ4X3QqIGZyb21JbnN0cnVjdGlvbjgsIHVpbnQ4X3QqIHRvKQog
ICAgIHsKKyAgICAgICAgY29uc3QgdWludDE2X3QqIGZyb21JbnN0cnVjdGlvbiA9IHJlaW50ZXJw
cmV0X2Nhc3RfcHRyPGNvbnN0IHVpbnQxNl90Kj4oZnJvbUluc3RydWN0aW9uOCk7CiAgICAgICAg
IHN3aXRjaCAocmVjb3JkLmxpbmtUeXBlKCkpIHsKICAgICAgICAgY2FzZSBMaW5rSnVtcFQxOgot
ICAgICAgICAgICAgbGlua0p1bXBUMShyZWNvcmQuY29uZGl0aW9uKCksIHJlaW50ZXJwcmV0X2Nh
c3RfcHRyPHVpbnQxNl90Kj4oZnJvbSksIHRvKTsKKyAgICAgICAgICAgIGxpbmtKdW1wVDEocmVj
b3JkLmNvbmRpdGlvbigpLCByZWludGVycHJldF9jYXN0X3B0cjx1aW50MTZfdCo+KGZyb20pLCBm
cm9tSW5zdHJ1Y3Rpb24sIHRvKTsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBjYXNlIExp
bmtKdW1wVDI6Ci0gICAgICAgICAgICBsaW5rSnVtcFQyKHJlaW50ZXJwcmV0X2Nhc3RfcHRyPHVp
bnQxNl90Kj4oZnJvbSksIHRvKTsKKyAgICAgICAgICAgIGxpbmtKdW1wVDIocmVpbnRlcnByZXRf
Y2FzdF9wdHI8dWludDE2X3QqPihmcm9tKSwgZnJvbUluc3RydWN0aW9uLCB0byk7CiAgICAgICAg
ICAgICBicmVhazsKICAgICAgICAgY2FzZSBMaW5rSnVtcFQzOgotICAgICAgICAgICAgbGlua0p1
bXBUMyhyZWNvcmQuY29uZGl0aW9uKCksIHJlaW50ZXJwcmV0X2Nhc3RfcHRyPHVpbnQxNl90Kj4o
ZnJvbSksIHRvKTsKKyAgICAgICAgICAgIGxpbmtKdW1wVDMocmVjb3JkLmNvbmRpdGlvbigpLCBy
ZWludGVycHJldF9jYXN0X3B0cjx1aW50MTZfdCo+KGZyb20pLCBmcm9tSW5zdHJ1Y3Rpb24sIHRv
KTsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBjYXNlIExpbmtKdW1wVDQ6Ci0gICAgICAg
ICAgICBsaW5rSnVtcFQ0KHJlaW50ZXJwcmV0X2Nhc3RfcHRyPHVpbnQxNl90Kj4oZnJvbSksIHRv
KTsKKyAgICAgICAgICAgIGxpbmtKdW1wVDQocmVpbnRlcnByZXRfY2FzdF9wdHI8dWludDE2X3Qq
Pihmcm9tKSwgZnJvbUluc3RydWN0aW9uLCB0byk7CiAgICAgICAgICAgICBicmVhazsKICAgICAg
ICAgY2FzZSBMaW5rQ29uZGl0aW9uYWxKdW1wVDQ6Ci0gICAgICAgICAgICBsaW5rQ29uZGl0aW9u
YWxKdW1wVDQocmVjb3JkLmNvbmRpdGlvbigpLCByZWludGVycHJldF9jYXN0X3B0cjx1aW50MTZf
dCo+KGZyb20pLCB0byk7CisgICAgICAgICAgICBsaW5rQ29uZGl0aW9uYWxKdW1wVDQocmVjb3Jk
LmNvbmRpdGlvbigpLCByZWludGVycHJldF9jYXN0X3B0cjx1aW50MTZfdCo+KGZyb20pLCBmcm9t
SW5zdHJ1Y3Rpb24sIHRvKTsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBjYXNlIExpbmtD
b25kaXRpb25hbEJYOgotICAgICAgICAgICAgbGlua0NvbmRpdGlvbmFsQlgocmVjb3JkLmNvbmRp
dGlvbigpLCByZWludGVycHJldF9jYXN0X3B0cjx1aW50MTZfdCo+KGZyb20pLCB0byk7CisgICAg
ICAgICAgICBsaW5rQ29uZGl0aW9uYWxCWChyZWNvcmQuY29uZGl0aW9uKCksIHJlaW50ZXJwcmV0
X2Nhc3RfcHRyPHVpbnQxNl90Kj4oZnJvbSksIGZyb21JbnN0cnVjdGlvbiwgdG8pOwogICAgICAg
ICAgICAgYnJlYWs7CiAgICAgICAgIGNhc2UgTGlua0JYOgotICAgICAgICAgICAgbGlua0JYKHJl
aW50ZXJwcmV0X2Nhc3RfcHRyPHVpbnQxNl90Kj4oZnJvbSksIHRvKTsKKyAgICAgICAgICAgIGxp
bmtCWChyZWludGVycHJldF9jYXN0X3B0cjx1aW50MTZfdCo+KGZyb20pLCBmcm9tSW5zdHJ1Y3Rp
b24sIHRvKTsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBkZWZhdWx0OgogICAgICAgICAg
ICAgUkVMRUFTRV9BU1NFUlRfTk9UX1JFQUNIRUQoKTsKQEAgLTIxODQsNyArMjE5MSw3IEBAIHB1
YmxpYzoKICAgICAgICAgQVNTRVJUKGZyb20uaXNTZXQoKSk7CiAgICAgICAgIAogICAgICAgICB1
aW50MTZfdCogbG9jYXRpb24gPSByZWludGVycHJldF9jYXN0PHVpbnQxNl90Kj4ocmVpbnRlcnBy
ZXRfY2FzdDxpbnRwdHJfdD4oY29kZSkgKyBmcm9tLm1fb2Zmc2V0KTsKLSAgICAgICAgbGlua0p1
bXBBYnNvbHV0ZShsb2NhdGlvbiwgdG8pOworICAgICAgICBsaW5rSnVtcEFic29sdXRlKGxvY2F0
aW9uLCBsb2NhdGlvbiwgdG8pOwogICAgIH0KIAogICAgIHN0YXRpYyB2b2lkIGxpbmtDYWxsKHZv
aWQqIGNvZGUsIEFzc2VtYmxlckxhYmVsIGZyb20sIHZvaWQqIHRvKQpAQCAtMjIwNSw3ICsyMjEy
LDcgQEAgcHVibGljOgogICAgICAgICBBU1NFUlQoIShyZWludGVycHJldF9jYXN0PGludHB0cl90
Pihmcm9tKSAmIDEpKTsKICAgICAgICAgQVNTRVJUKCEocmVpbnRlcnByZXRfY2FzdDxpbnRwdHJf
dD4odG8pICYgMSkpOwogCi0gICAgICAgIGxpbmtKdW1wQWJzb2x1dGUocmVpbnRlcnByZXRfY2Fz
dDx1aW50MTZfdCo+KGZyb20pLCB0byk7CisgICAgICAgIGxpbmtKdW1wQWJzb2x1dGUocmVpbnRl
cnByZXRfY2FzdDx1aW50MTZfdCo+KGZyb20pLCByZWludGVycHJldF9jYXN0PHVpbnQxNl90Kj4o
ZnJvbSksIHRvKTsKIAogICAgICAgICBjYWNoZUZsdXNoKHJlaW50ZXJwcmV0X2Nhc3Q8dWludDE2
X3QqPihmcm9tKSAtIDUsIDUgKiBzaXplb2YodWludDE2X3QpKTsKICAgICB9CkBAIC0yMjQ0LDgg
KzIyNTEsOSBAQCBwdWJsaWM6CiAgICAgICAgIG9mZnNldCB8PSAoMSA8PCAxMSk7CiAKICAgICAg
ICAgdWludDE2X3QqIGxvY2F0aW9uID0gcmVpbnRlcnByZXRfY2FzdDx1aW50MTZfdCo+KHdoZXJl
KTsKLSAgICAgICAgbG9jYXRpb25bMV0gJj0gfigoMSA8PCAxMikgLSAxKTsKLSAgICAgICAgbG9j
YXRpb25bMV0gfD0gb2Zmc2V0OworICAgICAgICB1aW50MTZfdCBpbnN0cnVjdGlvbiA9IGxvY2F0
aW9uWzFdICYgfigoMSA8PCAxMikgLSAxKTsKKyAgICAgICAgaW5zdHJ1Y3Rpb24gfD0gb2Zmc2V0
OworICAgICAgICBwZXJmb3JtSklUTWVtY3B5KGxvY2F0aW9uICsgMSwgJmluc3RydWN0aW9uLCBz
aXplb2YodWludDE2X3QpKTsKICAgICAgICAgY2FjaGVGbHVzaChsb2NhdGlvbiwgc2l6ZW9mKHVp
bnQxNl90KSAqIDIpOwogICAgIH0KIApAQCAtMjI2OSwxNiArMjI3NywxNiBAQCBwdWJsaWM6CiAj
aWYgT1MoTElOVVgpCiAgICAgICAgIGlmIChjYW5CZUp1bXBUNChyZWludGVycHJldF9jYXN0PHVp
bnQxNl90Kj4oaW5zdHJ1Y3Rpb25TdGFydCksIHRvKSkgewogICAgICAgICAgICAgdWludDE2X3Qq
IHB0ciA9IHJlaW50ZXJwcmV0X2Nhc3Q8dWludDE2X3QqPihpbnN0cnVjdGlvblN0YXJ0KSArIDI7
Ci0gICAgICAgICAgICBsaW5rSnVtcFQ0KHB0ciwgdG8pOworICAgICAgICAgICAgbGlua0p1bXBU
NChwdHIsIHB0ciwgdG8pOwogICAgICAgICAgICAgY2FjaGVGbHVzaChwdHIgLSAyLCBzaXplb2Yo
dWludDE2X3QpICogMik7CiAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICB1aW50MTZfdCog
cHRyID0gcmVpbnRlcnByZXRfY2FzdDx1aW50MTZfdCo+KGluc3RydWN0aW9uU3RhcnQpICsgNTsK
LSAgICAgICAgICAgIGxpbmtCWChwdHIsIHRvKTsKKyAgICAgICAgICAgIGxpbmtCWChwdHIsIHB0
ciwgdG8pOwogICAgICAgICAgICAgY2FjaGVGbHVzaChwdHIgLSA1LCBzaXplb2YodWludDE2X3Qp
ICogNSk7CiAgICAgICAgIH0KICNlbHNlCiAgICAgICAgIHVpbnQxNl90KiBwdHIgPSByZWludGVy
cHJldF9jYXN0PHVpbnQxNl90Kj4oaW5zdHJ1Y3Rpb25TdGFydCkgKyAyOwotICAgICAgICBsaW5r
SnVtcFQ0KHB0ciwgdG8pOworICAgICAgICBsaW5rSnVtcFQ0KHB0ciwgcHRyLCB0byk7CiAgICAg
ICAgIGNhY2hlRmx1c2gocHRyIC0gMiwgc2l6ZW9mKHVpbnQxNl90KSAqIDIpOwogI2VuZGlmCiAg
ICAgfQpAQCAtMjI5OSwxNCArMjMwNywxNyBAQCBwdWJsaWM6CiAgICAgICAgIHN3aXRjaCAocHRy
WzBdICYgMHhGRkYwKSB7CiAgICAgICAgIGNhc2UgT1BfTERSX2ltbV9UMzoKICAgICAgICAgICAg
IGJyZWFrOwotICAgICAgICBjYXNlIE9QX0FERF9pbW1fVDM6CisgICAgICAgIGNhc2UgT1BfQURE
X2ltbV9UMzogewogICAgICAgICAgICAgQVNTRVJUKCEocHRyWzFdICYgMHhGMDAwKSk7Ci0gICAg
ICAgICAgICBwdHJbMF0gJj0gMHgwMDBGOwotICAgICAgICAgICAgcHRyWzBdIHw9IE9QX0xEUl9p
bW1fVDM7Ci0gICAgICAgICAgICBwdHJbMV0gfD0gKHB0clsxXSAmIDB4MEYwMCkgPDwgNDsKLSAg
ICAgICAgICAgIHB0clsxXSAmPSAweEYwRkY7CisgICAgICAgICAgICB1aW50MTZfdCBpbnN0cnVj
dGlvbnNbMl07CisgICAgICAgICAgICBpbnN0cnVjdGlvbnNbMF0gPSBwdHJbMF0gJiAweDAwMEY7
CisgICAgICAgICAgICBpbnN0cnVjdGlvbnNbMF0gfD0gT1BfTERSX2ltbV9UMzsKKyAgICAgICAg
ICAgIGluc3RydWN0aW9uc1sxXSA9IHB0clsxXSB8IChwdHJbMV0gJiAweDBGMDApIDw8IDQ7Cisg
ICAgICAgICAgICBpbnN0cnVjdGlvbnNbMV0gJj0gMHhGMEZGOworICAgICAgICAgICAgcGVyZm9y
bUpJVE1lbWNweShwdHIsIGluc3RydWN0aW9ucywgc2l6ZW9mKHVpbnQxNl90KSAqIDIpOwogICAg
ICAgICAgICAgY2FjaGVGbHVzaChwdHIsIHNpemVvZih1aW50MTZfdCkgKiAyKTsKICAgICAgICAg
ICAgIGJyZWFrOworICAgICAgICB9CiAgICAgICAgIGRlZmF1bHQ6CiAgICAgICAgICAgICBSRUxF
QVNFX0FTU0VSVF9OT1RfUkVBQ0hFRCgpOwogICAgICAgICB9CkBAIC0yMzE3LDE0ICsyMzI4LDE3
IEBAIHB1YmxpYzoKICAgICAgICAgQVNTRVJUKCEoYml0d2lzZV9jYXN0PHVpbnRwdHJfdD4oaW5z
dHJ1Y3Rpb25TdGFydCkgJiAxKSk7CiAgICAgICAgIHVpbnQxNl90KiBwdHIgPSByZWludGVycHJl
dF9jYXN0PHVpbnQxNl90Kj4oaW5zdHJ1Y3Rpb25TdGFydCk7CiAgICAgICAgIHN3aXRjaCAocHRy
WzBdICYgMHhGRkYwKSB7Ci0gICAgICAgIGNhc2UgT1BfTERSX2ltbV9UMzoKKyAgICAgICAgY2Fz
ZSBPUF9MRFJfaW1tX1QzOiB7CiAgICAgICAgICAgICBBU1NFUlQoIShwdHJbMV0gJiAweDBGMDAp
KTsKLSAgICAgICAgICAgIHB0clswXSAmPSAweDAwMEY7Ci0gICAgICAgICAgICBwdHJbMF0gfD0g
T1BfQUREX2ltbV9UMzsKLSAgICAgICAgICAgIHB0clsxXSB8PSAocHRyWzFdICYgMHhGMDAwKSA+
PiA0OwotICAgICAgICAgICAgcHRyWzFdICY9IDB4MEZGRjsKKyAgICAgICAgICAgIHVpbnQxNl90
IGluc3RydWN0aW9uc1syXTsKKyAgICAgICAgICAgIGluc3RydWN0aW9uc1swXSA9IHB0clswXSAm
IDB4MDAwRjsKKyAgICAgICAgICAgIGluc3RydWN0aW9uc1swXSB8PSBPUF9BRERfaW1tX1QzOwor
ICAgICAgICAgICAgaW5zdHJ1Y3Rpb25zWzFdID0gcHRyWzFdIHwgKHB0clsxXSAmIDB4RjAwMCkg
Pj4gNDsKKyAgICAgICAgICAgIGluc3RydWN0aW9uc1sxXSAmPSAweDBGRkY7CisgICAgICAgICAg
ICBwZXJmb3JtSklUTWVtY3B5KHB0ciwgaW5zdHJ1Y3Rpb25zLCBzaXplb2YodWludDE2X3QpICog
Mik7CiAgICAgICAgICAgICBjYWNoZUZsdXNoKHB0ciwgc2l6ZW9mKHVpbnQxNl90KSAqIDIpOwog
ICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KICAgICAgICAgY2FzZSBPUF9BRERfaW1tX1Qz
OgogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGRlZmF1bHQ6CkBAIC0yNDUyLDExICsyNDY2
LDEzIEBAIHByaXZhdGU6CiAKICAgICAgICAgQVJNVGh1bWJJbW1lZGlhdGUgbG8xNiA9IEFSTVRo
dW1iSW1tZWRpYXRlOjptYWtlVUludDE2KHN0YXRpY19jYXN0PHVpbnQxNl90Pih2YWx1ZSkpOwog
ICAgICAgICBBUk1UaHVtYkltbWVkaWF0ZSBoaTE2ID0gQVJNVGh1bWJJbW1lZGlhdGU6Om1ha2VV
SW50MTYoc3RhdGljX2Nhc3Q8dWludDE2X3Q+KHZhbHVlID4+IDE2KSk7Ci0gICAgICAgIGxvY2F0
aW9uWy00XSA9IHR3b1dvcmRPcDVpNkltbTRSZWc0RW5jb2RlZEltbUZpcnN0KE9QX01PVl9pbW1f
VDMsIGxvMTYpOwotICAgICAgICBsb2NhdGlvblstM10gPSB0d29Xb3JkT3A1aTZJbW00UmVnNEVu
Y29kZWRJbW1TZWNvbmQoKGxvY2F0aW9uWy0zXSA+PiA4KSAmIDB4ZiwgbG8xNik7Ci0gICAgICAg
IGxvY2F0aW9uWy0yXSA9IHR3b1dvcmRPcDVpNkltbTRSZWc0RW5jb2RlZEltbUZpcnN0KE9QX01P
VlQsIGhpMTYpOwotICAgICAgICBsb2NhdGlvblstMV0gPSB0d29Xb3JkT3A1aTZJbW00UmVnNEVu
Y29kZWRJbW1TZWNvbmQoKGxvY2F0aW9uWy0xXSA+PiA4KSAmIDB4ZiwgaGkxNik7CisgICAgICAg
IHVpbnQxNl90IGluc3RydWN0aW9uc1s0XTsKKyAgICAgICAgaW5zdHJ1Y3Rpb25zWzBdID0gdHdv
V29yZE9wNWk2SW1tNFJlZzRFbmNvZGVkSW1tRmlyc3QoT1BfTU9WX2ltbV9UMywgbG8xNik7Cisg
ICAgICAgIGluc3RydWN0aW9uc1sxXSA9IHR3b1dvcmRPcDVpNkltbTRSZWc0RW5jb2RlZEltbVNl
Y29uZCgobG9jYXRpb25bLTNdID4+IDgpICYgMHhmLCBsbzE2KTsKKyAgICAgICAgaW5zdHJ1Y3Rp
b25zWzJdID0gdHdvV29yZE9wNWk2SW1tNFJlZzRFbmNvZGVkSW1tRmlyc3QoT1BfTU9WVCwgaGkx
Nik7CisgICAgICAgIGluc3RydWN0aW9uc1szXSA9IHR3b1dvcmRPcDVpNkltbTRSZWc0RW5jb2Rl
ZEltbVNlY29uZCgobG9jYXRpb25bLTFdID4+IDgpICYgMHhmLCBoaTE2KTsKIAorICAgICAgICBw
ZXJmb3JtSklUTWVtY3B5KGxvY2F0aW9uIC0gNCwgaW5zdHJ1Y3Rpb25zLCA0ICogc2l6ZW9mKHVp
bnQxNl90KSk7CiAgICAgICAgIGlmIChmbHVzaCkKICAgICAgICAgICAgIGNhY2hlRmx1c2gobG9j
YXRpb24gLSA0LCA0ICogc2l6ZW9mKHVpbnQxNl90KSk7CiAgICAgfQpAQCAtMjQ4NCw4ICsyNTAw
LDEwIEBAIHByaXZhdGU6CiAgICAgICAgIEFTU0VSVChpbW0uaXNWYWxpZCgpKTsKICAgICAgICAg
QVNTRVJUKGltbS5pc1VJbnQ3KCkpOwogICAgICAgICB1aW50MTZfdCogbG9jYXRpb24gPSByZWlu
dGVycHJldF9jYXN0PHVpbnQxNl90Kj4oY29kZSk7Ci0gICAgICAgIGxvY2F0aW9uWzBdICY9IH4o
KHN0YXRpY19jYXN0PHVpbnQxNl90PigweDdmKSA+PiAyKSA8PCA2KTsKLSAgICAgICAgbG9jYXRp
b25bMF0gfD0gKGltbS5nZXRVSW50NygpID4+IDIpIDw8IDY7CisgICAgICAgIHVpbnQxNl90IGlu
c3RydWN0aW9uOworICAgICAgICBpbnN0cnVjdGlvbiA9IGxvY2F0aW9uWzBdICYgfigoc3RhdGlj
X2Nhc3Q8dWludDE2X3Q+KDB4N2YpID4+IDIpIDw8IDYpOworICAgICAgICBpbnN0cnVjdGlvbiB8
PSAoaW1tLmdldFVJbnQ3KCkgPj4gMikgPDwgNjsKKyAgICAgICAgcGVyZm9ybUpJVE1lbWNweShs
b2NhdGlvbiwgJmluc3RydWN0aW9uLCBzaXplb2YodWludDE2X3QpKTsKICAgICAgICAgY2FjaGVG
bHVzaChsb2NhdGlvbiwgc2l6ZW9mKHVpbnQxNl90KSk7CiAgICAgfQogCkBAIC0yNDk0LDM5ICsy
NTEyLDM5IEBAIHByaXZhdGU6CiAgICAgICAgIHNldEludDMyKGNvZGUsIHJlaW50ZXJwcmV0X2Nh
c3Q8dWludDMyX3Q+KHZhbHVlKSwgZmx1c2gpOwogICAgIH0KIAotICAgIHN0YXRpYyBib29sIGlz
Qih2b2lkKiBhZGRyZXNzKQorICAgIHN0YXRpYyBib29sIGlzQihjb25zdCB2b2lkKiBhZGRyZXNz
KQogICAgIHsKLSAgICAgICAgdWludDE2X3QqIGluc3RydWN0aW9uID0gc3RhdGljX2Nhc3Q8dWlu
dDE2X3QqPihhZGRyZXNzKTsKKyAgICAgICAgY29uc3QgdWludDE2X3QqIGluc3RydWN0aW9uID0g
c3RhdGljX2Nhc3Q8Y29uc3QgdWludDE2X3QqPihhZGRyZXNzKTsKICAgICAgICAgcmV0dXJuICgo
aW5zdHJ1Y3Rpb25bMF0gJiAweGY4MDApID09IE9QX0JfVDRhKSAmJiAoKGluc3RydWN0aW9uWzFd
ICYgMHhkMDAwKSA9PSBPUF9CX1Q0Yik7CiAgICAgfQogCi0gICAgc3RhdGljIGJvb2wgaXNCWCh2
b2lkKiBhZGRyZXNzKQorICAgIHN0YXRpYyBib29sIGlzQlgoY29uc3Qgdm9pZCogYWRkcmVzcykK
ICAgICB7Ci0gICAgICAgIHVpbnQxNl90KiBpbnN0cnVjdGlvbiA9IHN0YXRpY19jYXN0PHVpbnQx
Nl90Kj4oYWRkcmVzcyk7CisgICAgICAgIGNvbnN0IHVpbnQxNl90KiBpbnN0cnVjdGlvbiA9IHN0
YXRpY19jYXN0PGNvbnN0IHVpbnQxNl90Kj4oYWRkcmVzcyk7CiAgICAgICAgIHJldHVybiAoaW5z
dHJ1Y3Rpb25bMF0gJiAweGZmODcpID09IE9QX0JYOwogICAgIH0KIAotICAgIHN0YXRpYyBib29s
IGlzTU9WX2ltbV9UMyh2b2lkKiBhZGRyZXNzKQorICAgIHN0YXRpYyBib29sIGlzTU9WX2ltbV9U
Myhjb25zdCB2b2lkKiBhZGRyZXNzKQogICAgIHsKLSAgICAgICAgdWludDE2X3QqIGluc3RydWN0
aW9uID0gc3RhdGljX2Nhc3Q8dWludDE2X3QqPihhZGRyZXNzKTsKKyAgICAgICAgY29uc3QgdWlu
dDE2X3QqIGluc3RydWN0aW9uID0gc3RhdGljX2Nhc3Q8Y29uc3QgdWludDE2X3QqPihhZGRyZXNz
KTsKICAgICAgICAgcmV0dXJuICgoaW5zdHJ1Y3Rpb25bMF0gJiAweEZCRjApID09IE9QX01PVl9p
bW1fVDMpICYmICgoaW5zdHJ1Y3Rpb25bMV0gJiAweDgwMDApID09IDApOwogICAgIH0KIAotICAg
IHN0YXRpYyBib29sIGlzTU9WVCh2b2lkKiBhZGRyZXNzKQorICAgIHN0YXRpYyBib29sIGlzTU9W
VChjb25zdCB2b2lkKiBhZGRyZXNzKQogICAgIHsKLSAgICAgICAgdWludDE2X3QqIGluc3RydWN0
aW9uID0gc3RhdGljX2Nhc3Q8dWludDE2X3QqPihhZGRyZXNzKTsKKyAgICAgICAgY29uc3QgdWlu
dDE2X3QqIGluc3RydWN0aW9uID0gc3RhdGljX2Nhc3Q8Y29uc3QgdWludDE2X3QqPihhZGRyZXNz
KTsKICAgICAgICAgcmV0dXJuICgoaW5zdHJ1Y3Rpb25bMF0gJiAweEZCRjApID09IE9QX01PVlQp
ICYmICgoaW5zdHJ1Y3Rpb25bMV0gJiAweDgwMDApID09IDApOwogICAgIH0KIAotICAgIHN0YXRp
YyBib29sIGlzTk9QX1QxKHZvaWQqIGFkZHJlc3MpCisgICAgc3RhdGljIGJvb2wgaXNOT1BfVDEo
Y29uc3Qgdm9pZCogYWRkcmVzcykKICAgICB7Ci0gICAgICAgIHVpbnQxNl90KiBpbnN0cnVjdGlv
biA9IHN0YXRpY19jYXN0PHVpbnQxNl90Kj4oYWRkcmVzcyk7CisgICAgICAgIGNvbnN0IHVpbnQx
Nl90KiBpbnN0cnVjdGlvbiA9IHN0YXRpY19jYXN0PGNvbnN0IHVpbnQxNl90Kj4oYWRkcmVzcyk7
CiAgICAgICAgIHJldHVybiBpbnN0cnVjdGlvblswXSA9PSBPUF9OT1BfVDE7CiAgICAgfQogCi0g
ICAgc3RhdGljIGJvb2wgaXNOT1BfVDIodm9pZCogYWRkcmVzcykKKyAgICBzdGF0aWMgYm9vbCBp
c05PUF9UMihjb25zdCB2b2lkKiBhZGRyZXNzKQogICAgIHsKLSAgICAgICAgdWludDE2X3QqIGlu
c3RydWN0aW9uID0gc3RhdGljX2Nhc3Q8dWludDE2X3QqPihhZGRyZXNzKTsKKyAgICAgICAgY29u
c3QgdWludDE2X3QqIGluc3RydWN0aW9uID0gc3RhdGljX2Nhc3Q8Y29uc3QgdWludDE2X3QqPihh
ZGRyZXNzKTsKICAgICAgICAgcmV0dXJuIChpbnN0cnVjdGlvblswXSA9PSBPUF9OT1BfVDJhKSAm
JiAoaW5zdHJ1Y3Rpb25bMV0gPT0gT1BfTk9QX1QyYik7CiAgICAgfQogCkBAIC0yNTc0LDcgKzI1
OTIsNyBAQCBwcml2YXRlOgogICAgICAgICByZXR1cm4gKChyZWxhdGl2ZSA8PCA3KSA+PiA3KSA9
PSByZWxhdGl2ZTsKICAgICB9CiAgICAgCi0gICAgc3RhdGljIHZvaWQgbGlua0p1bXBUMShDb25k
aXRpb24gY29uZCwgdWludDE2X3QqIGluc3RydWN0aW9uLCB2b2lkKiB0YXJnZXQpCisgICAgc3Rh
dGljIHZvaWQgbGlua0p1bXBUMShDb25kaXRpb24gY29uZCwgdWludDE2X3QqIHdyaXRlVGFyZ2V0
LCBjb25zdCB1aW50MTZfdCogaW5zdHJ1Y3Rpb24sIHZvaWQqIHRhcmdldCkKICAgICB7CiAgICAg
ICAgIC8vIEZJTVhFOiB0aGlzIHNob3VsZCBiZSB1cCBpbiB0aGUgTWFjcm9Bc3NlbWJsZXIgbGF5
ZXIuIDotKCAgICAgICAgCiAgICAgICAgIEFTU0VSVCghKHJlaW50ZXJwcmV0X2Nhc3Q8aW50cHRy
X3Q+KGluc3RydWN0aW9uKSAmIDEpKTsKQEAgLTI1ODksMTAgKzI2MDcsMTEgQEAgcHJpdmF0ZToK
ICAgICAgICAgCiAgICAgICAgIC8vIEFsbCBicmFuY2ggb2Zmc2V0cyBzaG91bGQgYmUgYW4gZXZl
biBkaXN0YW5jZS4KICAgICAgICAgQVNTRVJUKCEocmVsYXRpdmUgJiAxKSk7Ci0gICAgICAgIGlu
c3RydWN0aW9uWy0xXSA9IE9QX0JfVDEgfCAoKGNvbmQgJiAweGYpIDw8IDgpIHwgKChyZWxhdGl2
ZSAmIDB4MWZlKSA+PiAxKTsKKyAgICAgICAgdWludDE2X3QgbmV3SW5zdHJ1Y3Rpb24gPSBPUF9C
X1QxIHwgKChjb25kICYgMHhmKSA8PCA4KSB8ICgocmVsYXRpdmUgJiAweDFmZSkgPj4gMSk7Cisg
ICAgICAgIHBlcmZvcm1KSVRNZW1jcHkod3JpdGVUYXJnZXQgLSAxLCAmbmV3SW5zdHJ1Y3Rpb24s
IHNpemVvZih1aW50MTZfdCkpOwogICAgIH0KICAgICAKLSAgICBzdGF0aWMgdm9pZCBsaW5rSnVt
cFQyKHVpbnQxNl90KiBpbnN0cnVjdGlvbiwgdm9pZCogdGFyZ2V0KQorICAgIHN0YXRpYyB2b2lk
IGxpbmtKdW1wVDIodWludDE2X3QqIHdyaXRlVGFyZ2V0LCBjb25zdCB1aW50MTZfdCogaW5zdHJ1
Y3Rpb24sIHZvaWQqIHRhcmdldCkKICAgICB7CiAgICAgICAgIC8vIEZJTVhFOiB0aGlzIHNob3Vs
ZCBiZSB1cCBpbiB0aGUgTWFjcm9Bc3NlbWJsZXIgbGF5ZXIuIDotKCAgICAgICAgCiAgICAgICAg
IEFTU0VSVCghKHJlaW50ZXJwcmV0X2Nhc3Q8aW50cHRyX3Q+KGluc3RydWN0aW9uKSAmIDEpKTsK
QEAgLTI2MDcsMTAgKzI2MjYsMTEgQEAgcHJpdmF0ZToKICAgICAgICAgCiAgICAgICAgIC8vIEFs
bCBicmFuY2ggb2Zmc2V0cyBzaG91bGQgYmUgYW4gZXZlbiBkaXN0YW5jZS4KICAgICAgICAgQVNT
RVJUKCEocmVsYXRpdmUgJiAxKSk7Ci0gICAgICAgIGluc3RydWN0aW9uWy0xXSA9IE9QX0JfVDIg
fCAoKHJlbGF0aXZlICYgMHhmZmUpID4+IDEpOworICAgICAgICB1aW50MTZfdCBuZXdJbnN0cnVj
dGlvbiA9IE9QX0JfVDIgfCAoKHJlbGF0aXZlICYgMHhmZmUpID4+IDEpOworICAgICAgICBwZXJm
b3JtSklUTWVtY3B5KHdyaXRlVGFyZ2V0IC0gMSwgJm5ld0luc3RydWN0aW9uLCBzaXplb2YodWlu
dDE2X3QpKTsKICAgICB9CiAgICAgCi0gICAgc3RhdGljIHZvaWQgbGlua0p1bXBUMyhDb25kaXRp
b24gY29uZCwgdWludDE2X3QqIGluc3RydWN0aW9uLCB2b2lkKiB0YXJnZXQpCisgICAgc3RhdGlj
IHZvaWQgbGlua0p1bXBUMyhDb25kaXRpb24gY29uZCwgdWludDE2X3QqIHdyaXRlVGFyZ2V0LCBj
b25zdCB1aW50MTZfdCogaW5zdHJ1Y3Rpb24sIHZvaWQqIHRhcmdldCkKICAgICB7CiAgICAgICAg
IC8vIEZJTVhFOiB0aGlzIHNob3VsZCBiZSB1cCBpbiB0aGUgTWFjcm9Bc3NlbWJsZXIgbGF5ZXIu
IDotKAogICAgICAgICBBU1NFUlQoIShyZWludGVycHJldF9jYXN0PGludHB0cl90PihpbnN0cnVj
dGlvbikgJiAxKSk7CkBAIC0yNjIxLDExICsyNjQxLDEzIEBAIHByaXZhdGU6CiAgICAgICAgIAog
ICAgICAgICAvLyBBbGwgYnJhbmNoIG9mZnNldHMgc2hvdWxkIGJlIGFuIGV2ZW4gZGlzdGFuY2Uu
CiAgICAgICAgIEFTU0VSVCghKHJlbGF0aXZlICYgMSkpOwotICAgICAgICBpbnN0cnVjdGlvblst
Ml0gPSBPUF9CX1QzYSB8ICgocmVsYXRpdmUgJiAweDEwMDAwMCkgPj4gMTApIHwgKChjb25kICYg
MHhmKSA8PCA2KSB8ICgocmVsYXRpdmUgJiAweDNmMDAwKSA+PiAxMik7Ci0gICAgICAgIGluc3Ry
dWN0aW9uWy0xXSA9IE9QX0JfVDNiIHwgKChyZWxhdGl2ZSAmIDB4ODAwMDApID4+IDgpIHwgKChy
ZWxhdGl2ZSAmIDB4NDAwMDApID4+IDUpIHwgKChyZWxhdGl2ZSAmIDB4ZmZlKSA+PiAxKTsKKyAg
ICAgICAgdWludDE2X3QgaW5zdHJ1Y3Rpb25zWzJdOworICAgICAgICBpbnN0cnVjdGlvbnNbMF0g
PSBPUF9CX1QzYSB8ICgocmVsYXRpdmUgJiAweDEwMDAwMCkgPj4gMTApIHwgKChjb25kICYgMHhm
KSA8PCA2KSB8ICgocmVsYXRpdmUgJiAweDNmMDAwKSA+PiAxMik7CisgICAgICAgIGluc3RydWN0
aW9uc1sxXSA9IE9QX0JfVDNiIHwgKChyZWxhdGl2ZSAmIDB4ODAwMDApID4+IDgpIHwgKChyZWxh
dGl2ZSAmIDB4NDAwMDApID4+IDUpIHwgKChyZWxhdGl2ZSAmIDB4ZmZlKSA+PiAxKTsKKyAgICAg
ICAgcGVyZm9ybUpJVE1lbWNweSh3cml0ZVRhcmdldCAtIDIsIGluc3RydWN0aW9ucywgMiAqIHNp
emVvZih1aW50MTZfdCkpOwogICAgIH0KICAgICAKLSAgICBzdGF0aWMgdm9pZCBsaW5rSnVtcFQ0
KHVpbnQxNl90KiBpbnN0cnVjdGlvbiwgdm9pZCogdGFyZ2V0KQorICAgIHN0YXRpYyB2b2lkIGxp
bmtKdW1wVDQodWludDE2X3QqIHdyaXRlVGFyZ2V0LCBjb25zdCB1aW50MTZfdCogaW5zdHJ1Y3Rp
b24sIHZvaWQqIHRhcmdldCkKICAgICB7CiAgICAgICAgIC8vIEZJTVhFOiB0aGlzIHNob3VsZCBi
ZSB1cCBpbiB0aGUgTWFjcm9Bc3NlbWJsZXIgbGF5ZXIuIDotKCAgICAgICAgCiAgICAgICAgIEFT
U0VSVCghKHJlaW50ZXJwcmV0X2Nhc3Q8aW50cHRyX3Q+KGluc3RydWN0aW9uKSAmIDEpKTsKQEAg
LTI2MzksNDcgKzI2NjEsNTUgQEAgcHJpdmF0ZToKICAgICAgICAgCiAgICAgICAgIC8vIEFsbCBi
cmFuY2ggb2Zmc2V0cyBzaG91bGQgYmUgYW4gZXZlbiBkaXN0YW5jZS4KICAgICAgICAgQVNTRVJU
KCEocmVsYXRpdmUgJiAxKSk7Ci0gICAgICAgIGluc3RydWN0aW9uWy0yXSA9IE9QX0JfVDRhIHwg
KChyZWxhdGl2ZSAmIDB4MTAwMDAwMCkgPj4gMTQpIHwgKChyZWxhdGl2ZSAmIDB4M2ZmMDAwKSA+
PiAxMik7Ci0gICAgICAgIGluc3RydWN0aW9uWy0xXSA9IE9QX0JfVDRiIHwgKChyZWxhdGl2ZSAm
IDB4ODAwMDAwKSA+PiAxMCkgfCAoKHJlbGF0aXZlICYgMHg0MDAwMDApID4+IDExKSB8ICgocmVs
YXRpdmUgJiAweGZmZSkgPj4gMSk7CisgICAgICAgIHVpbnQxNl90IGluc3RydWN0aW9uc1syXTsK
KyAgICAgICAgaW5zdHJ1Y3Rpb25zWzBdID0gT1BfQl9UNGEgfCAoKHJlbGF0aXZlICYgMHgxMDAw
MDAwKSA+PiAxNCkgfCAoKHJlbGF0aXZlICYgMHgzZmYwMDApID4+IDEyKTsKKyAgICAgICAgaW5z
dHJ1Y3Rpb25zWzFdID0gT1BfQl9UNGIgfCAoKHJlbGF0aXZlICYgMHg4MDAwMDApID4+IDEwKSB8
ICgocmVsYXRpdmUgJiAweDQwMDAwMCkgPj4gMTEpIHwgKChyZWxhdGl2ZSAmIDB4ZmZlKSA+PiAx
KTsKKyAgICAgICAgcGVyZm9ybUpJVE1lbWNweSh3cml0ZVRhcmdldCAtIDIsIGluc3RydWN0aW9u
cywgMiAqIHNpemVvZih1aW50MTZfdCkpOwogICAgIH0KICAgICAKLSAgICBzdGF0aWMgdm9pZCBs
aW5rQ29uZGl0aW9uYWxKdW1wVDQoQ29uZGl0aW9uIGNvbmQsIHVpbnQxNl90KiBpbnN0cnVjdGlv
biwgdm9pZCogdGFyZ2V0KQorICAgIHN0YXRpYyB2b2lkIGxpbmtDb25kaXRpb25hbEp1bXBUNChD
b25kaXRpb24gY29uZCwgdWludDE2X3QqIHdyaXRlVGFyZ2V0LCBjb25zdCB1aW50MTZfdCogaW5z
dHJ1Y3Rpb24sIHZvaWQqIHRhcmdldCkKICAgICB7CiAgICAgICAgIC8vIEZJTVhFOiB0aGlzIHNo
b3VsZCBiZSB1cCBpbiB0aGUgTWFjcm9Bc3NlbWJsZXIgbGF5ZXIuIDotKCAgICAgICAgCiAgICAg
ICAgIEFTU0VSVCghKHJlaW50ZXJwcmV0X2Nhc3Q8aW50cHRyX3Q+KGluc3RydWN0aW9uKSAmIDEp
KTsKICAgICAgICAgQVNTRVJUKCEocmVpbnRlcnByZXRfY2FzdDxpbnRwdHJfdD4odGFyZ2V0KSAm
IDEpKTsKICAgICAgICAgCi0gICAgICAgIGluc3RydWN0aW9uWy0zXSA9IGlmVGhlbkVsc2UoY29u
ZCkgfCBPUF9JVDsKLSAgICAgICAgbGlua0p1bXBUNChpbnN0cnVjdGlvbiwgdGFyZ2V0KTsKKyAg
ICAgICAgdWludDE2X3QgbmV3SW5zdHJ1Y3Rpb24gPSBpZlRoZW5FbHNlKGNvbmQpIHwgT1BfSVQ7
CisgICAgICAgIHBlcmZvcm1KSVRNZW1jcHkod3JpdGVUYXJnZXQgLSAzLCAmbmV3SW5zdHJ1Y3Rp
b24sIHNpemVvZih1aW50MTZfdCkpOworICAgICAgICBsaW5rSnVtcFQ0KHdyaXRlVGFyZ2V0LCBp
bnN0cnVjdGlvbiwgdGFyZ2V0KTsKICAgICB9CiAgICAgCi0gICAgc3RhdGljIHZvaWQgbGlua0JY
KHVpbnQxNl90KiBpbnN0cnVjdGlvbiwgdm9pZCogdGFyZ2V0KQorICAgIHN0YXRpYyB2b2lkIGxp
bmtCWCh1aW50MTZfdCogd3JpdGVUYXJnZXQsIGNvbnN0IHVpbnQxNl90KiBpbnN0cnVjdGlvbiwg
dm9pZCogdGFyZ2V0KQogICAgIHsKICAgICAgICAgLy8gRklNWEU6IHRoaXMgc2hvdWxkIGJlIHVw
IGluIHRoZSBNYWNyb0Fzc2VtYmxlciBsYXllci4gOi0oCi0gICAgICAgIEFTU0VSVCghKHJlaW50
ZXJwcmV0X2Nhc3Q8aW50cHRyX3Q+KGluc3RydWN0aW9uKSAmIDEpKTsKKyAgICAgICAgQVNTRVJU
X1VOVVNFRChpbnN0cnVjdGlvbiwgIShyZWludGVycHJldF9jYXN0PGludHB0cl90PihpbnN0cnVj
dGlvbikgJiAxKSk7CisgICAgICAgIEFTU0VSVCghKHJlaW50ZXJwcmV0X2Nhc3Q8aW50cHRyX3Q+
KHdyaXRlVGFyZ2V0KSAmIDEpKTsKICAgICAgICAgQVNTRVJUKCEocmVpbnRlcnByZXRfY2FzdDxp
bnRwdHJfdD4odGFyZ2V0KSAmIDEpKTsKICAgICAgICAgCiAgICAgICAgIGNvbnN0IHVpbnQxNl90
IEpVTVBfVEVNUE9SQVJZX1JFR0lTVEVSID0gQVJNUmVnaXN0ZXJzOjppcDsKICAgICAgICAgQVJN
VGh1bWJJbW1lZGlhdGUgbG8xNiA9IEFSTVRodW1iSW1tZWRpYXRlOjptYWtlVUludDE2KHN0YXRp
Y19jYXN0PHVpbnQxNl90PihyZWludGVycHJldF9jYXN0PHVpbnQzMl90Pih0YXJnZXQpICsgMSkp
OwogICAgICAgICBBUk1UaHVtYkltbWVkaWF0ZSBoaTE2ID0gQVJNVGh1bWJJbW1lZGlhdGU6Om1h
a2VVSW50MTYoc3RhdGljX2Nhc3Q8dWludDE2X3Q+KHJlaW50ZXJwcmV0X2Nhc3Q8dWludDMyX3Q+
KHRhcmdldCkgPj4gMTYpKTsKLSAgICAgICAgaW5zdHJ1Y3Rpb25bLTVdID0gdHdvV29yZE9wNWk2
SW1tNFJlZzRFbmNvZGVkSW1tRmlyc3QoT1BfTU9WX2ltbV9UMywgbG8xNik7Ci0gICAgICAgIGlu
c3RydWN0aW9uWy00XSA9IHR3b1dvcmRPcDVpNkltbTRSZWc0RW5jb2RlZEltbVNlY29uZChKVU1Q
X1RFTVBPUkFSWV9SRUdJU1RFUiwgbG8xNik7Ci0gICAgICAgIGluc3RydWN0aW9uWy0zXSA9IHR3
b1dvcmRPcDVpNkltbTRSZWc0RW5jb2RlZEltbUZpcnN0KE9QX01PVlQsIGhpMTYpOwotICAgICAg
ICBpbnN0cnVjdGlvblstMl0gPSB0d29Xb3JkT3A1aTZJbW00UmVnNEVuY29kZWRJbW1TZWNvbmQo
SlVNUF9URU1QT1JBUllfUkVHSVNURVIsIGhpMTYpOwotICAgICAgICBpbnN0cnVjdGlvblstMV0g
PSBPUF9CWCB8IChKVU1QX1RFTVBPUkFSWV9SRUdJU1RFUiA8PCAzKTsKKyAgICAgICAgdWludDE2
X3QgaW5zdHJ1Y3Rpb25zWzVdOworICAgICAgICBpbnN0cnVjdGlvbnNbMF0gPSB0d29Xb3JkT3A1
aTZJbW00UmVnNEVuY29kZWRJbW1GaXJzdChPUF9NT1ZfaW1tX1QzLCBsbzE2KTsKKyAgICAgICAg
aW5zdHJ1Y3Rpb25zWzFdID0gdHdvV29yZE9wNWk2SW1tNFJlZzRFbmNvZGVkSW1tU2Vjb25kKEpV
TVBfVEVNUE9SQVJZX1JFR0lTVEVSLCBsbzE2KTsKKyAgICAgICAgaW5zdHJ1Y3Rpb25zWzJdID0g
dHdvV29yZE9wNWk2SW1tNFJlZzRFbmNvZGVkSW1tRmlyc3QoT1BfTU9WVCwgaGkxNik7CisgICAg
ICAgIGluc3RydWN0aW9uc1szXSA9IHR3b1dvcmRPcDVpNkltbTRSZWc0RW5jb2RlZEltbVNlY29u
ZChKVU1QX1RFTVBPUkFSWV9SRUdJU1RFUiwgaGkxNik7CisgICAgICAgIGluc3RydWN0aW9uc1s0
XSA9IE9QX0JYIHwgKEpVTVBfVEVNUE9SQVJZX1JFR0lTVEVSIDw8IDMpOworCisgICAgICAgIHBl
cmZvcm1KSVRNZW1jcHkod3JpdGVUYXJnZXQgLSA1LCBpbnN0cnVjdGlvbnMsIDUgKiBzaXplb2Yo
dWludDE2X3QpKTsKICAgICB9CiAgICAgCi0gICAgc3RhdGljIHZvaWQgbGlua0NvbmRpdGlvbmFs
QlgoQ29uZGl0aW9uIGNvbmQsIHVpbnQxNl90KiBpbnN0cnVjdGlvbiwgdm9pZCogdGFyZ2V0KQor
ICAgIHN0YXRpYyB2b2lkIGxpbmtDb25kaXRpb25hbEJYKENvbmRpdGlvbiBjb25kLCB1aW50MTZf
dCogd3JpdGVUYXJnZXQsIGNvbnN0IHVpbnQxNl90KiBpbnN0cnVjdGlvbiwgdm9pZCogdGFyZ2V0
KQogICAgIHsKICAgICAgICAgLy8gRklNWEU6IHRoaXMgc2hvdWxkIGJlIHVwIGluIHRoZSBNYWNy
b0Fzc2VtYmxlciBsYXllci4gOi0oICAgICAgICAKICAgICAgICAgQVNTRVJUKCEocmVpbnRlcnBy
ZXRfY2FzdDxpbnRwdHJfdD4oaW5zdHJ1Y3Rpb24pICYgMSkpOwogICAgICAgICBBU1NFUlQoIShy
ZWludGVycHJldF9jYXN0PGludHB0cl90Pih0YXJnZXQpICYgMSkpOwogICAgICAgICAKLSAgICAg
ICAgbGlua0JYKGluc3RydWN0aW9uLCB0YXJnZXQpOwotICAgICAgICBpbnN0cnVjdGlvblstNl0g
PSBpZlRoZW5FbHNlKGNvbmQsIHRydWUsIHRydWUpIHwgT1BfSVQ7CisgICAgICAgIGxpbmtCWCh3
cml0ZVRhcmdldCwgaW5zdHJ1Y3Rpb24sIHRhcmdldCk7CisgICAgICAgIHVpbnQxNl90IG5ld0lu
c3RydWN0aW9uID0gaWZUaGVuRWxzZShjb25kLCB0cnVlLCB0cnVlKSB8IE9QX0lUOworICAgICAg
ICBwZXJmb3JtSklUTWVtY3B5KHdyaXRlVGFyZ2V0IC0gNiwgJm5ld0luc3RydWN0aW9uLCBzaXpl
b2YodWludDE2X3QpKTsKICAgICB9CiAgICAgCi0gICAgc3RhdGljIHZvaWQgbGlua0p1bXBBYnNv
bHV0ZSh1aW50MTZfdCogaW5zdHJ1Y3Rpb24sIHZvaWQqIHRhcmdldCkKKyAgICBzdGF0aWMgdm9p
ZCBsaW5rSnVtcEFic29sdXRlKHVpbnQxNl90KiB3cml0ZVRhcmdldCwgY29uc3QgdWludDE2X3Qq
IGluc3RydWN0aW9uLCB2b2lkKiB0YXJnZXQpCiAgICAgewogICAgICAgICAvLyBGSU1YRTogdGhp
cyBzaG91bGQgYmUgdXAgaW4gdGhlIE1hY3JvQXNzZW1ibGVyIGxheWVyLiA6LSgKICAgICAgICAg
QVNTRVJUKCEocmVpbnRlcnByZXRfY2FzdDxpbnRwdHJfdD4oaW5zdHJ1Y3Rpb24pICYgMSkpOwpA
QCAtMjY4NywyNiArMjcxNywzMSBAQCBwcml2YXRlOgogICAgICAgICAKICAgICAgICAgQVNTRVJU
KChpc01PVl9pbW1fVDMoaW5zdHJ1Y3Rpb24gLSA1KSAmJiBpc01PVlQoaW5zdHJ1Y3Rpb24gLSAz
KSAmJiBpc0JYKGluc3RydWN0aW9uIC0gMSkpCiAgICAgICAgICAgICAgICB8fCAoaXNOT1BfVDEo
aW5zdHJ1Y3Rpb24gLSA1KSAmJiBpc05PUF9UMihpbnN0cnVjdGlvbiAtIDQpICYmIGlzQihpbnN0
cnVjdGlvbiAtIDIpKSk7Ci0gICAgICAgIAorCiAgICAgICAgIGlmIChjYW5CZUp1bXBUNChpbnN0
cnVjdGlvbiwgdGFyZ2V0KSkgewogICAgICAgICAgICAgLy8gVGhlcmUgbWF5IGJlIGEgYmV0dGVy
IHdheSB0byBmaXggdGhpcywgYnV0IHJpZ2h0IG5vdyBwdXQgdGhlIE5PUHMgZmlyc3QsIHNpbmNl
IGluIHRoZQogICAgICAgICAgICAgLy8gY2FzZSBvZiBhbiBjb25kaXRpb25hbCBicmFuY2ggdGhp
cyB3aWxsIGJlIGNvbWluZyBhZnRlciBhbiBJVFRUIHByZWRpY2F0aW5nICp0aHJlZSoKICAgICAg
ICAgICAgIC8vIGluc3RydWN0aW9ucyEgIExvb2tpbmcgYmFja3dhcmRzIHRvIG1vZGlmeSB0aGUg
SVRUVCB0byBhbiBJVCBpcyBub3QgZWFzeSwgZHVlIHRvCiAgICAgICAgICAgICAvLyB2YXJpYWJs
ZSB3ZGl0aCBlbmNvZGluZyAtIHRoZSBwcmV2aW91cyBpbnN0cnVjdGlvbiBtaWdodCAqbG9vayog
bGlrZSBhbiBJVFRUIGJ1dAogICAgICAgICAgICAgLy8gYWN0dWFsbHkgYmUgdGhlIHNlY29uZCBo
YWxmIG9mIGEgMi13b3JkIG9wLgotICAgICAgICAgICAgaW5zdHJ1Y3Rpb25bLTVdID0gT1BfTk9Q
X1QxOwotICAgICAgICAgICAgaW5zdHJ1Y3Rpb25bLTRdID0gT1BfTk9QX1QyYTsKLSAgICAgICAg
ICAgIGluc3RydWN0aW9uWy0zXSA9IE9QX05PUF9UMmI7Ci0gICAgICAgICAgICBsaW5rSnVtcFQ0
KGluc3RydWN0aW9uLCB0YXJnZXQpOworICAgICAgICAgICAgdWludDE2X3QgaW5zdHJ1Y3Rpb25z
WzNdOworICAgICAgICAgICAgaW5zdHJ1Y3Rpb25zWzBdID0gT1BfTk9QX1QxOworICAgICAgICAg
ICAgaW5zdHJ1Y3Rpb25zWzFdID0gT1BfTk9QX1QyYTsKKyAgICAgICAgICAgIGluc3RydWN0aW9u
c1syXSA9IE9QX05PUF9UMmI7CisgICAgICAgICAgICBwZXJmb3JtSklUTWVtY3B5KHdyaXRlVGFy
Z2V0IC0gNSwgaW5zdHJ1Y3Rpb25zLCAzICogc2l6ZW9mKHVpbnQxNl90KSk7CisgICAgICAgICAg
ICBsaW5rSnVtcFQ0KHdyaXRlVGFyZ2V0LCBpbnN0cnVjdGlvbiwgdGFyZ2V0KTsKICAgICAgICAg
fSBlbHNlIHsKICAgICAgICAgICAgIGNvbnN0IHVpbnQxNl90IEpVTVBfVEVNUE9SQVJZX1JFR0lT
VEVSID0gQVJNUmVnaXN0ZXJzOjppcDsKICAgICAgICAgICAgIEFSTVRodW1iSW1tZWRpYXRlIGxv
MTYgPSBBUk1UaHVtYkltbWVkaWF0ZTo6bWFrZVVJbnQxNihzdGF0aWNfY2FzdDx1aW50MTZfdD4o
cmVpbnRlcnByZXRfY2FzdDx1aW50MzJfdD4odGFyZ2V0KSArIDEpKTsKICAgICAgICAgICAgIEFS
TVRodW1iSW1tZWRpYXRlIGhpMTYgPSBBUk1UaHVtYkltbWVkaWF0ZTo6bWFrZVVJbnQxNihzdGF0
aWNfY2FzdDx1aW50MTZfdD4ocmVpbnRlcnByZXRfY2FzdDx1aW50MzJfdD4odGFyZ2V0KSA+PiAx
NikpOwotICAgICAgICAgICAgaW5zdHJ1Y3Rpb25bLTVdID0gdHdvV29yZE9wNWk2SW1tNFJlZzRF
bmNvZGVkSW1tRmlyc3QoT1BfTU9WX2ltbV9UMywgbG8xNik7Ci0gICAgICAgICAgICBpbnN0cnVj
dGlvblstNF0gPSB0d29Xb3JkT3A1aTZJbW00UmVnNEVuY29kZWRJbW1TZWNvbmQoSlVNUF9URU1Q
T1JBUllfUkVHSVNURVIsIGxvMTYpOwotICAgICAgICAgICAgaW5zdHJ1Y3Rpb25bLTNdID0gdHdv
V29yZE9wNWk2SW1tNFJlZzRFbmNvZGVkSW1tRmlyc3QoT1BfTU9WVCwgaGkxNik7Ci0gICAgICAg
ICAgICBpbnN0cnVjdGlvblstMl0gPSB0d29Xb3JkT3A1aTZJbW00UmVnNEVuY29kZWRJbW1TZWNv
bmQoSlVNUF9URU1QT1JBUllfUkVHSVNURVIsIGhpMTYpOwotICAgICAgICAgICAgaW5zdHJ1Y3Rp
b25bLTFdID0gT1BfQlggfCAoSlVNUF9URU1QT1JBUllfUkVHSVNURVIgPDwgMyk7CisKKyAgICAg
ICAgICAgIHVpbnQxNl90IGluc3RydWN0aW9uc1s1XTsKKyAgICAgICAgICAgIGluc3RydWN0aW9u
c1swXSA9IHR3b1dvcmRPcDVpNkltbTRSZWc0RW5jb2RlZEltbUZpcnN0KE9QX01PVl9pbW1fVDMs
IGxvMTYpOworICAgICAgICAgICAgaW5zdHJ1Y3Rpb25zWzFdID0gdHdvV29yZE9wNWk2SW1tNFJl
ZzRFbmNvZGVkSW1tU2Vjb25kKEpVTVBfVEVNUE9SQVJZX1JFR0lTVEVSLCBsbzE2KTsKKyAgICAg
ICAgICAgIGluc3RydWN0aW9uc1syXSA9IHR3b1dvcmRPcDVpNkltbTRSZWc0RW5jb2RlZEltbUZp
cnN0KE9QX01PVlQsIGhpMTYpOworICAgICAgICAgICAgaW5zdHJ1Y3Rpb25zWzNdID0gdHdvV29y
ZE9wNWk2SW1tNFJlZzRFbmNvZGVkSW1tU2Vjb25kKEpVTVBfVEVNUE9SQVJZX1JFR0lTVEVSLCBo
aTE2KTsKKyAgICAgICAgICAgIGluc3RydWN0aW9uc1s0XSA9IE9QX0JYIHwgKEpVTVBfVEVNUE9S
QVJZX1JFR0lTVEVSIDw8IDMpOworICAgICAgICAgICAgcGVyZm9ybUpJVE1lbWNweSh3cml0ZVRh
cmdldCAtIDUsIGluc3RydWN0aW9ucywgNSAqIHNpemVvZih1aW50MTZfdCkpOwogICAgICAgICB9
CiAgICAgfQogICAgIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxl
ci9MaW5rQnVmZmVyLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTGlua0J1
ZmZlci5jcHAKaW5kZXggZjBmYmM1MDk2YjI0OTFlN2NmY2ExYWZkZTIzODg4NzQ5MTJkNTliNS4u
NWZjYWVhNDkzMTI5NzAyY2MzOWE0M2I2YTc3ZDQ1MWFlOTNlN2VlYSAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9MaW5rQnVmZmVyLmNwcAorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL0xpbmtCdWZmZXIuY3BwCkBAIC0xMDUsMTIgKzEwNSwx
MSBAQCB2b2lkIExpbmtCdWZmZXI6OmNvcHlDb21wYWN0QW5kTGlua0NvZGUoTWFjcm9Bc3NlbWJs
ZXImIG1hY3JvQXNzZW1ibGVyLCB2b2lkKiBvdwogICAgIFZlY3RvcjxMaW5rUmVjb3JkLCAwLCBV
bnNhZmVWZWN0b3JPdmVyZmxvdz4mIGp1bXBzVG9MaW5rID0gbWFjcm9Bc3NlbWJsZXIuanVtcHNU
b0xpbmsoKTsKICAgICBtX2Fzc2VtYmxlclN0b3JhZ2UgPSBtYWNyb0Fzc2VtYmxlci5tX2Fzc2Vt
Ymxlci5idWZmZXIoKS5yZWxlYXNlQXNzZW1ibGVyRGF0YSgpOwogICAgIHVpbnQ4X3QqIGluRGF0
YSA9IHJlaW50ZXJwcmV0X2Nhc3Q8dWludDhfdCo+KG1fYXNzZW1ibGVyU3RvcmFnZS5idWZmZXIo
KSk7Ci0jaWYgRU5BQkxFKFNFUEFSQVRFRF9XWF9IRUFQKQorCiAgICAgQXNzZW1ibGVyRGF0YSBv
dXRCdWZmZXIobV9zaXplKTsKICAgICB1aW50OF90KiBvdXREYXRhID0gcmVpbnRlcnByZXRfY2Fz
dDx1aW50OF90Kj4ob3V0QnVmZmVyLmJ1ZmZlcigpKTsKLSNlbHNlCi0gICAgdWludDhfdCogb3V0
RGF0YSA9IHJlaW50ZXJwcmV0X2Nhc3Q8dWludDhfdCo+KG1fY29kZSk7Ci0jZW5kaWYKKyAgICB1
aW50OF90KiBjb2RlT3V0RGF0YSA9IHJlaW50ZXJwcmV0X2Nhc3Q8dWludDhfdCo+KG1fY29kZSk7
CisKICAgICBpbnQgcmVhZFB0ciA9IDA7CiAgICAgaW50IHdyaXRlUHRyID0gMDsKICAgICB1bnNp
Z25lZCBqdW1wQ291bnQgPSBqdW1wc1RvTGluay5zaXplKCk7CkBAIC0xMzYsMTEgKzEzNSwxMSBA
QCB2b2lkIExpbmtCdWZmZXI6OmNvcHlDb21wYWN0QW5kTGlua0NvZGUoTWFjcm9Bc3NlbWJsZXIm
IG1hY3JvQXNzZW1ibGVyLCB2b2lkKiBvdwogICAgICAgICAvLyBicmFuY2hlcyB3ZSBuZWVkIHRv
IGJlIHByZWNpc2UsIGZvcndhcmQgYnJhbmNoZXMgd2UgYXJlIHBlc3NpbWlzdGljCiAgICAgICAg
IGNvbnN0IHVpbnQ4X3QqIHRhcmdldDsKICAgICAgICAgaWYgKGp1bXBzVG9MaW5rW2ldLnRvKCkg
Pj0ganVtcHNUb0xpbmtbaV0uZnJvbSgpKQotICAgICAgICAgICAgdGFyZ2V0ID0gb3V0RGF0YSAr
IGp1bXBzVG9MaW5rW2ldLnRvKCkgLSBvZmZzZXQ7IC8vIENvbXBlbnNhdGUgZm9yIHdoYXQgd2Ug
aGF2ZSBjb2xsYXBzZWQgc28gZmFyCisgICAgICAgICAgICB0YXJnZXQgPSBjb2RlT3V0RGF0YSAr
IGp1bXBzVG9MaW5rW2ldLnRvKCkgLSBvZmZzZXQ7IC8vIENvbXBlbnNhdGUgZm9yIHdoYXQgd2Ug
aGF2ZSBjb2xsYXBzZWQgc28gZmFyCiAgICAgICAgIGVsc2UKLSAgICAgICAgICAgIHRhcmdldCA9
IG91dERhdGEgKyBqdW1wc1RvTGlua1tpXS50bygpIC0gZXhlY3V0YWJsZU9mZnNldEZvcihqdW1w
c1RvTGlua1tpXS50bygpKTsKKyAgICAgICAgICAgIHRhcmdldCA9IGNvZGVPdXREYXRhICsganVt
cHNUb0xpbmtbaV0udG8oKSAtIGV4ZWN1dGFibGVPZmZzZXRGb3IoanVtcHNUb0xpbmtbaV0udG8o
KSk7CiAgICAgICAgICAgICAKLSAgICAgICAgSnVtcExpbmtUeXBlIGp1bXBMaW5rVHlwZSA9IE1h
Y3JvQXNzZW1ibGVyOjpjb21wdXRlSnVtcFR5cGUoanVtcHNUb0xpbmtbaV0sIG91dERhdGEgKyB3
cml0ZVB0ciwgdGFyZ2V0KTsKKyAgICAgICAgSnVtcExpbmtUeXBlIGp1bXBMaW5rVHlwZSA9IE1h
Y3JvQXNzZW1ibGVyOjpjb21wdXRlSnVtcFR5cGUoanVtcHNUb0xpbmtbaV0sIGNvZGVPdXREYXRh
ICsgd3JpdGVQdHIsIHRhcmdldCk7CiAgICAgICAgIC8vIENvbXBhY3QgYnJhbmNoIGlmIHdlIGNh
bi4uLgogICAgICAgICBpZiAoTWFjcm9Bc3NlbWJsZXI6OmNhbkNvbXBhY3QoanVtcHNUb0xpbmtb
aV0udHlwZSgpKSkgewogICAgICAgICAgICAgLy8gU3RlcCBiYWNrIGluIHRoZSB3cml0ZSBzdHJl
YW0KQEAgLTE1NywxNyArMTU2LDE1IEBAIHZvaWQgTGlua0J1ZmZlcjo6Y29weUNvbXBhY3RBbmRM
aW5rQ29kZShNYWNyb0Fzc2VtYmxlciYgbWFjcm9Bc3NlbWJsZXIsIHZvaWQqIG93CiAgICAgcmVj
b3JkTGlua09mZnNldHMobV9hc3NlbWJsZXJTdG9yYWdlLCByZWFkUHRyLCBtX2luaXRpYWxTaXpl
LCByZWFkUHRyIC0gd3JpdGVQdHIpOwogICAgICAgICAKICAgICBmb3IgKHVuc2lnbmVkIGkgPSAw
OyBpIDwganVtcENvdW50OyArK2kpIHsKLSAgICAgICAgdWludDhfdCogbG9jYXRpb24gPSBvdXRE
YXRhICsganVtcHNUb0xpbmtbaV0uZnJvbSgpOwotICAgICAgICB1aW50OF90KiB0YXJnZXQgPSBv
dXREYXRhICsganVtcHNUb0xpbmtbaV0udG8oKSAtIGV4ZWN1dGFibGVPZmZzZXRGb3IoanVtcHNU
b0xpbmtbaV0udG8oKSk7Ci0gICAgICAgIE1hY3JvQXNzZW1ibGVyOjpsaW5rKGp1bXBzVG9MaW5r
W2ldLCBsb2NhdGlvbiwgdGFyZ2V0KTsKKyAgICAgICAgdWludDhfdCogbG9jYXRpb24gPSBjb2Rl
T3V0RGF0YSArIGp1bXBzVG9MaW5rW2ldLmZyb20oKTsKKyAgICAgICAgdWludDhfdCogdGFyZ2V0
ID0gY29kZU91dERhdGEgKyBqdW1wc1RvTGlua1tpXS50bygpIC0gZXhlY3V0YWJsZU9mZnNldEZv
cihqdW1wc1RvTGlua1tpXS50bygpKTsKKyAgICAgICAgTWFjcm9Bc3NlbWJsZXI6OmxpbmsoanVt
cHNUb0xpbmtbaV0sIG91dERhdGEgKyBqdW1wc1RvTGlua1tpXS5mcm9tKCksIGxvY2F0aW9uLCB0
YXJnZXQpOwogICAgIH0KIAogICAgIGp1bXBzVG9MaW5rLmNsZWFyKCk7CiAgICAgc2hyaW5rKHdy
aXRlUHRyICsgbV9pbml0aWFsU2l6ZSAtIHJlYWRQdHIpOwogCi0jaWYgRU5BQkxFKFNFUEFSQVRF
RF9XWF9IRUFQKQogICAgIHBlcmZvcm1KSVRNZW1jcHkobV9jb2RlLCBvdXRCdWZmZXIuYnVmZmVy
KCksIG1fc2l6ZSk7Ci0jZW5kaWYKIAogI2lmIERVTVBfTElOS19TVEFUSVNUSUNTCiAgICAgZHVt
cExpbmtTdGF0aXN0aWNzKG1fY29kZSwgbV9pbml0aWFsU2l6ZSwgbV9zaXplKTsKQEAgLTE5Myw3
ICsxOTAsNyBAQCB2b2lkIExpbmtCdWZmZXI6OmxpbmtDb2RlKE1hY3JvQXNzZW1ibGVyJiBtYWNy
b0Fzc2VtYmxlciwgdm9pZCogb3duZXJVSUQsIEpJVENvbQogI2lmIENQVShBUk1fVFJBRElUSU9O
QUwpCiAgICAgbWFjcm9Bc3NlbWJsZXIubV9hc3NlbWJsZXIucHJlcGFyZUV4ZWN1dGFibGVDb3B5
KG1fY29kZSk7CiAjZW5kaWYKLSAgICBtZW1jcHkobV9jb2RlLCBidWZmZXIuZGF0YSgpLCBidWZm
ZXIuY29kZVNpemUoKSk7CisgICAgcGVyZm9ybUpJVE1lbWNweShtX2NvZGUsIGJ1ZmZlci5kYXRh
KCksIGJ1ZmZlci5jb2RlU2l6ZSgpKTsKICNpZiBDUFUoTUlQUykKICAgICBtYWNyb0Fzc2VtYmxl
ci5tX2Fzc2VtYmxlci5yZWxvY2F0ZUp1bXBzKGJ1ZmZlci5kYXRhKCksIG1fY29kZSk7CiAjZW5k
aWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTWFjcm9Bc3Nl
bWJsZXJBUk02NC5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9NYWNyb0Fzc2Vt
YmxlckFSTTY0LmgKaW5kZXggZGU3ZTBlNGMyMjk0MTRjODFkZDhjMGNkYWJhZDBkMGIwYzE2MzE1
OS4uMjBmNmQwMWQwNTIyOTdiNDA2NzU4MTZmNjJlM2E0M2IwZDQzOTAyNiAxMDA2NDQKLS0tIGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9NYWNyb0Fzc2VtYmxlckFSTTY0LmgKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9NYWNyb0Fzc2VtYmxlckFSTTY0LmgK
QEAgLTc4LDcgKzc4LDcgQEAgcHVibGljOgogICAgIHN0YXRpYyBKdW1wTGlua1R5cGUgY29tcHV0
ZUp1bXBUeXBlKEp1bXBUeXBlIGp1bXBUeXBlLCBjb25zdCB1aW50OF90KiBmcm9tLCBjb25zdCB1
aW50OF90KiB0bykgeyByZXR1cm4gQVJNNjRBc3NlbWJsZXI6OmNvbXB1dGVKdW1wVHlwZShqdW1w
VHlwZSwgZnJvbSwgdG8pOyB9CiAgICAgc3RhdGljIEp1bXBMaW5rVHlwZSBjb21wdXRlSnVtcFR5
cGUoTGlua1JlY29yZCYgcmVjb3JkLCBjb25zdCB1aW50OF90KiBmcm9tLCBjb25zdCB1aW50OF90
KiB0bykgeyByZXR1cm4gQVJNNjRBc3NlbWJsZXI6OmNvbXB1dGVKdW1wVHlwZShyZWNvcmQsIGZy
b20sIHRvKTsgfQogICAgIHN0YXRpYyBpbnQganVtcFNpemVEZWx0YShKdW1wVHlwZSBqdW1wVHlw
ZSwgSnVtcExpbmtUeXBlIGp1bXBMaW5rVHlwZSkgeyByZXR1cm4gQVJNNjRBc3NlbWJsZXI6Omp1
bXBTaXplRGVsdGEoanVtcFR5cGUsIGp1bXBMaW5rVHlwZSk7IH0KLSAgICBzdGF0aWMgdm9pZCBs
aW5rKExpbmtSZWNvcmQmIHJlY29yZCwgdWludDhfdCogZnJvbSwgdWludDhfdCogdG8pIHsgcmV0
dXJuIEFSTTY0QXNzZW1ibGVyOjpsaW5rKHJlY29yZCwgZnJvbSwgdG8pOyB9CisgICAgc3RhdGlj
IHZvaWQgbGluayhMaW5rUmVjb3JkJiByZWNvcmQsIHVpbnQ4X3QqIGZyb20sIGNvbnN0IHVpbnQ4
X3QqIGZyb21JbnN0cnVjdGlvbiwgdWludDhfdCogdG8pIHsgcmV0dXJuIEFSTTY0QXNzZW1ibGVy
OjpsaW5rKHJlY29yZCwgZnJvbSwgZnJvbUluc3RydWN0aW9uLCB0byk7IH0KIAogICAgIHN0YXRp
YyBjb25zdCBTY2FsZSBTY2FsZVB0ciA9IFRpbWVzRWlnaHQ7CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJBUk12Ny5oIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9NYWNyb0Fzc2VtYmxlckFSTXY3LmgKaW5kZXggZDIy
NTZlMWY2ODkzOWEyNDBlMThlZGI5YjdmYzU5NGVlMGE4OGFkMS4uMWNlYTdhYzNhMDg4YmM0Zjkx
YTUwZGVjMWZmOWI1Y2EzM2I3MzAzMiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2Fzc2VtYmxlci9NYWNyb0Fzc2VtYmxlckFSTXY3LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL2Fzc2VtYmxlci9NYWNyb0Fzc2VtYmxlckFSTXY3LmgKQEAgLTY2LDcgKzY2LDcgQEAgcHVi
bGljOgogICAgIHN0YXRpYyBKdW1wTGlua1R5cGUgY29tcHV0ZUp1bXBUeXBlKEp1bXBUeXBlIGp1
bXBUeXBlLCBjb25zdCB1aW50OF90KiBmcm9tLCBjb25zdCB1aW50OF90KiB0bykgeyByZXR1cm4g
QVJNdjdBc3NlbWJsZXI6OmNvbXB1dGVKdW1wVHlwZShqdW1wVHlwZSwgZnJvbSwgdG8pOyB9CiAg
ICAgc3RhdGljIEp1bXBMaW5rVHlwZSBjb21wdXRlSnVtcFR5cGUoTGlua1JlY29yZCYgcmVjb3Jk
LCBjb25zdCB1aW50OF90KiBmcm9tLCBjb25zdCB1aW50OF90KiB0bykgeyByZXR1cm4gQVJNdjdB
c3NlbWJsZXI6OmNvbXB1dGVKdW1wVHlwZShyZWNvcmQsIGZyb20sIHRvKTsgfQogICAgIHN0YXRp
YyBpbnQganVtcFNpemVEZWx0YShKdW1wVHlwZSBqdW1wVHlwZSwgSnVtcExpbmtUeXBlIGp1bXBM
aW5rVHlwZSkgeyByZXR1cm4gQVJNdjdBc3NlbWJsZXI6Omp1bXBTaXplRGVsdGEoanVtcFR5cGUs
IGp1bXBMaW5rVHlwZSk7IH0KLSAgICBzdGF0aWMgdm9pZCBsaW5rKExpbmtSZWNvcmQmIHJlY29y
ZCwgdWludDhfdCogZnJvbSwgdWludDhfdCogdG8pIHsgcmV0dXJuIEFSTXY3QXNzZW1ibGVyOjps
aW5rKHJlY29yZCwgZnJvbSwgdG8pOyB9CisgICAgc3RhdGljIHZvaWQgbGluayhMaW5rUmVjb3Jk
JiByZWNvcmQsIHVpbnQ4X3QqIGZyb20sIGNvbnN0IHVpbnQ4X3QqIGZyb21JbnN0cnVjdGlvbiwg
dWludDhfdCogdG8pIHsgcmV0dXJuIEFSTXY3QXNzZW1ibGVyOjpsaW5rKHJlY29yZCwgZnJvbSwg
ZnJvbUluc3RydWN0aW9uLCB0byk7IH0KIAogICAgIHN0cnVjdCBBcm1BZGRyZXNzIHsKICAgICAg
ICAgZW51bSBBZGRyZXNzVHlwZSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
aml0L0V4ZWN1dGFibGVBbGxvY2F0b3IuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvRXhl
Y3V0YWJsZUFsbG9jYXRvci5oCmluZGV4IDViNTU2ODMwZTkyZjU5ZWIzZjQ4NmE1NWNiZjg0NzUz
ZjVlMmVkMDYuLjc0Y2RjMWZiMGY4OGRiYTk5MTdjZWUyMWFkOTJiYTkzMTMyMzg5NTggMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvRXhlY3V0YWJsZUFsbG9jYXRvci5oCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvRXhlY3V0YWJsZUFsbG9jYXRvci5oCkBAIC05
MiwyOSArOTIsMzAgQEAgc3RhdGljIGNvbnN0IGRvdWJsZSBleGVjdXRhYmxlUG9vbFJlc2VydmF0
aW9uRnJhY3Rpb24gPSAwLjI1OwogZXh0ZXJuIEpTX0VYUE9SVERBVEEgdWludHB0cl90IHN0YXJ0
T2ZGaXhlZEV4ZWN1dGFibGVNZW1vcnlQb29sOwogZXh0ZXJuIEpTX0VYUE9SVERBVEEgdWludHB0
cl90IGVuZE9mRml4ZWRFeGVjdXRhYmxlTWVtb3J5UG9vbDsKIAotI2lmIEVOQUJMRShTRVBBUkFU
RURfV1hfSEVBUCkKLWV4dGVybiBKU19FWFBPUlREQVRBIHVpbnRwdHJfdCBqaXRXcml0ZUZ1bmN0
aW9uQWRkcmVzczsKLSNlbmRpZgotI2VuZGlmIC8vIEVOQUJMRShFWEVDVVRBQkxFX0FMTE9DQVRP
Ul9GSVhFRCkKK3R5cGVkZWYgdm9pZCAoKkpJVFdyaXRlRnVuY3Rpb24pKG9mZl90LCBjb25zdCB2
b2lkKiwgc2l6ZV90KTsKK2V4dGVybiBKU19FWFBPUlREQVRBIEpJVFdyaXRlRnVuY3Rpb24gaml0
V3JpdGVGdW5jdGlvbjsKIAogc3RhdGljIGlubGluZSB2b2lkKiBwZXJmb3JtSklUTWVtY3B5KHZv
aWQgKmRzdCwgY29uc3Qgdm9pZCAqc3JjLCBzaXplX3QgbikKIHsKLSNpZiBFTkFCTEUoU0VQQVJB
VEVEX1dYX0hFQVApCiAgICAgLy8gVXNlIGV4ZWN1dGUtb25seSB3cml0ZSB0aHVuayBmb3Igd3Jp
dGVzIGluc2lkZSB0aGUgSklUIHJlZ2lvbi4gVGhpcyBpcyBhIHZhcmlhbnQgb2YKICAgICAvLyBt
ZW1jcHkgdGhhdCB0YWtlcyBhbiBvZmZzZXQgaW50byB0aGUgSklUIHJlZ2lvbiBhcyBpdHMgZGVz
dGluYXRpb24gKGZpcnN0KSBwYXJhbWV0ZXIuCi0gICAgaWYgKGppdFdyaXRlRnVuY3Rpb25BZGRy
ZXNzICYmICh1aW50cHRyX3QpZHN0ID49IHN0YXJ0T2ZGaXhlZEV4ZWN1dGFibGVNZW1vcnlQb29s
ICYmICh1aW50cHRyX3QpZHN0IDw9IGVuZE9mRml4ZWRFeGVjdXRhYmxlTWVtb3J5UG9vbCkgewot
ICAgICAgICB1c2luZyBKSVRXcml0ZUZ1bmN0aW9uID0gdm9pZCAoKikob2ZmX3QsIGNvbnN0IHZv
aWQqLCBzaXplX3QpOwotICAgICAgICBKSVRXcml0ZUZ1bmN0aW9uIGZ1bmMgPSAoSklUV3JpdGVG
dW5jdGlvbilqaXRXcml0ZUZ1bmN0aW9uQWRkcmVzczsKKyAgICBpZiAoaml0V3JpdGVGdW5jdGlv
biAmJiAodWludHB0cl90KWRzdCA+PSBzdGFydE9mRml4ZWRFeGVjdXRhYmxlTWVtb3J5UG9vbCAm
JiAodWludHB0cl90KWRzdCA8PSBlbmRPZkZpeGVkRXhlY3V0YWJsZU1lbW9yeVBvb2wpIHsKICAg
ICAgICAgb2ZmX3Qgb2Zmc2V0ID0gKG9mZl90KSgodWludHB0cl90KWRzdCAtIHN0YXJ0T2ZGaXhl
ZEV4ZWN1dGFibGVNZW1vcnlQb29sKTsKLSAgICAgICAgZnVuYyhvZmZzZXQsIHNyYywgbik7Cisg
ICAgICAgIGppdFdyaXRlRnVuY3Rpb24ob2Zmc2V0LCBzcmMsIG4pOwogICAgICAgICByZXR1cm4g
ZHN0OwogICAgIH0KLSNlbmRpZgogCiAgICAgLy8gVXNlIHJlZ3VsYXIgbWVtY3B5IGZvciB3cml0
ZXMgb3V0c2lkZSB0aGUgSklUIHJlZ2lvbi4KICAgICByZXR1cm4gbWVtY3B5KGRzdCwgc3JjLCBu
KTsKIH0KIAorI2Vsc2UgLy8gRU5BQkxFKEVYRUNVVEFCTEVfQUxMT0NBVE9SX0ZJWEVEKQorc3Rh
dGljIGlubGluZSB2b2lkKiBwZXJmb3JtSklUTWVtY3B5KHZvaWQgKmRzdCwgY29uc3Qgdm9pZCAq
c3JjLCBzaXplX3QgbikKK3sKKyAgICByZXR1cm4gbWVtY3B5KGRzdCwgc3JjLCBuKTsKK30KKyNl
bmRpZgorCiBjbGFzcyBFeGVjdXRhYmxlQWxsb2NhdG9yIHsKICAgICBlbnVtIFByb3RlY3Rpb25T
ZXR0aW5nIHsgV3JpdGFibGUsIEV4ZWN1dGFibGUgfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2ppdC9FeGVjdXRhYmxlQWxsb2NhdG9yRml4ZWRWTVBvb2wuY3BwIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9FeGVjdXRhYmxlQWxsb2NhdG9yRml4ZWRWTVBvb2wuY3Bw
CmluZGV4IDgyYzQ2ZjdhNTg4MGJiNDM5ODExZWZjOWU1ZmQ0Y2U5NTkyOGY0YTUuLjI2YTk0YjFi
MjUxZjBlZTUzNjkyOTFkZmJiNmJlNDA0YWExNjJiOWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9qaXQvRXhlY3V0YWJsZUFsbG9jYXRvckZpeGVkVk1Qb29sLmNwcAorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0V4ZWN1dGFibGVBbGxvY2F0b3JGaXhlZFZNUG9vbC5j
cHAKQEAgLTQ4LDEwICs0OCwxOSBAQAogI2luY2x1ZGUgPHN0ZGlvLmg+CiAjZW5kaWYKIAotI2lm
IEVOQUJMRShTRVBBUkFURURfV1hfSEVBUCkKICNpbmNsdWRlICJMaW5rQnVmZmVyLmgiCiAjaW5j
bHVkZSAiTWFjcm9Bc3NlbWJsZXIuaCIKIAorI2lmIFBMQVRGT1JNKE1BQykgfHwgKFBMQVRGT1JN
KElPUykgJiYgX19JUEhPTkVfT1NfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAwMDAwKQorI2Rl
ZmluZSBIQVZFX1JFTUFQX0pJVCAxCisjZW5kaWYKKworI2lmIEhBVkUoUkVNQVBfSklUKQorI2lm
IENQVShBUk02NCkgJiYgUExBVEZPUk0oSU9TKSAmJiBfX0lQSE9ORV9PU19WRVJTSU9OX01JTl9S
RVFVSVJFRCA+PSAxMDAwMDAKKyNkZWZpbmUgVVNFX0VYRUNVVEVfT05MWV9KSVRfV1JJVEVfRlVO
Q1RJT04gMQorI2VuZGlmCisjZW5kaWYKKwogI2lmIE9TKERBUldJTikKICNpbmNsdWRlIDxtYWNo
L21hY2guaD4KIGV4dGVybiAiQyIgewpAQCAtNzksOCArODgsNiBAQCBleHRlcm4gIkMiIHsKIAog
I2VuZGlmCiAKLSNlbmRpZgotCiB1c2luZyBuYW1lc3BhY2UgV1RGOwogCiBuYW1lc3BhY2UgSlND
IHsKQEAgLTg4LDggKzk1LDEwIEBAIG5hbWVzcGFjZSBKU0MgewogSlNfRVhQT1JUREFUQSB1aW50
cHRyX3Qgc3RhcnRPZkZpeGVkRXhlY3V0YWJsZU1lbW9yeVBvb2w7CiBKU19FWFBPUlREQVRBIHVp
bnRwdHJfdCBlbmRPZkZpeGVkRXhlY3V0YWJsZU1lbW9yeVBvb2w7CiAKLSNpZiBFTkFCTEUoU0VQ
QVJBVEVEX1dYX0hFQVApCi1KU19FWFBPUlREQVRBIHVpbnRwdHJfdCBqaXRXcml0ZUZ1bmN0aW9u
QWRkcmVzczsKK0pTX0VYUE9SVERBVEEgSklUV3JpdGVGdW5jdGlvbiBqaXRXcml0ZUZ1bmN0aW9u
OworCisjaWYgIVVTRShFWEVDVVRFX09OTFlfSklUX1dSSVRFX0ZVTkNUSU9OKSAmJiBIQVZFKFJF
TUFQX0pJVCkKK3N0YXRpYyB1aW50cHRyX3Qgc3RhcnRPZkZpeGVkV3JpdGFibGVNZW1vcnlQb29s
OwogI2VuZGlmCiAKIGNsYXNzIEZpeGVkVk1Qb29sRXhlY3V0YWJsZUFsbG9jYXRvciA6IHB1Ymxp
YyBNZXRhQWxsb2NhdG9yIHsKQEAgLTEwOSw3ICsxMTgsNiBAQCBwdWJsaWM6CiAgICAgICAgICAg
ICBBU1NFUlQobV9yZXNlcnZhdGlvbi5zaXplKCkgPT0gcmVzZXJ2YXRpb25TaXplKTsKICAgICAg
ICAgICAgIHZvaWQqIHJlc2VydmF0aW9uQmFzZSA9IG1fcmVzZXJ2YXRpb24uYmFzZSgpOwogCi0j
aWYgRU5BQkxFKFNFUEFSQVRFRF9XWF9IRUFQKQogICAgICAgICAgICAgaWYgKE9wdGlvbnM6OnVz
ZVNlcGFyYXRlZFdYSGVhcCgpKSB7CiAgICAgICAgICAgICAgICAgLy8gRmlyc3QgcGFnZSBvZiBv
dXIgSklUIGFsbG9jYXRpb24gaXMgcmVzZXJ2ZWQuCiAgICAgICAgICAgICAgICAgQVNTRVJUKHJl
c2VydmF0aW9uU2l6ZSA+PSBwYWdlU2l6ZSgpICogMik7CkBAIC0xMTcsNyArMTI1LDYgQEAgcHVi
bGljOgogICAgICAgICAgICAgICAgIHJlc2VydmF0aW9uU2l6ZSAtPSBwYWdlU2l6ZSgpOwogICAg
ICAgICAgICAgICAgIGluaXRpYWxpemVTZXBhcmF0ZWRXWEhlYXBzKG1fcmVzZXJ2YXRpb24uYmFz
ZSgpLCBwYWdlU2l6ZSgpLCByZXNlcnZhdGlvbkJhc2UsIHJlc2VydmF0aW9uU2l6ZSk7CiAgICAg
ICAgICAgICB9Ci0jZW5kaWYKIAogICAgICAgICAgICAgYWRkRnJlc2hGcmVlU3BhY2UocmVzZXJ2
YXRpb25CYXNlLCByZXNlcnZhdGlvblNpemUpOwogCkBAIC0xNjMsNyArMTcwLDcgQEAgcHJvdGVj
dGVkOgogICAgIH0KIAogcHJpdmF0ZToKLSNpZiBFTkFCTEUoU0VQQVJBVEVEX1dYX0hFQVApCisj
aWYgT1MoREFSV0lOKSAmJiBIQVZFKFJFTUFQX0pJVCkKICAgICB2b2lkIGluaXRpYWxpemVTZXBh
cmF0ZWRXWEhlYXBzKHZvaWQqIHN0dWJCYXNlLCBzaXplX3Qgc3R1YlNpemUsIHZvaWQqIGppdEJh
c2UsIHNpemVfdCBqaXRTaXplKQogICAgIHsKICAgICAgICAgbWFjaF92bV9hZGRyZXNzX3Qgd3Jp
dGFibGVBZGRyID0gMDsKQEAgLTE4NCw0MCArMTkxLDM5IEBAIHByaXZhdGU6CiAgICAgICAgICAg
ICByZXR1cm47CiAKICAgICAgICAgLy8gQXNzZW1ibGUgYSB0aHVuayB0aGF0IHdpbGwgc2VydmUg
YXMgdGhlIG1lYW5zIGZvciB3cml0aW5nIGludG8gdGhlIEpJVCByZWdpb24uCi0gICAgICAgIE1h
Y3JvQXNzZW1ibGVyQ29kZVJlZiB3cml0ZVRodW5rID0gaml0V3JpdGVUaHVua0dlbmVyYXRvcih3
cml0YWJsZUFkZHIsIHN0dWJCYXNlLCBzdHViU2l6ZSk7CisgICAgICAgIE1hY3JvQXNzZW1ibGVy
Q29kZVJlZiB3cml0ZVRodW5rID0gaml0V3JpdGVUaHVua0dlbmVyYXRvcihyZWludGVycHJldF9j
YXN0PHZvaWQqPih3cml0YWJsZUFkZHIpLCBzdHViQmFzZSwgc3R1YlNpemUpOwogCiAgICAgICAg
IGludCByZXN1bHQgPSAwOwogCi0gICAgICAgIGlmICghcmVtYXBTdWNjZWVkZWQpIHsKLSNpZiBk
ZWZpbmVkKFZNX1BST1RfRVhFQ1VURV9PTkxZKQotICAgICAgICAgICAgLy8gUHJldmVudCByZWFk
aW5nIHRoZSB3cml0ZSB0aHVuayBjb2RlLgotICAgICAgICAgICAgcmVzdWx0ID0gbXByb3RlY3Qo
c3R1YkJhc2UsIHN0dWJTaXplLCBWTV9QUk9UX0VYRUNVVEVfT05MWSk7Ci0gICAgICAgICAgICBS
RUxFQVNFX0FTU0VSVCghcmVzdWx0KTsKKyNpZiBVU0UoRVhFQ1VURV9PTkxZX0pJVF9XUklURV9G
VU5DVElPTikKKyAgICAgICAgLy8gUHJldmVudCByZWFkaW5nIHRoZSB3cml0ZSB0aHVuayBjb2Rl
LgorICAgICAgICByZXN1bHQgPSBtcHJvdGVjdChzdHViQmFzZSwgc3R1YlNpemUsIFZNX1BST1Rf
RVhFQ1VURV9PTkxZKTsKKyAgICAgICAgUkVMRUFTRV9BU1NFUlQoIXJlc3VsdCk7CiAjZW5kaWYK
IAotICAgICAgICAgICAgLy8gUHJldmVudCB3cml0aW5nIGludG8gdGhlIGV4ZWN1dGFibGUgSklU
IG1hcHBpbmcuCi0gICAgICAgICAgICByZXN1bHQgPSBtcHJvdGVjdChqaXRCYXNlLCBqaXRTaXpl
LCBWTV9QUk9UX1JFQUQgfCBWTV9QUk9UX0VYRUNVVEUpOwotICAgICAgICAgICAgUkVMRUFTRV9B
U1NFUlQoIXJlc3VsdCk7CisgICAgICAgIC8vIFByZXZlbnQgd3JpdGluZyBpbnRvIHRoZSBleGVj
dXRhYmxlIEpJVCBtYXBwaW5nLgorICAgICAgICByZXN1bHQgPSBtcHJvdGVjdChqaXRCYXNlLCBq
aXRTaXplLCBWTV9QUk9UX1JFQUQgfCBWTV9QUk9UX0VYRUNVVEUpOworICAgICAgICBSRUxFQVNF
X0FTU0VSVCghcmVzdWx0KTsKIAotICAgICAgICAgICAgLy8gUHJldmVudCBleGVjdXRpb24gaW4g
dGhlIHdyaXRhYmxlIEpJVCBtYXBwaW5nLgotICAgICAgICAgICAgcmVzdWx0ID0gbXByb3RlY3Qo
KHZvaWQqKXdyaXRhYmxlQWRkciwgaml0U2l6ZSwgVk1fUFJPVF9SRUFEIHwgVk1fUFJPVF9XUklU
RSk7Ci0gICAgICAgICAgICBSRUxFQVNFX0FTU0VSVCghcmVzdWx0KTsKKyAgICAgICAgLy8gUHJl
dmVudCBleGVjdXRpb24gaW4gdGhlIHdyaXRhYmxlIEpJVCBtYXBwaW5nLgorICAgICAgICByZXN1
bHQgPSBtcHJvdGVjdCgodm9pZCopd3JpdGFibGVBZGRyLCBqaXRTaXplLCBWTV9QUk9UX1JFQUQg
fCBWTV9QUk9UX1dSSVRFKTsKKyAgICAgICAgUkVMRUFTRV9BU1NFUlQoIXJlc3VsdCk7CiAKLSAg
ICAgICAgICAgIC8vIFplcm8gb3V0IHdyaXRhYmxlQWRkciB0byBhdm9pZCBsZWFraW5nIHRoZSBh
ZGRyZXNzIG9mIHRoZSB3cml0YWJsZSBtYXBwaW5nLgotICAgICAgICAgICAgbWVtc2V0X3MoJndy
aXRhYmxlQWRkciwgc2l6ZW9mKHdyaXRhYmxlQWRkciksIDAsIHNpemVvZih3cml0YWJsZUFkZHIp
KTsKLSAgICAgICAgfQotICAgICAgICBqaXRXcml0ZUZ1bmN0aW9uQWRkcmVzcyA9ICh1aW50cHRy
X3Qpd3JpdGVUaHVuay5jb2RlKCkuZXhlY3V0YWJsZUFkZHJlc3MoKTsKKyAgICAgICAgLy8gWmVy
byBvdXQgd3JpdGFibGVBZGRyIHRvIGF2b2lkIGxlYWtpbmcgdGhlIGFkZHJlc3Mgb2YgdGhlIHdy
aXRhYmxlIG1hcHBpbmcuCisgICAgICAgIG1lbXNldF9zKCZ3cml0YWJsZUFkZHIsIHNpemVvZih3
cml0YWJsZUFkZHIpLCAwLCBzaXplb2Yod3JpdGFibGVBZGRyKSk7CisKKyAgICAgICAgaml0V3Jp
dGVGdW5jdGlvbiA9IHJlaW50ZXJwcmV0X2Nhc3Q8SklUV3JpdGVGdW5jdGlvbj4od3JpdGVUaHVu
ay5jb2RlKCkuZXhlY3V0YWJsZUFkZHJlc3MoKSk7CiAgICAgfQogCi0jaWYgQ1BVKEFSTTY0KQot
ICAgIE1hY3JvQXNzZW1ibGVyQ29kZVJlZiBqaXRXcml0ZVRodW5rR2VuZXJhdG9yKG1hY2hfdm1f
YWRkcmVzc190IHdyaXRhYmxlQWRkciwgdm9pZCogc3R1YkJhc2UsIHNpemVfdCBzdHViU2l6ZSkK
KyNpZiBDUFUoQVJNNjQpICYmIFVTRShFWEVDVVRFX09OTFlfSklUX1dSSVRFX0ZVTkNUSU9OKQor
ICAgIE1hY3JvQXNzZW1ibGVyQ29kZVJlZiBqaXRXcml0ZVRodW5rR2VuZXJhdG9yKHZvaWQqIHdy
aXRhYmxlQWRkciwgdm9pZCogc3R1YkJhc2UsIHNpemVfdCBzdHViU2l6ZSkKICAgICB7CiAgICAg
ICAgIHVzaW5nIG5hbWVzcGFjZSBBUk02NFJlZ2lzdGVyczsKICAgICAgICAgdXNpbmcgVHJ1c3Rl
ZEltbTMyID0gTWFjcm9Bc3NlbWJsZXI6OlRydXN0ZWRJbW0zMjsKIAogICAgICAgICBNYWNyb0Fz
c2VtYmxlciBqaXQ7CiAKLSAgICAgICAgaml0Lm1vdmUoTWFjcm9Bc3NlbWJsZXI6OlRydXN0ZWRJ
bW1QdHIoKGNvbnN0IHZvaWQqKXdyaXRhYmxlQWRkciksIHg3KTsKKyAgICAgICAgaml0Lm1vdmUo
TWFjcm9Bc3NlbWJsZXI6OlRydXN0ZWRJbW1QdHIod3JpdGFibGVBZGRyKSwgeDcpOwogICAgICAg
ICBqaXQuYWRkUHRyKHg3LCB4MCk7CiAKICAgICAgICAgaml0Lm1vdmUoeDAsIHgzKTsKQEAgLTI3
NCw4ICsyODAsMjkgQEAgcHJpdmF0ZToKICAgICAgICAgTGlua0J1ZmZlciBsaW5rQnVmZmVyKGpp
dCwgc3R1YkJhc2UsIHN0dWJTaXplKTsKICAgICAgICAgcmV0dXJuIEZJTkFMSVpFX0NPREUobGlu
a0J1ZmZlciwgKCJCdWxsZXRwcm9vZiBKSVQgd3JpdGUgdGh1bmsiKSk7CiAgICAgfQotI2VuZGlm
IC8vIENQVShBUk02NCkKLSNlbmRpZiAvLyBFTkFCTEUoU0VQQVJBVEVEX1dYX0hFQVApCisjZWxz
ZSAvLyBDUFUoQVJNNjQpICYmIFVTRShFWEVDVVRFX09OTFlfSklUX1dSSVRFX0ZVTkNUSU9OKQor
ICAgIHN0YXRpYyB2b2lkIGdlbmVyaWNXcml0ZVRvSklUUmVnaW9uKG9mZl90IG9mZnNldCwgY29u
c3Qgdm9pZCogZGF0YSwgc2l6ZV90IGRhdGFTaXplKQorICAgIHsKKyAgICAgICAgbWVtY3B5KCh2
b2lkKikoc3RhcnRPZkZpeGVkV3JpdGFibGVNZW1vcnlQb29sICsgb2Zmc2V0KSwgZGF0YSwgZGF0
YVNpemUpOworICAgIH0KKworICAgIE1hY3JvQXNzZW1ibGVyQ29kZVJlZiBqaXRXcml0ZVRodW5r
R2VuZXJhdG9yKHZvaWQqIGFkZHJlc3MsIHZvaWQqLCBzaXplX3QpCisgICAgeworICAgICAgICBz
dGFydE9mRml4ZWRXcml0YWJsZU1lbW9yeVBvb2wgPSByZWludGVycHJldF9jYXN0PHVpbnRwdHJf
dD4oYWRkcmVzcyk7CisgICAgICAgIHVpbnRwdHJfdCBmdW5jdGlvbiA9ICh1aW50cHRyX3QpKCh2
b2lkKikmZ2VuZXJpY1dyaXRlVG9KSVRSZWdpb24pOworI2lmIENQVShBUk1fVEhVTUIyKQorICAg
ICAgICAvLyBIYW5kbGUgdGh1bWIgb2Zmc2V0CisgICAgICAgIGZ1bmN0aW9uIC09IDE7CisjZW5k
aWYKKyAgICAgICAgcmV0dXJuIE1hY3JvQXNzZW1ibGVyQ29kZVJlZjo6Y3JlYXRlU2VsZk1hbmFn
ZWRDb2RlUmVmKE1hY3JvQXNzZW1ibGVyQ29kZVB0cigodm9pZCopZnVuY3Rpb24pKTsKKyAgICB9
CisjZW5kaWYKKworI2Vsc2UgLy8gT1MoREFSV0lOKSAmJiBIQVZFKFJFTUFQX0pJVCkKKyAgICB2
b2lkIGluaXRpYWxpemVTZXBhcmF0ZWRXWEhlYXBzKHZvaWQqLCBzaXplX3QsIHZvaWQqLCBzaXpl
X3QpCisgICAgeworICAgIH0KKyNlbmRpZgogCiBwcml2YXRlOgogICAgIFBhZ2VSZXNlcnZhdGlv
biBtX3Jlc2VydmF0aW9uOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvT3B0aW9ucy5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9PcHRpb25zLmNw
cAppbmRleCBlMmE2ODcyNjM0MDU5ZDgwNmU1NzAyZDQ4YTkwZmRhMTY0N2NjZWZlLi40NGZkMjI2
ZjNjYzFmNDAwYTZhZWNiODkyMzE2NGU2N2I0YjI0MWM5IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9PcHRpb25zLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9PcHRpb25zLmNwcApAQCAtMjk0LDkgKzI5NCw3IEBAIHN0YXRpYyB2b2lkIHJl
Y29tcHV0ZURlcGVuZGVudE9wdGlvbnMoKQogI2lmICFFTkFCTEUoRlRMX0pJVCkKICAgICBPcHRp
b25zOjp1c2VGVExKSVQoKSA9IGZhbHNlOwogI2VuZGlmCi0jaWYgIUVOQUJMRShTRVBBUkFURURf
V1hfSEVBUCkKLSAgICBPcHRpb25zOjp1c2VTZXBhcmF0ZWRXWEhlYXAoKSA9IGZhbHNlOwotI2Vu
ZGlmCisgICAgCiAjaWYgT1MoV0lORE9XUykgJiYgQ1BVKFg4NikgCiAgICAgLy8gRGlzYWJsZSBK
SVQgb24gV2luZG93cyBpZiBTU0UyIGlzIG5vdCBwcmVzZW50IAogICAgIGlmICghTWFjcm9Bc3Nl
bWJsZXJYODY6OnN1cHBvcnRzRmxvYXRpbmdQb2ludCgpKQpkaWZmIC0tZ2l0IGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvT3B0aW9ucy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvT3B0aW9ucy5oCmluZGV4IDg5ODhmNGY0NDE5Y2VlMDc5ZTk2MTljZTYwYTQ3YmNlY2Zk
NjBlYzUuLjZhMTkwODMxYmI3ZDg4MDJlM2JiY2FlNWJhY2QxNTI4YmU3OWU3ZjUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL09wdGlvbnMuaAorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9PcHRpb25zLmgKQEAgLTExOCw3ICsxMTgsNyBAQCB0eXBl
ZGVmIGNvbnN0IGNoYXIqIG9wdGlvblN0cmluZzsKICAgICBcCiAgICAgdihib29sLCBjcmFzaElm
Q2FudEFsbG9jYXRlSklUTWVtb3J5LCBmYWxzZSwgbnVsbHB0cikgXAogICAgIHYodW5zaWduZWQs
IGppdE1lbW9yeVJlc2VydmF0aW9uU2l6ZSwgMCwgIlNldCB0aGlzIG51bWJlciB0byBjaGFuZ2Ug
dGhlIGV4ZWN1dGFibGUgYWxsb2NhdGlvbiBzaXplIGluIEV4ZWN1dGFibGVBbGxvY2F0b3JGaXhl
ZFZNUG9vbC4gKEluIGJ5dGVzLikiKSBcCi0gICAgdihib29sLCB1c2VTZXBhcmF0ZWRXWEhlYXAs
IHRydWUsIG51bGxwdHIpIFwKKyAgICB2KGJvb2wsIHVzZVNlcGFyYXRlZFdYSGVhcCwgZmFsc2Us
IG51bGxwdHIpIFwKICAgICBcCiAgICAgdihib29sLCBmb3JjZUNvZGVCbG9ja0xpdmVuZXNzLCBm
YWxzZSwgbnVsbHB0cikgXAogICAgIHYoYm9vbCwgZm9yY2VJQ0ZhaWx1cmUsIGZhbHNlLCBudWxs
cHRyKSBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9GZWF0dXJlRGVmaW5lcy5oIGIvU291
cmNlL1dURi93dGYvRmVhdHVyZURlZmluZXMuaAppbmRleCAwNDA4YmYyZjBkNGQxMDc2OWQ3ZDU4
ZGUwZmI2YTMxZTY0MWI2YjZjLi5hZTFmNmMzZDQ0N2RlODY1ZDg2MzUzZGI3MzJiNGNmMWJjNTY0
MmUzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9GZWF0dXJlRGVmaW5lcy5oCisrKyBiL1Nv
dXJjZS9XVEYvd3RmL0ZlYXR1cmVEZWZpbmVzLmgKQEAgLTc3OSwxMCArNzc5LDYgQEAgdGhlIHB1
YmxpYyBpT1MgU0RLLiBXZSB3aWxsIGFsc28gbmVlZCB0byB1cGRhdGUgdGhlIEZlYXR1cmVEZWZp
bmVzLnhjY29uZmlnIGZpbGUKICNkZWZpbmUgRU5BQkxFX1hTTFQgMQogI2VuZGlmCiAKLSNpZiAh
ZGVmaW5lZChFTkFCTEVfU0VQQVJBVEVEX1dYX0hFQVApCi0jZGVmaW5lIEVOQUJMRV9TRVBBUkFU
RURfV1hfSEVBUCAwCi0jZW5kaWYKLQogLyogQXNzZXJ0cywgaW52YXJpYW50cyBmb3IgbWFjcm8g
ZGVmaW5pdGlvbnMgKi8KIAogI2lmIEVOQUJMRShWSURFT19UUkFDSykgJiYgIUVOQUJMRShWSURF
TykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtLmggYi9Tb3VyY2UvV1RGL3d0
Zi9QbGF0Zm9ybS5oCmluZGV4IDE2NzliMzU2ZTRkMjQ0NmU1ZmVjMTViY2ZiYzE5YTZjMjFiYjQ4
ZTMuLmE4ZDJjYTU2MDE2YmZiZWNjMzkzZjYzZGUzOWUzMDJlNGQwMzNjYTkgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtLmgKKysrIGIvU291cmNlL1dURi93dGYvUGxhdGZvcm0u
aApAQCAtMTE0MiwxMCArMTE0Miw0IEBACiAjZW5kaWYKICNlbmRpZgogCi0jaWYgZGVmaW5lZChF
TkFCTEVfU0VQQVJBVEVEX1dYX0hFQVApCi0jaWYgIShDUFUoQVJNNjQpICYmICgoUExBVEZPUk0o
SU9TKSAmJiBfX0lQSE9ORV9PU19WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDAwMDApKSkKLSN1
bmRlZiBFTkFCTEVfU0VQQVJBVEVEX1dYX0hFQVAKLSNlbmRpZgotI2VuZGlmCi0KICNlbmRpZiAv
KiBXVEZfUGxhdGZvcm1faCAqLwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ29uZmlndXJh
dGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcgYi9Tb3VyY2UvV2ViQ29yZS9Db25maWd1cmF0
aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwppbmRleCA3MzRiNmFlNDdmMzI0NmQ4N2Q0ZGNk
NjljY2RjZTJlZDQ4YjBjYzhmLi5hNWVhMWY0YTY4OWNjMWE4MGFhYWVmNWUxODkxYmUxZjExNjc0
ZWIyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVm
aW5lcy54Y2NvbmZpZworKysgYi9Tb3VyY2UvV2ViQ29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJl
RGVmaW5lcy54Y2NvbmZpZwpAQCAtMTkzLDcgKzE5Myw0IEBAIEVOQUJMRV9GVExfSklUW3Nkaz1p
cGhvbmVvcypdID0gRU5BQkxFX0ZUTF9KSVQ7CiBFTkFCTEVfU0hBRE9XX0RPTSA9IEVOQUJMRV9T
SEFET1dfRE9NOwogRU5BQkxFX0NVU1RPTV9FTEVNRU5UUyA9IEVOQUJMRV9DVVNUT01fRUxFTUVO
VFM7CiAKLUVOQUJMRV9TRVBBUkFURURfV1hfSEVBUFtzZGs9aXBob25lKl0gPSA7Ci1FTkFCTEVf
U0VQQVJBVEVEX1dYX0hFQVBbc2RrPW1hY29zeCpdID0gOwotCi1GRUFUVVJFX0RFRklORVMgPSAk
KEVOQUJMRV8zRF9UUkFOU0ZPUk1TKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQo
RU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElORykgJChFTkFCTEVfQVZGX0NBUFRJ
T05TKSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQpICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElP
TklORykgJChFTkFCTEVfQ0FOVkFTX1BBVEgpICQoRU5BQkxFX0NBTlZBU19QUk9YWSkgJChFTkFC
TEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0VTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkg
JChFTkFCTEVfRVM2X0dFTkVSQVRPUlMpICQoRU5BQkxFX0VTNl9NT0RVTEVTKSAkKEVOQUJMRV9D
T05URU5UX0ZJTFRFUklORykgJChFTkFCTEVfQ1NQX05FWFQpICQoRU5BQkxFX0NTU19BTklNQVRJ
T05TX0xFVkVMXzIpICQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVBSykgJChFTkFCTEVf
Q1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJT04pICQoRU5BQkxF
X0NTU19HUklEX0xBWU9VVCkgJChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJM
RV9DU1NfSU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1JFR0lPTlMpICQoRU5BQkxFX0NT
U19TRUxFQ1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9DU1NfU0hBUEVTKSAkKEVOQUJMRV9DU1MzX1RF
WFQpICQoRU5BQkxFX0NTUzNfVEVYVF9MSU5FX0JSRUFLKSAkKEVOQUJMRV9DVVJTT1JfVklTSUJJ
TElUWSkgJChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJMRV9EQVNIQk9BUkRf
U1VQUE9SVCkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREFUQV9UUkFOU0ZF
Ul9JVEVNUykgJChFTkFCTEVfREVUQUlMU19FTEVNRU5UKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5U
QVRJT04pICQoRU5BQkxFX0RPTTRfRVZFTlRTX0NPTlNUUlVDVE9SKSAkKEVOQUJMRV9FTkNSWVBU
RURfTUVESUEpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQV9WMikgJChFTkFCTEVfRkVUQ0hfQVBJ
KSAkKEVOQUJMRV9GSUxURVJTX0xFVkVMXzIpICQoRU5BQkxFX0ZPTlRfTE9BRF9FVkVOVFMpICQo
RU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HQU1FUEFE
X0RFUFJFQ0FURUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9JQ09OREFUQUJBU0Up
ICQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQo
RU5BQkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5ESUVfVUkpICQo
RU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1JfUE9QT1ZF
UikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1F
X0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVf
SU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBV
VF9UWVBFX1dFRUspICQoRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkgJChFTkFCTEVf
SU5UTCkgJChFTkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1NfVEVYVF9BVVRP
U0laSU5HKSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZF
TkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX05PVElGSUNBVElPTlMpICQoRU5BQkxFX0xF
R0FDWV9WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9XRUJfQVVESU8pICQoRU5BQkxF
X0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9MSU5LX1BSRUZFVENIKSAkKEVOQUJMRV9NQUNfR0VTVFVS
RV9FVkVOVFMpICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBU
KSAkKEVOQUJMRV9NRURJQV9TRVNTSU9OKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQoRU5BQkxF
X01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FRElBX1NUUkVBTSkgJChFTkFCTEVfTUVURVJf
RUxFTUVOVCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkgJChF
TkFCTEVfTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpICQoRU5BQkxFX05BVklHQVRPUl9IV0NPTkNV
UlJFTkNZKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9QREZLSVRfUExVR0lOKSAk
KEVOQUJMRV9QT0lOVEVSX0xPQ0spICQoRU5BQkxFX1BST1hJTUlUWV9FVkVOVFMpICQoRU5BQkxF
X1BVQkxJQ19TVUZGSVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFUVVFU1RfQU5J
TUFUSU9OX0ZSQU1FKSAkKEVOQUJMRV9SRVFVRVNUX0FVVE9DT01QTEVURSkgJChFTkFCTEVfUkVN
T1RFX0lOU1BFQ1RPUikgJChFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVf
UkVTT1VSQ0VfVVNBR0UpICQoRU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAkKEVOQUJMRV9DU1NfU0NS
T0xMX1NOQVApICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxFX1NUUkVBTVNfQVBJ
KSAkKEVOQUJMRV9TVUJUTEVfQ1JZUFRPKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1RF
TEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVOQUJMRV9URU1QTEFURV9FTEVNRU5UKSAkKEVO
QUJMRV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVE9V
Q0hfSUNPTl9MT0FESU5HKSAkKEVOQUJMRV9DU1NfVFJBSUxJTkdfV09SRCkgJChFTkFCTEVfVVNF
UlNFTEVDVF9BTEwpICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFC
TEVfREFUQUNVRV9WQUxVRSkgJChFTkFCTEVfVklFV19NT0RFX0NTU19NRURJQSkgJChFTkFCTEVf
V0VCQVNTRU1CTFkpICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJHTDIpICQoRU5BQkxFX1dF
Ql9BTklNQVRJT05TKSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9SRVBMQVkpICQo
RU5BQkxFX1dFQl9TT0NLRVRTKSAkKEVOQUJMRV9XRUJfVElNSU5HKSAkKEVOQUJMRV9YU0xUKSAk
KEVOQUJMRV9GVExfSklUKSAkKEVOQUJMRV9KSVQpICQoRU5BQkxFX1NIQURPV19ET00pICQoRU5B
QkxFX0NVU1RPTV9FTEVNRU5UUykgJChFTkFCTEVfVklERU9fUFJFU0VOVEFUSU9OX01PREUpICQo
RU5BQkxFX1NFUEFSQVRFRF9XWF9IRUFQKTsKK0ZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxFXzNE
X1RSQU5TRk9STVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVfQUND
RUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HKSAkKEVOQUJMRV9BVkZfQ0FQVElPTlMpICQoRU5B
QkxFX0FUVEFDSE1FTlRfRUxFTUVOVCkgJChFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAkKEVO
QUJMRV9DQU5WQVNfUEFUSCkgJChFTkFCTEVfQ0FOVkFTX1BST1hZKSAkKEVOQUJMRV9DSEFOTkVM
X01FU1NBR0lORykgJChFTkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKSAkKEVOQUJMRV9F
UzZfR0VORVJBVE9SUykgJChFTkFCTEVfRVM2X01PRFVMRVMpICQoRU5BQkxFX0NPTlRFTlRfRklM
VEVSSU5HKSAkKEVOQUJMRV9DU1BfTkVYVCkgJChFTkFCTEVfQ1NTX0FOSU1BVElPTlNfTEVWRUxf
MikgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9T
SVRJTkcpICQoRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTikgJChFTkFCTEVfQ1NTX0dSSURf
TEFZT1VUKSAkKEVOQUJMRV9DU1NfSU1BR0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0NTU19JTUFH
RV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9DU1NfUkVHSU9OUykgJChFTkFCTEVfQ1NTX1NFTEVDVE9S
U19MRVZFTDQpICQoRU5BQkxFX0NTU19TSEFQRVMpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFC
TEVfQ1NTM19URVhUX0xJTkVfQlJFQUspICQoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVO
QUJMRV9DVVNUT01fU0NIRU1FX0hBTkRMRVIpICQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUKSAk
KEVOQUJMRV9EQVRBTElTVF9FTEVNRU5UKSAkKEVOQUJMRV9EQVRBX1RSQU5TRkVSX0lURU1TKSAk
KEVOQUJMRV9ERVRBSUxTX0VMRU1FTlQpICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChF
TkFCTEVfRE9NNF9FVkVOVFNfQ09OU1RSVUNUT1IpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkg
JChFTkFCTEVfRU5DUllQVEVEX01FRElBX1YyKSAkKEVOQUJMRV9GRVRDSF9BUEkpICQoRU5BQkxF
X0ZJTFRFUlNfTEVWRUxfMikgJChFTkFCTEVfRk9OVF9MT0FEX0VWRU5UUykgJChFTkFCTEVfRlVM
TFNDUkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dBTUVQQURfREVQUkVDQVRF
RCkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVf
U0VSVklDRV9DT05UUk9MUykgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5E
RVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAkKEVOQUJMRV9JTkRJRV9VSSkgJChFTkFCTEVfSU5Q
VVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUl9QT1BPVkVSKSAkKEVOQUJM
RV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVfSU5DT01QTEVU
RSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBF
X01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VF
SykgJChFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKSAkKEVOQUJMRV9JTlRMKSAkKEVO
QUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX0lPU19URVhUX0FVVE9TSVpJTkcpICQo
RU5BQkxFX0lPU19UT1VDSF9FVkVOVFMpICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJ
WEVTKSAkKEVOQUJMRV9MRUdBQ1lfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfTEVHQUNZX1ZFTkRP
Ul9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX1dFQl9BVURJTykgJChFTkFCTEVfTEVUVEVSUFJF
U1MpICQoRU5BQkxFX0xJTktfUFJFRkVUQ0gpICQoRU5BQkxFX01BQ19HRVNUVVJFX0VWRU5UUykg
JChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxF
X01FRElBX1NFU1NJT04pICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RB
VElTVElDUykgJChFTkFCTEVfTUVESUFfU1RSRUFNKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAk
KEVOQUJMRV9NSFRNTCkgJChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJ
R0FUT1JfQ09OVEVOVF9VVElMUykgJChFTkFCTEVfTkFWSUdBVE9SX0hXQ09OQ1VSUkVOQ1kpICQo
RU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BP
SU5URVJfTE9DSykgJChFTkFCTEVfUFJPWElNSVRZX0VWRU5UUykgJChFTkFCTEVfUFVCTElDX1NV
RkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVRVUVTVF9BTklNQVRJT05fRlJB
TUUpICQoRU5BQkxFX1JFUVVFU1RfQVVUT0NPTVBMRVRFKSAkKEVOQUJMRV9SRU1PVEVfSU5TUEVD
VE9SKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVOQUJMRV9SRVNPVVJDRV9V
U0FHRSkgJChFTkFCTEVfUlVCQkVSX0JBTkRJTkcpICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkg
JChFTkFCTEVfU1BFRUNIX1NZTlRIRVNJUykgJChFTkFCTEVfU1RSRUFNU19BUEkpICQoRU5BQkxF
X1NVQlRMRV9DUllQVE8pICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVfVEVMRVBIT05FX05V
TUJFUl9ERVRFQ1RJT04pICQoRU5BQkxFX1RFTVBMQVRFX0VMRU1FTlQpICQoRU5BQkxFX1RFWFRf
QVVUT1NJWklORykgJChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9UT1VDSF9JQ09OX0xP
QURJTkcpICQoRU5BQkxFX0NTU19UUkFJTElOR19XT1JEKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FM
TCkgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9EQVRBQ1VF
X1ZBTFVFKSAkKEVOQUJMRV9WSUVXX01PREVfQ1NTX01FRElBKSAkKEVOQUJMRV9XRUJBU1NFTUJM
WSkgJChFTkFCTEVfV0VCR0wpICQoRU5BQkxFX1dFQkdMMikgJChFTkFCTEVfV0VCX0FOSU1BVElP
TlMpICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VCX1JFUExBWSkgJChFTkFCTEVfV0VC
X1NPQ0tFVFMpICQoRU5BQkxFX1dFQl9USU1JTkcpICQoRU5BQkxFX1hTTFQpICQoRU5BQkxFX0ZU
TF9KSVQpICQoRU5BQkxFX0pJVCkgJChFTkFCTEVfU0hBRE9XX0RPTSkgJChFTkFCTEVfQ1VTVE9N
X0VMRU1FTlRTKSAkKEVOQUJMRV9WSURFT19QUkVTRU5UQVRJT05fTU9ERSk7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L21hYy9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZp
ZyBiL1NvdXJjZS9XZWJLaXQvbWFjL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29u
ZmlnCmluZGV4IDczNGI2YWU0N2YzMjQ2ZDg3ZDRkY2Q2OWNjZGNlMmVkNDhiMGNjOGYuLmE1ZWEx
ZjRhNjg5Y2MxYTgwYWFhZWY1ZTE4OTFiZTFmMTE2NzRlYjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvbWFjL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCisrKyBiL1Nv
dXJjZS9XZWJLaXQvbWFjL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCkBA
IC0xOTMsNyArMTkzLDQgQEAgRU5BQkxFX0ZUTF9KSVRbc2RrPWlwaG9uZW9zKl0gPSBFTkFCTEVf
RlRMX0pJVDsKIEVOQUJMRV9TSEFET1dfRE9NID0gRU5BQkxFX1NIQURPV19ET007CiBFTkFCTEVf
Q1VTVE9NX0VMRU1FTlRTID0gRU5BQkxFX0NVU1RPTV9FTEVNRU5UUzsKIAotRU5BQkxFX1NFUEFS
QVRFRF9XWF9IRUFQW3Nkaz1pcGhvbmUqXSA9IDsKLUVOQUJMRV9TRVBBUkFURURfV1hfSEVBUFtz
ZGs9bWFjb3N4Kl0gPSA7Ci0KLUZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxFXzNEX1RSQU5TRk9S
TVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVfQUNDRUxFUkFURURf
T1ZFUkZMT1dfU0NST0xMSU5HKSAkKEVOQUJMRV9BVkZfQ0FQVElPTlMpICQoRU5BQkxFX0FUVEFD
SE1FTlRfRUxFTUVOVCkgJChFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DQU5W
QVNfUEFUSCkgJChFTkFCTEVfQ0FOVkFTX1BST1hZKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lO
RykgJChFTkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKSAkKEVOQUJMRV9FUzZfR0VORVJB
VE9SUykgJChFTkFCTEVfRVM2X01PRFVMRVMpICQoRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HKSAk
KEVOQUJMRV9DU1BfTkVYVCkgJChFTkFCTEVfQ1NTX0FOSU1BVElPTlNfTEVWRUxfMikgJChFTkFC
TEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQo
RU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTikgJChFTkFCTEVfQ1NTX0dSSURfTEFZT1VUKSAk
KEVOQUJMRV9DU1NfSU1BR0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9SRVNPTFVU
SU9OKSAkKEVOQUJMRV9DU1NfUkVHSU9OUykgJChFTkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQp
ICQoRU5BQkxFX0NTU19TSEFQRVMpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NTM19U
RVhUX0xJTkVfQlJFQUspICQoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVOQUJMRV9DVVNU
T01fU0NIRU1FX0hBTkRMRVIpICQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUKSAkKEVOQUJMRV9E
QVRBTElTVF9FTEVNRU5UKSAkKEVOQUJMRV9EQVRBX1RSQU5TRkVSX0lURU1TKSAkKEVOQUJMRV9E
RVRBSUxTX0VMRU1FTlQpICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVfRE9N
NF9FVkVOVFNfQ09OU1RSVUNUT1IpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVf
RU5DUllQVEVEX01FRElBX1YyKSAkKEVOQUJMRV9GRVRDSF9BUEkpICQoRU5BQkxFX0ZJTFRFUlNf
TEVWRUxfMikgJChFTkFCTEVfRk9OVF9MT0FEX0VWRU5UUykgJChFTkFCTEVfRlVMTFNDUkVFTl9B
UEkpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dBTUVQQURfREVQUkVDQVRFRCkgJChFTkFC
TEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVfU0VSVklDRV9D
T05UUk9MUykgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRB
QkFTRV9JTl9XT1JLRVJTKSAkKEVOQUJMRV9JTkRJRV9VSSkgJChFTkFCTEVfSU5QVVRfVFlQRV9D
T0xPUikgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUl9QT1BPVkVSKSAkKEVOQUJMRV9JTlBVVF9U
WVBFX0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVfSU5DT01QTEVURSkgJChFTkFC
TEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAk
KEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFC
TEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKSAkKEVOQUJMRV9JTlRMKSAkKEVOQUJMRV9JT1Nf
R0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX0lPU19URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX0lP
U19UT1VDSF9FVkVOVFMpICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVO
QUJMRV9MRUdBQ1lfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfTEVHQUNZX1ZFTkRPUl9QUkVGSVhF
UykgJChFTkFCTEVfTEVHQUNZX1dFQl9BVURJTykgJChFTkFCTEVfTEVUVEVSUFJFU1MpICQoRU5B
QkxFX0xJTktfUFJFRkVUQ0gpICQoRU5BQkxFX01BQ19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVf
TUFUSE1MKSAkKEVOQUJMRV9NRURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxFX01FRElBX1NF
U1NJT04pICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElDUykg
JChFTkFCTEVfTUVESUFfU1RSRUFNKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9N
SFRNTCkgJChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfQ09O
VEVOVF9VVElMUykgJChFTkFCTEVfTkFWSUdBVE9SX0hXQ09OQ1VSUkVOQ1kpICQoRU5BQkxFX05P
VElGSUNBVElPTlMpICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJfTE9D
SykgJChFTkFCTEVfUFJPWElNSVRZX0VWRU5UUykgJChFTkFCTEVfUFVCTElDX1NVRkZJWF9MSVNU
KSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVRVUVTVF9BTklNQVRJT05fRlJBTUUpICQoRU5B
QkxFX1JFUVVFU1RfQVVUT0NPTVBMRVRFKSAkKEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9SKSAkKEVO
QUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVOQUJMRV9SRVNPVVJDRV9VU0FHRSkgJChF
TkFCTEVfUlVCQkVSX0JBTkRJTkcpICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkgJChFTkFCTEVf
U1BFRUNIX1NZTlRIRVNJUykgJChFTkFCTEVfU1RSRUFNU19BUEkpICQoRU5BQkxFX1NVQlRMRV9D
UllQVE8pICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVfVEVMRVBIT05FX05VTUJFUl9ERVRF
Q1RJT04pICQoRU5BQkxFX1RFTVBMQVRFX0VMRU1FTlQpICQoRU5BQkxFX1RFWFRfQVVUT1NJWklO
RykgJChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9UT1VDSF9JQ09OX0xPQURJTkcpICQo
RU5BQkxFX0NTU19UUkFJTElOR19XT1JEKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkgJChFTkFC
TEVfVklERU8pICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAk
KEVOQUJMRV9WSUVXX01PREVfQ1NTX01FRElBKSAkKEVOQUJMRV9XRUJBU1NFTUJMWSkgJChFTkFC
TEVfV0VCR0wpICQoRU5BQkxFX1dFQkdMMikgJChFTkFCTEVfV0VCX0FOSU1BVElPTlMpICQoRU5B
QkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VCX1JFUExBWSkgJChFTkFCTEVfV0VCX1NPQ0tFVFMp
ICQoRU5BQkxFX1dFQl9USU1JTkcpICQoRU5BQkxFX1hTTFQpICQoRU5BQkxFX0ZUTF9KSVQpICQo
RU5BQkxFX0pJVCkgJChFTkFCTEVfU0hBRE9XX0RPTSkgJChFTkFCTEVfQ1VTVE9NX0VMRU1FTlRT
KSAkKEVOQUJMRV9WSURFT19QUkVTRU5UQVRJT05fTU9ERSkgJChFTkFCTEVfU0VQQVJBVEVEX1dY
X0hFQVApOworRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfVFJBTlNGT1JNUykgJChFTkFC
TEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19T
Q1JPTExJTkcpICQoRU5BQkxFX0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQVRUQUNITUVOVF9FTEVN
RU5UKSAkKEVOQUJMRV9DQUNIRV9QQVJUSVRJT05JTkcpICQoRU5BQkxFX0NBTlZBU19QQVRIKSAk
KEVOQUJMRV9DQU5WQVNfUFJPWFkpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJM
RV9FUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpICQoRU5BQkxFX0VTNl9HRU5FUkFUT1JTKSAkKEVO
QUJMRV9FUzZfTU9EVUxFUykgJChFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcpICQoRU5BQkxFX0NT
UF9ORVhUKSAkKEVOQUJMRV9DU1NfQU5JTUFUSU9OU19MRVZFTF8yKSAkKEVOQUJMRV9DU1NfQk9Y
X0RFQ09SQVRJT05fQlJFQUspICQoRU5BQkxFX0NTU19DT01QT1NJVElORykgJChFTkFCTEVfQ1NT
X0RFVklDRV9BREFQVEFUSU9OKSAkKEVOQUJMRV9DU1NfR1JJRF9MQVlPVVQpICQoRU5BQkxFX0NT
U19JTUFHRV9PUklFTlRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJT04pICQoRU5B
QkxFX0NTU19SRUdJT05TKSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkgJChFTkFCTEVf
Q1NTX1NIQVBFUykgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJMRV9DU1MzX1RFWFRfTElORV9C
UkVBSykgJChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVf
SEFORExFUikgJChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQpICQoRU5BQkxFX0RBVEFMSVNUX0VM
RU1FTlQpICQoRU5BQkxFX0RBVEFfVFJBTlNGRVJfSVRFTVMpICQoRU5BQkxFX0RFVEFJTFNfRUxF
TUVOVCkgJChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9ET000X0VWRU5UU19D
T05TVFJVQ1RPUikgJChFTkFCTEVfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9FTkNSWVBURURf
TUVESUFfVjIpICQoRU5BQkxFX0ZFVENIX0FQSSkgJChFTkFCTEVfRklMVEVSU19MRVZFTF8yKSAk
KEVOQUJMRV9GT05UX0xPQURfRVZFTlRTKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFC
TEVfR0FNRVBBRCkgJChFTkFCTEVfR0FNRVBBRF9ERVBSRUNBVEVEKSAkKEVOQUJMRV9HRU9MT0NB
VElPTikgJChFTkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKSAk
KEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dP
UktFUlMpICQoRU5BQkxFX0lORElFX1VJKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAkKEVO
QUJMRV9JTlBVVF9UWVBFX0NPTE9SX1BPUE9WRVIpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkg
JChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRV9JTkNPTVBMRVRFKSAkKEVOQUJMRV9JTlBVVF9U
WVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lO
UFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9XSVJFTEVT
U19QTEFZQkFDS19UQVJHRVQpICQoRU5BQkxFX0lOVEwpICQoRU5BQkxFX0lPU19HRVNUVVJFX0VW
RU5UUykgJChFTkFCTEVfSU9TX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfSU9TX1RPVUNIX0VW
RU5UUykgJChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FD
WV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9MRUdBQ1lfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJM
RV9MRUdBQ1lfV0VCX0FVRElPKSAkKEVOQUJMRV9MRVRURVJQUkVTUykgJChFTkFCTEVfTElOS19Q
UkVGRVRDSCkgJChFTkFCTEVfTUFDX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9NQVRITUwpICQo
RU5BQkxFX01FRElBX0NPTlRST0xTX1NDUklQVCkgJChFTkFCTEVfTUVESUFfU0VTU0lPTikgJChF
TkFCTEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9N
RURJQV9TVFJFQU0pICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAkKEVO
QUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUpICQoRU5BQkxFX05BVklHQVRPUl9DT05URU5UX1VUSUxT
KSAkKEVOQUJMRV9OQVZJR0FUT1JfSFdDT05DVVJSRU5DWSkgJChFTkFCTEVfTk9USUZJQ0FUSU9O
UykgJChFTkFCTEVfUERGS0lUX1BMVUdJTikgJChFTkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVOQUJM
RV9QUk9YSU1JVFlfRVZFTlRTKSAkKEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJU1QpICQoRU5BQkxF
X1FVT1RBKSAkKEVOQUJMRV9SRVFVRVNUX0FOSU1BVElPTl9GUkFNRSkgJChFTkFCTEVfUkVRVUVT
VF9BVVRPQ09NUExFVEUpICQoRU5BQkxFX1JFTU9URV9JTlNQRUNUT1IpICQoRU5BQkxFX1JFU09M
VVRJT05fTUVESUFfUVVFUlkpICQoRU5BQkxFX1JFU09VUkNFX1VTQUdFKSAkKEVOQUJMRV9SVUJC
RVJfQkFORElORykgJChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9TUEVFQ0hfU1lO
VEhFU0lTKSAkKEVOQUJMRV9TVFJFQU1TX0FQSSkgJChFTkFCTEVfU1VCVExFX0NSWVBUTykgJChF
TkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9URUxFUEhPTkVfTlVNQkVSX0RFVEVDVElPTikgJChF
TkFCTEVfVEVNUExBVEVfRUxFTUVOVCkgJChFTkFCTEVfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJM
RV9UT1VDSF9FVkVOVFMpICQoRU5BQkxFX1RPVUNIX0lDT05fTE9BRElORykgJChFTkFCTEVfQ1NT
X1RSQUlMSU5HX1dPUkQpICQoRU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJMRV9WSURFTykg
JChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUpICQoRU5BQkxFX1ZJ
RVdfTU9ERV9DU1NfTUVESUEpICQoRU5BQkxFX1dFQkFTU0VNQkxZKSAkKEVOQUJMRV9XRUJHTCkg
JChFTkFCTEVfV0VCR0wyKSAkKEVOQUJMRV9XRUJfQU5JTUFUSU9OUykgJChFTkFCTEVfV0VCX0FV
RElPKSAkKEVOQUJMRV9XRUJfUkVQTEFZKSAkKEVOQUJMRV9XRUJfU09DS0VUUykgJChFTkFCTEVf
V0VCX1RJTUlORykgJChFTkFCTEVfWFNMVCkgJChFTkFCTEVfRlRMX0pJVCkgJChFTkFCTEVfSklU
KSAkKEVOQUJMRV9TSEFET1dfRE9NKSAkKEVOQUJMRV9DVVNUT01fRUxFTUVOVFMpICQoRU5BQkxF
X1ZJREVPX1BSRVNFTlRBVElPTl9NT0RFKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0Nv
bmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnIGIvU291cmNlL1dlYktpdDIvQ29u
ZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKaW5kZXggNzM0YjZhZTQ3ZjMyNDZk
ODdkNGRjZDY5Y2NkY2UyZWQ0OGIwY2M4Zi4uYTVlYTFmNGE2ODljYzFhODBhYWFlZjVlMTg5MWJl
MWYxMTY3NGViMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ29uZmlndXJhdGlvbnMvRmVh
dHVyZURlZmluZXMueGNjb25maWcKKysrIGIvU291cmNlL1dlYktpdDIvQ29uZmlndXJhdGlvbnMv
RmVhdHVyZURlZmluZXMueGNjb25maWcKQEAgLTE5Myw3ICsxOTMsNCBAQCBFTkFCTEVfRlRMX0pJ
VFtzZGs9aXBob25lb3MqXSA9IEVOQUJMRV9GVExfSklUOwogRU5BQkxFX1NIQURPV19ET00gPSBF
TkFCTEVfU0hBRE9XX0RPTTsKIEVOQUJMRV9DVVNUT01fRUxFTUVOVFMgPSBFTkFCTEVfQ1VTVE9N
X0VMRU1FTlRTOwogCi1FTkFCTEVfU0VQQVJBVEVEX1dYX0hFQVBbc2RrPWlwaG9uZSpdID0gOwot
RU5BQkxFX1NFUEFSQVRFRF9XWF9IRUFQW3Nkaz1tYWNvc3gqXSA9IDsKLQotRkVBVFVSRV9ERUZJ
TkVTID0gJChFTkFCTEVfM0RfVFJBTlNGT1JNUykgJChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FO
VkFTKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkcpICQoRU5BQkxFX0FW
Rl9DQVBUSU9OUykgJChFTkFCTEVfQVRUQUNITUVOVF9FTEVNRU5UKSAkKEVOQUJMRV9DQUNIRV9Q
QVJUSVRJT05JTkcpICQoRU5BQkxFX0NBTlZBU19QQVRIKSAkKEVOQUJMRV9DQU5WQVNfUFJPWFkp
ICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9FUzZfQVJST1dGVU5DVElPTl9T
WU5UQVgpICQoRU5BQkxFX0VTNl9HRU5FUkFUT1JTKSAkKEVOQUJMRV9FUzZfTU9EVUxFUykgJChF
TkFCTEVfQ09OVEVOVF9GSUxURVJJTkcpICQoRU5BQkxFX0NTUF9ORVhUKSAkKEVOQUJMRV9DU1Nf
QU5JTUFUSU9OU19MRVZFTF8yKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUspICQo
RU5BQkxFX0NTU19DT01QT1NJVElORykgJChFTkFCTEVfQ1NTX0RFVklDRV9BREFQVEFUSU9OKSAk
KEVOQUJMRV9DU1NfR1JJRF9MQVlPVVQpICQoRU5BQkxFX0NTU19JTUFHRV9PUklFTlRBVElPTikg
JChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJT04pICQoRU5BQkxFX0NTU19SRUdJT05TKSAkKEVO
QUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NTX1NIQVBFUykgJChFTkFCTEVf
Q1NTM19URVhUKSAkKEVOQUJMRV9DU1MzX1RFWFRfTElORV9CUkVBSykgJChFTkFCTEVfQ1VSU09S
X1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVfREFT
SEJPQVJEX1NVUFBPUlQpICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RBVEFf
VFJBTlNGRVJfSVRFTVMpICQoRU5BQkxFX0RFVEFJTFNfRUxFTUVOVCkgJChFTkFCTEVfREVWSUNF
X09SSUVOVEFUSU9OKSAkKEVOQUJMRV9ET000X0VWRU5UU19DT05TVFJVQ1RPUikgJChFTkFCTEVf
RU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUFfVjIpICQoRU5BQkxFX0ZF
VENIX0FQSSkgJChFTkFCTEVfRklMVEVSU19MRVZFTF8yKSAkKEVOQUJMRV9GT05UX0xPQURfRVZF
TlRTKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVf
R0FNRVBBRF9ERVBSRUNBVEVEKSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVfSUNPTkRB
VEFCQVNFKSAkKEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFC
QVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMpICQoRU5BQkxFX0lORElF
X1VJKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9S
X1BPUE9WRVIpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9E
QVRFVElNRV9JTkNPTVBMRVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQo
RU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFC
TEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICQo
RU5BQkxFX0lOVEwpICQoRU5BQkxFX0lPU19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfSU9TX1RF
WFRfQVVUT1NJWklORykgJChFTkFCTEVfSU9TX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfTEVHQUNZ
X0NTU19WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9OT1RJRklDQVRJT05TKSAkKEVO
QUJMRV9MRUdBQ1lfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfV0VCX0FVRElPKSAk
KEVOQUJMRV9MRVRURVJQUkVTUykgJChFTkFCTEVfTElOS19QUkVGRVRDSCkgJChFTkFCTEVfTUFD
X0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElBX0NPTlRST0xT
X1NDUklQVCkgJChFTkFCTEVfTUVESUFfU0VTU0lPTikgJChFTkFCTEVfTUVESUFfU09VUkNFKSAk
KEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9NRURJQV9TVFJFQU0pICQoRU5BQkxF
X01FVEVSX0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NB
TEUpICQoRU5BQkxFX05BVklHQVRPUl9DT05URU5UX1VUSUxTKSAkKEVOQUJMRV9OQVZJR0FUT1Jf
SFdDT05DVVJSRU5DWSkgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfUERGS0lUX1BM
VUdJTikgJChFTkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVOQUJMRV9QUk9YSU1JVFlfRVZFTlRTKSAk
KEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRVFV
RVNUX0FOSU1BVElPTl9GUkFNRSkgJChFTkFCTEVfUkVRVUVTVF9BVVRPQ09NUExFVEUpICQoRU5B
QkxFX1JFTU9URV9JTlNQRUNUT1IpICQoRU5BQkxFX1JFU09MVVRJT05fTUVESUFfUVVFUlkpICQo
RU5BQkxFX1JFU09VUkNFX1VTQUdFKSAkKEVOQUJMRV9SVUJCRVJfQkFORElORykgJChFTkFCTEVf
Q1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TVFJF
QU1TX0FQSSkgJChFTkFCTEVfU1VCVExFX0NSWVBUTykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVO
QUJMRV9URUxFUEhPTkVfTlVNQkVSX0RFVEVDVElPTikgJChFTkFCTEVfVEVNUExBVEVfRUxFTUVO
VCkgJChFTkFCTEVfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9UT1VDSF9FVkVOVFMpICQoRU5B
QkxFX1RPVUNIX0lDT05fTE9BRElORykgJChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQoRU5B
QkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklERU9fVFJBQ0sp
ICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUpICQoRU5BQkxFX1ZJRVdfTU9ERV9DU1NfTUVESUEpICQo
RU5BQkxFX1dFQkFTU0VNQkxZKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCR0wyKSAkKEVO
QUJMRV9XRUJfQU5JTUFUSU9OUykgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfUkVQ
TEFZKSAkKEVOQUJMRV9XRUJfU09DS0VUUykgJChFTkFCTEVfV0VCX1RJTUlORykgJChFTkFCTEVf
WFNMVCkgJChFTkFCTEVfRlRMX0pJVCkgJChFTkFCTEVfSklUKSAkKEVOQUJMRV9TSEFET1dfRE9N
KSAkKEVOQUJMRV9DVVNUT01fRUxFTUVOVFMpICQoRU5BQkxFX1ZJREVPX1BSRVNFTlRBVElPTl9N
T0RFKSAkKEVOQUJMRV9TRVBBUkFURURfV1hfSEVBUCk7CitGRUFUVVJFX0RFRklORVMgPSAkKEVO
QUJMRV8zRF9UUkFOU0ZPUk1TKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5B
QkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElORykgJChFTkFCTEVfQVZGX0NBUFRJT05T
KSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQpICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklO
RykgJChFTkFCTEVfQ0FOVkFTX1BBVEgpICQoRU5BQkxFX0NBTlZBU19QUk9YWSkgJChFTkFCTEVf
Q0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0VTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkgJChF
TkFCTEVfRVM2X0dFTkVSQVRPUlMpICQoRU5BQkxFX0VTNl9NT0RVTEVTKSAkKEVOQUJMRV9DT05U
RU5UX0ZJTFRFUklORykgJChFTkFCTEVfQ1NQX05FWFQpICQoRU5BQkxFX0NTU19BTklNQVRJT05T
X0xFVkVMXzIpICQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVBSykgJChFTkFCTEVfQ1NT
X0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJT04pICQoRU5BQkxFX0NT
U19HUklEX0xBWU9VVCkgJChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9D
U1NfSU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1JFR0lPTlMpICQoRU5BQkxFX0NTU19T
RUxFQ1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9DU1NfU0hBUEVTKSAkKEVOQUJMRV9DU1MzX1RFWFQp
ICQoRU5BQkxFX0NTUzNfVEVYVF9MSU5FX0JSRUFLKSAkKEVOQUJMRV9DVVJTT1JfVklTSUJJTElU
WSkgJChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQ
UE9SVCkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREFUQV9UUkFOU0ZFUl9J
VEVNUykgJChFTkFCTEVfREVUQUlMU19FTEVNRU5UKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJ
T04pICQoRU5BQkxFX0RPTTRfRVZFTlRTX0NPTlNUUlVDVE9SKSAkKEVOQUJMRV9FTkNSWVBURURf
TUVESUEpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQV9WMikgJChFTkFCTEVfRkVUQ0hfQVBJKSAk
KEVOQUJMRV9GSUxURVJTX0xFVkVMXzIpICQoRU5BQkxFX0ZPTlRfTE9BRF9FVkVOVFMpICQoRU5B
QkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HQU1FUEFEX0RF
UFJFQ0FURUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9JQ09OREFUQUJBU0UpICQo
RU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5B
QkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5ESUVfVUkpICQoRU5B
QkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1JfUE9QT1ZFUikg
JChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lO
Q09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5Q
VVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9U
WVBFX1dFRUspICQoRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkgJChFTkFCTEVfSU5U
TCkgJChFTkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1NfVEVYVF9BVVRPU0la
SU5HKSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRP
Ul9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX05PVElGSUNBVElPTlMpICQoRU5BQkxFX0xFR0FD
WV9WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9XRUJfQVVESU8pICQoRU5BQkxFX0xF
VFRFUlBSRVNTKSAkKEVOQUJMRV9MSU5LX1BSRUZFVENIKSAkKEVOQUJMRV9NQUNfR0VTVFVSRV9F
VkVOVFMpICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUKSAk
KEVOQUJMRV9NRURJQV9TRVNTSU9OKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01F
RElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FRElBX1NUUkVBTSkgJChFTkFCTEVfTUVURVJfRUxF
TUVOVCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFC
TEVfTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpICQoRU5BQkxFX05BVklHQVRPUl9IV0NPTkNVUlJF
TkNZKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9QREZLSVRfUExVR0lOKSAkKEVO
QUJMRV9QT0lOVEVSX0xPQ0spICQoRU5BQkxFX1BST1hJTUlUWV9FVkVOVFMpICQoRU5BQkxFX1BV
QkxJQ19TVUZGSVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFUVVFU1RfQU5JTUFU
SU9OX0ZSQU1FKSAkKEVOQUJMRV9SRVFVRVNUX0FVVE9DT01QTEVURSkgJChFTkFCTEVfUkVNT1RF
X0lOU1BFQ1RPUikgJChFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVfUkVT
T1VSQ0VfVVNBR0UpICQoRU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAkKEVOQUJMRV9DU1NfU0NST0xM
X1NOQVApICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxFX1NUUkVBTVNfQVBJKSAk
KEVOQUJMRV9TVUJUTEVfQ1JZUFRPKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1RFTEVQ
SE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVOQUJMRV9URU1QTEFURV9FTEVNRU5UKSAkKEVOQUJM
RV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVE9VQ0hf
SUNPTl9MT0FESU5HKSAkKEVOQUJMRV9DU1NfVFJBSUxJTkdfV09SRCkgJChFTkFCTEVfVVNFUlNF
TEVDVF9BTEwpICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVf
REFUQUNVRV9WQUxVRSkgJChFTkFCTEVfVklFV19NT0RFX0NTU19NRURJQSkgJChFTkFCTEVfV0VC
QVNTRU1CTFkpICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJHTDIpICQoRU5BQkxFX1dFQl9B
TklNQVRJT05TKSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9SRVBMQVkpICQoRU5B
QkxFX1dFQl9TT0NLRVRTKSAkKEVOQUJMRV9XRUJfVElNSU5HKSAkKEVOQUJMRV9YU0xUKSAkKEVO
QUJMRV9GVExfSklUKSAkKEVOQUJMRV9KSVQpICQoRU5BQkxFX1NIQURPV19ET00pICQoRU5BQkxF
X0NVU1RPTV9FTEVNRU5UUykgJChFTkFCTEVfVklERU9fUFJFU0VOVEFUSU9OX01PREUpOwpkaWZm
IC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5l
cy54Y2NvbmZpZyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURl
ZmluZXMueGNjb25maWcKaW5kZXggNzM0YjZhZTQ3ZjMyNDZkODdkNGRjZDY5Y2NkY2UyZWQ0OGIw
Y2M4Zi4uYTVlYTFmNGE2ODljYzFhODBhYWFlZjVlMTg5MWJlMWYxMTY3NGViMiAxMDA2NDQKLS0t
IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2Nv
bmZpZworKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZp
bmVzLnhjY29uZmlnCkBAIC0xOTMsNyArMTkzLDQgQEAgRU5BQkxFX0ZUTF9KSVRbc2RrPWlwaG9u
ZW9zKl0gPSBFTkFCTEVfRlRMX0pJVDsKIEVOQUJMRV9TSEFET1dfRE9NID0gRU5BQkxFX1NIQURP
V19ET007CiBFTkFCTEVfQ1VTVE9NX0VMRU1FTlRTID0gRU5BQkxFX0NVU1RPTV9FTEVNRU5UUzsK
IAotRU5BQkxFX1NFUEFSQVRFRF9XWF9IRUFQW3Nkaz1pcGhvbmUqXSA9IDsKLUVOQUJMRV9TRVBB
UkFURURfV1hfSEVBUFtzZGs9bWFjb3N4Kl0gPSA7Ci0KLUZFQVRVUkVfREVGSU5FUyA9ICQoRU5B
QkxFXzNEX1RSQU5TRk9STVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFC
TEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HKSAkKEVOQUJMRV9BVkZfQ0FQVElPTlMp
ICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVOVCkgJChFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5H
KSAkKEVOQUJMRV9DQU5WQVNfUEFUSCkgJChFTkFCTEVfQ0FOVkFTX1BST1hZKSAkKEVOQUJMRV9D
SEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKSAkKEVO
QUJMRV9FUzZfR0VORVJBVE9SUykgJChFTkFCTEVfRVM2X01PRFVMRVMpICQoRU5BQkxFX0NPTlRF
TlRfRklMVEVSSU5HKSAkKEVOQUJMRV9DU1BfTkVYVCkgJChFTkFCTEVfQ1NTX0FOSU1BVElPTlNf
TEVWRUxfMikgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1Nf
Q09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTikgJChFTkFCTEVfQ1NT
X0dSSURfTEFZT1VUKSAkKEVOQUJMRV9DU1NfSU1BR0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0NT
U19JTUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9DU1NfUkVHSU9OUykgJChFTkFCTEVfQ1NTX1NF
TEVDVE9SU19MRVZFTDQpICQoRU5BQkxFX0NTU19TSEFQRVMpICQoRU5BQkxFX0NTUzNfVEVYVCkg
JChFTkFCTEVfQ1NTM19URVhUX0xJTkVfQlJFQUspICQoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZ
KSAkKEVOQUJMRV9DVVNUT01fU0NIRU1FX0hBTkRMRVIpICQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQ
T1JUKSAkKEVOQUJMRV9EQVRBTElTVF9FTEVNRU5UKSAkKEVOQUJMRV9EQVRBX1RSQU5TRkVSX0lU
RU1TKSAkKEVOQUJMRV9ERVRBSUxTX0VMRU1FTlQpICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElP
TikgJChFTkFCTEVfRE9NNF9FVkVOVFNfQ09OU1RSVUNUT1IpICQoRU5BQkxFX0VOQ1JZUFRFRF9N
RURJQSkgJChFTkFCTEVfRU5DUllQVEVEX01FRElBX1YyKSAkKEVOQUJMRV9GRVRDSF9BUEkpICQo
RU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikgJChFTkFCTEVfRk9OVF9MT0FEX0VWRU5UUykgJChFTkFC
TEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dBTUVQQURfREVQ
UkVDQVRFRCkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0lDT05EQVRBQkFTRSkgJChF
TkFCTEVfU0VSVklDRV9DT05UUk9MUykgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFC
TEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAkKEVOQUJMRV9JTkRJRV9VSSkgJChFTkFC
TEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUl9QT1BPVkVSKSAk
KEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVfSU5D
T01QTEVURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBV
VF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZ
UEVfV0VFSykgJChFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKSAkKEVOQUJMRV9JTlRM
KSAkKEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX0lPU19URVhUX0FVVE9TSVpJ
TkcpICQoRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMpICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9S
X1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfTEVHQUNZ
X1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX1dFQl9BVURJTykgJChFTkFCTEVfTEVU
VEVSUFJFU1MpICQoRU5BQkxFX0xJTktfUFJFRkVUQ0gpICQoRU5BQkxFX01BQ19HRVNUVVJFX0VW
RU5UUykgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9DT05UUk9MU19TQ1JJUFQpICQo
RU5BQkxFX01FRElBX1NFU1NJT04pICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVE
SUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVESUFfU1RSRUFNKSAkKEVOQUJMRV9NRVRFUl9FTEVN
RU5UKSAkKEVOQUJMRV9NSFRNTCkgJChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJM
RV9OQVZJR0FUT1JfQ09OVEVOVF9VVElMUykgJChFTkFCTEVfTkFWSUdBVE9SX0hXQ09OQ1VSUkVO
Q1kpICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQoRU5B
QkxFX1BPSU5URVJfTE9DSykgJChFTkFCTEVfUFJPWElNSVRZX0VWRU5UUykgJChFTkFCTEVfUFVC
TElDX1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVRVUVTVF9BTklNQVRJ
T05fRlJBTUUpICQoRU5BQkxFX1JFUVVFU1RfQVVUT0NPTVBMRVRFKSAkKEVOQUJMRV9SRU1PVEVf
SU5TUEVDVE9SKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVOQUJMRV9SRVNP
VVJDRV9VU0FHRSkgJChFTkFCTEVfUlVCQkVSX0JBTkRJTkcpICQoRU5BQkxFX0NTU19TQ1JPTExf
U05BUCkgJChFTkFCTEVfU1BFRUNIX1NZTlRIRVNJUykgJChFTkFCTEVfU1RSRUFNU19BUEkpICQo
RU5BQkxFX1NVQlRMRV9DUllQVE8pICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVfVEVMRVBI
T05FX05VTUJFUl9ERVRFQ1RJT04pICQoRU5BQkxFX1RFTVBMQVRFX0VMRU1FTlQpICQoRU5BQkxF
X1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9UT1VDSF9J
Q09OX0xPQURJTkcpICQoRU5BQkxFX0NTU19UUkFJTElOR19XT1JEKSAkKEVOQUJMRV9VU0VSU0VM
RUNUX0FMTCkgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9E
QVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9WSUVXX01PREVfQ1NTX01FRElBKSAkKEVOQUJMRV9XRUJB
U1NFTUJMWSkgJChFTkFCTEVfV0VCR0wpICQoRU5BQkxFX1dFQkdMMikgJChFTkFCTEVfV0VCX0FO
SU1BVElPTlMpICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VCX1JFUExBWSkgJChFTkFC
TEVfV0VCX1NPQ0tFVFMpICQoRU5BQkxFX1dFQl9USU1JTkcpICQoRU5BQkxFX1hTTFQpICQoRU5B
QkxFX0ZUTF9KSVQpICQoRU5BQkxFX0pJVCkgJChFTkFCTEVfU0hBRE9XX0RPTSkgJChFTkFCTEVf
Q1VTVE9NX0VMRU1FTlRTKSAkKEVOQUJMRV9WSURFT19QUkVTRU5UQVRJT05fTU9ERSkgJChFTkFC
TEVfU0VQQVJBVEVEX1dYX0hFQVApOworRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfVFJB
TlNGT1JNUykgJChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9BQ0NFTEVS
QVRFRF9PVkVSRkxPV19TQ1JPTExJTkcpICQoRU5BQkxFX0FWRl9DQVBUSU9OUykgJChFTkFCTEVf
QVRUQUNITUVOVF9FTEVNRU5UKSAkKEVOQUJMRV9DQUNIRV9QQVJUSVRJT05JTkcpICQoRU5BQkxF
X0NBTlZBU19QQVRIKSAkKEVOQUJMRV9DQU5WQVNfUFJPWFkpICQoRU5BQkxFX0NIQU5ORUxfTUVT
U0FHSU5HKSAkKEVOQUJMRV9FUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpICQoRU5BQkxFX0VTNl9H
RU5FUkFUT1JTKSAkKEVOQUJMRV9FUzZfTU9EVUxFUykgJChFTkFCTEVfQ09OVEVOVF9GSUxURVJJ
TkcpICQoRU5BQkxFX0NTUF9ORVhUKSAkKEVOQUJMRV9DU1NfQU5JTUFUSU9OU19MRVZFTF8yKSAk
KEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUspICQoRU5BQkxFX0NTU19DT01QT1NJVElO
RykgJChFTkFCTEVfQ1NTX0RFVklDRV9BREFQVEFUSU9OKSAkKEVOQUJMRV9DU1NfR1JJRF9MQVlP
VVQpICQoRU5BQkxFX0NTU19JTUFHRV9PUklFTlRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX1JF
U09MVVRJT04pICQoRU5BQkxFX0NTU19SRUdJT05TKSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xF
VkVMNCkgJChFTkFCTEVfQ1NTX1NIQVBFUykgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJMRV9D
U1MzX1RFWFRfTElORV9CUkVBSykgJChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQoRU5BQkxF
X0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQpICQoRU5B
QkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RBVEFfVFJBTlNGRVJfSVRFTVMpICQoRU5B
QkxFX0RFVEFJTFNfRUxFTUVOVCkgJChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAkKEVOQUJM
RV9ET000X0VWRU5UU19DT05TVFJVQ1RPUikgJChFTkFCTEVfRU5DUllQVEVEX01FRElBKSAkKEVO
QUJMRV9FTkNSWVBURURfTUVESUFfVjIpICQoRU5BQkxFX0ZFVENIX0FQSSkgJChFTkFCTEVfRklM
VEVSU19MRVZFTF8yKSAkKEVOQUJMRV9GT05UX0xPQURfRVZFTlRTKSAkKEVOQUJMRV9GVUxMU0NS
RUVOX0FQSSkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0FNRVBBRF9ERVBSRUNBVEVEKSAk
KEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJMRV9TRVJW
SUNFX0NPTlRST0xTKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVE
X0RBVEFCQVNFX0lOX1dPUktFUlMpICQoRU5BQkxFX0lORElFX1VJKSAkKEVOQUJMRV9JTlBVVF9U
WVBFX0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SX1BPUE9WRVIpICQoRU5BQkxFX0lO
UFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRV9JTkNPTVBMRVRFKSAk
KEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9O
VEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAk
KEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICQoRU5BQkxFX0lOVEwpICQoRU5BQkxF
X0lPU19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfSU9TX1RFWFRfQVVUT1NJWklORykgJChFTkFC
TEVfSU9TX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMp
ICQoRU5BQkxFX0xFR0FDWV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9MRUdBQ1lfVkVORE9SX1BS
RUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfV0VCX0FVRElPKSAkKEVOQUJMRV9MRVRURVJQUkVTUykg
JChFTkFCTEVfTElOS19QUkVGRVRDSCkgJChFTkFCTEVfTUFDX0dFU1RVUkVfRVZFTlRTKSAkKEVO
QUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElBX0NPTlRST0xTX1NDUklQVCkgJChFTkFCTEVfTUVE
SUFfU0VTU0lPTikgJChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNU
SUNTKSAkKEVOQUJMRV9NRURJQV9TVFJFQU0pICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5B
QkxFX01IVE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUpICQoRU5BQkxFX05BVklHQVRP
Ul9DT05URU5UX1VUSUxTKSAkKEVOQUJMRV9OQVZJR0FUT1JfSFdDT05DVVJSRU5DWSkgJChFTkFC
TEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfUERGS0lUX1BMVUdJTikgJChFTkFCTEVfUE9JTlRF
Ul9MT0NLKSAkKEVOQUJMRV9QUk9YSU1JVFlfRVZFTlRTKSAkKEVOQUJMRV9QVUJMSUNfU1VGRklY
X0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRVFVRVNUX0FOSU1BVElPTl9GUkFNRSkg
JChFTkFCTEVfUkVRVUVTVF9BVVRPQ09NUExFVEUpICQoRU5BQkxFX1JFTU9URV9JTlNQRUNUT1Ip
ICQoRU5BQkxFX1JFU09MVVRJT05fTUVESUFfUVVFUlkpICQoRU5BQkxFX1JFU09VUkNFX1VTQUdF
KSAkKEVOQUJMRV9SVUJCRVJfQkFORElORykgJChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVO
QUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TVFJFQU1TX0FQSSkgJChFTkFCTEVfU1VC
VExFX0NSWVBUTykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9URUxFUEhPTkVfTlVNQkVS
X0RFVEVDVElPTikgJChFTkFCTEVfVEVNUExBVEVfRUxFTUVOVCkgJChFTkFCTEVfVEVYVF9BVVRP
U0laSU5HKSAkKEVOQUJMRV9UT1VDSF9FVkVOVFMpICQoRU5BQkxFX1RPVUNIX0lDT05fTE9BRElO
RykgJChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQoRU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAk
KEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxFX0RBVEFDVUVfVkFM
VUUpICQoRU5BQkxFX1ZJRVdfTU9ERV9DU1NfTUVESUEpICQoRU5BQkxFX1dFQkFTU0VNQkxZKSAk
KEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCR0wyKSAkKEVOQUJMRV9XRUJfQU5JTUFUSU9OUykg
JChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfUkVQTEFZKSAkKEVOQUJMRV9XRUJfU09D
S0VUUykgJChFTkFCTEVfV0VCX1RJTUlORykgJChFTkFCTEVfWFNMVCkgJChFTkFCTEVfRlRMX0pJ
VCkgJChFTkFCTEVfSklUKSAkKEVOQUJMRV9TSEFET1dfRE9NKSAkKEVOQUJMRV9DVVNUT01fRUxF
TUVOVFMpICQoRU5BQkxFX1ZJREVPX1BSRVNFTlRBVElPTl9NT0RFKTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>276108</attachid>
            <date>2016-04-10 14:22:53 -0700</date>
            <delta_ts>2016-04-11 11:39:37 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-155508-20160410142300.patch</filename>
            <type>text/plain</type>
            <size>90405</size>
            <attacher name="Oliver Hunt">oliver</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTk5MjM4CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA4
NGE1MjY1ZTMxZDA2MTc3YTkyODcxMGNlZmU5NDJiYmI1NTRmNWRhLi44NmQwYTNiY2IwNjU2Mzg2
MWEyMmYxMDNkNWRjN2Q5NjMwYzJiZjJmIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw4NyBAQAorMjAxNi0wNC0wNSAgT2xpdmVyIEh1bnQgIDxvbGl2ZXJAYXBwbGUuY29tPgor
CisgICAgICAgIFJlbW92ZSBjb21waWxlIHRpbWUgZGVmaW5lIGZvciBTRVBBUkFURURfSEVBUAor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTU1NTA4CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUmVtb3ZlIHRo
ZSBTRVBBUkFURURfSEVBUCBjb21waWxlIHRpbWUgZmxhZy4gVGhlIHNlcGFyYXRlZAorICAgICAg
ICBoZWFwIGlzIGF2YWlsYWJsZSwgYnV0IG9mZiBieSBkZWZhdWx0LCBvbiB4ODZfNjQsIEFSTXY3
LCBhbmQKKyAgICAgICAgQVJNNjQuCisKKyAgICAgICAgV29ya2luZyB0aHJvdWdoIHRoZSBpc3N1
ZXMgdGhhdCBoYXBwZW5lZCBsYXN0IHRpbWUgZXNzZW50aWFsbHkKKyAgICAgICAgcmVxdWlyZWQg
aW1wbGVtZW50aW5nIHRoZSBBUk12NyBwYXRoIGZvciB0aGUgc2VwYXJhdGVkIGhlYXAKKyAgICAg
ICAganVzdCBzbyBJIGNvdWxkIGZpbmQgYWxsIHRoZSB3YXlzIGl0IHdhcyBnb2luZyB3cm9uZy4K
KworICAgICAgICBXZSBmaXhlZCBhbGwgdGhlIGxvZ2ljIGJ5IG1ha2luZyB0aGUgYnJhbmNoIGFu
ZCBqdW1wIGxvZ2ljIGluCisgICAgICAgIHRoZSBsaW5rZXIgYW5kIGFzc2VtYmxlcnMgdGFrZSB0
d28gcGFyYW1ldGVycywgdGhlIGxvY2F0aW9uIHRvCisgICAgICAgIHdyaXRlIHRvLCBhbmQgdGhl
IGxvY2F0aW9uIHdlJ2xsIGFjdHVhbGx5IGJlIHdyaXRpbmcgdG8uIFdlIAorICAgICAgICBuZWVk
IHRvIGRvIHRoaXMgYmVjYXVzZSBpdCdzIG5vIGxvbmdlciBzdWZmaWNpZW50IHRvIGNvbXB1dGUK
KyAgICAgICAganVtcHMgcmVsYXRpdmUgdG8gcmVnaW9uIHRoZSBsaW5rZXIgaXMgd3JpdGluZyB0
by4KKworICAgICAgICBUaGUgcmVwYXRjaGluZyBqdW1wLCBicmFuY2gsIGFuZCBjYWxsIGZ1bmN0
aW9ucyBvbmx5IG5lZWQgdGhlCisgICAgICAgIGV4ZWN1dGFibGUgYWRkcmVzcyBhcyB0aGUgcGF0
Y2hpbmcgaXMgcGVyZm9ybWVkIGRpcmVjdGx5IHVzaW5nCisgICAgICAgIHBlcmZvcm1KSVRNZW1j
cHkgZnVuY3Rpb24gd2hpY2ggd29ya3MgaW4gdGVybXMgb2YgdGhlIGV4ZWN1dGFibGUKKyAgICAg
ICAgYWRkcmVzcy4KKworICAgICAgICBUaGVyZSBpcyBubyBwZXJmb3JtYW5jZSBpbXBhY3Qgb24g
anNjLWJlbmNobWFya3Mgd2l0aCB0aGUgc2VwYXJhdGUKKyAgICAgICAgaGVhcCBlaXRoZXIgZW1h
YmxlZCBvciBkaXNhYmxlZC4KKworICAgICAgICAqIENvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZp
bmVzLnhjY29uZmlnOgorICAgICAgICAqIGFzc2VtYmxlci9BUk02NEFzc2VtYmxlci5oOgorICAg
ICAgICAoSlNDOjpBUk02NEFzc2VtYmxlcjo6bGlua0p1bXApOgorICAgICAgICAoSlNDOjpBUk02
NEFzc2VtYmxlcjo6bGlua0NhbGwpOgorICAgICAgICAoSlNDOjpBUk02NEFzc2VtYmxlcjo6cmVs
aW5rSnVtcCk6CisgICAgICAgIChKU0M6OkFSTTY0QXNzZW1ibGVyOjpyZWxpbmtDYWxsKToKKyAg
ICAgICAgKEpTQzo6QVJNNjRBc3NlbWJsZXI6OmxpbmspOgorICAgICAgICAoSlNDOjpBUk02NEFz
c2VtYmxlcjo6bGlua0p1bXBPckNhbGwpOgorICAgICAgICAoSlNDOjpBUk02NEFzc2VtYmxlcjo6
bGlua0NvbXBhcmVBbmRCcmFuY2gpOgorICAgICAgICAoSlNDOjpBUk02NEFzc2VtYmxlcjo6bGlu
a0NvbmRpdGlvbmFsQnJhbmNoKToKKyAgICAgICAgKEpTQzo6QVJNNjRBc3NlbWJsZXI6OmxpbmtU
ZXN0QW5kQnJhbmNoKToKKyAgICAgICAgKEpTQzo6QVJNNjRBc3NlbWJsZXI6OnJlbGlua0p1bXBP
ckNhbGwpOgorICAgICAgICAqIGFzc2VtYmxlci9BUk12N0Fzc2VtYmxlci5oOgorICAgICAgICAo
SlNDOjpBUk12N0Fzc2VtYmxlcjo6cmV2ZXJ0SnVtcFRvX21vdlQzbW92dGNtcFQyKToKKyAgICAg
ICAgKEpTQzo6QVJNdjdBc3NlbWJsZXI6OnJldmVydEp1bXBUb19tb3ZUMyk6CisgICAgICAgIChK
U0M6OkFSTXY3QXNzZW1ibGVyOjpsaW5rKToKKyAgICAgICAgKEpTQzo6QVJNdjdBc3NlbWJsZXI6
OmxpbmtKdW1wKToKKyAgICAgICAgKEpTQzo6QVJNdjdBc3NlbWJsZXI6OnJlbGlua0p1bXApOgor
ICAgICAgICAoSlNDOjpBUk12N0Fzc2VtYmxlcjo6cmVwYXRjaENvbXBhY3QpOgorICAgICAgICAo
SlNDOjpBUk12N0Fzc2VtYmxlcjo6cmVwbGFjZVdpdGhKdW1wKToKKyAgICAgICAgKEpTQzo6QVJN
djdBc3NlbWJsZXI6OnJlcGxhY2VXaXRoTG9hZCk6CisgICAgICAgIChKU0M6OkFSTXY3QXNzZW1i
bGVyOjpyZXBsYWNlV2l0aEFkZHJlc3NDb21wdXRhdGlvbik6CisgICAgICAgIChKU0M6OkFSTXY3
QXNzZW1ibGVyOjpzZXRJbnQzMik6CisgICAgICAgIChKU0M6OkFSTXY3QXNzZW1ibGVyOjpzZXRV
SW50N0ZvckxvYWQpOgorICAgICAgICAoSlNDOjpBUk12N0Fzc2VtYmxlcjo6aXNCKToKKyAgICAg
ICAgKEpTQzo6QVJNdjdBc3NlbWJsZXI6OmlzQlgpOgorICAgICAgICAoSlNDOjpBUk12N0Fzc2Vt
Ymxlcjo6aXNNT1ZfaW1tX1QzKToKKyAgICAgICAgKEpTQzo6QVJNdjdBc3NlbWJsZXI6OmlzTU9W
VCk6CisgICAgICAgIChKU0M6OkFSTXY3QXNzZW1ibGVyOjppc05PUF9UMSk6CisgICAgICAgIChK
U0M6OkFSTXY3QXNzZW1ibGVyOjppc05PUF9UMik6CisgICAgICAgIChKU0M6OkFSTXY3QXNzZW1i
bGVyOjpsaW5rSnVtcFQxKToKKyAgICAgICAgKEpTQzo6QVJNdjdBc3NlbWJsZXI6OmxpbmtKdW1w
VDIpOgorICAgICAgICAoSlNDOjpBUk12N0Fzc2VtYmxlcjo6bGlua0p1bXBUMyk6CisgICAgICAg
IChKU0M6OkFSTXY3QXNzZW1ibGVyOjpsaW5rSnVtcFQ0KToKKyAgICAgICAgKEpTQzo6QVJNdjdB
c3NlbWJsZXI6OmxpbmtDb25kaXRpb25hbEp1bXBUNCk6CisgICAgICAgIChKU0M6OkFSTXY3QXNz
ZW1ibGVyOjpsaW5rQlgpOgorICAgICAgICAoSlNDOjpBUk12N0Fzc2VtYmxlcjo6bGlua0NvbmRp
dGlvbmFsQlgpOgorICAgICAgICAoSlNDOjpBUk12N0Fzc2VtYmxlcjo6bGlua0p1bXBBYnNvbHV0
ZSk6CisgICAgICAgICogYXNzZW1ibGVyL0xpbmtCdWZmZXIuY3BwOgorICAgICAgICAoSlNDOjpM
aW5rQnVmZmVyOjpjb3B5Q29tcGFjdEFuZExpbmtDb2RlKToKKyAgICAgICAgKiBhc3NlbWJsZXIv
TWFjcm9Bc3NlbWJsZXJBUk02NC5oOgorICAgICAgICAoSlNDOjpNYWNyb0Fzc2VtYmxlckFSTTY0
OjpsaW5rKToKKyAgICAgICAgKiBhc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJBUk12Ny5oOgorICAg
ICAgICAoSlNDOjpNYWNyb0Fzc2VtYmxlckFSTXY3OjpsaW5rKToKKyAgICAgICAgKiBqaXQvRXhl
Y3V0YWJsZUFsbG9jYXRvci5oOgorICAgICAgICAoSlNDOjpwZXJmb3JtSklUTWVtY3B5KToKKyAg
ICAgICAgKiBqaXQvRXhlY3V0YWJsZUFsbG9jYXRvckZpeGVkVk1Qb29sLmNwcDoKKyAgICAgICAg
KEpTQzo6Rml4ZWRWTVBvb2xFeGVjdXRhYmxlQWxsb2NhdG9yOjppbml0aWFsaXplU2VwYXJhdGVk
V1hIZWFwcyk6CisgICAgICAgIChKU0M6OkZpeGVkVk1Qb29sRXhlY3V0YWJsZUFsbG9jYXRvcjo6
aml0V3JpdGVUaHVua0dlbmVyYXRvcik6CisgICAgICAgIChKU0M6OkZpeGVkVk1Qb29sRXhlY3V0
YWJsZUFsbG9jYXRvcjo6Z2VuZXJpY1dyaXRlVG9KSVRSZWdpb24pOgorICAgICAgICAoSlNDOjpG
aXhlZFZNUG9vbEV4ZWN1dGFibGVBbGxvY2F0b3I6OkZpeGVkVk1Qb29sRXhlY3V0YWJsZUFsbG9j
YXRvcik6IERlbGV0ZWQuCisgICAgICAgICogcnVudGltZS9PcHRpb25zLmNwcDoKKyAgICAgICAg
KEpTQzo6cmVjb21wdXRlRGVwZW5kZW50T3B0aW9ucyk6CisgICAgICAgICogcnVudGltZS9PcHRp
b25zLmg6CisKIDIwMTYtMDQtMDggIEJlbmphbWluIFBvdWxhaW4gIDxicG91bGFpbkBhcHBsZS5j
b20+CiAKICAgICAgICAgVUludDMyVG9OdW1iZXIgc2hvdWxkIGhhdmUgYW4gSW50NTIgcGF0aApk
aWZmIC0tZ2l0IGEvU291cmNlL1dURi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV1RGL0NoYW5nZUxvZwpp
bmRleCA1MGU2NzRmNzE5ZjFlNjYzYTFlYjkxM2ZlOTg4M2IxYzMxODQ1Y2RiLi40MGQzNDExZmIy
MmI5ZmQ3M2QyOWFlOTZkY2RmZDM1NmQwYmRkZTY4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL0No
YW5nZUxvZworKysgYi9Tb3VyY2UvV1RGL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDE2
LTA0LTA1ICBPbGl2ZXIgSHVudCAgPG9saXZlckBhcHBsZS5jb20+CisKKyAgICAgICAgUmVtb3Zl
IGNvbXBpbGUgdGltZSBkZWZpbmUgZm9yIFNFUEFSQVRFRF9IRUFQCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTU1MDgKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHd0Zi9GZWF0dXJlRGVmaW5lcy5oOgor
ICAgICAgICAqIHd0Zi9QbGF0Zm9ybS5oOgorCiAyMDE2LTA0LTA4ICBZdXN1a2UgU3V6dWtpICA8
dXRhdGFuZS50ZWFAZ21haWwuY29tPgogCiAgICAgICAgIFtKU0NdIEVuYWJsZSBDb25jdXJyZW50
IEpJVCBieSBkZWZhdWx0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9T
b3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDI5OWU3MmVjOTQ3YTdiMjVhOGRmYzc2ZWYz
YTRlNTk3ZjgxMmQyMy4uOWE4ZmMyMjY2NjMyMGJhNGJmYzM3YWZiNGM1ZmY0OTFmM2QyNjYzNiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDEyIEBACisyMDE2LTA0LTA1ICBPbGl2ZXIgSHVudCAgPG9s
aXZlckBhcHBsZS5jb20+CisKKyAgICAgICAgUmVtb3ZlIGNvbXBpbGUgdGltZSBkZWZpbmUgZm9y
IFNFUEFSQVRFRF9IRUFQCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xNTU1MDgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICAqIENvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnOgorCiAyMDE2
LTA0LTA4ICBCZXRoIERha2luICA8YmRha2luQGFwcGxlLmNvbT4KIAogICAgICAgICBGaXggbGVh
a3MgaW4gV2ViQVZNZWRpYVNlbGVjdGlvbk9wdGlvbk1hYyBhbmQgV2ViUGxheWJhY2tDb250cm9s
c01hbmFnZXIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZyBiL1NvdXJj
ZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwppbmRleCA2NjU3Y2I4OTAwMWM3MTJiN2Q2NDc1MzcwNjBk
MWIxYTJlOGEyZjM0Li4xMjZjMDdmMTcwMDE2ZDMzM2RmMGU5ZDM4ZDA5MGMxMGFhNjY3OGM1IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktp
dC9tYWMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMTYtMDQtMDUgIE9saXZlciBIdW50
ICA8b2xpdmVyQGFwcGxlLmNvbT4KKworICAgICAgICBSZW1vdmUgY29tcGlsZSB0aW1lIGRlZmlu
ZSBmb3IgU0VQQVJBVEVEX0hFQVAKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTE1NTUwOAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgICogQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWc6CisK
IDIwMTYtMDQtMDcgIEpvc2VwaCBQZWNvcmFybyAgPHBlY29yYXJvQGFwcGxlLmNvbT4KIAogICAg
ICAgICBSZW1vdmUgRU5BQkxFKEVOQUJMRV9FUzZfQ0xBU1NfU1lOVEFYKSBndWFyZHMKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxv
ZwppbmRleCAxYzhmNzJlNWI5ZWVmNzk4MzAxZWI2OWY5OGNhMmViZThlNThkNzlmLi5hY2YwN2Yx
NTM5NDU4MzNmOTVlMzY5YWM0NDg2MmIzMmEwNjU4OTUyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
MTIgQEAKKzIwMTYtMDQtMDUgIE9saXZlciBIdW50ICA8b2xpdmVyQGFwcGxlLmNvbT4KKworICAg
ICAgICBSZW1vdmUgY29tcGlsZSB0aW1lIGRlZmluZSBmb3IgU0VQQVJBVEVEX0hFQVAKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1NTUwOAorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogQ29uZmlndXJhdGlv
bnMvRmVhdHVyZURlZmluZXMueGNjb25maWc6CisKIDIwMTYtMDQtMDcgIFNpbW9uIEZyYXNlciAg
PHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CiAKICAgICAgICAgW2lPUyBXSzJdIFN0b3AgdXNpbmcg
ZXhwb3NlZENvbnRlbnRSZWN0IGZvciBoaXN0b3J5IHNjcm9sbCBzdGF0ZSByZXN0b3JhdGlvbgpk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVE
ZWZpbmVzLnhjY29uZmlnIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NvbmZpZ3VyYXRpb25zL0Zl
YXR1cmVEZWZpbmVzLnhjY29uZmlnCmluZGV4IDczNGI2YWU0N2YzMjQ2ZDg3ZDRkY2Q2OWNjZGNl
MmVkNDhiMGNjOGYuLmE1ZWExZjRhNjg5Y2MxYTgwYWFhZWY1ZTE4OTFiZTFmMTE2NzRlYjIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVm
aW5lcy54Y2NvbmZpZworKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ29uZmlndXJhdGlvbnMv
RmVhdHVyZURlZmluZXMueGNjb25maWcKQEAgLTE5Myw3ICsxOTMsNCBAQCBFTkFCTEVfRlRMX0pJ
VFtzZGs9aXBob25lb3MqXSA9IEVOQUJMRV9GVExfSklUOwogRU5BQkxFX1NIQURPV19ET00gPSBF
TkFCTEVfU0hBRE9XX0RPTTsKIEVOQUJMRV9DVVNUT01fRUxFTUVOVFMgPSBFTkFCTEVfQ1VTVE9N
X0VMRU1FTlRTOwogCi1FTkFCTEVfU0VQQVJBVEVEX1dYX0hFQVBbc2RrPWlwaG9uZSpdID0gOwot
RU5BQkxFX1NFUEFSQVRFRF9XWF9IRUFQW3Nkaz1tYWNvc3gqXSA9IDsKLQotRkVBVFVSRV9ERUZJ
TkVTID0gJChFTkFCTEVfM0RfVFJBTlNGT1JNUykgJChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FO
VkFTKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkcpICQoRU5BQkxFX0FW
Rl9DQVBUSU9OUykgJChFTkFCTEVfQVRUQUNITUVOVF9FTEVNRU5UKSAkKEVOQUJMRV9DQUNIRV9Q
QVJUSVRJT05JTkcpICQoRU5BQkxFX0NBTlZBU19QQVRIKSAkKEVOQUJMRV9DQU5WQVNfUFJPWFkp
ICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9FUzZfQVJST1dGVU5DVElPTl9T
WU5UQVgpICQoRU5BQkxFX0VTNl9HRU5FUkFUT1JTKSAkKEVOQUJMRV9FUzZfTU9EVUxFUykgJChF
TkFCTEVfQ09OVEVOVF9GSUxURVJJTkcpICQoRU5BQkxFX0NTUF9ORVhUKSAkKEVOQUJMRV9DU1Nf
QU5JTUFUSU9OU19MRVZFTF8yKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUspICQo
RU5BQkxFX0NTU19DT01QT1NJVElORykgJChFTkFCTEVfQ1NTX0RFVklDRV9BREFQVEFUSU9OKSAk
KEVOQUJMRV9DU1NfR1JJRF9MQVlPVVQpICQoRU5BQkxFX0NTU19JTUFHRV9PUklFTlRBVElPTikg
JChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJT04pICQoRU5BQkxFX0NTU19SRUdJT05TKSAkKEVO
QUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NTX1NIQVBFUykgJChFTkFCTEVf
Q1NTM19URVhUKSAkKEVOQUJMRV9DU1MzX1RFWFRfTElORV9CUkVBSykgJChFTkFCTEVfQ1VSU09S
X1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVfREFT
SEJPQVJEX1NVUFBPUlQpICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RBVEFf
VFJBTlNGRVJfSVRFTVMpICQoRU5BQkxFX0RFVEFJTFNfRUxFTUVOVCkgJChFTkFCTEVfREVWSUNF
X09SSUVOVEFUSU9OKSAkKEVOQUJMRV9ET000X0VWRU5UU19DT05TVFJVQ1RPUikgJChFTkFCTEVf
RU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUFfVjIpICQoRU5BQkxFX0ZF
VENIX0FQSSkgJChFTkFCTEVfRklMVEVSU19MRVZFTF8yKSAkKEVOQUJMRV9GT05UX0xPQURfRVZF
TlRTKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVf
R0FNRVBBRF9ERVBSRUNBVEVEKSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVfSUNPTkRB
VEFCQVNFKSAkKEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFC
QVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMpICQoRU5BQkxFX0lORElF
X1VJKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9S
X1BPUE9WRVIpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9E
QVRFVElNRV9JTkNPTVBMRVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQo
RU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFC
TEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICQo
RU5BQkxFX0lOVEwpICQoRU5BQkxFX0lPU19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfSU9TX1RF
WFRfQVVUT1NJWklORykgJChFTkFCTEVfSU9TX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfTEVHQUNZ
X0NTU19WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9OT1RJRklDQVRJT05TKSAkKEVO
QUJMRV9MRUdBQ1lfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfV0VCX0FVRElPKSAk
KEVOQUJMRV9MRVRURVJQUkVTUykgJChFTkFCTEVfTElOS19QUkVGRVRDSCkgJChFTkFCTEVfTUFD
X0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElBX0NPTlRST0xT
X1NDUklQVCkgJChFTkFCTEVfTUVESUFfU0VTU0lPTikgJChFTkFCTEVfTUVESUFfU09VUkNFKSAk
KEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9NRURJQV9TVFJFQU0pICQoRU5BQkxF
X01FVEVSX0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NB
TEUpICQoRU5BQkxFX05BVklHQVRPUl9DT05URU5UX1VUSUxTKSAkKEVOQUJMRV9OQVZJR0FUT1Jf
SFdDT05DVVJSRU5DWSkgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfUERGS0lUX1BM
VUdJTikgJChFTkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVOQUJMRV9QUk9YSU1JVFlfRVZFTlRTKSAk
KEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRVFV
RVNUX0FOSU1BVElPTl9GUkFNRSkgJChFTkFCTEVfUkVRVUVTVF9BVVRPQ09NUExFVEUpICQoRU5B
QkxFX1JFTU9URV9JTlNQRUNUT1IpICQoRU5BQkxFX1JFU09MVVRJT05fTUVESUFfUVVFUlkpICQo
RU5BQkxFX1JFU09VUkNFX1VTQUdFKSAkKEVOQUJMRV9SVUJCRVJfQkFORElORykgJChFTkFCTEVf
Q1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TVFJF
QU1TX0FQSSkgJChFTkFCTEVfU1VCVExFX0NSWVBUTykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVO
QUJMRV9URUxFUEhPTkVfTlVNQkVSX0RFVEVDVElPTikgJChFTkFCTEVfVEVNUExBVEVfRUxFTUVO
VCkgJChFTkFCTEVfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9UT1VDSF9FVkVOVFMpICQoRU5B
QkxFX1RPVUNIX0lDT05fTE9BRElORykgJChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQoRU5B
QkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklERU9fVFJBQ0sp
ICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUpICQoRU5BQkxFX1ZJRVdfTU9ERV9DU1NfTUVESUEpICQo
RU5BQkxFX1dFQkFTU0VNQkxZKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCR0wyKSAkKEVO
QUJMRV9XRUJfQU5JTUFUSU9OUykgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfUkVQ
TEFZKSAkKEVOQUJMRV9XRUJfU09DS0VUUykgJChFTkFCTEVfV0VCX1RJTUlORykgJChFTkFCTEVf
WFNMVCkgJChFTkFCTEVfRlRMX0pJVCkgJChFTkFCTEVfSklUKSAkKEVOQUJMRV9TSEFET1dfRE9N
KSAkKEVOQUJMRV9DVVNUT01fRUxFTUVOVFMpICQoRU5BQkxFX1ZJREVPX1BSRVNFTlRBVElPTl9N
T0RFKSAkKEVOQUJMRV9TRVBBUkFURURfV1hfSEVBUCk7CitGRUFUVVJFX0RFRklORVMgPSAkKEVO
QUJMRV8zRF9UUkFOU0ZPUk1TKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5B
QkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElORykgJChFTkFCTEVfQVZGX0NBUFRJT05T
KSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQpICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklO
RykgJChFTkFCTEVfQ0FOVkFTX1BBVEgpICQoRU5BQkxFX0NBTlZBU19QUk9YWSkgJChFTkFCTEVf
Q0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0VTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkgJChF
TkFCTEVfRVM2X0dFTkVSQVRPUlMpICQoRU5BQkxFX0VTNl9NT0RVTEVTKSAkKEVOQUJMRV9DT05U
RU5UX0ZJTFRFUklORykgJChFTkFCTEVfQ1NQX05FWFQpICQoRU5BQkxFX0NTU19BTklNQVRJT05T
X0xFVkVMXzIpICQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVBSykgJChFTkFCTEVfQ1NT
X0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJT04pICQoRU5BQkxFX0NT
U19HUklEX0xBWU9VVCkgJChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9D
U1NfSU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1JFR0lPTlMpICQoRU5BQkxFX0NTU19T
RUxFQ1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9DU1NfU0hBUEVTKSAkKEVOQUJMRV9DU1MzX1RFWFQp
ICQoRU5BQkxFX0NTUzNfVEVYVF9MSU5FX0JSRUFLKSAkKEVOQUJMRV9DVVJTT1JfVklTSUJJTElU
WSkgJChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQ
UE9SVCkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREFUQV9UUkFOU0ZFUl9J
VEVNUykgJChFTkFCTEVfREVUQUlMU19FTEVNRU5UKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJ
T04pICQoRU5BQkxFX0RPTTRfRVZFTlRTX0NPTlNUUlVDVE9SKSAkKEVOQUJMRV9FTkNSWVBURURf
TUVESUEpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQV9WMikgJChFTkFCTEVfRkVUQ0hfQVBJKSAk
KEVOQUJMRV9GSUxURVJTX0xFVkVMXzIpICQoRU5BQkxFX0ZPTlRfTE9BRF9FVkVOVFMpICQoRU5B
QkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HQU1FUEFEX0RF
UFJFQ0FURUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9JQ09OREFUQUJBU0UpICQo
RU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5B
QkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5ESUVfVUkpICQoRU5B
QkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1JfUE9QT1ZFUikg
JChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lO
Q09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5Q
VVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9U
WVBFX1dFRUspICQoRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkgJChFTkFCTEVfSU5U
TCkgJChFTkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1NfVEVYVF9BVVRPU0la
SU5HKSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRP
Ul9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX05PVElGSUNBVElPTlMpICQoRU5BQkxFX0xFR0FD
WV9WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9XRUJfQVVESU8pICQoRU5BQkxFX0xF
VFRFUlBSRVNTKSAkKEVOQUJMRV9MSU5LX1BSRUZFVENIKSAkKEVOQUJMRV9NQUNfR0VTVFVSRV9F
VkVOVFMpICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUKSAk
KEVOQUJMRV9NRURJQV9TRVNTSU9OKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01F
RElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FRElBX1NUUkVBTSkgJChFTkFCTEVfTUVURVJfRUxF
TUVOVCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFC
TEVfTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpICQoRU5BQkxFX05BVklHQVRPUl9IV0NPTkNVUlJF
TkNZKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9QREZLSVRfUExVR0lOKSAkKEVO
QUJMRV9QT0lOVEVSX0xPQ0spICQoRU5BQkxFX1BST1hJTUlUWV9FVkVOVFMpICQoRU5BQkxFX1BV
QkxJQ19TVUZGSVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFUVVFU1RfQU5JTUFU
SU9OX0ZSQU1FKSAkKEVOQUJMRV9SRVFVRVNUX0FVVE9DT01QTEVURSkgJChFTkFCTEVfUkVNT1RF
X0lOU1BFQ1RPUikgJChFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVfUkVT
T1VSQ0VfVVNBR0UpICQoRU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAkKEVOQUJMRV9DU1NfU0NST0xM
X1NOQVApICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxFX1NUUkVBTVNfQVBJKSAk
KEVOQUJMRV9TVUJUTEVfQ1JZUFRPKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1RFTEVQ
SE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVOQUJMRV9URU1QTEFURV9FTEVNRU5UKSAkKEVOQUJM
RV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVE9VQ0hf
SUNPTl9MT0FESU5HKSAkKEVOQUJMRV9DU1NfVFJBSUxJTkdfV09SRCkgJChFTkFCTEVfVVNFUlNF
TEVDVF9BTEwpICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVf
REFUQUNVRV9WQUxVRSkgJChFTkFCTEVfVklFV19NT0RFX0NTU19NRURJQSkgJChFTkFCTEVfV0VC
QVNTRU1CTFkpICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJHTDIpICQoRU5BQkxFX1dFQl9B
TklNQVRJT05TKSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9SRVBMQVkpICQoRU5B
QkxFX1dFQl9TT0NLRVRTKSAkKEVOQUJMRV9XRUJfVElNSU5HKSAkKEVOQUJMRV9YU0xUKSAkKEVO
QUJMRV9GVExfSklUKSAkKEVOQUJMRV9KSVQpICQoRU5BQkxFX1NIQURPV19ET00pICQoRU5BQkxF
X0NVU1RPTV9FTEVNRU5UUykgJChFTkFCTEVfVklERU9fUFJFU0VOVEFUSU9OX01PREUpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9BUk02NEFzc2VtYmxlci5o
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9BUk02NEFzc2VtYmxlci5oCmluZGV4
IDE4ZDMzOGVjNDZlOTFmMzk0ODFhM2E4ZGZiMDNiYzdlNjFkYTJiYzguLmI2MTA2YzMzOTE0NTMz
YzFmZGFjNTkwY2JjNDU2YTExNzg5NzZkMjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9hc3NlbWJsZXIvQVJNNjRBc3NlbWJsZXIuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvYXNzZW1ibGVyL0FSTTY0QXNzZW1ibGVyLmgKQEAgLTI0NzIsMjMgKzI0NzIsMjMgQEAgcHVi
bGljOgogICAgICAgICBtX2p1bXBzVG9MaW5rLmFwcGVuZChMaW5rUmVjb3JkKGZyb20ubV9vZmZz
ZXQsIHRvLm1fb2Zmc2V0LCB0eXBlLCBjb25kaXRpb24sIGJpdE51bWJlciwgY29tcGFyZVJlZ2lz
dGVyKSk7CiAgICAgfQogCi0gICAgdm9pZCBsaW5rSnVtcChBc3NlbWJsZXJMYWJlbCBmcm9tLCBB
c3NlbWJsZXJMYWJlbCB0bykKKyAgICB2b2lkIGxpbmtKdW1wKEFzc2VtYmxlckxhYmVsIGZyb20s
IHZvaWQqIGV4ZWN1dGFibGVDb2RlLCBBc3NlbWJsZXJMYWJlbCB0bykKICAgICB7CiAgICAgICAg
IEFTU0VSVChmcm9tLmlzU2V0KCkpOwogICAgICAgICBBU1NFUlQodG8uaXNTZXQoKSk7Ci0gICAg
ICAgIHJlbGlua0p1bXBPckNhbGw8ZmFsc2U+KGFkZHJlc3NPZihmcm9tKSwgYWRkcmVzc09mKHRv
KSk7CisgICAgICAgIHJlbGlua0p1bXBPckNhbGw8ZmFsc2U+KGFkZHJlc3NPZihmcm9tKSwgYWRk
cmVzc09mKGV4ZWN1dGFibGVDb2RlLCBmcm9tKSwgYWRkcmVzc09mKHRvKSk7CiAgICAgfQogICAg
IAogICAgIHN0YXRpYyB2b2lkIGxpbmtKdW1wKHZvaWQqIGNvZGUsIEFzc2VtYmxlckxhYmVsIGZy
b20sIHZvaWQqIHRvKQogICAgIHsKICAgICAgICAgQVNTRVJUKGZyb20uaXNTZXQoKSk7Ci0gICAg
ICAgIHJlbGlua0p1bXBPckNhbGw8ZmFsc2U+KGFkZHJlc3NPZihjb2RlLCBmcm9tKSwgdG8pOwor
ICAgICAgICByZWxpbmtKdW1wT3JDYWxsPGZhbHNlPihhZGRyZXNzT2YoY29kZSwgZnJvbSksIGFk
ZHJlc3NPZihjb2RlLCBmcm9tKSwgdG8pOwogICAgIH0KIAogICAgIHN0YXRpYyB2b2lkIGxpbmtD
YWxsKHZvaWQqIGNvZGUsIEFzc2VtYmxlckxhYmVsIGZyb20sIHZvaWQqIHRvKQogICAgIHsKICAg
ICAgICAgQVNTRVJUKGZyb20uaXNTZXQoKSk7Ci0gICAgICAgIGxpbmtKdW1wT3JDYWxsPHRydWU+
KGFkZHJlc3NPZihjb2RlLCBmcm9tKSAtIDEsIHRvKTsKKyAgICAgICAgbGlua0p1bXBPckNhbGw8
dHJ1ZT4oYWRkcmVzc09mKGNvZGUsIGZyb20pIC0gMSwgYWRkcmVzc09mKGNvZGUsIGZyb20pIC0g
MSwgdG8pOwogICAgIH0KIAogICAgIHN0YXRpYyB2b2lkIGxpbmtQb2ludGVyKHZvaWQqIGNvZGUs
IEFzc2VtYmxlckxhYmVsIHdoZXJlLCB2b2lkKiB2YWx1ZVB0cikKQEAgLTI2NTgsMTMgKzI2NTgs
MTMgQEAgcHVibGljOgogCiAgICAgc3RhdGljIHZvaWQgcmVsaW5rSnVtcCh2b2lkKiBmcm9tLCB2
b2lkKiB0bykKICAgICB7Ci0gICAgICAgIHJlbGlua0p1bXBPckNhbGw8ZmFsc2U+KHJlaW50ZXJw
cmV0X2Nhc3Q8aW50Kj4oZnJvbSksIHRvKTsKKyAgICAgICAgcmVsaW5rSnVtcE9yQ2FsbDxmYWxz
ZT4ocmVpbnRlcnByZXRfY2FzdDxpbnQqPihmcm9tKSwgcmVpbnRlcnByZXRfY2FzdDxjb25zdCBp
bnQqPihmcm9tKSwgdG8pOwogICAgICAgICBjYWNoZUZsdXNoKGZyb20sIHNpemVvZihpbnQpKTsK
ICAgICB9CiAgICAgCiAgICAgc3RhdGljIHZvaWQgcmVsaW5rQ2FsbCh2b2lkKiBmcm9tLCB2b2lk
KiB0bykKICAgICB7Ci0gICAgICAgIHJlbGlua0p1bXBPckNhbGw8dHJ1ZT4ocmVpbnRlcnByZXRf
Y2FzdDxpbnQqPihmcm9tKSAtIDEsIHRvKTsKKyAgICAgICAgcmVsaW5rSnVtcE9yQ2FsbDx0cnVl
PihyZWludGVycHJldF9jYXN0PGludCo+KGZyb20pIC0gMSwgcmVpbnRlcnByZXRfY2FzdDxjb25z
dCBpbnQqPihmcm9tKSAtIDEsIHRvKTsKICAgICAgICAgY2FjaGVGbHVzaChyZWludGVycHJldF9j
YXN0PGludCo+KGZyb20pIC0gMSwgc2l6ZW9mKGludCkpOwogICAgIH0KICAgICAKQEAgLTI4MDYs
MjkgKzI4MDYsMzAgQEAgcHVibGljOgogICAgICAgICByZXR1cm4gbV9qdW1wc1RvTGluazsKICAg
ICB9CiAKLSAgICBzdGF0aWMgdm9pZCBBTFdBWVNfSU5MSU5FIGxpbmsoTGlua1JlY29yZCYgcmVj
b3JkLCB1aW50OF90KiBmcm9tLCB1aW50OF90KiB0bykKKyAgICBzdGF0aWMgdm9pZCBBTFdBWVNf
SU5MSU5FIGxpbmsoTGlua1JlY29yZCYgcmVjb3JkLCB1aW50OF90KiBmcm9tLCBjb25zdCB1aW50
OF90KiBmcm9tSW5zdHJ1Y3Rpb244LCB1aW50OF90KiB0bykKICAgICB7CisgICAgICAgIGNvbnN0
IGludCogZnJvbUluc3RydWN0aW9uID0gcmVpbnRlcnByZXRfY2FzdDxjb25zdCBpbnQqPihmcm9t
SW5zdHJ1Y3Rpb244KTsKICAgICAgICAgc3dpdGNoIChyZWNvcmQubGlua1R5cGUoKSkgewogICAg
ICAgICBjYXNlIExpbmtKdW1wTm9Db25kaXRpb246Ci0gICAgICAgICAgICBsaW5rSnVtcE9yQ2Fs
bDxmYWxzZT4ocmVpbnRlcnByZXRfY2FzdDxpbnQqPihmcm9tKSwgdG8pOworICAgICAgICAgICAg
bGlua0p1bXBPckNhbGw8ZmFsc2U+KHJlaW50ZXJwcmV0X2Nhc3Q8aW50Kj4oZnJvbSksIGZyb21J
bnN0cnVjdGlvbiwgdG8pOwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGNhc2UgTGlua0p1
bXBDb25kaXRpb25EaXJlY3Q6Ci0gICAgICAgICAgICBsaW5rQ29uZGl0aW9uYWxCcmFuY2g8dHJ1
ZT4ocmVjb3JkLmNvbmRpdGlvbigpLCByZWludGVycHJldF9jYXN0PGludCo+KGZyb20pLCB0byk7
CisgICAgICAgICAgICBsaW5rQ29uZGl0aW9uYWxCcmFuY2g8dHJ1ZT4ocmVjb3JkLmNvbmRpdGlv
bigpLCByZWludGVycHJldF9jYXN0PGludCo+KGZyb20pLCBmcm9tSW5zdHJ1Y3Rpb24sIHRvKTsK
ICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBjYXNlIExpbmtKdW1wQ29uZGl0aW9uOgotICAg
ICAgICAgICAgbGlua0NvbmRpdGlvbmFsQnJhbmNoPGZhbHNlPihyZWNvcmQuY29uZGl0aW9uKCks
IHJlaW50ZXJwcmV0X2Nhc3Q8aW50Kj4oZnJvbSkgLSAxLCB0byk7CisgICAgICAgICAgICBsaW5r
Q29uZGl0aW9uYWxCcmFuY2g8ZmFsc2U+KHJlY29yZC5jb25kaXRpb24oKSwgcmVpbnRlcnByZXRf
Y2FzdDxpbnQqPihmcm9tKSAtIDEsIGZyb21JbnN0cnVjdGlvbiAtIDEsIHRvKTsKICAgICAgICAg
ICAgIGJyZWFrOwogICAgICAgICBjYXNlIExpbmtKdW1wQ29tcGFyZUFuZEJyYW5jaERpcmVjdDoK
LSAgICAgICAgICAgIGxpbmtDb21wYXJlQW5kQnJhbmNoPHRydWU+KHJlY29yZC5jb25kaXRpb24o
KSwgcmVjb3JkLmlzNjRCaXQoKSwgcmVjb3JkLmNvbXBhcmVSZWdpc3RlcigpLCByZWludGVycHJl
dF9jYXN0PGludCo+KGZyb20pLCB0byk7CisgICAgICAgICAgICBsaW5rQ29tcGFyZUFuZEJyYW5j
aDx0cnVlPihyZWNvcmQuY29uZGl0aW9uKCksIHJlY29yZC5pczY0Qml0KCksIHJlY29yZC5jb21w
YXJlUmVnaXN0ZXIoKSwgcmVpbnRlcnByZXRfY2FzdDxpbnQqPihmcm9tKSwgZnJvbUluc3RydWN0
aW9uLCB0byk7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgY2FzZSBMaW5rSnVtcENvbXBh
cmVBbmRCcmFuY2g6Ci0gICAgICAgICAgICBsaW5rQ29tcGFyZUFuZEJyYW5jaDxmYWxzZT4ocmVj
b3JkLmNvbmRpdGlvbigpLCByZWNvcmQuaXM2NEJpdCgpLCByZWNvcmQuY29tcGFyZVJlZ2lzdGVy
KCksIHJlaW50ZXJwcmV0X2Nhc3Q8aW50Kj4oZnJvbSkgLSAxLCB0byk7CisgICAgICAgICAgICBs
aW5rQ29tcGFyZUFuZEJyYW5jaDxmYWxzZT4ocmVjb3JkLmNvbmRpdGlvbigpLCByZWNvcmQuaXM2
NEJpdCgpLCByZWNvcmQuY29tcGFyZVJlZ2lzdGVyKCksIHJlaW50ZXJwcmV0X2Nhc3Q8aW50Kj4o
ZnJvbSkgLSAxLCBmcm9tSW5zdHJ1Y3Rpb24gLSAxLCB0byk7CiAgICAgICAgICAgICBicmVhazsK
ICAgICAgICAgY2FzZSBMaW5rSnVtcFRlc3RCaXREaXJlY3Q6Ci0gICAgICAgICAgICBsaW5rVGVz
dEFuZEJyYW5jaDx0cnVlPihyZWNvcmQuY29uZGl0aW9uKCksIHJlY29yZC5iaXROdW1iZXIoKSwg
cmVjb3JkLmNvbXBhcmVSZWdpc3RlcigpLCByZWludGVycHJldF9jYXN0PGludCo+KGZyb20pLCB0
byk7CisgICAgICAgICAgICBsaW5rVGVzdEFuZEJyYW5jaDx0cnVlPihyZWNvcmQuY29uZGl0aW9u
KCksIHJlY29yZC5iaXROdW1iZXIoKSwgcmVjb3JkLmNvbXBhcmVSZWdpc3RlcigpLCByZWludGVy
cHJldF9jYXN0PGludCo+KGZyb20pLCBmcm9tSW5zdHJ1Y3Rpb24sIHRvKTsKICAgICAgICAgICAg
IGJyZWFrOwogICAgICAgICBjYXNlIExpbmtKdW1wVGVzdEJpdDoKLSAgICAgICAgICAgIGxpbmtU
ZXN0QW5kQnJhbmNoPGZhbHNlPihyZWNvcmQuY29uZGl0aW9uKCksIHJlY29yZC5iaXROdW1iZXIo
KSwgcmVjb3JkLmNvbXBhcmVSZWdpc3RlcigpLCByZWludGVycHJldF9jYXN0PGludCo+KGZyb20p
IC0gMSwgdG8pOworICAgICAgICAgICAgbGlua1Rlc3RBbmRCcmFuY2g8ZmFsc2U+KHJlY29yZC5j
b25kaXRpb24oKSwgcmVjb3JkLmJpdE51bWJlcigpLCByZWNvcmQuY29tcGFyZVJlZ2lzdGVyKCks
IHJlaW50ZXJwcmV0X2Nhc3Q8aW50Kj4oZnJvbSkgLSAxLCBmcm9tSW5zdHJ1Y3Rpb24gLSAxLCB0
byk7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgZGVmYXVsdDoKICAgICAgICAgICAgIEFT
U0VSVF9OT1RfUkVBQ0hFRCgpOwpAQCAtMjg3MCw3ICsyODcxLDcgQEAgcHJpdmF0ZToKICAgICB9
CiAKICAgICB0ZW1wbGF0ZTxib29sIGlzQ2FsbD4KLSAgICBzdGF0aWMgdm9pZCBsaW5rSnVtcE9y
Q2FsbChpbnQqIGZyb20sIHZvaWQqIHRvKQorICAgIHN0YXRpYyB2b2lkIGxpbmtKdW1wT3JDYWxs
KGludCogZnJvbSwgY29uc3QgaW50KiBmcm9tSW5zdHJ1Y3Rpb24sIHZvaWQqIHRvKQogICAgIHsK
ICAgICAgICAgYm9vbCBsaW5rOwogICAgICAgICBpbnQgaW1tMjY7CkBAIC0yODgwLDcgKzI4ODEs
NyBAQCBwcml2YXRlOgogICAgICAgICBBU1NFUlRfVU5VU0VEKGlzQ2FsbCwgKGxpbmsgPT0gaXND
YWxsKSB8fCBkaXNhc3NlbWJsZU5vcChmcm9tKSk7CiAgICAgICAgIEFTU0VSVCghKHJlaW50ZXJw
cmV0X2Nhc3Q8aW50cHRyX3Q+KGZyb20pICYgMykpOwogICAgICAgICBBU1NFUlQoIShyZWludGVy
cHJldF9jYXN0PGludHB0cl90Pih0bykgJiAzKSk7Ci0gICAgICAgIGludHB0cl90IG9mZnNldCA9
IChyZWludGVycHJldF9jYXN0PGludHB0cl90Pih0bykgLSByZWludGVycHJldF9jYXN0PGludHB0
cl90Pihmcm9tKSkgPj4gMjsKKyAgICAgICAgaW50cHRyX3Qgb2Zmc2V0ID0gKHJlaW50ZXJwcmV0
X2Nhc3Q8aW50cHRyX3Q+KHRvKSAtIHJlaW50ZXJwcmV0X2Nhc3Q8aW50cHRyX3Q+KGZyb21JbnN0
cnVjdGlvbikpID4+IDI7CiAgICAgICAgIEFTU0VSVChzdGF0aWNfY2FzdDxpbnQ+KG9mZnNldCkg
PT0gb2Zmc2V0KTsKIAogICAgICAgICBpbnQgaW5zbiA9IHVuY29uZGl0aW9uYWxCcmFuY2hJbW1l
ZGlhdGUoaXNDYWxsLCBzdGF0aWNfY2FzdDxpbnQ+KG9mZnNldCkpOwpAQCAtMjg4OCwxMSArMjg4
OSwxMSBAQCBwcml2YXRlOgogICAgIH0KIAogICAgIHRlbXBsYXRlPGJvb2wgaXNEaXJlY3Q+Ci0g
ICAgc3RhdGljIHZvaWQgbGlua0NvbXBhcmVBbmRCcmFuY2goQ29uZGl0aW9uIGNvbmRpdGlvbiwg
Ym9vbCBpczY0Qml0LCBSZWdpc3RlcklEIHJ0LCBpbnQqIGZyb20sIHZvaWQqIHRvKQorICAgIHN0
YXRpYyB2b2lkIGxpbmtDb21wYXJlQW5kQnJhbmNoKENvbmRpdGlvbiBjb25kaXRpb24sIGJvb2wg
aXM2NEJpdCwgUmVnaXN0ZXJJRCBydCwgaW50KiBmcm9tLCBjb25zdCBpbnQqIGZyb21JbnN0cnVj
dGlvbiwgdm9pZCogdG8pCiAgICAgewogICAgICAgICBBU1NFUlQoIShyZWludGVycHJldF9jYXN0
PGludHB0cl90Pihmcm9tKSAmIDMpKTsKICAgICAgICAgQVNTRVJUKCEocmVpbnRlcnByZXRfY2Fz
dDxpbnRwdHJfdD4odG8pICYgMykpOwotICAgICAgICBpbnRwdHJfdCBvZmZzZXQgPSAocmVpbnRl
cnByZXRfY2FzdDxpbnRwdHJfdD4odG8pIC0gcmVpbnRlcnByZXRfY2FzdDxpbnRwdHJfdD4oZnJv
bSkpID4+IDI7CisgICAgICAgIGludHB0cl90IG9mZnNldCA9IChyZWludGVycHJldF9jYXN0PGlu
dHB0cl90Pih0bykgLSByZWludGVycHJldF9jYXN0PGludHB0cl90Pihmcm9tSW5zdHJ1Y3Rpb24p
KSA+PiAyOwogICAgICAgICBBU1NFUlQoKChvZmZzZXQgPDwgMzgpID4+IDM4KSA9PSBvZmZzZXQp
OwogCiAgICAgICAgIGJvb2wgdXNlRGlyZWN0ID0gKChvZmZzZXQgPDwgNDUpID4+IDQ1KSA9PSBv
ZmZzZXQ7IC8vIEZpdHMgaW4gMTkgYml0cwpAQCAtMjkwOCwxNiArMjkwOSwxNiBAQCBwcml2YXRl
OgogICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgaW50IGluc24gPSBjb21wYXJlQW5kQnJh
bmNoSW1tZWRpYXRlKGlzNjRCaXQgPyBEYXRhc2l6ZV82NCA6IERhdGFzaXplXzMyLCBpbnZlcnQo
Y29uZGl0aW9uKSA9PSBDb25kaXRpb25ORSwgMiwgcnQpOwogICAgICAgICAgICAgcGVyZm9ybUpJ
VE1lbWNweShmcm9tLCAmaW5zbiwgc2l6ZW9mKGludCkpOwotICAgICAgICAgICAgbGlua0p1bXBP
ckNhbGw8ZmFsc2U+KGZyb20gKyAxLCB0byk7CisgICAgICAgICAgICBsaW5rSnVtcE9yQ2FsbDxm
YWxzZT4oZnJvbSArIDEsIGZyb21JbnN0cnVjdGlvbiArIDEsIHRvKTsKICAgICAgICAgfQogICAg
IH0KIAogICAgIHRlbXBsYXRlPGJvb2wgaXNEaXJlY3Q+Ci0gICAgc3RhdGljIHZvaWQgbGlua0Nv
bmRpdGlvbmFsQnJhbmNoKENvbmRpdGlvbiBjb25kaXRpb24sIGludCogZnJvbSwgdm9pZCogdG8p
CisgICAgc3RhdGljIHZvaWQgbGlua0NvbmRpdGlvbmFsQnJhbmNoKENvbmRpdGlvbiBjb25kaXRp
b24sIGludCogZnJvbSwgY29uc3QgaW50KiBmcm9tSW5zdHJ1Y3Rpb24sIHZvaWQqIHRvKQogICAg
IHsKICAgICAgICAgQVNTRVJUKCEocmVpbnRlcnByZXRfY2FzdDxpbnRwdHJfdD4oZnJvbSkgJiAz
KSk7CiAgICAgICAgIEFTU0VSVCghKHJlaW50ZXJwcmV0X2Nhc3Q8aW50cHRyX3Q+KHRvKSAmIDMp
KTsKLSAgICAgICAgaW50cHRyX3Qgb2Zmc2V0ID0gKHJlaW50ZXJwcmV0X2Nhc3Q8aW50cHRyX3Q+
KHRvKSAtIHJlaW50ZXJwcmV0X2Nhc3Q8aW50cHRyX3Q+KGZyb20pKSA+PiAyOworICAgICAgICBp
bnRwdHJfdCBvZmZzZXQgPSAocmVpbnRlcnByZXRfY2FzdDxpbnRwdHJfdD4odG8pIC0gcmVpbnRl
cnByZXRfY2FzdDxpbnRwdHJfdD4oZnJvbUluc3RydWN0aW9uKSkgPj4gMjsKICAgICAgICAgQVNT
RVJUKCgob2Zmc2V0IDw8IDM4KSA+PiAzOCkgPT0gb2Zmc2V0KTsKIAogICAgICAgICBib29sIHVz
ZURpcmVjdCA9ICgob2Zmc2V0IDw8IDQ1KSA+PiA0NSkgPT0gb2Zmc2V0OyAvLyBGaXRzIGluIDE5
IGJpdHMKQEAgLTI5MzMsMTYgKzI5MzQsMTYgQEAgcHJpdmF0ZToKICAgICAgICAgfSBlbHNlIHsK
ICAgICAgICAgICAgIGludCBpbnNuID0gY29uZGl0aW9uYWxCcmFuY2hJbW1lZGlhdGUoMiwgaW52
ZXJ0KGNvbmRpdGlvbikpOwogICAgICAgICAgICAgcGVyZm9ybUpJVE1lbWNweShmcm9tLCAmaW5z
biwgc2l6ZW9mKGludCkpOwotICAgICAgICAgICAgbGlua0p1bXBPckNhbGw8ZmFsc2U+KGZyb20g
KyAxLCB0byk7CisgICAgICAgICAgICBsaW5rSnVtcE9yQ2FsbDxmYWxzZT4oZnJvbSArIDEsIGZy
b21JbnN0cnVjdGlvbiArIDEsIHRvKTsKICAgICAgICAgfQogICAgIH0KIAogICAgIHRlbXBsYXRl
PGJvb2wgaXNEaXJlY3Q+Ci0gICAgc3RhdGljIHZvaWQgbGlua1Rlc3RBbmRCcmFuY2goQ29uZGl0
aW9uIGNvbmRpdGlvbiwgdW5zaWduZWQgYml0TnVtYmVyLCBSZWdpc3RlcklEIHJ0LCBpbnQqIGZy
b20sIHZvaWQqIHRvKQorICAgIHN0YXRpYyB2b2lkIGxpbmtUZXN0QW5kQnJhbmNoKENvbmRpdGlv
biBjb25kaXRpb24sIHVuc2lnbmVkIGJpdE51bWJlciwgUmVnaXN0ZXJJRCBydCwgaW50KiBmcm9t
LCBjb25zdCBpbnQqIGZyb21JbnN0cnVjdGlvbiwgdm9pZCogdG8pCiAgICAgewogICAgICAgICBB
U1NFUlQoIShyZWludGVycHJldF9jYXN0PGludHB0cl90Pihmcm9tKSAmIDMpKTsKICAgICAgICAg
QVNTRVJUKCEocmVpbnRlcnByZXRfY2FzdDxpbnRwdHJfdD4odG8pICYgMykpOwotICAgICAgICBp
bnRwdHJfdCBvZmZzZXQgPSAocmVpbnRlcnByZXRfY2FzdDxpbnRwdHJfdD4odG8pIC0gcmVpbnRl
cnByZXRfY2FzdDxpbnRwdHJfdD4oZnJvbSkpID4+IDI7CisgICAgICAgIGludHB0cl90IG9mZnNl
dCA9IChyZWludGVycHJldF9jYXN0PGludHB0cl90Pih0bykgLSByZWludGVycHJldF9jYXN0PGlu
dHB0cl90Pihmcm9tSW5zdHJ1Y3Rpb24pKSA+PiAyOwogICAgICAgICBBU1NFUlQoc3RhdGljX2Nh
c3Q8aW50PihvZmZzZXQpID09IG9mZnNldCk7CiAgICAgICAgIEFTU0VSVCgoKG9mZnNldCA8PCAz
OCkgPj4gMzgpID09IG9mZnNldCk7CiAKQEAgLTI5NTksMTIgKzI5NjAsMTIgQEAgcHJpdmF0ZToK
ICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgIGludCBpbnNuID0gdGVzdEFuZEJyYW5jaElt
bWVkaWF0ZShpbnZlcnQoY29uZGl0aW9uKSA9PSBDb25kaXRpb25ORSwgc3RhdGljX2Nhc3Q8aW50
PihiaXROdW1iZXIpLCAyLCBydCk7CiAgICAgICAgICAgICBwZXJmb3JtSklUTWVtY3B5KGZyb20s
ICZpbnNuLCBzaXplb2YoaW50KSk7Ci0gICAgICAgICAgICBsaW5rSnVtcE9yQ2FsbDxmYWxzZT4o
ZnJvbSArIDEsIHRvKTsKKyAgICAgICAgICAgIGxpbmtKdW1wT3JDYWxsPGZhbHNlPihmcm9tICsg
MSwgZnJvbUluc3RydWN0aW9uICsgMSwgdG8pOwogICAgICAgICB9CiAgICAgfQogCiAgICAgdGVt
cGxhdGU8Ym9vbCBpc0NhbGw+Ci0gICAgc3RhdGljIHZvaWQgcmVsaW5rSnVtcE9yQ2FsbChpbnQq
IGZyb20sIHZvaWQqIHRvKQorICAgIHN0YXRpYyB2b2lkIHJlbGlua0p1bXBPckNhbGwoaW50KiBm
cm9tLCBjb25zdCBpbnQqIGZyb21JbnN0cnVjdGlvbiwgdm9pZCogdG8pCiAgICAgewogICAgICAg
ICBpZiAoIWlzQ2FsbCAmJiBkaXNhc3NlbWJsZU5vcChmcm9tKSkgewogICAgICAgICAgICAgdW5z
aWduZWQgb3AwMTsKQEAgLTI5NzksNyArMjk4MCw3IEBAIHByaXZhdGU6CiAgICAgICAgICAgICAg
ICAgaWYgKGltbTE5ID09IDgpCiAgICAgICAgICAgICAgICAgICAgIGNvbmRpdGlvbiA9IGludmVy
dChjb25kaXRpb24pOwogCi0gICAgICAgICAgICAgICAgbGlua0NvbmRpdGlvbmFsQnJhbmNoPGZh
bHNlPihjb25kaXRpb24sIGZyb20gLSAxLCB0byk7CisgICAgICAgICAgICAgICAgbGlua0NvbmRp
dGlvbmFsQnJhbmNoPGZhbHNlPihjb25kaXRpb24sIGZyb20gLSAxLCBmcm9tSW5zdHJ1Y3Rpb24g
LSAxLCB0byk7CiAgICAgICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgICAgfQogCkBAIC0y
OTkyLDcgKzI5OTMsNyBAQCBwcml2YXRlOgogICAgICAgICAgICAgICAgIGlmIChpbW0xOSA9PSA4
KQogICAgICAgICAgICAgICAgICAgICBvcCA9ICFvcDsKIAotICAgICAgICAgICAgICAgIGxpbmtD
b21wYXJlQW5kQnJhbmNoPGZhbHNlPihvcCA/IENvbmRpdGlvbk5FIDogQ29uZGl0aW9uRVEsIG9w
U2l6ZSA9PSBEYXRhc2l6ZV82NCwgcnQsIGZyb20gLSAxLCB0byk7CisgICAgICAgICAgICAgICAg
bGlua0NvbXBhcmVBbmRCcmFuY2g8ZmFsc2U+KG9wID8gQ29uZGl0aW9uTkUgOiBDb25kaXRpb25F
USwgb3BTaXplID09IERhdGFzaXplXzY0LCBydCwgZnJvbSAtIDEsIGZyb21JbnN0cnVjdGlvbiAt
IDEsIHRvKTsKICAgICAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgICAgICB9CiAKQEAgLTMw
MDQsMTIgKzMwMDUsMTIgQEAgcHJpdmF0ZToKICAgICAgICAgICAgICAgICBpZiAoaW1tMTQgPT0g
OCkKICAgICAgICAgICAgICAgICAgICAgb3AgPSAhb3A7CiAKLSAgICAgICAgICAgICAgICBsaW5r
VGVzdEFuZEJyYW5jaDxmYWxzZT4ob3AgPyBDb25kaXRpb25ORSA6IENvbmRpdGlvbkVRLCBiaXRO
dW1iZXIsIHJ0LCBmcm9tIC0gMSwgdG8pOworICAgICAgICAgICAgICAgIGxpbmtUZXN0QW5kQnJh
bmNoPGZhbHNlPihvcCA/IENvbmRpdGlvbk5FIDogQ29uZGl0aW9uRVEsIGJpdE51bWJlciwgcnQs
IGZyb20gLSAxLCBmcm9tSW5zdHJ1Y3Rpb24gLSAxLCB0byk7CiAgICAgICAgICAgICAgICAgcmV0
dXJuOwogICAgICAgICAgICAgfQogICAgICAgICB9CiAKLSAgICAgICAgbGlua0p1bXBPckNhbGw8
aXNDYWxsPihmcm9tLCB0byk7CisgICAgICAgIGxpbmtKdW1wT3JDYWxsPGlzQ2FsbD4oZnJvbSwg
ZnJvbUluc3RydWN0aW9uLCB0byk7CiAgICAgfQogCiAgICAgc3RhdGljIGludCogYWRkcmVzc09m
KHZvaWQqIGNvZGUsIEFzc2VtYmxlckxhYmVsIGxhYmVsKQpkaWZmIC0tZ2l0IGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9BUk12N0Fzc2VtYmxlci5oIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2Fzc2VtYmxlci9BUk12N0Fzc2VtYmxlci5oCmluZGV4IDZiOWYzMDVlOTI3NDY5ZjFi
MjM1ZGJiZjdhMjVkMjMxODkzZmRmZGUuLjhlZTk5YzRiZDdjN2YzMDYxNDg2ODk2MDE4N2U3ZmIy
MzkwYWZjZDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvQVJN
djdBc3NlbWJsZXIuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL0FSTXY3
QXNzZW1ibGVyLmgKQEAgLTEzMjcsMTEgKzEzMjcsMTQgQEAgcHVibGljOgogICAgICAgICB1aW50
MTZfdCogYWRkcmVzcyA9IHN0YXRpY19jYXN0PHVpbnQxNl90Kj4oaW5zdHJ1Y3Rpb25TdGFydCk7
CiAgICAgICAgIEFSTVRodW1iSW1tZWRpYXRlIGxvMTYgPSBBUk1UaHVtYkltbWVkaWF0ZTo6bWFr
ZVVJbnQxNihzdGF0aWNfY2FzdDx1aW50MTZfdD4oaW1tKSk7CiAgICAgICAgIEFSTVRodW1iSW1t
ZWRpYXRlIGhpMTYgPSBBUk1UaHVtYkltbWVkaWF0ZTo6bWFrZVVJbnQxNihzdGF0aWNfY2FzdDx1
aW50MTZfdD4oaW1tID4+IDE2KSk7Ci0gICAgICAgIGFkZHJlc3NbMF0gPSB0d29Xb3JkT3A1aTZJ
bW00UmVnNEVuY29kZWRJbW1GaXJzdChPUF9NT1ZfaW1tX1QzLCBsbzE2KTsKLSAgICAgICAgYWRk
cmVzc1sxXSA9IHR3b1dvcmRPcDVpNkltbTRSZWc0RW5jb2RlZEltbVNlY29uZChyaWdodCwgbG8x
Nik7Ci0gICAgICAgIGFkZHJlc3NbMl0gPSB0d29Xb3JkT3A1aTZJbW00UmVnNEVuY29kZWRJbW1G
aXJzdChPUF9NT1ZULCBoaTE2KTsKLSAgICAgICAgYWRkcmVzc1szXSA9IHR3b1dvcmRPcDVpNklt
bTRSZWc0RW5jb2RlZEltbVNlY29uZChyaWdodCwgaGkxNik7Ci0gICAgICAgIGFkZHJlc3NbNF0g
PSBPUF9DTVBfcmVnX1QyIHwgbGVmdDsKKyAgICAgICAgdWludDE2X3QgaW5zdHJ1Y3Rpb25bXSA9
IHsKKyAgICAgICAgICAgIHR3b1dvcmRPcDVpNkltbTRSZWc0RW5jb2RlZEltbUZpcnN0KE9QX01P
Vl9pbW1fVDMsIGxvMTYpLAorICAgICAgICAgICAgdHdvV29yZE9wNWk2SW1tNFJlZzRFbmNvZGVk
SW1tU2Vjb25kKHJpZ2h0LCBsbzE2KSwKKyAgICAgICAgICAgIHR3b1dvcmRPcDVpNkltbTRSZWc0
RW5jb2RlZEltbUZpcnN0KE9QX01PVlQsIGhpMTYpLAorICAgICAgICAgICAgdHdvV29yZE9wNWk2
SW1tNFJlZzRFbmNvZGVkSW1tU2Vjb25kKHJpZ2h0LCBoaTE2KSwKKyAgICAgICAgICAgIE9QX0NN
UF9yZWdfVDIgfCBsZWZ0CisgICAgICAgIH07CisgICAgICAgIHBlcmZvcm1KSVRNZW1jcHkoYWRk
cmVzcywgaW5zdHJ1Y3Rpb24sIHNpemVvZih1aW50MTZfdCkgKiA1KTsKICAgICAgICAgY2FjaGVG
bHVzaChhZGRyZXNzLCBzaXplb2YodWludDE2X3QpICogNSk7CiAgICAgfQogI2Vsc2UKQEAgLTEz
NDIsOCArMTM0NSwxMSBAQCBwdWJsaWM6CiAgICAgICAgIEFTU0VSVCghQmFkUmVnKHJkKSk7CiAg
ICAgICAgIAogICAgICAgICB1aW50MTZfdCogYWRkcmVzcyA9IHN0YXRpY19jYXN0PHVpbnQxNl90
Kj4oaW5zdHJ1Y3Rpb25TdGFydCk7Ci0gICAgICAgIGFkZHJlc3NbMF0gPSB0d29Xb3JkT3A1aTZJ
bW00UmVnNEVuY29kZWRJbW1GaXJzdChPUF9NT1ZfaW1tX1QzLCBpbW0pOwotICAgICAgICBhZGRy
ZXNzWzFdID0gdHdvV29yZE9wNWk2SW1tNFJlZzRFbmNvZGVkSW1tU2Vjb25kKHJkLCBpbW0pOwor
ICAgICAgICB1aW50MTZfdCBpbnN0cnVjdGlvbltdID0geworICAgICAgICAgICAgdHdvV29yZE9w
NWk2SW1tNFJlZzRFbmNvZGVkSW1tRmlyc3QoT1BfTU9WX2ltbV9UMywgaW1tKSwKKyAgICAgICAg
ICAgIHR3b1dvcmRPcDVpNkltbTRSZWc0RW5jb2RlZEltbVNlY29uZChyZCwgaW1tKQorICAgICAg
ICB9OworICAgICAgICBwZXJmb3JtSklUTWVtY3B5KGFkZHJlc3MsIGluc3RydWN0aW9uLCBzaXpl
b2YodWludDE2X3QpICogMik7CiAgICAgICAgIGNhY2hlRmx1c2goYWRkcmVzcywgc2l6ZW9mKHVp
bnQxNl90KSAqIDIpOwogICAgIH0KICNlbmRpZgpAQCAtMjEyNSwyOSArMjEzMSwzMCBAQCBwdWJs
aWM6CiAgICAgICAgIHJldHVybiBtX2p1bXBzVG9MaW5rOwogICAgIH0KIAotICAgIHN0YXRpYyB2
b2lkIEFMV0FZU19JTkxJTkUgbGluayhMaW5rUmVjb3JkJiByZWNvcmQsIHVpbnQ4X3QqIGZyb20s
IHVpbnQ4X3QqIHRvKQorICAgIHN0YXRpYyB2b2lkIEFMV0FZU19JTkxJTkUgbGluayhMaW5rUmVj
b3JkJiByZWNvcmQsIHVpbnQ4X3QqIGZyb20sIGNvbnN0IHVpbnQ4X3QqIGZyb21JbnN0cnVjdGlv
bjgsIHVpbnQ4X3QqIHRvKQogICAgIHsKKyAgICAgICAgY29uc3QgdWludDE2X3QqIGZyb21JbnN0
cnVjdGlvbiA9IHJlaW50ZXJwcmV0X2Nhc3RfcHRyPGNvbnN0IHVpbnQxNl90Kj4oZnJvbUluc3Ry
dWN0aW9uOCk7CiAgICAgICAgIHN3aXRjaCAocmVjb3JkLmxpbmtUeXBlKCkpIHsKICAgICAgICAg
Y2FzZSBMaW5rSnVtcFQxOgotICAgICAgICAgICAgbGlua0p1bXBUMShyZWNvcmQuY29uZGl0aW9u
KCksIHJlaW50ZXJwcmV0X2Nhc3RfcHRyPHVpbnQxNl90Kj4oZnJvbSksIHRvKTsKKyAgICAgICAg
ICAgIGxpbmtKdW1wVDEocmVjb3JkLmNvbmRpdGlvbigpLCByZWludGVycHJldF9jYXN0X3B0cjx1
aW50MTZfdCo+KGZyb20pLCBmcm9tSW5zdHJ1Y3Rpb24sIHRvKTsKICAgICAgICAgICAgIGJyZWFr
OwogICAgICAgICBjYXNlIExpbmtKdW1wVDI6Ci0gICAgICAgICAgICBsaW5rSnVtcFQyKHJlaW50
ZXJwcmV0X2Nhc3RfcHRyPHVpbnQxNl90Kj4oZnJvbSksIHRvKTsKKyAgICAgICAgICAgIGxpbmtK
dW1wVDIocmVpbnRlcnByZXRfY2FzdF9wdHI8dWludDE2X3QqPihmcm9tKSwgZnJvbUluc3RydWN0
aW9uLCB0byk7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgY2FzZSBMaW5rSnVtcFQzOgot
ICAgICAgICAgICAgbGlua0p1bXBUMyhyZWNvcmQuY29uZGl0aW9uKCksIHJlaW50ZXJwcmV0X2Nh
c3RfcHRyPHVpbnQxNl90Kj4oZnJvbSksIHRvKTsKKyAgICAgICAgICAgIGxpbmtKdW1wVDMocmVj
b3JkLmNvbmRpdGlvbigpLCByZWludGVycHJldF9jYXN0X3B0cjx1aW50MTZfdCo+KGZyb20pLCBm
cm9tSW5zdHJ1Y3Rpb24sIHRvKTsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBjYXNlIExp
bmtKdW1wVDQ6Ci0gICAgICAgICAgICBsaW5rSnVtcFQ0KHJlaW50ZXJwcmV0X2Nhc3RfcHRyPHVp
bnQxNl90Kj4oZnJvbSksIHRvKTsKKyAgICAgICAgICAgIGxpbmtKdW1wVDQocmVpbnRlcnByZXRf
Y2FzdF9wdHI8dWludDE2X3QqPihmcm9tKSwgZnJvbUluc3RydWN0aW9uLCB0byk7CiAgICAgICAg
ICAgICBicmVhazsKICAgICAgICAgY2FzZSBMaW5rQ29uZGl0aW9uYWxKdW1wVDQ6Ci0gICAgICAg
ICAgICBsaW5rQ29uZGl0aW9uYWxKdW1wVDQocmVjb3JkLmNvbmRpdGlvbigpLCByZWludGVycHJl
dF9jYXN0X3B0cjx1aW50MTZfdCo+KGZyb20pLCB0byk7CisgICAgICAgICAgICBsaW5rQ29uZGl0
aW9uYWxKdW1wVDQocmVjb3JkLmNvbmRpdGlvbigpLCByZWludGVycHJldF9jYXN0X3B0cjx1aW50
MTZfdCo+KGZyb20pLCBmcm9tSW5zdHJ1Y3Rpb24sIHRvKTsKICAgICAgICAgICAgIGJyZWFrOwog
ICAgICAgICBjYXNlIExpbmtDb25kaXRpb25hbEJYOgotICAgICAgICAgICAgbGlua0NvbmRpdGlv
bmFsQlgocmVjb3JkLmNvbmRpdGlvbigpLCByZWludGVycHJldF9jYXN0X3B0cjx1aW50MTZfdCo+
KGZyb20pLCB0byk7CisgICAgICAgICAgICBsaW5rQ29uZGl0aW9uYWxCWChyZWNvcmQuY29uZGl0
aW9uKCksIHJlaW50ZXJwcmV0X2Nhc3RfcHRyPHVpbnQxNl90Kj4oZnJvbSksIGZyb21JbnN0cnVj
dGlvbiwgdG8pOwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGNhc2UgTGlua0JYOgotICAg
ICAgICAgICAgbGlua0JYKHJlaW50ZXJwcmV0X2Nhc3RfcHRyPHVpbnQxNl90Kj4oZnJvbSksIHRv
KTsKKyAgICAgICAgICAgIGxpbmtCWChyZWludGVycHJldF9jYXN0X3B0cjx1aW50MTZfdCo+KGZy
b20pLCBmcm9tSW5zdHJ1Y3Rpb24sIHRvKTsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBk
ZWZhdWx0OgogICAgICAgICAgICAgUkVMRUFTRV9BU1NFUlRfTk9UX1JFQUNIRUQoKTsKQEAgLTIx
ODQsNyArMjE5MSw3IEBAIHB1YmxpYzoKICAgICAgICAgQVNTRVJUKGZyb20uaXNTZXQoKSk7CiAg
ICAgICAgIAogICAgICAgICB1aW50MTZfdCogbG9jYXRpb24gPSByZWludGVycHJldF9jYXN0PHVp
bnQxNl90Kj4ocmVpbnRlcnByZXRfY2FzdDxpbnRwdHJfdD4oY29kZSkgKyBmcm9tLm1fb2Zmc2V0
KTsKLSAgICAgICAgbGlua0p1bXBBYnNvbHV0ZShsb2NhdGlvbiwgdG8pOworICAgICAgICBsaW5r
SnVtcEFic29sdXRlKGxvY2F0aW9uLCBsb2NhdGlvbiwgdG8pOwogICAgIH0KIAogICAgIHN0YXRp
YyB2b2lkIGxpbmtDYWxsKHZvaWQqIGNvZGUsIEFzc2VtYmxlckxhYmVsIGZyb20sIHZvaWQqIHRv
KQpAQCAtMjIwNSw3ICsyMjEyLDcgQEAgcHVibGljOgogICAgICAgICBBU1NFUlQoIShyZWludGVy
cHJldF9jYXN0PGludHB0cl90Pihmcm9tKSAmIDEpKTsKICAgICAgICAgQVNTRVJUKCEocmVpbnRl
cnByZXRfY2FzdDxpbnRwdHJfdD4odG8pICYgMSkpOwogCi0gICAgICAgIGxpbmtKdW1wQWJzb2x1
dGUocmVpbnRlcnByZXRfY2FzdDx1aW50MTZfdCo+KGZyb20pLCB0byk7CisgICAgICAgIGxpbmtK
dW1wQWJzb2x1dGUocmVpbnRlcnByZXRfY2FzdDx1aW50MTZfdCo+KGZyb20pLCByZWludGVycHJl
dF9jYXN0PHVpbnQxNl90Kj4oZnJvbSksIHRvKTsKIAogICAgICAgICBjYWNoZUZsdXNoKHJlaW50
ZXJwcmV0X2Nhc3Q8dWludDE2X3QqPihmcm9tKSAtIDUsIDUgKiBzaXplb2YodWludDE2X3QpKTsK
ICAgICB9CkBAIC0yMjQ0LDggKzIyNTEsOSBAQCBwdWJsaWM6CiAgICAgICAgIG9mZnNldCB8PSAo
MSA8PCAxMSk7CiAKICAgICAgICAgdWludDE2X3QqIGxvY2F0aW9uID0gcmVpbnRlcnByZXRfY2Fz
dDx1aW50MTZfdCo+KHdoZXJlKTsKLSAgICAgICAgbG9jYXRpb25bMV0gJj0gfigoMSA8PCAxMikg
LSAxKTsKLSAgICAgICAgbG9jYXRpb25bMV0gfD0gb2Zmc2V0OworICAgICAgICB1aW50MTZfdCBp
bnN0cnVjdGlvbiA9IGxvY2F0aW9uWzFdICYgfigoMSA8PCAxMikgLSAxKTsKKyAgICAgICAgaW5z
dHJ1Y3Rpb24gfD0gb2Zmc2V0OworICAgICAgICBwZXJmb3JtSklUTWVtY3B5KGxvY2F0aW9uICsg
MSwgJmluc3RydWN0aW9uLCBzaXplb2YodWludDE2X3QpKTsKICAgICAgICAgY2FjaGVGbHVzaChs
b2NhdGlvbiwgc2l6ZW9mKHVpbnQxNl90KSAqIDIpOwogICAgIH0KIApAQCAtMjI2OSwxNiArMjI3
NywxNiBAQCBwdWJsaWM6CiAjaWYgT1MoTElOVVgpCiAgICAgICAgIGlmIChjYW5CZUp1bXBUNChy
ZWludGVycHJldF9jYXN0PHVpbnQxNl90Kj4oaW5zdHJ1Y3Rpb25TdGFydCksIHRvKSkgewogICAg
ICAgICAgICAgdWludDE2X3QqIHB0ciA9IHJlaW50ZXJwcmV0X2Nhc3Q8dWludDE2X3QqPihpbnN0
cnVjdGlvblN0YXJ0KSArIDI7Ci0gICAgICAgICAgICBsaW5rSnVtcFQ0KHB0ciwgdG8pOworICAg
ICAgICAgICAgbGlua0p1bXBUNChwdHIsIHB0ciwgdG8pOwogICAgICAgICAgICAgY2FjaGVGbHVz
aChwdHIgLSAyLCBzaXplb2YodWludDE2X3QpICogMik7CiAgICAgICAgIH0gZWxzZSB7CiAgICAg
ICAgICAgICB1aW50MTZfdCogcHRyID0gcmVpbnRlcnByZXRfY2FzdDx1aW50MTZfdCo+KGluc3Ry
dWN0aW9uU3RhcnQpICsgNTsKLSAgICAgICAgICAgIGxpbmtCWChwdHIsIHRvKTsKKyAgICAgICAg
ICAgIGxpbmtCWChwdHIsIHB0ciwgdG8pOwogICAgICAgICAgICAgY2FjaGVGbHVzaChwdHIgLSA1
LCBzaXplb2YodWludDE2X3QpICogNSk7CiAgICAgICAgIH0KICNlbHNlCiAgICAgICAgIHVpbnQx
Nl90KiBwdHIgPSByZWludGVycHJldF9jYXN0PHVpbnQxNl90Kj4oaW5zdHJ1Y3Rpb25TdGFydCkg
KyAyOwotICAgICAgICBsaW5rSnVtcFQ0KHB0ciwgdG8pOworICAgICAgICBsaW5rSnVtcFQ0KHB0
ciwgcHRyLCB0byk7CiAgICAgICAgIGNhY2hlRmx1c2gocHRyIC0gMiwgc2l6ZW9mKHVpbnQxNl90
KSAqIDIpOwogI2VuZGlmCiAgICAgfQpAQCAtMjI5OSwxNCArMjMwNywxNyBAQCBwdWJsaWM6CiAg
ICAgICAgIHN3aXRjaCAocHRyWzBdICYgMHhGRkYwKSB7CiAgICAgICAgIGNhc2UgT1BfTERSX2lt
bV9UMzoKICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICBjYXNlIE9QX0FERF9pbW1fVDM6Cisg
ICAgICAgIGNhc2UgT1BfQUREX2ltbV9UMzogewogICAgICAgICAgICAgQVNTRVJUKCEocHRyWzFd
ICYgMHhGMDAwKSk7Ci0gICAgICAgICAgICBwdHJbMF0gJj0gMHgwMDBGOwotICAgICAgICAgICAg
cHRyWzBdIHw9IE9QX0xEUl9pbW1fVDM7Ci0gICAgICAgICAgICBwdHJbMV0gfD0gKHB0clsxXSAm
IDB4MEYwMCkgPDwgNDsKLSAgICAgICAgICAgIHB0clsxXSAmPSAweEYwRkY7CisgICAgICAgICAg
ICB1aW50MTZfdCBpbnN0cnVjdGlvbnNbMl07CisgICAgICAgICAgICBpbnN0cnVjdGlvbnNbMF0g
PSBwdHJbMF0gJiAweDAwMEY7CisgICAgICAgICAgICBpbnN0cnVjdGlvbnNbMF0gfD0gT1BfTERS
X2ltbV9UMzsKKyAgICAgICAgICAgIGluc3RydWN0aW9uc1sxXSA9IHB0clsxXSB8IChwdHJbMV0g
JiAweDBGMDApIDw8IDQ7CisgICAgICAgICAgICBpbnN0cnVjdGlvbnNbMV0gJj0gMHhGMEZGOwor
ICAgICAgICAgICAgcGVyZm9ybUpJVE1lbWNweShwdHIsIGluc3RydWN0aW9ucywgc2l6ZW9mKHVp
bnQxNl90KSAqIDIpOwogICAgICAgICAgICAgY2FjaGVGbHVzaChwdHIsIHNpemVvZih1aW50MTZf
dCkgKiAyKTsKICAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CiAgICAgICAgIGRlZmF1bHQ6
CiAgICAgICAgICAgICBSRUxFQVNFX0FTU0VSVF9OT1RfUkVBQ0hFRCgpOwogICAgICAgICB9CkBA
IC0yMzE3LDE0ICsyMzI4LDE3IEBAIHB1YmxpYzoKICAgICAgICAgQVNTRVJUKCEoYml0d2lzZV9j
YXN0PHVpbnRwdHJfdD4oaW5zdHJ1Y3Rpb25TdGFydCkgJiAxKSk7CiAgICAgICAgIHVpbnQxNl90
KiBwdHIgPSByZWludGVycHJldF9jYXN0PHVpbnQxNl90Kj4oaW5zdHJ1Y3Rpb25TdGFydCk7CiAg
ICAgICAgIHN3aXRjaCAocHRyWzBdICYgMHhGRkYwKSB7Ci0gICAgICAgIGNhc2UgT1BfTERSX2lt
bV9UMzoKKyAgICAgICAgY2FzZSBPUF9MRFJfaW1tX1QzOiB7CiAgICAgICAgICAgICBBU1NFUlQo
IShwdHJbMV0gJiAweDBGMDApKTsKLSAgICAgICAgICAgIHB0clswXSAmPSAweDAwMEY7Ci0gICAg
ICAgICAgICBwdHJbMF0gfD0gT1BfQUREX2ltbV9UMzsKLSAgICAgICAgICAgIHB0clsxXSB8PSAo
cHRyWzFdICYgMHhGMDAwKSA+PiA0OwotICAgICAgICAgICAgcHRyWzFdICY9IDB4MEZGRjsKKyAg
ICAgICAgICAgIHVpbnQxNl90IGluc3RydWN0aW9uc1syXTsKKyAgICAgICAgICAgIGluc3RydWN0
aW9uc1swXSA9IHB0clswXSAmIDB4MDAwRjsKKyAgICAgICAgICAgIGluc3RydWN0aW9uc1swXSB8
PSBPUF9BRERfaW1tX1QzOworICAgICAgICAgICAgaW5zdHJ1Y3Rpb25zWzFdID0gcHRyWzFdIHwg
KHB0clsxXSAmIDB4RjAwMCkgPj4gNDsKKyAgICAgICAgICAgIGluc3RydWN0aW9uc1sxXSAmPSAw
eDBGRkY7CisgICAgICAgICAgICBwZXJmb3JtSklUTWVtY3B5KHB0ciwgaW5zdHJ1Y3Rpb25zLCBz
aXplb2YodWludDE2X3QpICogMik7CiAgICAgICAgICAgICBjYWNoZUZsdXNoKHB0ciwgc2l6ZW9m
KHVpbnQxNl90KSAqIDIpOwogICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KICAgICAgICAg
Y2FzZSBPUF9BRERfaW1tX1QzOgogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGRlZmF1bHQ6
CkBAIC0yNDUyLDExICsyNDY2LDEzIEBAIHByaXZhdGU6CiAKICAgICAgICAgQVJNVGh1bWJJbW1l
ZGlhdGUgbG8xNiA9IEFSTVRodW1iSW1tZWRpYXRlOjptYWtlVUludDE2KHN0YXRpY19jYXN0PHVp
bnQxNl90Pih2YWx1ZSkpOwogICAgICAgICBBUk1UaHVtYkltbWVkaWF0ZSBoaTE2ID0gQVJNVGh1
bWJJbW1lZGlhdGU6Om1ha2VVSW50MTYoc3RhdGljX2Nhc3Q8dWludDE2X3Q+KHZhbHVlID4+IDE2
KSk7Ci0gICAgICAgIGxvY2F0aW9uWy00XSA9IHR3b1dvcmRPcDVpNkltbTRSZWc0RW5jb2RlZElt
bUZpcnN0KE9QX01PVl9pbW1fVDMsIGxvMTYpOwotICAgICAgICBsb2NhdGlvblstM10gPSB0d29X
b3JkT3A1aTZJbW00UmVnNEVuY29kZWRJbW1TZWNvbmQoKGxvY2F0aW9uWy0zXSA+PiA4KSAmIDB4
ZiwgbG8xNik7Ci0gICAgICAgIGxvY2F0aW9uWy0yXSA9IHR3b1dvcmRPcDVpNkltbTRSZWc0RW5j
b2RlZEltbUZpcnN0KE9QX01PVlQsIGhpMTYpOwotICAgICAgICBsb2NhdGlvblstMV0gPSB0d29X
b3JkT3A1aTZJbW00UmVnNEVuY29kZWRJbW1TZWNvbmQoKGxvY2F0aW9uWy0xXSA+PiA4KSAmIDB4
ZiwgaGkxNik7CisgICAgICAgIHVpbnQxNl90IGluc3RydWN0aW9uc1s0XTsKKyAgICAgICAgaW5z
dHJ1Y3Rpb25zWzBdID0gdHdvV29yZE9wNWk2SW1tNFJlZzRFbmNvZGVkSW1tRmlyc3QoT1BfTU9W
X2ltbV9UMywgbG8xNik7CisgICAgICAgIGluc3RydWN0aW9uc1sxXSA9IHR3b1dvcmRPcDVpNklt
bTRSZWc0RW5jb2RlZEltbVNlY29uZCgobG9jYXRpb25bLTNdID4+IDgpICYgMHhmLCBsbzE2KTsK
KyAgICAgICAgaW5zdHJ1Y3Rpb25zWzJdID0gdHdvV29yZE9wNWk2SW1tNFJlZzRFbmNvZGVkSW1t
Rmlyc3QoT1BfTU9WVCwgaGkxNik7CisgICAgICAgIGluc3RydWN0aW9uc1szXSA9IHR3b1dvcmRP
cDVpNkltbTRSZWc0RW5jb2RlZEltbVNlY29uZCgobG9jYXRpb25bLTFdID4+IDgpICYgMHhmLCBo
aTE2KTsKIAorICAgICAgICBwZXJmb3JtSklUTWVtY3B5KGxvY2F0aW9uIC0gNCwgaW5zdHJ1Y3Rp
b25zLCA0ICogc2l6ZW9mKHVpbnQxNl90KSk7CiAgICAgICAgIGlmIChmbHVzaCkKICAgICAgICAg
ICAgIGNhY2hlRmx1c2gobG9jYXRpb24gLSA0LCA0ICogc2l6ZW9mKHVpbnQxNl90KSk7CiAgICAg
fQpAQCAtMjQ4NCw4ICsyNTAwLDEwIEBAIHByaXZhdGU6CiAgICAgICAgIEFTU0VSVChpbW0uaXNW
YWxpZCgpKTsKICAgICAgICAgQVNTRVJUKGltbS5pc1VJbnQ3KCkpOwogICAgICAgICB1aW50MTZf
dCogbG9jYXRpb24gPSByZWludGVycHJldF9jYXN0PHVpbnQxNl90Kj4oY29kZSk7Ci0gICAgICAg
IGxvY2F0aW9uWzBdICY9IH4oKHN0YXRpY19jYXN0PHVpbnQxNl90PigweDdmKSA+PiAyKSA8PCA2
KTsKLSAgICAgICAgbG9jYXRpb25bMF0gfD0gKGltbS5nZXRVSW50NygpID4+IDIpIDw8IDY7Cisg
ICAgICAgIHVpbnQxNl90IGluc3RydWN0aW9uOworICAgICAgICBpbnN0cnVjdGlvbiA9IGxvY2F0
aW9uWzBdICYgfigoc3RhdGljX2Nhc3Q8dWludDE2X3Q+KDB4N2YpID4+IDIpIDw8IDYpOworICAg
ICAgICBpbnN0cnVjdGlvbiB8PSAoaW1tLmdldFVJbnQ3KCkgPj4gMikgPDwgNjsKKyAgICAgICAg
cGVyZm9ybUpJVE1lbWNweShsb2NhdGlvbiwgJmluc3RydWN0aW9uLCBzaXplb2YodWludDE2X3Qp
KTsKICAgICAgICAgY2FjaGVGbHVzaChsb2NhdGlvbiwgc2l6ZW9mKHVpbnQxNl90KSk7CiAgICAg
fQogCkBAIC0yNDk0LDM5ICsyNTEyLDM5IEBAIHByaXZhdGU6CiAgICAgICAgIHNldEludDMyKGNv
ZGUsIHJlaW50ZXJwcmV0X2Nhc3Q8dWludDMyX3Q+KHZhbHVlKSwgZmx1c2gpOwogICAgIH0KIAot
ICAgIHN0YXRpYyBib29sIGlzQih2b2lkKiBhZGRyZXNzKQorICAgIHN0YXRpYyBib29sIGlzQihj
b25zdCB2b2lkKiBhZGRyZXNzKQogICAgIHsKLSAgICAgICAgdWludDE2X3QqIGluc3RydWN0aW9u
ID0gc3RhdGljX2Nhc3Q8dWludDE2X3QqPihhZGRyZXNzKTsKKyAgICAgICAgY29uc3QgdWludDE2
X3QqIGluc3RydWN0aW9uID0gc3RhdGljX2Nhc3Q8Y29uc3QgdWludDE2X3QqPihhZGRyZXNzKTsK
ICAgICAgICAgcmV0dXJuICgoaW5zdHJ1Y3Rpb25bMF0gJiAweGY4MDApID09IE9QX0JfVDRhKSAm
JiAoKGluc3RydWN0aW9uWzFdICYgMHhkMDAwKSA9PSBPUF9CX1Q0Yik7CiAgICAgfQogCi0gICAg
c3RhdGljIGJvb2wgaXNCWCh2b2lkKiBhZGRyZXNzKQorICAgIHN0YXRpYyBib29sIGlzQlgoY29u
c3Qgdm9pZCogYWRkcmVzcykKICAgICB7Ci0gICAgICAgIHVpbnQxNl90KiBpbnN0cnVjdGlvbiA9
IHN0YXRpY19jYXN0PHVpbnQxNl90Kj4oYWRkcmVzcyk7CisgICAgICAgIGNvbnN0IHVpbnQxNl90
KiBpbnN0cnVjdGlvbiA9IHN0YXRpY19jYXN0PGNvbnN0IHVpbnQxNl90Kj4oYWRkcmVzcyk7CiAg
ICAgICAgIHJldHVybiAoaW5zdHJ1Y3Rpb25bMF0gJiAweGZmODcpID09IE9QX0JYOwogICAgIH0K
IAotICAgIHN0YXRpYyBib29sIGlzTU9WX2ltbV9UMyh2b2lkKiBhZGRyZXNzKQorICAgIHN0YXRp
YyBib29sIGlzTU9WX2ltbV9UMyhjb25zdCB2b2lkKiBhZGRyZXNzKQogICAgIHsKLSAgICAgICAg
dWludDE2X3QqIGluc3RydWN0aW9uID0gc3RhdGljX2Nhc3Q8dWludDE2X3QqPihhZGRyZXNzKTsK
KyAgICAgICAgY29uc3QgdWludDE2X3QqIGluc3RydWN0aW9uID0gc3RhdGljX2Nhc3Q8Y29uc3Qg
dWludDE2X3QqPihhZGRyZXNzKTsKICAgICAgICAgcmV0dXJuICgoaW5zdHJ1Y3Rpb25bMF0gJiAw
eEZCRjApID09IE9QX01PVl9pbW1fVDMpICYmICgoaW5zdHJ1Y3Rpb25bMV0gJiAweDgwMDApID09
IDApOwogICAgIH0KIAotICAgIHN0YXRpYyBib29sIGlzTU9WVCh2b2lkKiBhZGRyZXNzKQorICAg
IHN0YXRpYyBib29sIGlzTU9WVChjb25zdCB2b2lkKiBhZGRyZXNzKQogICAgIHsKLSAgICAgICAg
dWludDE2X3QqIGluc3RydWN0aW9uID0gc3RhdGljX2Nhc3Q8dWludDE2X3QqPihhZGRyZXNzKTsK
KyAgICAgICAgY29uc3QgdWludDE2X3QqIGluc3RydWN0aW9uID0gc3RhdGljX2Nhc3Q8Y29uc3Qg
dWludDE2X3QqPihhZGRyZXNzKTsKICAgICAgICAgcmV0dXJuICgoaW5zdHJ1Y3Rpb25bMF0gJiAw
eEZCRjApID09IE9QX01PVlQpICYmICgoaW5zdHJ1Y3Rpb25bMV0gJiAweDgwMDApID09IDApOwog
ICAgIH0KIAotICAgIHN0YXRpYyBib29sIGlzTk9QX1QxKHZvaWQqIGFkZHJlc3MpCisgICAgc3Rh
dGljIGJvb2wgaXNOT1BfVDEoY29uc3Qgdm9pZCogYWRkcmVzcykKICAgICB7Ci0gICAgICAgIHVp
bnQxNl90KiBpbnN0cnVjdGlvbiA9IHN0YXRpY19jYXN0PHVpbnQxNl90Kj4oYWRkcmVzcyk7Cisg
ICAgICAgIGNvbnN0IHVpbnQxNl90KiBpbnN0cnVjdGlvbiA9IHN0YXRpY19jYXN0PGNvbnN0IHVp
bnQxNl90Kj4oYWRkcmVzcyk7CiAgICAgICAgIHJldHVybiBpbnN0cnVjdGlvblswXSA9PSBPUF9O
T1BfVDE7CiAgICAgfQogCi0gICAgc3RhdGljIGJvb2wgaXNOT1BfVDIodm9pZCogYWRkcmVzcykK
KyAgICBzdGF0aWMgYm9vbCBpc05PUF9UMihjb25zdCB2b2lkKiBhZGRyZXNzKQogICAgIHsKLSAg
ICAgICAgdWludDE2X3QqIGluc3RydWN0aW9uID0gc3RhdGljX2Nhc3Q8dWludDE2X3QqPihhZGRy
ZXNzKTsKKyAgICAgICAgY29uc3QgdWludDE2X3QqIGluc3RydWN0aW9uID0gc3RhdGljX2Nhc3Q8
Y29uc3QgdWludDE2X3QqPihhZGRyZXNzKTsKICAgICAgICAgcmV0dXJuIChpbnN0cnVjdGlvblsw
XSA9PSBPUF9OT1BfVDJhKSAmJiAoaW5zdHJ1Y3Rpb25bMV0gPT0gT1BfTk9QX1QyYik7CiAgICAg
fQogCkBAIC0yNTc0LDcgKzI1OTIsNyBAQCBwcml2YXRlOgogICAgICAgICByZXR1cm4gKChyZWxh
dGl2ZSA8PCA3KSA+PiA3KSA9PSByZWxhdGl2ZTsKICAgICB9CiAgICAgCi0gICAgc3RhdGljIHZv
aWQgbGlua0p1bXBUMShDb25kaXRpb24gY29uZCwgdWludDE2X3QqIGluc3RydWN0aW9uLCB2b2lk
KiB0YXJnZXQpCisgICAgc3RhdGljIHZvaWQgbGlua0p1bXBUMShDb25kaXRpb24gY29uZCwgdWlu
dDE2X3QqIHdyaXRlVGFyZ2V0LCBjb25zdCB1aW50MTZfdCogaW5zdHJ1Y3Rpb24sIHZvaWQqIHRh
cmdldCkKICAgICB7CiAgICAgICAgIC8vIEZJTVhFOiB0aGlzIHNob3VsZCBiZSB1cCBpbiB0aGUg
TWFjcm9Bc3NlbWJsZXIgbGF5ZXIuIDotKCAgICAgICAgCiAgICAgICAgIEFTU0VSVCghKHJlaW50
ZXJwcmV0X2Nhc3Q8aW50cHRyX3Q+KGluc3RydWN0aW9uKSAmIDEpKTsKQEAgLTI1ODksMTAgKzI2
MDcsMTEgQEAgcHJpdmF0ZToKICAgICAgICAgCiAgICAgICAgIC8vIEFsbCBicmFuY2ggb2Zmc2V0
cyBzaG91bGQgYmUgYW4gZXZlbiBkaXN0YW5jZS4KICAgICAgICAgQVNTRVJUKCEocmVsYXRpdmUg
JiAxKSk7Ci0gICAgICAgIGluc3RydWN0aW9uWy0xXSA9IE9QX0JfVDEgfCAoKGNvbmQgJiAweGYp
IDw8IDgpIHwgKChyZWxhdGl2ZSAmIDB4MWZlKSA+PiAxKTsKKyAgICAgICAgdWludDE2X3QgbmV3
SW5zdHJ1Y3Rpb24gPSBPUF9CX1QxIHwgKChjb25kICYgMHhmKSA8PCA4KSB8ICgocmVsYXRpdmUg
JiAweDFmZSkgPj4gMSk7CisgICAgICAgIHBlcmZvcm1KSVRNZW1jcHkod3JpdGVUYXJnZXQgLSAx
LCAmbmV3SW5zdHJ1Y3Rpb24sIHNpemVvZih1aW50MTZfdCkpOwogICAgIH0KICAgICAKLSAgICBz
dGF0aWMgdm9pZCBsaW5rSnVtcFQyKHVpbnQxNl90KiBpbnN0cnVjdGlvbiwgdm9pZCogdGFyZ2V0
KQorICAgIHN0YXRpYyB2b2lkIGxpbmtKdW1wVDIodWludDE2X3QqIHdyaXRlVGFyZ2V0LCBjb25z
dCB1aW50MTZfdCogaW5zdHJ1Y3Rpb24sIHZvaWQqIHRhcmdldCkKICAgICB7CiAgICAgICAgIC8v
IEZJTVhFOiB0aGlzIHNob3VsZCBiZSB1cCBpbiB0aGUgTWFjcm9Bc3NlbWJsZXIgbGF5ZXIuIDot
KCAgICAgICAgCiAgICAgICAgIEFTU0VSVCghKHJlaW50ZXJwcmV0X2Nhc3Q8aW50cHRyX3Q+KGlu
c3RydWN0aW9uKSAmIDEpKTsKQEAgLTI2MDcsMTAgKzI2MjYsMTEgQEAgcHJpdmF0ZToKICAgICAg
ICAgCiAgICAgICAgIC8vIEFsbCBicmFuY2ggb2Zmc2V0cyBzaG91bGQgYmUgYW4gZXZlbiBkaXN0
YW5jZS4KICAgICAgICAgQVNTRVJUKCEocmVsYXRpdmUgJiAxKSk7Ci0gICAgICAgIGluc3RydWN0
aW9uWy0xXSA9IE9QX0JfVDIgfCAoKHJlbGF0aXZlICYgMHhmZmUpID4+IDEpOworICAgICAgICB1
aW50MTZfdCBuZXdJbnN0cnVjdGlvbiA9IE9QX0JfVDIgfCAoKHJlbGF0aXZlICYgMHhmZmUpID4+
IDEpOworICAgICAgICBwZXJmb3JtSklUTWVtY3B5KHdyaXRlVGFyZ2V0IC0gMSwgJm5ld0luc3Ry
dWN0aW9uLCBzaXplb2YodWludDE2X3QpKTsKICAgICB9CiAgICAgCi0gICAgc3RhdGljIHZvaWQg
bGlua0p1bXBUMyhDb25kaXRpb24gY29uZCwgdWludDE2X3QqIGluc3RydWN0aW9uLCB2b2lkKiB0
YXJnZXQpCisgICAgc3RhdGljIHZvaWQgbGlua0p1bXBUMyhDb25kaXRpb24gY29uZCwgdWludDE2
X3QqIHdyaXRlVGFyZ2V0LCBjb25zdCB1aW50MTZfdCogaW5zdHJ1Y3Rpb24sIHZvaWQqIHRhcmdl
dCkKICAgICB7CiAgICAgICAgIC8vIEZJTVhFOiB0aGlzIHNob3VsZCBiZSB1cCBpbiB0aGUgTWFj
cm9Bc3NlbWJsZXIgbGF5ZXIuIDotKAogICAgICAgICBBU1NFUlQoIShyZWludGVycHJldF9jYXN0
PGludHB0cl90PihpbnN0cnVjdGlvbikgJiAxKSk7CkBAIC0yNjIxLDExICsyNjQxLDEzIEBAIHBy
aXZhdGU6CiAgICAgICAgIAogICAgICAgICAvLyBBbGwgYnJhbmNoIG9mZnNldHMgc2hvdWxkIGJl
IGFuIGV2ZW4gZGlzdGFuY2UuCiAgICAgICAgIEFTU0VSVCghKHJlbGF0aXZlICYgMSkpOwotICAg
ICAgICBpbnN0cnVjdGlvblstMl0gPSBPUF9CX1QzYSB8ICgocmVsYXRpdmUgJiAweDEwMDAwMCkg
Pj4gMTApIHwgKChjb25kICYgMHhmKSA8PCA2KSB8ICgocmVsYXRpdmUgJiAweDNmMDAwKSA+PiAx
Mik7Ci0gICAgICAgIGluc3RydWN0aW9uWy0xXSA9IE9QX0JfVDNiIHwgKChyZWxhdGl2ZSAmIDB4
ODAwMDApID4+IDgpIHwgKChyZWxhdGl2ZSAmIDB4NDAwMDApID4+IDUpIHwgKChyZWxhdGl2ZSAm
IDB4ZmZlKSA+PiAxKTsKKyAgICAgICAgdWludDE2X3QgaW5zdHJ1Y3Rpb25zWzJdOworICAgICAg
ICBpbnN0cnVjdGlvbnNbMF0gPSBPUF9CX1QzYSB8ICgocmVsYXRpdmUgJiAweDEwMDAwMCkgPj4g
MTApIHwgKChjb25kICYgMHhmKSA8PCA2KSB8ICgocmVsYXRpdmUgJiAweDNmMDAwKSA+PiAxMik7
CisgICAgICAgIGluc3RydWN0aW9uc1sxXSA9IE9QX0JfVDNiIHwgKChyZWxhdGl2ZSAmIDB4ODAw
MDApID4+IDgpIHwgKChyZWxhdGl2ZSAmIDB4NDAwMDApID4+IDUpIHwgKChyZWxhdGl2ZSAmIDB4
ZmZlKSA+PiAxKTsKKyAgICAgICAgcGVyZm9ybUpJVE1lbWNweSh3cml0ZVRhcmdldCAtIDIsIGlu
c3RydWN0aW9ucywgMiAqIHNpemVvZih1aW50MTZfdCkpOwogICAgIH0KICAgICAKLSAgICBzdGF0
aWMgdm9pZCBsaW5rSnVtcFQ0KHVpbnQxNl90KiBpbnN0cnVjdGlvbiwgdm9pZCogdGFyZ2V0KQor
ICAgIHN0YXRpYyB2b2lkIGxpbmtKdW1wVDQodWludDE2X3QqIHdyaXRlVGFyZ2V0LCBjb25zdCB1
aW50MTZfdCogaW5zdHJ1Y3Rpb24sIHZvaWQqIHRhcmdldCkKICAgICB7CiAgICAgICAgIC8vIEZJ
TVhFOiB0aGlzIHNob3VsZCBiZSB1cCBpbiB0aGUgTWFjcm9Bc3NlbWJsZXIgbGF5ZXIuIDotKCAg
ICAgICAgCiAgICAgICAgIEFTU0VSVCghKHJlaW50ZXJwcmV0X2Nhc3Q8aW50cHRyX3Q+KGluc3Ry
dWN0aW9uKSAmIDEpKTsKQEAgLTI2MzksNDcgKzI2NjEsNTUgQEAgcHJpdmF0ZToKICAgICAgICAg
CiAgICAgICAgIC8vIEFsbCBicmFuY2ggb2Zmc2V0cyBzaG91bGQgYmUgYW4gZXZlbiBkaXN0YW5j
ZS4KICAgICAgICAgQVNTRVJUKCEocmVsYXRpdmUgJiAxKSk7Ci0gICAgICAgIGluc3RydWN0aW9u
Wy0yXSA9IE9QX0JfVDRhIHwgKChyZWxhdGl2ZSAmIDB4MTAwMDAwMCkgPj4gMTQpIHwgKChyZWxh
dGl2ZSAmIDB4M2ZmMDAwKSA+PiAxMik7Ci0gICAgICAgIGluc3RydWN0aW9uWy0xXSA9IE9QX0Jf
VDRiIHwgKChyZWxhdGl2ZSAmIDB4ODAwMDAwKSA+PiAxMCkgfCAoKHJlbGF0aXZlICYgMHg0MDAw
MDApID4+IDExKSB8ICgocmVsYXRpdmUgJiAweGZmZSkgPj4gMSk7CisgICAgICAgIHVpbnQxNl90
IGluc3RydWN0aW9uc1syXTsKKyAgICAgICAgaW5zdHJ1Y3Rpb25zWzBdID0gT1BfQl9UNGEgfCAo
KHJlbGF0aXZlICYgMHgxMDAwMDAwKSA+PiAxNCkgfCAoKHJlbGF0aXZlICYgMHgzZmYwMDApID4+
IDEyKTsKKyAgICAgICAgaW5zdHJ1Y3Rpb25zWzFdID0gT1BfQl9UNGIgfCAoKHJlbGF0aXZlICYg
MHg4MDAwMDApID4+IDEwKSB8ICgocmVsYXRpdmUgJiAweDQwMDAwMCkgPj4gMTEpIHwgKChyZWxh
dGl2ZSAmIDB4ZmZlKSA+PiAxKTsKKyAgICAgICAgcGVyZm9ybUpJVE1lbWNweSh3cml0ZVRhcmdl
dCAtIDIsIGluc3RydWN0aW9ucywgMiAqIHNpemVvZih1aW50MTZfdCkpOwogICAgIH0KICAgICAK
LSAgICBzdGF0aWMgdm9pZCBsaW5rQ29uZGl0aW9uYWxKdW1wVDQoQ29uZGl0aW9uIGNvbmQsIHVp
bnQxNl90KiBpbnN0cnVjdGlvbiwgdm9pZCogdGFyZ2V0KQorICAgIHN0YXRpYyB2b2lkIGxpbmtD
b25kaXRpb25hbEp1bXBUNChDb25kaXRpb24gY29uZCwgdWludDE2X3QqIHdyaXRlVGFyZ2V0LCBj
b25zdCB1aW50MTZfdCogaW5zdHJ1Y3Rpb24sIHZvaWQqIHRhcmdldCkKICAgICB7CiAgICAgICAg
IC8vIEZJTVhFOiB0aGlzIHNob3VsZCBiZSB1cCBpbiB0aGUgTWFjcm9Bc3NlbWJsZXIgbGF5ZXIu
IDotKCAgICAgICAgCiAgICAgICAgIEFTU0VSVCghKHJlaW50ZXJwcmV0X2Nhc3Q8aW50cHRyX3Q+
KGluc3RydWN0aW9uKSAmIDEpKTsKICAgICAgICAgQVNTRVJUKCEocmVpbnRlcnByZXRfY2FzdDxp
bnRwdHJfdD4odGFyZ2V0KSAmIDEpKTsKICAgICAgICAgCi0gICAgICAgIGluc3RydWN0aW9uWy0z
XSA9IGlmVGhlbkVsc2UoY29uZCkgfCBPUF9JVDsKLSAgICAgICAgbGlua0p1bXBUNChpbnN0cnVj
dGlvbiwgdGFyZ2V0KTsKKyAgICAgICAgdWludDE2X3QgbmV3SW5zdHJ1Y3Rpb24gPSBpZlRoZW5F
bHNlKGNvbmQpIHwgT1BfSVQ7CisgICAgICAgIHBlcmZvcm1KSVRNZW1jcHkod3JpdGVUYXJnZXQg
LSAzLCAmbmV3SW5zdHJ1Y3Rpb24sIHNpemVvZih1aW50MTZfdCkpOworICAgICAgICBsaW5rSnVt
cFQ0KHdyaXRlVGFyZ2V0LCBpbnN0cnVjdGlvbiwgdGFyZ2V0KTsKICAgICB9CiAgICAgCi0gICAg
c3RhdGljIHZvaWQgbGlua0JYKHVpbnQxNl90KiBpbnN0cnVjdGlvbiwgdm9pZCogdGFyZ2V0KQor
ICAgIHN0YXRpYyB2b2lkIGxpbmtCWCh1aW50MTZfdCogd3JpdGVUYXJnZXQsIGNvbnN0IHVpbnQx
Nl90KiBpbnN0cnVjdGlvbiwgdm9pZCogdGFyZ2V0KQogICAgIHsKICAgICAgICAgLy8gRklNWEU6
IHRoaXMgc2hvdWxkIGJlIHVwIGluIHRoZSBNYWNyb0Fzc2VtYmxlciBsYXllci4gOi0oCi0gICAg
ICAgIEFTU0VSVCghKHJlaW50ZXJwcmV0X2Nhc3Q8aW50cHRyX3Q+KGluc3RydWN0aW9uKSAmIDEp
KTsKKyAgICAgICAgQVNTRVJUX1VOVVNFRChpbnN0cnVjdGlvbiwgIShyZWludGVycHJldF9jYXN0
PGludHB0cl90PihpbnN0cnVjdGlvbikgJiAxKSk7CisgICAgICAgIEFTU0VSVCghKHJlaW50ZXJw
cmV0X2Nhc3Q8aW50cHRyX3Q+KHdyaXRlVGFyZ2V0KSAmIDEpKTsKICAgICAgICAgQVNTRVJUKCEo
cmVpbnRlcnByZXRfY2FzdDxpbnRwdHJfdD4odGFyZ2V0KSAmIDEpKTsKICAgICAgICAgCiAgICAg
ICAgIGNvbnN0IHVpbnQxNl90IEpVTVBfVEVNUE9SQVJZX1JFR0lTVEVSID0gQVJNUmVnaXN0ZXJz
OjppcDsKICAgICAgICAgQVJNVGh1bWJJbW1lZGlhdGUgbG8xNiA9IEFSTVRodW1iSW1tZWRpYXRl
OjptYWtlVUludDE2KHN0YXRpY19jYXN0PHVpbnQxNl90PihyZWludGVycHJldF9jYXN0PHVpbnQz
Ml90Pih0YXJnZXQpICsgMSkpOwogICAgICAgICBBUk1UaHVtYkltbWVkaWF0ZSBoaTE2ID0gQVJN
VGh1bWJJbW1lZGlhdGU6Om1ha2VVSW50MTYoc3RhdGljX2Nhc3Q8dWludDE2X3Q+KHJlaW50ZXJw
cmV0X2Nhc3Q8dWludDMyX3Q+KHRhcmdldCkgPj4gMTYpKTsKLSAgICAgICAgaW5zdHJ1Y3Rpb25b
LTVdID0gdHdvV29yZE9wNWk2SW1tNFJlZzRFbmNvZGVkSW1tRmlyc3QoT1BfTU9WX2ltbV9UMywg
bG8xNik7Ci0gICAgICAgIGluc3RydWN0aW9uWy00XSA9IHR3b1dvcmRPcDVpNkltbTRSZWc0RW5j
b2RlZEltbVNlY29uZChKVU1QX1RFTVBPUkFSWV9SRUdJU1RFUiwgbG8xNik7Ci0gICAgICAgIGlu
c3RydWN0aW9uWy0zXSA9IHR3b1dvcmRPcDVpNkltbTRSZWc0RW5jb2RlZEltbUZpcnN0KE9QX01P
VlQsIGhpMTYpOwotICAgICAgICBpbnN0cnVjdGlvblstMl0gPSB0d29Xb3JkT3A1aTZJbW00UmVn
NEVuY29kZWRJbW1TZWNvbmQoSlVNUF9URU1QT1JBUllfUkVHSVNURVIsIGhpMTYpOwotICAgICAg
ICBpbnN0cnVjdGlvblstMV0gPSBPUF9CWCB8IChKVU1QX1RFTVBPUkFSWV9SRUdJU1RFUiA8PCAz
KTsKKyAgICAgICAgdWludDE2X3QgaW5zdHJ1Y3Rpb25zWzVdOworICAgICAgICBpbnN0cnVjdGlv
bnNbMF0gPSB0d29Xb3JkT3A1aTZJbW00UmVnNEVuY29kZWRJbW1GaXJzdChPUF9NT1ZfaW1tX1Qz
LCBsbzE2KTsKKyAgICAgICAgaW5zdHJ1Y3Rpb25zWzFdID0gdHdvV29yZE9wNWk2SW1tNFJlZzRF
bmNvZGVkSW1tU2Vjb25kKEpVTVBfVEVNUE9SQVJZX1JFR0lTVEVSLCBsbzE2KTsKKyAgICAgICAg
aW5zdHJ1Y3Rpb25zWzJdID0gdHdvV29yZE9wNWk2SW1tNFJlZzRFbmNvZGVkSW1tRmlyc3QoT1Bf
TU9WVCwgaGkxNik7CisgICAgICAgIGluc3RydWN0aW9uc1szXSA9IHR3b1dvcmRPcDVpNkltbTRS
ZWc0RW5jb2RlZEltbVNlY29uZChKVU1QX1RFTVBPUkFSWV9SRUdJU1RFUiwgaGkxNik7CisgICAg
ICAgIGluc3RydWN0aW9uc1s0XSA9IE9QX0JYIHwgKEpVTVBfVEVNUE9SQVJZX1JFR0lTVEVSIDw8
IDMpOworCisgICAgICAgIHBlcmZvcm1KSVRNZW1jcHkod3JpdGVUYXJnZXQgLSA1LCBpbnN0cnVj
dGlvbnMsIDUgKiBzaXplb2YodWludDE2X3QpKTsKICAgICB9CiAgICAgCi0gICAgc3RhdGljIHZv
aWQgbGlua0NvbmRpdGlvbmFsQlgoQ29uZGl0aW9uIGNvbmQsIHVpbnQxNl90KiBpbnN0cnVjdGlv
biwgdm9pZCogdGFyZ2V0KQorICAgIHN0YXRpYyB2b2lkIGxpbmtDb25kaXRpb25hbEJYKENvbmRp
dGlvbiBjb25kLCB1aW50MTZfdCogd3JpdGVUYXJnZXQsIGNvbnN0IHVpbnQxNl90KiBpbnN0cnVj
dGlvbiwgdm9pZCogdGFyZ2V0KQogICAgIHsKICAgICAgICAgLy8gRklNWEU6IHRoaXMgc2hvdWxk
IGJlIHVwIGluIHRoZSBNYWNyb0Fzc2VtYmxlciBsYXllci4gOi0oICAgICAgICAKICAgICAgICAg
QVNTRVJUKCEocmVpbnRlcnByZXRfY2FzdDxpbnRwdHJfdD4oaW5zdHJ1Y3Rpb24pICYgMSkpOwog
ICAgICAgICBBU1NFUlQoIShyZWludGVycHJldF9jYXN0PGludHB0cl90Pih0YXJnZXQpICYgMSkp
OwogICAgICAgICAKLSAgICAgICAgbGlua0JYKGluc3RydWN0aW9uLCB0YXJnZXQpOwotICAgICAg
ICBpbnN0cnVjdGlvblstNl0gPSBpZlRoZW5FbHNlKGNvbmQsIHRydWUsIHRydWUpIHwgT1BfSVQ7
CisgICAgICAgIGxpbmtCWCh3cml0ZVRhcmdldCwgaW5zdHJ1Y3Rpb24sIHRhcmdldCk7CisgICAg
ICAgIHVpbnQxNl90IG5ld0luc3RydWN0aW9uID0gaWZUaGVuRWxzZShjb25kLCB0cnVlLCB0cnVl
KSB8IE9QX0lUOworICAgICAgICBwZXJmb3JtSklUTWVtY3B5KHdyaXRlVGFyZ2V0IC0gNiwgJm5l
d0luc3RydWN0aW9uLCBzaXplb2YodWludDE2X3QpKTsKICAgICB9CiAgICAgCi0gICAgc3RhdGlj
IHZvaWQgbGlua0p1bXBBYnNvbHV0ZSh1aW50MTZfdCogaW5zdHJ1Y3Rpb24sIHZvaWQqIHRhcmdl
dCkKKyAgICBzdGF0aWMgdm9pZCBsaW5rSnVtcEFic29sdXRlKHVpbnQxNl90KiB3cml0ZVRhcmdl
dCwgY29uc3QgdWludDE2X3QqIGluc3RydWN0aW9uLCB2b2lkKiB0YXJnZXQpCiAgICAgewogICAg
ICAgICAvLyBGSU1YRTogdGhpcyBzaG91bGQgYmUgdXAgaW4gdGhlIE1hY3JvQXNzZW1ibGVyIGxh
eWVyLiA6LSgKICAgICAgICAgQVNTRVJUKCEocmVpbnRlcnByZXRfY2FzdDxpbnRwdHJfdD4oaW5z
dHJ1Y3Rpb24pICYgMSkpOwpAQCAtMjY4NywyNiArMjcxNywzMSBAQCBwcml2YXRlOgogICAgICAg
ICAKICAgICAgICAgQVNTRVJUKChpc01PVl9pbW1fVDMoaW5zdHJ1Y3Rpb24gLSA1KSAmJiBpc01P
VlQoaW5zdHJ1Y3Rpb24gLSAzKSAmJiBpc0JYKGluc3RydWN0aW9uIC0gMSkpCiAgICAgICAgICAg
ICAgICB8fCAoaXNOT1BfVDEoaW5zdHJ1Y3Rpb24gLSA1KSAmJiBpc05PUF9UMihpbnN0cnVjdGlv
biAtIDQpICYmIGlzQihpbnN0cnVjdGlvbiAtIDIpKSk7Ci0gICAgICAgIAorCiAgICAgICAgIGlm
IChjYW5CZUp1bXBUNChpbnN0cnVjdGlvbiwgdGFyZ2V0KSkgewogICAgICAgICAgICAgLy8gVGhl
cmUgbWF5IGJlIGEgYmV0dGVyIHdheSB0byBmaXggdGhpcywgYnV0IHJpZ2h0IG5vdyBwdXQgdGhl
IE5PUHMgZmlyc3QsIHNpbmNlIGluIHRoZQogICAgICAgICAgICAgLy8gY2FzZSBvZiBhbiBjb25k
aXRpb25hbCBicmFuY2ggdGhpcyB3aWxsIGJlIGNvbWluZyBhZnRlciBhbiBJVFRUIHByZWRpY2F0
aW5nICp0aHJlZSoKICAgICAgICAgICAgIC8vIGluc3RydWN0aW9ucyEgIExvb2tpbmcgYmFja3dh
cmRzIHRvIG1vZGlmeSB0aGUgSVRUVCB0byBhbiBJVCBpcyBub3QgZWFzeSwgZHVlIHRvCiAgICAg
ICAgICAgICAvLyB2YXJpYWJsZSB3ZGl0aCBlbmNvZGluZyAtIHRoZSBwcmV2aW91cyBpbnN0cnVj
dGlvbiBtaWdodCAqbG9vayogbGlrZSBhbiBJVFRUIGJ1dAogICAgICAgICAgICAgLy8gYWN0dWFs
bHkgYmUgdGhlIHNlY29uZCBoYWxmIG9mIGEgMi13b3JkIG9wLgotICAgICAgICAgICAgaW5zdHJ1
Y3Rpb25bLTVdID0gT1BfTk9QX1QxOwotICAgICAgICAgICAgaW5zdHJ1Y3Rpb25bLTRdID0gT1Bf
Tk9QX1QyYTsKLSAgICAgICAgICAgIGluc3RydWN0aW9uWy0zXSA9IE9QX05PUF9UMmI7Ci0gICAg
ICAgICAgICBsaW5rSnVtcFQ0KGluc3RydWN0aW9uLCB0YXJnZXQpOworICAgICAgICAgICAgdWlu
dDE2X3QgaW5zdHJ1Y3Rpb25zWzNdOworICAgICAgICAgICAgaW5zdHJ1Y3Rpb25zWzBdID0gT1Bf
Tk9QX1QxOworICAgICAgICAgICAgaW5zdHJ1Y3Rpb25zWzFdID0gT1BfTk9QX1QyYTsKKyAgICAg
ICAgICAgIGluc3RydWN0aW9uc1syXSA9IE9QX05PUF9UMmI7CisgICAgICAgICAgICBwZXJmb3Jt
SklUTWVtY3B5KHdyaXRlVGFyZ2V0IC0gNSwgaW5zdHJ1Y3Rpb25zLCAzICogc2l6ZW9mKHVpbnQx
Nl90KSk7CisgICAgICAgICAgICBsaW5rSnVtcFQ0KHdyaXRlVGFyZ2V0LCBpbnN0cnVjdGlvbiwg
dGFyZ2V0KTsKICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgIGNvbnN0IHVpbnQxNl90IEpV
TVBfVEVNUE9SQVJZX1JFR0lTVEVSID0gQVJNUmVnaXN0ZXJzOjppcDsKICAgICAgICAgICAgIEFS
TVRodW1iSW1tZWRpYXRlIGxvMTYgPSBBUk1UaHVtYkltbWVkaWF0ZTo6bWFrZVVJbnQxNihzdGF0
aWNfY2FzdDx1aW50MTZfdD4ocmVpbnRlcnByZXRfY2FzdDx1aW50MzJfdD4odGFyZ2V0KSArIDEp
KTsKICAgICAgICAgICAgIEFSTVRodW1iSW1tZWRpYXRlIGhpMTYgPSBBUk1UaHVtYkltbWVkaWF0
ZTo6bWFrZVVJbnQxNihzdGF0aWNfY2FzdDx1aW50MTZfdD4ocmVpbnRlcnByZXRfY2FzdDx1aW50
MzJfdD4odGFyZ2V0KSA+PiAxNikpOwotICAgICAgICAgICAgaW5zdHJ1Y3Rpb25bLTVdID0gdHdv
V29yZE9wNWk2SW1tNFJlZzRFbmNvZGVkSW1tRmlyc3QoT1BfTU9WX2ltbV9UMywgbG8xNik7Ci0g
ICAgICAgICAgICBpbnN0cnVjdGlvblstNF0gPSB0d29Xb3JkT3A1aTZJbW00UmVnNEVuY29kZWRJ
bW1TZWNvbmQoSlVNUF9URU1QT1JBUllfUkVHSVNURVIsIGxvMTYpOwotICAgICAgICAgICAgaW5z
dHJ1Y3Rpb25bLTNdID0gdHdvV29yZE9wNWk2SW1tNFJlZzRFbmNvZGVkSW1tRmlyc3QoT1BfTU9W
VCwgaGkxNik7Ci0gICAgICAgICAgICBpbnN0cnVjdGlvblstMl0gPSB0d29Xb3JkT3A1aTZJbW00
UmVnNEVuY29kZWRJbW1TZWNvbmQoSlVNUF9URU1QT1JBUllfUkVHSVNURVIsIGhpMTYpOwotICAg
ICAgICAgICAgaW5zdHJ1Y3Rpb25bLTFdID0gT1BfQlggfCAoSlVNUF9URU1QT1JBUllfUkVHSVNU
RVIgPDwgMyk7CisKKyAgICAgICAgICAgIHVpbnQxNl90IGluc3RydWN0aW9uc1s1XTsKKyAgICAg
ICAgICAgIGluc3RydWN0aW9uc1swXSA9IHR3b1dvcmRPcDVpNkltbTRSZWc0RW5jb2RlZEltbUZp
cnN0KE9QX01PVl9pbW1fVDMsIGxvMTYpOworICAgICAgICAgICAgaW5zdHJ1Y3Rpb25zWzFdID0g
dHdvV29yZE9wNWk2SW1tNFJlZzRFbmNvZGVkSW1tU2Vjb25kKEpVTVBfVEVNUE9SQVJZX1JFR0lT
VEVSLCBsbzE2KTsKKyAgICAgICAgICAgIGluc3RydWN0aW9uc1syXSA9IHR3b1dvcmRPcDVpNklt
bTRSZWc0RW5jb2RlZEltbUZpcnN0KE9QX01PVlQsIGhpMTYpOworICAgICAgICAgICAgaW5zdHJ1
Y3Rpb25zWzNdID0gdHdvV29yZE9wNWk2SW1tNFJlZzRFbmNvZGVkSW1tU2Vjb25kKEpVTVBfVEVN
UE9SQVJZX1JFR0lTVEVSLCBoaTE2KTsKKyAgICAgICAgICAgIGluc3RydWN0aW9uc1s0XSA9IE9Q
X0JYIHwgKEpVTVBfVEVNUE9SQVJZX1JFR0lTVEVSIDw8IDMpOworICAgICAgICAgICAgcGVyZm9y
bUpJVE1lbWNweSh3cml0ZVRhcmdldCAtIDUsIGluc3RydWN0aW9ucywgNSAqIHNpemVvZih1aW50
MTZfdCkpOwogICAgICAgICB9CiAgICAgfQogICAgIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2Fzc2VtYmxlci9MaW5rQnVmZmVyLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9hc3NlbWJsZXIvTGlua0J1ZmZlci5jcHAKaW5kZXggZjBmYmM1MDk2YjI0OTFlN2NmY2ExYWZk
ZTIzODg4NzQ5MTJkNTliNS4uNWZjYWVhNDkzMTI5NzAyY2MzOWE0M2I2YTc3ZDQ1MWFlOTNlN2Vl
YSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9MaW5rQnVmZmVy
LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL0xpbmtCdWZmZXIuY3Bw
CkBAIC0xMDUsMTIgKzEwNSwxMSBAQCB2b2lkIExpbmtCdWZmZXI6OmNvcHlDb21wYWN0QW5kTGlu
a0NvZGUoTWFjcm9Bc3NlbWJsZXImIG1hY3JvQXNzZW1ibGVyLCB2b2lkKiBvdwogICAgIFZlY3Rv
cjxMaW5rUmVjb3JkLCAwLCBVbnNhZmVWZWN0b3JPdmVyZmxvdz4mIGp1bXBzVG9MaW5rID0gbWFj
cm9Bc3NlbWJsZXIuanVtcHNUb0xpbmsoKTsKICAgICBtX2Fzc2VtYmxlclN0b3JhZ2UgPSBtYWNy
b0Fzc2VtYmxlci5tX2Fzc2VtYmxlci5idWZmZXIoKS5yZWxlYXNlQXNzZW1ibGVyRGF0YSgpOwog
ICAgIHVpbnQ4X3QqIGluRGF0YSA9IHJlaW50ZXJwcmV0X2Nhc3Q8dWludDhfdCo+KG1fYXNzZW1i
bGVyU3RvcmFnZS5idWZmZXIoKSk7Ci0jaWYgRU5BQkxFKFNFUEFSQVRFRF9XWF9IRUFQKQorCiAg
ICAgQXNzZW1ibGVyRGF0YSBvdXRCdWZmZXIobV9zaXplKTsKICAgICB1aW50OF90KiBvdXREYXRh
ID0gcmVpbnRlcnByZXRfY2FzdDx1aW50OF90Kj4ob3V0QnVmZmVyLmJ1ZmZlcigpKTsKLSNlbHNl
Ci0gICAgdWludDhfdCogb3V0RGF0YSA9IHJlaW50ZXJwcmV0X2Nhc3Q8dWludDhfdCo+KG1fY29k
ZSk7Ci0jZW5kaWYKKyAgICB1aW50OF90KiBjb2RlT3V0RGF0YSA9IHJlaW50ZXJwcmV0X2Nhc3Q8
dWludDhfdCo+KG1fY29kZSk7CisKICAgICBpbnQgcmVhZFB0ciA9IDA7CiAgICAgaW50IHdyaXRl
UHRyID0gMDsKICAgICB1bnNpZ25lZCBqdW1wQ291bnQgPSBqdW1wc1RvTGluay5zaXplKCk7CkBA
IC0xMzYsMTEgKzEzNSwxMSBAQCB2b2lkIExpbmtCdWZmZXI6OmNvcHlDb21wYWN0QW5kTGlua0Nv
ZGUoTWFjcm9Bc3NlbWJsZXImIG1hY3JvQXNzZW1ibGVyLCB2b2lkKiBvdwogICAgICAgICAvLyBi
cmFuY2hlcyB3ZSBuZWVkIHRvIGJlIHByZWNpc2UsIGZvcndhcmQgYnJhbmNoZXMgd2UgYXJlIHBl
c3NpbWlzdGljCiAgICAgICAgIGNvbnN0IHVpbnQ4X3QqIHRhcmdldDsKICAgICAgICAgaWYgKGp1
bXBzVG9MaW5rW2ldLnRvKCkgPj0ganVtcHNUb0xpbmtbaV0uZnJvbSgpKQotICAgICAgICAgICAg
dGFyZ2V0ID0gb3V0RGF0YSArIGp1bXBzVG9MaW5rW2ldLnRvKCkgLSBvZmZzZXQ7IC8vIENvbXBl
bnNhdGUgZm9yIHdoYXQgd2UgaGF2ZSBjb2xsYXBzZWQgc28gZmFyCisgICAgICAgICAgICB0YXJn
ZXQgPSBjb2RlT3V0RGF0YSArIGp1bXBzVG9MaW5rW2ldLnRvKCkgLSBvZmZzZXQ7IC8vIENvbXBl
bnNhdGUgZm9yIHdoYXQgd2UgaGF2ZSBjb2xsYXBzZWQgc28gZmFyCiAgICAgICAgIGVsc2UKLSAg
ICAgICAgICAgIHRhcmdldCA9IG91dERhdGEgKyBqdW1wc1RvTGlua1tpXS50bygpIC0gZXhlY3V0
YWJsZU9mZnNldEZvcihqdW1wc1RvTGlua1tpXS50bygpKTsKKyAgICAgICAgICAgIHRhcmdldCA9
IGNvZGVPdXREYXRhICsganVtcHNUb0xpbmtbaV0udG8oKSAtIGV4ZWN1dGFibGVPZmZzZXRGb3Io
anVtcHNUb0xpbmtbaV0udG8oKSk7CiAgICAgICAgICAgICAKLSAgICAgICAgSnVtcExpbmtUeXBl
IGp1bXBMaW5rVHlwZSA9IE1hY3JvQXNzZW1ibGVyOjpjb21wdXRlSnVtcFR5cGUoanVtcHNUb0xp
bmtbaV0sIG91dERhdGEgKyB3cml0ZVB0ciwgdGFyZ2V0KTsKKyAgICAgICAgSnVtcExpbmtUeXBl
IGp1bXBMaW5rVHlwZSA9IE1hY3JvQXNzZW1ibGVyOjpjb21wdXRlSnVtcFR5cGUoanVtcHNUb0xp
bmtbaV0sIGNvZGVPdXREYXRhICsgd3JpdGVQdHIsIHRhcmdldCk7CiAgICAgICAgIC8vIENvbXBh
Y3QgYnJhbmNoIGlmIHdlIGNhbi4uLgogICAgICAgICBpZiAoTWFjcm9Bc3NlbWJsZXI6OmNhbkNv
bXBhY3QoanVtcHNUb0xpbmtbaV0udHlwZSgpKSkgewogICAgICAgICAgICAgLy8gU3RlcCBiYWNr
IGluIHRoZSB3cml0ZSBzdHJlYW0KQEAgLTE1NywxNyArMTU2LDE1IEBAIHZvaWQgTGlua0J1ZmZl
cjo6Y29weUNvbXBhY3RBbmRMaW5rQ29kZShNYWNyb0Fzc2VtYmxlciYgbWFjcm9Bc3NlbWJsZXIs
IHZvaWQqIG93CiAgICAgcmVjb3JkTGlua09mZnNldHMobV9hc3NlbWJsZXJTdG9yYWdlLCByZWFk
UHRyLCBtX2luaXRpYWxTaXplLCByZWFkUHRyIC0gd3JpdGVQdHIpOwogICAgICAgICAKICAgICBm
b3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwganVtcENvdW50OyArK2kpIHsKLSAgICAgICAgdWludDhf
dCogbG9jYXRpb24gPSBvdXREYXRhICsganVtcHNUb0xpbmtbaV0uZnJvbSgpOwotICAgICAgICB1
aW50OF90KiB0YXJnZXQgPSBvdXREYXRhICsganVtcHNUb0xpbmtbaV0udG8oKSAtIGV4ZWN1dGFi
bGVPZmZzZXRGb3IoanVtcHNUb0xpbmtbaV0udG8oKSk7Ci0gICAgICAgIE1hY3JvQXNzZW1ibGVy
OjpsaW5rKGp1bXBzVG9MaW5rW2ldLCBsb2NhdGlvbiwgdGFyZ2V0KTsKKyAgICAgICAgdWludDhf
dCogbG9jYXRpb24gPSBjb2RlT3V0RGF0YSArIGp1bXBzVG9MaW5rW2ldLmZyb20oKTsKKyAgICAg
ICAgdWludDhfdCogdGFyZ2V0ID0gY29kZU91dERhdGEgKyBqdW1wc1RvTGlua1tpXS50bygpIC0g
ZXhlY3V0YWJsZU9mZnNldEZvcihqdW1wc1RvTGlua1tpXS50bygpKTsKKyAgICAgICAgTWFjcm9B
c3NlbWJsZXI6OmxpbmsoanVtcHNUb0xpbmtbaV0sIG91dERhdGEgKyBqdW1wc1RvTGlua1tpXS5m
cm9tKCksIGxvY2F0aW9uLCB0YXJnZXQpOwogICAgIH0KIAogICAgIGp1bXBzVG9MaW5rLmNsZWFy
KCk7CiAgICAgc2hyaW5rKHdyaXRlUHRyICsgbV9pbml0aWFsU2l6ZSAtIHJlYWRQdHIpOwogCi0j
aWYgRU5BQkxFKFNFUEFSQVRFRF9XWF9IRUFQKQogICAgIHBlcmZvcm1KSVRNZW1jcHkobV9jb2Rl
LCBvdXRCdWZmZXIuYnVmZmVyKCksIG1fc2l6ZSk7Ci0jZW5kaWYKIAogI2lmIERVTVBfTElOS19T
VEFUSVNUSUNTCiAgICAgZHVtcExpbmtTdGF0aXN0aWNzKG1fY29kZSwgbV9pbml0aWFsU2l6ZSwg
bV9zaXplKTsKQEAgLTE5Myw3ICsxOTAsNyBAQCB2b2lkIExpbmtCdWZmZXI6OmxpbmtDb2RlKE1h
Y3JvQXNzZW1ibGVyJiBtYWNyb0Fzc2VtYmxlciwgdm9pZCogb3duZXJVSUQsIEpJVENvbQogI2lm
IENQVShBUk1fVFJBRElUSU9OQUwpCiAgICAgbWFjcm9Bc3NlbWJsZXIubV9hc3NlbWJsZXIucHJl
cGFyZUV4ZWN1dGFibGVDb3B5KG1fY29kZSk7CiAjZW5kaWYKLSAgICBtZW1jcHkobV9jb2RlLCBi
dWZmZXIuZGF0YSgpLCBidWZmZXIuY29kZVNpemUoKSk7CisgICAgcGVyZm9ybUpJVE1lbWNweSht
X2NvZGUsIGJ1ZmZlci5kYXRhKCksIGJ1ZmZlci5jb2RlU2l6ZSgpKTsKICNpZiBDUFUoTUlQUykK
ICAgICBtYWNyb0Fzc2VtYmxlci5tX2Fzc2VtYmxlci5yZWxvY2F0ZUp1bXBzKGJ1ZmZlci5kYXRh
KCksIG1fY29kZSk7CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9h
c3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJBUk02NC5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Fz
c2VtYmxlci9NYWNyb0Fzc2VtYmxlckFSTTY0LmgKaW5kZXggZGU3ZTBlNGMyMjk0MTRjODFkZDhj
MGNkYWJhZDBkMGIwYzE2MzE1OS4uMjBmNmQwMWQwNTIyOTdiNDA2NzU4MTZmNjJlM2E0M2IwZDQz
OTAyNiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9NYWNyb0Fz
c2VtYmxlckFSTTY0LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9NYWNy
b0Fzc2VtYmxlckFSTTY0LmgKQEAgLTc4LDcgKzc4LDcgQEAgcHVibGljOgogICAgIHN0YXRpYyBK
dW1wTGlua1R5cGUgY29tcHV0ZUp1bXBUeXBlKEp1bXBUeXBlIGp1bXBUeXBlLCBjb25zdCB1aW50
OF90KiBmcm9tLCBjb25zdCB1aW50OF90KiB0bykgeyByZXR1cm4gQVJNNjRBc3NlbWJsZXI6OmNv
bXB1dGVKdW1wVHlwZShqdW1wVHlwZSwgZnJvbSwgdG8pOyB9CiAgICAgc3RhdGljIEp1bXBMaW5r
VHlwZSBjb21wdXRlSnVtcFR5cGUoTGlua1JlY29yZCYgcmVjb3JkLCBjb25zdCB1aW50OF90KiBm
cm9tLCBjb25zdCB1aW50OF90KiB0bykgeyByZXR1cm4gQVJNNjRBc3NlbWJsZXI6OmNvbXB1dGVK
dW1wVHlwZShyZWNvcmQsIGZyb20sIHRvKTsgfQogICAgIHN0YXRpYyBpbnQganVtcFNpemVEZWx0
YShKdW1wVHlwZSBqdW1wVHlwZSwgSnVtcExpbmtUeXBlIGp1bXBMaW5rVHlwZSkgeyByZXR1cm4g
QVJNNjRBc3NlbWJsZXI6Omp1bXBTaXplRGVsdGEoanVtcFR5cGUsIGp1bXBMaW5rVHlwZSk7IH0K
LSAgICBzdGF0aWMgdm9pZCBsaW5rKExpbmtSZWNvcmQmIHJlY29yZCwgdWludDhfdCogZnJvbSwg
dWludDhfdCogdG8pIHsgcmV0dXJuIEFSTTY0QXNzZW1ibGVyOjpsaW5rKHJlY29yZCwgZnJvbSwg
dG8pOyB9CisgICAgc3RhdGljIHZvaWQgbGluayhMaW5rUmVjb3JkJiByZWNvcmQsIHVpbnQ4X3Qq
IGZyb20sIGNvbnN0IHVpbnQ4X3QqIGZyb21JbnN0cnVjdGlvbiwgdWludDhfdCogdG8pIHsgcmV0
dXJuIEFSTTY0QXNzZW1ibGVyOjpsaW5rKHJlY29yZCwgZnJvbSwgZnJvbUluc3RydWN0aW9uLCB0
byk7IH0KIAogICAgIHN0YXRpYyBjb25zdCBTY2FsZSBTY2FsZVB0ciA9IFRpbWVzRWlnaHQ7CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTWFjcm9Bc3NlbWJs
ZXJBUk12Ny5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9NYWNyb0Fzc2VtYmxl
ckFSTXY3LmgKaW5kZXggZDIyNTZlMWY2ODkzOWEyNDBlMThlZGI5YjdmYzU5NGVlMGE4OGFkMS4u
MWNlYTdhYzNhMDg4YmM0ZjkxYTUwZGVjMWZmOWI1Y2EzM2I3MzAzMiAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9NYWNyb0Fzc2VtYmxlckFSTXY3LmgKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9NYWNyb0Fzc2VtYmxlckFSTXY3LmgKQEAg
LTY2LDcgKzY2LDcgQEAgcHVibGljOgogICAgIHN0YXRpYyBKdW1wTGlua1R5cGUgY29tcHV0ZUp1
bXBUeXBlKEp1bXBUeXBlIGp1bXBUeXBlLCBjb25zdCB1aW50OF90KiBmcm9tLCBjb25zdCB1aW50
OF90KiB0bykgeyByZXR1cm4gQVJNdjdBc3NlbWJsZXI6OmNvbXB1dGVKdW1wVHlwZShqdW1wVHlw
ZSwgZnJvbSwgdG8pOyB9CiAgICAgc3RhdGljIEp1bXBMaW5rVHlwZSBjb21wdXRlSnVtcFR5cGUo
TGlua1JlY29yZCYgcmVjb3JkLCBjb25zdCB1aW50OF90KiBmcm9tLCBjb25zdCB1aW50OF90KiB0
bykgeyByZXR1cm4gQVJNdjdBc3NlbWJsZXI6OmNvbXB1dGVKdW1wVHlwZShyZWNvcmQsIGZyb20s
IHRvKTsgfQogICAgIHN0YXRpYyBpbnQganVtcFNpemVEZWx0YShKdW1wVHlwZSBqdW1wVHlwZSwg
SnVtcExpbmtUeXBlIGp1bXBMaW5rVHlwZSkgeyByZXR1cm4gQVJNdjdBc3NlbWJsZXI6Omp1bXBT
aXplRGVsdGEoanVtcFR5cGUsIGp1bXBMaW5rVHlwZSk7IH0KLSAgICBzdGF0aWMgdm9pZCBsaW5r
KExpbmtSZWNvcmQmIHJlY29yZCwgdWludDhfdCogZnJvbSwgdWludDhfdCogdG8pIHsgcmV0dXJu
IEFSTXY3QXNzZW1ibGVyOjpsaW5rKHJlY29yZCwgZnJvbSwgdG8pOyB9CisgICAgc3RhdGljIHZv
aWQgbGluayhMaW5rUmVjb3JkJiByZWNvcmQsIHVpbnQ4X3QqIGZyb20sIGNvbnN0IHVpbnQ4X3Qq
IGZyb21JbnN0cnVjdGlvbiwgdWludDhfdCogdG8pIHsgcmV0dXJuIEFSTXY3QXNzZW1ibGVyOjps
aW5rKHJlY29yZCwgZnJvbSwgZnJvbUluc3RydWN0aW9uLCB0byk7IH0KIAogICAgIHN0cnVjdCBB
cm1BZGRyZXNzIHsKICAgICAgICAgZW51bSBBZGRyZXNzVHlwZSB7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvaml0L0V4ZWN1dGFibGVBbGxvY2F0b3IuaCBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9qaXQvRXhlY3V0YWJsZUFsbG9jYXRvci5oCmluZGV4IDViNTU2ODMwZTkyZjU5
ZWIzZjQ4NmE1NWNiZjg0NzUzZjVlMmVkMDYuLjc0Y2RjMWZiMGY4OGRiYTk5MTdjZWUyMWFkOTJi
YTkzMTMyMzg5NTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvRXhlY3V0
YWJsZUFsbG9jYXRvci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvRXhlY3V0YWJs
ZUFsbG9jYXRvci5oCkBAIC05MiwyOSArOTIsMzAgQEAgc3RhdGljIGNvbnN0IGRvdWJsZSBleGVj
dXRhYmxlUG9vbFJlc2VydmF0aW9uRnJhY3Rpb24gPSAwLjI1OwogZXh0ZXJuIEpTX0VYUE9SVERB
VEEgdWludHB0cl90IHN0YXJ0T2ZGaXhlZEV4ZWN1dGFibGVNZW1vcnlQb29sOwogZXh0ZXJuIEpT
X0VYUE9SVERBVEEgdWludHB0cl90IGVuZE9mRml4ZWRFeGVjdXRhYmxlTWVtb3J5UG9vbDsKIAot
I2lmIEVOQUJMRShTRVBBUkFURURfV1hfSEVBUCkKLWV4dGVybiBKU19FWFBPUlREQVRBIHVpbnRw
dHJfdCBqaXRXcml0ZUZ1bmN0aW9uQWRkcmVzczsKLSNlbmRpZgotI2VuZGlmIC8vIEVOQUJMRShF
WEVDVVRBQkxFX0FMTE9DQVRPUl9GSVhFRCkKK3R5cGVkZWYgdm9pZCAoKkpJVFdyaXRlRnVuY3Rp
b24pKG9mZl90LCBjb25zdCB2b2lkKiwgc2l6ZV90KTsKK2V4dGVybiBKU19FWFBPUlREQVRBIEpJ
VFdyaXRlRnVuY3Rpb24gaml0V3JpdGVGdW5jdGlvbjsKIAogc3RhdGljIGlubGluZSB2b2lkKiBw
ZXJmb3JtSklUTWVtY3B5KHZvaWQgKmRzdCwgY29uc3Qgdm9pZCAqc3JjLCBzaXplX3QgbikKIHsK
LSNpZiBFTkFCTEUoU0VQQVJBVEVEX1dYX0hFQVApCiAgICAgLy8gVXNlIGV4ZWN1dGUtb25seSB3
cml0ZSB0aHVuayBmb3Igd3JpdGVzIGluc2lkZSB0aGUgSklUIHJlZ2lvbi4gVGhpcyBpcyBhIHZh
cmlhbnQgb2YKICAgICAvLyBtZW1jcHkgdGhhdCB0YWtlcyBhbiBvZmZzZXQgaW50byB0aGUgSklU
IHJlZ2lvbiBhcyBpdHMgZGVzdGluYXRpb24gKGZpcnN0KSBwYXJhbWV0ZXIuCi0gICAgaWYgKGpp
dFdyaXRlRnVuY3Rpb25BZGRyZXNzICYmICh1aW50cHRyX3QpZHN0ID49IHN0YXJ0T2ZGaXhlZEV4
ZWN1dGFibGVNZW1vcnlQb29sICYmICh1aW50cHRyX3QpZHN0IDw9IGVuZE9mRml4ZWRFeGVjdXRh
YmxlTWVtb3J5UG9vbCkgewotICAgICAgICB1c2luZyBKSVRXcml0ZUZ1bmN0aW9uID0gdm9pZCAo
Kikob2ZmX3QsIGNvbnN0IHZvaWQqLCBzaXplX3QpOwotICAgICAgICBKSVRXcml0ZUZ1bmN0aW9u
IGZ1bmMgPSAoSklUV3JpdGVGdW5jdGlvbilqaXRXcml0ZUZ1bmN0aW9uQWRkcmVzczsKKyAgICBp
ZiAoaml0V3JpdGVGdW5jdGlvbiAmJiAodWludHB0cl90KWRzdCA+PSBzdGFydE9mRml4ZWRFeGVj
dXRhYmxlTWVtb3J5UG9vbCAmJiAodWludHB0cl90KWRzdCA8PSBlbmRPZkZpeGVkRXhlY3V0YWJs
ZU1lbW9yeVBvb2wpIHsKICAgICAgICAgb2ZmX3Qgb2Zmc2V0ID0gKG9mZl90KSgodWludHB0cl90
KWRzdCAtIHN0YXJ0T2ZGaXhlZEV4ZWN1dGFibGVNZW1vcnlQb29sKTsKLSAgICAgICAgZnVuYyhv
ZmZzZXQsIHNyYywgbik7CisgICAgICAgIGppdFdyaXRlRnVuY3Rpb24ob2Zmc2V0LCBzcmMsIG4p
OwogICAgICAgICByZXR1cm4gZHN0OwogICAgIH0KLSNlbmRpZgogCiAgICAgLy8gVXNlIHJlZ3Vs
YXIgbWVtY3B5IGZvciB3cml0ZXMgb3V0c2lkZSB0aGUgSklUIHJlZ2lvbi4KICAgICByZXR1cm4g
bWVtY3B5KGRzdCwgc3JjLCBuKTsKIH0KIAorI2Vsc2UgLy8gRU5BQkxFKEVYRUNVVEFCTEVfQUxM
T0NBVE9SX0ZJWEVEKQorc3RhdGljIGlubGluZSB2b2lkKiBwZXJmb3JtSklUTWVtY3B5KHZvaWQg
KmRzdCwgY29uc3Qgdm9pZCAqc3JjLCBzaXplX3QgbikKK3sKKyAgICByZXR1cm4gbWVtY3B5KGRz
dCwgc3JjLCBuKTsKK30KKyNlbmRpZgorCiBjbGFzcyBFeGVjdXRhYmxlQWxsb2NhdG9yIHsKICAg
ICBlbnVtIFByb3RlY3Rpb25TZXR0aW5nIHsgV3JpdGFibGUsIEV4ZWN1dGFibGUgfTsKIApkaWZm
IC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9FeGVjdXRhYmxlQWxsb2NhdG9yRml4
ZWRWTVBvb2wuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9FeGVjdXRhYmxlQWxsb2Nh
dG9yRml4ZWRWTVBvb2wuY3BwCmluZGV4IDgyYzQ2ZjdhNTg4MGJiNDM5ODExZWZjOWU1ZmQ0Y2U5
NTkyOGY0YTUuLjI2YTk0YjFiMjUxZjBlZTUzNjkyOTFkZmJiNmJlNDA0YWExNjJiOWUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvRXhlY3V0YWJsZUFsbG9jYXRvckZpeGVk
Vk1Qb29sLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0V4ZWN1dGFibGVBbGxv
Y2F0b3JGaXhlZFZNUG9vbC5jcHAKQEAgLTQ4LDEwICs0OCwxOSBAQAogI2luY2x1ZGUgPHN0ZGlv
Lmg+CiAjZW5kaWYKIAotI2lmIEVOQUJMRShTRVBBUkFURURfV1hfSEVBUCkKICNpbmNsdWRlICJM
aW5rQnVmZmVyLmgiCiAjaW5jbHVkZSAiTWFjcm9Bc3NlbWJsZXIuaCIKIAorI2lmIFBMQVRGT1JN
KE1BQykgfHwgKFBMQVRGT1JNKElPUykgJiYgX19JUEhPTkVfT1NfVkVSU0lPTl9NSU5fUkVRVUlS
RUQgPj0gMTAwMDAwKQorI2RlZmluZSBIQVZFX1JFTUFQX0pJVCAxCisjZW5kaWYKKworI2lmIEhB
VkUoUkVNQVBfSklUKQorI2lmIENQVShBUk02NCkgJiYgUExBVEZPUk0oSU9TKSAmJiBfX0lQSE9O
RV9PU19WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDAwMDAKKyNkZWZpbmUgVVNFX0VYRUNVVEVf
T05MWV9KSVRfV1JJVEVfRlVOQ1RJT04gMQorI2VuZGlmCisjZW5kaWYKKwogI2lmIE9TKERBUldJ
TikKICNpbmNsdWRlIDxtYWNoL21hY2guaD4KIGV4dGVybiAiQyIgewpAQCAtNzksOCArODgsNiBA
QCBleHRlcm4gIkMiIHsKIAogI2VuZGlmCiAKLSNlbmRpZgotCiB1c2luZyBuYW1lc3BhY2UgV1RG
OwogCiBuYW1lc3BhY2UgSlNDIHsKQEAgLTg4LDggKzk1LDEwIEBAIG5hbWVzcGFjZSBKU0Mgewog
SlNfRVhQT1JUREFUQSB1aW50cHRyX3Qgc3RhcnRPZkZpeGVkRXhlY3V0YWJsZU1lbW9yeVBvb2w7
CiBKU19FWFBPUlREQVRBIHVpbnRwdHJfdCBlbmRPZkZpeGVkRXhlY3V0YWJsZU1lbW9yeVBvb2w7
CiAKLSNpZiBFTkFCTEUoU0VQQVJBVEVEX1dYX0hFQVApCi1KU19FWFBPUlREQVRBIHVpbnRwdHJf
dCBqaXRXcml0ZUZ1bmN0aW9uQWRkcmVzczsKK0pTX0VYUE9SVERBVEEgSklUV3JpdGVGdW5jdGlv
biBqaXRXcml0ZUZ1bmN0aW9uOworCisjaWYgIVVTRShFWEVDVVRFX09OTFlfSklUX1dSSVRFX0ZV
TkNUSU9OKSAmJiBIQVZFKFJFTUFQX0pJVCkKK3N0YXRpYyB1aW50cHRyX3Qgc3RhcnRPZkZpeGVk
V3JpdGFibGVNZW1vcnlQb29sOwogI2VuZGlmCiAKIGNsYXNzIEZpeGVkVk1Qb29sRXhlY3V0YWJs
ZUFsbG9jYXRvciA6IHB1YmxpYyBNZXRhQWxsb2NhdG9yIHsKQEAgLTEwOSw3ICsxMTgsNiBAQCBw
dWJsaWM6CiAgICAgICAgICAgICBBU1NFUlQobV9yZXNlcnZhdGlvbi5zaXplKCkgPT0gcmVzZXJ2
YXRpb25TaXplKTsKICAgICAgICAgICAgIHZvaWQqIHJlc2VydmF0aW9uQmFzZSA9IG1fcmVzZXJ2
YXRpb24uYmFzZSgpOwogCi0jaWYgRU5BQkxFKFNFUEFSQVRFRF9XWF9IRUFQKQogICAgICAgICAg
ICAgaWYgKE9wdGlvbnM6OnVzZVNlcGFyYXRlZFdYSGVhcCgpKSB7CiAgICAgICAgICAgICAgICAg
Ly8gRmlyc3QgcGFnZSBvZiBvdXIgSklUIGFsbG9jYXRpb24gaXMgcmVzZXJ2ZWQuCiAgICAgICAg
ICAgICAgICAgQVNTRVJUKHJlc2VydmF0aW9uU2l6ZSA+PSBwYWdlU2l6ZSgpICogMik7CkBAIC0x
MTcsNyArMTI1LDYgQEAgcHVibGljOgogICAgICAgICAgICAgICAgIHJlc2VydmF0aW9uU2l6ZSAt
PSBwYWdlU2l6ZSgpOwogICAgICAgICAgICAgICAgIGluaXRpYWxpemVTZXBhcmF0ZWRXWEhlYXBz
KG1fcmVzZXJ2YXRpb24uYmFzZSgpLCBwYWdlU2l6ZSgpLCByZXNlcnZhdGlvbkJhc2UsIHJlc2Vy
dmF0aW9uU2l6ZSk7CiAgICAgICAgICAgICB9Ci0jZW5kaWYKIAogICAgICAgICAgICAgYWRkRnJl
c2hGcmVlU3BhY2UocmVzZXJ2YXRpb25CYXNlLCByZXNlcnZhdGlvblNpemUpOwogCkBAIC0xNjMs
NyArMTcwLDcgQEAgcHJvdGVjdGVkOgogICAgIH0KIAogcHJpdmF0ZToKLSNpZiBFTkFCTEUoU0VQ
QVJBVEVEX1dYX0hFQVApCisjaWYgT1MoREFSV0lOKSAmJiBIQVZFKFJFTUFQX0pJVCkKICAgICB2
b2lkIGluaXRpYWxpemVTZXBhcmF0ZWRXWEhlYXBzKHZvaWQqIHN0dWJCYXNlLCBzaXplX3Qgc3R1
YlNpemUsIHZvaWQqIGppdEJhc2UsIHNpemVfdCBqaXRTaXplKQogICAgIHsKICAgICAgICAgbWFj
aF92bV9hZGRyZXNzX3Qgd3JpdGFibGVBZGRyID0gMDsKQEAgLTE4NCw0MCArMTkxLDM5IEBAIHBy
aXZhdGU6CiAgICAgICAgICAgICByZXR1cm47CiAKICAgICAgICAgLy8gQXNzZW1ibGUgYSB0aHVu
ayB0aGF0IHdpbGwgc2VydmUgYXMgdGhlIG1lYW5zIGZvciB3cml0aW5nIGludG8gdGhlIEpJVCBy
ZWdpb24uCi0gICAgICAgIE1hY3JvQXNzZW1ibGVyQ29kZVJlZiB3cml0ZVRodW5rID0gaml0V3Jp
dGVUaHVua0dlbmVyYXRvcih3cml0YWJsZUFkZHIsIHN0dWJCYXNlLCBzdHViU2l6ZSk7CisgICAg
ICAgIE1hY3JvQXNzZW1ibGVyQ29kZVJlZiB3cml0ZVRodW5rID0gaml0V3JpdGVUaHVua0dlbmVy
YXRvcihyZWludGVycHJldF9jYXN0PHZvaWQqPih3cml0YWJsZUFkZHIpLCBzdHViQmFzZSwgc3R1
YlNpemUpOwogCiAgICAgICAgIGludCByZXN1bHQgPSAwOwogCi0gICAgICAgIGlmICghcmVtYXBT
dWNjZWVkZWQpIHsKLSNpZiBkZWZpbmVkKFZNX1BST1RfRVhFQ1VURV9PTkxZKQotICAgICAgICAg
ICAgLy8gUHJldmVudCByZWFkaW5nIHRoZSB3cml0ZSB0aHVuayBjb2RlLgotICAgICAgICAgICAg
cmVzdWx0ID0gbXByb3RlY3Qoc3R1YkJhc2UsIHN0dWJTaXplLCBWTV9QUk9UX0VYRUNVVEVfT05M
WSk7Ci0gICAgICAgICAgICBSRUxFQVNFX0FTU0VSVCghcmVzdWx0KTsKKyNpZiBVU0UoRVhFQ1VU
RV9PTkxZX0pJVF9XUklURV9GVU5DVElPTikKKyAgICAgICAgLy8gUHJldmVudCByZWFkaW5nIHRo
ZSB3cml0ZSB0aHVuayBjb2RlLgorICAgICAgICByZXN1bHQgPSBtcHJvdGVjdChzdHViQmFzZSwg
c3R1YlNpemUsIFZNX1BST1RfRVhFQ1VURV9PTkxZKTsKKyAgICAgICAgUkVMRUFTRV9BU1NFUlQo
IXJlc3VsdCk7CiAjZW5kaWYKIAotICAgICAgICAgICAgLy8gUHJldmVudCB3cml0aW5nIGludG8g
dGhlIGV4ZWN1dGFibGUgSklUIG1hcHBpbmcuCi0gICAgICAgICAgICByZXN1bHQgPSBtcHJvdGVj
dChqaXRCYXNlLCBqaXRTaXplLCBWTV9QUk9UX1JFQUQgfCBWTV9QUk9UX0VYRUNVVEUpOwotICAg
ICAgICAgICAgUkVMRUFTRV9BU1NFUlQoIXJlc3VsdCk7CisgICAgICAgIC8vIFByZXZlbnQgd3Jp
dGluZyBpbnRvIHRoZSBleGVjdXRhYmxlIEpJVCBtYXBwaW5nLgorICAgICAgICByZXN1bHQgPSBt
cHJvdGVjdChqaXRCYXNlLCBqaXRTaXplLCBWTV9QUk9UX1JFQUQgfCBWTV9QUk9UX0VYRUNVVEUp
OworICAgICAgICBSRUxFQVNFX0FTU0VSVCghcmVzdWx0KTsKIAotICAgICAgICAgICAgLy8gUHJl
dmVudCBleGVjdXRpb24gaW4gdGhlIHdyaXRhYmxlIEpJVCBtYXBwaW5nLgotICAgICAgICAgICAg
cmVzdWx0ID0gbXByb3RlY3QoKHZvaWQqKXdyaXRhYmxlQWRkciwgaml0U2l6ZSwgVk1fUFJPVF9S
RUFEIHwgVk1fUFJPVF9XUklURSk7Ci0gICAgICAgICAgICBSRUxFQVNFX0FTU0VSVCghcmVzdWx0
KTsKKyAgICAgICAgLy8gUHJldmVudCBleGVjdXRpb24gaW4gdGhlIHdyaXRhYmxlIEpJVCBtYXBw
aW5nLgorICAgICAgICByZXN1bHQgPSBtcHJvdGVjdCgodm9pZCopd3JpdGFibGVBZGRyLCBqaXRT
aXplLCBWTV9QUk9UX1JFQUQgfCBWTV9QUk9UX1dSSVRFKTsKKyAgICAgICAgUkVMRUFTRV9BU1NF
UlQoIXJlc3VsdCk7CiAKLSAgICAgICAgICAgIC8vIFplcm8gb3V0IHdyaXRhYmxlQWRkciB0byBh
dm9pZCBsZWFraW5nIHRoZSBhZGRyZXNzIG9mIHRoZSB3cml0YWJsZSBtYXBwaW5nLgotICAgICAg
ICAgICAgbWVtc2V0X3MoJndyaXRhYmxlQWRkciwgc2l6ZW9mKHdyaXRhYmxlQWRkciksIDAsIHNp
emVvZih3cml0YWJsZUFkZHIpKTsKLSAgICAgICAgfQotICAgICAgICBqaXRXcml0ZUZ1bmN0aW9u
QWRkcmVzcyA9ICh1aW50cHRyX3Qpd3JpdGVUaHVuay5jb2RlKCkuZXhlY3V0YWJsZUFkZHJlc3Mo
KTsKKyAgICAgICAgLy8gWmVybyBvdXQgd3JpdGFibGVBZGRyIHRvIGF2b2lkIGxlYWtpbmcgdGhl
IGFkZHJlc3Mgb2YgdGhlIHdyaXRhYmxlIG1hcHBpbmcuCisgICAgICAgIG1lbXNldF9zKCZ3cml0
YWJsZUFkZHIsIHNpemVvZih3cml0YWJsZUFkZHIpLCAwLCBzaXplb2Yod3JpdGFibGVBZGRyKSk7
CisKKyAgICAgICAgaml0V3JpdGVGdW5jdGlvbiA9IHJlaW50ZXJwcmV0X2Nhc3Q8SklUV3JpdGVG
dW5jdGlvbj4od3JpdGVUaHVuay5jb2RlKCkuZXhlY3V0YWJsZUFkZHJlc3MoKSk7CiAgICAgfQog
Ci0jaWYgQ1BVKEFSTTY0KQotICAgIE1hY3JvQXNzZW1ibGVyQ29kZVJlZiBqaXRXcml0ZVRodW5r
R2VuZXJhdG9yKG1hY2hfdm1fYWRkcmVzc190IHdyaXRhYmxlQWRkciwgdm9pZCogc3R1YkJhc2Us
IHNpemVfdCBzdHViU2l6ZSkKKyNpZiBDUFUoQVJNNjQpICYmIFVTRShFWEVDVVRFX09OTFlfSklU
X1dSSVRFX0ZVTkNUSU9OKQorICAgIE1hY3JvQXNzZW1ibGVyQ29kZVJlZiBqaXRXcml0ZVRodW5r
R2VuZXJhdG9yKHZvaWQqIHdyaXRhYmxlQWRkciwgdm9pZCogc3R1YkJhc2UsIHNpemVfdCBzdHVi
U2l6ZSkKICAgICB7CiAgICAgICAgIHVzaW5nIG5hbWVzcGFjZSBBUk02NFJlZ2lzdGVyczsKICAg
ICAgICAgdXNpbmcgVHJ1c3RlZEltbTMyID0gTWFjcm9Bc3NlbWJsZXI6OlRydXN0ZWRJbW0zMjsK
IAogICAgICAgICBNYWNyb0Fzc2VtYmxlciBqaXQ7CiAKLSAgICAgICAgaml0Lm1vdmUoTWFjcm9B
c3NlbWJsZXI6OlRydXN0ZWRJbW1QdHIoKGNvbnN0IHZvaWQqKXdyaXRhYmxlQWRkciksIHg3KTsK
KyAgICAgICAgaml0Lm1vdmUoTWFjcm9Bc3NlbWJsZXI6OlRydXN0ZWRJbW1QdHIod3JpdGFibGVB
ZGRyKSwgeDcpOwogICAgICAgICBqaXQuYWRkUHRyKHg3LCB4MCk7CiAKICAgICAgICAgaml0Lm1v
dmUoeDAsIHgzKTsKQEAgLTI3NCw4ICsyODAsMjkgQEAgcHJpdmF0ZToKICAgICAgICAgTGlua0J1
ZmZlciBsaW5rQnVmZmVyKGppdCwgc3R1YkJhc2UsIHN0dWJTaXplKTsKICAgICAgICAgcmV0dXJu
IEZJTkFMSVpFX0NPREUobGlua0J1ZmZlciwgKCJCdWxsZXRwcm9vZiBKSVQgd3JpdGUgdGh1bmsi
KSk7CiAgICAgfQotI2VuZGlmIC8vIENQVShBUk02NCkKLSNlbmRpZiAvLyBFTkFCTEUoU0VQQVJB
VEVEX1dYX0hFQVApCisjZWxzZSAvLyBDUFUoQVJNNjQpICYmIFVTRShFWEVDVVRFX09OTFlfSklU
X1dSSVRFX0ZVTkNUSU9OKQorICAgIHN0YXRpYyB2b2lkIGdlbmVyaWNXcml0ZVRvSklUUmVnaW9u
KG9mZl90IG9mZnNldCwgY29uc3Qgdm9pZCogZGF0YSwgc2l6ZV90IGRhdGFTaXplKQorICAgIHsK
KyAgICAgICAgbWVtY3B5KCh2b2lkKikoc3RhcnRPZkZpeGVkV3JpdGFibGVNZW1vcnlQb29sICsg
b2Zmc2V0KSwgZGF0YSwgZGF0YVNpemUpOworICAgIH0KKworICAgIE1hY3JvQXNzZW1ibGVyQ29k
ZVJlZiBqaXRXcml0ZVRodW5rR2VuZXJhdG9yKHZvaWQqIGFkZHJlc3MsIHZvaWQqLCBzaXplX3Qp
CisgICAgeworICAgICAgICBzdGFydE9mRml4ZWRXcml0YWJsZU1lbW9yeVBvb2wgPSByZWludGVy
cHJldF9jYXN0PHVpbnRwdHJfdD4oYWRkcmVzcyk7CisgICAgICAgIHVpbnRwdHJfdCBmdW5jdGlv
biA9ICh1aW50cHRyX3QpKCh2b2lkKikmZ2VuZXJpY1dyaXRlVG9KSVRSZWdpb24pOworI2lmIENQ
VShBUk1fVEhVTUIyKQorICAgICAgICAvLyBIYW5kbGUgdGh1bWIgb2Zmc2V0CisgICAgICAgIGZ1
bmN0aW9uIC09IDE7CisjZW5kaWYKKyAgICAgICAgcmV0dXJuIE1hY3JvQXNzZW1ibGVyQ29kZVJl
Zjo6Y3JlYXRlU2VsZk1hbmFnZWRDb2RlUmVmKE1hY3JvQXNzZW1ibGVyQ29kZVB0cigodm9pZCop
ZnVuY3Rpb24pKTsKKyAgICB9CisjZW5kaWYKKworI2Vsc2UgLy8gT1MoREFSV0lOKSAmJiBIQVZF
KFJFTUFQX0pJVCkKKyAgICB2b2lkIGluaXRpYWxpemVTZXBhcmF0ZWRXWEhlYXBzKHZvaWQqLCBz
aXplX3QsIHZvaWQqLCBzaXplX3QpCisgICAgeworICAgIH0KKyNlbmRpZgogCiBwcml2YXRlOgog
ICAgIFBhZ2VSZXNlcnZhdGlvbiBtX3Jlc2VydmF0aW9uOwpkaWZmIC0tZ2l0IGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvT3B0aW9ucy5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9PcHRpb25zLmNwcAppbmRleCBlMmE2ODcyNjM0MDU5ZDgwNmU1NzAyZDQ4YTkwZmRh
MTY0N2NjZWZlLi40NGZkMjI2ZjNjYzFmNDAwYTZhZWNiODkyMzE2NGU2N2I0YjI0MWM5IDEwMDY0
NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9PcHRpb25zLmNwcAorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9PcHRpb25zLmNwcApAQCAtMjk0LDkgKzI5NCw3
IEBAIHN0YXRpYyB2b2lkIHJlY29tcHV0ZURlcGVuZGVudE9wdGlvbnMoKQogI2lmICFFTkFCTEUo
RlRMX0pJVCkKICAgICBPcHRpb25zOjp1c2VGVExKSVQoKSA9IGZhbHNlOwogI2VuZGlmCi0jaWYg
IUVOQUJMRShTRVBBUkFURURfV1hfSEVBUCkKLSAgICBPcHRpb25zOjp1c2VTZXBhcmF0ZWRXWEhl
YXAoKSA9IGZhbHNlOwotI2VuZGlmCisgICAgCiAjaWYgT1MoV0lORE9XUykgJiYgQ1BVKFg4Nikg
CiAgICAgLy8gRGlzYWJsZSBKSVQgb24gV2luZG93cyBpZiBTU0UyIGlzIG5vdCBwcmVzZW50IAog
ICAgIGlmICghTWFjcm9Bc3NlbWJsZXJYODY6OnN1cHBvcnRzRmxvYXRpbmdQb2ludCgpKQpkaWZm
IC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvT3B0aW9ucy5oIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvT3B0aW9ucy5oCmluZGV4IDg5ODhmNGY0NDE5Y2VlMDc5
ZTk2MTljZTYwYTQ3YmNlY2ZkNjBlYzUuLjZhMTkwODMxYmI3ZDg4MDJlM2JiY2FlNWJhY2QxNTI4
YmU3OWU3ZjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL09wdGlv
bnMuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9PcHRpb25zLmgKQEAgLTEx
OCw3ICsxMTgsNyBAQCB0eXBlZGVmIGNvbnN0IGNoYXIqIG9wdGlvblN0cmluZzsKICAgICBcCiAg
ICAgdihib29sLCBjcmFzaElmQ2FudEFsbG9jYXRlSklUTWVtb3J5LCBmYWxzZSwgbnVsbHB0cikg
XAogICAgIHYodW5zaWduZWQsIGppdE1lbW9yeVJlc2VydmF0aW9uU2l6ZSwgMCwgIlNldCB0aGlz
IG51bWJlciB0byBjaGFuZ2UgdGhlIGV4ZWN1dGFibGUgYWxsb2NhdGlvbiBzaXplIGluIEV4ZWN1
dGFibGVBbGxvY2F0b3JGaXhlZFZNUG9vbC4gKEluIGJ5dGVzLikiKSBcCi0gICAgdihib29sLCB1
c2VTZXBhcmF0ZWRXWEhlYXAsIHRydWUsIG51bGxwdHIpIFwKKyAgICB2KGJvb2wsIHVzZVNlcGFy
YXRlZFdYSGVhcCwgZmFsc2UsIG51bGxwdHIpIFwKICAgICBcCiAgICAgdihib29sLCBmb3JjZUNv
ZGVCbG9ja0xpdmVuZXNzLCBmYWxzZSwgbnVsbHB0cikgXAogICAgIHYoYm9vbCwgZm9yY2VJQ0Zh
aWx1cmUsIGZhbHNlLCBudWxscHRyKSBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9GZWF0
dXJlRGVmaW5lcy5oIGIvU291cmNlL1dURi93dGYvRmVhdHVyZURlZmluZXMuaAppbmRleCAwNDA4
YmYyZjBkNGQxMDc2OWQ3ZDU4ZGUwZmI2YTMxZTY0MWI2YjZjLi5hZTFmNmMzZDQ0N2RlODY1ZDg2
MzUzZGI3MzJiNGNmMWJjNTY0MmUzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9GZWF0dXJl
RGVmaW5lcy5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL0ZlYXR1cmVEZWZpbmVzLmgKQEAgLTc3OSwx
MCArNzc5LDYgQEAgdGhlIHB1YmxpYyBpT1MgU0RLLiBXZSB3aWxsIGFsc28gbmVlZCB0byB1cGRh
dGUgdGhlIEZlYXR1cmVEZWZpbmVzLnhjY29uZmlnIGZpbGUKICNkZWZpbmUgRU5BQkxFX1hTTFQg
MQogI2VuZGlmCiAKLSNpZiAhZGVmaW5lZChFTkFCTEVfU0VQQVJBVEVEX1dYX0hFQVApCi0jZGVm
aW5lIEVOQUJMRV9TRVBBUkFURURfV1hfSEVBUCAwCi0jZW5kaWYKLQogLyogQXNzZXJ0cywgaW52
YXJpYW50cyBmb3IgbWFjcm8gZGVmaW5pdGlvbnMgKi8KIAogI2lmIEVOQUJMRShWSURFT19UUkFD
SykgJiYgIUVOQUJMRShWSURFTykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3Jt
LmggYi9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybS5oCmluZGV4IDE2NzliMzU2ZTRkMjQ0NmU1ZmVj
MTViY2ZiYzE5YTZjMjFiYjQ4ZTMuLmE4ZDJjYTU2MDE2YmZiZWNjMzkzZjYzZGUzOWUzMDJlNGQw
MzNjYTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtLmgKKysrIGIvU291cmNl
L1dURi93dGYvUGxhdGZvcm0uaApAQCAtMTE0MiwxMCArMTE0Miw0IEBACiAjZW5kaWYKICNlbmRp
ZgogCi0jaWYgZGVmaW5lZChFTkFCTEVfU0VQQVJBVEVEX1dYX0hFQVApCi0jaWYgIShDUFUoQVJN
NjQpICYmICgoUExBVEZPUk0oSU9TKSAmJiBfX0lQSE9ORV9PU19WRVJTSU9OX01JTl9SRVFVSVJF
RCA+PSAxMDAwMDApKSkKLSN1bmRlZiBFTkFCTEVfU0VQQVJBVEVEX1dYX0hFQVAKLSNlbmRpZgot
I2VuZGlmCi0KICNlbmRpZiAvKiBXVEZfUGxhdGZvcm1faCAqLwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcgYi9Tb3VyY2Uv
V2ViQ29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwppbmRleCA3MzRi
NmFlNDdmMzI0NmQ4N2Q0ZGNkNjljY2RjZTJlZDQ4YjBjYzhmLi5hNWVhMWY0YTY4OWNjMWE4MGFh
YWVmNWUxODkxYmUxZjExNjc0ZWIyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Db25maWd1
cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZworKysgYi9Tb3VyY2UvV2ViQ29yZS9Db25m
aWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwpAQCAtMTkzLDcgKzE5Myw0IEBAIEVO
QUJMRV9GVExfSklUW3Nkaz1pcGhvbmVvcypdID0gRU5BQkxFX0ZUTF9KSVQ7CiBFTkFCTEVfU0hB
RE9XX0RPTSA9IEVOQUJMRV9TSEFET1dfRE9NOwogRU5BQkxFX0NVU1RPTV9FTEVNRU5UUyA9IEVO
QUJMRV9DVVNUT01fRUxFTUVOVFM7CiAKLUVOQUJMRV9TRVBBUkFURURfV1hfSEVBUFtzZGs9aXBo
b25lKl0gPSA7Ci1FTkFCTEVfU0VQQVJBVEVEX1dYX0hFQVBbc2RrPW1hY29zeCpdID0gOwotCi1G
RUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9UUkFOU0ZPUk1TKSAkKEVOQUJMRV9BQ0NFTEVS
QVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElORykg
JChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQpICQoRU5B
QkxFX0NBQ0hFX1BBUlRJVElPTklORykgJChFTkFCTEVfQ0FOVkFTX1BBVEgpICQoRU5BQkxFX0NB
TlZBU19QUk9YWSkgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0VTNl9BUlJP
V0ZVTkNUSU9OX1NZTlRBWCkgJChFTkFCTEVfRVM2X0dFTkVSQVRPUlMpICQoRU5BQkxFX0VTNl9N
T0RVTEVTKSAkKEVOQUJMRV9DT05URU5UX0ZJTFRFUklORykgJChFTkFCTEVfQ1NQX05FWFQpICQo
RU5BQkxFX0NTU19BTklNQVRJT05TX0xFVkVMXzIpICQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElP
Tl9CUkVBSykgJChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9DU1NfREVWSUNFX0FE
QVBUQVRJT04pICQoRU5BQkxFX0NTU19HUklEX0xBWU9VVCkgJChFTkFCTEVfQ1NTX0lNQUdFX09S
SUVOVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1JF
R0lPTlMpICQoRU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9DU1NfU0hBUEVT
KSAkKEVOQUJMRV9DU1MzX1RFWFQpICQoRU5BQkxFX0NTUzNfVEVYVF9MSU5FX0JSRUFLKSAkKEVO
QUJMRV9DVVJTT1JfVklTSUJJTElUWSkgJChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAk
KEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVCkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkgJChF
TkFCTEVfREFUQV9UUkFOU0ZFUl9JVEVNUykgJChFTkFCTEVfREVUQUlMU19FTEVNRU5UKSAkKEVO
QUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RPTTRfRVZFTlRTX0NPTlNUUlVDVE9S
KSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQV9WMikg
JChFTkFCTEVfRkVUQ0hfQVBJKSAkKEVOQUJMRV9GSUxURVJTX0xFVkVMXzIpICQoRU5BQkxFX0ZP
TlRfTE9BRF9FVkVOVFMpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFE
KSAkKEVOQUJMRV9HQU1FUEFEX0RFUFJFQ0FURUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVO
QUJMRV9JQ09OREFUQUJBU0UpICQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX0lO
REVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VSUykgJChF
TkFCTEVfSU5ESUVfVUkpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVU
X1RZUEVfQ09MT1JfUE9QT1ZFUikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9J
TlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJ
TUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9U
SU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNL
X1RBUkdFVCkgJChFTkFCTEVfSU5UTCkgJChFTkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVO
QUJMRV9JT1NfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVO
QUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX05PVElGSUNB
VElPTlMpICQoRU5BQkxFX0xFR0FDWV9WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9X
RUJfQVVESU8pICQoRU5BQkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9MSU5LX1BSRUZFVENIKSAk
KEVOQUJMRV9NQUNfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVE
SUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJQV9TRVNTSU9OKSAkKEVOQUJMRV9NRURJ
QV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FRElBX1NUUkVB
TSkgJChFTkFCTEVfTUVURVJfRUxFTUVOVCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxFX01PVVNF
X0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVfTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpICQoRU5BQkxF
X05BVklHQVRPUl9IV0NPTkNVUlJFTkNZKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJM
RV9QREZLSVRfUExVR0lOKSAkKEVOQUJMRV9QT0lOVEVSX0xPQ0spICQoRU5BQkxFX1BST1hJTUlU
WV9FVkVOVFMpICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQo
RU5BQkxFX1JFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FKSAkKEVOQUJMRV9SRVFVRVNUX0FVVE9DT01Q
TEVURSkgJChFTkFCTEVfUkVNT1RFX0lOU1BFQ1RPUikgJChFTkFCTEVfUkVTT0xVVElPTl9NRURJ
QV9RVUVSWSkgJChFTkFCTEVfUkVTT1VSQ0VfVVNBR0UpICQoRU5BQkxFX1JVQkJFUl9CQU5ESU5H
KSAkKEVOQUJMRV9DU1NfU0NST0xMX1NOQVApICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQo
RU5BQkxFX1NUUkVBTVNfQVBJKSAkKEVOQUJMRV9TVUJUTEVfQ1JZUFRPKSAkKEVOQUJMRV9TVkdf
Rk9OVFMpICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVOQUJMRV9URU1Q
TEFURV9FTEVNRU5UKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RPVUNIX0VW
RU5UUykgJChFTkFCTEVfVE9VQ0hfSUNPTl9MT0FESU5HKSAkKEVOQUJMRV9DU1NfVFJBSUxJTkdf
V09SRCkgJChFTkFCTEVfVVNFUlNFTEVDVF9BTEwpICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9W
SURFT19UUkFDSykgJChFTkFCTEVfREFUQUNVRV9WQUxVRSkgJChFTkFCTEVfVklFV19NT0RFX0NT
U19NRURJQSkgJChFTkFCTEVfV0VCQVNTRU1CTFkpICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9X
RUJHTDIpICQoRU5BQkxFX1dFQl9BTklNQVRJT05TKSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5B
QkxFX1dFQl9SRVBMQVkpICQoRU5BQkxFX1dFQl9TT0NLRVRTKSAkKEVOQUJMRV9XRUJfVElNSU5H
KSAkKEVOQUJMRV9YU0xUKSAkKEVOQUJMRV9GVExfSklUKSAkKEVOQUJMRV9KSVQpICQoRU5BQkxF
X1NIQURPV19ET00pICQoRU5BQkxFX0NVU1RPTV9FTEVNRU5UUykgJChFTkFCTEVfVklERU9fUFJF
U0VOVEFUSU9OX01PREUpICQoRU5BQkxFX1NFUEFSQVRFRF9XWF9IRUFQKTsKK0ZFQVRVUkVfREVG
SU5FUyA9ICQoRU5BQkxFXzNEX1RSQU5TRk9STVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NB
TlZBUykgJChFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HKSAkKEVOQUJMRV9B
VkZfQ0FQVElPTlMpICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVOVCkgJChFTkFCTEVfQ0FDSEVf
UEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DQU5WQVNfUEFUSCkgJChFTkFCTEVfQ0FOVkFTX1BST1hZ
KSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05f
U1lOVEFYKSAkKEVOQUJMRV9FUzZfR0VORVJBVE9SUykgJChFTkFCTEVfRVM2X01PRFVMRVMpICQo
RU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HKSAkKEVOQUJMRV9DU1BfTkVYVCkgJChFTkFCTEVfQ1NT
X0FOSU1BVElPTlNfTEVWRUxfMikgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAk
KEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTikg
JChFTkFCTEVfQ1NTX0dSSURfTEFZT1VUKSAkKEVOQUJMRV9DU1NfSU1BR0VfT1JJRU5UQVRJT04p
ICQoRU5BQkxFX0NTU19JTUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9DU1NfUkVHSU9OUykgJChF
TkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQpICQoRU5BQkxFX0NTU19TSEFQRVMpICQoRU5BQkxF
X0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NTM19URVhUX0xJTkVfQlJFQUspICQoRU5BQkxFX0NVUlNP
Ul9WSVNJQklMSVRZKSAkKEVOQUJMRV9DVVNUT01fU0NIRU1FX0hBTkRMRVIpICQoRU5BQkxFX0RB
U0hCT0FSRF9TVVBQT1JUKSAkKEVOQUJMRV9EQVRBTElTVF9FTEVNRU5UKSAkKEVOQUJMRV9EQVRB
X1RSQU5TRkVSX0lURU1TKSAkKEVOQUJMRV9ERVRBSUxTX0VMRU1FTlQpICQoRU5BQkxFX0RFVklD
RV9PUklFTlRBVElPTikgJChFTkFCTEVfRE9NNF9FVkVOVFNfQ09OU1RSVUNUT1IpICQoRU5BQkxF
X0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfRU5DUllQVEVEX01FRElBX1YyKSAkKEVOQUJMRV9G
RVRDSF9BUEkpICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikgJChFTkFCTEVfRk9OVF9MT0FEX0VW
RU5UUykgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxF
X0dBTUVQQURfREVQUkVDQVRFRCkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0lDT05E
QVRBQkFTRSkgJChFTkFCTEVfU0VSVklDRV9DT05UUk9MUykgJChFTkFCTEVfSU5ERVhFRF9EQVRB
QkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAkKEVOQUJMRV9JTkRJ
RV9VSSkgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xP
Ul9QT1BPVkVSKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVf
REFURVRJTUVfSU5DT01QTEVURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAk
KEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5B
QkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKSAk
KEVOQUJMRV9JTlRMKSAkKEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX0lPU19U
RVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMpICQoRU5BQkxFX0xFR0FD
WV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfTk9USUZJQ0FUSU9OUykgJChF
TkFCTEVfTEVHQUNZX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX1dFQl9BVURJTykg
JChFTkFCTEVfTEVUVEVSUFJFU1MpICQoRU5BQkxFX0xJTktfUFJFRkVUQ0gpICQoRU5BQkxFX01B
Q19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9DT05UUk9M
U19TQ1JJUFQpICQoRU5BQkxFX01FRElBX1NFU1NJT04pICQoRU5BQkxFX01FRElBX1NPVVJDRSkg
JChFTkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVESUFfU1RSRUFNKSAkKEVOQUJM
RV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkgJChFTkFCTEVfTU9VU0VfQ1VSU09SX1ND
QUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9VVElMUykgJChFTkFCTEVfTkFWSUdBVE9S
X0hXQ09OQ1VSUkVOQ1kpICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX1BERktJVF9Q
TFVHSU4pICQoRU5BQkxFX1BPSU5URVJfTE9DSykgJChFTkFCTEVfUFJPWElNSVRZX0VWRU5UUykg
JChFTkFCTEVfUFVCTElDX1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVR
VUVTVF9BTklNQVRJT05fRlJBTUUpICQoRU5BQkxFX1JFUVVFU1RfQVVUT0NPTVBMRVRFKSAkKEVO
QUJMRV9SRU1PVEVfSU5TUEVDVE9SKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAk
KEVOQUJMRV9SRVNPVVJDRV9VU0FHRSkgJChFTkFCTEVfUlVCQkVSX0JBTkRJTkcpICQoRU5BQkxF
X0NTU19TQ1JPTExfU05BUCkgJChFTkFCTEVfU1BFRUNIX1NZTlRIRVNJUykgJChFTkFCTEVfU1RS
RUFNU19BUEkpICQoRU5BQkxFX1NVQlRMRV9DUllQVE8pICQoRU5BQkxFX1NWR19GT05UUykgJChF
TkFCTEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04pICQoRU5BQkxFX1RFTVBMQVRFX0VMRU1F
TlQpICQoRU5BQkxFX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVO
QUJMRV9UT1VDSF9JQ09OX0xPQURJTkcpICQoRU5BQkxFX0NTU19UUkFJTElOR19XT1JEKSAkKEVO
QUJMRV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJREVPX1RSQUNL
KSAkKEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9WSUVXX01PREVfQ1NTX01FRElBKSAk
KEVOQUJMRV9XRUJBU1NFTUJMWSkgJChFTkFCTEVfV0VCR0wpICQoRU5BQkxFX1dFQkdMMikgJChF
TkFCTEVfV0VCX0FOSU1BVElPTlMpICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VCX1JF
UExBWSkgJChFTkFCTEVfV0VCX1NPQ0tFVFMpICQoRU5BQkxFX1dFQl9USU1JTkcpICQoRU5BQkxF
X1hTTFQpICQoRU5BQkxFX0ZUTF9KSVQpICQoRU5BQkxFX0pJVCkgJChFTkFCTEVfU0hBRE9XX0RP
TSkgJChFTkFCTEVfQ1VTVE9NX0VMRU1FTlRTKSAkKEVOQUJMRV9WSURFT19QUkVTRU5UQVRJT05f
TU9ERSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9Db25maWd1cmF0aW9ucy9GZWF0
dXJlRGVmaW5lcy54Y2NvbmZpZyBiL1NvdXJjZS9XZWJLaXQvbWFjL0NvbmZpZ3VyYXRpb25zL0Zl
YXR1cmVEZWZpbmVzLnhjY29uZmlnCmluZGV4IDczNGI2YWU0N2YzMjQ2ZDg3ZDRkY2Q2OWNjZGNl
MmVkNDhiMGNjOGYuLmE1ZWExZjRhNjg5Y2MxYTgwYWFhZWY1ZTE4OTFiZTFmMTE2NzRlYjIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVz
LnhjY29uZmlnCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVE
ZWZpbmVzLnhjY29uZmlnCkBAIC0xOTMsNyArMTkzLDQgQEAgRU5BQkxFX0ZUTF9KSVRbc2RrPWlw
aG9uZW9zKl0gPSBFTkFCTEVfRlRMX0pJVDsKIEVOQUJMRV9TSEFET1dfRE9NID0gRU5BQkxFX1NI
QURPV19ET007CiBFTkFCTEVfQ1VTVE9NX0VMRU1FTlRTID0gRU5BQkxFX0NVU1RPTV9FTEVNRU5U
UzsKIAotRU5BQkxFX1NFUEFSQVRFRF9XWF9IRUFQW3Nkaz1pcGhvbmUqXSA9IDsKLUVOQUJMRV9T
RVBBUkFURURfV1hfSEVBUFtzZGs9bWFjb3N4Kl0gPSA7Ci0KLUZFQVRVUkVfREVGSU5FUyA9ICQo
RU5BQkxFXzNEX1RSQU5TRk9STVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChF
TkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HKSAkKEVOQUJMRV9BVkZfQ0FQVElP
TlMpICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVOVCkgJChFTkFCTEVfQ0FDSEVfUEFSVElUSU9O
SU5HKSAkKEVOQUJMRV9DQU5WQVNfUEFUSCkgJChFTkFCTEVfQ0FOVkFTX1BST1hZKSAkKEVOQUJM
RV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKSAk
KEVOQUJMRV9FUzZfR0VORVJBVE9SUykgJChFTkFCTEVfRVM2X01PRFVMRVMpICQoRU5BQkxFX0NP
TlRFTlRfRklMVEVSSU5HKSAkKEVOQUJMRV9DU1BfTkVYVCkgJChFTkFCTEVfQ1NTX0FOSU1BVElP
TlNfTEVWRUxfMikgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9D
U1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTikgJChFTkFCTEVf
Q1NTX0dSSURfTEFZT1VUKSAkKEVOQUJMRV9DU1NfSU1BR0VfT1JJRU5UQVRJT04pICQoRU5BQkxF
X0NTU19JTUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9DU1NfUkVHSU9OUykgJChFTkFCTEVfQ1NT
X1NFTEVDVE9SU19MRVZFTDQpICQoRU5BQkxFX0NTU19TSEFQRVMpICQoRU5BQkxFX0NTUzNfVEVY
VCkgJChFTkFCTEVfQ1NTM19URVhUX0xJTkVfQlJFQUspICQoRU5BQkxFX0NVUlNPUl9WSVNJQklM
SVRZKSAkKEVOQUJMRV9DVVNUT01fU0NIRU1FX0hBTkRMRVIpICQoRU5BQkxFX0RBU0hCT0FSRF9T
VVBQT1JUKSAkKEVOQUJMRV9EQVRBTElTVF9FTEVNRU5UKSAkKEVOQUJMRV9EQVRBX1RSQU5TRkVS
X0lURU1TKSAkKEVOQUJMRV9ERVRBSUxTX0VMRU1FTlQpICQoRU5BQkxFX0RFVklDRV9PUklFTlRB
VElPTikgJChFTkFCTEVfRE9NNF9FVkVOVFNfQ09OU1RSVUNUT1IpICQoRU5BQkxFX0VOQ1JZUFRF
RF9NRURJQSkgJChFTkFCTEVfRU5DUllQVEVEX01FRElBX1YyKSAkKEVOQUJMRV9GRVRDSF9BUEkp
ICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikgJChFTkFCTEVfRk9OVF9MT0FEX0VWRU5UUykgJChF
TkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dBTUVQQURf
REVQUkVDQVRFRCkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0lDT05EQVRBQkFTRSkg
JChFTkFCTEVfU0VSVklDRV9DT05UUk9MUykgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChF
TkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAkKEVOQUJMRV9JTkRJRV9VSSkgJChF
TkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUl9QT1BPVkVS
KSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVf
SU5DT01QTEVURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9J
TlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lOUFVU
X1RZUEVfV0VFSykgJChFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKSAkKEVOQUJMRV9J
TlRMKSAkKEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX0lPU19URVhUX0FVVE9T
SVpJTkcpICQoRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMpICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVO
RE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfTEVH
QUNZX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX1dFQl9BVURJTykgJChFTkFCTEVf
TEVUVEVSUFJFU1MpICQoRU5BQkxFX0xJTktfUFJFRkVUQ0gpICQoRU5BQkxFX01BQ19HRVNUVVJF
X0VWRU5UUykgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9DT05UUk9MU19TQ1JJUFQp
ICQoRU5BQkxFX01FRElBX1NFU1NJT04pICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVf
TUVESUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVESUFfU1RSRUFNKSAkKEVOQUJMRV9NRVRFUl9F
TEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkgJChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVO
QUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9VVElMUykgJChFTkFCTEVfTkFWSUdBVE9SX0hXQ09OQ1VS
UkVOQ1kpICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQo
RU5BQkxFX1BPSU5URVJfTE9DSykgJChFTkFCTEVfUFJPWElNSVRZX0VWRU5UUykgJChFTkFCTEVf
UFVCTElDX1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVRVUVTVF9BTklN
QVRJT05fRlJBTUUpICQoRU5BQkxFX1JFUVVFU1RfQVVUT0NPTVBMRVRFKSAkKEVOQUJMRV9SRU1P
VEVfSU5TUEVDVE9SKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVOQUJMRV9S
RVNPVVJDRV9VU0FHRSkgJChFTkFCTEVfUlVCQkVSX0JBTkRJTkcpICQoRU5BQkxFX0NTU19TQ1JP
TExfU05BUCkgJChFTkFCTEVfU1BFRUNIX1NZTlRIRVNJUykgJChFTkFCTEVfU1RSRUFNU19BUEkp
ICQoRU5BQkxFX1NVQlRMRV9DUllQVE8pICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVfVEVM
RVBIT05FX05VTUJFUl9ERVRFQ1RJT04pICQoRU5BQkxFX1RFTVBMQVRFX0VMRU1FTlQpICQoRU5B
QkxFX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9UT1VD
SF9JQ09OX0xPQURJTkcpICQoRU5BQkxFX0NTU19UUkFJTElOR19XT1JEKSAkKEVOQUJMRV9VU0VS
U0VMRUNUX0FMTCkgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJM
RV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9WSUVXX01PREVfQ1NTX01FRElBKSAkKEVOQUJMRV9X
RUJBU1NFTUJMWSkgJChFTkFCTEVfV0VCR0wpICQoRU5BQkxFX1dFQkdMMikgJChFTkFCTEVfV0VC
X0FOSU1BVElPTlMpICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VCX1JFUExBWSkgJChF
TkFCTEVfV0VCX1NPQ0tFVFMpICQoRU5BQkxFX1dFQl9USU1JTkcpICQoRU5BQkxFX1hTTFQpICQo
RU5BQkxFX0ZUTF9KSVQpICQoRU5BQkxFX0pJVCkgJChFTkFCTEVfU0hBRE9XX0RPTSkgJChFTkFC
TEVfQ1VTVE9NX0VMRU1FTlRTKSAkKEVOQUJMRV9WSURFT19QUkVTRU5UQVRJT05fTU9ERSkgJChF
TkFCTEVfU0VQQVJBVEVEX1dYX0hFQVApOworRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0Rf
VFJBTlNGT1JNUykgJChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9BQ0NF
TEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkcpICQoRU5BQkxFX0FWRl9DQVBUSU9OUykgJChFTkFC
TEVfQVRUQUNITUVOVF9FTEVNRU5UKSAkKEVOQUJMRV9DQUNIRV9QQVJUSVRJT05JTkcpICQoRU5B
QkxFX0NBTlZBU19QQVRIKSAkKEVOQUJMRV9DQU5WQVNfUFJPWFkpICQoRU5BQkxFX0NIQU5ORUxf
TUVTU0FHSU5HKSAkKEVOQUJMRV9FUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpICQoRU5BQkxFX0VT
Nl9HRU5FUkFUT1JTKSAkKEVOQUJMRV9FUzZfTU9EVUxFUykgJChFTkFCTEVfQ09OVEVOVF9GSUxU
RVJJTkcpICQoRU5BQkxFX0NTUF9ORVhUKSAkKEVOQUJMRV9DU1NfQU5JTUFUSU9OU19MRVZFTF8y
KSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUspICQoRU5BQkxFX0NTU19DT01QT1NJ
VElORykgJChFTkFCTEVfQ1NTX0RFVklDRV9BREFQVEFUSU9OKSAkKEVOQUJMRV9DU1NfR1JJRF9M
QVlPVVQpICQoRU5BQkxFX0NTU19JTUFHRV9PUklFTlRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdF
X1JFU09MVVRJT04pICQoRU5BQkxFX0NTU19SRUdJT05TKSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JT
X0xFVkVMNCkgJChFTkFCTEVfQ1NTX1NIQVBFUykgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJM
RV9DU1MzX1RFWFRfTElORV9CUkVBSykgJChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQoRU5B
QkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQpICQo
RU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RBVEFfVFJBTlNGRVJfSVRFTVMpICQo
RU5BQkxFX0RFVEFJTFNfRUxFTUVOVCkgJChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAkKEVO
QUJMRV9ET000X0VWRU5UU19DT05TVFJVQ1RPUikgJChFTkFCTEVfRU5DUllQVEVEX01FRElBKSAk
KEVOQUJMRV9FTkNSWVBURURfTUVESUFfVjIpICQoRU5BQkxFX0ZFVENIX0FQSSkgJChFTkFCTEVf
RklMVEVSU19MRVZFTF8yKSAkKEVOQUJMRV9GT05UX0xPQURfRVZFTlRTKSAkKEVOQUJMRV9GVUxM
U0NSRUVOX0FQSSkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0FNRVBBRF9ERVBSRUNBVEVE
KSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJMRV9T
RVJWSUNFX0NPTlRST0xTKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTkRF
WEVEX0RBVEFCQVNFX0lOX1dPUktFUlMpICQoRU5BQkxFX0lORElFX1VJKSAkKEVOQUJMRV9JTlBV
VF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SX1BPUE9WRVIpICQoRU5BQkxF
X0lOUFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRV9JTkNPTVBMRVRF
KSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZUEVf
TU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9XRUVL
KSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICQoRU5BQkxFX0lOVEwpICQoRU5B
QkxFX0lPU19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfSU9TX1RFWFRfQVVUT1NJWklORykgJChF
TkFCTEVfSU9TX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklY
RVMpICQoRU5BQkxFX0xFR0FDWV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9MRUdBQ1lfVkVORE9S
X1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfV0VCX0FVRElPKSAkKEVOQUJMRV9MRVRURVJQUkVT
UykgJChFTkFCTEVfTElOS19QUkVGRVRDSCkgJChFTkFCTEVfTUFDX0dFU1RVUkVfRVZFTlRTKSAk
KEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElBX0NPTlRST0xTX1NDUklQVCkgJChFTkFCTEVf
TUVESUFfU0VTU0lPTikgJChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9NRURJQV9TVEFU
SVNUSUNTKSAkKEVOQUJMRV9NRURJQV9TVFJFQU0pICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQo
RU5BQkxFX01IVE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUpICQoRU5BQkxFX05BVklH
QVRPUl9DT05URU5UX1VUSUxTKSAkKEVOQUJMRV9OQVZJR0FUT1JfSFdDT05DVVJSRU5DWSkgJChF
TkFCTEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfUERGS0lUX1BMVUdJTikgJChFTkFCTEVfUE9J
TlRFUl9MT0NLKSAkKEVOQUJMRV9QUk9YSU1JVFlfRVZFTlRTKSAkKEVOQUJMRV9QVUJMSUNfU1VG
RklYX0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRVFVRVNUX0FOSU1BVElPTl9GUkFN
RSkgJChFTkFCTEVfUkVRVUVTVF9BVVRPQ09NUExFVEUpICQoRU5BQkxFX1JFTU9URV9JTlNQRUNU
T1IpICQoRU5BQkxFX1JFU09MVVRJT05fTUVESUFfUVVFUlkpICQoRU5BQkxFX1JFU09VUkNFX1VT
QUdFKSAkKEVOQUJMRV9SVUJCRVJfQkFORElORykgJChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAk
KEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TVFJFQU1TX0FQSSkgJChFTkFCTEVf
U1VCVExFX0NSWVBUTykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9URUxFUEhPTkVfTlVN
QkVSX0RFVEVDVElPTikgJChFTkFCTEVfVEVNUExBVEVfRUxFTUVOVCkgJChFTkFCTEVfVEVYVF9B
VVRPU0laSU5HKSAkKEVOQUJMRV9UT1VDSF9FVkVOVFMpICQoRU5BQkxFX1RPVUNIX0lDT05fTE9B
RElORykgJChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQoRU5BQkxFX1VTRVJTRUxFQ1RfQUxM
KSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxFX0RBVEFDVUVf
VkFMVUUpICQoRU5BQkxFX1ZJRVdfTU9ERV9DU1NfTUVESUEpICQoRU5BQkxFX1dFQkFTU0VNQkxZ
KSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCR0wyKSAkKEVOQUJMRV9XRUJfQU5JTUFUSU9O
UykgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfUkVQTEFZKSAkKEVOQUJMRV9XRUJf
U09DS0VUUykgJChFTkFCTEVfV0VCX1RJTUlORykgJChFTkFCTEVfWFNMVCkgJChFTkFCTEVfRlRM
X0pJVCkgJChFTkFCTEVfSklUKSAkKEVOQUJMRV9TSEFET1dfRE9NKSAkKEVOQUJMRV9DVVNUT01f
RUxFTUVOVFMpICQoRU5BQkxFX1ZJREVPX1BSRVNFTlRBVElPTl9NT0RFKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnIGIv
U291cmNlL1dlYktpdDIvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKaW5k
ZXggNzM0YjZhZTQ3ZjMyNDZkODdkNGRjZDY5Y2NkY2UyZWQ0OGIwY2M4Zi4uYTVlYTFmNGE2ODlj
YzFhODBhYWFlZjVlMTg5MWJlMWYxMTY3NGViMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIv
Q29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKKysrIGIvU291cmNlL1dlYktp
dDIvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKQEAgLTE5Myw3ICsxOTMs
NCBAQCBFTkFCTEVfRlRMX0pJVFtzZGs9aXBob25lb3MqXSA9IEVOQUJMRV9GVExfSklUOwogRU5B
QkxFX1NIQURPV19ET00gPSBFTkFCTEVfU0hBRE9XX0RPTTsKIEVOQUJMRV9DVVNUT01fRUxFTUVO
VFMgPSBFTkFCTEVfQ1VTVE9NX0VMRU1FTlRTOwogCi1FTkFCTEVfU0VQQVJBVEVEX1dYX0hFQVBb
c2RrPWlwaG9uZSpdID0gOwotRU5BQkxFX1NFUEFSQVRFRF9XWF9IRUFQW3Nkaz1tYWNvc3gqXSA9
IDsKLQotRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfVFJBTlNGT1JNUykgJChFTkFCTEVf
QUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JP
TExJTkcpICQoRU5BQkxFX0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQVRUQUNITUVOVF9FTEVNRU5U
KSAkKEVOQUJMRV9DQUNIRV9QQVJUSVRJT05JTkcpICQoRU5BQkxFX0NBTlZBU19QQVRIKSAkKEVO
QUJMRV9DQU5WQVNfUFJPWFkpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9F
UzZfQVJST1dGVU5DVElPTl9TWU5UQVgpICQoRU5BQkxFX0VTNl9HRU5FUkFUT1JTKSAkKEVOQUJM
RV9FUzZfTU9EVUxFUykgJChFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcpICQoRU5BQkxFX0NTUF9O
RVhUKSAkKEVOQUJMRV9DU1NfQU5JTUFUSU9OU19MRVZFTF8yKSAkKEVOQUJMRV9DU1NfQk9YX0RF
Q09SQVRJT05fQlJFQUspICQoRU5BQkxFX0NTU19DT01QT1NJVElORykgJChFTkFCTEVfQ1NTX0RF
VklDRV9BREFQVEFUSU9OKSAkKEVOQUJMRV9DU1NfR1JJRF9MQVlPVVQpICQoRU5BQkxFX0NTU19J
TUFHRV9PUklFTlRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJT04pICQoRU5BQkxF
X0NTU19SRUdJT05TKSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NT
X1NIQVBFUykgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJMRV9DU1MzX1RFWFRfTElORV9CUkVB
SykgJChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFO
RExFUikgJChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQpICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1F
TlQpICQoRU5BQkxFX0RBVEFfVFJBTlNGRVJfSVRFTVMpICQoRU5BQkxFX0RFVEFJTFNfRUxFTUVO
VCkgJChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9ET000X0VWRU5UU19DT05T
VFJVQ1RPUikgJChFTkFCTEVfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9FTkNSWVBURURfTUVE
SUFfVjIpICQoRU5BQkxFX0ZFVENIX0FQSSkgJChFTkFCTEVfRklMVEVSU19MRVZFTF8yKSAkKEVO
QUJMRV9GT05UX0xPQURfRVZFTlRTKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVf
R0FNRVBBRCkgJChFTkFCTEVfR0FNRVBBRF9ERVBSRUNBVEVEKSAkKEVOQUJMRV9HRU9MT0NBVElP
TikgJChFTkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKSAkKEVO
QUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktF
UlMpICQoRU5BQkxFX0lORElFX1VJKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAkKEVOQUJM
RV9JTlBVVF9UWVBFX0NPTE9SX1BPUE9WRVIpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChF
TkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRV9JTkNPTVBMRVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBF
X0RBVEVUSU1FTE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVU
X1RZUEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9XSVJFTEVTU19Q
TEFZQkFDS19UQVJHRVQpICQoRU5BQkxFX0lOVEwpICQoRU5BQkxFX0lPU19HRVNUVVJFX0VWRU5U
UykgJChFTkFCTEVfSU9TX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfSU9TX1RPVUNIX0VWRU5U
UykgJChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9O
T1RJRklDQVRJT05TKSAkKEVOQUJMRV9MRUdBQ1lfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9M
RUdBQ1lfV0VCX0FVRElPKSAkKEVOQUJMRV9MRVRURVJQUkVTUykgJChFTkFCTEVfTElOS19QUkVG
RVRDSCkgJChFTkFCTEVfTUFDX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9NQVRITUwpICQoRU5B
QkxFX01FRElBX0NPTlRST0xTX1NDUklQVCkgJChFTkFCTEVfTUVESUFfU0VTU0lPTikgJChFTkFC
TEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9NRURJ
QV9TVFJFQU0pICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAkKEVOQUJM
RV9NT1VTRV9DVVJTT1JfU0NBTEUpICQoRU5BQkxFX05BVklHQVRPUl9DT05URU5UX1VUSUxTKSAk
KEVOQUJMRV9OQVZJR0FUT1JfSFdDT05DVVJSRU5DWSkgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykg
JChFTkFCTEVfUERGS0lUX1BMVUdJTikgJChFTkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVOQUJMRV9Q
Uk9YSU1JVFlfRVZFTlRTKSAkKEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJU1QpICQoRU5BQkxFX1FV
T1RBKSAkKEVOQUJMRV9SRVFVRVNUX0FOSU1BVElPTl9GUkFNRSkgJChFTkFCTEVfUkVRVUVTVF9B
VVRPQ09NUExFVEUpICQoRU5BQkxFX1JFTU9URV9JTlNQRUNUT1IpICQoRU5BQkxFX1JFU09MVVRJ
T05fTUVESUFfUVVFUlkpICQoRU5BQkxFX1JFU09VUkNFX1VTQUdFKSAkKEVOQUJMRV9SVUJCRVJf
QkFORElORykgJChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9TUEVFQ0hfU1lOVEhF
U0lTKSAkKEVOQUJMRV9TVFJFQU1TX0FQSSkgJChFTkFCTEVfU1VCVExFX0NSWVBUTykgJChFTkFC
TEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9URUxFUEhPTkVfTlVNQkVSX0RFVEVDVElPTikgJChFTkFC
TEVfVEVNUExBVEVfRUxFTUVOVCkgJChFTkFCTEVfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9U
T1VDSF9FVkVOVFMpICQoRU5BQkxFX1RPVUNIX0lDT05fTE9BRElORykgJChFTkFCTEVfQ1NTX1RS
QUlMSU5HX1dPUkQpICQoRU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJMRV9WSURFTykgJChF
TkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUpICQoRU5BQkxFX1ZJRVdf
TU9ERV9DU1NfTUVESUEpICQoRU5BQkxFX1dFQkFTU0VNQkxZKSAkKEVOQUJMRV9XRUJHTCkgJChF
TkFCTEVfV0VCR0wyKSAkKEVOQUJMRV9XRUJfQU5JTUFUSU9OUykgJChFTkFCTEVfV0VCX0FVRElP
KSAkKEVOQUJMRV9XRUJfUkVQTEFZKSAkKEVOQUJMRV9XRUJfU09DS0VUUykgJChFTkFCTEVfV0VC
X1RJTUlORykgJChFTkFCTEVfWFNMVCkgJChFTkFCTEVfRlRMX0pJVCkgJChFTkFCTEVfSklUKSAk
KEVOQUJMRV9TSEFET1dfRE9NKSAkKEVOQUJMRV9DVVNUT01fRUxFTUVOVFMpICQoRU5BQkxFX1ZJ
REVPX1BSRVNFTlRBVElPTl9NT0RFKSAkKEVOQUJMRV9TRVBBUkFURURfV1hfSEVBUCk7CitGRUFU
VVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9UUkFOU0ZPUk1TKSAkKEVOQUJMRV9BQ0NFTEVSQVRF
RF8yRF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElORykgJChF
TkFCTEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQpICQoRU5BQkxF
X0NBQ0hFX1BBUlRJVElPTklORykgJChFTkFCTEVfQ0FOVkFTX1BBVEgpICQoRU5BQkxFX0NBTlZB
U19QUk9YWSkgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0VTNl9BUlJPV0ZV
TkNUSU9OX1NZTlRBWCkgJChFTkFCTEVfRVM2X0dFTkVSQVRPUlMpICQoRU5BQkxFX0VTNl9NT0RV
TEVTKSAkKEVOQUJMRV9DT05URU5UX0ZJTFRFUklORykgJChFTkFCTEVfQ1NQX05FWFQpICQoRU5B
QkxFX0NTU19BTklNQVRJT05TX0xFVkVMXzIpICQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9C
UkVBSykgJChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9DU1NfREVWSUNFX0FEQVBU
QVRJT04pICQoRU5BQkxFX0NTU19HUklEX0xBWU9VVCkgJChFTkFCTEVfQ1NTX0lNQUdFX09SSUVO
VEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1JFR0lP
TlMpICQoRU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9DU1NfU0hBUEVTKSAk
KEVOQUJMRV9DU1MzX1RFWFQpICQoRU5BQkxFX0NTUzNfVEVYVF9MSU5FX0JSRUFLKSAkKEVOQUJM
RV9DVVJTT1JfVklTSUJJTElUWSkgJChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVO
QUJMRV9EQVNIQk9BUkRfU1VQUE9SVCkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFC
TEVfREFUQV9UUkFOU0ZFUl9JVEVNUykgJChFTkFCTEVfREVUQUlMU19FTEVNRU5UKSAkKEVOQUJM
RV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RPTTRfRVZFTlRTX0NPTlNUUlVDVE9SKSAk
KEVOQUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQV9WMikgJChF
TkFCTEVfRkVUQ0hfQVBJKSAkKEVOQUJMRV9GSUxURVJTX0xFVkVMXzIpICQoRU5BQkxFX0ZPTlRf
TE9BRF9FVkVOVFMpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFEKSAk
KEVOQUJMRV9HQU1FUEFEX0RFUFJFQ0FURUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJM
RV9JQ09OREFUQUJBU0UpICQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX0lOREVY
RURfREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VSUykgJChFTkFC
TEVfSU5ESUVfVUkpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZ
UEVfQ09MT1JfUE9QT1ZFUikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBV
VF9UWVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVM
T0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1F
KSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RB
UkdFVCkgJChFTkFCTEVfSU5UTCkgJChFTkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJM
RV9JT1NfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVOQUJM
RV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX05PVElGSUNBVElP
TlMpICQoRU5BQkxFX0xFR0FDWV9WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9XRUJf
QVVESU8pICQoRU5BQkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9MSU5LX1BSRUZFVENIKSAkKEVO
QUJMRV9NQUNfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFf
Q09OVFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJQV9TRVNTSU9OKSAkKEVOQUJMRV9NRURJQV9T
T1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FRElBX1NUUkVBTSkg
JChFTkFCTEVfTUVURVJfRUxFTUVOVCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxFX01PVVNFX0NV
UlNPUl9TQ0FMRSkgJChFTkFCTEVfTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpICQoRU5BQkxFX05B
VklHQVRPUl9IV0NPTkNVUlJFTkNZKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9Q
REZLSVRfUExVR0lOKSAkKEVOQUJMRV9QT0lOVEVSX0xPQ0spICQoRU5BQkxFX1BST1hJTUlUWV9F
VkVOVFMpICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQoRU5B
QkxFX1JFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FKSAkKEVOQUJMRV9SRVFVRVNUX0FVVE9DT01QTEVU
RSkgJChFTkFCTEVfUkVNT1RFX0lOU1BFQ1RPUikgJChFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9R
VUVSWSkgJChFTkFCTEVfUkVTT1VSQ0VfVVNBR0UpICQoRU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAk
KEVOQUJMRV9DU1NfU0NST0xMX1NOQVApICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5B
QkxFX1NUUkVBTVNfQVBJKSAkKEVOQUJMRV9TVUJUTEVfQ1JZUFRPKSAkKEVOQUJMRV9TVkdfRk9O
VFMpICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVOQUJMRV9URU1QTEFU
RV9FTEVNRU5UKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RPVUNIX0VWRU5U
UykgJChFTkFCTEVfVE9VQ0hfSUNPTl9MT0FESU5HKSAkKEVOQUJMRV9DU1NfVFJBSUxJTkdfV09S
RCkgJChFTkFCTEVfVVNFUlNFTEVDVF9BTEwpICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSURF
T19UUkFDSykgJChFTkFCTEVfREFUQUNVRV9WQUxVRSkgJChFTkFCTEVfVklFV19NT0RFX0NTU19N
RURJQSkgJChFTkFCTEVfV0VCQVNTRU1CTFkpICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJH
TDIpICQoRU5BQkxFX1dFQl9BTklNQVRJT05TKSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxF
X1dFQl9SRVBMQVkpICQoRU5BQkxFX1dFQl9TT0NLRVRTKSAkKEVOQUJMRV9XRUJfVElNSU5HKSAk
KEVOQUJMRV9YU0xUKSAkKEVOQUJMRV9GVExfSklUKSAkKEVOQUJMRV9KSVQpICQoRU5BQkxFX1NI
QURPV19ET00pICQoRU5BQkxFX0NVU1RPTV9FTEVNRU5UUykgJChFTkFCTEVfVklERU9fUFJFU0VO
VEFUSU9OX01PREUpOwpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9Db25maWd1cmF0
aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvQ29uZmln
dXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKaW5kZXggNzM0YjZhZTQ3ZjMyNDZkODdk
NGRjZDY5Y2NkY2UyZWQ0OGIwY2M4Zi4uYTVlYTFmNGE2ODljYzFhODBhYWFlZjVlMTg5MWJlMWYx
MTY3NGViMiAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9Db25maWd1cmF0aW9ucy9G
ZWF0dXJlRGVmaW5lcy54Y2NvbmZpZworKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL0NvbmZpZ3Vy
YXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCkBAIC0xOTMsNyArMTkzLDQgQEAgRU5BQkxF
X0ZUTF9KSVRbc2RrPWlwaG9uZW9zKl0gPSBFTkFCTEVfRlRMX0pJVDsKIEVOQUJMRV9TSEFET1df
RE9NID0gRU5BQkxFX1NIQURPV19ET007CiBFTkFCTEVfQ1VTVE9NX0VMRU1FTlRTID0gRU5BQkxF
X0NVU1RPTV9FTEVNRU5UUzsKIAotRU5BQkxFX1NFUEFSQVRFRF9XWF9IRUFQW3Nkaz1pcGhvbmUq
XSA9IDsKLUVOQUJMRV9TRVBBUkFURURfV1hfSEVBUFtzZGs9bWFjb3N4Kl0gPSA7Ci0KLUZFQVRV
UkVfREVGSU5FUyA9ICQoRU5BQkxFXzNEX1RSQU5TRk9STVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVE
XzJEX0NBTlZBUykgJChFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HKSAkKEVO
QUJMRV9BVkZfQ0FQVElPTlMpICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVOVCkgJChFTkFCTEVf
Q0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DQU5WQVNfUEFUSCkgJChFTkFCTEVfQ0FOVkFT
X1BST1hZKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfRVM2X0FSUk9XRlVO
Q1RJT05fU1lOVEFYKSAkKEVOQUJMRV9FUzZfR0VORVJBVE9SUykgJChFTkFCTEVfRVM2X01PRFVM
RVMpICQoRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HKSAkKEVOQUJMRV9DU1BfTkVYVCkgJChFTkFC
TEVfQ1NTX0FOSU1BVElPTlNfTEVWRUxfMikgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JS
RUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRB
VElPTikgJChFTkFCTEVfQ1NTX0dSSURfTEFZT1VUKSAkKEVOQUJMRV9DU1NfSU1BR0VfT1JJRU5U
QVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9DU1NfUkVHSU9O
UykgJChFTkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQpICQoRU5BQkxFX0NTU19TSEFQRVMpICQo
RU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NTM19URVhUX0xJTkVfQlJFQUspICQoRU5BQkxF
X0NVUlNPUl9WSVNJQklMSVRZKSAkKEVOQUJMRV9DVVNUT01fU0NIRU1FX0hBTkRMRVIpICQoRU5B
QkxFX0RBU0hCT0FSRF9TVVBQT1JUKSAkKEVOQUJMRV9EQVRBTElTVF9FTEVNRU5UKSAkKEVOQUJM
RV9EQVRBX1RSQU5TRkVSX0lURU1TKSAkKEVOQUJMRV9ERVRBSUxTX0VMRU1FTlQpICQoRU5BQkxF
X0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVfRE9NNF9FVkVOVFNfQ09OU1RSVUNUT1IpICQo
RU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfRU5DUllQVEVEX01FRElBX1YyKSAkKEVO
QUJMRV9GRVRDSF9BUEkpICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikgJChFTkFCTEVfRk9OVF9M
T0FEX0VWRU5UUykgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQQUQpICQo
RU5BQkxFX0dBTUVQQURfREVQUkVDQVRFRCkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxF
X0lDT05EQVRBQkFTRSkgJChFTkFCTEVfU0VSVklDRV9DT05UUk9MUykgJChFTkFCTEVfSU5ERVhF
RF9EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAkKEVOQUJM
RV9JTkRJRV9VSSkgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5QVVRfVFlQ
RV9DT0xPUl9QT1BPVkVSKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lOUFVU
X1RZUEVfREFURVRJTUVfSU5DT01QTEVURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxP
Q0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUp
ICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFS
R0VUKSAkKEVOQUJMRV9JTlRMKSAkKEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxF
X0lPU19URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMpICQoRU5BQkxF
X0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfTk9USUZJQ0FUSU9O
UykgJChFTkFCTEVfTEVHQUNZX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX1dFQl9B
VURJTykgJChFTkFCTEVfTEVUVEVSUFJFU1MpICQoRU5BQkxFX0xJTktfUFJFRkVUQ0gpICQoRU5B
QkxFX01BQ19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9D
T05UUk9MU19TQ1JJUFQpICQoRU5BQkxFX01FRElBX1NFU1NJT04pICQoRU5BQkxFX01FRElBX1NP
VVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVESUFfU1RSRUFNKSAk
KEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkgJChFTkFCTEVfTU9VU0VfQ1VS
U09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9VVElMUykgJChFTkFCTEVfTkFW
SUdBVE9SX0hXQ09OQ1VSUkVOQ1kpICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX1BE
RktJVF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJfTE9DSykgJChFTkFCTEVfUFJPWElNSVRZX0VW
RU5UUykgJChFTkFCTEVfUFVCTElDX1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFC
TEVfUkVRVUVTVF9BTklNQVRJT05fRlJBTUUpICQoRU5BQkxFX1JFUVVFU1RfQVVUT0NPTVBMRVRF
KSAkKEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9SKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FV
RVJZKSAkKEVOQUJMRV9SRVNPVVJDRV9VU0FHRSkgJChFTkFCTEVfUlVCQkVSX0JBTkRJTkcpICQo
RU5BQkxFX0NTU19TQ1JPTExfU05BUCkgJChFTkFCTEVfU1BFRUNIX1NZTlRIRVNJUykgJChFTkFC
TEVfU1RSRUFNU19BUEkpICQoRU5BQkxFX1NVQlRMRV9DUllQVE8pICQoRU5BQkxFX1NWR19GT05U
UykgJChFTkFCTEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04pICQoRU5BQkxFX1RFTVBMQVRF
X0VMRU1FTlQpICQoRU5BQkxFX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfVE9VQ0hfRVZFTlRT
KSAkKEVOQUJMRV9UT1VDSF9JQ09OX0xPQURJTkcpICQoRU5BQkxFX0NTU19UUkFJTElOR19XT1JE
KSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJREVP
X1RSQUNLKSAkKEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9WSUVXX01PREVfQ1NTX01F
RElBKSAkKEVOQUJMRV9XRUJBU1NFTUJMWSkgJChFTkFCTEVfV0VCR0wpICQoRU5BQkxFX1dFQkdM
MikgJChFTkFCTEVfV0VCX0FOSU1BVElPTlMpICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFCTEVf
V0VCX1JFUExBWSkgJChFTkFCTEVfV0VCX1NPQ0tFVFMpICQoRU5BQkxFX1dFQl9USU1JTkcpICQo
RU5BQkxFX1hTTFQpICQoRU5BQkxFX0ZUTF9KSVQpICQoRU5BQkxFX0pJVCkgJChFTkFCTEVfU0hB
RE9XX0RPTSkgJChFTkFCTEVfQ1VTVE9NX0VMRU1FTlRTKSAkKEVOQUJMRV9WSURFT19QUkVTRU5U
QVRJT05fTU9ERSkgJChFTkFCTEVfU0VQQVJBVEVEX1dYX0hFQVApOworRkVBVFVSRV9ERUZJTkVT
ID0gJChFTkFCTEVfM0RfVFJBTlNGT1JNUykgJChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFT
KSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkcpICQoRU5BQkxFX0FWRl9D
QVBUSU9OUykgJChFTkFCTEVfQVRUQUNITUVOVF9FTEVNRU5UKSAkKEVOQUJMRV9DQUNIRV9QQVJU
SVRJT05JTkcpICQoRU5BQkxFX0NBTlZBU19QQVRIKSAkKEVOQUJMRV9DQU5WQVNfUFJPWFkpICQo
RU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9FUzZfQVJST1dGVU5DVElPTl9TWU5U
QVgpICQoRU5BQkxFX0VTNl9HRU5FUkFUT1JTKSAkKEVOQUJMRV9FUzZfTU9EVUxFUykgJChFTkFC
TEVfQ09OVEVOVF9GSUxURVJJTkcpICQoRU5BQkxFX0NTUF9ORVhUKSAkKEVOQUJMRV9DU1NfQU5J
TUFUSU9OU19MRVZFTF8yKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUspICQoRU5B
QkxFX0NTU19DT01QT1NJVElORykgJChFTkFCTEVfQ1NTX0RFVklDRV9BREFQVEFUSU9OKSAkKEVO
QUJMRV9DU1NfR1JJRF9MQVlPVVQpICQoRU5BQkxFX0NTU19JTUFHRV9PUklFTlRBVElPTikgJChF
TkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJT04pICQoRU5BQkxFX0NTU19SRUdJT05TKSAkKEVOQUJM
RV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NTX1NIQVBFUykgJChFTkFCTEVfQ1NT
M19URVhUKSAkKEVOQUJMRV9DU1MzX1RFWFRfTElORV9CUkVBSykgJChFTkFCTEVfQ1VSU09SX1ZJ
U0lCSUxJVFkpICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVfREFTSEJP
QVJEX1NVUFBPUlQpICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RBVEFfVFJB
TlNGRVJfSVRFTVMpICQoRU5BQkxFX0RFVEFJTFNfRUxFTUVOVCkgJChFTkFCTEVfREVWSUNFX09S
SUVOVEFUSU9OKSAkKEVOQUJMRV9ET000X0VWRU5UU19DT05TVFJVQ1RPUikgJChFTkFCTEVfRU5D
UllQVEVEX01FRElBKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUFfVjIpICQoRU5BQkxFX0ZFVENI
X0FQSSkgJChFTkFCTEVfRklMVEVSU19MRVZFTF8yKSAkKEVOQUJMRV9GT05UX0xPQURfRVZFTlRT
KSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0FN
RVBBRF9ERVBSRUNBVEVEKSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVfSUNPTkRBVEFC
QVNFKSAkKEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNF
KSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMpICQoRU5BQkxFX0lORElFX1VJ
KSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SX1BP
UE9WRVIpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRF
VElNRV9JTkNPTVBMRVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5B
QkxFX0lOUFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVf
SU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICQoRU5B
QkxFX0lOVEwpICQoRU5BQkxFX0lPU19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfSU9TX1RFWFRf
QVVUT1NJWklORykgJChFTkFCTEVfSU9TX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfTEVHQUNZX0NT
U19WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9OT1RJRklDQVRJT05TKSAkKEVOQUJM
RV9MRUdBQ1lfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfV0VCX0FVRElPKSAkKEVO
QUJMRV9MRVRURVJQUkVTUykgJChFTkFCTEVfTElOS19QUkVGRVRDSCkgJChFTkFCTEVfTUFDX0dF
U1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElBX0NPTlRST0xTX1ND
UklQVCkgJChFTkFCTEVfTUVESUFfU0VTU0lPTikgJChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVO
QUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9NRURJQV9TVFJFQU0pICQoRU5BQkxFX01F
VEVSX0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUp
ICQoRU5BQkxFX05BVklHQVRPUl9DT05URU5UX1VUSUxTKSAkKEVOQUJMRV9OQVZJR0FUT1JfSFdD
T05DVVJSRU5DWSkgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfUERGS0lUX1BMVUdJ
TikgJChFTkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVOQUJMRV9QUk9YSU1JVFlfRVZFTlRTKSAkKEVO
QUJMRV9QVUJMSUNfU1VGRklYX0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRVFVRVNU
X0FOSU1BVElPTl9GUkFNRSkgJChFTkFCTEVfUkVRVUVTVF9BVVRPQ09NUExFVEUpICQoRU5BQkxF
X1JFTU9URV9JTlNQRUNUT1IpICQoRU5BQkxFX1JFU09MVVRJT05fTUVESUFfUVVFUlkpICQoRU5B
QkxFX1JFU09VUkNFX1VTQUdFKSAkKEVOQUJMRV9SVUJCRVJfQkFORElORykgJChFTkFCTEVfQ1NT
X1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TVFJFQU1T
X0FQSSkgJChFTkFCTEVfU1VCVExFX0NSWVBUTykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJM
RV9URUxFUEhPTkVfTlVNQkVSX0RFVEVDVElPTikgJChFTkFCTEVfVEVNUExBVEVfRUxFTUVOVCkg
JChFTkFCTEVfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9UT1VDSF9FVkVOVFMpICQoRU5BQkxF
X1RPVUNIX0lDT05fTE9BRElORykgJChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQoRU5BQkxF
X1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklERU9fVFJBQ0spICQo
RU5BQkxFX0RBVEFDVUVfVkFMVUUpICQoRU5BQkxFX1ZJRVdfTU9ERV9DU1NfTUVESUEpICQoRU5B
QkxFX1dFQkFTU0VNQkxZKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCR0wyKSAkKEVOQUJM
RV9XRUJfQU5JTUFUSU9OUykgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfUkVQTEFZ
KSAkKEVOQUJMRV9XRUJfU09DS0VUUykgJChFTkFCTEVfV0VCX1RJTUlORykgJChFTkFCTEVfWFNM
VCkgJChFTkFCTEVfRlRMX0pJVCkgJChFTkFCTEVfSklUKSAkKEVOQUJMRV9TSEFET1dfRE9NKSAk
KEVOQUJMRV9DVVNUT01fRUxFTUVOVFMpICQoRU5BQkxFX1ZJREVPX1BSRVNFTlRBVElPTl9NT0RF
KTsK
</data>
<flag name="review"
          id="300416"
          type_id="1"
          status="+"
          setter="mark.lam"
    />
          </attachment>
      

    </bug>

</bugzilla>